基于DM642的视频解码设备TVP5150驱动程序的设计

基于DM642的视频解码设备TVP5150驱动程序的设计
基于DM642的视频解码设备TVP5150驱动程序的设计

第29卷 第3期2006年9月

电子器件

Ch inese Jo urnal o f El ectro n D evices

Vol.29 No.3Sep.2006

Driver Program Design for Video Decoder TVP5150Based on DM642

XU Zhi -wei ,M A Deng -j i ,L I NG Feng ,Z HU Shan -an ,H E Zheng -jun

(College o f E lectr ica l Eng ineering ,Zhejiang Un iver sity ,H angz hou 310027,Ch ina )

A bstract :Aimed at embedded video surveillance sy stem co nsisted o f high -pow ered video pro cessing chip TM S320DM642and video decode r TVP5150of TI ,this paper intro duces the Class /Mini -Driver M odule of DM642,and designs the device driver prog rams for video capturing.Further mo re ,it provides the so lution of splitting -screen problem w hen DM 642is capturing video.This driver pro gram has been applied to the video surveillance sy stem and testing result indicate s that this prog ram runs stably.Key words :DM642;TVP5150;class /mini -driver m odule ;splitting -screen .EEACC :6140C

基于DM642的视频解码设备TVP5150驱动程序的设计

徐志伟,马登极,林 峰,朱善安,何正军

(浙江大学电气学院,杭州310027)

收稿日期:2005-10-13作者简介:马登极(1981-),男,河北人,工学硕士,主要从事嵌入式底层软件的研究,pony mdj @yaho o.co https://www.360docs.net/doc/0017832958.html, ;

徐志伟(1978-),男,浙江富阳人工学硕士,主要从事嵌入式底层软件的研究。

摘 要:针对T I 推出的高端专用视频处理芯片T M S320D M 642和视频解码芯片T V P5150构建的嵌入式视频监控系统,介

绍了DM 642的类/微型驱动模型,在此基础上设计了视频采集底层设备驱动程序,并对DM 642在图像采集时产生的分屏现象提出了解决办法。本驱动程序已在视频监控系统中得到应用,运行稳定。

关键词:

DM 642;T V P5150;类/微型驱动模型;分屏现象。中图分类号:O432.2;TP391.41文献标识码:B 文章编号:1005-9490(2006)03-0945-06

随着现代化图像处理技术的飞速发展,人们对图像采集系统的实时性和可靠性要求越来越高。嵌入式图像采集处理系统具有体积小、成本低、可靠性高、安装方便等优点,在交通、安防监控等领域都有广泛的应用。TMS320DM 642[1]

是TI (Texas In -strum ents )于2002年推出的一款高端专用视频处理芯片,由于它超强的单核处理性能,在视频领域将有非常广泛的应用,与之相应的外围视频设备也会越来越多。所以,为这些外围设备编写驱动程序已经成为依赖操作系统管理硬件设备的内在要求。

1 DM642系统整体构架和功能简介

如图1所示,DM 642有三个视频VPo rt 口,VP0和VP1与视频解码芯片相连作视频输入,V P2与视频编码芯片连接作视频输出。另外还有存储模

块,电源模块,网络模块等。VP0和V P1各被分成两个8bit 的视频输入接口,连接4片视频解码芯片,实现4路的视频采集功能。

图1 DM 642系统整体架构

2 视频解码芯片的选择和设计

目前被广泛使用的视频解码芯片是TI 推出的

SAA 7115和TVP5150。虽然SAA7115芯片功能强大,支持水平、垂直、场同步信号控制并具有片上1/2缩放功能,但SA A7115的功耗比较大,用一个电源带4片SAA7115比较困难,而且操作也很复杂,在本嵌入式系统的设计中选择了更加适合系统低功耗功能稳定要求的TVP5150芯片。

TVP5150[2]是TI 推出的一款超低功耗的高性能混合信号视频解码芯片,可自动识别NTSC /PA L /SECAM 制式的模拟信号,按照YCbCr4:2:2的格式转化成数字信号,以8位内嵌同步信号的ITU -R BT.656格式输出。具有价格低、体积小、操作简便的特点。

DM642对TVP5150芯片的操作是通过I2C [3]

总线实现的,硬件连接如图2所示。TV P5150和DM642的连接方式采用最简连线的I TU -R BT.656方式,不需要像视频采集芯片SAA7115所要求的水平、垂直、场同步信号线,结构简单

图2 T V P5150与DM 642的硬件连接

3 DM642视频输入端驱动程序设计

DM642为设备驱动开发者提供了一种类/微型驱动模型(class /mini -driver mo del )

[3]

。该模型在

功能上将设备驱动程序分为依赖硬件层和不依赖硬件层两层,两层之间使用通用接口。如图3所示,上层应用程序不直接控制底层微型驱动,而是通过一个叫做类驱动(Class Drive r )的中间层来对微型驱动(M ini Driver )执行操作。这样的模型设计在结构上更加清晰,程序易于移植和扩展,代码复用性高,从而提高程序的开发效率。

类驱动具有承上启下的作用,对上为应用程序提供接口,向下传达指令,通常用于完成多线程I /O 请求的序列化功能和同步功能,同时对设备对象进行管理。微型驱动为类驱动和DSP /BIOS 设备驱

动管理提供标准接口,通过芯片支持库(Chip Sup -

图3 类微型驱动模型结构

狆狅狉狋犔犻犫狉犪狉狔)[4]

控制外设的寄存器、内存和中断资

源对外部设备实现控制。微型驱动程序必须将特定的外部设备有效地表示给类驱动。

3.1 类驱动模型和选择

类驱动模型中提供了三种模块:管道管理模块(PIP )、流输入输出模块(SIO )和通用输入输出模块(GIO )。

3.1.1 PIP 模块和SIO 模块。

PIP 和SIO 两个模块提供应用程序使用的A PI 接口,用于支持DSP 和外设之间的数据交互。这两种模块都需要通过类驱动中相应的适配模块和微型驱动的IOM 连接实现数据交互。PIP 的适配模块称为PIO ,SIO 的适配模块称为DIO 。

PIP 模块提供管理异步I /O 的数据管道。每个管道对象都拥有一块同样大小的缓存,PIP 模块的接口函数就是通过缓存进行数据交互的。PIO 适配模块通过PIP 模块从应用程序中获得缓存,并将获

得的缓存提供给微型驱动使用。当微型驱动使用完缓存时,PIO 模块还可以将缓存交还给应用程序。

SIO 模块为每个DSP /BIOS 线程提供一个独立的I /O 机制,执行点对点(point -to -point )数据交流。它支持动态创建。DIO 模块可以简化SIO 模块和IOM 之间的连接,使得通信和同步变得更简单。3.1.2 G IO 模块

GIO 模块

[5]

的传输模式是基于流输入输出模

式的同步I /O 模式,更适合文件系统I /O 。在编写类驱动时,可以直接调用GIO 的读写API 函数,这些函数的接口已经内置于微型驱动的IOM 中。GIO 模块在提供必要的同步读/写API 函数及其扩展函数的同时,将代码和使用数据缓存的大小尽量简化。如图4所示,应用程序可以调用GIO 的A PI 函数直接与微型驱动的IOM 交换数据,操作简单。

根据以上介绍可以看到,GIO 模块不需要二级接口,操作简单、稳定。所以我们在设计DM642视

946 电 子 器 件 第29卷

图4 通用输入输出模块(GIO )与微型驱动接口

频采集类驱动的时候采用了通用输入输出模块GIO 。

3.2 微型驱动模型

为了最大可能地增加驱动代码的复用性和通用性,DM642视频采集回放的构架在图1类/微型驱动模型的基础上作了如图5所示的改进

:

图5 DM 642视频采集回放微型驱动架构

图3中把微型驱动模型分为两部分:普通微型驱动部分和特殊微型驱动部分

[6]

