\usetikzlibrary{calc,trees,positioning,arrows,chains,shapes.geometric,% decorations.pathreplacing,decorations.pathmorphing,shapes,% matrix,shapes.symbols,plotmarks,decorations.markings,shadows,backgrounds} \pgfdeclarelayer{background} \pgfdeclarelayer{foreground} \pgfdeclarelayer{L0} \pgfdeclarelayer{L1} \pgfdeclarelayer{L2} \pgfdeclarelayer{L3} \pgfsetlayers{background,L0,L1,L2,L3,main,foreground} \newcommand{\scale}{1} \begin{tikzpicture}[yscale=0.5, scale=\scale,every node/.style={scale=\scale},on grid ] \definecolor{LCUFill}{rgb}{0,0.5,1} \definecolor{DrawColor}{rgb}{0,0,0.5} \definecolor{LCUFill}{rgb}{1,1,1} \definecolor{DrawColor}{rgb}{0,0,0} \tikzstyle{TextStyle}=[scale=.5, text centered] \tikzstyle{Square}=[draw=DrawColor,thick] \tikzstyle{Connection}=[Square,dashed] \tikzstyle{Byte}=[draw=DrawColor,thick, dashed] \begin{scope}[xshift=0, yshift=-5cm] \begin{scope}[xshift=0, yshift=0cm] \node[TextStyle] at (1,.5) {Slice header}; \draw[Square] (0,0) rectangle ++(2,1cm); \draw[Square] (2,0) rectangle ++(7,1cm); \node[TextStyle] at (2+.25,0.5) {...}; \foreach \x in {0,...,2} { \draw[Square,thin] (2.5+2*\x,0) rectangle ++(2,1cm); \node[TextStyle] at (2.5+2*\x+1,.5) {CTU$_{n+\x}$}; } \node[TextStyle] at (2.5+2*3+.25,.1+0.8/2) {...}; \coordinate (EdgeL) at (2+.5,0); \coordinate (EdgeR) at (2+.5+2,0); \end{scope} \begin{scope}[xshift=.25*1cm, yshift=-2.5*1cm, scale=1] \draw[Connection] (EdgeL) -- (0,1); \draw[Connection] (EdgeR) -- (8,1); \draw[Square] (0,0) rectangle ++(8,1cm); \draw[Square] (0,0) rectangle ++(2,1cm); % \draw[Square] (1.5,0) rectangle ++(2.5,1cm); % \node[TextStyle] at (.75,.5) {CTU Position}; \node[TextStyle] at (2/2,.5) {SAO (optional)}; \node[TextStyle] at (6/2+2,.5) {Coding quatree (CT)}; \coordinate (EdgeL) at (2,0); \coordinate (EdgeR) at (8,0); \end{scope} \begin{scope}[xshift=.25*2cm, yshift=-2.5*2cm, scale=1] \coordinate (BraceT) at (.35,1.2); \draw[Connection] (EdgeL) -- (0,1); \draw[Connection] (EdgeR) -- (8,1); \draw[Square] (0,0) rectangle ++(8,1cm); \draw[Square] (0,0) rectangle ++(1.5,1cm); \node[TextStyle,scale=.95] at (1.5/2,.5) {split\_cu\_flag==1}; \draw[Square] (1.5,0) rectangle ++(8/4-1.5/4,1cm); \draw[Square] (1.5+8/4-1.5/4,0) rectangle ++(8/4-1.5/4,1cm); \draw[Square] (1.5+2*8/4-2*1.5/4,0) rectangle ++(8/4-1.5/4,1cm); \node[TextStyle] at (1.5+8/8-1.5/8,.5) {Coding quatree}; \node[TextStyle] at (1.5+8/4-1.5/4+8/8-1.5/8,.5) {Coding quatree}; \node[TextStyle] at (1.5+2*8/4-2*1.5/4+8/8-1.5/8,.5) {Coding quatree}; \node[TextStyle] at (1.5+3*8/4-3*1.5/4+8/8-1.5/8,.5) {Coding quatree}; \end{scope} \begin{scope}[xshift=.25*2cm, yshift=-2.5*2.7cm, scale=1] \coordinate (BraceB) at (.35,-.2); \draw[Square] (0,0) rectangle ++(8,1cm); \draw[Square] (0,0) rectangle ++(1.5,1cm); \node[TextStyle,scale=.95] at (1.5/2,.5) {split\_cu\_flag==0}; \node[TextStyle] at (1.5+8/2-1.5/2,.5) {Coding unit}; \coordinate (EdgeL) at (1.5,0); \coordinate (EdgeR) at (8,0); \end{scope} \draw [thick, decoration={brace, mirror, raise=0.5cm }, decorate] (BraceT) -- (BraceB) ; \end{scope} \begin{scope}[xshift=.8cm, yshift=-14cm] \begin{scope}[xshift=.5*0cm, yshift=-2.5*0, scale=1] \draw[Connection] (EdgeL) -- (0,1); \draw[Connection] (EdgeR) -- (8,1); \coordinate (BraceB) at (.35,-.2); \draw[Square] (0,0) rectangle ++(8,1cm); \node[TextStyle] at (.25,.5) {...}; \draw[Square] (0.5,0) rectangle ++(1.8,1cm); \node[TextStyle] at (1.8/2+0.5,.5) {Prediction unit$_{1}$}; \node[TextStyle] at (.5+1.8+.3,.5) {...}; \draw[Square] (0.5+1.8+0.6,0) rectangle ++(1.8,1cm); \node[TextStyle] at (1.8/2+0.5+1.8+0.6,.5) {Prediction unit$_{n}$}; \node[TextStyle] at (.5+1.8*2+.3*3,.5) {...}; \draw[Square] (0.5+1.8*2+0.6*2,0) rectangle ++(8-0.5-1.8*2-0.6*2,1cm); \node[TextStyle] at (1.8/2+0.5+1.8+0.6+2.8,.5) {Transform tree}; \end{scope} \end{scope} \end{tikzpicture}