72 lines
2.7 KiB
TeX
72 lines
2.7 KiB
TeX
\documentclass[tikz,border=2pt]{standalone}
|
|
\usetikzlibrary{arrows.meta}
|
|
\definecolor{navy}{HTML}{19324A}
|
|
\definecolor{bluefill}{HTML}{EAF1F7}
|
|
\definecolor{teal}{HTML}{087F78}
|
|
\definecolor{tealfill}{HTML}{E6F4F1}
|
|
\definecolor{orange}{HTML}{B85D0F}
|
|
\definecolor{orangefill}{HTML}{FFF0DF}
|
|
\begin{document}
|
|
\begin{tikzpicture}[
|
|
font=\sffamily\footnotesize,
|
|
>=Latex,
|
|
flow/.style={-{Latex[length=1.7mm]},draw=navy,line width=.7pt}]
|
|
|
|
\node[anchor=west,font=\sffamily\footnotesize\bfseries,text=navy]
|
|
at (.05,5.45) {(a) Short-window encoder evidence (SWE)};
|
|
\node[anchor=east,font=\sffamily\scriptsize,text=navy]
|
|
at (8.25,5.45) {inputs $\leq t_n$};
|
|
|
|
\draw[draw=navy,fill=bluefill,rounded corners=2pt]
|
|
(.10,4.48) rectangle (3.80,5.18);
|
|
\node[align=center,text=navy] at (1.95,4.83)
|
|
{Frozen Omni Thinker\\global AV context $G$};
|
|
\draw[draw=teal,fill=tealfill,rounded corners=2pt]
|
|
(.10,3.57) rectangle (3.80,4.27);
|
|
\node[align=center,text=teal] at (1.95,3.92)
|
|
{Frozen audio encoder\\recent 1-s audio $A$};
|
|
\draw[draw=teal,fill=tealfill,dashed,rounded corners=2pt]
|
|
(.10,2.48) rectangle (3.80,3.43);
|
|
\node[align=center,text=teal] at (1.95,2.955)
|
|
{Frozen visual encoder\\recent person-crop clues $V$};
|
|
|
|
\draw[draw=navy,line width=.7pt] (3.80,4.83) -- (4.38,4.83)
|
|
-- (4.38,2.955) -- (3.80,2.955);
|
|
\draw[draw=teal,line width=.7pt] (3.80,3.92) -- (4.38,3.92);
|
|
\draw[flow] (4.38,3.92) -- (4.85,3.92);
|
|
\draw[draw=navy,fill=bluefill,rounded corners=2pt]
|
|
(4.95,3.57) rectangle (6.40,4.27);
|
|
\node[align=center,text=navy] at (5.675,3.92) {Fusion\\head};
|
|
\draw[flow] (6.40,3.92) -- (6.78,3.92);
|
|
\draw[draw=orange,fill=orangefill,rounded corners=2pt]
|
|
(6.88,3.57) rectangle (8.30,4.27);
|
|
\node[align=center,text=orange] at (7.59,3.92)
|
|
{Future\\activity};
|
|
|
|
\draw[draw=navy!35,line width=.5pt] (.05,2.34) -- (8.30,2.34);
|
|
\node[anchor=west,font=\sffamily\footnotesize\bfseries,text=navy]
|
|
at (.05,2.07) {(b) Partial-tail refresh (PTR)};
|
|
|
|
\node[font=\sffamily\scriptsize,text=navy] at (1.58,1.70)
|
|
{reused completed blocks};
|
|
\node[font=\sffamily\scriptsize,text=orange] at (4.08,1.70)
|
|
{observed at $t_n$};
|
|
\foreach \x in {.15,1.15,2.15} {
|
|
\draw[draw=navy,fill=bluefill,rounded corners=1pt]
|
|
(\x,1.08) rectangle ++(.88,.46);
|
|
\node[text=navy] at (\x+.44,1.31) {2 s};
|
|
}
|
|
\draw[draw=orange,fill=orangefill,rounded corners=1pt]
|
|
(3.20,1.08) rectangle (4.95,1.54);
|
|
\node[text=orange] at (4.075,1.31) {partial tail};
|
|
\draw[flow] (4.95,1.31) -- (5.41,1.31);
|
|
\draw[draw=navy,fill=bluefill,rounded corners=2pt]
|
|
(5.51,.96) rectangle (8.30,1.66);
|
|
\node[align=center,text=navy] at (6.905,1.31)
|
|
{Temporary Thinker\\readout $G_t$};
|
|
\node[anchor=west,font=\sffamily\scriptsize,text=navy]
|
|
at (.15,.53) {Only completed blocks enter persistent history; the tail is not committed.};
|
|
|
|
\end{tikzpicture}
|
|
\end{document}
|