アルゴリズム遅延
アルゴリズム遅延は様々な要因(手法)により決定される。以下はその一例である。
プログラムはアルゴリズムからなり、アルゴリズムが計算機によって処理されることで実行される。計算処理には当然時間がかかるため、プログラムの開始から実行完了には遅延(レイテンシ)が発生する。しかし無限の能力をもつ計算機(=処理遅延0秒)を仮定してもレイテンシが発生する、すなわちアルゴリズムそのものに由来してレイテンシが発生する場合がある。このアルゴリズムに内在する遅延をアルゴリズム遅延という。
例えば2つの音声加工アルゴリズム「A: 音量倍増」と「B: ノイズ除去」を考える。Aの音量倍増では時刻 t {\displaystyle t} の入力信号を2倍にして即返せばよいので、無限の計算能力があれば即座に出力できる。Bのノイズ除去の場合、時刻 t {\displaystyle t} の入力信号が x t = 0.5 {\displaystyle x_{t}=0.5} のとき、この1点だけを見てもどの程度ノイズが乗っているかは判別できない。ノイズ検出にはある程度の時間区間(ブロック)を見る必要があり、そのために信号を一定時間貯める必要がある。つまりBでは処理そのものに追加してアルゴリズムのための信号蓄積が必要であり、たとえ無限の処理能力があっても信号が貯まるまでの待ち時間がかかる。ゆえにBのアルゴリズムはブロック長分の遅延を必ずもつ、すなわちアルゴリズム遅延をもつことになる。
アルゴリズム遅延はリアルタイム情報処理において重要である。例えばボイスチャットではリアルタイムに自分の音声を圧縮、ネットワーク転送し、相手方で伸展して音を届ける。