KR20230013461A - 영상 저장 장치, 영상 모니터링 장치 및 그 위에서 실행되는 방법 - Google Patents

영상 저장 장치, 영상 모니터링 장치 및 그 위에서 실행되는 방법 Download PDF

Info

Publication number
KR20230013461A
KR20230013461A KR1020210094243A KR20210094243A KR20230013461A KR 20230013461 A KR20230013461 A KR 20230013461A KR 1020210094243 A KR1020210094243 A KR 1020210094243A KR 20210094243 A KR20210094243 A KR 20210094243A KR 20230013461 A KR20230013461 A KR 20230013461A
Authority
KR
South Korea
Prior art keywords
fragments
video
request
storage device
image
Prior art date
Application number
KR1020210094243A
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 KR1020210094243A priority Critical patent/KR20230013461A/ko
Priority to PCT/KR2022/010441 priority patent/WO2023003298A1/ko
Publication of KR20230013461A publication Critical patent/KR20230013461A/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/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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • 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/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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
    • 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/23605Creation or processing of packetized elementary streams [PES]
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

프로세서와, 상기 프로세서에 의해 실행 가능한 인스트럭션들을 저장하는 메모리를 포함하는 영상 저장 장치에서, 상기 프로세서에 의해 수행되는 인스트럭션들은, 카메라에 의해 촬영된 영상을 영상 데이터로 저장하는 단계와, 네트워크로 연결된 영상 모니터링 장치로부터의 요청에 따라, 상기 저장된 영상 데이터를 상기 요청에 대응되는 복수의 프래그먼트로 변환하는 단계와, 상기 변환된 복수의 프래그먼트를 다중화하는 단계와, 상기 변환된 복수의 프래그먼트를 상기 영상 모니터링 장치로 전송하는 단계로 이루어진다.

Description

영상 저장 장치, 영상 모니터링 장치 및 그 위에서 실행되는 방법{Video storing apparatus, video monitoring apparatus and method performed in the same}
본 발명은 카메라로부터 촬영된 영상을 저장하는 영상 저장 장치 및 상기 저장된 영상을 수신하여 재생하는 영상 모니터링 장치에 관한 것이다.
기존의 영상 감시 시스템에서 저장된 있는 영상은 RTSP/RTP over websocket을 통하여 원격으로 재생될 수 있다. 하지만, RTSP/RTP 서버에서 다중 영상을 제공하는 것은 성능적 제약으로 인하여 보통 한 개의 영상의 재생만을 지원한다. 특히, 기존의 카메라 시스템의 저장 영상은 내부적인 성능 제약으로 인해 1개의 채널 영상 재생밖에 지원하지 못한다는 한계가 있었다.
이러한 점에서 인터넷상의 스트리밍 서비스를 위해 MPEG-DASH(Moving Picture Experts Group-Dynamic Adaptive Streaming over Hypertext Transfer Protocol)가 OTT-V(Over The Top Video)의 기반 기술로서 보급되고 있다.
MPEG-DASH에서는, 예를 들어 스트림을 배신하는 서버로부터, 동일 소스로부터의 특성이 서로 다른 스트림을 최적으로 선택하기 위한 속성 정보를 포함하는 메타데이터로서의 MPD(Media Presentation Description)를, 스트림을 수신하는 클라이언트에 통지하고, 클라이언트에 있어서, 그 MPD를 사용함으로써, 네트워크 환경 적응형 스트리밍이 실현된다.
즉, MPEG-DASH에서는, 서버가 동일 내용의 컨텐츠로서, 배신 패스의 통신 환경이나 클라이언트의 능력이나 상태에 따라서 화질이나 화상 사이즈 등이 상이한 복수의 스트림을 준비한다. 한편, 클라이언트는, 서버가 준비하고 있는 복수의 스트림 중, 클라이언트가 수신 가능하며, 또한 클라이언트의 능력(디코드 능력 등)에 적합한 스트림을 적응적으로 선택하고, 그 스트림을 수신하여 재생할 수 있다는 장점이 있다.
이와 같이, MPEG-DASH 포맷으로 컨텐츠를 저장해두면 클라이언트의 요청에 따라 실시간으로 다중 영상을 전송하는 데에 유리하다. 그러나, 감시 카메라와 같이 제한된 환경에서 대용량의 영상을 지속적으로 저장해야 하는 경우에 MPEG-DASH 포맷으로 컨텐츠를 저장하는 것은 용량의 과도한 오버헤드로 인해 저장 효율성 저하라는 문제가 발생할 수 있다.
일본특허공개공보 제6,698,553호 (2020.5.1 등록)
본 발명이 이루고자 하는 기술적 과제는, 저장 용량의 오버헤드 없이도 서로 다른 시간대의 다중 감시 영상을 동시에 효율적으로 모니터링할 수 있게 하는 것이다.
본 발명이 이루고자 하는 다른 기술적 과제는, 웹 표준적인 영상 재생을 위해, HTTP2 프로토콜과 Mpeg-dash 표준 파일 포맷을 이용하여 하나의 카메라 저장 장치로부터 다중 영상을 동시에 재생하고 트릭 플레이를 수행할 수 있게 하는 것이다.
본 발명이 이루고자 하는 다른 기술적 과제는, 용량 오버헤드 없이도 서로 다른 시간대의 다중 감시 영상을 동시에 효율적으로 모니터링할 수 있게 하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 영상 저장 장치는, 프로세서와, 상기 프로세서에 의해 실행 가능한 인스트럭션들을 저장하는 메모리를 포함하되, 상기 프로세서에 의해 수행되는 인스트럭션들은, 카메라에 의해 촬영된 영상을 영상 데이터로 저장하는 단계; 네트워크로 연결된 영상 모니터링 장치로부터의 요청에 따라, 상기 저장된 영상 데이터를 상기 요청에 대응되는 복수의 프래그먼트로 변환하는 단계; 상기 변환된 복수의 프래그먼트를 다중화하는 단계; 및 상기 변환된 복수의 프래그먼트를 상기 영상 모니터링 장치로 전송하는 단계를 포함한다.
상기 전송하는 단계는 상기 변환된 복수의 프래그먼트를 서버 푸시 방식으로 상기 영상 모니터링 장치에 지속적으로 전송하는 단계를 포함한다.
상기 변환된 복수의 프래그먼트는 상기 전송후에는 상기 영상 저장 장치에 저장되지 않고 제거되며,
상기 요청 이후의 제2 요청이 있는 경우에 상기 요청에 대응되는 복수의 프래그먼트가 다시 변환된다.
상기 저장되는 영상 데이터는 헤더와 페이로드를 포함하는 영상 저장 포맷이다.
상기 복수의 프래그먼트 각각은 MPEG-DASH 포맷에 따라 분할된 데이터이며, 상기 복수의 프래그먼트 각각은 프래그먼트 헤더와 세그먼트 비디오를 포함한다.
상기 복수의 프래그먼트로 변환하는 단계는, 상기 복수의 프래그먼트의 전단에 상기 저장된 영상 데이터의 헤더를 부가하는 단계를 포함한다.
상기 요청은 상기 영상 데이터에 대한 복수의 탐색 시간을 포함하고, 상기 복수의 프래그먼트로 변환하는 단계는, 상기 영상 데이터로부터 상기 복수의 탐색 시간에 대응되는 복수의 프래그먼트로 변환하는 단계를 포함하며, 상기 복수의 프래그먼트는 서로 다른 날짜에 저장된 영상 데이터로부터 각각 변환된다.
상기 영상 저장 장치는 상기 요청에 따라 상기 변환된 프래그먼트를 이벤트 데이터로서 별도로 저장하는 단계를 더 포함한다.
상기 요청은 seek, speed change, step forward 및 step backward 중에서 적어도 하나를 포함하는 트릭 플레이 요청을 포함하고, 상기 복수의 프래그먼트로 변환하는 단계는, 상기 트릭 플레이 요청에 대응되는 복수의 프래그먼트로 변환하는 단계를 포함한다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 영상 모니터링 장치는, 프로세서와, 상기 프로세서에 의해 실행 가능한 인스트럭션들을 저장하는 메모리를 포함하되, 상기 프로세서에 의해 수행되는 인스트럭션들은, 네트워크로 연결된 영상 저장 장치에 복수의 탐색 시간을 포함하는 요청을 전송하는 단계; 상기 요청에 대한 응답으로서 상기 영상 저장 장치로부터 복수의 프래그먼트를 수신하는 단계; 상기 수신된 복수의 프래그먼트를 역다중화하는 단계; 및 상기 역다중화된 복수의 프래그먼트를 재생하는 단계를 포함한다.
상기 복수의 프래그먼트를 수신하는 단계는, 상기 복수의 프래그먼트는 서버 푸시 방식으로 상기 영상 저장 장치로부터 지속적으로 수신하는 단계를 포함한다.
상기 복수의 프래그먼트 각각은 MPEG-DASH 포맷에 따라 분할된 데이터이며, 상기 복수의 프래그먼트 각각은 프래그먼트 헤더와 세그먼트 비디오를 포함한다.
상기 요청은 상기 영상 데이터에 대한 복수의 탐색 시간을 포함하고, 상기 복수의 탐색 시간은 서로 다른 날짜에 속하며, 상기 복수의 프래그먼트는 상기 복수의 탐색 시간에 대응된다.
상기 요청은 이벤트 종류 및 트릭 플레이 요청 중에서 적어도 하나를 포함하되, 상기 트릭 플레이는 seek, speed change, step forward 및 step backward 중에서 적어도 하나를 포함한다.
상기 영상 모니터링 장치는, 상기 역다중화된 복수의 프래그먼트를 웹 브라우저에 임베드(embed) 된 비디오 디코더에 의해 디코딩하는 단계를 더 포함한다.
상기 영상 모니터링 장치는, 상기 역다중화된 복수의 프래그먼트가 웹 브라우저에 임베드 된 비디오 디코더에 의해 디코딩될 수 없는 경우, 상기 역다중화된 복수의 프래그먼트를 별도의 비디오 디코더에 의해 디코딩하는 단계; 및 상기 디코딩된 복수의 프래그먼트를 웹 브라우저에 임베드 된 비디오 렌더러에 의해 렌더링하는 단계를 더 포함한다.
상기 영상 모니터링 장치는, 사용자로부터 상기 요청을 수신하기 위한 그래픽 사용자 인터페이스를 표시하는 단계를 더 포함하고, 상기 그래픽 사용자 인터페이스는 상기 사용자가 하나의 화면에서 복수의 탐색 시간을 선택할 수 있게 해 준다.
상기 그래픽 사용자 인터페이스는, 상기 복수의 프래그먼트에 해당하는 트릭 플레이 결과를 하나의 화면에 동시에 표시한다.
상기 그래픽 사용자 인터페이스는, 상기 변환된 프래그먼트가 이벤트 데이터로서 상기 영상 저장 장치 내에서 별도로 저장되게 하는, 사용자 명령을 입력받는 기능을 포함한다.
상기 영상 모니터링 장치는, 상기 영상 저장 장치와 다른 제2 영상 저장장치에 단일의 영상 데이터를 요청하는 단계; 상기 제2 영상 저장 장치로부터 웹소켓 상의 RTSP/RTP 방식으로 상기 단일의 영상 데이터를 수신하는 단계; 및 상기 역다중화된 복수의 프래그먼트 및 상기 수신된 단일의 영상 데이터 중에서 어느 하나를 비디오 디코더로 라우팅하는 단계를 더 포함한다.
본 발명에 따르면, 용량 오버헤드 없이도 서로 다른 시간대의 다중 감시 영상을 동시에 효율적으로 모니터링할 수 있다.
또한 본 발명에 따르면, CCTV 영상 감시에서 다중의 영상을 동시에 재생하여 빠르게 원하는 저장 영상을 웹상에서 재생할 수 있고, 이를 통해, 영상 감시에서의 정확도와 몰입도를 증가시키고, 좀더 실시간적으로 반응할 수 있게 해 준다.
도 1은 본 발명의 일 실시예에 따른 영상 저장 장치와 영상 모니터링 장치가 네트워크 상에서 연결됨을 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 따른 영상 저장 장치의 구성을 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 영상 저장 장치 또는 영상 모니터링 장치의 하드웨어 구성을 갖는 컴퓨팅 장치의 예시이다.
도 4는 영상 데이터 및 MPEG-DASH에 따른 복수의 프래그먼트의 구성을 보여주는 도면이다.
도 5는 다중 날짜 검색 요청이 있는 경우에 영상 저장 장치와 영상 모니터링 장치 간에 이루어지는 동작을 예시한 도면이다.
도 6은 도 5에 더하여 사용자 요청에 의한 영상이 이벤트 데이터로 저장되는 과정을 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 따른 영상 모니터링 장치의 구성을 도시한 블록도이다.
도 8은 본 발명의 일 실시예에 따른 그래픽 사용자 인터페이스를 도시한 도면이다.
도 9는 3개의 서로 다른 날짜의 영상이 함께 하나의 화면에서 표시되는 예를 보여주는 도면이다.
도 10은 본 발명의 다른 실시예에 따른 영상 모니터링 장치의 구성을 도시한 블록도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
이하 첨부된 도면들을 참조하여 본 발명의 일 실시예를 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 영상 저장 장치와 영상 모니터링 장치가 네트워크 상에서 연결됨을 보여주는 도면이다. 상기 영상 모니터링 장치(200)는 네트워크를 통하여 적어도 하나 이상의 영상 저장 장치(100a, 100b, 100c)와 통신 가능하게 연결된다. 상기 네트워크는 WAN, LAN과 같은 유선 네트워크뿐만 아니라, Wireless LAN, Wireless PAN, UWB, 셀 망과 같은 무선 네트워크로도 연결될 수 있음은 물론이다. 영상 저장 장치(100a, 100b, 100c)는 영상 촬영 장치에서 캡쳐된 영상을 저장하는 장치로서, 상기 영상 촬영 장치와 네트워크로 연결되어 상기 캡쳐된 영상을 수신할 수도 있고 상기 영상 촬영 장치와 통합되어 구성될 수도 있다. 따라서, 영상 저장 장치(100a, 100b, 100c)는 네트워크 카메라, NVR(network video recorder), PVR(personal video recorder) 등 상기 캡쳐된 영상을 저장할 수 있는 기능을 갖는다면 어떠한 다른 형태로고 구현될 수 있다.
또한, 영상 모니터링 장치(200)는 네트워크(30)를 통해 영상 저장 장치(100a, 100b, 100c)에 명령을 전송하거나, 영상 저장 장치(100a, 100b, 100c)로부터 영상 데이터를 수신할 수 있는 장치이다. 따라서, 영상 모니터링 장치(200)는 상기 영상 데이터를 디코딩하고 디스플레이할 수 있는 기능을 갖는 임의의 장치로 구현될 수 있다. 영상 모니터링 장치(200)는 예를 들어, 웹 브라우저를 탑재한 휴대 전화, PC, TV와 같은 영상 재생 단말기, VMS(video management system)와 같은 감시 시스템 등을 포함한다.
도 2는 본 발명의 일 실시예에 따른 영상 저장 장치(100)의 구성을 보다 자세히 도시한 블록도이다.
영상 저장 장치(100)는 카메라(110), 메인 스토리지(120), 이벤트 스토리지(125), 프래그먼트 변환부(130), 트랜시버(transceiver)(140) 및 파서(parser)(150)를 포함하여 구성될 수 있다. 구체적으로, 도 3은 영상 저장 장치(100)를 실현하는 컴퓨팅 장치(300)의 하드웨어 구성을 예시하는 도면이다.
컴퓨팅 장치(300)은 버스(320), 프로세서(330), 메모리(340), 스토리지(350), 입출력 인터페이스(310) 및 네트워크 인터페이스(360)를 가진다. 버스(320)는 프로세서(330), 메모리(340), 스토리지(350), 입출력 인터페이스(310) 및 네트워크 인터페이스(360)가 서로 데이터를 송수신하기 위한 데이터 전송로이다. 단, 프로세서(330) 등을 서로 접속하는 방법은 버스 연결로 제한되지 않는다. 프로세서(330)은 CPU (Central Processing Unit)나 GPU (Graphics Processing Unit) 등의 연산 처리 장치이다. 메모리(340)은 RAM (Random Access Memory)나 ROM (Read Only Memory) 등의 메모리이다. 스토리지(350)은 하드 디스크, SSD (Solid State Drive), 또는 메모리 카드 등의 저장 장치이다. 또한 스토리지(350)은 RAM 나 ROM 등의 메모리일 수 있다.
입출력 인터페이스(310)은 컴퓨팅 장치(300)과 입출력 디바이스를 접속하기 위한 인터페이스이다. 예를 들면 입출력 인터페이스(310)에는 키보드나 마우스 등이 접속된다.
네트워크 인터페이스(360)은 컴퓨팅 장치(300)을 외부 장치와 통신 가능하게 접속하기 위한 인터페이스이다. 네트워크 인터페이스(360)은 유선 회선과 접속하기 위한 네트워크 인터페이스라도 좋고 무선 회선과 접속하기 위한 네트워크 인터페이스라도 좋다. 예를 들면, 컴퓨팅 장치(300)은 네트워크(30)를 통해 다른 컴퓨팅 장치(400)와 접속될 수 있다.
스토리지(350)는 컴퓨팅 장치(300)의 각 기능을 구현하는 프로그램 모듈을 기억하고 있다. 프로세서(330)은 이들 각 프로그램 모듈을 실행함으로써, 그 프로그램 모듈에 대응하는 각 기능을 구현한다. 여기서 프로세서(330)은 상기 각 모듈을 실행할 때, 이 모듈들을 메모리(340)상으로 읽어낸 후 실행할 수 있다.
다만, 컴퓨팅 장치(300)의 하드웨어 구성은 도 3에 나타낸 구성으로 제한되지 않는다. 예를 들면 각 프로그램 모듈은 메모리(340)에 저장되어도 좋다. 이 경우, 컴퓨팅 장치(300)은 스토리지(350)을 구비하지 않아도 된다.
이와 같이, 영상 저장 장치(100)는 적어도, 프로세서(330)와 상기 프로세서(330)에 의해 실행 가능한 인스트럭션들을 저장하는 메모리(340)를 포함한다. 특히, 도 2의 영상 저장 장치(100)는 상기 영상 저장 장치(100)에 포함된 다양한 기능 블록들 내지 단계들을 포함하는 인스트럭션들이 상기 프로세서(330)에 의해 수행됨으로써 동작된다.
이하에서는 도 2를 참조하여 영상 저장 장치(100)에 포함된 기능 블록들의 동작에 대해 자세히 설명한다. 카메라(110)는 피사체로부터 영상을 캡쳐한다. 이를 위해, 카메라(110)는 CCD(charge coupled device), CMOS(metal-oxide semiconductor)와 같은 촬상 소자를 구비할 수 있다. 이와 같이 영상 저장 장치(100) 내에 카메라(110)가 내장될 수도 있지만 이에 한하지 않고, 카메라(110)를 내장하지 않은 영상 저장 장치(100)는 네트워크로 연결된 외부의 카메라로부터 상기 캡쳐된 영상을 수신할 수도 있음은 물론이다.
메인 스토리지(120)는 카메라(110)에 의해 촬영된 영상을 영상 데이터로서 저장한다. 상기 영상 데이터는 MP4, mkv, avi 등 알려진 다양한 포맷으로 저장될 수 있다. 다만, 이하에서는 상기 영상 데이터가 MP4 표준에 따르는 것을 예로 하여 설명하기로 한다.
프래그먼트 변환부(130)는 네트워크로 연결된 영상 모니터링 장치(200)로부터의 요청에 따라, 상기 저장된 영상 데이터를 상기 요청에 대응되는 복수의 프래그먼트로 변환한다. 이러한 구체적인 변환은 도 4에 도시된 예와 같이 수행될 수 있다. 먼저, 메인 스토리지(120)에 저장된 영상 데이터(10)는 MP4 헤더(11)와 페이로드(13) 즉 비디오를 포함하여 구성될 수 있다.
이러한 영상 데이터는 "변환 과정"을 통해 복수의 프래그먼트로 변환될 수 있다. 구체적으로, 상기 복수의 프래그먼트가 갖는 파일 포맷(20)은, 반복적으로 이어지는 복수의 프래그먼트들(22 내지 25)의 앞단에 MP4 헤더(21), 즉 상기 영상 데이터(10)와 동일한 헤더(11)가 부가된 구조이다. 이러한 복수의 프래그먼트들(22 내지 25)의 개수는 당연히 사용자가 재생을 희망하는 구간의 크기에 따라 달라질 수 있다.
구체적으로, MP4 헤더(21)는 ftyp 필드와 moov 필드를 포함하여 구성될 수 있고, 상기 moov 필드는 다시 mvhd 필드, video trak 필드, mvex 필드 등의 세부 필드로 구성될 수 있다.
상기 ftyp 필드는 후속적으로 연결되는 패킷들이 MPEG-DASH 세그먼트 파일임을 정의한다. 또한, 상기 mvhd 필드는 프레젠테이션 전체와 관련된 전반적인 정보를 정의하고, 상기 trak 필드는 미디어 데이터의 자체적인 시간 및 공간 정보를 정의하며, 상기 mvex 필드는 해당 파일에 비디오 프래그먼트가 존재할 수 있음을 알려준다.
상기 MP4 헤더(21)를 뒤따르는 프래그먼트들(22 내지 25) 각각은 프래그먼트 헤더(22a, 23a, 24a, 25a)와, 페이로드인 세그먼트 비디오(22b, 23b, 24b, 25b)로 구성된다. 프래그먼트 헤더(22a, 23a, 24a, 25a)는 moof 필드에 해당하며, 상기 moof 필드는 세부적으로 mfra 필드와 video traf 필드로 구성될 수 있다. 이러한 구체적인 필드들의 정의는 MPEG-DASH 표준 문서에서 명시되어 있다.
상기 MPEG-DASH는 HTTP 상에서 동적 적응 스트리밍을 가능하게 하는 표준으로, 컨텐츠를 일련의 작은 크기의 HTTP 기반의 프래그먼트들로 분할하는 방식으로 동작한다. 이 때, 각각의 프래그먼트들은 영화나 스포츠 이벤트 생방송 등 잠재적으로 수시간에 걸친 내용물의 재생 시간의 짧은 간격(interval)을 포함한다. 상기 컨텐츠는 다양한 비트레이트로 이용이 가능하므로 상기 컨텐츠가 MPEG-DASH 클라이언트에 의해 재생될 때, 상기 클라이언트는 비트레이트 적응(ABR)을 이용하여 재생시 멈춤이나 재버퍼링을 일으키지 않고 고품질의 재생을 제공할 수 있게 된다.
이와 같이, MPEG-DASH 포맷으로 변환된 복수의 프래그먼트들은 영상 모니터링 장치(200)로 전송되기 전에 트랜시버(140)에 의해 다중화될 수 있다. 또한, 트랜시버(140)는 상기 다중화된 복수의 프래그먼트들을 서버 푸시 방식으로 상기 영상 모니터링 장치(200)에 지속적으로 전송할 수 있다.
이러한 서버 푸시 방식의 전송을 위해 트랜시버(140)는 HTTP2 기반의 웹 서버를 포함할 수 있다. 상기 웹 서버는 단일의 TCP 연결로 다중화를 수행하고, 다중 영상 요청에 대한 다중 URL을 생성할 수 있다. 또한, 상기 웹 서버는 하여금 HTTP2 서버 푸시를 통해 상기 다중 URL을 통해 복수의 프래그먼트들을 HTTP2 푸시를 적용하여 영상 모니터링 장치(200)로 전송할 수 있다.
이와 같이, HTTP2 푸시 내지 서버 푸시는 웹 서버가 웹 클라이언트 1회 요청에 대해 여러 응답을 보낼 수 있다는 것이다. 즉, 서버는 원래 요청에 응답할 뿐만 아니라 클라이언트가 명시적으로 요청하지 않아도 서버가 추가적인 리소스를 클라이언트에 푸시할 수 있다. 즉, 웹 서버는 웹 클라이언트가 현재 어떤 리소스를 필요로 하는지 이미 알고 있으므로 웹 클라이언트의 요청 없이도 즉시적으로 전송 패킷을 푸시할 수 있는 것이다. 이러한 서버 푸시에 따르면, 리소스는 웹 클라이언트에 의해 캐시되고, 다른 페이지에서 재사용되며, 다른 리소스와 함께 다중화될 수 있고, 웹 서버에서 우선 순위가 지정될 수 있으며, 웹 클라이언트에 의한 거부도 허용된다.
전술한 바와 같이, 영상 저장 장치(100)는 메인 스토리지(120)에 저장된 영상 데이터 중에서, 영상 모니터링 장치(200)의 사용자의 요청에 해당하는 일부의 영상 데이터만을 MPEG-DASH 기반의 복수의 프래그먼트들로 변환(추출)한 후 서버 푸시 방식으로 영상 모니터링 장치(200)에 전송할 수 있다. 이러한 방식은 미리 영상 데이터를 MPEG-DASH 기반의 복수의 프래그먼트들로 저장해 두고 바로 전송하는 방식(예: YouTubeTM)과는 구별된다.
특히, 감시 카메라나 NVR은 저장되는 영상 데이터의 양이 방대함에 비해 그 저장 용량에는 제약이 있을 수밖에 없다. 따라서, 이렇게 미리 영상 데이터를 복수의 프래그먼트들로 저장해 두면 다수의 DASH 헤더로 인한 용량의 오버헤드를 피할 수 없게 된다. 따라서, 본 발명에서의 스킴은 사용자의 요청이 있을 때마다 필요한 영상 데이터의 구간만큼을 복수의 프래그먼트들로 실시간으로 변환하여 전송하는 것을 주안점으로 한다. 따라서, 상기 사용자 요청에 대응하여 변환된 복수의 프래그먼트는 일단 전송후에는 영상 저장 장치(100)에 저장되지 않고 제거될 수 있으며, 상기 요청 이후의 제2 요청이 있는 경우에 상기 요청에 대응되는 복수의 프래그먼트가 다시 변환/생성될 것이다. 이 경우에는 미리 복수의 프래그먼트들로 영상 데이터를 저장해 두는 방식에 비해 응답속도 면에서는 다소 불리할 수 있으나, 저장 효율성이나 기존의 감시 카메라와의 호환성 면에서도 유리하다고 볼 수 있다.
다시 도 2를 참조하면, 상기 영상 모니터링 장치(200)의 사용자 요청은 트랜시버(140)에 의해 수신되어 파서(150)에 의해 해석된다. 구체적으로, 상기 사용자 요청은, 이벤트 종류, 날짜, 시간, 감시 카메라 ID, 트릭 플레이 종류 등을 포함하는 검색 인덱스(search index) 형태로 포맷화 될 수 있다. 여기서, 이벤트 종류란 배회하는 인물, 라인 크로스, 화재 발생, 충돌 상황 등 VA(video analytics)를 통해 얻어지는 영상 데이터에 존재하는 이벤트의 분류를 의미하고, 트릭 플레이란 seek, speed change, step forward 및 step backward와 같은 다양한 영상 표시 방식을 의미한다.
상기 파서(150)는 이러한 검색 인덱스는 읽어 들여 그 결과를 프래그먼트 변환부(130)에 전달하고, 프래그먼트 변환부(130)는 상기 검색 인덱스에 대응되는 영상 데이터의 구간만을 추출하여 복수의 프래그먼트로 변환하게 된다.
예를 들어, 상기 사용자 요청이 복수의 탐색 시간을 포함한다면, 프래그먼트 변환부(130)는 상기 영상 데이터로부터 상기 복수의 탐색 시간에 대응되는 구간만을 추출하여 복수의 프래그먼트로 변환한다. 만약, 상기 복수의 탐색 시간이 서로 다른 날짜에 저장된 영상 데이터에서 일부 구간에 해당된다면, 상기 복수의 프래그먼트는 서로 다른 날짜에 저장된 영상 데이터로부터 각각 변환될 것이다.
도 5는 다중 날짜 검색 요청이 있는 경우에 영상 저장 장치(100)와 영상 모니터링 장치(200) 간에 이루어지는 동작을 예시한 도면이다.
먼저, 트랜시버(140)에 포함된 HTTP2 웹 서버는 영상 모니터링 장치(200)로부터 사용자 요청, 즉 다중 날짜 검색 인덱스(Multiday search index)를 수신한다. 이에 따라, 프래그먼트 변환부(130) 내지 DASH Manager는, 서로 다른 날짜에 저장된 영상 데이터(50a, 50b, 50c)로부터 요청된 구간에 대응되는 프래그먼트들(f1, f2, f3)를 추출하여 MPEG-DASH 포맷으로 변환한다. 이 때, 각각의 프래그먼트(f1, f2, f3)는 다중화에 의한 동시 전송을 위해, 트랜시버(140)에 포함된 웹 서버에 의해 대응되는 URL (URL1, URL2, URL3)이 생성된다.
상기 웹 서버는 상기 형성된 복수의 URL을 통해 영상 모니터링 장치(200)에 포함된 DASH 클라이언트에, 상기 MPEG-DASH 포맷의 프래그먼트들(f1, f2, f3)을 HTTP2 서버 푸시 방식으로 전송한다. 이와 같이 전송된 MPEG-DASH 포맷의 프래그먼트들(f1, f2, f3)은 HTML5 표준에 따른 웹 브라우저에 내장된 비디오 디코더, 즉 비디오 태그(video tag)를 통해 디코딩되어 재생 가능한 상태로 된다. 이와 같이, 전송된 프래그먼트들은 용량의 오버헤드를 피하기 위해, 일정 용량을 초과하거나 일정 시간을 경과한 이후에는 영상 저장 장치(100)에 저장되지 않고 제거되는 것이 바람직하다.
한편, 도 5와 같이 복수의 프래그먼트들을 전송하는 데에만 그치지 않고 사용자 요청에 의한 영상을 이벤트 데이터로 영상 저장 장치(100)의 이벤트 스토리지(125)에 별도로 저장하는, 도 6에 도시될 실시예도 고려할 수 있다. 도 6은 도 5와 대부분 유사하지만, MPEG-DASH 포맷의 프래그먼트들(f1, f2, f3)은 영상 모니터링 장치(200)에 전송함과 별도로, 이벤트 스토리지(125)에 실시간으로 저장될 수 있음을 추가적으로 보여준다.
도 7은 본 발명의 일 실시예에 따른 영상 모니터링 장치(200)의 구성을 보다 자세히 도시한 블록도이다.
영상 모니터링 장치(200)는 트랜시버(210), 프래그먼트 처리부(220), 미디어 라우터(230), 비디오 디코더(240), 비디오 렌더러(250), 그래픽 사용자 인터페이스(GUI)(260) 및 사용자 요청부(270)를 포함하여 구성될 수 있다. 전술한 영상 저장 장치(100)와 마찬가지로, 영상 모니터링 장치(200)도 도 3과 같은 컴퓨팅 장치(300)로 구현될 수 있으며, 프로세서(330)와 상기 프로세서(330)에 의해 실행 가능한 인스트럭션들을 저장하는 메모리(340)를 포함한다. 특히, 도 7의 영상 모니터링 장치(200)는 상기 영상 모니터링 장치(200)에 포함된 다양한 기능 블록들 내지 단계들을 포함하는 인스트럭션들이 상기 프로세서(330)에 의해 수행됨으로써 동작된다.
도 7을 참조하면, 사용자 요청부(270)는 네트워크로 연결된 영상 저장 장치(100)에 복수의 탐색 시간을 포함하는 사용자 요청을 생성한다. 구체적으로, 상기 사용자 요청은, 이벤트 종류, 날짜, 시간, 감시 카메라 ID, 트릭 플레이 종류 등을 포함하는 검색 인덱스(search index) 형태로 포맷화 될 수 있다. 여기서, 이벤트 종류란 배회하는 인물, 라인 크로스, 화재 발생, 충돌 상황 등 VA(video analytics)를 통해 얻어지는 영상 데이터에 존재하는 이벤트의 분류를 의미하고, 트릭 플레이란 seek, speed change, step forward 및 step backward와 같은 다양한 영상 표시 방식을 의미한다.
상기 사용자 요청부(270)에서 생성된 검색 인덱스는 트랜시버(210)를 통해 영상 저장 장치(100)로 전송된다. 트랜시버(210)는 이러한 사용자 요청에 대한 응답으로서 영상 저장 장치(100)로부터 상기 사용 자 요청에 대응되는 구간의 복수의 프래그먼트(전송 패킷)를 수신한다. 상기 복수의 프래그먼트는 전술한 도 4와 같은 포맷일 수 있다. 이러한 복수의 프래그먼트의 수신은 HTTP2 서버 푸시 방식에 따라 지속적으로 이루어질 수 있다. 또한, 이와 같이 수신된 복수의 프래그먼트는 추가적으로 역다중화 될 수 있다.
프래그먼트 처리부(220)는 MPEG-DASH 표준에 따른 복수의 프래그먼트의 헤더를 제거하고, 이로부터 얻어지는 비디오 세그먼트를 병합하여 디코딩 가능한 파일 형태로 처리한다.
비디오 디코더(240)는 상기 처리된 파일을 디코딩한다. 비디오 디코더(240)는 MPEG-2, VC-1, H.264, HEVC 등 다양한 코딩 표준에 따른 코덱을 포함할 수 있다. 다른 실시예로서, 비디오 디코더(240)는 HTML5 표준에 따른 웹 브라우저에 임베드 된 디코더, 즉 비디오 태그(video tag)일 수도 있다. 그런데 비디오 태그는 HEVC와 같은 코덱으로 압축된 영상은 디코딩할 수 없다. 따라서, 이 경우에는 지원되는 별도의 비디오 디코더에 의해 디코딩을 수행하고 그 결과만으로 비디오 렌더러(250)로 전달할 수도 있다.
미디어 라우터(230)는 이와 같이, 비디오 디코더(240)의 지원 여부에 따라 상기 처리된 파일을 비디오 디코더(240)로 전달하거나, 별도의 비디오 디코더로 디코딩 한 결과를 바로 비디오 렌더러(250)로 제공할 수 있다. 비디오 렌더러(250)는 예를 들어, HTML5 표준에 따른 웹 브라우저에 임베드 된 렌더러, 즉 캔버스 태그(canvas tag)일 수 있다.
그래픽 사용자 인터페이스(260)는 상기 렌더링된 영상을 포함하여 상기 사용자에게 표시될 수도 있고, 전술한 사용자 요청을 입력받아 사용자 요청부(270)에 전달할 수도 있다.
도 8은 본 발명의 일 실시예에 따른 그래픽 사용자 인터페이스(260)를 도시한 도면이다. 도 8을 참조하면, 그래픽 사용자 인터페이스(260)는 영상 표시 영역(60), 재생 제어 영역(70) 및 사용자 요청 영역(40)을 포함하여 구성될 수 있다.
사용자는 먼저, 사용자 요청 영역(40)을 이용하여 희망하는 다양한 날짜, 시간 구간에서의 영상을 영상 모니터링 장치(100)에 요청할 수 있다. 예를 들어, 사용자는 사용자 요청 영역(40)에 포함된 캘린더(41)를 통해 임의의 날짜(42)를 선택하고, 사용자 요청 영역(40)에 포함된 시간 구간(43)을 입력할 수 있다. 이후 사용자가 apply 버튼(47)을 누르면 상기 시간 구간(43)에 대응되는 사용자 요청이 생성되어 영상 저장 장치(100)로 전송된다. 사용자는 사용자 요청 영역의 입력 중에 cancel 버튼(48)을 눌러 입력을 초기화할 수도 있다.
또한, 사용자는 상기 지정된 날짜의 하루 종일 조건(all day)(44)이나, 요청된 영상을 영상 저장 장치(100)에서 이벤트로 저장하게 하는 조건(event recording)(45)를 체크할 수도 있다. 또한, 사용자는 이벤트 종류 조건(event type)(46)를 지정하여 상기 날짜/시간 조건을 만족하는 특정 이벤트만을 요청할 수도 있다.
이러한 사용자 요청에 따라 영상 저장 장치(100)는 전술한 바와 같이 MPEG-DASH에 따른 프래그먼트들을 영상 모니터링 장치(200)에 제공하며, 상기 프래그먼트들은 디코딩되어 영상 표시 영역(60) 내에 영상 썸네일(61)로서 표시될 수 있다. 사용자는 재생 제어 영역(70)에 포함된 다양한 컨트롤들을 선택하여 상기 표시된 영상에 대한 트릭 플레이를 수행할 수 있다. 상기 트릭 플레이는 seek, speed change, step forward 및 step backward 등을 포함한다.
이 후에 사용자가 계속하여 다른 날짜의 영상을 요청하고자 하면 같은 방법으로 사용자 요청을 생성하면 된다. 도 9는 3개의 서로 다른 날짜의 영상(61, 62, 63)이 함께 하나의 화면에서 표시되는 예를 보여주는 도면이다.
사용자는 캘린더(41)에서 다른 날짜(42)와 시간(43)을 선택하고 이에 따라 영상(63)의 썸네일이 화면에 표시된다. 결국, 사용자는 이러한 조작을 통해 영상 저장 장치(100)로부터 총 3개의 영상(61, 62, 63)을 모니터링 할 수 있게 된다.
이 때, 현재 활성화된 제3 영상(63)은 굵은 테두리나 다른 색상의 테두리 등으로 다른 영상과 구별되게 표시된다. 사용자는 재생 제어 영역(70)을 통해 제3 영상(63)에 대한 트릭 플레이를 수행할 수 있다. 물론, 제3 영상(63)이 아닌 다른 영상(61, 62)을 모니터링 하고자 하면 다른 영상(61, 62)의 영역을 선택하여 활성화시킨 후 트릭 플레이를 수행하면 될 것이다.
이와 같이, 그래픽 사용자 인터페이스(260)는 상기 사용자가 하나의 화면에서 복수의 탐색 시간(예: 서로 다른 날짜)을 선택할 수 있게 해 준다. 이러한 선택은 사용자 요청의 양식으로 영상 저장 장치(100)로 전송되어 대응되는 영상 데이터의 구간으로부터 복수의 프래그먼트가 분할되며, 상기 분할된 복수의 프래그먼트가 영상 모니터링 장치(200)로 전송된다. 이를 통해, 사용자는 서로 다른 시간대의 복수의 감시 영상을 한 화면에서 실시간으로 모니터링하고 트릭 플레이를 수행할 수 있는 것이다.
도 10은 도 7로부터의 변형된 실시예에 따른 영상 모니터링 장치(200-1)를 도시한 블록도이다. 도 10을 참고하면, 제1 트랜시버(210), 프래그먼트 처리부(220), 미디어 라우터(230), 비디오 디코더(240), 비디오 렌더러(250), 그래픽 사용자 인터페이스(260) 및 데이터 요청부(270)는 도 7에서와 동일하다. 다만, 영상 모니터링 장치(200-1)는 전술한 MPEG-DASH over HTTP2 방식의 영상 수신 기능과 더불어, RTSP/RTP (Real Time Streaming Protocol/Real-Time Transport Protocol) over websocket/HTTP 방식의 영상 수신 기능을 아울러 제공한다. 후자의 기능을 위해 영상 모니터링 장치(200-1)는 제2 트랜시버(215) 및 RTSP/RTP 처리부(225)를 더 포함한다.
전자의 기능은 복수의 시간/날짜의 영상, 즉 다중 영상을 함께 재생하는 데에 유리한 반면, 후자의 기능은 단일의 영상을 보다 실시간에 가깝게 재생하는 데에 유리한 측면이 있다. 이를 위해, 제2 트랜시버(215)는 웹소켓 모듈을 탑재하여 웹소켓 표준의 전송 패킷을 처리하는 기능을 포함하고, RTSP/RTP 처리부(225)는 실시간 전송 프로토콜 표준에 따른 처리를 수행하여 압축된 실시간 영상을 제공하는 기능을 포함할 수 있다.
지금까지 도 2, 도 7 및 도 10의 각 구성요소들은 메모리 상의 소정 영역에서 수행되는 태스크, 클래스, 서브 루틴, 프로세스, 오브젝트, 실행 쓰레드, 프로그램과 같은 소프트웨어(software)나, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)로 구현될 수 있으며, 또한 상기 소프트웨어 및 하드웨어의 조합으로 이루어질 수도 있다. 상기 구성요소들은 컴퓨터로 판독 가능한 저장 매체에 포함되어 있을 수도 있고, 복수의 컴퓨터에 그 일부가 분산되어 분포될 수도 있다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능하다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야 한다.
100, 100a, 100b, 100c: 영상 저장 장치 110: 카메라
120: 메인 스토리지 125: 이벤트 스토리지
130: 프래그먼트 변환부 140: 트랜시버
150: 파서 200, 200-1: 영상 모니터링 장치
210, 215: 트랜시버 220: 프래그먼트 처리부
225: RTSP/RTP 처리부 230: 미디어 라우터
240: 비디오 디코더 250: 비디오 렌더러
260: 그래픽 사용자 인터페이스 270: 사용자 요청부
300: 컴퓨팅 장치, 400 310: 입출력 인터페이스
320: 버스 330: 프로세서
340: 메모리 350: 스토리지
360: 네트워크 인터페이스 30: 네트워크

Claims (20)

  1. 프로세서와, 상기 프로세서에 의해 실행 가능한 인스트럭션들을 저장하는 메모리를 포함하는 영상 저장 장치로서,
    상기 프로세서에 의해 수행되는 인스트럭션들은,
    카메라에 의해 촬영된 영상을 영상 데이터로 저장하는 단계;
    네트워크로 연결된 영상 모니터링 장치로부터의 요청에 따라, 상기 저장된 영상 데이터를 상기 요청에 대응되는 복수의 프래그먼트로 변환하는 단계;
    상기 변환된 복수의 프래그먼트를 다중화하는 단계; 및
    상기 변환된 복수의 프래그먼트를 상기 영상 모니터링 장치로 전송하는 단계를 포함하는, 영상 저장 장치.
  2. 제1항에 있어서, 상기 전송하는 단계는
    상기 변환된 복수의 프래그먼트를 서버 푸시 방식으로 상기 영상 모니터링 장치에 지속적으로 전송하는 단계를 포함하는, 영상 저장 장치.
  3. 제1항에 있어서,
    상기 변환된 복수의 프래그먼트는 상기 전송후에는 상기 영상 저장 장치에 저장되지 않고 제거되며,
    상기 요청 이후의 제2 요청이 있는 경우에 상기 요청에 대응되는 복수의 프래그먼트가 다시 변환되는, 영상 저장 장치.
  4. 제1항에 있어서, 상기 저장되는 영상 데이터는
    헤더와 페이로드를 포함하는 영상 저장 포맷인, 영상 저장 장치.
  5. 제1항에 있어서,
    상기 복수의 프래그먼트 각각은 MPEG-DASH 포맷에 따라 분할된 데이터이며,
    상기 복수의 프래그먼트 각각은 프래그먼트 헤더와 세그먼트 비디오를 포함하는, 영상 저장 장치.
  6. 제5항에 있어서, 상기 복수의 프래그먼트로 변환하는 단계는,
    상기 복수의 프래그먼트의 전단에 상기 저장된 영상 데이터의 헤더를 부가하는 단계를 포함하는, 영상 저장 장치.
  7. 제1항에 있어서,
    상기 요청은 상기 영상 데이터에 대한 복수의 탐색 시간을 포함하고,
    상기 복수의 프래그먼트로 변환하는 단계는,
    상기 영상 데이터로부터 상기 복수의 탐색 시간에 대응되는 복수의 프래그먼트로 변환하는 단계를 포함하며,
    상기 복수의 프래그먼트는 서로 다른 날짜에 저장된 영상 데이터로부터 각각 변환되는, 영상 저장 장치.
  8. 제7항에 있어서,
    상기 요청에 따라 상기 변환된 프래그먼트를 이벤트 데이터로서 별도로 저장하는 단계를 더 포함하는, 영상 저장 장치.
  9. 제7항에 있어서,
    상기 요청은 seek, speed change, step forward 및 step backward 중에서 적어도 하나를 포함하는 트릭 플레이 요청을 포함하고,
    상기 복수의 프래그먼트로 변환하는 단계는,
    상기 트릭 플레이 요청에 대응되는 복수의 프래그먼트로 변환하는 단계를 포함하는, 영상 저장 장치.
  10. 프로세서와, 상기 프로세서에 의해 실행 가능한 인스트럭션들을 저장하는 메모리를 포함하는 영상 모니터링 장치로서,
    상기 프로세서에 의해 수행되는 인스트럭션들은,
    네트워크로 연결된 영상 저장 장치에 복수의 탐색 시간을 포함하는 요청을 전송하는 단계;
    상기 요청에 대한 응답으로서 상기 영상 저장 장치로부터 복수의 프래그먼트를 수신하는 단계;
    상기 수신된 복수의 프래그먼트를 역다중화하는 단계;
    상기 역다중화된 복수의 프래그먼트를 재생하는 단계를 포함하는, 영상 모니터링 장치.
  11. 제10항에 있어서, 상기 복수의 프래그먼트를 수신하는 단계는,
    상기 복수의 프래그먼트는 서버 푸시 방식으로 상기 영상 저장 장치로부터 지속적으로 수신하는 단계를 포함하는, 영상 모니터링 장치.
  12. 제10항에 있어서, 상기 복수의 프래그먼트 각각은 MPEG-DASH 포맷에 따라 분할된 데이터이며,
    상기 복수의 프래그먼트 각각은 프래그먼트 헤더와 세그먼트 비디오를 포함하는, 영상 모니터링 장치.
  13. 제10항에 있어서,
    상기 요청은 상기 영상 데이터에 대한 복수의 탐색 시간을 포함하고,
    상기 복수의 탐색 시간은 서로 다른 날짜에 속하며,
    상기 복수의 프래그먼트는 상기 복수의 탐색 시간에 대응되는, 영상 모니터링 장치.
  14. 제10항에 있어서,
    상기 요청은 이벤트 종류 및 트릭 플레이 요청 중에서 적어도 하나를 포함하되,
    상기 트릭 플레이는 seek, speed change, step forward 및 step backward 중에서 적어도 하나를 포함하는, 영상 모니터링 장치.
  15. 제10항에 있어서,
    상기 역다중화된 복수의 프래그먼트를 웹 브라우저에 임베드 된 비디오 디코더에 의해 디코딩하는 단계를 더 포함하는, 영상 모니터링 장치.
  16. 제10항에 있어서,
    상기 역다중화된 복수의 프래그먼트가 웹 브라우저에 임베드 된 비디오 디코더에 의해 디코딩될 수 없는 경우, 상기 역다중화된 복수의 프래그먼트를 별도의 비디오 디코더에 의해 디코딩하는 단계; 및
    상기 디코딩된 복수의 프래그먼트를 웹 브라우저에 임베드 된 비디오 렌더러에 의해 렌더링하는 단계를 더 포함하는, 영상 모니터링 장치.
  17. 제10항에 있어서,
    사용자로부터 상기 요청을 수신하기 위한 그래픽 사용자 인터페이스를 표시하는 단계를 더 포함하고,
    상기 그래픽 사용자 인터페이스는 상기 사용자가 하나의 화면에서 복수의 탐색 시간을 선택할 수 있게 해 주는, 영상 모니터링 장치.
  18. 제17항에 있어서,
    상기 그래픽 사용자 인터페이스는, 상기 복수의 프래그먼트에 해당하는 트릭 플레이 결과를 하나의 화면에 동시에 표시하는, 영상 모니터링 장치.
  19. 제17항에 있어서,
    상기 그래픽 사용자 인터페이스는, 상기 변환된 프래그먼트가 이벤트 데이터로서 상기 영상 저장 장치 내에서 별도로 저장되게 하는, 사용자 명령을 입력받는 기능을 포함하는, 영상 모니터링 장치.
  20. 제10항에 있어서,
    상기 영상 저장 장치와 다른 제2 영상 저장장치에 단일의 영상 데이터를 요청하는 단계;
    상기 제2 영상 저장 장치로부터 웹소켓 상의 RTSP/RTP 방식으로 상기 단일의 영상 데이터를 수신하는 단계; 및
    상기 역다중화된 복수의 프래그먼트 및 상기 수신된 단일의 영상 데이터 중에서 어느 하나를 비디오 디코더로 라우팅하는 단계를 더 포함하는, 영상 모니터링 장치.
KR1020210094243A 2021-07-19 2021-07-19 영상 저장 장치, 영상 모니터링 장치 및 그 위에서 실행되는 방법 KR20230013461A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210094243A KR20230013461A (ko) 2021-07-19 2021-07-19 영상 저장 장치, 영상 모니터링 장치 및 그 위에서 실행되는 방법
PCT/KR2022/010441 WO2023003298A1 (ko) 2021-07-19 2022-07-18 영상 전송 장치, 영상 모니터링 장치 및 그 안에서 실행되는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210094243A KR20230013461A (ko) 2021-07-19 2021-07-19 영상 저장 장치, 영상 모니터링 장치 및 그 위에서 실행되는 방법

Publications (1)

Publication Number Publication Date
KR20230013461A true KR20230013461A (ko) 2023-01-26

Family

ID=84979504

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210094243A KR20230013461A (ko) 2021-07-19 2021-07-19 영상 저장 장치, 영상 모니터링 장치 및 그 위에서 실행되는 방법

Country Status (2)

Country Link
KR (1) KR20230013461A (ko)
WO (1) WO2023003298A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6698553B2 (ja) 2014-02-13 2020-05-27 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ 1つの要求メッセージに基づいたネットワーク・ノードへの多数のチャンクの要求

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101961258B1 (ko) * 2013-03-12 2019-07-17 한화테크윈 주식회사 다채널 네트워크 카메라 감시 시스템 및 이의 구축 방법
KR101840300B1 (ko) * 2016-02-17 2018-05-04 주식회사 앤다스 Cctv 영상의 검색 장치 및 방법
KR20190088731A (ko) * 2018-01-19 2019-07-29 주식회사 더포스 모바일 기반 이벤트 영상 관리 시스템
KR102159786B1 (ko) * 2018-09-17 2020-09-24 김명호 지능형 영상 분석에 의한 실영상 및 녹화영상 검색 시스템
KR20210067065A (ko) * 2019-11-29 2021-06-08 (주)진명아이앤씨 단일 패킷을 이용한 영상데이터 및 메타데이터 전송시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6698553B2 (ja) 2014-02-13 2020-05-27 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ 1つの要求メッセージに基づいたネットワーク・ノードへの多数のチャンクの要求

Also Published As

Publication number Publication date
WO2023003298A1 (ko) 2023-01-26

Similar Documents

Publication Publication Date Title
US10187668B2 (en) Method, system and server for live streaming audio-video file
KR102324326B1 (ko) 상이한 인코딩 파라미터를 이용해 인코딩되는 복수의 인코딩 스트리밍
US9712890B2 (en) Network video streaming with trick play based on separate trick play files
US11412021B2 (en) Method and device for media streaming between server and client using RTP/RTSP standard protocol
US9247317B2 (en) Content streaming with client device trick play index
US20140219634A1 (en) Video preview creation based on environment
JP2020519094A (ja) ビデオ再生方法、デバイス、およびシステム
US20060015634A1 (en) Progressive streaming media rendering
KR102077752B1 (ko) 모션 비디오의 재생을 위한 방법 및 시스템
US11758200B2 (en) System and method for converting adaptive stream to downloadable media
JP2015136060A (ja) 通信装置、通信データ生成方法、および通信データ処理方法
CN111866457B (zh) 监控图像处理方法、电子设备、存储介质及***
CN103329521A (zh) 用于暂停视频流传送内容的方法、设备和计算机程序产品
US11647217B2 (en) Transmission device, communication system, transmission method, and computer program product
WO2021218573A1 (zh) 视频播放方法、装置及***、计算机存储介质
JP2015136059A (ja) 通信装置、通信データ生成方法、および通信データ処理方法
KR20150145228A (ko) 정보 처리 장치, 콘텐츠 요구 방법 및 컴퓨터 프로그램
JP2015136057A (ja) 通信装置、通信データ生成方法、および通信データ処理方法
US9571790B2 (en) Reception apparatus, reception method, and program thereof, image capturing apparatus, image capturing method, and program thereof, and transmission apparatus, transmission method, and program thereof
CN104639979A (zh) 视频分享方法及***
KR20230013461A (ko) 영상 저장 장치, 영상 모니터링 장치 및 그 위에서 실행되는 방법
US10904305B2 (en) Media streaming using a headless browser
US20050068976A1 (en) Data transmitting apparatus, data transmitting/receiving system, and data transmitting/receiving method
KR20090040107A (ko) 실시간 개인 방송 방법
KR20090040106A (ko) 실시간 개인 방송 방법

Legal Events

Date Code Title Description
A201 Request for examination