<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Fast Multigrid Pattern Search for Motion Estimation in Hybrid Compression Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Nguyen Van Truong</string-name>
          <email>thientruong.mars@gmail.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andrey A. Tropchenko</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>ITMO University</institution>
          ,
          <addr-line>Saint Petersburg, 197101, Russian Federation</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper deals with the motion estimation algorithms for the video sequences analysis in hybrid compression standards H.264/AVC and H.265/HEVC. Based on the analysis of the advantages and disadvantages of existing algorithms has been offered a new algorithm, which is called Fast Multigrid Pattern Search (FMPS). This new algorithm includes the Fast Interger-Pel Search FIPS, Adaptive Rood Pattern Search ARPS and hierarchical search MP (Hierarchical search or Mean pyramid). All motion estimation algorithms have been implemented using MICROSOFT VISUAL STUDIO and tested with several video sequences. The criteria for evaluating the algorithms were: speed, peak signal to noise ratio and RD-curves. The proposed method showed a much better performance at a comparable error and deviation (about 4 times faster). The average loss of the RD curve value (PSNR versus bitrate) is up to 3.75% in all. Application of this algorithm in hybrid codecs (H.264/AVC and H.265/HEVC) instead of the standard can significantly reduce compression time. This feature enables to recommend it in telecommunication systems for multimedia data storing, transmission and processing.</p>
      </abstract>
      <kwd-group>
        <kwd>motion estimation</kwd>
        <kwd>H</kwd>
        <kwd>264/AVC</kwd>
        <kwd>H</kwd>
        <kwd>265/HEVC</kwd>
        <kwd>ARPS</kwd>
        <kwd>FIPS</kwd>
        <kwd>Fast Multigrid Pattern Search</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Interframe predictive coding is used to eliminate the large amount of temporal
and spatial redundancy that exists in video sequences and helps in compressing
them. In conventional predictive coding the difference between the current frame
and the predicted frame (based on the previous frame) is coded and
transmitted. The better the prediction, the smaller the error and therefore lowered the
transmission bit rate. If a scene is still, then a good prediction for a particular
pixel in the current frame is the same pixel in the previous frame and the error
is zero. However, when there is motion in a sequence, then a pixel on the same
part of the moving object is a better prediction for the current pixel [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        There are many motion estimation algorithms for interframe prediction
coding. This work is oriented on algorithms that are called "block matching
algorithms" [
        <xref ref-type="bibr" rid="ref2 ref3 ref4 ref5">2-5</xref>
        ]. Block matching algorithm is a method of finding block matching
in a video sequence for motion estimation. The algorithm includes the division of
the current frame into blocks and comparing each of them with a corresponding
block in the adjacent frame. It creates a vector which describes the motion of
the unit from one place to another. This process is performed for all the frame
blocks.
      </p>
      <p>Motion estimation has a fairly large amount of computation and can consume
up to 80% of the processing power of the encoder, when a full search (FS) is used.
It evaluates all possible candidate blocks within the search window. Outgoing of
this disadvantage, looking for other effective algorithms is started.</p>
      <p>
        The Unsymmetrical-cross Multihexagon-grid Search (UMHexagonS) or FIPS
was proposed for the fast integer pel motion estimation in H. 264/AVC [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
Compared to FS, the UMHexagonS algorithm claims that it can reduce 90% of motion
estimation time, drop less than 0.05dB PSNR, and maintain the low bit rate, in
order to make the initial search point close to the best prediction point. And a
novel Center Biased Fractional-pel Search (CBFPS) algorithm or ARPS is
proposed for the fast fractional pel motion estimation in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], which can save 30–50%
computation compared with the Full Fractional-pel Search scheme. However, in
the UMHexagonS algorithm compared to ARPS and Enhanced Predictive Zonal
Search EPZS, the computational complexity is very high, because the search
pattern shape has more search candidate. Therefore, in this work we propose fast
motion estimation algorithm with name Fast Multigrid Pattern Search FMPS.
The proposed method showed that it works about 4 times faster. This is achieved
by reducing the number of search pixels on the blocks and the number of coded
blocks in the frame. The peak signal to noise ratio in different video sequences
shows better and worse results than characteristics of known algorithms (up to
3.75%) so it requires further investigation.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Fast Multigrid Pattern Search FMPS</title>
      <p>To overcome the disadvantages of existing algorithms, we propose the
