\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}} \newcommand{\scale}{0.4} % Define block styles % \tikzstyle{simple_block} = [rectangle, text width=1.4cm, text centered, minimum height=1cm,node distance = 1.7cm] % \tikzstyle{block} = [simple_block,draw,fill=gray!10] % \tikzstyle{node_circle} = [circle, draw, text centered] % % \tikzstyle{decision} = [diamond, draw, text centered, node distance=3cm] % \tikzstyle{line} = [draw, -latex', thick] \def\scale{1} \begin{tikzpicture}[ font=\footnotesize, auto, every node/.style={scale=\scale}, template/.style={thick, text centered}, block/.style={template, draw,fill=TikZColorFill, rectangle, text width=2.2cm, text centered, minimum height=.9cm, node distance=1cm}, labels/.style={template, scale=1.2}, line/.style={template, draw, -latex', thick}, point/.style={template, draw, fill=black, circle,inner sep=0, minimum size=3} ] \tikzset{ between/.style args={#1 and #2}{ at = ($(#1)!0.5!(#2)$) } } \node [block] (BMVE) {Block-based \\ MVE}; \node [block, right=of BMVE] (PMVE) {Pixel-based \\ MVE}; \node [block, right=of PMVE] (MVE) {MVE}; \node [block, right=of MVE] (MC) {MC}; \node[coordinate, yshift=1cm, between=BMVE and PMVE] (p1) {}; \node[coordinate, yshift=1cm, between=MVE and MC] (p2) {}; \node [block, above=.6cm of p1, text width=3.7cm] (MotionEst) {Optical flow estimation}; \path [line] (MotionEst) |- (BMVE |- p1) -- (BMVE); \path [line] (MotionEst) |- (PMVE |- p1) -- (PMVE); \node [block, text width=2cm] at (MotionEst -| p2) (MotionExtraction) {MV parser}; \path [line] (MotionExtraction) |- (MVE |- p2) -- (MVE); \path [line] (MotionExtraction) |- (MC |- p2) -- (MC); \node[above=0cm of p2, xshift=.3cm] {$v_{-1}$}; \node[coordinate, between=PMVE and MVE] (p3) {}; \node[labels,above=3.4 of p3] (FTM1) {$f_{-1}$}; \node[labels] at (FTM1 -| MotionEst.140) (FTM2) {$f_{-2}$}; \path [line] (FTM2) -- (MotionEst.140); \path [line] (FTM1) -- ($(FTM1 |- MotionExtraction)+(0,1)$) -| (MotionEst.40); \path [line] (FTM1) -- ($(FTM1 |- MotionExtraction)+(0,1)$) -| (MotionExtraction.north); \newcommand{\MDistance}{.6cm} \node [below=\MDistance of BMVE] (M1) {M1}; \path [line] (BMVE) -- (M1); \node [below=\MDistance of PMVE] (M2) {M2}; \path [line] (PMVE) -- (M2); \node [below=\MDistance of MVE] (M3) {M3}; \path [line] (MVE) -- (M3); \node [below=\MDistance of MC] (M4) {M4}; \path [line] (MC) -- (M4); % \path (BMVE.west) -- (MC.east) node[pos=0.5] (p2) {}; % \node [block, below of=p2, text width=7.5cm,node distance=1.8cm] (Select) {Concealment method selection and signalling}; % \path[line] (BMVE.south) -- (Select.north -| BMVE); % \path[line] (PMVE.south) -- (Select.north -| PMVE); % \path[line] (MVE.south) -- (Select.north -| MVE); % \path[line] (MC.south) -- (Select.north -| MC); \end{tikzpicture}