KR20220064328A - 비디오 감시 시스템 - Google Patents

비디오 감시 시스템 Download PDF

Info

Publication number
KR20220064328A
KR20220064328A KR1020210153811A KR20210153811A KR20220064328A KR 20220064328 A KR20220064328 A KR 20220064328A KR 1020210153811 A KR1020210153811 A KR 1020210153811A KR 20210153811 A KR20210153811 A KR 20210153811A KR 20220064328 A KR20220064328 A KR 20220064328A
Authority
KR
South Korea
Prior art keywords
video
streams
metadata
video stream
stream
Prior art date
Application number
KR1020210153811A
Other languages
English (en)
Other versions
KR102608025B1 (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 마일스톤 시스템즈 에이에스
Publication of KR20220064328A publication Critical patent/KR20220064328A/ko
Application granted granted Critical
Publication of KR102608025B1 publication Critical patent/KR102608025B1/ko

Links

Images

Classifications

    • 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
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4667Processing of monitored end-user data, e.g. trend analysis based on the log file of viewer selections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/62Control of parameters via user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N5/9201Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving the multiplexing of an additional signal and the video signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 개시내용의 일 양태는 비디오 감시 시스템에 관한 것이고, 비디오 감시 시스템은 비디오 관리 시스템 및 하나 이상의 디지털 디바이스를 포함하고, 하나 이상의 디지털 디바이스 각각은 적어도 하나의 물리적 비디오 카메라를 에뮬레이트하고, 컴퓨터 네트워크를 통해 비디오 수신 시스템으로 비디오 스트림들 및/또는 비디오 메타데이터를 전송하도록 구성되고, 여기서, 비디오 관리 시스템은, 각각의 하나 이상의 비디오 카메라 및/또는 다른 비디오 소스로부터 하나 이상의 비디오 스트림을 수신하기 위한 입력 인터페이스; 입력 인터페이스로부터 하나 이상의 입력 비디오 스트림을 수신하고, 입력 비디오 스트림들을 비디오 리포지토리에 저장하도록 구성된 프로세싱 유닛 ― 각각의 입력 비디오 스트림은 수신된 비디오 스트림들 각각에 대응함 ―; 및 컴퓨터 네트워크를 통해 디지털 디바이스들 중 하나 이상으로 입력 비디오 스트림들 중 하나 이상 및/또는 저장된 비디오 스트림들 중 하나 이상을 전송하도록 구성된 출력 인터페이스를 포함한다.

Description

비디오 감시 시스템{VIDEO SURVEILLANCE SYSTEM}
본 개시내용은 일반적으로 비디오 감시 시스템에 관한 것이다.
현대의 비디오 감시 시스템들은, 네트워크 기반구조를 통해 함께 결부되고 진보된 관리 소프트웨어에 의해 제어되는 다수의 상이한 주변 디바이스 및 컴퓨터 하드웨어 요소를 포함하는, 매우 복잡하고 대개 이질적인 시스템들로 진화해 왔다. 현대의 비디오 감시 시스템들의 하나의 중요한 구성요소는 비디오 레코딩 및 프로세싱 시스템이고, 비디오 레코딩 및 프로세싱 시스템은 하나 이상의 비디오 카메라로부터의 비디오 스트림들이 수신, 저장, 및 프로세싱될 수 있게 한다.
예컨대, US 2015/0215583은 인터넷 프로토콜("IP") 카메라들, 네트워크, 및 클라우드 컴퓨팅 리소스들을 포함하는 비디오 감시 시스템을 개시하고, 클라우드 컴퓨팅 리소스들은 관리 리소스, 비디오 저장 리소스, 및 시청(viewing) 및 제어 리소스를 갖는다. IP 카메라들과 클라우드 컴퓨팅 리소스들은 네트워크를 통해 연결된다. IP 카메라들은 클라우드 컴퓨팅 리소스들 각각에 독립적으로 액세스한다. 네트워크에 연결된 디바이스의 애플리케이션 소프트웨어는 추출을 위해 IP 카메라들의 비디오 데이터로부터 하나 이상의 관심 객체를 식별한다.
비디오 관리 소프트웨어 또는 비디오 관리 서버로 또한 알려져 있는 비디오 관리 시스템은, 하나 이상의 비디오 카메라로부터 하나 이상의 비디오 스트림을 수집하는 것, 수신된 하나 이상의 비디오 스트림을 저장 디바이스에 저장하는 것, 및 수신된 하나 이상의 라이브 비디오 스트림을 시청하고/하거나 하나 이상의 저장된 비디오 스트림에 액세스하기 위한 인터페이스를 제공하는 것 중 하나 이상과 같은 비디오 관리 서비스들을 제공하는, 카메라 감시 시스템의 구성요소이다.
따라서, 이러한 급속히 진화하는 분야에서, 감시 시스템들, 특히 비디오 관리 시스템들은 다수의 상이한 공급자로부터의 매우 다양한 상이한 하드웨어 디바이스들을 지원, 처리, 활용하기 위한 지속적인 난제에 직면해 있고, 여기서, 각각의 하드웨어 디바이스는 일반적으로, 자체 드라이버 구성요소들 및/또는 인터페이스, 이를테면 자체 애플리케이션 프로그래밍 인터페이스(API)를 동반한다.
더욱이, 감시 시스템들, 특히 비디오 관리 시스템들이 다기능적이고, 상이한 요구들 또는 요건들을 부과할 수 있는 상이한 타입들의 애플리케이션들에서 사용될 수 있는 것이 일반적으로 바람직하다. 더욱이, 감시 시스템에 부과되는 요구들 및 요건들은 시간 경과에 따라 변화될 수 있다.
이러한 배경에서, 유연하고, 상이한 요구들에 대한 비디오 감시 시스템의 용이한 적응 및/또는 상이한 하드웨어 구성요소들의 능력들에 대한 용이한 적응을 용이하게 하는, 비디오 감시 시스템을 위한 비디오 관리 시스템을 제공하는 것이 일반적으로 바람직하다.
본 개시내용에서 설명되는 적어도 일부 양태의 목적은 위에서 식별된 문제들 및/또는 기존의 비디오 감시 시스템들과 연관된 다른 문제들 중 하나 이상을 해결하거나 또는 적어도 알려진 시스템들에 대한 대안을 제공하는 것이다.
일 양태에 따르면, 비디오 관리 시스템 및 컴퓨터에 의해 구현되는 하나 이상의 디지털 디바이스를 포함하는 비디오 감시 시스템의 실시예들이 본원에서 개시된다. 하나 이상의 디지털 디바이스 각각은 컴퓨터 네트워크를 통해 비디오 수신 시스템으로 비디오 스트림들 및/또는 비디오 메타데이터를 전송하기 위해 적어도 하나의 물리적 비디오 카메라를 에뮬레이트하도록 구성되고, 비디오 수신 시스템은 디지털 디바이스로부터 원거리에 있을 수 있다. 본 발명에 따르면, 하나 이상의 디지털 디바이스 각각은, 비디오 수신 시스템이 비디오 스트림들을 검색하고/하거나 카메라 설정들을 설정함으로써 그 디지털 디바이스가 물리적 비디오 카메라인 것처럼 그 디지털 디바이스와 통신할 수 있게 하는 하나 이상의 인터페이스를 제공함으로써, 물리적 비디오 카메라를 에뮬레이트하도록 구성된다. 하나 이상의 디지털 디바이스 각각은 하나 이상의 인터페이스를 통해 상기 비디오 수신 시스템으로 상기 비디오 스트림들 및/또는 비디오 메타데이터를 출력하도록 추가로 구성된다. 비디오 관리 시스템은,
- 각각의 하나 이상의 비디오 카메라 및/또는 하나 이상의 다른 비디오 소스로부터 하나 이상의 비디오 스트림을 수신하기 위한 입력 인터페이스;
- 입력 인터페이스로부터 하나 이상의 입력 비디오 스트림을 수신하고, 입력 비디오 스트림들을 비디오 리포지토리에 저장하도록 구성된 프로세싱 유닛 ― 각각의 입력 비디오 스트림은 수신된 비디오 스트림들 각각에 대응함 ―; 및
- 컴퓨터 네트워크를 통해 디지털 디바이스들 중 하나 이상으로 입력 비디오 스트림들 중 하나 이상 및/또는 저장된 비디오 스트림들 중 하나 이상을 전송하도록 구성된 출력 인터페이스
를 포함한다.
따라서, 감시 시스템은, 진보된 능력들을 갖지 않은 비디오 카메라들에 의해 캡처된 비디오 스트림들에 대해서도, 유연한 방식으로, 맞춤화된 프로세싱된 비디오 스트림들 및/또는 메타데이터를 생성할 수 있게 한다. 더욱이, 디지털 디바이스가 사용자 설치 애플리케이션 프로그램들을 위한 실행 환경을 제공할 때, 비디오 프로세싱의 타입은, 특히, 디지털 디바이스 상에 원하는 애플리케이션 프로그램들을 설치함으로써, 언제든지 쉽게 적응될 수 있다. 더욱이, 디지털 디바이스의 실시예들은 물리적 비디오 카메라와 별개이고 그로부터 원거리에 있는 디지털 디바이스 데이터 프로세싱 시스템에 의해 구현될 수 있다. 특히, 디지털 디바이스의 일부 실시예들은 비디오 관리 시스템에 통합될 수 있는 한편, 디지털 디바이스의 다른 실시예들은 비디오 관리 시스템을 구현하는 비디오 관리 데이터 프로세싱 시스템으로부터 원거리에 있는 디지털 디바이스 데이터 프로세싱 시스템에 의해 구현될 수 있다. 예컨대, 디지털 디바이스의 일부 실시예들은 비디오 관리 시스템 데이터 프로세싱 시스템으로부터 원거리에 있는 원격 컴퓨팅 기반구조, 이를테면 클라우드 기반구조 상에서 실행될 수 있다. 따라서, 디지털 디바이스의 수 및 디지털 디바이스들에 의해 호스팅되는 애플리케이션 프로그램의 수 및 복잡성은 쉽게 스케일링가능하고, 비디오 카메라들의 하드웨어 제한들에 의해, 또는 비디오 관리 소프트웨어를 실행하는 비디오 관리 데이터 프로세싱 시스템의 이용가능한 컴퓨팅 능력에 의해 제한되지 않는다. 일반적으로, 비디오 카메라는 IP 감시 카메라, 네트워크 감시 카메라 등과 같은 감시 카메라일 수 있거나, 또는 다른 타입의 비디오 카메라일 수 있다.
비디오 관리 시스템은 비디오 관리 데이터 프로세싱 시스템 상에서 실행되는 비디오 관리 컴퓨터 프로그램으로서 구현될 수 있다. 특히, 비디오 관리 시스템은 비디오 관리 데이터 프로세싱 시스템에 의해 실행되는 레코딩 서버 공정으로서 구현될 수 있는 비디오 레코딩 서버를 포함할 수 있고, 여기서, 레코딩 서버는 입력 비디오 스트림들을 수신 및 저장하고, 입력 비디오 스트림들을 하나 이상의 디지털 디바이스 중 적어도 하나로 전송하도록 구성된다.
이를 위해, 비디오 관리 데이터 프로세싱 시스템은 하나 이상의 프로세싱 유닛 및 프로그램 코드를 저장하는 메모리를 포함할 수 있고, 프로그램 코드는, 하나 이상의 프로세싱 유닛에 의해 실행될 때, 비디오 관리 시스템, 특히 레코딩 서버 공정을 구현하도록 구성된다. 비디오 관리 시스템을 구현하는 데이터 프로세싱 시스템은, 필수적인 것은 아니지만 흔히, 비디오 카메라들이 위치된 시설의 구내 상에 설치되어, 공중 통신 네트워크들을 통해 카메라들로부터 비디오 스트림들을 송신할 필요성을 방지한다. 일부 실시예들에서, 비디오 관리 데이터 프로세싱 시스템은 로컬 영역 네트워크와 같은 로컬 컴퓨터 네트워크를 통해 하나 이상의 비디오 카메라에 연결되어, 특히, 외부 인터넷 연결에 의존하지 않으면서, 비디오 관리 시스템에 의해 큰 데이터 볼륨들이 효율적으로 수신되는 것을 용이하게 한다.
비디오 관리 시스템에 의해 수신되는 비디오 스트림들은, 예컨대, 비디오 데이터의 각각의 스트림들의 형태의 디지털 비디오 스트림들이다. 디지털 비디오 스트림은 H.264 또는 H.265와 같은 적합한 비디오 인코딩 프로토콜을 사용하여 인코딩되는 인코딩된 비디오 스트림일 수 있다. 비디오 관리 시스템은 입력 비디오 스트림들을 인코딩된 비디오 스트림들로서 저장할 수 있다. 유사하게, 출력 인터페이스는 입력 비디오 스트림들 및/또는 이전에 저장된 비디오 스트림들을 적합하게 인코딩된 비디오 스트림들로서 제공할 수 있다.
비디오 리포지토리는 미디어 콘텐츠, 특히 비디오 콘텐츠를 저장하기 위한 적합한 데이터 저장 디바이스일 수 있다. 특히, 비디오 리포지토리는 적합한 미디어 데이터베이스, 특히 비디오 데이터베이스일 수 있다. 비디오 리포지토리는 비디오 관리 데이터 프로세싱 시스템의 일부로서 구현될 수 있거나, 또는 비디오 관리 데이터 프로세싱 시스템, 특히 레코딩 서버와 통신가능하게 연결된 별개의 데이터 프로세싱 시스템에 의해 구현될 수 있다.
일부 실시예들에서, 비디오 관리 시스템은 입력 비디오 스트림들을 하나 이상의 원격 디지털 디바이스와 같은 하나 이상의 디지털 디바이스 중 적어도 하나로 전송하는 동시에 입력 비디오 스트림들을 비디오 리포지토리에 저장하도록 구성되고, 즉, 디지털 디바이스들은 라이브 비디오 공급으로서 준실시간으로 비디오 스트림들을 수신 및 프로세싱할 수 있다. 따라서, 디지털 디바이스에 의해 생성되는 비디오 스트림들 및/또는 메타데이터는, 예컨대, 오퍼레이터에 의한 준실시간 또는 라이브 시청을 위해, 준실시간으로 비디오 수신 시스템에 공급될 수 있다.
다른 양태에 따르면, 컴퓨터 네트워크를 통해 비디오 수신 시스템으로 비디오 스트림들 및/또는 비디오 메타데이터를 전송하기 위해 적어도 하나의 물리적 비디오 카메라를 에뮬레이트하도록 구성된 컴퓨터에 의해 구현되는 디지털 디바이스의 실시예들이 본원에서 개시되고, 비디오 수신 시스템은 디지털 디바이스로부터 원거리에 있을 수 있다. 따라서, 디지털 디바이스는 컴퓨터 네트워크를 통해 비디오 수신 시스템으로 비디오 스트림들 및/또는 비디오 메타데이터를 전송하기 위한 비디오 서버와 같은 비디오 소스로서 동작하도록 구성된다. 디지털 디바이스는 수신된 비디오 스트림을 프로세싱하기 위한 비디오 파이프라인을 구현할 수 있다. 프로세싱은 프로세싱된 비디오 스트림 및/또는 비디오 메타데이터를 생성할 수 있다.
컴퓨터에 의해 구현되는 디지털 디바이스는 적어도 하나의 물리적 비디오 카메라를 에뮬레이트하는데, 즉, 디지털 디바이스는, 외부 시스템들(예컨대, 위에서 언급된 바와 같은 비디오 수신 시스템)이 비디오 스트림들을 검색하고/하거나 카메라 설정들을 설정함으로써 디지털 디바이스가 물리적 비디오 카메라인 것처럼 디지털 디바이스와 통신할 수 있게 하는 하나 이상의 인터페이스를 제공하도록 구성된다. 따라서, 디지털 디바이스는 비디오 수신 시스템에 물리적 비디오 카메라인 것처럼 보이도록 구성/구축된다. 특히, 컴퓨터에 의해 구현되는 디지털 디바이스의 실시예들은 컴퓨터에 의해 구현되는 디지털 디바이스로부터 원거리에 있을 수 있는 비디오 수신 시스템이 액세스가능한 하나 이상의 인터페이스를 포함하고, 그에 따라, 비디오 수신 시스템은 물리적 비디오 카메라와 동일한 방식으로 컴퓨터에 의해 구현되는 디지털 디바이스와 상호작용할 수 있다. 비디오 수신 시스템에 있어서, 컴퓨터에 의해 구현되는 디지털 디바이스는 물리적 비디오 카메라와 구별가능하지 않다. 예컨대, 디지털 디바이스는 비디오 수신 시스템에 의해 컴퓨터 네트워크 상의 비디오 카메라로서 인식될 수 있다. 그러나, 디지털 디바이스는 비디오 이미지들을 광학적으로 캡처하기 위한 임의의 광학 시스템, 이미지 센서 등을 포함하지 않는다는 것을 이해할 것이다. 대신에, 디지털 디바이스는 특히 비디오 관리 시스템으로부터 비디오 스트림을 수신하도록 구성된다. 디지털 디바이스는, 하나 이상의 인터페이스를 통해, 수신된 비디오 스트림 또는 프로세싱된 버전의 수신된 비디오 스트림을 출력하도록 구성되고, 그에 따라, 비디오 수신 시스템은, 비디오 수신 시스템이 물리적 비디오 카메라로부터 비디오 스트림을 수신하는 것과 동일한 방식으로, 디지털 디바이스로부터 임의로 프로세싱된 비디오 스트림을 수신한다. 따라서, 컴퓨터에 의해 구현되는 디지털 디바이스는 가상 디지털 디바이스로 고려될 수 있다. 디지털 디바이스는 추가로 비디오 메타데이터를 출력할 수 있다.
본 발명에 따르면, 하나 이상의 물리적 비디오 카메라가 동일한 디지털 디바이스에 테더링될 수 있다. 예컨대, 동일한 디지털 디바이스에 테더링되고 동일한 타겟 영역(또는 장면)을 관찰하는 여러 개의 물리적 비디오 카메라는 유리하게는 상이한 능력들을 제공받을 수 있는데, 예컨대, 상이한 시야들 또는 상이한 해상도들을 가질 수 있다. 이러한 물리적 비디오 카메라들 중 하나는, 예컨대, 동일한 디지털 디바이스에 연결된 다른 물리적 비디오 카메라와 비교하여 더 좁은 시야를 가질 수 있다. 더 일반적으로 말하면, 이러한 물리적 비디오 카메라들은 타겟 영역의 상이한 및/또는 상보적인 뷰(view)들 또는 세부사항들을 디스플레이하기 위한 것과 같은 독립적인 이유로 동작될 수 있다. 여러 개의 물리적 비디오 카메라가 동일한 디지털 디바이스에 테더링되는 경우, 그 디지털 디바이스는 유리하게는 하나 이상의 사용자 설치 애플리케이션 프로그램을 위한 동일한 실행 환경을 제공하여, 수신된 비디오 스트림들의 적어도 일부를 동일한 하나 이상의 사용자 설치 애플리케이션 프로그램으로 프로세싱할 수 있게 하도록(즉, 프로세싱된 비디오 스트림들 및/또는 수신된 비디오 스트림들과 연관된 비디오 메타데이터를 생성함) 구성될 수 있다. 예컨대, 디지털 디바이스는 그 디지털 디바이스에 테더링된 상이한 물리적 비디오 카메라들로부터 수신된 비디오 스트림들에서 얼굴 인식을 수행하도록 구성된 사용자 설치 애플리케이션 프로그램을 위한 실행 환경을 제공할 수 있다.
반대로, 하나의 물리적 비디오 카메라가 여러 개의 디지털 디바이스에 테더링될 수 있다. 다시 말하면, 물리적 비디오 카메라는 여러 번 에뮬레이트될 수 있다. 예컨대, 그 물리적 비디오 카메라로부터 수신된 비디오 스트림은 수신된 비디오 스트림에서 사람 얼굴들을 검출하기 위해 제1 디지털 디바이스 상의 제1 애플리케이션 프로그램에 의해 프로세싱될 수 있고, 동일한 수신된 비디오 스트림은 수신된 비디오 스트림에서 차량들을 검출하기 위해 제2 디지털 디바이스 상의 제2 애플리케이션 프로그램에 의해 프로세싱될 수 있다. 대안으로 또는 추가로, 수신된 비디오 스트림은 동일한 디지털 디바이스 상에서 여러 번 프로세싱될 수 있고/있거나 다른 디지털 디바이스 상에서 추가로 프로세싱될 수 있다. 예컨대, 사용자 설치 애플리케이션 프로그램에 의해 사람 얼굴이 검출된 프로세싱된 비디오 스트림은, 예컨대, 다른 디지털 디바이스 상에서 그리고/또는 다른 사용자 설치 애플리케이션 프로그램으로, 검출된 사람 얼굴에 대해 얼굴 인식을 수행하도록 추가로 프로세싱될 수 있다.
본 발명에 따른 하나 이상의 디지털 디바이스 각각은 이들 각각이 테더링된(또는 이들에 테더링된) 하나 이상의 물리적 비디오 카메라와 독립적으로 동작한다. 다시 말하면, 각각의 디지털 디바이스는 그 디지털 디바이스가 테더링된(또는 그 디지털 디바이스에 테더링된) 하나 이상의 물리적 비디오 카메라의 속성들을 취하지만 자체 고유의 수명을 갖는다. 따라서, 그 하나 이상의 디지털 디바이스는, 이들이 물리적 비디오 카메라들에 테더링되기 때문에, 가상화된 비디오 카메라들 또는 가상 비디오 카메라들과 혼동되지 않을 것이다.
각각의 디지털 디바이스는 하나 이상의 물리적 비디오 카메라로부터 수신된 하나 이상의 비디오 스트림에 기초하여 동작하고, 비디오 수신 시스템이 비디오 스트림들을 검색하고/하거나 카메라 설정들을 설정함으로써 그 디지털 디바이스가 그 또는 이들 물리적 비디오 카메라인 것처럼 그 디지털 디바이스와 통신할 수 있게 하는 하나 이상의 인터페이스를 제공한다. 하나 이상의 디지털 디바이스 각각은 하나 이상의 인터페이스를 통해 상기 비디오 수신 시스템으로 상기 비디오 스트림들 및/또는 비디오 메타데이터를 출력하도록 추가로 구성된다.
디지털 디바이스는 적어도 하나의 앱-인에이블드 카메라를 에뮬레이트하도록 구성될 수 있다. 본 설명의 목적을 위해, 앱-인에이블드 카메라라는 용어는 비디오 카메라에 추가 디지털 능력들을 제공하기 위해 하나 이상의 소프트웨어 애플리케이션 프로그램이 설치될 수 있는 프로세싱 유닛을 포함하는 비디오 카메라, 특히 물리적 비디오 카메라를 지칭하도록 의도된다. 이는 그렇지 않으면 구식으로 보일 수 있는 물리적 비디오 카메라들의 수명주기를 연장시키는 것을 가능하게 할 수 있다. 앱-인에이블드 카메라는 IP 카메라일 수 있다. 특히, 앱-인에이블드 카메라라는 용어는, 예컨대 비디오 카메라의 사용자에 의해, 제조 후 언제든지 그러한 애플리케이션 프로그램들이 설치될 수 있는 카메라를 포함한다. 이를 위해, 앱-인에이블드 카메라는 프로세싱 유닛 및 적합한 운영 체제, 예컨대 안드로이드 기반 운영 체제를 포함할 수 있고, 그 운영 체제는 사용자 설치 애플리케이션 프로그램들, 특히, 프로세싱 유닛에 의해 실행될 때, 프로세싱 유닛으로 하여금 비디오 카메라에 의해 레코딩된 비디오 스트림을 프로세싱하고/하거나 다른 기능을 카메라에 제공하게 하도록 구성된 애플리케이션 프로그램들의 실행을 용이하게 하기 위한 실행 환경을 제공하도록 구성된다.
따라서, 디지털 디바이스는 애플리케이션 프로그램들, 특히 사용자 설치 애플리케이션 프로그램들의 실행을 용이하게 하기 위한 실행 환경을 제공하도록 구성된 적합한 운영 체제, 예컨대 안드로이드 기반 운영 체제를 포함할 수 있다. 애플리케이션 프로그램들은, 데이터 프로세싱 시스템, 특히 클라우드 기반 프로세싱 리소스에 의해 실행될 때, 디지털 디바이스로 하여금 비디오 관리 시스템으로부터 수신된 비디오 스트림을 프로세싱하여, 프로세싱된 비디오 스트림, 및/또는 수신된 및/또는 프로세싱된 비디오 스트림으로부터 도출된 비디오 메타데이터를 생성하게 하도록 구성될 수 있다. 디지털 디바이스는 프로세싱된 비디오 스트림 및/또는 비디오 메타데이터를 비디오 수신 시스템, 예컨대, 원격 데이터 프로세싱 시스템, 이를테면, 비디오 관리 시스템, 또는 비디오 스트림들 및/또는 연관된 비디오 메타데이터를 수신하기 위한 다른 비디오 수신 시스템으로 출력하도록 구성된다.
본 설명의 목적을 위해, 본원에서 사용되는 바와 같은 디지털 디바이스라는 용어는, 디지털 디바이스 데이터 프로세싱 시스템에 의해 실행될 때, 적어도 하나의 물리적 전자 디바이스를 에뮬레이트하도록, 특히, 적어도 하나의 물리적 IP 카메라와 같은 적어도 하나의 물리적 비디오 카메라를 에뮬레이트하도록 구성된 컴퓨터 프로그램을 지칭하도록 의도된다. 디지털 디바이스는 클라우드 기반 디지털 디바이스일 수 있다. 본원에서 사용되는 바와 같은 클라우드 기반 디지털 디바이스라는 용어는, 클라우드 기반 컴퓨팅 아키텍처의 클라우드 기반 컴퓨팅 리소스에 의해 실행될 때, 적어도 하나의 물리적 전자 디바이스를 에뮬레이트하도록, 특히, 적어도 하나의 물리적 비디오 카메라를 에뮬레이트하도록 구성된 컴퓨터 프로그램을 지칭하도록 의도된다.
특히, 본원에서 개시되는 디지털 디바이스의 실시예들은 적어도 하나의 물리적 앱-인에이블드 비디오 카메라를 에뮬레이트하도록 구성된다. 이를 위해, 디지털 디바이스는,
- 비디오 관리 시스템으로부터 비디오 스트림을 수신하고,
- 하나 이상의 사용자 설치 애플리케이션 프로그램을 위한 실행 환경을 제공하고 ― 실행 환경은 하나 이상의 사용자 설치 애플리케이션 프로그램이 수신된 비디오 스트림의 적어도 일부를 프로세싱하여, 프로세싱된 비디오 스트림 및/또는 수신된 비디오 스트림과 연관된 비디오 메타데이터를 생성할 수 있게 함 ―,
- 하나 이상의 인터페이스를 통해 비디오 수신 시스템으로 프로세싱된 비디오 스트림 및/또는 비디오 메타데이터를 출력하도록
구성된다.
이를 위해, 디지털 디바이스 데이터 프로세싱 시스템은 프로세싱 유닛 및 프로그램 코드를 저장하는 메모리를 포함할 수 있고, 프로그램 코드는 프로세싱 유닛에 의해 실행될 때 디지털 디바이스를 구현하도록 구성된다. 단일 디지털 디바이스 데이터 프로세싱 시스템이 하나 이상의 디지털 디바이스를 구현할 수 있다는 것을 이해할 수 있다. 유사하게, 상이한 디지털 디바이스들이 단일 데이터 프로세싱 시스템에 의해 또는 각각의 별개의 디지털 디바이스 데이터 프로세싱 시스템들에 의해 구현될 수 있다는 것을 이해할 것이다. 따라서, 하나 이상의 디지털 디바이스 데이터 프로세싱 시스템은, 예컨대 컴퓨터 네트워크를 통해, 비디오 관리 데이터 프로세싱 시스템에 통신가능하게 연결될 수 있다. 일부 실시예들에서, 하나 이상의 클라우드 기반 디지털 디바이스는, 예컨대 클라우드 아키텍처에서, 하나 이상의 가상 머신에 의해 구현될 수 있다. 본 개시내용은 디지털 디바이스 상에 배치되거나 또는 디지털 디바이스에 의해 실행되는 애플리케이션 프로그램들을 언급한다. 이는 디지털 디바이스를 구현하는 디지털 디바이스 데이터 프로세싱 시스템에 의해, 예컨대, 클라우드 기반 디지털 디바이스가 실행되는 클라우드 컴퓨팅 아키텍처에 의해 실행되는 애플리케이션 프로그램을 언급하도록 의도된다는 것을 이해할 것이다.
일반적으로, 프로세싱 유닛은 본원에서 설명되는 데이터 및/또는 신호 프로세싱 기능들을 수행하도록 적합하게 적응된 적합하게 프로그래밍된 마이크로프로세서 또는 임의의 다른 회로 및/또는 디바이스를 포함할 수 있다. 특히, 프로세싱 유닛은 중앙 프로세싱 유닛(CPU), 디지털 신호 프로세싱 유닛(DSP), 주문형 집적 회로(ASIC), 프로그램가능 로직 어레이(PLA), 필드 프로그램가능 게이트 어레이(FPGA), 그래픽 프로세싱 유닛(GPU), 특수 목적 전자 회로 등, 또는 이들의 조합과 같은 범용 또는 특수 목적 프로그램가능 마이크로프로세서를 포함할 수 있다. 이를 위해, 프로세싱 유닛은 프로세싱 유닛에 의해 실행되도록 구성된 소프트웨어 및/또는 펌웨어에 의해 적합하게 프로그래밍될 수 있다. 소프트웨어 및/또는 펌웨어는 프로세싱 유닛의 적합한 메모리 상에 저장될 수 있다. 일부 실시예들에서, 프로세싱 유닛은 적합하게 프로그래밍된 컴퓨터 또는 다른 데이터 프로세싱 시스템이다.
일부 실시예들에서, 하나 이상의 디지털 디바이스 중 적어도 하나는 수신된 비디오 스트림을 디코딩하도록 구성된 비디오 디코더 모듈을 포함한다. 디코더 모듈은 H.264 표준 또는 H.265 표준과 같은 적합한 비디오 인코딩 표준을 사용하여 인코딩된 비디오 스트림들을 디코딩하도록 구성될 수 있다. 디지털 디바이스는 디지털 디바이스 상에 배치된 하나 이상의 애플리케이션 프로그램이 디코딩된 비디오 스트림의 적어도 일부, 예컨대 개별 프레임들을 수신할 수 있게 하는 애플리케이션 인터페이스 및/또는 다른 서비스들을 제공하도록 구성될 수 있다. 애플리케이션 인터페이스는 추가로, 디지털 디바이스에 의해 실행되는 하나 이상의 애플리케이션 프로그램이 프로세싱된 비디오 스트림, 예컨대 프로세싱된 비디오 스트림의 개별 프레임들을 리턴하는 것을 가능하게 할 수 있다. 일부 실시예들에서, 하나 이상의 디지털 디바이스 중 적어도 하나는 수신된 비디오 스트림 및/또는 프로세싱된 비디오 스트림을 재인코딩하도록 구성된 비디오 인코더 모듈을 포함한다. 인코더 모듈은 H.264 표준 또는 H.265 표준과 같은 적합한 비디오 인코딩 표준에 따라 비디오 스트림을 인코딩하도록 구성될 수 있다.
일부 실시예들에서, 하나 이상의 디지털 디바이스 중 적어도 하나는 통신 모듈을 포함하고, 통신 모듈은 비디오 관리 시스템과 비디오 터널 또는 다른 적합한 통신 세션을 확립하고, 비디오 터널을 통해 또는 그렇지 않으면 확립된 통신 세션의 컨텍스트 내에서 비디오 스트림을 수신하도록 구성된다. 일부 실시예들에서, 디지털 디바이스는 프로세싱된 비디오 스트림 및/또는 연관된 비디오 메타데이터를 비디오 관리 시스템으로 송신하도록, 특히, 원래의 비디오 스트림이 디지털 디바이스에 의해 수신되었던 그 확립된 비디오 터널을 통해 또는 그렇지 않으면 동일한 확립된 통신 세션의 컨텍스트 내에서, 프로세싱된 비디오 스트림 및/또는 연관된 비디오 메타데이터를 비디오 관리 시스템으로 리턴하도록 구성된다.
디지털 디바이스는 적어도 하나의 앱-인에이블드 카메라를 에뮬레이트하도록 구성된다. 따라서, 디지털 디바이스는 비디오 서버 구성요소를 포함할 수 있고, 비디오 서버 구성요소는 디지털 디바이스로부터 원거리에 있을 수 있는 비디오 수신 클라이언트 구성요소에 의해 인식가능하고 비디오 스트림 및/또는 메타데이터를 비디오 클라이언트 구성요소로 제공하도록 구성된 비디오 서버로서 동작하도록 구성된다. 비디오 서버 구성요소는 통신 모듈에 통합될 수 있다. 비디오 서버 구성요소는, 실시간 스트리밍 프로토콜(RTSP)과 같은, 스트리밍 미디어 서버들을 제어하기 위해 통신 시스템들에서 사용하도록 구성된 네트워크 제어 프로토콜을 구현하도록 구성될 수 있다. 대안으로 또는 추가로, 비디오 서버 구성요소는 ONVIF(Open Network Video Interface Forum) 코어 사양 버전 2.4와 같은 ONVIF 코어 사양의 버전에 따라 동작하도록 구성될 수 있다. 추가적으로, 서버 구성요소는 하나 이상의 ONVIF 프로파일의 버전에 따라 동작하도록 구성될 수 있다.
디지털 디바이스는, 물리적 비디오 카메라가 이미지 센서를 포함한다는 점에서, 물리적 비디오 카메라와 구별된다는 것을 이해할 것이다. 따라서, 물리적 비디오 카메라, 예컨대 앱-인에이블드 물리적 비디오 카메라에 의해 수행되는 임의의 비디오 프로세싱은 이미지 센서에 의해 캡처된 비디오 스트림에 대해 수행된다. 다른 한편으로, 본원에서 개시되는 디지털 디바이스의 실시예들은 외부 데이터 프로세싱 시스템으로부터 컴퓨터 네트워크를 통해 비디오 스트림, 특히 인코딩된 비디오 스트림을 수신하고, 수신된 비디오 스트림을 프로세싱하는데, 특히, 수신된 비디오 스트림을 디코딩하고, 디코딩된 비디오 스트림을 프로세싱한다.
디지털 디바이스는 다양한 상이한 애플리케이션 프로그램들을 호스팅하도록 구성될 수 있다. 애플리케이션 프로그램들의 예들은, 비디오 스트림과 연관된 메타데이터, 예컨대 비디오 스트림의 하나 이상의 검출된 특성 또는 피처를 표시하는 메타데이터를 생성하기 위해, 예컨대, 객체 검출, 이벤트 검출, 모션 검출 등을 수행하기 위해, 비디오 스트림의 적어도 일부, 예컨대 비디오 스트림의 하나 이상의 프레임을 프로세싱하는 애플리케이션 프로그램들을 포함한다. 이러한 프로세싱 기법들 중 일부 또는 그 이상은 머신 학습 기법들의 적용을 포함할 수 있다. 애플리케이션 프로그램의 일 예는, 예컨대 범죄의 위치를 식별하기 위해, 비디오에 묘사된 시야 내의 장소에 대한 GPS 위치 데이터를 추가할 수 있다. 비디오 프로세싱의 다른 예들은, 이를테면, 함께 스티칭된(stitched) 다양한 카메라들로부터 데이터를 생성하여, 범죄에 관한 메타데이터를 검출하거나 또는 그렇지 않으면 추가하는 것을 포함할 수 있다. 따라서, 일부 실시예들에서, 디지털 디바이스는 다수의 비디오 스트림을 수신하고, 다수의 비디오의 조합에 기초하여 메타데이터를 생성하도록 구성될 수 있다.
애플리케이션 프로그램들의 다른 예들은 비디오 스트림을 수정하기 위해, 즉, 프로세싱된 비디오 스트림의 적어도 일부를 생성하기 위해, 비디오 스트림의 적어도 일부를 프로세싱하는 애플리케이션 프로그램을 포함한다. 그러한 프로세싱의 예들은 이미지/비디오 향상 등을 위한 공정을 포함한다. 예컨대, 애플리케이션 프로그램은 저 해상도 비디오를 더 높은 해상도 비디오로 업스케일링하고/하거나 이미지 품질을 향상시키고/시키거나 열악한 품질의 비디오로부터 초 해상도를 생성할 수 있다. 이는 VGA 카메라들과 같은 이전 세대 카메라들을 사용하거나 또는 그 수명주기를 연장시키는 것을 가능하게 한다.
대안으로 또는 추가로, 그 하나 이상의 디지털 디바이스는 하나 이상의 저 해상도 비디오를 더 높은 해상도 비디오들로 업스케일링하고/하거나 이미지 품질을 향상시키고/시키거나 열악한 품질의 비디오로부터 초 해상도를 생성한 후에, 하나 이상의 향상된 비디오를 하나 이상의 사용자 설치 애플리케이션 프로그램에 제공할 수 있다. 다시 말하면, 본 발명에 따른 디지털 디바이스는 하나 이상의 프로세싱된 비디오 스트림을 하나 이상의 사용자 설치 애플리케이션 프로그램으로 전송하기 전에 원시 카메라 데이터에 대해 초 해상도를 실행할 수 있다.
본원에서 개시되는 비디오 관리 시스템의 적어도 일부 실시예들은 다양한 상이한 카메라들로부터 비디오 스트림들을 수신할 수 있다. 따라서, 일부 실시예들에서, 비디오 관리 시스템의 입력 인터페이스는 하나 이상의 카메라 드라이버를 포함하고, 각각의 카메라 드라이버는 적어도 하나의 타입의 비디오 카메라로부터 비디오 스트림들을 수신하도록 구성된다. 일부 실시예들에서, 각각의 카메라 드라이버는 수신된 비디오 스트림에 하나 이상의 타임 스탬프를 추가하여, 입력 비디오 스트림을 타임 스탬프된 입력 비디오 스트림으로서 제공하도록 구성된다. 이어서, 비디오 관리 시스템은 추가된 타임 스탬프를 갖는 입력 비디오 스트림을 저장하고, 추가된 타임 스탬프를 후속 프로세싱의 목적을 위해 정규 타임 스탬프로서 사용하도록 구성될 수 있다.
일부 실시예들에서, 비디오 관리 시스템은 현재 수신된 입력 비디오 스트림, 또는 이전에 저장된 비디오 스트림, 즉, 비디오 리포지토리에 이전에 저장된 비디오 스트림을 디지털 디바이스에 선택적으로 공급하도록 구성된다. 이전에 저장된 비디오 스트림을 디지털 디바이스에 공급하는 것은 정규 타임 스탬프를 수정된 타임 스탬프로 대체하는 것을 포함할 수 있고, 수정된 타임 스탬프는 현재 시간, 즉, 비디오 스트림이 디지털 디바이스로 전송되는 시간에 대응한다. 따라서, 비디오 관리 시스템은 디지털 디바이스가 현재 시간에, 즉, 실시간 또는 준실시간으로 비디오를 캡처하는 적어도 하나의 물리적 비디오 카메라를 에뮬레이트할 수 있게 한다.
일부 실시예들에서, 비디오 관리 시스템은 메타데이터 리포지토리, 특히 메타데이터 데이터베이스에 저장된 메타데이터를 인덱싱하기 위한 인덱스 서버를 더 포함한다. 따라서, 저장된 메타데이터의 효율적인 후속 검색이 용이하게 된다.
비디오 관리 시스템, 특히 레코딩 서버는 디지털 디바이스들 중 하나 이상으로부터 비디오 스트림 및/또는 연관된 메타데이터를 수신하도록 구성된다. 일부 실시예들에서, 비디오 관리 시스템은 수신된 프로세싱된 비디오 스트림이 디지털 디바이스로부터 수신되는지 여부 및 수신된 프로세싱된 비디오 스트림이 이전에 저장된 비디오 스트림에 대응하는지 여부(즉, 이전에 저장된 비디오 스트림의 프로세싱된 버전인지 여부)를 결정하고, 수신된 프로세싱된 비디오 스트림 및/또는 수신된 메타데이터에 타임 스탬프를 선택적으로 추가하도록 구성되고, 추가된 타임 스탬프는 이전에 저장된 비디오 스트림의 정규 타임 스탬프에 대응한다. 특히, 수신된 프로세싱된 비디오 스트림이 이전에 저장된 비디오 스트림에 대응하는지 여부를 검출하는 것은, 비디오 관리 시스템이 수정된 타임 스탬프를 갖는 이전에 저장된 비디오 스트림을 디지털 디바이스에 공급한 것에 응답하여, 프로세싱된 비디오 및/또는 메타데이터가 수신되는지 여부를 결정하는 것을 포함할 수 있다. 예컨대, 비디오 관리 시스템은, 예컨대, 수정된 타임 스탬프를 갖는 이전에 저장된 비디오를 디지털 디바이스로 공급한 동일한 세션의 일부로서, 예컨대 동일한 비디오 터널을 통해, 비디오 관리 시스템이 프로세싱된 비디오 스트림을 수신했을 때, 이러한 결정이 이루어질 수 있다.
비디오 관리 시스템 및/또는 디지털 디바이스는 추가 미디어 스트림들 및/또는 추가 센서 데이터, 이를테면, 오디오 신호들, 레이더 신호들, 라이다(LIDAR) 신호들 등을 수신 및 프로세싱할 수 있다는 것을 이해할 것이다. 추가로, 비디오 스트림은 가시 광의 비디오 이미지들을 표시하는 비디오 스트림, 및/또는 비가시 파장들의 방사선을 표시하는 비디오 이미지들, 이를테면 열 이미지들, 예컨대 SWIR 카메라에 의해 캡처된 이미지들 등일 수 있다. 디지털 디바이스는 그러한 추가 미디어 스트림들 및/또는 센서 데이터를 디지털 디바이스에 의해 호스팅되는 애플리케이션 프로그램들에 제공하여, 애플리케이션 프로그램이 비디오 스트림과 조합하여 추가 미디어 스트림들을 프로세싱하는 것을 가능하게 할 수 있다.
비디오 관리 시스템은 인터넷과 같은 적합한 컴퓨터 네트워크를 통해 디지털 디바이스로 비디오 스트림들을 송신하도록 구성될 수 있다.
본 개시내용은 위에서 그리고 아래에서 설명되는 비디오 감시 시스템, 추가 방법들, 시스템들, 디바이스들, 및 제품 수단들을 포함하는 상이한 양태들에 관한 것이고, 이들 각각은 다른 양태들 중 하나 이상과 관련하여 설명되는 이익들 및 이점들 중 하나 이상을 산출하고, 이들 각각은 본원에서 설명되고/되거나 첨부 청구항들에서 개시된 다른 양태들 중 하나 이상과 관련하여 설명되는 실시예들에 대응하는 하나 이상의 실시예를 갖는다.
특히, 본 개시내용은 추가로, 컴퓨터에 의해 구현되는 비디오 관리 공정에 관한 것이고, 컴퓨터에 의해 구현되는 비디오 관리 공정은,
- 각각의 하나 이상의 비디오 카메라 및/또는 다른 비디오 소스로부터 하나 이상의 비디오 스트림을 수신하는 단계;
- 하나 이상의 입력 비디오 스트림을 비디오 리포지토리에 저장하는 단계 ― 각각의 입력 비디오 스트림은 수신된 비디오 스트림들 각각에 대응함 ―; 및
- 비디오 관리 시스템으로부터 컴퓨터 네트워크를 통해 하나 이상의 디지털 디바이스로 입력 비디오 스트림들 중 하나 이상 및/또는 저장된 비디오 스트림들 중 하나 이상을 전송하는 단계
를 포함하고,
하나 이상의 디지털 디바이스 각각은 적어도 하나의 물리적 비디오 카메라를 에뮬레이트하고, 컴퓨터 네트워크를 통해 비디오 수신 시스템으로 비디오 스트림들 및/또는 비디오 메타데이터를 전송하도록 구성되고, 비디오 수신 시스템은 디지털 디바이스로부터 원거리에 있을 수 있다.
여기서, 하나 이상의 디지털 디바이스 각각은, 비디오 수신 시스템이 비디오 스트림들을 검색하고/하거나 카메라 설정들을 설정함으로써 그 디지털 디바이스가 물리적 비디오 카메라인 것처럼 그 디지털 디바이스와 통신할 수 있게 하는 하나 이상의 인터페이스를 제공함으로써, 물리적 비디오 카메라를 에뮬레이트하도록 구성되고, 하나 이상의 디지털 디바이스 각각은 하나 이상의 인터페이스를 통해 상기 비디오 수신 시스템으로 상기 비디오 스트림들 및/또는 비디오 메타데이터를 출력하도록 추가로 구성된다.
위에서 그리고 아래에서 설명되는 컴퓨터에 의해 구현되는 방법의 다양한 실시예들의 피처들은 적어도 부분적으로 소프트웨어 또는 펌웨어로 구현될 수 있고, 컴퓨터 실행가능 명령어들과 같은 프로그램 코드 수단의 실행에 의해 생성되는 데이터 프로세싱 시스템 또는 다른 프로세싱 유닛 상에서 수행될 수 있다는 것을 유의한다. 여기서 그리고 아래에서, 프로세싱 유닛이라는 용어는 위의 기능들을 수행하도록 적합하게 적응된 임의의 회로 및/또는 디바이스를 포함한다. 특히, 위의 용어는 범용 또는 특수 목적 프로그램가능 마이크로프로세서들, 디지털 신호 프로세서(DSP)들, 주문형 집적 회로(ASIC)들, 프로그램가능 로직 어레이(PLA)들, 필드 프로그램가능 게이트 어레이(FPGA)들, 그래픽 프로세싱 유닛(GPU)들, 특수 목적 전자 회로들 등, 또는 이들의 조합을 포함한다.
본 개시내용은 추가로, 데이터 프로세싱 시스템으로 하여금 위에서 그리고 아래에서 설명되는 컴퓨터에 의해 구현되는 방법의 동작들을 수행하게 하도록 구성된 컴퓨터 프로그램의 실시예들에 관한 것이다. 컴퓨터 프로그램은, 프로그램 코드 수단이 데이터 프로세싱 시스템 상에서 실행될 때, 데이터 프로세싱 시스템으로 하여금 위에서 그리고 아래에서 개시되는 컴퓨터에 의해 구현되는 방법의 동작들을 수행하게 하도록 적응된 프로그램 코드 수단을 포함할 수 있다. 컴퓨터 프로그램은 컴퓨터 판독가능 저장 매체, 특히 비일시적 저장 매체 상에 저장될 수 있거나 또는 데이터 신호로서 구현될 수 있다. 비일시적 저장 매체는 데이터를 저장하기 위한 임의의 적합한 회로부 또는 디바이스, 이를테면, RAM, ROM, EPROM, EEPROM, 플래시 메모리, 자기 또는 광학 저장 디바이스, 이를테면 CD ROM, DVD, 하드 디스크 등을 포함할 수 있다.
위의 및 다른 양태들은 도면을 참조하여 아래에서 설명되는 실시예들로부터 명백하게 되고 설명될 것이다.
도 1은 비디오 감시 시스템의 예를 개략적으로 예시한다.
도 2는 앱-인에이블드 비디오 카메라를 에뮬레이트하는 클라우드 기반 디지털 디바이스의 예를 개략적으로 예시한다.
도 3은 컴퓨터에 의해 구현되는 비디오 관리 공정의 예를 개략적으로 예시한다.
도 4 내지 도 7은 비디오 관리 및 비디오 프로세싱 공정의 예들을 개략적으로 예시한다.
도 1은 비디오 감시 시스템의 예를 개략적으로 예시한다.
비디오 감시 시스템은 다수의 비디오 카메라(100), 비디오 관리 시스템(300), 및 다수의 디지털 디바이스(500)를 포함한다. 도 1의 예 뿐만 아니라 이하의 도면들 중 일부에서, 디지털 디바이스들은 비디오 관리 시스템으로부터 원거리에 있는 것으로, 특히, 비디오 관리 시스템이 실행되는 비디오 관리 데이터 프로세싱 시스템으로부터 원거리에 있는 디지털 디바이스 데이터 프로세싱 시스템에 의해 실행되는 것으로 도시된다. 특히, 디지털 디바이스가 클라우드 기반인 실시예들이 설명된다. 그러나, 일부 실시예들에서, 하나 이상의 또는 심지어 모든 디지털 디바이스가 비디오 관리 시스템에 통합될 수 있거나, 또는 그렇지 않으면, 비디오 관리 시스템과 동일한 데이터 프로세싱 시스템 상에서 실행될 수 있다는 것을 이해할 것이다. 임의로, 비디오 감시 시스템은 추가 구성요소들, 이를테면, 비디오 분석 시스템(600) 및/또는 다른 비디오 수신 시스템들(700)을 포함할 수 있다. 이들은 도 1에 예시된 바와 같이 비디오 관리 시스템으로부터 원거리에 있는 데이터 프로세싱 시스템 상에서 구현될 수 있거나, 또는 이들은 비디오 관리 시스템과 동일한 데이터 프로세싱 시스템 상에서 실행될 수 있다.
도 1은 3개의 비디오 카메라를 갖는 시스템을 예시하지만, 다른 예들이 3개 미만 또는 3개 초과의 카메라를 포함할 수 있다는 것을 이해할 것이다. 일반적으로, 비디오 감시 시스템은 하나 또는 복수의 비디오 카메라를 포함할 수 있다. 하나 이상의 비디오 카메라는 전형적으로, 감시가 요구되는 영역에 걸쳐, 예컨대, 감시가 요구되는 시설의 구내에 걸쳐 분포된다. 카메라의 수 및 위치 뿐만 아니라 설치될 카메라의 타입은 요구되는 감시의 레벨, 시설의 크기, 및/또는 시설의 레이아웃의 복잡성과 같은 인자들에 기초하여 선택될 수 있다.
비디오 카메라들은 비디오 감시 분야에서 그 자체로 알려져 있는 종래의 비디오 카메라들일 수 있다. 비디오 감시 시스템은 동일한 타입의 복수의 비디오 카메라, 즉, 동일한 능력들을 갖고, 동일한 포맷으로 동일한 타입의 비디오 출력을 제공하는 등을 하는 비디오 카메라들을 포함할 수 있다는 것을 이해할 것이다. 대안으로, 비디오 감시 시스템들의 다수의 예는 상이한 타입들의 카메라들, 예컨대, 상이한 능력들을 갖거나, 상이한 포맷들로 상이한 해상도의 비디오 스트림들을 제공하거나, 또는 비디오와 연관된 추가 메타데이터를 출력하는 비디오 카메라들을 포함할 수 있다. 비디오 카메라들의 능력들의 예들은 오디오 레코딩, 가시 파장 범위들 및/또는 적외선 파장 범위들, 이를테면 근적외선 파장 범위들에서의 비디오 레코딩, 제어 기능들, 이를테면 팬(pan) 또는 줌, 이미지 프로세싱 능력들, 모션 검출 등 중 하나 이상을 포함할 수 있다.
비디오 카메라(100)는 비디오 관리 시스템(300)에 통신가능하게 연결된다. 이를 위해, 비디오 카메라들(100)은 로컬 영역 네트워크(200)를 통해, 또는 상이한 적합한 방식으로, 예컨대 점대점 유선 및/또는 무선 연결들 등을 통해 비디오 관리 시스템에 연결될 수 있다. 예컨대, 비디오 카메라들은 이더넷 연결을 통해 비디오 관리 시스템에 연결될 수 있다. 무선 연결의 예는 5G 네트워크를 포함한다. 비디오 감시 시스템들의 일부 예들은, 오디오 신호들, 레이더 신호들, 라이다 신호들 등과 같은, 비디오 스트림들과 상이한 미디어 스트림들 및/또는 센서 신호들을 제공하는 추가 센서들을 포함할 수 있다는 것을 이해할 것이다.
비디오 관리 시스템(300)은 비디오 카메라들(100)로부터 비디오 스트림들을 수신하고, 임의로, 다른 소스들로부터 입력 신호들을 수신한다. 비디오 관리 시스템은 수신된 비디오 스트림들을 미디어 리포지토리(350)에 저장하도록 구성되고, 라이브 비디오 스트림들에 액세스하고 미디어 리포지토리(350)에 저장된 비디오 스트림들에 액세스하기 위한 인터페이스(360)를 제공한다. 미디어 리포지토리(350)는 미디어 데이터베이스, 또는 미디어 콘텐츠를 저장하기 위한 다른 적합한 저장 디바이스일 수 있다. 비디오 관리 시스템은 사용자들이 라이브 비디오를 시청할 수 있게 하고/하거나 비디오들을 저장할 수 있게 하고/하거나 비디오 카메라들 중 하나 이상의 동작을 제어할 수 있게 하는 사용자 인터페이스를 포함할 수 있다.
비디오 관리 시스템(300)은 적합한 데이터 프로세싱 시스템, 예컨대 하나 이상의 서버 컴퓨터에 의해 실행되는 소프트웨어 프로그램으로서 구현될 수 있다. 비디오 관리 시스템을 구현하는 데이터 프로세싱 시스템은, 필수적인 것은 아니지만 흔히, 비디오 카메라들이 위치된 시설의 구내 상에 설치되어, 공중 또는 다른 통신 네트워크들을 통해 카메라들로부터 비디오 스트림들을 송신할 필요성을 방지한다.
비디오 관리 시스템은 각각의 타입들의 비디오 카메라들에 대한 인터페이스들을 제공하기 위한 하나 이상의 카메라 드라이버(310)를 포함한다. 상이한 비디오 카메라들은, 예컨대, 상이한 인코딩 방식들 및/또는 상이한 네트워크 프로토콜들을 사용하여, 상이한 포맷들로 이들의 비디오 스트림들을 제공할 수 있다. 유사하게, 상이한 카메라들은 줌 또는 팬과 같은 카메라 제어를 위한 상이한 인터페이스들을 제공할 수 있다. 따라서, 비디오 관리 시스템(300)은 각각의 카메라 타입들과 협력하도록 구성된 복수의 상이한 카메라 드라이버(310)를 포함할 수 있다. 특히, 카메라 드라이버들(310)은 비디오 카메라들 및/또는 다른 감시 장비와 통신하기 위한 하나 이상의 적합한 네트워크 프로토콜 및/또는 다른 통신 표준을 구현할 수 있다. 이러한 프로토콜들 및 표준들의 예들은 ONVIF(Open Network Video Interface Forum) 표준 및 RTSP(Real Time Streaming Protocol)를 포함한다.
카메라 드라이버들(310)은 추가로, 수신된 비디오 신호들(101)에 하나 이상의 타임 스탬프를 추가하여, 비디오 관리 시스템에 의해 저장되고 후속하여 공급되는 비디오 스트림들이 균일한 타임 스탬프를 포함하는 것을 보장한다. 추가된 타임 스탬프는 또한 정규 타임 스탬프로 지칭될 것이다. 정규 타임 스탬프는 비디오 관리 시스템에 의한 각각의 비디오 카메라들(100)로부터의 비디오 스트림들(101)의 수신 시간을 표시한다. 따라서, 카메라 드라이버들은 균일하게 타임 스탬프된 입력 비디오 스트림들(311)을 제공하고, 각각의 타임 스탬프된 입력 비디오 스트림(311)은 수신된 비디오 스트림들(101) 각각에 대응한다.
비디오 관리 시스템(300)은 레코딩 서버(320)를 포함한다. 레코딩 서버는 적합한 데이터 프로세싱 시스템, 예컨대 하나 이상의 서버 컴퓨터에 의해 실행되는 소프트웨어 프로그램 모듈로서 구현될 수 있다. 레코딩 서버는 각각의 비디오 카메라들(100)로부터 유래하는 입력 비디오 스트림들(311)을 대응하는 카메라 드라이버들(310)로부터 수신한다. 레코딩 서버는 수신된 입력 비디오 스트림들을 적합한 미디어 데이터베이스와 같은 적합한 미디어 저장 디바이스에 저장한다. 미디어 리포지토리(350)가 비디오 관리 시스템(300)의 일부일 수 있거나 또는 비디오 관리 시스템과 별개이지만 이에 통신가능하게 커플링될 수 있다는 것을 이해할 것이다. 미디어 리포지토리(350)는 하나 이상의 하드 디스크 등과 같은 임의의 적합한 대용량 저장 디바이스로서 구현될 수 있다. 수신된 입력 비디오 스트림들의 저장은 또한, 수신된 입력 비디오 스트림들의 레코딩으로 지칭된다. 레코딩 서버는 입력 비디오 스트림들과 연관된 오디오 신호들, 모션 검출 신호들 등과 같은 추가 입력 신호들을 수신할 수 있다. 추가 입력 신호들은 비디오 카메라들(100)로부터 그리고/또는 추가 감시 센서들과 같은 다른 신호 소스들로부터 유래할 수 있다. 비디오 관리 시스템은 추가 입력 신호들을 미디어 리포지토리(350) 및/또는 별개의 저장 디바이스에 저장할 수 있다.
레코딩 서버(320)는 라이브 입력 비디오 스트림들(311) 및/또는 미디어 리포지토리(350)로부터 검색된 이전에 저장된 입력 비디오 스트림들을 적합한 인터페이스(360)를 통해 하나 이상의 외부 엔티티(500, 600, 700)에 각각 선택적으로 제공하도록 추가로 구성된다.
이를 위해, 인터페이스(360)는 라이브 비디오 스트림들 및/또는 이전에 저장된 비디오 스트림들을 통신 네트워크(400)를 통해 클라우드 기반 디지털 디바이스들과 같은 하나 이상의 디지털 디바이스(500)에 제공하기 위한 네트워크 인터페이스를 제공할 수 있다. 이를 위해, 인터페이스(360)는 디지털 디바이스들(500)과 각각의 비디오 터널들 및/또는 다른 통신 세션들을 확립하도록 구성될 수 있다. 인터페이스(360)는 다른 감시 장비와 통신하기 위한 하나 이상의 적합한 네트워크 프로토콜 및/또는 다른 통신 표준을 구현할 수 있다. 이러한 프로토콜들 및 표준들의 예들은 ONVIF(Open Network Video Interface Forum) 표준 및 RTSP(Real Time Streaming Protocol)를 포함한다.
디지털 디바이스들(500)의 동작 및 비디오 관리 시스템과 디지털 디바이스들 사이의 상호작용의 예들이 도 2 내지 도 7을 참조하여 아래에서 더 상세히 설명될 것이다.
임의로, 인터페이스(360)는 다른 타입들의 외부 엔티티들에 대해 상이한 통신 채널들을 구현할 수 있다. 외부 엔티티들의 예들은 비디오 수신 시스템(700)을 포함하고, 비디오 수신 시스템(700)은 비디오 스트림들을 수신하고, 비디오 스트림들을 시청 및/또는 프로세싱하기 위한 기능을 제공할 수 있다. 외부 엔티티들의 다른 예들은 비디오 분석 시스템(600)을 포함하고, 비디오 분석 시스템(600)은 비디오 스트림들을 수신하고, 비디오 스트림들을 분석하기 위한 비디오 프로세싱을 수행할 수 있다. 이를 위해, 비디오 분석 시스템은 객체 검출, 객체 인식, 모션 검출, 및/또는 다른 타입들의 비디오 분석을 수행할 수 있다. 비디오 분석 시스템은 수행된 비디오 분석의 결과들을 표시하는 비디오 메타데이터를 생성할 수 있다. 예컨대, 비디오 분석 시스템들은 비디오 스트림 내의 인식된 객체들을 표시하는 비디오 메타데이터를 생성할 수 있다. 메타데이터는 비디오 스트림 내의 인식된 객체들의 공간적 및 시간적 위치들에 관한 정보 및/또는 인식된 객체의 아이덴티티에 관한 정보를 포함할 수 있다. 분석 시스템들은 생성된 메타데이터를 적합한 메타데이터 리포지토리에 저장할 수 있다. 일부 실시예들에서, 분석 시스템들은 생성된 메타데이터를 다시 비디오 관리 시스템으로 통신할 수 있다. 비디오 관리 시스템은 미디어 리포지토리(350)와 별개일 수 있거나 또는 미디어 리포지토리(350)에 통합될 수 있는 적합한 메타데이터 데이터베이스와 같은 적합한 메타데이터 리포지토리(340)에 리턴된 메타데이터를 저장할 수 있다. 이를 위해, 비디오 관리 시스템은 인덱스 서버(330)를 포함할 수 있다. 인덱스 서버는 적합한 데이터 프로세싱 시스템, 예컨대 하나 이상의 서버 컴퓨터에 의해 실행되는 소프트웨어 프로그램 모듈로서 구현될 수 있다. 인덱스 서버는 메타데이터를 수신하고, 수신된 메타데이터를 메타데이터 리포지토리(340)에 저장할 수 있다. 인덱스 서버는 추가로, 저장된 메타데이터의 더 신속한 후속 탐색 및 검색을 가능하게 하기 위해, 저장된 메타데이터를 인덱싱할 수 있다. 외부 분석 시스템들(600)로부터 수신된 메타데이터는 레코딩 서버(320)에 의해 수신되고, 인덱스 서버(330)로 포워딩될 수 있다. 대안으로 또는 추가로, 인덱스 서버는 하나 이상의 분석 시스템(600)으로부터 메타데이터를 직접적으로 수신할 수 있다.
인터페이스(360)는 상이한 타입들의 인터페이스들을 구현할 수 있다. 예컨대, 인터페이스는, 예컨대 소프트웨어 개발 키트의 형태의 애플리케이션 인터페이스, 및/또는 하나 이상의 통신 프로토콜, 이를테면 적합한 메시징 프로토콜, 예컨대 SOAP, XML 등을 제공할 수 있다. 따라서, 인터페이스는 상이한 타입들의 시스템들에 대한 게이트웨이로서 동작할 수 있다.
통신 네트워크(400)는 인터넷 또는 다른 적합한 통신 네트워크일 수 있다. 그러나, 대신에, 다른 엔티티들(500, 600, 및 700) 중 적어도 일부는 비디오 관리 시스템과 동일한 데이터 프로세싱 시스템 상에, 또는 로컬 영역 네트워크를 통해 비디오 관리 시스템에 연결된 데이터 프로세싱 시스템 상에 상주할 수 있다는 것을 이해할 것이다.
도 2는 앱-인에이블드 비디오 카메라를 에뮬레이트하는 클라우드 기반 디지털 디바이스의 예를 개략적으로 예시한다.
클라우드 기반 디지털 디바이스(500)는 IaaS(infrastructure as a service) 아키텍처와 같은 클라우드 기반 컴퓨팅 플랫폼(800) 상에서 실행되는 컴퓨터 프로그램으로서 구현될 수 있다.
디지털 디바이스는 하나 이상의 사용자 설치 애플리케이션 프로그램(540)을 위한 실행 플랫폼을 제공하는 적합한 운영 체제(520)를 포함한다. 애플리케이션 프로그램들(540)은, 예컨대, 앱 스토어 또는 유사한 애플리케이션 프로그램 리포지토리에서 애플리케이션 프로그램들을 획득함으로써, 디지털 디바이스(500)의 실행 시간 동안 배치될 수 있다. 일부 실시예들에서, 운영 체제는 안드로이드 기반 운영 체제이다. 이를 위해, 디지털 디바이스는 디지털 디바이스(500)의 운영 체제 및/또는 다른 소프트웨어 구성요소들이 클라우드 컴퓨팅 아키텍처(800) 상에서 실행될 수 있게 하는 하드웨어 추상화 계층(510)을 포함할 수 있다.
디지털 디바이스(500)는 서비스 구성요소(530)를 더 포함하고, 서비스 구성요소(530)는 애플리케이션 프로그램들(540)에 다양한 서비스들을 제공하도록 구성되고, 예컨대, 애플리케이션 프로그램들이, 디지털 디바이스 상에서 실행되고 있을 때, 비디오 스트림들, 예컨대 비디오 스트림들의 개별 프레임들을 요청할 수 있게 한다.
디지털 디바이스는 통신 모듈(550)을 더 포함하고, 통신 모듈(550)은 디지털 디바이스가 RTSP와 같은 적합한 네트워크 프로토콜을 사용하여 비디오 관리 시스템과 통신할 수 있게 한다. 디지털 디바이스(500)는 수신된 비디오 스트림들을 디코딩하도록 구성된 디코더 모듈(560)을 포함한다. 예컨대, 디코더 모듈(560)은 H.264 및/또는 H.265, 및/또는 비디오 스트림들을 인코딩하기 위한 다른 적합한 인코딩 표준에 따라 인코딩된 비디오 스트림들을 수신 및 디코딩하도록 구성될 수 있다. 따라서, 디지털 디바이스(500)는 디지털 디바이스에 의해 실행되는 하나 이상의 애플리케이션 프로그램(540)이 수신 및 디코딩된 비디오 스트림에 액세스하는 것을 가능하게 할 수 있다. 애플리케이션 프로그램들은 비디오 스트림, 또는 비디오 스트림의 개별 프레임들을 프로세싱할 수 있다. 일부 애플리케이션 프로그램들은 비디오 스트림을 프로세싱하고, 수정된 비디오 스트림을 생성할 수 있다. 대안으로 또는 추가로, 애플리케이션 프로그램들 중 하나 이상은 비디오 스트림들에 기초하여 메타데이터를 생성하기 위해, 수신된 비디오 스트림을 프로세싱할 수 있다.
이를 위해, 디지털 디바이스(500)는 다양한 상이한 애플리케이션 프로그램들을 호스팅하도록 구성될 수 있다. 애플리케이션 프로그램들의 예들은, 비디오 스트림과 연관된 메타데이터, 예컨대 비디오 스트림의 하나 이상의 검출된 특성 또는 피처를 표시하는 메타데이터를 생성하기 위해, 예컨대, 객체 검출, 이벤트 검출, 모션 검출 등을 수행하기 위해, 비디오 스트림의 적어도 일부, 예컨대 비디오 스트림의 하나 이상의 프레임을 프로세싱하는 애플리케이션 프로그램들을 포함한다. 이러한 프로세싱 기법들 중 일부 또는 그 이상은 머신 학습 기법들의 적용을 포함할 수 있다. 애플리케이션 프로그램의 일 예는, 예컨대 범죄의 위치를 식별하기 위해, 비디오에 묘사된 시야 내의 장소에 대한 GPS 위치 데이터를 추가할 수 있다. 비디오 프로세싱의 다른 예들은, 이를테면, 함께 스티칭된 다양한 카메라들로부터 데이터를 생성하여, 범죄에 관한 메타데이터를 검출하거나 또는 그렇지 않으면 추가하는 것을 포함할 수 있다. 따라서, 일부 실시예들에서, 디지털 디바이스는 다수의 비디오 스트림을 수신하고, 다수의 비디오의 조합에 기초하여 메타데이터를 생성하도록 구성될 수 있다.
대안으로, 디지털 디바이스 상의 애플리케이션 프로그램은 그 디지털 디바이스에 테더링된(또는 디지털 디바이스가 테더링된) 하나 이상의 물리적 비디오 카메라를 호출하여 이들의 GPS 위치에 관하여 문의할 수 있다. 이는, 예컨대, 애플리케이션 프로그램에서 GPS 좌표들에 의해 물리적 비디오 카메라들을 탐색할 수 있게 한다(그렇지 않으면, 그 물리적 비디오 카메라들은 GPS 위치에 의해 탐색할 때 누락될 것임). 물리적 비디오 카메라의 GPS 위치를 아는 것은 또한, 애플리케이션 프로그램이 유용한 상관관계들, 이를테면 피사계 심도(또는 DOP)(이는, 예컨대, 그 또는 다른 애플리케이션 프로그램에 의해 계산될 수 있음)에 대한 GPS 상관관계를 생성하는 것을 가능하게 할 수 있다. 일반적으로, GPS 위치는 실외 물리적 비디오 카메라들과 관련될 때 더 유용하다.
애플리케이션 프로그램들의 다른 예들은 비디오 스트림을 수정하기 위해, 즉, 프로세싱된 비디오 스트림의 적어도 일부를 생성하기 위해, 비디오 스트림의 적어도 일부를 프로세싱하는 애플리케이션 프로그램들을 포함한다. 그러한 프로세싱의 예들은 이미지/비디오 향상 등을 위한 공정을 포함한다. 예컨대, 애플리케이션 프로그램은 저 해상도 비디오를 더 높은 해상도 비디오로 업스케일링하고/하거나 이미지 품질을 향상시키고/시키거나 열악한 품질의 비디오로부터 초 해상도를 생성할 수 있다.
통신 모듈은 디지털 디바이스(500)가 컴퓨터 네트워크 상의 비디오 서버로서 동작할 수 있게 하도록, 즉, 비디오 스트림들을 비디오 스트림 수신 시스템에 제공할 수 있게 하도록 추가로 구성된다. 특히, 디지털 디바이스는 비디오 관리 시스템으로부터 수신된 비디오 스트림들을 출력할 수 있고/있거나, 프로세싱된 비디오 스트림, 즉, 수신된 비디오 스트림에 기초하지만 애플리케이션 프로그램들(540) 중 하나 이상에 의해 수정된 비디오 스트림들을 출력할 수 있다. 이를 위해, 디지털 디바이스는 디지털 디바이스에 의해 출력될 비디오 스트림을 인코딩하도록 구성된 인코더 모듈(570)을 포함한다. 예컨대, 인코더 모듈(570)은 H.264 및/또는 H.265, 및/또는 비디오 스트림들을 인코딩하기 위한 다른 적합한 인코딩 표준에 따라 비디오 스트림들을 인코딩하도록 구성될 수 있다.
따라서, 디지털 디바이스(500)는 컴퓨터 네트워크 상에서 비디오 카메라로서 인식될 수 있는 적어도 하나의 물리적 비디오 카메라를 에뮬레이트하고, 적합하게 인코딩된 비디오 스트림들을 컴퓨터 네트워크를 통해 외부 비디오 신호 수신 시스템들에 제공하도록 구성된다. 일반적으로, 비디오 카메라를 에뮬레이트하는 것은 비디오 카메라들에 의해 통상적으로 지원되는 RTSP, ONVIF 등에서 정의되는 것들과 같은 API들, 특히, 비디오 스트림들을 검색하는 것, 카메라 설정들을 설정하는 것 등을 위한 API들을 지원하는 것을 포함한다. 특히, 디지털 디바이스(500)는 적어도 하나의 앱-인에이블드 비디오 카메라를 에뮬레이트하도록 구성되고, 이는 애플리케이션 프로그램들이 배치될 수 있게 하고, 애플리케이션 프로그램들에 의해 수행되는 비디오 프로세싱의 결과들을 비디오 스트림 상에 출력한다. 물리적 비디오 카메라에서의 경우와 같이, 이미지 센서에 의해 직접적으로 획득된 비디오 스트림들에 대해 동작하는 대신에, 디지털 디바이스는 본원에서 개시되는 비디오 관리 시스템으로부터 수신된 비디오 스트림에 대해 동작한다.
도 3은 컴퓨터에 의해 구현되는 비디오 관리 공정의 예를 개략적으로 예시한다. 도 3의 공정은, 예컨대, 도 1의 비디오 감시 시스템의 비디오 관리 시스템에 의해 수행될 수 있다.
단계(S1)에서, 공정은 비디오 카메라(100)로부터 비디오 스트림(101)을 수신한다.
단계(S2)에서, 공정은 수신된 비디오 스트림에 타임 스탬프를 추가하여, 타임 스탬프된 입력 비디오 스트림(311)을 생성하고, 타임 스탬프는 비디오 관리 시스템에 의한 비디오 스트림의 수신 시간을 표시한다. 공정은, 예컨대, 개별 부분들, 예컨대 비디오 스트림의 개별 프레임들의 수신 시간을 표시하기 위해, 수신된 비디오 스트림에 다수의 타임 스탬프를 추가할 수 있다는 것을 이해할 것이다. 일부 실시예들에서, 타임 스탬프들은 모든 프레임들이 아니라 일부 프레임들에 추가되는데, 예컨대, 초기 프레임 및/또는 하나 이상의 다른 방식으로 선택된 프레임에만 추가된다. 추가로, 카메라(100)의 타입에 따라, 수신된 비디오 스트림(101)이 타임 스탬프들을 포함할 수 있거나 또는 포함하지 않을 수 있다는 것을 이해할 것이다. 그러나, 수신된 비디오 스트림(101)에 임의의 타임 스탬프들이 존재하는 것과 관계없이, 입력 비디오 스트림(311)의 추가된 타임 스탬프는 후속하여 비디오 관리 시스템에 의해 정규 타임 스탬프로서 사용될 것이고, 이는 아래에서 더 상세히 설명될 것이다.
단계(S3)에서, 공정은 타임 스탬프된 입력 비디오 스트림(311)을 미디어 리포지토리(350)에 저장한다.
단계(S4)에서, 타임 스탬프된 입력 비디오 스트림의 저장과 동시에, 공정은 타임 스탬프된 입력 비디오 스트림(311)을 라이브 비디오로서 본원에서 설명되는 바와 같은 하나 이상의 디지털 디바이스에 제공한다.
비디오 관리 시스템의 실시예들 중 일부 실시예들은 다수의 비디오 스트림, 예컨대 상이한 비디오 카메라들로부터의 비디오 스트림들을 동시에 수신 및 프로세싱하는 것이 가능할 수 있다는 것을 이해할 것이다.
도 4는 도 2의 디지털 디바이스(500)를 포함하는 도 1의 비디오 감시 시스템에 의해 수행되는 비디오 관리 및 비디오 프로세싱 공정의 예를 개략적으로 예시한다.
비디오 관리 시스템(300)의 카메라 드라이버(310)는 비디오 카메라(100)로부터 비디오 스트림(101)을 수신한다. 카메라 드라이버(310)는, 예컨대, 도 2의 공정의 단계(S2)와 관련하여 설명된 바와 같이, 수신된 비디오 스트림에 타임 스탬프를 추가한다.
레코딩 서버(320)는 카메라 드라이버로부터 타임 스탬프된 입력 비디오 스트림(311)을 수신하고, 타임 스탬프된 입력 비디오 스트림을 미디어 리포지토리(350)에 저장한다. 동시에, 레코딩 서버(320)는 타임 스탬프된 입력 비디오 스트림(311)을 인터페이스(360)를 통해 라이브 비디오로서 하나 이상의 디지털 디바이스(500)에 공급한다.
단계(S51)에서, 디지털 디바이스의 통신 모듈은 통신 네트워크(400)를 통해 비디오 관리 시스템(300)으로부터 타임 스탬프된 비디오 스트림을 수신한다.
단계(S52)에서, 디지털 디바이스(500)의 디코더 모듈은 비디오 스트림을 디코딩한다.
단계(S53)에서, 디지털 디바이스는 디코딩된 비디오 스트림의 적어도 일부, 예컨대 비디오 스트림의 개별 프레임들을 디지털 디바이스 상에 배치된 하나 이상의 애플리케이션 프로그램에 제공한다. 일부 실시예들에서, 디지털 디바이스는 인코딩된 비디오 스트림을 애플리케이션 프로그램들 중 하나 이상에 제공할 수 있는데, 즉, 디지털 디바이스는, 사전 디코딩 없이, 수신된 비디오 스트림을 제공할 수 있다는 것을 이해할 것이다.
단계(S54)에서, 애플리케이션 프로그램은 비디오 스트림의 적어도 일부를 프로세싱하고, 수정된, 즉 프로세싱된 비디오 스트림, 및/또는 비디오 스트림에 관한 메타데이터를 리턴한다.
단계(S55)에서, 디지털 디바이스(500)의 인코더 모듈은 프로세싱된 비디오 스트림을 인코딩한다. 대안으로, 애플리케이션 프로그램이 임의의 프로세싱된 비디오 스트림을 리턴하지 않는 경우, 인코더 모듈은 원래 수신된 비디오 스트림을 재인코딩할 수 있다.
단계(S56)에서, 통신 모듈은 인코딩된 비디오 스트림 및/또는 애플리케이션 프로그램에 의해 생성된 메타데이터를 외부 데이터 프로세싱 시스템(700)으로 전송한다. 따라서, 외부 데이터 프로세싱 시스템은, 비디오 카메라, 특히 앱-인에이블드 카메라로부터 비디오 스트림을 수신하는 것과 동일한 방식으로, 디지털 디바이스(500)로부터 임의로 프로세싱된 비디오 스트림을 수신할 수 있다.
비디오 관리 시스템의 일부 실시예들은 다수의 비디오 스트림, 예컨대, 상이한 비디오 카메라들로부터의 비디오 스트림들 및/또는 각각의 디지털 디바이스들로 포워딩되는 비디오 스트림들을 동시에 수신 및 프로세싱하는 것이 가능할 수 있다는 것을 이해할 것이다.
도 5는 도 2의 디지털 디바이스(500)를 포함하는 도 1의 비디오 감시 시스템에 의해 수행되는 비디오 관리 및 비디오 프로세싱 공정의 다른 예를 개략적으로 예시한다.
도 5의 공정은, 도 5의 예에서, 비디오 관리 시스템(300)이 비디오 카메라로부터 현재 수신된 라이브 비디오 스트림 대신에 이전에 저장된 비디오 스트림을 디지털 디바이스로 송신하는 것을 제외하고, 도 4의 공정과 유사하다.
이를 위해, 레코딩 서버(320)는 미디어 리포지토리(350)로부터 이전에 저장된 비디오 스트림을 검색하고, 도 4와 관련하여 설명된 바와 같이, 검색된 비디오 스트림을 인터페이스(360)를 통해 통신 네트워크(400)를 통하여 디지털 디바이스(500)로 포워딩한다.
본 예에서, 송신된 비디오 스트림이 이전에 저장된 비디오 스트림이기 때문에, 미디어 리포지토리(350)로부터 검색된 비디오 스트림은 비디오 스트림의 레코딩 시간에 따라 날짜 스탬프된다. 레코딩 서버(320)는 검색된 비디오 스트림을 원래의 정규 날짜 스탬프와 함께 디지털 디바이스(500)로 포워딩할 수 있다. 대안으로, 레코딩 서버(320)는 정규 날짜 스탬프를 레코딩 서버가 이전에 저장된 비디오 스트림을 포워딩하는 현재 시간에 대응하는 다른 수정된 타임 스탬프로 대체할 수 있다. 따라서, 후자의 경우, 디지털 디바이스(500)는 적어도 하나의 물리적 비디오 카메라에 의해 현재 캡처된 라이브 비디오 스트림을 에뮬레이트하는 적어도 하나의 비디오 스트림을 수신한다. 디지털 디바이스(500)는 적어도 하나의 비디오 스트림을 수신하고, 디코딩하고, 하나 이상의 애플리케이션 프로그램에 제공하고, 재인코딩되고 프로세싱된 비디오 스트림 및/또는 비디오 스트림에 관한 메타데이터를 외부 데이터 프로세싱 시스템으로 포워딩하며, 이들 모두는 도 4와 관련하여 설명된 것과 같다.
따라서, 디지털 디바이스(500)에 의해 출력되는 비디오 스트림 및/또는 디지털 디바이스에 의해 출력되는 메타데이터는 비디오를 현재 캡처하는 앱-인에이블드 카메라의 적어도 하나의 출력을 에뮬레이트한다.
도 6은 도 2의 디지털 디바이스(500)를 포함하는 도 1의 비디오 감시 시스템에 의해 수행되는 비디오 관리 및 비디오 프로세싱 공정의 또 다른 예를 개략적으로 예시한다.
도 6의 공정은, 도 6의 예에서, 디지털 디바이스(500)가 그의 출력을 외부 데이터 프로세싱 시스템으로 송신하는 대신에 비디오 관리 시스템(300)으로 리턴하는 것을 제외하고, 도 4의 공정과 유사하다. 다른 예들에서, 디지털 디바이스가 그의 출력을 외부 데이터 프로세싱 시스템으로 포워딩하는 동시에 출력을 비디오 관리 시스템(300)으로 리턴할 수 있다는 것을 이해할 것이다.
어떤 경우에도, 도 6의 예에서, 디지털 디바이스(500)는 프로세싱된 비디오 스트림 및/또는 비디오 스트림에 관한 메타데이터를 통신 네트워크(400)를 통해 다시 비디오 관리 시스템(300)으로 전송한다. 특히, 디지털 디바이스는, 비디오 관리 시스템(300)으로부터 디지털 디바이스(500)로 비디오 스트림을 포워딩하는 데 사용된 것과 동일한 비디오 터널 또는 그렇지 않으면 동일한 통신 세션 동안, 프로세싱된 비디오 스트림 및/또는 메타데이터를 리턴할 수 있다. 따라서, 프로세싱된 비디오 스트림 및/또는 메타데이터를 디지털 디바이스(500)로부터 인터페이스(360)를 통해 수신할 시에, 레코딩 서버(320)는 수신된 프로세싱된 비디오 스트림 및/또는 메타데이터를 동일한 세션 동안 디지털 디바이스에 공급되었던 비디오 스트림과 연관시킬 수 있다. 따라서, 레코딩 서버는 메타데이터 및/또는 프로세싱된 비디오 스트림을 원래의 비디오 스트림과 연관시켜서 각각 메타데이터 리포지토리(340) 및/또는 미디어 리포지토리(350)에 저장할 수 있다. 특히, 레코딩 서버는 정규 타임 스탬프들에 기초하여 각각의 데이터 스트림들을 동기화시킬 수 있다.
유사하게, 도 7은 도 2의 디지털 디바이스(500)를 포함하는 도 1의 비디오 감시 시스템에 의해 수행되는 비디오 관리 및 비디오 프로세싱 공정의 또 다른 예를 개략적으로 예시한다.
도 7의 공정은, 도 7의 예에서, 디지털 디바이스(500)가 그의 출력을 외부 데이터 프로세싱 시스템으로 송신하는 대신에 비디오 관리 시스템(300)으로 리턴하는 것을 제외하고, 도 5의 공정과 유사하다. 다른 예들에서, 디지털 디바이스가 그의 출력을 외부 데이터 프로세싱 시스템으로 포워딩하는 동시에 출력을 비디오 관리 시스템(300)으로 리턴할 수 있다는 것을 이해할 것이다.
어떤 경우에도, 도 7의 예에서, 디지털 디바이스(500)는 프로세싱된 비디오 스트림 및/또는 비디오 스트림에 관한 메타데이터를 통신 네트워크(400)를 통해 다시 비디오 관리 시스템으로 전송한다. 특히, 디지털 디바이스는, 비디오 관리 시스템(300)으로부터 디지털 디바이스(500)로 비디오 스트림을 포워딩하는 데 사용된 것과 동일한 비디오 터널 또는 그렇지 않으면 동일한 통신 세션 동안, 프로세싱된 비디오 스트림 및/또는 메타데이터를 리턴할 수 있다. 따라서, 프로세싱된 비디오 스트림 및/또는 메타데이터를 디지털 디바이스로부터 인터페이스(360)를 통해 수신할 시에, 레코딩 서버(320)는 수신된 프로세싱된 비디오 스트림 및/또는 메타데이터를 동일한 세션 동안 디지털 디바이스에 공급되었던 비디오 스트림과 연관시킬 수 있다. 따라서, 레코딩 서버는 메타데이터 및/또는 프로세싱된 비디오 스트림을 원래의 비디오 스트림과 연관시켜서 각각 메타데이터 리포지토리(340) 및/또는 미디어 리포지토리(350)에 저장할 수 있다. 특히, 레코딩 서버는 각각의 데이터 스트림들을 동기화시킬 수 있다.
이를 위해, 레코딩 서버(320)는 미디어 리포지토리(350)로부터 이전에 저장된 비디오 스트림을 검색하고, 도 5와 관련하여 설명된 바와 같이, 검색된 비디오를 인터페이스(360)를 통해 통신 네트워크(400)를 통하여 디지털 디바이스(500)로 포워딩한다. 특히, 레코딩 서버는 검색된 비디오 스트림의 정규 날짜 스탬프를 레코딩 서버가 이전에 저장된 비디오 스트림을 포워딩하는 현재 시간에 대응하는 다른 수정된 타임 스탬프로 대체할 수 있다. 레코딩 서버는, 후속 재동기화 동안 사용하기 위해, 정규 타임 스탬프와 수정된 타임 스탬프 사이의 관계, 특히 시간 지연에 관한 정보를 유지할 수 있다. 따라서, 디지털 디바이스(500)는 비디오 카메라에 의해 현재 캡처된 적어도 하나의 라이브 비디오 스트림을 에뮬레이트하는 비디오 스트림을 수신한다. 디지털 디바이스(500)는 비디오 스트림을 수신하고, 디코딩하고, 하나 이상의 애플리케이션 프로그램에 제공하고, 재인코딩되고 프로세싱된 비디오 스트림 및/또는 비디오 스트림에 관한 메타데이터를 외부 데이터 프로세싱 시스템으로 포워딩하며, 이들 모두는 도 5와 관련하여 설명된 것과 같다.
동일한 비디오 터널을 통해 또는 그렇지 않으면 동일한 통신 세션의 일부로서 디지털 디바이스로부터 리턴된 프로세싱된 비디오 스트림 및/또는 메타데이터를 수신할 시에, 레코딩 서버는, 수정된 타임 스탬프와 정규 타임 스탬프 사이의 알려져 있는 관계에 기초하여, 프로세싱된 비디오 스트림 및/또는 메타데이터를 정규 타임 스탬프로 재동기화시킬 수 있다. 따라서, 레코딩 서버는 수정된 타임 스탬프를 정규 타임 스탬프로 다시 대체하고, 정규 타임 스탬프로 타임 스탬프된 프로세싱된 비디오 및/또는 메타데이터를 저장할 수 있다.
프로세싱 유닛에 의해 수행되는 것으로 본원에서 설명되는 방법 단계들의 실시예들은 여러 개의 별개의 요소를 포함하는 하드웨어에 의해, 그리고/또는 적어도 부분적으로, 적합하게 프로그래밍된 마이크로프로세서에 의해 구현될 수 있다. 여러 개의 수단을 열거하는 장치 청구항들에서, 이러한 수단들 중 몇몇은 하드웨어의 하나의 동일한 요소, 구성요소, 또는 아이템에 의해 구현될 수 있다. 특정 대책들이 서로 상이한 종속 청구항들에 기재되거나 또는 상이한 실시예들에서 설명되는 단순한 사실은 이러한 대책들의 조합이 유리하게 사용될 수 없다는 것을 나타내지 않는다.
"포함하다/포함하는"이라는 용어는, 본 명세서에서 사용될 때, 명시된 피처들, 요소들, 단계들, 또는 구성요소들의 존재를 지정하기 위해 이용되지만, 하나 이상의 다른 피처, 요소, 단계, 구성요소, 또는 이들의 그룹의 존재 또는 추가를 배제하는 것은 아니라는 것이 강조되어야 한다.

Claims (16)

  1. 비디오 감시 시스템으로서,
    비디오 관리 시스템 및 컴퓨터에 의해 구현되는 하나 이상의 디지털 디바이스를 포함하고,
    상기 하나 이상의 디지털 디바이스 각각은, 컴퓨터 네트워크를 통해 비디오 수신 시스템으로 비디오 스트림들, 비디오 메타데이터, 또는 상기 비디오 스트림들과 상기비디오 메타데이터를 전송하기 위해 적어도 하나의 물리적 비디오 카메라를 에뮬레이트하도록 구성되고,
    상기 하나 이상의 디지털 디바이스 각각은, 상기 비디오 수신 시스템이 비디오 스트림들을 검색하거나, 카메라 설정들을 설정하거나, 상기 검색과 상기 설정을 행함으로써 해당 디지털 디바이스가 상기 적어도 하나의 물리적 비디오 카메라인 것처럼 해당 디지털 디바이스와 통신할 수 있게 하는 하나 이상의 인터페이스를 제공함으로써, 상기 적어도 하나의 물리적 비디오 카메라를 에뮬레이트하도록 구성되고,
    상기 하나 이상의 디지털 디바이스 각각은, 상기 하나 이상의 인터페이스를 통해 상기 비디오 수신 시스템으로 상기 비디오 스트림들, 상기 비디오 메타데이터, 또는 상기 비디오 스트림들과 상기비디오 메타데이터를 출력하도록 추가로 구성되고,
    상기 비디오 관리 시스템은,
    - 각각의 하나 이상의 비디오 카메라, 하나 이상의 다른 비디오 소스, 또는 상기 비디오 카메라와 상기 하나 이상의 다른 비디오 소스로부터 하나 이상의 비디오 스트림을 수신하기 위한 입력 인터페이스;
    - 상기 입력 인터페이스로부터 하나 이상의 입력 비디오 스트림을 수신하고, 상기 입력 비디오 스트림들을 비디오 리포지토리에 저장하도록 구성된 프로세싱 유닛 ― 각각의 입력 비디오 스트림은 수신된 비디오 스트림들 각각에 대응함 ―; 및
    - 컴퓨터 네트워크를 통해 상기 디지털 디바이스들 중 하나 이상으로, 상기 입력 비디오 스트림들 중 하나 이상, 저장된 비디오 스트림들 중 하나 이상, 또는 상기 입력 비디오 스트림들 중 하나 이상과 상기 저장된 비디오 스트림들 중 하나 이상을 전송하도록 구성된 출력 인터페이스
    를 포함하는, 비디오 감시 시스템.
  2. 제1항에 있어서,
    상기 비디오 관리 시스템은 상기 하나 이상의 디지털 디바이스 중 적어도 하나로 상기 입력 비디오 스트림들을 전송하는 동시에 상기 입력 비디오 스트림들을 상기 비디오 리포지토리에 저장하도록 구성되는, 비디오 감시 시스템.
  3. 제1항 또는 제2항에 있어서,
    상기 하나 이상의 디지털 디바이스 중 적어도 하나는,
    - 비디오 스트림, 특히 인코딩된 비디오 스트림을 수신하고,
    - 하나 이상의 사용자 설치 애플리케이션 프로그램을 위한 실행 환경을 제공하고 ― 상기 실행 환경은 상기 하나 이상의 사용자 설치 애플리케이션 프로그램이 수신된 비디오 스트림의 적어도 일부를 프로세싱하여, 프로세싱된 비디오 스트림, 상기 수신된 비디오 스트림과 연관된 비디오 메타데이터, 또는 상기 프로세싱된 비디오 스트림과 상기 수신된 비디오 스트림과 연관된 비디오 메타데이터를 생성할 수 있게 함 ―,
    - 상기 프로세싱된 비디오 스트림, 상기 비디오 메타데이터, 또는 상기 프로세싱된 비디오 스트림과 상기 비디오 메타데이터를 출력하도록
    구성되는, 비디오 감시 시스템.
  4. 제3항에 있어서,
    상기 하나 이상의 디지털 디바이스 중 적어도 하나는 상기 수신된 비디오 스트림을 디코딩하도록 구성된 비디오 디코더 모듈을 포함하는, 비디오 감시 시스템.
  5. 제4항에 있어서,
    상기 하나 이상의 디지털 디바이스 중 적어도 하나는 상기 애플리케이션 프로그램들 각각이 디코딩된 비디오 스트림의 적어도 일부를 수신할 수 있게 하는 애플리케이션 인터페이스를 제공하도록 구성되는, 비디오 감시 시스템.
  6. 제4항에 있어서,
    상기 하나 이상의 디지털 디바이스 중 적어도 하나는 상기 프로세싱된 비디오 스트림을 재인코딩하고 출력하도록 구성된 비디오 인코더 모듈을 포함하는, 비디오 감시 시스템.
  7. 제3항에 있어서,
    상기 하나 이상의 디지털 디바이스 중 적어도 하나는, 상기 비디오 관리 시스템과 통신 세션을 확립하고, 확립된 통신 세션을 통해 비디오 스트림을 수신하도록 구성된 통신 모듈을 포함하는, 비디오 감시 시스템.
  8. 제7항에 있어서,
    상기 하나 이상의 디지털 디바이스 중 적어도 하나는 상기 확립된 통신 세션 동안 상기 비디오 관리 시스템으로 상기 프로세싱된 비디오 스트림, 상기 비디오 메타데이터, 또는 상기 프로세싱된 비디오 스트림과 상기 비디오 메타데이터를 송신하도록 구성되는, 비디오 감시 시스템.
  9. 제1항에 있어서,
    상기 하나 이상의 디지털 디바이스 중 적어도 하나는, 스트리밍 미디어를 제어하기 위해 통신 시스템들에서 사용하도록 구성된 네트워크 제어 프로토콜을 사용하여 비디오 클라이언트 구성요소로 비디오 스트림, 비디오 메타데이터, 또는 상기 비디오 스트림과 상기 비디오 메타데이터를 제공하도록 동작가능한 비디오 서버로서 동작하도록 구성된 비디오 서버 구성요소를 포함하는, 비디오 감시 시스템.
  10. 제1항에 있어서,
    상기 입력 인터페이스는 하나 이상의 카메라 드라이버를 포함하고,
    각각의 카메라 드라이버는 적어도 하나의 타입의 카메라로부터 비디오 스트림들을 수신하도록 구성되고,
    각각의 카메라 드라이버는, 상기 입력 비디오 스트림을 타임 스탬프된 입력 비디오 스트림으로서 제공하기 위해, 상기 수신된 비디오 스트림에 하나 이상의 타임 스탬프를 추가하도록 구성되고,
    상기 비디오 관리 시스템은 정규 타임 스탬프로서 추가된 타임 스탬프를 갖는 상기 입력 비디오 스트림을 저장하도록 구성되는, 비디오 감시 시스템.
  11. 제10항에 있어서,
    상기 비디오 관리 시스템은, 이전에 저장된 비디오 스트림을 디지털 디바이스에 공급할 때, 상기 정규 타임 스탬프를 수정된 타임 스탬프로 대체하도록 구성되고, 상기 수정된 타임 스탬프는 현재 시간에 대응하는, 비디오 감시 시스템.
  12. 제11항에 있어서,
    상기 비디오 관리 시스템은, 디지털 디바이스로부터 프로세싱된 비디오 스트림, 비디오 메타데이터, 또는 상기 프로세싱된 비디오 스트림과 상기 비디오 메타데이터를 수신할 때, 수신된 프로세싱된 비디오 스트림, 비디오 메타데이터, 또는 상기 수신된 프로세싱된 비디오 스트림과 상기 비디오 메타데이터가 이전에 저장된 비디오 스트림에 대응하는지 여부를 결정하고, 상기 수신된 프로세싱된 비디오 스트림, 상기 수신된 비디오 메타데이터, 또는 상기 수신된 프로세싱된 비디오 스트림과 상기 수신된 비디오 메타데이터에 타임 스탬프를 선택적으로 추가하도록 구성되고, 추가된 타임 스탬프는 상기 이전에 저장된 비디오 스트림의 정규 타임 스탬프에 대응하는, 비디오 감시 시스템.
  13. 제1항에 있어서,
    상기 비디오 관리 시스템, 및 상기 하나 이상의 디지털 디바이스 중 적어도 하나는, 하나 이상의 추가 미디어 스트림, 추가 센서 데이터, 또는 상기 하나 이상의 추가 미디어 스트림과 상기 추가 센서 데이터를 수신하고 프로세싱하도록 구성되는, 비디오 감시 시스템.
  14. 제13항에 있어서,
    상기 하나 이상의 디지털 디바이스 중 적어도 하나는, 상기 디지털 디바이스에 의해 호스팅되는 애플리케이션 프로그램들 중 하나 이상의 애플리케이션 프로그램에 상기 하나 이상의 추가 미디어 스트림, 추가 센서 데이터, 또는 상기 하나 이상의 추가 미디어 스트림과 상기 추가 센서 데이터를 제공하여, 상기 하나 이상의 애플리케이션 프로그램이 상기 하나 이상의 디지털 디바이스 중 적어도 하나에 의해 수신된 비디오 스트림과 조합하여 상기 추가 미디어 스트림들을 프로세싱할 수 있게 하도록 구성되는, 비디오 감시 시스템.
  15. 컴퓨터에 의해 구현되는 비디오 관리 공정으로서,
    - 각각의 하나 이상의 비디오 카메라, 다른 비디오 소스, 또는 상기 각각의 하나 이상의 비디오 카메라와 상기 다른 비디오 소스로부터 하나 이상의 비디오 스트림을 수신하는 단계;
    - 하나 이상의 입력 비디오 스트림을 비디오 리포지토리에 저장하는 단계 ― 각각의 입력 비디오 스트림은 수신된 비디오 스트림들 각각에 대응함 ―; 및
    - 비디오 관리 시스템으로부터 컴퓨터 네트워크를 통해 하나 이상의 디지털 디바이스로 상기 입력 비디오 스트림들 중 하나 이상, 저장된 비디오 스트림들 중 하나 이상, 또는 상기 입력 비디오 스트림들 중 하나 이상과 상기 저장된 비디오 스트림들 중 하나 이상을 전송하는 단계 - 상기 하나 이상의 디지털 디바이스 각각은, 적어도 하나의 물리적 비디오 카메라를 에뮬레이트하고, 컴퓨터 네트워크를 통해 비디오 수신 시스템으로 비디오 스트림들, 비디오 메타데이터, 또는 상기 비디오 스트림들과 상기 비디오 메타데이터를 전송하도록 구성됨 -
    를 포함하고,
    상기 하나 이상의 디지털 디바이스 각각은, 상기 비디오 수신 시스템이 비디오 스트림들을 검색하거나, 카메라 설정들을 설정하거나, 상기 검색과 상기 설정을 행함으로써 해당 디지털 디바이스가 상기 적어도 하나의 물리적 비디오 카메라인 것처럼 해당 디지털 디바이스와 통신할 수 있게 하는 하나 이상의 인터페이스를 제공함으로써, 상기 적어도 하나의 물리적 비디오 카메라를 에뮬레이트하도록 구성되고,
    상기 하나 이상의 디지털 디바이스 각각은, 상기 하나 이상의 인터페이스를 통해 상기 비디오 수신 시스템으로 상기 비디오 스트림들, 비디오 메타데이터, 또는 상기 비디오 스트림들과 상기 비디오 메타데이터를 출력하도록 추가로 구성되는, 컴퓨터에 의해 구현되는 비디오 관리 공정.
  16. 디지털 디바이스로서,
    적어도 하나의 물리적 비디오 카메라, 특히 앱-인에이블드 비디오 카메라를 에뮬레이트하고, 컴퓨터 네트워크를 통해 비디오 수신 시스템으로 비디오 스트림들, 비디오 메타데이터, 또는 상기 비디오 스트림과 상기 비디오 메타데이터를 전송하도록 구성되고,
    상기 디지털 디바이스는, 상기 비디오 수신 시스템이 비디오 스트림들을 검색하거나, 카메라 설정들을 설정하거나, 상기 검색과 상기 설정을 행함으로써 상기 디지털 디바이스가 상기 적어도 하나의 물리적 비디오 카메라인 것처럼 상기 디지털 디바이스와 통신할 수 있게 하는 하나 이상의 인터페이스를 제공함으로써, 상기 적어도 하나의 물리적 비디오 카메라를 에뮬레이트하도록 구성되고,
    상기 디지털 디바이스는,
    - 비디오 관리 시스템으로부터 비디오 스트림을 수신하고,
    - 하나 이상의 사용자 설치 애플리케이션 프로그램을 위한 실행 환경을 제공하고 ― 상기 실행 환경은 상기 하나 이상의 사용자 설치 애플리케이션 프로그램이 수신된 비디오 스트림의 적어도 일부를 프로세싱하여, 프로세싱된 비디오 스트림, 상기 수신된 비디오 스트림과 연관된 비디오 메타데이터, 또는 상기 프로세싱된 비디오 스트림과 상기 수신된 비디오 스트림과 연관된 비디오 메타데이터를 생성할 수 있게 함 ―,
    - 상기 하나 이상의 인터페이스를 통해 상기 비디오 수신 시스템으로 상기 프로세싱된 비디오 스트림, 상기 비디오 메타데이터, 또는 상기 비디오 스트림과 상기 비디오 메타데이터를 출력하도록
    추가로 구성되는, 디지털 디바이스.
KR1020210153811A 2020-11-11 2021-11-10 비디오 감시 시스템 KR102608025B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP20207009.0 2020-11-11
EP20207009.0A EP4002853B1 (en) 2020-11-11 2020-11-11 Video surveillance system

Publications (2)

Publication Number Publication Date
KR20220064328A true KR20220064328A (ko) 2022-05-18
KR102608025B1 KR102608025B1 (ko) 2023-11-30

Family

ID=73343966

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210153811A KR102608025B1 (ko) 2020-11-11 2021-11-10 비디오 감시 시스템

Country Status (4)

Country Link
US (1) US20220150442A1 (ko)
EP (2) EP4002853B1 (ko)
KR (1) KR102608025B1 (ko)
CN (1) CN114554140A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2623496A (en) 2022-10-10 2024-04-24 Milestone Systems As Computer-implemented method, computer program, storage medium and system for video surveillance
GB2623325A (en) 2022-10-11 2024-04-17 Milestone Systems As Methods of video surveillance, computer programs, storage media and video surveillance systems

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070107029A1 (en) * 2000-11-17 2007-05-10 E-Watch Inc. Multiple Video Display Configurations & Bandwidth Conservation Scheme for Transmitting Video Over a Network
US20120314018A1 (en) * 2011-06-13 2012-12-13 Alcatel-Lucent Usa Inc. Video Surveillance System Integrating Real and Logical Video Streams
US20160248840A1 (en) * 2015-02-20 2016-08-25 Ligos Corporation Integrated video capturing and sharing application on handheld device

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2364025B1 (en) * 2000-08-15 2015-09-16 Microsoft Technology Licensing, LLC Methods, systems and data structures for timecoding media samples
JP5030261B2 (ja) * 2005-11-16 2012-09-19 キヤノン株式会社 映像配信装置、ビューワ装置、映像配信装置の制御方法、ビューワ装置の制御方法およびコンピュータプログラム
US8624733B2 (en) * 2007-11-05 2014-01-07 Francis John Cusack, JR. Device for electronic access control with integrated surveillance
US9282297B2 (en) * 2008-01-24 2016-03-08 Micropower Technologies, Inc. Video delivery systems using wireless cameras
AU2008200965B2 (en) * 2008-02-28 2010-02-18 Canon Kabushiki Kaisha Network Surveillance Systems
US20150058709A1 (en) * 2012-01-26 2015-02-26 Michael Edward Zaletel Method of creating a media composition and apparatus therefore
KR101702885B1 (ko) * 2012-05-02 2017-02-06 한화테크윈 주식회사 시간 동기화 장치 및 방법
US10110855B2 (en) * 2012-08-10 2018-10-23 Logitech Europe S.A. Wireless video camera and connection methods including a USB emulation
US20150215583A1 (en) 2013-12-04 2015-07-30 Rasilient Systems, Inc. Cloud Video Surveillance
US11301685B2 (en) * 2015-04-02 2022-04-12 Sportsmedia Technology Corporation Automatic determination and monitoring of vehicles on a racetrack with corresponding imagery data for broadcast
GB2544089B (en) * 2015-11-06 2020-02-12 Veracity Uk Ltd Network switch
US10499119B2 (en) * 2016-08-10 2019-12-03 Saad Ibrahim Al Mohizea System and method to verify date and location for the creation of a video
US11178451B2 (en) * 2018-08-17 2021-11-16 Roku, Inc. Dynamic playout of transition frames while transitioning between playout of media streams
WO2020118450A1 (en) * 2018-12-15 2020-06-18 Genetec Inc. Method and system for enrolling a camera into a video surveillance system
CN109788224B (zh) * 2019-03-26 2020-12-04 歌尔科技有限公司 视频录制方法、装置、网络摄像器及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070107029A1 (en) * 2000-11-17 2007-05-10 E-Watch Inc. Multiple Video Display Configurations & Bandwidth Conservation Scheme for Transmitting Video Over a Network
US20120314018A1 (en) * 2011-06-13 2012-12-13 Alcatel-Lucent Usa Inc. Video Surveillance System Integrating Real and Logical Video Streams
US20160248840A1 (en) * 2015-02-20 2016-08-25 Ligos Corporation Integrated video capturing and sharing application on handheld device

Also Published As

Publication number Publication date
US20220150442A1 (en) 2022-05-12
CN114554140A (zh) 2022-05-27
EP4002853C0 (en) 2023-07-19
KR102608025B1 (ko) 2023-11-30
EP4002854A1 (en) 2022-05-25
EP4002853A1 (en) 2022-05-25
EP4002853B1 (en) 2023-07-19

Similar Documents

Publication Publication Date Title
US11381739B2 (en) Panoramic virtual reality framework providing a dynamic user experience
Anjum et al. Video stream analysis in clouds: An object detection and classification framework for high performance video analytics
KR102608025B1 (ko) 비디오 감시 시스템
US10121080B2 (en) Systems and methods for controlling the recording, storing and transmitting of video surveillance content
WO2017181777A1 (zh) 全景视频直播方法、装置和系统以及视频源控制设备
KR101467430B1 (ko) 클라우드 컴퓨팅 기반 어플리케이션 제공 방법 및 시스템
US20160182593A1 (en) Methods, devices, and computer programs for improving coding of media presentation description data
KR102087533B1 (ko) 통신 장치, 통신 제어 방법, 및 컴퓨터 프로그램
TWI767763B (zh) 資料管線裝置
CN108370416A (zh) 从视频流生成输出视频
CN102204248B (zh) 视频数据处理方法、视频图像展示方法和装置
US11496671B2 (en) Surveillance video streams with embedded object data
US10116770B2 (en) Image processing apparatus based on open platform and protocol conversion method used for the same
US10108617B2 (en) Using audio cues to improve object retrieval in video
CN107534797A (zh) 增强包括相机记录的媒体记录
CN102779539A (zh) 视频万能转码系统和方法
US7692562B1 (en) System and method for representing digital media
US20230142015A1 (en) Video surveillance system, computer-implemented video management process, and non-transitory computer readable storage medium
US20170163980A1 (en) Information processing device and method
US11871138B2 (en) Virtualized production switcher and method for media production
CN113784094A (zh) 视频数据处理方法、网关、终端设备及存储介质
KR102119210B1 (ko) Mpeg-ts 스트림의 atsc 3.0 기반의 ip 패킷 호환을 위한 트랜스코딩 방법, 장치 및 컴퓨터-판독가능 기록매체
US20230336625A1 (en) Location based video data transmission
US20220286642A1 (en) Event-oriented multi-channel video backup apparatus and method, and network surveillance camera system including the same
JP2024508865A (ja) 点群符号化・復号方法、装置、及び電子機器

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant