上海交大与JD联合推出“视频理解革命”

这项由上海交通大学、上海创新研究院与京东共同完成的研究,以预印本形式于2026年6月1日发布在arXiv平台,编号为arXiv:2606.02569,感兴趣的读者可通过该编号查阅完整论文。
把自己当成一个快递分拣员。每天有成千上万个包裹从传送带上经过,你的任务是记住每个包裹的内容,以便回答各种问题——这个包裹里有没有易碎品?那个包裹是否包含食物?然而,你却被要求对传送带上的每一个包裹都拍一张完整的清单照片,哪怕前一个包裹和这一个几乎一模一样,只是换了个标签。这不仅浪费胶卷,还会把仓库塞得满满当当,真正重要的信息反而被淹没在一堆重复照片里。
当下的AI视频理解系统,做的正是这件"傻事"。现有的视频理解大模型在分析视频时,会把视频切成一帧一帧的图片,然后对每一帧都进行完整的图像分析,生成数百个"视觉标记"(可以理解为描述这一帧画面的一份详细档案)。相邻两帧画面之间,背景、物体、光线几乎没有变化,AI却还是老老实实地把相同内容重新描述了一遍。随着视频变长,这些重复档案越积越多,不仅占满了AI的"工作记忆",还让响应速度越来越慢。
研究团队的核心思路来自一个古老的邮递员智慧:你不需要把整张地图都背下来,只需要记住从上一个路口到这个路口"拐了什么弯、走了多远",就能重建出完整的路径。视频里相邻帧之间的关系,正是如此——大部分时候只有局部在动,只需记录"动了什么、怎么动的、动完之后和预期有多大差距",就足以让AI理解这段时间里发生了什么。
这个思路的正式名称是"预测编码",其灵感同时来自人类大脑的视觉处理机制和工程领域的视频压缩技术(比如大家熟悉的MP4格式背后的H.264标准)。研究团队将其工程化为一套专门为AI大模型设计的视觉接口,并将整个系统命名为**AdaCodec**。
---
一、问题的根源:AI看视频为何如此"奢侈"
要真正理解AdaCodec的价值,需要先搞清楚现有系统浪费在哪里。
现代视频理解AI(学术界称之为"视频多模态大语言模型")的工作流程,大致是这样的:先从视频里均匀抽取若干帧画面,比如每秒抽2帧;接着用一个图像编码器(可以理解为"画面翻译官",学术上称为ViT,即视觉Transformer)把每帧画面翻译成几百个数字标记;最后把所有这些标记按时间顺序排列,交给语言模型去理解和回答问题。
这套流程的问题在于,每一帧画面都被当成一张全新的独立照片来处理。以一段10分钟的普通室内对话视频为例,按每秒2帧计算共有1200帧,每帧生成256个视觉标记,合计30万个标记。然而其中大量帧的内容几乎与前一帧毫无二致——背景没动,人物位置基本没变,只有嘴唇在微微开合。AI却对这些重复内容一视同仁,每帧都生成256个完整描述。
这就产生了研究团队所说的"覆盖范围与细节的两难困境":如果稀疏采样(少抽几帧),就会错过短暂发生的事件和细微变化;如果密集采样(多抽几帧),标记数量就会爆炸式增长,把AI的有限"工作记忆"(上下文窗口)填满,同时还会大幅拉长响应时间。对于动辄数十分钟乃至数小时的长视频,这个矛盾尤为突出。
---
二、灵感来源:人类大脑与视频压缩的共同秘密
研究团队的破局之道,其实早已被两个完全不同的领域各自发现过。
神经科学家认为,人类视觉系统并不是简单地把眼睛看到的画面"录像"下来。大脑会持续对外界进行预测,真正引起注意的是"预测失败的部分"——也就是实际看到的东西与大脑预期之间的差异。当你坐在咖啡馆里工作,背景的嘈杂声、稳定不变的桌面和墙壁,都已经被大脑的预测机制"消化"掉了,只有突然闯进来的人或者异常的声音,才会触发显著的神经响应。这种机制让大脑能用极低的"带宽"处理海量的感官信息。
工程领域的视频编码标准(如H.264、HEVC)同样利用了这个原理,只是目的是节省存储空间和传输带宽。在标准视频编码中,偶尔会出现一帧"关键帧"(I帧,Intra-coded frame),完整记录该时刻的画面;随后的若干帧则被编码为"预测帧"(P帧,Predictive frame),只记录"相对于上一帧,哪些区域移动了多少(运动向量)"以及"移动之后的残余误差(残差)"。播放器在解码时,用关键帧加上后续的运动和残差信息,就能重建出完整的画面序列。这种方式可以将视频文件压缩到原来的几十分之一。
然而,传统视频编码完全是为"人类观看"而设计的:它要优化的是比特率和视觉重建质量,采用的是适合高帧率播放的技术参数,最终输出的是供播放器解码的二进制比特流。把这套东西直接喂给AI大模型,就像让一个只懂中文的人去读一份用速记符号写成的报告——格式根本对不上。
正因如此,AdaCodec的核心贡献不仅仅是"把视频编解码技术引入AI",更重要的是对整套机制进行了**面向AI大模型的重新设计**。
---
三、AdaCodec的工作原理:一份专为AI定制的"视频摘要协议"
以快递分拣的比喻继续展开。AdaCodec给AI提供的不是"每个包裹的完整清单照片",而是一套更聪明的档案体系:偶尔出现一份"基准档案"(对应I帧),详细记录当前所有包裹的完整状态;在此之后,只要包裹内容没有发生重大变化,就只记录"与上次基准档案相比,哪些包裹换了位置(运动向量)、换了什么内容(残差)"——这份简短的"变动记录"就是P帧。
具体来说,AdaCodec处理一段视频的流程如下。
首先,它把视频帧序列切分成若干个"图片组"(GOP,Group of Pictures)。每个图片组的第一帧是I帧,会被完整地用标准图像编码器(ViT)翻译成256个视觉标记,就像给这个时刻的场景拍了一张详细档案照片。随后的帧都是P帧,不再做完整翻译,而是计算"与前一帧相比,每个区域移动了多少(这就是运动向量,用x和y方向的位移表示)"以及"按照运动向量做了预测之后,实际画面与预测结果之间还有多大差距(这就是残差,即预测误差)"。把运动向量和残差合并成一个5通道的张量(3个颜色通道的残差加2个方向的运动向量),交给一个专门训练过的小型编码器(P帧分词器)压缩成16个视觉标记。256个变成16个,压缩比高达16倍。
这里有个关键的工程细节。在搜索运动向量时,AdaCodec会对画面的每个小区块(称为宏块)在参考帧的一定范围内进行搜索,找到最相似的区块,记录位移量,并计算残差。衡量相似程度的指标叫做"块预测代价"(用pcost表示),其数值越小,说明当前帧越容易被前一帧预测,两帧之间越相似,越适合用P帧表示;数值越大,说明差异越大,越需要一个新的I帧来重新"锚定"。
切分图片组的策略由pcost自动决定,这正是名称中"Ada"(Adaptive,自适应)的含义所在。当某一帧的整体预测代价超过一个预设阈值时,系统就自动开启新的图片组,将这一帧指定为I帧。这样,在场景变化剧烈的时刻(比如镜头切换、人物快速移动),系统会更频繁地插入I帧;在画面相对平稳的时刻(比如固定机位的讲课视频、监控画面),则会维持更长的预测链,每个图片组包含更多P帧,节省更多标记。这个阈值由训练集统计得出,目标是让每个图片组的P帧中位数在8帧左右,最多允许16帧。
---
四、与现有视频编码标准的区别:为AI量身裁剪的七处改动
AdaCodec在设计上与传统H.264/HEVC标准有七处系统性差异,每一处都是为了让AI而非人类"看懂"这套信号。
宏块的划分方式是第一处差异。传统编码器为了压缩效率,会根据局部纹理动态选择不同大小的宏块(如16×16、16×8、8×8等)。但图像编码器ViT在处理画面时,是把画面切成固定大小的补丁(patch),通常是16×16像素。如果运动向量是按照参差不齐的宏块计算的,P帧分词器就很难把它们与ViT的补丁网格对齐,导致信号混乱。AdaCodec统一使用与ViT补丁一一对应的16×16宏块,保证运动向量场与分词器的输入格式严格吻合。
运动参考的选择是第二处差异。传统编码器为了提升压缩效率,有时会选择时间上较远的帧作为参考。但AI的视频采样通常是稀疏的(比如每秒只取2帧),相邻采样帧之间的时间间隔比高帧率视频大得多,物体运动幅度也更大。AdaCodec规定每个P帧都只以其紧邻的前一个采样帧为参考,避免因参考帧太远导致预测误差爆炸。
搜索窗口的大小是第三处差异。正因为采样间隔大、运动幅度大,传统为高帧率设计的搜索范围不够用,AdaCodec扩大了局部搜索窗口以容纳更大的位移。搜索算法本身也做了工程优化,采用六边形搜索加局部细化的方式,在不大幅增加计算量的前提下找到近似最优的运动向量。
图片组调度是第四处差异,也是上一节已经详细介绍的自适应pcost触发机制——传统编码器需要单独的内容分析步骤来决定关键帧位置,而AdaCodec直接复用运动搜索过程中已经计算出的pcost值,不需要额外的分析遍,节省了时间。
色彩空间是第五处差异。传统视频编码采用YCbCr颜色模型(将亮度和色度分开编码,方便进行色度降采样以节省带宽),而图像编码器ViT是在RGB色彩空间上训练的。AdaCodec直接使用RGB,避免了色彩空间转换带来的信息损失和额外处理。
帧类型的选择是第六处差异。传统编码器支持I帧、P帧和B帧(双向预测帧,同时参考前后两帧)。B帧需要未来的帧作为参考,天然不支持实时流式处理,而且在AI理解任务中额外引入因果关系的混乱。AdaCodec只使用I帧和P帧,每帧都只依赖过去的信息,符合语言模型处理序列的因果惯例,也为未来的流式处理留下了可能性。
熵编码是第七处差异,也是最直接的一处。传统视频编码必须进行熵编码,把运动向量和残差进一步压缩成二进制比特流。但AdaCodec的输出不是给存储或传输用的,而是直接作为AI模型的输入,根本不需要比特流格式。省去这一步,不仅减少了计算,还消除了一层不必要的中间表示。
---
五、P帧分词器:把"变化摘要"翻译成AI能读懂的语言
确定了P帧的输入格式(5通道的残差加运动向量张量)之后,还需要一个能把这个信号压缩成少量高质量标记的编码器。研究团队设计了一个聪明的方案。
P帧分词器的骨架与I帧用的图像编码器(ViT)完全相同,这样就可以直接继承ViT的预训练权重,不必从头训练。改动仅在于两点:一是把输入层从3通道扩展为5通道,新增的两个运动向量通道权重初始化为零(这样在训练开始时,模型行为与原始ViT一致,学习更稳定);二是在补丁序列之后追加若干个可学习的"摘要标记"(类似于给每位员工安排一个"总结汇报"的特殊席位),让这些摘要标记通过自注意力机制从所有补丁标记中提炼信息,最终只取这些摘要标记的输出作为P帧的表示。这样,无论输入的补丁有多少,P帧的输出始终是固定数量(16个)的标记。注意力掩码的设计保证补丁标记之间的计算与原始ViT完全一致,不会干扰预训练的特征,而摘要标记可以自由地向所有补丁学习。
为了与Qwen3-VL-8B(研究团队选用的基础语言大模型)的视觉接口兼容,还需要处理三个额外细节。Qwen3-VL使用了一个时序卷积(Conv3D)的输入层,每次同时处理两帧;AdaCodec的解决方案是把单帧复制一份,凑成两帧的形式送入。输出层有一个2×2的空间合并操作,把每四个相邻的补丁标记合并成一个,最终I帧得到256个视觉标记,P帧的16个摘要标记同样经过类似的合并整理,得到16个最终标记。此外,Qwen3-VL还有一种"DeepStack"的中间层注入机制,P帧分词器也暴露出对应的中间层输出,通过相同路径注入语言模型。
---
六、两阶段训练:先学"看变化",再学"看懂视频"
AdaCodec的训练分为两个阶段,就像先教一个学生看地图上的箭头和标注,再让他用这些知识回答关于旅途的问题。
第一阶段专注于让P帧分词器真正理解运动和残差信号。训练样本由三部分构成:一个参考帧(I帧)、若干中间P帧、以及一个目标帧。I帧和目标帧都用冻结的ViT提取特征向量,这些特征向量作为"标准答案"。P帧分词器对中间P帧进行编码,得到P帧标记序列;再配上I帧标记,交给一个专门的辅助预测器(一个轻量级的Transformer网络,仅在第一阶段使用,训练完后丢弃),预测目标帧应有的视觉特征。训练目标是让预测出的特征与ViT提取的真实特征尽可能接近,同时使用L1距离和余弦相似度两个指标。通过这个过程,P帧分词器学会了如何用运动和残差信号来表示"时间上的变化",并且使其语义与标准图像编码器的特征空间对齐。
第二阶段是标准的多模态指令微调,但固定住所有视觉侧的模块(I帧编码器和P帧分词器都不再更新),只更新语言模型部分。训练时从完整视频中均匀采样若干个图片组,按时间顺序排列,组成"视觉代码序列",与文字指令一起输入模型,用标准的自回归下一词预测损失优化。训练数据使用了31个公开视频问答和描述数据集的混合,共包含390余万条训练样本,涵盖活动问答、自我中心视频、电影描述、物理推理等多种类型。第二阶段分两步:先用64k视觉标记预算训练4万步,再用224k预算训练5000步,让模型同时具备处理较短和较长视频的能力。整个训练过程在64块NVIDIA H800 GPU上运行,总计耗时约12天。
---
七、实验结果:少用七分之一的"记忆",却能看懂更多
研究团队在11个公开基准测试上系统评测了AdaCodec,涵盖长视频理解、时序推理和通用视频理解三大类。基线是相同语言模型(Qwen3-VL-8B)的标准逐帧RGB输入方式,视觉标记预算设为224k。
长视频理解方面,测试了三个基准:MLVU(包含电影、监控、自我中心视频等多种类型的长视频多任务评测)、LongVideoBench(长达1小时的多模态视频问答)和LVBench(以小时级长视频为主的极端长视频理解基准)。在仅使用32k视觉标记(基线224k的七分之一)的情况下,AdaCodec的成绩分别为62.7、63.2和58.2,全部超过基线(62.2、62.4和58.0)。将标记预算提升至与基线匹配的224k后,成绩进一步升至65.3、67.8和58.4,比基线高出3.1、5.4和0.4个百分点,在所有对比的开源模型中位列第一。
时序推理方面,三个基准分别是TempCompass(速度、方向等时序属性的感知)、MotionBench(细粒度运动理解)和TOMATO(动作计数、旋转方向、速度频率等视觉时序推理)。七分之一预算下,三项成绩分别为75.8、58.8和39.8,分别比基线(74.3、56.9、35.7)高出1.5、1.9和4.1个百分点。匹配预算下进一步提升至75.9、59.9和40.0。TOMATO上超越基线4.3个百分点的提升尤为突出,因为这个测试专门设计为必须综合多帧信息才能回答,不能靠单帧截图或语言先验猜测——这直接验证了P帧标记确实保留了帧间变化的有效信号。
通用视频理解方面,五个基准分别是Video-MME、MVBench、NExT-QA、PerceptionTest和EgoSchema。七分之一预算下,AdaCodec在MVBench(75.3 vs 68.7,+6.6)、PerceptionTest(75.1 vs 72.7,+2.4)和EgoSchema(70.2 vs 69.8,+0.4)上领先,在Video-MME(75.0 vs 75.2,-0.2)和NExT-QA(83.1 vs 83.4,-0.3)上略低。将帧率从2帧/秒提升至16帧/秒(使总标记量与基线大致相当)后,五项全部领先,MVBench提升7.9个百分点(76.6 vs 68.7),PerceptionTest提升7.8个百分点(80.5 vs 72.7),Video-MME、NExT-QA、EgoSchema也分别提升0.3、0.8和0.6个百分点。
系统延迟方面,在五个通用基准的11,347个视频上测量的结果尤为直观。AdaCodec平均每视频使用8,550个视觉标记,基线为55,893个,减少了84.7%。"首字延迟"(TTFT,从开始处理到输出第一个字符的时间)从9.26秒降至1.62秒,即使把视频预处理(在普通16核消费级CPU上运行,耗时0.12秒)也算入其中,延迟也只有1.74秒,仍是基线的5.3倍速。端到端总延迟从11.18秒降至3.20秒,降幅超过70%。GPU显存方面,AdaCodec因为多了一个P帧分词器(约5.76亿参数,占基础模型8.14亿参数的7%),峰值显存仅增加1.9GB(+5.5%),代价极小。
---
八、为什么是预测编码而不是别的压缩方法
研究团队设计了一组细致的对照实验,专门验证预测编码本身(而不仅仅是"更少的标记")才是核心。
实验固定了图片组结构和I帧编码方式不变,只改变P帧的输入表示。对照组包括:完全省略P帧只保留I帧(I-only)、用完整RGB图像作为P帧输入(Per-frame RGB)、用低分辨率RGB缩略图(Thumbnail P,未训练)作为P帧输入、以及用低分辨率RGB缩略图但经过与AdaCodec相同的训练流程(Thumbnail P,已训练)。
与只用I帧相比,AdaCodec的P帧标记为长视频、时序和通用三类带来了+11.1、+9.7和+7.5的提升,说明帧间变化信号对理解至关重要。与完整RGB P帧相比,AdaCodec虽然每帧只用16个标记(完整RGB用256个),却仍然在三类上分别高出5.2、2.6和1.7个百分点。这个对比说明增益不是来自"看到更多帧",而是来自"用更合适的方式表示帧间信息"——完整RGB P帧序列甚至超出了Qwen3-VL-8B的原生上下文窗口,需要额外的长上下文扩展技术(YaRN)才能运行,但效果依然不如AdaCodec。与已训练的低分辨率缩略图P帧相比,AdaCodec在三类上仍分别领先2.4、3.8和2.5个百分点——低分辨率RGB保留了粗略的空间信息,但无法显式表示帧间运动方向和残差,这个差距直接量化了预测编码表示的独特价值。
---
九、自适应图片组在不同视频类型上的行为差异
AdaCodec的pcost自适应机制并非对所有视频都产生相同的图片组长度。以MLVU测试集为例,异常检测类别(主要来源于固定机位监控视频,场景变化极为缓慢)的平均图片组长度高达16.69帧,接近设定的上限17;教程类视频(相对稳定的拍摄环境和分步骤结构)平均长度为12.22帧;自我中心视频(第一人称拍摄,频繁的视角变化和肢体运动)平均只有9.07帧;其余类别平均为10.52帧。
这种差异直接转化为准确率上的差异。在异常检测子类别上,AdaCodec得分71.8,而基线只有51.2,差距高达20.6分。原因在于监控视频通常需要覆盖很长的时间段才能发现异常事件,而AdaCodec在这类视频上的图片组极长,意味着在相同的标记预算内,它能覆盖远比基线更长的时间段,让AI"看到"更多的时间范围,从而更容易发现偶发的异常。
从视频时间线上可以直观看到这种差异:在一个逐渐变化的监控视频中,pcost曲线长时间保持低平,偶尔出现几次脉冲式上升才触发新I帧;而在一个人物动作频繁的对话视频中,pcost频繁超过阈值,I帧不断插入,标记增长也相对更快。但即便如此,AdaCodec的累计标记数量始终远低于逐帧RGB方式,两者在相同时间跨度内的标记差距随时间推移越拉越大。
---
十、与同类研究的比较:相近而不相同
同期有两项同样借鉴视频编码思路的研究值得关注,以便更清楚地定位AdaCodec的独特性。
CoPE-VideoLM(2026年2月发布)的思路是从现成的标准编码视频流中提取编解码原语(如运动向量、块类型等),然后训练模型学会消费这些信号,与语言模型表示对齐。ReMoRa(同期发布,已被CVPR 2026接收)则专注于精炼标准编码产生的噪声运动表示,用于长视频理解。这两项工作的共同之处在于:它们都把标准编解码器的输出视为固定的输入,学习如何利用它,而不改变编解码器本身。
AdaCodec的区别在于,它从头到尾重新设计了编码机制本身,让图片组划分、宏块大小、运动参考选择、搜索窗口大小等每一个参数都服务于下游语言模型的理解需求,而非人类观看的需求。这种"以AI为目标的编解码器设计"思路,与上述工作构成了互补关系,彼此可以结合,但出发点不同。
---
说到底,AdaCodec做的事情,本质上是一次关于"信息传递效率"的重新思考。AI看视频,过去像是一个速记员把每句话都原封不动地抄下来;现在像是一个聪明的编辑,把没变化的部分一句带过,重点记录"哪里变了、怎么变的"。这不仅让AI看视频更快、更省资源,还让它在相同的"记忆容量"里能回顾更长的时间段,反而看得更准。
从实际使用角度来说,这意味着未来当你用AI助手分析一段会议录像、一段运动训练视频、或者一段长达几小时的纪录片时,等待时间可能从十几秒压缩到几秒以内,而准确性不降反升。对于需要实时响应的应用场景(比如机器人视觉理解、自动监控分析),这5倍以上的速度提升具有相当直接的工程价值。
当然,这项研究也有明确指出的局限:目前输入分辨率是固定的,每个P帧都分配相同数量的标记(不论这帧运动是否复杂),而且还没有在真正的实时流式场景下验证过。这些都是未来可以继续完善的方向。对于想深入了解技术细节的读者,可以通过arXiv编号2606.02569查阅完整论文。
---
Q&A
Q1:AdaCodec的"P帧"和普通视频压缩里的P帧有什么不同?
A:两者都记录运动向量和残差,但普通视频压缩的P帧是为人类观看而设计的,采用可变大小宏块、YCbCr颜色空间,输出二进制比特流。AdaCodec的P帧专为AI语言模型设计:宏块与ViT补丁网格对齐、使用RGB颜色空间、不做熵编码,最终输出的是16个可被语言模型直接读取的向量标记,而非播放器能解码的比特流。
Q2:AdaCodec把视觉标记减少到七分之一,为什么理解准确率反而还提高了?
A:关键在于减少的是"重复内容",而不是"有效信息"。在相同的标记预算下,AdaCodec可以覆盖更长的视频时间段(相当于从2帧/秒提升至16帧/秒),而多出来的帧以极少的P帧标记表示帧间变化,没有额外的冗余。对于长视频任务来说,更长的时间覆盖意味着更多的时序证据,准确率自然提升。
Q3:AdaCodec只能用在Qwen3-VL-8B这一个模型上吗?
A:不是。论文明确指出P帧分词器的架构可以适配任何ViT风格的视觉编码器,只需要把输入层从3通道扩展到5通道并做相应的接口适配。Qwen3-VL-8B是本研究选用的基础模型,主要因为它代表了当前主流的开源视频语言模型架构。研究团队也表示将开放源代码和模型权重,供其他研究者在不同基础模型上复用。