普通微型驱动部分仍然保留有IOM Mini —Driver 的所有API 接口函数。特殊微型驱动部分是面向外围芯片的,它通过一个叫作EDC (External Device Control )的专用接口提供了对外围芯片的打开、控制、关闭的接口函数:

typedef str uct EDC _F xns {

EDC _Handle (*o pen )(S tring name ,A rg o ptA rg );Int (*close )(P tr dev Handle );

Int (*ctrl )(P tr devH andle ,U ns cmd ,A r g ar g );}EDC _F xns ;

通过这三个函数完成对TVP5150的控制操作,所以,如果编写其它图像芯片(比如视频回放芯片SAA7105[7]

)驱动的时候,对微型驱动部分的驱动不需要作很大改动。这样特殊微型驱动部分与普

通微型驱动部分实现了无缝结合,使用简单。

4 驱动程序设计和实现

根据类/微型驱动程序的模型,驱动程序的设计

可以分为三个层次:类驱动程序,微型驱动程序和芯片驱动程序。

4.1 类驱动程序的设计

基于使用方便和代码封装性的考虑,在GIO 模型的基础上又封装了一层模型:FVID 类驱动模型,如图6所示。

图6 F VID 类驱动封装与GIO 的关系

F VID 对GIO 模型的封装代码如下:

#define F VID _create (name ,mode ,status ,o ptA r gs ,at -tr s )\

GIO _create (name ,mode ,sta tus ,optA rg s ,attr s )

#define F V ID _allo c (gioChan ,bufp )\

GIO _submit (g ioChan ,F V ID _A L LO C ,bufp ,N U L L ,N U L L )

#define F V ID _co nt rol (gioChan ,cmd ,arg s )\

GIO _co ntrol (g ioChan ,cmd ,arg s )

当然,我们可以改变FVID 模型的名字,比如把FVID _creat 改为VIDEO _creat ,这样驱动程序提供给应用程序的接口就比较简单易读。

当调用FVID _create 时,GIO _create 创建一个面向外部设备的通道对象,GIO 在通道对象中增加了状态和I /O 请求状态结构、IOM 数据包(IOM _Packe ts )及一个GIO 数据对象。GIO 创建的通道对象的数据结构如下:

ty pedef struct G IO _O bj {

IOM _F xns *fxns ;U ns mode ;U ns timeout ;IOM _Packet sy ncP acket ;Q U E _Obj freeList ;P tr sy ncO bj ;P tr

mdChan ;

}G IO _O bj ,*G IO _Handle ;

函数表指针(IOM _Fxns *)是应用程序和微型

驱动函数表的接口;创建模式mode 包括:输入(IOM _INPU T )、输出(IOM _OU TPUT )和双向(IOM _NOU T ),这里我们选择输入;IOM Packet 在类驱动和微型驱动间的异步操作时使用;同步对象

947

第3期徐志伟,马登极等:基于DM642的视频解码设备TVP5150驱动程序的设计

地址指向特定通道的同步信号;通道对象地址指向微型驱动创建的通道对象。

4.2 微型驱动程序的设计

微型驱动负责配置DM642的VPort口、创建通道对象、申请并管理内存和控制外部设备。只要微型驱动创建了按照函数接口表(IOM_Fxns)规定的函数,就可以通过GIO类驱动直接调用。这些规定的函数包括:通道绑定函数(md-BindDev)、通道创建/删除函数(mdCreateChan/md-DeleteChan)、I/O请求发送函数(mdSubmitChan)和设备控制函数(mdControlChan)。

函数接口表的结构如下:

typedef str uct IO M_F x ns

{

IO M_T mdBindDev mdBindDev;

IO M_T mdUnBindDev mdU nBindD ev;

IO M_T mdContro lChan mdContro lChan;

IO M_T mdCrea teChan mdCreateChan;

IO M_T mdDeleteChan mdDeleteChan;

IO M_T mdSubmitChan mdSubmitCha n;

}IO M_F xns;

4.2.1 通道绑定函数

DSP/BIOS设备初始化时将调用每个已注册到微型驱动中的绑定函数(mdBindDev(int devid))。绑定函数一般要实现下列功能:根据配置的设备参数和可能存在的全局设备数据初始化外围设备,清理初始化中断服务。

如果微型驱动使用多个外部设备,则DSP/BI-OS为每个外设调用绑定函数。设备参数devid用来区分设备。比如在DM642中,有3个VPo rt口,两个输入口VP0和VP1,一个输出口VP2。通道绑定函数根据三个VPort口在DSP/BIOS注册时设定的不同设备号(devid)绑定设备,完成初始化。4.2.2 通道创建函数

由于DM642每个输入VPort口可以挂载2片TVP5150,所以在DM642与外设之间必须有唯一的通道来交换数据而互不干扰。应用程序通过微型驱动创建一个或多个逻辑通道对象作为应用程序的逻辑通道。通道创建函数(m dCreateChan)根据需要创建通道对象并给通道对象设置初始值。

VPo rt口通道的数据结构如下:

typedef str uct{

Uns status;/*通道打开状态*/

Uns po r tN um;/*0或1V Po r t口*/

Uns chanN um;/*V Po r t的0或1通道*/

IO M_TiomCallback cbFx n;/*回调函数*/

EDC_F xns*edcF xns;/*外围芯片接口*/

IOM_Packet*packetIO M;/*I/0数据包*/

}_V PO RT_ChanObj;

这个结构中尤其要注意的是提供了外围芯片的接口:EDC_Fx ns*edcFx ns;。在m dBindDev函数对VPort口初始化之后,在这里通过edcFxns把外围芯片打开(EDC_open)获得外围芯片的句柄,完成DM642VPort口创建的每个通道与相应外围芯片的绑定。

4.2.3 I/O请求发送函数

微型驱动中的I/O请求发送函数(mdSubmi-tChan)用来处理IOM_Packet包中的命令字段。应用程序调用FV ID接口时,使用命令字段包括: FVID_A LLOC、FV ID_EXCH ANGE和FVID_ FREE,用以对微型驱动发出指令。

为了提高所采集图像数据的存取速度,DM642的内存管理采用ping-pang buffer的机制。不过,微型驱动可以分配2个或2个以上的buffe r,更加灵活。现以如图6所示的三个buffer为例,解释微型驱动内存管理机制

图7 微型驱动内存管理机制

微型驱动根据应用程序提供的一帧图像大小(如352x288)分配三个同样大小的buffer。如从TVP5150得到的数据先填第一个buffer,每个buff-er填满就产生中断,EDM A通道会自动把指针指向下一个buffer填充,这样,三个buffer交替接收数据如图7(a)所示。

当应用程序发出I/O请求函数时,如果命令字为FVID_A LLOC,则微型驱动把当前已经填满的一个buffer分配给应用程序如图6(b)的“1”buffe r,在ChanObj的回调函数里携带有被分配的指针给应用程序,则应用程序就可以对此图像数据作处理后显示出来。再通过FVID_FREE把此buffer释放给微型驱动。以此交替获得“2”buffer、“3”buff-er。而FVID_EXCH ANGE命令字是FVID_AL-LOC和FV ID_FREE两个命令字功能的合成。即先执行FVID_FREE然后执行FVID_ALLOC。

应用程序通过I/O请求发送函数不断地从底

948 电 子 器 件 第29卷

层驱动获得装有新采集数据的内存块,把处理完的内存块释放给底层驱动重新采集数据,上层和底层并行处理互不干扰,大大地提高了图像的采集处理速度。

4.2.4设备控制函数

应用程序通过设备控制函数操作微型驱动,从而间接完成对硬件的控制。本系统中微型驱动程序支持的控制命令字有如下几个:

VP O RT_CM D_ST A RT:打开V Po rt口采集图像

VP O RT_CM D_ST O P:关闭VP or t口

VP O RT_CM D_CO N FIG_P O RT:配置v po r t

VP O RT_CM D_SET_V IN T CB:设置中断

VP O RT_CM D_CNF G_C HA N:配置channel

VP O RT_CM D_EDC_BA SE+:配置T V P5150

