Fairness scheme for energy efficient H.264/AVCbased video sensor network
 Bambang AB Sarif^{1}Email author,
 Mahsa T Pourazad^{1, 2},
 Panos Nasiopoulos^{1},
 Victor CM Leung^{1} and
 Amr Mohamed^{3}
DOI: 10.1186/s1367301500252
© Sarif et al.; licensee Springer. 2015
Received: 20 November 2014
Accepted: 12 February 2015
Published: 7 March 2015
Abstract
The availability of advanced wireless sensor nodes enable us to use video processing techniques in a wireless sensor network (WSN) platform. Such paradigm can be used to implement video sensor networks (VSNs) that can serve as an alternative to existing video surveillance applications. However, video processing requires tremendous resources in terms of computation and transmission of the encoded video. As the most widely used video codec, H.264/AVC comes with a number of advanced encoding tools that can be tailored to suit a wide range of applications. Therefore, in order to get an optimal encoding performance for the VSN, it is essential to find the right encoding configuration and setting parameters for each VSN node based on the content being captured. In fact, the environment at which the VSN is deployed affects not only the content captured by the VSN node but also the node’s performance in terms of power consumption and its lifetime. The objective of this study is to maximize the lifetime of the VSN by exploiting the tradeoff between encoding and communication on sensor nodes. In order to reduce VSNs’ power consumption and obtain a more balanced energy consumption among VSN nodes, we use a branch and bound optimization techniques on a finite set of encoder configuration settings called configuration IDs (CIDs) and a fairnessbased scheme. In our approach, the bitrate allocation in terms of fairness ratio per each node is obtained from the training sequences and is used to select appropriate encoder configuration settings for the test sequences. We use real life content of three different possible scenes of VSNs’ implementation with different levels of complexity in our study. Performance evaluations show that the proposed optimization technique manages to balance VSN’s power consumption per each node while the nodes’ maximum power consumption is minimized. We show that by using that approach, the VSN’s power consumption is reduced by around 7.58% in average.
Keywords
Component Video sensor network H.264/AVC Power consumption Computation and communication tradeoff FairnessIntroduction
The advances in VLSI, sensors and wireless communication technologies have provided us with miniature devices that have low computational power and communication capabilities. These devices can be organized to form a network called wireless sensor network (WSN). A WSN is typically used to measure physical attributes of the monitored environment and send the information to a central device that usually has unlimited resources. The information gathered at the central device, usually called the sink node, can be used by human operator or any additional machine/software to perceive the condition of the monitored environment and provide some action if necessary. Due to the adhoc nature of the deployment, the information sent to the sink is usually performed in a multihop wireless communication fashion.
Considering that visual information can significantly improve the perceived information gathered from the sensed environment, there is a growing interest in incorporating video applications and transmissions over WSN [13]. Wireless video sensor network (VSN) has the potential to improve the ability to develop usercentric surveillance applications to monitor and prevent harmful events [4,5]. VSNs offer an alternative to several existing surveillance technologies because it can be implemented in an adhoc manner, customized to user requirements, and implemented on locations that are lacking infrastructure. However, unlike the conventional WSNs, VSNs require a large amount of resources for encoding and transmitting the video data. Therefore, maximizing the power efficiency of coding and transmission operations in VSNs is very important.
Video nodes in VSNs share the same wireless medium in order to send their encoded video to the sink node. Since the bandwidth allocated for the network is limited, there is an issue of fairness of bandwidth allocated per each VSN node. Allocating the same bitrate to each video node guarantees the fairness in terms of bitrate and the quality of the encoded video, given that each node is using the same video encoding parameter settings and configurations. However, in many VSN deployment scenarios, nodes further from the sink usually need to relay their data through intermediate nodes. Therefore, the total energy consumption of nodes that are closer to the sink will be greater than the nodes further. More balanced energy consumption among VSN nodes is achieved by allocating different fairness ratio per each node in the VSN. It has to be noted that this has to be done without sacrificing the quality of the transmitted video of any node. To this end different fairness ratios are assigned to VSN nodes such that the tradeoff between encoding complexity and compression performance is exploited. Since encoding complexity and compression performance (in terms of bit rate) determine the required power for coding and transmission respectively, assigning different fairness ratio per each node will affect the distribution of power consumption in a VSN. To the best of our knowledge this idea has not been studied in details in the existing literature on VSN.
In order to exploit the tradeoff between computation and communication of a video stream, an understanding on how the encoder works along with its impact on the compression performance is necessary. H.264/AVC is the current most widely used ITU and MPEG video coding standard [6,7]. There is a number of published research works on H.264/AVC’s performance in literature [8,9]. However, the focus of most of the existing studies is mainly on determining the optimal coding configuration without considering the total energy consumed for encoding and transmission. One of the earlier studies on H.264/AVC power consumption in a VSN is presented in [10]. In this study, the tradeoff between encoding and transmission energy consumption for only two configuration settings of H.264/AVC are investigated. In another study [11], the researchers compares the total energy consumption of some video encoders including H.264/AVC using the same configuration settings as the ones used in [10]. The study in [10] was further extended by [12] through including more configuration settings of H.264/AVC encoder for investigating the tradeoff between encoding and transmission energy consumption in a VSN. Furthermore, in [12] some encoder parameters that can affect the performance of the encoder in terms of bitrate and computational complexity were highlighted. In order to take advantage of the tradeoff between encoding and transmission energy consumptionin, a table called configuration ID (CID) was proposed, that includes several encoder configuration settings to compress a video with almost similar quality in terms of peak signal to noise ratio (PSNR), at different bitrate and compression complexity level. Unlike the CommonConfig approach used in [10][11], where all VSN nodes have the same encoding configuration, the proposed scheme in [12], assigns different CIDs to different nodes in order to exploit the tradeoff between communication and computation. The analysis of the energy consumption fairness of the VSN showed that by assigning different configuration setting parameters to each node, the node’s maximum energy consumption of VNSs can be reduced [13]. One of the common drawbacks of the existing studies is using the same video resource for all VSN nodes. While this seting may show some aspects of the video encoding process and tradeoff in a VSN, it does not reflect the real life setting of a VSN deployment, where different VSN nodes capture the scene from different point of view and thus the complexity of captured content is not consistent over different nodes. Note that the performance of a video encoder in terms of computational complexity and bitrate depends on both the encoding configuration and temporal and spatial complexity of content. That brings the problem of exploiting the tradeoff between computation and communication in a VSN into a different level of difficulty.
In this paper, we propose an algorithm to reduce the maximum power consumption VSN nodes by extending our previous work in [12] and [13]. We use a branch and bound optimization techniques on a finite set of CID options and a fairnessbased scheme in order to reduce VSNs’ power consumption and obtain a more balanced energy consumption among VSN nodes. Furthermore, in order to simulate a realistic VSN implementation, we use a variety of real life captured content in our analysis. We also study the effect of spatial and temporal complexity of the videos on the VSN’s encoding performance. In order to perform the analysis, the captured videos are classified into different content complexity classes. Then some of these videos are used for training and the rest for testing the performance of our algorithm. Also, to evaluate the performance of the proposed algorithm in a more realistic scenario, the VSN used in this study has a more complex network topology than the one used in [12,13].
The rest of the paper is organized as follows: Section Video capturing and encoding settings describes the video capturing and encoding settings used in this paper, Section Video content classification presents the video content classification methodology, Section VSN Power consumption modelling and formulation describes the energy consumption model for the VSN used in the paper, experiments and results are provided in Section Experiments and results, and conclusions are and future works are discussed in Section Conclusions.
Video capturing and encoding settings
 1.
