KR102249005B1 - 비디오 소스 디바이스로부터 스트리밍되는 데이터의 저장 관리 - Google Patents

비디오 소스 디바이스로부터 스트리밍되는 데이터의 저장 관리 Download PDF

Info

Publication number
KR102249005B1
KR102249005B1 KR1020167022351A KR20167022351A KR102249005B1 KR 102249005 B1 KR102249005 B1 KR 102249005B1 KR 1020167022351 A KR1020167022351 A KR 1020167022351A KR 20167022351 A KR20167022351 A KR 20167022351A KR 102249005 B1 KR102249005 B1 KR 102249005B1
Authority
KR
South Korea
Prior art keywords
storage
data
stream
encoding
video
Prior art date
Application number
KR1020167022351A
Other languages
English (en)
Other versions
KR20160111023A (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 KR20160111023A publication Critical patent/KR20160111023A/ko
Application granted granted Critical
Publication of KR102249005B1 publication Critical patent/KR102249005B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • G06F16/125File system administration, e.g. details of archiving or snapshots using management policies characterised by the use of retention policies
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4335Housekeeping operations, e.g. prioritizing content for deletion because of storage space restrictions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • 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/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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations

Abstract

비디오 소스 디바이스로부터 수신되는 데이터를 관리하기 위한 컴퓨터-구현 방법이 개시된다. 저장 매체 상에 적어도 제 1 저장 티어 및 제 2 저장 티어가 서로 다른 카테고리의 데이터를 각각 저장하기 위해 식별된다. 데이터 스트림이 비디오 소스로부터 수신됨에 따라, 데이터 스트림이 적어도 제 1 저장 티어 또는 제 2 저장 티어와 상관되고, 수신되는 스트림으로부터의 데이터가, 상관된 저장 티어에 저장된다. 저장 매체가 풀 상태이거나 일부 다른 명시된 최대 용량 임계치를 충족시킬 때, 데이터는 하나 이상의 명시된 최대 보유 시간을 넘는 연령을 가진 데이터로부터 삭제되고, 이어서, 제 1 및 제 2 저장 티어 중 하나 이상으로부터 가장 오래된 연령을 가진 데이터가 삭제된다.

Description

비디오 소스 디바이스로부터 스트리밍되는 데이터의 저장 관리 {STORAGE MANAGEMENT OF DATA STREAMED FROM A VIDEO SOURCE DEVICE}
관련 출원의 상호 참조
본 출원은 2014년 1월 15일 출원된 미국특허가출원 제61/927,923호의 35 U.S.C. §119(e) 하의 우선권을 주장하는 2014년 12월 11일 출원된 미국특허정규출원 제14/568,077호의 35 U.S.C. §119(e) 하의 우선권을 주장하며, 그 공개 내용 전체는 본 발명에 포함된다.
기술분야
본 발명은 일반적으로 비디오 소스 디바이스로부터 스트리밍되는 데이터의 저장 관리에 관한 것이다.
전형적인 비디오 감시 시스템에서, 하나 이상의 카메라가 서버 시스템에 통신 연결될 수 있다. 비디오 데이터가 카메라에 의해 녹화됨에 따라, 서버 시스템에 전달되어, 차후 불러오기 위해 저장된다. 클라이언트 시스템은 서버 시스템에 통신 연결되어, 녹화된 비디오 데이터의 스트림을 요청 및 수신하는데 사용될 수 있다.
비디오 감시 시스템은 하루 24시간 및 주 7일 작동할 것을 종종 요구받는다. 그 결과, 다양의 데이터가 녹화되어 이러한 시스템에 의해 저장될 수 있다. 녹화된 데이터의 저장에 가용한 컴퓨팅 메모리의 양에 물리적인 제약이 종종 존재한다. 감시 시스템에 녹화될 수 있는 다량의 데이터는, 시스템의 저장 용량 한도 내에서 작동하면서도 요망 데이터에 신속하게 액세스할 수 있도록, 데이터 관리 방법의 실질적 문제점을 고양시킨다.
출원인은 비디오 소스 디바이스로부터 수신되는 데이터를 관리하기 위한 컴퓨터-구현 방법 및 시스템을 여기서 개시한다. 일 실시예에서, 저장 관리 시스템은 제 1 카테고리의 데이터를 저장하기 위한, 저장 티어로 불릴 수 있는, 제 1 스토리지 영역과, 제 2 카테고리의 데이터를 저장하기 위한 제 2 스토리지 영역 또는 티어를 식별한다. 인코딩된 데이터 스트림이 저장 관리 시스템에서 수신됨에 따라, 시스템은 하나 이상의 데이터 스트림을 제 1 스토리지 영역과 상관시키고, 하나 이상의 데이터 스트림을 제 2 스토리지 영역과 상관시킨다. 데이터 스트림은 상관된 스토리지 영역에 저장된다. 저장 관리 시스템은 저장된 데이터를 모니터링하여, 스토리지 영역 및/또는 저장 매체가 풀 상태이거나 일부 다른 지정된 최대 용량 임계치를 충족시키는지 여부를 결정한다. 만약 그러하다면, 저장 관리 시스템은 임계치를 넘는 데이터를 삭제한다. 일 실시예에서, 저장 관리 시스템은 하나 이상의 명시된 최대 보유 시간을 넘긴 연령을 가진 데이터를 삭제한다. 저장된 데이터가 여전히 임계치를 넘을 경우, 제 1 및 제 2 저장 티어 중 하나 이상으로부터 가장 오래된 연령을 가진 데이터가 삭제될 수 있다.
개시되는 실시예의 다른 형태에 따르면, 저장 관리 시스템은 제 1 lc 제 2 저장 티어에 저장될 데이터의 상대적 양을 명시하는 저장 비율을 식별할 수 있다. 이 비율을 유지하기 위해 필요할 때, 가장 오래된 연령의 데이터가 제 1 및 제 2 저장 티어 중 하나 이상으로부터 삭제되어, 명시된 저장 비율을 유지시킬 수 있다. 일 실시예에서, 제 1 저장 티어는 장기 최대 보유 시간을 가진 장기 저장 티어일 수 있고, 제 2 저장 티어는 장기 최대 보유 시간보다 짧은 단기 최대 보유 시간을 가진 단기 저장 티어일 수 있다.
개시되는 실시예의 다른 형태에 따르면, 데이터 스트림은 서로 다른 해상도의 적어도 2개의 가상 스트림을 포함할 수 있다. 저장 관리 시스템은 저해상도 가상 스트림을 단기 저장 티어와 상관시키고, 고해상도 가상 스트림을 장기 저장 티어와 상관시킨다. 일 시나리오에서, 가상 스트림은 복수의 가상 스트림을 포함할 수 있고, 각각의 가상 스트림은 시야 내의 서로 다른 관심 영역을 캡처한다. 이러한 시나리오에서, 저장 관리 시스템은 제 1 관심 영역을 단기 스토리지 영역과 상관시킬 수 있고, 제 2 관심 영역을 장기 스토리지 영역과 상관시킬 수 있다. 서로 다른 관심 영역은 서로 다른 시야 부분을 포함할 수 있고, 이러한 경우에, 시야의 중앙부의 가상 스트림이 장기 저장 티어와 상관되고, 시야의 비-중앙부의 가상 스트림이 단기 저장 티어와 상관된다.
본 간단한 설명은 아래에서 발명을 실시하기 위한 구체적인 내용 단락에서 추가적으로 설명되는 단순화된 형태의 개념 선택을 도입하기 위해 제공된다.
앞서의 간단한 설명 및 다음의 예시 실시예의 추가 설명은 첨부 도면과 연계해서 읽을 때 더 잘 이해될 수 있다. 개시되는 시스템 및 방법의 잠재적 실시예들은 묘사되는 실시예에 제한되지 않는다.
도 1은 복수의 해상도 인코딩을 발생 및 저장하도록 적응된 예시 감시 시스템을 도시한다.
도 2는 복수의 해상도 인코딩을 디스플레이하도록 적응된 예시 디스플레이 모니터를 도시한다.
도 3은 복수의 해상도 인코딩을 발생 및 저장하도록 적응된 예시 비디오 소스 디바이스 및 제어 서버를 도시한다.
도 4는 비디오 소스 디바이스 및 제어 서버에 의해 제공되는 예시 기능 특징들을 도시한다.
도 5는 멀티플렉싱된 컨테이너 프레임을 포함하는 비디오 스트림의 예시 프로세싱을 도시한다.
도 6은 복수의 해상도 인코딩에 포함되는 개별 가상 스트림을 설명하는 예시 비디오 소스 디바이스 응답을 도시한다.
도 7은 서로 다른 해상도에서 관심 영역의 예시 인코딩의 모습을 도시한다.
도 8은 비디오 소스 디바이스로부터 데이터를 스트리밍하기 위한 예시 방법의 흐름도를 도시한다.
도 9는 데이터 저장 매체의 서로 다른 위치에, 비디오 소스 디바이스로부터 수신되는 데이터 스트림을 저장하기 위한 예시 방법의 흐름도를 도시한다.
도 10은 데이터 스트림 저장을 위한 예시 방법의 흐름도를 도시한다.
도 11은 데이터 저장 매체 상에 데이터 스트림을 저장하기 위한 예시 프로세스의 도면을 도시한다.
도 12는 데이터 저장 매체로부터 데이터를 삭제하기 위한 예시 방법의 흐름도를 도시한다.
개요
일반적으로, 디지털 감시 시스템은 모니터링 스테이션에 연결된 다수의 카메라를 포함한다. 모니터링 스테이션은 수많은 카메라로부터 수신되는 비디오를 저장한다. 모니터링 스테이션은 모니터링을 위한 하나 이상의 연결된 클라이언트에 수신 비디오를 스트리밍할 수 있다. 카메라는 특정 해상도에서 비디오의 인코딩을 모니터링 스테이션에 스트리밍하는 인코더에 연결된 아날로그 또는 디지털 카메라일 수 있다. 카메라는 특정 해상도의 비디오 인코딩을 IP 네트워크를 통해 모니터링 스테이션에 스트리밍하기 위한 인코더를 포함하는 인터넷 프로토콜(IP) 카메라를 더 포함할 수 있다.
인코더는, 카메라 내장형 또는 카메라로부터 분리형인지 여부에 관계없이, 인코딩된 비디오를 스트리밍하기 위해 요구되는 저장 크기 및 네트워크 대역폭을 감소시키기 위해 비디오를 인코딩할 때 다양한 가능한 인코딩/압축 포맷을 이용할 수 있다. 감시 산업에 흔히 사용되는 포맷은 JPEG, MPEG-2, MPEG-4, 및 H.264를 포함한다. 모니터링 클라이언트는, 일부 상황에서, 한번에 복수의 카메라로부터 비디오를 디스플레이할 것이다. 따라서, 모니터링 클라이언트는 복수의 비디오 인코딩을 수신 및 디코딩하여야 한다. 비디오가 파일 크기를 감소시키도록 인코딩되었음에도 불구하고, 광역망(WAN)을 통해 모니터링 스테이션에 복수의 풀 해상도 스트림을 스트리밍하는 것이 어려울 수 있다. 압축 기술은 특정 해상도에 대한 인코딩 품질의 큰 저하없이 인코딩의 파일 크기를 추가로 감소시킬 수 있다. 그러나, 이러한 압축 기술의 디코딩은 연산적으로 더 복잡하다. 따라서, 모니터링 클라이언트는 디스플레이를 위한 복수의 인코딩을 빠른 시간 내에 디코딩하지 못할 수 있다.
모니터링 클라이언트에서 디코딩 및 디스플레이될 수 있는 복수의 인코딩을 제공하기 위해, 비디오의 고도 압축을 이용하여 대역폭을 감소시키는 것이 가능하다. 그러나, 모니터링 클라이언트에서 빠른 시간 내에 복수의 비디오 인코딩을 디코딩 및 디스플레이할 수 있는 압축 기술은 비디오 품질을 크게 저하시킬 수 있다. 비디오 품질이 디스플레이 해상도에서의 관찰에 충분할 수 있지만, 인코딩된 비디오의 일부분을 세부적으로 볼 수 있을 만큼 충분한 품질을 제공하지 못할 수 있다.
모니터링 위치에 실시간으로 스트리밍될 수 있는 비디오, 그리고, 비디오 세부사항의 실질적 부분을 보유하는 비디오를 제공하기 위해, 비디오는 예를 들어, 해상도, 프레임 레이트, 및 다양한 다른 품질 설정을 포함한, 다양한 인코딩 파라미터에 따라 인코딩될 수 있다. 일례의 시나리오에서, 저해상도 인코딩을 이용하여 비디오를 모니털이 클라이언트에 스트리밍할 수 있고, 고해상도 인코딩을 중앙 모니터링 스테이션에 저장하여 비디오 일부분의 더 상세한 검사가 요구될 때 모니터링 위치에 제공할 수 있다. 그러나, 풀 해상도 인코딩을 볼 때, 이는 여전히 모니터링 클라이언트에 전송되어야 하고, 이는 큰 크기의 풀 해상도 인코딩이 주어졌을 때 느릴 수 있다.
JPEG 2000과 같은, 일부 인코딩 기술이 단일 이미지에 복수의 해상도를 인코딩할 수 있지만, 비디오 소스 디바이스로부터 모니터링 스테이션에 복수의 독립 인코딩을 스트리밍하는 것이 바람직할 수 있다. 복수의 독립 인코딩은 차후 불러오기를 위해 저장될 수 있다. 더욱이, 인코딩이 독립적일 때, JPEG 2000의 경우와 같은 단일 인코딩에 반해, 추가 저장을 제공하기 위해 더이상 관련성이 없을 때 고해상도 인코딩이 저장 위치로부터 삭제될 수 있다. 저해상도 인코딩은 더 긴 시간 주기동안 보유될 수 있다.
여기서 설명되는 실시예는 일반적으로, 유한한 저장 용량을 가진 데이터 저장 매체 상에서 비디오 소스 디바이스로부터 데이터 스트림의 저장을 관리하기 위한 시스템 및 방법에 관련된다. 개시되는 저장 관리 시스템은, 카메라에 의해 녹화되는 데이터 스트림이 저장되어야만 할 때와, 데이터 스트림이 데이터 저장 매체 상에 저장되어야 할 곳을 결정하는, 프로세서에 의해 실행가능한, 프로그램 코드를 포함한다. 개시되는 시스템은 저장 매체가 풀 상태일 때, 또는 예를 들어, 저장 임계치와 같은, 다른 기준이 충족되었을 때, 앞서 저장된 데이터 중 어느 것이 삭제되어야 하는지를 또한 결정한다.
여기서 설명되는 실시예의 일 특정 시리즈에서, 비디오 소스 디바이스는 "모자이크 스트림"을 집합적으로 형성하는 것으로 간주될 수 있는 복수의 독립적 해상도 인코딩을 포함하는 데이터 스트림을 제어 서버에 제공한다. 인코딩 중 하나 이상은 카메라의 전체 시야의 명시된 해상도에서 녹화된 가상 스트림일 수 있다. 다른 인코딩 중 하나 이상은 서로 다른 관심 영역의 개별적으로 인코딩된 가상 스트림의 모자이크를 포함할 수 있다. 서로 다른 각각의 관심 영역은 카메라 시야에서 "타일"이라 불릴 수 있는 특정 영역의 가상 스트림일 수 있으며, 따라서, 타일의 모자이크가 전체 시야를 나타내도록 조립될 수 있다. 예를 들어, 인코딩된 비디오의 타일들의 2x2 모자이크에 의해 풀 해상도 인코딩이 제공될 수 있다. 따라서, 비디오 클라이언트가 풀 프레임의 일부분의 확대도를 보고자할 때, 모자이크 타일의 서브세트만이 제공될 수 있고, 이는 요건 대역폭 및 프로세싱을 감소시킨다.
서로 다른 각각의 데이터 스트림이 독립적으로 인코딩되기 때문에, 그리고 독립적으로 디코딩될 수 있기 때문에, 데이터 저장 관리 프로그램은 저장 매체의 서로 다른 스토리지 영역/위치 또는 "티어"에 서로 다른 데이터 스트림을 저장하도록 지시하도록 실행될 수 있다. 일부 실시예에서, 데이터 저장 관리 시스템은 서로 다른 저장 티어에 해상도 인코딩 중 하나의 서로 다른 타일을 저장할 수 있다. 예를 들어, 시스템은 스토리지 영역 또는 티어를 장기 저장 티어로 식별할 수 있고, 이러한 장기 저장 티어에 풀 프레임의 저해상도 인코딩의 가상 스트림을 저장할 수 있다. 시스템은 다른 티어를 단기 저장 티어 전용으로 지정할 수 있고, 풀 해상도 인코딩의 타일의 전부 또는 일부를 단기 저장 티어에 저장할 수 있다. 예시 실시예에서, 도어를 캡처하는, 또는, 움직임을 가진 프레임 내 영역과 같은, 풀 해상도 인코딩의 특히 관련된 타일은, 장기 저장 티어에 저장될 수 있고, 덜 관련된 타일은 단기 저장 티어에 저장될 수 있다.
데이터 저장 관리 프로그램은 규정된 기준에 따라 저장 매체로부터 소정의 비디오 데이터를 선택적으로 제거할 수 있다. 예를 들어, 고해상도 인코딩은 장기 저장 티어 상에 저장된 인코딩이 제거되기 전에 단기 저장 티어로부터 제거될 수 있다. 이러한 데이터 제거 또는 삭제를 위한 규정된 기준은, 예를 들어, 저장 용량 한도를 포함한 적절한 파라미터를 포함할 수 있고, 시간 데이터의 길이가 저장되어 있다.
여기서 개시되는 시스템 및 방법은 독립적으로 디코딩가능한 복수의 가상 스트림을 포함하는 모자이크 스트림의 저장 관리를 위해 이용될 수 있고, 풀 해상도 프레임은 관심 영역의 복수의 가상 스트림으로 구성되고, 카메라의 시야의 분리 영역을 덮는 타일에 의해 각각의 관심 영역이 표현된다. 이러한 실시예에서, 모든 관심 영역은 전체 시야를 나타내도록 그리드 내로 조립될 수 있다.
개시되는 데이터 저장 관리 시스템 및 방법의 일부 형태가 모자이크 스트림의 범주에서 설명되지만, 개시되는 시스템 및 방법을 이용하여 다른 유형의 데이터 스트림을 관리할 수 있다. 예를 들어, 2개의 카메라(또는 다른 유형의 비디오 소스 디바이스) 각각이 코디네이티드 H.264 실시간 트랜스포트 프로토콜(RTP) 스트림을 전송할 수 있고, 이 경우 일 데이터 스트림은 고해상도 스트림이고 다른 데이터 스트림은 저해상도 스트림이다. 이러한 실시예에서, 고해상도 스트림은 단기 저장 티어에 저장될 수 있고, 저해상도 스트림은 장기 저장 티어에 저장될 수 있다. 다른 예에 따르면, 카메라는 프라이머리 비디오 스트림으로 기능하는 하나의 JPEG 스트림을 송신할 수 있다. 이러한 실시예에서, 일 저장 매체 티어는 스트림의 짝수개의 스트림을 저장할 수 있고, 다른 저장 매체 티어는 스트림의 홀수 프레임을 저장할 수 있다. 또 다른 예에서, 하나의 카메라가 하나의 H.264 RTP 스트림을 전송하는 경우에, 일 저장 매체 티어는 스트림의 키 프레임 저장에 이용되고, 다른 저장 매체 티어는 스트림의 P개의 프레임, 또는 예측되는 픽처 프레임들을 저장하는데 사용된다.
예시 인코딩 및 저장 관리 시스템
도 1은 비디오를 인코딩하고 인코딩된 데이터 스트림을 저장하기 위한 예시적 시스템을 도시한다. 예시 실시예에서, 시스템은 비디오의 복수의 해상도 인코딩을 제공할 수 있는 감시 시스템일 수 있다. 시스템(100)은 복수의 비디오 소스 디바이스로부터 비디오를 수신하는 단계와, 수신된 비디오의 저장을 관리하는 단계와, 하나 이상의 클라이언트에 비디오를 스트리밍하는 단계를 포함한, 다양한 기능을 제공하는 제어 서버(102)를 포함한다. 제어 서버(102)는 하나 이상의 물리적 컴퓨터 및/또는 하나 이상의 가상 컴퓨터에 의해 제공될 수 있다. 대안의 일 실시예(도시되지 않음)에서, 제어 서버(102) 기능은 비디오 소스 디바이스(110, 114) 자체 중 하나 이상에 의해 구현될 수 있고, 이는 그 후 직접 복수의 인코딩을 클라이언트에 전송할 수 있다. 제어 서버는 하나 이상의 디지털 또는 아날로그 카메라(112a, 112b, 112c)(집합적으로 카메라(112)로 불림)에 연결될 수 있는 복수의 스트리밍 인코더(114a, 114b)(집합적으로 인코더(114)로 불림) 및 복수의 디지털 카메라(110a, 110b, 110c, 110d)(집합적으로 IP 카메라(110)로 불림)에 연결될 수 있다. IP 카메라(110) 및 인코더(114)는 집합적으로 비디오 소스 디바이스로 불릴 수 있다. 비디오 소스 디바이스는 네트워크(116)를 통해 제어 서버에 비디오를 스트리밍할 수 있다. 네트워크(116)는 임의의 적절한 기술을 포함할 수 있고, 유선 근거리망(LAN), 무선 근거리망(WLAN), 및 광역망(WAN)을 포함한, 하나 이상의 개별 망에 의해 제공될 수 있다.
제어 서버(102)는 가상 스트림 매니저 기능을 제공한다. 예시 실시예에서, "서버-디바이스 가상 스트림 매니저" 또는 "서버-디바이스 VS 매니저"로 불릴 수 있는 가상 스트림 매니저 레지던트는 제어 서버(102)가 녹화 디바이스로부터 수신하는 가상 스트림을 관리한다. 서버-디바이스 VS 매니저(104)는 독립적인 복수의 해상도 인코딩을 스트리밍하기 위해 비디오 소스 디바이스(110, 114)를 구성하기 위한 기능을 제공한다. 서버-디바이스 VS 매니저(104)는 비디오 소스 디바이스(110, 114)로부터 스트림을 수신하는 기능과, 수신된 스트림을 개별 가상 스트림으로 디멀티플렉싱하는 기능을 또한 포함할 수 있다. 디멀티플렉싱된 가상 스트림은 예를 들어, 가상 스트림 중 하나 이상의 제거에 의해서를 포함한, 다양한 방식으로 조합 및 리-멀티플렉싱될 수 있다. 비디오 소스 디바이스(110, 114)로부터 스트림의 개별 가상 스트림은 저장을 위해 저장 관리 기능(108)에 제공될 수 있다.
개별 가상 스트림 중 하나 이상이 추가의 가상 스트림 매니저 기능에 제공될 수 있다. 예를 들어, 여기서 "서버-클라이언트 가상 스트림 매니저" 또는 "서버-클라이언트 VS 매니저"(106)로 불릴 수 있는 가상 스트림 매니저는, 제어 서버(102)가 클라이언트(142)에 전송하는 가상 스트림을 관리한다. 개별 가상 스트림은 저장 관리 기능(108)으로부터 또는 서버-디바이스 VS 매니저(104)로부터 서버-클라이언트 VS 매니저(106)에 제공될 수 있다. 서버-클라이언트 VS 매니저(106)는 네트워크(144)를 통해 모니터링 클라이언트에 하나 이상의 가상 스트림을 스트리밍한다.
각각의 비디오 소스 디바이스(110, 114)는 각자의 비디오 소스 디바이스(110, 114)의 기능, 다른 구성요소들의 기능, 가령, 네트워크(116) 대역폭, 네트워크(144) 대역폭, 가용 저장 공간, 및 감시 시스템의 요건에 따라 다양한 가상 스트림 인코딩을 제공하도록 구성될 수 있다. 비디오 소스 디바이스(110, 114)는 단일 해상도 인코딩 또는 복수의 개별 해상도 인코딩을 제공할 수 있다. 더욱이, 각각의 해상도 인코딩은 다수의 가상 스트림에 의해 제공될 수 있다. 스트림(118)은 IP 카메라(110)로부터 네트워크(116)를 통해 제어 서버(102)로 스트리밍되는 것으로 도 1에 도시된다.
도시되는 바와 같이, 스트림(118)은 다수의 개별 해상도 인코딩(120, 122, 124)을 포함한다. 개별 해상도 인코딩(120, 122, 124)은 소스 비디오의 동일 부분을 인코딩하는 것으로 묘사되며, 이는 카메라(110a)의 센서의 관심 영역의 실질적으로 전부인 것으로 간주된다. 개별 해상도 인코딩(120, 122, 124) 각각은 각자의 압축 알고리즘을 이용하여 소스 비디오를 인코딩하고, 해상도, 프레임 레이트, 및/또는 비디오 품질을 감소시킬 수 있다. 예를 들어, 해상도 인코딩(120)은 소스의 풀 해상도로 인코딩될 수 있고, 해상도 인코딩(122)은 소스 해상도의 절반으로 인코딩될 수 있으며, 해상도 인코딩(124)은 소스 해상도의 1/4로 인코딩될 수 있다.
개별 해상동 인코딩(120, 122, 124) 각각은 스트림(118) 내의 하나 이상의 가상 스트림(126, 128, 130)에 의해 제공될 수 있다. 각각의 가상 스트림(126, 128, 130)은 각자의 해상도 인코딩(120, 122, 124)의 압축 레벨로 인코딩된 비디오 소스의 적어도 일부분을 포함한다. 도시되는 바와 같이, 풀 해상도 인코딩(120)은 가상 스트림의 3x4 타일링에 의해 제공된다. 12개의 가상 스트림(126) 각각은 동일 압축 기술로 인코딩되고, 12개의 가상 스트림이 조합될 때, 소스 비디오의 풀 해상도를 제공한다. 해상도 인코딩(122)은 단일 가상 스트림에 의해 제공되는 것으로 도시된다. 따라서, 가상 스트림(128)은 비디오 소스의 1/2의 해상도를 가질 수 있다. 마찬가지로, 가상 스트림(130)은 비디오 소스의 1/4의 해상도를 가질 수 있다. 큰 면적의 타일링을 제공하는 것으로 설명되지만, 가상 스트림은 타일을 형성할 필요가 없고, 차라리, 각각의 가상 스트림이 특정 관심 영역을 인코딩할 수 있고, 이는 풀 소스 비디오를, 또는 그 일부분을 포함할 수 있다. 다양한 가상 스트림이 동일 관심 영역과 겹쳐질 수 있고, 또는 소스 비디오의 겹쳐지지 않는 부분을 인코딩할 수 있다.
서버-디바이스 VS 매니저(104)는 비디오 소스 디바이스(110, 114)로부터 스트림(118)과 같은 스트림을 수신할 수 있다. 서버-디바이스 VS 매니저(104)는 수신한 스트림(118)으로부터 개별 해상도 인코딩(120, 122, 124)의 가상 스트림을 디멀티플렉싱할 수 있고, 디멀티플렉싱된 가상 스트림은 저장 및 저장 관리를 위해 저장 관리 기능(108)에 전달될 수 있다. 추가적으로, 가상 스트림 중 하나 이상이 클라이언트로의 스트리밍을 위해 서버-클라이언트 VS 매니저(106)에 전달될 수 있다.
저장 관리 기능(108)은 제어 서버(102) 내 프로세서에 의해 실행가능한, 그리고, 도 10-12와 연계하여 포함되는 여기서 설명되는 데이터 저장 매체(132)에서 해상도 인코딩의 저장을 관리하도록 적응되는, 데이터 관리 프로그램을 포함한다. 데이터 관리 프로그램은 데이터 저장 매체(132)에 각각의 또는 선택된 개수의 해상도 인코딩(134)을 전달할 수 있다. 데이터 관리 프로그램은 데이터 저장 매체(132) 내 저장 섹션 또는 티어로 불릴 수 있는 서로 다른 스토리지 영역에 서로 다른 비디오 데이터를 저장함으로써 저장된 데이터를 조직화한다. 예시 실시예에서, 저장 티어는 단기 저장 티어(136), 중기 저장 티어(138), 및 장기 저장 티어(140)를 포함할 수 있다. 단기 저장 티어(136)는 각각의 해상도 인코딩을 저장하는데 사용될 수 있다. 데이터 관리 프로그램은 한 세트의 기준에 기초하여 각각의 저장 티어로부터 비디오를 삭제하도록 적응된다. 데이터 저장 매체(132)는 제어 서버(102)와 동일한 컴퓨팅 시스템에 포함될 수 있다. 추가적으로 또는 대안으로서, 데이터 스토어(132)는 별도의 컴퓨팅 디바이스(도시되지 않음)에 의해 제공될 수 있다. 더욱이, 제어 서버(102)에 직접 연결되는 것으로 도시되지만, 데이터 스토어(132)가 네트워크에 의해 제어 서버(102)에 연결될 수 있음이 고려된다. 데이터 저장 매체(132)는 하나 이상의 로컬 하드 드라이브와 같은, 지속적 데이터 저장을 위한 하나 이상의 비휘발성 컴퓨터 판독가능 매체를 포함할 수 있다. 대안으로서, 지속적 스토리지는 클라우드 스토리지 또는 네트워크 스토리지 내 원격 하드 드라이브일 수 있다.
앞서 설명한 바와 같이, 서버-클라이언트 VS 매니저(106)는 네트워크(144)를 통해 모니터링 클라이언트(142)에 스트리밍하기 위한 저장 관리 기능(108), 또는, 서버-디바이스 VS 매니저(104)로부터 해상도 인코딩을 수신할 수 있다. 해상도 인코딩은 서로 다른 비디오 소스 디바이스로부터 얻을 수 있다. 도시되는 바와 같이, 각각의 해상도 인코딩(146a, 146b, 146c, 146d)이 개별적으로 스트리밍될 수 있고, 또는, 해상도 인코딩 중 하나 이상이 단일 스트림으로 함께 조합될 수 있다. 도 1에 도시되는 예시 시나리오에서, 서로 다른 비디오 소스 디바이스로부터 저해상도 인코딩에 대응하는 다수의 가상 스트림(148a, 148b, 148c, 148d)이 모니터링 디바이스(142)에 스트리밍된다. 모니터링 디바이스(142)는 가상 스트림(148a, 148b, 148c, 148d)을 수신 및 디코딩할 수 있고, 디코딩된 비디오(150)를 디스플레이할 수 있다.
복수 해상도 인코딩 스트리밍
도 2는 비디오의 서로 다른 해상도 인코딩을 디스플레이하는 모니터를 도시한다. 도 2는 서로 다른 3개의 모습(200, 212, 218)을 도시한다. 예시 실시예에서, 모니터링 클라이언트는 최초에, 4개의 가상 스트림의 최저 해상도 인코딩(202, 204, 206, 208)을 포함하는, 모습(200)을 디스플레이할 수 있다. 예를 들어, 서로 다른 4개의 카메라로부터의 가상 스트림이 동시에 디스플레이될 수 있다. 저해상도 인코딩 중 하나(202)가 예를 들어, 마우스 또는 다른 포인터(210)로 그 위를 클릭함으로써 줌 인 기능을 켜도록 선택될 수 있다. 해상도 인코딩(202)이 전체 화면으로 디스플레이될 때, 인코딩 품질은 요망되는 값보다 낮을 수 있다. 따라서, 선택된 카메라 시야로부터 중간 해상도 인코딩(214)이 모습(212)에 도시되는 바와 같이 스트리밍 및 디스플레이될 수 있다. 사용자는 디스플레이되는 해상도 인코딩(214)의 일부분(216)을 보기 위해 추가로 줌 인을 원할 수 있다. 다시, 해상도 인코딩(214)의 품질은, 요망 이미지 품질 제공을 위해 줌-인할 때 해상도 인코딩(214)의 품질이 충분하지 못할 수 있다. 따라서, 풀 해상도 인코딩은 모습(218)에 도시되는 바와 같이, 줌 인 부분(220)의 디스플레이에 사용될 수 있다. 앞서 설명한 바와 같이, 풀 해상도 인코딩은 다수의 가상 스트림을 포함할 수 있다. 따라서, 선택된 줌 인 영역을 덮는 풀 해상도 인코딩의 가상 스트림만이 모니터링 클라이언트로 스트리밍될 필요가 있다. 예를 들어, 풀 해상도가 4x3 그리드의 가상 스트림으로 제공될 경우, 상측 로우와, 제 3 및 제 4 칼럼 내의 가상 스트림들이 요망 영역을 덮을 수 있다.
복수의 카메라로부터의 비디오가 디스플레이되고 있는지 여부에 관계없이 모니터링 위치에 비디오를 스트리밍할 때, 또는, 단일 카메라의 작은 부분만이 디스플레이를 위해 줌-인 될 경우, 복수의 가상 스트림을 제공함으로써 효율적 대역폭 이용이 가능해진다.
도 3은 비디오 소스 디바이스(316) 및 기능과, 제어 서버(102) 및 복수의 해상도 인코딩을 스트리밍할 수 있는 기능을 도시한다. 도시되는 바와 같이, 제어 서버(302)는 명령어 처리를 위한 중앙 프로세싱 유닛(304)을 포함한다. 대응하는 명령어가 메모리(306)에 저장될 수 있다. 제어 서버(302)는 데이터 및 명령어의 지속적 저장을 위한 비휘발성 스토리지(308)를 더 포함할 수 있다. 제어 서버(302)는 하나 이상의 입/출력(I/O) 인터페이스(310)를 더 포함할 수 있다. I/O 인터페이스는 입력 및/또는 출력 구성요소를 제어 서버에 연결할 수 있다. 예를 들어, 네트워크 인터페이스 카드(NIC)는 통신망에 제어 서버(302)를 연결하기 위해 제어 서버(302)에 연결될 수 있다. CPU(304)는 메모리에 저장된 명령어를 실행할 수 있다. (312)로 도시되는 명령어는 실행될 때, 여기서 설명되는 다른 기능과 함께, 서버-디바이스 VS 매니저(314)를 제공하도록 제어 서버(302)를 구성할 수 있다.
예를 들어, 카메라 디바이스 또는 시스템일 수 있는, 비디오 소스 디바이스(316)는, 명령어 처리를 위한 중앙 프로세싱 유닛(318)을 포함한다. 명령어는 메모리(320)에 저장될 수 있다. 비디오 소스 디바이스(316)는 데이터 및 명령어의 지속적 저장을 위한 비휘발성 스토리지(322)를 더 포함할 수 있다. 비디오 소스 디바이스(316)는 하나 이상의 입/출력(I/O) 인터페이스(324)를 더 포함할 수 있다. I/O 인터페이스는 입력 및/또는 출력 구성요소를 비디오 캡처 장치에 연결할 수 있다. 예를 들어, 네트워크 인터페이스 카드(NIC)는 통신망에 비디오 소스 디바이스(316)를 연결하기 위해 입/출력 인터페이스(324)에 연결될 수 있다. 더욱이, 비디오 소스 디바이스(316)가 카메라인 경우, IP 또는 아날로그 여부에 관계없이, I/O 인터페이스는 이미지 데이터 캡처를 위해 CPU에 센서를 또한 연결할 수 있다. CPU(318)는 메모리에 저장된 명령어를 실행할 수 있다. (326)으로 도시되는, 명령어는 실행될 때, 디바이스 가상 스트림(VS) 매니저(328) 및 인코더 기능(330)을 제공하도록 비디오 소스 디바이스(316)를 구성할 수 있다.
제어 서버(302)의 서버-디바이스 가상 스트림(VS) 매니저(314)와, 비디오 소스 디바이스(316)의 디바이스 VS 매니저(328)는, 예를 들어, 카메라를 요건으로 또는 희망에 따라 포함할 수 있는 비디오 소스 디바이스(316)를 구성(332)하기 위해 협조한다. 인코더 기능(330)은 다수의 로우 및 칼럼의 개별-인코딩된 타일을 포함할 수 있는, 비디오 및 명시된 설정을 각각 인코딩할 수 있는, 복수의 인코딩 구성요소를 제공하기 위해 구성될 수 있다. 인코딩 구성요소에 의해 제공되는 인코딩은 데이터 스트림(334)에 의해 도시되는 바와 같이 제어 서버(302)에 스트리밍될 수 있다.
여기서의 도면 및 설명이 비디오 소스 디바이스(316) 및 서버(102)를 별도로 언급하고 있으나, 일부 실시예에서, 두 설명되는 시스템들로부터의 기능이 단일 시스템 내에 존재할 수 있다. 예를 들어, 비디오 소스 디바이스(316)는 카메라 및 이미지 수집에 관한 여기서 설명되는 모든 기능과, 제어 서버(102)에 관해 여기서 설명되는 기능을 제공하는 카메라 시스템일 수 있다. 이러한 실시예에서, 카메라 시스템은 다른 카메라 시스템을 제어 및 이와 통신하는 능력을 가진 서버로 작동할 수 있다.
도 4는 복수의 해상도 인코딩을 스트리밍할 수 있는 비디오 소스 디바이스 기능 및 제어 서버 기능을 더 묘사한다. 이 기능은 예를 들어, 메모리에 저장된 명령어에 의해 앞서 설명된 제어 서버(302) 내에 제공될 수 있다. 제어 서버의 CPU에 의해 실행될 때, 명령어는 네트워크 계층 프로토콜 기능(402), 애플리케이션 계층 프로토콜 기능(404), 및 컨피규레이션 기능(408)을 제공할 수 있다. 다른 기능이 제어 서버 내에서 제공될 수 있다.
마찬가지로, 비디오 소스 디바이스 기능은 프로세서에 의해 명령어를 실행함으로써 앞서 설명된 비디오 소스 디바이스(316)와 같은 비디오 소스 디바이스에 제공될 수 있다. 비디오 소스 디바이스 기능은 네트워크 계층 프로토콜 기능(410), 인코더 기능(412), 및 애플리케이션 계층 프로토콜 기능(414)을 포함할 수 있다. 비디오 소스 디바이스는 도 4에 도시되지 않은 추가 기능을 제공할 수 있다.
제어 서버(102) 및 비디오 소스 디바이스(316)의 네트워크 계층 프로토콜 기능(402, 410)은, 요망 방식으로 비디오 소스 디바이스를 구성하기 위해 협조한다. 네트워크 계층 프로토콜 기능은 비디오 디바이스를 위한 표준화된 네트워크 인터페이스를 제공하고, 순응형 디바이스의 발견, 구성(configuration), 관리 및 제어를 실행한다. 네트워크 계층 프로토콜 기능은 비디오 소스 디바이스(316) 및 그 기능을 발견할 뿐 아니라 디바이스를 구성할 수 있는, 비디오 소스 디바이스(316)와 제어 서버(102) 간의 공통 인터페이스를 제공한다. 아래 더 설명되는 바와 같이, 네트워크 계층 프로토콜 기능은 앞서 설명한 바와 같이, 타일화된 인코딩을 포함한, 복수의 독립적 해상도 인코딩을 스트리밍하도록 디바이스를 설정하기 위해, 인코더 기능(416)을 구성하는데 사용될 수 있다. 요망되는 대로 구성되면, 비디오 소스 디바이스는 구성된 해상도 인코딩의 데이터 스트림을 제공하기 위해, 구성된 인코더 기능을 이용하여 소스 비디오를 인코딩할 수 있다. 인코더로부터의 데이터 스트림은, 데이터 스트림(418)의 실시간 제어 및 전송을 제공하는 애플리케이션 계층 프로토콜 기능(404/414)을 이용하여 비디오 소스 디바이스로부터 제어 서버로 전송될 수 있다.
데이터 스트림이 제어 서버(102)에서 수신되면, 동일 해상도 인코딩에 속한 가상 스트림들을 함께 그룹화하기 위해 처리될 수 있다. 앞서 설명한 바와 같이, 단일 해상도 인코딩은 하나 이상의 독립적으로 인코딩된 타일들로 구성될 수 있다. 해상도 인코딩은 그 후, 요망되는 바 대로, 예를 들어, 저장을 위해 또는 모니터링 클라이언트에 스트리밍을 위해, 추가로 처리될 수 있다.
제어 서버는 구성 기능(408)을 또한 포함할 수 있다. 구성 기능(408)은 사용자로 하여금 감시 시스템의 구성요소들의 구성 파라미터를 설정, 관찰, 및/또는 수정할 수 있게 한다. 예를 들어, 구성 기능은 비디오 소스 디바이스를 위한 요망 인코더 구성을 가능하게 할 수 있다.
도 5에 도시되는 비디오 스트림(118) 부분은 네트워크(116)를 통해 제어 서버(102)에 전송하기 전에 비디오 소스 디바이스에 의해 준비되는 제 1 및 제 2 컨테이너 프레임(506a-c)(집합적으로 "컨테이너 프레임(506)")을 포함한다. 컨테이너 프레임(506a-c) 각각은 각자 해당 컨테이너 프레임(506a-c)의 모든 가상 프레임(508)에 공통인 시간 스탬프(510a-c)를 각자 포함한다. 각각의 가상 프레임 헤더는 서로로부터 가상 프레임(508) 각각의 경계를 구분하는 프레임 디리미터(frame delimiter)를 포함한다. 예시되는 실시예에서, 프레임 디리미터는 vstream id를 포함한다. 도 5의 컨테이너 프레임(506) 각각은 H.264 인코딩된 비디오에 대해 하나의 가상 프레임(508a,c,e)과, JPEG 인코딩된 비디오에 대해 다른 가상 프레임(508b,d,f)을 포함한다. H.264 및 JPEG 비디오를 각자의 자체 시간스탬프를 이용하여 개별 스트림을 통해 제어 서버에 전송함에 반해, 예시 실시예에서, H.264 및 JPEG 비디오를 컨테이너 프레임(506)에 배치하여 그 후 컨테이너 프레임(506)을 전송하는 것은, 제어 서버(102)에 H.264 및 JPEG 비디오를 본질적으로 시간 분할 멀티플렉싱한다.
일 그룹의 가상 프레임(508)을 단일 소스 프레임 시간 스탬프와 상관시킴으로써, 가상 프레임(508)들 간의 동기화가 촉진되고, 결과적으로, 클라이언트(142) 상에서 디스플레이되는 서로 다른 가상 스트림으로부터의 비디오 간의 동기화가 촉진된다. 동기화된 가상 스트림은 대기시간 감소를 또한 유도한다. 서버-디바이스 VS 매니저(314)가 스트림(118)을 수신할 때, 각 프레임(506)의 시간 스탬프(510)에 기초하여 컨테이너 프레임(506) 각각을 디멀티플렉싱하는 것이 가능하고, 이어서, 컨테이너 프레임(506) 내 그외 다른 가상 프레임(508)으로부터 가상 프레임(504) 각각과, 컨테이너 프레임(506)을 서로로부터 디멀티플렉싱하는 것이 가능하다. 제어 서버(302)는 가령, 데이터 스토어(132)에 컨테이너 프레임(506)을 저장함으로써, 컨테이너 프레임(506) 및 가상 프레임(504) 중 하나 이상을 요망되는 대로 후속 처리할 수 있다.
도 6은 복수의 해상도 인코딩을 제공하는 개별 가상 스트림을 설명하는 비디오 소스 디바이스로부터의 응답을 도시한다. 응답(600)은 디스크립션 정보 또는 디스크립션 파일로 불릴 수 있는 것으로서, 비디오 소스 디바이스로부터 제공될 스트림을 설명한다. 응답(600)은 비디오 스트림 내 각각의 가상 스트림을 설명한다. 비디오 스트림은 다수의 개별 가상 스트림(610a, 610b, 610c, 612, 614)을 가질 수 있다. 각각의 가상 스트림의 인코딩 파라미터는 응답(600)에서 제공된다. 예를 들어, 각각의 가상 스트림은 가상 스트림의 고유 식별자(602), 가상 스트림에 의해 인코딩되는 비디오 소스의 관심 영역(604), 인코딩된 가상 스트림의 결과적 해상도(606), 및 인코딩된 가상 스트림의 품질 표시(608)를 포함할 수 있다. 도식적으로 묘사한 바와 같이, 가상 스트림은 동일한 인코더 설정으로 서로 다른 관심 영역을 인코딩할 수 있다. 예를 들어, 가상 스트림(610a, 610b, 610c)은 동일한 인코더 설정에서 소스 비디오의 서로 다른 관심 영역을 인코딩할 수 있다. 더욱이, 가상 스트림은 서로 다른 파라미터 설정으로 동일 관심 영역을 인코딩할 수 있다. 예를 들어, 가상 스트림(612, 614)은 동일 관심 영역을 인코딩하지만, 서로 다른 해상도로 나타날 수 있다. 스트림의 디스크립션(600)은 다양한 포맷으로 제공될 수 있고, 제어 서버와 같이, 스트림을 수신하는 구성요소가 구성요소 가상 스트림을 적절히 디멀티플렉싱 및 식별할 수 있도록 하기 위해, 충분한 정보를 제공한다.
도 7은 서로 다른 해상도에서 타일의 인코딩을 도시한다. 가상 스트림은 비디오 소스의 특정 영역을 특정 크기로 인코딩할 수 있다. 예를 들어, 소스 비디오는 4944x3280의 영역(702)을 가질 수 있다. 제 1 가상 스트림은 1232x1080의 치수를 가진, 소스 비디오의 좌상에 해당하는 x=0, y=0에 위치하는, 전체 영역의 일부분(704)을 인코딩할 수 있다. 제 1 가상 스트림은 영역(704)의 풀 해상도 인코딩을 제공할 수 있고, 이는 1232x1080의 치수를 가진 제 1 가상 스트림 인코딩(706)으로 나타날 것이다. 제 2 가상 스트림은 동일 영역(704)을 인코딩할 수 있으나, 인코딩이 소스 해상도의 1/4을 제공하기 위해 해상도를 다운샘플링할 수 있다. 이와 같이, 제 2 가상 스트림(708)은, 동일 소스 비디오 영역(704)을 인코딩하는 것으로서, 308x270의 치수를 가질 것이다.
도 8은 비디오 소스 디바이스(316)로부터 제어 서버(302)로 데이터의 스트리밍 방법(800)을 도시한다. 블록(802)에서, 비디오 소스 디바이스의 인코딩 구성요소가 구성된다. 구성 작동은 예를 들어, 인코더(114)를 포함할 수 있는 하나 이상의 비디오 소스 디바이스(316)에 제어 서버(302)로부터의 하나 이상의 구성 명령을 송신하는 단계를 포함할 수 있다. 비디오 소스 디바이스(316)의 인코딩 구성요소는 비디오 소스 디바이스(316)로부터 전송되는 스트림 내의 다수의 가상 스트림을 제공하기 위해 구성된다. 인코딩 구성요소는 소스 비디오의 적어도 일부분의 독립적 해상도 인코딩을 제공하기 위해 구성될 수 있다. 독립 해상도 인코딩 중 적어도 하나는 복수의 가상 스트림에 의해 제공되며, 각각의 가상 스트림은 해상도 인코딩의 모자이크의 타일을 포함한다. 비디오 소스 디바이스(316)에 포함되는 인코딩 구성요소는 각각의 가상 스트림을 제공하도록 구성될 수 있다.
스트림의 인코딩 구성요소가 구성되면, 블록(804)에서, 도 6과 연계하여 앞서 설명한 것과 같은 스트림의 설명이 비디오 소스 디바이스(316)로부터 제어 서버(302)로 전송된다. 예시 실시예에서, 스트림 디스크립션은 제어 서버(302)에 의해 전송되는 디스크립션 요청에 의해 비디오 소스 디바이스(316)에 의해 제어 서버(320)에 제공될 수 있다. 수신되는 디스크립션은 비디오 소스 디바이스가 제공하도록 구성된 복수의 개별 스트림을 설명한다. 각각의 요망 해상도 인코딩은 디스크립션에 설명된 하나 이상의 가상 스트림에 의해 제공될 수 있다. 각각의 가상 스트림의 디스크립션은 가상 스트림의 식별자, 가상 스트림의 인코딩 정보, 그리고, 가상 스트림에 의해 인코딩된 소스 비디오의 영역 표시를 포함할 수 있다.
블록(806)에서, 데이터 스트림 자체가 비디오 소스 디바이스(316)로부터 전송되어 제어 서버(302)에서 수신된다. 블록(808)에서, 제어 서버(302)는 각각의 가상 스트림을 각자의 해상도 인코딩과 상관시킨다. 가상 스트림 중 어느 것이 각자의 해상도 인코딩과 상관되었는지를 식별하는 것은 스트림 디스크립션의 정보를 이용하여 이루어질 수 있다. 추가적으로, 복수의 가상 스트림이 소스 비디오의 동일 영역을 인코딩할 경우, 가상 스트림과 상관된 해상도 인코딩을 결정하기 위해 가상 스트림 내에 인코딩된 추가 정보를 이용하는 것이 필요할 수 있다. 각자의 해상도 인코딩이 각각의 가상 스트림과 상관되면, 동일 해상도 인코딩의 가상 스트림이 추가로 처리될 수 있다. 예를 들어, 블록(810)에서, 각각의 해상도 인코딩의 가상 스트림이 저장을 위해 제공될 수 있다. 가상 스트림 및 스트림 디스크립션(509)은 서로와 관련하여 저장될 수 있다. 추가적으로 또는 대안으로서, 블록(812)에서, 해상도 인코딩의 가상 스트림 중 하나 이상은 하나 이상의 모니터링 클라이언트로 스트리밍될 수 있다. 위 설명에서 다수의 가상 스트림이 개별 가상 스트림이 저장 및/또는 클라이언트에 전송되기 전에 처리되는 것을 암시하지만, 각각의 가상 스트림은 독립적으로 디코딩가능하고, 즉시 저장되거나 및/또는 클라이언트에 전송될 수 있다.
데이터 스트리밍의 데이터 저장 관리
도 1과 연계하여 앞서 언급한 바와 같이, 저장 관리 기능(108)은 제어 서버(102) 내에서 프로세서에 의해 실행가능한 데이터 저장 관리 프로그램을 포함한다. 데이터 저장 관리 프로그램은 데이터 저장 매체(132)의 서로 다른 영역, 섹션, 또는 티어에, 예를 들어, 비디오, 오디오, 및 메타데이터를 포함할 수 있는 데이터 스트림(118)의 저장을 관리한다. 도 9는 데이터 스트림(118)이 저장될 시기, 그리고 데이터 스트림 내 소정의 데이터가 데이터 저장 매체(132) 상에서 저장될 위치를 결정하기 위해 데이터 관리 저장 프로그램에 의해 수행되는 방법을 묘사한다. 도 9를 참조하면, 제어 서버(102) 내 프로세서(901)가 트리거 소스 이벤트(902)의 발생이 검출될 때마다 디바이스로부터 데이터 스트림(118)를 녹화시키는 일련의 트리거 녹화 이벤트(902)들 중 임의의 이벤트를 검출하는 단계를 포함하는 방법을 수행하도록 데이터 저장 관리 프로그램을 실행한다. 트리거링 이벤트는 스트리밍되는 데이터를 녹화하기에 적합한 임의의 정보일 수 있다. 예를 들어, 트리거 레코드 이벤트(902)는 다음을 포함할 수 있다:
1. 편성된 레코딩(904): 비디오 소스 디바이스로부터 데이터 스트림(118)의 녹화는 사용자-규정 스케줄에 기초하여 트리거링된다. 스케줄은 각각의 비디오 소스 디바이스에 대해 규정될 수 있다.
2. 분석 엔진(906): 비디오 소스 디바이스의 시야에 소정의 분석적 기준이 검출될 때 녹화가 트리거링된다. 검출가능한 분석적 기준의 한 예는 시야 내 모션이다. 추가의 예에서, 분석적 기준이 충족되었음을 검출하는 것은, 이벤트가 발생하였는지 여부를 비디오 스트림과 연관된 메타데이터의 분석에 의해 결정하는 단계를 포함할 수 있다. 예를 들어, 비디오 스트림과 연관된 메타 데이터는 비디오 스트림의 코스 중 특정 시간에 발생된 다양한 이벤트를 표시할 수 있다. 일례의 시나리오에서, 메타 데이터는 비디오 중 특정 시간에 모션의 발생, 또는 얼굴 또는 물체의 인지를 표시할 수 있다. 일례의 실시예에서, 비디오 스트림은 앞서 분석된 바 있을 수 있고, 분석 결과가 비디오 스트림과 연관된 메타 데이터에 저장되었을 수 있다. 일례의 시나리오에서, 비디오 스트림은 메타 데이터에 저장된 해당 분석 결과와, 사람 또는 대상의 존재 또는 모션과 같은 다양한 이벤트에 대해, 녹화 디바이스, 가령, 카메라에서 분석되었을 수 있다.
3. 수동 녹화(908): 녹화가 사용자에 의해 수동으로 트리거링된다. 예를 들어, 녹화는 비디오 소스 디바이스로부터 라이브 비디오 스트림을 보면서 클라이언트 상에서 사용자 인터페이스 디바이스를 통해 사람 조작자에 의해 트리거링될 수 있다.
4. 규정 엔진(910): 녹화는 하나 이상의 사용자-지정 규정이 만족될 때 트리거링된다. 규정 입력은 시스템 내 임의의 이벤트 소스, 가령, 예를 들어, 팬-틸트-줌(PTZ) 명령의 검출, 녹화된 스트림 내 이벤트 검출, 가령 예를 들어, 특정 라이센스판(license plate) 또는 사람 얼굴의 존재, 또는, 디지털 감시 시스템의 다른 부분으로부터 수신되는 그외 다른 명시된 디지털 입력 검출일 수 있다.
예시 실시예에서, 데이터 저장 관리 프로그램은 녹화전 및 녹화후 버퍼 구성을 결정하는 리거 당 최소 녹화 시간을 이용할 수 있다. 다시 말해서, 시스템이 자동화 트리거링 이벤트를 이용하는 경우에, 시스템은 트리거링 이벤트 전 기지정 주기 동안 그리고 트리거링 이벤트 후 기지정 주기 동안 관련 비디오 스트림을 저장할 수 있다. 예를 들어, 5초의 디폴트 값이 녹화 버퍼로 사용될 수 있다. 버퍼 크기는 임의의 적절한 길이일 수 있고, 사용자에 의해 맞춤화될 수 있다.
"빈"(bins)이라 불릴 수 있는 데이터 저장 매체(132) 내 별도의 저장 공간 또는 영역(912)이 각각의 비디오 소스 디바이스에 할당될 수 있다. 예시 실시예에서, 각각의 빈(912)은 티어(914)로 나누어질 수 있고, 각각의 스토리지 영역 또는 티어는 서로 다른 카테고리의 데이터와 연계된다. 도 9의 예시 실시예에서, 저장 매체(132)는 2개의 빈(912)(빈 A 및 빈 B)으로 나누어지는 것으로 도시되고(2개의 비디오 저장 디바이스 A, B 각각에 대해 하나씩), 각각의 빈(914)은 2개의 티어(914)(티어 0, 티어 1)으로 나누어진다. 일 티어(914)는 장기 저장으로 지정될 수 있고(가령, 티어 1), 다른 티어(914)는 단지 저장으로 지정될 수 있다(가령, 티어 0).
데이터 저장 관리 프로그램은 데이터 스트림(118) 내 데이터의 각각의 세그먼트가 저장 매체(132) 내 저장되어야할 위치를 결정하기 위한 규정 엔진을 또한 포함한다. 특히, 규정 엔진은 여러 스토리지 영역 중 특정 비디오 세그먼트가 저장되어야할 영역을 결정할 수 있다. 예시 실시예에서, 규정 엔진은 규정 엔진을 위한 입력으로 데이터 스트림(118)의 일부분인 메타데이터를 이용할 수 있다. 일례의 시나리오에서, 메타데이터는 데이터 스트림(118) 내 각각의 비디오 프레임에 대한 해상도 및 시간 스탬프를 포함할 수 있다. 이러한 시나리오에서, 규정 엔진은 최소 해상도를 가진 가상 스트림을 포함하는 데이터 세그먼트를 장기 저장 티어(914)와 연관시키는 규정을 포함할 수 있다. 다른 메타데이터는 풀 해상도 프레임 내 가상 스트림 타일의 위치를 포함할 수 있다. 규정 엔진은 이 메타데이터를 이용하여, 프레임의 특정 부분(가령, 중앙)에 위치한 가상 스트림을, 장기 저장 티어(914)와 상관시킬 수 있다. 다른 메타데이터는 가상 스트림이 내부에 녹화된 모션을 갖고 있는지 여부를 표시할 수 있다. 규정 엔진은 이 메타데이터를 이용하여 모션을 지닌 가상 스트림을 장기 저장 티어(914)와 상관시킬 수 있다. 또 다른 예의 시나리오에서, 메타데이터는 가상 스트림이 모션 마스크에 의해 커버되는지 여부를 표시할 수 있다. 규정 엔진은 이 정보를 이용하여 대응하는 가상 스트림을 장기 저장 티어(914)와 상관시킬 수 있다.
도 10은 데이터 스트림(118)이 레코딩되었는지 여부를 결정하기 위해, 그리고 만약 그러할 경우, 데이터 스트림 내 데이터 세그먼트를, 저장 매체(132) 내 대응하는 스토리지 영역 또는 티어(914)와 상관시키기 위해, 데이터 관리 프로그램에 의해 수행되는 방법(900)을 묘사한다. 제어 서버(302)에서 프로세서에 의해 실행될 때, 데이터 관리 프로그램은 블록(902)에서, 앞서 설명한 바와 같은 트리거 이벤트용 입력을 모니터링한다. 블록(922)에서, 트리거 이벤트(902)가 발생하였음을 입력이 표시함을 데이터 관리 프로그램이 결정할 때, 프로그램은, 블록(924)에서, 데이터 스트림(118)을 분석하고, 규정 엔진에서 데이터 스트림에 메타데이터를 입력하여, 데이터 스트림(118) 내 데이터 세그먼트를 특정 스토리지 영역 또는 티어(914)와 상관시킨다. 데이터 세그먼트가 특정 스토리지 영역과 상관되면, 블록(926)에서, 데이터 세그먼트가, 상관된 저장 티어(914)에 저장된다.
도 11은 일례의 데이터 스트림과 연관된 프로세싱을 도시한다. 도 11의 예시 시나리오에서, 데이터 스트림(118)은 3개의 독립 해상도 인코딩을 포함하는 모자이크 스트림을 포함한다. 특히, 도 11에 도시되는 예에서, 데이터 스트림은 풀 해상도 인코딩 "A", 중간 해상도 인코딩 "B", 및 저해상도 인코딩 "C"를 포함한다. 풀 해상도 인코딩 A는 3x4 그리드에 12개의 가상 스트림(타일)을 포함하고, 각각의 x일은 풀 해상도 프레임의 130만 화소(1.3MP) 부분을 나타낸다. 스트림 B 및 C 각각은 2백만 화소 및 쿼터 비디오 그래픽 어레이(QVGA) 해상도로 각각 녹화된 풀 관심 영역(ROI)의 단일 가상 스트림을 포함한다. 트리거 이벤트(902)가 검출되면, 데이터 저장 관리 프로그램은 모자이크 스트림(118)의 메타데이터를 이용하여, 각각의 가상 스트림의 해상도(그리고 풀 해상도 가상 스트림의 경우에, 풀 해상도 프레임 내 해당 가상 스트림의 위치)를 식별할 수 있다. 예시 시나리오에서, 프로그램은 저해상도 가상 스트림 C 및 풀 해상도 스트림 A의 2개의 중앙 타일을, 장기 스토리지 영역 또는 티어(136)와 상관시킨다. 프로그램은 중간 해상도 가상 스트림 B 및 2개의 중앙 타일을 제외한 풀 해상도 가상 스트림 A의 각각의 타일을 단기 저장 티어(140)에서 상관시킨다.
도 11이 2개의 티어(136, 140)가 각각의 비디오 소스 디바이스의 모자이크 스트림(118) 내 가상 스트림과 연관되는 시나리오를 도시하지만, 임의의 개수의 스토리지 영역이 사용될 수 있다. 예를 들어, 3개의 저장 티어(136, 138, 140)가 도 1에 도시되는 바와 같이 지정될 수 있고, 이 경우 중간 해상도 가상 스트림 B가 위 예에서 설명된 단기 저장 티어(138) 대신에 (도 11에 도시되지 않는) 중기 저장 티어(138)와 연관될 수 있다. 모자이크 스트림(118) 내 서로 다른 가상 스트림이 단기, 중기, 및 장기 저장 티어(136, 138, 140)에 저장될 수 있는 대안의 실시예가 제공될 수 있다. 예를 들어, 풀 해상도 가상 스트림이 장기 저장 티어에 저장될 수 있고, 저해상도 가상 스트림이 단기 저장 티어에 저장될 수 있다.
도 12는저장 매체(132)가 풀 상태이거나 일부 다른 명시된 최대 용량 임계치를 만족시킬 때 데이터 저장 매체(132) 내 공간을 비우도록 데이터 저장 관리 프로그램에 의해 수행되는 프로세스(950)를 도시한다. 도 12를 참조하면, 블록(952)에서, 데이터 저장 관리 프로그램은 데이터 저장 매체(132)가 풀 상태이거나 일부 다른 명시된 임계치에 도달하였는지 여부를 결정한다. 그렇지 않을 경우, 프로세싱이 블록(952)에서 계속되어, 데이터 스트림이 앞서 논의된 방식으로 연관된 저장 티어에 저장된다. 그러나, 블록(952)에서 특정 스토리지 영역에 저장된 데이터에 대한 임계치에 도달하였거나 이를 넘어섰다고 데이터 저장 관리 프로그램이 결정하면, 블록(954)에서, 프로그램은 명시된 최대 보유 시간을 넘는 비디오 소스 디바이스들 중 임의의 디바이스로부터의 데이터를 저장 매체(132)로부터 삭제한다. 블록(956)에서, 프로그램은 저장 매체(132)가 풀 상태이거나 일부 다른 명시된 최대 용량 임계치를 만족시키는지 여부를 결정한다. 그렇지 않을 경우, 프로세싱은 블록(952)에서 계속되어, 저장 매체(132) 상의 관련 저장 티어에 데이터 스트림이 저장된다. 블록(956)에서 스토리지 영역 내 데이터가 임계치를 넘어설 경우, 프로세싱은 블록(958)에서 계속되어, 데이터가 삭제된다. 삭제되는 데이터는 예를 들어, 저장 매체(132) 상에서 티어(136, 140) 중 하나 내에서 다음으로 오래된 데이터일 수 있다.
예시 실시예에서, 저장 관리 프로그램은 2개의 티어 사이(또는 2개보다 많은 티어가 명시될 경우 3개 이상의 티어 사이)의 명시된 저장 비율("티어비")을 제공받을 수 있다. 이 비율은 2개 이상의 스토리지 영역 각각에 저장될 데이터의 상대적 크기를 규정한다. 비율을 이용하는 실시예에서, 도 12의 블록(960)에서, 데이터 저장 관리 프로그램은 명시된 비율을 유지하는 방식으로 다른 저장 티어(136, 140)로부터 데이터를 삭제한다. 예를 들어, 최대 보유 시간을 넘긴 데이터를 전부 삭제 후, 저장 임계치를 계속 넘어설 경우, 프로그램은, 예시 시나리오에서, 티어 1에 저장되게 되는 다음으로 오래된 데이터를 삭제할 수 있다. 데이터 삭제로 인해 티어 비가 불균형을 이루는 시나리오에서, 프로그램은 명시된 티어 비가 재구축될 때까지 티어 2에 저장되는 가장 오래된 데이터 중 일부를 삭제한다.
개시되는 실시예의 다른 형태에 따르면, 최대 보유 시간이 장기 및 단기 저장 티어(136, 140) 각각에 대해 명시될 수 있다. 예시 시나리오에서, 장기 저장 티어의 최대 보유 시간은 단기 저장 티어의 경우보다 높을 수 있다. 데이터 저장 관리 프로그램은 각각의 티어의 각자의 최대 보유 시간보다 오래된 임의의 데이터를 삭제하도록 구성될 수 있다. 모든 잔여 데이터가 최대 보유 시간보다 어리고 저장 매체(132)가 풀 상태가 될 경우(또는 일부 다른 최대 용량 임계치를 넘을 경우), 데이터 저장 관리 프로그램은 단기 및 장기 티어 저장 티어(136, 140) 중 하나로부터 가장 오래된 콘텐트를 삭제하도록 구성되고, 티어 비가 재균형을 이룰 때까지 단기 및 장기 저장 티어(136, 140) 중 다른 하나로부터 오래된 데이터를 삭제하도록 구성된다.
따라서, 출원인은 비디오 소스로부터 스트리밍되는 데이터의 저장을 관리하기 위한 시스템 및 방법을 개시하였다. 개시되는 실시예에서, 복수의 인코딩된 비디오 스트림을 포함하는 데이터 스트림이 수신된다. 개시되는 시스템은, 트리거링 이벤트에 응답하여, 별도의 인코딩된 비디오 스트림 각각이 여러 스토리지 영역 또는 티어 중 어디에 저장되어야 할 지를 결정하도록 데이터를 분석한다. 각각의 스토리지 영역은 특정 특성을 가진 데이터를 저장하도록 지정된다. 시스템은 비디오 스트림의 특성에 기초하여 인코딩된 비디오 스트림 각각에 대해 특정 스토리지 영역을 선택한다. 시스템은 지정된 임계치에 도달할 때 스토리지 영역 또는 티어로부터 데이터를 삭제하도록 적응된다. 임계치에 도달할 때, 예를 들어, 가장 긴 시간 길이 동안 저장된 데이터를 포함한, 임의의 적절한 계측을 이용하여 삭제를 위한 데이터가 선택된다.
다른 구성요소들 중에서도, 하드웨어 상에서 실행되는 소프트웨어를 포함한 예시 방법 및 시스템이 위에서 개시되었으나, 이러한 방법 및 시스템은 단지 예시적인 것에 불과하고, 제한적인 것으로 여겨져서는 안된다. 예를 들어, 이러한 하드웨어 및 소프트웨어 구성요소들의 전부 또는 일부가 하드웨어만으로, 소프트웨어 만으로, 펌웨어만으로, 또는, 하드웨어, 소프트웨어, 및/또는 펌웨어의 임의의 조합으로, 구체화될 수 있다. 예를 들어, 네트워크 서버 구성요소는 비디오 소스 디바이스에서만 제공될 수 있다. 이러한 경우에, 클라이언트는 디바이스와 직접적으로 상호작용할 수 있고, 비디오 소스 디바이스는 이러한 방식으로 온보드 스토리지를 관리할 수 있다. 따라서, 다음이 예시 방법 및 장치를 설명하고 있으나, 당 업자는 제공되는 예가 이러한 방법 및 장치의 구현을 위한 유일한 방식이 아님을 쉽게 이해할 것이다. 예를 들어, 방법은 프로세서 및 마이크로프로세서, 애플리케이션 전용 집적 회로(ASIC), 또는 다른 하드웨어 구성요소를 포함한, 컴퓨터 하드웨어의 하나 이상의 조각에 구현될 수 있다.
본 발명은 하나 이상의 실시예와 관련하여 다양한 시스템 및 방법을 설명하였다. 그러나, 본 발명의 가르침으로부터 벗어나지 않으면서 수많은 변화 및 변형이 이루어질 수 있음이 당 업자에게 명백할 것이다. 예를 들어, 여기서의 도면 및 설명은 카메라(118)/비디오 소스 디바이스(316) 및 제어 서버(102)를 별도로 언급하고 있으나, 일부 실시예에서 두 설명된 시스템으로부터의 기능이 단일 시스템 내에 존재할 수 있다. 예를 들어, 비디오 소스 디바이스(316)는 카메라 및 이미지 수집에 관해, 여기서 설명되는 기능, 그리고, 제어 서버(102)에 관해 여기서 설명되는 기능 모두를 제공하는 카메라 시스템일 수 있다. 이러한 실시예에서, 카메라 시스템은 다른 카메라 시스템과 통신 및 제어 기능을 가진 서버로 작동할 수 있다.
본 발명의 구조적 특징부 및/또는 방법론적 작용에 특화된 언어로 설명되었으나, 첨부 청구범위에서 규정되는 대상은 앞서 설명한 특화된 특징부 또는 작용에 꼭 제한되는 것은 아니다. 대신에, 이러한 특화된 특징부 및 작용들은 청구항을 구현하는 에시적 형태로 개시된다.

Claims (34)

  1. 데이터 관리를 위한 컴퓨터-구현 방법으로서, 상기 방법은
    컴퓨팅 시스템이, 적어도 제1 카테고리의 데이터를 저장하기 위한 제1 스토리지 영역 및 제2 카테고리의 데이터를 저장하기 위한 제2 스토리지 영역을 식별하는 단계,
    컴퓨팅 시스템이 데이터 스트림을 수신하는 단계 - 상기 데이터 스트림은 적어도 하나의 상이한 비디오 인코딩 파라미터를 이용해 소스 스트림의 적어도 일부분을 인코딩하는 복수의 해상도 인코딩으로 구성됨 - ,
    상기 컴퓨팅 시스템이, 복수의 해상도 인코딩 하나 이상을 제1 스토리지 영역과 연관시키고 복수의 해상도 인코딩 하나 이상을 제2 스토리지 영역과 연관시키는 단계,
    상기 컴퓨팅 시스템이, 제1 스토리지 영역에 상기 제1 스토리지 영역과 연관된 복수의 해상도 인코딩 하나 이상에 대한 데이터를 저장하고 제2 스토리지 영역에 상기 제2 스토리지 영역과 연관된 복수의 해상도 인코딩 하나 이상에 대한 데이터를 저장하는 단계,
    상기 컴퓨팅 시스템은 제1 스토리지 영역 및 제2 스토리지 영역 중 적어도 하나에 저장된 데이터가 임계치를 초과함을 결정하는 단계, 및
    임계치를 초과하는 데이터를 삭제하는 단계 - 상기 임계치는 제1 스토리지 영역 및 제2 스토리지 영역에 저장될 데이터의 지정 최대 보유 시간(retention time) 또는 지정 양을 기초로 함 - 를 포함하는, 데이터 관리를 위한 컴퓨터-구현 방법.
  2. 제1항에 있어서,
    임계치를 초과하는 데이터를 삭제하는 단계는 하나 이상의 지정 최대 보유 시간의 임계치를 초과하는 연령(age)을 갖는 데이터를 삭제하는 단계를 포함하는, 데이터 관리를 위한 컴퓨터-구현 방법.
  3. 제1항에 있어서,
    제1 스토리지 영역에 저장될 데이터와 제2 스토리지 영역에 저장될 데이터의 상대적 양의 비를 식별하는 단계를 더 포함하며, 임계치를 초과하는 데이터를 삭제하는 단계는 상기 비가 유지되도록 제1 스토리지 영역 및 제2 스토리지 영역 중 하나 또는 둘 모두에서 데이터를 삭제하는 단계를 포함하는, 데이터 관리를 위한 컴퓨터-구현 방법.
  4. 데이터 관리를 위한 시스템으로서, 상기 시스템은
    컴퓨팅 프로세서,
    상기 컴퓨팅 프로세서와 통신 가능하게 연결되며 컴퓨터 실행 명령이 저장된 컴퓨팅 메모리를 포함하며, 상기 명령은 실행될 때 시스템으로 하여금
    복수의 데이터 스트림을 수신하는 단계 - 각각의 데이터 스트림은 적어도 하나의 상이한 비디오 인코딩 파라미터를 이용해 소스 스트림의 적어도 일부분을 인코딩하는 복수의 해상도 인코딩으로 구성됨 - ,
    복수의 데이터 스트림에서 레코딩될 제1 데이터 스트림 및 제2 데이터 스트림을 식별하는 단계,
    제1 데이터 스트림을 제1 스토리지와 연관시키고 제2 데이터 스트림을 제2 스토리지와 연관시키는 단계 - 제1 스토리지와 제2 스토리지는 서로 다른 카테고리의 데이터를 저장하도록 할당됨 - ,
    제1 데이터 스트림으로부터의 데이터를 제1 스토리지에 저장하는 단계, 및
    제2 데이터 스트림으로부터의 데이터를 제2 스토리지에 저장하는 단계
    를 수행하게 하는, 데이터 관리를 위한 시스템.
  5. 제4항에 있어서, 복수의 데이터 스트림에서 레코딩될 제1 데이터 스트림 및 제2 데이터 스트림을 식별하는 단계는 트리거 이벤트(trigger event)를 검출하는 단계를 포함하는, 데이터 관리를 위한 시스템.
  6. 제5항에 있어서, 트리거 이벤트를 검출하는 단계는 데이터 스트림이 레코딩될 것이라고 지시하는 사용자 정의 스케줄을 검출하는 단계를 포함하는, 데이터 관리를 위한 시스템.
  7. 제5항에 있어서, 트리거 이벤트를 검출하는 단계는 분석적 기준(analytic criteria)이 충족되었음을 검출하는 단계를 포함하는, 데이터 관리를 위한 시스템.
  8. 제7항에 있어서, 상기 분석적 기준이 충족되었음을 검출하는 단계는 비디오 스트림의 분석에 의해 이벤트가 발생했음을 결정하는 단계를 포함하는, 데이터 관리를 위한 시스템.
  9. 제8항에 있어서, 비디오 스트림의 분석에 의해 이벤트가 발생했음을 결정하는 단계는 비디오 스트림의 분석에 의해 모션이 시야에서 발생했음을 결정하는 단계를 포함하는, 데이터 관리를 위한 시스템.
  10. 제8항에 있어서, 분석적 기준이 충족되었음을 검출하는 단계는 비디오 스트림과 연관된 메타데이터의 분석에 의해 이벤트가 발생했음을 결정하는 단계를 포함하는, 데이터 관리를 위한 시스템.
  11. 제10항에 있어서, 비디오 스트림과 연관된 메타데이터의 분석에 의해 이벤트가 발생했음을 결정하는 단계는 비디오 스트림의 이전 분석으로부터 메타데이터 레코딩 결과를 검토하는 단계를 포함하는, 데이터 관리를 위한 시스템.
  12. 제5항에 있어서, 트리거 이벤트를 검출하는 단계는 사용자 정의 규칙이 충족됐음을 검출하는 단계를 포함하는, 데이터 관리를 위한 시스템.
  13. 제4항에 있어서, 제1 데이터 스트림을 제1 스토리지와 연관시키고 제2 데이터 스트림을 제2 스토리지와 연관시키는 단계 - 제1 스토리지와 제2 스토리지는 서로 다른 카테고리의 데이터를 저장하도록 할당됨 - 는, 제1 데이터 스트림을 단기 저장을 위해 지정된 제1 스토리지로 할당하고 제2 데이터 스트림을 장기 저장을 위해 지정된 제2 스토리지로 할당하는 단계를 포함하는, 데이터 관리를 위한 시스템.
  14. 제4항에 있어서, 컴퓨팅 메모리는 실행될 때 시스템으로 하여금
    제1 스토리지 및 제2 스토리지 중 적어도 하나와 연관된 임계치가 충족되었음을 결정하는 단계, 및 제1 스토리지 및 제2 스토리지 중 적어도 하나로부터 데이터를 삭제하는 단계를 수행하게 하는 컴퓨터 실행 명령을 저장하는, 데이터 관리를 위한 시스템.
  15. 데이터 관리를 위한 컴퓨터 구현 방법으로서, 상기 방법은
    컴퓨팅 시스템이 데이터 스트림을 수신하는 단계 - 상기 데이터 스트림은 소스 스트림의 제1 인코딩, 소스 스트림의 제2 인코딩, 및 소스 스트림의 제3 인코딩을 포함하며, 제1 인코딩, 제2 인코딩, 및 제3 인코딩 각각은 적어도 하나의 상이한 비디오 인코딩 파라미터를 이용해 소스 스트림의 적어도 일부분을 인코딩함 - ,
    상기 컴퓨팅 시스템이 데이터 스트림을 레코딩하도록 지시하는 트리거 이벤트를 검출하는 단계,
    상기 컴퓨팅 시스템이 데이터 스트림으로부터 제1 인코딩, 제2 인코딩, 및 제3 인코딩을 식별하는 단계,
    상기 컴퓨팅 시스템이 제1 인코딩, 제2 인코딩, 및 제3 인코딩 각각을 적어도 제1 스토리지 및 제2 스토리지 중 적어도 하나와 연관시키는 단계 - 제1 스토리지와 제2 스토리지는 상이한 카테고리의 데이터를 수신하도록 지정됨 - ,
    상기 컴퓨팅 시스템이 제1 스토리지 또는 제2 스토리지 내 데이터가 임계치를 초과함을 검출하는 단계, 및
    상기 컴퓨팅 시스템이 제1 스토리지 또는 제2 스토리지에서 삭제될 데이터를 식별하는 단계 - 식별된 데이터는 지정 보유 주기보다 길게 제1 스토리지 또는 제2 스토리지에 저장된 데이터임 - 를 포함하는, 데이터 관리를 위한 컴퓨터 구현 방법.
  16. 제15항에 있어서, 제1 인코딩은 복수의 가상 스트림을 포함하며, 제2 인코딩은 단일 가상 스트림을 포함하고, 제3 인코딩은 제2 단일 가상 스트림을 포함하며,
    제1 인코딩, 제2 인코딩, 및 제3 인코딩 각각을 적어도 제1 스토리지 및 제2 스토리지 중 적어도 하나와 연관시키는 단계는
    제1 인코딩에 포함하는 복수의 가상 스트림의 서브세트를 제1 스토리지와 연관시키는 단계, 상기 서브세트를 제외한 복수의 가상 스트림을 제2 스토리지와 연관시키는 단계,
    제2 인코딩에 포함된 가상 스트림을 제2 스토리지와 연관시키는 단계, 및 제3 인코딩에 포함된 제2 가상 스트림을 제3 스토리지와 연관시키는 단계
    를 포함하는, 데이터 관리를 위한 컴퓨터 구현 방법.
  17. 제15항에 있어서, 제1 인코딩, 제2 인코딩, 및 제3 인코딩 각각을 적어도 제1 스토리지 및 제2 스토리지 중 적어도 하나와 연관시키는 단계는
    제1 인코딩을 제1 스토리지와 연관시키고, 제2 인코딩을 제2 스토리지와 연관시키며, 제3 인코딩을 제3 스토리지와 연관시키는 단계를 포함하는, 데이터 관리를 위한 컴퓨터 구현 방법.
  18. 데이터 관리를 위한 컴퓨터-구현 방법으로서, 상기 방법은
    컴퓨팅 시스템이 데이터 스트림을 수신하는 단계 - 상기 데이터 스트림은 적어도 하나의 상이한 비디오 인코딩 파라미터를 이용해 소스 비디오 스트림의 적어도 일부분을 인코딩하는 복수의 해상도 인코딩으로 구성됨 - ,
    상기 컴퓨팅 시스템이 데이터 스트림을 저장하기 위한 제1 스토리지를 식별하는 단계,
    상기 컴퓨팅 시스템은 식별된 제1 스토리지에서 임계치가 초과됐는지 여부를 결정하는 단계,
    상기 컴퓨팅 시스템은, 임계치가 초과되지 않았다고 결정되면, 제1 스토리지에 수신된 데이터 스트림과 연관된 데이터를 저장하는 단계,
    상기 컴퓨팅 시스템은, 식별된 제1 스토리지에서 임계치가 초과됐다고 결정되면, 제1 스토리지로부터 삭제될 제1 데이터를 식별하고, 삭제될 것으로 식별된 제1 데이터를 삭제하며, 식별된 제1 데이터를 삭제한 후 임계치가 초과되는지 여부를 식별하고,
    식별된 제1 데이터를 삭제한 후 임계치가 초과되지 않음을 결정하면, 제1 스토리지에 수신된 데이터 스트림과 연관된 데이터를 저장하는 단계, 및
    식별된 제1 데이터를 삭제한 후 임계치가 초과됨을 결정하면, 제1 스토리지에서 삭제될 제2 데이터를 식별하는 단계를 포함하는, 데이터 관리를 위한 컴퓨터 구현 방법.
  19. 제18항에 있어서,
    상기 컴퓨팅 시스템이 제1 스토리지에 저장된 데이터와 제2 스토리지에 저장되는 데이터의 목표 비가 만족되는지 여부를 결정하는 단계,
    상기 컴퓨팅 시스템이 목표 비가 만족되지 않음을 결정하면, 목표 비를 만족시키도록 제2 스토리지에서 데이터를 삭제하는 단계를 더 포함하는, 데이터 관리를 위한 컴퓨터 구현 방법.
  20. 제어 시스템으로서, 상기 시스템은
    네트워크를 통해 단일 데이터 스트림을 집합적으로 포함하는 복수의 컨테이너 프레임(container frame)을 수신하도록 구성된 수신기 - 상기 단일 데이터 스트림은 적어도 하나의 상이한 비디오 인코딩 파라미터를 이용해 소스 비디오 스트림의 적어도 일부분을 인코딩하는 복수의 해상도 인코딩으로 구성되고, 각각의 컨테이너 프레임은 복수의 가상 프레임 및 상기 복수의 가상 프레임의 각각의 가상 프레임에 적용 가능한 컨테이너 타임스탬프를 포함하고, 복수의 가상 프레임의 각각의 가상 프레임은 복수의 해상도 인코딩 중 하나씩의 해상도 인코딩과 연관됨 - ,
    각각의 컨테이너 프레임 내 수신된 상기 복수의 가상 프레임의 각각의 가상 프레임을 하나씩의 인코딩과 연관시키고, 적어도 하나의 가상 프레임과 연관된 인코딩을 기초로 수신된 복수의 가상 프레임 중 적어도 하나의 가상 프레임에 대한 스토리지를 식별하며, 컨테이너 타임스탬프에 따라 연관된 가상 프레임의 가상 스트림을 재구성하도록 구성된 프로세서, 및
    네트워크를 통해 가상 스트림을 전송하도록 구성된 송신기
    를 포함하는, 제어 시스템.
  21. 제20항에 있어서,
    각각의 컨테이너 프레임은 복수의 가상 프레임을 기술하는 디스크립터(descriptor)를 포함하며, 프로세서는 상기 디스크립터를 가상 스트림과 연관시키도록 더 구성된, 제어 시스템.
  22. 제21항에 있어서, 디스크립터는 인코딩된 소스 비디오의 영역의 지시자를 포함하는, 제어 시스템.
  23. 제22항에 있어서, 송신기는 가상 스트림에 대한 요청이 수신되면 가상 스트림을 송신하도록 더 구성되고, 상기 요청은 디스크립터를 포함하는, 제어 시스템.
  24. 장치로서, 상기 장치는
    네트워크,
    복수의 스토리지 빈(storage bin)을 포함하는 비휘발성 저장 매체 - 각각의 스토리지 빈은 적어도 제1 저장 티어(storage tier) 및 제2 저장 티어로 분할되며, 제2 저장 티어는 제1 저장 티어에 저장될 제1 비디오 데이터보다 길게 저장될 것으로 식별된 제2 비디오 데이터를 저장하도록 구성됨 - ,
    네트워크를 통해, 제1 비디오 데이터 및 제2 비디오 데이터를 포함하는 비디오를 전송하도록 구성된 복수의 비디오 소스 디바이스,
    컴퓨터 프로세서, 및
    컴퓨팅 프로세서와 통신 가능하게 연결되고 컴퓨터 실행 명령을 저장하는 컴퓨팅 메모리를 포함하며
    상기 명령은 실행될 때,
    제1 비디오 데이터가 제1 저장 티어에 저장되면 제1 저장 티어에 대한 저장량 임계치를 초과한다고 결정하는 동작, 및
    저장량 임계치를 초과하는 제1 비디오 데이터의 부분을 삭제하는 동작
    을 수행하게 하는, 장치.
  25. 제24항에 있어서, 네트워크는 로컬 영역 네트워크를 포함하며 비휘발성 저장 매체와 복수의 비디오 소스 디바이스 모두 로컬 영역 네트워크 내에 있는, 장치.
  26. 제24항에 있어서, 복수의 비디오 소스 디바이스는 비디오 카메라인, 장치.
  27. 제26항에 있어서, 비디오 카메라는 디지털 IP 카메라인, 장치.
  28. 제24항에 있어서, 제1 저장 티어는 제2 저장 티어보다 낮은 해상도의 데이터를 저장하도록 지정된, 장치.
  29. 제24항에 있어서, 제2 저장 티어는 제1 저장 티어보다 낮은 해상도의 데이터를 저장하도록 지정된, 장치.
  30. 제24항에 있어서, 비휘발성 스토리지 매체는 클라우드 스토리지인, 장치.
  31. 제24항에 있어서, 컴퓨터 프로세서 및 컴퓨팅 메모리를 포함하는 제어 서버를 더 포함하는, 장치.
  32. 제24항에 있어서, 비디오는 비디오의 각각의 프레임에 대한 해상도와 타임 스탬프를 포함하는 메타데이터를 포함하는, 장치.
  33. 방법으로서, 상기 방법은
    네트워크를 통해, 제1 비디오 데이터 및 제2 비디오 데이터를 포함하는 비디오를 수신하는 단계,
    비휘발성 저장 매체의 스토리지 빈의 제1 저장 티어에 제1 비디오 데이터를 저장하는 단계,
    비휘발성 저장 매체의 스토리지 빈의 제2 저장 티어에 제2 비디오 데이터를 저장하는 단계 - 제2 저장 티어는 제1 저장 티어보다 긴 저장 기간을 제공하도록 지정됨 - ,
    제1 비디오 데이터가 제1 저장 티어에 대한 저장량 임계치를 초과한다고 결정하는 단계, 및
    저장량 임계치를 초과하는 제1 비디오 데이터의 부분을 삭제하는 단계
    를 포함하는, 방법.
  34. 삭제
KR1020167022351A 2014-01-15 2014-12-19 비디오 소스 디바이스로부터 스트리밍되는 데이터의 저장 관리 KR102249005B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461927923P 2014-01-15 2014-01-15
US61/927,923 2014-01-15
US14/568,077 US9489387B2 (en) 2014-01-15 2014-12-11 Storage management of data streamed from a video source device
US14/568,077 2014-12-11
PCT/US2014/071734 WO2015108671A2 (en) 2014-01-15 2014-12-19 Storage management of data streamed from a video source device

Publications (2)

Publication Number Publication Date
KR20160111023A KR20160111023A (ko) 2016-09-23
KR102249005B1 true KR102249005B1 (ko) 2021-05-07

Family

ID=53521549

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167022351A KR102249005B1 (ko) 2014-01-15 2014-12-19 비디오 소스 디바이스로부터 스트리밍되는 데이터의 저장 관리

Country Status (12)

Country Link
US (2) US9489387B2 (ko)
EP (1) EP3095100A4 (ko)
JP (2) JP2017509204A (ko)
KR (1) KR102249005B1 (ko)
CN (1) CN106104651B (ko)
AU (1) AU2014377545B2 (ko)
CA (1) CA2936217C (ko)
IL (1) IL246553B (ko)
MX (1) MX357672B (ko)
SG (1) SG11201605770WA (ko)
WO (1) WO2015108671A2 (ko)
ZA (1) ZA201605604B (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11228764B2 (en) * 2014-01-15 2022-01-18 Avigilon Corporation Streaming multiple encodings encoded using different encoding parameters
US10819943B2 (en) * 2015-05-07 2020-10-27 Magna Electronics Inc. Vehicle vision system with incident recording function
US10176182B2 (en) * 2015-08-31 2019-01-08 International Business Machines Corporation File deletion in storage devices based on the deletion priority rules
US20170230612A1 (en) * 2016-02-04 2017-08-10 Shane Ray Thielen Adaptive resolution encoding for streaming data
JP6686541B2 (ja) * 2016-03-04 2020-04-22 日本電気株式会社 情報処理システム
CN107850991B (zh) * 2016-04-05 2021-11-30 韩华泰科株式会社 管理显示器的设备和方法
WO2017210444A1 (en) * 2016-06-02 2017-12-07 Comet Technologies, Llc Method and apparatus for streaming panoramic video
US11388455B2 (en) * 2016-06-02 2022-07-12 Multimo, Llc Method and apparatus for morphing multiple video streams into single video stream
WO2018222974A1 (en) * 2017-06-01 2018-12-06 Comet Technologies, Llc Method and apparatus for morphing multiple video streams into single video stream
US10567460B2 (en) * 2016-06-09 2020-02-18 Apple Inc. Managing data using a time-based directory structure
CN107967117B (zh) * 2016-10-20 2020-10-20 杭州海康威视数字技术股份有限公司 一种数据存储、读取、清理方法、装置及云存储系统
US10095933B2 (en) * 2016-12-05 2018-10-09 Google Llc Systems and methods for locating image data for selected regions of interest
KR101763394B1 (ko) * 2017-04-24 2017-07-31 주식회사 모비젠 스트리밍 데이터 고속처리시스템을 모니터링하는 모니터링장치 및 그 방법
JP7130653B2 (ja) * 2017-09-12 2022-09-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 画像表示方法、画像配信方法、画像表示装置及び画像配信装置
CN107635125A (zh) * 2017-10-20 2018-01-26 莲花丝路科技有限公司 应用于多种通信协议的三维视频的播放方法
US10579445B2 (en) * 2018-04-06 2020-03-03 Salesforce.Com, Inc. Dynamic routing of events to destinations
CN108650460B (zh) * 2018-05-10 2021-03-30 深圳视点创新科技有限公司 服务器、全景视频的存储和传输方法和计算机存储介质
US20200014740A1 (en) * 2018-07-06 2020-01-09 Avigilon Corporation Tile stream selection for mobile bandwith optimization
TWI680661B (zh) * 2018-07-20 2019-12-21 茂傑國際股份有限公司 加值遠端顯示服務的無線路由伺服裝置及方法
US11507402B2 (en) * 2019-04-15 2022-11-22 Microsoft Technology Licensing, Llc Virtualized append-only storage device
US11500822B2 (en) * 2019-04-15 2022-11-15 Microsoft Technology Licensing, Llc Virtualized append-only interface
KR102090308B1 (ko) 2019-10-16 2020-03-17 주식회사 스마트시티코리아 Gop 단위 기반의 영상 저장 시스템 및 방법
US11297218B1 (en) * 2019-10-25 2022-04-05 Genetec Inc. System and method for dispatching media streams for viewing and for video archiving
US11397534B2 (en) * 2020-07-29 2022-07-26 Netapp Inc. Data management across a persistent memory tier and a file system tier
US11509832B2 (en) 2020-12-01 2022-11-22 Western Digital Technologies, Inc. Low light surveillance system with dual video streams
KR102486980B1 (ko) * 2021-01-08 2023-01-11 주식회사 앤다스 블록 데이터 스토리지 시스템, 블록 데이터 스토리지 방법 및 기록 매체에 저장된 프로그램
US11496671B2 (en) 2021-02-19 2022-11-08 Western Digital Technologies, Inc. Surveillance video streams with embedded object data
CN112954249A (zh) * 2021-03-04 2021-06-11 联想(北京)有限公司 数据处理方法、装置、设备、介质及产品
US11895414B1 (en) * 2022-08-04 2024-02-06 Qualcomm Incorporated Virtual channel configuration session of a camera sensor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101077777B1 (ko) * 2010-04-26 2011-10-28 주식회사 프로브 네트워크 카메라 시스템, 그의 영상 데이터 처리 방법 및 그의 운용 방법
KR101171283B1 (ko) * 2011-12-23 2012-08-06 디비시스(주) 대용량, 고속으로 저장이 가능한 디브이알의 이벤트저장방법
KR101209515B1 (ko) * 2012-09-04 2012-12-07 엠엠피씨 주식회사 고해상도 네트워크 카메라용 멀티채널 임베디드 감시 시스템

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664106A (en) 1993-06-04 1997-09-02 Digital Equipment Corporation Phase-space surface representation of server computer performance in a computer network
US5828788A (en) * 1995-06-29 1998-10-27 Thomson Multimedia, S.A. System for processing data in variable segments and with variable data resolution
US5920859A (en) * 1997-02-05 1999-07-06 Idd Enterprises, L.P. Hypertext document retrieval system and method
US6370198B1 (en) * 1997-04-07 2002-04-09 Kinya Washino Wide-band multi-format audio/video production system with frame-rate conversion
JPH1118072A (ja) * 1997-06-24 1999-01-22 Sony Corp 監視記録装置及び該監視記録装置を使用した記録方法
JP2000184320A (ja) * 1998-12-11 2000-06-30 Nec Corp 記録再生装置および電子番組ガイド表示装置
US6757896B1 (en) * 1999-01-29 2004-06-29 International Business Machines Corporation Method and apparatus for enabling partial replication of object stores
US6430562B1 (en) * 1999-03-01 2002-08-06 Electronic Data Systems Corporation Integrated resource management system and method
US6345281B1 (en) * 1999-03-01 2002-02-05 Electronic Data Systems Corporation Recovery method and system for a resource management system
ID29908A (id) 2000-04-11 2001-10-25 Sony Corp Peranti transmisi data, peranti penerima data, metode pentransmisi data, metode penerima data, peranti perekam, peranti pemutar ulang, metode perekam dan metode pemutaran ulang
US6885395B1 (en) * 2000-05-26 2005-04-26 Eastman Kodak Company Selectively adjusting the resolution levels or the quality levels of digital images stored in a digital camera memory
FI120125B (fi) 2000-08-21 2009-06-30 Nokia Corp Kuvankoodaus
US7272657B2 (en) 2001-07-30 2007-09-18 Digeo, Inc. System and method for displaying video streams ranked by user-specified criteria
JP2003153177A (ja) * 2001-11-08 2003-05-23 Mega Chips Corp 映像録画装置および映像録画方法
JP2003259316A (ja) * 2002-02-28 2003-09-12 Toshiba Corp ストリーム処理システムおよびストリーム処理プログラム
JP4201570B2 (ja) * 2002-05-20 2008-12-24 淳一 棚橋 監視装置及び監視システム
EP1530370A4 (en) 2002-06-20 2008-12-03 Sony Corp DECODING DEVICE AND DECODING METHOD
US7529471B2 (en) 2002-06-25 2009-05-05 International Business Machines Corporation Personal video recording with storage space loans
US6944612B2 (en) * 2002-11-13 2005-09-13 Xerox Corporation Structured contextual clustering method and system in a federated search engine
US6791603B2 (en) * 2002-12-03 2004-09-14 Sensormatic Electronics Corporation Event driven video tracking system
EP1618478A4 (en) * 2003-03-13 2007-10-03 Drm Technologies L L C CONTINUOUSLY CONTINUOUS CONTAINER
US7016409B2 (en) 2003-11-12 2006-03-21 Sony Corporation Apparatus and method for use in providing dynamic bit rate encoding
JP4315827B2 (ja) * 2004-01-29 2009-08-19 株式会社日立国際電気 画像表示方法及び画像表示装置並びに画像表示プログラム
US7302159B2 (en) 2004-11-12 2007-11-27 Pelco Apparatus and method of storing video data
CA2615925A1 (en) 2005-07-19 2007-01-25 March Networks Corporation Hierarchical data storage
US8532178B2 (en) 2006-08-25 2013-09-10 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal with inter-view reference picture list construction
US8515912B2 (en) * 2010-07-15 2013-08-20 Palantir Technologies, Inc. Sharing and deconflicting data changes in a multimaster database system
US8270469B2 (en) * 2006-12-15 2012-09-18 Precoad Inc. Encoding video at multiple resolution levels
US9069853B2 (en) * 2007-03-30 2015-06-30 Innography, Inc. System and method of goal-oriented searching
US8013738B2 (en) * 2007-10-04 2011-09-06 Kd Secure, Llc Hierarchical storage manager (HSM) for intelligent storage of large volumes of data
US8191001B2 (en) * 2008-04-05 2012-05-29 Social Communications Company Shared virtual area communication environment based apparatus and methods
US20100030578A1 (en) * 2008-03-21 2010-02-04 Siddique M A Sami System and method for collaborative shopping, business and entertainment
JP2009296207A (ja) * 2008-06-04 2009-12-17 Toa Corp 監視映像記録システムおよび監視映像再生表示方法
US8831090B2 (en) * 2008-11-18 2014-09-09 Avigilon Corporation Method, system and apparatus for image capture, analysis and transmission
KR101531191B1 (ko) * 2008-11-24 2015-06-25 엘지전자 주식회사 카메라 영상 녹화 기기와 동영상 데이터 파일 삭제 방법
US8380790B2 (en) * 2008-12-15 2013-02-19 Microsoft Corporation Video conference rate matching
JP5137856B2 (ja) * 2009-01-08 2013-02-06 三菱電機株式会社 映像監視システム、映像情報配信装置およびクライアント装置
US20100269147A1 (en) 2009-04-15 2010-10-21 Echostar Technologies Llc Video stream index generation at a video content transmitter
US8171216B2 (en) * 2009-05-29 2012-05-01 Dell Products, Lp System and method for managing devices in an information handling system
US8180914B2 (en) 2009-07-17 2012-05-15 Sap Ag Deleting data stream overload
EP2316705B1 (en) * 2009-10-28 2012-06-20 Honda Research Institute Europe GmbH Behavior-based learning of visual characteristics from real-world traffic scenes for driver assistance systems
CN102148958B (zh) * 2010-02-08 2016-04-20 北京中星微电子有限公司 一种在模拟视频数据中嵌入监控附加信息的方法及系统
US8837900B2 (en) * 2010-05-11 2014-09-16 Cisco Technology, Inc. Unintended video recording detection in a video recording device
WO2012003504A2 (en) * 2010-07-02 2012-01-05 Air Computing, Inc. A system and method for cloud file management
JP5765920B2 (ja) * 2010-11-16 2015-08-19 キヤノン株式会社 送信装置および送信方法
IT1403450B1 (it) * 2011-01-19 2013-10-17 Sisvel S P A Flusso video costituito da frame video combinati, e procedimento e dispositivi per la sua generazione, trasmissione, ricezione e riproduzione
CN102394088B (zh) * 2011-06-28 2015-01-07 上海盈方微电子股份有限公司 一种多媒体数据源读取的方法
US9591318B2 (en) * 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
WO2014007762A1 (en) 2012-07-04 2014-01-09 Tan Seow Loong A method and system for automated monitoring of traffic
KR101339363B1 (ko) * 2012-09-24 2013-12-09 주식회사 세종아이씨티 물리적 이중화 망분리 보안이 강화된 방범 감시카메라 감시장치
CN102968902A (zh) * 2012-12-11 2013-03-13 苏州群凯信息系统有限公司 一种载运工具视频监控与录像系统
US9417999B2 (en) * 2012-12-17 2016-08-16 International Business Machines Corporation Write peformance in solid state storage by recognizing copy source to target operations and only storing updates instead of entire block
US9524520B2 (en) * 2013-04-30 2016-12-20 Wal-Mart Stores, Inc. Training a classification model to predict categories
US9183074B2 (en) * 2013-06-21 2015-11-10 Dell Products, Lp Integration process management console with error resolution interface
US9329792B2 (en) * 2014-01-14 2016-05-03 International Business Machines Corporation Storage thin provisioning and space reclamation
US9454333B2 (en) * 2014-10-27 2016-09-27 International Business Machines Corporation Parity logs for RAID systems with variable capacity media
US9959054B1 (en) * 2015-12-30 2018-05-01 EMC IP Holding Company LLC Log cleaning and tiering in a log-based data storage system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101077777B1 (ko) * 2010-04-26 2011-10-28 주식회사 프로브 네트워크 카메라 시스템, 그의 영상 데이터 처리 방법 및 그의 운용 방법
KR101171283B1 (ko) * 2011-12-23 2012-08-06 디비시스(주) 대용량, 고속으로 저장이 가능한 디브이알의 이벤트저장방법
KR101209515B1 (ko) * 2012-09-04 2012-12-07 엠엠피씨 주식회사 고해상도 네트워크 카메라용 멀티채널 임베디드 감시 시스템

Also Published As

Publication number Publication date
JP6753902B2 (ja) 2020-09-09
US20170034572A1 (en) 2017-02-02
US20150199366A1 (en) 2015-07-16
AU2014377545A1 (en) 2016-07-21
CA2936217C (en) 2023-01-10
WO2015108671A3 (en) 2015-11-12
IL246553A0 (en) 2016-08-31
CN106104651A (zh) 2016-11-09
EP3095100A2 (en) 2016-11-23
AU2014377545B2 (en) 2019-12-12
US11197057B2 (en) 2021-12-07
MX357672B (es) 2018-07-18
IL246553B (en) 2020-02-27
KR20160111023A (ko) 2016-09-23
EP3095100A4 (en) 2017-08-30
JP2017509204A (ja) 2017-03-30
SG11201605770WA (en) 2016-08-30
MX2016009247A (es) 2017-03-06
CN106104651B (zh) 2019-03-08
WO2015108671A2 (en) 2015-07-23
JP2019033494A (ja) 2019-02-28
CA2936217A1 (en) 2015-07-23
ZA201605604B (en) 2019-10-30
US9489387B2 (en) 2016-11-08

Similar Documents

Publication Publication Date Title
KR102249005B1 (ko) 비디오 소스 디바이스로부터 스트리밍되는 데이터의 저장 관리
US11228764B2 (en) Streaming multiple encodings encoded using different encoding parameters
CN108259934B (zh) 用于回放所记录的视频的方法和装置
US20150208103A1 (en) System and Method for Enabling User Control of Live Video Stream(s)
KR101389220B1 (ko) 개선된 사전-알람 비디오 버퍼
CA3057924A1 (en) System and method to optimize the size of a video recording or video transmission by identifying and recording a region of interest in a higher definition than the rest of the image that is saved or transmitted in a lower definition format
US10033930B2 (en) Method of reducing a video file size for surveillance
JP4262023B2 (ja) 映像揺れ検出装置、その方法及びそのプログラム、並びに、カメラ映像選択装置
JP2018191251A (ja) 情報処理システム、情報処理方法、およびプログラム
JP2003244683A (ja) 遠隔監視システム及びプログラム
EP3276967A1 (en) Systems and methods for adjusting the frame rate of transmitted video based on the level of motion in the video
US11115619B2 (en) Adaptive storage between multiple cameras in a video recording system
KR101581835B1 (ko) 서브 관리형 영상 촬영 장치
KR20230053288A (ko) 이벤트 검출 기반 영상 저장 방법 및 장치

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