需要说明的是命令字“VPO RT_CM D_EDC_ BASE+”,它要加上EDC相关的命令字实施对TVP5150的操作,如命令字:

EDC_CO N FIG/*对外围芯片配置*/

EDC_ST A RT/*外围芯片开始操作*/

EDC_ST OP/*停止外围芯片*/

4.3 TVP5150芯片驱动程序的设计

微型驱动中的特殊微型驱动部分定义了对外围芯片操作的接口EDC_Fxns。在TVP5150的驱动中作了实现:

EDC_F xns T V P5150_F x ns={

T V P5150_o pen,

T V P5150_close,

T V P5150_ct rl

};

分别负责TVP5150芯片的打开、关闭和参数设置。

[如图2所示],DM642通过I2C总线对TVP5150操作,I2C操作函数如下:

void_IIC_w rite(I2C_H andle hI2C,

U int8devA ddre ss,

U int32subA ddress,

U int8*data,

U int16numBy tes

)

按照TVP5150数据手册上的寄存器参数,通过I2C 进行设置就可以实现对图像的采集。

4.4 驱动流程图

根据以上驱动设计,应用程序对驱动的调用流程如图8所示。左面一列为应用程序调用流程,右面为相应的类/微型驱动程序的调用和对硬件实现的功能

图8 驱动程序调用流程图

5 问题和解决办法

由于TVP5150没有水平、垂直、场同步信号控制,当不小心拔掉摄像头或其它原因而使得图像间断再恢复的时候,由于Vpor t口对内嵌IT U-R BT. 656信号的计数器不能及时恢复而对一帧图像的头尾判断失误,使得图像采集显示呈现如图9所示的分屏现象

图9 352*288大小图像的分屏现象

解决的办法是:在图2的硬件电路设计中把TVP5150的中断引脚与DM642中断相连, TVP5150芯片内部有水平、垂直锁定(H/V lock)信号检测状态寄存器,一旦外部图像输入异常,H/V lock寄存器中断位就会触发产生中断信号,DM642检测到中断信号后对VPo rt口复位,分屏的现象就解决了。

949

第3期徐志伟,马登极等:基于DM642的视频解码设备TVP5150驱动程序的设计

6 结束语

本文对DM642的类/微型驱动模型做了介绍并设计了与外围视频采集芯片TVP5150之间的驱动程序。DM642的类/微型驱动模型适用于多种外围芯片,如SAA7105视频回放芯片的驱动程序就可以以此设计。这样大大地提高了驱动的开发效率,使得嵌入式图像监控系统能得到更广泛的推广。

参考文献:

[1] The TM S320DM642Video/Imaging Fixed-Point Digital Signal

Process or Data M anual[S].Literature Num ber:S PRS200B.

Texas Ins tru men ts Incorporated,Ju ly2002.

[2] T VP5150A datash eet[S],Texas Instruments Incorporated,

M arch2004.[3] TM S320C6000DSPInter-Integrated Circuit(I2C)M oduleRef-

erence Guide[S].Literatu re Num ber:S PRU175AOctober

2002.

[4] DS P/BIOS Driver Developer’s Guide[S],Literatu re Nu mber:

SPRU616.TexasInstruments Incorporated,Nov2002.

[5] T M S320C6000Chip Suppo rt Lib rary API Reference Guide

[S].Literature Number:S PRU401E.Texas Instruments In-corporated,Decemb er2003.

[6] T M S320C6000Periph erals Reference Guide[S].Literature

Number:S PRU190D.Texas Ins trum en ts Inco rp orated,Feb-ruary2001.

[7] The TM S320DM642Video Port M ini-Driver[S].Literature

Number:SPRA918A.Texas In struments Incorpo rated,Au-gust2003.

[8] SAA7104E-SAA7105E Digital Video Encoder Datasheet[S],

T exas Instruments Incorporated,M arch2004.

(上接第944页)

4 结束语

纠错编码是提高信息传输可靠性的一种重要手段。本文提出的卷积纠错码与交织编码相结合的纠错方案,除了能有效纠正随机错误外,特别是可以纠正连续32bit的长突发错误,如果需要纠正更长的突发错误,只要再增加交织深度,增加交织单元的个数进行交织与解交织即可,因而具有可扩展的灵活性。方案基于EDA 技术,采用自顶向下的设计方法,减轻了设计工作量,缩短了开发周期。将纠错编码及数据交织设计文件编程下载到Altera公司FLEX10K系列之EPF10K20TC144-3芯片中,形成了纠正随机错误和长突发错误的ASIC器件。该纠错ASIC 器件已成功用于我们研制的某无线数字通信系统中,取得了很满意的实际纠错效果。参考文献:

[1] 王新梅,肖国镇.纠错码—原理与方法[M].西安:西安电子科

技大学出版社,2001.

[2] 张建斌.基于EDA的卷积码编解码器实现[J].信息技术,

2005,(2):16-18.

[3] 潘松,王国栋.VH DL实用教程[M].成都:电子科技大学出版

社,2000.

[4] 褚振勇,翁木云.FPGA设计及应用[M].西安:西安电子科技

大学出版社,2002.

[5] 梁计春,段炼,宋世凌等.一种超长突发错误的纠错编码方法

[J].装甲兵工程学院学报,1999,13(1):60-65.

[6] 宋文妙,范寒柏,鄂秀焕.用FPGA实现交织和解交织技术

[J].电力系统通信,2001年,(3):39-42.

[7] 宋万杰,罗丰,吴顺君.CPLD技术及其应用[M].西安:西安

电子科技大学出版社,1999.

[8] 陈萍.现代通信实验系统的计算机仿真[M].北京:国防工业

出版社,2003.

950 电 子 器 件 第29卷

字符设备驱动程序课程设计报告

中南大学 字符设备驱动程序 课程设计报告 姓名:王学彬 专业班级:信安1002班 学号:0909103108 课程:操作系统安全课程设计 指导老师:张士庚 一、课程设计目的 1.了解Linux字符设备驱动程序的结构; 2.掌握Linux字符设备驱动程序常用结构体和操作函数的使用方法; 3.初步掌握Linux字符设备驱动程序的编写方法及过程; 4.掌握Linux字符设备驱动程序的加载方法及测试方法。 二、课程设计内容 5.设计Windows XP或者Linux操作系统下的设备驱动程序; 6.掌握虚拟字符设备的设计方法和测试方法;

7.编写测试应用程序,测试对该设备的读写等操作。 三、需求分析 3.1驱动程序介绍 驱动程序负责将应用程序如读、写等操作正确无误的传递给相关的硬件,并使硬件能够做出正确反应的代码。驱动程序像一个黑盒子,它隐藏了硬件的工作细节,应用程序只需要通过一组标准化的接口实现对硬件的操作。 3.2 Linux设备驱动程序分类 Linux设备驱动程序在Linux的内核源代码中占有很大的比例,源代码的长度日益增加,主要是驱动程序的增加。虽然Linux内核的不断升级,但驱动程序的结构还是相对稳定。 Linux系统的设备分为字符设备(char device),块设备(block device)和网络设备(network device)三种。字符设备是指在存取时没有缓存的设备,而块设备的读写都有缓存来支持,并且块设备必须能够随机存取(random access)。典型的字符设备包括鼠标,键盘,串行口等。块设备主要包括硬盘软盘设备,CD-ROM等。 网络设备在Linux里做专门的处理。Linux的网络系统主要是基于BSD unix的socket 机制。在系统和驱动程序之间定义有专门的数据结构(sk_buff)进行数据传递。系统有支持对发送数据和接收数据的缓存,提供流量控制机制,提供对多协议的支持。 3.3驱动程序的结构 驱动程序的结构如图3.1所示,应用程序经过系统调用,进入核心层,内核要控制硬件需要通过驱动程序实现,驱动程序相当于内核与硬件之间的“系统调用”。

视频编解码芯片

