CN117499791A - 处理图像数据的方法和装置 - Google Patents

处理图像数据的方法和装置 Download PDF

Info

Publication number
CN117499791A
CN117499791A CN202311675479.4A CN202311675479A CN117499791A CN 117499791 A CN117499791 A CN 117499791A CN 202311675479 A CN202311675479 A CN 202311675479A CN 117499791 A CN117499791 A CN 117499791A
Authority
CN
China
Prior art keywords
image data
data
application layer
interface
processing 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.)
Pending
Application number
CN202311675479.4A
Other languages
English (en)
Inventor
陈毅
任兴
孙斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI INNOVATECH INFORMATION TECHNOLOGY CO LTD
Original Assignee
SHANGHAI INNOVATECH INFORMATION TECHNOLOGY CO LTD
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHANGHAI INNOVATECH INFORMATION TECHNOLOGY CO LTD filed Critical SHANGHAI INNOVATECH INFORMATION TECHNOLOGY CO LTD
Priority to CN202311675479.4A priority Critical patent/CN117499791A/zh
Publication of CN117499791A publication Critical patent/CN117499791A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/665Control 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)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例提供了一种处理图像数据的方法和装置,能够在安卓系统中直接对摄像头采集到的图像数据进行处理,缩短应用层获取到待处理图像数据的时间,从而缩短电子设备从输入待处理图像到输出处理结果所需要的时间。该处理图像数据的方法应用于电子设备,电子设备包括摄像头、数据池和图像信号处理器ISP,电子设备的操作系统为安卓系统,所述方法包括:摄像头采集第一图像数据;数据池存储第一图像数据;应用层通过直接数据接口从数据池中获取第一图像数据,直接数据接口用于直接连接数据池与应用层,以使得应用层获取的第一图像数据未经过ISP处理;应用层对第一图像数据进行解码。

Description

