Priority-based Routing Framework for Image Transmission in Visual Sensor Networks: Experimental Analysis

A Visual Sensor Network (VSN) is a specialized Wireless Sensor Network (WSN) equipped with cameras. Its primary function is to capture images, videos and send them to power rich sink nodes for processing. As image data is much larger than scalar data sensed by a typical WSN, applications of VSN require much bigger amount of data to be transferred to the sink. Due to constraints of WSN such as low energy, limited CPU power and scarce memory, transmission of large amount of data becomes challenging. On the other hand, some VSN applications require critical image features sooner than the entire image to take action. In this paper, we provide the details of experiments done using our proposed Priority-based Routing Framework for Image Transmission (PRoFIT). PRoFIT is designed to deliver critical image features at high priority to the sink node for early processing. Peak signal-to-noise ratio (PSNR) analyses show that PRoFIT improves VSN application response time as compared to priority-less routing. This paper also contains the design of our VSN testbed. Multiple indoor and outdoor experiments were performed to validate the framework. This framework also improves the energy efficiency of the network. The results show that the PRoFIT is 40% efficient in terms of energy consumption.


I. INTRODUCTION
Visual Sensor Networks (VSNs) are wireless sensor networks (WSN) equipped with image sensors or cameras. Typical WSNs sense and transmit environment factors, whereas VSNs sense and transmit images that are considerably larger than typical WSN data. VSN applications, such as periphery monitoring, intruder detection, surveillance, etc. require very large amounts of image data to be transmitted from camera nodes to sink. In most cases, the memory size required to store and send is 16-bits per reading. On the other hand, a VSN node, equipped with a camera generates vector data. For instance, a raw Red-Green-Blue (RGB) image of 128 x 128 pixels with 24-bits per pixel (8 bits per color) will be of 128 x 128 x 24 = 393216 bits (approximately 48 kilobytes). These are magnitudes larger than traditional sensor data.
Some VSN architects use image compression techniques such as Discrete Cosine Transforms [1] or Discrete Wavelet Transforms [2], yet these techniques do not reduce data size significantly. Other methodologies such as progressive image transmission [3] and bit plane coding [4] transmit image in multiple layers. These methodologies partition the image into layers such that the primary layer contains the most significant features of the image, whereas successive layers contain details that when integrated with the primary layer, reconstruct the complete image. Each layer is of a fraction in size of the complete image. If packets of the primary layer are transmitted at a priority through a VSN, they will reach the sink node much sooner than the complete image. Some VSN applications may improve response time by processing the primary layer(s) first instead of waiting for the complete image to be received. This motivated us to develop a priority based routing framework for VSNs called PRoFIT. The concepts, design and benefits of PRoFIT was demonstrated using simulations on Cooja Simulator in our previous work [5]. We proved that PRoFIT delivers critical information required for multimedia applications much sooner than priority-less routing frameworks. Then, we focused on end-to-end delays and packet delivery ratios at different deadlines using PRoFIT [6].
In this paper, we designed a real wireless network testbed to analyze the performance of PRoFIT algorithm [5] in indoor and outdoor environment. This testbed was designed to capture images using a controllable PTZ camera. The captured image can be sent over multihop network using ZigBee. In addition to using PRoFIT, researchers can evaluate their custom protocols, frameworks, algorithms and VSN applications on testbed. In this paper, we present Peak signal-to-noise ratio (PSNR) analyses to show that PRoFIT improves VSN application response time as compared to priority-less routing on real testbeds. We also measured the energy efficiency of the network and show that the PRoFIT is 40% efficient in terms of energy consumption.
The rest of the paper is sectioned as follows. Related work is provided in Section 2. Priority Based Routing Framework for VSN is discussed in Section 3. The PRoFIT implementation on real testbed is explained thoroughly in Section 4. We evaluated PRoFIT on real testbed. This served as an example that researchers can use to evaluate their own VSN applications and protocols. The details of the experiments and results are discussed in Section 5. Finally, the paper is concluded in Section 6.

