CN113890998A - 图像数据的处理方法、装置、电子设备和存储介质 - Google Patents

图像数据的处理方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN113890998A
CN113890998A CN202111244757.1A CN202111244757A CN113890998A CN 113890998 A CN113890998 A CN 113890998A CN 202111244757 A CN202111244757 A CN 202111244757A CN 113890998 A CN113890998 A CN 113890998A
Authority
CN
China
Prior art keywords
image data
preview
application layer
target
processing
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
Application number
CN202111244757.1A
Other languages
English (en)
Other versions
CN113890998B (zh
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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202111244757.1A priority Critical patent/CN113890998B/zh
Publication of CN113890998A publication Critical patent/CN113890998A/zh
Application granted granted Critical
Publication of CN113890998B publication Critical patent/CN113890998B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/631Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
    • H04N23/632Graphical 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
    • 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/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/951Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/265Mixing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Studio Devices (AREA)

Abstract

本申请涉及一种图像数据的处理方法、装置、电子设备和存储介质。所述方法包括:在硬件抽象层获取预览图像数据,并将所述预览图像数据从所述硬件抽象层传输至应用层;在所述应用层对所述预览图像数据进行图像数据处理,得到第一图像数据,并将所述第一图像数据对应的预览图像显示在预览页面中;在基于所述预览页面检测到拍摄操作的情况下,在所述应用层从所述第一图像数据中分别获取至少两路第二图像数据;基于所述至少两路第二图像数据生成目标图像数据。采用本方法能够降低图像数据处理的功耗。

Description

图像数据的处理方法、装置、电子设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种图像数据的处理方法、装置、电子设备和计算机可读存储介质。
背景技术
随着计算机技术的发展,越来越多的电子设备中都包含有一个或者多个摄像头,通过摄像头进行拍摄。通常地,电子设备进行拍摄的过程中,电子设备的系统通过硬件抽象层获取图像数据流,并对图像数据流进行各种算法处理,再将处理后的图像数据通过框架层发送至应用层,再进行显示。
然而,电子设备每当进行一次预览、一次拍照或者一次录像等操作时,均需要获取到一路的图像数据流,通过硬件抽象层对该图像数据流进行各种算法处理后,再发送至应用层进行显示,存在图像数据处理功耗高的问题。
发明内容
本申请实施例提供了一种图像数据的处理方法、装置、电子设备、计算机可读存储介质,可以降低图像数据处理的功耗。
一种图像数据的处理方法,包括:
在硬件抽象层获取预览图像数据,并将所述预览图像数据从所述硬件抽象层传输至应用层;
在所述应用层对所述预览图像数据进行图像数据处理,得到第一图像数据,并将所述第一图像数据对应的预览图像显示在预览页面中;
在基于所述预览页面检测到拍摄操作的情况下,在所述应用层从所述第一图像数据中分别获取至少两路第二图像数据;
基于所述至少两路第二图像数据生成目标图像数据。
一种图像数据的处理装置,包括:
传输模块,用于在硬件抽象层获取预览图像数据,并将所述预览图像数据从所述硬件抽象层传输至应用层;
预览模块,用于在所述应用层对所述预览图像数据进行图像数据处理,得到第一图像数据,并将所述第一图像数据对应的预览图像显示在预览页面中;
获取模块,用于在基于所述预览页面检测到拍摄操作的情况下,在所述应用层从所述第一图像数据中分别获取至少两路第二图像数据;
生成模块,用于基于所述至少两路第二图像数据生成目标图像数据。
一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述的图像数据的处理方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的方法的步骤。
上述图像数据的处理方法、装置、电子设备、计算机可读存储介质,在硬件抽象层获取预览图像数据,并将预览图像数据从硬件抽象层传输至应用层,在应用层对预览图像数据进行图像数据处理得到第一图像数据,并将第一图像数据对应的预览图像显示在预览页面中。那么,在基于预览页面检测到拍摄操作的情况下,电子设备可以在应用层从经过图像数据处理的第一图像数据中,分别获取至少两路第二图像数据,也就是说,复用获取经过图像数据处理的第一图像数据,仅需要经过单次的图像数据处理即可得到至少两路第二图像数据,提高了图像数据处理的效率,减少了图像数据处理的功耗,也降低了图像数据所占用的内存,更快速地生成目标图像数据。同时,在应用层中对预览图像数据进行图像数据处理,避免在硬件抽象层中对预览图像数据进行图像数据处理,可以不依赖硬件抽象层的平台及硬件,具有较高的通用性,可以在各种系统、各种平台、各种品牌的电子设备上进行快速移植和使用。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中图像数据的处理方法的流程图;
图2为另一个实施例中图像数据的处理方法的流程图;
图3为一个实施例中步骤基于至少两路第二图像数据生成目标图像数据的流程图;
图4为一个实施例中步骤在应用层对预览图像数据进行图像数据处理,得到第一图像数据的流程图;
图5为另一个实施例中图像数据的处理方法的流程图;
图6为一个实施例中图像数据的处理装置的结构框图;
图7为一个实施例中电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。
图1为一个实施例中图像数据的处理方法的流程图。本实施例中的图像数据的处理方法,以运行于电子设备上为例进行描述。其中,电子设备可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。
如图2所示,图像数据的处理方法包括步骤202至步骤208。
步骤102,在硬件抽象层获取预览图像数据,并将预览图像数据从硬件抽象层传输至应用层。
可以理解的是,电子设备的影像系统中可以包括硬件抽象层(Camera HardwareAbstraction Layer,简称Camera HAL)、应用层(APP)和框架层(Camera Framework)。其中,应用层主要有系统开发者、电子设备厂商及其它APP厂商开发的大量应用程序。框架层是影像框架。硬件抽象层是平台厂商开发平台影像框架。这三层间相互协作完成影像系统的正常运行。预览图像数据是硬件抽象层获取的预览的图像数据。
具体地,电子设备在检测到预览操作的情况下,在硬件抽象层控制图像传感器获取预览图像数据,并将预览图像数据从硬件抽象层传输至应用层。
在另一个实施例中,在硬件抽象层获取预览图像数据,可以先对预览图像数据进行预处理,再将预处理的预览图像数据传输至应用层。其中,预处理的具体方式可以根据需要进行设置。例如,预处理可以包括滤波处理、排序处理和删除处理等其中至少一个操作。
步骤104,在应用层对预览图像数据进行图像数据处理,得到第一图像数据,并将第一图像数据对应的预览图像显示在预览页面中。
第一图像数据指的是预览图像数据经过图像数据处理后得到的数据。第一图像数据可以包括图像的纹理信息,还可以包括图像的颜色信息等。
具体地,应用层接收到预览图像数据,调用所需的算法并对各个算法进行排序,按照排序后的各个算法对预览图像数据进行图像数据处理,得到第一图像数据。其中,图像数据处理的算法可以包括美颜、滤镜、虚化、贴纸、霓虹或水印等算法。
应用层得到第一图像数据,可以对第一图像数据进行编解码处理,得到预览图像,再将预览图像显示在预览页面中。
步骤106,在基于预览页面检测到拍摄操作的情况下,在应用层从第一图像数据中分别获取至少两路第二图像数据。
第二图像数据是从第一图像数据中获取的图像数据。第二图像数据可以包括图像的纹理信息,还可以包括图像的颜色信息等。
具体地,电子设备在屏幕的预览页面中显示预览图像,用户在观看预览图像的过程中触发拍摄操作,即检测到拍摄操作的情况下,根据拍摄操作的拍摄类型在应用层从第一图像数据中获取至少两路第二图像数据。
其中,拍摄操作可以预先进行设置。例如,拍摄操作可以是点击预览页面中的拍摄按钮,也可以是拍摄语音指令,还可以是触发电子设备的拍摄物理案件,不限于此。
拍摄类型具体可以是拍摄动态照片或拍摄HDR(High-Dynamic Range,高动态范围)照片等。在其他实施例中,拍摄类型还可以是拍摄多路图像数据融合得到的视频,以及拍摄多路图像数据融合得到的照片等。
可以理解的是,动态照片由一张静态照片和一个视频组成,因此当拍摄操作的拍摄类型为拍摄动态照片的情况下,在应用层从第一图像数据中分别获取两路第二图像数据,其中一路第二图像数据用于生成静态照片,另外一路第二图像数据用于生成视频。
HDR照片由多帧照片融合得到的照片,因此当拍摄操作的拍摄类型为拍摄HDR照片的情况下,在应用层从第一图像数据中分别获取至少两路第二图像数据,每一路第二图像数据用于生成照片。
步骤108,基于至少两路第二图像数据生成目标图像数据。
目标图像数据是最终生成的图像数据,该目标图像数据也即是用户所需的图像数据。例如,用户的拍摄操作是拍摄出动态照片,则最终生成的目标图像数据为动态照片;用户的拍摄操作是拍摄出HDR照片,则最终生成的目标图像数据为HDR照片。
具体地,应用层采用融合算法将至少两路第二图像数据进行融合,得到目标图像数据。其中,融合算法可以根据需要进行设置。例如,动态照片的融合算法是将静态照片和视频进行组合,得到目标图像数据;HDR照片的融合算法是HDR融合。
上述图像数据的处理方法,在硬件抽象层获取预览图像数据,并将预览图像数据从硬件抽象层传输至应用层,在应用层对预览图像数据进行图像数据处理得到第一图像数据,并将第一图像数据对应的预览图像显示在预览页面中。那么,在基于预览页面检测到拍摄操作的情况下,电子设备可以在应用层从经过图像数据处理的第一图像数据中,分别获取至少两路第二图像数据,也就是说,复用获取经过图像数据处理的第一图像数据,仅需要经过单次的图像数据处理即可得到至少两路第二图像数据,提高了图像数据处理的效率,减少了图像数据处理的功耗,也降低了图像数据所占用的内存,更快速地生成目标图像数据。同时,在应用层中对预览图像数据进行图像数据处理,避免在硬件抽象层中对预览图像数据进行图像数据处理,可以不依赖硬件抽象层的平台及硬件,具有较高的通用性,可以在各种系统、各种平台、各种品牌的电子设备上进行快速移植和使用。
进一步地,基于预览页面进行拍摄,在检测到拍摄操作的情况下无需从硬件抽象层重新请求拍照和录像数据,直接复用经过图像数据处理的第一图像数据,从而使得拍摄速度更快,给用户带来更好的拍照体验。
在一个实施例中,电子设备首先定义一套各个芯片系统平台通用的VendorTag,然后应用层通过接入API(Application Programming Interface,应用程序接口)包方式使用通用VendorTag;在运行时API包会调用芯片系统平台相关VendorTag转换器,并且把通用VendorTag转换成各芯片系统平台自定义的VendorTag,实现在各个平台上正常运行。其中,应用层接入一次,即可在各个平台通用。VendorTag转换器作用是把通用VendorTag转换为自定义VendorTag。该转换器可以是提前预制在系统中、外部导入、通过网络下载、系统升级等各种方式获得。
在一个实施例中,如图2所示,提供了另一种图像数据的处理方法,包括以下步骤:
步骤202,在硬件抽象层获取预览图像数据,并将预览图像数据从硬件抽象层传输至应用层。
步骤204,在应用层对预览图像数据进行图像数据处理,得到第一图像数据,并将第一图像数据对应的预览图像显示在预览页面中。
步骤206,将第一图像数据和对应的预览时间戳存储在缓存队列中。
缓存队列是用于缓存第一图像数据的存储空间。缓存队列的长度可以根据需要进行设置,也即缓存队列所存储的第一图像数据的数量可以根据需要进行设置。其中,缓存队列可以是先入先出队列。预览时间戳是预览采集到第一图像数据的时间节点。在缓存队列中的第一图像数据的总量超过缓存队列的容量的情况下,将最先存入缓存队列的第一图像数据移除,再存入新的第一图像数据。
步骤208,在基于预览页面检测到拍摄操作的情况下,在应用层获取拍摄操作的拍摄时间戳。
拍摄时间戳是触发拍摄操作的时间节点。可以理解的是,在用户触发拍摄操作时,首先会进行命令流的传递,即将拍摄命令传递至应用层,应用层基于拍摄命令获取到拍摄操作的拍摄时间戳,再将拍摄时间戳传递给缓存队列中。
步骤210,从缓存队列中分别获取与拍摄时间戳相匹配的预览时间戳所对应的至少两路第二图像数据。
具体地,电子设备在应用层将拍摄时间戳与各个第一图像数据对应的预览时间戳进行匹配,确定出与拍摄时间戳相匹配的预览时间戳,并获取相匹配的预览时间戳所对应的至少两路第二图像数据。
例如,拍摄时间戳为14时39分29秒,则相匹配的预览时间戳可以是14时39分29秒,也可以是14时39分28秒、14时39分29秒和14时39分30秒。
步骤212,基于至少两路第二图像数据生成目标图像数据。
在本实施例中,将第一图像数据和对应的预览时间戳存储在缓存队列中,则在基于预览页面检测到拍摄操作的情况下,可以在应用层将拍摄操作的拍摄时间戳与各个预览时间戳进行匹配,从而准确地获取到相匹配的预览时间戳所对应的至少两路第二图像数据。
在一个实施例中,从缓存队列中分别获取与拍摄时间戳相匹配的至少两路第二图像数据,包括:在识别拍摄操作为用于拍摄动态照片的情况下,从缓存队列中确定拍摄时间戳对应的第一图像数据,作为中间图像数据;获取中间图像数据作为第一路第二图像数据,并获取包含中间图像数据的多个第一图像数据作为第二路第二图像数据。
中间图像数据是拍摄时间戳对应的第一图像数据。例如,拍摄时间戳为14时39分29秒,则从缓存队列中预览时间戳也为14时39分29秒的第一图像数据,将该第一图像数据作为中间图像数据。
可以理解的是,电子设备可以进行多种类型的拍摄,如拍摄照片、拍摄视频等。进一步地,电子设备还可以拍摄动态照片或HDR照片等,还可以拍摄短视频、慢动作视频或前后双景视频等。
具体地,电子设备在检测到拍摄操作的情况下,识别出拍摄操作的拍摄类型,在识别到拍摄操作的拍摄类型为拍摄动态照片的情况下,即拍摄操作为用于拍摄动态照片,则从缓存队列中确定拍摄时间戳对应的第一图像数据作为中间图像数据。
在应用层中,获取中间图像数据作为第一路第二图像数据,并获取包含中间图像数据的多个第一图像数据作为第二路第二图像数据。可以理解的是,第一路第二图像数据的数量可以为一个,也即用于生成静态照片;第二路第二图像数据的数量为多个,如3个或者10个等。
在本实施例中,在识别拍摄操作为用于拍摄动态照片的情况下,从缓存队列中确定拍摄时间戳对应的第一图像数据作为中间图像数据,获取中间图像数据作为第一路第二图像数据,并获取包含中间图像数据的多个第一图像数据作为第二路第二图像数据,该第一路第二图像数据和第二路第二图像数据均是与拍摄时间戳相匹配的图像数据,从而可以生成更准确的目标图像数据。
在一个实施例中,如图3所示,基于至少两路第二图像数据生成目标图像数据,包括:
步骤302,基于第一路第二图像数据生成目标照片。
在应用层中从第一路第二图像数据中转储(dump)出RGB(Red、Green、Blue,红色、绿色、蓝色)数据,通过照片编码器对RGB数据进行照片编码处理,生成目标照片。其中,第一路第二图像数据可以包括图像的纹理信息。照片编码器的类型并不限定。例如,照片编码器可以是jpeg编码器,则编码生成的目标照片为jpeg照片;也可以是png编码器,则编码生成的目标照片为png照片。
其中,从第一路第二图像数据中转储出RGB数据的方式并不限定。在一种实施方式中,以第一路第二图像数据为纹理信息为例进行说明,首先通过glGenFramebuffers创建Framebuffer,再把Framebuffer通过glBindFraneBuffer进行绑定,再把FrameBuffer和纹理信息进行关联,然后申请一个缓冲器(buffer),再通过glReadPixels将纹理信息读取到缓冲器里,得到RGB数据。最后把缓冲器内的RGB数据进行JPEG压缩即可生成JPEG照片。在其他实施方式中,用户进程dump或系统dump等方式。
步骤304,基于第二路第二图像数据生成目标视频。
在应用层中通过视频编码器对第二路第二图像数据进行视频编码处理,生成目标视频。
步骤306,将目标照片和目标视频进行融合,得到动态照片。
在应用层中调用融合算法将目标照片和目标视频进行融合,得到动态照片。在一种实施方式中,融合算法可以是将目标照片和目标视频进行组合。在另一种实施方式中,融合算法可以是将目标照片作为动态照片的缩略图,目标视频作为动态照片的内容进行融合。在其他实施方式中,融合算法可以根据需要进行设置。
在本实施例中,基于第一路第二图像数据生成目标照片,以及基于第二路第二图像数据生成目标视频,则再将目标照片和目标视频进行融合,可以准确地得到动态照片。
在一个实施例中,获取包含中间图像数据的多个第一图像数据作为第二路第二图像数据,包括:获取包含拍摄时间戳的时间范围所对应的各个第一图像数据作为第二路第二图像数据;或者获取包含中间图像数据的连续多个第一图像数据作为第二路第二图像数据。
具体地,电子设备的应用层获取预设时长,获取包含拍摄时间戳的预设时长的时间范围,并获取预览时间戳处于该时间范围的各个第一图像数据作为第二路第二图像数据。其中,预设时长可以根据需要进行设置。例如,预设时长为5秒钟,拍摄时间戳为14时39分29秒,则可以确定14时39分27秒至14时39分32秒之间的时间范围,并获取预览时间戳处于该时间范围内的各个第一图像数据作为第二路第二图像数据。又如,预设时长为2秒钟,则可以将拍摄时间戳,以及拍摄时间戳的前一秒钟和后一秒钟作为时间范围,并获取预览时间戳处于该时间范围内的各个第一图像数据作为第二路第二图像数据。
具体地,电子设备的应用层获取预设数量,获取包含拍摄时间戳的预设数量的第一图像数据作为第二路第二图像数据。其中,预设数量可以根据需要进行设置。例如,预设数量可以是60,则可以获取拍摄时间戳的前30个第一图像数据和后30个第一图像数据作为第二路第二图像数据;该第二路第二图像数据包含中间图像数据。
在本实施例中,获取包含拍摄时间戳的时间范围所对应的各个第一图像数据作为第二路第二图像数据;或者获取包含中间图像数据的连续多个第一图像数据作为第二路第二图像数据,可以准确地获取到拍摄时间戳相匹配的第二路第二图像数据。
在一个实施例中,如图4所示,在应用层对预览图像数据进行图像数据处理,得到第一图像数据,包括:
步骤402,在应用层获取目标处理算法。
目标处理算法指的是用户所需的对预览图像数据进行处理的算法。目标处理算法具体可以包括美颜、滤镜、虚化、贴纸、霓虹和水印等算法。
步骤404,在检测到目标处理算法需要访问目标硬件的情况下,通过应用层访问框架层中所设置的系统服务的接口访问目标硬件,获取目标硬件中的所需参数。
可以理解的是,有些算法依赖DSP(Digital Signal Process,数字信号处理)、SNPE(神经处理引擎)、NPU(Neural-network Processing Unit,嵌入式神经网络处理器)等硬件,故需要通过应用层访问这些硬件,从而获取到所需的参数。目标硬件指的是目标算法需要访问的硬件。
具体地,电子设备在框架层中预先设置一个系统服务,该系统服务可以访问目标硬件,同时该系统服务将接口提供给应用层。那么,通过应用层访问框架层中系统服务的接口,再通过该系统服务可以访问目标硬件,从而获取到目标硬件中所需的参数。
步骤406,通过目标处理算法采用所需参数对预览图像数据进行图像数据处理,得到第一图像数据。
在检测到目标处理算法需要访问目标硬件的情况下,通过应用层访问框架层中所设置的系统服务的接口访问目标硬件,可以实现应用层中的目标算法访问到目标硬件,从而获取目标硬件中的所需参数,准确地对预览图像数据进行图像数据处理。
在一个实施例中,将预览图像数据传输至应用层之后,还包括纹理绑定步骤,该纹理绑定步骤包括:在应用层获取预览图像数据中的纹理数据;通过应用层中各个接口获取图形处理器GPU内存,将GPU访问内容和纹理数据进行绑定;在应用层对预览图像数据进行图像数据处理,得到第一图像数据,包括:在应用层对绑定后的预览图像数据进行图像数据处理,得到第一图像数据。
图形处理器GPU(graphics processing unit)是一种做图像和图形相关运算工作的微处理器。
例如,硬件抽象层将预览图像数据通过ImageReader传递到应用层,应用层再从ImageReader中获取预览图像数据中的image,再从image获取到HardwareBuffer。应用层获取到HardwareBuffer后,先通过eglGetNativeClientBufferANDROID创建EGLClientBuffer,再通过eglCreateImageKHR把EGLClientBuffer转换成EGLImageKHR,最后再通过glEGLImageTargetTexture2DOES接口把EGLImageKHR和OES纹理(纹理数据)进行绑定,从而实现HardwareBuffer直接复用,避免进行缓冲器(buffer)拷贝,性能更好。这样就实现了GPU访问内容和纹理数据进行绑定。其中,ImageReader、HardwareBuffer、eglGetNativeClientBufferANDROID、EGLClientBuffer、eglCreateImageKHR、EGLImageKHR和glEGLImageTargetTexture2DOES均为Android系统相关API接口。
在本实施例中,在应用层获取预览图像数据中的纹理数据;通过应用层中各个接口获取图形处理器GPU内存,将GPU访问内容和纹理数据进行绑定,可以实现对缓冲器中的内容直接复用,避免了拷贝操作,提高了数据处理的效率。
在一个实施例中,如图5所示,提供了一种图像数据的处理方法,电子设备在硬件抽象层(Camera HAL)获取预览图像数据,并将预览图像数据通过框架层(CameraFramework)传输至应用层,在应用层的预览Open GL线程进行算法处理。具体地,在应用层中将预览图像数据发送至预览buffer,再进行纹理绑定,将经过纹理绑定的预览图像数据进行图像数据处理,得到第一图像数据,并将第一图像数据对应的预览图像进行预览显示;将第一图像数据的纹理信息和对应的预览时间戳存储在缓存队列中。
当用户点击拍摄,即电子设备检测到触发拍摄操作,获取拍摄时间戳,根据拍摄时间戳查找对应的预览帧,也就是从缓存队列中获取与拍摄时间戳相匹配的预览时间戳所对应的两路预览帧,其中一路为拍摄时间戳对应的预览帧,用于生成目标照片,另外一路为拍摄时间戳前后一段时间内或固定数量的预览帧,用于生成目标视频。
其中,在照片生成流程中,预览帧转储为RGB数据,再进行jpeg编码,得到jpeg的目标照片。在视频生成视频中,预览帧输入编码器中进行视频编码得到目标视频。最终,将目标照片和目标视频进行组合,得到动态照片。
应该理解的是,虽然图1至图5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1至图5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图6为一个实施例的图像数据的处理装置的结构框图。如图6所示,提供了一种图像数据的处理装置,包括:传输模块602、预览模块604、获取模块606和生成模块608,其中:
传输模块602,用于在硬件抽象层获取预览图像数据,并将预览图像数据从硬件抽象层传输至应用层。
预览模块604,用于在应用层对预览图像数据进行图像数据处理,得到第一图像数据,并将第一图像数据对应的预览图像显示在预览页面中。
获取模块606,用于在基于预览页面检测到拍摄操作的情况下,在应用层从第一图像数据中分别获取至少两路第二图像数据。
生成模块608,用于基于至少两路第二图像数据生成目标图像数据。
上述图像数据的处理装置,在硬件抽象层获取预览图像数据,并将预览图像数据从硬件抽象层传输至应用层,在应用层对预览图像数据进行图像数据处理得到第一图像数据,并将第一图像数据对应的预览图像显示在预览页面中。那么,在基于预览页面检测到拍摄操作的情况下,电子设备可以在应用层从经过图像数据处理的第一图像数据中,分别获取至少两路第二图像数据,也就是说,复用获取经过图像数据处理的第一图像数据,仅需要经过单次的图像数据处理即可得到至少两路第二图像数据,提高了图像数据处理的效率,减少了图像数据处理的功耗,也降低了图像数据所占用的内存,更快速地生成目标图像数据。同时,在应用层中对预览图像数据进行图像数据处理,避免在硬件抽象层中对预览图像数据进行图像数据处理,可以不依赖硬件抽象层的平台及硬件,具有较高的通用性,可以在各种系统、各种平台、各种品牌的电子设备上进行快速移植和使用。
在一个实施例中,上述装置还包括存储模块,用于将所述第一图像数据和对应的预览时间戳存储在缓存队列中;上述获取模块606还用于在基于所述预览页面检测到拍摄操作的情况下,在所述应用层获取拍摄操作的拍摄时间戳;从所述缓存队列中分别获取与所述拍摄时间戳相匹配的预览时间戳所对应的至少两路第二图像数据。
在一个实施例中,上述获取模块606还用于在识别所述拍摄操作为用于拍摄动态照片的情况下,从所述缓存队列中确定所述拍摄时间戳对应的第一图像数据,作为中间图像数据;获取所述中间图像数据作为第一路第二图像数据,并获取包含所述中间图像数据的多个第一图像数据作为第二路第二图像数据。
在一个实施例中,上述生成模块608还用于基于所述第一路第二图像数据生成目标照片;基于所述第二路第二图像数据生成目标视频;将所述目标照片和所述目标视频进行融合,得到动态照片。
在一个实施例中,上述获取模块606还用于获取包含所述拍摄时间戳的时间范围所对应的各个第一图像数据作为第二路第二图像数据;或者获取包含所述中间图像数据的连续多个第一图像数据作为第二路第二图像数据。
在一个实施例中,上述预览模块604还用于在所述应用层获取目标处理算法;在检测到所述目标处理算法需要访问目标硬件的情况下,通过所述应用层访问框架层中所设置的系统服务的接口访问所述目标硬件,获取所述目标硬件中的所需参数;通过所述目标处理算法采用所述所需参数对所述预览图像数据进行图像数据处理,得到第一图像数据。
在一个实施例中,上述装置还包括绑定模块,用于在所述应用层获取所述预览图像数据中的纹理数据;通过所述应用层中各个接口获取图形处理器GPU内存,将所述GPU访问内容和所述纹理数据进行绑定;上述预览模块604还用于在所述应用层对绑定后的预览图像数据进行图像数据处理,得到第一图像数据。
上述图像数据的处理装置中各个模块的划分仅仅用于举例说明,在其他实施例中,可将图像数据的处理装置按照需要划分为不同的模块,以完成上述图像数据的处理装置的全部或部分功能。
关于图像数据的处理装置的具体限定可以参见上文中对于图像数据的处理方法的限定,在此不再赘述。上述图像数据的处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图7为一个实施例中电子设备的内部结构示意图。该电子设备可以是手机、平板电脑、笔记本电脑、台式电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Pointof Sales,销售终端)、车载电脑、穿戴式设备等任意终端设备。该电子设备包括通过系统总线连接的处理器和存储器。其中,该处理器可以包括一个或多个处理单元。处理器可为CPU(Central Processing Unit,中央处理单元)或DSP(Digital Signal Processing,数字信号处理器)等。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种图像数据的处理方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。
本申请实施例中提供的图像数据的处理装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在电子设备的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行图像数据的处理方法的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行图像数据的处理方法。
本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器可包括ROM(Read-Only Memory,只读存储器)、PROM(Programmable Read-only Memory,可编程只读存储器)、EPROM(Erasable ProgrammableRead-Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically ErasableProgrammable Read-only Memory,电可擦除可编程只读存储器)或闪存。易失性存储器可包括RAM(Random Access Memory,随机存取存储器),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如SRAM(Static Random Access Memory,静态随机存取存储器)、DRAM(Dynamic Random Access Memory,动态随机存取存储器)、SDRAM(Synchronous Dynamic Random Access Memory,同步动态随机存取存储器)、双数据率DDRSDRAM(Double Data Rate Synchronous Dynamic Random Access memory,双数据率同步动态随机存取存储器)、ESDRAM(Enhanced Synchronous Dynamic Random Access memory,增强型同步动态随机存取存储器)、SLDRAM(Sync Link Dynamic Random Access Memory,同步链路动态随机存取存储器)、RDRAM(Rambus Dynamic Random Access Memory,总线式动态随机存储器)、DRDRAM(Direct Rambus Dynamic Random Access Memory,接口动态随机存储器)。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种图像数据的处理方法,其特征在于,包括:
在硬件抽象层获取预览图像数据,并将所述预览图像数据从所述硬件抽象层传输至应用层;
在所述应用层对所述预览图像数据进行图像数据处理,得到第一图像数据,并将所述第一图像数据对应的预览图像显示在预览页面中;
在基于所述预览页面检测到拍摄操作的情况下,在所述应用层从所述第一图像数据中分别获取至少两路第二图像数据;
基于所述至少两路第二图像数据生成目标图像数据。
2.根据权利要求1所述的方法,其特征在于,所述在所述应用层对所述预览图像数据进行图像数据处理,得到第一图像数据之后,还包括:
将所述第一图像数据和对应的预览时间戳存储在缓存队列中;
所述在基于所述预览页面检测到拍摄操作的情况下,在所述应用层从所述第一图像数据中分别获取至少两路第二图像数据,包括:
在基于所述预览页面检测到拍摄操作的情况下,在所述应用层获取拍摄操作的拍摄时间戳;
从所述缓存队列中分别获取与所述拍摄时间戳相匹配的预览时间戳所对应的至少两路第二图像数据。
3.根据权利要求2所述的方法,其特征在于,所述从所述缓存队列中分别获取与所述拍摄时间戳相匹配的至少两路第二图像数据,包括:
在识别所述拍摄操作为用于拍摄动态照片的情况下,从所述缓存队列中确定所述拍摄时间戳对应的第一图像数据,作为中间图像数据;
获取所述中间图像数据作为第一路第二图像数据,并获取包含所述中间图像数据的多个第一图像数据作为第二路第二图像数据。
4.根据权利要求3所述的方法,其特征在于,所述基于所述至少两路第二图像数据生成目标图像数据,包括:
基于所述第一路第二图像数据生成目标照片;
基于所述第二路第二图像数据生成目标视频;
将所述目标照片和所述目标视频进行融合,得到动态照片。
5.根据权利要求3所述的方法,其特征在于,所述获取包含所述中间图像数据的多个第一图像数据作为第二路第二图像数据,包括:
获取包含所述拍摄时间戳的时间范围所对应的各个第一图像数据作为第二路第二图像数据;或者
获取包含所述中间图像数据的连续多个第一图像数据作为第二路第二图像数据。
6.根据权利要求1所述的方法,其特征在于,所述在所述应用层对所述预览图像数据进行图像数据处理,得到第一图像数据,包括:
在所述应用层获取目标处理算法;
在检测到所述目标处理算法需要访问目标硬件的情况下,通过所述应用层访问框架层中所设置的系统服务的接口访问所述目标硬件,获取所述目标硬件中的所需参数;
通过所述目标处理算法采用所述所需参数对所述预览图像数据进行图像数据处理,得到第一图像数据。
7.根据权利要求1所述的方法,其特征在于,所述将所述预览图像数据传输至应用层之后,还包括:
在所述应用层获取所述预览图像数据中的纹理数据;
通过所述应用层中各个接口获取图形处理器GPU内存,将所述GPU访问内容和所述纹理数据进行绑定;
所述在所述应用层对所述预览图像数据进行图像数据处理,得到第一图像数据,包括:
在所述应用层对绑定后的预览图像数据进行图像数据处理,得到第一图像数据。
8.一种图像数据的处理装置,其特征在于,包括:
传输模块,用于在硬件抽象层获取预览图像数据,并将所述预览图像数据从所述硬件抽象层传输至应用层;
预览模块,用于在所述应用层对所述预览图像数据进行图像数据处理,得到第一图像数据,并将所述第一图像数据对应的预览图像显示在预览页面中;
获取模块,用于在基于所述预览页面检测到拍摄操作的情况下,在所述应用层从所述第一图像数据中分别获取至少两路第二图像数据;
生成模块,用于基于所述至少两路第二图像数据生成目标图像数据。
9.一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,其特征在于,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述的图像数据的处理方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。
CN202111244757.1A 2021-10-26 2021-10-26 图像数据的处理方法、装置、电子设备和存储介质 Active CN113890998B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111244757.1A CN113890998B (zh) 2021-10-26 2021-10-26 图像数据的处理方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111244757.1A CN113890998B (zh) 2021-10-26 2021-10-26 图像数据的处理方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN113890998A true CN113890998A (zh) 2022-01-04
CN113890998B CN113890998B (zh) 2024-08-20