芯片厂商如何改变视频监控行业() 随着中国安防市场近年来的迅速增长,芯片市场也随之得到了强劲发展。安防行业的需求逐渐明确,芯片厂家开始关注并主动去推广安防这个潜力巨大的市场。安防行业的发展吸引了越来越多的芯片厂商加入,成为继工业自动化、消费电子、电话机等领域之后一个新的利润角逐场。 然而,表象背后,是否会续写电脑行业的悲哀,频频受制于英特尔?“狼来了”的口号是否会在安防行业响起?值得我们欣慰的是,安防行业产品种类繁多,应用情况又各不相同,这也就决定了芯片厂商还没有能力“一手遮天”。 未来,将会有越来越多的芯片厂商将目光投向芯片,致力于提高集成度,引入先进工艺,降低系统成本,改善系统性能以增强市场竞争力。为下游用户带来更多价值,从而推动产业向更深、更广的范围发展。 目前,中国已成为全球最大的安防市场。中国安防产值从十年前两百多亿元增长到目前的两千亿元,安防各类产品、系统、解决方案的应用层出不穷,安防市场出现难得的“百花齐放”的景象。然而,繁华背后却隐藏着些许担忧。核心技术的缺失,阻碍了中国安防技术源动力的蓬勃发展,成为中国安防市场向高端科技领域进军的掣肘。那么,是谁在禁锢着安防技术?谁又在影响和改变着安防呢?毋庸置疑,芯片决定着安防技术的级别。 随着“平安城市”、“北京奥运”等重大项目的带动,中国视频监控市场呈现迅猛发展的态势,以年均的速度傲视整个安防市场。视频监控市场需求的不断增长,除了引起安防监控设备厂商的关注,同样也引起了视频监控核心器件——芯片生产商的广泛关注。作为安防产品的上游核心客户,芯片厂商“跺一跺脚”就会直接影响着安防设备生产商们的生死存亡。、、、等一大批国际半导体企业将目光投向中国安防市场,量身打造一些符合中国安防市场使用的芯片,对推动中国安防市场的蓬勃发展起到了一定积极的作用。另外,像中国台湾和中国大陆的一些芯片商也纷纷拿出“看家本领”,进一步推动了中国安防市场的发展。海思、中星微、升迈、映佳等纷纷涉足视频监控处理芯片领域。 芯片厂商发力视频监控市场 年,恩智浦芯片在中国推广并得到应用之后,年,推出通用数字媒体处理器,正式进军中国数字视频监控领域。年左右,海思作为全球率先推出监控专用芯片的半导体公司,在綷历了三年多的调研和研发之后,进入到大家的视野之中。几乎在同一时间,台湾升迈开始整合,兼容和及多项外围,为数字监控量身打造视频编解码芯片。 基于国内蓬勃发展的监控形势,海思自年在全球推出首款针对安防应用的开始,至今已綷发展到了第三代芯片,已成为国内领先的视频监控解决方案供应商。海思半导体有限公司成立于年月,前身是建于年的华为集成电路设计中心。作为领先的本土芯片提供商,海思的产品线覆盖无线网络、固定网络、数字媒体等领域的芯片及解决方案,并成功应用于全球多个国家和地区。 在中国芯片业发展的历史上,有这样一家公司为历史所铭记,它的名字叫“中星微电子有限公司”。这家承担了国家战略项目——“星光中国芯工程”的企业,致力于数字多媒体芯片的开发、设计和产业化。中星微电子从年开始投入视频监控系统的研发和设计,在网络摄像机专用芯片、终端以及运营级网络视频监控平台等方面持续投入,并取得了一系列的成果。目前,中星微依靠多媒体芯片、视频编解码、智能、网络产品开发的技术积累,提供多媒体处理芯片、高清网络摄像机、硬件视频智能分析终端、视频监控统一媒体平台四大视频监控组件,并在此基础上提供视频监控应用解决方案。 有专家指出,安防用的芯片具有几个显著特点:一是长时间不间断工作,二是多视频的集中管理,三是视频信息的安全和稳定性要求,四是视频的实时传输和存储要求。这些特点

显示和键盘流程图及程序

3.2 部分软件设计 3.2.3显示子程序 动态显示程序框图如图所示。显示程序的要点有两个:一是代码转换。因为直接驱动LED 显示器的是字形码,而人们习惯的是0、1、2、…、F 等字符,因此,必须将待显示的字符转换成字形码。转换用查表的方法进行。二是通过软件实现逐位轮流点亮每个LED 。 为了实现代码转换,首先开辟一个显示缓冲区,将待显示的字符预先存放在缓冲区中。由于有4位LED 显示器,故不妨假设显示缓冲区长度为4个字节。显示缓冲区地址为DIS 0~DIS 3 ,DIS 0单元与最左边一位LED 相对应,DIS 3单元与最右边一位LED 相对应。 程序清单如下: DIS : ORG 0500H MOV A ,#00000011B MOV DPTR ,#7F00H MOVX @DPTR ,A MOV R0,#78H MOV R3,#7FH MOV A ,R3 LD : MOV DPTR ,#7F01H 开 始 结 束 8051初始化 指向下个显示缓冲单元 显示下一位 延时1mS 段选码送入 查段选表 送位选字 动态显示初始化 3位显示完?

有键闭合吗? 确有键闭合吗 闭合键释放吗 返 回 MOVX @DPTR ,A INC DPTR MOV A ,@R0 ADD A ,#0DH MOVC A ,@ DPTR ACALL DLY MOV A ,R3 JNB A ,R0 RR A ,LD1 MOV R3,A INC R0 AJMP LD0 LD1: SJMP LD1 DSEG :DB 3FH ,06H ,5BH ,4FH ,66H ,6DH 7DH ,07H ,7FH ,6FH DLY : MOV R7,#02H DL : MOV R6,#0FFH DL1: DJNZ R6,DL1 DJNZ R7,DL RET 3.2.4键盘子程序 键盘扫描子程序框图如图 图3-4 键盘扫描子程序框图 开 始 两次调用 延时子程序 判断闭合键号 键号 → A 调用延时子程序

高清编解码器测试说明

高清编解码器测试说明 测试时间:10.26-11.6 本次测试联系了NTT、汤姆逊、tandberg和哈雷四家编、解码器厂家。在测试限定期限内,NTT公司送测一台支持MPEG2和H.264 格式高清编码器HVE9100 设备。汤姆逊公司送测一台支持MPEG2和H.264 格式高清解码器RD3000设备。Tandberg 和哈雷公司未参加测试。 本次测试信源是由传输部提供千兆光纤信号,其中包含三路MPEG2高清信源。信源经过千兆交换机将光信号转为电信号送入高清解码器。 汤姆逊高清解码器设备支持MPEG2和H.264两种格式高清信源的解码,操作简便并且解码配置自适应。经过测试,该产品能够满足我方技术要求。

NTT高清编码器设备支持MPEG2和H.264两种格式高清信源的编码。通过测试,该产品基本能够满足我方技术要求,

注:本次测试配合收录系统一并测试,MPEG2格式编码输出的节目经过收录-编辑-转码-VOD播出整个流程测试通过。H.264格式编码输出的节目经过收录-VOD播出失败。

