Understanding ACF


 

White Papers Home

Understanding ACF

This document provides an introduction to the feature Activity Controlled Frame rate (ACF). ACF rate control provides a mechanism for drastically reducing the amount of required storage by significantly reducing the frame rate of the video during periods of inactivity but returning to normal frame rate immediately upon detection of activity.


Contents

1 INTRODUCTION

2 QUICK INSTALLATION

3 ACF

3.1 Advantages of ACF
3.2 How ACF works
3.3 Estimating ACF savings

4 CONFIGURATION

5 ACF, ANALYTICS AND EVENTS

6 FREQUENTLY ASKED QUESTIONS

References

Terminology


1 INTRODUCTION

This document provides an introduction to Activity Controlled Frame rate control (ACF). ACF rate control provides a mechanism for drastically reducing the amount of required storage by significantly reducing the frame rate of the video during periods of inactivity but returning to normal frame rate immediately upon detection of activity.

When selected, ACF automatically controls the frame rate, and consequently the bitrate, of a video stream, based on the amount of activity occurring in front of the camera. During periods of activity, video is streamed using the standard video configuration for the stream. In this case ACF is said to be in an active mode. However, during periods of sustained inactivity ACF significantly reduces the necessary bandwidth and storage requirements by automatically reducing the frame rate. In this case ACF is said to be in a passive mode. The process of determining whether to switch between modes is known as activity detection.

Activity detection is achieved using an Analytics Activity Filter. As such ACF must use a Qualification process as with Analytics. Analytics and Qualification are discussed in much greater detail in [1].

This document refers to the IndigoVision 2.12.0 8000 release firmware.


2 QUICK INSTALLATION

This section provides a quick guide to configuring ACF. However, for best results and more detailed configuration information further reading is recommended.

Assuming that Control Center has been installed and configured, and that the transmitter has been configured for normal video operation:

1. Select Site Setup in Control Center and select transmitter to configure

2. Click on the Configure tab

3. Select Video to access the Video Configuration page

4. Choose stream for which you wish to use ACF e.g. “Stream 1”

5. Select “ACF-Filter1” from the Rate Control drop-down menu and Submit

6. In Control Center view this stream from transmitter in a Live Video pane

7. Right-click in the video pane and select Show Stream Statistics

8. Ensure no activity occurs in front of the camera for at least 20 seconds

9. Check frame rate has dropped to 1fps.

10. Check that when activity occurs video returns to normal frame rate

If the frame rate fails to drop to 1 fps, or trips back to normal frame rate for no apparent reason, you need to tune ACF for your particular application. Failure to drop to 1fps can be due to a number of factors including camera noise, vibrations, and other environmental factors. To reduce the effect of these factors:

11. Return to the Configure tab in Control Center Site Setup

12. Select Analytics to access the Analytics Configuration page

13. Optionally, use the Region Of Interest editor to remove areas with unwanted activity, such as PC monitors, trees, external windows etc..

14. For “Filter 1” lower the sensitivity value to reduce sensitivity and Submit

15. Repeat 8 through 10

For 8000 2.11.0 firmware or later combined with Control Center 2.8 or later:

1. Select Embed analytics data from the Video Configuration page and Submit.

2. Right-click on video pane in Control Center and select Show Video Analysis

3. Use the current activity level indicated by the bar marked ‘1’ (Filter 1) to aid adjustment of the sensitivity level in step 14. The horizontal white line across the vertical activity level indicator is controlled by the sensitivity value and represents the threshold over which sustained activity will cause ACF to trip from passive to active mode i.e. return to normal frame rate.


3 ACF

ACF is an intelligent bit rate control algorithm. It uses built-in video analytics technology to significantly reduce the required bandwidth and storage requirements during large periods of inactivity, typical in applications such as CCTV.


3.1 Advantages of ACF