处理图像数据的方法和装置
技术领域
本申请实施例涉及图像处理领域,并且更具体地,涉及一种处理图像数据的方法和装置。
背景技术
随着移动互联网的快速发展和基于安卓平台的智能手机、平板电脑的普及,安卓系统在日常生活中的应用越来越广泛。
在目前的安卓系统中,与处理图像数据相关的结构中默认包括图像信号处理器(image signal processor,ISP),由摄像头拍摄得到的照片会在ISP中进行处理,使得图片的色彩、曝光等参数具有更好的呈现。然而,ISP对图像的处理会导致电子设备从拍摄或扫描待处理图像到输出处理结果的时间较长,影响用户体验。因此,如何缩短电子设备从输入待处理图像到输出处理结果的时间,是一个需要解决的问题。
发明内容
本申请实施例提供了一种处理图像数据的方法和装置,能够在安卓系统中直接对摄像头采集到的图像数据进行处理,缩短应用层获取到待处理图像数据的时间,从而缩短电子设备从输入待处理图像到输出处理结果所需要的时间,提高处理图像数据的效率。
第一方面,提供了一种处理图像数据的方法,应用于电子设备,所述电子设备包括摄像头、数据池和图像信号处理器ISP,所述电子设备的操作系统为安卓系统,所述方法包括:所述摄像头采集第一图像数据;所述数据池存储所述第一图像数据;应用层通过直接数据接口从所述数据池中获取第一图像数据,所述直接数据接口用于直接连接所述数据池与所述应用层,以使得所述应用层获取的所述第一图像数据未经过所述ISP处理;所述应用层对所述第一图像数据进行解码。
在本申请实施例中,直接数据接口能够提供数据传输的通道,使得应用层能够直接从数据池获得待处理图像的原始数据,即第一图像数据,而不需要等待第一图像数据被ISP处理后再对被处理后的图像数据进行解码,这样可以将ISP对第一图像数据进行处理的时间节省下来,实现第一图像数据在数据池与应用层之间的快速传输,减少应用层从数据池中获取第一图像数据的时间,从而缩短电子设备从输入待处理图像到输出处理结果所需要的时间,提高电子设备处理图像数据的效率。同时,相比于经过了ISP进行处理的图像数据,应用层直接获取到的图像数据的完整性能够得到更大的提高,从而也能够大大提高应用层对图像中的信息的识别率,提高应用层解码出来的信息的准确性。
在一些实施例中,所述应用层通过直接数据接口从所述数据池中获取第一图像数据,包括:所述应用层接收第一指示信息,所述第一指示信息用于指示所述应用层选择所述直接数据接口获取数据;所述应用层根据所述第一指示信息确定通过所述直接数据接口获取所述第一图像数据。
第一指示信息能够使得应用层通过直接数据接口获取未经过ISP处理的第一图像数据,减少应用层从其他接口获取数据的可能性,这样能够提高电子设备的运行速度,降低应用层获取到第一图像数据的时间,从而提高应用层处理图像数据的速度。
在一些实施例中,所述电子设备包括第一默认接口和第二默认接口,所述第一默认接口用于在所述数据池与所述ISP之间传输数据,所述第二默认接口用于在所述ISP与所述应用层之间传输数据,所述方法还包括:所述ISP通过所述第一默认接口从所述数据池获取所述第一图像数据,对所述第一图像数据进行处理,得到第二图像数据;所述应用层通过所述第二默认接口接收所述第二图像数据。
电子设备中包括多种传输图像数据的方式,这样可以使得电子设备对图像数据的处理更加灵活,能够根据不同需求选择不同的处理图像数据的模式,从而提高用户体验。
在一些实施例中,所述应用层通过所述第二默认接口接收所述第二图像数据,包括:所述应用层接收第二指示信息,所述第二指示信息用于指示所述应用层选择所述第二默认接口获取数据;所述应用层根据所述第二指示信息确定通过所述第二默认接口接收所述第二图像数据;所述应用层对所述第二图像数据进行解码。
第二指示信息能够使得应用层通过第二默认接口来获取数据,能够根据不同需求选择合理的处理图像数据的方式,提高用户体验。
在一些实施例中,所述方法还包括:在所述应用层通过所述第二默认接口获取所述第二图像数据的情况下,所述应用层丢弃所述第二图像数据。
这样一方面可以缩短应用层从数据池中获取到待处理图像的数据的时间,另一方面也可以减少应用层需要处理的数据量,提高应用层处理图像数据的效率。
在一些实施例中,所述方法还包括:所述数据池向所述应用层发送第一传输信息,所述第一传输信息用于指示所述应用层获取所述第一图像数据;所述应用层根据所述第一传输信息创建所述直接数据接口。
应用层能够在需要获取图像数据时建立直接数据接口,直接从数据池中获取第一图像数据,将ISP对第一图像数据进行处理的时间节省下来,减少应用层从数据池中获取第一图像数据的时间,从而提高电子设备处理图像数据的效率。
第二方面,提供了一种处理图像数据的装置,所述装置包括采集模块、存储模块、处理模块和图像信号处理器ISP,所述装置的操作系统为安卓系统;所述采集模块用于采集第一图像数据;所述存储模块用于存储所述第一图像数据;所述处理模块用于通过直接数据接口从所述存储模块中获取第一图像数据,所述直接数据接口用于直接连接所述存储模块与所述处理模块,以使得所述处理模块获取的所述第一图像数据未经过所述ISP处理;所述处理模块用于对所述第一图像数据进行解码。
在一些实施例中,所述处理模块用于接收第一指示信息,所述第一指示信息用于指示所述处理模块选择所述直接数据接口获取数据;所述处理模块用于根据所述第一指示信息确定通过所述直接数据接口获取所述第一图像数据。
在一些实施例中,所述装置包括第一默认接口和第二默认接口,所述第一默认接口用于在所述存储模块与所述ISP之间传输数据,所述第二默认接口用于在所述ISP与所述处理模块之间传输数据;所述ISP用于通过所述第一默认接口从所述存储模块获取所述第一图像数据,对所述第一图像数据进行处理,得到第二图像数据;所述处理模块通过所述第二默认接口接收所述第二图像数据。
在一些实施例中,所述处理模块用于接收第二指示信息,所述第二指示信息用于指示所述应用层选择所述第二默认接口获取数据;所述处理模块用于根据所述第二指示信息确定通过所述第二默认接口接收所述第二图像数据;所述处理模块用于对所述第二图像数据进行解码。
在一些实施例中,在所述处理模块通过所述第二默认接口获取所述第二图像数据的情况下,所述处理模块用于丢弃所述第二图像数据。
在一些实施例中,所述存储模块用于向所述应用层发送第一传输信息,所述第一传输信息用于指示所述应用层获取所述第一图像数据;所述处理模块用于根据所述第一传输信息创建所述直接数据接口。
第三方面,提供了一种电子设备,包括如上述第二方面中任一实施例所述的装置。
第四方面,提供了一种计算机可读存储介质,包括计算机程序,当所述计算机程序在计算机设备或处理器上运行时,使得所述计算机设备或所述处理器执行如上述第一方面中任一实施例所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据附图获得其他的附图。
图1为本申请实施例提供的一种电子设备的软件结构示意图。
图2是本申请实施例提供的一种处理图像数据的方法的示意性框图。
图3是本申请实施例提供的一种第一图像数据的传输路径的示意性框图。
图4是本申请实施例提供的另一种第一图像数据的传输路径的示意性框图。
图5是本申请实施例提供的一种处理图像数据的装置的示意性框图。
在附图中,附图并未按照实际的比例绘制。
具体实施方式
下面结合附图和实施例对本申请的实施方式作进一步详细描述。以下实施例的详细描述和附图用于示例性地说明本申请的原理,但不能用来限制本申请的范围,即本申请不限于所描述的实施例。
以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个、两个或两个以上。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施方式”、“一些实施方式”、“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例提供的方法应用于电子设备,电子设备包括但不限于手机、平板电脑、车载设备、可穿戴设备、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、智慧屏以及其他具有显示屏的电子设备。本申请实施例对电子设备的具体类型不作任何限制。
电子设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的系统为例,示例性说明电子设备的软件结构。
图1为本申请实施例提供的一种电子设备的软件结构示意图,如图1所示,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将系统分为四层,从上至下分别为应用程序层,应用程序框架层,系统运行库层以及内核层。内核层之下则为硬件层。
应用程序层可以包括一系列应用程序(application,APP)包。如图1所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架,应用程序框架层包括一些预先定义的函数。如图1所示,应用程序框架层可以包括窗口管理器,内容提供器,电话管理器,资源管理器,通知管理器、视图系统、卡片服务引擎等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。示例性的,窗口管理器可以获取电子设备上待显示窗口的大小,判断该待显示窗口的内容等。应理解,电子设备的待显示窗口可以包括电子设备的界面上正在显示的窗口,还可以包括电子设备后台运行的一个或多个应用程序的窗口。
窗口管理器是一个服务(service),它是全局的、系统中唯一的、独立于应用程序的单独的C++服务,窗口管理器被所有应用程序公用。的窗口管理系统是基于客户端/服务端(client/service,C/S)模式的,整个窗口系统分为服务端(service)和客户端(client)两大部分。客户端即应用程序,负责请求创建窗口和使用窗口;服务端即窗口管理服务(window manager service或WindowManagerService,WMS),负责完成窗口的维护、窗口显示等。客户端并不是直接和窗口管理服务交互,而是直接和本地对象窗口管理(windowmanager或WindowManager)交互,然后由窗口管理(WindowManager)完成和窗口管理服务(WindowManagerService)的交互。对于应用来说这个交互是透明的,应用不能感知到窗口管理服务的存在。
窗口就是屏幕上的一块矩形区域,可以显示用户界面(user interface,UI)和与用户交互。在一些实施例中,窗口也可以将用户界面(即软件的操作界面)隐藏起来,在用户需要操作时再快速为用户展现应用导航和功能操作,或者根据触发的指令再度展开应用的操作界面。从系统的角度看,窗口其实是一个画布(surface)。一个屏幕可以有多个窗口,而这多个窗口的布局和顺序以及窗口动画是由窗口管理服务WMS管理的,多个画布内容混合和显示则是由SurfaceFlinger服务实现的。窗口是分层的,层级大的会覆盖在层级小的窗口上面,可以用z层级表示窗口的堆叠关系,z层级大(z层级高)的窗口覆盖在z层级小(z层级低)的窗口上面。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备振动,指示灯闪烁等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
系统运行库层(libraries)可以分成两部分,分别是系统库和安卓运行时(Android runtime)。
Android运行时即Android运行环境,包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库是应用程序框架的支撑,可包括多个功能模块,例如:表面管理器(surfacemanager),媒体库(media libraries),二维图形引擎(例如SGL)、三维图形处理库(例如OpenGL ES)、图像处理库等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成和图层处理等。
二维图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层,用于提供操作系统的本质功能例如文件管理、内存管理、进程管理、网络协议栈等。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动、蓝牙驱动等。
本申请实施例可以应用于操作系统为安卓系统的电子设备中,安卓系统可以本身具有处理图像数据的软件结构,具体地,安卓系统可以包括应用层、数据池和ISP,本申请实施例可以在安卓系统默认的处理图像数据的软件结构的基础上实施。
本申请实施例可以应用于操作系统为安卓系统的电子设备中,该电子设备可以包括摄像头、数据池和ISP,能够对获取到的图像数据进行处理,例如,通过对图像数据解码来获得图像数据中记录的信息。
具体地,本申请实施例提供的一种处理图像数据的方法200,如图2所示,方法200至少包括以下步骤。
210、摄像头采集第一图像数据。
220、数据池存储第一图像数据。
230、应用层通过直接数据接口从数据池中获取第一图像数据,直接数据接口用于直接连接数据池与应用层,以使得应用层获取的第一图像数据未经过ISP处理。
240、应用层对第一图像数据进行解码。
图3示出了一种第一图像数据的传输路径的示意性框图,如图3所示,摄像头401采集第一图像数据,数据池402存储摄像头401采集到的第一图像数据,在应用层403需要对第一图像数据进行解码的情况下,应用层403可以通过直接数据接口404从数据池402获取第一图像数据,并对第一图像数据进行解码。
具体地,摄像头401对一个或多个待处理的图像进行拍摄可以得到至少一个第一图像数据。待处理的图像可以是用于记录数据符号信息的图像,例如,记载了条形码、二维码等的图像。在本申请实施例中,摄像头401可以包括用于采集图像数据的结构,例如,图像采集器,或采集模块等。
摄像头401拍摄得到的图像直接存储至数据池402中可以提高图像的原始数据的完整性,从而在应用层403从数据池402中获取第一图像数据时也能够获取到较为完整的原始数据,这样能够提高应用层403对第一图像数据解码的准确性。
摄像头401采集到的第一图像数据可以存储于数据池402中,数据池402中可以存储有一个或多个数据,在应用层403需要对第一图像数据进行解码的情况下,应用层403能够从数据池402中的一个或多个数据中获取第一图像数据。
应用层403可以指的是图1中的应用程序层,能够对获取到的数据进行处理,例如,应用层403可以从数据池402中获取待处理的图像数据,并对图像数据进行解码。在本申请实施例中,应用层403通过直接数据接口404从数据池402中获取第一图像数据并对第一图像数据进行解码。直接数据接口404是电子设备中直接连接数据池402与应用层403的逻辑接口,可以看作是应用层403从数据池402中获取数据的路径,该路径能够在传输过程中保留第一图像数据在数据池402中的全部原始数据,且在将第一图像数据传输给应用层403的过程中不对第一图像数据进行处理,该路径也不经过ISP 405,第一图像数据也就不会在ISP 405中经过处理。也就是说,应用层403在进行解码时使用的第一图像数据与存储于数据池402中的第一图像数据相同。
这种方法可以应用于图片的解码信息比图片的显示更为重要的场景下。例如,当图片为二维码、条形码等包括数据信息较多的图片的情况下,解码出图片所包括的信息比图片本身的色彩、曝光等显示更为重要,则数据池402中的第一图像数据可以直接传输至应用层403,使得应用层403对该第一图像数据进行解码,而不再需要经过ISP 405对图像数据进行处理后再将处理后的图像数据传输至应用层403进行解码。
在本申请实施例中,直接数据接口404能够提供数据传输的通道,使得应用层403能够直接从数据池402获得待处理图像的原始数据,即第一图像数据,而不需要等待第一图像数据被ISP 405处理后再对被处理后的图像数据进行解码,这样可以将ISP 405对第一图像数据进行处理的时间节省下来,实现第一图像数据在数据池402与应用层403之间的快速传输,减少应用层403从数据池402中获取第一图像数据的时间,从而缩短电子设备从输入待处理图像到输出处理结果所需要的时间,提高电子设备处理图像数据的效率。同时,相比于经过了ISP 405进行处理的图像数据,应用层403直接获取到的图像数据的完整性能够得到更大的提高,从而也能够大大提高应用层403对图像中的信息的识别率,提高应用层403解码出来的信息的准确性。
根据本申请的一些实施例,可选地,步骤230可以具体包括以下步骤:应用层接收第一指示信息,第一指示信息用于指示应用层选择直接数据接口获取数据;应用层根据第一指示信息确定通过直接数据接口获取第一图像数据。
应用层403可以包括多个获取数据的接口,第一指示信息用于指示应用层403选择直接数据接口404获取数据。第一指示信息可以是人为选择的,例如,用户在操作电子设备时对图像的类型或处理方式进行了相应的选择,则电子设备可以生成第一指示信息,以指示应用层403通过直接数据接口404获取数据。可选地,第一指示信息可以是预设的,例如,电子设备在预设的运行模式下,要求应用层403通过直接数据接口404获取数据,则在该运行模式的程序中,包括第一指示信息,用于指示应用层403通过直接数据接口404从数据池402获取第一图像数据。
应理解,上述场景仅为举例,本申请不对第一指示信息生成的方式进行限定。
应用层403根据第一指示信息,可以从多个数据接口中选择直接数据接口404,直接从数据池402中获取第一图像数据,提高应用层403获取待处理图像的数据的速度。
第一指示信息能够使得应用层403通过直接数据接口404获取未经过ISP 405处理的第一图像数据,减少应用层403从其他接口获取数据的可能性,这样能够提高电子设备的运行速度,降低应用层403获取到第一图像数据的时间,从而提高应用层403处理图像数据的速度。
根据本申请的一些实施例,可选地,电子设备包括第一默认接口406和第二默认接口407,第一默认接口406用于在数据池402与ISP 405之间传输数据,第二默认接口407用于在ISP 405与应用层403之间传输数据,方法200还可以包括以下步骤:ISP 405通过第一默认接口406从数据池402获取第一图像数据,对第一图像数据进行处理,得到第二图像数据;应用层403通过第二默认接口407接收第二图像数据。
在一种可选的实施方式中,应用层403可以从其他接口接收数据,例如,应用层403可以从第二默认接口407接收数据。图4示出了电子设备包括多个向应用层403传输数据的接口的情况,如图4所示,电子设备可以包括摄像头401、数据池402、应用层403、直接数据接口404、ISP 405、第一默认接口406和第二默认接口407。第一默认接口406可以为硬件接口,连接数据池402和ISP 405,第二默认接口407可以为逻辑接口,连接ISP 405和应用层403,数据池402中存储的第一图像数据可以通过第一默认接口406传输至ISP 405中进行处理,ISP 405对第一图像数据进行处理,例如,调整第一图像数据中与色彩、曝光等参数对应的数据,得到第二图像数据。进一步地,第二图像数据可以通过第二默认接口407传输至应用层403。
电子设备中可以同时存在第一默认接口406、第二默认接口407和直接数据接口404,待处理的图像对应的第一图像数据既可以通过直接数据接口404传输至应用层403,也可以通过第一默认接口406传输至ISP 405进行图像处理,再通过第二默认接口407传输至应用层403。可选地,可以根据不同情况选择不同的模式传输图像数据。例如,在需要识别出待处理图像所记载的信息的情况下,可以选择通过直接数据接口404进行图像数据的传输;再例如,在需要对待处理图像进行显示的情况下,可以选择通过ISP 405进行处理后再传输至应用层403。
电子设备中包括多种传输图像数据的方式,这样可以使得电子设备对图像数据的处理更加灵活,能够根据不同需求选择不同的处理图像数据的模式,从而提高用户体验。
根据本申请的一些实施例,可选地,应用层403通过第二默认接口407接收第二图像数据可以具体包括以下步骤:应用层403接收第二指示信息,第二指示信息用于指示应用层403选择第二默认接口407获取数据;应用层403根据第二指示信息确定通过第二默认接口407接收第二图像数据;应用层403对第二图像数据进行解码。
应用层403可以包括多个获取数据的接口,第二指示信息用于指示应用层403选择第二默认接口407获取数据。第二指示信息可以是人为选择的,例如,用户在操作电子设备时对图像的类型或处理方式进行了相应的选择,则电子设备可以生成第二指示信息,以指示应用层403从第二默认接口407获取数据。可选地,第二指示信息可以是预设的,例如,电子设备在预设的运行模式下,要求应用层403从第二默认接口407获取数据,则在该运行模式的程序中,包括第二指示信息,用于指示应用层403从第二默认接口407获取数据。
应理解,上述场景仅为举例,本申请不对第二指示信息生成的方式进行限定。
应用层403根据第二指示信息,可以从多个数据接口中选择第二默认接口407,从ISP 405中获取第二图像数据,其中,第二图像数据是由ISP 405对第一图像数据进行处理后得到的。进一步地,应用层403对第二图像数据进行解码,来获取第二图像数据中的信息。
第二指示信息能够使得应用层403通过第二默认接口407来获取数据,能够根据不同需求选择合理的处理图像数据的方式,提高用户体验。
根据本申请的一些实施例,可选地,方法200还可以包括以下步骤:在应用层403通过第二默认接口407获取第二图像数据的情况下,应用层403丢弃第二图像数据。
在图4示出的数据传输接口的示意性框图中可以看出,应用层403既可以通过直接数据接口404从数据池402中获取数据,也可以通过第一默认接口406和第二默认接口407从数据池402中获取数据。在一些实施例中,为了加快应用层403对第一图像数据的处理速度,应用层403优先通过直接数据接口404获取第一图像数据并进行处理,而不对通过第二默认接口407接收到的数据进行处理。因此,在应用层403接收到从第二默认接口407传输而来的数据时,应用层403可以直接丢弃该数据,例如,应用层403可以丢弃从第二默认接口407传输过来的第二图像数据。
这样一方面可以缩短应用层403从数据池402中获取到待处理图像的数据的时间,另一方面也可以减少应用层403需要处理的数据量,提高应用层403处理图像数据的效率。
根据本申请的一些实施例,可选地,方法200还可以包括以下步骤来建立直接数据接口。具体地,数据池402向应用层403发送第一传输信息,第一传输信息用于指示应用层403获取第一图像数据;应用层403根据第一传输信息创建直接数据接口404。
在数据池402接收到第一图像数据的情况下,数据池402可以向应用层403发送第一传输信息。第一传输信息可以是用于表示数据开始传输的一类信息,指示应用层403可以开始从数据池402中获取数据。在本申请实施例中,应用层403需要从数据池402中获取第一图像数据。
相应地,应用层403接收第一传输信息,并根据第一传输信息创建用于接收数据池402中的图像数据的通道,该通道可以通过利用直接数据接口404连接数据池402和应用层403来实现。在一种可能的实施方式中,应用层403可以根据第一传输信息建立后台进程,在该后台进程中创建直接数据接口404,定时对数据池402进行图像数据的读取工作,进一步地,可以在后台进程中定时获取数据池402中的图像数据。
在一些实施例中,应用层403对第一图像数据进行解码具体可以通过算法实时对读取的图像数据进行解码,直到应用层403解码出第一图像数据记录的信息或者接收到第二传输信息,应用层403断开直接数据接口404,并关闭后台进程。其中,第二传输信息可以用于表示数据结束传输的一类信息,指示应用层403可以停止从数据池402中获取数据。
应用层403能够在需要获取图像数据时建立直接数据接口404,直接从数据池402中获取第一图像数据,将ISP对第一图像数据进行处理的时间节省下来,减少应用层403从数据池402中获取第一图像数据的时间,从而提高电子设备处理图像数据的效率。
根据本申请的一些实施例,可选地,应用层403根据第一传输信息创建直接数据接口404可以具体包括:应用层403继承SysDataStreamChannel类,调用重写的onCreate、onConfig、onStart、onDestroy方法。其中,重写的onCreate方法包括打开摄像头401的电源开关,重写的onConfig方法包括配置的数据流格式和读取频率,重写的onDestroy方法包括关闭摄像头401的电源开关。
举例来说,用户可以点击与图像扫描相关的按键来触发应用层403创建ScanDataService后台服务,继承Service接口类,调用startService方法启动后台服务,应用层403在后台服务中创建直接数据接口404。直接数据接口404的创建、配置、打开、关闭主要通过继承SysDataStreamChannel类创建ScanDataChannel实例,对onCreate、onConfig、onStart、onDestroy方法进行重写来实现。具体地,onCreate方法中加入打开扫描图像的硬件的电源开关,例如,扫描图像的硬件可以是摄像头401;onConfig方法中将数据流格式配置为raw8格式,通道读取频率rate可以设置为100ms;onDestroy方法中加入关闭扫描图像的硬件的电源开关。另外,onStart方法可以用于启动应用层对数据池中数据的读取,也可以在暂停读取数据的情况下用于指示应用层重新开始读取数据。在扫描图像的硬件的电源开关打开以后,扫描得到的图像数据会持续传输到硬件图像数据池,硬件图像数据池可以例如为数据池402。硬件图像数据池接收到新的图像数据以后,数据池向ScanDataService后台服务发送数据传输开始的消息,例如,第一传输信息,其中,消息ID可以为MSG_SCAN_DATA_START。后台服务根据数据传输开始的消息调用ScanDataChannel通道对硬件图像数据池进行图像数据的读取工作。读取的数据存储到ScanDataBuffer中,后台服务实时通过算法接口ScanDataDecodeToCharacter传入ScanDataBuffer解码出图像上记录的信息,例如,图像包括的实际的二维码字符。假如本次ScanDataBuffer的数据不能满足解码出有效信息,例如,无法解码处有效的二维码数据,则继续等待下一帧数据继续解码,直到解码出有效信息或者接收到数据传输结束的消息,其中,消息ID可以为MSG_SCAN_DATA_END。最后,断开ScanDataChannel通道,关闭后台服务。
本申请实施例还提供了一种处理图像数据的装置500,如图5所示,该装置500包括采集模块501、存储模块502、处理模块503和图像信号处理器ISP 405,装置500的操作系统为安卓系统。
采集模块501用于采集第一图像数据,存储模块502用于存储第一图像数据,处理模块503用于通过直接数据接口从存储模块502中获取第一图像数据,直接数据接口用于直接连接存储模块502与处理模块503,以使得处理模块503获取的第一图像数据未经过ISP405处理,处理模块503还用于对第一图像数据进行解码。
根据本申请的一些实施例,可选地,处理模块503用于接收第一指示信息,第一指示信息用于指示处理模块503选择直接数据接口获取数据;处理模块503用于根据第一指示信息确定通过直接数据接口获取第一图像数据。
根据本申请的一些实施例,可选地,装置包括第一默认接口和第二默认接口,第一默认接口用于在存储模块502与ISP 405之间传输数据,第二默认接口用于在ISP 405与处理模块503之间传输数据。ISP 405用于通过第一默认接口从存储模块502获取第一图像数据,对第一图像数据进行处理,得到第二图像数据。处理模块503通过第二默认接口接收第二图像数据。
根据本申请的一些实施例,可选地,处理模块503用于接收第二指示信息,第二指示信息用于指示应用层选择第二默认接口获取数据,处理模块503用于根据第二指示信息确定通过第二默认接口接收第二图像数据,处理模块503用于对第二图像数据进行解码。
根据本申请的一些实施例,可选地,在处理模块503通过第二默认接口获取第二图像数据的情况下,处理模块503用于丢弃第二图像数据。
本申请实施例还提供了一种电子设备,包括上述任一实施例提供的处理图像数据的装置500。
本申请实施例还提供了一种计算机可读存储介质,包括计算机程序,当计算机程序在计算机设备或处理器上运行时,使得计算机设备或处理器执行上述任一实施例提供的方法。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (14)