4.7高清编码器技术要求 1)投标人提供的编码器必须符合以下标准: ●视频编码标准符合MPEG4-AVC和 MPEG-2标准 ●音频编码标准符合MPEG-1LayerII, Dolby Digital(AC3) 2.0/Dolby Digital(AC3)5.1, AAC LC或 HE2.0和5.1 2)编码器视频编码格式支持HD MPEG-2 4:2:0 MP@HL,音频支持MPEG-1 LayeⅡ编码,音 频编码模式single/dual/ stereo可选。 3)编码器视频编码格式支持H.264 HP@4.0/4.2(High profile, Level 4.2/4.0), MP@3.0(Main profile, Level 3.0) ,BP(Baseline profile) 。音频支持MPEG-1 Layer Ⅱ编码,音频编码模式single/dual/ stereo可选。 4)单块编码卡可支持两路高/标清信号编码。 5)编码器必须支持SD-SDI、HD-SDI和SD Composite(标清复合)视频信号输入。 6)编码器必须支持数字AES/EBU及SDI嵌入式音频两种方式的音频输入。 7)编码器每路编码节目其输出码率应在2.0M-30Mbps范围可调。 8)编码器可独立对视音频码率分别进行调整。 9)编码器必须支持IP输出,IP输出应支持UDP/RTP协议。 10)编码器必须支持对节目号及其视频音频PID进行调整 11)编码器支持GOP结构(I,IBP,IBBP)的调整,GOP长度可调,支持自适应GOP长度,open GOP和closed GOP可选。 12)音频采样率支持48KHz,音频码率64K至384K可调。 13)编码器应支持对输入视频的预处理,包括滤波、降噪等功能(如需要单独授权,请注明)。 14)编码器应支持SNMP协议,有以太网网管接口,并免费提供设备的SNMP MIB库。*3.14 编 码器输入-输出可灵活联接设置,同一输入内容可同时编码输出多种(多屏)码流(频道): 可变分辨率、帧频、和带宽。 15)投标人须承诺免费提供今后的软件升级服务。 16)接口配置:ASI输出,IP输出,百兆以太网管理口。 17)单机MTBF不低于74000小时。 18)向下兼容标清 19)双电源冗余

网络视频解码器使用手册

网络视频解码器使 用手册 1 2020年4月19日

网络视频解码器 使用手册 尊敬的用户,非常感谢您一直对我公司的产品的关注,假如您在使用过程中按照使用手册无法解决问题时,请致电我公司技术部垂询相关操作方法。本手册的内容将做不定期的更新,恕不另行通知。

目录 1 引言.......................................................................... 错误!未定义书签。 1.1 编写目的 .......................................................... 错误!未定义书签。 1.2 使用范围 .......................................................... 错误!未定义书签。 2 产品介绍 .................................................................. 错误!未定义书签。 2.1 产品简介 .......................................................... 错误!未定义书签。 2.2 产品技术规格 .................................................. 错误!未定义书签。 3 设备说明 .................................................................. 错误!未定义书签。 3.1 运行环境 .......................................................... 错误!未定义书签。 3.2 支持解码设备 .................................................. 错误!未定义书签。 4 产品使用 .................................................................. 错误!未定义书签。 4.1 装箱清单 .......................................................... 错误!未定义书签。 4.2 产品安装注意事项........................................... 错误!未定义书签。 4.3 连接示意图 ...................................................... 错误!未定义书签。 4.4 设置解码器 ...................................................... 错误!未定义书签。 4.4.1搜索解码器............................................... 错误!未定义书签。 4.4.2添加解码器............................................... 错误!未定义书签。 4.4.3解码器参数设置 ....................................... 错误!未定义书签。 4.4.4设备列表设置........................................... 错误!未定义书签。 4.4.5系统参数配置........................................... 错误!未定义书签。 4.4.6轮巡设置 .................................................. 错误!未定义书签。

视频编解码模块说明书

视频编解码模块说明书 一、工作原理: 常见的电视信号制式是PAL和NTSC,另外还有SECAM等。NTSC即正交平衡调幅制。PAL为逐行倒像正交平衡调幅制。PAL电视标准,每秒25帧,电视扫描线为625线,奇场在前,偶场在后,标准的数字化PAL电视标准分辨率为720*576, 24比特的色彩位深,画面的宽高比为4:3, PAL电视标准用于中国、欧洲等国家和地区。NTSC电视标准,每秒29.97帧(简化为30帧),电视扫描线为525线,偶场在前,奇场在后,标准的数字化NTSC电视标准分辨率为720*486, 24比特的色彩位深,画面的宽高比为4:3。NTSC电视标准用于美、日等国家和地区。 NTSC制属于同时制,是美国在1953年12月首先研制成功的,并以美国国家电视系统委员会(National Television System Committee)的缩写命名。这种制式的色度信号调制特点为平衡正交调幅制,即包括了平衡调制和正交调制两种,虽然解决了彩色电视和黑白电视广播相互兼容的问题,但是存在相位容易失真、色彩不太稳定的缺点。NTSC制电视的供电频率为60Hz,场频为每秒60场,帧频为每秒30帧,扫描线为525行,图像信号带宽为6.2MHz。采用NTSC制的国家美国、日本等国家。 PAL制是为了克服NTSC制对相位失真的敏感性,在1962年,由前联邦德国在综合NTSC制的技术成就基础上研制出来的一种改进方案。PAL是英文Phase Alteration Line的缩写,意思是逐行倒相,也属于同时制。它对同时传送的两个色差信号中的一个色差信号采用逐行倒相,另一个色差信号进行正交调制方式。这样,如果在信号传输过程中发生相位失真,则会由于相邻两行信号的相位相反起到互相补尝作用,从而有效地克服了因相位失真而起的色彩变化。因此,PAL制对相位失真不敏感,图像彩色误差较小,与黑白电视的兼容也好,但PAL制的编码器和解码器都比NTSC制的复杂,信号处理也较麻烦,接收机的造价也高。 由于世界各国在开办彩色电视广播时,都要考虑到与黑白电视兼容的问题,因此,采用PAL制的国家较多,如我国、德国、新加坡、澳大利来等。不过,仍须注意一个问题,由于各国采用的黑白电视标准并不相同,即使同样提PAL制,但在某些技术特性上还会有差别。PAL制电视的供电频率为50Hz、场频为每秒50场、帧频为每秒25帧、扫描线为625行、图像信号带宽分别为4.2MHz、5.5MHz、和5.6MHz等。 视频编解码模块所使用的视频解码芯片是TVP5150,它是TI公司生产的一款低功耗视频解码芯片,它可以将NTSC、PAL或SECAM制式的视频信号转换成8位ITU-R BT.656

字符设备驱动程序

Linux字符设备驱动(转载) 来源: ChinaUnix博客日期:2008.01.01 18:52(共有0条评论) 我要评论 Linux字符设备驱动(转载) 这篇文章描述了在Linux 2.4下,如何建立一个虚拟的设备,对初学者来说很有帮助。原文地址:https://www.360docs.net/doc/0017832958.html,/186/2623186.shtml Linux下的设备驱动程序被组织为一组完成不同任务的函数的集合,通过这些函数使得Windows的设备操作犹如文件一般。在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作,如open ()、close ()、read ()、write () 等。 Linux主要将设备分为二类:字符设备和块设备。字符设备是指设备发送和接收数据以字符的形式进行;而块设备则以整个数据缓冲区的形式进行。字符设备的驱动相对比较简单。 下面我们来假设一个非常简单的虚拟字符设备:这个设备中只有一个4个字节的全局变量int global_var,而这个设备的名字叫做"gobalvar"。对"gobalvar"设备的读写等操作即是对其中全局变量global_var的操作。 驱动程序是内核的一部分,因此我们需要给其添加模块初始化函数,该函数用来完成对所控设备的初始化工作,并调用register_chrdev() 函数注册字符设备: static int __init gobalvar_init(void) { if (register_chrdev(MAJOR_NUM, " gobalvar ", &gobalvar_fops)) { //…注册失败 } else

常见的几种高清视频编码格式

