# Cooperative UAV Scheme for Enhancing Video Transmission and Global Network Energy Efficiency
## 2 Related Work
### VOEI Operation
#### 3.2.1 Route Establishment  
The \(CN\) aims to select as \(SN\) the UAV closest to the event area in order to disseminate the video, and such node must have enough energy to capture and transmit the video. This is because we aim to retrieve the video from the event as soon as possible without running out the battery of the \(SN\). On the other hand, the set of relay node \(RN_{i}\) must be closer to the ideal relay node location in order to reach it faster without consuming a lot of energy. In both cases, if needed, the UAV must have enough energy to fly back to the control center for battery replacement. The \(CN\) must compute the time to move \(t_{move}\), which means the time needed to fly from the current location \(L(X_{i},Y_{i})\) to the event location for source node \(SN\) selection or to the ideal relay node location \(L(X,Y)\) for relay node \(RN_{i}\) selection. We consider a video surveillance application in a disaster recovery scenario, which requires real-time video transmissions with low packet loss ratio. Hence, UAVs that act as source or relay nodes must fly at the maximum speed \(S_{max}\), since we aim to disseminate videos from the event location as soon as possible, and thus UAVs must fly with maximum speed \(s_{max}\) to quickly reach the event location. In addition, we avoid selecting UAVs with time to move \(t_{move}\) value higher than a defined threshold (called of \(t_{max}\)), reducing the number of possible \(SN\) or \(RN_{i}\). Finally, we save energy by selecting UAVs with lower Time to move \(t_{move}\) value, since we reduce UAV movements that consume a lot of energy. Time to move \(t_{move}\) is computed as follows:  
\[t_{move}=\frac{dist(L(X_{i},Y_{i}),L(X,Y))}{S_{max}}. \tag{5}\]  
The \(CN\) performs energy-aware decision by considering the minimal energy \(E_{min}\) value, which means the energy required to transmit packets (\(E_{tx}\)), to retrieve video frames (\(E_{video}\)), to fly to the event or ideal location (\(E_{fly}\)), and to fly back to the control centre for battery replacement (\(E_{replacement}\)). The \(CN\) only considers a given UAV as a possible source node \(SN\) or relay node \(RN_{i}\) as soon as the UAV has the current remaining energy \(RE_{i}\) higher than the minimal energy \(E_{min}\), which means that such UAV has enough energy to perform the defined tasks, providing energy-efficiency. It is important to mention that the energy required to become a source node \(SN\) is higher than the energy required to become a relay node \(RN_{i}\) since the source node \(SN\) spends energy \(E_{frame}\) to capture/encode each video frame and not only to transmit each video packet \(E_{tx}\). The minimal energy \(E_{min}\) for each UAV \(v_{i}\) is computed as follows:  
\[E_{min}=\left\{ \begin{array}{cl}&E_{video}+E_{tx}^{SN}+E_{fly}+E_{replacement },&\text{if }SN,\\ &E_{tx}^{RN}+E_{fly}+E_{replacement},&\text{otherwise}.\end{array} \right. \tag{6}\]  
It is possible to compute the number of frames for a given video by considering video duration (denoted as \(video_{duration}\)) and configuration information, such as frames per second (\(fps\)). In this way, the energy required to retrieve the video frames (\(E_{video}\)) by the source node \(SN\) can be computed by considering the number of frames for a given video and energy required to transmit each video frame \(P_{frame}\), which is computed as follows:\[E_{video}=\frac{video_{duration}}{fps}\times E_{frame}. \tag{7}\]  
Each relay node \(RN_{i}\) needs a given energy to transmit a given number of k multimedia packets, which is computed as follows:  
\[E_{tx}^{RN}=k\times E_{tx}. \tag{8}\]  
Both source node \(SN\) and relay node \(RN_{i}\) require a given energy \(E_{fly}^{SN,RN}\) to fly from their current location \(L(X_{i},Y_{i})\) to the event location or ideal relay node location \(L(X,Y)\).