\usetikzlibrary{calc,trees,positioning,arrows,chains,shapes.geometric,% decorations.pathreplacing,decorations.pathmorphing,shapes,% matrix,shapes.symbols,plotmarks,decorations.markings,shadows,backgrounds} \def\MVE{\mbox{MVE}} \def\MVBASE{\mbox{BASE\_MC}} \def\INTERVIEW{\mbox{INTERVIEW\_COPY}} \def\COMBMC{\mbox{COMB\_MC}} \def\COMBMCDISP{\mbox{COMB\_MC\_Disp}} % Define block styles \tikzstyle{block} = [rectangle, draw, text width=6cm, text centered, minimum height=1.5cm, node distance=2.3cm] \tikzstyle{node_circle} = [circle, draw, text centered] \tikzstyle{decision} = [diamond, draw, text badly centered, inner sep=1pt, text width=2cm, node distance=2.8cm] \tikzstyle{line} = [draw, -latex'] \newcommand{\scale}{0.7} \begin{tikzpicture}[node distance = 2.5cm, auto,every node/.style={minimum size=\scale,scale=\scale},scale=\scale] % Place nodes \node [decision] at (0,0) (Indentify) {\small Identifying corrupted frame}; \node [block,ellipse, text width=2.5cm,above of=Indentify,yshift=0.7cm] (Start) {Frame Start}; \path [line] (Start) -- (Indentify); \node [block,below of=Indentify,yshift=-0.7cm] (Divide) {The frame is divided into $4\times4$ blocks}; \path [line] (Indentify) -- (Divide); \node [block,below of=Divide] (Normalization) {Motion vector normalization}; \path [line] (Divide) -- (Normalization); \node [block, below of=Normalization] (Differences) {Calculating motion vector differences (MVD)}; \path [line] (Normalization) -- (Differences); \node [block, right of=Indentify, xshift=5cm,yshift=1.4cm] (Recursive) {Recursive motion vector difference and refinement area selection}; \path [line] (Differences.south) -- +(0,-1) -- +(7.8/2,-1) -- +(7.8/2,11+0.8) -| (Recursive.north); \node [block, below of=Recursive] (Iterative) {Iterative counting the occurrences of MVD}; \path [line] (Recursive) -- (Iterative); \node [block,below of=Iterative] (Selection) {The MVD with maximum occurrence is individually selected in x and y directions}; \path [line] (Iterative) -- (Selection); \node [block,below of=Selection] (FinalMV) {Final motion vector is derived by adding the refined MVD}; \path [line] (Selection) -- (FinalMV); \node [block,ellipse, text width=2.5cm,below of=FinalMV, yshift=0cm] (End) {End of frame}; \path [line] (FinalMV) -- (End); \end{tikzpicture}