II. RELATED WORK
Mostly, authors have focused on different aspects of VSN performance, such as network lifetime. Zhou et al. [7] propose fast visual background extraction algorithm to detect motion and then use prioritized transmission to balance between delay and energy consumption. Han et al. [8] have surveyed routing protocols that balance out the trade-off between network lifetime and QoS requirements. They provide a baseline for "green routing protocols". Similar to ours, Bondi et al. [9] provided a framework that is implemented on real VSN nodes. They advocate on comparing analyze-then-compress (distributed approach) verses compress-then-analyze (centralized approach).
Eriksson et al. [10] also demonstrate that distributed optimization can improve system response time for VSNs. Bhosale et al. [11] proposed prioritized scheduling technique at internode level to maximize the lifetime of network. Spachos et al. [12][13] proposed a dynamic routing protocol called Content Relevance Opportunistic Routing (CROR) for improving overall network performance by focusing on Quality of Service parameters such as energy efficiency and packet delay.
WSN research teams have been using testbed to experiment and validate their suggested architectures and protocols. They have designed such testbed with different architectures, hardware selection, deployment, integration, remote management and various capabilities. The survey in [14] has aggregated and classified many WSN testbed that have been implemented until the time for publication in 2014. The classification were based on i) research focus, ii) architectural aspect and requirements and iii) experimentation nature on testbeds.
The latest survey that included testbed literature review was published in 2008 by Akylidiz et al. in [15]. The authors surveyed different testbed architecture, design space, hardware and finally, listed out all features provided by surveyed testbeds for VSN. In [16], the authors implemented a testbed for mobile robotics and heterogeneous wireless sensor nodes with different sensing capabilities including cameras. The testbed is indoor with static and mobile sensor nodes that are based on classical sensor node platforms plus mobile robotics. The testbed has been used to verify and experiment with many projects including tracking and communication testing.
We noticed that VSN testbed are mainly used to verify methodology and research outcome for computer vision related research such as coverage, encoding and compression techniques. Some of them are also used to experiment with other research problems such as wireless communication, networking and power efficiency. We noticed also that most testbed are indoor and some of them are miniature in size. In [17] the authors developed a compression technique to speed up the wireless transmission of data. By sending a fast compressed and specially encoded scan of the image, the authors claim that the network can deliver the initial version of the image very quickly to take fast decisions. The testbed used composed of two imote-2 nodes and X-scale sink node. In [18] the authors used a network of camera nodes in a miniature testbed to test their algorithm for camera coverage. In [19], the authors used a networked camera nodes testbed to maximize the field of view of all cameras in the network.

III. PRIORITY-BASED ROUTING FRAMEWORK FOR VSN
Typically the network model used in VSN consists of camera nodes, intermediate nodes and sink nodes. Fig. 1 shows a sample surveillance network. We assume typical VSNs to be of this type. That is, camera nodes will be at a periphery, whereas intermediate nodes will relay image information from camera nodes to the sink. Functionality of our PRoFIT framework is distributed into network layer and medium access control layer of any protocol stack as depicted in Fig. 2 .Additionally, a thin Application Interface Layer (AIL) encapsulates the details of network layer and medium access control layer. The subsections below are provided the functional details of these layers.
• Fragment a layer into packets • Provide ability to specify priority before sending packets • Reconstruct image from received packet

Application
Interface Layer • Send high priority packets before low priority packets • In case of collision, retransmit high priority packets first • If transmission queue is full, drop low priority packets before high priority packets • Send advertisements and maintain routing tables based on distance from sink • Remove dead neighbor if neighbor watchdog times out • Select next hop based on distance from sink