The level of activity of all the people in the room is high, and the total number of people is between six to eight.
 2.
Three or more people moving around the room, while the total number of people in the room is around six.
 3.
Couple of people walking around the room, while the total number of people in the room is around five.
 4.
Three or four people walking in the room.
For encoding the videos captured at each node, we use the most widely used video coding standard H.264/AVC [6]. The video coding standard comes with a number of different encoding tools that can be configured to suit a wide range video applications. The performance of the H.264/AVC encoder in terms of computation requirement (complexity) and bitrate depends on the setting parameters used to encode the video. One of the encoding parameters is group of picture (GOP) size. GOP size determines the number of interframe coded picture within a successive video stream. In interframe prediction process, each block within a current frame is predicted by the most similar block from previously coded reference frames. This is in contrast with the intraframe prediction technique, in which blocks of pixels are predicted from its neighboring pixels within the same frame. The interframe prediction technique produces lower bitrate than intraframe prediction; while the encoding complexity of interframe coding is much higher than the later. As it is observed by increasing the GOP size, the number of interframe coded pictures increases, therefore the bitrate of the coded video is reduced at the cost of higher encoding complexity. Note that the complexity and bitrate of interframe prediction can be controlled by adjusting the search range (SR) of motion estimation process. The SR determines the size of searching area in the reference frame to find the best match to be used for inter prediction. Increasing the SR may result in better compression performance at the cost of increased complexity. However this observation is quite content dependant and there are cases where increasing the value of SR does not provide significant benefit in terms of compression performance [12]. Quantization parameter (QP) is another encoding parameter that regulates how much spatial detail is saved. In fact, the quality of the encoded video in terms of peak signal to noise ratio (PSNR) depends largely on the QP value. When QP value is very small, the residue signal is preserved more and the quality of compressed video is high, at the cost of higher complexity and bitrate.
Due to the limitation in the energy and processing resources of VSNs, less complex encoder configurations are deployed. To this end, we use the baseline profile of H.264/AVC that is suitable for low complexity applications. Therefore, only I and P frames are used (no Bframe). The other encoding settings used in this paper include the use of contextadaptive variablelength coding (CAVLC) entropy coding, one reference frame, SR equal to eight, while the rate distortion optimization (RDO), rate control, and the deblocking filter are disabled. The H.264/AVC reference encoder software (JM 18.2) is used in our study. The instruction level profiler iprof [14] that provides us with the number of basic instruction counts (IC) to perform an encoding task is used as the encoding complexity measure. The benefit of using IC as the measure of complexity is threefold. Firstly, IC is more accurate than the commonly used encoding time. The other benefit of using IC is the fact that IC is agnostic to the device architecture. In addition, IC can be used to estimate the encoding power consumption of the video node.
Configuration ID (CID)
CID  GOP 

