虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

帧间差<b>分</b>

  • 基于DSPFPGA的H264AVC实时编码器

    H.264/AVC是ITU-T和ISO联合推出的新标准,采用了近几年视频编码方面的先进技术,以较高编码效率和网络友好性成为新一代国际视频编码标准。 本文以实现D1格式的H.264/AVC实时编码器为目标,作者负责系统架构设计,软硬件划分以及部分模块的硬件算法设计与实现。通过对H.264/AVC编码器中主要模块的算法复杂度的评估,算法特点的分析,同时考虑到编码器系统的可伸缩性,可扩展性,本文采用了DSP+FPGA的系统架构。DSP充当核心处理器,而FPGA作为协处理器,针对编码器中最复杂耗时的模块一运动估计模块,设计相应的硬件加速引擎,以提供编码器所需要的实时性能。 H.264/AVC仍基于以前视频编码标准的运动补偿混合编码方案,其中一个主要的不同在于帧间预测采用了可变块尺寸的运动估计,同时运动向量精度提高到1/4像素。更小和更多形状的块分割模式的采用,以及更加精确的亚像素位置的预测,可以改善运动补偿精度,提高图像质量和编码效率,但同时也大大增加了编码器的复杂度,因此需要设计专门的硬件加速引擎。 本文给出了1/4像素精度的运动估计基于FPGA的硬件算法设计与实现,包括整像素搜索,像素插值,亚像素(1/2,1/4)搜索以及多模式选择(支持全部七种块分割模式)。设计中,将多处理器技术和流水线技术相结合,提供高性能的并行计算能力,同时,采用合理的存储器组织结构以提供高数据吞吐量,满足运算的带宽要求,并使编码器具有较好的可伸缩性。最后,在Modelsim环境下建立测试平台,完成了对整个设计的RTL级的仿真验证,并针对Altera公司的FPGA芯片stratixⅡ系列的EP2S60-4器件进行优化,从而使工作频率最终达到134MHz,分析数据表明该模块能够满足编码器的实时性要求。

    标签: DSPFPGA H264 264 AVC

    上传时间: 2013-07-24

    上传用户:sn2080395

  • 基于FPGA的H264视频编码器设计

    随着多媒体编码技术的发展,视频压缩标准在很多领域都得到了成功应用,如视频会议(H.263)、DVD(MPEG-2)、机顶盒(MPEG-2)等等,而网络带宽的不断提升和高效视频压缩技术的发展使人们逐渐把关注的焦点转移到了宽带网络数字电视(IPTV)、流媒体等基于传输的业务上来。带宽的增加为流式媒体的发展铺平了道路,而高效的视频压缩标准的出台则是流媒体技术发展的关键。H.264/AVC是由国际电信联合会和国际标准化组织共同发展的下一代视频压缩标准之一。新标准中采用了新的视频压缩技术,如多模式帧间预测、1/4像素精度预测、整数DCT变换、变块尺寸运动补偿、基于上下文的二元算术编码(CABAC)、基于上下文的变长编码(CAVLC)等等,这些技术的采用大大提高了视频压缩的效率,更有利于宽带网络数字电视(IPTV)、流媒体等基于传输的业务的实现。 本文主要根据视频会议应用的需要对JM8.6代码进行优化,目标是实现基于Baseline的低复杂度的CIF编码器,并对部分功能模块进行电路设计。在设计方法上采用自顶向下的设计方法,首先对H.264编码器的C代码和算法进行优化,并对优化后的结果进行测试比较,结果显示在图像质量没有明显降低的情况下,H.264编码器编码CIF格式视频每秒达到15帧以上,满足了视频会议应用的实时性要求。然后,以C模型为参考对H.264编码器的部分功能模块电路进行设计。采用Verilog HDL实现了这些模块,并在Quartus Ⅱ中进行了综合、仿真、验证。主要完成了Zig-zag扫描和CAVLC模块的设计,详细说明模块的工作原理和过程,然后进行多组的仿真测试,结果与C模型相应部分的结果一致,证明了设计的正确性。

    标签: FPGA H264 视频编码器

    上传时间: 2013-06-11

    上传用户:kjgkadjg

  • 微电脑型数学演算式隔离传送器

    特点: 精确度0.1%满刻度 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A|/ 16 BIT类比输出功能 输入与输出绝缘耐压2仟伏特/1分钟(input/output/power) 宽范围交直流兩用電源設計 尺寸小,穩定性高

    标签: 微电脑 数学演算 隔离传送器

    上传时间: 2014-12-23

    上传用户:ydd3625

  • 微电脑型数学演算式双输出隔离传送器

    特点(FEATURES) 精确度0.1%满刻度 (Accuracy 0.1%F.S.) 可作各式数学演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A| (Math functioA+B/A-B/AxB/A/B/A&B(Hi&Lo)/|A|/etc.....) 16 BIT 类比输出功能(16 bit DAC isolating analog output function) 输入/输出1/输出2绝缘耐压2仟伏特/1分钟(Dielectric strength 2KVac/1min. (input/output1/output2/power)) 宽范围交直流两用电源设计(Wide input range for auxiliary power) 尺寸小,稳定性高(Dimension small and High stability)

    标签: 微电脑 数学演算 输出 隔离传送器

    上传时间: 2013-11-24

    上传用户:541657925

  • TLC2543 中文资料

    TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明    TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double  sum_final1; double  sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe};  void delay(unsigned char b)   //50us {           unsigned char a;           for(;b>0;b--)                     for(a=22;a>0;a--); }  void display(uchar a,uchar b,uchar c,uchar d) {    P0=duan[a]|0x80;    P2=wei[0];    delay(5);    P2=0xff;    P0=duan[b];    P2=wei[1];    delay(5);   P2=0xff;   P0=duan[c];   P2=wei[2];   delay(5);   P2=0xff;   P0=duan[d];   P2=wei[3];   delay(5);   P2=0xff;   } uint read(uchar port) {   uchar  i,al=0,ah=0;   unsigned long ad;   clock=0;   _cs=0;   port<<=4;   for(i=0;i<4;i++)  {    d_in=port&0x80;    clock=1;    clock=0;    port<<=1;  }   d_in=0;   for(i=0;i<8;i++)  {    clock=1;    clock=0;  }   _cs=1;   delay(5);   _cs=0;   for(i=0;i<4;i++)  {    clock=1;    ah<<=1;    if(d_out)ah|=0x01;    clock=0; }   for(i=0;i<8;i++)  {    clock=1;    al<<=1;    if(d_out) al|=0x01;    clock=0;  }   _cs=1;   ad=(uint)ah;   ad<<=8;   ad|=al;   return(ad); }  void main()  {   uchar j;   sum=0;sum1=0;   sum_final=0;   sum_final1=0;    while(1)  {              for(j=0;j<128;j++)          {             sum1+=read(1);             display(a1,b1,c1,d1);           }            sum=sum1/128;            sum1=0;            sum_final1=(sum/4095)*5;            sum_final=sum_final1*1000;            a1=(int)sum_final/1000;            b1=(int)sum_final%1000/100;            c1=(int)sum_final%1000%100/10;            d1=(int)sum_final%10;            display(a1,b1,c1,d1);           }         } 

    标签: 2543 TLC

    上传时间: 2013-11-19

    上传用户:shen1230

  • AVR单片机数码管秒表显示

    #include<iom16v.h> #include<macros.h> #define uint unsigned int #define uchar unsigned char uint a,b,c,d=0; void delay(c) { for for(a=0;a<c;a++) for(b=0;b<12;b++); }; uchar tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,

    标签: AVR 单片机 数码管

    上传时间: 2013-10-21

    上传用户:13788529953

  • RSA算法 :首先, 找出三个数, p, q, r, 其中 p, q 是两个相异的质数, r 是与 (p-1)(q-1) 互质的数...... p, q, r 这三个数便是 person_key

    RSA算法 :首先, 找出三个数, p, q, r, 其中 p, q 是两个相异的质数, r 是与 (p-1)(q-1) 互质的数...... p, q, r 这三个数便是 person_key,接著, 找出 m, 使得 r^m == 1 mod (p-1)(q-1)..... 这个 m 一定存在, 因为 r 与 (p-1)(q-1) 互质, 用辗转相除法就可以得到了..... 再来, 计算 n = pq....... m, n 这两个数便是 public_key ,编码过程是, 若资料为 a, 将其看成是一个大整数, 假设 a < n.... 如果 a >= n 的话, 就将 a 表成 s 进位 (s

    标签: person_key RSA 算法

    上传时间: 2013-12-14

    上传用户:zhuyibin

  • 数字运算

    数字运算,判断一个数是否接近素数 A Niven number is a number such that the sum of its digits divides itself. For example, 111 is a Niven number because the sum of its digits is 3, which divides 111. We can also specify a number in another base b, and a number in base b is a Niven number if the sum of its digits divides its value. Given b (2 <= b <= 10) and a number in base b, determine whether it is a Niven number or not. Input Each line of input contains the base b, followed by a string of digits representing a positive integer in that base. There are no leading zeroes. The input is terminated by a line consisting of 0 alone. Output For each case, print "yes" on a line if the given number is a Niven number, and "no" otherwise. Sample Input 10 111 2 110 10 123 6 1000 8 2314 0 Sample Output yes yes no yes no

    标签: 数字 运算

    上传时间: 2015-05-21

    上传用户:daguda

  • 源代码用动态规划算法计算序列关系个数 用关系"<"和"="将3个数a

    源代码\用动态规划算法计算序列关系个数 用关系"<"和"="将3个数a,b,c依次序排列时,有13种不同的序列关系: a=b=c,a=b<c,a<b=v,a<b<c,a<c<b a=c<b,b<a=c,b<a<c,b<c<a,b=c<a c<a=b,c<a<b,c<b<a 若要将n个数依序列,设计一个动态规划算法,计算出有多少种不同的序列关系, 要求算法只占用O(n),只耗时O(n*n).

    标签: lt 源代码 动态规划 序列

    上传时间: 2013-12-26

    上传用户:siguazgb

  • The government of a small but important country has decided that the alphabet needs to be streamline

    The government of a small but important country has decided that the alphabet needs to be streamlined and reordered. Uppercase letters will be eliminated. They will issue a royal decree in the form of a String of B and A characters. The first character in the decree specifies whether a must come ( B )Before b in the new alphabet or ( A )After b . The second character determines the relative placement of b and c , etc. So, for example, "BAA" means that a must come Before b , b must come After c , and c must come After d . Any letters beyond these requirements are to be excluded, so if the decree specifies k comparisons then the new alphabet will contain the first k+1 lowercase letters of the current alphabet. Create a class Alphabet that contains the method choices that takes the decree as input and returns the number of possible new alphabets that conform to the decree. If more than 1,000,000,000 are possible, return -1. Definition

    标签: government streamline important alphabet

    上传时间: 2015-06-09

    上传用户:weixiao99