MAC Layer
• Capture and encode image into 2 layers (high priority and low priority) Application    The AIL (Application Interface Layer) is the application layer component of priority-based routing framework. It is a very thin layer that provides VSN application with a set of primitives that can be used for fragmenting image data into packets, sending them, receiving them and assembling them to re-generate image data. The AIL hides the implementation details of the entire framework. The VSN application passes image data along with its priority to the routing framework using the AIL. Based on its configuration, AIL of the sending node fragments the image data into packets of size that network layer can send. AIL also inserts image number and packet fragment number into the packet. This information is used by the AIL of sink node to join the fragments to construct image data sent.

B. Network Layer
The network layer component of PRoFIT works in two phases explained below.

1) Network Configuration Phase
When the VSN is deployed and brought up, the VSN nodes send advertisements to their neighbors declaring identities and their number of hops from sink. These advertisements are sent periodically. Initially all nodes are configured as being infinitely away from sink node. When sink node advertises, it declare its number of hops from sink as 0. The nodes receiving this advertisement add the respective sink node to their routing tables and mark their number of hops from sink as one hop. Now when such a node sends out its own advertisement, it declares its number of hops from the sink instead of infinity. The nodes at multiple hops from sink update their routing table with sink address along with the addresses of their neighbor as next hop address from who they received the advertisement. When a node receives advertisement of a sink from more than one neighbor, it keeps only the neighbor with lesser hops to the sink in its routing table. After a number of cycles of advertising, depending on the number of VSN nodes, the network is established. Each node knows the number of hops to the sink as well as the next hop towards the sink. As the advertisements are sent out periodically, removal and addition of nodes to the network is possible dynamically. Moreover, for maintenance of routing tables, each node keeps track of live neighbors using a watchdog timer associated with each neighbor.

2) Network Operation Phase
Once the network has been established, our routing framework is ready to transport image data from camera nodes to sink nodes. When the VSN application has image data to send, it uses primitives provided by the AIL from previous section. The network layer selects the next hop towards the sink that is selected by the camera node from its routing table. If the sink address as specified by the camera node is not in the routing table, the packet is dropped. A neighbor's entry keep-alive watchdog is reset whenever a packet is received from that neighbor. If a packet is not received from a neighbor within a threshold, the neighbor's entry is deleted from the routing table. In this way, routing tables are maintained during data transmission phase.

C. Medium Access and Control Layer
At the MAC layer, the routing framework works at two levels. The first is the intra-node level where the routing framework makes sure that high priority packets are forwarded before low priority packets. The second level is the internode level where the routing framework makes sure that when two neighbors contest for transmission medium, the neighbor with high priority packet gets a chance to transmit its packet before the neighbor with low priority packet. The following sub-sections explain these two levels.

1) Queue Insertion
When a packet arrives at MAC layer for transmission, it is sent instantaneously if the MAC layer is not already receiving or sending a packet. If the MAC layer is busy, the packet is placed in a queue where it waits for its turn. Our priority-based routing framework makes use of this queue. When a packet with high priority arrives, it is placed at the head of the queue so that it is sent in the next go. If a packet of low priority arrives, it is placed at the tail of the queue. As the MAC layer always selects packets from head of the queue for transmission, it is made sure that at intra-node level a packet with higher priority is transmitted first.

2) Differentiated Back-off Window
When two nodes find the medium available and transmit at the same time, a collision occurs. In regular CSMA/CD, both nodes back off for a randomly selected time slot from a pseudo-fixed-size window. If they collide again, the window size is increased exponentially to a certain size. The prioritybased routing framework maintains different windows for the different priorities. When a collision occurs, the MAC layer checks the priority of packet that collided and determines back-off times from different windows. For high priority packet, the window is smaller than for a low priority packet. This way, if the node with high priority packet gets a chance to transmit its packet within a smaller window than a node with a low priority packet. This makes sure that at the inter-node level, high priority packets transmit sooner than low priority packets. Fig. 3 shows the routing framework data flow. The topmost block represents the VSN application and its usage of AIL. The middle block represents packet en-queueing into MAC layer transmission queue. The bottom block signifies the transmission of packet and calculation of contention window in case of collision. To quantify the usefulness of the routing framework, a real testbed has been deployed and experimentation were run. PRoFIT is implemented on three types of nodes. (1) The first type of nodes called camera nodes are equipped with image sensor. (2) The second type are intermediate nodes that may or may not take part in sensing but are used as relay nodes.

