CN101001375A - 一种图像采集的方法和装置 - Google Patents
一种图像采集的方法和装置 Download PDFInfo
- Publication number
- CN101001375A CN101001375A CNA2007100628400A CN200710062840A CN101001375A CN 101001375 A CN101001375 A CN 101001375A CN A2007100628400 A CNA2007100628400 A CN A2007100628400A CN 200710062840 A CN200710062840 A CN 200710062840A CN 101001375 A CN101001375 A CN 101001375A
- Authority
- CN
- China
- Prior art keywords
- buffer
- pointer
- image data
- acquisition
- view data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000013500 data storage Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 description 6
- 230000003139 buffering effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Landscapes
- Image Input (AREA)
Abstract
本发明公开了一种图像采集的方法和装置,用于解决不能向上层应用模块提供稳定视频流的问题。所述方法包括:缓存帧图像数据于采集缓冲区内;定时器定时向上层应用模块发送数据准备好信号;所述上层应用模块在收到数据准备好信号后,从采集缓冲区中读取帧图像数据。所述装置包括:采集缓冲区,用于存储图像数据;定时器,用于触发向上层应用模块发送数据准备好信号;上层应用模块,用于在定时器的控制下从采集缓冲区中接收图像数据。根据本发明,由于定时器可提供精确稳定的定时触发机制,可使上层应用模块获得稳定帧率的图像数据。另外,通过采用多缓冲区可避免上层应用模块从采集缓冲区读取图像帧和向采集缓冲区写入图像帧所带来的同步阻塞问题。
Description
技术领域
本发明涉及一种信息采集技术,尤其涉及一种图像采集的方法和装置。
背景技术
在信息采集技术中,经常涉及图像的采集和处理操作。在现有的图像采集***中,视频设备的采集驱动模块不断的从环形缓冲区读取数据,并将读取的数据直接提供给上层应用模块,以形成图像数据的视频流。如图1所示,在现有技术中,图像采集装置包括:环形缓冲区,用于存储视频设备提供的图像帧;图像解码、变换模块,用于对环形缓冲区中的图像帧进行解码和尺寸变换等处理,然后直接将处理的图像帧送给上层应用模块;上层应用模块,用于接收图像解码、变换模块处理的图像帧,以便对图像帧进行应用,比如显示图像帧等。
由于视频设备输出视频流的帧率由视频设备本身特性决定,如视频流的帧率受到传输带宽、视频设备自动曝光的影响,因此,不同的传输带宽和视频设备自动曝光的条件会形成不同帧率的视频流,这种变化的视频流的帧率会出现跟上层应用模块要求的帧率不匹配的现象,即,视频设备不能向上层应用模块提供稳定的视频流。当上层应用模块接收到不稳定的视频流时,会进一步导致上层应用模块不能有效的处理视频数据,如显示视频数据时出现不能进行刷新现象,甚至使上层应用模块会误认为视频设备出现错误现象。
发明内容
本发明的目的是提供一种图像采集的方法和装置,可解决视频设备不能向上层应用模块提供稳定视频流的问题。
本发明提供了一种图像采集的方法,包括:
缓存帧图像数据于采集缓冲区内;
定时器定时向上层应用模块发送数据准备好信号;
所述上层应用模块在收到数据准备好信号后,从采集缓冲区中读取帧图像数据。
所述采集缓冲区包括至少两个缓冲单元,每个缓冲单元缓存一帧数据,其中,缓存帧图像数据到写指针对应的缓冲单元中,上层应用模块从采集指针对应的缓冲单元中读取帧图像数据。
所述采集缓冲区包括两个缓冲单元,每个缓冲单元缓存一帧图像数据,其中,缓存帧图像数据到写指针对应的缓冲单元中,上层应用模块从采集指针对应的缓冲单元中读取帧图像数据,采集指针和写指针分别指向不同的缓冲单元,并且,一旦一个缓冲单元被写满后,写指针移向另外一个缓冲单元,同时采集指针则移向刚写满的缓冲单元。
所述缓存帧图像数据于采集缓冲区内具体包括:
将图像数据存储在写指针所指的缓冲单元中;
判断写指针的下一个缓冲单元是否与采集针所指的缓冲单元重合,若是,将采集指针和写指针同时向前移动,否则仅将写指针向前移动。
所述的从采集缓冲区中读取图像数据具体包括:
从采集指针所指的缓冲单元中读取图像数据;
判断采集指针的下一个缓冲单元是否与写指针所指的缓冲单元重合,若是,则不移动采集指针和写指针,否则,仅将采集指针向前移动。
所述的方法还包括:在定时器的控制下,设置数据准备好标志。
所述的设置数据准备好标志具体包括:
当定时器超时时,将数据准备好标志设备为有效状态,并初始化定时器;
在从采集缓冲区中读取采集指针所指的图像数据前,将数据准备好标志设置为无效状态。
所述的方法还包括:
环形缓冲区接收图像数据;从环形缓冲区抽取图像数据,并对抽取的图像数据进行解码和尺寸变换处理,然后将处理的图像数据存储在采集缓冲区中。
本发明还提供了一种图像采集装置,包括:
采集缓冲区,用于存储图像数据;
定时器,用于触发向上层应用模块发送数据准备好信号;
上层应用模块,用于在定时器的控制下从采集缓冲区中接收图像数据。
所述的图像采集装置还包括:
环形缓冲区,用于存储视频设备提供的图像数据;
图像解码、变换模块,用于对环形缓冲区中的图像数据进行解码和尺寸变换处理,并将处理的图像数据存储在采集缓冲区中。
根据本发明,由于定时器可提供精确稳定的定时触发机制,可使上层应用模块获得稳定帧率的图像数据。另外,通过采用多缓冲区可避免上层应用模块从采集缓冲区读取图像帧和向采集缓冲区写入图像帧所带来的同步阻塞问题。
附图说明
图1示出了现有技术的图像采集装置;
图2示出了本发明的图像采集的流程图;
图3示出了本发明的图像采集装置。
具体实施方式
为了便于本领域一般技术人员理解和实现本发明,现结合附图描绘本发明的实施例。
本发明提供了一种图像采集的方法,在图像采集过程中,通过定时器的控制可定时向上层应用模块发送数据准备好信号,使上层应用模块从采集缓冲区读取图像数据。如图2所示,下面参照图2描述本发明的图像采集方法。
步骤1、将定时器时长设置为第一预定值。
第一预定值可根据视频设备属性来设定,如根据视频设备的采集图像速率来确定,或者根据上层应用模块所要求的帧率来确定,上层应用模块所要求的帧率也称为目标帧率(帧/秒),这时所述第一预定值可为目标帧率的倒数。
步骤2、从环形缓冲区抽取原始的图像数据,随后对所述图像数据进行解码和尺寸变换等处理。最后将处理的图像数据存放在采集缓冲区中,以便上层应用模块从采集缓冲区中读取图像数据。
为了从环形缓冲区抽取原始数据,可调用PsCreateSystemThread API(内核态***线程创建函数)函数创建一个线程。利用该线程从环形缓冲区里边抽取原始的图像数据。
步骤3、在定时器的控制下,定时向上层应用模块发送数据准备好信号,以便上层应用模块接收到数据准备好信号后,从采集缓冲区读取图像数据。
当定器超时时,向上层应用模块发送数据准备好信号,以便触发上层应用模块的采集图像数据动作,同时将定时器时长重新设置为第一预定值。这样,当定时器的时长为目标帧率的倒数时,定时器的触发频率即为上层应用模块所要求的帧率时,就会稳定不断地向上层应用模块发送数据准备好信号,从而触发上层应用模块读取采集缓冲区中的图像数据。
在本发明的实施例中,采集缓冲区可采用循环缓冲区,当循环缓冲区包括两个缓冲单元时:A缓冲单元和B缓冲单元,缓冲区的工作过程如下:在定时器时长期间有新数据到达时,将图像数据交替的存储在A缓冲单元和B缓冲单元中;当向A缓冲单元存放数据时,采集指针移动到B缓冲单元,当向B缓冲单元存放数据时,采集指针移动到A缓冲单元,当从采集缓冲区读取图像数据时,可从采集指针所指的缓冲单元中读取图像数据。这样,因上层应用模块总是读取采集指针所指的缓冲单元存储的图像数据,当循环缓冲区接收图像数据的帧率大于上层采集图像数据的帧率时,相当于丢弃了两次读取图像数据之间到达的图像数据;当循环缓冲区接收图像数据的帧率小于上层采集图像数据的帧率时,相当于复制当前采集指针所指的图像数据。另外,采取A、B两个缓冲单元可以避免上层应用模块从采集缓冲区读取图像帧和向采集缓冲区写入图像帧所带来的同步阻塞问题。
当然循环缓冲区也可以为多个缓冲单元(大于两个)。这时,需要为该循环缓冲区设置两个指针:写指针和采集指针。缓冲区的工作过程如下:在定时器时长期间有新数据到达时,将图像数据存储在写指针所指的缓冲单元中,判断写指针的下一个缓冲单元是否与采集针所指的缓冲单元重合,若是,并将采集指针和写指针向前移动一个缓冲单元(相当于丢弃了最先到达的图像数据),否则仅将写指针向前移动一个缓冲单元,当从采集缓冲区中读取图像数据时,从采集指针所指的缓冲单元中读取图像数据,判断采集指针的下一个缓冲单元是否与写指针所指的缓冲单元重合,若是,则采集指针和写指针都不会发生移动,否则仅将采集指针向前移动一个缓冲单元;在定时器时长期间没有新数据到达时,采集缓冲区的写指针和采集指针都不会发生移动,当从采集缓冲区中读取图像数据时,从采集指针所指的缓冲单元中读取图像数据,这时,从采集缓冲区中采集的图像数据与上次采集的图像数据相同。
根据本发明,优选地,每个缓冲单元缓存一帧图像数据。
在定时器的控制下,也可采用图像数据准备好标志来实现图像数据的采集,当该定器超时时,将图像数据准备好标志设置为有效状态,并将定时器时长重新设置为第一预定值,上层应用模块不断地查询图像数据准备好标志,当发现图像数据准备好标志为有效时,首先将图像数据准备好标志设置为无效,然后从采集缓冲区中采集指针所指的缓冲区中读取图像数据。
如图3所示,本发明还提供了一种图像采集装置,包括:环形缓冲区,用于存储视频设备提供的图像帧;图像解码、变换模块,用于对环形缓冲区的图像数据进行解码和尺寸变换等处理,并将处理的图像数据存储在采集缓冲区中;采集缓冲区,用于存储图像解码、变换模块处理的图像数据;定时器,用于触发向上层应用模块发送数据准备好信号;上层应用模块,用于在定时器的控制下从采集缓冲区中接收图像数据。
根据本发明,定时器提供精确稳定的定时触发机制,可使上层应用模块获得稳定帧率的图像数据。另外,通过采用多缓冲单元的采集缓冲区可避免上层应用模块从采集缓冲区读取图像帧和向采集缓冲区写入图像帧所带来的同步阻塞问题。
虽然通过实施例描绘了本发明,但本领域普通技术人员知道,在不脱离本发明的精神和实质的情况下,就可使本发明有许多变形和变化,本发明的范围由所附的权利要求来限定。
Claims (10)
1、一种图像采集的方法,其特征在于,包括:
缓存帧图像数据于采集缓冲区内;
定时器定时向上层应用模块发送数据准备好信号;
所述上层应用模块在收到数据准备好信号后,从采集缓冲区中读取帧图像数据。
2、根据权利要求1所述的方法,其特征在于,所述采集缓冲区包括至少两个缓冲单元,每个缓冲单元缓存一帧数据,其中,缓存帧图像数据到写指针对应的缓冲单元中,上层应用模块从采集指针对应的缓冲单元中读取帧图像数据。
3、根据权利要求1所述的方法,其特征在于,所述采集缓冲区包括两个缓冲单元,每个缓冲单元缓存一帧图像数据,其中,缓存帧图像数据到写指针对应的缓冲单元中,上层应用模块从采集指针对应的缓冲单元中读取帧图像数据,采集指针和写指针分别指向不同的缓冲单元,并且,一旦一个缓冲单元被写满后,写指针移向另外一个缓冲单元,同时采集指针则移向刚写满的缓冲单元。
4、根据权利要求2所述的方法,其特征在于,所述缓存帧图像数据于采集缓冲区内具体包括:
将图像数据存储在写指针所指的缓冲单元中;
判断写指针的下一个缓冲单元是否与采集针所指的缓冲单元重合,若是,将采集指针和写指针同时向前移动,否则仅将写指针向前移动。
5、根据权利要求2所述的方法,其特征在于,所述的从采集缓冲区中读取图像数据具体包括:
从采集指针所指的缓冲单元中读取图像数据;
判断采集指针的下一个缓冲单元是否与写指针所指的缓冲单元重合,若是,则不移动采集指针和写指针,否则,仅将采集指针向前移动。
6、根据权利要求1所述的方法,其特征在于,所述的方法还包括:在定时器的控制下,设置数据准备好标志。
7、根据权利要求6所述的方法,其特征在于,所述的设置数据准备好标志具体包括:
当定时器超时时,将数据准备好标志设备为有效状态,并初始化定时器;
在从采集缓冲区中读取采集指针所指的图像数据前,将数据准备好标志设置为无效状态。
8、根据权利要求1所述的方法,其特征在于,所述的方法还包括:
环形缓冲区接收图像数据;从环形缓冲区抽取图像数据,并对抽取的图像数据进行解码和尺寸变换处理,然后将处理的图像数据存储在采集缓冲区中。
9、一种图像采集装置,其特征在于,包括:
采集缓冲区,用于存储图像数据;
定时器,用于触发向上层应用模块发送数据准备好信号;
上层应用模块,用于在定时器的控制下从采集缓冲区中接收图像数据。
10、根据权利要求9所述的图像采集装置,其特征在于,所述的图像采集装置还包括:
环形缓冲区,用于存储视频设备提供的图像数据;
图像解码、变换模块,用于对环形缓冲区中的图像数据进行解码和尺寸变换处理,并将处理的图像数据存储在采集缓冲区中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100628400A CN101001375A (zh) | 2007-01-18 | 2007-01-18 | 一种图像采集的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007100628400A CN101001375A (zh) | 2007-01-18 | 2007-01-18 | 一种图像采集的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101001375A true CN101001375A (zh) | 2007-07-18 |
Family
ID=38693155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007100628400A Pending CN101001375A (zh) | 2007-01-18 | 2007-01-18 | 一种图像采集的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101001375A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101438681B (zh) * | 2008-12-22 | 2011-03-16 | 中国农业大学 | 一种基于家畜饮水器的畜体图像采集触发方法及*** |
CN102143318A (zh) * | 2011-01-21 | 2011-08-03 | 北京中星微电子有限公司 | 一种视频文件的生成方法及装置 |
CN102244680A (zh) * | 2011-07-04 | 2011-11-16 | 东华大学 | 一种基于体域传感阵列的全景视频码流生成方法 |
CN105491281A (zh) * | 2015-11-24 | 2016-04-13 | 北京天诚盛业科技有限公司 | 提高图像获取速度的方法和装置 |
CN101937559B (zh) * | 2010-08-23 | 2016-08-17 | 无锡中感微电子股份有限公司 | 一种抓图方法和抓图装置 |
CN106293585A (zh) * | 2012-04-17 | 2017-01-04 | 青岛海信移动通信技术股份有限公司 | 一种用于移动终端显示的缓存处理方法及装置 |
CN106934318A (zh) * | 2017-03-13 | 2017-07-07 | 东软集团股份有限公司 | 扫码处理方法、装置及*** |
CN109802989A (zh) * | 2018-11-28 | 2019-05-24 | 华为技术有限公司 | 数据传输方法和装置、服务器和终端 |
-
2007
- 2007-01-18 CN CNA2007100628400A patent/CN101001375A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101438681B (zh) * | 2008-12-22 | 2011-03-16 | 中国农业大学 | 一种基于家畜饮水器的畜体图像采集触发方法及*** |
CN101937559B (zh) * | 2010-08-23 | 2016-08-17 | 无锡中感微电子股份有限公司 | 一种抓图方法和抓图装置 |
CN102143318A (zh) * | 2011-01-21 | 2011-08-03 | 北京中星微电子有限公司 | 一种视频文件的生成方法及装置 |
CN102143318B (zh) * | 2011-01-21 | 2016-08-17 | 广东中星电子有限公司 | 一种视频文件的生成方法及装置 |
CN102244680A (zh) * | 2011-07-04 | 2011-11-16 | 东华大学 | 一种基于体域传感阵列的全景视频码流生成方法 |
CN106293585A (zh) * | 2012-04-17 | 2017-01-04 | 青岛海信移动通信技术股份有限公司 | 一种用于移动终端显示的缓存处理方法及装置 |
CN106293585B (zh) * | 2012-04-17 | 2019-06-28 | 青岛海信移动通信技术股份有限公司 | 一种用于移动终端显示的缓存处理方法及装置 |
CN105491281A (zh) * | 2015-11-24 | 2016-04-13 | 北京天诚盛业科技有限公司 | 提高图像获取速度的方法和装置 |
CN105491281B (zh) * | 2015-11-24 | 2019-01-25 | 深圳眼神智能科技有限公司 | 提高图像获取速度的方法和装置 |
CN106934318A (zh) * | 2017-03-13 | 2017-07-07 | 东软集团股份有限公司 | 扫码处理方法、装置及*** |
CN106934318B (zh) * | 2017-03-13 | 2020-03-06 | 东软集团股份有限公司 | 扫码处理方法、装置及*** |
CN109802989A (zh) * | 2018-11-28 | 2019-05-24 | 华为技术有限公司 | 数据传输方法和装置、服务器和终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101001375A (zh) | 一种图像采集的方法和装置 | |
US11438544B2 (en) | Image transmission device and method including an image data receiver and a processor | |
CN102348115B (zh) | 一种去除视频中冗余图像的方法和装置 | |
CA2403270A1 (en) | Digital video system using networked cameras | |
CN106254940B (zh) | 播放全景内容的方法及装置 | |
CN101345892A (zh) | 一种视频显示方法及其*** | |
EP3490194A1 (en) | Method and device for playing video | |
CN105049768A (zh) | 一种视频记录设备的视频回放方法 | |
CN101583027B (zh) | 一种实时缓存图像数据的方法及移动终端 | |
CN108462825A (zh) | 视频处理方法及装置 | |
US9472167B2 (en) | Video capture through hardware | |
CN105657311A (zh) | 一种视频录制方法及装置 | |
CN103686077A (zh) | 应用于3g无线网络实时音视频数据传输的双缓冲方法 | |
US20030184662A1 (en) | Image capture apparatus | |
CN101697577A (zh) | 视频发送/接收装置和方法 | |
CN106060446A (zh) | 图像选取方法及装置 | |
CN104735448B (zh) | Arinc818发送节点数据采集及控制方法 | |
CN103761194B (zh) | 一种内存管理方法及装置 | |
CN108550103A (zh) | 一种图像处理方法及装置 | |
CN104038831A (zh) | 节目录制装置及方法 | |
CN114390346B (zh) | Rtsp转rtmp协议的媒体资源处理方法及装置 | |
CN105072387A (zh) | 一种可视门铃的录像方法及可视门铃 | |
CN103475871A (zh) | 一种带有准时数据传输功能的高速摄像*** | |
CN112822386B (zh) | 数据的采集方法及*** | |
CN104660968A (zh) | 一种使用多存储卡存储报警信息的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20070718 |