79 lines
3.8 KiB
Markdown
79 lines
3.8 KiB
Markdown
# two-times-upscale Specification
|
||
|
||
## Purpose
|
||
TBD - created by archiving change add-pisa-sr-two-times-upscale. Update Purpose after archive.
|
||
## Requirements
|
||
### Requirement: Unified two-times output
|
||
|
||
系统 SHALL 对全部 Upscale 模型返回处理输入宽高各 2 倍的结果,并将该倍率用于界面说明和尺寸计算;处理输入为应用已有最大输入尺寸限制后的图像。
|
||
|
||
#### Scenario: Existing models produce two-times images
|
||
- **WHEN** 任一现有模型处理 W×H 输入
|
||
- **THEN** 系统先得到原生 4W×4H 结果,再使用 Lanczos 缩小到 2W×2H
|
||
- **AND** 使用已有 4× 权重
|
||
|
||
#### Scenario: Repeated upscale
|
||
- **WHEN** 用户对一次 2× 结果再次执行 Upscale 且输入尺寸仍满足限制
|
||
- **THEN** 新结果宽高各为本次输入的 2 倍,即最初输入的 4 倍
|
||
|
||
### Requirement: Fixed PiSA-SR preset
|
||
|
||
系统 SHALL 提供 `PISA_SR` 模型选项,使用固定像素强度 1.0、语义强度 0.7、空提示词和 seed 42,通过 ONNX Runtime 生成 2× 结果。现有默认模型 SHALL 保持有效。
|
||
|
||
#### Scenario: Selected preset is executed
|
||
- **WHEN** 用户选择 PiSA-SR 并执行 Upscale
|
||
- **THEN** 模型对同一 latent 的预测按 `pixel + 0.7 * (full - pixel)` 组合
|
||
- **AND** 输入插值、采样、解码与颜色校正遵循已验证的实验基线
|
||
|
||
#### Scenario: Repeatable inference
|
||
- **WHEN** 相同图像在相同运行环境重复执行 PiSA-SR
|
||
- **THEN** 系统使用相同噪声和处理规则,结果在该设备的数值容差内一致
|
||
|
||
### Requirement: Arbitrary dimensions and alpha preservation
|
||
|
||
系统 SHALL 支持合法输入范围内的小图、非方形图、奇数尺寸和跨 tile 图像,输出精确 2× 尺寸;有 alpha 的生产输入 SHALL 保留由源 alpha 插值而来的透明度。
|
||
|
||
#### Scenario: Tiled PiSA-SR image
|
||
- **WHEN** 输入需要多个 PiSA-SR tile
|
||
- **THEN** 系统融合重叠区域并裁去填充,输出无多余边缘的 2W×2H 图像
|
||
- **AND** 连续纹理与渐变测试图的 tile 边界不出现可辨识拼接线
|
||
|
||
#### Scenario: Transparent input
|
||
- **WHEN** 输入包含全透明和半透明像素
|
||
- **THEN** 输出 alpha 等于源 alpha 直接 Lanczos 放大到最终尺寸的结果
|
||
- **AND** RGB 生成过程不生成或覆盖 alpha
|
||
|
||
### Requirement: Model readiness and resource lifecycle
|
||
|
||
系统 SHALL 对 PiSA-SR 全部必需资产完成下载及校验后才判定就绪,按所选设备创建管线;其模型切换、取消、资源错误和显式清理 SHALL 覆盖全部组件。
|
||
|
||
#### Scenario: Incomplete model package
|
||
- **WHEN** PiSA-SR 任一必需文件缺失或校验失败
|
||
- **THEN** 系统提示准备模型并阻止使用不完整管线进行推理
|
||
|
||
#### Scenario: Bounded UNet residency
|
||
- **WHEN** PiSA-SR 执行像素与完整预测阶段
|
||
- **THEN** GPU 同时常驻的 UNet 至多一套,阶段间中间数据被保留以完成 0.7 组合
|
||
|
||
#### Scenario: Cancel or resource failure
|
||
- **WHEN** 推理被取消或发生资源错误
|
||
- **THEN** 系统停止后续阶段并清理任务中间文件
|
||
- **AND** 资源错误释放整个 PiSA-SR 管线并报告可理解的失败原因
|
||
|
||
#### Scenario: Unsupported device
|
||
- **WHEN** 所选设备无法执行已分发的 PiSA-SR 资产
|
||
- **THEN** 系统报告明确的设备支持原因或执行已验证并明确呈现的回退路径
|
||
|
||
### Requirement: Consistent job behavior
|
||
|
||
系统 SHALL 在生产与调试任务采用同一模型预设和最终倍率,并对多帧输入逐帧应用该约定。
|
||
|
||
#### Scenario: Multiple frames
|
||
- **WHEN** Upscale 处理多帧输入
|
||
- **THEN** 每帧输出均为其处理输入的 2× 尺寸,帧顺序正确且阶段之间可以取消
|
||
|
||
#### Scenario: Debug matches production
|
||
- **WHEN** 相同 RGB 输入、模型和设备分别通过生产与 Debug 入口处理
|
||
- **THEN** 两者的 RGB 处理规则和最终尺寸一致
|
||
|