アルゴリズム遅延
アルゴリズム遅延の要因の1つがブロック処理である。ブロック処理では時刻 t {\displaystyle t} の入力信号 x t {\displaystyle x_{t}} を逐次処理するのではなく、 x t {\displaystyle x_{t}} ~ x t + N {\displaystyle x_{t+N}} を1かたまりとしこの単位で一括処理する。次の処理では時刻を h {\displaystyle h} 進めた x t + h {\displaystyle x_{t+h}} ~ x t + h + N {\displaystyle x_{t+h+N}} を同様に一括処理する。処理単位はブロック、フレーム、ウィンドウなどと、間隔 h {\displaystyle h} はホップ長(英: Hop length)やストライド(英: Stride)と呼ばれる。ブロック長 N {\displaystyle N} とホップ長 h {\displaystyle h} は必ずしも一致しない。
N = h {\displaystyle N=h} のブロック処理では、ブロック先頭 x t {\displaystyle x_{t}} を処理するためにブロック末端 x t + h {\displaystyle x_{t+h}} までの入力を待つ必要がある。つまりストリーム入力をとるアルゴリズムであれば、ホップ長 h {\displaystyle h} のブロック処理は入力 x t + a {\displaystyle x_{t+a}} に「最大で」 h {\displaystyle h} のアルゴリズム遅延をもたらす。「最大」なのはサンプル位置によりアルゴリズム遅延が異なるからである。