Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 29341-18-10 规定了 RenderingControl 服务的版本 2,建立在第17-13部分(RenderingControl v1)奠定的基础之上。版本 2 引入了显著的架构增强,解决了多年实际 UPnP AV 部署经验中发现的限制。最根本的改进是重新设计的声道模型,它将 v1 的固定声道架构替换为动态、可查询的声道系统,可以根据设备运行时的实际输出配置进行适配。
在 v1 中,渲染声道是预定义的,限制为固定集合(Master、LF、RF 等)。V2 通过 GetChannelCharacteristics 动作引入了声道发现机制,该动作返回完整的可用声道集合、它们的类型(音频、视频或音视频)、当前状态以及每个声道支持的参数范围。这使得控制点能够发现特定的 MediaRenderer 除了基本立体声对外还支持中置声道(CS)、左环绕(LS)、右环绕(RS)和低音炮(SW)——实现了真正的多声道环绕声控制,这在 v1 中实现起来很繁琐。
RenderingControl v2 显著扩展了 v1 提供的渲染控制面板。新增音频控制包括:ChannelVolume(具有可配置范围和曲线的每声道音量)、ChannelMute(每个声道独立静音)、Equalizer(具有可配置频率、增益和 Q 值的多频段参数 EQ)、DynamicRangeCompression(用于降低动态范围的压缩器/限制器设置)、AudioDelay(唇同步延迟调整)和 ChannelPhase(用于声学校正的每声道相位反转)。
新增视频控制包括:Gamma(伽马校正曲线选择或自定义值)、ColorTemperature(预设色温值或自定义开尔文值)、NoiseReduction(针对不同噪声类型的分级降噪——时间域、空间域、蚊式噪声)、AspectRatio(直接宽高比控制,支持自动、4:3、16:9、缩放、拉伸等模式)和 PictureMode(制造商特定画面模式选择,超出基础预设)。这些控制通过通用的 Get/Set 状态变量机制暴露,但具有标准化的名称和语义以确保跨供应商互操作性。
| 控制类别 | v1 支持 | v2 增强 | 工程影响 |
|---|---|---|---|
| 声道模型 | 固定预定义声道 | 动态、可查询的声道模型 | 控制点必须根据设备能力调整 UI |
| 音量控制 | 每个声道单一音量 | 具有可配置范围、曲线和渐变的 ChannelVolume | 支持具有独立曲线的多区域音量 |
| 均衡器 | 仅 Bass/Treble | 多频段参数 EQ | 需要 DSP 支持;增加计算开销 |
| 动态范围 | 不支持 | 具有比率、阈值、起音/释放的 DynamicRangeCompression | 夜间聆听必备;需要实时音频处理 |
| 预设管理 | ListPresets, SelectPreset | 新增 PresetName 列表、用户预设保存/删除、预设 XML 交换 | 用户预设持久化需要非易失性存储 |
| 唇同步 | AVSyncOffset(单一值) | 每声道 AudioDelay、自动唇同步检测提示 | 支持家庭影院中每扬声器距离补偿 |
| 画面控制 | 亮度、对比度、锐度、色彩、色调 | 新增 Gamma、色温、降噪、宽高比 | 扩展的参数空间需要仔细校准 |
| 事件通知 | LastChange(单一 XML 文档) | 每声道组的 LastChange、速率受限投递 | 减少网络流量;改善 UI 响应性 |
预设管理在 v2 中得到了重大改进。v1 的预设是只读的、制造商定义的集合,而 v2 引入了用户预设能力。CreatePreset 动作允许控制点将当前渲染配置保存为命名预设供以后调用。DeletePreset 删除用户创建的预设,GetPreset 将关联的完整参数集作为 XML 文档检索。该 XML 文档可以跨设备导出和导入,支持专业校准人员在工作室或零售环境中的多个显示器上应用相同校准预设等用例。
事件通知系统通过每声道组事件得到增强。v2 引入每个逻辑声道组的 ChannelGroupLastChange 变量,而不是覆盖所有声道的单一 LastChange 事件变量。这减少了事件流量——当控制点只对音频参数变化感兴趣时,它订阅音频声道组的 LastChange 变量并忽略视频相关事件。速率受限投递机制允许设备指定最大事件通知频率,防止快速参数调整期间(如音量滑块拖动)的事件风暴,同时确保最终参数值始终被投递。
另一个重要的增强是引入了渲染上下文管理。渲染上下文是共享共同渲染目的的一组声道和参数的逻辑分组。例如,”主区域”上下文可能包括 Master 音频声道和主视频输出,而”区域 2″上下文仅包括次要房间的立体声音频输出。GetCurrentContexts 动作返回可用上下文,SelectContext 动作切换活动上下文。这允许控制点通过单个 RenderingControl 实例管理复杂的多区域、多信源渲染配置。