1  1 
2  2 
3  4 
4  8 
5  16 
6  32 
7  64 
Video content classification
Spatial Information unit (SI) of all videos
Scene  cam1  cam2  cam3  cam4  cam5  cam6  cam7  cam8  cam9 

office_act1  100.52  97.83  88.92  76.17  84.60  89.95  85.73  95.06  94.98 
office_act2  85.83  90.26  85.90  71.24  76.14  84.45  85.20  90.06  88.62 
office_act3  87.78  88.68  89.78  74.30  67.62  91.16  89.93  90.80  92.75 
office_act4  84.97  87.01  87.96  71.40  61.17  89.97  83.85  87.36  87.43 
classroom_act1  94.62  99.18  96.73  89.56  97.46  96.04  92.03  88.12  83.59 
classroom_act2  96.30  94.46  96.30  91.46  74.07  88.83  92.74  85.52  84.99 
classroom_act3  89.67  94.11  90.04  85.71  77.42  87.03  88.94  85.85  82.55 
classroom_act4  101.69  101.21  94.74  92.68  89.08  94.57  91.86  89.19  83.64 
party_act1  114.85  112.10  116.85  99.60  81.27  104.73  104.60  110.79  105.97 
party_act2  115.40  114.49  107.53  90.61  95.06  101.31  104.56  111.56  101.90 
party_act3  113.43  112.04  113.87  99.02  76.15  96.36  107.40  111.86  107.08 
party_act4  106.64  103.51  111.48  89.54  93.97  95.22  101.28  102.44  105.30 
Temporal Information unit (SI) of all videos
Scene  cam1  cam2  cam3  cam4  cam5  cam6  cam7  cam8  cam9 

office_act1  20.91  23.88  18.15  25.59  21.83  26.44  14.93  21.35  21.51 
office_act2  14.59  19.21  18.46  22.00  19.43  23.26  17.33  15.10  15.47 
office_act3  13.10  18.34  18.77  20.77  13.73  20.90  17.04  17.20  16.51 
office_act4  14.05  16.76  16.21  17.74  1.74  15.87  14.55  18.08  18.60 
classroom_act1  18.05  18.39  18.42  17.47  19.47  19.56  11.04  11.21  7.38 
classroom_act2  12.04  16.78  12.75  15.14  12.25  13.82  13.85  7.60  11.58 
classroom_act3  15.18  15.88  11.79  13.76  17.64  14.98  9.65  11.07  4.75 
classroom_act4  16.52  16.24  13.41  15.65  18.40  17.46  11.22  12.04  6.79 
party_act1  22.45  27.82  21.44  27.15  19.59  21.93  17.15  18.27  17.98 
party_act2  26.10  26.24  19.76  17.66  21.24  26.86  22.29  22.67  15.76 
party_act3  13.75  17.83  14.74  17.05  10.92  15.01  13.93  13.50  11.72 
party_act4  16.59  16.78  17.00  13.17  18.25  15.32  11.10  13.31  10.83 
In order to classify the scenes into different content complexity level, the following procedure is used:
 1.