高清视频的编码格式有五种,即H.264、MPEG-4、MPEG-2、WMA-HD以及VC-1。事实上,现在网络上流传的高清视频主要以两类文件的方式存在:一类是经过MPEG-2标准压缩,以tp和ts为后缀的视频流文件;一类是经过WMV-HD(Windows Media Video High Definition)标准压缩过的wmv文件,还有少数文件后缀为avi或mpg,其性质与wmv是一样的。真正效果好的高清视频更多地以H.264与VC-1这两种主流的编码格式流传。 H.264编码 H.264编码高清视频 H.264是由国际电信联盟(iTU-T)所制定的新一代的视频压缩格式。H.264 最具价值的部分是更高的数据压缩比,在同等的图像质量,H.264的数据压缩比能比当前DVD系统中使用的 MPEG-2高2~3倍,比MPEG-4高1.5~2倍。正因为如此,经过H.264压缩的视频数据,在网络传输过程中所需要的带宽更少,也更加经济。在 MPEG-2需要6Mbps的传输速率匹配时,H.264只需要1Mbps~2Mbps 的传输速率,目前H.264已经获得DVD Forum与Blu-ray Disc Association采纳,成为新一代HD DVD的标准,不过H.264解码算法更复杂,计算要求比WMA-HD 还要高。 从ATI的Radeon X1000系列显卡、NVIDIA的GeForce 6/7系列显卡开始,它们均加入对H.264硬解码的支持。与MPEG-4一样,经过H.264压缩的视频文件一般也是采用avi 作为其后缀名,同样不容易辨认,只能通过解码器来自己识别。 总的来说,常见的几种高清视频编码格式的特点是能够以更低的码率得到更高的画质,相同效果的MPEG2与H.264影片做比较,后者在容量上仅需前者的一半左右。这也就意味着,H.264不仅能够节省HDTV的存储空间,而且还可以

基于51单片机的PS2键盘的单片机编程

PS2键盘的单片机编程 在单片机系统中,经常使用的键盘都是专用键盘.此类键盘为单独设计制作的,成本高、使用硬件连接线多,且可靠性不高,这一状况在那些要求键盘按键较多的应用系统中更为突出.与此相比,在PC系统中广泛使用PS/2键盘具有价格低、通用可靠,且使用连接线少(仅使用2根信号线)的特点,并可满足多种系统的要求.因此在单片机系统中应用PS/2键盘是一种很好的选择. 文中在介绍PS/2协议和PS/2键盘工作原理与特点的基础上,给出了一个在单片机上实现对PS/2键盘支持的硬件连接与驱动程序设计实现.该设计实现了在单 片机系统中对PS/2标准104键盘按键输入的支持.使用Keil C51开发的驱动程序接口和库函数可以方便地移植到其他单片机或嵌入式系统中.所有程序在 Keil uVision2上编译通过,在单片机AT89C51上测试通过. 1 PS/2协议 目前,PC机广泛采用的PS/2接口为mini-DIN 6pin的连接器,如图1所示. PS/2设备有主从之分,主设备采用Female插座,从设备采用Male插头.现在广泛使用的PS/2键盘鼠标均在从设备方式下工作.PS/2接口的时钟 与数据线都是集电极开路结构,必须外接上拉电阻(一般上拉电阻设置在主设备中).主从设备之间数据通信采用双向同步串行方式传输,时钟信号由从设备产生. 1.1 从设备到主设备的通信 当从设备向主设备发送数据时,首先检查时钟线,以确认时钟线是否为高电平.如果是高电平,从设备就可以开始传输数据;反之,从设备要等待获得总线的控制权,才能开始传输数据.传输的每一帧由11位组成,发送时序及每一位的含义如图2 所示. 每一帧数据中开始位总是为0,数据校验采用奇校验方式,停止位始终为1.从设 备到主设备通信时,从设备总是在时钟线为高时改变数据线状态,主设备在时钟 下降沿读人数据线状态.

LCD TV视频解码器解决方案比较

LCD TV视频解码器解决方案比较 视频解码器(Video Decoder)是LCD TV控制板(Controller Board)上的核心元件之一,并且技术难度较高,必须对视频技术有所掌握较易切入。 除此之外,也有厂商将控制板上其它功能的元件整合在一起,这些元件包括解隔行器(De-interlacer)和缩放控制器(Scalar),成为一颗功能强大的单芯片,例如Pixelworks、Genesis、Trident和Philips,近几年陆续推出SOC 产品。 一般来说,中国台湾地区厂商在视频技术的发展较为缺乏,而且视频解码器包含模拟与数字的混合信号芯片设计技术,电路结构较为复杂,要与其它元件整合并不容易;而台湾地区厂商因为过去在LCD显示器时代耕耘了一段时间,因此对于Scalar的技术掌握度较高,在迈向整合型单芯片的时代,通常以整合De-interlacer为优先,再外挂其余单颗芯片的方式出货。 因此视频解码器的使用在业界仍然非常普遍,而且除了LCD电视以外,视频解码器还可用于Set-top Box、DVD播放机、PVR或DVR等,用途十分广泛。 视频解码器一则是接收经由调谐器(tuner)收到的模拟信号,并经解码和数字化使用于LCD TV;这种视频解码器即如上所述,必须有好的模拟/数字信号转换设计能力。另一种则是接收从tuner和解调器(demodulator)而来的数字信号进行解码。 针对后者进一步说明,电视台发送出模拟信号,经天线接收后,Tuner将中心频率约在200800MHz左右的高频,降为中心频率为36MHz左右的中频;随后经由解调变器将模拟信号转换为数字信号,并进一步降为中心频率为0MHz的基带信号,随后传送给视频解码器加以处理。 再进一步说明,从tuner和demodulator而来的信号为MPEG-2传输串流(transport stream),经过解复用器(demuliplexer)分离成视频、音频、数据、台标、字幕等多种不同的信号,随后经过视频解码器和音频解码器作处理,得到raw data;这些raw data再被中央处理器传送到适合的通信协议层。 上面提到MPEG-2是现在大部分的数字电视传输格式,但现在有愈来愈多芯片朝向同时支持MPEG-4或H.264设计。简单来说,MPEG-1技术主要使用于VCD,MPEG-2使用于DVD和DVB(数字广播)领域,国际标准组织MPEG在1998年则推出了MPEG-4标准,将过去的设计理念大幅转变为物件导向,在应用面上即可以利用有限的频宽,达到最佳的图象传输效果;这对于便携式装置的图象处理最为适用,因此现在受到广泛的使用。不过因为MPEG-4的授权费用过高,因此推行授权较容易的H.264,H.264也就是MPEG-4的Part 10。 下面我们就列举一些较常使用的视频解码芯片。附带一提的是,因为视频解码器是一个高度整合的芯片,并且含有处理器功能,各家厂商有不同的专攻,提供的规格特色差异极大,因此整理出一致性的表格并不容易,倒是产品说明较能突显出特色。

一个简单字符设备驱动实例

如何编写Linux设备驱动程序 Linux是Unix操作系统的一种变种,在Linux下编写驱动程序的原理和思想完全类似于其他的Unix系统,但它dos或window环境下的驱动程序有很大的区别。在Linux环境下设计驱动程序,思想简洁,操作方便,功能也很强大,但是支持函数少,只能依赖kernel中的函数,有些常用的操作要自己来编写,而且调试也不方便。本文是在编写一块多媒体卡编制的驱动程序后的总结,获得了一些经验,愿与Linux fans共享,有不当之处,请予指正。 以下的一些文字主要来源于khg,johnsonm的Write linux device driver,Brennan's Guide to Inline Assembly,The Linux A-Z,还有清华BBS上的有关device driver的一些资料. 这些资料有的已经过时,有的还有一些错误,我依据自己的试验结果进行了修正. 一、Linux device driver 的概念 系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,它完成以下的功能: 1)对设备初始化和释放; 2)把数据从内核传送到硬件和从硬件读取数据; 3)读取应用程序传送给设备文件的数据和回送应用程序请求的数据; 4)检测和处理设备出现的错误。 在Linux操作系统下有两类主要的设备文件类型,一种是字符设备,另一种是块设备。字符设备和块设备的主要区别是:在对字符设备发出读/写请求时,实际的硬件I/O一般就紧接着发生了,块设备则不然,它利用一块系统内存作缓冲区,当用户进程对设备请求能满足用户的要求,就返回请求的数据,如果不能,就调用请求函数来进行实际的I/O操作。块设备是主要针对磁盘等慢速设备设计的,以免耗费过多的CPU时间来等待. 已经提到,用户进程是通过设备文件来与实际的硬件打交道。每个设备文件都都有其文件属性(c/b),表示是字符设备还是块设备。另外每个文件都有两个设备号,第一个是主设备号,标识驱动程序,第二个是从设备号,标识使用同一个设备驱动程序的不同的硬件设备,比如有两个软盘,就可以用从设备号来区分他们。设备文件的主设备号必须与设备驱动程序在登记时申请的主设备号一致,否则用户进程将无法访问到驱动程序. 最后必须提到的是,在用户进程调用驱动程序时,系统进入核心态,这时不再是抢先式调度。也就是说,系统必须在你的驱动程序的子函数返回后才能进行其他的工作。如果你的驱动程序陷入死循环,不幸的是你只有重新启动机器了,然后就是漫长的fsck。 二、实例剖析 我们来写一个最简单的字符设备驱动程序。虽然它什么也不做,但是通过它可以了解Linux的设备驱动程序的工作原理.把下面的C代码输入机器,你就会获得一个真正的设备

