CN114970589A - 一种扫码方法及终端 - Google Patents
一种扫码方法及终端 Download PDFInfo
- Publication number
- CN114970589A CN114970589A CN202110221504.6A CN202110221504A CN114970589A CN 114970589 A CN114970589 A CN 114970589A CN 202110221504 A CN202110221504 A CN 202110221504A CN 114970589 A CN114970589 A CN 114970589A
- Authority
- CN
- China
- Prior art keywords
- camera
- terminal
- image
- code scanning
- mode
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- 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/665—Control of cameras or camera modules involving internal camera communication with the image sensor, e.g. synchronising or multiplexing SSIS control signals
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- Multimedia (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
Abstract
一种扫码方法及终端,涉及终端技术领域,提升终端的扫码性能。该方法包括:用户在扫码应用中启动扫码功能后,扫码应用开始初始化,并启动相机,配置图像采集参数以及获取图像等。在扫码应用开始初始化的同时,终端的场景识别模块可以根据特征库,识别出当前场景为扫码场景,并发起相机预加载,以加速启动相机。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种扫码方法及终端。
背景技术
扫码功能已成为智能终端的一项重要的功能。例如,日常的收付款、身份认证、网络接入、信息录入等,均可以通过智能终端的扫码功能实现。但同时也注意到,随着扫码功能的普及和应用场景的扩展,尤其是在人流较为密集的场景,存在扫码排队的现象,其直接原因为扫码对象(例如二维码)的识别率较低,扫码效率偏低。因此,智能终端的扫码性能有待进一步提升。
发明内容
本申请提供的一种扫码方法及终端,能够提升终端的扫码性能。为了实现上述目的,本申请实施例提供了以下技术方案:
第一方面,提供一种扫码方法,应用于包含相机的终端,该方法包括:终端接收用户开启扫码应用第一功能的操作;响应于接收到操作,扫码应用进行初始化,并且终端识别当前场景;当终端识别出当前场景为扫码场景时,终端启动相机的预加载;终端调用相机获取第一图像,并解析第一图像;当第一图像包含预设信息时,终端向服务器请求解析预设信息;终端接收服务器返回的预设信息对应的解析结果;终端执行解析结果对应的功能。
也就是说,当用户开启第一功能后,在扫码应用开始初始化的同时,终端识别出当前场景为扫码场景后,即可以发起相机预加载。这样,当扫码应用初始化结束后,启动相机时可以快速完成相机的预加载,从而提升终端的扫码性能。
一个示例中,可以通过优化终端的操作系统来提升终端的扫码性能。例如,在终端的框架层设置场景识别模块。其中,场景识别模块用于识别当前的场景,当识别当前的场景为扫码场景后,发起相机的预加载。由于是通过优化终端的操作系统来提升终端的扫码性能,可以充分利用终端自身的硬件能力来优化扫码性能。并且,扫码应用无需进行单独优化和适配,同一终端上的不同扫码应用的扫码性能均有所提升。
一种可能的实现方式中,相机的预加载包括:系统资源初始化,以及相机硬件的上电和软件初始化,其中,系统资源初始化包括加载动态库文件,依赖模块初始化,相机硬件包括图像传感器、对焦模块、图像处理模块、补光灯模块中一项或多项。
一种可能的实现方式中,响应于接收到操作,扫码应用进行初始化,同时终端启动相机的预加载,具体为:响应于接收到操作,扫码应用启动第一功能的组件Activity;扫码应用根据Activity加载第一功能对应的视图控件,以及终端根据Activity的信息启动相机的预加载。
一种可能的实现方式中,终端根据Activity的信息启动相机的预加载,具体为:终端将Activity的信息与预先存储的第一文件进行比对;其中,第一文件中存储有各个扫码应用中扫码场景对应的Activity的信息;当比对成功后,终端启动相机的预加载。
一种可能的实现方式中,该方法还包括:在终端的操作系统升级时,更新第一文件;或者,在终端更新扫码类APP时,更新第一文件;或者,在终端安装其他的扫码应用时,更新第一文件;或者,在接收到维护第一文件的服务器推送的更新消息时,更新第一文件。
一种可能的实现方式中,在终端调用相机获取第一图像,并解析第一图像之前,该方法还包括:终端调整相机采集图像的参数;其中,调整相机采集图像的参数包括以下一项或多项:增大相机采集图像的尺寸,增加相机采集图像的亮度,切换相机的采集图像时的对焦方式,扩大相机采集图像的帧率范围。
需要说明的是,采用调整后的相机采集图像的参数采集图像,是有利于扫码应用识别出图像中的扫码对象,和/或,有利于加速相机获取图像的过程,从而进一步提升扫码性能。
例如,当终端增大相机采集图像的尺寸后,扫码应用将获取到细节更丰富的图像,有利于扫码应用快速识别出图像中的扫码对象。
又例如,当取景环境光线较明亮时(即亮场),图像曝光时间较短,上调图像输出帧率(比如将一般模式下的30fps提升到60fps),有利于加快图像采集和处理速度。当取景环境光线较暗时(即暗场),下调图像输出帧率(比如将一般模式下的12fps下调到10fps),图像曝光时间将延长,此时获取的图像的亮度将增强。
一种可能的实现方式中,终端调整相机采集图像的参数包括:终端将相机的图像采集模式从第一模式切换至第二模式,第一模式为预览模式或拍照模式,第二模式为扫码模式。
一些示例中,考虑到运行扫码应用的终端的通用性,扫码应用会配置通用的图像采集模式。换言之,扫码应用配置的图像采集模式中各个参数是大多数终端都能使用的参数。那么,也就是意味着扫码应用配置的图像采集模式并不能充分发挥各个终端设备自身的硬件能力以提升终端的扫码效率。在另一些示例中,扫码应用配置的图像采集模式为相机默认的图像采集模式,例如预览模式,或普通拍照模式等。通常,默认的图像采集模式也不能充分发挥各个终端设备自身的硬件能力以提升终端的扫码效率。
一种可能的实现方式中,第二模式包括以下至少一项:相机采集图像的尺寸设置为支持30fps的最大尺寸输出RAW图;相机采集图像的帧率范围为10fps-60fps;相机采集图像时采用相位对焦PDAF。
一些示例中,第二模式中的图像采集参数是根据终端的硬件能力设置的,换言之,该技术方案还充分发挥了终端的硬件能力来提升扫码性能的,有效地加大了扫码性能提升幅度。
一种可能的实现方式中,终端调用相机获取第一图像,具体为:终端调用相机采集原始图像;终端对原始图像进行第一图像处理得到第一图像;其中,第一图像处理包括以下一项或多项:增加原始图像的锐度;增加原始图像的对比度;提升原始图像的亮度。
第二方面,提供一种终端,包括:处理器、存储器、相机和屏幕,存储器、相机和屏幕与处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当处理器从存储器中读取计算机指令,以使得终端执行如下操作:接收用户开启扫码应用第一功能的操作;响应于接收到操作,初始化扫码应用,并且识别当前场景;当终端识别出当前场景为扫码场景时,启动相机的预加载;调用相机获取第一图像,并解析第一图像;当第一图像包含预设信息时,向服务器请求解析预设信息;接收服务器返回的预设信息对应的解析结果;执行解析结果对应的功能。
一种可能的实现方式中,相机的预加载包括:系统资源初始化,以及相机硬件的上电和软件初始化,其中,系统资源初始化包括加载动态库文件,依赖模块初始化,相机硬件包括图像传感器、对焦模块、图像处理模块、补光灯模块中一项或多项。
一种可能的实现方式中,响应于接收到操作,初始化扫码应用,同时启动相机的预加载,具体为:响应于接收到操作,扫码应用启动第一功能的组件Activity;扫码应用根据Activity加载第一功能对应的视图控件,以及终端根据Activity的信息启动相机的预加载。
一种可能的实现方式中,终端根据Activity的信息启动相机的预加载,具体为:终端将Activity的信息与预先存储的第一文件进行比对;其中,第一文件中存储有各个扫码应用中扫码场景对应的Activity的信息;当比对成功后,终端启动相机的预加载。
一种可能的实现方式中,终端还执行:在终端的操作系统升级时,更新第一文件;或者,在终端更新扫码类APP时,更新第一文件;或者,在终端安装其他的扫码应用时,更新第一文件;或者,在接收到维护第一文件的服务器推送的更新消息时,更新第一文件。
一种可能的实现方式中,在终端调用相机获取第一图像,并解析第一图像之前,终端还执行:调整相机采集图像的参数;其中,调整相机采集图像的参数包括以下一项或多项:增大相机采集图像的尺寸,增加相机采集图像的亮度,切换相机的采集图像时的对焦方式,扩大相机采集图像的帧率范围。
一种可能的实现方式中,终端调整相机采集图像的参数包括:终端将相机的图像采集模式从第一模式切换至第二模式,第一模式为预览模式或拍照模式,第二模式为扫码模式。
一种可能的实现方式中,第二模式包括以下至少一项:相机采集图像的尺寸设置为支持30fps的最大尺寸输出RAW图;相机采集图像的帧率范围为10fps-60fps;相机采集图像时采用相位对焦PDAF。
一种可能的实现方式中,终端调用相机获取第一图像,具体为:终端调用相机采集原始图像;终端对原始图像进行第一图像处理得到第一图像;其中,第一图像处理包括以下一项或多项:增加原始图像的锐度;增加原始图像的对比度;提升原始图像的亮度。
第三方面、提供一种装置,该装置包含在终端中,该装置具有实现上述方面及可能的实现方式中任一方法中终端行为的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括至少一个与上述功能相对应的模块或单元。例如,通信模块或单元、识别模块或单元、启动模块或单元、解析模块或单元、以及执行模块或单元等。
第四方面、提供一种计算机可读存储介质,包括计算机指令,当所述计算机指令在终端上运行时,使得所述终端执行上述第一方面以及第一方面中任一种可能的实现方式中的方法。
第五方面、提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述第一方面以及第一方面中任一种可能的实现方式中的方法。
第六方面、提供一种芯片系统,包括处理器,当处理器执行指令时,处理器执行上述第一方面以及第一方面中任一种可能的实现方式中的方法。
可以理解地,上述提供的第三方面所述的装置,第四方面所述的计算机存储介质,第五方面所述的计算机程序产品,第六方面所述的芯片系统所能达到的有益效果,可参考第一方面及其任一种可能的设计方式中的有益效果,此处不再赘述。
附图说明
图1A为本申请提供的一种提升扫码性能的方法的流程示意图;
图1B为本申请提供的另一种提升扫码性能的方法的流程示意图;
图2为本申请提供的一种终端的结构示意图;
图3为本申请提供的另一种终端的结构示意图;
图4为本申请提供的一种扫码方法的流程示意图;
图5为本申请提供的一些终端的界面示意图;
图6为本申请提供的另一些终端的界面示意图;
图7为本申请提供的一种自动补光的方法的示意图;
图8为本申请提供的一种补光功能开启状态的切换示意图;
图9为本申请提供的又一些终端的界面示意图;
图10为本申请提供的另一种扫码方法的流程示意图;
图11为本申请提供的另一种扫码方法的流程示意图;
图12为本申请提供的一种芯片系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在一种技术方案中,可以通过优化扫码应用(application,APP)以提升终端的扫码性能,具体如下:
如图1A所示,整个扫码过程可以包括三个阶段,相机启动和图像采集阶段、图像解析阶段以及业务执行阶段。
(1)相机启动和图像采集阶段:用户在扫码应用中点击扫码功能后,扫码应用进行初始化(加载相应的库文件等),并启动终端的相机,配置图像采集参数,而后获取图像。
(2)图像解析阶段:在获取到图像后,扫码应用对获取的图像进行解析和识别,以识别图像中是否包含符合预设规则的信息,例如二维码、条码、小程序码等扫码对象。若识别成功,则扫码应用将该图像或者该图像信息(例如扫码对象的信息)发送至后台的服务器,由后台的服务器进行后续处理。若识别失败,则扫码应用重新获取图像。
在对已采集的图像识别失败之后,扫码应用可以对已采集的图像进行环境亮度的计算。当确定当前环境亮度较弱时,确定需要补光,则扫码应用可以进行补光提示,例如,在界面上显示补光控件。当用户点击补光控件后,扫码应用启动手电筒功能进行补光,并重新采集图像。图像的亮度提升,有利于提升扫码应用对重新采集图像识别成功率。
(3)业务执行阶段:当扫码应用对重新采集图像识别成功后,扫码应用将该重新采集的图像或者图像信息发送至后台的服务器,由后台的服务器进行进一步的解析。若服务器解析成功,则扫码应用根据服务器的解析结果调用相应的业务,例如付款、信息显示等。
可以注意到,在该技术方案中,扫码应用需先采集图像,然后对采集的图像进行环境亮度的计算,再提示用户进行补光操作,以提升后续采集图像的亮度,从而提升扫码对象的识别率的。换言之,该技术方案针对相机采集后的图像进行处理后执行的性能提升措施,因此扫码效率受到一定影响,甚至可能因为延长扫码时长而降低了扫码效率。
另外,该技术方案由各个扫码应用完成扫码性能的提升,不同的扫码应用在同一个终端上的扫码效率存在较大差异。
为此,本申请实施例提供了另一种提升扫码性能的技术方案,在终端检测到用户开启扫码功能后,提前启动相机的预加载,从而加速了扫码应用启动相机的过程。并且,在检测到用户开启扫码功能后,终端控制相机按照预设的图像采集参数(即预设的工作模式,如扫码模式)获取图像。一方面,预设的图像采集参数有利于高质量的图像,该高质量图像的清晰度、亮度、合焦的准确度等都优于扫码应用配置的图像采集参数获取的图像。换言之,采用该预设的图像采集参数获取的图像,是有利于提升扫码应用识别出图像中的扫码对象。另一方面,该技术方案是在相机开始采集图像时执行的性能提升措施。由此可见,本技术方案在提升扫码对象的识别率的同时,也提升了扫码效率。
在一种具体的实现方式中,可以通过优化终端的操作系统来提升终端的扫码性能。例如,在终端的框架层设置场景识别模块,在终端的硬件抽象层设置相机策略处理模块。那么,如图1B所示,用户在扫码应用中点击扫码功能后,扫码应用开始初始化,启动相机,配置图像采集参数以及获取图像等,即执行如图1A中相同的操作流程。在扫码应用开始初始化的同时,终端的场景识别模块可以根据特征库,识别出当前场景为扫码场景。进而,场景识别模块可以调用相机策略处理模块发起相机预加载。这样,当扫码应用初始化结束后,启动相机时可以快速完成相机的加载。并且,相机策略处理模块也可以记录当前场景为扫码场景。
另外,扫码应用会配置图像采集参数,并下发到终端的硬件抽象层,以调用相机按照配置的图像采集参数获取图像。当扫码应用下发自身配置的图像采集参数时,硬件抽象层的相机策略处理模块根据记录的扫码场景,切换相机的工作模式为扫码模式。在扫码模式下,相机采用预设的图像采集参数获取图像。其中图像采集参数可以包括以下任一项或几项:采集图像的尺寸、帧率范围、对焦方式、图像处理方式、是否支持自动补光参数等。需要说明的是,采用该预设的图像采集参数获取图像,是有利于扫码应用识别出图像中的扫码对象,和/或,有利于加速相机获取图像的过程。
一些示例中,该预设的图像采集参数是根据终端的硬件能力设置的,换言之,该技术方案还充分发挥了终端的硬件能力来提升扫码性能的,有效地加大了扫码性能提升幅度。
另一些示例中,相机策略处理模块还可以设置预设的图像处理方式。也就是说,在相机采用预设图像采集参数采集到图像后,还根据预设的图像处理方式对获取的图像执行相应的图像处理(即优化算法),以获取到更加有利于识别出扫码对象的图像。其中,预设的图像处理方式例如包括提升的图像的锐度,提高图像的对比度,增大暗场下的增益补偿,提升图像的亮度等。这样,扫码应用在处理后的图像进行解析和识别时,有利于提高扫码对象的识别率。
综上,通过优化终端的操作系统来提升终端的扫码性能,可以充分利用终端自身的硬件能力来优化扫码性能。并且,扫码应用无需进行单独优化和适配,同一终端上的不同扫码应用的扫码性能均有所提升。
示例性的,本申请中的终端可以为手机、平板电脑、个人计算机(personalcomputer,PC)、个人数字助理(personal digital assistant,PDA)、智能手表、上网本、可穿戴终端、增强现实技术(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、车载设备、智能汽车、智能音响、机器人等,本申请对该终端的具体形式不做特殊限制。
图2示出了终端100的结构示意图。
终端100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对终端100的具体限定。在本申请另一些实施例中,终端100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端100的结构限定。在本申请另一些实施例中,终端100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。
终端100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
移动通信模块150可以提供应用在终端100上的包括2G/3G/4G/5G等无线通信的解决方案。无线通信模块160可以提供应用在终端100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
终端100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
终端100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。在本申请实施例中,拍摄功能包括扫码功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,终端100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行终端100的各种功能应用以及数据处理。
终端100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
终端100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的Android系统为例,示例性说明终端100的软件结构。
图3是本发明实施例的终端100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层(简称为框架层),硬件抽象层(Hardware Abstraction Layer,HAL),以及内核层。
应用程序层可以包括一系列应用程序包。
如图3所示,应用程序包层包括扫码应用。该扫码应用例如为微信应用、支付宝应用、美团应用等。该扫码应用可以提供终端100与用户进行交互的界面,例如:扫码应用提供扫码控件,以便用户可以操作该扫码控件,以启动该扫码应用的扫码功能。
可选的,应用程序包层还可以包括相机,日历,图库,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等其他应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图3所示,应用程序框架层包括活动管理器(activity manager service,AMS)、相机服务、场景识别模块、特征库等。当然,框架层还可以包括音频服务、视频服务、窗口管理器,视图系统,电话管理器,资源管理器,通知管理器等。
其中,活动管理器AMS,用于负责管理Activity,负责系统中各组件的启动、切换、调度及应用程序的管理和调度等工作。例如,当用户操作扫码应用中的扫码控件时,AMS启动扫码功能的Activity。场景识别模块,用于根据AMS提供的Activity的信息,并结合特征库中的信息(特征库中存储有扫码场景对应的Activity信息),确定当前是否为扫码场景。当确定为扫码场景时,场景识别模块通知硬件抽象层的相机模块。相机服务,是与硬件抽象层中相机模块进行交互的实际代码。例如,当应用程序层的应用需要调用相机时,可以通过框架层的相机服务调用硬件抽象层的相机模块。
硬件抽象层,是介于内核层(例如android内核kernel)和上层之间的抽象出来的一层结构。是对linux驱动的一个封装,为上层提供统一接口。
如图3所示,应用抽象层包括相机模块。示例性的,相机模块可以包括相机接口模块、相机策略处理模块、相机模式管理模块、相机预加载模块、图像传感器模块、对焦模块、ISP模块以及图像后处理模块。其中,相机接口模块,为向框架层(例如场景识别模块、相机服务)提供调用相机的接口。相机策略处理模块,用于接收到场景识别模块发送的扫码场景通知后,通知相机预加载模块启动相机的预加载。其中,相机的预加载包括:系统资源初始化(例如包括加载动态库文件,依赖模块初始化等)、相机硬件(包括图像传感器、对焦模块、图像处理模块、补光灯模块等)的上电和软件初始化,以及记录当前的场景为扫码场景等。相机模式管理模块,用于当确定为扫码场景时,配置预设的图像采集参数(例如扫码模式)。其中图像采集参数可以根据终端的硬件能力确定的,包括以下任一项或几项:采集图像的尺寸、帧率、曝光时间、对焦方式、图像处理方式、是否支持自动补光参数等。而后,相机模式管理模块将各个图像采集参数发送给相应的模块,以获取到满足图像采集参数的图像。例如,相机模式管理模块将采集图像的尺寸、帧率、曝光时间发送给图像传感器模块,将对焦方式发送给对焦模块,将图像处理方式发送给ISP模块或图像后处理模块,将是否支持自动补光参数发送给补光灯模块。下文将针对各个图像采集参数进行详细说明。
可选的,应用抽象层还可以包括音频模块、视频模块等。
内核层是硬件和软件之间的层。内核层至少包含图像传感器驱动,对焦马达驱动、补光灯驱动、ISP驱动等。可选的,内核层还可以包括音频驱动、视频驱动、显示驱动等。
以下实施例中所涉及的技术方案均可以在具有上述硬件架构和软件架构的终端100中实现。
如图4所示,为本申请实施例提供的一种扫码方法的流程示意图,该扫码方法具体包括:
S401、扫码应用接收用户启动扫码功能的指示。
其中,扫码应用为具有扫码功能的APP,扫码应用例如可以为智慧家居应用、微信应用、支付宝应用、美团应用等。该扫码应用可以提供终端100与用户进行交互的界面,例如:扫码应用提供扫码控件,以便用户可以操作该扫码控件,以启动该扫码应用的扫码功能。
例如,如图5中(1)所示,终端的主屏幕界面中显示有多个应用图标,扫码应用(例如,微信)的图标501。响应于用户点击图标501,终端启动扫码应用,并显示扫码应用的主界面。如图5中(2)所示,响应于用户点击控件502,终端显示菜单栏503。其中,菜单栏503中显示有多个功能的启动控件,如“发起群聊”、“添加朋友”、“扫一扫”、以及“收付款”等。其中,“扫一扫”为一种扫码功能。响应于用户点击“扫一扫”控件,终端启动扫码功能。需要说明的是,在“添加朋友”功能中也设置有“扫一扫”功能,用户也可以通过在“添加朋友”中的“扫一扫”功能,本申请实施例对此不做限定。
又例如,如图6中(1)所示,终端的主屏幕界面中显示有多个应用图标,扫码应用(例如,微信)的图标601。响应于用户长按或重力按压图标601,终端显示如图6中(2)所示的菜单栏602。在菜单栏602中显示有多个功能的启动控件,如“删除APP”、“编辑主屏幕”、“我的二维码”、“扫一扫”、以及“收付款”等。响应于用户点击“扫一扫”控件,终端启动扫码功能。
当然,用户也可以通过输入语音命令,执行预设的手势(例如在触摸屏上绘制特定的图案、指关节敲击、隔空手势等)等方式启动扫码功能。本申请实施例对此扫码功能的开启方式不做限定。另外,扫码功能可以与其他功能(例如即时通信功能)集成在一个APP中,也可以为一个独立的APP,本申请实施例对此也不做限定。
S402、扫码应用向活动管理模块注册Activity。
在接收到用户启动扫码功能后,扫码应用会启动扫码功能的Activity,在框架层的活动管理模块中注册扫码功能的Activity。换言之,活动管理模块AMS记录着扫码应用启动的Activity的信息,包括Activity的包名、类型等。例如,AMS注册的Activity的包名为“app1.scan.activity”。
S403、活动管理模块向场景识别模块传递Activity信息。
在一些示例中,在接收到活动管理模块接收到的Activity信息后,场景识别模块将接收到的Activity信息与预先存储的特征库进行比对,以确定当前场景是否为扫码场景。其中,特征库中维护有各个APP的扫码场景所对应的Activity的信息。换言之,若场景识别模块接收到Activity信息与特征库中的扫码场景对应的Activity的信息相匹配,则确定当前场景为扫码场景。否则,不为扫码场景。
例如,特征库包括一个列表(如表一所示),用来描述场景与Activity的关联关系,如下:
表一
场景标识 | Activity的标识 |
30101(扫码场景) | app1.scan.activity |
30101(扫码场景) | app2.barscan.acivity |
30101(扫码场景) | app2.addfriend.scan.acivity |
其中,场景标识为根据APP的activity的实际业务而定义的类别。其中扫码场景,是指需要根据采集的符合规则的条码信息(例如二维码、条码、小程序码)等调用相应服务的应用场景。
接着上述举例,在步骤S402中,活动管理模块向场景识别模块传递了“app1.scan.activity”的信息,场景识别模块将“app1.scan.activity”与表一所示的特征库进行比对,确定“app1.scan.activity”对应于扫码场景,确定当前为扫码场景。
需要说明的是,终端中预先存储的特征库可以和终端的操作系统一起升级更新,也可以独立于终端的操作系统单独进行更新。例如,终端可以在操作系统升级时更新特征库,也可以在新安装扫码应用或者更新扫码应用时,提示用户手动更新特征库或者自动更新特征库。又例如,终端的系统设置中也可以设置有特征库更新的控件,当用户操作该控件时,对特征库进行更新。又例如,维护特征库的服务器在确定特征库发生更新时,向终端推送更新消息,由用户选择更新本地存储的特征库。本申请实施例对特征库的更新方法不做限定。
S404、场景识别模块通知相机策略处理模块当前为扫码场景。
当场景识别模块确定当前为扫码场景时,通知硬件抽象层的相机策略处理模块当前为扫码场景,便于相机策略处理模块切换相机的工作模式(即图像采集模式)为扫码模式。
S405、相机策略处理模块向相机预加载模块发送启动相机预加载的指示。
相机策略处理模块通过相机预加载模块启动相机预加载,其中,相机的预加载包括:相机系统资源初始化(例如包括加载动态库文件,依赖模块初始化等)、相机硬件(包括图像传感器、对焦模块、图像处理模块、补光灯模块等)的上电和软件初始化,以及记录当前的场景为扫码场景等。
S406、相机预加载模块加载完成后,向相机策略处理模块返回加载结束的响应。
S407、扫码应用请求相机服务启动相机。
S408、相机服务向相机预加载模块发送启动相机的指令。
在步骤S407-步骤S408中,在扫码应用响应于接收到用户启动扫码功能的指示,向活动管理模块注册Activity(即步骤S402)之后,扫码应用进行初始化,例如加载扫码应用依赖的库文件、加载扫码功能的相关视图控件等。在初始化结束后,通过框架层的相机服务启动相机。换言之,在步骤S402之后,一方面,扫码应用通过框架层的相机服务启动相机。另一方面,框架层的活动管理器将启动的Activity的信息传递给场景识别模块。当场景识别模块识别出扫码场景时,通过抽象层的相机策略处理模块提前启动相机预加载(即执行步骤S403-S406)。
可以理解的是,步骤S405中的相机预加载是在终端的硬件抽象层进行的,其不影响扫码应用在初始化后,通过框架层的相机服务调用相机接口模块。而且,这里开始执行相机预加载的过程,通常是先于通过扫码应用调用相机的过程。换言之,本申请实施例通过系统服务(如框架层的场景识别模块、硬件抽象层的相机策略处理模块)提前启动相机预加载是有利于加快扫码功能中启动相机的过程。还需要说明的是,如果在相机预加载的过程中,相机接口模块也接收到扫码应用通过框架层的相机服务调用命令时,相机接口模块会等待相机预加载结束后,向相机服务返回加载成功的响应,即执行步骤S409。换言之,相机的初始化和启动由串行启动,修改为并行启动,启动性能提升100ms+。
S409、相机已预加载,相机预加载模块向相机服务返回相机启动成功的响应。
S410、相机服务向扫码应用返回相机已启动的响应。
S411、扫码应用向相机服务配置图像采集模式。
其中,图像采集模式包括相机从采集图像、处理图像到输出图像整个过程中的参数集合。例如图像采集模式包含以下任一个或任几个参数:图像采集的原始尺寸,图像采集的帧率范围,曝光时间,图像采集时的对焦方式,是否支持自动补光,是否支持放大扫码区域,以及图像采集后的图像处理方式等。一般,终端的相机包括多个图像采集模式,例如预览模式、普通拍照模式、高清拍照模式,以及录像模式等。在本申请中,图像采集模式还包括扫码模式等。
一些示例中,考虑到运行扫码应用的终端的通用性,扫码应用会配置通用的图像采集模式。换言之,扫码应用配置的图像采集模式中各个参数是大多数终端都能使用的参数。那么,也就是意味着扫码应用配置的图像采集模式并不能充分发挥各个终端设备自身的硬件能力以提升终端的扫码效率。在另一些示例中,扫码应用配置的图像采集模式为相机默认的图像采集模式,例如预览模式,或普通拍照模式等。通常,默认的图像采集模式也不能充分发挥各个终端设备自身的硬件能力以提升终端的扫码效率。
因此,在扫码场景下,后续终端需要将扫码应用配置的图像采集模式切换到扫码模式。后续将详细介绍扫码模式中各个参数的设置。
S412、相机服务向相机策略处理模块发送扫码应用配置的图像采集模式。
S413、相机策略处理模块向相机模式管理模块发送选择扫码模式。
在步骤S405中,相机策略处理模块已记录当前的场景为扫码场景。因此,当相机策略处理模块接收到扫码应用配置的图像采集模式后,向相机模式管理模块请求扫码模式中各个参数数值。
以下详细介绍扫码模式的各个参数的设置方法,如下:
(1)设置较大的图像采集的原始尺寸。
其中,图像采集的原始尺寸,为相机采集图像时,图像传感器感光阵列实际工作并输出的图像尺寸,也称为RAW图像尺寸。一般,采集的图像的原始尺寸越大,获取图像的解析力越强,图像中的细节越丰富,越有利于快速识别出图像中的扫码对象。一个示例中,可以设置扫码模式下,图像采集的原始尺寸为:支持30fps的最大尺寸输出RAW图。
例如,一颗具有13M分辨率能力相机的终端,其支持输出全尺寸RAW图像(比如4160*3120像素),1/4尺寸RAW图像(比如2304*1560像素)。一般,扫码应用请求的YUV图像(即扫码应用配置的图像采集模式获取的图像)和屏幕尺寸相当。比如终端屏幕的分辨率为1920*1080像素(屏幕分辨率一般低于相机分辨率),那么扫码应用会请求1920*1080像素的YUV图像。终端的相机会根据扫码应用请求的图像尺寸,选择最接近的RAW图输出,即选择输出1/4尺寸RAW图像。相对于全尺寸RAW图像,1/4尺寸RAW图像会损失一些细节,对于较小的扫码对象或者较远距离的扫码对象,会出现信息丢失,导致扫码应用解码失败或者无法识别。
因此,当终端将扫码应用配置的图像采集模式切换到扫码模式(比如扫码模式设置为获取全尺寸RAW图像)时,扫码应用将获取到细节更丰富的图像,有利于扫码应用快速识别出图像中的扫码对象。
(2)设置较大的帧率范围。
扫码应用配置的图像采集模式通常为相机的一般模式,其帧率范围为12fps-30fps。扫码模式中的帧率范围中最小帧率小于一般模式中的最小帧率,和/或,扫码模式中的帧率范围最大帧率大于一般模式中的最大帧率。例如,扫码模式中的帧率范围为10fps-60fps。
通常,当取景环境光线较明亮时(即亮场),图像曝光时间较短,上调图像输出帧率(比如将一般模式下的30fps提升到60fps),有利于加快图像采集和处理速度。例如,扫码模式的最大帧率提升至60fps,此时单帧图像输出和处理时间可以比一般模式提升越一倍的效率。当取景环境光线较暗时(即暗场),下调图像输出帧率(比如将一般模式下的12fps下调到10fps),图像曝光时间将延长,此时获取的图像的亮度将增强。例如,扫码模式的最小帧率下调到10fps,此时获取的图像亮度相对于一般模式能提升越20%。
(3)设置快速的对焦方式。
在扫码模式下,优先支持相位对焦(Phase Detection Auto-focus,PDAF)的图像输出,这是因为PDAF能够实现快速对焦,有利于相机快速输出图像,有利于提升扫码效率。
需要说明的是,一般,相机的对焦方式与图像传感器的能力相关。目前大多数的图像传感器在输出全尺寸图像时都支持PDAF。但当图像传感器在输出1/4尺寸RAW图像时,一般不支持PDAF。因此,当终端处于扫码场景时,优先支持PDAF的出图方式,即输出全尺寸图像。
(4)设置预设的图像处理方式。
一般,采用以用户为中心的图像效果处理方式,处理相机采集的图像。例如,会将图像的色彩、亮度、对比度等参数调整至适合人眼的感知效果。在该图像效果处理方式下,对于原始目标景物(即扫码对象)的真实细节有一些牺牲。比如,通过磨皮技术去除一些瑕疵来使人像更加美观,提升降噪能力,使画面更加平滑。
然而,在扫码场景下,图像输出的目标是解码程序。解码程序对于图像的理解仅仅是二进制数据,因此图像效果处理方式应尽可能准确的呈现当前扫码对象(二维码、条码、小程序码等)的真实信息。因此,扫码模式下,图像处理方式应相较于一般模式下,提高图像效果的锐度,提高图像效果的对比度,提高暗场下的增益补偿,提高亮度等。
(5)自动补光。
终端可以根据采集的图像帧数据检测图像帧的亮度值,或者终端也可以从相机系统中获取图像帧的亮度值。当图像帧的亮度值小于阈值1时,则进行自动补光。当图像帧的亮度大于阈值2时,则不进行自动补光。其中,阈值1小于阈值2。
如图7所示,为一种扫码模式下自动补光的算法流程示意图。具体的,终端检测图像帧的亮度。若亮度不小于阈值1,且亮度也不大于阈值2,则补光状态不需要改变,设置状态改变参数ChangeStatus的值为0。而后,继续检测图像帧的亮度。当亮度小于阈值1,或者亮度大于阈值2时,补光状态需要改变,设置状态改变参数ChangeStatus的值为1。进一步的,若当前的补光状态为关闭,即未开启补光功能,则需要开启补光功能。若当前的补光状态不为关闭,则需要关闭补光功能。而后,继续检测图像帧的亮度。如图8所示,为扫码模式下启动补光功能和关闭补光功能的状态切换示意图。
可见,当终端自动根据图像帧的亮度值,自动进行补光,即提升了获取图像的亮度,又避免因用户的参与造成扫码时间延长。
(6)扩大扫码区域。
一般,扫码应用中会设置扫码区域,用于约束扫码对象在图像中的位置。如图9中(1)所示,扫码区域901未占据整个屏幕。当取景环境较暗,或者扫码对象距离较远时,用户可能反复调整终端的位置,使得扫码对象位于扫码区域901中。为此,在扫码模式下,终端也可以自动地放大扫码区域(例如扫码区域设置为全屏幕),便于增大相机取景的角度和范围,便于用户快速将扫码对象置于扫码区域中,用户操作更加灵活。如图9中(2)所示,扫码区域902,大于扫码区域901。
由上可见,本申请设置的扫码模式,从相机采集图像、处理图像到输出图像整个过程,采用各种优选的参数,以提升输出图像的质量,加快输出图像的效率,从而提升终端的扫码效率。
S414、相机模式管理模块向相机策略处理模块返回选择成功的响应。
S415、相机策略管理模块向相机服务返回图像采集模式配置完成的响应。
此时,相机服务配置的图像采集模式为扫码模式。
S416、相机服务向扫码应用返回图像采集模式配置完成的响应。
S417、扫码应用通过相机服务获取图像。
相机服务按照扫码模式中的参数采集图像、处理图像以及输出图像,将最终处理得到图像返回给扫码应用。
S418、相机服务向扫码应用返回获取的图像。
而后,在获取到图像后,扫码应用对获取图像中的扫码对象(例如二维码、条码、小程序码等)进行解析和识别。若识别成功,则扫码应用将该图像或者该图像信息发送至后台的服务器,由后台的服务器进行进一步的解析。若服务器解析成功,则扫码应用根据服务器的解析结果调用相应的业务,例如付款、信息显示等。
综上所述,在扫码应用开始初始化的同时,底层的相机策略处理模块就发起相机预加载从而加速相机的启动过程,以提升扫码效率。另外,在扫码模式下,相机采用预设的图像采集参数获取图像,这样有利于扫码应用识别出图像中的扫码对象,以及加速相机获取图像的过程。需要注意到,该预设的图像采集参数可以根据终端的硬件能力的上限进行设置的,那么,本申请的方案还充分发挥了终端的硬件能力来提升扫码性能的,有效地加大了扫码性能提升幅度。
还可以注意到,本申请是通过终端底层模块(如框架层场景识别模块、硬件抽象层的相机策略处理模块等)实现提升终端的扫码性能的。那么,终端对其上安装的所有扫码应用均能实现提升扫码性能的作用。换言之,无需修改各个扫码应用的代码以及业务流程,即无需对扫码应用进行变更和适配,即可提升各个扫码应用的扫码性能。
此外,当应市场上架新的扫码应用时,只需更新特征库,在特征库中添加新的扫码应用中扫码场景对应的Activity信息,即可提升该扫码应用的扫码效率。
需要说明的是,上述实施例是以终端100包括如图3所示的软件结构框图为例进行说明的,本申请实施例并不限定终端100的软件结构。
如图10所示,本申请实施例还提供另一种扫码方法的流程示意图。该扫码方法包括:
S1001、终端接收用户开启扫码应用第一功能的操作。
其中,扫码应用可以提供终端100与用户进行交互的界面,例如:扫码应用提供扫码控件,以便用户可以操作该扫码控件,以启动该扫码应用的扫码功能。其中,第一功能为扫码功能。当然,用户也可以通过输入语音命令,执行预设的手势(例如在触摸屏上绘制特定的图案、指关节敲击、隔空手势等)等方式启动扫码功能。本申请实施例对此扫码功能的开启方式不做限定。
S1002、响应于接收到开启扫码应用第一功能的操作,扫码应用进行初始化,并且终端识别当前场景。
示例性的,响应于接收到开启扫码应用第一功能的操作,扫码应用启动所述第一功能的组件Activity;而后扫码应用根据该Activity的信息加载第一功能对应的视图控件,即扫码应用进行初始化。与此同时,终端根据该Activity的信息识别终端当前所处的场景,即当前场景。
S1003、当终端识别出当前场景为扫码场景时,启动相机的预加载。
示例性的,终端将上述的Activity信息与预先存储的第一文件进行比对;其中,第一文件中存储有各个扫码应用中扫码场景对应的Activity的信息;当第一功能的Activity信息与第一文件中的某个扫码场景对应的Activity的信息一致,则比对成功,终端启动相机的预加载。
其中,相机的预加载包括:系统资源初始化,以及相机硬件的上电和软件初始化,其中,系统资源初始化包括加载动态库文件,依赖模块初始化,相机硬件包括图像传感器、对焦模块、图像处理模块、补光灯模块中一项或多项。
另外,终端可以在升级操作系统时,更新第一文件;或者,在终端更新扫码类APP时,更新第一文件;或者,在终端安装其他的扫码应用时,更新第一文件;或者,在接收到维护第一文件的服务器推送的更新消息时,更新第一文件。
在另一些实施例中,当识别出当前场景为扫码场景后,终端在启动相机后,还可以调整相机采集图像的参数。例如,增大所述相机采集图像的尺寸,增加所述相机采集图像的亮度,切换所述相机的采集图像时的对焦方式,扩大所述相机采集图像的帧率范围等。在一些示例中,相机启动后,图像采集模式默认为第一模式,例如为预览模式、拍照模式。那么,当识别当前场景为扫码场景后,终端可以自动将图像采集模式切换至第二模式,即为扫码模式。例如,第二模式包括以下至少一项:所述相机采集图像的尺寸设置为支持30fps的最大尺寸输出RAW图;所述相机采集图像的帧率范围为10fps-60fps;所述相机采集图像时采用相位对焦PDAF。
S1004、终端调用相机获取第一图像,并解析第一图像。
示例性的,终端在通过相机获取原始图像后,对原始图像预设的图像处理得到第一图像。其中,预设的图像处理包括以下一项或多项:增加所述原始图像的锐度;增加所述原始图像的对比度;提升所述原始图像的亮度。
S1005、当第一图像包含预设信息时,终端向服务器请求解析预设信息。
在获取到第一图像后,扫码应用对获取的第一图像进行解析和识别,以识别第一图像中是否包含符合规定规则的信息(简称为预设信息),例如二维码、条码、小程序码等。若识别成功,则扫码应用将该图像或者该图像信息(例如预设信息)发送至后台的服务器,由后台的服务器进行后续处理。
S1006、终端接收服务器返回的预设信息对应的解析结果。
S1007、终端执行解析结果对应的功能。
若服务器对第一图像中的预设信息解析成功,则扫码应用根据服务器的解析结果调用相应的业务,例如付款、信息显示等。
如图11所示,本申请实施例还提供了一种扫码方法的流程示意图。该扫码方法包括:
1、APP启动/恢复Activity。其中,启动是指用户首次点击APP中的扫码控件启动Activity。恢复是用户从由其他界面返回扫码界面,终端恢复Activity。
而后,一方面,终端中场景识别模块会通过活动管理模块中注册的Activity的信息,与特征库文件中的信息进行匹配。匹配成功后,会通知相机策略处理模块记录当前场景为扫码场景,并且相机策略处理模块调用相机预加载模块,先于APP的相机调用流程,提前进行相机加载和初始化。具体的,步骤1之后执行如下步骤1.1至步骤1.1.2.2.1.1。
1.1、活动管理器将启动/恢复的Activity的信息发送到场景识别模块,由场景识别模块进行识别。
1.1.1、场景识别模块将启动/恢复的Activity的信息与特征库文件中的信息进行匹配(即步骤1.1.1)。其中,特征库文件中包括扫码场景对应的包名、Activity的标识、Activity的名称等信息。当确定启动/恢复的Activity的信息与特征库文件中的信息匹配时,场景识别模块确定当前场景为扫码场景。
1.1.2、场景识别模块进行场景分发,即将当前场景为扫码场景通知相机策略处理模块。
1.1.2.1、相机策略处理模块记录当前场景为扫码场景。
1.1.2.2、相机策略处理模块进行扫码场景处理,启动相机预加载。
1.1.2.2.1、相机预加载通知硬件抽象层的相机模块,启动和初始化相机。
1.1.2.2.1.1、硬件抽象层的相机模块通知相机系统,相机上电以及进行初始化。
其中,相机系统包括包括相机驱动以及相机硬件。
另一方面,APP启动相机。也就是说,步骤1之后,还同时执行包括如下步骤:
2、APP调用框架层的相机服务,启动相机。
2.1、相机服务调用硬件抽象层的相机模块,执行相机启动和初始化。
此时底层会判断是否已经启动相机预加载,若预加载已经完成,则直接返回。若预加载中,则等待预加载完成后返回。若没有启动预加载,则直接加载相机和进行初始化。
在APP启动相机后,执行如下步骤:
3、APP向框架层的相机服务发送配置的图像规格参数(包括图像采集参数)以及请求获取图像数据。
3.1、框架层的相机服务向硬件抽象层的相机模块发送配置的图像规格参数。
3.1.1、硬件抽象层的相机模块根据APP配置的图像规格参数,向相机模式管理模块请求相机模式。
3.1.2、相机模式管理模块通过场景记录,获取到当前场景为扫码场景,获取当前模式为扫码模式。
3.1.1.1、相机模式管理模块通知相机系统当前的模式为扫码模式。
在相机模式配置完成后,执行如下步骤:
3.2、框架层的相机服务向硬件抽象层的相机模块请求图像数据。
3.2.1硬件抽象层的相机模块通知相机系统采集图像数据。
需要说明的是,以上实施例是以扫码功能为例,阐述提前启动相机预加载以及采用预设的图像采集参数获取图像的方案。在其他一些应用场景,也是可以采用本申请实施例提供的方案。例如,文字或图片识别功能,也需要调用终端的相机采集图像,并对图像进行识别和解析。因此,基于本申请实施例提供的发明构思,在该文字或图像识别功能中,也可以采用本申请实施例提供技术方案,加速终端获取高质量的图像,提升后续基于高质量的图像进行识别和解析的成功率。需要说明的是,针对文字或图片识别功能,其中预设的图像参数中的部分参数可以设置与扫码功能中的部分参数不同。
本申请实施例还提供一种芯片系统,如图12所示,该芯片系统包括至少一个处理器1901和至少一个接口电路1902。处理器1901和接口电路1902可通过线路互联。例如,接口电路1902可用于从其它装置(例如移动终端100的存储器)接收信号。又例如,接口电路1902可用于向其它装置(例如处理器1901)发送信号。示例性的,接口电路1902可读取存储器中存储的指令,并将该指令发送给处理器1901。当指令被处理器1901执行时,可使得终端执行上述实施例中的终端100(比如,手机)执行的各个步骤。当然,该芯片系统还可以包含其他分立器件,本申请实施例对此不作具体限定。
可以理解的是,上述终端等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
本申请实施例可以根据上述方法示例对上述终端等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (20)
1.一种扫码方法,其特征在于,应用于包含相机的终端,所述方法包括:
所述终端接收用户开启扫码应用第一功能的操作;
响应于接收到所述操作,所述扫码应用进行初始化,并且所述终端识别当前场景;
当所述终端识别出当前场景为扫码场景时,所述终端启动所述相机的预加载;
所述终端调用所述相机获取第一图像,并解析所述第一图像;
当所述第一图像包含预设信息时,所述终端向服务器请求解析所述预设信息;
所述终端接收所述服务器返回的所述预设信息对应的解析结果;
所述终端执行所述解析结果对应的功能。
2.根据权利要求1所述的方法,其特征在于,所述相机的预加载包括:系统资源初始化,以及相机硬件的上电和软件初始化,其中,系统资源初始化包括加载动态库文件,依赖模块初始化,所述相机硬件包括图像传感器、对焦模块、图像处理模块、补光灯模块中一项或多项。
3.根据权利要求1或2所述的方法,其特征在于,所述响应于接收到所述操作,所述扫码应用进行初始化,同时所述终端启动所述相机的预加载,具体为:
响应于接收到所述操作,所述扫码应用启动所述第一功能的组件Activity;
所述扫码应用根据所述Activity加载所述第一功能对应的视图控件,以及所述终端根据所述Activity的信息启动所述相机的预加载。
4.根据权利要求3所述的方法,其特征在于,所述终端根据所述Activity的信息启动所述相机的预加载,具体为:
所述终端将所述Activity的信息与预先存储的第一文件进行比对;其中,所述第一文件中存储有各个扫码应用中扫码场景对应的Activity的信息;
当比对成功后,所述终端启动所述相机的预加载。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述终端的操作系统升级时,更新所述第一文件;或者,在所述终端更新扫码类APP时,更新所述第一文件;或者,在所述终端安装其他的扫码应用时,更新所述第一文件;或者,在接收到维护所述第一文件的服务器推送的更新消息时,更新所述第一文件。
6.根据权利要求1-5任一项所述的方法,其特征在于,在所述终端调用所述相机获取第一图像,并解析所述第一图像之前,所述方法还包括:
所述终端调整所述相机采集图像的参数;其中,所述调整所述相机采集图像的参数包括以下一项或多项:增大所述相机采集图像的尺寸,增加所述相机采集图像的亮度,切换所述相机的采集图像时的对焦方式,扩大所述相机采集图像的帧率范围。
7.根据权利要求6所述的方法,其特征在于,所述终端调整所述相机采集图像的参数包括:所述终端将所述相机的图像采集模式从第一模式切换至第二模式,所述第一模式为预览模式或拍照模式,所述第二模式为扫码模式。
8.根据权利要求7所述的方法,其特征在于,所述第二模式包括以下至少一项:所述相机采集图像的尺寸设置为支持30fps的最大尺寸输出RAW图;所述相机采集图像的帧率范围为10fps-60fps;所述相机采集图像时采用相位对焦PDAF。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述终端调用所述相机获取第一图像,具体为:
所述终端调用所述相机采集原始图像;
所述终端对所述原始图像进行第一图像处理得到所述第一图像;其中,所述第一图像处理包括以下一项或多项:增加所述原始图像的锐度;增加所述原始图像的对比度;提升所述原始图像的亮度。
10.一种终端,其特征在于,包括:处理器、存储器、相机和屏幕,所述存储器、所述相机和所述屏幕与所述处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器从所述存储器中读取所述计算机指令,以使得所述终端执行如下操作:
接收用户开启扫码应用第一功能的操作;
响应于接收到所述操作,初始化所述扫码应用,并且识别当前场景;
当所述终端识别出当前场景为扫码场景时,启动所述相机的预加载;
调用所述相机获取第一图像,并解析所述第一图像;
当所述第一图像包含预设信息时,向服务器请求解析所述预设信息;
接收所述服务器返回的所述预设信息对应的解析结果;
执行所述解析结果对应的功能。
11.根据权利要求10所述的终端,其特征在于,所述相机的预加载包括:系统资源初始化,以及相机硬件的上电和软件初始化,其中,系统资源初始化包括加载动态库文件,依赖模块初始化,所述相机硬件包括图像传感器、对焦模块、图像处理模块、补光灯模块中一项或多项。
12.根据权利要求10或11所述的终端,其特征在于,所述响应于接收到所述操作,初始化所述扫码应用,同时启动所述相机的预加载,具体为:
响应于接收到所述操作,所述扫码应用启动所述第一功能的组件Activity;
所述扫码应用根据所述Activity加载所述第一功能对应的视图控件,以及所述终端根据所述Activity的信息启动所述相机的预加载。
13.根据权利要求12所述的终端,其特征在于,所述终端根据所述Activity的信息启动所述相机的预加载,具体为:
所述终端将所述Activity的信息与预先存储的第一文件进行比对;其中,所述第一文件中存储有各个扫码应用中扫码场景对应的Activity的信息;
当比对成功后,所述终端启动所述相机的预加载。
14.根据权利要求13所述的终端,其特征在于,所述终端还执行:
在所述终端的操作系统升级时,更新所述第一文件;或者,在所述终端更新扫码类APP时,更新所述第一文件;或者,在所述终端安装其他的扫码应用时,更新所述第一文件;或者,在接收到维护所述第一文件的服务器推送的更新消息时,更新所述第一文件。
15.根据权利要求10-14任一项所述的终端,其特征在于,在所述终端调用所述相机获取第一图像,并解析所述第一图像之前,所述终端还执行:
调整所述相机采集图像的参数;其中,所述调整所述相机采集图像的参数包括以下一项或多项:增大所述相机采集图像的尺寸,增加所述相机采集图像的亮度,切换所述相机的采集图像时的对焦方式,扩大所述相机采集图像的帧率范围。
16.根据权利要求15所述的终端,其特征在于,所述终端调整所述相机采集图像的参数包括:所述终端将所述相机的图像采集模式从第一模式切换至第二模式,所述第一模式为预览模式或拍照模式,所述第二模式为扫码模式。
17.根据权利要求16所述的终端,其特征在于,所述第二模式包括以下至少一项:所述相机采集图像的尺寸设置为支持30fps的最大尺寸输出RAW图;所述相机采集图像的帧率范围为10fps-60fps;所述相机采集图像时采用相位对焦PDAF。
18.根据权利要求10-17任一项所述的终端,其特征在于,所述终端调用所述相机获取第一图像,具体为:
所述终端调用所述相机采集原始图像;
所述终端对所述原始图像进行第一图像处理得到所述第一图像;其中,所述第一图像处理包括以下一项或多项:增加所述原始图像的锐度;增加所述原始图像的对比度;提升所述原始图像的亮度。
19.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在终端上运行时,使得所述终端执行如权利要求1-9中任一项所述的方法。
20.一种计算机程序产品,其特征在于,当计算机程序产品在计算机上运行时,使得计算机执行如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110221504.6A CN114970589A (zh) | 2021-02-27 | 2021-02-27 | 一种扫码方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110221504.6A CN114970589A (zh) | 2021-02-27 | 2021-02-27 | 一种扫码方法及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114970589A true CN114970589A (zh) | 2022-08-30 |
Family
ID=82974333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110221504.6A Pending CN114970589A (zh) | 2021-02-27 | 2021-02-27 | 一种扫码方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114970589A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116720533A (zh) * | 2022-09-19 | 2023-09-08 | 荣耀终端有限公司 | 扫码方法、电子设备及可读存储介质 |
CN117725941A (zh) * | 2024-02-02 | 2024-03-19 | 荣耀终端有限公司 | 扫码方法及电子设备 |
-
2021
- 2021-02-27 CN CN202110221504.6A patent/CN114970589A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116720533A (zh) * | 2022-09-19 | 2023-09-08 | 荣耀终端有限公司 | 扫码方法、电子设备及可读存储介质 |
CN116720533B (zh) * | 2022-09-19 | 2024-05-17 | 荣耀终端有限公司 | 扫码方法、电子设备及可读存储介质 |
CN117725941A (zh) * | 2024-02-02 | 2024-03-19 | 荣耀终端有限公司 | 扫码方法及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113132620B (zh) | 一种图像拍摄方法及相关装置 | |
CN110581948B (zh) | 提供质量定制图像的电子装置及其控制方法、服务器 | |
CN109903260B (zh) | 图像处理方法及图像处理装置 | |
US11245933B2 (en) | Method and server for generating image data by using multiple cameras | |
WO2022042776A1 (zh) | 一种拍摄方法及终端 | |
CN110769152A (zh) | 摄像处理方法、装置、终端设备及存储介质 | |
CN114970589A (zh) | 一种扫码方法及终端 | |
CN114168235A (zh) | 一种功能切换入口的确定方法与电子设备 | |
CN116055874B (zh) | 一种对焦方法和电子设备 | |
CN116033275B (zh) | 一种自动曝光方法、电子设备及计算机可读存储介质 | |
JP2022528628A (ja) | Se及び電子デバイスの自動ルーティング方法 | |
CN113660408A (zh) | 一种视频拍摄防抖方法与装置 | |
CN115967851A (zh) | 快速拍照方法、电子设备及计算机可读存储介质 | |
CN116452778A (zh) | 一种增强现实系统、多设备构建三维地图的方法及设备 | |
CN116027997A (zh) | 一种打开文件的方法及设备 | |
CN111222041A (zh) | 拍摄资源数据获取方法、装置、电子设备及存储介质 | |
CN116723383B (zh) | 一种拍摄方法及相关设备 | |
CN115686182B (zh) | 增强现实视频的处理方法与电子设备 | |
US11252341B2 (en) | Method and device for shooting image, and storage medium | |
CN112989092A (zh) | 一种图像处理方法及相关装置 | |
CN116723382B (zh) | 一种拍摄方法及相关设备 | |
CN114245011B (zh) | 图像处理方法、用户界面及电子设备 | |
CN115460343B (zh) | 图像处理方法、设备及存储介质 | |
CN117956264A (zh) | 拍摄方法、电子设备、存储介质和程序产品 | |
CN117850896A (zh) | 一种预加载方法、电子设备、芯片及可读存储介质 |
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 |