视频压缩IPcore设计
发布时间:2008/5/26 0:00:00 访问次数:522
    
    
    摘要:介绍了一种基于fpca技术的视频压缩ipcore(intellectual property core,智力产权)设计。设计中综合运用了分布式算法、并行运算和流水线单元,通过veriloghdl(veriog hardware descdptionlansuage)硬件描述语言描述运算单元及其结构配置。整个系统能在27mhz系统时钟下工作。
    
    关键词:视频压缩 ipcore fpca
    
    现行的视频压缩标准有多种,但基本属于以下两大类:视频会议标准和多媒体标准。视频会议标准包括itu(intemational telecommunication union)的h.263/h.261等。这些标准主要采用了基于dct(离散余弦变换)编码、运动补偿等技术,使视频流能以nx64kbps(n=1~32)的速率传输。
    
    多媒体压缩标准主要包括:mpeg-1、mpeg-2、mpeg-4等,由ccitt和iso的动态图像专家组(motionpicture experts group)制定。mpeg-1主要应用在以cd-rom为介质的视频上,比特率为1.5mbps。mpeg-2应用在ntsc/pal和ccir601中, 比特率为2~10mbps。mpeg—1和mpeg—2的目的都是有效传输和存储音视频。而mpeg-4是为了提供更有效的视频压缩,基于内容提供广泛的接人方式。它既可以在5-64kbps的移动电话和公共交换网中应用,也可以在4mbps带宽的电视中应用。
    
    jpeg(joint photographic experts group)标准是一个适用范围广泛的通用标准,由联合图像专家小组制定。它不仅适用于静止图像的压缩,也适用于电视图像序列的帧内图像的压缩[1]。
    
    近年来,随着fpga技术的日益成熟,愈来愈多的曾使用软件或dsp实现的复杂数字算法开始使用ppca完成。这当然是由于fpga的特殊结构和特性,使它可以更加高速和高效地完成这些算法。ipcore技术可以把这些fpga中的算法设计封装成包(模块)。这些包具有智力产权,可以被继承、共享或购买。
    
    1 视频压缩原理和算法实现
    
    视频压缩技术主要利用图像信号的相关、冗余等特性,通过一些变换算法,保留对人眼视觉最重要的部分,进行编码传输。大部分视频压缩利用2d-dct(二维离散余弦变换)和2d-idct(二维反离散余弦变换)变换得到图像的频谱,高精度保留对人眼重要的高频部分,低精度保留低频部分从而对视频流进行压缩[1]。其过程如图1所示。
    
    
    
    
    
    1.1 dct变换算法
    
    2d-dct变换是视频压缩中的常用变换[2]。在压缩过程中,将一幅图像分成许多8x8的小块进行变换。
    
    8x8的2d-dct变换如公式(1)所示:
    
    
    
    如果直接使用公式(1)进行2d-dct变换,运算量将会十分巨大,普通fpga很难有效完成整个视频压缩运算。所以需要先把2d-dct运算进行一些变换,简化计算,减少运算量。
    
    
    
    
    
    
    
    2d-dct具有正交可分解性闷,可以通过对输入的矩阵先做一维行变换,再做一维列变换实现。即将8x8数据先按行方向进行累加运算,产生中间矩阵,再对中间矩阵按列方向进行累加运算,最后得到变换结果。2d-dct可以分解成两个1d-dct运算,见公式(2)。
    
    将公式(2)展开成矩阵形式,得到公式(3)。计算一个这样的单元需要64个乘法器和56个加法器,运算量还是很大。利用公式(3)的对称性进行变换,可以得到公式(4),使乘法器减少到32个,加法器减少到8个。
    
    
        
    
    
    摘要:介绍了一种基于fpca技术的视频压缩ipcore(intellectual property core,智力产权)设计。设计中综合运用了分布式算法、并行运算和流水线单元,通过veriloghdl(veriog hardware descdptionlansuage)硬件描述语言描述运算单元及其结构配置。整个系统能在27mhz系统时钟下工作。
    
    关键词:视频压缩 ipcore fpca
    
    现行的视频压缩标准有多种,但基本属于以下两大类:视频会议标准和多媒体标准。视频会议标准包括itu(intemational telecommunication union)的h.263/h.261等。这些标准主要采用了基于dct(离散余弦变换)编码、运动补偿等技术,使视频流能以nx64kbps(n=1~32)的速率传输。
    
    多媒体压缩标准主要包括:mpeg-1、mpeg-2、mpeg-4等,由ccitt和iso的动态图像专家组(motionpicture experts group)制定。mpeg-1主要应用在以cd-rom为介质的视频上,比特率为1.5mbps。mpeg-2应用在ntsc/pal和ccir601中, 比特率为2~10mbps。mpeg—1和mpeg—2的目的都是有效传输和存储音视频。而mpeg-4是为了提供更有效的视频压缩,基于内容提供广泛的接人方式。它既可以在5-64kbps的移动电话和公共交换网中应用,也可以在4mbps带宽的电视中应用。
    
    jpeg(joint photographic experts group)标准是一个适用范围广泛的通用标准,由联合图像专家小组制定。它不仅适用于静止图像的压缩,也适用于电视图像序列的帧内图像的压缩[1]。
    
    近年来,随着fpga技术的日益成熟,愈来愈多的曾使用软件或dsp实现的复杂数字算法开始使用ppca完成。这当然是由于fpga的特殊结构和特性,使它可以更加高速和高效地完成这些算法。ipcore技术可以把这些fpga中的算法设计封装成包(模块)。这些包具有智力产权,可以被继承、共享或购买。
    
    1 视频压缩原理和算法实现
    
    视频压缩技术主要利用图像信号的相关、冗余等特性,通过一些变换算法,保留对人眼视觉最重要的部分,进行编码传输。大部分视频压缩利用2d-dct(二维离散余弦变换)和2d-idct(二维反离散余弦变换)变换得到图像的频谱,高精度保留对人眼重要的高频部分,低精度保留低频部分从而对视频流进行压缩[1]。其过程如图1所示。
    
    
    
    
    
    1.1 dct变换算法
    
    2d-dct变换是视频压缩中的常用变换[2]。在压缩过程中,将一幅图像分成许多8x8的小块进行变换。
    
    8x8的2d-dct变换如公式(1)所示:
    
    
    
    如果直接使用公式(1)进行2d-dct变换,运算量将会十分巨大,普通fpga很难有效完成整个视频压缩运算。所以需要先把2d-dct运算进行一些变换,简化计算,减少运算量。
    
    
    
    
    
    
    
    2d-dct具有正交可分解性闷,可以通过对输入的矩阵先做一维行变换,再做一维列变换实现。即将8x8数据先按行方向进行累加运算,产生中间矩阵,再对中间矩阵按列方向进行累加运算,最后得到变换结果。2d-dct可以分解成两个1d-dct运算,见公式(2)。
    
    将公式(2)展开成矩阵形式,得到公式(3)。计算一个这样的单元需要64个乘法器和56个加法器,运算量还是很大。利用公式(3)的对称性进行变换,可以得到公式(4),使乘法器减少到32个,加法器减少到8个。