<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JCC</journal-id><journal-title-group><journal-title>Journal of Computer and Communications</journal-title></journal-title-group><issn pub-type="epub">2327-5219</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jcc.2017.510007</article-id><article-id pub-id-type="publisher-id">JCC-78753</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  Predictive Block-Matching Algorithm for Wireless Video Sensor Network Using Neural Network
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Zhuge</surname><given-names>Yan</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Siu-Yeung</surname><given-names>Cho</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Sherif</surname><given-names>Welsen Shaker</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Department of Electrical and Electronic Engineering, Faculty of Science and Engineering, University of Nottingham Ningbo China, Ningbo, China</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>david.cho@nottingham.edu.cn(ZY)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>30</day><month>07</month><year>2017</year></pub-date><volume>05</volume><issue>10</issue><fpage>66</fpage><lpage>77</lpage><history><date date-type="received"><day>15,</day>	<month>June</month>	<year>2017</year></date><date date-type="rev-recd"><day>25,</day>	<month>August</month>	<year>2017</year>	</date><date date-type="accepted"><day>28,</day>	<month>August</month>	<year>2017</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  This paper proposed a back propagation neural network model for predictive block-matching. Predictive block-matching is a way to significantly decrease the computational complexity of motion estimation, but the traditional prediction model was proposed 26 years ago. It is straight forward but not accurate enough. The proposed back propagation neural network has 5 inputs, 5 neutrons and 1 output. Because of its simplicity, it requires very little calculation power which is negligible compared with existing computation complexity. The test results show 10% - 30% higher prediction accuracy and PSNR improvement up to 0.3 dB. The above advantages make it a feasible replacement of the current model.
 
