重点和结论
Last updated
Last updated
根据本书中的要点,可以得出以下结论:
在各种视频度量之间可能会进行权衡,包括压缩量,视觉质量,压缩速度和功耗。
可以通过调整视频编码参数分析这些度量指标之间的权衡。
部分编码参数对某些视频度量指标的影响要大于其他编码参数。同时,根据具体应用,某些优化措施对某些度量指标的优化效果也可能会好于其它的指标。
分析不同的编码参数对性能,功耗和质量的影响是评估视频编码解决方案的一部分。
取决待优化的目标和待调整的参数,某些视频编码解决方案也会因视频类型的差异而存在差异。
比较两种视频编码解决方案,不仅有助于对可用解决方案进行排名,还有助于做出明智的选择。
采样和扫描方法,图像速率,色彩空间,色度和编码格式是ITU-R数字视频演播室标准在三个规范中定义的参数。
由于人类视觉系统(HVS)的自然容忍特性,并且HVS对某些类型的视觉质量损失比其他类型更敏感,因此视觉质量的降级也是一种选择。许多视频压缩技术都会利用这一事实,并以质量为代价压缩视频。
色度亚采样是一种充分利用HVS对颜色信息的敏感性的常用技术。许多视频都会采用使用4:2:0的色度亚采样。
各种技术均可用于数字视频压缩。大多数国际标准采用如下的方式进行有损编码:基于变换降低空间冗余,基于块匹配运动补偿降低时间冗余,基于可变长度代码降低频谱冗余。
国际标准在实际压缩,通信,存储,广播,游戏等领域定义了一系列视频应用程序。标准视频格式对于产品之间交换数字视频至关重要。这些标准定义的算法可在实际的硬件和软件系统中实现,并且在多个行业通用。
视频压缩受到许多因素的影响,包括输入端噪声,输入图像的动态范围,图像分辨率,伪像,码率要求,帧率,错误恢复能力,质量设置(图像之间恒定或可变),算法复杂度,平台功能等。
有损压缩会导致视觉质量损失,但是由于HVS限制,少量的质量损失不会导致主观视觉质量下降。常见的压缩伪像包括量化噪声,模糊,块效应,振铃,混叠,闪烁等。设备上的传感器噪声和视频特征也会影响质量。影响视频质量的视频特征主要有:空间和时间活动,压缩的数量和方法,压缩次数或生成的次数,传输过程中的错误以及后期制作过程中引入的艺术视觉效果。
人的意见是判断视频的视觉质量的最重要标准,但这些意见是主观的,易变的且无法可靠地重复执行。
诸如PSNR和SSIM之类的客观指标广泛用于视频质量评估。尽管它们与人的体验并不完全相关,但是它们可以很好地估计视觉质量。但是,在判断编码器的输出时,仅凭这些客观手段是不够的。还必须考虑视频的带宽成本。
已经提出了许多视频质量评估的方法和指标,但他们的复杂程度各不相同。这是学术研究以及ITU新兴标准的活跃领域。
可以调整几个编码参数,以牺牲视频质量来获得性能和功耗的优化。这里的重要参数包括码率,帧率和延迟的要求,码率控制类型,可用缓冲区大小,图片结构,图片组,运动参数,参考图片数量,运动矢量精度,运动矢量搜索/插值方法,熵编码类型,编码次数,等等。
编码效率取决于编码所用的比特数要达到的质量。编码效率通常用于表示性能。但是,在本书中,性能是指编码速度。
编码速度取决于很多因素,包括平台和视频特性。平台特征包括:CPU和GPU频率,工作电压,可配置的TDP状态,操作系统电源策略,内存带宽和速度,缓存策略,磁盘访问速度,I/O吞吐量,系统时钟,图形驱动程序设置,等等。视频特征包括:视频格式,分辨率,码率,帧率,GOP和其他参数。视频场景特征包括:运动量,细节,亮度等。
可以利用各种并行化技术提高编码速度。但是,应认真分析任务调度和进程间通信的成本。并行化方法包括:数据分区,任务并行化,流水线,数据并行化,指令并行化,多线程,和向量化。
比实时编码更快的编码速度在诸如视频编辑、存档、录制、转码和格式转换等应用中很有用。
可视通讯和应用(投屏应用)通常需要在资源受限的客户端平台上进行低延迟的实时编码。
性能优化意味着最大程度地利用可用的系统资源。但是,具有功耗意识的优化方法会在尽可能短的时间内使资源利用率最大化,并使系统尽可能长时间地进入更深的睡眠状态。这与最小化资源的空闲时间的传统方法正好相反。
在各种性能优化方法中,需要特别关注:算法优化,代码优化,编译器优化以及冗余消除。
系统存在多个电源管理点,包括BIOS,CPU,图形控制器,硬盘驱动器,网络和显示器。系统还可能存在内存电源管理,但是内存电源管理很少执行。
通常,基于硬件的电源管理涉及各种CPU C状态和渲染C状态。操作系统或驱动程序中,基于软件的电源管理包括:CPU核离线,CPU核屏蔽,CPU负载平衡,中断负载平衡,CPU和GPU频率控制等。
在低功耗平台上,通常需要特殊的硬件单元管理电源。不同电压等级的多个电源点构成一个复杂的系统,这些专用单元可对电源需求进行快速而精确的管理。
电源管理的目标是使处理器尽可能长时间地进入各种睡眠状态,从而节省功耗。
总功耗包括动态功耗和静态泄漏功耗。动态功耗取决于工作电压和频率,而静态功耗取决于泄漏电流。
无论频率如何变化,电路运行都需要最低电压。处理器可以在最小电压下工作的最大频率()是最省电的工作点。从这一点开始增加频率会以立方速率增加动态功耗,而以线性速率增加静态功耗。在相对较高的功耗下,可以通过简单的权衡电压-频率来降低功耗。将频率降低到最有效点(即区域)以下会线性降低动态功耗,而静态功耗则保持恒定,从而产生恒定的泄漏电流。
可以在体系结构级别,算法级别,系统集成级别和应用程序级别优化功耗。
在低功耗平台,可能需要在处理器面积,功耗,性能,视觉质量,压缩量和设计复杂度之间进行一些实际的权衡。为了节省这些平台的功耗,可能有必要牺牲视觉质量。
对于视频应用,显示器消耗了很大比例(大多为1/3)的系统功耗。显示功耗管理技术包括:面板自刷新,使用英特尔显示节能技术的背光控制,环境光传感器和内容自适应性。
低功耗软件设计的注意事项包括:智能功耗意识,质量需求,硬件加速的可用性,高能效UI,代码密度和内存占用量,数据传输,缓存利用率的优化,并行和批处理等。
低功耗架构方面的考虑因素包括:在同一芯片上组合系统组件,优化的硬件-软件交互,工作负载从通用硬件迁移到固定功能硬件,CPU-GPU功耗共享,uncore和图形单元,功率岛,功耗感知仿真和验证等。
功耗优化方法包括:快速运行和关闭处理器,调度任务和活动,减少唤醒,突发模式处理,减少CPU-GPU依赖性并增加并行性,GPU内存带宽优化以及显示器和存储单元的功耗优化。
需要测量功耗和性能以进行权衡分析,可以校准系统并为如下参数提供合适的设置:工作温度,电压和频率,cTDP,交流或直流电源模式,操作系统电源策略,显示设置,驱动程序设置,应用程序设置,编码参数。
第8章讨论的权衡分析试图填补目前综合分析方法中存在的空白。特别是对于检查调整各种参数的影响以更好地了解不同视频措施的成本和收益而言非常重要。
了解性能,功耗和质量之间的折衷对架构师、开发人员、验证者和技术市场营销人员、编码解决方案的技术评审人员、采购人员和最终用户都很重要。