IV. PROFIT IMPLEMENTATION
(3) The third type are sink nodes that process received images and help the application in making decisions.  Step 1 (Encoding): For a captured grayscale image, 1 byte (8 bits) is used to represent the gray level of one pixel. PRoFIT encodes pairs of pixels of the captured image and stores them into two layers. In the current version of PRoFIT, bit plane encoding [4] is used to encode the image into two layers; primary layer and secondary layer. The primary layer consists of bit planes 8 to 5 of a pixel of the captured image while the secondary layer consists of bit planes 4 to 1 of the same pixel. This mechanism is shown in Fig. 5 Step 2 (Fragmentation): Packet size of VSN physical layer may be limited. As image data is much larger, it must be fragmented into packets of size that the physical layer can transit. Maximum packet payload size is 72 bytes in a typical sensor network that uses Zigbee for transmission. Hence, the current version of PRoFIT has been designed with IEEE 802.3 (Ethernet) for transmission with a packet size of 72 bytes. The physical layer can be replaced in the future versions. PRoFIT packet contains three fields; flags, sequence number and payload. Sequence number field is required in order to defragment at the sink. Sequence number field of two bytes can accommodate QCIF (176×120) to 4 MP (2240×1680) image resolution formats. A QCIF image would be fragmented into 307 fragments, where as 4MP image will be fragmented into 54, 540 fragments. One byte of the packet represents various flags such as priority, new image, etc. The remaining 69 bytes are used as payload to send encoded pixels.
Step 3 (En-queuing Packets): PRoFIT contains two queues; A high-priority packet's queue called Queue-1 and a low priority packet's queue called Queue-2. As the primary and secondary layers of the image are being packetized (Step 2), each packet is inserted at respective queue's tail. The packets of primary layer are inserted into Queue-1 and packets of secondary layer are inserted into Queue-2.
Step 4 (Dispatching Packets): The packet dispatcher runs in a loop as a child thread of the main program. Fig.4 depicts the mechanism of selecting packets from the queues and transmitting them. If there is a packet in Queue-1, then the packet at the head of Queue-1 is extracted for transmission. If Queue-1 is empty and there is a packet in Queue-2, it will be selected for transmission. If both queues are empty, the dispatcher waits for a packet to arrive in one of the queues. Using the above four steps, high priority packets are always delivered before low priority packets.

B. Intermediate Node
In our network, the intermediate nodes are only responsible for routing packets from camera nodes to sink node. They do not take part in sensing or sharing processing load of the camera nodes or sink nodes. When the network is deployed, the intermediate nodes create routing tables that are necessary to take routing decisions when packets are received. To achieve their primary task of routing image data from visual sensing nodes to sink nodes, the routing tables in intermediate nodes are updated throughout the lifetime of the network as some nodes may die due to depleted power or other environmental factors, while other nodes may be added to the network when required. PRoFIT makes sure that intermediate nodes forward high priority packets faster than low priority packets. In this way, PRoFIT facilitates sink nodes to reconstruct an image using high order bit planes much sooner than when the entire image data is received at sink. As required, the sink node can add lower order bit planes to the first pass to construct a more detailed image.

