打印

好** 学习了

[复制链接]
3918|30
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
arm_imx|  楼主 | 2007-5-24 12:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


    最近基于ARM/DSP的图像采集得到越来越广泛的应用。除了传统的视频编解码外,一些新兴应用如条码识别、文字识别、生物识别(虹膜、面相)等也得到了空前的关注。这些应用都要求获得稳定、快速、低噪声的图像质量,所以作为应用基础的图像采集与处理技术应该得到更多的关注。

    我们主要从事基于ARM和DSP的图像采集、视频编解码技术的开发工作,做过不是这方面的项目,而且最近经常看到一些网友提问一些基础性的问题,所以今天对图像采集与视频编码方面的基础知识简单总结一下,希望对大家有用,也希望抛砖引玉,欢迎大家讨论和指正。

    组成一套图像与视频应用系统包括两部分:图像成像单元和后端处理单元。首先讨论图像成像单元,除了一些特殊应用外,市场上常见的图像成像部件基本可分为CCD和CMOS两种。

    CCD即电荷耦合器件,使用一种高感光度的半导体材料制成,包括线性和矩阵两种。CCD的特点是灵敏度高,噪声小,色彩饱和度好,但是价格较高。CCD传感器正在得到CMOS传感器的挑战,CMOS(Comple-mentary Metal-Oxicle-Semiconductor,互补金属氧化物半导体集成电路影像传感器)主要是利用硅和锗这两种元素所做成的半导体,其优点是功耗小,宜于批量生产,价格比CCD低很多。但是CMOS传感器对照度要求比较高,当光线较暗时噪声明显加大,成像质量比CCD差。目前手持应用市场的火爆带动了CMOS的需求大大增加,图像质量逐步提供,相信CMOS会得到越来越多的市场空间。

    CCD传感器基本被日本厂家垄断,CMOS生产厂家则有很多,比较知名的有Micron、OmniVision、Hynix、Sharp、Toshiba等。我们使用过多家的产品,感觉不同厂家的CMOS传感器大同小异,结构上一般包括感光阵列、模拟处理、A/D转换、时序电路、寄存器控制电路、图像质量控制等部分。早期的传感器不包括DSP电路,即“sensor only”。现在的传感器都可以说是SOC了,包括DSP电路,可以实现自动增益、自动曝光、自动白平衡等控制。

   CMOS传感器接口信号包括主时钟信号、象素时钟、水平同步/参考、垂直同步和象素数据信号,如下所示:

MCLK ――  后端DSP/ARM提供给传感器的时钟,也可以由晶阵提供
PIXELCLK ―― 传感器输出的象素时钟,所有数据与该时钟同步
HSYNC/HREF ―― 水平参考信号,表示一行数据(包括有效数据和Blank)
VSYNC ―― 垂直同步信号,表示一帧数据(包括有效数据和Blank)
Data[7:0] ―― 8位象素数据,有的传感器是输出10位或者更高精度

    CMOS传感器的输出信号格式一般有几种:Raw RGB(Bayer)、RGB565、YUV422、ITU656。Raw RGB输出原始的RGB数据,通常是每个象素仅输出一个数据,偶数行RG RG RG…,奇数GB GB GB…,需要进行插值才可以得到每个象素点的RGB数据。RGB565是每个象素点输出两个字节,共16bits,由R(5bits)、G(6bits)和B(5bits)组成。因为人眼对绿色更敏感,所以G分量由6bits代表。YUV422也是每个象素点输出两个字节,每行由序列UY VY UY VY…组成,其输出顺序一般可以控制。同样由于人眼对亮度更敏感,所以每个象素输出一个Y值,而色差则是各一个象素输出一个。RGB565和YUV422都是需要时序信号配合的,而ITU565格式本身包含帧头和帧尾,因而可以不需要HSYNC和VSYNC信号的配合。
 
    前面讨论了前端传感器部分,下面讨论一下后端处理单元。随着ARM的普及,越来越多的工程师开始使用ARM作为后端处理单元。常见的ARM如2410、9200、44b0等,没有视频输入接口,需要增加CPLD/FPGA电路控制时序和读入传感器输出的图像数据。另外一类ARM由于具有视频输入接口从而大多简化了电路,直接可以输入CMOS传感器的输出。这一类的ARM处理器包括Freescale mxl/mx21/mx27/mx31、Samsung 2440、Intel PXA270等。我们在为自己的应用选型时,除了考虑处理器的功耗、价格、主频、外频外,还应该考虑处理器的内部处理能力,比如DMA能力、是否有硬件加速能力等因素。通常图像采集后都会用到颜色空间变换、放大缩小等功能,所以如果处理器具有硬件加速能力则可以大大提高运算效率。在这方面Freescale MX21应该是不错的,其预处理和后处理模块通过硬件实现颜色变换和插值变换,大大提高运算速度。如果使用DSP作为后端处理器,那就比较简单了。无论是TI系列还是ADI Blackfin系列,都具备视频输入接口,可以直接输入传感器的输出信号。

    另外一类重要的应用是视频编解码,主要用于安防领域。当前流行的编解码算法是MPEG-4,而H.264也正在迅速的占领市场,传统的M-JPEG则在交通监控领域继续发挥作用。经常看到网友在论坛上讨论基于ARM实现视频编解码算法,结果可能大多是让您失望。我们曾经试图做这个工作,最后是在Freescale MXL处理器上实现QCIF分辨率的准实时MPEG-4编码,而且使用MXL的硬件DCT加速、汇编优化和半象素搜索优化算法。很明显基于传统ARM处理器实现视频编码算法是很有难度的和不太现实的。不过您也别太失望,有一类ARM处理器内部集成编解码CODEC,算法基本不占用CPU时间,所以还是可以用的。这一类主要有Freescale MX21/MX27/MX31、海思Hi3510,好像还有上海杰得。Mx21内嵌Hantro的CODEC,可以做到CIF@30fps,MX27可以做到H.264@D1,海思3510也可以做到H.264的D1编码。相对使用DSP处理视频算法,SOC的优点是开发简单,直接调用编解码API就可以了。随着市场竞争的加剧,相信会出现越来越多的具备视频编解码能力的ARM处理器。

    相对于ARM处理器,目前更多的工程师使用DSP处理器完成编解码算法。适合视频处理的DSP也有很多,比较知名的有TI系列、ADI系列和Philips系列。TI自不必说,大家都很熟悉。Philips(NXP)的Trimedia系列DSP是老牌的视频处理芯片,应用也非常广泛。ADI的Blackfin系列视频处理器则是较新一点的,相对于传统DSP,Blackfin的最大优势在于其MSA体系结构,是DSP与RISC处理器的结合体。这一优点使得Blackfin既可以运行操作系统,又可以高效的运行算法,从而可以实现单芯片视频应用系统。我们知道单芯片系统一般成本会比双处理器系统低,这在对成本控制越来越严格的今天的确比较有诱惑力。

   今天就写到这儿吧,旨在抛砖引玉,多交朋友,欢迎大家讨论和指正。