USB设备驱动程序设计

USB设备驱动程序设计 引言 USB 总线是1995 年微软、IBM 等公司推出的一种新型通信标准总线, 特点是速度快、价格低、独立供电、支持热插拔等,其版本从早期的1.0、1.1 已经发展到目前的2.0 版本,2.0 版本的最高数据传输速度达到480Mbit/s,能 满足包括视频在内的多种高速外部设备的数据传输要求,由于其众多的优点,USB 总线越来越多的被应用到计算机与外设的接口中,芯片厂家也提供了多种USB 接口芯片供设计者使用,为了开发出功能强大的USB 设备,设计者往往 需要自己开发USB 设备驱动程序,驱动程序开发一直是Windows 开发中较难 的一个方面,但是通过使用专门的驱动程序开发包能减小开发的难度,提高工 作效率,本文使用Compuware Numega 公司的DriverStudio3.2 开发包,开发了基于NXP 公司USB2.0 控制芯片ISP1581 的USB 设备驱动程序。 USB 设备驱动程序的模型 USB 设备驱动程序是一种典型的WDM(Windows Driver Model)驱动程序,其程序模型如图1 所示。用户应用程序工作在Windows 操作系统的用户模式层,它不能直接访问USB 设备,当需要访问时,通过调用操作系统的 API(Application programming interface)函数生成I/O 请求信息包(IRP),IRP 被传输到工作于内核模式层的设备驱动程序,并通过驱动程序完成与UBS 外设通 信。设备驱动程序包括两层:函数驱动程序层和总线驱动程序层,函数驱动程 序一方面通过IRP 及API 函数与应用程序通信,另一方面调用相应的总线驱动 程序,总线驱动程序完成和外设硬件通信。USB 总线驱动程序已经由操作系统 提供,驱动程序开发的重点是函数驱动程序。 USB 设备驱动程序的设计

高清解码器:解决了全数字高清上电视墙的问题

高清解码器:解决了全数字高清上电视墙的问题 在安防行业视频监控领域,基于IP的网络视频监控系统发展势头迅猛,市场越做越大,许多知名传统模拟视频监控厂商,甚至是以前非安防领域如通信行业的厂商也都推出了自己的IP视频监控产品及解决方案。网络视频监控发展到今天,其技术已经成熟,成本也大幅下降,尤其是最近两年高清网络视频监控的出现,被越来越多的用户所接受。 现在市场上有些方案采用基于PC多显示卡实现电视墙功能,但这种解决方案由诸多问题: 1、基本采用的是“软解”的方式来实现,是通过软件来完成复杂的H.264编解码 算法,视频不流畅、清晰度明显下降,达不到全高清的现实效果; 2、可靠性低,很难保证在7x24小时环境下长时间、不间断运行; 3、由于基本采用Windows系统,极易受到病毒攻击; 4、日常维护比较复杂、繁琐; 灵歌网络的嵌入式网络高清解码器HDD1218的出现,彻底解决了全数字高清监控系统上电视墙的困扰。HDD1218是一款针对全数字高清上电视墙而专门研发的产品,适合大中型规模高清网络视频集中监控系统。HDD1218拥有分组轮巡,网络自动监测、多屏输出、多接口同时输出、远程录像回放等功能。具体功能特性如下: ● 嵌入式Linux设计和专用编解码芯片 专用的编解码芯片,保证了低延迟、画面流畅、色彩逼真的显示效果;最高支持2路1080p 15M bps视频流的同时解码 ● 兼容多种型号的网络摄像机 支持包括国外主流品牌Sony, Panasonic, Axis, Arecont, Pelco, CNB等,以及国内一些知名厂商的网络摄像机。 ● 支持多种视频接口同时输出 包括HDMI ,DVI,Component(分量),CVBS,输出格式包括1080p,720p,D1等。 ● Web远程控制 用户无需在PC上安装任何控制软件,通过Web浏览器来完成所有远程控制 ● 支持向上、向下的双向倍频显示 既可以解码1080p的高清网络摄像机在传统的模拟显示器上显示D1画面;也可以解码D1分辨率的网络摄像机在高清显示器上显示1080p效果。

linux字符设备驱动课程设计报告

一、课程设计目的 Linux 系统的开源性使其在嵌入式系统的开发中得到了越来越广泛的应用,但其本身并没有对种类繁多的硬件设备都提供现成的驱动程序,特别是由于工程应用中的灵活性,其驱动程序更是难以统一,这时就需开发一套适合于自己产品的设备驱动。对用户而言,设备驱动程序隐藏了设备的具体细节,对各种不同设备提供了一致的接口,一般来说是把设备映射为一个特殊的设备文件,用户程序可以像对其它文件一样对此设备文件进行操作。 通过这次课程设计可以了解linux的模块机制,懂得如何加载模块和卸载模块,进一步熟悉模块的相关操作。加深对驱动程序定义和设计的了解,了解linux驱动的编写过程,提高自己的动手能力。 二、课程设计内容与要求 字符设备驱动程序 1、设计目的:掌握设备驱动程序的编写、编译和装载、卸载方法,了解设备文件的创建,并知道如何编写测试程序测试自己的驱动程序是否能够正常工作 2、设计要求: 1) 编写一个简单的字符设备驱动程序,该字符设备包括打开、读、写、I\O控制与释放五个基本操作。 2) 编写一个测试程序,测试字符设备驱动程序的正确性。 3) 要求在实验报告中列出Linux内核的版本与内核模块加载过程。 三、系统分析与设计 1、系统分析 系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,它完成以下的功能: 1、对设备初始化和释放; 2、把数据从内核传送到硬件和从硬件读取数据; 3、读取应用程序传送给设备文件的数据和回送应用程序请求的数据; 4、检测和处理设备出现的错误。 字符设备提供给应用程序的是一个流控制接口,主要包括op e n、clo s e(或r ele as e)、r e ad、w r i t e、i o c t l、p o l l和m m a p等。在系统中添加一个字符设备驱动程序,实际上就是给上述操作添加对应的代码。对于字符设备和块设备,L i n u x内核对这些操作进行了统一的抽象,把它们定义在结构体fi le_operations中。 2、系统设计: 2.1、模块设计:

视频播放器功能说明书

