用数字信号处理器优化视频编码器
时间:03-11
来源:电子工程专辑
点击:
图3:P 帧的连续条状图像可用做帧内编码。
数字录像
适用于家庭娱乐的数码摄像机(DVR)可能是使用范围最广的实时视频编码器应用了。对于这种系统来说,如何实现存储容量和画质之间的最佳平衡是一大问题。与不能容忍延迟的视频会议不同,如果系统缓冲可用的存储器足够的话,则视频录制的压缩可以承受一定的实时延迟。要满足实际要求的设计意味着让输出缓冲器可以处理数个帧,这样才足以保持磁盘能获得稳定持续的数据流。不过,在某些情况下,由于可视信息变化非常快,导致算法产生大量P帧数据,这时缓冲器就可能出现阻塞。只要解决了阻塞问题,图像质量就能重新提升。
有效进行权衡取舍的机制之一就是即时改变量化参数Qp。量化是压缩数据算法最后阶段的步骤之一。提高量化可减少算法的比特率输出,但图像失真会与Qp的平方成正比增长。提高Qp会降低算法的比特率输出,但同时也会影响画质。不过,由于这种变化是实时发生的,因此有助于减少跳帧或画面破损的现象。如果可视内容更改非常快,例如缓冲器拥塞时,那么这时虽然画质降低,但却不会像内容缓慢变化时那样引人注意。可视内容返回较低比特率且缓冲器清空后,就能将Qp重设为正常值。
编码器的灵活性
由于开发人员可在各种视频应用中使用DSP,因此DSP编码器在设计时就应当考虑到要发挥自身在压缩标准方面的灵活性优势。例如,基于德州仪器(TI)移动应用领域OMAP媒体处理器、TMS320C64x+DSP或达芬奇(DaVinci?)处理器的编码器就具备高度灵活性。为了最大限度地提高压缩性能,每个编码器都可用于充分利用其平台的DSP架构,其中包括某些处理器中内置的视频与图像协处理器(VICP)。
所有编码器均使用一套采用默认参数的基本API,因此无论使用何种类型的系统,系统接口都不会改变。扩展的API参数可使编码器满足特定应用的要求。默认情况下,可将参数预设为高质量,此外还提供高速预设设置。程序使用扩展参数可以覆盖所有预设参数。
扩展参数使应用能满足H.264或MPEG-4的要求。编码器可支持若干选项,如YUV 4:2:2与YUV 4:2:0输入格式、最小四分之一像素分辨率的运动补偿、各种I帧间隔(从每帧都为I帧到首个I帧后无后续I帧)、Qp比特率控制、存取运动矢量、去块滤波器控制、同时编码两个或更多通道以及I图像条(strip)等等。编码器可动态不受限制地确定默认运动矢量的搜索范围,这种技术相对于固定范围搜索而言是一个进步。
此外,通常都会存在最佳操作点(sweet spot),也就是既定输入分辨率和每秒帧数(fps)情况下最佳的输出比特率。开发人员应当认识到编码器的这个最佳点,从而在设计方案中实现系统传输与画质的最佳设计平衡。
作者:Ajit Rao,高级技术专员
Soyeb Nagoori,多媒体编码软件架构师
TI公司
数字录像
适用于家庭娱乐的数码摄像机(DVR)可能是使用范围最广的实时视频编码器应用了。对于这种系统来说,如何实现存储容量和画质之间的最佳平衡是一大问题。与不能容忍延迟的视频会议不同,如果系统缓冲可用的存储器足够的话,则视频录制的压缩可以承受一定的实时延迟。要满足实际要求的设计意味着让输出缓冲器可以处理数个帧,这样才足以保持磁盘能获得稳定持续的数据流。不过,在某些情况下,由于可视信息变化非常快,导致算法产生大量P帧数据,这时缓冲器就可能出现阻塞。只要解决了阻塞问题,图像质量就能重新提升。
有效进行权衡取舍的机制之一就是即时改变量化参数Qp。量化是压缩数据算法最后阶段的步骤之一。提高量化可减少算法的比特率输出,但图像失真会与Qp的平方成正比增长。提高Qp会降低算法的比特率输出,但同时也会影响画质。不过,由于这种变化是实时发生的,因此有助于减少跳帧或画面破损的现象。如果可视内容更改非常快,例如缓冲器拥塞时,那么这时虽然画质降低,但却不会像内容缓慢变化时那样引人注意。可视内容返回较低比特率且缓冲器清空后,就能将Qp重设为正常值。
编码器的灵活性
由于开发人员可在各种视频应用中使用DSP,因此DSP编码器在设计时就应当考虑到要发挥自身在压缩标准方面的灵活性优势。例如,基于德州仪器(TI)移动应用领域OMAP媒体处理器、TMS320C64x+DSP或达芬奇(DaVinci?)处理器的编码器就具备高度灵活性。为了最大限度地提高压缩性能,每个编码器都可用于充分利用其平台的DSP架构,其中包括某些处理器中内置的视频与图像协处理器(VICP)。
所有编码器均使用一套采用默认参数的基本API,因此无论使用何种类型的系统,系统接口都不会改变。扩展的API参数可使编码器满足特定应用的要求。默认情况下,可将参数预设为高质量,此外还提供高速预设设置。程序使用扩展参数可以覆盖所有预设参数。
扩展参数使应用能满足H.264或MPEG-4的要求。编码器可支持若干选项,如YUV 4:2:2与YUV 4:2:0输入格式、最小四分之一像素分辨率的运动补偿、各种I帧间隔(从每帧都为I帧到首个I帧后无后续I帧)、Qp比特率控制、存取运动矢量、去块滤波器控制、同时编码两个或更多通道以及I图像条(strip)等等。编码器可动态不受限制地确定默认运动矢量的搜索范围,这种技术相对于固定范围搜索而言是一个进步。
此外,通常都会存在最佳操作点(sweet spot),也就是既定输入分辨率和每秒帧数(fps)情况下最佳的输出比特率。开发人员应当认识到编码器的这个最佳点,从而在设计方案中实现系统传输与画质的最佳设计平衡。
作者:Ajit Rao,高级技术专员
Soyeb Nagoori,多媒体编码软件架构师
TI公司
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)