基于ADV212芯片的视频压缩系统应用设计技术
摘要: ADV212是一种低价、单片、低功耗、全数字的CMOS超大规模集成电路。它在实现JPEG2000 图像压缩必需的高强度计算同时能产生适用于大多数应用的码流。该芯片的核工作电压1. 5V, I /O 电压2. 5V 到3. 3V, 主要包括一个专门的小波变换引擎,3个熵编码器, 一个片内存储器, 一个内置精简指令集( R ISC )处理器。图像或视频数据由AD 内部12位像素接口输入, 采样结果隔行输入小波变换引擎,然后采用5 /3或9 /7滤波器将每个图块或帧分解为子带, 得到的小波系数写入内部存储器。熵编解码器将数据编码为JPEG2000 标准。
近十年来, 高清数字电视(HDTV )业务在全球范围内得到广泛的推广应用(美国03 年率先开通了HDTV 的路基有线网, 中国也确定了几年内HDTV 逐渐取代传统电视网的计划) , 但是由于其视频数据量巨大, 不便于存储与传输, 而传统的压缩系统存在压缩质量不高及实时性不强等特点, 因此, 研究基于高清视频信号的压缩系统变得意义重大。美国AD公司新推出的编解码芯片ADV 212, 采用小波变换和自适应算术编码技术, 具有层进式传输, 焦点区域压缩, 多尺度、多分辨率分析和时域局部化等特点, 使压缩后的信号可以轻易通过有线甚至窄带无线信道传递给中央控制台, 具有压缩可调范围大, 压缩质量高等优点。基如此, 本文设计了一种ADV212结合FPGA和DSP的高效视频压缩系统。
2 ADV212结构及功能
2. 1 内部结构
ADV212是一种低价、单片、低功耗、全数字的CMOS超大规模集成电路。它在实现JPEG2000 图像压缩必需的高强度计算同时能产生适用于大多数应用的码流。该芯片的核工作电压1. 5V, I /O 电压2. 5V 到3. 3V, 主要包括一个专门的小波变换引擎,3个熵编码器, 一个片内存储器, 一个内置精简指令集( R ISC )处理器。图像或视频数据由AD 内部12位像素接口输入, 采样结果隔行输入小波变换引擎,然后采用5 /3或9 /7滤波器将每个图块或帧分解为子带, 得到的小波系数写入内部存储器。熵编解码器将数据编码为JPEG2000 标准。内部DMA 引擎提供存储器之间的高带宽传输及各模块和存储器之间的高性能传输。图1为ADV212的内部功能图。
图1 ADV212的内部功能结构图
2. 2 ADV212功能模块分析
( 1)小波变换引擎。
DV212提供了一个高精度的小波变换处理器,可实现6级小波分解。在编码模式下, 小波处理器对原始采样数据进行变换、量化, 并将小波系数存入内部存储器中。
在解码模式下, 从内部存储器中读取小波变换系数, 并通过解码计算, 得到编码前的原始数据。
( 2)熵编码器。
熵编解码器用来对小波系数的编码块进行背景建模和算术编码, 同时可在压缩过程中计算最佳速率和失真性能所必需的失真度。由于熵编码过程在JPEG2000 压缩工程中对计算要求最高, 因此,ADV202内部提供了三个专用的硬件熵编解码器。
( 3)内部存储器。
存储系统的主要功能是管理小波系数数据和临时的代码块特征数据, 以及创建、分解、存储JPEG2000代码流的临时工作空间。此外, 存储系统还被用于R ISC处理器的程序和数据存储。
( 4)嵌入式R ISC处理器。
ADV212内嵌了一个32 位的R ISC 处理器, 可用来配置、控制和管理其它专用硬件模块以及分解和产生JPEG2000视频流。RISC 处理器具有和每一个程序和数据存储器、中断控制器、标准总线接口及定时器计数器所对应的ROM 和RAM。
2. 3 主要特征
有针对视频和静止图像的单片JPEG2000压缩和解压解决方案。
与芯片ADV202管脚一致, 支持ADV 202的全部功能。
新增加了支持JTAG /boundary扫描功能, 功耗比ADV 202低30%。
采用独特的空间超效率回归滤波( SURF)技术, 可实现低功耗和低成本小波束压缩, 支持高达6级的9 /7和5 /3小波转换。
用5 /3小波可编程图块/图像尺寸在3分量4: 2: 2隔行扫描中的宽度可达2048像素, 单压缩模式可高达4096像素, 最大图块/图像高度4096像素。
支持ITU - R B. T656、SMPTE 125M PAL /NTSC、SMPTE 274M、SMPTE 293M ( 525p )、ITU - RBT. 1358( 625p)等多种视频接口协议, 以及不可逆模式最大输入速度为65M sps、可逆模式最大输入速度为40Msps的任何视频格式。
两个或多个ADV212 能组合满帧SMPTE274M HDTV( 1080i)或SMPTE 296M ( 720p)。
能暂时隔行粘贴SD视频源帧, 以改善质量。
灵活的异步SRAM 类型主接口能无缝连接到16 /32位微控制器和ASIC。
2. 4 ADV 212的软件配置
ADV212的工作模式是在初始化固件中通过写寄存器的状态字来设定, 固件程序的后缀名为* . sea, 通过USB 接口下载到ADV212的间接存储器中, 其地址段为0x00050000~ 0x0005EFF, 数据宽度32b its。采用C语言的ADV212程序编码流程如图2所示。
3 基于ADV212芯片的高清视频压缩系统设计
本系统以ADV212为核心, 配以通用处理器, 可以实现分辨率达到1080 i的高清视频信号压缩。
3. 1 多片编码模式
由于ADV212在不可逆和可逆模式下数据最大输入速率分别为65Mbps和40Mbps, 而有效的视频转化输入数据速率约为124Mbps, 因此, 至少需要两片ADV 212才可以实现全分辨率1080 i视频信号的编解码。在编码过程中, Y数据和CbCr数据通过不同的总线输入到ADV212, 其中AD212_1处理1080i视频信号的亮度数据, 而ADV202 _2 则用于处理1080 i视频信号的色度数据。为了对此应用模式下对应的输出数据进行同步, 其输入数据必须是EAV /SAV 编码格式。如果要获取更高的性能, 例如1080 i视频的无损压缩, 可选用3 片或更多的ADV 212来处理信号。图3 为两片ADV212编码硬件连接图。
ADV 212的多片模式在编码时, 芯片通常作为从设备, 而在解码时可分为主/从或从/从模式。在主从模式下, 主片的HVF 输出和从片的HVF输入连接在一起, 并且主片从片的SCOMM 也接在控制器的相同IO 引脚。在从从模式下, ADC212 的HVF由同一个外部同步信号生成并且SCOMM接到控制器的相同IO 引脚。在多片模式中, 所有ADV 212 的SW IRQ1 都不可被屏蔽, SW IRQ 1 在E IRQ IE (外部中断使能)寄存器中。
3. 2 系统设计
基于ADV212芯片的多片连接模式和高效压缩性能, 并结合FPGA + DSP的可编程性, 我们设计了一种如图4所示的视频压缩系统。由图可知, 该系统主要由A /D 转换器、FPGA 模块、DSP 模块、ADV212编码/解码器四部分组成, 各部分的功能及技术途径如下:
A /D转换由ADV7402来完成, 它能自动检测和转换标准模拟基带电视信号成符合CC IR656 的4:2: 2 分量数字视频数据。解压时的D /A 转换由ADV7321来完成。
图4 系统结构框图。
FPGA 模块作为整个系统的中枢, 对系统中各个芯片的信号起桥接作用。首先根据需要完成图像数据的初步处理(如去噪) , 然后将数据分为大小相同的两个子块, 使其能分别在两个ADV 212中处理。
同时, 要向ADV212提供复位、片选、行场同步、读写以及时钟等信号控制多片ADV212的工作时序和工作模式, 并为DSP提供复位信号。在工作过程中,FPGA 要不断向外部发送工作状态的反馈信息。在接到外部发来的!传输?指令后, 码流将从存储器中被取出, FPGA 将其转换成比特流格式后发往信道。
DSP模块是系统的主控者, 由它完成对ADV 212和ADV7402的初始化。ADV212 编码后产生的JPEG2000格式码流首先送入DSP进行加密,然后存入SDRAM 中等待接收! 传输?指令, 在接到!传输?指令后DSP将存储在SDRAM中待发送的码流送入并/串转换DPRAM, 最后在FPGA 中转换成串行比特流发送出去。
系统开始工作后, 由外部的模拟视频信号传送给ADV 7402。ADV7402经过采样, 量化后输出符合要求的数字视频数据。视频数据流通过FPGA 的桥接送给ADV 212进行压缩编码。为了提高压缩率,可以在视频数据流流过FPGA 时, 对数据进行丢场处理, 以人为降低需要进行压缩编码的源数据速率。
压缩好的数据再由ADV212传送给FPGA 里面的接口控制器, 由控制器按照规定接口协议输出压缩数据流。
4 结束语
结合FPGA 和DSP 的高度灵活性, 利用ADV 212的多片模式和高效的压缩性, 设计出一个压缩/解压缩系统, 较好的解决了高清视频信号高压缩、高保质难的问题, 为高清数字电视业务的启动和普及打下了良好的基础。
暂无评论