Doc Name: 手机流媒体播放器插件项目需求范围 说明:以下只是一个需求范围框架声明,可补充修正. 需求模型呈现: 用户通过手机流媒体播放器插件连接到流媒体服务器,可以在线点播3gp格式的电影,动画等资源. 平台组成 Server端: 标准H.264/AMR 的流媒体服务器 Client端:定制的手机流媒体播放器插件 说明:用户通过专有的WAP浏览器导航选择流媒体播放内容,播放时调用(启动)定制的手机流媒体播放器插件播放,播放完毕返回到WAP浏览器,即:WAP Browser + Player Plugins 形式. 平台架构模型:C/S 架构 通信协议:RTSP, RTP/RTCP协议 流媒体文件格式: 第一阶段:.3GP 第二阶段:.MP4/.AVI/.RM/.WMV/.RMVB/.3GP2 流媒体视频编解码算法: 第一阶段:H.264 (=MPEG-4 Part 10=ISO/IEC 14496-10=MPEG-4 AVC) 流媒体音频编解码算法: 第一阶段:(2.75G) 1) AMR-NB 2) AAC 需要支持的手机平台: 智能手机: Symbian v3/v5,WM 5.x/6.x, Android,OPhone,iPhone, … 第一阶段:Symbian v2/v3/v5,WM 5.x/6.x 接入网定位: 前期支持2G(GRPS),2.75G(EDGE),后期支持3G. 即面向2.5G,2.75G和3G用户. (因为3G,4G属于接入网范围,本质上改进的只是空中接口的传输效率,简单说就是空中接口可以用更大的带宽传输数据,这个和业务网的应用,例如:语音业务,数据业务、手机应用软件没有很本质上的直接关系).

完美解码-教你如何调整视频播放器看1080P

在经理了无数磨难之后,我终于再次鼓起勇气来写kmp对应高清播放的文章。 希望这次写完之后赞的多骂偶的少…… kmp很多时候不同问题需要不同的对待方法,我不可能面面俱到,这里只是粗浅的带着大家入一下门,大家可以根据这些提示以及方法来自己研究合适自己的配置方案,好了,牢骚到此位置,进入正题。 kmplayer对应高清调试教程开始: 预先准备工作: 1.kmplayer 下载地址:https://www.360docs.net/doc/0017832958.html,/html_2/1/124/id=10344&pn=0.html 2.终极解码(这里解释一下为什么需要终极解码,考虑到很多新手用户找不到各种解码器,所以下载一个终极解码作为解码器合集来提供给kmp解码器)【达人绕行这步,请自行下载自己需要的解码器】 下载地址: https://www.360docs.net/doc/0017832958.html,/multimedia/media/detail-10544.html 3.准备电脑一台,操作系统一个,鼠标,键盘各一个,电源接入……(表打我- -) 安装工作: xp下无悬念,一路默认,所有的设置都不用考虑,全默认调整即可,我们会有后续调整。 win7用户,请注意安装终极解码的时候,一定要点击右键,选择使用管理员权限进行安装。这样可以确保解码器都正确的安装到系统(vista同win7)【关掉了UAC的用户可以同xp一样全默认】 ps:这里一定要注意,先装终极解码,再装kmp,两个都要装。 进入调试工作: 再次重申,要看文字,不要光看图,为了坑害只看图不看文字的人,我下了无数陷阱的说…… 1.终极解码调整解码中心。

解码中心按照下图所示调整。 这里解释一下为什么要选择为wmplayer这个播放器,首先wmp是微软自己的播放器,配合htpc以及遥控器看电影比较舒服,其次,这个播放器因为是微软自己出的,所以基本上没有什么报错的问题,这样我们把终极解码的解码方案指定给wmp可以说是让我们平时不用的播放器有所作为。 ps:不管你是xp还是vista win7,请确保你的wmp版本为windows mediaplayer 11.我们需要他内置的解码器以及漂亮的外观。(漂亮的外观比它的解码器重要……嘿嘿) ps2:终极解码的优先级别比kmp要高,如果你将这里指定为kmp,那么等一会不管你kmp做什么设置,都会受到终极解码的影响,从而发生一些诡异的问题……所以一定要记住,这里不能选择kmp,至于你喜欢其他的啥随便选也行。 进入kmp的调试:

字符设备驱动框架

Linux中设备分类: 按照对设备的访问方式可分为以下三类: 1.字符设备(char device) (1)例如:键盘、鼠标、串口、帧缓存等; (2)通过/dev/下的设备节点访问;以字节为单位访问; (3)一般只支持顺序访问;(特例:帧缓存framebuffer) (4)无缓冲。 2.块设备(block device) (1)例如:磁盘、光驱、flash等; (2)以固定大小为单位访问:磁盘以扇区(512B)为单位;flash以页为单位。 (3)支持随机访问; (4)有缓冲(减少磁盘IO,提高效率)。 3.网络设备(network device) (1)无设备文件(节点); (2)应用层通过socket接口访问网络设备(报文发送和接收的媒介)。 设备驱动在内核中的结构: 1.VFS虚拟文件系统作用:向应用层提供一致的文件访问接口,正是由于VFS 的存在,才可以将设备以文件的方式访问。 2.虚拟文件系统,存在于内存中,不在磁盘上,掉电丢失。例如:/proc、/sys、 /tmp。

设备号: 1.作用:唯一地标识一个设备; 2.类型:dev_t devno;即32位无符号整型; 3.组成: (1)主设备号:用于区分不同类型(按功能划分)的设备; (2)此设备号:用于区分相同类型的不同设备。 注意:相同类型的设备(主设备号相同)可以使用同一个驱动。 4.构建设备号: int major = 250; int minor = 0; (1)dev_t devno = (major << 20) | minor;不建议使用; (2)利用宏来构建:dev_t devno = MKDEV (major, minor); 注意:我们可以通过文件$(srctree)/documentation/device.txt来查看内核对设备号的分配情况。 (1)该文本中的有对应设备文件的设备号是已经被申请过的,我们不可以重 复使用(申请); (2)从中可以看出,我们在编写驱动程序时可以使用的主设备号范围为 240~254,为了方便记忆,通常使用250作为主设备号。 字符设备驱动框架: 驱动:作用,为应用层提供访问设备的接口(对设备发的各种操作)。 一、申请设备号 1.构建设备号:dev_t devno = MKDEV (major, minor); 2.申请设备号: (1)动态申请:alloc_chrdev_region; (2)静态申请: register_chrdev_region。

视频编解码芯片

视频编解码芯片

芯片厂商如何改变视频监控行业(1) 随着中国安防市场近年来的迅速增长,芯片市场也随之得到了强劲发展。安防行业的需求逐渐明确,芯片厂家开始关注并主动去推广安防这个潜力巨大的市场。安防行业的发展吸引了越来越多的芯片厂商加入,成为继工业自动化、消费电子、电话机等领域之后一个新的利润角逐场。 然而,表象背后,是否会续写PC电脑行业的悲哀,频频受制于英特尔?“狼来了”的口号是否会在安防行业响起?值得我们欣慰的是,安防行业产品种类繁多,应用情况又各不相同,这也就决定了芯片厂商还没有能力“一手遮天”。 未来,将会有越来越多的芯片厂商将目光投向SoC芯片,致力于提高集成度,引入先进工艺,降低系统成本,改善系统性能以增强市场竞争力。为下游用户带来更多价值,从而推动产业向更深、更广的范围发展。 目前,中国已成为全球最大的安防市场。中国安防产值从十年前两百多亿元增长到目前的两千亿元,安防各类产品、系统、解决方案的应用层出不穷,安防市场出现难得的“百花齐放”

芯片厂商发力视频监控市场 1999年,恩智浦PNX1300芯片在中国推广并得到应用之后,2003年,TI推出通用数字媒体处理器TMS320DM642,正式进军中国数字视频监控领域。2006年左右,海思作为全球率先推出H.264 SoC监控专用芯片的半导体公司,在綷-历了三年多的调研和研发之后,进入到大家的视野之中。几乎在同一时间,台湾升迈开始整合ARMcore,兼容FA526CPU和MPEG4/MJPEGcodec及多项外围IP,为数字监控量身打造视频编解码芯片SoC。 基于国内蓬勃发展的监控形势,海思自2006年在全球推出首款针对安防应用的H.264 SoC 开始,至今已綷-发展到了第三代SoC芯片,已成为国内领先的视频监控解决方案供应商。海思半导体有限公司成立于2004年10月,前身是建于1991年的华为集成电路设计中心。作为领先的本土芯片提供商,海思的产品线覆盖无线网络、固定网络、数字媒体等领域的芯片及解决方案,并成功应用于全球100多个国家和地区。 在中国芯片业发展的历史上,有这样一家公

相关文档
最新文档