视频生成任务恢复
全库目录221
本文目录6
同一镜头以第0、10帧为批准关键帧,两个方向分别生成候选,再融合成最终序列。本文输入任务、前驱历史与候选结果的不可变清单,输出恢复后的任务身份、选定结果和提交指针。历史中的颜色、几何、局部置信度Q及锚点路径置信度A_anchor按视频历史重投影与视频曝光与关键帧融合定义;这里沿第4帧的两次恢复追踪它们的清单身份。
历史提交与方向隔离
每条传播方向拥有独立的颜色、Q、A_anchor和曝光增益状态。从右关键帧往左时,查询当前帧到后一帧的位置并读取右向历史;照明比较也与该方向的历史渲染R比较。增益限速的上一值来自上一处理帧,即时间轴上的后一帧。不能取负左向运动向量,也不能共用左向曝光状态。两方向完成各自的去噪、校正和内容检查后,才产出供融合的候选序列。
保存以镜头、方向、帧号、输入哈希、模型配置哈希定位一次工作。先写出不可变颜色与各缓冲,记录文件哈希并确认全部可读取,再以单份清单发布该帧历史;串行执行器最后切换当前历史指针。中途失败留下未引用文件,恢复时核对清单完整性后复用或重算,不能只因颜色文件存在就推进帧号。相同输入的重试仍使用相同种子,模型配置变化则建立新的序列版本。输入哈希包含当前渲染缓冲、所消费的上一个历史清单哈希、方向、关键帧批准版本及曝光状态;同一帧的渲染未变而上游历史变了,也属于不同输入。恢复先沿方向核对这条清单依赖,重算从首个不匹配位置到该方向的终点。左右传播完成后,融合记录保存所采用的两份候选清单哈希;任一路重算都会使依赖它的融合输出失效。这样重新批准第0帧不会让第4帧错误复用从旧关键帧传播来的颜色。关键帧使用批准颜色;融合结果只进入最终视频序列,不反写任一方向历史。
历史指针按传播序列版本分别保存。每次切换同时比较序列仍为活动版本、当前前驱清单哈希符合预期;取消或重新批准关键帧先关闭旧序列的提交权限,再建立新序列。旧工作即使迟到完成,也只能留下旧版本下的不可变文件,不能推进新序列指针。进程重启先恢复活动序列身份和已提交指针,再检查依赖链;帧文件写完但指针尚未提交时,可复用完整清单重试同一次条件提交。这样恢复、取消和重新批准都使用同一份依赖身份,文件完整并不自动代表它属于当前输出。
固定种子并不自动保证不同设备或模型运行库逐位产生相同图像。已经发布的历史以文件哈希为准,恢复直接消费该清单;重算只能产生新候选,不能用同一路径覆盖已发布字节。运行清单另外保存权重哈希、模型与调度配置、推理库和精度、内容检查版本,以及人工标注哈希。未提交帧可以从前驱重算,已提交帧沿原清单恢复;重新批准关键帧则显式建立新序列。
任务续行与二次恢复
以从第0帧向第10帧传播的第4帧为例,调度器先登记逻辑任务K4,再交给工作进程。K4绑定序列版本、方向、帧号、完整输入清单及预期前驱H3;工作进程读取清单指定的字节并核对哈希,不在运行期间读取“最新关键帧”或活动目录。清单还包含对应数据、内容检查与人工标注、色彩映射和阈值的版本,因而相机未变但标注变化也会产生不同任务。两方向并行,单方向只有已提交前驱才能派生下一帧。
任务登记、派发意图和状态变化进入控制库的一条有序记录流。每次事务获得递增控制序号,原子保存变化及尚未交付的派发项。控制库按逻辑任务ID查询完整生命周期,工作进程的接纳去重键则为逻辑任务ID、尝试代次。同一尝试重送返回原接纳状态;新尝试只有在控制库已经授权该代次、并关闭旧尝试提交权限后才能启动。尝试代次与进程所有权不改变逻辑输入,逻辑任务的输出仍由控制库首次选定的一份清单决定。调度器用以下分支续行:
| 持久状态 | 恢复动作 | 允许推进历史的条件 |
|---|---|---|
| 已登记、无接纳回执 | 查询原执行入口;确认未接纳后重发原K4,输入过期则终结旧任务 | 当前序列和H3仍匹配 |
| 已接纳、无完成结果 | 核对存活与所有权;等待原尝试,或先关闭其提交权限再登记替代尝试 | 新尝试也只能提交同一逻辑输入 |
| 文件齐全、尚无结果接纳记录 | 核对全部哈希,作为候选提交 | 事务首次选定一份候选;迟到候选保留诊断归属 |
| 已选定候选、指针未切换 | 读取已选清单重试条件提交 | 活动序列、预期前驱及选定清单均匹配 |
| 历史已提交 | 消费原提交回执,派生下一帧 | 返回相同清单,不重新选择计算结果 |
工作进程失联并不证明它已停止。允许启动替代尝试时,控制库先递增该任务的尝试代次,旧尝试在结果提交入口被拒绝;计算可能暂时重复,但输出始终写独立不可变目录。候选接纳事务检查当前尝试代次、任务仍活动和完整读取依赖,首次接纳写入选定清单哈希与回执。重试返回该回执;同一任务后来计算出不同字节也不能替换它。关闭旧尝试并等待本机进程退出后再回收其资源;无法确认终止的远端工作保留独立占用和清理记录。恢复不能以删除目录来冒充取消执行。
控制序号统一排列关键帧重新批准、关闭序列、工作接纳、候选选定、历史指针提交、融合决议和发布。快照保存最后消费序号、活动序列、任务与尝试、选定结果、各历史指针及待交付项;恢复先加载快照,再按序重放其后记录,最后恢复派发。历史回放只重建状态,所有外部交付在回放完成后由待交付表驱动。派发项交付确认和相应游标在同一事务保存,回执丢失时先按逻辑任务ID查询控制库生命周期,再按该记录指定的尝试代次查询工作进程接纳状态,不凭本次进程的内存重建。
例如快照停在控制序号40:K4已登记,尚未派发。第一次恢复到41登记尝试2,42选定颜色清单C4,43提交H4,44登记K5;新快照生成前再次退出。第二次恢复必须先消费41恢复尝试身份,再消费42的既定选择、43的指针和44的待派发项。它只续行K5,不生成尝试3去重算K4。序列关闭若发生在42与43之间,43条件失败,C4留在关闭的序列下;新的关键帧序列从自己的历史继续。这个次序也用于最终补洞与编码:已经选定的颜色和人工决议沿原清单恢复,尚未交付的计算才进入续行。
冲突决议与最终序列
第4帧的冲突记录绑定左右候选清单、当前渲染、对象ID与标注哈希,保存门限、有效面积、分数、选中方向及待补遮罩。自动选路也写入记录,人工可以批准左路、右路或重新生成;每次批准形成新决议ID,目标仍是当时看到的两份候选。批准时比较这两个哈希和序列代次,任何一路已更新就重新审核,避免把对旧衣服花纹的批准施加到新候选上。
补洞任务的输入包括决议ID、F/U哈希和模型配置,输出与最终内容检查一同形成不可变帧清单。人工重画的像素以带遮罩的明确修订产物加入同一清单,重新检查对象轮廓和边界;它只修改最终序列,传播历史仍保持各自方向。中断恢复按控制序号先恢复决议与任务身份,再读取已经选定的补洞输出;尚未接纳的任务按待交付表续行,已接纳未完成的任务先对账。决议ID、F/U、左右候选、模型及检查版本共同构成读取集合;补洞结果接纳时再次比较序列及决议仍有效。输入已变化则旧结果留作诊断,新任务消费新决议,不能重新按工作完成速度选择候选。
第4帧补洞通过后,它仍只是最终序列中的一个不可变帧。整段输出先收齐所有帧、帧率、颜色编码和音画时间映射,再生成最终序列清单。最终序列候选的接纳指针条件比较当前序列代次、关键帧批准版本和全部决议版本,通过才切换候选指针。视频编码器只消费这份固定清单,按帧号读取并核对哈希,缺帧就报告失败,不能从工作目录捡取另一版本补齐。帧4人工决议变化会使依赖它的最终序列失效并重建,已经编码的旧文件保留原清单归属;新编码完成后再切换正式输出。这样双向传播的完成顺序、人工决议和编码重试都能沿持久身份恢复。
实现与证据
本页定义控制日志、尝试代次和不可变清单的恢复协议。K4、H3、控制序号40至44的两次恢复可按表逐项推演;尚未实现持久控制库、远端工作进程、故障注入、补洞调度或视频编码发布。颜色与置信度的CPU实验见视频曝光与关键帧融合,其结果只支持数值关系。