C. Sink Node
The sink node uses two steps to reconstruct image.
Step 1 (Defragment Packets): Based on a preset image resolution, the sink pre-allocates memory to store incoming encoded pixels into the primary and secondary layers. The sink node uses the sequence number field to defragment. Packet with sequence number 1, 3, 5 and so on are part of primary layer, whereas packets with sequence number 2, 4, 6 and so on are part of secondary layer. Each packet contains 69 encoded pixels. As a packet is received, the sequence number is extracted to find the location of the encoded pixels in the respective layer. Encoded pixels from the packet with sequence number 1 are stored in place of the first 69 pixels of the primary layer. Encoded pixels from the packet with sequence number 3 are stored in place of the second 69 pixels of the primary layer, and so on. Encoded pixels from the packet with sequence number 2 are stored in place of the first 69 pixels of the secondary layer. Encoded pixels from the packet with sequence number 4 are stored in place of the second 69 pixels of the primary layer, and so on.
Step 2 (Decode Packets): On a preset periodic deadline, the sink node decodes the primary and secondary layers by splitting each encoded pixel and re-assembling the bit planes. LSBs of second pixel of primary layer are concatenated with 4 LSBs of the second pixel of secondary layer to reconstruct fourth pixel of the sent image, and so on. At any given time, more packets of the primary layer than secondary layer would have been received at sink. Therefore, almost half way through image transmission, critical image features are available at the sink node for processing.

V. EXPERIMENTATIONS AND RESULTS
The motivation to implement the PRoFIT algorithm over the testbed is to obtain the desired image in the shortest time with minimal energy consumption. The quality of the received image was measured by the PSNR. We performed multiple sets of experiments to measure the quality of the received image as well as energy efficiency of PRoFIT. PRoFIT was evaluated on the real testbed in indoor and outdoor settings. The following subsections contain the details of the experiments.

A. Testbed Design
To implement the PRoFIT on real testbed, we design a testbed consisting of VSN nodes. The following requirements have been compiled for an energy efficient VSN node.
Camera: VSN node should have a camera or image sensor to capture visual information. The camera should be able to capture images in different lighting conditions. Roseek Cheetah1 Camera System is used for camera node [20]. The view of VSN node's camera should be able to pan, tilt and zoom (PTZ) in order to maximize coverage. Therefore, the camera was installed on a PTZ modules.
Battery: The VSN node should consume power from a battery unit that is able to be charged using energy harvesting modules. Two deep-cycle gel batteries without of 12 V at 100 Ah were used to provide 48 hours of power backup. Unlike traditional WSNs, VSN node requires much higher amount of energy. The energy harvesting unit of VSN node should harvest enough energy to power the VSN node as well as charge its battery to run during night time. SUN-5 Inverter and Charge Controller with PWM of 1 KVA and 12 V was used with 250 W PV solar panel. The inverter provided power to both CPU and camera.
Communication Unit: The testbed VSN node would require at least two communication interfaces; First one based on Zigbee for VSN data transmission at low power and the second one for controlling and debugging VSN node. The latter can use any other wired or wireless technology. It will only be used to setup the VSN, configure it and debug the VSN node operations. In normal VSN working the latter will be disabled to conserve energy. ZigBee -XBP24BZ7SIT-004 was interfaced with CPU using ZigBee USB adapter board and ZigBee 5 dBi RP-SMA antenna was used for image transmission communication unit. PRoFIT was interfaced with Open Source ZigBee drivers to send/receive image data to/from ZigBee module. USB Wi-Fi Adapter with 4-inch antenna was interfaced with CPU as control and debug interface.
Operating System and Open Source Software: Roseek Cheetah1 series comes with Linux Ubuntu distribution, OpenCV and Roseek's own image processing SDK. Image acquisition was carried out using OpenCV and PRoFIT was used to partition the image into coarse and fine image detail layers. The coarse layer containing critical image data was transmitted at high priority using PRoFIT where as fine image information was transmitted at low priority using PRoFIT.