following algorithm called “Fast Multigrid Pattern Search”, which includes the FIPS
algorithm for integer pel estimation, ARPS algorithm for fractional pel
estimation and Hierarchical Search MP. The whole motion estimation process of FMPS
is exemplified in the flowchart in fig. 1:</p>
      <p>Component algorithms are discussed in the following sections.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Fast Interger-Pel Search FIPS</title>
      <p>
        FIPS is a hybrid method because it includes four steps with different kinds
of search pattern [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] (fig. 2):
– Step 1: Initial search point prediction: Spatial median prediction, upper layer
prediction, neighboring reference frame prediction, and temporal prediction
are used to predict current motion vector (MV) of block;
– Step 2: Asymmetrical cross search. It is followed by an early termination
scheme;
– Step 3: Uneven multi-hexagon-grid search (step 3-1). Two sub-steps include
a square search pattern and a 16 points hexagon search pattern (step 3-2);
– Step 4: Extended hexagon-based search (step 4-1). Two sub-steps include
a hexagon search pattern and a diamond search pattern (Small diamond
search pattern SDSP) (step 4-2). Early termination scheme is also applied
during the search process.
      </p>
      <p>
        For each step mentioned above, the best search point (which means a point
with minimum cost so far) generated by the previous step is used as a search
center for the current search step. Initial search point prediction is an important
technique introduced by many fast motion estimation algorithms [
        <xref ref-type="bibr" rid="ref7 ref8">7,8</xref>
        ] setting the
search area around the MBD (Minimum Block Distortion) point of the whole
search window in order to improve the performance of motion estimation. Median
prediction as described in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] is frequently used in many algorithms and standard.
Motion vectors of the collocated block in the previous frame and of the spatially
adjacent blocks are also used in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] as initial search point predictors. four kinds
of prediction modes in this proposal:
      </p>
      <p>As fig. 3 shows, median predictor is used in median prediction of MV, the
median value of the adjacent blocks on the left, up, and up-right (or up-left) of
the current block is used to predict the motion vector of the current block:</p>
      <p>M Vpredict = median(M Vleft; M Vup; M Vup right):
Therefore we can predict the SAD (Sum of Absolute Differences) by:
SADpredict = min(SADXpredict; SADY predict):
(1)
(2)
3.2</p>
      <sec id="sec-3-1">
        <title>Upper layer Prediction</title>
        <p>As fig. 4 shows, there are seven inter prediction block modes defined in H.264.
8x8 modes (mode 4, 5, 6, 7) are first searched followed by 16x16 modes (mode
3, 2, 1). Such a strategy is not beneficial in utilizing the motion relationship
between different modes, therefore the search order of the modes here is changed
according to the size of the block mode, a hierarchically search order from mode
1 to 7 is chosen as our mode search order and the motion vector of the up layer
block (for example, mode 5 or 6 is the up layer of mode 7, and mode 4 is the up
layer of mode 5 or 6, etc.) is used as one of the prediction candidates of lower
layer, just as fig. 5 demonstrates.</p>
        <p>M Vpredict = median(M VUpLayer):
Therefore we can predict the SAD by:
(3)</p>
        <p>Multi-reference frames motion compensation is adopted in JVT to increase
prediction accuracy and coding efficiency. For the same current block, motion
vectors in different reference frames exhibit a strong correlation in our
experiment. Therefore current block’s motion vector in reference frame tp can be
predicted by scaling of current block’s motion vector in reference frame tp+1,
as fig. 6 shows:</p>
        <p>Therefore we can predict the SAD by:</p>
        <p>M Vpredict = M Vneigh tc
tc</p>
        <p>tp
