基于DSP的数码相机中的MPEG-4压缩方案
虽然数码相机(DSC)投入市场仅几年时间,但已经使消费类电子成像业发生了翻天覆地的变化。目前,全球售出的相机中大约有三分之一是数码相机,而且其份额还在稳步上升。随着多兆象素DSC生成分辨率越来越高的图像而开始挑战传统的胶卷像机,消费类DSC也正提供智能化操作模式,帮助用户在各种条件下都能拍摄出更好的照片。视频模式也已经成为消费类DSC的标准功能,使用户能够快速拍摄多个照片,以便选择更好的快照,同时也使他们能够保存重大事件的简短剪辑。此外,DSC也开始与手机集成在一起,实现静止图片与剪辑随时随地的快速传输。
随着瞬息万变的DSC市场不断分化,开发商必须不断充分利用技术创新的优势来细分其产品。当今其中一项创新就是在基于高性能数字信号处理器(DSP)的消费类DSC中引入MPEG-4视频压缩技术。MPEG-4标准使DSC能够有效提供视频及其他操作模式,增加所存储视频剪辑的数量,并支持视频图像强大可靠的传输。DSP可以提供低价位相机产品中MPEG-4编码以及解码所需要的计算性能,尤其那些具备支持快速图像处理架构的DSP更是如此。可编程性使开发商在整个DSC产品线中使用相同的DSP平台,从而通过软件优化不同产品的成像管道(imagepipe)。
新的压缩标准
DSC传统依赖于JPEG压缩标准,其设计用于存储静止图像,并且已通过互联网而广为流行。在压缩中,JPEG采用离散余弦变换(DCT)与量化技术有效地从包含8×8象素阵列的最小编码单元(MCU)的数据描述中消除大部分空间冗余。然后此算法采用熵或可变长度编码(VLC)技术进一步减少存储与传输的图像数据。图像解压的步骤则与此相反。根据图像内容,尽管压缩比随图像的不同而不同,但是JPEG算法一般情况下可以将象素数据压缩一个数量级而不丢失视觉完整性。
用于动画与视频的各种MPEG标准采用与JPEG相同的帧内技术入手来压缩基本的静止图像或I帧,然后采用附加的帧间技术以消除随后帧中的暂时冗余。帧间技术事实上涉及将每个连续帧的16×16象素宏块压缩到上一个帧的宏块,然后采用运动估计与补偿技术来描述宏块的帧到帧移动。这些预测帧或P帧只需要描述其从上一帧的改变。然后以应用所决定的间隔定期对I帧进行编码。
图1说明了一般MPEG视频压缩中所涉及的步骤。图像顶部从输入到输出的帧内压缩步骤(DCT、量化与VLC)足以生成I帧。为了创建P帧,刚编码的帧必须在本地帧缓冲器中被解码并存储,以便实现过去帧的逐块压缩到未来帧(即运动估计),从而实现帧间压缩。视频解码涉及图下部的步骤(逆量子化、反向DCT、运动补偿)。除了图中所示之外,MPEG标准还具有采用独立流程的音频压缩-解压算法。
图1:MPEG视频压缩流程图。
MPEG-4:多媒体标准
MPEG标准在不断发展,以适应新兴的视频应用。最初的MPEG-1标准开发用于大容量存储与系统检索,例如:交互式CD-ROM以及VCD。此后,在MPEG-2中对该标准进行了修改,以支持更高的分辨率、更广泛的格式以及与HDTV相关的数字编码。由于在DVD中的应用,MPEG-2更受青睐。在视频数据库的要求所驱动下,MPEG-7标准规定了用于信息搜索的内容表述。
MPEG-4开发用于交互式多媒体应用,其中包括那些通过无线连接提供的多媒体应用。它与基本H。263视频压缩标准共享算法。与早期的MPEG标准相比,MPEG-4为更高密度的图像提供了更好的压缩,并为更强大可靠的传输提供了更高的容错弹性(errorresilience)。另外,MPEG-4支持在帧中引入对象类型,从而可以独立规定、压缩、传输和重新组合不同的图像及图形单元。但是,该标准的对象支持功能仍有待开发切实可行的实施方案。到那时,包括DSC在内的大部分MPEG-4应用可以继续基于通常情况下与图像的完整矩形帧对应的单个对象。
高压缩效率
特定剪辑的压缩比随主题的不同而千差万别,不过一般情况下MPEG压缩技术可以将JPEG帧的后续形式-运动JPEG(M-JPEG)的压缩比在相同分辨率下提高一个数量级。进一步的压缩源自帧间技术的采用。视频帧一般大约为10万象素(352×288象素,CIF分辨率)或大约2。5万象素(176×144象素,QCIF分辨率),而不是一般情况下与JPEG相关的2~5兆象素。尽管分辨率的这种降低在高质量照片中是不能接受的,但是对于许多消费类DSC产品来说却足够了,尤其是考虑到它实现了写真视频的采集。
MPEG-4算法充分利用压缩技术中的精化功能,将早先的MPEG比率降低了大约20%。高级MPEG-4压缩可以将每秒15帧(fps)的QCIF视频图像从原始视频数据的4。5Mbps压缩为不到6?kbps,同时还可以保持适当的浏览质量。在DSC中,MPEG-4压缩使相机能够在内存中存储比M-JEPG大几倍的视频图像。
更佳的容错弹性
MPEG-4集成了多种提高容错弹性的新技术,容错弹性是很有用的特性,因为人们正越来越多地传输利用DSC采集的照片与剪辑。随着DSC手机的日益流行,强大可靠的传输成为了必不可少的要求。MPEG-4的容错弹性技术包括:
1)更多的再同步标记,其可将所传输的数据分成小视频包,从而使接收方能够在最小化数据丢失情况下恢复各种传输错误;
2)报头扩展代码,其指示每个数据包的报头,以防止由于包含重要报头信息的视频帧中第一个视频包的破坏而导致潜在的报头信息丢失;
3)将视频数据分成运动与纹理(空间)数据,通过提高该部分数据被接收到的几率而促进从错误恢复;
4)可逆VLC,允许接收方从再同步标记后向与前向进行解码,以便在发生传输错误后恢复尽可能多的图像;
5)用于空间及时间错误的差错隐藏技术(在MPEG-4中规定了几种技术,这些技术是对该算法的补充,而并非其组成部分)。
对DSP性能与灵活性的需求
由于帧间运动估计及补偿中涉及其他步骤,因此MPEG-4压缩与解压算法比JPEG需要强得多的处理能力。所以,DSC中的图像处理引擎必须能够达到更高的性能水平。尽管ASIC能够实现此项任务,但是它不易于结合到不同DSC产品的成像管道中;另一方面,可编程DSP不但能够提供MPEG-4算法所需的性能,而且还可以通过软件优化不同系统。另外,还可以对相同的DSP进行编程,使其执行JPEG算法,以便在更高分辨率的DSC中推广使用。因此,整个DSC产品线可以基于单个DSP平台,从而在节约大量开发时间与成本的同时还能促进产品的细分。
带成像架构的DSP示例
TI推出的TMS320DM270数字媒体处理器就是一种为DSC等成像应用而专门设计的高性能DSP。DM270是基于多处理器架构之上的,其采用一个ARM732位RISC微控制器来处理非成像功能,并用作整个系统的主控制器,同时采用可编程的C54×DSP核心处理音频编码与解码。另外,DM270还集成了专门设计用于处理大部分高计算要求成像任务的可编程协处理器。其中一个协处理器-SIMD图像处理引擎(iM×)执行DCT、反向DCT以及众多其他处理运算中的运动估计与补偿。其他协处理器执行可变长度编码/解码、量化与逆量子化。
图2展示了DM270的主要功能块与流程。除了主要的处理器之外,该器件还通过各种通用I/O引脚集成了高速缓冲存储器、图像块缓冲器、以及用于外部存储器、CCD、LCD或TV输出及其他通信接口的控制器。专用的图像预处理硬件可以消除主处理器的某些任务负担,如:白平衡、自动曝光以及自动调焦。
- ADI针对数码相机推出的整套解决方案(05-15)
- 保护便携应用的高速数据线路(05-12)
- 技术为王 富士2008数码相机新技术大盘点(05-22)
- 数码相机的防手抖技术及其设计(02-14)
- 采用协处理器和CMOS传感器的数码相机方案(11-29)
- 解读背照式CMOS传感器(11-27)