Classify each video from a scene into different SI and TI classes using the following threshold:
 2.Based on the SI(TI) classes of the videos, we classify the scene into different SI(TI) classes using the following rules:
 a.
The SI(TI) class of a scene is equal to the majority of SI(TI) classes of all videos from that scene
 b.
If no majority is found, the scene is classified as medium SI(TI) scene
 a.
Training and test scenes
Scene’s SI class  Training scene  Test scene  Test scene label 

High  party_act2  party_act1  VS1 
party_act3  VS2  
Party_act4  VS3  
Medium  office_act1  classroom_act1  VS4 
classroom_act2  VS5  
classroom_act4  VS6  
office_act3  VS7  
Low  office_act2  office_act4  VS8 
classroom_act3  VS9 
VSN Power consumption modelling and formulation
The encoding power consumption of a VSN node depends on the CID value assigned to that node. However, since some nodes need to relay their data through intermediate nodes, the node’s communication power consumption depends on both the CID value assigned to that node and the way the encoded data is relayed in the network. This problem can be formulated as an optimization procedure. For this purpose, the following video sensor node model is used in this paper. All the nodes, including the sink, are assumed to be statically deployed in the deployment area. It is assumed that a standard medium access control (MAC) protocol is applied to resolve the link interference problem. The network is modeled as an undirected graph G(N,L) where N is the set of nodes and L is the set of links. The nodes are identified such that the first node is the closest node to the sink while the N ^{th} node is farthest one. The sink has unlimited source of energy. However, the total information flow to the sink is constrained by the bandwidth of the network.
Here, r _{ ij } denotes the outgoing rate at L _{ ij } while r _{ ki } denotes incoming rates at L _{ ki }, and L _{ ij }, L _{ ki }∈L.
The bitrate allocated to a node itself is obtained using the relation R _{ i } = R{CID _{ i }, QP _{ i }}, where R is the bitrate of the video for the pair of CID and QP used by the node.
where, κ_{ i } is the total number of instructions to encode the video for node i, CPI is the average number of cycles per instruction of the CPU, E _{ c } is the energy depleted per cycle, N _{ f } is the number of frames and F _{ r } denotes the frame rate of the video sequence. The value of κ_{ i } is obtained using the following relation κ_{ i } = IC{CID _{ i }, QP _{ i }}, where IC is the instruction count provided by iprof for the pair of CID and QP values used. Since we want each node to produce video with almost similar quality, all nodes have to use the same QP, thus, QP _{ i } = QP, ∀i∈N.
In a VSNbased monitoring or surveillance applications, the system lifetime is usually denoted by the time on which the first node consumes all of its energy resource. This means, the objective is to minimize the maximum energy consumption among all nodes, i.e., minimize P _{ net } where P _{ i } ≤ P _{ net },∀i∈N. This optimization problem is then shown as follow.
Optimization minimizePower(CID)
minimize P _{ net }
In order to find the configuration settings per each node that minimizes the energy consumption, we need to evaluate all possible CID combinations in the VSN. Let v _{ i } denotes the different CIDs that can be used by node i, then V = {v _{ 1 }, v _{ 2 },…,v _{ N }} denotes the vector of possible CID that can be selected by the nodes in a VSN. The combination of all CIDs that needs to be evaluated is then given by C(V,N), where C denotes the combinatorial operation. The number of possible combinations increases with the number of node. For example, when the number of nodes is equal to three, the number of possible CID combinations that needs to be evaluated is equal to 343. However, when the number of nodes is increased to nine, the number of possible CID combination is equal to 7^{9}. We can reduce the search space for the optimization problem by focusing on the fact that all nodes share the same wireless bandwidth (2) such that the bitrate allocated per each node is equal to a portion of the total bandwidth. Therefore, the problem of assigning the CIDs to all nodes can be viewed as the problem of assigning fairness ratio to each node in the VSN.
Common approach
A common approach for setting encoding parameters of VSN nodes is to use the same configuration settings over all nodes. We call this approach CommonConfig algorithm. This approach has been used by [10] and [17] to analyze the VSN power consumption of Intra only configuration and Inter Main Profile with GOP size of 6 and frametype sequence of IPBPBPI. The authors in [11] also have used CommonConfig algorithm for Intra only configuration in their analysis. In order to implement the CommonConfig algorithm while still being fair with the implementation reported in the literature, we try to assign the same CID to all nodes such that the bandwidth constraint is not violated.
In the algorithm shown above, the procedure getCID is a procedure to assign a node with a specific CID, where R{CID _{ i }, QP}/B < ρ _{ i }, and R is the bitrate allocated for node i when using the corresponding CID. Note that, f _{ ratio } = {ρ _{ 1 },ρ _{ 2 },..ρ _{ N }}, N is the number of nodes, and ρ _{ i } = 1/N.
Proposed optimizationbased minimum energy VSN
Node’s power consumption for a simple scenario
CID (A,B)  Node A’s power consumption  Node B’s power consumption  