tp
1</p>
        <p>:</p>
        <p>SADpredict = SADneigh:
3.4</p>
      </sec>
      <sec id="sec-3-2">
        <title>Temporal Prediction</title>
        <p>For natural video sequence, the motion track of a moving object is continuous
except scene change occur, therefore there is strong correlation of motion vector
in the temporal domain, and then we utilize this property to give an accurate
starting search position. In this prediction mode, the motion vector of the
corresponding block in the last frame is used as one motion vector candidate, as
fig. 7 shows:
(4)
(5)
(6)
Therefore we can predict the SAD by:</p>
        <p>SADpredict = SADcorres:</p>
        <p>The prediction with the minimum cost among these prediciencies will be
chosen as the initial search position of next search step.
(7)
(8)</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Adaptive Rood Pattern Search ARPS</title>
      <p>The algorithm uses the fact that the total motion of the frame is usually
coherent, i.e. if the blocks around the current block moving in a certain direction
then there is a high probability that the current block will also have a similar
motion vector. This algorithm uses the motion vector of the block to its
immediate left to predict its own motion vector [10]. The algorithm summarized as
follows (fig. 8):
– Step 1: Find the predicted motion vector of the block. Set step size as max
(|x|, |y|), where (x, y) – coordinates of predicted motion vector. Find points
(around the center) are located at a distance of step size from the center.
Find the point with the minimum distortion, which then to be the new
center.
– Step 2: Perform a search on SDSP around the new center. Repeat SDSP
search until point with the minimum distortion is at the center of SDSP.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Hierarchical search MP (Mean pyramid)</title>
      <p>MP algorithm is described as: At the beginning, to eliminate the effect of
noise low-resolution image is obtained by low-pass filter [11, 12]. The scheme of
the MP algorithm is shown in fig. 9.</p>
      <p>The proposed algorithm was implemented using Microsoft Visual Studio and
tested with several video sequences1.</p>
      <p>
        In the experiment, we will compare the proposed algorithm with the
