KR102251230B1 - 비디오 녹화 시스템에서 복수의 카메라간 어댑티브 저장소 - Google Patents

비디오 녹화 시스템에서 복수의 카메라간 어댑티브 저장소 Download PDF

Info

Publication number
KR102251230B1
KR102251230B1 KR1020190116622A KR20190116622A KR102251230B1 KR 102251230 B1 KR102251230 B1 KR 102251230B1 KR 1020190116622 A KR1020190116622 A KR 1020190116622A KR 20190116622 A KR20190116622 A KR 20190116622A KR 102251230 B1 KR102251230 B1 KR 102251230B1
Authority
KR
South Korea
Prior art keywords
camera
video
video quality
storage space
allocated
Prior art date
Application number
KR1020190116622A
Other languages
English (en)
Other versions
KR20200078309A (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 KR20200078309A publication Critical patent/KR20200078309A/ko
Application granted granted Critical
Publication of KR102251230B1 publication Critical patent/KR102251230B1/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/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
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0007Image acquisition
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B13/00Burglar, theft or intruder alarms
    • G08B13/18Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
    • G08B13/189Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
    • G08B13/194Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
    • G08B13/196Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
    • G08B13/19639Details of the system layout
    • G08B13/19641Multiple cameras having overlapping views on a single scene
    • G08B13/19643Multiple cameras having overlapping views on a single scene wherein the cameras play different roles, e.g. different resolution, different camera type, master-slave camera
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B13/00Burglar, theft or intruder alarms
    • G08B13/18Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
    • G08B13/189Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
    • G08B13/194Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
    • G08B13/196Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
    • G08B13/19639Details of the system layout
    • G08B13/19645Multiple cameras, each having view on one of a plurality of scenes, e.g. multiple cameras for multi-room surveillance or for tracking an object by view hand-over
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/36Monitoring, i.e. supervising the progress of recording or reproducing
    • 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
    • H04N21/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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/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
    • 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
    • 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
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction

Abstract

컴퓨터 프로그램 제품을 포함하고, 3개 이상의 카메라 및 저장 공간을 포함하는 저장 서비스를 포함하는 감시 시스템에서 비디오 데이터를 저장하기 위한 기술을 구현 및 사용하는 방법 및 장치를 제공한다. 상기 저장 공간은 3개 이상의 비디오 카메라 각각으로부터 일정 기간에 걸쳐 캡쳐된 비디오 데이터를 저장하기 위해 할당된 부분의 초기 세트로 분할된다. 각각의 카메라에 대해, 상기 카메라에 의해 캡쳐된 비디오를 인코딩하기 위해 비디오 품질 값이 설정된다. 각각의 카메라 및 불연속 시간 간격에 대해, 비디오 품질 값을 유지하는 것은 상기 카메라가 그 시간 간격에 걸쳐 상기 카메라에 대해 저장 공간의 할당된 부분을 초과할 것으로 예상되는 양의 비디오 데이터를 출력하게 하는지 여부가 결정된다. 적어도 하나의 카메라에 대해 비디오 데이터의 예상되는 양이 저장 공간의 할당된 부분을 초과할 것으로 결정되면, 비디오 품질은 현재 비디오 품질에 비해 감소된다. 카메라로부터의 비디오 품질이 비디오 품질 임계값에 의해 표현된 비디오 품질 아래로 떨어지는 것으로 결정되면, 저장 공간은 할당된 부분의 새로운 세트로 재-분할되고, 여기서 증가된 저장 공간은 임계값 이하로 떨어지는 비디오 품질을 갖는 카메라에 할당되고, 감소된 저장 공간은 적어도 하나의 다른 카메라에 할당된다.

Description

비디오 녹화 시스템에서 복수의 카메라간 어댑티브 저장소{ADAPTIVE STORAGE BETWEEN MULTIPLE CAMERAS IN A VIDEO RECORDING SYSTEM}
본 발명은 비디오 녹화 시스템에 관한 것으로, 보다 구체적으로 하나 이상의 카메라에 의해 녹화된 비디오 데이터를 비디오 녹화 시스템에 저장하는 것에 관한 것이다.
네트워크 카메라 모니터링 시스템과 같은 디지털 비디오 시스템에서, 고화질 비디오 및 네트워크 카메라의 도입으로 데이터 저장 기능을 저장 요건과 일치시키는 것이 중요해지고 있다. 비용 효율적인 방식으로 요구를 충족시키기 위해, 며칠 또는 몇 주, 또는 몇 달 또는 몇 년의 충분한 저장 공간을 제공하려고 할 때 많은 문제가 발생한다. 저장 비용은 일반적으로 디지털 비디오 시스템 비용의 상당 부분이므로 시스템 소유자는 저장 용량을 줄이면서 동시에 비디오 품질을 가능한 한 양호하게 유지하고자 한다.
일반적으로, 장기 평균 비트 전송률(long term average bitrate)은 시스템에서 카메라로부터 캡처된 데이터를 특정된 기간 동안 미리 결정된 저장 크기에 맞추기 위해, 카메라의 품질 파라미터를 제어하는데 사용된다. 일반적으로, 이러한 접근법은 비트 전송률을 제어하는데 매우 유리하다. 그러나, 장기 평균 비트 전송률을 너무 낮게 설정하면, 이는 일부 카메라에서 나쁜 품질 파라미터가 얻어지게 유도할 수 있고, 캡처한 장면이 더 생생하고 시스템을 처음 설정될 때 예상했던 것보다 더 많은 모션을 포함하고 장기 평균 비트 전송률이 부정확하게 추정될 수 있다. 반대로, 장기 평균 비트 전송률이 너무 높게 설정되면, 효율적으로 사용되지 않는 상당한 양의 저장 공간이 존재할 것이고, 카메라가 불필요하게 높은 품질 또는 비트 전송률로 움직임이 거의 없거나 전혀 없는 장면을 캡처할 수 있으므로, 저장 공간이 부족할 수도 있다. 적어도 이러한 이유로, 저장 필요성을 추정하고 비디오 데이터를 디지털 비디오 시스템에 저장하기 위한 개선된 방법이 필요하다.
본 발명의 목적은 저장 공간이 서로 다른 카메라 사이에서 가능한 한 효율적으로 사용되는 방식으로, 3대 이상의 카메라 및 저장 공간을 포함하는 저장 서비스(storage service)를 포함하는 감시 시스템에서 비디오 데이터를 저장하기 위한 기술을 제공하는 것이다. 이러한 목적 및 다른 목적은 청구항 1에 따른 방법, 청구항 11에 따른 저장 제어기(storage controller), 청구항 12에 따른 컴퓨터 프로그램 제품, 청구항 14에 따른 카메라 및 청구항 15에 따른 네트워크 비디오 레코더(network video recorder)에 의해 달성된다.
제1 양태에 따르면, 이들 및 다른 목적은 3대 이상의 카메라 및 저장 공간을 포함하는 저장 서비스를 포함하는 감시 시스템에서 비디오 데이터를 저장하기 위한 방법에 의해 전체적으로 또는 적어도 부분적으로 달성된다. 상기 방법은:
· 상기 3대 이상의 비디오 카메라 각각으로부터 일정 기간 동안 캡처된 비디오 데이터를 저장하기 위해 상기 저장 공간을 초기 세트의 할당된 부분으로 분할하는 단계;
· 각각의 카메라에 대해, 상기 카메라에 의해 캡처된 비디오를 인코딩하기 위해 비디오 품질 값을 설정하는 단계;
· 상기 비디오 품질 값을 유지하는 것이 상기 카메라가 상기 일정 기간 동안 상기 카메라에 대해 저장 공간의 상기 할당된 부분을 초과할 비디오 데이터의 예상된 양을 출력하게 하는지의 여부를 각각의 카메라에 대해 그리고 개별 시간 간격으로 결정하는 단계;
· 상기 비디오 데이터의 상기 예상된 양이 저장 공간의 상기 할당된 부분을 초과할 것이라고 적어도 하나의 카메라에 대해 결정하는 것에 응답하여, 상기 비디오 품질 값을 현재 비디오 품질 값에 의해 표시되는 상기 비디오 품질에 비해 감소된 비디오 품질을 나타내는 비디오 품질 값으로 조정하는 단계; 및
· 카메라로부터의 상기 비디오 품질 값이 비디오 품질 임계값에 의해 표시되는 비디오 품질 아래로 떨어지는 비디오 품질을 나타내는 것으로 결정하는 것에 응답하여, 상기 저장 공간을 새로운 세트의 할당된 부분으로 재분할하는 단계 - 증가된 저장 공간은 비디오 품질 임계값에 의해 표시되는 비디오 품질 아래로 떨어지는 비디오 품질을 갖는 상기 카메라에 할당되고 감소된 저장 공간은 적어도 하나의 다른 카메라에 할당됨 -를 포함한다.
이를 통해 여러 카메라 간에 공통 저장 공간을 공유하고 각각의 카메라에 대해 원하는 비디오 품질을 선택하는 방법을 제공한다. 이의 원하는 비디오 품질을 유지하기 위해, 카메라 중 하나가 원래 할당된 것보다 더 많은 저장 공간을 사용할 필요가 있는 시간 후에 판명되면, 개시된 방법을 통해 임의의 다른 카메라가 원하는 품질 수준에 영향을 주지 않으면서 일부 할당된 저장 공간을 포기할 수 있는지 여부를 조사할 수 있고 만약 그렇다면, 이러한 카메라에 할당된 일부 저장 공간이 더 많은 저장 공간을 필요로 하는 카메라에 할당될 수 있는지 여부를 조사할 수 있다. 따라서 공유된 저장 공간을 가능한 한 효율적으로 사용할 수 있으며 일반적으로 시스템 관리자의 임의의 수동 개입 없이 모든 카메라가 원하는 비디오 품질을 유지하게 한다.
일 실시 형태에 따르면, 상기 초기 세트의 할당된 부분에서의 할당된 부분은 동일한 크기를 갖는다. 모든 카메라가 동일한 저장 공간을 갖도록 공유된 저장 공간을 초기에 분할함으로써, 상기 시스템은 시초에 "짝수 바닥(even footing)"에서 시작하며, 일반적으로 더 적은 양의 공간이 각각의 카메라에 할당된 저장 공간의 양에서 큰 불일치가 존재하는 경우와 비교하여 재분배될 필요가 있을 것이다. 이는 또한 다른 카메라 간에 더 많은 양의 저장 공간을 다시 할당해야 하는 상황에 비해 전체 시스템이 더 빨리 "안정화(stabilize)"되게 한다.
일 실시 형태에 따르면, 상기 저장 공간을 초기 세트의 할당된 부분으로 분할하는 것은 비디오 데이터의 하나 이상의 특징들에 관한 통계적 추정에 기초하여 수행된다: 해상도, 코딩, 초기 품질 파라미터 및 프레임 전송률 및 보유 시간(retention time). 상기 저장 공간의 초기 분할을 수행할 때 이러한 파라미터를 고려하면, 이러한 고려 사항이 이루어지지 않는 시나리오와 비교하여 각각의 카메라에 적절한 크기의 저장 공간이 할당될 가능성이 높다.
일 실시 형태에 따르면, 상기 비디오 품질 값은 양자화 파라미터 값(quantization parameter value)으로 표시된다. 이는 당업자에게 비디오 품질을 나타내는 공지된 방법이며, 이는 직관적으로 본 발명의 다양한 양태가 기존 비디오 시스템에 통합되게 한다.
일 실시 형태에 따르면, 상기 비디오 품질 값은 각각의 카메라에 대해 개별적으로 설정 및 조정된다. 이는 사용 중 장면(busy scene)을 캡처하는 카메라가 활동이 거의 없거나 전혀 없는 장면을 캡처하는 카메라와 비교하여 높은 비트 전송률(그리고 이에 따른 정확도)을 사용하여 고품질로 수행될 수 있도록 시스템을 유연하게 한다.
일 실시 형태에 따르면, 상기 일정 기간은 적어도 하루를 나타내는 이동하는 시간 윈도우(moving time window)에 의해 정의된다. 즉, 회사 시작 날짜와 회사 종료 날짜로 정의된 기간 동안 비디오를 캡처하는 대신, 기간이 지속적으로 전개하고 있으며, 예를 들어 지난 30일, 지난주, 지난해 등일 수 있다. 이는 종료 날짜에 갑작스럽게 중지된 다음, 다음 시작 날짜에서 "맨 처음부터(from scratch)" 다시 시작해야 하는 대신 필요한 저장 공간의 추정이 계속 진행 중(on going)일 수 있으므로 시스템의 안정성을 증가시킨다.
일 실시 형태에 따르면, 개별 시간 간격은 대략 초 내지 대략 시간의 범위일 수 있다. 즉, 저장 공간이 분배되어야 하는 방법의 결정이 본질적으로 연속적으로 발생할 수 있다. 그러나, 상기 결정은 예를 들어, 상기 카메라에 의해 모니터링되는 장면에서의 중요하지 않은 변화가 있는 상황, 및 계산 자원이 부족할 수 있는 상황에서 덜 빈번하게(즉, 매시간) 발생할 수 있다.
일 실시 형태에 따르면, 각각의 카메라는 상기 카메라에 의해 캡처된 비디오 데이터를 저장하기 위한 관련 보유 시간을 갖는다. 즉, 관리자는 상기 카메라별로 비디오를 녹화할 시간을 카메라별로 결정할 수 있다. 예를 들어, 비디오를 얼마나 오래 저장할 수 있는지 지시하는 법적 또는 사업적 요건이 있을 수 있다. 시스템 내 다른 카메라에 다른 저장 요건을 갖는 상황에서, 다른 보유 시간이 설정되어, 상기 시스템의 유연성이 향상될 수 있다.
일 실시 형태에 따르면, 초기 비디오 품질 값은 시스템 관리자에 의해 수동으로 설정된다. 대부분의 경우, 상기 카메라 자체는 자체 비디오 품질 값을 설정하거나 디폴트 품질 값을 가질 수 있다. 그러나, 이러한 자동 설정이 우선되어야 하는 상황도 있을 수 있으며, 이러한 상황에서 시스템 관리자가 수동으로 초기 비디오 품질 값을 설정하는 것이 유리하다.
일 실시 형태에 따르면, 상기 초기 비디오 품질 값은 상기 카메라에 의해 캡처된 특정 감시 장면에 기초하여, 상기 카메라에 의해 자동으로 설정된다. 특정 감시 장면을 기반으로 비디오 품질 값을 자동으로 설정하는 기능이 있으면 상기 시스템의 관리가 용이하고, 사람이 상기 감시 장면에서 실수로 간과했을 수 있는 특정 세부 사항(detail)을 검출할 수 있으므로, 정확도를 향상시킬 수 있다.
제2 양태에 따르면, 본 발명은 3대 이상의 카메라 및 저장 공간을 포함하는 저장 서비스를 포함하는 감시 시스템에 비디오 데이터의 저장을 제어하기 위한 저장 제어기(storage controller)에 관한 것이다. 상기 시스템은 저장 분할 모듈(storage partitioning module), 품질 값 설정 모듈(quality value setting module) 및 결정 모듈(determining module)을 포함한다. 상기 저장 분할 모듈은 상기 저장 공간을 3대 이상의 비디오 카메라 각각으로부터 일정 기간 동안 캡처된 비디오 데이터를 저장하기 위해 상기 저장 공간을 초기 세트의 할당된 부분으로 분할하도록 배치된다. 상기 품질 값 설정 모듈은 각각의 카메라에 대해, 상기 카메라에 의해 캡처된 비디오를 인코딩하기 위한 비디오 품질 값을 설정하도록 배치된다. 상기 결정 모듈은: 상기 비디오 품질 값을 유지하는 것은 상기 카메라가 일정 기간 동안 상기 카메라에 대해 저장 공간의 상기 할당된 부분을 초과할 비디오 데이터의 상기 예상될 양을 출력하게 하는지 여부를 각각의 카메라에 대해 그리고 개별 시간 간격으로 결정하고; 비디오 데이터의 상기 예상된 양이 저장 공간의 상기 할당된 부분을 초과할 것을 적어도 하나의 카메라에 대해 결정하는 것에 응답하여, 상기 비디오 품질 값을 상기 현재 비디오 값에 의해 표시되는 비디오 품질에 비해 감소된 비디오 품질로 표시되는 비디오 품질 값으로 조정하며; 카메라로부터 상기 비디오 품질 값이 비디오 품질 임계값에 의해 표시되는 비디오 품질 아래로 떨어지는 비디오 품질을 표시하는 것을 결정하는 것에 응답하여, 상기 저장 공간을 새로운 세트의 할당된 부분으로 재분할하도록 배치되고, 증가된 저장 공간은 비디오 품질 임계값에 의해 표시되는 상기 비디오 품질 아래로 떨어지는 비디오 품질을 갖는 카메라에 할당되며, 감소된 저장 공간은 적어도 하나의 다른 카메라에 할당되는 것을 특징으로 한다. 상기 저장 제어기 이점은 상기 방법의 이점에 해당하고 유사하게 변할 수 있다.
제3 양태에 따르면, 본 발명은 3대 이상의 카메라 및 저장 공간을 포함하는 저장 서비스를 포함하는 감시 시스템에 비디오 데이터를 저장하기 위한 컴퓨터 프로그램에 관한 것이다. 상기 컴퓨터 프로그램은 하기 단계에 해당하는 명령어를 포함한다:
· 상기 3대 이상의 비디오 카메라 각각으로부터 일정 기간 동안 캡처된 비디오 데이터를 저장하기 위해 상기 저장 공간을 초기 세트의 할당된 부분으로 분할하는 단계;
· 각각의 카메라에 대해, 상기 카메라에 의해 캡처된 비디오를 인코딩하기 위해 비디오 품질 값을 설정하는 단계;
· 상기 비디오 품질 값을 유지하는 것은 상기 카메라가 상기 일정 기간 동안 상기 카메라에 대해 저장 공간의 상기 할당된 부분을 초과할 비디오 데이터의 예상된 양을 출력하게 하는지 여부를 각각의 카메라에 대해 그리고 개별 시간 간격으로 결정하는 단계;
· 비디오 데이터의 상기 예상된 양이 저장 공간의 상기 할당된 부분을 초과할 것이라고 적어도 하나의 카메라에 대해 결정하는 것에 응답하여, 상기 비디오 품질 값을 상기 현재 품질 값에 의해 표시되는 상기 비디오 품질에 비해 감소된 비디오 품질을 표시하는 비디오 품질 값으로 조정하는 단계; 및
· 카메라로부터 상기 비디오 품질 값이 비디오 품질 임계값에 의해 표시되는 비디오 품질 아래로 떨어지는 비디오 품질을 표시하는 것을 결정하는 것에 응답하여, 상기 저장 공간을 새로운 세트의 할당된 부분으로 재할당하는 단계 - 증가된 저장 공간은 비디오 품질 임계값에 의해 표시되는 상기 비디오 품질 아래로 떨어지는 비디오 품질을 갖는 상기 카메라에 할당되고 감소된 저장 공간은 적어도 하나의 다른 카메라에 할당됨 -.
제4 양태에 따르면, 본 발명은 전술한 바와 같이 저장 제어기를 포함하는 카메라에 관한 것이다. 상기 카메라는 상기 방법의 이점에 해당하는 이점을 가지며 유사하게 변할 수 있다.
제5 양태에 따르면, 본 발명은 저장 제어기를 포함하는 네트워크 비디오 레코더(network video recorder)에 관한 것이다. 상기 네트워크 비디오 레코더는 상기 방법의 이점에 해당하는 이점을 가지며 유사하게 변할 수 있다.
본 발명의 하나 이상의 실시 형태들의 세부 사항은 첨부된 도면 및 이하의 설명에서 설명된다. 본 발명의 다른 특징 및 이점은 상세한 설명과 도면 및 청구 범위로부터 명백할 것이다.
도 1은 일 실시 형태에 따른 카메라에 의해 모니터링되는 장면의 사시도이다.
도 2는 일 실시 형태에 따른 카메라 시스템의 도면이다.
도 3은 일 실시 형태에 따른 도 2의 시스템에서 카메라의 블록도이다.
도 4는 일 실시 형태에 따른 도 2의 시스템에서 네트워크 비디오 레코더의 블록도이다.
도 5는 일 실시 형태에 따른 도 2의 시스템에서 비트 전송률 제어기의 블록도이다.
도 6은 일 실시 형태에 따른 감시 시스템에 비디오 데이터를 저장하기 위한 방법(600)의 흐름도이다.
다양한 도면에서 유사한 참조 부호는 유사한 요소를 나타낸다.
본 발명의 다양한 실시 형태들은 복수의 카메라를 포함하는 디지털 비디오 시스템의 중앙 저장소(central repository)에 비디오 데이터를 효율적으로 저장하기 위한 기술에 관한 것이다. 높은 수준에서, 본 발명에 의해 사용된 기술은 상기 카메라에 대한 현재 품질 파라미터가 녹화된 비디오를 위한 저장 공간이 부족할 수 있는 것을 검출하는 것에 응답하여 상기 디지털 비디오 시스템에서의 하나 이상의 카메라에 의해 녹화된 비디오의 인코딩에 사용되는 품질 파라미터를 변경하는 것으로 설명될 수 있다. 상기 비디오 품질이 설정된 임계값 아래로 내려가면, 중앙 저장소에서 공유된 저장 공간이 카메라 간에 재분배되어, 상기 카메라에 대해 최소 비디오 품질을 유지할 수 있다.
본 발명의 다양한 실시 형태들에 따르면, 각각의 카메라에 대한 품질 파라미터는 상기 카메라에 의해 현재 녹화되고 있는 비디오의 품질이 너무 낮은지 여부를 보기 위해 주기적으로 확인된다. 품질 파라미터는 여러 가지 방법으로 확인될 수 있다. 예를 들어, 일 실시 형태에서, 상기 품질 파라미터의 값은 애플리케이션 프로그래밍 인터페이스(API)를 통해 이용 가능하게 될 수 있다. 다른 실시 형태에서, 품질 파라미터 값은 상기 녹화된 비디오를 디코딩함으로써 결정될 수 있다. 카메라에 대한 품질 파라미터가 최소 임계값 수준 아래인 경우, 시스템은 카메라 간의 저장 용량을 재분배하여 너무 낮은 품질 파라미터로 카메라에 더 많은 저장 공간을 제공한다. 이러한 카메라에 할당된 저장 용량이 증가하면 상기 카메라가 더 높은 품질의 비디오를 저장할 수 있도록, 품질 파라미터를 증가시킬 수 있다. 다르게 표현하면, 비디오 품질이 임의의 카메라에 대해 특정 임계값 아래로 떨어지지 않으면서, 각각의 카메라 및 각각의 감시 상황의 필요성이 충족되는 방식으로 복수의 카메라 사이에서 자동으로 분할된다.
하기의 예는 본 발명의 다양한 실시 형태들의 일반적인 원리를 설명하기 위해 사용될 수 있다. 비디오 디지털 비디오 시스템이 중앙 저장소에서 폐기할 수 있는 20GB의 저장 공간을 각각 갖는 5대의 카메라를 포함한다고 가정한다. 비디오를 잠시 녹화한 후, 카메라는 하기와 같이 20GB를 사용하였다.
· 카메라 A: 10GB
· 카메라 B: 15GB
· 카메라 C: 20GB
· 카메라 D: 20GB
· 카메라 E: 20GB
알 수 있듯이, 카메라 C, D 및 E는 이들의 할당된 저장을 완전히 사용하고 있으며 이들 장면과 이용 가능한 저장에 최적의 경험을 생성한다. 그러나, 카메라 A와 B에는 여전히 이들의 할당량에서 이용 가능한 추가 저장의 10GB와 5GB를 각각 갖는다. 즉, 다른 카메라에서 사용될 수 있는 저장 공간의 추가 15GB이 있다. 문제는 이러한 추가 저장이 카메라 간에 분배되어야 하는 방법을 결정하는 것이다.
일 실시 형태에서, 이러한 문제는 이의 QP(Quantization Parameter) 값, 즉 버짓(budget)을 만들기 위해 카메라가 이의 비디오 품질을 얼마나 강하게 감소시켜야 하는지를 각각의 카메라에 보고함으로써 해결된다. 당업자에게 잘 알려진 바와 같이, QP 파라미터는 얼마나 많은 공간적 세부 사항이 저장되는지를 조절한다. 보다 구체적으로, QP 파라미터는 프레임에서의 모든 매크로블록(Macroblock)에 대한 압축(compression)의 양을 제어한다. QP 값이 크면 더 높은 양자화, 더 높은 압축 및 더 낮은 품질일 수 있음을 의미한다. 값이 낮을수록 반대, 즉 더 낮은 양자화, 더 낮은 압축 및 더 높은 품질을 의미한다. 당업자에게 잘 알려진 바와 같이, QP 값은 일반적으로 0-51의 범위에 있다. 본 발명의 예에서, 예시의 목적 및 설명의 편의를 위해, 각각의 카메라에 대해 디폴트 QP 값이 30으로 설정되는 것으로 가정한다. 다른 QP 값도 물론 가능하다.
다음으로, 카메라 C, D 및 E에 의해 보고된 QP 값은 하기와 같다고 가정한다(카메라 A 및 B는 이들 할당된 저장 공간을 사용하지 않으므로 무시할 수 있음):
· 카메라 C: QP 값 = 30
· 카메라 D: QP 값 = 35
· 카메라 E: QP 값 = 45
이들 수치로부터, 카메라 C는 원래 특정된 품질로 비디오를 녹화하기 때문에, 실제로 균형을 이룬다고 결론 내릴 수 있으므로 더 많은 저장 공간이 필요하지 않다. 카메라 D는 비디오 품질을 다소 저하시키고, 추가 저장 공간을 활용할 수 있다. 반면에, 카메라 E는 QP 값이 높고, 이의 목표 QP 값 30을 충족시키기 위해 상당한 양의 추가 저장 공간을 활용할 수 있다. 따라서, 시스템은 하기 설정으로 시스템을 다시 균형되게 한다:
· 카메라 A: 10 GB
· 카메라 B: 15 GB
· 카메라 C: 20 GB
· 카메라 D: 22 GB
· 카메라 E: 33 GB
이러한 저장 공간 재분배를 통해 각각의 카메라는 이의 목표 저장 및 목표 QP 값에 도달하는 동시에, 중앙 저장소에서 이용 가능한 100 GB의 저장 공간을 초과하지 않는다. 일 실시 형태에서, 시스템이 목표 QP 값이 30을 만족하도록 저장 공간을 재분할할 수 없다면, 시스템은 대신 전체 목표 QP 값을 증가시키려고 시도할 수 있다(즉, 전체 비디오 품질을 약간 낮춘다). 예를 들어, 시스템은 저장 공간을 재분할하여 카메라에 대해 30이 아닌 31의 목표 QP 값에 도달하도록 시도할 수 있다. 이러한 예에서 사용된 숫자는 본 발명의 일반적인 원리를 설명하기 위한 목적일 뿐이며, 실제 구현예에서는 이러한 예와 크게 다를 수 있음에 유의해야 한다. 본 발명의 다양한 실시 형태가 도면을 참조하여 더욱 상세히 설명될 것이다.
도 1은 카메라(2)에 의해 모니터링되는 장면(1)의 개략도를 도시한다. 도 2는 도 1에서의 카메라(2)가 일부인 카메라 시스템(20)의 개략도를 도시한다. 카메라 시스템(20)은 일부 카메라(2), 네트워크 비디오 레코더(21) 및 디스플레이(23)를 포함하는 사용자 스테이션(user station, 22)을 포함한다. 카메라 시스템(20)은 카메라(2)를 네트워크 비디오 레코더(21)에 연결하고 또한 카메라(2)를 연결하는 네트워크(24)를 더 포함한다. 네트워크(24)는 유선 또는 무선일 수 있으며, 예를 들어 셀룰러 네트워크(cellular network)일 수 있다. 네트워크의 다른 부분은 동일하거나 다른 네트워크 기술을 사용할 수 있다. 예를 들어, 카메라(2)는 유선을 사용하여 네트워크 비디오 레코더(21)에 연결될 수 있고, 사용자 스테이션에 대한 연결은 무선일 수 있다.
일부 사용 경우에서, 사용자 스테이션(22)은 예를 들어 동일한 빌딩에서 카메라(2) 및 네트워크 비디오 레코더(21)에 지리적으로 가깝게 배치될 수 있다. 다른 사용 경우에서, 사용자 스테이션(22)은 떨어져서 배치될 수 있다. 일부 경우에서, 카메라 시스템(20)은 지리적으로 퍼져서, 하나 이상의 카메라가 하나의 위치에 (예를 들어, 한 도시의 상점에) 배치되고, 하나 이상의 다른 카메라는 다른 곳에 (예를 들어, 다른 도시의 다른 상점에) 배치된다. 사용자 스테이션(22)은 물리 장치 또는 장치의 시스템일 수 있다. 예를 들어, 사용자 스테이션(22)은 운영자가 캡처된 비디오 시퀀스를 실시간으로 또는 녹화로부터 시청할 수 있는 제어 센터에 위치된 디스플레이를 갖는 개인용 컴퓨터일 수 있다. 대안으로 또는 추가로, 사용자 스테이션은 스마트폰과 같은 모바일 장치일 수 있다.
도 3은 카메라(2)의 간략화된 블록도를 도시한다. 도 3에 도시된 바와 같이, 카메라(2)는 렌즈(31), 이미지 센서(32), 비트 전송률 제어기(33), 인코더(34), 로컬 저장소(local storage, 35) 및 네트워크 인터페이스(36)를 갖는다. 당업자에 의해 이해될 바와 같이, 카메라(2)는 추가 컴포넌트(component)를 가지지만, 컴포넌트는 본 발명의 다양한 실시 형태의 설명에 필요하지 않기 때문에, 도면에 포함되지 않으며 더 이상 논의되지 않을 것이다.
렌즈(31) 및 이미지 센서(32)에 의해, 카메라(2)는 장면(1)의 이미지를 캡처한다. 이미지는 인코딩된 이미지 프레임의 스트림을 형성하기 위해 인코더(34)에 의해 인코딩된다. 비트 전송률 제어기(33)는 인코더(34)가 원하는 비트 전송률을 전달하는 것을 보장하기 위해, 인코더(34)에 입력되는 QP 값을 설정한다. QP 값은 나중에 자세히 설명될 바와 같이, 자동 또는 시스템 관리자에 의해 설정될 수 있다. 로컬 저장소(35)는 예를 들어 SD 카드일 수 있고, 선택적으로 인코딩된 이미지 프레임을 중앙 저장소로 보내기 전에 카메라에 국부적으로 저장하는데 사용될 수 있다. 네트워크 인터페이스(36)에 의해, 카메라(2)는 인코딩된 이미지 프레임을 네트워크 비디오 레코더(21) 및/또는 사용자 스테이션(22)으로 전송할 수 있다.
도 4는 네트워크 비디오 레코더(21)의 단순화된 블록도를 나타낸다. 네트워크 비디오 레코더(21)는 카메라 시스템(20)에서 카메라(2)에 연결하기 위한 입력(42) 및 사용자 스테이션(22)에 연결하기 위한 출력(43)을 갖는 네트워크 인터페이스(41)를 갖는다. 또한, 네트워크 비디오 레코더(21)는 저장 유닛(44) 및 비트 전송률 제어기(45)를 갖는다. 저장 유닛(44)은 예를 들어 디스크 드라이브일 수 있다. 카메라(2)의 비트 전송률 제어기(33)와 마찬가지로, 네트워크 비디오 레코더의 비트 전송률 제어기(45)의 기능은 이후에 더 설명될 것이다. 네트워크 비디오 레코더(21)는 다른 컴포넌트를 가질 수도 있지만, 이들은 본 발명을 설명하기 위해 필요하지 않기 때문에 도면에 도시되지 않으며 더 이상 논의되지 않을 것이다.
도 5에서, 비트 전송률 제어기(51)의 단순화된 박스도가 도시된다. 비트 전송률 제어기(51)는 카메라(2) 및/또는 네트워크 비디오 레코더(21)에 연결될 수 있는 독립형 유닛일 수 있다. 대안으로, 비트 전송률 제어기(51)는 카메라(2)에 통합될 수 있으며, 이에 의해 도 3에 도시된 비트 전송률 제어기(33)를 대신할 수 있거나, 도 4에 도시된 비트 전송률 제어기(45)를 대신하여 네트워크 비디오 레코더(21)에 통합될 수 있다. 비트 전송률 제어기(51)의 위치에 상관없이, 본질적으로 동일한 컴포넌트를 가지며 본질적으로 동일한 방식으로 작동한다. 따라서, 도 5에 도시된 비트 전송률 제어기(51)의 하기 설명은 도 3의 비트 전송률 제어기(33) 및 도 4의 비트 전송률 제어기(45)에 적용된다.
비트 전송률 제어기(51)는 버짓 설정기(budget setter, 52)를 가지며, 이는 원하는 QP 값 및 중앙 저장소에서 카메라에 할당된 저장 공간에 기초하여, 장기 비트 버짓을 설정하도록 배치된다. 장기 비트 버짓은 카메라에 할당된 저장 공간이 일정 기간 동안 초과하지 않는 것을 보장하기 위해, 비트 전송률 제어기(51)에 의해 제어되는 비디오 인코더에 의해 하나 이상의 날짜와 같은 특정 기간에 걸쳐 출력될 수 있는 비트의 수로 제한을 설정한다. 일 실시 형태에서, 버짓 설정기(52)는 사용된 버짓을 지속적으로 모니터링하고 이의 한계에 도달할 가능성이 있는지 추정한다. 다른 실시 형태들에서, 모니터링은 또한 주기적으로 수행될 수 있다. 버짓이 초과될 가능성이 있는 경우, 비트 전송률 제어기(51)는 장기 비트 버짓과 일치하도록 연장된 기간(시간에서 주 단위로) 동안 QP 파라미터 값을 상승시킨다. 버짓 설정기(52)는 버짓이 미달될 것이라는 것을 발견하면, 비트 전송률 제어기(51)는 목표 QP 파라미터 값에 도달할 때까지 또는 버짓이 QP 값을 낮출 수 없을 때까지 QP 파라미터 값을 낮춘다.
비디오 인코더는 도 3에 도시된 인코더(34)와 같이 카메라에 통합될 수 있다. 그러나, 이러한 비디오 인코더는 다양한 다른 방식으로 배치될 수도 있다. 예를 들어, 비디오 인코더는 카메라에 작동 가능하게 연결된 별도의 유닛일 수 있거나, 도 4에 도시된 네트워크 비디오 레코더(21)와 같은 네트워크 비디오 레코더에 포함될 수 있다. 네트워크 비디오 레코더에서, 비디오 데이터를 트랜스코딩(transcoding)하기 위해 비디오 인코더가 사용될 수 있다. 따라서, 인코딩된 이미지 프레임은 하나 이상의 카메라로부터 수신되고, 네트워크 비디오 레코더의 인코더에서 디코딩되며, 네트워크 비디오 레코더에 저장되거나 사용자 스테이션으로 전송되기 전에 한번 더 인코딩될 수 있다. 트랜스코딩을 위한 인코더는 또한 사용자 스테이션 내 또는 사용자 스테이션에 배치될 수 있다.
비트 전송률 제어기(51)는 비디오 인코더의 출력을 위한 순간 비트 제한(instantaneous bit restriction)을 결정하도록 구성된 비트 제한 결정기(bit restriction determinator, 53)를 더 포함한다. 순간 비트 제한은 장기 비트 버짓보다 상당히 짧은 기간에 적용되며, 예를 들어 비디오 인코더로부터 전송을 위해 이용 가능한 대역폭(bandwidth)일 수 있다.
비트 전송률 제어기(51)는 비트 전송률 계산기(bitrate calculator, 55)를 더 포함한다. 비트 전송률 계산기(55)는 비디오 인코더에 의해 충족되고 QP 값, 장기 비트 버짓 및 할당된 저장 공간을 고려한 출력 비트 전송률을 계산하도록 구성된다.
비트 전송률 제어기(51)의 제어 출력(56)은 계산된 출력 비트 전송률을 비디오 인코더로 출력하도록 구성된다. 이러한 방식으로, 비디오 인코더는 장기 비트 버짓 및 이용 가능한 저장 공간이 준수되는 것을 보장하여, 원하는 보유 시간을 보장하고, 인코딩된 이미지 프레임의 전송이 항상 가능하도록 가용 대역폭과 같은 비트 전송률에 대한 단기간 제한도 존중되는 것을 보장하는 것을 허용하는 출력 비트 전송률로 지시될 수 있다. 적어도 일부 실시 형태들에서, 초기 QP 파라미터 값이 항상 준수되는 것은 아님에 유의해야 한다. 예를 들어, 전술한 바와 같이, 저장 공간이 만족스럽게 재분할될 수 없다면, QP 파라미터 값이 증가될 수 있다.
아래에서 더 설명되는 바와 같이, 출력 비트 전송률은 규칙적인(또는 가능한 불규칙인) 간격으로 재계산될 수 있어, 비디오 인코더의 제어가 동적일 수 있고 QP 값은 미리-결정된 임계값을 초과하지 않는다(즉, 비디오의 품질은 아래로 떨어진다). 비트 전송률 제어기(51)는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 임의의 조합으로 구현될 수 있다.
도 6은 본 발명의 일 실시 형태에 따른, 감시 시스템에 비디오 데이터를 저장하기 위한 방법(600)의 흐름도를 도시한다. 이러한 방법(600)은 예를 들어, 전술 한 바와 같이, 3대 이상의 카메라 및 저장 공간을 포함하는 저장 서비스를 포함하는 감시 시스템에서 수행될 수 있다. 도 6에서 알 수 있는 바와 같이, 방법(600)은 3대 이상의 비디오 카메라 각각으로부터 일정 기간에 걸쳐 캡처된 비디오 데이터를 저장하기 위해 저장 공간을 초기 세트의 할당된 부분으로 분할함으로써 시작한다(단계 602). 이러한 기간은 종종 "보유 시간(retention time)"이라고 하며 일반적으로 고정 날짜가 아닌 "이동 시간 윈도우(moving time window)"을 지칭하고, 예를 들어 비디오는 1월 1-31일이 아닌, 가장 최근 30일 동안 저장되어야 하고, 2월 1일부터 처음부터 다시 시작한다. 일반적으로, 시간 윈도우의 길이는 최소한 하루이며, 종종 몇 주, 몇 달 또는 1년이 될 수도 있다. 시스템의 특정 구현에 따라, 서로 다른 카메라가 동일한 보유 시간을 모두 가질 수 있거나, 예를 들어 이는 더 높은 보안 장면을 모니터링하는 카메라가 더 긴 보유 시간을 가질 수 있는 반면, 더 낮은 보안 장면을 모니터링하는 카메라가 이들 녹화된 비디오를 위해 더 짧은 보유 시간을 가질 수 있도록 보유 시간이 서로 다른 카메라 사이에서 다양할 수 있다는 것에 유의해야 한다.
대부분의 경우, 초기 세트의 할당된 부분은 모두 같은 크기를 가지고, 이는 시스템을 처음 설치할 때 카메라 중에서 어떤 카메라가 가장 많은 저장 공간이 필요한 것을 알 수 없기 때문이다. 물론, 시스템 관리자가 특정 카메라에 다른 카메라보다 더 많은 저장 공간이 필요할 수 있다는 사실을 알고 있거나 의심하는 상황이 있을 수 있으며, 이런 경우 다른 양의 저장 공간이 다른 카메라에 할당될 수 있다.
일반적으로, 초기 세트의 할당된 부분이 할당될 때, 이는 해상도, 코딩, 초기 품질 파라미터 및 프레임 전송률, 및 보유 시간과 같은 비디오 데이터의 상이한 특징과 관련된 통계적 추정에 기초하여 수행된다. 이러한 추정을 하는 많은 방법이 있으며, 이는 당업자에게 명백하다. 일부 실시 형태들에서, 복수의 프로젝트 및 다양한 환경에 걸쳐 복수의 카메라로부터 경험적 데이터를 수집함으로써 생성된 룩업 테이블(lookup table)이 사용될 수 있다. 예를 들어, 사용자는 "24시간 녹화, 30fps 사용 중 장면 및 1080p 프레임 전송률을 원하고 밤에는 적외선을 사용함"이라고 명시할 수 있다. 시스템이 이들 입력 파라미터를 사용하여 룩업 테이블을 참조할 수 있고 사용자는 주당 비디오 또는 이와 유사한 100GB의 저장이 필요하다고 결론을 내릴 수 있다. 이는 단지 예시를 위한 가상의 예일 뿐이며, 모든 숫자는 현재의 특정 상황에 따라 달라질 수 있음에 유의해야 한다.
다음으로, 카메라마다 초기 품질 파라미터 값이 설정된다(단계 604). 초기 품질 파라미터 값은 카메라에 할당된 공간에 충분한 품질의 비디오를 저장할 수 있도록 설정된다. 전술한 바와 같이, 비디오 품질 값은 종종 품질 파라미터(QP) 값으로 표현되는데, 이는 비디오 품질에 반비례, 즉 높은 QP 값은 낮은 비디오 품질에 해당하고 그 반대도 마찬가지이다. QP 값은 각각의 카메라에 대해 동일한 수로 설정될 수 있거나, 녹화하는 장면, 비디오를 위해 원하는 보유 시간 등에 기초하여, 서로 다른 카메라가 서로 다른 QP 값을 가질 수 있음에 유의해야 한다. 일 실시 형태에서, 초기 QP 값은 모든 카메라에 대해 30으로 설정된다. QP 값은 시스템 관리자에 의해 수동으로 설정하거나, 일부 구현에서 카메라 자체에 의해, 카메라에 대한 디폴트 값으로 설정되거나 카메라가 캡처하는 장면에 따라 설정될 수 있다. 일부 실시 형태들에서, 사용자는 실제 QP 파라미터 값을 설정할 수 없지만, 대신 시스템에 의해 QP 파라미터 값으로 이이서 변환되는 0과 100 사이의 값을 선택하도록 요청받는다는 점에 유의해야 한다. 최종 사용자에 대해 0과 100 사이의 값을 선택하는 것이 개념적으로 더 쉬울 수 있으므로, 사용자 경험이 향상될 수 있다.
저장 공간을 할당하고 초기 QP 값을 설정한 후, 시스템은 비디오 품질 값을 유지하는 것은 카메라가 일정 기간에 걸쳐 카메라에 대해 저장 공간의 할당된 부분을 초과할 비디오 데이터의 예상되는 양을 출력하는지 여부를 각각의 카메라에 대해 그리고 개별 시간 간격으로 결정한다(단계 606). 이러한 결정의 이루어지는 빈도는 특정 구현 및 시스템이 사용되는 환경에 따라 달라질 수 있다. 일반적으로, 결정은 매초에서 매분의 범위로 이루어지므로, 본질적으로 연속적으로 결정되지만, 특정 상황에 따라 매시간 또는 매일 결정될 수도 있다.
단계 606에서, 요청된 보유 시간 동안 저장 공간의 할당된 부분을 초과할 비디오 데이터의 예상된 양을 카메라가 생성하지 않는 것으로 결정되면, 아무런 조치도 취하지 않고 프로세스가 종료된다. 한편, 단계 606에서, 적어도 하나의 카메라가 요청된 보유 시간 동안 저장 공간의 할당된 부분을 초과할 비디오 데이터의 예상되는 양을 생성할 것으로 결정되면, 비디오 품질이 현재 품질에 비해 감소되도록 그 카메라의 QP 값이 증가된다(단계 608).
QP 값을 조정한 후, 시스템은 카메라에 대해 조정된 QP 값이 카메라에 대해 미리 결정된 임계값을 초과하도록 증가되었는지 여부를 확인한다(단계 610). 일반적으로, 이러한 임계값은 관리자가 미리 설정한 것으로 카메라에 의해 모니터링되는 특정 감시 상황에 대해 가장 낮은 허용 가능한 비디오 품질을 나타낸다. 전술한 바와 같이, 임계값은 일반적으로 시스템 수준(예를 들어, 30의 QP 값)에서 설정되지만, 예를 들어 다른 카메라가 다른 비디오 품질 요구(예를 들어, 얼굴 인식에 더 높은 품질이 요구되거나, 트래픽 애플리케이션에 대해 더 높은 프레임 전송률)를 갖는 경우, 개별 카메라에 대해 변경될 수 있다.
QP 값이 임계값을 초과하지 않는 것으로 결정되는 경우, 즉 조정된 비디오 품질이 여전히 허용 가능하며 할당된 저장 공간에 비디오를 저장할 공간이 충분하면, 추가 조치를 취하지 않고 프로세스가 종료된다. 그러나, QP 값이 임계값을 초과하면, 저장 공간은 증가된 저장 공간이 이의 임계값을 초과하는 QP 값을 갖는 카메라에 할당되고, 감소된 저장 공간은 다른 카메라의 적어도 하나에 할당되는 방식으로 새로운 세트의 할당된 부분으로 재분할되고(단계 612), 프로세스(600)를 종료한다.
저장 공간의 재분배에 수행되는 방법은 특정 구현에 따라 달라질 수 있다. 그러나, 일반적인 경험칙에 따라 시스템은 카메라가 보유 기간 동안 충분한 품질의 비디오를 저장할 수 있도록 우선 충분한 저장 공간이 없는 카메라에 필요한 여분의 공간이 어느 정도인지 결정하려고 시도한다. 이러한 필요성이 결정되면, 시스템은 전술한 바와 같이 이들 할당에 사용되지 않은 저장 공간이 있는 다른 카메라를 확인하고, 사용되지 않은 공간을 더 많은 저장 공간이 필요한 카메라로 재분배하려고 시도한다. 카메라의 요구를 충족시킬 수 없는 경우, 시스템은 다른 카메라로부터 비디오 품질을 줄일 수 있는지 여부를 확인하려고 시도하고(이들 카메라에 대한 최소 비디오 품질 아래로 떨어뜨리지 않고) 이에 따라 더 많은 공간이 요구되는 카메라에 할당될 수 있는 더 많은 공간을 개방한다(free up). 그런 다음, 이들 결정에 따라, 저장 공간은 시스템에서 카메라들 사이에서 재할당된다.
당업자는 저장 공간을 재분할하기 위한 다양한 유형의 알고리즘을 찾을 수 있음에 유의해야 한다. 예를 들어, 상기 예에서, 카메라 D 및 E의 저장소(모두는 비디오 품질이 저하됨)를 먼저 균등하게 나눈 다음, 기다렸다가 볼 수 있다. 잠시 후, 이로 인해 카메라 D에 필요한 것보다 더 많은 저장 공간이 생길 수 있으며, 그 다음 후속 단계에서 카메라 D에 할당된 일부 저장소가 대체 가능한 구현을 언급하기 위해 카메라 E에 다시 할당될 수 있다.
본 발명에서 설명된 기술은 단지 2대의 카메라를 갖는 시스템에서 작동할 수 있지만, 이들은 적어도 3대의 카메라를 갖는 시스템에서 유리하게 구현된다는 점에 유의해야 한다. 이러한 주요 이유는 예를 들어 일부 카메라(예를 들어, 두대의 카메라)의 경우, 할당된 저장 공간을 수정할 수 있는 반면, 일부 카메라(예를 들어, 제3 카메라)의 경우 할당된 저장 공간이 이의 원래 할당된 저장 공간으로부터 변경되지 않고 유지될 수 있다는 점에서 더 많은 유연성을 제공하기 때문이다. "글로벌(global)" QP 값을 변경하고 시스템에서의 모든 카메라에 대한 비디오 품질을 낮추는 대신 개별 QP 값을 변경할 수 있으므로, 시스템을 훨씬 세밀하게 제어할 수 있다. 또한, 카메라가 3대 이상인 경우에도 일대일 관계가 아니라 카메라 2와 카메라 3에서 카메라 1로 서로 다른 양의 저장 공간을 추가할 수 있고, 시스템에는 두 대의 카메라만 존재한다.
당업자가 인식하는 바와 같이, 전술한 기술을 사용한 결과, 얼마 후, 각각의 카메라가 최적의 레벨에서, 즉 이미지 품질 및 시스템에서 다른 카메라에 대해 저장 요건이 최적화되게 작동되는 것으로 종결된다는 의미에서 전체 비디오 시스템이 전체적으로 "균형을 이루게(balanced)" 된다. 최적의 알고리즘이 사용되는 경우, 시스템은 일반적으로 약 1-3개의 루프 내에서 자체를 균형되게 할 수 있다. 보다 "원래의(naive)" 알고리즘이 사용되는 경우, 시스템은 일반적으로 약 10개의 루프 내에서 균형을 이룬다. 또한, 사용 가능한 저장 공간이 많을수록, 모든 요건을 충족하는 해결책을 더 쉽게 찾을 수 있다. 예를 들어, 상기 예에서 100GB 대신 110GB가 사용 가능한 경우, 모든 카메라가 원하는 30의 QP 파라미터 값에 도달하는 올바른 해결책을 더 쉽게 찾을 수 있다. 카메라에 의해 모니터링되는 장면이 상당한 시간 동안 변경되면, 시스템을 다시 균형을 이루게 하는 것이 필요하다. 이러한 시나리오의 일반적인 예는 빈 사무실 공간을 녹화한 다음 나중에 사람들로 가득 찬 사무실 공간을 녹화하는 카메라일 것이다.
또한, 본 발명의 다양한 실시 형태들은 각각의 카메라가 일정 기간 동안 및 특정 품질 설정에서 얼마나 많은 저장 공간을 필요로 할 것인지의 추정에 따라 저장 공간을 재분배하는 상황에서 설명되었지만, 이들 기술은 다른 상황에서도 적용될 수 있다. 예를 들어, 다양한 이유로 저장소가 시스템으로부터 추가되거나 제거되면, 전술한 원리에 따라 공간이 재할당될 수 있다.
인코더에 의해 인코딩된 이미지는 캡처 카메라로부터 직접 수신될 수 있거나, 이미지가 이미지 처리 유닛으로 전송되기 전에 미리 캡처되고 저장될 수 있음에 유의해야 한다. 따라서, 이미지의 즉각적인 소스(source)는 이미지 센서 또는 데이터 파일일 수 있다.
카메라는 가시광선을 캡처하는 카메라, NIR(근적외선) 방사선을 캡처하는 카메라, 열 카메라, 또는 스크린 캡처 소프트웨어 애플리케이션(비디오 및 동일한 비디오 스트림(메타데이터로 기록됨)에서의 다른 유형의 메타데이터를 혼합함) 또는 H.264 스트림에서 레이더 이미지를 생성하는 레이더와 같은 임의의 유형의 비디오 생성 장치와 같은 임의의 종류의 카메라일 수 있다. 카메라는 바람직하게 디지털 카메라이지만, 대신 디지털 유닛에 연결된 아날로그 카메라일 수 있다. 본 발명의 다양한 실시 형태들은 감시 카메라로 지칭되는 카메라 모니터링의 상황에서 설명되었지만, 다른 카메라 애플리케이션에서도 유리하게 사용될 수 있다.
네트워크 비디오 레코더는 물리 장치로 설명되었지만, 대신 클라우드 서비스(cloud service)일 수 있다. 비록 카메라 시스템이 네트워크 비디오 레코더를 포함하는 것으로 도시되었지만, 네트워크 비디오 레코더없이 카메라 시스템을 배치하는 것은 전적으로 가능하다. 이러한 시스템에서, 저장은 카메라에서 국부적으로 및/또는 제어 센터에서와 같이 원격으로 일어날 수 있다. 일부 실시 형태들에서, 로컬 저장소 및 외부 VMS 저장소의 조합이 있을 수 있다. 또한, 본 발명의 원리는 복수의 센서가 장착되고 카메라 내의 SD 카드와 같은 로컬 메모리에서의 상이한 센서로부터의 데이터를 저장하는 단일 카메라 내에서 사용될 수 있음에 유의해야 한다.
전술한 실시 형태들은 중앙 저장 유닛을 갖는 비디오 시스템에 초점을 맞추고 있지만, 일부 실시 형태들에서, 도면에 도시되고 전술된 카메라(2)는 백업 및 여분(redundancy)에 사용될 수 있는 로컬 저장소(35)를 포함한다. 일부 카메라 시스템에서, 로컬 저장소가 카메라에 포함되어 있지 않고, 네트워크 비디오 레코더 또는 다른 외장 저장소만이 사용된다.
비디오의 녹화 또는 저장은 연속적으로 수행될 수 있지만, 많은 경우 비디오 모션 검출 또는 PIR 센서와 같은 경보 장치로부터의 입력과 같은 이벤트(event)에 의해 트리거링(trigger)될 때만 비디오를 저장하는 것이 유리하다. 이러한 방식으로, 잠재적으로 흥미로운 비디오 시퀀스만을 저장하고 장면에서 아무 일도 일어나지 않을 때 비디오를 저장하지 않음으로써 저장 용량이 절약될 수 있다.
인코딩된 이미지 프레임은 사용자 스테이션으로 연속적으로 전송될 수 있지만, 이는 또한 이벤트 트리거링에 의해 제한될 수 있다. 일부 비디오 시스템에서, 인코딩된 이미지 프레임은 운영자에 의한 저장 및/또는 즉시 시청을 위해, 제어 센터로 연속적으로 전송될 수 있고, 사용자가 장면에서 어떤 일이 발생할 때 경고할 수 있도록 이벤트 트리거링에 따라 모바일 장치에 추가로 전송될 수 있다.
카메라에서의 로컬 저장소는 소위 페일-오버 녹화(fail-over recording)에 사용될 수 있다. 이는 인코딩된 이미지 프레임이 정상적으로 카메라에서 연속적으로 전송되는 경우, 네트워크 연결이 끊어지면 로컬 저장이 시작될 수 있다는 것을 의미한다. 네트워크 연결이 복원되면, 로컬 저장소에 저장된 비디오 데이터가 사용자 스테이션으로 전송될 수 있고, 완전한 비디오 시퀀스가 복원될 수 있다.
인코더는 모션 추정 및 모션 보상을 이용하는 임의의 인코딩 표준에 따라 작동할 수 있다. 인코더는 예를 들어 H.264, H.265 또는 VP9 인코더와 같은 블록 기반 하이브리드 인코더일 수 있다.
또한 일부 실시 형태들에서, 카메라는 예를 들어 스웨덴 룬드의 엑시스 커뮤니케이션즈 AB(Axis Communications AB)에 의해 개발된 "지프스트림(Zipstream)" 기술에서 수행된 바와 같이, 이미지의 다른 부분을 다르게 압축할 수 있음에 유의해야 한다. 지프스트림과 조합하여 본 발명의 다양한 실시 형태들을 사용하는 경우, 초기 QP 파라미터 값은 전체적으로 화상(picture)의 시작 값으로서 사용될 수 있고, 어떠한 이유에 대해서도 "중요한" 것으로 간주되지 않는 이미지의 일부가 더 높은 QP 파라미터 값(즉, 더 낮은 비디오 품질)이 할당될 수 있다. 이미지의 다른 부분들에 대해 상이한 양의 압축을 사용할 때, 임계 QP 값은 일반적으로 "가장 흥미로운" 내용을 갖는 것으로 간주되는 이미지의 영역이 QP 임계값이 무엇이어야 하는지를 결정하도록 설정된다.
본 발명은 통합의 임의의 가능한 기술적 세부 사항 수준에서 시스템, 방법 및/또는 컴퓨터 프로그램 제품일 수 있다. 컴퓨터 프로그램 제품은 프로세서로 하여금 본 발명의 양태를 수행하게 하는 컴퓨터 판독 가능 프로그램 명령어를 컴퓨터 판독 가능 저장 매체(또는 미디어)를 포함할 수 있다.
컴퓨터 판독 가능 저장 매체는 명령어 실행 장치에 의해 사용되는 명령어를 보유 및 저장할 수 있는 유형의 장치일 수 있다. 컴퓨터 판독 가능 저장 매체는 예를 들어, 전자 저장 장치, 자기 저장 장치, 광 저장 장치, 전자기 저장 장치, 반도체 저장 장치, 또는 전술한 것의 임의의 적절한 조합일 수 있지만, 이에 제한되지 않는다. 컴퓨터 판독 가능 저장 매체의 보다 구체적인 예의 비-제한적인 목록은 하기를 포함한다: 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 정적 랜덤 액세스 메모리(SRAM), 휴대용 컴팩트 디스크 판독 전용 메모리(CD-ROM), 디지털 다목적 디스크(DVD), 메모리 스틱 및 전술한 것들의 임의의 적절한 조합. 본 발명에서 사용되는 컴퓨터 판독 가능 저장 매체는 전파 또는 다른 자유 전파 전자기파, 도파관 또는 기타 전송 매체를 통해 전파되는 전자파(예를 들어, 광학 케이블을 통과하는 광 펄스) 또는 전선을 통해 전송되는 전기 신호와 같은 일시적 신호인 것으로 이해되어서는 안된다.
본 발명에서 설명된 컴퓨터 판독 가능 프로그램 명령어는 컴퓨터 판독 가능 저장 매체로부터 각각의 컴퓨팅/처리 장치 또는 인터넷과 같은 네트워크, 근거리 네트워크, 광역 네크워크 및/또는 무선 네트워크를 통해 외부 컴퓨터 또는 외부 저장 장치로 다운로드될 수 있다. 네트워크는 구리 전송 케이블, 광 전송 섬유, 무선 전송, 라우터, 방화벽, 스위치, 게이트웨이 컴퓨터 및/또는 에지 서버를 포함할 수 있다. 각각의 컴퓨팅/처리 장치에서의 네트워크 어댑터 카드 또는 네트워크 인터페이스는 네트워크로부터 컴퓨터 판독 가능 프로그램 명령어를 수신하고 각각의 컴퓨팅/처리 장치 내의 컴퓨터 판독 가능 저장 매체에 저장하기 위한 컴퓨터 판독 가능 프로그램 명령어를 전달한다.
본 발명의 작동을 수행하기 위한 컴퓨터 판독 가능 프로그램 명령어는 어셈블러 명령어, 명령어-아키텍처(ISA) 명령어, 기계 명령어, 기계 의존 명령어, 마이크로코드, 펌웨어 명령어, 상태-설정 데이터, 집적 회로를 위한 구성 데이터, 또는 스몰토크(Smalltalk), C++ 등과 같은 객체 지향 프로그래밍 언어 및 "C" 프로그래밍 언어 또는 유사한 프로그래밍 언어를 포함하는 하나 이상의 프로그래밍 언어의 조합으로 작성된 소스 코드 또는 객체 코드 언어일 수 있다. 컴퓨터 판독 가능 프로그램 명령어는 독립형 소프트웨어 패키지로서, 사용자 컴퓨터에서 전체적으로, 사용자 컴퓨터에서 부분적으로, 사용자 컴퓨터에서 그리고 원격 컴퓨터에서 전체적으로 또는 원격 컴퓨터 또는 서버에서 전체적으로 실행될 수 있다. 후자의 시나리오에서, 원격 컴퓨터는 근거리 통신망(LAN) 또는 광역 통신망(WAN)을 포함하는 임의의 유형의 네트워크를 통해 사용자 컴퓨터에 연결될 수 있거나, 연결이 외부 컴퓨터에서 이루어질 수 있다(예를 들어, 인터넷 서비스 제공자(Internet Service Provider)를 사용하여 인터넷을 통해). 일부 실시 형태들에서, 예를 들어 프로그램 가능한 논리 회로, 필드 프로그램 가능한 게이트 어레이(FPGA), 또는 프로그램 가능한 논리 어레이(PLA)를 포함하는 전자 회로는 본 발명의 양태를 수행하기 위해, 전자 회로를 개인화하기 위한 컴퓨터 판독 가능 프로그램 명령어의 상태 정보를 이용함으로써 컴퓨터 판독 가능 프로그램 명령어를 실행할 수 있다.
본 발명의 양태는 본 발명의 실시 형태들에 따른 방법, 장치(시스템) 및 컴퓨터 프로그램 제품의 흐름도 및/또는 블록도를 참조하여 본 발명에서 설명된다. 흐름도 및/또는 블록도의 각각의 블록, 및 흐름도 및/또는 블록도에서의 블록의 조합은 컴퓨터 판독 가능 프로그램 명령어에 의해 구현될 수 있음을 이해할 것이다.
이들 컴퓨터 판독 가능 프로그램 명령어는 범용 컴퓨터, 특수 목적 컴퓨터 또는 기타 프로그램 가능한 데이터 처리 장치의 프로세서에 제공되어 장치를 생성할 수 있어, 컴퓨터 또는 다른 프로그램 가능한 데이터 처리 장치의 프로세서를 통해 실행되는 명령어가 흐름도 및/또는 블록도 블록 또는 블록들에 지정된 기능/작동을 구현하기 위한 수단을 생성한다. 이들 컴퓨터 판독 가능 프로그램 명령어는 또한 컴퓨터, 프로그램 가능한 데이터 처리 장치 및/또는 다른 장치를 특정 방식으로 기능하도록 지시할 수 있는 컴퓨터 판독 가능 저장 매체에 저장될 수 있어, 명령어가 저장된 컴퓨터 판독 가능 저장 매체는 흐름도 및/또는 블록도 블록 또는 블록들에 지정된 기능/작동의 양태를 구현하는 명령어를 포함하는 제조 물품을 포함한다.
컴퓨터 판독 가능 프로그램 명령어는 또한 일련의 작동 단계가 컴퓨터, 다른 프로그램 가능한 데이터 장치, 또는 다른 장치에서 수행되게 컴퓨터, 다른 프로그램 가능한 데이터 처리 장치, 또는 다른 장치로 로딩되어 컴퓨터 구현된 프로세서를 생성하여, 컴퓨터, 다른 프로그램 가능한 장치 또는 다른 장치에서 실행되는 명령어가 흐름도 및/또는 블록도 블록 또는 블록들에 지정된 기능/작동을 구현한다.
도면에서의 흐름도 및 블록도는 본 발명의 다양한 실시 형태들에 따른 시스템, 방법 및 컴퓨터 프로그램 제품의 가능한 구현의 구조, 기능 및 작동을 도시한다. 이와 관련하여, 흐름도 또는 블록도에서의 각각의 블록은 지정된 논리 기능(들)을 구현하기 위한 하나 이상의 실행 가능한 명령어를 포함하는 모듈, 세그먼트(segment) 또는 명령어의 일부를 나타낼 수 있다. 일부 대안적인 구현들에서, 블록들에서 언급된 기능들은 도면들에서 언급된 순서를 벗어나서 발생할 수 있다. 예를 들어, 연속으로 도시된 두개의 블록은 실제로 실질적으로 동시에 실행될 수 있거나, 관련된 기능에 따라 블록이 때때로 역순으로 실행될 수 있다. 또한, 블록도 및/또는 흐름도의 각각의 블록, 및 블록도 및/또는 흐름도에서의 블록의 조합은 특정 기능 또는 작동을 수행하는 특수 목적의 하드웨어 기반 시스템에 의해 구현되거나 특수 목적 하드웨어와 컴퓨터 명령어의 조합을 수행할 수 있다.
본 발명의 다양한 실시 형태들의 설명은 예시의 목적으로 제공되지만, 개시된 실시 형태들로 배타적이거나 제한되도록 의도되지 않는다. 설명된 실시 형태들의 범위 및 사상을 벗어나지 않고 많은 수정 및 변형이 당업자에게 명백할 것이다. 본 발명에서 사용된 용어는 실시 형태들의 원리, 시장에서 발견된 기술들에 대한 실질적인 애플리케이션 또는 기술 개선을 가장 잘 설명하거나 당업자가 본 발명에 개시된 실시 형태들을 이해할 수 있도록 하기 위해 선택되었다.

Claims (14)

  1. 3대 이상의 카메라 및 저장 공간을 포함하는 저장 서비스를 포함하는 감시 시스템에 비디오 데이터를 저장하기 위한 방법으로,
    상기 3대 이상의 비디오 카메라 각각으로부터 일정 기간에 걸쳐 캡처된 비디오 데이터를 저장하기 위해 상기 저장 공간을 초기 세트의 할당된 부분으로 분할하는 단계 - 상기 초기 세트의 할당된 부분에서의 각각의 할당된 부분은 상기 3대 이상의 카메라 중 하나의 카메라로부터 비디오 데이터를 저장하도록 구성됨 -;
    각각의 카메라에 대해, 상기 카메라에 의해 캡처된 비디오를 인코딩하기 위한 비디오 품질 값을 설정하는 단계;
    상기 비디오 품질 값을 유지하는 것이 상기 카메라가 상기 일정 기간 동안 상기 카메라에 대해 저장 공간의 상기 할당된 부분을 초과할 것으로 예상되는 양의 비디오 데이터를 출력하게 하는지 여부를 각각의 카메라에 대해 그리고 개별 시간 간격으로 결정하는 단계;
    비디오 데이터의 상기 예상되는 양이 저장 공간의 상기 할당된 부분을 초과할 것이라고 적어도 하나의 카메라에 대해 결정하는 것에 응답하여, 현재 비디오 품질 값에 의해 표시되는 상기 비디오 품질 값에 비해 감소된 비디오 품질을 나타내는 비디오 품질 값으로 상기 비디오 품질 값을 조정하는 단계; 및
    카메라로부터 감소된 비디오 품질 값이 비디오 품질 임계값에 의해 표시되는 비디오 품질 아래로 떨어지는 비디오 품질을 나타내는 것으로 결정되는 것에 응답하여, 상기 저장 공간을 새로운 세트의 할당된 부분으로 재분할하는 단계 - 증가된 저장 공간은 비디오 품질 임계값에 의해 표시되는 상기 비디오 품질 아래로 떨어지는 비디오 품질을 갖는 카메라에 할당되고 감소된 저장 공간은 적어도 하나의 다른 카메라에 할당됨 -를 포함하는 방법.
  2. 제1항에 있어서, 상기 초기 세트의 할당된 부분에서의 할당된 부분은 동일한 크기를 갖는 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 저장 공간을 초기 세트의 할당된 부분으로 분할하는 단계는 상기 비디오 데이터의 해상도, 코딩, 초기 품질 파라미터 및 프레임 전송률, 및 보유 시간의 하나 이상의 특징에 관한 통계적 추정에 기초하여 수행되는 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 비디오 품질 값은 양자화 파라미터 값으로 표시되는 것을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 비디오 품질 값은 각각의 카메라에 대해 개별적으로 설정 및 조정되는 것을 특징으로 하는 방법.
  6. 제1항에 있어서, 상기 일정 기간은 적어도 하루를 나타내는 이동하는 시간 윈도우에 의해 정의되는 것을 특징으로 하는 방법.
  7. 제1항에 있어서, 상기 개별 시간 간격은 대략 초 내지 대략 시간 범위인 것을 특징으로 하는 방법.
  8. 제1항에 있어서, 각각의 카메라는 상기 카메라에 의해 캡처된 상기 비디오 데이터를 저장하기 위해 연관된 유지 시간을 갖는 것을 특징으로 하는 방법.
  9. 제1항에 있어서, 상기 초기 비디오 품질 값은 시스템 관리자에 의해 수동으로 설정되는 것을 특징으로 하는 방법.
  10. 제1항에 있어서, 상기 초기 비디오 품질 값은 상기 카메라에 의해 캡처된 특정 감시 장면에 기초하여 상기 카메라에 의해 자동으로 설정되는 것을 특징으로 하는 방법.
  11. 3대 이상의 카메라 및 저장 공간을 포함하는 저장 서비스를 포함하는 감시 시스템에 비디오 데이터의 저장을 제어하기 위한 저장 제어기로서,
    상기 저장 공간을 상기 3대 이상의 비디오 카메라 각각으로부터 일정 기간에 걸쳐 캡처된 비디오 데이터를 저장하기 위해 초기 세트의 할당된 부분으로 분할하도록 배치되는 저장 분할 모듈 - 상기 초기 세트의 할당된 부분에서의 각각의 할당된 부분은 상기 3대 이상의 카메라 중 하나의 카메라로부터 비디오 데이터를 저장하도록 구성됨 -;
    상기 카메라에 의해 캡처된 비디오를 인코딩하기 위한 비디오 품질 값을 각각의 카메라에 대해 설정하도록 배치된 품질 값 설정 모듈;
    각각의 카메라에 대해 그리고 개별 시간 간격으로, 상기 비디오 품질 값을 유지하는 것이 상기 카메라가 일정 기간 동안 상기 카메라에 대해 저장 공간의 상기 할당된 부분을 초과할 비디오 데이터의 예상되는 양을 출력하게 하는지 여부를 결정하고;
    비디오 데이터의 상기 예상되는 양이 저장 공간의 상기 할당된 부분을 초과할 것이라고 적어도 하나의 카메라에 대해 결정하는 것에 응답하여, 상기 비디오 품질 값을 현재 비디오 품질 값에 의해 표시되는 상기 비디오 품질에 비해 감소된 비디오 품질을 나타내는 비디오 품질 값으로 조정하며;
    카메라로부터의 감소된 비디오 품질 값이 비디오 품질 임계값에 의해 표시되는 비디오 품질 아래로 떨어지는 비디오 품질을 나타내는 것으로 결정된 것에 응답하여, 상기 저장 공간을 새로운 세트의 할당된 부분으로 재분할하도록 - 증가된 저장 공간은 비디오 품질 임계값에 의해 표시되는 비디오 품질 아래로 떨어지는 비디오 품질을 갖는 상기 카메라에 할당되고 감소된 저장 공간은 적어도 하나의 다른 카메라에 할당됨 -; 배치되는 결정 모듈을 포함하는 저장 제어기.
  12. 3대 이상의 카메라 및 저장 공간을 포함하는 저장 서비스를 포함하는 감시 시스템에 비디오 데이터를 저장하기 위한 컴퓨터 프로그램 제품으로, 상기 컴퓨터 프로그램 제품은 그에 의해 구현된 프로그램 명령어를 갖는 컴퓨터 판독 가능 저장 매체를 포함하고, 상기 프로그램 명령어는 프로세서가 하기를 포함하는 방법을 수행하게 하는 프로세서에 의해 실행 가능한 컴퓨터 프로그램 제품:
    상기 저장 공간을 3대 이상의 비디오 카메라 각각으로부터 일정 기간에 걸쳐 캡처된 비디오 데이터를 저장하기 위해 초기 세트의 할당된 부분으로 분할하는 단계;
    각각의 카메라에 대해, 상기 카메라에 의해 캡처된 비디오를 인코딩하기 위한 비디오 품질 값을 설정하는 단계 - 상기 초기 세트의 할당된 부분에서의 각각의 할당된 부분은 상기 3대 이상의 카메라 중 하나의 카메라로부터의 비디오 데이터를 저장하도록 구성됨 -;
    상기 비디오 품질 값을 유지하는 것이 상기 카메라가 상기 일정 기간 동안 상기 카메라에 대해 저장 공간의 상기 할당된 부분을 초과할 비디오 데이터의 예상되는 양을 출력하게 하는지의 여부를 각각의 카메라에 대해 그리고 개별 시간 간격으로 결정하는 단계;
    비디오 데이터의 상기 예상된 양이 저장 공간의 상기 할당된 부분을 초과할 거이라고 적어도 하나의 카메라에 대해 결정하는 것에 응답하여, 상기 비디오 품질 값을 현재 비디오 품질 값에 의해 표시되는 상기 비디오 품질에 비해 감소된 비디오 품질을 나타내는 비디오 품질 값으로 조정하는 단계; 및
    카메라로부터의 감소된 비디오 품질 값이 비디오 품질 임계값에 의해 표시되는 비디오 품질 아래로 떨어지는 비디오 품질을 나타내는 것으로 결정된 것에 응답하여, 상기 저장 공간을 새로운 세트의 할당된 부분으로 재분할하는 단계 - 증가 된 저장 공간은 비디오 품질 임계값에 의해 표시되는 상기 비디오 품질 아래로 떨어지는 비디오 품질을 갖는 카메라에 할당되고 감소된 저장 공간은 적어도 하나의 다른 카메라에 할당됨 -.
  13. 제11항에 따른 저장 제어기를 포함하는 카메라.
  14. 제11항에 따른 저장 제어기를 포함하는 네트워크 비디오 레코더.
KR1020190116622A 2018-12-21 2019-09-23 비디오 녹화 시스템에서 복수의 카메라간 어댑티브 저장소 KR102251230B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP18215008.6 2018-12-21
EP18215008.6A EP3672231B1 (en) 2018-12-21 2018-12-21 Adaptive storage between multiple cameras in a video recording system

Publications (2)

Publication Number Publication Date
KR20200078309A KR20200078309A (ko) 2020-07-01
KR102251230B1 true KR102251230B1 (ko) 2021-05-12

Family

ID=65019250

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190116622A KR102251230B1 (ko) 2018-12-21 2019-09-23 비디오 녹화 시스템에서 복수의 카메라간 어댑티브 저장소

Country Status (6)

Country Link
US (1) US11115619B2 (ko)
EP (1) EP3672231B1 (ko)
JP (1) JP6999633B2 (ko)
KR (1) KR102251230B1 (ko)
CN (1) CN111355911B (ko)
TW (1) TWI767165B (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114447638B (zh) * 2021-12-28 2024-04-16 兰马 带有电力线路运行数据在线监测功能的自锁接地环

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170280102A1 (en) 2016-03-22 2017-09-28 Sensormatic Electronics, LLC Method and system for pooled local storage by surveillance cameras

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8160426B2 (en) * 2007-10-12 2012-04-17 Rovi Guides, Inc. Storage management of a recording device in a multi-user system
JP2010004331A (ja) * 2008-06-20 2010-01-07 Panasonic Corp 画像記録装置及び画像記録方法
US8548297B2 (en) * 2008-09-11 2013-10-01 Nice Systems Ltd. Method and system for utilizing storage in network video recorders
US20100208064A1 (en) * 2009-02-19 2010-08-19 Panasonic Corporation System and method for managing video storage on a video surveillance system
US8594182B1 (en) * 2009-05-18 2013-11-26 Verint Systems, Inc. Systems and methods for video rate control
JP5495625B2 (ja) 2009-06-01 2014-05-21 キヤノン株式会社 監視カメラシステム、監視カメラ及び監視カメラ制御装置
EP2538672B1 (en) 2011-06-21 2020-08-12 Axis AB Method for configuring networked cameras
WO2013149340A1 (en) * 2012-04-02 2013-10-10 Mcmaster University Optimal camera selection iν array of monitoring cameras
US9507750B2 (en) 2012-10-12 2016-11-29 A9.Com, Inc. Dynamic search partitioning
KR102050420B1 (ko) * 2013-06-20 2020-01-08 한화테크윈 주식회사 영상신호 저장 방법
US10198461B2 (en) 2016-05-06 2019-02-05 Masergy Communications, Inc. Data storage system
CN108093209B (zh) * 2016-11-21 2024-04-12 松下知识产权经营株式会社 影像传输系统以及移动摄像机设备
EP3396961A1 (en) * 2017-04-24 2018-10-31 Axis AB Method and rate controller for controlling output bitrate of a video encoder
EP3396954A1 (en) 2017-04-24 2018-10-31 Axis AB Video camera and method for controlling output bitrate of a video encoder

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170280102A1 (en) 2016-03-22 2017-09-28 Sensormatic Electronics, LLC Method and system for pooled local storage by surveillance cameras

Also Published As

Publication number Publication date
JP6999633B2 (ja) 2022-01-18
CN111355911B (zh) 2021-12-03
EP3672231B1 (en) 2021-05-26
EP3672231A1 (en) 2020-06-24
TWI767165B (zh) 2022-06-11
KR20200078309A (ko) 2020-07-01
US20200204757A1 (en) 2020-06-25
JP2020120373A (ja) 2020-08-06
US11115619B2 (en) 2021-09-07
CN111355911A (zh) 2020-06-30
TW202038598A (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
KR101627399B1 (ko) 카메라와 배경 모션에 기반한 기준 프레임 버퍼의 적응적 구성
US10574996B2 (en) Method and rate controller for controlling output bitrate of a video encoder
KR102537858B1 (ko) 비디오 인코더의 출력 비트레이트를 제어하기 위한 방법 및 비트레이트 컨트롤러
US20210321123A1 (en) A load balancing method for video decoding in a system providing hardware and software decoding resources
KR102251230B1 (ko) 비디오 녹화 시스템에서 복수의 카메라간 어댑티브 저장소
US10706700B2 (en) Prioritization of video sources
WO2019229213A1 (en) A load balancing method for video decoding in a system providing hardware and software decoding resources
US10721473B2 (en) Systems and methods for adjusting the frame rate of transmitted video based on the level of motion in the video
US10129551B2 (en) Image processing apparatus, image processing method, and storage medium
US20220210415A1 (en) Still frame detection in video data

Legal Events

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