B. Indoor Experiments
To set up an indoor testbed for a multi-hop network, three nodes were used for experimentation. PRoFIT was ported for all three nodes types; namely, camera node, intermediate node and sink node. The camera node captured images on demand and used PRoFIT to prioritize the coarse image information. Then it sent the packets to intermediate node. The intermediate node also used PRoFIT to relay incoming packets. The sink node received packets from the intermediate node and used PRoFIT to defragment them and decode them. Fig. 6, shows the testbed of multi-hop indoor experimentation. Two standard images were selected for experimentation. These images were obtained from The Standford Center for Image Systems Engineering (SCIEN). The images were baboon.tif with 256 x 256 resolution and lena.tif with 512 x 512 resolution. Each hop was 30 meters away from the other. Multiple experiments were run to transmit these images from the source node to the sink node In the first set of experiments, the reception time was evaluated over single hop; firstly, by using PRoFIT and then without using PRoFIT. The PSNR of both received images were analysed. Fig. 7 shows the comparison of PSNR of the image baboon.tif (256 x 256). The graph shows a clear difference between the received images PSNR. The image received where PRoFIT was enabled had 0.9 PSNR at 24,000 microseconds, whereas the same image received without PRoFIT had 0.9 PSNR at 49,000 microseconds. Similar results are shown in Fig. 8 in which the PSNR of imagelena.tif (512 x 512) was evaluated. The graph shows that the PSNR of the image received with PRoFIT reached to PSNR 0.9 at 40,000 microseconds. However, without PRoFIT this image reached to 0.9 PSNR at 49,000 microseconds. Hence, these experiments prove that the image received using PRoFIT takes considerably less time than normal transmissions without the PRoFIT. Fig. 9 shows the received images when PSNR reached 0.9. Fig. 9 (a) and Fig. 9 (c) are the images received with the PRoFIT, whereas Fig. 9 (b) and Fig. 9 (d) show images received without PRoFIT. The images received using PRoFIT at PSNR 0.9 are almost complete and can be used in any decision-making, whereas, the images received without PRoFIT at same PSNR are almost half-complete. PRoFIT impacts approximately 50% in image reception time.
The next set of indoor experiments were performed to evaluate the received images PSNR over multi-hop. The same images were transmitted with PRoFIT and without PRoFIT. Fig.10 shows the PSNR evaluation of 256 x 256 image using multi-hop transmission. The image transmitted with PRoFIT reached to 0.9 PSNR at 25,000 microseconds, whereas the same image transmitted without PRoFIT reached to 0.9 PSNR at 49,000 microseconds. Fig. 11 shows the PSNR value of the 512 x 512 image. The PSNR of the received image with PRoFIT was higher right from the start compared to the image without PRoFIT. The PSNR reached to 0.9 at 40,000 microseconds with PRoFIT, whereas without PRoFIT the PSNR reached at 49,000 microseconds. Both multi-hop graphs show that, in multi-hop transmission, the PSNR of received images with PRoFIT reached 0.9 PSNR much sooner compared to without PRoFIT. Fig. 12 shows the received images when PSNR reached 0.9. Fig. 12 (a) and Fig. 12 (c) are the images received with PRoFIT using multi-hop transmission. Fig. 12  In terms of time evaluation, it is seen through the indoor experiments that image received with PRoFIT enabled reached 0.9 PSNR much sooner than the image received without PRoFIT enabled. Hence, PRoFIT impacts greatly on time in both single-hop and multi-hop indoor transmissions.
2) Energy Evaluation: The evaluation of energy consumed is very crucial in VSNs. We evaluated energy consumption of images received in a multi-hop indoor environment. The results were compared using with PRoFIT and without PRoFIT transmissions. Fig. 13 shows the relationship between number of packets received against accumulated PSNR. It clearly shows that the PSNR increases as the number of packets are received, but, the significant difference is when PRoFIT is enabled. As in Fig. 13, it is clearly noted that with PRoFIT, the PSNR value of 0.9 was achieved after receiving 500 packets (45% of the total packets) when PRoFIT was enabled, whereas in the test with without PRoFIT, the same PSNR was achieved after receiving 1000 packets (91% of the total packets). Hence, we can easily relate the energy consumed in both transmissions. The decision can be easily taken after 0.9 PSNR of the received image, so 45% of energy can be saved using PRoFIT as compared to transmission without the PRoFIT.