algorithm FS, FIPS with ARPS[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and EPZS, which are used in JM 19.0
(H.264/1449610 AVC Reference Software) by the following criteria: the coding time and the
quality of the video sequence (according to PSNR and RD curve). The
experiment is carried on Window 10 OS platform with Intel(R) Core(TM) i5-4210U
CPU @1.70GHz 2.40 GHz and 6GB RAM.
      </p>
      <p>The coding time is estimated by comparing the average coding time for
encoding each video sequence (shown in Table 1). It can be seen that the proposed
algorithm reduces the coding time by about 4 times in comparison with the other
algorithms.</p>
      <p>The quality of the video sequence is estimated by comparing the average
PSNR video exponent (Table 2) and the RD curve values (Fig. 10). The results
of the research show that the proposed algorithm loses not more than 0.87 to
3.75% of the PSNR ratio in comparison with other algorithms.</p>
      <p>In Fig. 10 shows the curves of the dependence of the distortion rate RD
of the proposed algorithm and others for the difference video sequences with
QP (quantization parameter) equal to 37, 32, 27, 22, vertical axes are PSNR
(dB), horizontal axes correspond to bitrate (kbps), and each point on the curves
represents the parameter QP. From Fig. 10 that the RD-curves for the considered
algorithms (FS, FIPS with ARPS, EPZS and proposed algorithms) are close for
each sub-step. This can explain the fact that the proposed change has little
impact on both PSNR and bitrate.
1 Test video sequences ftp://ftp.tnt.uni-hannover.de/pub/svc/testsequences/.</p>
      <p>A new algorithm for interframe encoding of the hybrid codecs is proposed,
which includes well-known algorithms FIPS, ARPS and MP. The algorithm was
tested with several video sequences. Experimental results showed that the
proposed algorithm works faster 4 times, while the PSNR coefficient is only
0.863.75% below the other algoritms.
10. Nguyen, V. T., Tropchenko, A. A. Hierarchical adaptive rood pattern search for
motion estimation at video sequence analysis // Scientific and Technical Journal of
Information Technologies, Mechanics and Optics. 2016. Vol. 16, No. 3. P. 474–481.
11. Nguyen, V. T., Tropchenko, A. A. Methods And Algorithms For Reducing
Temporal Redundancy Of Video Data / Sbornik statyei II-oy Mezdunarodnoy
nauchnoprakticheskoy konferensyy “Aktualnye problem nauky XXI veka”. 2015. Vol. 2. P.
3641. — Moscow: Cognitio, 2015.
12. Tropchenko, A. A., Tropchenko, A. U., Nguyen, V.T. Research of Block-Based
Motion Estimation Methods for Video Compression // TEM Jornal - 2016. Vol. 5,
No. 3, P. 187-194.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Tauraga</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <article-title>Search algorithms for Block Matching Estimation // Mid-term Project</article-title>
          , spring
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Moschetti</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kunt</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Debes</surname>
            ,
            <given-names>E. A Statistical</given-names>
          </string-name>
          <string-name>
            <surname>Adaptive</surname>
          </string-name>
          <article-title>Block-Matching Motion Estimation // IEEE transactions on circuits and systems for video technology</article-title>
          .
          <source>2003</source>
          . Vol.
          <volume>13</volume>
          , No. 4. P.
          <volume>417</volume>
          -
          <fpage>431</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Babu</surname>
            ,
            <given-names>D.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Subramanian</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Karthikeyan</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <article-title>Performance Analysis of Block Matching Algorithms for</article-title>
          Highly Scalable Video Compression // 1-42440731-2006 IEEE. P.
          <volume>179</volume>
          -
          <fpage>181</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Barjatya</surname>
            ,
            <given-names>A. Block</given-names>
          </string-name>
          <string-name>
            <surname>Matching Algorithms For</surname>
          </string-name>
          Motion Estimation // DIP 6620 Final Project Paper in Digital Image Processing, Utah State University. P. 1-
          <fpage>6</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Cuevas</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zaldívar</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pérez-Cisneros</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oliva</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <article-title>Block-matching algorithm based on differential evolution for motion estimation</article-title>
          // Engineering Applications of Artificial Intelligence.
          <year>2013</year>
          . Vol.
          <volume>26</volume>
          , No. 1. P.
          <volume>488</volume>
          -
          <fpage>498</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Zhibo</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jianfeng</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yun</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Junli</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          <article-title>Fast integer-pel and fractional-pel motion estimation for</article-title>
          H.264/AVC // Journal of Visual Communication and
          <string-name>
            <given-names>Image</given-names>
            <surname>Representation</surname>
          </string-name>
          .
          <year>2006</year>
          , Vol.
          <volume>17</volume>
          , No. 2,
          <string-name>
            <surname>P.</surname>
          </string-name>
          264-
          <fpage>290</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Tourapis</surname>
          </string-name>
          , H. Y.,
          <string-name>
            <surname>Tourapis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Topiwala</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <article-title>Fast Motion Estimation within the JVT codec // JVT-E023, 5th Meeting: Geneva</article-title>
          , Switzerland,
          <fpage>09</fpage>
          -
          <lpage>17</lpage>
          October,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Joint</given-names>
            <surname>Video</surname>
          </string-name>
          <article-title>Team (JVT) of ISO/IEC MPEG</article-title>
          &amp;
          <string-name>
            <surname>ITU-T VCEG Joint Video</surname>
          </string-name>
          <article-title>Team (JVT) of ISO/IEC MPEG</article-title>
          &amp;
          <string-name>
            <surname>ITU-T</surname>
            <given-names>VCEG</given-names>
          </string-name>
          // JVT-F100d2.
          <article-title>doc, 6th meeting</article-title>
          , Awaji, Island, JP,
          <fpage>5</fpage>
          -
          <issue>13</issue>
          <year>December</year>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Jain</surname>
          </string-name>
          , A. K. Fundamentals of Digital Image Processing // Englewood Cliffs, NJ: Prentice-Hall,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>