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
·文件列表: mp4live .......\audio_alsa_source.cpp .......\audio_alsa_source.h .......\audio_encoder.cpp .......\audio_encoder.h .......\audio_encoder_base.cpp
上传时间: 2013-07-17
上传用户:13913148949
·播放H.264压缩算法文件(C++源程序)文件列表: PlayDemoSource ..............\AVIFMT.H ..............\CutFile.cpp ..............\CutFile.h ..............\DisplayRect.cpp .........
上传时间: 2013-04-24
上传用户:mopdzz
·H.263+(VC++商业源代码)具体公司名称保密文件列表: H263B .....\H263B .....\.....\Coder.c .....\.....\Config.h .....\.....\Countbit.c .....\.....\Ctables.h .....\.....\Dct.
上传时间: 2013-04-24
上传用户:chenbhdt
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); } }
上传时间: 2013-11-19
上传用户:shen1230
#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,
上传时间: 2013-10-21
上传用户:13788529953
MPEG(Moving Picture Experts Group)和VCEG(Video Coding Experts Group)已经联合开发了一个比早期研发的MPEG 和H.263 性能更好的视频压缩编码标准,这就是被命名为AVC(Advanced Video Coding),也被称为ITU-T H.264 建议和MPEG-4 的第10 部分的标准,简称为H.264/AVC 或H.264。这个国际标准已经与2003 年3 月正式被ITU-T 所通过并在国际上正式颁布。为适应高清视频压缩的需求,2004 年又增加了FRExt 部分;为适应不同码率及质量的需求,2006 年又增加了可伸缩编码 SVC。
上传时间: 2013-11-19
上传用户:dancnc
ARM通讯 H-JTAG 是一款简单易用的的调试代理软件,功能和流行的MULTI-ICE 类似。H-JTAG 包括两个工具软件:H-JTAG SERVER 和H-FLASHER。其中,H-JTAG SERVER 实现调试代理的功能,而H-FLASHER则实现了FLASH 烧写的功能。H-JTAG 的基本结构如下图1-1所示。 H-JTAG支持所有基于ARM7 和ARM9的芯片的调试,并且支持大多数主流的ARM调试软件,如ADS、RVDS、IAR 和KEIL。通过灵活的接口配置,H-JTAG 可以支持WIGGLER,SDT-JTAG 和用户自定义的各种JTAG 调试小板。同时,附带的H-FLASHER 烧写软件还支持常用片内片外FLASH 的烧写。使用H-JTAG,用户能够方便的搭建一个简单易用的ARM 调试开发平台。H-JTAG 的功能和特定总结如下: 1. 支持 RDI 1.5.0 以及 1.5.1; 2. 支持所有ARM7 以及 ARM9 芯片; 3. 支持 THUMB 以及ARM 指令; 4. 支持 LITTLE-ENDIAN 以及 BIG-ENDIAN; 5. 支持 SEMIHOSTING; 6. 支持 WIGGLER, SDT-JTAG和用户自定义JTAG调试板; 7. 支持 WINDOWS 9.X/NT/2000/XP; 8.支持常用FLASH 芯片的编程烧写; 9. 支持LPC2000 和AT91SAM 片内FLASH 的自动下载;
上传时间: 2014-12-01
上传用户:Miyuki
ARM通讯 H-JTAG 是一款简单易用的的调试代理软件,功能和流行的MULTI-ICE 类似。H-JTAG 包括两个工具软件:H-JTAG SERVER 和H-FLASHER。其中,H-JTAG SERVER 实现调试代理的功能,而H-FLASHER则实现了FLASH 烧写的功能。H-JTAG 的基本结构如下图1-1所示。 H-JTAG支持所有基于ARM7 和ARM9的芯片的调试,并且支持大多数主流的ARM调试软件,如ADS、RVDS、IAR 和KEIL。通过灵活的接口配置,H-JTAG 可以支持WIGGLER,SDT-JTAG 和用户自定义的各种JTAG 调试小板。同时,附带的H-FLASHER 烧写软件还支持常用片内片外FLASH 的烧写。使用H-JTAG,用户能够方便的搭建一个简单易用的ARM 调试开发平台。H-JTAG 的功能和特定总结如下: 1. 支持 RDI 1.5.0 以及 1.5.1; 2. 支持所有ARM7 以及 ARM9 芯片; 3. 支持 THUMB 以及ARM 指令; 4. 支持 LITTLE-ENDIAN 以及 BIG-ENDIAN; 5. 支持 SEMIHOSTING; 6. 支持 WIGGLER, SDT-JTAG和用户自定义JTAG调试板; 7. 支持 WINDOWS 9.X/NT/2000/XP; 8.支持常用FLASH 芯片的编程烧写; 9. 支持LPC2000 和AT91SAM 片内FLASH 的自动下载;
上传时间: 2013-11-19
上传用户:水中浮云
bung.cpp bung.dfm bung.h DbgWarn.cpp DbgWarn.dfm DbgWarn.h Debug.cpp Debug.dfm Debug.h Emu.cpp Emu.dfm Emu.h gbc.bpg gbc.bpr gbc.cpp gbc.exe gbc.res gbcemu.bpr gbcemu.cpp gbcemu.dll gbcemu.h gbcemu.lib Gotodialog.cpp Gotodialog.dfm Gotodialog.h MapView.cpp MapView.dfm MapView.h Pal.cpp Pal.dfm Pal.h readme.txt reg.cpp reg.dfm reg.h rom.cpp rom.h Search.cpp Search.dfm Search.h Sound.cpp Sound.h TileView.cpp TileView.dfm TileView.h VALUE.CPP VALUE.DFM VALUE.H
上传时间: 2014-01-04
上传用户:agent