现行治理框架要求人工智能生成内容附加中文显式标识。但显式标识可被裁剪、遮挡或直接去除; 而以 C2PA 为代表的元数据型凭证方案,把溯源信息放在文件容器里,一经转码、截屏或平台二次分发就必然被剥离。 两者分置,造成「可见的不可溯、可溯的不可见」。
广电视听行业多级台网分发、内容二次编辑频繁、终端形态多样、平台转码普遍,这个缺口尤其突出。
让同一枚合规显式标识,同时成为隐式溯源载体。
观众看到的是符合治理要求的中文提示「人工智能生成合成内容」;而这枚标识的汉字字形上, 带有肉眼不可察觉的几何微扰动,承载着机构编号、分发渠道、标识日期等溯源信息。 即便内容经过多级转码、大幅降采样乃至录屏搬运,元数据凭证已被剥离, 仍可从画面上残留的这行字里还原出内容来源。
显式标识 → 元数据凭证(C2PA) → 字形隐式载荷(本方法) → 指纹比对。 本方法的职责是元数据被剥离后的鲁棒溯源兜底,与 C2PA 互补而非替代。
标识容量取决于载体可扰动的结构自由度。拉丁字母平均只有 2–3 个笔画单元, 而在一级字库 3753 字上实测,汉字平均有 9.9 个笔元、26.7 个特征点。 经可靠性筛选后,可用载荷达到 每字 6.9 bit 以上。 这一优势来自汉字结构本身,而非某个特定字体——同一方法在甲骨文矢量字形与行书字集上都得到同量级容量。 数据集详情见汉字笔元描述数据库。
嵌入。以「笔元」——提笔为界的连续运笔单元——作为载荷单元, 通过绕笔元中点的微小旋转编码比特。强度以端点位移 δ 而非旋转角度量, 按各笔元力臂反算旋转角,避免「同角度旋转在短笔元上只产生亚像素位移」的检测盲区。
检测。半盲条件——检测端已知标准标识模板的几何形状。 对每个载荷位渲染 ±δ 两个假设掩膜,取其差分与画面做匹配滤波,由内积符号定判决; 检测前做 ±3 px 平移配准,并剔除邻笔画可能覆盖的像素。 视频场景下进一步对连续帧做软判决合并,等效信噪比按帧数平方根提升。
其一,扰动强度存在非单调最优工作点。并非越强越好:强度过小,几何位移淹没在编码噪声里;
过大,笔元会甩进邻笔画的邻域,检测端的干扰掩膜失效,误码率不降反升。实测最优点在 δ=2.0 px(占字身框 1.25%)。
其二,载荷位需要隔离度判据。笔画密集的字形中,大量位置「看着够长、实际无有效信号」。
引入「剔除邻笔画干扰后差分掩膜的有效面积须高于阈值」这一判据后,
无攻击基线误码率从 3%–6% 降至 0。这是本方法可用的前提。
本方法的数据基础是一级字库汉字笔元描述数据库, 收录 3753 个一级汉字,共 37198 个笔元、100291 个特征点。
每个字形以有序的笔元序列描述,笔元即一次连续运笔的最小单元、以实际提笔为边界。 相较于位图或轮廓曲线,这种描述保留了书写的结构层次,使扰动可以精确作用在单个笔元上, 而不影响字形的整体识读——这正是它能充当标识载荷单元的原因。
载体为一级字库标准字形 3753 字(已完成字序核验与数据修复),取 200 字、每条件约 1400 bit 载荷; 宿主为 1280×720@25fps 运动背景视频;攻击链使用真实 ffmpeg 编解码往返,而非仿真模拟。
| 分发链路 | 误码率 | 分发链路 | 误码率 |
|---|---|---|---|
| 无攻击 | 0 | JPEG Q90 / Q70 | 0 |
| H.264 4000 kbps | 0 | JPEG Q50 / Q30 | 0.07% |
| H.264 2000 kbps | 0 | 高斯噪声 σ=3 / 8 | 0 |
| H.264 1000 kbps | 0 | 高斯模糊 σ=0.5 | 0.29% |
| H.264 600 kbps | 0.36% | 缩放至 75% / 50% | 0.51% / 0.94% |
| H.264 300 kbps | 1.30% | 缩放至 35% | 1.23% |
| H.265 2000 / 600 kbps | 0 | 录屏搬运链 | 0.94% |
上表为单帧逐比特误码率。实际系统还有两层机制:多帧软判决合并 与载荷的 CRC 校验纠错。关于前者需作一处更正——早先我们假定多帧合并可获得约 √N 的等效信噪比增益,真实素材实验否定了这一假设:当逐帧攻击参数完全相同时, 各帧标识区的残差是所有帧共有的系统性偏置而非独立噪声,累加时同相增长, 信噪比不随帧数改善,实测 12 帧合并未能救回任何一个单帧失效的档位。 只有当逐帧参数发生抖动、残差近似独立时合并才起作用。因此时域冗余不是免费的鲁棒性来源, 检测端须主动引入解相关(跨不同缩放尺度、不同重采样点分别配准后再合并)。 原型系统以 30 bit 载荷(机构 10 + 渠道 4 + 日期 8 + CRC 8)实测:
| 分发链路 | 溯源结果 |
|---|---|
| 原始(未再压缩) | ✔ 机构、渠道、日期全部正确 |
| H.264 转码 2000 / 1000 / 600 / 300 kbps | ✔ 全部正确 |
| 720p → 360p → 回放 | ✔ 正确 |
| 720p → 252p → 回放 | ✔ 正确 |
7 条分发链路全部成功溯源。
上述扫描在合成运动背景上进行,目的是让各攻击条件之间严格可比。 另在一段真实节目素材(1280×720,24.1 fps,361 帧,15.0 秒)上完成了一次完整闭环: 显式标识「本视频由人工智能生成」(em 框 112 px,容量 47 bit)承载 30 bit 溯源载荷 (机构 #37 / 渠道 #5 / 2026-07-30),经 H.264 2000 kbps 真实重编码输出后, 再模拟观众截屏并逐级加重。
| 截屏链路 | 检测端拿到的图 | 载荷误码率 | 溯源 |
|---|---|---|---|
| 原样截屏(PNG 无损) | 1280×720 | 0 | ✔ 正确 |
| 窗口 66.7% + JPEG Q75(社交转发典型) | 852×480,41.6 KB | 0 | ✔ 正确 |
| 窗口 25% + JPEG Q30(可溯源边界) | 320×180,8.5 KB | 0 | ✔ 正确 |
| 窗口 20% + JPEG Q25 | 256×144 | 6.67% | ✘ 判为未检出 |
不可感知性:标识区 SSIM 0.9465、整帧 SSIM 0.9916,标识区内发生改动的像素占 4.90%。 单张截屏没有任何时域冗余可用,是本方法的下界工况;在社交转发的典型参数下仍可完整恢复, 可溯源边界为窗口 25%——此时截屏图仅 320×180、8.5 KB。 需要说明的是,越过该边界后显式标识本身仍清晰可读, 即「破坏隐式载荷必须破坏显式标识」在极端降采样下并不严格成立,这一点不回避。
同一素材上还完成了三项对照:虚警对照(已嵌入 / 仅显式标识 / 无标识三类输入各 24 个 独立样本,各自单独编码以避免假重复)、最小标识尺寸扫描(em 框 64~128 px)、 以及标识文案字数与笔画宽度对容量和鲁棒性的影响分析。
原型包含溯源载荷编解码、视频嵌入、多帧软判决查验三个模块,采用零外部依赖实现。
纠错策略经实测校准:仅在候选解唯一时才接受单比特纠正。 实测表明,若放宽到双比特枚举纠错,约七成情况会输出「看似合法却错误」的溯源结果—— 对溯源系统而言,报错误答案的危害远大于报「验不出」,故宁可判定失败。
真实素材上的虚警对照又暴露出一个必须修补的缺口:仅靠 CRC 校验仍会虚警。 CRC-8 只有 8 位校验位,随机比特串恰好通过的概率约 1/256,叠加单比特纠错后升至约 31/256;实测 48 个「无隐式载荷」样本中有 4 个(8.3%)被「成功溯源」到凭空捏造的机构编号。 修法是在 CRC 之前增设置信门限:先看软判决余量,低于门限直接判「未检出」。 实测已嵌入样本余量 0.00998~0.01235,无载荷样本 0.00038~0.00113,相差近一个数量级, 门限取 0.0030 两侧均有余量;加门限后虚警归零,且 7 条分发链路复测无回归。 浏览器演示已同步实现该门限(其几何为 em 框 120 px, 余量尺度不同,按同一方法重新标定为 0.0060)——余量随字号变化, 引用门限值必须连同标定条件一并给出。演示页加载时会自动自检: 既验证逐比特还原,也验证「无隐式载荷的画面确实被门限挡住」。
本页配套的可交互原型在浏览器端完整复现了上述算法, 可自行填写溯源信息、施加各类攻击并当场查验。