CN113256763B - 电子设备及其图像处理方法、片上系统和介质 - Google Patents
电子设备及其图像处理方法、片上系统和介质 Download PDFInfo
- Publication number
- CN113256763B CN113256763B CN202110528182.XA CN202110528182A CN113256763B CN 113256763 B CN113256763 B CN 113256763B CN 202110528182 A CN202110528182 A CN 202110528182A CN 113256763 B CN113256763 B CN 113256763B
- Authority
- CN
- China
- Prior art keywords
- image data
- filling
- processor
- data
- line
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请涉及图像处理领域,公开了一种电子设备及其图像处理方法、片上系统和介质。本申请的图像数据填充方法包括:第一处理器获取填充参数;第一处理器获取第一图像数据并根据填充参数对第一图像数据填充生成第二图像数据;第一处理器将第二图像数据传送给第二处理器。如此,图像数据直接通过第一处理器填充后传递给第二处理器,减小了系统的端到端延迟,减轻了中央处理器和第二处理器的负荷。
Description
技术领域
本申请涉及图像处理领域,特别涉及一种电子设备及其图像处理方法、片上系统和介质。
背景技术
随着人工智能(artificial intelligence,AI)的迅速发展,神经网络处理器(neural network processing unit,NPU)在智能电子设备中的应用越来越广泛。在包含图像信号处理器(image signal processor,ISP)和NPU的系统或芯片中,由于部分在NPU中运行的深度学习模型对输入数据有格式要求,例如在做图像卷积时,为保证卷积后图像大小不变,需要根据卷积核的大小、卷积步长在输入图像数据的外围填充数据,,因此ISP中的图像数据需要进行填充后再传送至NPU中进行深度学习模型推理,以满足深度学习模型对输入数据的要求。
发明内容
本申请实施例提供了一种电子设备及其图像处理方法、图像信号处理器、片上系统和介质。本申请的实施例直接通过图像信号处理器对图像数据进行填充后再传送给第二处理器进行图像数据处理,减小了系统中图像数据传送的端到端延迟,同时降低了第二处理器和中央处理器的负荷。
第一方面,本申请实施例提供了一种图像数据填充方法,该方法包括:
图像信号处理器获取填充参数;
图像信号处理器获取第一图像数据并根据填充参数对第一图像数据进行填充生成第二图像数据;
图像信号处理器将第二图像数据传送给第二处理器。
如此,通过图像信号处理器对第一图像数据进行填充后直接传送给第二处理器,减少了系统中图像数据传送的端到端延迟,同时降低了第二处理器和中央处理器的负荷。
在上述第一方面的一种可能的实现中,图像信号处理器根据第一图像数据的大小和第二图像数据的大小确定填充参数。其中,第二图像数据的大小是根据第二处理器中图像处理模型对输入图像数据的要求确定。填充参数可以是根据不同的图像处理模型离线计算,也可以根据第二处理器中的图像处理模型在线计算。
例如,在本申请的一些实施例中,当第二处理器中的图像处理模型是深度学习模型,如卷积神经网络模型时,可以根据卷积核的大小、卷积层数、输入图像数据的大小和卷积对输出数据的要求确定第二图像数据的大小。再根据第二图像数据的大小与第一图像数据的大小即可确定填充参数。在另一些实施例中,图像处理模型也可以是其他类型的深度学习模型,例如循环神经网络模型等。
在上述第一方面的一种可能的实现中,图像信号处理器获取的填充参数,包括但不限于行索引号、色彩通道、填充位置、填充数量、填充值。图像信号处理器根据行索引号可以查询待处理的图像数据需要进行填充的位置、数量和填充值。
在上述第一方面的一种可能的实现中,上述图像信号处理器根据填充参数对第一图像数据进行填充生成第二图像数据,具体包括:
图像信号处理器获取第一图像数据中待读取的行数据的行索引号,并根据行索引号判断待读取的行数据在第一图像数据中的位置;图像信号处理器根据待读取的行数据在第一图像数据中的位置和填充参数对待读取的行数据进行填充。
在上述第一方面的一种可能实现中,上述图像信号处理器根据待读取的行数据在第一图像数据中的位置和填充参数对待读取的行数据进行填充,包括:
若待读取的行数据是第一图像数据的首行,根据填充参数在第一图像数据的上方整行填充数据;以及
读取待读取的行数据,根据填充参数在读取的行数据的左侧或右侧添加与填充值相对应的数据。
在上述第一方面的一种可能实现中,上述图像信号处理器根据待读取的行数据在第一图像数据中的位置和填充参数对待读取的行数据进行填充,还包括:
若待读取的行数据为第一图像数据的中间行,读取待读取的行数据,根据填充参数在读取的行数据的左侧或右侧添加与填充值相对应的数据。
在上述第一方面的一种可能实现中,上述图像信号处理器根据待读取的行数据在第一图像数据中的位置和填充参数对待读取的行数据进行填充,还包括:
若待读取的行数据是第一图像数据的尾行,读取待读取的行数据,在读取的行数据的左侧或右侧添加与填充值相对应的数据;以及
根据填充参数在所述第一图像数据的下方整行填充数据。
在上述第一方面的一种可能实现中,上述图像信号处理器向第二处理器发送第二图像数据,具体包括:
图像信号处理器将第二数据传送到存储器;
第二处理器从存储器中读取第二图像数据。
在上述第一方面的一种可能的实现中,图像信号处理器和第二处理器是通过总线进行耦接,图像处理器通过总线将第二图像数据传送到存储器,第二处理器通过总线从存储器读取第二图像数据。
在上述第一方面的一种可能的实现中,第二处理器是神经网络处理器。在一些实施例中,第二处理器也可以是其他可以进行图像数据处理的处理器,例如数字信号处理器、图形处理器等。
第二方面,本申请实施例提供了一种图像信号处理器,用于实现上述第一方面所述的图像数据填充方法。
第三方面,本申请实施例提供了一种可读介质,可读介质上存储有指令,该指令在被图像信号处理器执行时,可以实现第一方面所述的图像数据填充方法。
第四方面,本申请实施例提供了一种电子设备,包括存储器,图像信号处理器和第二处理器,用于执行第一方面所述的图像数据填充方法。在一些实施例中,存储器还用于存储由电子设备的一个或多个处理器执行的指令。
第五方面,本申请实施例提供了一种片上系统,包括存储器、图像信号处理器和第二处理器,用于执行第一方面所述的图像数据填充方法。在一些实施例中,片上系统还可以包括总线控制单元、中断管理单元、协处理器等其他部件。在另一些实施例中存储器还用于存储由片上系统的一个或多个处理器执行的指令。
附图说明
图1根据本申请的一些实施例,示出了一种电子设备100的结构示意图;
图2根据本申请的一些实施例,示出了一种图像数据填充方法的示意图;
图3根据本申请的一些实施例,示出了一种图像数据填充方法的示意图;
图4根据本申请的一些实施例,示出了一种图像数据填充方法的示意图;
图5根据本申请的一些实施例,示出了一种图像数据填充方法的流程示意图;
图6A根据本申请的一些实施例,示出了一种图像数据卷积运算的示意图;
图6B根据本申请的一些实施例,示出了一种图像数据填充后进行卷积运算的示意图;
图7A根据本申请的一些实施例,示出了一种图像数据填充运算的示意图;
图7B根据本申请的一些实施例,示出了一种图像数据填充运算的示意图;
图7C根据本申请的一些实施例,示出了一种图像数据填充运算的示意图;
图7D根据本申请的一些实施例,示出了一种图像数据填充运算的示意图;
图7E根据本申请的一些实施例,示出了一种图像数据填充运算的示意图;
图8根据本申请的一些实施例,示出了一种图像信号处理器的结构示意图;
图9根据本申请的一些实施例,示出了一种图像信号处理器进行图像处理的流程示意图;
图10根据本申请的一些实施例,示出了一种片上系统的结构示意图。
具体实施方式
本申请的说明性实施例包括但不限于电子设备及其图像处理方法、图像信号处理器、片上系统和介质。
下面结合附图进一步阐述本申请实施例的技术方案和有益效果。
图1根据本申请的一些实施例,示出了一种电子设备100的结构示意图,电子设备100可以进行图像的获取、图像数据的填充及深度学习模型推理。其中,深度学习模型推理是指在NPU 104(第二处理器)中根据图像处理模型对图像数据进行运算,图像处理模型包括但不限于卷积神经网络模型、循环神经网络模型等深度学习模型。如图1所示,电子设备100包括:镜头101、图像传感器102、ISP 103、NPU 104、中央处理器(central processingunit,CPU)105、显示器106、存储器107和接口模块108。其中,镜头101和图像传感器102连接,图像传感器702与ISP 103连接,ISP 103、NPU 104、CPU 105、显示器106、存储器107和接口模块108通过总线109耦接。ISP 103、NPU 104、CPU 105和存储器107可以通过总线109耦接构成片上系统(system on chip,SOC)1000,在另一些实施例中,ISP 103、NPU 104、CPU105和存储器107也可以是独立的器件。
镜头101用于收集景物反射的光信号并呈现在图像传感器102上,镜头101可以是定焦镜头、变焦镜头、鱼眼镜头、全景镜头等。
图像传感器102用于将通过镜头101收集的景物反射的光信号转换为电信号,生成原始图像(RAW)数据,例如可以生成Bayer格式的数据。图像传感器可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管通成。
ISP 103是用于图像数据处理的专用集成电路(application-specificintegrated circuit,ASIC),用于对图像传感器102形成的图像数据进行进一步处理,以获得更好的图像质量。在一些实施例中,ISP 103还用于对图像数据进行填充运算。
NPU 104是为深度学习设计的ASIC,在一些实施例中,可以通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理。通过NPU可以进行深度学习模型推理,例如:神经网络模型训练、图像识别、人脸识别、语音识别、文本理解等。
CPU 105可以包括一个或多个处理单元,例如,可以包括中央处理器CPU(CentralProcessing Unit)、图像处理器GPU(Graphics Processing Unit)、数字信号处理器DSP(Digital Signal Processor)、微处理器MCU(Micro-programmed Control Unit)、AI(Artificial Intelligence,人工智能)处理器或可编程逻辑器件FPGA(FieldProgrammable Gate Array)等的处理模块或处理电路。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
显示器106的显示面板可以采用液晶显示屏(Liquid Crystal Display,LCD),有机发光二极管(Organic Light-emitting Diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(Active-matrix Organic Light-emitting Diode的,AMOLED),柔性发光二极管(Flex Light-emitting Diode,FLED),Mini LED,Micro LED,Micro OLED,量子点发光二极管(Quantum Dot Light-emitting Diodes,QLED)等。显示器106可以用于显示经过ISP 103处理的图像数据,还可以用于显示NPU 104的运算结果,例如显示人脸图像和人脸识别的结果。
存储器107可用于存储数据、软件程序以及模块,可以是易失性存储器(VolatileMemory),例如随机存取存储器(Random-Access Memory,RAM),双倍数据率同步动态随机存取存储器(Double Data Rate Synchronous Dynamic Random Access Memory,DDRSDRAM)。
接口模块108包括外部存储器接口、通用串行总线(universal serial bus,USB)接口等。其中外部存储器接口可以用于连接外部非易失性存储器(Non-Volatile Memory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(Flash Memory),硬盘(Hard DiskDrive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,或者也可以是可移动存储介质,例如安全数字(Secure Digital,SD)存储卡等,用于扩展电子设备100的存储能力。
总线109用于耦接ISP 103、NPU 104、CPU 105、显示器106、存储器107和接口模块108。总线109可以是高级高性能总线(advanced high-performance bus,AHB),也可以是其他类型的数据总线。
可以理解,图1所示的电子设备100的结构只是一种示例,可以是包含ISP和NPU的任意电子设备100,并不构成对电子设备100的具体限定,在另一些实施例中,电子设备100可以包含更多或更少的模块,还可以组合或者拆分部分模块,本申请实施例不作限制。
可以理解,电子设备100可以包括但不限于:膝上型计算机、台式计算机、平板计算机、手机、服务器、可穿戴设备、头戴式显示器、移动电子邮件设备、便携式游戏机、便携式音乐播放器、阅读器设备、电视机等。
在一些实施例中,电子设备100可以通过镜头101、图像传感器102、ISP 103进行拍摄图像,具体的景物/人物通过镜头101在图像传感器102上形成光学信号,图像传感器102将光学信号转换为电信号,形成RAW格式的图像数据并传递给ISP 103,ISP 103对RAW格式的图像数据进行处理(例如白平衡调整、坏点矫正、色域转换)等。图2根据本申请实施例,示出了图像数据经过ISP 103处理后使用CPU 105进行图像数据填充的交互过程,包括下以步骤。
步骤2001:ISP 103将处理后的图像数据传送到存储器107进行存储。
步骤2002:CPU 105通过总线109从存储器107读取图像数据。
步骤2003:CPU 105对读取的图像数据进行填充。
步骤2004:CPU 105将填充后的图像数据传送到存储器107进行存储。
步骤2005:NPU 104从存储器107读取填充后的图像数据。
步骤2006:NPU 104进行深度学习模型推理。
如此,图像数据经过ISP 103处理后,需要CPU 105读/写存储器107,NPU 104才能读取到填充后的图像数据,系统端到端时延较高,占用系统带宽较大,同时,使用CPU 105进行填充运算会增加CPU 105的运行负荷。
在另一些实施例中,在电子设备100的ISP 103将图像数据传送到存储器107后,直接采用NPU 104进行图像数据填充,如图3所示,包括以下步骤。
步骤3001:ISP 103将处理后的图像数据传送到存储器107进行存储。
步骤3002:NPU 104通过总线109从存储器107读取图像数据。
步骤3003:NPU 104对读取的图像数据进行填充。
步骤3004:NPU 104将填充后的图像数据传送到存储器107进行存储。
步骤3005:NPU 104从存储器107读取填充后的图像数据。
步骤3006:NPU 104进行深度学习模型推理。
直接采用NPU 104进行图像数据填充,降低了CPU 105的运算负荷,但由于仍然需要NPU 104读/写存储器107完成图像数据的填充,仍会使系统端到端时延较高,占用系统带宽较大,同时会增加NPU 104的运算负荷。
图4根据本申请实施例,示出了电子设备100直接采用ISP进行图像填充的交互示意图,包括以下步骤。
步骤4001:ISP 103对图像数据进行填充。
步骤4002:ISP 103将填充后的图像数据传送到存储器107进行存储。
步骤4003:NPU 104从存储器107读取填充后的图像数据。
步骤4004:NPU 104进行深度学习模型推理。
可见,采用ISP 103直接进行数据填充,将填充后的数据传送到存储器107后,NPU104即可读取存储器107中经过填充的数据进行深度学习模型推理,减少了系统中图像数据传递的次数,降低了系统的端到端延迟,减小了系统带宽的占用,同时降低了CPU 105和NPU104的负荷。
在一些实施例中,由于ISP 103内部的运行机制和内部缓存的限制,我们采用逐行填充的方式对图像数据进行填充。图5根据本申请实施例,示出了图4所示的图像数据填充方法中ISP 103逐行对图像数据进行填充的流程图,包括以下步骤。
步骤500:ISP 103获取填充参数,填充参数包括但不限于色彩通道、行索引号、填充位置、填充数量、填充值,其中:
色彩通道,是指待进行图像数据填充的色彩通道,例如在RGB格式的图像数据中包括R(红色)、G(绿色)、B(蓝色)三个色彩通道。可以理解,对只有一个色彩通道的图像数据进行填充时,可以不包括色彩通道参数;
行索引号,是指待进行图像数据填充的行数据在整幅图像中的行号;
填充位置,是指对图像数据进行填充的方向,例如左侧或/和右侧;
填充数量,是指要进行填充的像素数量;
填充值,是指对图像数据矩阵进行填充的数值,一般为常数。
可以理解,填充参数可以根据不同的深度学习模型离线计算并存储在电子设备100的存储器中,也可以根据NPU 104中的深度学习模型实时计算。例如,当NPU 104中运行的深度学习模型为卷积神经网络时,卷积会导致图像数据变少,为了保证卷积前后图像数据的大小在变,图像数据进入NPU 104前,需要对图像数据填充零。
例如图像数据的大小为M×M,卷积核心的大小为N×N(N为奇数且小于M),卷积步长为1,则经过一次卷积后,图像数据变为(M-N+1)×(M-N+1),相比原图像数据减小N-1个维度。为了保证卷积后图像数据大小不变,需要在卷积前对原数据图像增加N-1行和N-1列。
具体的,图6A根据本申请实施例,示出了大小为4×4的图像矩阵和3×3的卷积核进行步长为1的卷积运算的示意图,如图6A所示,经过卷积运算后图像数据矩阵大小变为2×2,比原图像数据维度减小2。为使卷积后图像数据大小保持4×4不变,需要在原图像数据的左侧和右侧增加1列,上方和下方增加1行,如图6B所示,填充后的图像数据变为6×6,经过卷积后的图像数据大小变为4×4,与原图像数据一致。如此,生成的填充参数如下:
行索引号 | 填充行-填充位置-数量-填充值 |
Before | Before-1-6-0(增加1行包含6列且值为0的行) |
1 | 1-Left-1-0,1-Right-1-0(左右两侧各增加一列值为0的列) |
2 | 2-Left-1-0,2-Right-1-0(左右两侧各增加一列值为0的列) |
3 | 3-Left-1-0,3-Right-1-0(左右两侧各增加一列值为0的列) |
4 | 4-Left-1-0,4-Right-1-0(左右两侧各增加一列值为0的列) |
After | After-1-6-0(增加1行包含6列且值为0的行) |
可以理解,填充参数的计算方法只是针对卷积神经网络对输入图像数据要求的一种示例,本领域的一般技术人员应当理解,不同的深度学习模型对输入图像数据的要求并不相同,填充参数的要求可以根本不同的深度学习模型采用其他的计算方法实现,本申请实施例不做限制。
步骤501:ISP 103获取待填充的行数据的行索引号。ISP 103从ISP的其他模块中(例如图8中的通用功能模块)获取待填充图像数据的一行数据的行索引号。例如,在图7A所示的图像数据填充示意图中,1-4为行索引号,若在待填充图像数据上方进行整行填充,则行索引号为Before,在待填充数据下方进行整行填充,则行索引号为After。
步骤502:ISP 103根据待填充数据行索引号判断当前行数据在待填充图像数据中的位置,例如首行、中间行和尾行。若当前行数据为待填充图像数据的首行,转至步骤503;若当前行数据为待填充图像数据的尾行,转到步骤505;否则,转至步骤504。例如,在图7A所示的图像数据填充示意图中,第1行为首行;第2行和第3行为中间行;第4行为尾行。
步骤503:ISP 103根据填充参数,整行填充并输出数据行。若当前行数据为待填充图像数据的首行且填充参数中需要在待填充图像数据的上方整行填充,则填充参数,逐行整行填充并输出。例如,在图7A所示的图像数据填充示意图中,当获取的图像数据是首行时,根据步骤500中的填充参数,在首行前需要填充1行6列全零的数据行,并将填充的数据行输出,得到填充后的图像数据A1。
步骤504:ISP 103获取当前行数据,根据填充参数,对当前行数据进行填充后输出。输出后转到步骤501获取下一行待填充行数据。例如,在图7B所示的图像数据填充示意图中,当获取的图像数据是首行并已经执行了步骤503的整行填充后或获取的图像数据是中间行时,根据填充参数,对当前行进行填充并输出,例如当行索引号1-3时,在当前行数据的左侧和右侧各填充一列值为0的列,得到填充后的图像数据A2-1、A2-2和A2-3。
可以理解,获取当前行数据可以是获取一个色彩通道中的一行数据,也可以是同时获取多个色彩通道中相同行索引号的行数据,本申请实施例不做限定。
步骤505:若ISP 103获取的待填充的数据行是尾行时,ISP 103根据填充参数对当前行进行填充并输出,具体和步骤504相似,在此不再赘述,例如,图7C中,根据填充参数对尾行数据填充,得到填充后的图像数据A3。
步骤506:ISP 103根据填充参数,整行填充并输出。若当前数据行是尾行且填充参数中需要在待填充图像数据下方整行填充,则根据填充参数中的行的数量、填充的列数、填充值等参数,逐行整行填充并输出,例如,图7D中,根据填充参数在待填充图像数据下方进行整行填充,得到填充后的图像数据A4。可以理解,一些深度学习模型也可以不在原数据下方进行整行填充,当ISP 103在填充参数中没有找到需要在原数据下方整行填充的参数时,则结束图像数据的填充。
可以理解,在其他实施例中,当ISP 103的硬件参数可以同时获取整幅待填充图像数据时,也可以在获取填充参数后,直接读取整幅待填充图像数据,填充后整幅输出填充后的图像数据,本申请实施例不作限制。例如,图7E所示的图像数据填充示意图中,获取步骤300中的填充参数后,直接读取全部的待填充数据,根据填充参数填充后整幅输出。
进一步,图8根据本申请的一些实施例,示出了一种ISP 103的结构示意图。如图8所示,ISP 103包括处理器1031、图像传输接口1032、通用外围设备1033、填充模块1034和通用功能模块1035。
处理器1031用于ISP 103中的逻辑控制和调度。
图像传输接口1032用于图像数据的传输。
通用外围设备1033包括但不限于:
用于耦接ISP 103的各个模块的总线及其控制器,例如I2C总线可以使处理器控制ISP的工作模式,获取ISP的工作状态等;
用于与其他设备耦接的总线,例如高级高性能总线(advanced high-performancebus,AHB),可以使ISP与其他设备(如DSP、CPU等)进行高性能通信;
用于监控ISP工作状态的看门狗单元(WATCHDOG)。
填充模块1034,用于根据NPU中图像处理模型,例如深度学习模型,对输入数据的要求,对图像数据进行填充运算。
可以理解,不同的图像处理模型对输入图像的色域空间要求不同,填充模块可以对不同类型色域空间的图像数据进行填充,包括但不限于RGB、YUV色域。
可以理解,一些实施例中,填充模块也可以集成到通用功能模块1035中,本申请实施例不做限定。
通用功能模块1035用于对输入ISP 103的图像进行处理,包括但不限于:黑电平补偿(black level correction,BLC)、坏点矫正(bad pixel correction,BPC)、镜头矫正(lens shading correction,LSC)、去马赛克(Demosaic)、降噪(Denoise)、自动白平衡(automatic white balance,AWB)、颜色矫正(Color Correction)、伽马矫正(GammaCorrection)、色域转换等。当图像传感器将RAW格式的图像数据传递给图像信号处理器1030时,先由通过功能模块进行处理。通用功能模块可以包括RAW域处理模块、YUV域处理模块和RGB域处理模块,图9示出了一种通用功能模块对图像数据进行处理的过程示意图,包括以下步骤。
RAW域处理模块对图像数据进行坏点矫正、黑电平矫正和自动白平衡。
经过RAW域处理后的图像数据经过RGB插值后得到RGB域的图像数据,再由RGB域处理模块对RGB域的图像数据进行伽马矫正和颜色校正。
经过RGB域处理的图像数据经过色域转换得到YUV域的图像数据,再由YUV域处理模块对YUV域的图像数据进行降噪、边缘增加、亮度/对比度/色度调整。
经过RGB域处理的图像数据经过色域转换得到YUV域的图像数据,再由YUV域处理模块对YUV域的图像数据进行降噪、边缘增加、亮度/对比度/色度调整。
可以理解,图像数据经过通用功能模块处理后即可输出到填充模块1034进行图像数据填充。其中,输出到填充模块1034的图像数据色域可以是RGB,也可以是YUV,还可以是灰度图像,本申请实施例不做限制。
可以理解,图8所示的ISP 103的结构只是一种示例,本领域的技术人员应当理解,其可以包含更多或更少的模块,也可以组合或者拆分部分模块,本申请实施例不作限定。
本申请实施例还提供一种片上系统,如图10所示,片上系统1000包括ISP103、NPU104、CPU 105和存储器107。ISP 103、NPU 104、CPU 105和存储器107通过总线109耦接。ISP103可以对图像数据进行填充,并通过总线109传送到存储器107,NPU 104从存储器107读取填充后的图像数据进行深度学习模型推理,如此减小了SOC 1000中的端到端延迟和系统带宽的占用,同时减轻了NPU 104和CPU 105的工作负荷。
可以理解,图10所示的SOC 1000只是一种示例性说明,本领域的技术人员应当理解,在另一些实施例中,可以增加或减小一些部件,例如,增加总线控制单元、中断管理单元、协处理器等,还可以拆分或者组合一些部件,例如,将ISP 103和NPU 104集成在一起,本申请实施例不作限制。
本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(Digital Signal Processor,DSP)、微控制器、专用集成电路(Application Specific Integrated Circuit,ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(CD-ROMs)、磁光盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、可擦除可编程只读存储器(Erasable Programmable Read OnlyMemory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory,EEPROM)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息(例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。
需要说明的是,在本专利的示例和说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。
Claims (14)
1.一种图像数据填充方法,用于电子设备,其特征在于,所述电子设备包括第一处理器和第二处理器;并且
所述方法包括:
所述第一处理器获取填充参数;
所述第一处理器获取第一图像数据并根据所述填充参数对所述第一图像数据进行填充生成第二图像数据;
所述第一处理器向所述第二处理器发送所述第二图像数据;
其中,所述第一处理器为图像信号处理器;
并且,所述第一处理器获取第一图像数据并根据所述填充参数对所述第一图像数据进行填充生成第二图像数据,具体包括:
所述第一处理器获取所述第一图像数据中待读取的行数据的行索引号,并根据所述行索引号判断所述待读取的行数据在第一图像数据中的位置;
所述第一处理器根据所述待读取的行数据在第一图像数据中的位置和所述填充参数对所述待读取的行数据进行填充。
2.根据权利要求1所述的图像数据填充方法,其特征在于,还包括:
根据所述第一图像数据的大小和所述第二图像数据的大小确定所述填充参数。
3.根据权利要求1所述的图像数据填充方法,其特征在于,所述填充参数包括行索引号、色彩通道、填充位置、填充数量、填充值中的至少一项。
4.根据权利要求1所述的图像数据填充方法,其特征在于,所述第一处理器根据所述待读取的行数据在第一图像数据中的位置和所述填充参数对所述待读取的行数据进行填充,包括:
若所述待读取的行数据是所述第一图像数据的首行,根据所述填充参数在所述第一图像数据的上方整行填充数据;
读取所述待读取的行数据,根据所述填充参数在读取的行数据的左侧或右侧添加与填充值相对应的数据。
5.根据权利要求1所述的图像数据填充方法,其特征在于,所述第一处理器根据所述待读取的行数据在所述第一图像数据中的位置和所述填充参数对所述待读取的行数据进行填充,还包括:
若待读取的行数据为所述第一图像数据的中间行,读取所述待读取的行数据,根据所述填充参数在读取的行数据的左侧或右侧添加与填充值相对应的数据。
6.根据权利要求1所述的图像数据填充方法,其特征在于,所述第一处理器根据所述待读取的行数据在第一图像数据中的位置和所述填充参数对所述待读取的行数据进行填充,还包括:
若所述待读取的行数据是所述第一图像数据的尾行,读取所述待读取的行数据,在读取的行数据的左侧或右侧添加与填充值相对应的数据;以及
根据所述填充参数在所述第一图像数据的下方整行填充数据。
7.根据权利要求1所述的图像数据填充方法,其特征在于,所述电子设备还包括存储器;并且在所述第一处理器根据所述待读取的行数据在第一图像数据中的位置和所述填充参数对所述待读取的行数据进行填充后,还包括:
所述第一处理器将填充后的行数据传送到存储器。
8.根据权利要求1所述的图像数据填充方法,其特征在于,所述电子设备还包括存储器;并且所述第一处理器向所述第二处理器发送所述第二图像数据,具体包括:
所述第一处理器将所述第二图像数据传送到所述存储器;
所述第二处理器从所述存储器中读取所述第二图像数据。
9.根据权利要求1至8任一项所述的图像数据填充方法,其特征在于,所述第二处理器是神经网络处理器。
10.根据权利要求9所述的图像数据填充方法,其特征在于,所述电子设备还包括总线,并且
所述第一处理器和所述第二处理器是通过所述总线进行耦接。
11.一种图像信号处理器,其特征在于,用于执行权利要求1至10任一项所述的图像数据填充方法。
12.一种可读介质,其特征在于,所述可读介质中包含有指令,当所述指令被电子设备的图像信号处理器执行时使电子设备实现权利要求1至10任一项所述的图像数据填充方法。
13.一种电子设备,其特征在于,包括:
存储器,用于存储由电子设备的一个或多个处理器执行的指令;以及
第一处理器和第二处理器,用于执行权利要求1至10任一项所述的图像数据填充方法。
14.一种片上系统,其特征在于,包括:
存储器,用于存储由片上系统的一个或多个处理器执行的指令;以及
第一处理器和第二处理器,用于执行权利要求1至10任一项所述的图像数据填充方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110528182.XA CN113256763B (zh) | 2021-05-14 | 2021-05-14 | 电子设备及其图像处理方法、片上系统和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110528182.XA CN113256763B (zh) | 2021-05-14 | 2021-05-14 | 电子设备及其图像处理方法、片上系统和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113256763A CN113256763A (zh) | 2021-08-13 |
CN113256763B true CN113256763B (zh) | 2023-04-28 |
Family
ID=77181945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110528182.XA Active CN113256763B (zh) | 2021-05-14 | 2021-05-14 | 电子设备及其图像处理方法、片上系统和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113256763B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111860530A (zh) * | 2020-07-31 | 2020-10-30 | Oppo广东移动通信有限公司 | 电子设备、数据处理方法及相关装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104869381B (zh) * | 2014-02-25 | 2017-07-25 | 炬芯(珠海)科技有限公司 | 一种图像处理系统、方法及装置 |
CN106657788A (zh) * | 2016-12-28 | 2017-05-10 | 深圳众思科技有限公司 | 电子设备的图像处理方法及电子设备 |
CN111615827A (zh) * | 2018-01-30 | 2020-09-01 | 高通股份有限公司 | 用于图像信号处理器调谐的系统和方法 |
CN112053283A (zh) * | 2020-08-13 | 2020-12-08 | 深圳市洲明科技股份有限公司 | 图像缩放方法、存储介质及电子设备 |
-
2021
- 2021-05-14 CN CN202110528182.XA patent/CN113256763B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111860530A (zh) * | 2020-07-31 | 2020-10-30 | Oppo广东移动通信有限公司 | 电子设备、数据处理方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113256763A (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11470337B2 (en) | Image processor, image processing system including image processor, system-on-chip including image processing system, and method of operating image processing system | |
EP3229467A1 (en) | Imaging method, imaging device, and electronic device | |
US20210272246A1 (en) | Method, system, and computer-readable medium for improving quality of low-light images | |
US9479744B2 (en) | Image signal processor and mobile device including image signal processor | |
US20200342291A1 (en) | Neural network processing | |
US10812730B2 (en) | Sensor auto-configuration | |
US20080012953A1 (en) | Image Sensors | |
US20220084159A1 (en) | Image signal processor, method of operating the image signal processor, and application processor including the image signal processor | |
US20040257453A1 (en) | Apparatus for and method of interfacing between an image sensor and an image processor | |
US20220086410A1 (en) | Method, system, and computer-readable medium for improving color quality of images | |
US20220368927A1 (en) | Image encoder, image decoder, and image processing method | |
WO2023010755A1 (zh) | 一种hdr视频转换方法、装置、设备及计算机存储介质 | |
US20240031706A1 (en) | Imaging element, imaging apparatus, operation method of imaging element, and program | |
CN113256763B (zh) | 电子设备及其图像处理方法、片上系统和介质 | |
CN113627328A (zh) | 电子设备及其图像识别方法、片上系统和介质 | |
US20220417542A1 (en) | Image processing device, image processing system including image processing device, system-on-chip including image processing system, and method of operating image processing system | |
US11678070B2 (en) | Imaging apparatus, operation method of imaging apparatus, and program | |
CN113259666B (zh) | 电子设备及其图像处理方法、片上系统和介质 | |
US8693774B2 (en) | Image accessing apparatus and image data transmission method thereof | |
CN102541796B (zh) | 电子装置 | |
CN112185312B (zh) | 图像数据的处理方法及装置 | |
US11696054B2 (en) | Imaging apparatus, imaging element, operation method of imaging apparatus, operation method of imaging element, and program for combining image data having a greater number of bits | |
US20220318955A1 (en) | Tone mapping circuit, image sensing device and operation method thereof | |
KR20230034875A (ko) | 프리-프로세서 및 뉴럴 네트워크 프로세서를 구비하는 이미지 처리 장치 및 이의 동작 방법 | |
KR20230069795A (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 |