C. Outdoor Experiments
To set up an outdoor testbed for a multi-hop network, three nodes were used for the experiment. The testbed was deployed in one of the open air car parks at the Umm al Qura University, Saudi Arabia. Same PRoFIT implementation from indoor experiments was used. The cameras were attached with each node. Fig. 15 shows the testbed of the multi-hop outdoor experiment. Multiple experiments were performed on the outdoor testbed. Baboon.tif image was used for outdoor experiments. Every hop was 30 meters away from the other.
Multiple experiments were carried out to transmit this image from the camera node to the sink node. In the outdoor environment, the first set of experiments were performed to evaluate time over single-hop with and without the PRoFIT. Fig. 16 shows that PSNR values reached 0.9 at 24,000 microseconds with PRoFIT enabled transmission. However, the PSNR reached 0.9 at 47,000 microseconds without the PRoFIT enabled transmission.  Fig. 17 shows the received images when PSNR reached 0.9. Fig. 17 (a) is the image received with single-hop with PRoFIT, whereas Fig. 17 (b) shows the image received without PRoFIT. The image received with PRoFIT reached the sink node almost completely at PSNR 0.9. However, the image received without the PRoFIT algorithm reached half only. Therefore, the image transmitted using PRoFIT saves 50% of image transmission time. The second set of experiments were performed to analyze the image transmission in an outdoor environment over multihop network. The image, baboon.tif (256 x 256), was transmitted using multi-hop with and without PRoFIT. Fig. 18 shows the comparison between the two received images' PSNR. Over multi-hop with PRoFIT, the value of PSNR reached 0.9 in 52,000 microsecond. Over multi-hop without PRoFIT, the PSNR reached to 0.9 in 72,000 microseconds.   Fig. 19 shows the received images when PSNR reached 0.9. Fig. 19 (a) is the image received with multi-hop with PRoFIT, while Fig. 19 (b) shows the image received without PRoFIT. The image received using PRoFIT reached almost 90% to sink node at PSNR 0.9, while the image received without PRoFIT reached only 50% of the complete image. The image transmitted using PRoFIT saved almost 40% of the image transmission time.  Fig. 20 shows the relationship between number of packets received against accumulated PSNR. It clearly shows that PSNR increases with the number of packets received, but, the significant difference is when the transmission is done using PRoFIT. In Fig. 20, it is clearly noted that with PRoFIT the PSNR value of 0.9 is achieved after receiving 500 packets (50% of the total packets). Without PRoFIT, the same PSNR was achieved after receiving 900 packets (90% of the total packets). Hence, we can easily relate the energy consumed in both transmissions. One can easily identify the image and make any decisions once the image PSNR reaches 0.9, so we can save 40% of energy using PRoFIT as compared to transmission without PRoFIT.  Fig. 21 shows the relationship between number of packets received and accumulated PSNR of the lena.tif (512 x 512) image resolution. The image with PRoFIT achieved PSNR value of 0.8 when approximately 2,000 packets were received (48% of the total packets), wheres the image without PRoFIT reached PSNR value of 0.8 when 3,800 packets were received (93% of total packets). Therefore, we can conclude that the energy consumed in image transmission with PRoFIT is 45% less than the energy consumed in transmission without PRoFIT.

VI. CONCLUSION AND FUTURE RESEARCH
This paper has provided the details of experiments done using our proposed framework called PRoFIT. PRoFIT is designed to deliver critical image features at high priority to the sink node for early processing. We built a real wirless node testbed to evaluate PRoFIT. Peak signal-to-noise ratio (PSNR) analysis show that PRoFIT improves VSN application response time as compared to priority-less routing. This paper also contains the design of our VSN testbed. Multiple indoor and outdoor experiments were performed to validate the framework. This framework also improves the energy efficiency of the network.
In future, we plan to enhance the encoding mechanism by introducing multilevel diversity coding (MLDC) and advance encoding for video transmission. The communication will be improved by enhancing the MAC layer of Zigbee. PRoFIT will be modified for special cases in video transmission. The testbed will be improved using GPUs, energy efficient components and software management tools. Many applications can be develop using PRoFIT and the real testbed.