Files
doc_phd_thesis/021_VideoCoding/Figures/HEVC/IntraPredictionsExample.tikz
T
2018-07-06 17:56:46 +01:00

53 lines
1.9 KiB
Plaintext

\newcommand{\scale}{.4}
\begin{tikzpicture}[auto, on grid, scale=\scale]
\def\BlockSize{8}
\tikzstyle{TextStyle}=[text centered, font=\Huge]
\tikzstyle{PU} =[draw, scale=\scale, minimum height=\BlockSize cm, minimum width=\BlockSize cm, font=\Huge]
\tikzstyle{Neighbour} =[draw, scale=\scale, minimum height=1 cm, minimum width=\BlockSize cm, font=\Large, fill=gray!60]
\tikzstyle{Arrow} =[-latex,thick, draw=black]
\tikzstyle{Pixel} =[circle, rounded corners ,fill=lightgray, thick, scale=0.3]
\tikzstyle{PixelNeighbour} =[Pixel, fill=gray]
\node[PU, anchor=north west] at (0,0) { }; % PU
% \node[Neighbour, anchor=south west] at (0,0) { top }; % Top
% \node[Neighbour, anchor=south west] at (\BlockSize,0) { top-right }; % Top-right
% \node[Neighbour, anchor=south east, rotate=90] at (0,0) { left }; % Left
% \node[Neighbour, anchor=south east, rotate=90] at (0,-\BlockSize) { bottom-left }; % Bottom-left
% \draw[Neighbour, scale=1/\scale] (0,0) rectangle ++(-1cm,1cm);
% Pixels
\foreach \x in {0,1,...,7}
\foreach \y in {-1,...,-8}
{
\node at (\x+0.5,\y+0.5) [Pixel]() {};
}
\foreach \x in {-1}
\foreach \y in {0,...,-9}
{
\node at (\x+0.5,\y+0.5) [PixelNeighbour]() {};
}
\foreach \x in {0,1,...,12}
\foreach \y in {0}
{
\node at (\x+0.5,\y+0.5) [PixelNeighbour]() {};
}
\path[Arrow, shorten >= 48 pt] (1+.5,.5) -- ++( -3 , -\BlockSize );
\path[Arrow, shorten >= 25 pt] (2+.5,.5) -- ++( -3 , -\BlockSize );
\foreach \x in {3,...,10}
{
\path[Arrow] (\x +.5,.5) -- ++(-3, -\BlockSize);
}
\node at (15,-6) [scale=.4] (PredLabel) {Predicted Pixels};
\node[below=.3cm of PredLabel, scale=.4] (RefLabel) {Reference Pixels};
\node[Pixel, left=.8 cm of PredLabel] (Pred) {};
\node[PixelNeighbour, left=.8 cm of RefLabel] (Ref) {};
\end{tikzpicture}