Encoding  Transmit.  Relay  Receive  Encoding  Transmit.  Relay  Receive  
(1,1)  PE(1)  PT(1)  PT(1)  PR(1)  PE(1)  PT(1)  N/A  N/A 
(7,7)  PE(7)  PT(7)  PT(7)  PR(7)  PE(7)  PT(7)  N/A  N/A 
(7,1)  PE(7)  PT(7)  PT(1)  PR(1)  PE(1)  PT(1)  N/A  N/A 
(1,7)  PE(1)  PT(1)  PT(7)  PR(7)  PE(7)  PT(7)  N/A  N/A 
Furthermore, it should be noted that the value of CID is bounded to be integral. On the other hand, the value of r _{ ij } and r _{ ki } that determine the routing of data from and to node i in (6) and (7) are rational numbers. An optimization problem involving mixed linear and integer variables is NPcomplete, where some of the solutions are intractable. However, there are algorithms that can be used to provide a near optimal solution for this kind of optimization problem. These algorithms mostly work by solving the relaxed linear programming and then adding some linear constraints that drive the solution towards being integer without excluding any integer feasible points. Branch and bound [19] is considered one such algorithm. Using branch and bound algorithm, the optimization procedure can be terminated early and as long as a solution that satisfies the stopping criteria is found. Therefore, a feasible, not necessarily optimal solution can be obtained. In this paper, the branch and bound approach is implemented by using the following steps: 1) solve the bounded optimization problem 2) call a recursive procedure to perform branch and bound until a solution is found or termination criteria are satisfied. The bounded optimization problem is shows as follow.
Optimization minimizePowerBounded ( CID ^{ u _ bound } , CID ^{ l _ bound } )
Example of the progression of the proposed MILPbased optimization for a four node VSN
Bounds  Solution found  

Step 1  UB = {4,4,4,4}  SOL = {3.5, 2.75, 2, 1.75} 
LB = {1,1,1,1}  
Recursive 1  UB = {4,4,4,4}  NA 
LB = {4,3,3,2}  
Recursive 2  UB = {3,2,2,1}  SOL = {2.75, 1.75, 1.75, 1} 
LB = {1,1,1,1}  
Recursive 2.1  UB = {3,2,2,1}  SOL = {3, 2, 2, 1} 
LB = {3,2,2,1}  
Recursive 2.2  UB = {2,1,1,1}  SOL = {2,1,1,1} 
LB = {1,1,1,1} 
Fairnessbased CID allocation for the test Set
In the above algorithm, the getCID procedure returns the highest possible CID option that can be allocated to node i with fairness ratio equal to ρ_{i}. For example, if the possible CIDs that can be allocated to node i are either six or seven, the getCID procedure will return CID equal to six. However, in some cases, the getCID procedure may not be able find a suitable CID with fairness ratio allocation ρ_{j} to be allocated to node j. In this regard, the node will need to be assigned the highest CID possible according to Table 1, i.e., it will use the configuration with the lowest bitrate. Then, a variable named overflow is updated with the difference between the allocated bitrate (obtained using a lookup table R{CID _{ j }, QP}) with the supposed maximum bitrate for that node, i.e., ρ _{ j } *B. Note that, the variable overflow is used to record the accumulative amount of bitrate that are borrowed from the other nodes. On the other hand, if an appropriate CID is available while the value of overflow variable is positive, another call to the procedure getCID with a lower fairness ratio is performed to get another CID. This is performed so that we can ‘pay back’ the outstanding bitrate ‘debt’. The overflow variable is then updated accordingly. In the chance that the overflow variable is still positive after the CID allocation for all nodes have been performed, a procedure checkBandwidthConstraint is then called to adjust the CID allocation per each node. Starting from the node furthest from the sink, the procedure checks whether assigning a higher CID to that node can reduce the variable overflow to be less than or equal to zero. After that, the nodes’ power consumption is calculated using the minimizePower procedure as discussed in Section VSN Power consumption modelling and formulation.
In this algorithm, the perturb procedure checks whether altering the CID allocation of a specific node can reduce the VSN’s power consumption. For example, if node i is assigned to use CID equal to four, the perturb procedure will check whether assigning CID equal to three or five to node i reduces the VSN’s power consumption further.
Experiments and results
This section elaborates on our experiment settings for evaluating the performance of our proposed approach. To ensure the efficiency of our proposed scheme, our experiment results are compared with the CommonConfig and MaximumFairness approaches.
Experiments settings
Parameters used
Parameters  Description  Value 

α  Energy cost for transmitting 1 bit  0.5 J/Mb 
β  Transmit amplifier coefficient  1.3⋅108 J/Mb/m^{4} 
λ  Energy cost for receiving 1 bit  0.5 J/Mb 
η  Path loss exponent  4 
CPI  XScale average cycle per instruction [20]  1.78 
E_{c}  Energy depleted per cycle for imote2 [10]  1.215 nJ 
B  Network Bandwidth  2 Mbps 
d  Distance between node  5m 
ε  Integrality constraints for the optimization based algorithm  0.2 
Performance evaluation of the proposed algorithms for the training scenes
P _{ net } , P _{ avg } and STD(P _{ i } ) of the training scenes
Training sequence  P _{ net }  P _{ avg }  STD(P _{ i } )  

Common Config  Maximum Fairness  Proposed  Common Config  Maximum Fairness  Proposed  Common Config  Maximum Fairness  Proposed  
party1_act2  10.73  10.95  9.73  9.40  9.39  9.31  0.54  0.64  0.18 
office_act1  10.25  10.45  9.53  9.03  9.03  9.38  0.49  0.57  0.09 
office_act2  9.97  10.06  9.35  8.80  8.83  9.19  0.47  0.48  0.09 
Fairness ratio allocation obtained from each training scenes
Training sequence  node1  node2  node3  node4  node5  node6  node7  node8  node9 

party1_act2  0.243  0.092  0.160  0.100  0.085  0.090  0.084  0.079  0.068 
office_act1  0.296  0.079  0.131  0.082  0.071  0.063  0.090  0.089  0.099 
office_act2  0.307  0.068  0.122  0.085  0.078  0.080  0.081  0.089  0.092 
Performance of the different techniques in all test cases
Test scenes  CommonConfig  MaximumFairness  Proposed  

P _{ net }  P _{ avg }  STD(P _{ i } )  P _{ net }  P _{ avg }  STD(P _{ i } )  P _{ net }  P _{ avg }  STD(P _{ i } )  
VS1  10.61  9.32  0.55  10.87  9.41  0.63  9.73  9.35  0.26 
VS2  10.47  9.18  0.56  10.56  9.19  0.62  10.03  9.14  0.41 
VS3  10.63  9.22  0.59  10.71  9.24  0.64  9.60  9.16  0.24 
VS4  10.11  8.78  0.58  10.48  8.99  0.67  9.40  8.89  0.36 
VS5  10.08  8.73  0.58  10.08  8.77  0.59  9.28  8.66  0.34 
VS6  10.14  8.79  0.58  10.29  8.87  0.62  9.38  8.76  0.34 
VS7  9.73  8.84  0.37  9.91  8.83  0.45  9.29  8.78  0.23 
VS8  9.55  8.51  0.43  9.64  8.52  0.47  9.04  8.43  0.29 
VS9  10.06  8.76  0.57  10.07  8.80  0.58  9.24  8.69  0.33 
Performance of the fairness based algorithms for the test scenes
Percentage of improvement of the proposed algorithm against the other techniques
Test scenes  Improvement against CommonConfig (%)  Improvement against MaximumFairness (%)  