1.一种处理图像数据的方法,其特征在于,应用于电子设备,所述电子设备包括摄像头、数据池和图像信号处理器ISP,所述电子设备的操作系统为安卓系统,所述方法包括:
所述摄像头采集第一图像数据;
所述数据池存储所述第一图像数据;
应用层通过直接数据接口从所述数据池中获取第一图像数据,所述直接数据接口用于直接连接所述数据池与所述应用层,以使得所述应用层获取的所述第一图像数据未经过所述ISP处理;
所述应用层对所述第一图像数据进行解码。
2.根据权利要求1所述的方法,其特征在于,所述应用层通过直接数据接口从所述数据池中获取第一图像数据,包括:
所述应用层接收第一指示信息,所述第一指示信息用于指示所述应用层选择所述直接数据接口获取数据;
所述应用层根据所述第一指示信息确定通过所述直接数据接口获取所述第一图像数据。
3.根据权利要求2所述的方法,其特征在于,所述电子设备包括第一默认接口和第二默认接口,所述第一默认接口用于在所述数据池与所述ISP之间传输数据,所述第二默认接口用于在所述ISP与所述应用层之间传输数据,所述方法还包括:
所述ISP通过所述第一默认接口从所述数据池获取所述第一图像数据,对所述第一图像数据进行处理,得到第二图像数据;
所述应用层通过所述第二默认接口接收所述第二图像数据。
4.根据权利要求3所述的方法,其特征在于,所述应用层通过所述第二默认接口接收所述第二图像数据,包括:
所述应用层接收第二指示信息,所述第二指示信息用于指示所述应用层选择所述第二默认接口获取数据;
所述应用层根据所述第二指示信息确定通过所述第二默认接口接收所述第二图像数据;
所述应用层对所述第二图像数据进行解码。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述应用层通过所述第二默认接口获取所述第二图像数据的情况下,所述应用层丢弃所述第二图像数据。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
所述数据池向所述应用层发送第一传输信息,所述第一传输信息用于指示所述应用层获取所述第一图像数据;
所述应用层根据所述第一传输信息创建所述直接数据接口。
7.一种处理图像数据的装置,其特征在于,所述装置包括采集模块、存储模块、处理模块和图像信号处理器ISP,所述装置的操作系统为安卓系统;
所述采集模块用于采集第一图像数据;
所述存储模块用于存储所述第一图像数据;
所述处理模块用于通过直接数据接口从所述存储模块中获取第一图像数据,所述直接数据接口用于直接连接所述存储模块与所述处理模块,以使得所述处理模块获取的所述第一图像数据未经过所述ISP处理;
所述处理模块用于对所述第一图像数据进行解码。
8.根据权利要求7所述的装置,其特征在于,
所述处理模块用于接收第一指示信息,所述第一指示信息用于指示所述处理模块选择所述直接数据接口获取数据;
所述处理模块用于根据所述第一指示信息确定通过所述直接数据接口获取所述第一图像数据。
9.根据权利要求8所述的装置,其特征在于,所述装置包括第一默认接口和第二默认接口,所述第一默认接口用于在所述存储模块与所述ISP之间传输数据,所述第二默认接口用于在所述ISP与所述处理模块之间传输数据;
所述ISP用于通过所述第一默认接口从所述存储模块获取所述第一图像数据,对所述第一图像数据进行处理,得到第二图像数据;
所述处理模块通过所述第二默认接口接收所述第二图像数据。
10.根据权利要求9所述的装置,其特征在于,
所述处理模块用于接收第二指示信息,所述第二指示信息用于指示所述应用层选择所述第二默认接口获取数据;
所述处理模块用于根据所述第二指示信息确定通过所述第二默认接口接收所述第二图像数据;
所述处理模块用于对所述第二图像数据进行解码。
11.根据权利要求9所述的装置,其特征在于,
在所述处理模块通过所述第二默认接口获取所述第二图像数据的情况下,所述处理模块用于丢弃所述第二图像数据。
12.根据权利要求7至11中任一项所述的装置,其特征在于,
所述存储模块用于向所述应用层发送第一传输信息,所述第一传输信息用于指示所述应用层获取所述第一图像数据;
所述处理模块用于根据所述第一传输信息创建所述直接数据接口。
13.一种电子设备,其特征在于,包括:
如权利要求7至12中任一项所述的处理图像数据的装置。
14.一种计算机可读存储介质,其特征在于,包括计算机程序,当所述计算机程序在计算机设备或处理器上运行时,使得所述计算机设备或所述处理器执行如权利要求1至6中任一项所述的方法。
CN202311675479.4A 2023-12-07 2023-12-07 处理图像数据的方法和装置 Pending CN117499791A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311675479.4A CN117499791A (zh) 2023-12-07 2023-12-07 处理图像数据的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311675479.4A CN117499791A (zh) 2023-12-07 2023-12-07 处理图像数据的方法和装置