Family

ID=79014157

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111244757.1A Active CN113890998B (zh) 2021-10-26 2021-10-26 图像数据的处理方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN113890998B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114866700A (zh) * 2022-05-30 2022-08-05 展讯通信(上海)有限公司 拍照方法、系统、介质、芯片和终端设备
CN117998195A (zh) * 2024-04-03 2024-05-07 荣耀终端有限公司 一种相机启动方法、电子设备及可读存储介质
WO2024098896A1 (zh) * 2022-11-11 2024-05-16 深圳市广和通无线股份有限公司 拍照方法、监控装置、电子设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103442172A (zh) * 2013-08-15 2013-12-11 Tcl集团股份有限公司 一种基于android平台的相机画质调节方法、系统及移动终端
US20170295361A1 (en) * 2016-04-12 2017-10-12 Apple Inc. Method and system for 360 degree head-mounted display monitoring between software program modules using video or image texture sharing
WO2019056242A1 (zh) * 2017-09-21 2019-03-28 深圳传音通讯有限公司 一种智能终端的相机拍摄参数设置方法、设置装置及智能终端
KR20200066133A (ko) * 2018-11-30 2020-06-09 한국전자통신연구원 플랫폼 상에서 동작하는 모바일 장치 및 게이트웨이 장치를 구현하기 위한 전자 장치
CN111405178A (zh) * 2020-03-09 2020-07-10 Oppo广东移动通信有限公司 基于Camera2的拍照方法、装置、存储介质及移动设备
CN111491102A (zh) * 2020-04-22 2020-08-04 Oppo广东移动通信有限公司 拍照场景的检测方法、系统、移动终端及存储介质
CN112135056A (zh) * 2020-09-27 2020-12-25 Oppo(重庆)智能科技有限公司 拍摄方法、装置、电子设备以及存储介质
CN112399087A (zh) * 2020-12-07 2021-02-23 Oppo(重庆)智能科技有限公司 图像处理方法、装置、拍摄装置、电子设备和存储介质
CN112770040A (zh) * 2019-11-01 2021-05-07 Oppo广东移动通信有限公司 一种拍摄方法、装置及计算机可读存储介质
CN112804459A (zh) * 2021-01-12 2021-05-14 杭州星犀科技有限公司 基于虚拟摄像头的图像展示方法、装置、存储介质及电子设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103442172A (zh) * 2013-08-15 2013-12-11 Tcl集团股份有限公司 一种基于android平台的相机画质调节方法、系统及移动终端
US20170295361A1 (en) * 2016-04-12 2017-10-12 Apple Inc. Method and system for 360 degree head-mounted display monitoring between software program modules using video or image texture sharing
WO2019056242A1 (zh) * 2017-09-21 2019-03-28 深圳传音通讯有限公司 一种智能终端的相机拍摄参数设置方法、设置装置及智能终端
KR20200066133A (ko) * 2018-11-30 2020-06-09 한국전자통신연구원 플랫폼 상에서 동작하는 모바일 장치 및 게이트웨이 장치를 구현하기 위한 전자 장치
CN112770040A (zh) * 2019-11-01 2021-05-07 Oppo广东移动通信有限公司 一种拍摄方法、装置及计算机可读存储介质
CN111405178A (zh) * 2020-03-09 2020-07-10 Oppo广东移动通信有限公司 基于Camera2的拍照方法、装置、存储介质及移动设备
CN111491102A (zh) * 2020-04-22 2020-08-04 Oppo广东移动通信有限公司 拍照场景的检测方法、系统、移动终端及存储介质
CN112135056A (zh) * 2020-09-27 2020-12-25 Oppo(重庆)智能科技有限公司 拍摄方法、装置、电子设备以及存储介质
CN112399087A (zh) * 2020-12-07 2021-02-23 Oppo(重庆)智能科技有限公司 图像处理方法、装置、拍摄装置、电子设备和存储介质
CN112804459A (zh) * 2021-01-12 2021-05-14 杭州星犀科技有限公司 基于虚拟摄像头的图像展示方法、装置、存储介质及电子设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114866700A (zh) * 2022-05-30 2022-08-05 展讯通信(上海)有限公司 拍照方法、系统、介质、芯片和终端设备
WO2024098896A1 (zh) * 2022-11-11 2024-05-16 深圳市广和通无线股份有限公司 拍照方法、监控装置、电子设备及存储介质
CN117998195A (zh) * 2024-04-03 2024-05-07 荣耀终端有限公司 一种相机启动方法、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN113890998B (zh) 2024-08-20