相关帖子

沙发
电子尘埃| | 2007-5-24 12:12 | 只看该作者

写的字这么多,应该看的人也多,先放把沙发

使用特权

评论回复
板凳
hq_y| | 2007-5-24 12:16 | 只看该作者

板凳~~~~~~~~~

使用特权

评论回复
地板
参天小树| | 2007-5-24 18:41 | 只看该作者

re

支持李博士,很少看到这么好的**了

使用特权

评论回复
5
参天小树| | 2007-5-25 13:15 | 只看该作者

re


顶起来

使用特权

评论回复
6
jxmemail| | 2007-5-25 22:06 | 只看该作者

顶一个

使用特权

评论回复
7
hardfire| | 2007-5-26 13:27 | 只看该作者

好啊

使用特权

评论回复
8
minr1982| | 2007-5-27 13:11 | 只看该作者

顶上一个!

顶上一个!

使用特权

评论回复
9
iamcb| | 2007-5-27 23:34 | 只看该作者

好文好文

我们最近做的使用杰德的Z228!进行mpeg4 编解码

使用特权

评论回复
10
参天小树| | 2007-6-5 10:28 | 只看该作者

re

顶起来哈

使用特权

评论回复
11
w_f_h| | 2007-6-5 12:31 | 只看该作者

想请教一下

想请教一下,能不能用FPGA或CPLD替代DSP进行视频的编解码及图像的处理等。难度如何,速度上谁更有优势

使用特权

评论回复
12
参天小树| | 2007-6-5 17:50 | 只看该作者

RE

当然是DSP速度更快了,毕竟是专业做视频的么~

使用特权

评论回复
13
w_f_h| | 2007-6-6 13:04 | 只看该作者

成本为什么也高呢

成本为什么也高呢,FPGA有些不是也便宜了吗

使用特权

评论回复
14
一朝成名| | 2007-6-6 16:00 | 只看该作者

主要是研发的难度比较高不是东西贵

周期长  风险性高   优点是速度快

不适合小公司选择的方法   所以基本还是都用DSP的

使用特权

评论回复
15
mmd2102| | 2007-6-6 16:45 | 只看该作者

呵呵

DSP+ARM做视频处理,最理想的ARM必须具备一个条件:带PCI口,否则也是玩。

使用特权

评论回复
16
参天小树| | 2007-6-6 18:14 | 只看该作者

re

还是DSP比较合适,当然FPGA也很好,各有优点,DSP开发起来比较容易,FPGA性能更好

使用特权

评论回复
17
参天小树| | 2007-6-7 10:10 | 只看该作者

RE

看到很多朋友参与视频的讨论很高兴,希望大家畅所欲言,共同推进视频的发展

使用特权

评论回复
18
han0511| | 2007-6-7 10:20 | 只看该作者

虽然不太懂视频,但是对于一个初学者来说,能看见这样的好**很高兴,希望楼主多发些这样的帖子

使用特权

评论回复
19
ARM白痴| | 2007-6-7 12:03 | 只看该作者

学习了

学习了

使用特权

评论回复
20
BF00| | 2007-6-8 11:42 | 只看该作者

re

学习一下~~~~~~~~~~`

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

50

主题

181

帖子

0

粉丝