There are a number of distinct advantages to ACF:

  • Reduced network congestion: Increased bandwidth is available for the most important cameras i.e. the cameras that are monitoring some form of activity.
  • Significantly reduced storage requirements: During periods of inactivity storage is not wasted recording video at an unnecessary frame rate.
  • Normal frame rate on activity: As soon as activity is detected normal video operation is instantly resumed ensuring important information is not lost.
  • Faster post-processing, access and downloads: As there is significantly less data to process, operations such as motion search in Control Center and MP4 export can be performed faster.
  • Pre-event recording: ACF provides a low cost solution to pre-event recording. ACF can be configured to return to full frame rate just before an analytics event (alarm) providing for low frame rate recording before an incident and full rate recording during and post-incident.
  • Simple configuration: The user can optimise ACF performance by varying sensitivity and defining a region-of-interest in which to monitor for activity.

3.2 How ACF works

ACF has two modes: active and passive. In active mode the transmitter uses the standard configuration provided by the installer exactly as shown on the Video Configuration page, an example of which is shown in Figure 2. In passive mode the transmitter uses its own internal configuration designed to reduce both required storage and network bandwidth.

Table 2 shows the values that differ between passive and active modes – the values in brackets are examples from the web page shown in Figure 2. All other parameters, such as resolution, are unaffected by ACF mode.


Parameter

Passive mode

Active mode

Target Bit-Rate

Reduced*1 (164/136)

As per web page (4096)

Rate Control

Capped

Capped

Frame rate divisor

25/30 on PAL/NTSC

As per web page (1)

I-frame Interval

20000

As per web page (4000)


Table 1: Terminology

Reducing the frame rate in passive mode reduces all the overhead of encoding every frame when it is simply not necessary due to the lack of activity.

Reducing the target bitrate in passive mode implies that the target number of bits per frame of video remains the same. This means that the video quality of each frame remains largely independent of the frame rate.

Increasing the I-frame interval in passive mode reduces the number of large I-frames in the stream. Although I-frames are used as access points during playback, random access at these times is less important due to the lack of activity.

The graph in Figure 1 clearly shows the benefit of ACF in storage, in which we compare the storage requirements for 4Mbps CBR stream over a 4Mbps ACF stream over the period of 1 hour. It is clear that activity is detected both after 20 and 40 minutes, with the activity lasting for several minutes in each case.

Example ACF v CBR storage at 4Mbps

Figure 1: Example ACF v CBR storage at 4Mbps

Activity detection is used to control the switching between passive and active modes and is achieved using the output from an Analytics filter. In this version of firmware this is restricted to a simple Activity Filter. ACF switches from passive to active mode when the level of activity determined by the Activity Filter exceeds a threshold level. ACF switches from active to passive mode when the Activity Filter has reported no activity for at least 20 seconds.

*1 Bitrate is reduced is by the same ratio as the frame rate divisor. For example, in Figure 2, passive mode uses 4096*1/25 for PAL or 4096*1/30 for NTSC.


3.3 Estimating ACF savings

Estimating the potential savings with a particular application can be calculated using the Storage Calculator provided on the IndigoVision website, or empirically using Control Center which shows the average bitrate for a camera.


4 Configuration

In order to use ACF rate control select the “ACF–Filter 1” option in the Rate Control drop-down menu on the Video Configuration page, as shown in Figure 2. In this example the first video stream, “Stream 1” has been configured to use ACF using the Analytics Activity Filter, “Filter 1”. Figure 2: Selecting ACF rate control Once ACF has been selected and submitted check the result by viewing the video in Control Center. Of course it should be very hard to discern whether ACF is actually in active or passive mode by simply looking at the video, so instead select Show

In firmware 2.12.0 it is only possible to select Analytics Filter 1 with ACF.

Selecting ACF rate control

Figure 2: Selecting ACF rate control

Once ACF has been selected and submitted check the result by viewing the video in Control Center. Of course it should be very hard to discern whether ACF is actually in active or passive mode by simply looking at the video, so instead select Show

