摘要:介绍了小波变换在静态图像压缩、实时连续媒体流等多媒体业务中的应用,并结合ADV611芯片提出一套音视频数据采集和压缩的方案。为进一步提高媒体服务质量,在本方案中根据实际情况提出了帧间压缩和码率控制两种解决方案。
关键词:小波变换 图像压缩 实时连续媒体流 码率控制 帧间编码
随着网络用户对多媒体业务需求的大量增加,基于Internet的音视频数据采集、压缩技术成为各种多媒体业务运营的基本要求,国际标准化组织提出了多种国际标准(H.26X、MPEG-4等)来实现低码率及甚低码率下的多媒体数据压缩、传输及存储。而国内外各大网络软硬件厂商纷纷出台相应的解决方案。在这些标准、方案中,小波变换使信号的低频长时特性和高频短时特性同时得到处理,有效地克服了傅氏变换在处理非常平稳复杂图像信号时所存在的局限性,因而各种多媒体业务应用领域受到了广泛的重视[1、2]。本文将以此为基础对小波变换这一工具应用到图像压缩、实时连续媒体流等领域做一些有益的尝试与探讨。
1 小波变换在图像压缩中的应用
小波变换以其特有的变换特性在图像压缩领域得到了广泛的应用。如JPEG-2000、MPEG-4静态图像压缩都采用了小波变换的方式。对于小波变换在静态图像压缩中的应用已经有很多文献对此做出了论述,此处不再赘述。以下只讨论应用价值更为广阔的小波算法的硬件实现。
1.1 小波算法的硬件实现
美国AD公司的ADV611数字视频编解码芯片是一款低价、单片、多功能、全数字的CMOS超大规模集成电路,片内集成了视频接口、主机接口和SRAM,可以广泛应用于各个相关领域[5]。以下将从内部框图和算法分析两个方面介绍该芯片的使用情况。
1.1.1 内部框图
图1是ADV611的内部框图,大致可以分为六个模块,其中较有特色的部分是清晰窗口和量化控制两部分。清晰窗口(Quality
Box)是将用户感兴趣的部分图像采用压缩比较小的方式编码,而对其余背景区域则加大压缩比。这种方式可以认为是小波编码在空间可伸缩性的一种应用。量化控制是为了满足不同的网络带宽,不同的服务质量而设定的改变编码码率的参量。通过设置不同比特每象素值(Bit
Per Pixel)而改变编码码流的数据量,满足不同的网络带宽。图2是采用与ADV611相同压缩算法的软件模拟结构。表1是算法效果统计。
表1 算法效果统计
比特每象素值 | 1 | 0.5 | 0.1 |
压缩后数据量 | 50K | 24K | 7K |
压缩倍数 | 20.5 | 42.7 | 146.4 |
恢复图像与原图的PSNR | 32.43 | 30.88 | 27.37 |
其中图2(a)是原始图像(720×486×24位1025K),(b1)、(b2)、(b3)是比特每象素值分别为1、0.5、0.1时的恢复图像。从数据中可以看出随着比特每象素值的降低,压缩后数据量随之降低,而恢复图像与原图的PSNR降低并不多。
1.1.2 算法分析
ADV611内部的小波变换采用双正交9-7小波基。经过大量的实验证明双交9-7小波基在图像处理中是一种较好的小波基,目前多个国际标准中有关小波压缩的算法,一般都采用这种小波基。ADV611芯片中的小波算法生成的Mallat框图如图3所示。
在量化阶段ADV611采用可程控的量化方式。在量化顺序上采用先低频后高频的顺序(ADV611没有采用零树编码),如对图3量化的顺序为H、F、G、E、C、D、B、A。在量化系数的选取上充分考虑人类视觉特性给定了每个Mallat块的参考量化系数如图4.图5显示的编/解码端相应的量化方法,图中的BW是Mallat块的参考量化系数。
对量化后的数据ADV611采用游程编码与霍夫曼编码相结合的方式进行熵编码,以达到高压缩比的目的。一般来说游程编码和霍夫曼编码属于无损压缩,压缩比都不高,但在小波变换及系数量化后会出现大量的连零系数,这时采用游程编码与霍夫曼编码相结合的方式能达到很高的压缩比[3]。
2 小波变换在媒体流压缩中的应用
很多对小波变换的研究仅停留在静态图像上,没有就此深入下去。笔者希望小波变换这种方式不仅在静态图像上,还要在连续媒体流上得到更为广阔的应用。基于小波变换本身的特点以及ADV611芯片的特性,将从以下两个方面提出改进方案以使系统更加适用于连续媒体流业务。
2.1 基于小波变换系数的帧间算法
静态图像小波压缩是通过减少图像本身的空间冗余性,达到压缩效果的编码方法,属于帧内压缩。在处理连续媒体流时应注意到帧间相似性是很大的,即帧与帧之间有着很大的时间冗余性,减少这种冗余可以达到更高压缩比,使码流适合于更低比特的信道传输。在处理这一部分上国际标准一般采用运动估计运动补偿的方式,实现帧间压缩[4]。在综合考虑ADV611硬件实现的基础上,提出一种对小波变换后系数估计补偿的算法。具体的原理图如图6所示。其中小波变换与熵编码是由ADV611硬件实现的。编码后的数据延时一帧后进行存储器,与后一帧系数数据相减,求残差数据,并对残差数据重编码,包括二次量化、霍夫曼编码等。解码端反操作即可。
实现这种算法要求具有两个先题条件:(1)小波变换的稳定性。对同一帧图像两次小波变换后生成的码流是相同的,那么当其中一帧图像发生轻微变化时,编码生成后的码流也只是发生少量变化,从而残差数据将会有大量的连零数据出现;(2)编码后码流数据量较小,考虑到硬件实现时要求有存储器存储前一帧变换后的系数,如果码流数据量太大将不适合硬件的实现(此处应该注意的是连续两帧之间熵编码后数据量不一定相同,对缺少的数据补零处理)。利用news序列的前8帧做测试序列,得到的帧间相关性结果如表2所示。
表1 news序列前8帧编码系统相关性列表
1~2帧 | 2~3帧 | 3~4帧 | 4~5帧 | 5~6帧 | 6~7帧 | 7~8帧 | |
小波变换后系数(%) 小波变换及熵编码后系数(%) |
99.96 81.4 |
99.49 70.3 |
99.59 71.0 |
99.66 78.9 |
99.47 70.0 |
99.97 80.3 |
99.53 75.4 |
以上实验数据表明小波变换后系数存在着极大的帧间相关性。熵编码后相关性降低,但仍然较高,可以充分应用这种相关性。进行帧间压缩。在硬件实现方案中,由于采用ADV611芯片,接口的输出码流是经过熵编码后的数据,帧间压缩的效果没有如图6中虚线所示流程的压缩效果好,但仍然可以一步提高视频序列的压缩比。
2.2 基于小波变换的码率控制
当前连续媒体流业务中越来越多地考虑对客户的服务质量问题,QoS的提出要求对编码码率的控制更加灵活,以适应不同的用户要求和不同的信道状况。利用ADV611中可程控的量化方式就可以方便地达到码率控制的目的。其原理框图如图7所。B/P是比特每象素的设置,通过软件监控网络状态[5],并按照一定的经验规律实时更改压缩过程中的B/P设置,以完成对码率的控制。
3 实现方案
开发小组在充分地进行理论研究及实现方案论证的基础上,应用小波压缩算法,、按照MPEG-4标准的思路提出了一套音视频采集压缩传输的解决方案。硬件实现系统框图如图8所示。
在上述系统压缩/解压缩模块中,采用ADV611压缩芯片,并结合2.1中提出的小波变换系数的帧间算法,简略地实现视频序列的帧间压缩;同时按照控制单元的速率控制参数完成码率控制的过程。
上一篇:嵌入式实时系统及其在通信系统中的应用
下一篇:125MSPS高性能通信DAC芯片AD9752
- 热门资源推荐
- 热门放大器推荐
- 应对 AI 时代的云工作负载,开发者正加速向 Arm 架构迁移
- NVIDIA 推出高性价比的生成式 AI 超级计算机
- Gartner发布2025年影响基础设施和运营的重要趋势
- 智谱清言英特尔酷睿Ultra专享版发布,离线模型玩转AIPC
- Quobly与意法半导体建立战略合作, 加快量子处理器制造进程,实现大型量子计算解决方
- RTI Connext Drive参展CES 2025,以领先通信框架加速SDV开发
- 黑莓 1.6 亿美元甩卖网络安全业务 Cylance,远低于其 14 亿美元的收购价
- eIQ® Time Series Studio简介:简化边缘 AI 开发
- 尺寸更小,性能更强:左蓝微电子发布两款PESAW双工器