StreamClarify: Proactive Clarification for Grounded Streaming Video Question Answering
Organizations: University of Illinois Urbana-Champaign
Abstract
Streaming video question answering (QA) requires real-time reasoning over continuous video streams under strict latency and active-context budgets. Current streaming vision-language models (VLMs) often give confident yet ungrounded answers when queries are ambiguous or have false premises, or when relevant visual evidence is no longer in the active context. Proactive clarification can help, but must satisfy the same latency and memory constraints. We present StreamClarify, a training-free framework for grounded streaming QA that combines a pre-answer uncertainty check with hierarchical memory. The check uses the entropy of a binary pre-answer judgment as a lightweight uncertainty score to decide whether to answer directly or request clarification. To support re-answering, a temporal-pyramid KV cache maintains a bounded active visual context, while a CPU-side semantic retrieval archive provides access to historical frames. We further construct StreamClarify-QA, a diagnostic benchmark of 1,837 QA pairs from StreamBench and OVO-Bench, spanning standard, referential ambiguity, and unanswerable scenarios. Across three VLM backbones, StreamClarify improves Macro accuracy by up to 8.2 points over backbone-matched baselines. At comparable trigger rates, entropy-based selection achieves more than 18 points higher precision than random selection in identifying initially incorrect answers. Under oracle user guidance, clarification improves Macro accuracy by up to 3.5 points. We also report a controlled, oracle-assisted Qwen3-VL simulation on Ambiguous QA with generated questions and referent-only user replies, where the entropy-gated condition improves accuracy by 8.3 points.
Figures & tables
| Dataset | #Vid | #QA | Q/Vid | Dur.(s) |
|---|---|---|---|---|
| StreamBench | 260 | 1,556 | 6.0 | 253 |
| OVO-Bench | 95 | 281 | 3.0 | 383 |
| StreamBench | OVO-Bench | ||||||||||||||
| Per-Cat. Acc. | Overall Acc. | System | Per-Cat. Acc. | Overall Acc. | System | ||||||||||
| Std. | Amb. | UQ | Micro | Macro | TTFT | ProcFPS | Std. | Amb. | UQ | Micro | Macro | TTFT | ProcFPS | ||
| Closed | GPT-5-mini | 73.4 | 16.9 | 8.0 | 47.8 | 32.8 | – | – | 58.5 | 54.2 | 25.2 | 39.9 | 46.0 | 3.829 | – |
| Open | VideoLLM-Online | 49.5 | 11.8 | 0.5 | 31.1 | 20.6 | 0.064 | 9.43 | 13.4 | 22.9 | 0.7 | 8.2 | 12.3 | 0.066 | 11.44 |
| Flash-VStream | 62.1 | 11.4 | 17.2 | 42.6 | 30.2 | 0.149 | 1.97 | 45.1 | 47.9 | 16.6 | 30.2 | 36.5 | 0.125 | 1.91 | |
| ReKV | 67.1 | 16.5 | 6.2 | 43.6 | 29.9 | 0.181 | 4.53 | 58.5 | 47.9 | 30.5 | 41.6 | 45.6 | 0.053 | 6.76 | |
| Overall Performance | Clarification | |||||||||
| Method | Std. | Amb. | UQ | Micro | Macro | TTFT | ProcFPS | Trig. | Prec. | Rec. |
| LLaVA-OV-1.5 | ||||||||||
| w/o Clar. | 64.5 | 21.5 | 51.7 | 53.7 | 45.9 | 0.316 | 5.14 | 0.0 | – | – |
| w/ Random | 65.6 | 24.8 | 49.3 | 54.1 | 46.6 | 1.145 | 4.05 | 27.8 | 44.5 | 26.7 |
| w/ Entropy | 66.9 | 31.1 | 49.8 | 56.0 | 49.3 | 1.166 | 4.04 | 28.4 | 63.0 | 38.5 |
| InternVL-3.5 | ||||||||||
| Overall Accuracy | Paired Change | |||||
| Condition | Selection | Correct | Micro (%) | W C | C W | Correct |
| w/o Clar. | None | 68 | 22.5 | – | – | – |
| Generated Clar. | Random-gated | 87.8 | 29.1 | 29.5 | 9.7 | +19.8 |
| Generated Clar. | Entropy-gated | 93 | 30.8 | 34 | 9 | +25 |
| Direct Retrieval | All-query | 69 | 22.8 | 20 | 19 | +1 |
| Generated Clar. | All-query | 105 | 34.8 | 55 | 18 | +37 |
| Method | Macro (%) | TTFT (s) |
|---|---|---|
| Direct Answer | 49.3 | 0.085 |
| Probability | 50.3 | 0.365 |
| V/K Markers | 51.3 | 0.210 |
| Ours (Single) | 51.0 | 0.100 |
| Ours (Two-stage) | 53.7 | 0.260 |
| StreamBench | OVO-Bench | |||||||
|---|---|---|---|---|---|---|---|---|
| Method | Micro | Macro | TTFT | ProcFPS | Micro | Macro | TTFT | ProcFPS |
| StreamChat | 52.8 | 45.4 | 0.314 | 3.42 | 50.5 | 46.2 | 0.198 | 3.68 |
| StreamBridge | 57.7 | 45.7 | 1.170 | 24.51 | 47.7 | 48.8 | 1.197 | 44.86 |
| StreamingVLM | 56.7 | 47.8 | 0.064 | 8.86 | 47.0 | 46.3 | 0.071 | 9.59 |
| Ours | 58.0 | 51.3 | 0.232 | 8.46 | 56.9 | 52.0 | 0.252 | 9.23 |
Appendix figures & tables4 assets
Supplementary material from the paper’s appendix.
Appendix
| Analysis | Evaluation population | Backbone | Clarification setting |
|---|---|---|---|
| Main comparison | StreamBench ( QA) and OVO-Bench ( QA), reported separately | LLaVA-OV-1.5, InternVL-3.5, Qwen3-VL | Disabled |
| Oracle-guided analysis | StreamBench and OVO-Bench pooled ( QA) | LLaVA-OV-1.5, InternVL-3.5, Qwen3-VL | Oracle guidance after triggering |
| Generated-question analysis | Ambiguous QA from StreamBench and OVO-Bench, pooled ( QA) | Qwen3-VL | No clarification, Generated Clarification (random-gated, entropy-gated, and all-query), Direct Retrieval, and Oracle Guidance |
| Pre-answer scoring | OVO-Bench ( QA) | Qwen3-VL | Disabled |
| TP-KV hyperparameters | OVO-Bench ( QA) | Qwen3-VL | Disabled |
| Matched-6K comparison | StreamBench ( QA) and OVO-Bench ( QA), reported separately | Qwen3-VL | Disabled |
| Dataset | Backbone | Selected baseline | Difference | Paired 95% CI |
|---|---|---|---|---|
| StreamBench | LLaVA-OV-1.5 | StreamChat | ||
| StreamBench | InternVL-3.5 | StreamBridge | ||
| StreamBench | Qwen3-VL | StreamingVLM | ||
| OVO-Bench | LLaVA-OV-1.5 | StreamBridge | ||
| OVO-Bench | InternVL-3.5 | StreamBridge | ||
| OVO-Bench | Qwen3-VL | StreamBridge |
| Judge | w/o | Direct | Gen. all | Gen. gated | Oracle | Gated gain (95% CI) |
|---|---|---|---|---|---|---|
| Qwen3-14B | 22.5 | 22.8 | 34.8 | 30.8 | 38.4 | |
| GPT-5 | 20.5 | 22.2 | 37.4 | 31.1 | 42.4 | |
| Gemini 3.6 Flash | 29.1 | 26.5 | 43.4 | 37.1 | 50.7 |
| Method | Main-comparison setting | Matched-6K setting |
|---|---|---|
| StreamChat | No persistent visual KV cache. At each query, its native retrieval selects frames from a CPU-side archive to form a fresh visual context. | The archive and retrieval procedure are unchanged, while the retrieved visual context supplied to the backbone is limited to 6K. |
| StreamBridge | Visual embeddings are accumulated in a memory buffer and progressively compressed. When a question arrives, the current buffer is used to prefill the backbone under its native 16K context limit. | The same query-time prefilling procedure, with the embedding buffer compressed to fit the 6K active-context limit. |
| StreamingVLM | A sliding window retaining 512 attention-sink tokens and up to 6,192 recent visual tokens, for 6.7K tokens in total. | The same sliding-window design with 512 attention-sink tokens and up to 5,632 recent visual tokens, for 6K tokens in total. |
| StreamClarify | TP-KV with a 10K-token budget, a 20 s full-granularity recent window, and compression ratio . | The same TP-KV policy under a 6K budget, preserving the 20 s recent window and the compression ratio . |