P _{ net }  P _{ avg }  STD(P _{ i } )  P _{ net }  P _{ avg }  STD(P _{ i } )  
VS1  8.33  −0.29  51.92  10.48  0.72  58.20 
VS2  4.24  0.41  26.68  5.06  0.48  33.54 
VS3  9.67  0.63  60.32  10.30  0.88  63.30 
VS4  7.01  −1.29  38.01  10.23  1.04  46.57 
VS5  7.88  0.83  40.86  7.97  1.29  41.32 
VS6  7.50  0.41  41.89  8.83  1.29  45.48 
VS7  4.60  0.63  36.85  6.28  0.53  47.90 
VS8  5.40  0.96  33.65  6.21  1.05  38.81 
VS9  8.12  0.73  42.56  8.24  1.20  43.33 
Future work
In order to improve the result obtained in this paper, there are some considerations that can be included into our framework. The first and notable extension is to directly incorporate the effect of spatial and temporal information of the videos into the optimization framework. In this paper, the effect of spatial and temporal information is implemented indirectly through the process of classifying the videos into different scenes’ classes. We are currently working on to develop a model for encoding complexity and bitrate that incorporate the spatial and temporal information. By using a model, we can remove the use of tabular information of configuration ID that is used in this paper. Another consideration that could be addressed is the power consumption minimization during or at the point of the transmission. For example, one can implement an importance based scheduling approach such that only select nodes are allowed to send their data to the sink. Some other practical considerations that could be included from this study is to consider the effect of camera orientation into the VSN power consumption and whether the nodes are implemented for indoor or outdoor environment. We are also considering the possibility to use the new encoding standard HEVC for our future work. However, it has to be noted that HEVC encoder’s complexity is higher than that that of H.264/AVC encoder. HEVC utilizes more advanced and complex features compared to H.264/AVC. In order to implement our approach to the HEVCbased VSNs, we need to first investigate the tradeoff provided by different encoding parameters of HEVC and generate a CID table customized for HEVC, and then tune our scheme accordingly.
Conclusions
This paper analyzed the problem of minimizing the VSN’s power consumption by exploiting the video encoder’s performance tradeoff while also considering the different content and scene settings on which a VSN can be implemented. For the purpose of the analysis, a large number of reallife captured videos of simulated VSN scenes settings with different activity levels are used in this paper. The scenes are classified according to its content complexity on which the higher activity level scenes are used as the training set. The proposed optimization technique to minimize the node’s maximum power consumption is then used on the training sets. We have shown that the proposed optimization procedure performs better than the CommonConfig and MaximumFairness approaches such that VSN’s power consumption per each node was balanced while the nodes’ maximum power consumption is minimized. We have also shown in this paper that the fairness ratio allocated per each node affects the distribution of power consumption in a VSN. In particular, by assuming that the fairness ratio of nodes closer to the sink are higher than the nodes that are farther from the sink, the VSN’s power consumption is reduced.
The fairness ratio obtained by the proposed optimizationbased approach is then used in the proposed fairnessbased encoder complexity and bitrate allocation algorithm for the test scenes. The results show that the amount of power consumption reduction obtained by the proposed techniques varies according to the test sequences used. In general, the improvement obtained by the fairness based with adjustment technique is 8.18% on average against the MaximumFairness algorithm and 6.97% on average against CommonConfig algorithm. In addition to that, the proposed algorithm also shows better performance in terms of nodes’ average power consumption and standard deviation of nodes’ power consumption.
Abbreviations
 WSN:

Wireless sensor network
 VSN:

Video sensor network
 CID:

Configuration ID
 PSNR:

Peak signal to noise ratio
 FPS:

Frames per second
 GOP:

Group of pictures
 SR:

Search range (in motion estimation)
 QP:

Quantization parameter
 IC:

Instruction counts
 SI:

Spatial information unit
 TI:

Temporal information unit
 CPI:

Cycle per instruction
Declarations
Acknowledgment
This work was supported by the NPRP grant # NPRP 44632172 from the Qatar National Research Fund (a member of the Qatar Foundation). The statements made herein are solely the responsibility of the authors.
Authors’ Affiliations
References
 Akyildiz F, Melodia T, Chowdhury KR (2007) A survey on wireless multimedia sensor networks,” Computer Networks. The International Journal of Computer and Telecommunications Networkin 51(4):921–960Google Scholar
 Ren X, Yang Z (2010) “Research on the key issue in video sensor network”, presented at the Computer Science and Information Technology (ICCSIT), 2010 3rd IEEE International Conference on. Chengdu 7:423–426Google Scholar
 Seema A, Reisslein M (2011) Towards efficient wireless video sensor networks: a survey of existing node architectures and proposal for a flexiWVSNP design. Communications Surveys & Tutorials, IEEE 3:462–486View ArticleGoogle Scholar
 Chen J, Safar Z, Sorensen JA (2007) Multimodal Wireless Networks: Communication and Surveillance on the Same Infrastructure. Information Forensics and Security, IEEE Transactions on 2(3):468–484View ArticleGoogle Scholar
 R¨aty TD (2010) Survey on Contemporary Remote Surveillance Systems for Public Safety,” Systems, Man, and Cybernetics, Part C. Applications and Reviews, IEEE Transactions on 40(5):493–515Google Scholar
 Wiegand T, Sullivan GJ, Bjontegaard G, Luthra A (2003) Overview of the H.264/AVC video coding standard. IEEE Transactions on Circuits and Systems for Video Technology 13(7):560–576View ArticleGoogle Scholar
 Richardson E (2010) The H.264 Advanced Video Compression Standard, Second Editionth edn. John Wiley & Sons, LtdView ArticleGoogle Scholar
 H. K. Zrida, A. C. Ammari, M. Abid, and A. Jemai, Complexity/Performance Analysis of a H.264/AVC Video Encoder, in Recent Advances on Video Coding, InTech, Rijeka, Croatia, 2011.
 Ostermann J, Bormans J, List P, Marpe D, Narroschke M, Pereira F et al (2004) Video coding with H.264/AVC: tools, performance, and complexity. IEEE Circuits and System Magazine 4(1):7–28View ArticleGoogle Scholar
 J. J. Ahmad, H. A. Khan, and S. A. Khayam, “Energy efficient video compression for wireless sensor networks,” Information Sciences and Systems, 2009. CISS 2009. 43rd Annual Conference on, Baltimore, MD, 2009, pp. 629 – 634.
 Imran N, Seet BC, Alvis C, Fong M (2012) A comparative analysis of video codecs for multihop wireless video sensor networks. Multimedia Systems 18(5):373–389View ArticleGoogle Scholar
 B. A. B. Sarif, M. T. Pourazad, P. Nasiopoulos, and V. C. M. Leung, “Encoding and communication energy consumption tradeoff in H.264/AVC based video sensor network,” World of Wireless, Mobile and Multimedia Networks (WoWMoM), 2013 IEEE 14th International Symposium and Workshops on a , pp.1,6, Madrid, 47 June 2013.
 B. A. B. Sarif, M. T. Pourazad, P. Nasiopoulos, and V. C. M. Leung, “Analysis of Energy Consumption Fairness in Video Sensor Networks.” Poster presented at 2013 Qatar Foundation Annual Research Forum Proceedings, ICTSP 02. Qatar, Nov. 2013.
 P. M. Kuhn, “A Complexity Analysis Tool: iprof (version 0.41),” ISO/IEC JTC1/SC29/WG11/M3551, Dublin, Ireland, July 1998.
 ITUT, “Subjective video quality assessment methods for multimedia applications,” P.910, April 2008.
 T. S. Rappaport, Wireless communications: principles and practice, 2nd ed. Prentice Hall, 2001.
 S. Ullah, J. J. Ahmad, J. Khalid, and S. A. Khayam, "Energy and distortion analysis of video compression schemes for Wireless Video Sensor Networks," Military Communication Conference, MILCOM 2011, Baltimore, MD, Nov. 2011, pp. 822 – 827.
 B. Krishnamachari and F. Ordonez, “Analysis of EnergyEfficient, Fair Routing in Wireless Sensor Networks through Nonlinear Optimization,” in IEEE Vehicular Technology Conference, 2003 IEEE 58th, vol.5, Orlando, Florida, Oct. 2003, pp. 2844 – 2848.
 J. Clausen, “Branch and Bound Algorithms  Principles and Examples,” University of Copenhagen, Mar. 1999.
 D. Chinnery and K. Keutzer, Closing the Power Gap between ASIC & Custom: Tools and Techniques for Low Power Design, 1st edition. Springer, 2007.
Copyright
This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly credited.