Publications (1)

Publication Number Publication Date
CN117499791A true CN117499791A (zh) 2024-02-02

Family

ID=89681304

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311675479.4A Pending CN117499791A (zh) 2023-12-07 2023-12-07 处理图像数据的方法和装置

Country Status (1)

Country Link
CN (1) CN117499791A (zh)

Similar Documents

Publication Publication Date Title
US11748054B2 (en) Screen projection method and terminal device
KR102555750B1 (ko) 미디어 아이템 부착 시스템
CN111597000B (zh) 一种小窗口管理方法及终端
CN113220445A (zh) 一种图像或视频数据获取方法及终端设备
CN113835569A (zh) 终端设备、应用内部功能的快捷启动方法和存储介质
CN112420217A (zh) 消息推送方法、装置、设备及存储介质
CN111506237A (zh) 终端及应用中操作功能启动方法
CN113709026A (zh) 即时通信消息的处理方法、设备、存储介质和程序产品
CN113220446A (zh) 一种图像或视频数据处理方法及终端设备
CN113254228A (zh) 一种图像或视频数据分发方法及终端设备
CN116720533B (zh) 扫码方法、电子设备及可读存储介质
CN114449171B (zh) 控制摄像头的方法、终端设备、存储介质及程序产品
CN117499791A (zh) 处理图像数据的方法和装置
CN114035870A (zh) 一种终端设备、应用资源控制方法和存储介质
CN113900740A (zh) 加载多项列表数据的方法及装置
CN113254132A (zh) 一种应用显示方法及相关装置
CN115175002B (zh) 一种视频播放方法及设备
CN113536387B (zh) 一种检测内核数据完整性的终端和方法
CN117135448B (zh) 拍摄的方法和电子设备
CN116761080B (zh) 图像数据的处理方法和终端设备
CN116055643B (zh) 可视化语音信箱服务启动方法及电子设备
CN114020379B (zh) 一种终端设备、信息反馈方法和存储介质
CN116743908B (zh) 壁纸显示方法及相关装置
CN114594894B (zh) 界面元素的标记方法及终端设备、存储介质
CN111479075B (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