Stream Statistics from the Live Video drop-down menu option in Control Center. Figure 3 shows a video stream that has successfully switched into passive mode.

Video switched to 4SIF 52kbps at 1fps (passive mode)

Figure 3: Video switched to 4SIF 52kbps at 1fps (passive mode)

As with all analytics-based systems there are possibilities of false alarms. A false alarm, in the case of ACF, causes the switching from passive to active mode when no discernable activity has seemed to occur in the video. False alarms can come from a number of sources, such as trees, shadows, camera noise etc.. False alarms and Analytics are covered in far more detail in “Understanding Analytics” [1].

If having selected ACF the stream fails to switch into passive mode you can tune the Analytics Activity Filter (Filter 1) via the Analytics Configuration page, as shown in Figure 4.

Tuning the Analytics Activity Filter

Figure 4: Tuning the Analytics Activity Filter

In order to remove potential false alarm sources you should make use the Region of Interest editor. Click on the Edit button on the Analytics Configuration page. This will bring up the Region of Interest Editor, as shown in Figure 5.

Configuring a region-of-interest

Figure 5: Configuring a region-of-interest

In the example shown in Figure 5 the trees and building in the background are now ignored by the Activity Filter – always remove areas in which you are not interested as not to give it a chance to generate a potential false alarm, even though one may not be obvious at the time when you configure. In this case lights being switched on in the building opposite may trigger activity to be detected. Also notice that the bushes have been removed. These may cause false alarms with high winds.

Once you have configured and submitted a region-of-interest check to see if ACF has successfully dropped to 1fps, or remains too sensitive. If ACF remains too sensitive you can adjust the sensitivity level for “Filter 1” back on the Analytics Configuration page. See Figure 4. If ACF is too sensitive you should decrease the sensitivity value for Filter 1. Continue to adjust the sensitivity until a satisfactory level of performance is achieved.

Finally, run the system for at least 24 hours and review the results, checking for changes in behaviour, for example at night or in low light.

For 2.11.0 firmware or later (requires Control Center 2.8 or later):

In order to aid the process of configuration you can embed important configuration information in a video stream via the Video Configuration page. Figure 6 shows that “Stream 1” has this feature enabled.

Embed analytics data in the video stream

Figure 6: Embed analytics data in the video stream

To view this configuration information select the Show Video Analysis option in the Control Center video pane displaying “Stream 1”. Two level indicators will appear, as shown in Figure 7, representing the two Analytics filters, “Filter 1” and “Filter 2”. ACF uses “Filter 1” and the level indicator is marked with the numeral “1”.

Using Control Center to aid configuration

Figure 7: Using Control Center to aid configuration

The level achieved by the “Filter 1” indicator represents the current level of activity that has been detected by “Filter 1” – the Analytics Activity Filter. The white horizontal line that crosses the level indicator, about two-thirds the way up, represents the threshold over which ACF will switch between passive and active mode. Adjusting the “Filter 1” sensitivity value adjusts this threshold - the lower the sensitivity, the higher the threshold that activity must exceed to cause a mode switch. Note: ACF is robust to very short bursts of activity that exceeds the threshold.

TIP #1:

The level indicators are updated at the frame rate of the incoming video stream, so try adjusting the “Filter 1” sensitivity in standard “CBR” mode before selecting “ACF-Filter 1” rate control.

TIP #1:

To help with reviewing a 24-hour ACF test, record the video stream with the Embed analytics data feature enabled. You can also use the Show Video Analysis in Control Center playback when reviewing overnight footage.

TIP #3:

A night poorly lit scenes can generate very high levels of noise from the camera sensor. Significant improvements in ACF performance can be achieved by removing unlit areas with the ROI editor and by simply reducing the bitrate, using the day/night option. For example, using 4Mbps 4CIF during the day, and 1Mbps 4CIF at night.

TIP #4:

Once you have successfully configured ACF turn off the Embed analytics data feature for the video stream, unless required, as it consumes a small overhead in bandwidth and storage.


