CN112106080A - 电子设备及其控制方法 - Google Patents
电子设备及其控制方法 Download PDFInfo
- Publication number
- CN112106080A CN112106080A CN201980026052.7A CN201980026052A CN112106080A CN 112106080 A CN112106080 A CN 112106080A CN 201980026052 A CN201980026052 A CN 201980026052A CN 112106080 A CN112106080 A CN 112106080A
- Authority
- CN
- China
- Prior art keywords
- data
- kernel
- kernel data
- elements
- electronic device
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
- G06F17/153—Multidimensional correlation or convolution
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Neurology (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Image Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
Abstract
提供了一种用于执行人工智能算法的电子设备。所述电子设备包括存储器和处理器,存储器存储输入数据和从第一内核数据获得的多个第二内核数据,处理器获得放大数据,在放大数据中,输入数据的至少一部分根据第一内核数据被放大。通过对所述多个第二内核数据中的每个第二内核数据与输入数据执行卷积运算来放大数据。所述多个第二内核数据中的每个第二内核数据包括第一内核数据中的多个第一内核元素中的不同第一内核元素。
Description
技术领域
本公开涉及一种电子设备及其控制方法,更具体地,涉及一种基于内核数据对输入数据进行放大的电子设备及其控制方法。
背景技术
不同于传统的基于规则的智能系统,人工智能(AI)系统是实现人类水平智能的系统,在人工智能(AI)系统中机器训练自身、做出判断并且变得智能。人工智能系统被使用得越多,识别率越高,对用户偏好的理解越好。因此,传统的基于规则的智能系统已经被基于深度学习的人工智能系统所取代。
人工智能技术由机器学习(例如,深度学习)和使用机器学习的元素技术组成。
机器学习是一种通过自身对输入数据的特征进行分类/训练的算法技术。元素技术是使用诸如深度学习的机器学习算法并且包括语言理解、视觉理解、推理/预测、知识表示、运动控制等的技术。
人工智能技术可被应用于各种领域,下面描述其示例。语言理解是用于识别和应用/处理人类语言/字符的技术,包括自然语言处理、机器翻译、对话系统、查询响应、语音识别/合成等。视觉理解是一种像人类感知一样地对物体进行识别和处理的技术,包括物体识别、物体跟踪、图像搜索、人类识别、场景理解、空间理解、图像增强等。推理预测是一种对信息进行判断、逻辑推断和预测的技术,包括基于知识/概率的推理、优化预测、基于偏好的规划和推荐。知识表示是一种将人类经验信息自动化为知识数据的技术,包括知识构建(数据生成/分类)和知识管理(数据利用)。运动控制是用于控制车辆的自主行驶和机器人的运动的技术,包括运动控制(导航、碰撞和行驶)、操作控制(行为控制)等。
特别地,增加输入图像的分辨率(其被称为超分辨率)的神经网络由用于提取图像的特征的卷积层、用于计算所提取的特征的非线性层(ReLu、池化、元素求和、批归一化等)以及用于使输入图像的分辨率加倍的放大层组成。
可使用例如双线性、子像素混洗、转置卷积、高斯滤波器等以各种方式形成放大层。然而,可使用上述方法形成的额外放大层可增加硬件面积。
因此,需要一种用于在执行放大操作的同时保持硬件面积较小的方法。
近来,高分辨率图像服务和实时流服务的需求很高。然而,对于传输高分辨率图像和流图像,压缩损失是不可避免的,这导致图像质量劣化。
上述信息被呈现为背景技术信息仅是为了帮助理解本公开。关于上述内容中的任一项是否可适用于关于本公开的现有技术,尚未做出确定,也未做出断言。
发明内容
技术问题
本公开的实施例涉及提供一种通过消除用于执行特定操作的硬件而具有减小的硬件面积的电子设备及其控制方法。
技术方案
根据本公开的一方面,提供了一种电子设备,所述电子设备具有:存储器,被配置为存储输入数据和从第一内核数据获得的多个第二内核数据;以及处理器,被配置为通过对所述多个第二内核数据中的每个第二内核数据与输入数据执行卷积运算来获得这样的数据,在该数据中,输入数据的一部分根据第一内核数据被放大。所述多个第二内核数据中的每个第二内核数据包括第一内核数据中的多个第一内核元素中的不同第一内核元素。
所述多个第二内核数据中的每个第二内核数据可基于以放大倍数(r)为间隔而分隔开的所述多个第一内核元素从扩展的第一内核数据获得。扩展的第一内核数据是通过基于第一内核数据的大小和倍数(r)扩展第一内核数据获得的。
所述电子设备还可包括通信器,通信器包括电路。处理器还被配置为通过通信器从服务器接收所述多个第二内核数据,并且将接收到的所述多个第二内核数据存储在存储器中。
所述电子设备还可包括通信器,通信器包括电路。处理器还被配置为通过通信器从服务器接收第一内核数据,从第一内核数据获得所述多个第二内核数据,并且将所述多个第二内核数据存储在存储器中。
处理器还可被配置为对所述多个第二内核数据中的每个第二内核数据与输入数据的部分中的待放大元素及围绕待放大元素的多个外围元素执行卷积运算,以获得关于待放大元素的多个放大元素。待放大元素与所述多个外围元素的和与分别包括在所述多个第二内核数据中的多个第二元素的和相同。
处理器还可被配置为基于待放大元素相对于输入数据的位置来确定所述多个放大元素相对于放大数据的位置。
处理器可包括卷积阵列及线存储器,卷积阵列包括电路并且被配置为对所述多个第二内核数据中的每个第二内核数据与输入数据执行卷积运算,线存储器包括电路并且被配置为存储放大数据。
卷积阵列可包括分别包括多个寄存器堆的多个处理元素。所述多个处理元素中的每个处理元素通过使用输入到所述多个第二内核数据的所述多个处理元素的第二内核元素来执行乘法运算,并且将乘法运算的结果累加并存储在所述多个寄存器堆的与所述第二内核元素相应的寄存器堆中。
处理器还可包括混洗器,该混洗器包括电路并且被设置在卷积阵列和线存储器之间。混洗器对从多个处理元素输出的多个运算结果进行混洗,并将混洗后的多个运算结果提供给线存储器。
混洗器还可包括多个缓冲器组和FIFO存储器,所述多个缓冲器组包括电路,FIFO存储器包括电路并且被配置为接收从包括在多个处理元素中的相应寄存器堆输出的多个处理元素,并且将多个运算结果输出到多个缓冲器组。所述多个缓冲器组将所述多个运算结果中的每个运算结果存储在与所述多个缓冲器组中的每个缓冲器组相应的缓冲器中,并且基于所述多个运算结果被存储在包括在所述多个缓冲器组中的所有缓冲器中,以预先设置的顺序将存储在所述多个缓冲器组中的一个缓冲器组中的所述多个处理元素提供给线存储器。
根据本公开的一方面,提供了一种电子系统,包括:服务器,被配置为获得包括第一内核数据中的多个第一内核元素中的不同第一内核元素的多个第二内核数据;以及电子设备,被配置为从服务器接收第二内核数据,通过对多个第二内核数据中的每个第二内核数据与输入数据执行卷积运算来获取这样的数据,在该数据中,输入数据的一部分根据第一内核数据被放大。
服务器可基于第一内核数据的大小和放大倍数(r)来扩展第一内核数据,并且基于在扩展的第一内核数据中以倍数(r)为间隔而分隔开的多个第一内核元素来获得所述多个第二内核数据中的每个第二内核数据。
根据本公开的一方面,提供了一种控制电子设备的方法。该方法包括对从第一内核数据获得的多个第二内核数据中的每个第二内核数据与输入数据执行卷积运算,以及基于卷积运算获取数据,在所述数据中,输入数据的一部分根据第一内核数据被放大。
所述多个第二内核数据中的每个第二内核数据可基于以放大倍数(r)为间隔而分隔开的所述多个第一内核元素从扩展的第一内核数据获得。扩展的第一内核数据是通过基于第一内核数据的大小和倍数(r)扩展第一内核数据而获得的。
所述方法还可包括从服务器接收所述多个第二内核数据。
所述方法还可包括从服务器接收第一内核数据,并且从第一内核数据获得所述多个第二内核数据。
放大数据的获得还可包括对所述多个第二内核数据中的每个第二内核数据与输入数据的一部分中的待放大元素及围绕待放大元素的多个外围元素执行卷积运算,并且获得关于待放大元素的多个放大元素。待放大元素与所述多个外围元素之和与包括在所述多个第二内核数据中的多个第二元素之和相同。
放大数据的获得可包括基于待放大元素相对于输入数据的位置来确定多个放大元素相对于放大数据的位置。
所述获取放大数据可包括通过卷积阵列对所述多个第二内核数据中的每个第二内核数据与输入数据执行卷积运算,且将放大数据存储在线存储器中。
卷积阵列可包括分别包括多个寄存器堆的多个处理元素。卷积运算的执行包括:通过使用通过多个处理元素中的每个处理元素输入到所述多个第二内核数据的多个处理元素的第二内核元素来执行乘法运算,并且将多个运算结果累加并存储在所述多个寄存器堆中的与第二内核元素相应的寄存器堆中。
有益效果
根据上述各个方面,电子设备通过卷积阵列执行放大操作,并且消除了用于执行放大操作的附加硬件,从而减小了硬件面积。
附图说明
根据结合附图的以下描述,本公开的某些实施例的上述和其他方面,特征和优点将更加显而易见,在附图中:
图1是示出根据实施例的电子设备的配置的框图;
图2A至图2C是示出根据实施例的获得多个第二内核数据的方法的示图;
图3A至图3B是示出根据实施例的第二内核数据的示图;
图4A和图4B是示出根据实施例的处理器的根据输入数据和放大数据之间的关系的操作的示图;
图5是示出根据实施例的识别第二内核数据的大小的方法的示图;
图6A和图6C是示出根据实施例的获得多个第二内核数据的方法的示图;
图7A至图7C是示出根据另一实施例的获得多个第二内核数据的方法的示图;
图8是示出根据实施例的处理器的内部结构的示图;
图9是示出根据实施例的卷积阵列的示图;
图10A和图10B是示出根据实施例的输出数据的混洗方法的示图;
图11A至图11D是示出根据实施例的混洗操作的示图;
图12是示出根据实施例的电子系统的操作的示图;以及
图13是示出根据实施例的用于控制电子设备的方法的流程图。
具体实施方式
实施例可被不同地修改。因此,具体实施例在附图中示出并且在具体实施例中详细描述。然而,应当理解,本公开不限于特定实施例,而是包括在不脱离本公开的范围和精神的情况下的所有修改、等同物和替换。此外,不详细描述公知的功能或结构,因为它们将用不必要的细节模糊本公开。
以下,参照附图对各实施例进行详细说明。
图1是示出根据实施例的电子设备的配置的框图。参照图1,电子设备100可包括诸如存储器的存储器110和处理器120。
电子设备100可基于内核数据来放大输入数据的一部分。例如,电子设备100可将内容放大以与显示设备的分辨率相应,并且将放大的内容提供给诸如机顶盒(STB)、服务器等的显示设备。电子设备100可包括显示器并且将内容放大以与显示器的分辨率相应,诸如台式PC、笔记本、智能电话、平板PC等。然而,本公开不限于此,电子设备100可以是任何类型的设备,只要其能够执行放大操作即可。
存储器110可与处理器120分开提供,并且被实现为硬盘、非易失性存储器、易失性存储器等。
存储器110可存储输入数据。输入数据可包括经过放大的数据。存储器110可存储输入数据的一部分。输入数据可包括待放大数据,或者输入数据可以是通过处理器120填充待放大数据而获得的数据。为了便于解释,将假设输入数据包括待放大数据和填充的数据。然而,本公开不限于此。输入数据可仅包括待放大数据。处理器120可填充待放大数据并且将填充的数据存储在存储器110中。
存储器110可存储从第一内核数据获得的多个第二内核数据。第一内核数据可以是用于对输入数据的部分进行放大的数据。例如,第一内核数据可以是用于对输入数据的部分进行放大的高斯滤波器。多个第二内核数据中的每个第二内核数据可包括第一内核数据中包括的多个第一内核元素中的不同的第一内核元素。
电子设备100可从服务器接收多个第二内核数据。服务器可从第一内核数据获得多个第二内核数据,并将多个第二内核数据发送到电子设备100。电子设备100可从服务器接收第一内核数据,并且从第一内核数据直接获得多个第二内核数据。
存储器110可包括比处理器120中提供的线存储器更大的存储容量,并且向线存储器提供数据,或者从线存储器接收数据。
例如,存储在存储器110中的输入数据和第一内核数据可被临时存储在线存储器中。存储在存储器110中的输入数据和第一内核数据可部分地存储在线存储器中。放大数据可被存储在线存储器中,并且存储器110可从线存储器接收放大数据。
处理器120可控制电子设备100的全部操作。
处理器120可通过对多个第二内核数据中的每个第二内核数据与输入数据执行卷积运算来获取输入数据的一部分被第一内核数据放大的数据。
可从第一内核数据获得多个第二内核数据。多个第二内核数据中的每个第二内核数据可包括第一内核数据中包括的多个第一内核元素中的不同的第一内核元素。
可基于以放大的倍数(r)为间隔而分隔开的多个第一内核元素从扩展的第一内核数据获得多个第二内核数据中的每个第二内核数据。通过基于第一内核数据的大小和倍数(r)扩展第一内核数据来获得扩展的第一内核数据。
例如,当第一内核数据是7×7矩阵形式时,可从第一内核数据获得3×3矩阵形式的九个第二内核数据。可基于第一内核数据的大小来确定多个第二内核数据中的每个第二内核数据的大小。另外,多个第二内核数据的数量可基于放大倍数(r)来确定。下面将进一步详细描述用于获得多个第二内核数据的方法。
电子设备100还可包括通信器(未示出),并且处理器120可通过通信器从服务器接收多个第二内核数据,并且将接收到的多个第二内核数据存储在存储器110中。
处理器120还可通过通信器从服务器接收第一内核数据,从第一内核数据中获得多个第二内核数据,并将多个第二内核数据存储在存储器110中。
通信器可被配置为使用各种类型的通信方法来执行与各种类型的外部设备的通信。通信器可包括Wi-Fi芯片、蓝牙芯片、无线通信芯片、NFC芯片等。处理器120可使用通信器执行与各种类型的外部设备的通信。
Wi-Fi芯片或蓝牙芯片可分别使用Wi-Fi方法和蓝牙方法来执行通信。当使用Wi-Fi芯片或蓝牙芯片时,可首先发送和接收诸如SSID和会话密钥的各种连接性信息。可基于连接性信息来建立通信连接,并且可在所建立的通信连接中发送和接收各种信息。无线通信芯片是指根据(诸如IEEE、ZigBee、第三代(3G)、第三代合作伙伴计划(3GPP)、长期演进(LTE)等)各种通信标准执行通信的芯片。NFC芯片是指使用(诸如135kHz、13.56MHz、433MHz、860至960MHz和2.45GHz等)各种RF-ID频带中的13.56MHz频带以NFC(近场通信)模式操作的芯片。
通信器可执行与外部设备的单向通信或双向通信。当执行单向通信时,通信器可从外部设备接收第一内核数据或多个第二内核数据。当执行双向通信时,通信器可从外部设备接收第一内核数据或多个第二内核数据,或者将放大数据发送到外部设备。
处理器120可将多个第二内核数据中的每个第二内核数据与部分输入数据中的待放大元素以及围绕待放大元素的多个外围元素进行卷积运算,以获得关于待放大元素的多个放大元素。待放大元素和多个外围元素的和可与分别包括在多个第二内核数据中的多个第二元素的和相同。
例如,当待放大元素和围绕待放大元素的多个外围元素为3×3矩阵形式,且多个第二内核数据中的每个第二内核数据为3×3矩阵形式时,处理器120可将待放大元素和围绕待放大元素的多个外围元素与多个第二内核数据中的一个第二内核数据进行卷积运算,以获得一个放大元素。处理器120可以以相同的方式对多个第二内核数据中的剩余部分执行运算。换句话说,多个放大元素的数目可与多个第二内核数据的数目相同。
放大数据可呈矩阵形式,且处理器120可基于在卷积运算中使用的第二内核数据来确定放大元素的位置。例如,当多个第二内核数据中的第一个第二内核数据被用于运算时,通过第一个第二内核数据的运算得到的放大元素可被设置在放大数据的第一行第一列中,并且当多个第二内核数据中的第二个第二内核数据被用于运算时,通过第二个第二内核数据的运算得到的放大元素可被设置在放大数据的第一行第二列中。
如上所述,根据实施例,处理器120可获得待放大元素的放大数据。例如,处理器120可将待放大元素(一个像素值)转换成具有3×3像素值的放大数据。
处理器120可基于输入数据的待放大元素的位置来确定多个放大元素相对于放大数据的位置。
例如,处理器120可将作为包括在输入数据中的一个像素值的第一放大对象元素转换成具有3×3像素值的放大第一数据。处理器120,当输入数据的多个放大对象元素的第一放大对象元素被设置在最左顶端时,处理器120可将第一放大数据布置在放大数据的最左顶端。
处理器120可基于放大对象元素的相对位置来确定多个放大元素相对于放大数据的位置。
例如,处理器120可将作为包括在输入数据中的一个像素值的第一放大对象元素转换成具有3×3像素值的第一放大数据,并将作为包括在输入数据中的一个像素值的第二放大对象元素转换成具有3×3像素值的第二放大数据。当第二放大对象元素被设置在第一放大对象元素的右侧时,处理器120可将第二放大数据布置在第一放大数据的右侧。
处理器120可包括用于对多个第二内核数据中的每个第二内核数据与输入数据执行卷积运算的卷积阵列和用于存储放大数据的线存储器。
卷积阵列可包括多个处理元素,每个处理元素具有多个寄存器堆,并且多个处理元素中的每个处理元素可通过使用多个第二内核数据中的输入到多个处理元素的第二内核元素来执行乘法运算,并且对运算结果进行累加并存储在多个寄存器堆中的与第二内核元素相应的寄存器堆中。
处理器120还可包括设置在卷积阵列和线存储器之间的混洗器,并且混洗器可对从多个处理元素输出的多个运算结果进行混洗并将结果提供给线存储器。
混洗器可接收从包括在多个缓冲器组中的寄存器堆输出的多个运算结果,并且多个相应的处理元素包括将多个运算结果输出到多个缓冲器组的FIFO存储器。多个缓冲器组可将多个运算结果中的每个运算结果存储在与多个缓冲器组中的每个缓冲器组相应的缓冲器中,并且当运算结果被存储在包括在多个缓冲器组中的所有缓冲器中时,存储在多个缓冲器组中的一个缓冲器组中的多个运算结果可按照预设顺序被提供给线存储器。
电子设备100可通过使用卷积阵列而无需附加的专用硬件来放大输入数据。
在下文中,根据实施例,将参照附图进一步详细描述处理器120的操作。
图2A至图2C是示出根据实施例的获得多个第二内核数据的方法的示图。将假定服务器而不是电子设备100获得多个第二内核数据。
参照图2A,服务器可将5×5的输入数据210的25个元素中的每个元素乘以7×7的第一内核数据220中的49个元素,以获得多个中间数据。
例如,服务器可通过将输入数据210的第一行第一列中的元素乘以第一内核数据220中包括的49个元素来获得第一中间数据230,通过将输入数据210的第一行第二列中的元素乘以第一内核数据220中的49个元素来获得第二中间数据231,并且通过将第二行第一列中的元素乘以第一内核数据220中的49个元素来获得第三中间数据232。以这样的方式,服务器可获得图2A右侧的多个中间数据230。
服务器可以以预定间隔布置多个中间数据,并且还包括重叠部分。例如,参照图2B,服务器可从第一中间数据230向右三个空格起布置第二中间数据231,并从第一中间数据230向下三个空格起布置第三中间数据232。以这样的方式,服务器可重叠和布置多个中间数据。相邻中间数据之间的左右或上下的距离可全部相同。
图2C是示出根据实施例的当以与图2B相同的方式重叠多个中间数据时每个区域的重叠次数的示图。为了便于解释,将省略一些区域的重叠次数。
图2C的重叠区域中的9×9的中心区域240可被用作放大数据,并且待放大的区域可以是输入数据210中的3×3的正中心区域。换句话说,当输入数据210中的3×3的正中心区域是待放大数据,并且围绕待放大数据的元素被填充时,输入数据210中的3×3的正中心区域可通过图2A至图2C中所示的过程被放大到9×9的中心区域240。
输入数据210中的3×3的正中心区域中的第一元素211可被放大到9×9的中心区域240中的左上侧的3×3的子区域241。输入数据210中的3×3的正中心区域中的元素可被放大到3×3的子区域,并且每个子区域可根据相应元素的位置被设置在9×9的中心区域240中。
根据元素的位置,九个子区域中的每个子区域可具有相同数量的运算。具体地,左上侧的子区域241的第一行第一列的重叠次数可为4(四),其余子区域的第一行第一列的重叠次数也可为4(四)。用于生成左上侧的子区域241的第一行第一列的第一内核数据220的第一内核元素中的四个第一内核元素可与用于生成其余子区域的第一行第一列的第一内核数据220的第一内核元素中的四个第一内核元素相同。在这种情况下,可使用相同的四个第一内核元素,但是可根据将与四个第一内核元素进行运算的输入数据的元素的位置来确定子区域的位置。服务器可通过使用四个第一内核元素来获得多个第二内核数据中的一个第二内核数据。
每个子区域的第一行第二列的重叠次数可以是6(六),并且可使用六个内核元素。服务器可通过使用六个第一内核元素来获得多个第二内核数据中的另一个第二内核数据。
基于这样的规律性,服务器可从第一内核数据获得多个第二内核数据。由于子区域包括九个元素,所以多个第二内核数据可以是九个。
服务器可识别多个第二内核数据与输入数据210的哪个区域一起运算,并且将参照图4A和图4B进行其进一步详细描述。
图3A至图3B是示出根据实施例的第二内核数据的示图。
以与图2C中所示的方式相同的方式,服务器可生成子区域中的每个元素的第二内核数据。具体地,服务器可将第一内核数据中的多个第一内核元素划分为多个组,并且向多个组中的每个组添加0(零)以具有预定数量的元素,从而获得多个第二内核数据。由于子区域中的元素的数量是9(九),因此参照图3A,服务器可生成九个第二内核数据k0、k1、……和k8。
例如,当第一内核数据为7×7矩阵形式时,服务器可将第一内核数据中的49个第一内核元素划分为4、6、4、6、9、6、4、6和4的9个组。服务器可将5、3、5、3、0、3、5、3和5个0添加到九个组中的每个组,使得每个组变为9(九)。
第二内核数据可以是矩阵形式,并且服务器可基于多个组中的每个组中的至少一个第一内核元素来确定将在相应的第二内核数据中添加0的位置。
参照图3A,第二内核数据中的九个中的数量是指第一内核数据220中的第一内核元素。例如,第二内核数据k0可包括第一内核数据220中的第一内核元素17、20、38和41,并且剩余区域可以是0(零)。
参照图3B,服务器可以以3×3矩阵形式生成第二内核数据k0。图3的剩余第二内核数据可类似地以3×3矩阵形式生成。
图4A和图4B是示出根据实施例的处理器根据输入数据和放大数据之间的关系的操作的示图。
根据实施例,如图2B所示,服务器可识别当多个中间数据被重叠时如何生成9×9的中心区域240中的元素。
例如,服务器可识别出在输入数据210的第一区域410-1与第二内核数据k0之间执行卷积运算以生成9×9的中心区域240的子区域241中的元素241-1。
输入数据210的第一区域410-1与第二内核数据k0之间的卷积运算如下。
1×a+2×b+3×c+4×d+5×e+6×f+7×g+8×h+9×i
上式是用于说明卷积运算的一般表达式。由于第二内核数据k0如图3B所示,因此上式可表示如下。
(41)×a+(38)×b+0×c+(20)×d+(17)×e+0×f+0×g+0×h+0×i=(41)×a+(38)×b+(20)×d+(17)×e
服务器可识别出可在输入数据210的第一区域410-1与第二内核数据k1之间执行卷积运算,并且可在9×9的中心区域240的子区域241中获得右侧的元素241-1。服务器可识别出在输入数据210的第一区域410-1与第二内核数据k8之间执行卷积运算,并且可在9×9的中心区域240的子区域241中获得右下的元素。
服务器可识别出根据输入数据的一个区域与多个第二内核数据中的每个第二内核数据之间的卷积运算可获得一个子区域。
当输入数据的一个区域被改变时,服务器可识别出可在9×9的中心区域240中获得另一个子区域。
例如,参照图4B,服务器可识别出可根据输入数据210的第二区域410-2与多个第二内核数据中的每个第二内核数据之间的卷积运算来获得子区域242,并且可根据输入数据210的第九区域410-9与多个第二内核数据中的每个第二内核数据之间的卷积运算来获得子区域249。
输入数据210可具有九个3×3的区域,并且可相应地获得子区域中的九个子区域。
服务器可执行从输入数据210和第一内核数据220(图2C)获得9×9的中心区域240(图4A)的方法。
电子设备100可从服务器接收放大方法,并且将该放大方法存储在存储器110中。放大方法可被实现为硬件格式的处理器120的部分配置,或存储在处理器120中的线存储器中。
处理器120可根据放大方法执行多个第二内核数据中的每个第二内核数据与输入数据之间的卷积运算,并获取通过根据第一内核数据放大部分输入数据而获得的数据。
参照图4A和图4B,处理器120可在输入数据210的一个区域与多个第二内核数据之间执行卷积运算以获得9×9的中心区域240,9×9的中心区域240是通过对输入数据210进行放大而获得。图2A至图4B示出当第一内核数据为7×7矩阵形式时获得3×3矩阵形式的第二内核数据的实施例。图2A至图4B示出了根据实施例的从高斯滤波器的结果获得第二内核数据的方法。图5A至7C示出从第一内核数据获取多个第二内核数据的更一般的方法。
将假定k×k矩阵形式的第一内核数据和放大倍数(r)由用户输入。
图5是示出根据实施例的用于识别第二内核数据的大小的方法的示图。将假定k×k矩阵形式的第一内核数据和放大倍数(r)由用户输入。
参照图5,F0、F1和F2表示一个像素,并且可以是待放大的像素。图5示出从F0、F1和F2第一内核数据510放大倍数(r)的数据521、522和523。
与受第一内核数据510影响的像素的关系可以是第二内核数据的大小。参照图5,基于F2像素影响达到F1的第二内核数据可以是3×3矩阵形式,并且第一内核数据510可在r+2和r+r/2之间的范围内。即,第一内核数据510的大小可表示如下。
r<k<=3r
参照图5,基于F2像素影响达到F0的第二内核数据可以是5×5矩阵形式,并且第一内核数据510可在从r+r/2到2r+r/2的范围内。即,第一内核数据510的大小可表示如下。
3r<k<=5r
以同样的方式,当第二内核数据为7×7矩阵形式时,第一内核数据510的大小将如下。
5r<k<=7r
当用户输入第一内核数据和放大倍数(r)时,服务器可基于第一内核数据的大小和放大倍数(r)获得第二内核数据的大小。
例如,当用户以7×7矩阵形式输入第一内核数据,并且放大倍数3时,可满足第一等式(3<7<=9),第二内核数据的大小可以是3×3。当用户以7×7矩阵形式输入第一内核数据,并且放大倍数2时,可满足第二等式(6<7<=10),并且第二内核数据的大小可以是5×5。
图6A和图6C是示出根据实施例的获得多个第二内核数据的方法的示图。参照图6A的左矩阵,将假定应用5×5矩阵形式的第一内核数据610和放大倍数(r)2。
参照图6A,服务器可扩展第一内核数据610。服务器可基于第二内核数据的大小和放大倍数(r)来扩展第一内核数据610。可如图5所示获得第二内核数据的大小,并且基于图5的第一等式(2<5<=6),第二内核数据的大小可以是3×3。
服务器可通过将第二内核数据的大小乘以放大倍数来确定第一内核数据的大小。例如,服务器可通过将第二内核数据3的大小乘以放大倍数2来将第一内核数据的大小确定为6×6。
服务器可通过向5×5的第一内核数据的右侧和底侧执行补零来获得6×6的扩展的第一内核数据620。然而,本公开不限于此,服务器可通过向5×5的第一内核数据的左侧和顶部执行补零来获得6×6的扩展的第一内核数据。在下文中,为了便于说明,将假设第一内核数据的右侧和底侧被补零。
参照图6B,服务器可基于以放大倍数(r)为间隔而分隔开的多个第一内核元素来获得多个第二内核数据中的每个第二内核数据。
例如,服务器可基于第一内核数据610的1、3、5、11、13、15、21、23和25来获得第二内核数据630的k0。服务器可基于第一内核数据610的2、4、12、14、22和24来获得第二内核数据630的k1。服务器可加0以获得3×3的第二内核数据。多个第二内核数据630中的每个第二内核数据630可包括第一内核数据610中的多个第一内核元素中的不同的第一内核元素。
服务器可将多个第二内核数据中的每个第二内核数据识别为(i,j)的二维信息(i和j是小于或等于放大倍数(r)的自然数),基于第一内核数据的大小和倍数(r)识别第二内核数据的大小,基于第二内核数据的大小和倍数(r)扩展第一内核数据,并且基于位于展开后的第一内核数据中的第(r×a+i)行第(r×b+j)列的第一内核要素获得多个第二内核数据中的(i,j)的第二内核数据。这里,a和b可分别为0或以上的自然数。
参照图6C,服务器可通过改变第一内核元素640的布置来获取多个第二内核元素650中的每个第二内核元素。也就是说,服务器可通过执行补零来顺序地布置包括0(零)的扩展的第一内核数据中的位于第(r×a+i)行第(r×b+j)列的第一内核元素640,并通过改变布置顺序来获得多个第二内核元素650中的每个第二内核元素。
例如,服务器可设置1、3、5;11、13、15;21、23、25到25、23、21;15、13、11;5、3、1,以获得第二内核数据的k0。
图7A至图7C是示出根据另一实施例的获得多个第二内核数据的方法的示图。如图7A左侧的矩阵710所示,根据实施例,将假设应用7×7矩阵形式的第一内核数据710和放大倍数3。
参照图7A,服务器可扩展第一内核数据710以获得扩展的第一内核数据720。服务器可基于第二内核数据的大小和放大倍数(r)来扩展第一内核数据710。可如图5所示获得第二内核数据的大小,并且基于图5的第一等式(3<7<=9),第二内核数据的大小可以是3×3。
服务器可通过将第二内核数据的大小乘以放大倍数来确定第一内核数据710的大小。例如,服务器可通过将第二内核数据3的大小乘以放大倍数3来将第一内核数据的大小确定为9×9。
服务器可通过在所有方向上执行7×7的第一内核数据710的补零来获得9×9的扩展的第一内核数据720。
参照图7B,服务器可基于以放大倍数(r)为间隔而分隔开的多个第一内核元素来获得多个第二内核数据730中的每个第二内核数据730。
例如,服务器可基于第一内核数据的17、20、38和41来获得第二内核数据730的k0。服务器可基于第一内核数据的15、18、21、36、39和42来获得第二内核数据730的k1。多个第二内核数据中的每个第二内核数据可包括第一内核数据中的多个第一内核元素中的不同第一内核元素。
也就是说,服务器可将多个第二内核数据中的每个第二内核数据识别为(i,j)的二维信息(其中,i和j是小于或等于放大倍数(r)的自然数),基于第一内核数据的大小和倍数(r)识别第二内核数据的大小,基于第二内核数据的大小和倍数(r)扩展第一内核数据,并且基于位于扩展后的第一内核数据的第(r×a+i)行第(r×b+j)列的第一内核元素获得多个第二内核数据中的(i,j)的第二内核数据j。这里,a和b可分别是0(零)以上的自然数。
如图7C所示,服务器可通过改变第一内核元素的布置来获得多个第二内核元素中的每个第二内核元素。也就是说,服务器可通过执行补零来顺序地布置包括0(零)的扩展的第一内核数据中的位于第(r×a+i)行第(r×b+j)列中的第一内核元素740,并通过改变布置顺序来获得多个第二内核元素750中的每个第二内核元素。
如上所述,尽管第一内核数据和放大倍数(r)被改变,但是服务器可获得多个第二内核数据。
图2A至图7C是示出服务器从第一内核数据获得多个第二内核数据的示图,但是本公开不限于此。例如,根据实施例,电子设备100可从服务器接收第一内核数据,并且处理器120可以以与图2A至图7C中所示的方式相同的方式从第一内核数据获得多个第二内核数据。
图8是示出根据实施例的处理器的内部结构的示图。
参照图8,处理器120可包括卷积阵列121、线存储器122和混洗器123。根据实施例,图8的配置类似于图1中所示的配置。因此,将省略其详细描述以避免冗余。
卷积阵列121可对多个第二内核数据中的每个第二内核数据和输入数据210执行卷积运算。卷积阵列121可从存储器110接收输入数据210和多个第二内核数据中的每个第二内核数据。存储器110可存储输入数据210和第一内核数据220,处理器120可从存储器110读取与当前周期中所需的第二内核元素相应的第一内核元素,并将第一内核元素提供给卷积阵列121。
处理器120可将存储器110中存储的第一内核数据220转换成多个第二内核数据,并且将多个第二内核数据存储在存储器110中。卷积阵列121可在存储器110中存储的多个第二内核数据中从存储器110接收在当前周期中所需的第二内核元素。
卷积阵列121可从线存储器122接收输入数据210和当前周期中所需的第二内核元素。线存储器122可从存储器110接收输入数据210和第一内核数据220,并且对输入数据210和第一内核数据220进行存储。线存储器122可从存储器110接收输入数据210和多个第二内核数据,并且对输入数据210和多个第二内核数据进行存储。
卷积阵列121可累加并存储卷积运算结果,并且下面将根据实施例参照图9提供对卷积阵列121的进一步详细描述。
线存储器122可对放大数据进行存储。线存储器122可存储输入数据210和多个第二内核数据。
混洗器123可被设置在卷积阵列121和线存储器122之间。混洗器123可对从卷积阵列121输出的运算结果进行混洗,并将结果提供给线存储器122。根据实施例,下面将参照图11A至图11D提供其进一步详细描述。
图9是示出根据实施例的卷积阵列121的示图。
参照图9,卷积阵列121可包括分别包括多个寄存器堆的多个处理元素。
每个处理元素可基本上包括乘法器和算术逻辑单元(ALU),并且ALU可包括至少一个加法器。处理元素可使用乘法器和ALU来执行算术运算。然而,本公开不限于此,并且可使用任何其他结构,只要其可执行诸如算术运算和移位运算的功能即可。
每个处理元素可包括多个寄存器堆。例如,如根据实施例的图9所示,每个处理元素可包括九个寄存器堆(RF)。
每个处理元素可将特定周期中的运算结果存储在多个寄存器堆中的一个寄存器堆中。每个处理元素可将特定周期中的运算结果移位到相邻处理元素,并且包括用于存储来自相邻处理元素的移位后的运算结果的附加寄存器。
多个处理元素中的每个处理元素可通过使用输入到多个第二内核数据的多个处理元素的第二内核元素来执行乘法运算,并且对运算结果进行累加并存储在与多个寄存器堆中的第二内核元素相应的寄存器堆中。
例如,多个处理元素可接收图2中的5×5的输入数据210的第一行中的五个元素。多个处理元素可从多个第二内核数据中的一个第二内核数据顺序地接收第二内核元素并且执行卷积运算。
所述多个处理元素中的每个处理元素可将运算结果存储在与第二内核元素相应的寄存器堆中。例如,多个处理元素中分别包括的九个寄存器堆可分别与第二内核数据k0到k8相应,并且当第二内核数据k0中的第二内核元素用于操作时,多个处理元素中的每个处理元素可将运算结果存储在与第二内核数据k0相应的寄存器堆中。因此,尽管使用包括在除了k0之外的第二内核数据中的第二内核元素,但是可识别运算结果。
参照图8,由于ID卷积阵列121的卷积运算方法是公知的技术,因此省略详细说明。分别包括在多个处理元素中的寄存器堆的数目被表示为示例,但是数目可变化。
卷积阵列121可通过多个处理元素执行并行运算,并且相应地调整数据输出的顺序。
图10A和图10B是示出根据实施例的输出数据的混洗方法的示图。
如图10A中所示的第一周期中所展示的,多个处理元素可通过第二内核数据k0输出5个并行运算结果。参照图10A中所示的第二周期,多个处理元素可通过第二内核数据输出5个运算结果。图10A所示的第一周期是指直到完成一个第二内核数据的卷积运算为止的周期。
如上所述,第二内核数据k0的五个并行处理元素可根据并行运算被输出,并且当被按原样存储在线存储器122中时,在放大中可能发生错误。
因此,可按照图10B所示的顺序将根据并行运算的输出数据存储在线存储器122中,并且可由混洗器123执行这种混洗操作。图10B示出由处理器120执行的并行运算的大小是6(六)。
图11A至图11D是示出根据实施例的混洗操作的示图。
参照图11A,混洗器123可接收从包括在多个缓冲器组1110和多个处理元素中的分别彼此相应的寄存器堆输出的多个运算结果,并且混洗器123包括将多个处理元素输出到多个缓冲器组1110的FIFO存储器1120。
多个缓冲器组1110可将多个运算结果中的每个运算结果存储在与多个缓冲器组中的每个缓冲器组相应的缓冲器中。例如,如图11A中所展示,多个缓冲器组可将多个运算结果存储在每一组的第一缓冲器中。参照图11B,多个缓冲器组可将多个处理元素存储在每个组的第二缓冲器中。如图11C所示,多个缓冲器组可将多个处理元素存储在每个组的第三缓冲器中。
当运算结果被存储在多个缓冲器组中包括的所有缓冲器中时,多个缓冲器组可以以预先存储的顺序提供存储在多个缓冲器组中的一个缓冲器组中的多个运算结果。
例如,参照图11C,多个缓冲器组可将设置在多个缓冲器组的顶部的缓冲器组中存储的所有数据输出1131到线存储器122。参照图11D,多个缓冲器组可将存储在多个缓冲器组中设置在中心的缓冲器组中的所有数据输出1132到线存储器122。
混洗器123可对从卷积阵列121输出的数据进行混洗,并将混洗后的数据提供给线存储器122。
图12是示出根据实施例的电子系统的操作的示图。
电子系统1000可包括电子设备100和服务器200。
服务器200可获得多个第二内核数据,该多个第二内核数据包括在第一内核数据中包括的多个第一内核元素中的不同的第一内核元素。具体地,服务器200可基于第一内核数据的大小和放大倍数(r)来扩展第一内核数据,并且基于在扩展的第一内核数据中以倍数(r)为间隔而分隔开的多个第一内核元素来获得多个第二内核数据中的每个第二内核数据。
电子设备100可从服务器200接收第二内核数据,并且将多个第二内核数据中的每个第二内核数据与输入数据执行卷积运算并且获取通过第一内核数据对输入数据的一部分进行放大而获得的数据。
图13是示出根据实施例的控制电子设备的方法的流程图。
在操作S1310,可在从第一内核数据获得的多个第二内核数据中的每个第二内核数据与输入数据之间执行卷积运算。在操作S1320,基于卷积运算,可获取输入数据的一部分根据第一内核数据被放大的数据。
可基于第一内核数据的大小和放大的倍数(r)从扩展的第一内核数据获得多个第二内核数据中的每个第二内核数据。通过基于第一内核数据的大小和倍数(r)扩展第一内核数据来获得扩展的第一内核数据。
还可包括从服务器接收多个第二内核数据的操作。
还可包括从服务器接收第一内核数据的操作和从第一内核数据获得多个第二内核数据的操作。
操作S1320的获得放大数据的操作可包括:将多个第二内核数据中的每个第二内核数据与输入数据的一部分中的待放大元素和围绕待放大元素多个外围元素执行卷积运算并获得关于待放大元素的多个放大元素,并且待放大元素与多个外围元素之和可与分别被包括在多个第二内核数据中的多个第二元素之和相同。
获得放大数据S1320的操作可包括:基于待放大元素相对于输入数据的位置来确定关于放大数据的多个放大元素。
获得放大数据S1320的操作可包括:通过卷积阵列对多个第二内核数据中的每个第二内核数据和输入数据执行卷积运算,并且将放大数据存储在线存储器中。
卷积阵列可包括分别包括多个寄存器堆的多个处理元素,并且执行卷积运算S1310的操作可包括通过相应的多个处理元素使用多个第二内核数据中的输入到多个处理元素的第二内核元素来执行乘法运算,并且将运算结果累加并存储到与多个寄存器堆中的第二内核元素相应的寄存器堆。
还可包括通过被设置在卷积阵列和线存储器之间的混洗器对从多个处理元素输出的多个运算结果进行混洗并将运算结果提供给线存储器的操作。
将运算结果提供到线存储器的操作可包括接收从包括在先进先出(FIFO)存储器的多个处理元素中的分别相应的寄存器堆输出的多个运算结果,且将多个运算结果输出到多个缓冲器组,将多个运算结果中的每个运算结果存储在与多个缓冲器组中的每个缓冲器组相应的缓冲器中,并且基于运算结果被存储在包括多个缓冲器组中的所有缓冲器中,将存储在多个缓冲器组中的一个缓冲器组中的多个运算结果以预设顺序提供给线存储器。
根据各种实施例,电子设备可通过由卷积阵列执行放大操作来移除用于执行放大操作的额外硬件以最小化硬件面积。
如上所述,高斯核数据已经被描述为第一内核数据,但是即使当第一内核数据不是高斯核数据时,也可以以相同的方式执行放大。例如,处理器可使用诸如双线性、子像素混洗、转置卷积等以各种方式执行放大,并且在这种情况下,放大可通过卷积运算来执行。当使用转置卷积时,可基于卷积运算通过在z方向上扩展转置卷积来执行放大。
各种实施例可被实现为包括存储在机器可读存储介质中的一个或更多个指令的软件。机器可以是调用存储在存储介质中的一个或更多个指令并且根据所调用的一个或更多个指令可操作的设备,包括根据各种实施例的电子设备(例如,电子设备(A))。当由处理器执行命令时,处理器可使用其它组件直接地或在处理器的控制下执行与命令相应的功能。一个或更多个指令可包括由编译器做出的代码或可由解释器执行的代码。机器可读存储介质可以以非暂时性存储介质的形式提供。“非临时”意味着存储介质不包括信号而是有形的,但是不区分数据是半永久地还是临时地存储在存储介质上。
根据实施例,根据本文公开的各种实施例的方法可在计算机程序产品中提供。计算机程序产品可作为商品在卖方和买方之间交易。计算机程序产品可以以机器可读存储介质(例如,光盘只读存储器(CD-ROM))的形式分发或者通过应用商店(例如,PlayStoreTM)在线分发。在在线分发的情况下,计算机程序产品的至少一部分可临时存储或临时创建在诸如制造商的服务器、应用商店的服务器或中继服务器的存储器之类的存储介质上。
可使用软件、硬件或其组合在可由计算机或类似设备读取的记录介质中实现上述各种实施例。在一些情况下,本文描述的实施例可由处理器本身实现。根据软件实现,诸如本文所述的过程和功能的实施例可在单独的软件模块中实现。根据一些实施例,软件(例如,程序)可包含存储在机器(即,计算机)可读存储介质(即,内部存储器)或外部存储器中的一个或更多个指令。软件模块中的每个可执行本文描述的功能和操作中的一个或更多个。
非暂时性计算机可读存储介质是指半永久地存储数据而不是非常短时间地存储数据的介质,诸如寄存器、高速缓存和存储器,并且可由设备读取。具体地,上述各种应用或程序可被存储在诸如压缩盘(CD)、数字通用盘(DVD)、硬盘、蓝光盘、通用串行总线(USB)记忆棒、存储卡和只读存储器(ROM)的非暂时性计算机可读介质中,并且可被提供。
根据各种实施例的组件(例如,模块或程序)中的每个可由单个实体或多个实体组成,并且可省略上述子组件中的一些子组件,或者可在各种实施例中进一步包括其他组件。可选地或附加地,一些组件(例如,模块或程序)可被集成到一个实体中,以在集成之前执行由每个组件执行的相同或类似的功能。根据各种实施例,由模块、程序或其他组件执行的操作可顺序地、并行地、重复地或启发式地执行,或者至少一些操作可以以不同的顺序执行,或者被省略,或者可进一步添加另一功能。
尽管已经示出和描述了实施例,但是本领域技术人员将理解,在不脱离本公开的原理和精神的情况下,可对这些实施例进行改变。因此,本公开的范围不被解释为限于所描述的实施例,而是由所附权利要求及其等同物限定。
Claims (15)
1.一种电子设备,包括:
存储器,存储输入数据和从第一内核数据获得的多个第二内核数据,使得所述多个第二内核数据中的每个第二内核数据包括第一内核数据中的多个第一内核元素中的不同的第一内核元素;以及
处理器,对所述多个第二内核数据中的每个第二内核数据与输入数据执行卷积运算,并且基于执行的卷积运算获得数据,其中,所述数据是输入数据的至少一部分根据第一内核数据被放大而得到的。
2.根据权利要求1所述的电子设备,其中,所述多个第二内核数据中的每个第二内核数据是基于以放大倍数r为间隔而分隔开的所述多个第一内核元素从扩展的第一内核数据获得的,其中,r是自然数,并且
其中,扩展的第一内核数据是通过基于第一内核数据的大小和倍数r扩展第一内核数据而获得的。
3.根据权利要求1所述的电子设备,还包括:
通信器,包括电路,
其中,处理器还被配置为经由通信器从服务器接收所述多个第二内核数据,并且控制存储器存储接收到的所述多个第二内核数据。
4.根据权利要求1所述的电子设备,还包括:
通信器,包括电路,
其中,处理器还被配置为经由通信器从服务器接收第一内核数据,从第一内核数据获得所述多个第二内核数据,以及控制存储器存储所述多个第二内核数据。
5.根据权利要求1所述的电子设备,其中,处理器还被配置为对所述多个第二内核数据中的每个第二内核数据与输入数据的部分中的待放大元素及围绕待放大元素的多个外围元素执行卷积运算,以获得关于待放大元素的多个放大元素,
其中,待放大元素与所述多个外围元素的第一和与分别包括在所述多个第二内核数据中的多个第二元素的第二和相同。
6.根据权利要求5所述的电子设备,其中,处理器还被配置为基于待放大元素相对于输入数据的位置来确定所述多个放大元素相对于待放大元素的位置。
7.根据权利要求1所述的电子设备,其中,处理器包括:
卷积阵列,包括电路,并且卷积阵列对所述多个第二内核数据中的每个第二内核数据与输入数据执行卷积运算;以及
线存储器,包括电路,并且线存储器存储放大数据。
8.根据权利要求7所述的电子设备,其中,卷积阵列包括分别包括多个寄存器堆的多个处理元素,并且
其中,所述多个处理元素中的每个处理元素执行所述多个第二内核数据中的输入到所述多个处理元素的第二内核元素的乘法运算,并且将乘法运算的结果累加并存储在所述多个寄存器堆中的与所述第二内核元素相应的寄存器堆中。
9.根据权利要求8所述的电子设备,其特征在于,处理器还包括:
混洗器,包括电路,并且混洗器位于卷积阵列和线存储器之间,
其中,混洗器对从所述多个处理元素输出的多个运算结果进行混洗,并将由混洗器混洗后的多个运算结果输出到线存储器。
10.根据权利要求9所述的电子设备,其中,混洗器包括:
多个缓冲器组,包括电路;以及
先进先出FIFO存储器,包括电路,并且FIFO存储器接收所述多个处理元素中从所述多个寄存器堆中的相应寄存器堆输出的至少两个处理元素,并且将所述多个运算结果输出到多个缓冲器组,
其中,所述多个缓冲器组将所述多个运算结果中的每个运算结果存储在与所述多个缓冲器组中的每个缓冲器组相应的缓冲器中,并且
其中,基于所述多个运算结果被存储在包括在所述多个缓冲器组中的所有缓冲器中,以预先设置的顺序将存储在所述多个缓冲器组中的一个缓冲器组中的所述多个处理元素输出到线存储器。
11.一种电子系统,包括:
服务器,获得多个第二内核数据,其中,所述多个第二内核数据包括第一内核数据中的多个第一内核元素中的不同第一内核元素;以及
电子设备,从服务器接收第二内核数据,对所述多个第二内核数据中的每个第二内核数据与输入数据执行卷积运算,基于卷积运算获得数据,其中,所述数据是输入数据的至少一部分根据第一内核数据被放大而得到的。
12.根据权利要求11所述的电子系统,其中,服务器基于第一内核数据的大小和放大倍数r来扩展第一内核数据,并且基于在扩展的第一内核数据中以倍数r为间隔而分隔开的多个第一内核元素来获得所述多个第二内核数据中的每个第二内核数据,其中,r是自然数。
13.一种控制电子设备的方法,所述方法包括:
由处理器对从第一内核数据获得的多个第二内核数据中的每个第二内核数据与输入数据执行卷积运算,使得所述多个第二内核数据中的每个第二内核数据包括来自第一内核数据中的多个第一内核元素中的不同的第一内核元素;以及
由处理器基于卷积运算获得放大数据,其中,放大数据是输入数据的至少一部分根据第一内核数据被放大而得到的。
14.根据权利要求13所述的方法,还包括:
基于以放大倍数r为间隔而分隔开的所述多个第一内核元素,从扩展的第一内核数据获得所述多个第二内核数据中的每个第二内核数据,其中,r是自然数,以及
其中,扩展的第一内核数据是通过基于第一内核数据的大小和倍数r扩展第一内核数据而获得的。
15.根据权利要求13所述的方法,还包括:
从服务器接收所述多个第二内核数据。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0062058 | 2018-05-30 | ||
KR20180062058 | 2018-05-30 | ||
KR1020180120298A KR20190136891A (ko) | 2018-05-30 | 2018-10-10 | 전자 장치 및 그 제어 방법 |
KR10-2018-0120298 | 2018-10-10 | ||
PCT/KR2019/003719 WO2019231095A1 (en) | 2018-05-30 | 2019-03-29 | Electronic apparatus and control method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112106080A true CN112106080A (zh) | 2020-12-18 |
Family
ID=69003161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980026052.7A Pending CN112106080A (zh) | 2018-05-30 | 2019-03-29 | 电子设备及其控制方法 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3746952A4 (zh) |
KR (1) | KR20190136891A (zh) |
CN (1) | CN112106080A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111125617A (zh) * | 2019-12-23 | 2020-05-08 | 中科寒武纪科技股份有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
KR20210101903A (ko) | 2020-02-11 | 2021-08-19 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
KR102428033B1 (ko) * | 2020-02-28 | 2022-08-02 | 오픈엣지테크놀로지 주식회사 | 트랜스포즈드 콘볼루션 하드웨어 가속장치 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5184574B2 (ja) * | 2010-04-30 | 2013-04-17 | パナソニック株式会社 | 撮像装置、画像処理装置、および画像処理方法 |
CN102663007B (zh) * | 2012-03-20 | 2013-12-18 | 广东电子工业研究院有限公司 | 一种支持敏捷开发和横向扩展的数据存储与查询方法 |
EP3035204B1 (en) * | 2014-12-19 | 2018-08-15 | Intel Corporation | Storage device and method for performing convolution operations |
-
2018
- 2018-10-10 KR KR1020180120298A patent/KR20190136891A/ko unknown
-
2019
- 2019-03-29 CN CN201980026052.7A patent/CN112106080A/zh active Pending
- 2019-03-29 EP EP19811501.6A patent/EP3746952A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20190136891A (ko) | 2019-12-10 |
EP3746952A4 (en) | 2021-04-21 |
EP3746952A1 (en) | 2020-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220261615A1 (en) | Neural network devices and methods of operating the same | |
US11461684B2 (en) | Operation processing circuit and recognition system | |
US11941501B2 (en) | Electronic apparatus and control method thereof | |
US11538164B2 (en) | Coupled multi-task fully convolutional networks using multi-scale contextual information and hierarchical hyper-features for semantic image segmentation | |
US11307865B2 (en) | Data processing apparatus and method | |
US20220207375A1 (en) | Convolutional neural network tuning systems and methods | |
US10685262B2 (en) | Object recognition based on boosting binary convolutional neural network features | |
CN112106080A (zh) | 电子设备及其控制方法 | |
US11586903B2 (en) | Method and system of controlling computing operations based on early-stop in deep neural network | |
KR101882704B1 (ko) | 전자 장치 및 그 제어 방법 | |
CN111325108A (zh) | 一种多任务网络模型及使用方法、装置、和存储介质 | |
US20190347847A1 (en) | View generation from a single image using fully convolutional neural networks | |
US10846560B2 (en) | GPU optimized and online single gaussian based skin likelihood estimation | |
CN113096140B (zh) | 实例分割方法及装置、电子设备及存储介质 | |
CN113609495A (zh) | 用于同态加密处理的设备和方法、包括该设备的系统 | |
EP3633559A1 (en) | Information processing apparatus, information processing method, non-transitory computer-readable storage medium | |
US20190362467A1 (en) | Electronic apparatus and control method thereof | |
US11182651B2 (en) | Method and apparatus for high speed object detection using artificial neural network | |
US20210287070A1 (en) | Data processing apparatus, data processing method, and non-transitory computer-readable storage medium | |
US11475281B2 (en) | Electronic apparatus and control method thereof | |
US20230129845A1 (en) | Method and electronic device for performing deep neural network operation | |
CN113095211B (zh) | 一种图像处理方法、系统及电子设备 | |
Mishima et al. | FPGA implementation of feature extraction for colorectal endoscopic images with nbi magnification | |
JP2019125128A (ja) | 情報処理装置、制御方法、及びプログラム | |
US20240005649A1 (en) | Poly-scale kernel-wise convolution for high-performance visual recognition applications |
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 |