</p></abstract><kwd-group><kwd>Wireless Sensor Network</kwd><kwd> Predictive Block-Matching</kwd><kwd> Neural Network</kwd><kwd> High Efficaciously Video Coding</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>A good wireless multimedia sensor network (WMSN) must be energy efficient, for the possibility of operating in harsh environment and lack of maintenance [<xref ref-type="bibr" rid="scirp.78753-ref1">1</xref>] [<xref ref-type="bibr" rid="scirp.78753-ref2">2</xref>] [<xref ref-type="bibr" rid="scirp.78753-ref3">3</xref>] . However, video encoding requires massive amount of calculation power. Taking H.264 standard as an example, processing an HDTV (720P) video signal in real time requires a 3600 GIPS processor with 5570 GB/s memory band-width [<xref ref-type="bibr" rid="scirp.78753-ref4">4</xref>] [<xref ref-type="bibr" rid="scirp.78753-ref5">5</xref>] , which exceeds the computing power of most desktop processor. Apart from implementing more advanced processers with higher energy efficiency ratio, which will increase the hardware cost, using more efficient encoding algorithm is a more practical option.</p><p>For a video encoding system, predictive coding is the key part and requires more calculation than other parts such as entropy coding. Motion estimation plays an important role in predictive coding [<xref ref-type="bibr" rid="scirp.78753-ref6">6</xref>] [<xref ref-type="bibr" rid="scirp.78753-ref7">7</xref>] . Therefore, in the field of video stream transmission for WMSNs, an energy-efficient block-matching algorithm is of high importance. There are variety of block-matching search algorithms for motion estimation, such as three-step search, four-step search, diamond search, modified diamond-square search and gradient descent search, etc. [<xref ref-type="bibr" rid="scirp.78753-ref6">6</xref>] [<xref ref-type="bibr" rid="scirp.78753-ref7">7</xref>] . Prediction technique proposed by Zhang and Zafar [<xref ref-type="bibr" rid="scirp.78753-ref8">8</xref>] , [<xref ref-type="bibr" rid="scirp.78753-ref9">9</xref>] uses a simple prediction model to reduce the search windows size for block-matching, therefore significantly reduced the calculation complexity of motion estimation, with only small sacrifice on image quality. It has been widely used by many researchers in different block-matching algorithms [<xref ref-type="bibr" rid="scirp.78753-ref10">10</xref>] [<xref ref-type="bibr" rid="scirp.78753-ref11">11</xref>] [<xref ref-type="bibr" rid="scirp.78753-ref12">12</xref>] . The prediction model proposed by Zhang and Zafer is straight forward, simply assuming that the current block has the same motion vector as the block at the same place in the previous frame or around it in the same frame. However, in our test the model did not provide high prediction accuracy. Instead of taking a mean value, we believe the reference motion vectors have certain weights. Therefore, we thought of artificial neural network (ANN).</p><p>An ANN mimics somewhat the learning process of a human brain. Instead of complex rules and mathematical routines, ANNs are able to learn the key information patterns within a multidimensional information domain [<xref ref-type="bibr" rid="scirp.78753-ref13">13</xref>] [<xref ref-type="bibr" rid="scirp.78753-ref14">14</xref>] . In this report we aim to use a simple back propagation neural network instead of the traditional prediction model, to improve the prediction accuracy. The results show that the proposed neural network can significantly improve the prediction accuracy and leads to better image quality. Because of the simplicity of the neural network, the required calculation is little.</p></sec><sec id="s2"><title>2. Background Research</title><sec id="s2_1"><title>2.1. Motion Estimation</title><p>The principle of block-matching motion estimation is to find out the movement of each microblock compared with the previous frame. Getting motion vector is the first step to do predictive encoding for video compression. To find out the movement information, the current frame is divided into 16 &#215; 16 pixels micro- blocks. Each microblock is compared to the reference frame in a search window of a certain size, therefore locate a microblock which has a minimum MAD (mean absolute difference) value as is shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>. The lengths of the microblock moved along the x axis and y axis in pixels are the motion vectors.</p><sec id="s2_1_1"><title>2.1.1. Three Step Search</title><p>Three-step search (TSS) algorithm was first introduced in 1981 by Koga et al. [<xref ref-type="bibr" rid="scirp.78753-ref15">15</xref>] . It is a classic search algorithm for motion estimation. It is an efficient algorithm which needs only 3 three steps to finish the search in a search window</p><p>of &#177;7. If the search window is larger than &#177;7, then this algorithm needs more than 3 steps to finish the search. TSS uses a coarse-to-fine search pattern. Starting from the initial point, TSS compares 8 search points around it with a certain search step and finds the direction of block movement, then perform a more accurate search by reducing the search step. The description of TSS algorithm is detailed as follows:</p><p>Step 1: The step size is set as half of (search window size −1). Together with the initial point, the SAD values of 8 search points at the distance of step size are compared.</p><p>Step 2: The point which has the minimum SAD value is picked as the new initial point, the step size is halved.</p><p>Step 1 and 2 are repeated until the step size is smaller than 1.</p><p><xref ref-type="fig" rid="fig2">Figure 2</xref> shows the search pattern of TSS algorithm.</p></sec><sec id="s2_1_2"><title>2.1.2. Enhanced Modified Orthogonal Search</title><p>Orthogonal search (OS) algorithm was introduced by Soongsathitanon et al. [<xref ref-type="bibr" rid="scirp.78753-ref16">16</xref>] in 2005. The search pattern is horizontally and vertically conducted alternatively (<xref ref-type="fig" rid="fig3">Figure 3</xref>(a)). It may be considered as improved TSS algorithm, which takes less number of search points. However, this algorithm has the same disadvantage as TSS does: it is inefficient for small motion estimation.</p><p>Modified Orthogonal search (MOS) algorithm was introduced by Metkar et al. [<xref ref-type="bibr" rid="scirp.78753-ref17">17</xref>] in 2010, meant to solve the small motion estimation problem. It adds 8 new search points as a 3 &#215; 3 square around the initial point in the first search step (<xref ref-type="fig" rid="fig3">Figure 3</xref>(b)). The added 8 search points improve its performance on small motion estimation.</p><p>Enhanced modified orthogonal search (EMOS) algorithm was introduced by Pandian et al. [<xref ref-type="bibr" rid="scirp.78753-ref18">18</xref>] in 2011. It replaced the 3 &#215; 3 square by a small diamond search pattern (<xref ref-type="fig" rid="fig3">Figure 3</xref>(c)). EMOS further improved the motion estimation performance compared with MOS, especially in reducing search points.</p><p>Step 1: An extra small diamond search pattern around the initial point is added in addition to the original horizontal search points in the first step of OS algorithm. If the initial point (0, 0) of the search window has the minimum SAD value, the block is assumed to have zero movement and search will be terminated. Otherwise, the point which has the minimum SAD value is selected as the new initial point.</p><p>Step 2: Step size is halved if the minimum SAD point is any one of the points in the small diamond pattern. 2 new search points at a distance of step size in the horizontal direction from the initial point together with the initial point itself are compared. The initial point is moved to the winning point.</p><p>Step 3: Two points in the vertical direction at a distance of the step size from the initial point are compared with the initial point. The initial point is moved to the winning one.</p><p>Step 4: Halve the step size until it is smaller than 1, etc.</p><p>The early termination of the algorithm at step 1 helped to reduce the computations significantly also retain the simplicity and regularity of EMOS algorithm. The number of search points needed to find the motion vector for EMOS as compared with the MOS, OS and TSS algorithms.</p></sec></sec><sec id="s2_2"><title>2.2. Predictive Block-Matching Motion Estimation Scheme</title><p>Predictive block-matching motion estimation scheme was introduced in 1991, namely predictive pattern search (PPS) [<xref ref-type="bibr" rid="scirp.78753-ref8">8</xref>] [<xref ref-type="bibr" rid="scirp.78753-ref9">9</xref>] . PPS has two prediction modes: inter-block prediction and inter-frame prediction. Inter-block prediction assumes neighboring blocks usually have the same or similar moving direction and distance. Therefore, via the reference of a nearby motion vector, the search window for the current block can be reduced, hence reduces the number of search points. Inter-frame prediction assumes a current block moves to the same or similar direction at the same or a similar distance compared with the corresponding block in the previous frame. <xref ref-type="fig" rid="fig4">Figure 4</xref> demonstrates the way inter-block and inter-frame prediction works.</p><p>Predictive Enhanced Modified Orthogonal Search (PEMOS), performs both inter-block and inter-frame prediction. The estimation of the current vector can be calculated using an autoregressive model given by [<xref ref-type="bibr" rid="scirp.78753-ref8">8</xref>] [<xref ref-type="bibr" rid="scirp.78753-ref9">9</xref>] :</p><p>E { V i + 1 ( m , n ) } = ∑ p , q ∈ θ α p , q V i ( m − q , n − q ) (1)</p><p>where { α p , q } is a set of prediction coefficients and θ can be a causal, semi- causal or noncausal set defined by [<xref ref-type="bibr" rid="scirp.78753-ref8">8</xref>] :</p><p>Causal set: θ = { p , q : q &gt; 0 ∀ p } ∪ { p , q : q = 0 , p &gt; 0 }</p><p>Semi-causal set: θ = { p , q : q &gt; 0 ∀ p } ∪ { p , q : q = 0 , ∀ p ≠ 0 }</p><p>Noncausal set: θ = { p , q : ∀ ( p , q ) ∈ δ }</p><p>According to [<xref ref-type="bibr" rid="scirp.78753-ref8">8</xref>] and [<xref ref-type="bibr" rid="scirp.78753-ref9">9</xref>] , for inter-block prediction, a casual model is used. For inter-frame prediction, any one of the three might be used.</p><p>Predictive search scheme has been added to different search algorithms and proved effective. For example, [<xref ref-type="bibr" rid="scirp.78753-ref10">10</xref>] proposed predictive three step search, which adds predictive block-matching scheme to three step search. The results show that predictive three step search significantly reduces computational complexity, with negligible decrease on image quality.</p><p>Another example is [<xref ref-type="bibr" rid="scirp.78753-ref11">11</xref>] , which added predictive block-matching scheme to EMOS. EMOS is believed to be one of the most efficient block-matching algorithms [<xref ref-type="bibr" rid="scirp.78753-ref6">6</xref>] . According to [<xref ref-type="bibr" rid="scirp.78753-ref11">11</xref>] , the proposed algorithm used Zhang and Zafer’s prediction model to estimate the motion vectors, therefore the first step of EMOS can be skipped, i.e., a smaller search window is used. If the estimated motion vector is very small, an even smaller search pattern will be used. As a result, PEMOS can reduce computational complexity up to 30%, also with very slight decrease on image quality.</p></sec><sec id="s2_3"><title>2.3. Back Propagation Neural Network</title><p>Rumelhart and McCelland published a book namely Parallel Distributed Processing [<xref ref-type="bibr" rid="scirp.78753-ref19">19</xref>] , discussed the algorithm Error Back Propagation in detail. Today back propagation neural network has become one of the most widely used artificial neural network models [<xref ref-type="bibr" rid="scirp.78753-ref13">13</xref>] . It is widely used in the field of function approximation, pattern recognition, data mining, system identification, automation technology and so on [<xref ref-type="bibr" rid="scirp.78753-ref14">14</xref>] .</p><p><xref ref-type="fig" rid="fig5">Figure 5</xref> shows a typical single hidden layer back propagation neural network</p><p>model. It includes an input layer, a hidden layer and an output layer.</p><p>For the hidden layer, we have:</p><p>y i = f ( n e t j ) ,   j = 1 , 2 , ⋯ , m (2)</p><p>where</p><p>n e t j = ∑ i = 0 n     v i j x i ,   j = 1 , 2 , ⋯ , m (3)</p><p>For the output layer, we have:</p><p>o k = f ( n e t k ) ,   k = 1 , 2 , ⋯ , l (4)</p><p>where</p><p>n e t k = ∑ j = 0 m     w j k y j ,   k = 1 , 2 , ⋯ , m (5)</p><p>In Equations (2) and (3), the transform function f (x) can be sigmoid functions similar as Equations (7) or (8), according specific applications.</p><p>f ( x ) = 1 1 + e − x (6)</p><p>f ( x ) = 1 − e − x 1 + e − x (7)</p></sec></sec><sec id="s3"><title>3. Proposed Neural Network for Predictive Block-Matching</title><p>A back propagation neural network model with 5 inputs, 1 hidden layer which contains 5 neutrons, and 1 output is used in this report (<xref ref-type="fig" rid="fig6">Figure 6</xref>).</p><p>The five inputs are: the motion vector at the same place in the previous frame, the motion vectors at top left, top, top right and left of the current block in the current frame. The number of hidden neutrons is decided applying the following equation [<xref ref-type="bibr" rid="scirp.78753-ref20">20</xref>] :</p><p>Number   of   hidden   neurons = 1 2 ( inputs + outputs ) ⋅ number   of   training   patterns (8)</p><p>The number of training patterns was assumed to be 4. Although the actual training patterns are more than 4, in order to keep the simplicity of neural network model, we consider motion vector values (positive, positive), (positive, negative), (negative, positive), (negative, negative) as 4 patterns. The training data contains 2000 sets of values generated using full search in the platform MATLAB. A linear transform function is used for computation simplicity.</p></sec><sec id="s4"><title>4. Results and Discussion</title><p>In order to find out the effectiveness of neural network prediction, three block-matching algorithms introduced in Section 0were tested, respectively full search, three step search and enhanced modified orthogonal search. We recorded prediction accuracy with different prediction schemes, image quality in terms of peak signal to noise ratio (PSNR) and energy efficiency in terms of average search points required per block.</p><p>In our test, for traditional prediction scheme, the mean value of inter-block and inter-frame prediction is used for the estimation of motion vector E [ V i + 1 ( m , n ) ] .</p><p>Several videos were tested using different block-matching search algorithms. <xref ref-type="table" rid="table1">Table 1</xref> shows the prediction accuracy of the proposed back propagation neural network compared with traditional prediction scheme. Tables 2-7 illustrate average search points needed per block, and the average peak signal-to-noise ratio (PSNR) which represents the image quality for different video and different search algorithms.</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Prediction accuracy comparison between neural network and traditional method</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Video</th><th align="center" valign="middle" >Bus</th><th align="center" valign="middle" >Akiyo</th><th align="center" valign="middle" >Claire</th><th align="center" valign="middle" >Foreman</th><th align="center" valign="middle" >Stefan</th><th align="center" valign="middle" >Highway</th><th align="center" valign="middle" >Mobile</th></tr></thead><tr><td align="center" valign="middle" >Neural network</td><td align="center" valign="middle" >54.3%</td><td align="center" valign="middle" >91.1%</td><td align="center" valign="middle" >52.4%</td><td align="center" valign="middle" >74.5%</td><td align="center" valign="middle" >39.6%</td><td align="center" valign="middle" >85.9%</td><td align="center" valign="middle" >55.7%</td></tr><tr><td align="center" valign="middle" >Traditional</td><td align="center" valign="middle" >84.9%</td><td align="center" valign="middle" >97.3%</td><td align="center" valign="middle" >78.0%</td><td align="center" valign="middle" >91.9%</td><td align="center" valign="middle" >61.9%</td><td align="center" valign="middle" >95.2%</td><td align="center" valign="middle" >86.1%</td></tr></tbody></table></table-wrap><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> PSNR (dB) performance with full search (search window &#177;7)</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Video</th><th align="center" valign="middle" >Bus</th><th align="center" valign="middle" >Akiyo</th><th align="center" valign="middle" >Claire</th><th align="center" valign="middle" >Foreman</th><th align="center" valign="middle" >Stefan</th><th align="center" valign="middle" >Highway</th><th align="center" valign="middle" >Mobile</th></tr></thead><tr><td align="center" valign="middle" >Without prediction</td><td align="center" valign="middle" >37.01</td><td align="center" valign="middle" >47.77</td><td align="center" valign="middle" >46.70</td><td align="center" valign="middle" >40.29</td><td align="center" valign="middle" >38.49</td><td align="center" valign="middle" >41.38</td><td align="center" valign="middle" >37.68</td></tr><tr><td align="center" valign="middle" >Neural network</td><td align="center" valign="middle" >36.47</td><td align="center" valign="middle" >47.77</td><td align="center" valign="middle" >46.70</td><td align="center" valign="middle" >39.96</td><td align="center" valign="middle" >38.19</td><td align="center" valign="middle" >41.31</td><td align="center" valign="middle" >37.67</td></tr><tr><td align="center" valign="middle" >Traditional</td><td align="center" valign="middle" >36.12</td><td align="center" valign="middle" >47.77</td><td align="center" valign="middle" >46.70</td><td align="center" valign="middle" >39.86</td><td align="center" valign="middle" >37.66</td><td align="center" valign="middle" >41.23</td><td align="center" valign="middle" >37.66</td></tr></tbody></table></table-wrap><table-wrap id="table3" ><label><xref ref-type="table" rid="table3">Table 3</xref></label><caption><title> Average search points per block with full search (search window &#177;7)</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Video</th><th align="center" valign="middle" >Bus</th><th align="center" valign="middle" >Akiyo</th><th align="center" valign="middle" >Claire</th><th align="center" valign="middle" >Foreman</th><th align="center" valign="middle" >Stefan</th><th align="center" valign="middle" >Highway</th><th align="center" valign="middle" >Mobile</th></tr></thead><tr><td align="center" valign="middle" >Without prediction</td><td align="center" valign="middle" >116.1</td><td align="center" valign="middle" >183.9</td><td align="center" valign="middle" >166.1</td><td align="center" valign="middle" >166.1</td><td align="center" valign="middle" >183.9</td><td align="center" valign="middle" >183.9</td><td align="center" valign="middle" >183.9</td></tr><tr><td align="center" valign="middle" >Neural network</td><td align="center" valign="middle" >39.18</td><td align="center" valign="middle" >41.03</td><td align="center" valign="middle" >37.39</td><td align="center" valign="middle" >37.39</td><td align="center" valign="middle" >42.14</td><td align="center" valign="middle" >41.03</td><td align="center" valign="middle" >41.03</td></tr><tr><td align="center" valign="middle" >Traditional</td><td align="center" valign="middle" >39.16</td><td align="center" valign="middle" >41.03</td><td align="center" valign="middle" >47.39</td><td align="center" valign="middle" >37.37</td><td align="center" valign="middle" >32.14</td><td align="center" valign="middle" >41.03</td><td align="center" valign="middle" >41.03</td></tr></tbody></table></table-wrap><table-wrap id="table4" ><label><xref ref-type="table" rid="table4">Table 4</xref></label><caption><title> PSNR (dB) performance with three step search (search window &#177;7)</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Video</th><th align="center" valign="middle" >Bus</th><th align="center" valign="middle" >Akiyo</th><th align="center" valign="middle" >Claire</th><th align="center" valign="middle" >Foreman</th><th align="center" valign="middle" >Stefan</th><th align="center" valign="middle" >Highway</th><th align="center" valign="middle" >Mobile</th></tr></thead><tr><td align="center" valign="middle" >Without prediction</td><td align="center" valign="middle" >36.54</td><td align="center" valign="middle" >47.74</td><td align="center" valign="middle" >46.69</td><td align="center" valign="middle" >40.05</td><td align="center" valign="middle" >38.22</td><td align="center" valign="middle" >41.13</td><td align="center" valign="middle" >37.59</td></tr><tr><td align="center" valign="middle" >Neural network</td><td align="center" valign="middle" >36.28</td><td align="center" valign="middle" >47.56</td><td align="center" valign="middle" >46.51</td><td align="center" valign="middle" >39.75</td><td align="center" valign="middle" >37.71</td><td align="center" valign="middle" >41.14</td><td align="center" valign="middle" >37.54</td></tr><tr><td align="center" valign="middle" >Traditional</td><td align="center" valign="middle" >36.22</td><td align="center" valign="middle" >47.62</td><td align="center" valign="middle" >46.55</td><td align="center" valign="middle" >39.74</td><td align="center" valign="middle" >37.55</td><td align="center" valign="middle" >41.14</td><td align="center" valign="middle" >37.32</td></tr></tbody></table></table-wrap><table-wrap id="table5" ><label><xref ref-type="table" rid="table5">Table 5</xref></label><caption><title> Average search points per block with three step search (search window &#177;7)</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Video</th><th align="center" valign="middle" >Bus</th><th align="center" valign="middle" >Akiyo</th><th align="center" valign="middle" >Claire</th><th align="center" valign="middle" >Foreman</th><th align="center" valign="middle" >Stefan</th><th align="center" valign="middle" >Highway</th><th align="center" valign="middle" >Mobile</th></tr></thead><tr><td align="center" valign="middle" >Without prediction</td><td align="center" valign="middle" >20.05</td><td align="center" valign="middle" >20.89</td><td align="center" valign="middle" >19.34</td><td align="center" valign="middle" >19.60</td><td align="center" valign="middle" >21.03</td><td align="center" valign="middle" >21.20</td><td align="center" valign="middle" >20.96</td></tr><tr><td align="center" valign="middle" >Neural network</td><td align="center" valign="middle" >15.91</td><td align="center" valign="middle" >15.72</td><td align="center" valign="middle" >15.27</td><td align="center" valign="middle" >15.51</td><td align="center" valign="middle" >15.84</td><td align="center" valign="middle" >16.02</td><td align="center" valign="middle" >15.79</td></tr><tr><td align="center" valign="middle" >Traditional</td><td align="center" valign="middle" >15.93</td><td align="center" valign="middle" >15.72</td><td align="center" valign="middle" >15.27</td><td align="center" valign="middle" >15.50</td><td align="center" valign="middle" >15.84</td><td align="center" valign="middle" >16.02</td><td align="center" valign="middle" >15.78</td></tr></tbody></table></table-wrap><table-wrap id="table6" ><label><xref ref-type="table" rid="table6">Table 6</xref></label><caption><title> PSNR (dB) performance with EMOS (search window &#177;7)</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Video</th><th align="center" valign="middle" >Bus</th><th align="center" valign="middle" >Akiyo</th><th align="center" valign="middle" >Claire</th><th align="center" valign="middle" >Foreman</th><th align="center" valign="middle" >Stefan</th><th align="center" valign="middle" >Highway</th><th align="center" valign="middle" >Mobile</th></tr></thead><tr><td align="center" valign="middle" >Without prediction</td><td align="center" valign="middle" >36.22</td><td align="center" valign="middle" >47.62</td><td align="center" valign="middle" >46.55</td><td align="center" valign="middle" >39.75</td><td align="center" valign="middle" >37.55</td><td align="center" valign="middle" >41.08</td><td align="center" valign="middle" >37.58</td></tr><tr><td align="center" valign="middle" >Neural network</td><td align="center" valign="middle" >36.22</td><td align="center" valign="middle" >47.70</td><td align="center" valign="middle" >46.63</td><td align="center" valign="middle" >39.73</td><td align="center" valign="middle" >37.73</td><td align="center" valign="middle" >41.08</td><td align="center" valign="middle" >37.59</td></tr><tr><td align="center" valign="middle" >Traditional</td><td align="center" valign="middle" >36.14</td><td align="center" valign="middle" >47.70</td><td align="center" valign="middle" >46.63</td><td align="center" valign="middle" >39.75</td><td align="center" valign="middle" >37.54</td><td align="center" valign="middle" >41.06</td><td align="center" valign="middle" >37.29</td></tr></tbody></table></table-wrap><table-wrap id="table7" ><label><xref ref-type="table" rid="table7">Table 7</xref></label><caption><title> Average search points per block with EMOS (search window &#177;7)</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Video</th><th align="center" valign="middle" >Bus</th><th align="center" valign="middle" >Akiyo</th><th align="center" valign="middle" >Claire</th><th align="center" valign="middle" >Foreman</th><th align="center" valign="middle" >Stefan</th><th align="center" valign="middle" >Highway</th><th align="center" valign="middle" >Mobile</th></tr></thead><tr><td align="center" valign="middle" >Without prediction</td><td align="center" valign="middle" >11.03</td><td align="center" valign="middle" >6.35</td><td align="center" valign="middle" >6.72</td><td align="center" valign="middle" >9.74</td><td align="center" valign="middle" >10.61</td><td align="center" valign="middle" >11.48</td><td align="center" valign="middle" >110.49</td></tr><tr><td align="center" valign="middle" >Neural network</td><td align="center" valign="middle" >8.60</td><td align="center" valign="middle" >4.67</td><td align="center" valign="middle" >5.02</td><td align="center" valign="middle" >7.80</td><td align="center" valign="middle" >7.70</td><td align="center" valign="middle" >7.80</td><td align="center" valign="middle" >6.75</td></tr><tr><td align="center" valign="middle" >Traditional</td><td align="center" valign="middle" >8.80</td><td align="center" valign="middle" >4.67</td><td align="center" valign="middle" >5.01</td><td align="center" valign="middle" >8.03</td><td align="center" valign="middle" >7.87</td><td align="center" valign="middle" >8.18</td><td align="center" valign="middle" >7.75</td></tr></tbody></table></table-wrap><p><xref ref-type="table" rid="table3">Table 3</xref> and <xref ref-type="table" rid="table6">Table 6</xref> show that using prediction schemes does have negative effect on image quality, causing the drop of average PSNR. Videos with larger movements such as “Bus” and “Stefan” appears to be more affected compared with videos with smaller movements such as “Akiyo” and “Claire”. However the average search points decrease to around a quarter using predicting schemes. Compared with traditional prediction scheme, neural network prediction can provide slightly higher image quality, because of its higher prediction accuracy as is shown in <xref ref-type="table" rid="table1">Table 1</xref>.</p><p>Using predictive block-matching schemes on three step search and EMOS shows similar results, as is illustrated in Tables 4-7. Orthogonal search (OS) can be seen as an improved version of TSS, and EMOS is improved OS. EMOS is already one of the most efficient block-matching algorithms. However, using predictive schemes is still an effective way to further improve its efficiency. Using neural network to predict the motion vector again is more accurate than the traditional approach, and leads to higher image quality without adding too much computation complexity.</p><p><xref ref-type="table" rid="table8">Table 8</xref> illustrates the computational complexity of the neural network for each block. Take EMOS as an example, assuming number of required search points per block is 7. The required numerical operation includes 3584 add or sub and 1792 absolute value for each block. The additional calculation complexity for the neural network is negligible compared with the existing calculation. Considering the improvement on prediction accuracy and image quality, it is very feasible to use neural network for motion vector prediction.</p></sec><sec id="s5"><title>5. Future Work</title><p>As the proposed back propagation neural network requires little calculation, in the future, implementation on real-time system might be carried out. The simplicity of the neural network model makes it not difficult to be implemented on either FPGA systems or embedded systems with general processors. Its performance in practice is to be found out and compared with the MATLAB simulation results after that.</p></sec><sec id="s6"><title>6. Conclusion</title><p>This report proposed a predictive model for block-matching based on neural network. This model is a back propagation neural network with 5 neutrons, aiming to improve the prediction accuracy of predictive block-matching schemes, with little computation cost. The results approve that the proposed model is effective. Firstly, Compared with the traditional predictive scheme, neural network shows great advantage in prediction accuracy, especially when the video has large movements. In addition, we did three sets of tests, respectively: without using prediction,</p><table-wrap id="table8" ><label><xref ref-type="table" rid="table8">Table 8</xref></label><caption><title> Computational complexity of back propagation neural network</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Video</th><th align="center" valign="middle" >Multiplication</th><th align="center" valign="middle" >Add/Sub</th></tr></thead><tr><td align="center" valign="middle" >Hidden layer</td><td align="center" valign="middle" >25</td><td align="center" valign="middle" >20</td></tr><tr><td align="center" valign="middle" >Output layer</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >4</td></tr><tr><td align="center" valign="middle" >Total</td><td align="center" valign="middle" >30</td><td align="center" valign="middle" >24</td></tr></tbody></table></table-wrap><p>using neural network prediction, and using traditional prediction scheme. For each case, three widely used block-matching algorithms were tested. Using neural network results in better image quality than using traditional prediction, and the value average search points stay the same or become less. In some cases, the image quality is better than without using prediction. Because of the simplicity of the neural network model, it can be easily implemented on existing designs, and requires very little computational power. In conclusion, using the proposed neural network is an effective way to improve the image quality of video encoding systems using predictive block-matching algorithms, and the cost on computational complexity is very small.</p></sec><sec id="s7"><title>Acknowledgements</title><p>The work was partly supported by the Zhejiang Natural Science Foundation under grant No. LY13F010014.</p></sec><sec id="s8"><title>Cite this paper</title><p>Yan, Z.G., Cho, S.-Y. and Shaker, S.W. (2017) Predictive Block-Matching Algorithm for Wireless Video Sensor Network Using Neural Network. Journal of Computer and Communications, 5, 66-77. https://doi.org/10.4236/jcc.2017.510007</p></sec></body><back><ref-list><title>References</title><ref id="scirp.78753-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Akyildiz, I.F., Melodia, T. and Chowdhury, K.R. (2007) A Survey on Wireless Multimedia Sensor Networks. Computer Networks, 51, 921-960.https://doi.org/10.1016/j.comnet.2006.10.002</mixed-citation></ref><ref id="scirp.78753-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Akyildiz, I.F., Melodia, T. and Ghosal, D. (2008) Wireless Sensor Network Survey. Computer Networks, 14, 32-39.</mixed-citation></ref><ref id="scirp.78753-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Yick, J., Mukherjee, B. and Chowdhury, K.R. (2007) Wireless Multimedia Sensor Networks: A Survey. IEEE Wireless Communications, 52, 2292-2330.</mixed-citation></ref><ref id="scirp.78753-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Chen, T.C., Lian Jr, C. and Chen, L.G. (2007) Hardware Architecture Design of an H. 264/AVC Video Codec. Proceedings of the 2006 Asia and South Pacific Design Automation Conference, Yokohama, 24-27 January 2006, 750-757.</mixed-citation></ref><ref id="scirp.78753-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Chen, T.C., Chien, S.Y. and Huang, Y.W. (2006) Analysis and Architecture Design of an HDTV720p 30 Frames/s H. 264/AVC Encoder. IEEE Transactions on Circuits and Systems for Video Technology, 16, 673-688. https://doi.org/10.1109/TCSVT.2006.873163</mixed-citation></ref><ref id="scirp.78753-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Chee, C.S., Jambek, A.B. and Hussin, R. (2012) Review of Energy Efficient Block-Matching Motion Estimation Algorithms for Wireless Video Sensor Networks. 2012 IEEE Symposium on Computers &amp; Informatics (ISCI), Penang, 18-20 March 2012, 241-246. https://doi.org/10.1109/ISCI.2012.6222702</mixed-citation></ref><ref id="scirp.78753-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Huang, Y.W., Chen, C.Y. and Tsai, C.H. (2006) Survey on Block Matching Motion Estimation Algorithms and Architectures with New Results. Journal of VLSI Signal Processing Systems for Signal, Image and Video Technology, 42, 297-320.https://doi.org/10.1007/s11265-006-4190-4</mixed-citation></ref><ref id="scirp.78753-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Zafar, S., Zhang, Y.Q. and Baras, J.S. (1991) Predictive Block-Matching Motion Estimation for TV coding. I. Inter-Block Prediction. IEEE Transactions on Broadcasting, 37, 97-101. https://doi.org/10.1109/TBC.1991.1492730</mixed-citation></ref><ref id="scirp.78753-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Zhang, Y.Q. and Zafar, S. (1991) Predictive Block-Matching Motion Estimation for TV Coding. II. Inter-Frame Prediction. IEEE Transactions on Broadcasting, 37, 102-105. https://doi.org/10.1109/11.99095</mixed-citation></ref><ref id="scirp.78753-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Amirpour, H., Mousavinia, A. and Shamsi, N. (2013) Predictive Three Step Search (PTSS) Algorithm for Motion Estimation. 2013 8th Iranian Conference on Machine Vision and Image Processing (MVIP), Zanjan, 10-12 September 2013, 48-52.https://doi.org/10.1109/IranianMVIP.2013.6779948</mixed-citation></ref><ref id="scirp.78753-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Yan, Z.G. and Welsen, S. (2016) Predictive Enhanced Modified Orthogonal Search Algorithm with Two Patterns for Wireless Video Sensor Network. Asia Pacific Conference on Multimedia and Broadcasting, Bali, 17-19 November 2016, 60-65.</mixed-citation></ref><ref id="scirp.78753-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Ahmed, Z., Hussain, A.J. and Al-Jumeily, D. (2011) Mean Predictive Block Matching (MPBM) for Fast Block-Matching Motion Estimation. 3rd European Workshop on Visual Information Processing, Paris, 4-6 July 2011, 67-72.</mixed-citation></ref><ref id="scirp.78753-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Demuth, H.B., Beale, M.H. and De Jess, O. (2014) Neural Network Design, Martin Hagan.</mixed-citation></ref><ref id="scirp.78753-ref14"><label>14</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>Schmidhuber</surname><given-names> J. </given-names></name>,<etal>et al</etal>. (<year>2015</year>)<article-title>Deep Learning in Neural Networks: An Overview</article-title><source> Neural Networks</source><volume> 61</volume>,<fpage> 85</fpage>-<lpage>117</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.78753-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Koga, T. (1981) Motion-Compensated Interframe Coding for Video Conferencing. Proceedings of National Telecommunication Conference, New Orleans, 29 November-3 December 1981, G5.3.1-G5.3.5.</mixed-citation></ref><ref id="scirp.78753-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Soongsathitanon, S., Woo, W.L. and Dlay, S.S. (2005) Fast Search Algorithms for Video Coding Using Orthogonal Logarithmic Search Algorithm. IEEE Transactions on Consumer Electronics, 51, 552-559.</mixed-citation></ref><ref id="scirp.78753-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">SMetkar, S.P. and Talbar, S.N. (2010) Fast Motion Estimation Using Modified Orthogonal Search Algorithm for Video Compression. Signal, Image and Video Processing, 4, 123-128. https://doi.org/10.1007/s11760-009-0104-9</mixed-citation></ref><ref id="scirp.78753-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Pandian, S., Bala, G.J. and Anitha, J. (2011) Enhanced Modified Orthogonal Search for Motion Estimation. Recent Advances in Intelligent Computational Systems, Trivandrum, 22-24 September 2011, 907-910.</mixed-citation></ref><ref id="scirp.78753-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Rumelhart, D.E. and McClelland, J.L. (1988) Parallel Distributed Processing.</mixed-citation></ref><ref id="scirp.78753-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Kalogirou, S.A. and Bojic, M. (2000) Artificial Neural Networks for the Prediction of the Energy Consumption of a Passive Solar Building. Energy, 25, 479-491.</mixed-citation></ref></ref-list></back></article>