C语言编程算法经典案例100个,可以拿来作为编程参考案例
上传时间: 2013-05-30
上传用户:15853744528
H.264/AVC是由ITU和ISO两大组织联合组成的JVT共同制定的一项新的视频压缩技术标准,在较低带宽上提供高质量的图像传输是H.264/AVC的应用亮点。在同样的视觉质量前提下,H.264/AVC比H.263和MPEG-4节约了50%的码率。但H.264获得优越性能的代价是计算复杂度的增加,据估计其编码的计算复杂度大约为H.263的3倍,因此很难应用于实时视频处理领域。针对这一现状,业内做了大量的研究工作,力图降低其计算复杂度和提高运行效率。比如在运动估计方面,国内外在这方面的研究已经很成熟。而针对帧内/帧间预测编码的研究却较少。因此研究预测模式的快速算法具有理论意义和应用价值。 本文在详细研究H.264标准视频压缩编码特点基础上,分析了H.264帧内编码, 帧间编码及变换,量化技术的原理及特点,提出了一种基于局部边缘方向信息的快速帧内模式判决算法,通过结合SAD的模式选择方法来减少模式选择数目。它采用了Sobel梯度算子计算当前块的边缘信息,累加当前块中属于同一方向像素点的边缘矢量构造不同模式下的边缘方向直方图,以便确定最可能的预测模式。该算法有效降低了编码器的运算复杂度,在并未显著降低编码性能的情况下提升了编码器效率。仿真表明:Foreman 图像序列编码性能有了提高,其中PSNR平均降低了0.06dB,Bitrate平均降低了19.4%,这大大提高了视频传输的质量。 另外在帧间预测模式选择算法方面进行了改进研究:按顺序对不同类型进行判决,有选择地去比较可能模式,使得在有效减少需判决的模式数量的同时,结合小块模式搜索中途停止准则来确定最优模式。仿真表明:改进算法相对与原来算法能够节省很多的编码时间(平均下降了49.3%),但带来的图像质星的下降(平均下降0.08dB,可以忽略)和码率较少的增加。 同时在整数DCT变换模块中,提出了一种快速蝶形算法,使得对4×4点数据做一次变换,只需通过8×8次加法和2×8次移位运算便可完成,与原来12×8次加法和4×8次移位相比,新算法大大降低了运算复杂度。 最后介绍FPGA的特点及设计流程,并实现了H.264编解码器中变换编码及量化和熵解码模块的硬件。这种基于FPGA所实现的H.264编码视频处理模块设计具备了成本低,周期短,设计方法灵活等优点,具有广阔的市场应用前景。 仿真表明,通过使用本文提出的帧内/帧间速算法方法可使得H.264编码速度获得显著的提高,使H.264 Baseline编码器能在PC平台上实现实时编码。
上传时间: 2013-07-18
上传用户:zukfu
在当今的广播系统中,绝大部分的视频信号是隔行采样的。采用这种扫描格式,能够大幅度地减少视频的带宽,但也会引起彩色爬行、画面闪烁、边缘模糊及锯齿等现象。这种缺陷经人尺寸屏幕放大后就更加明显。为改善画面的视觉效果,去隔行技术应运而生。同时,视频信号本身的低帧频也会导致行抖动、线爬行以及大面积闪烁等视觉效果上的缺陷。增加扫描频率会把这些视觉缺陷搬移到人眼不敏感的高频区域上去从而产生较好的主观图象质量。而为了适应不同显示终端以及对图像大小变化的要求就必须对原始信号分辨率即每帧行数和每行像素数进行变换。因此去隔行、帧频转换、分辨率变换成为视频格式转换的基本内容。 FPGA 的出现是VLSI技术和EDA技术发展的结果。FPGA器件集成度高、体积小,具有通过用户编程实现专门应用的功能。它允许电路设计者利用基于计算机的开发平台,经过设计输入、仿真、测试和校验,直到达到预期的结果。使用FPGA器件可以大大缩短系统的研制周期,减少资金投入。另外采用FPGA器件可以将原来的电路板级产品集成芯片级产品,从而降低了功耗,提高了可靠性,同时还可以很方便的对设计进行在线修改。 该文在介绍了视频格式转换中的主要算法后,重点对去隔行、帧频转换、分辨率变换的FPGA综合实现方案进行了由简单到复杂的深入研究,分别给出了最简解决方案、基于非线性算法的解决方案和基于运动补偿的解决方案。最简解决方案利用线性算法将去隔行,帧频转换,分辨率变换三项处理同时实现,达到FPGA内部资源和外部RAM耗用量都为最小的要求,是后续复杂方案的基础。其中去隔行采用场合并方式,帧频转换采用帧重复方式,分辨率变换采用均匀插值方式。基于非线性算法的解决方案中加入了对静止区域的判断,静止区域的输出像素值直接选用相应位置的已存输入数据,非静止区域的输出像素值通过对已存输入数据进行非线性运算得出。基于运动补偿的解决方案在对静止区域进行判断和处理的基础上,对欲生成的变频后的场间插值帧进行运动估计,根据运动矢量得出非静止区域的输出像素值。其中为求得输入场间相应时间位置上的插值帧输出数据,该方案采用了自定义的前后向块匹配运动估计方式,通过对三步搜索算法的高效实现,将SAD 值进行比较得出运动矢量。
上传时间: 2013-07-19
上传用户:米卡
随着微电子技术的高速发展,实时图像处理在多媒体、图像通信等领域有着越来越广泛的应用。FPGA就是硬件处理实时图像数据的理想选择,基于FPGA的图像处理专用芯片的研究将成为信息产业的新热点。 本文以FPGA为平台,使用VHDL硬件描述语言设计并实现了中值滤波、顺序滤波、数学形态学、卷积运算和高斯滤波等图像处理算法。在设计过程中,通过改进算法和优化结构,在合理地利用硬件资源的条件下,有效地挖掘出算法内在的并行性,采用流水线结构优化算法,提高了顶层滤波模块的处理速度。在中值滤波器的硬件设计中,本文提出了一种快速中值滤波算法,该算法大大节省了硬件资源,处理速度也很快。在数学形态学算法的硬件实现中,本文提出的最大值滤波和最小值滤波算法大大减少了硬件资源的占用率,适应了流水线设计的要求,提高了图像处理速度。 整个设计及各个模块都在Altera公司的开发环境QuartusⅡ以及第三方仿真软件Modelsim上进行了逻辑综合以及仿真。综合和仿真的结果表明,使用FPGA硬件处理图像数据不仅能够获得很好的处理效果,达到较高的工作频率,处理速度也远远高于软件法处理图像,可满足实时图像处理的要求。 本课题为图像处理专用FPGA芯片的设计做了有益的探索性尝试,对今后完成以FPGA图像处理芯片为核心的实时图像处理系统的设计有着积极的意义。
上传时间: 2013-06-08
上传用户:shuiyuehen1987
随着数字视频广播的发展,观众将会面对越来越多综合或专门频道的选择,欣赏到更高品质,更多服务的节目。而广播业者则要为这些节目的版权购买,制作而承受更高的成本,单纯的广告收入已经不够。要求对用户收取一定的收视费用,而另一方面,调查也显示用户是愿意预付一定费用以获得更好服务的。条件接受系统(Conditional Access system)就是为了商业目的而对某些广播服务实施接入控制,决定一个数字接受设备能否将特定的广播节目展现给最终用户的系统。CA技术要求既能使用户自由选择收看节目又能保护广播业者的利益,确算只有已支付了或即将支付费用的用户才能收看到所选的电视节目。在数字电视领域中,CA系统无疑将成为发展新服务的必需条件。但是在不同的运营商可能会使用不同的CA系统,在不同的CA系统之间进行互操作所必需共同遵守的最基本条件是:通用的加扰算法。每个用户接收设备中应集成相应的解扰模块。在我国国家标准--数字电视条件接收系统GY/Z 175-2001的附录H中有详细的描述。 FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。 首先本文简要介绍CA系统的目的和组成,FPGA的结构和原理,优势。然后介绍了利用FPGA来实现CA系统主要组成部分即加扰的原理和步骤,分析算法,划分逻辑结构,软件仿真,划分硬件模块,硬件性能分析,验证平台构建,硬件实现等。 然后对以上各个部分做详细的阐述。同时为了指导FPGA设计,给出了FPGA的结构和原理与FPGA设计的基本原则、设计的基本技巧、设计的基本流程; 最后给出了该加扰系统的测试与验证方法以及验证和测试结果。
上传时间: 2013-06-22
上传用户:chongchong2016
图像缩放在图像处理领域中,发挥着重要作用。图像的分辨率调整和格式变换,都需要用到图像缩放技术。随着多媒体技术和大规模集成电路的发展,利用硬件实现视频图像无级缩放已成为图像处理研究的一个重要课题。 图像缩放通常由插值算法实现。传统的插值算法由于实现原理的局限性,在缩放时容易引起边缘锯齿或细节模糊现象。针对传统插值算法的这个不足,出现了许多基于边缘改进的算法。但这些算法一般只能完成2k倍数插值,无法真正做到基于边缘的无级缩放。 为了实现基于边缘改进的无级缩放,本文做了如下五个方面的研究工作: 1.系统回顾了图像缩放技术,包括传统图像缩放技术和多边缘检测插值,分析了这些图像缩放技术的优缺点。 2.重点研究了新兴的方向多项式插值算法,该算法能够真正完成基于边缘改进的无级缩放。 3.提出改进的方向多项式插值算法(IOPI算法),该算法针对硬件实现,做了两个方面改进:提出EDV算法,简化边缘方向的确定;提出Cubic6逼近插值算法(A-Cubic6算法),改善平坦区域缩放效果。其中的EDV算法通过加减、比较模块,完成边缘方向的确定。相比原算法中的乘除法、直方图计算,大大简化了硬件实现,降低了硬件实现成本。A-Cubic6算法利用查找表简化了Cubic6点插值算法的实现,而且明显改善了非边缘区域的缩放效果。 4.研究缩放算法与图像质量的评价方法。比较、分析各算法的软件仿真结果,得出结论:本文提出的IOPI算法在平坦区域和边缘区域都具有比其它算法更突出的效果。 5.结合实时视频处理要求,研究了IOPI算法的FPGA实现。已完成最近邻域插值和A-Cubic6算法的FPGA实现,可以在硬件平台上稳定工作。
上传时间: 2013-06-05
上传用户:2728460838
为了克服传统的局部特征匹配算法对噪声和图像灰度非线性变换敏感的不足,提出了基于SIFT(Scale Invariant Feature Transform)描述算子的特征匹配算法。该算法首先
上传时间: 2013-04-24
上传用户:hphh
极值型中值滤波算法在高噪声率下的滤波效果不是很好,主要原因有以下两个:首先,滤波窗口中过多的噪声点会使窗口中的点在排序时产生中值偏移;其次是高噪声率环境下,可能序列中值本身就是是噪声点。对此,本文提出
上传时间: 2013-06-26
上传用户:小小小熊
可编程逻辑器件FPGA(现场可编程门阵列)和CPLD(复杂可编程逻辑器件)越来越多的应用于数字信号处理领域,与传统的ASIC(专用集成电路)和DSP(数字信号处理器)相比,基于FPGA和CPLD实现的数字信号处理系统具有更高的实时性和可嵌入性,能够方便地实现系统的集成与功能扩展。 FFT的硬件结构主要包括蝶形处理器、存储单元、地址生成单元与控制单元。本文提出的算法在蝶形处理器内引入流水线结构,提高了FFT的运算速度。同时,流水线寄存器能够寄存蝶形运算中的公共项,这样在设计蝶形处理器时只用到了一个乘法器和两个加法器,降低了硬件电路的复杂度。 为了进一步提高FFT的运算速度,本文在深入研究各种乘法器算法的基础上,为蝶形处理器设计了一个并行乘法器。在实现该乘法器时,本文采用改进的布斯算法,用以减少部分积的个数。同时,使用华莱士树结构和4-2压缩器对部分积并行相加。 本文以32点复数FFT为例进行设计与逻辑综合。通过设计相应的存储单元,地址生成单元和控制单元完成FFT电路。电路的仿真结果与软件计算结果相符,证明了本文所提出的算法的正确性。 另外,本文还对设计结果提出了进一步的改进方案,在乘法器内加入一级流水线寄存器,使FFT的速度能够提高到当前速度的两倍,这在实时性要求较高的场合具有极高的实用价值。
上传时间: 2013-07-18
上传用户:wpt
本文主要对基于FPGA芯片的椭圆曲线密码算法的实现及优化设计进行了研究。由于点乘运算极大影响了椭圆曲线密码系统的加/解密速度,本文对点乘运算的FPGA设计进行了重点优化。首先比较分析了三种点乘算法,从运算复杂度的角度确定了蒙哥马里算法是最利于FPGA芯片实现的。然后根据蒙哥马里算法,用VerilogHDL语言实现了基于FPGA芯片的椭圆域中的基本运算(模加、模乘、模平方和模逆)。通过三种模乘算法在FPGA上的实现,设计出一种串并混合的乘法器,达到了面积与速度的最佳匹配。 本文利用Modelsim对本课题设计的硬件系统进行了仿真实验,验证了所设计的硬件系统完成了椭圆曲线密码算法在FPGA上的实现。最后使用SynplifyPro进行综合及布局布线,综合报告文件证明了本课题所设计的ECC加密系统达到了优化芯片速度和面积的目的。
上传时间: 2013-04-24
上传用户:thuyenvinh