CN114979466A - 拍摄处理方法、装置和无线通信模组 - Google Patents
拍摄处理方法、装置和无线通信模组 Download PDFInfo
- Publication number
- CN114979466A CN114979466A CN202210427182.5A CN202210427182A CN114979466A CN 114979466 A CN114979466 A CN 114979466A CN 202210427182 A CN202210427182 A CN 202210427182A CN 114979466 A CN114979466 A CN 114979466A
- Authority
- CN
- China
- Prior art keywords
- shooting
- module
- image data
- wireless communication
- communication module
- 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.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 58
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 70
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000013075 data extraction Methods 0.000 claims abstract description 15
- 238000010191 image analysis Methods 0.000 claims abstract description 12
- 238000004590 computer program Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 3
- 230000006870 function Effects 0.000 description 36
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/63—Control of cameras or camera modules by using electronic viewfinders
- H04N23/631—Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
- H04N23/632—Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters for displaying or modifying preview images prior to image capturing, e.g. variety of image resolutions or capturing parameters
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07G—REGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
- G07G1/00—Cash registers
- G07G1/0036—Checkout procedures
- G07G1/0045—Checkout procedures with a code reader for reading of an identifying code of the article to be registered, e.g. barcode reader or radio-frequency identity [RFID] reader
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C17/00—Arrangements for transmitting signals characterised by the use of a wireless electrical link
- G08C17/02—Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/66—Remote control of cameras or camera parts, e.g. by remote control devices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Studio Devices (AREA)
Abstract
本申请涉及一种拍摄处理方法、装置和无线通信模组;其中,拍摄处理方法应用于无线通信模组;无线通信模组同时与拍摄模组和主机连接,该方法包括:获取拍摄模组的当前预览图像数据;采用数组形式将当前预览图像数据存储于临时缓存空间;输出数据提取通知;数据提取通知用于通知主机提取当前预览图像数据,并进行图像解析。本申请能够显著提高抓图速度。
Description
技术领域
本申请涉及无线通信技术领域,特别是涉及一种拍摄处理方法、装置和无线通信模组。
背景技术
目前,基于但不仅限于RTOS(Real Time Operating System,实时多任务操作系统)平台的客户产品(例如收款机)需要定制Camera,并利用Camera来实现扫码这一基本功能。对于扫码功能来说,其最重要的一方面是像素,另一方面是拍照抓取图像的速度。然而,目前一些平台的现有驱动功能,从Camera获取图像数据保存到内部缓存中这一过程需要上百或上千毫秒,相当于只能达到秒级的抓图速度,降低了产品功能的稳定性和可用性。即传统扫码功能中,Camera的抓图速度较低,亟待优化。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高抓图速度的拍摄处理方法、装置和无线通信模组。
第一方面,本申请提供了一种拍摄处理方法,方法应用于无线通信模组;无线通信模组同时与拍摄模组和主机连接;方法包括:
获取拍摄模组的当前预览图像数据;
采用数组形式将当前预览图像数据存储于临时缓存空间;
输出数据提取通知;数据提取通知用于通知主机提取当前预览图像数据,并进行图像解析。
在其中一个实施例中,在获取拍摄模组的当前预览图像数据的步骤之前,包括:
接收用户的拍摄指令,并将拍摄指令发送给拍摄模组。
在其中一个实施例中,在将拍摄指令发送给拍摄模组的步骤之后,包括:
创建临时缓存空间,并判断拍摄模组是否处于预览状态;
若判断的结果为是,获取拍摄模组的当前预览图像数据。
在其中一个实施例中,在创建临时缓存空间的步骤之后,还包括:
调用AT引擎中的资源锁对临时缓存空间进行锁定;
在主机提取当前预览图像数据之后,方法还包括:释放资源锁。
在其中一个实施例中,方法还包括步骤:
在AT引擎中通过宏函数创建资源锁。
在其中一个实施例中,方法还包括步骤:
在无线通信模组上电并连接至主机的情况下,配置出针对拍摄模组的虚拟端口;
将虚拟端口绑定至AT引擎,以使虚拟端口用于AT命令的传输。
在其中一个实施例中,AT引擎配置有针对拍摄模组的拍摄线程;方法还包括步骤:
将拍摄线程的优先级调整为最高优先级,关闭无线通信模组的主动上报功能,以使虚拟端口在拍摄模组的运行期间过滤掉除拍摄模组的数据外的数据。
第二方面,本申请还提供了一种拍摄处理装置,装置应用于无线通信模组;无线通信模组同时与拍摄模组和主机连接;装置包括:
图像获取模块,用于获取拍摄模组的当前预览图像数据;
图像缓存模块,用于采用数组形式将当前预览图像数据存储于临时缓存空间;
通知模块,用于输出数据提取通知;数据提取通知用于通知主机提取当前预览图像数据,并进行图像解析。
第三方面,本申请还提供了一种无线通信模组,无线通信模组连接在主机和拍摄模组之间;
无线通信模组用于实现上述任一项的方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项的方法的步骤。
上述拍摄处理方法、装置和无线通信模组,在获取到拍摄模组的当前预览图像数据后,采用数组形式将当前预览图像数据存储于临时缓存空间,并通知主机取出当前预览图像数据进行图像解析;本申请通过数组形式缓存图像数据,形成临时变量,只需要一个线程即可操作完毕,对于驱动层而言,无需等待多个线程均缓存完数据再进行处理,实现单线程处理且即存即取。本申请无需文件操作及数据格式转换操作,使得Camera抓取图像时长优化到毫秒级别,为上层的图像解析处理争取更宽裕的时间,使得以Camera为主要基础功能的物联网产品具备了更高的工作效率及更好的实用性。
附图说明
图1为一个实施例中拍摄处理方法的应用环境图;
图2为一个实施例中拍摄处理方法的流程示意图;
图3为一个实施例中拍摄处理装置的结构框图;
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的实施例。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使本申请的公开内容更加透彻全面。除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。需要说明的是,当一个元件被认为是“连接”另一个元件时,它可以是直接连接到另一个元件,或者通过居中元件连接另一个元件。此外,以下实施例中的“连接”,如果被连接的对象之间具有电信号或数据的传递,则应理解为“电连接”、“通信连接”等。
在此使用时,单数形式的“一”、“一个”和“所述/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应当理解的是,术语“包括/包含”或“具有”等指定所陈述的特征、整体、步骤、操作、组件、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、组件、部分或它们的组合的可能性。同时,在本说明书中使用的术语“和/或”包括相关所列项目的任何及所有组合。
本申请提出基于无线通信模组(例如,4G模组)的AT(Attention)引擎优化Camera的抓图速度,通过优化ATCamera的运行及存储逻辑来实现毫秒级抓图,实现专用于AT通道使用Camera高效抓图的方式。需要说明的是,AT引擎指能够在系统中启动并使用AT命令功能的一种方法,例如,在FreeRTOS中用于AT功能的ATEngine。为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的拍摄处理方法,可以应用于如图1所示的应用环境中。其中,无线通信模组连接在主机102和拍摄模组104之间;该无线通信模组可内置有实时多任务操作系统,例如Free RTOS。同时,该实时多任务操作系统可被配置有AT引擎,该AT引擎可配置有针对拍摄模组的拍摄线程。
在一些示例中,主机102、无线通信模组和拍摄模组104构成终端;进一步的,该终端可以是但不限于各种个人计算机、平板电脑(Tablet Computer),膝上型电脑(LaptopComputer),可穿戴设备(智能手表、智能手环,智能头盔,智能眼镜等),以及其他具备无线接入能力的通信设备,如各种物联网设备,包括智能家居设备(智能电表、智能家电等),智能车辆等。在另一些示例中,本申请实施例中的终端指用于商品零售企业、饭店餐厅、银行柜台等部门处理柜台业务的一种多功能计算机设备,具体可以为收款机。
本申请实施例中的拍摄模组104可以指具有图像采集能力的模组,该模组够实现Camera功能,例如相机。此外,本申请实施例中的无线通信模组,可以指适用于TDD((TimeDivision Duplexing,时分双工)-LTE(long Term Evolution,长期演进)/FDD(Frequency-Division Duplex,频分双工)-LTE/GSM(Global System for Mobile Communications,全球移动通信系统)多种网络制式、多频段的宽带无线终端产品。该无线通信模组可以内置RTOS平台,支持Camera功能。需要说明的是,目前基于RTOS平台的4G模组,被广泛的应用在收款机等产业上。本申请实施例中的无线通信模组不单指4G模组,只是目前对于IOT(Internet of Things,物联网)行业来说,大多数需要Camera的使用的是4G模组。
在一个实施例中,如图2所示,提供了一种拍摄处理方法,以该方法应用于图1中的无线通信模组为例进行说明,包括以下步骤:
步骤202,获取拍摄模组的当前预览图像数据。
具体地,无线通信模组可以获取拍摄模组的当前预览图像数据。其中,当前预览图像数据指的是根据底层Sensor信息获取到的原始图像数据,即本申请“预览”的是图像传感器捕捉的最原始数据,进而无需处理、转存等操作时间。在一些示例中,当前预览图像数据可以为原始YUV格式图像数据流。
在其中一个实施例中,在获取拍摄模组的当前预览图像数据的步骤之前,包括:
接收用户的拍摄指令,并将拍摄指令发送给拍摄模组。
具体而言,本申请提出响应于针对拍摄模组的拍摄指令,获取拍摄模组的当前预览图像数据。
其中,拍摄指令可以指用户发送的拍照指令,该拍摄指令作用于拍摄模组(Camera),指示拍摄模组进行拍摄。以收款机为例,无线通信模组接收用户交互时输出的拍摄指令,进而发送给拍摄模组,此过程可以表征收款机需要抓取图像(例如,二维码等图像)。在一些示例中,可以将拍摄模组(Camera)理解为驱动层,即拍摄模组(Camera)本身的操作(比如开启相机,抓图,关闭相机,图像数据处理)属于驱动层。进一步的,相对于拍摄模组(Camera),AT引擎属于应用层,AT引擎可以调用Camera的操作函数,即可以将AT引擎理解为应用层,通过AT引擎,可以发送AT命令去开启相机、抓取图像以及关闭相机等。需要说明的是,其他的上层获取图像或者算法处理图像等操作,可均与AT引擎无关。
在其中一个实施例中,在将拍摄指令发送给拍摄模组的步骤之后,包括:
创建临时缓存空间,并判断拍摄模组是否处于预览状态;
若判断的结果为是,获取拍摄模组的当前预览图像数据。
具体而言,在将拍摄指令发送给拍摄模组后,无线通信模组可以创建临时缓存空间,并确认拍摄模组当前是否处于预览状态,进而获取当前预览图像数据。
在其中一个实施例中,当前预览图像数据包括当前处于预览状态的拍摄模组经捕捉得到的预设帧数的原始图像数据;
获取拍摄模组的当前预览图像数据的步骤,可以包括:
获取底层传感信息,若根据底层传感信息确定拍摄模组当前处于预览状态,采用Capture函数得到预设帧数的原始图像数据。
具体而言,本申请可以通过底层传感信息来获取当前预览图像数据。该底层传感信息可以指底层Sensor信息,本申请基于底层Sensor信息判断Camera是否在预览状态,若Camera当前处在预览状态,则可以通过Capture函数抓取得到预设帧数的原始图像数据。在一些实施例中,预设帧数包括一帧,即本申请能够抓取一帧后直接输出原始图像数据,该原始图像数据可以指原始Sensor数据。
步骤204,采用数组形式将当前预览图像数据存储于临时缓存空间;
具体而言,本申请提出创建临时缓存空间,以采用数组形式来缓存当前预览图像数据。临时缓存空间可以指数组Buffer;在一些示例中,该数组形式可以为自定义的数据缓存Buffer,例如临时缓存Buffer。基于本申请,在拍摄指令发送后,无需进行目标文件路径及存储空间的判断,而是直接采用数组形式存储当前预览图像数据。
采用Free RTOS系统的AT引擎,以当前预览图像数据为原始Sensor数据为例,本申请通过数组Buffer缓存的原始Sensor数据,只是一个临时变量,只需要一个线程即可操作完毕。针对驱动层来说,不需要等待多个线程均缓存完数据再进行处理,本申请能够实现单线程处理且即存即取,针对于系统层面(例如,相较于Linux系统),Free RTOS系统的处理速度更为迅速。
需要说明的是,不同于传统方案中的管道等概念,本申请中的缓存Buffer可以指基于底层数组的一种局部变量,以当前预览图像数据为原始YUV格式图像数据流为例,Sensor传来的原始YUV格式图像数据流可以直接存储在这个数组中,驱动层获取并存储数据的时间仅为30ms左右(其他的上层获取图像或者算法处理图像等操作均与此无关)。
进一步的,临时缓存空间的缓存大小为在实时多任务操作系统的AT引擎中配置得到,即本申请中临时缓存空间的储存能力可以由用户基于AT引擎配置。在其中一个实施例中,临时缓存空间的缓存大小大于当前预览图像数据的大小;当前预览图像数据包括当前处于预览状态的拍摄模组经捕捉得到的预设帧数的原始图像数据;
基于本申请,在拍摄指令发出后,不再进行目标文件路径及存储空间的判断,本申请提出直接创建临时缓存Buffer(数组形式),进而通过获取底层Sensor信息判断Camera是否在预览状态,并可以将预览到的预设帧数(例如,一帧)的原始图像数据通过Capture函数抓取到之前创建的缓存Buffer中。而临时缓存空间的缓存大小大于当前预览图像数据的大小,能够避免溢出(Overflow)风险。
不同于Linux系统中的管道(Linux系统存在管道写满导致程序崩溃的风险,且需消耗进程资源),本申请所提出的数组Buffer的缓存方式,数据(例如,每张图片)来时会自动覆盖上一次的数据,且数组Buffer大小可自定义大于图片大小,不存在溢出风险,且不需要单独的几个进程去进行缓存,只需要系统主进程分出来一个线程(例如,针对拍摄模组的拍摄线程)来处理,极大节省系统资源,本申请无需任何额外的硬件资源消耗。
在其中一个实施例中,采用数组形式将当前预览图像数据存储于临时缓存空间的步骤,包括:
响应于直接存储器访问DMA中断,将当前预览图像数据采用数组形式存储至临时缓存空间中;其中,直接存储器访问DMA的传输次数为在AT引擎中对DMA结构体成员变量进行配置得到。
具体而言,基于本申请,在AT引擎中细化增加Camera的接收Buffer(即临时缓存空间)的大小,以及一次DMA(Direct Memory Access,直接存储器访问)中断处理Camera数据的大小,降低溢出(Overflow)频率。其中,通过AT引擎,抓取图像时每一帧图像数据的到来,都可以产生一个DMA中断,当系统检测到这次中断时,可以通过DMA的方式获取数据并直接将数据存储到一个Buffer中。
此外,本申请可以配置DMA中断处理Camera数据的大小。其中,在DMA的结构体中,通过一个成员变量可以去设置DMA_BufferSize(DMA的传输次数),设置之后可以以参数的形式在DMA初始化的时候传入并设置成功。
在其中一个实施例中,在创建临时缓存空间的步骤之后,还包括步骤:
调用AT引擎中的资源锁对临时缓存空间进行锁定;
在主机提取当前预览图像数据之后,方法还包括:释放资源锁。
具体而言,发送拍摄指令后,不再进行目标文件路径及存储空间的判断,本申请直接创建临时缓存Buffer(数组形式),并在创建数组形式后上锁(即调用AT引擎中的资源锁进行锁定),进而通过获取底层Sensor信息判断Camera是否在预览状态。在将预览到的一帧原始图像数据通过Capture功能函数抓取到之前创建的缓存Buffer中,并通知上层取数据后,释放资源锁,能够保证在当前资源环境中Camera的数据操作不会被打断。
在其中一个实施例中,方法还包括步骤:
在AT引擎中通过宏函数创建资源锁。
具体而言,本申请在AT引擎中创建专用于Camera的资源锁,以保证在当前资源环境中Camera的数据操作不会被打断。在一些示例中,可以通过xSemaphoreCreateMutex函数(即宏函数)创建资源锁,然后在预先通过xTaskCreate创建的Camera相关的任务的回调函数中去使用即可。进一步的,该资源锁的类型可以为互斥锁。
以上,本申请去除耦合在抓图流程中的文件操作,直接使用自定义的数据缓存Buffer来接收Camera传送来的图像数据。不同于独立设置功能模块去实现图像的缓存,本申请仅需要一个临时的Buffer变量即可,操作成本更低,同时也无需TFcard,本申请使用的是计算机虚拟内存,实际成本也很低。
步骤206,输出数据提取通知;数据提取通知用于通知主机提取当前预览图像数据,并进行图像解析。
具体而言,在采用数组形式将当前预览图像数据存储于临时缓存空间后,可以通知主机取出当前预览图像数据进行图像解析。在一些示例中,输出数据提取通知的动作可以采用更改状态标记的方式实现,该状态标记可以指全局Flag。
以将预览到的一帧原始图像数据通过Capture功能函数抓取到预先创建的缓存Buffer(数组形式)中为例,在缓存Buffer完成存储后,可以指定更改一个全局Flag通知上层取数据,释放资源锁。应用层通过判断指定Flag取走缓存Buffer中的原始图像数据,进而可进行其下一步的算法解析等操作。本申请为上层提供了获取图像数据的接口。
需要说明的是,本申请仅需要提供获取图像数据的接口即可,可并不涉及图像解析等。该图像解析可以指算法解析,即对图像数据的解析,比如收款机抓取的图像可能是二维码条形码之类的,而制作收款机的终端厂商可以给无线通信模组厂商导入解析二维码等图像的算法(例如二维码库,条形码库等,这些算法和数据库均由下游厂商去制作,本申请只需要提供获取图像数据的接口即可)。而上层在获取到存在Buffer中的原始的图像数据后,就可以调用该算法解析图像。
在一个实施例中,方法还包括步骤:
采用创建任务函数在AT引擎中创建拍摄线程。
具体而言,本申请AT引擎中配置有针对拍摄模组的拍摄线程(Camera线程)。基于本申请,不需要单独的几个进程去进行缓存,只需要系统主进程分出来一个线程(Camera线程)来处理。在一些示例中,可以采用创建任务函数在AT引擎中创建拍摄线程,例如,利用xTaskCreate函数动态创建线程。
进一步的,拍摄线程的事件数量可以指线程处理/接收事件数;其中,在利用xTaskCreate函数动态创建线程时,可以通过设置其参数中的usStackDepth,调整线程的栈空间,而增加线程处理/接收事件数可在动态创建线程后,在线程的回调函数中去进行事件的处理,其中,可以手动编写具体处理哪些事件以及一共处理多少个事件,进而增加事件数量。
进一步的,本申请提出根据当前预览图像数据的大小和实时多任务操作系统的资源配比,分别调整对拍摄线程的事件数量和拍摄线程的栈空间,进而,本申请在Free RTOS系统下,通过AT引擎的方式优化Camera的系统资源配比,可以防止事件数过多导致的图像某些帧的丢失,以及栈空间过大导致的资源过剩。
在其中一个实施例中,方法还包括步骤:
在无线通信模组上电并连接至主机的情况下,配置出针对拍摄模组的虚拟端口;
将虚拟端口绑定至AT引擎,以使虚拟端口用于AT命令的传输。
具体而言,本申请配置有用于针对拍摄模组的用于AT命令传输的虚拟端口;该虚拟端口可以指USB(Universal Serial Bus,通用串行总线)虚拟端口,该端口的数量可以为一个。本申请在AT引擎中指定一个USB虚拟端口专门服务于抓图时的Camera,进而能够高效传输图像数据,降低抓取一帧图像的过程中因其他进程而触发软中断的次数。
以无线通信模组正常上电为例,无线通信模组模块正常上电后,可以模拟出4个USB端口,本申请将其中一个端口与AT引擎绑定(该绑定的操作可以直接在AT引擎自带的参数去传入并设定)。绑定后,该端口可专门用于收发AT。本申请提出可以在AT引擎中进行软中断的过滤,如果AT引擎发现串口传来的数据不是Camera相关的,进而就过滤掉,不触发软中断。
进一步的,以虚拟端口为USB端口为例,无线通信模组插到主机上时,可以枚举出来几个端口,其中一个用于AT收发。进而在这个收发AT的USB端口里,当运行Camera时,过滤掉除Camera之外的所有信息,可以减少当前端口中别的数据到来导致的软中断,进而增强Camera数据的处理效率,即缩短Camera抓图时长。
在其中一个实施例中,AT引擎配置有针对拍摄模组的拍摄线程;方法还包括步骤:
将拍摄线程的优先级调整为最高优先级,关闭无线通信模组的主动上报功能,以使虚拟端口在拍摄模组的运行期间过滤掉除拍摄模组的数据外的数据。
具体的,本申请中Camera功能是在AT引擎里创建的一个线程(即拍摄线程)里执行,进而把这个线程的优先级调到最高,然后关闭无线通信模组的所有主动上报,从而实现过滤功能。
以上,本申请是基于无线通信模组的AT引擎,通过省去文件操作及数据格式转换操作,使得Camera抓取图像时长从最初的几百毫秒,优化到目前的40毫秒以内,为上层的图像处理争取更宽裕的时间,使得以Camera为主要基础功能的物联网产品具备了更高的工作效率及更好的实用性。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的拍摄处理方法的拍摄处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个拍摄处理装置实施例中的具体限定可以参见上文中对于拍摄处理方法的限定,在此不再赘述。
在一个实施例中,如图3所示,提供了一种拍摄处理装置,装置应用于无线通信模组;无线通信模组同时与拍摄模组和主机连接;装置包括:
图像获取模块310,用于获取拍摄模组的当前预览图像数据;
图像缓存模块320,用于采用数组形式将当前预览图像数据存储于临时缓存空间;
通知模块330,用于输出数据提取通知;数据提取通知用于通知主机提取当前预览图像数据,并进行图像解析。
在其中一个实施例中,图像获取模块310包括:
缓存空间创建模块,用于创建临时缓存空间;
图像捕捉模块,用于判断拍摄模组是否处于预览状态;若判断的结果为是,获取拍摄模组的当前预览图像数据。
在其中一个实施例中,临时缓存空间的缓存大小大于当前预览图像数据的大小;当前预览图像数据包括当前处于预览状态的拍摄模组经捕捉得到的预设帧数的原始图像数据;图像捕捉模块,用于获取底层传感信息,若根据底层传感信息确定拍摄模组当前处于预览状态,采用Capture函数得到预设帧数的原始图像数据。
在其中一个实施例中,预设帧数包括一帧;临时缓存空间的缓存大小包括数组形式的长度;缓存创建模块还用于根据一帧的原始图像数据的大小,在AT引擎中通过数组指针改写数组形式的长度。
在其中一个实施例中,图像缓存模块320,用于响应于直接存储器访问DMA中断,采用数组形式将当前预览图像数据存储至临时缓存空间中;其中,直接存储器访问DMA的传输次数为在AT引擎中对DMA结构体成员变量进行配置得到。
在其中一个实施例中,还包括:
锁定模块,用于调用AT引擎中的资源锁对临时缓存空间进行锁定;
解锁模块,用于在主机提取当前预览图像数据之后,方法还包括:释放资源锁。
在其中一个实施例中,还包括:
资源锁创建模块,用于在AT引擎中通过宏函数创建资源锁。
在其中一个实施例中,装置还包括:
端口配置模块,用于在无线通信模组上电并连接至主机的情况下,配置出针对拍摄模组的虚拟端口;
端口绑定模块,用于将虚拟端口绑定至AT引擎,以使虚拟端口用于AT命令的传输。
在其中一个实施例中,AT引擎配置有针对拍摄模组的拍摄线程;装置还包括:
端口过滤模块,用于将拍摄线程的优先级调整为最高优先级,关闭无线通信模组的主动上报功能,以使虚拟端口在拍摄模组的运行期间过滤掉除拍摄模组的数据外的数据。
在其中一个实施例中,装置还包括:
线程创建模块,用于采用创建任务函数在AT引擎中创建拍摄线程;
调整模块,用于根据当前预览图像数据的大小和实时多任务操作系统的资源配比,分别调整对拍摄线程的事件数量和拍摄线程的栈空间。
上述拍摄处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,主机、无线通信模组和拍摄模组构成终端,该终端可以采用相应的计算机设备予以实现,该计算机设备的内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种无线通信模组,无线通信模组连接在主机和拍摄模组之间;无线通信模组用于实现上述拍摄处理方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述拍摄处理方法的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述拍摄处理方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种拍摄处理方法,其特征在于,所述方法应用于无线通信模组;所述无线通信模组同时与拍摄模组和主机连接;所述方法包括:
获取所述拍摄模组的当前预览图像数据;
采用数组形式将所述当前预览图像数据存储于临时缓存空间;
输出数据提取通知;所述数据提取通知用于通知所述主机提取所述当前预览图像数据,并进行图像解析。
2.根据权利要求1所述的方法,其特征在于,在获取所述拍摄模组的当前预览图像数据的步骤之前,包括:
接收用户的拍摄指令,并将所述拍摄指令发送给所述拍摄模组。
3.根据权利要求2所述的方法,其特征在于,在将所述拍摄指令发送给所述拍摄模组的步骤之后,包括:
创建所述临时缓存空间,并判断所述拍摄模组是否处于预览状态;
若所述判断的结果为是,获取所述拍摄模组的当前预览图像数据。
4.根据权利要求3所述的方法,其特征在于,在所述创建所述临时缓存空间的步骤之后,还包括:
调用AT引擎中的资源锁对所述临时缓存空间进行锁定;
在所述主机提取所述当前预览图像数据之后,所述方法还包括:释放所述资源锁。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括步骤:
在所述AT引擎中通过宏函数创建所述资源锁。
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括步骤:
在所述无线通信模组上电并连接至所述主机的情况下,配置出针对所述拍摄模组的虚拟端口;
将所述虚拟端口绑定至所述AT引擎,以使所述虚拟端口用于AT命令的传输。
7.根据权利要求6所述的方法,其特征在于,所述AT引擎配置有针对所述拍摄模组的拍摄线程;所述方法还包括步骤:
将所述拍摄线程的优先级调整为最高优先级,关闭所述无线通信模组的主动上报功能,以使所述虚拟端口在所述拍摄模组的运行期间过滤掉除所述拍摄模组的数据外的数据。
8.一种拍摄处理装置,其特征在于,所述装置应用于无线通信模组;所述无线通信模组同时与拍摄模组和主机连接;所述装置包括:
图像获取模块,用于获取所述拍摄模组的当前预览图像数据;
图像缓存模块,用于采用数组形式将所述当前预览图像数据存储于临时缓存空间;
通知模块,用于输出数据提取通知;所述数据提取通知用于通知所述主机提取所述当前预览图像数据,并进行图像解析。
9.一种无线通信模组,其特征在于,所述无线通信模组连接在主机和拍摄模组之间;
所述无线通信模组用于实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210427182.5A CN114979466B (zh) | 2022-04-22 | 2022-04-22 | 拍摄处理方法、装置和无线通信模组 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210427182.5A CN114979466B (zh) | 2022-04-22 | 2022-04-22 | 拍摄处理方法、装置和无线通信模组 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114979466A true CN114979466A (zh) | 2022-08-30 |
CN114979466B CN114979466B (zh) | 2023-12-08 |
Family
ID=82979048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210427182.5A Active CN114979466B (zh) | 2022-04-22 | 2022-04-22 | 拍摄处理方法、装置和无线通信模组 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114979466B (zh) |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101031050A (zh) * | 2006-03-02 | 2007-09-05 | 佳能株式会社 | 图像传输设备和其控制方法 |
US20080233922A1 (en) * | 2004-03-15 | 2008-09-25 | Wavecom | System and Method for Remotely Monitoring Equipment with the Aid of at Control, Device, Radiocommunications Module and Corresponding Program |
US20080309775A1 (en) * | 2007-06-14 | 2008-12-18 | Hitachi, Ltd. | Information Recording/Reproducing Apparatus |
WO2009076866A1 (zh) * | 2007-12-07 | 2009-06-25 | Shenzhen Huawei Communication Technologies Co., Ltd. | 一种远程控制终端的方法、系统和装置 |
US20090273686A1 (en) * | 2008-05-02 | 2009-11-05 | Nokia Corporation | Methods, computer program products and apparatus providing improved image capturing |
TW201007620A (en) * | 2008-08-15 | 2010-02-16 | Hon Hai Prec Ind Co Ltd | Image data compressing system and method thereof |
US20100079607A1 (en) * | 2008-09-30 | 2010-04-01 | Samsung Electronics Co., Ltd. | Method and system for managing an imaging device by an electronic device located remotely to the imaging device |
JP2012090178A (ja) * | 2010-10-21 | 2012-05-10 | ▲うぇい▼強科技股▲ふん▼有限公司 | リアルタイム画像伝送とプレビューのシステム及び方法 |
CN103024282A (zh) * | 2013-01-18 | 2013-04-03 | 上海移远通信技术有限公司 | 拍照系统及拍照方法 |
CN202871064U (zh) * | 2012-09-17 | 2013-04-10 | 安徽省科普产品工程研究中心有限责任公司 | 无线传输显示系统 |
US20150036013A1 (en) * | 2013-07-31 | 2015-02-05 | Canon Kabushiki Kaisha | Remote-control apparatus and control method thereof, image capturing apparatus and control method thereof, and system |
KR20160026651A (ko) * | 2014-08-28 | 2016-03-09 | 삼성전자주식회사 | 호스트 장치에 의해 기억 장치의 작업을 관리하는 방법 및 시스템 |
WO2016035293A1 (en) * | 2014-09-03 | 2016-03-10 | Canon Kabushiki Kaisha | Communication apparatus, information processing apparatus, methods and computer-readable storage medium |
CN107492219A (zh) * | 2017-08-17 | 2017-12-19 | 安徽致远慧联电子科技有限公司 | 一种可以支持二维码融合支付的一卡通消费机 |
CN107896305A (zh) * | 2017-11-27 | 2018-04-10 | 广州华洲信息科技有限公司 | 可快速部署的超低功耗抓拍图传系统 |
JP2020087249A (ja) * | 2018-11-30 | 2020-06-04 | 株式会社沖データ | 画像形成システムおよび画像形成装置 |
CN112217990A (zh) * | 2020-09-27 | 2021-01-12 | 北京小米移动软件有限公司 | 任务调度方法、任务调度装置及存储介质 |
CN112399087A (zh) * | 2020-12-07 | 2021-02-23 | Oppo(重庆)智能科技有限公司 | 图像处理方法、装置、拍摄装置、电子设备和存储介质 |
CN114356372A (zh) * | 2021-12-30 | 2022-04-15 | 珠海奔图电子有限公司 | 固件获取方法、装置、云服务器和计算机可读存储介质 |
-
2022
- 2022-04-22 CN CN202210427182.5A patent/CN114979466B/zh active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080233922A1 (en) * | 2004-03-15 | 2008-09-25 | Wavecom | System and Method for Remotely Monitoring Equipment with the Aid of at Control, Device, Radiocommunications Module and Corresponding Program |
CN101031050A (zh) * | 2006-03-02 | 2007-09-05 | 佳能株式会社 | 图像传输设备和其控制方法 |
US20080309775A1 (en) * | 2007-06-14 | 2008-12-18 | Hitachi, Ltd. | Information Recording/Reproducing Apparatus |
WO2009076866A1 (zh) * | 2007-12-07 | 2009-06-25 | Shenzhen Huawei Communication Technologies Co., Ltd. | 一种远程控制终端的方法、系统和装置 |
US20090273686A1 (en) * | 2008-05-02 | 2009-11-05 | Nokia Corporation | Methods, computer program products and apparatus providing improved image capturing |
TW201007620A (en) * | 2008-08-15 | 2010-02-16 | Hon Hai Prec Ind Co Ltd | Image data compressing system and method thereof |
US20100079607A1 (en) * | 2008-09-30 | 2010-04-01 | Samsung Electronics Co., Ltd. | Method and system for managing an imaging device by an electronic device located remotely to the imaging device |
JP2012090178A (ja) * | 2010-10-21 | 2012-05-10 | ▲うぇい▼強科技股▲ふん▼有限公司 | リアルタイム画像伝送とプレビューのシステム及び方法 |
CN202871064U (zh) * | 2012-09-17 | 2013-04-10 | 安徽省科普产品工程研究中心有限责任公司 | 无线传输显示系统 |
CN103024282A (zh) * | 2013-01-18 | 2013-04-03 | 上海移远通信技术有限公司 | 拍照系统及拍照方法 |
US20150036013A1 (en) * | 2013-07-31 | 2015-02-05 | Canon Kabushiki Kaisha | Remote-control apparatus and control method thereof, image capturing apparatus and control method thereof, and system |
KR20160026651A (ko) * | 2014-08-28 | 2016-03-09 | 삼성전자주식회사 | 호스트 장치에 의해 기억 장치의 작업을 관리하는 방법 및 시스템 |
WO2016035293A1 (en) * | 2014-09-03 | 2016-03-10 | Canon Kabushiki Kaisha | Communication apparatus, information processing apparatus, methods and computer-readable storage medium |
CN107492219A (zh) * | 2017-08-17 | 2017-12-19 | 安徽致远慧联电子科技有限公司 | 一种可以支持二维码融合支付的一卡通消费机 |
CN107896305A (zh) * | 2017-11-27 | 2018-04-10 | 广州华洲信息科技有限公司 | 可快速部署的超低功耗抓拍图传系统 |
JP2020087249A (ja) * | 2018-11-30 | 2020-06-04 | 株式会社沖データ | 画像形成システムおよび画像形成装置 |
CN112217990A (zh) * | 2020-09-27 | 2021-01-12 | 北京小米移动软件有限公司 | 任务调度方法、任务调度装置及存储介质 |
CN112399087A (zh) * | 2020-12-07 | 2021-02-23 | Oppo(重庆)智能科技有限公司 | 图像处理方法、装置、拍摄装置、电子设备和存储介质 |
CN114356372A (zh) * | 2021-12-30 | 2022-04-15 | 珠海奔图电子有限公司 | 固件获取方法、装置、云服务器和计算机可读存储介质 |
Non-Patent Citations (3)
Title |
---|
崔再惠;李铁男;杨峰;: "基于嵌入式Linux的无线自动拍照终端", 计算机工程, no. 13 * |
管凤旭;徐冉;杨伟;: "基于WinCE和GPRS的安防报警系统设计", 实验技术与管理, no. 11 * |
黄越: "基于ARM的远程实时监控系统设计", 《中国优秀硕士学位论文全文数据库电子期刊》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114979466B (zh) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11461146B2 (en) | Scheduling sub-thread on a core running a trusted execution environment | |
CN102866913A (zh) | 移动设备上的任务切换 | |
US20100205606A1 (en) | System and method for executing a complex task by sub-tasks | |
CN116842307B (zh) | 数据处理方法、装置、设备、芯片及存储介质 | |
CN113014804A (zh) | 图像处理方法、装置、电子设备和可读存储介质 | |
CN114498028A (zh) | 数据传输方法、装置、设备及存储介质 | |
CN116541336B (zh) | 多核芯片、协处理器的软件运行方法 | |
CN114979466B (zh) | 拍摄处理方法、装置和无线通信模组 | |
CN117687772B (zh) | 一种算法调度方法及电子设备 | |
CN116114263A (zh) | 用于集成图像信号处理的方法和设备 | |
CN113840089A (zh) | 一种相机功能切换方法、装置、终端设备及存储介质 | |
CN116700601B (zh) | 内存优化方法、设备及存储介质 | |
WO2023241544A1 (zh) | 组件预览的方法和电子设备 | |
KR20170046496A (ko) | 카메라를 갖는 전자 장치와 그의 이미지 처리 방법 | |
CN113835651A (zh) | 数据显示处理方法、装置、计算机设备和存储介质 | |
CN111324326A (zh) | 将软件显示到一机多屏的处理方法及装置 | |
CN104769559B (zh) | 快速、动态高速缓存封装 | |
CN115964331A (zh) | 一种数据访问方法、装置及设备 | |
WO2022127609A1 (zh) | 图像处理方法及电子设备 | |
CN109120595A (zh) | 一种实现kvm功能的usb设备通信方法与装置 | |
CN117793525B (zh) | 图像处理方法、可读介质、电子设备及程序产品 | |
CN113902608A (zh) | 图像处理架构、方法、存储介质及电子设备 | |
KR102577184B1 (ko) | 전자 장치 및 그의 동작 방법 | |
KR102638876B1 (ko) | 전자 장치 및 그 제어 방법 | |
KR101077832B1 (ko) | 보조 프로세서의 내장 ui 구현 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |