llama.cppが、動画理解モデルに場面と時間情報を渡す方法を補強した。ローカルで動画への質問機能を作る開発者は、モデルが想定する順序とサイズに合わせて動画入力を構成できる。
1. モデルに合った動画入力を自動選択
2026年11月4日に公開されたb12098は、Qwen3-VLの動画プロンプト形式をサポートする。動画から選んだフレームと時刻表記をモデルに渡す部分が、今回のリリースの変更項目だ。
この変更は、動画や音声など複数形式の入力を扱うモジュール、mtmdに適用された。Qwen3-VLモデルを判別すると対応する動画処理設定を選択し、フレームの選択規則と時刻表記はその設定に従う。開発者が形式を手作業で組み合わせる代わりに、モデル別の処理経路に任せる構造だ。
2. フレームの間に時間情報を配置
動画はフレーム2個を1組として送り、組の前に時刻表記を置く。写真2枚の前に撮影時刻を付けるように、組の中央の時刻を先に知らせる方式だ。以下のテスト表記で角括弧内の数字は、元動画のフレーム番号を示す。
PRのテストには、transformers 4.57.1のQwen3VLProcessorが生成した結果と比較する固定入力がある。以下のコードはそのテストの期待文字列の一部で、入力フレームのサイズと時刻・フレームの順序が指定されている。
{ { 720, 358, 24.0f, 240 }, { 704, 352 },
"<0.3 seconds>[0][13]<1.3 seconds>[25][38]<2.4 seconds>[50][63]<3.4 seconds>[75][88]<4.5 seconds>[101][113]"
"<5.5 seconds>[126][138]<6.6 seconds>[151][164]<7.6 seconds>[176][189]<8.6 seconds>[201][214]<9.7 seconds>[226][239]" },3. 動画全体からフレームを選ぶ規則
設定では毎秒2フレームを基準に、動画の長さに応じた選択数を計算する。Qwen3-VLの動画処理ではこれを4~768個の範囲に制限するが、元のフレームがそれより少なければ実際の元フレーム数までしか選択しない。したがって、毎秒の基準と総選択数の上限が共に入力規模を決める。
選択数が決まると、元動画の最初から最後のフレームまで均等に番号を配置する。長い動画で上限に達すると、同じ数のフレームがより長い時間帯を分担して代表する。単に動画の冒頭だけを切り取って送るのではなく、全区間から場面を抽出する方式だ。
4. フレーム数に合わせて画面サイズも調整
フレームサイズは、基準入力を作るプログラムである参照プロセッサーと同じ方法で計算する。幅と高さをモデルが処理する格子間隔に合わせ、フレーム数も反映したピクセル上限に収まるよう拡大または縮小する。テストはpatch_size 16とn_merge 2という共通設定で、入力ごとのサイズ期待値を確認する。
以下の表は、同じサイズ調整規則に異なる入力を与えたテスト例だ。幅と高さはピクセル単位で、フレーム数はサイズ計算に渡した値である。
表:共通のサイズ調整規則における入力別の期待値
条件:patch_size 16、n_merge 2、Qwen3VLVideoProcessor smart_resize基準、ピクセル下限4096・上限25165824、時間方向のグループサイズ2
単位:フレーム数は個、幅・高さはピクセル
| 事例 | フレーム数 | 元の幅 | 元の高さ | 算出した幅 | 算出した高さ |
|---|---|---|---|---|---|
| 基本の丸め | 20 | 720 | 358 | 704 | 352 |
| 上限超過 | 768 | 1920 | 1080 | 224 | 128 |
| 短辺の拡大 | 4 | 16 | 40 | 32 | 64 |
| 下限未満 | 2 | 32 | 32 | 64 | 64 |
| 奇数グループの丸め | 5 | 2760 | 1552 | 2752 | 1536 |
| 縦に長い入力 | 4 | 250 | 6000 | 256 | 6016 |
テストのコメントには、短辺が格子間隔より小さければまず拡大し、ピクセル上限を超えれば縮小する例が含まれる。フレームを多く入力する例からは、各フレームの解像度を下げて全体の入力規模を調整する設計が読み取れる。
5. 参照形式との一致と動画情報量のトレードオフ
今回の変更の利点は、時刻表記、フレーム配列、画面サイズをQwen3-VLの参照処理方式に合わせる点だ。その代わりにフレームを抽出して画面サイズを調整するため、長い動画では場面を選ぶ間隔が広がり、ピクセル上限に応じて細部の情報も減る。
実装は既存のLFM3の動画処理構造を基に、入力順序をテストで再現できるよう整理された。新たな検証用コンポーネントは、アプリケーションから直接使う対象ではなく、内部用と明記されている。
表とコードの値は参照プロセッサーの期待値を確認するためのもので、モデルの応答品質や処理速度の測定値ではない。
b12098の核心は、Qwen3-VL動画のフレームと時間情報を参照形式に合わせて入力する経路を用意したことだ。