Similar Documents

Publication Publication Date Title
CN113592887B (zh) 视频拍摄方法、电子设备及计算机可读存储介质
CN113890998B (zh) 图像数据的处理方法、装置、电子设备和存储介质
CN103677942B (zh) 一种移动终端浏览网络图片的方法和装置
CN110177214B (zh) 图像处理器、图像处理方法、拍照装置及电子设备
CN110177215A (zh) 图像处理方法、图像处理器、拍摄装置和电子设备
CN111385475B (zh) 图像获取方法、拍照装置、电子设备及可读存储介质
KR100902419B1 (ko) 캡쳐 영상을 시간 지연 없이 표시할 수 있는 영상 처리장치, 방법 및 상기 방법을 프로그램화하여 수록한컴퓨터로 읽을 수 있는 기록매체
CN113727035A (zh) 图像处理方法、系统、电子设备及存储介质
CN107809590A (zh) 一种拍照方法和装置
CN113077532A (zh) 动态照片生成方法、装置及可读存储介质
CN111107267A (zh) 图像处理方法、装置、设备及存储介质
CN113992854B (zh) 图像预览方法、装置、电子设备和计算机可读存储介质
CN111432121A (zh) 生成方法、电子装置和存储介质
KR102609734B1 (ko) 전자 장치 및 이미지의 전송 상태에 기반하여 이미지를 보정하는 방법
CN112672046A (zh) 连拍图像的存储方法、装置、电子设备和存储介质
CN116723383B (zh) 一种拍摄方法及相关设备
CN109523456A (zh) 图像处理方法和装置、电子设备、计算机可读存储介质
CN115272155A (zh) 图像合成方法、装置、计算机设备和存储介质
CN110602359B (zh) 图像处理方法、图像处理器、拍摄装置和电子设备
CN114339071A (zh) 图像处理电路、图像处理方法及电子设备
CN112419134A (zh) 一种图像处理方法及装置
CN117474926B (zh) 图像检测方法和装置
KR101413435B1 (ko) 휴대단말기를 이용한 액자서비스 제공시스템 및 방법
CN111953940B (zh) 一种监控视频的上传处理方法及系统
KR100902421B1 (ko) 캡쳐 영상을 시간 지연 없이 표시할 수 있는 영상 처리장치, 방법 및 상기 방법을 프로그램화하여 수록한컴퓨터로 읽을 수 있는 기록매체

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