5 ACF, Analytics and Events

Analytics is the process within the 8000 transmitter of analysing the incoming video stream from the camera using various statistical techniques. This statistical information is then processed further by a set of Analytics Filters, which can be configured to perform certain tasks.

This version of 8000 firmware comes with two in-built Analytics Filters: “Filter 1” and “Filter 2”. The filter outputs are currently hard-coded to perform certain tasks.

  • “Filter 1” output is used exclusively to control switching between ACF modes. ��
  • “Filter 2” output is used exclusively to generate events (Control Center alarms).

ACF and events can be used completely independently, making it possible to configure a transmitter to use either ACF or generate events or both. Analytics generated events are covered in detail in “Understanding Analytics” [1].

When both ACF and event-generation are used in combination it is possible to configure the transmitter such that video switches from passive to active mode before an analytics event, providing all-important pre-alarm video data. This is demonstrated in Figure 8 and Figure 9.

Activity and motion detected

Figure 8: Activity and motion detected

In Figure 8 activity is detected at 18:30:08 as the door starts to open. ACF immediately switches to active mode and starts streaming high quality full frame rate video. One second later the person that started to open the door has now entered the room and consequently generated an analytics event.

Activity detected but no motion detected

Figure 9: Activity detected but no motion detected

Figure 9 demonstrates a similar scenario. However, in this case the person has started but not actually entered the room. As such, this correctly does not trigger an analytics event. In this case the activity has simply switched ACF into active mode, such that the incident can perhaps be examined later in detail (as running at full frame rate) when for example a motion search is run on the recording.


6 Frequently Asked Questions

1. Can events be generated from Filter 1?
No. Only Filter 2 can generate events at this time.

2. Can you generate analytics-based events at the same time as using ACF?
Yes. In fact they are designed to work in parallel. See Section 5.

3. Are the passive mode ACF configuration parameters modifiable?
No. These parameters are hard-coded into the transmitter.

4. What active mode bitrate should I select?
Choose a bitrate that provides the video quality you wish to see when there is activity. ACF will attempt to maintain the quality, at a lower frame rate.

5. Why is motion outside the ROI is of poor quality?
If significant motion does occur outside the region of interest it will be encoded less efficiently and consequently at lower quality. As motion out with this region is not of interest low quality video is deemed acceptable.

6. I have selected a small region-of-interest in order to exclude some constant significant motion. Though activity is correctly detected in my ROI the savings made with ACF are not as much as I’d hoped?
The reduced frame rate applies to all video, and not just the video in the ROI, meaning motion outside the ROI is also encoded at a low frame rate. At low frame rates the MPEG-4 encoder is less efficient at encoding significant motion. As such, it is not recommended to use ACF in situations where there is significant motion outside the ROI but within the field of view.

7. I can’t get ACF to go into passive mode?
Check that the region-of-interest has been configured correctly and the sensitivity level for Filter 1 adjusted. See Section 4.

8. What is the smallest region-of-interest I can set?
Theoretically, it is possible to set a region of interest with only a single detection cell. However, this is not recommended. A ROI greater than onethird the total field of view is recommended.

9. What is the recommended minimum active mode I-frame interval?
It is recommended that the I-frame interval be left at the default of 4000ms, though it can be lowered to 1000ms. ACF will not work on an I-frame only bitstream.

10. Should I use ACF even when running at low frame rates in active mode?
Yes. However, the advantage of ACF at these lower frame rates is reduced.


References

[1] “Understanding Analytics”, IC-COD-REP017-4.3, 27 July 2006.


Terminology


Term

Definition

ACF

Activity Controlled Frame rate

Active mode

Video transmitted at normal frame rate due to activity

CBR

Capped Bit Rate

False alarm

A spurious or unwanted detection generated by a filter.

FAR

False Alarm Rate. Number of false alarms over set time period.

Passive mode

Video transmitted at reduced frame rate due to inactivity

ROI

Region Of Interest

back to top