CN109117945B - 处理器及其处理方法、芯片、芯片封装结构及电子装置 - Google Patents

处理器及其处理方法、芯片、芯片封装结构及电子装置 Download PDF

Info

Publication number
CN109117945B
CN109117945B CN201710483182.6A CN201710483182A CN109117945B CN 109117945 B CN109117945 B CN 109117945B CN 201710483182 A CN201710483182 A CN 201710483182A CN 109117945 B CN109117945 B CN 109117945B
Authority
CN
China
Prior art keywords
frame
frame information
unit
reference frame
processor
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
Application number
CN201710483182.6A
Other languages
English (en)
Other versions
CN109117945A (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.)
Shanghai Cambricon Information Technology Co Ltd
Original Assignee
Shanghai Cambricon 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 Cambricon Information Technology Co Ltd filed Critical Shanghai Cambricon Information Technology Co Ltd
Priority to CN201710483182.6A priority Critical patent/CN109117945B/zh
Priority to PCT/CN2018/090901 priority patent/WO2018228399A1/zh
Priority to EP18818258.8A priority patent/EP3637327B1/en
Priority to EP19217768.1A priority patent/EP3657403A1/en
Publication of CN109117945A publication Critical patent/CN109117945A/zh
Priority to US16/698,988 priority patent/US11537858B2/en
Priority to US16/698,984 priority patent/US11544543B2/en
Priority to US16/698,976 priority patent/US11544542B2/en
Application granted granted Critical
Publication of CN109117945B publication Critical patent/CN109117945B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Neurology (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种处理器,包括指令控制单元和计算单元,其中:指令控制单元,用于提取处理指令以控制计算单元;计算单元,用于基于输入的帧信息和神经网络参数,执行神经网络运算。本公开的处理器,实现了对神经网络处理器更高效的功能重建,在低内存、实时性强的应用环境中能够充分发挥性能。

Description

处理器及其处理方法、芯片、芯片封装结构及电子装置
技术领域
本公开属于计算机体系结构和神经网络领域,更具体地涉及一种处理器及其处理方法、芯片、芯片封装结构、卡板及电子装置。
背景技术
神经网络(neural network)近年来不仅在图像应用领域取得了非常突出的成就,而且在视频应用领域也有着突出的表现。然而,神经在视频应用中面临非常严峻的挑战,因为一个视频所包含的数据量远远超过一幅图片包含的数据量,因此处理一个视频将会耗费非常大量的时间,同时花费巨大的能耗且无法保证处理视频数据的实时性。因此,如何减少神经网络处理视频的时间成为一个亟待解决的问题。
发明内容
基于以上问题,本公开的主要目的在于提出一种处理器及其处理方法、芯片、芯片封装结构、卡板及电子装置,用于解决以上技术问题的至少之一。
为了实现上述目的,作为本公开的一个方面,本公开提出了一种处理器,包括指令控制单元和计算单元,其中:
指令控制单元,用于提取处理指令以控制计算单元;
计算单元,用于接收帧信息、神经网络参数及所述的处理指令,并根据所述处理指令对所述帧信息和神经网络参数执行神经网络运算。
在本公开的一些实施例中,上述处理器还包括:
存储单元,用于存储帧信息和神经网络参数;
其中,帧信息包括完整帧信息和参考帧信息;神经网络参数包括神经元、权值、拓扑结构和/或处理指令。
在本公开的一些实施例中,上述计算单元包括:
精确计算单元,用于提取完整帧信息和神经网络参数中的权值,进行神经网络运算,得到第一运算结果并传输至存储单元;
近似计算单元,用于提取参考帧信息和事先得到的、存储于存储单元的参考帧的计算结果,进行近似计算,得到第二运算结果并传输至存储单元。
在本公开的一些实施例中,上述神经网络运算包括乘法运算、加法运算、激活函数运算和/或池化运算。
在本公开的一些实施例中,上述精确计算单元包括:
乘法器,用于执行所述乘法运算;和/或
一个或多个加法器,用于执行所述加法运算;和/或
激活函数单元,用于执行所述激活函数运算。
在本公开的一些实施例中,上述一个或多个加法器组成加法树。
在本公开的一些实施例中,上述激活函数运算采用的激活函数包括sigmoid、tanh、ReLU、softmax、Leaky ReLU和/或Maxout;池化运算包括平均值池化、最大值池化、中值池化、RoI池化和/或反池化。
在本公开的一些实施例中,上述处理器还包括:
解码单元,用于解压压缩后的视频,提取出视频中每一帧图片的帧信息,并将帧信息分为完整帧信息和参考帧信息,存储于存储单元中。
在本公开的一些实施例中,上述参考帧信息包括参考前一帧编码的参考帧信息和/或参考前后帧编码的参考帧信息。
在本公开的一些实施例中,上述解码单元还用于给予每一帧信息一标记位,其中,完整帧信息标记为I帧,参考前一帧编码的参考帧信息标记为P帧,参考前后帧编码的参考帧信息标记为B帧。
在本公开的一些实施例中,其中:
对于参考前一帧编码的参考帧信息,解码单元还用于标记该帧的前向参考帧和/或该帧相对前向参考帧的位移;
对于参考前后帧编码的参考帧信息,解码单元还用于标记该帧前后双向的参考帧和/或该帧相对前后双向参考帧的位移。
在本公开的一些实施例中,上述处理器还包括:
译码单元,与指令控制单元和计算单元连接,用于对处理指令进行译码,并将译码后的处理指令传输至计算单元,则计算单元根据译码后的处理指令对帧信息和神经网络参数执行神经网络运算。
为了实现上述目的,作为本公开的另一个方面,本公开提出了一种上述处理器的处理方法,包括以下步骤:
步骤1、指令控制单元提取处理指令以控制计算单元;
步骤2、计算单元接收帧信息、神经网络参数及所述的处理指令,并根据处理指令对帧信息和神经网络参数执行神经网络运算。
在本公开的一些实施例中,上述帧信息和神经网络参数存储于一存储单元中,帧信息包括完整帧信息和参考帧信息,神经网络参数包括神经元、权值、拓扑结构和/或处理指令。
在本公开的一些实施例中,上述计算单元包括精确计算单元和近似计算单元,步骤2具体包括以下步骤:
精确计算单元提取完整帧信息和神经网络参数中的权值,进行神经网络运算,得到第一运算结果并传输至存储单元;
近似计算单元提取参考帧信息和事先得到的、存储于存储单元的参考帧的计算结果,进行近似计算,得到第二运算结果并传输至存储单元。
在本公开的一些实施例中,上述神经网络运算包括乘法运算、加法运算、激活函数运算和/或池化运算。
在本公开的一些实施例中,上述精确计算单元包括:
执行乘法运算的乘法器;和/或
执行加法运算的一个或多个加法器;和/或
执行激活函数运算的激活函数单元。
在本公开的一些实施例中,上述一个或多个加法器组成加法树。
在本公开的一些实施例中,上述激活函数运算采用的激活函数包括sigmoid、tanh、ReLU、softmax、Leaky ReLU和/或Maxout;池化运算包括平均值池化、最大值池化、中值池化、RoI池化和/或反池化。
在本公开的一些实施例中,在上述步骤1之前,还包括以下步骤:
解码单元解压压缩后的视频,提取出视频中每一帧图片的帧信息,并将帧信息分为完整帧信息和参考帧信息,存储于存储单元中。
在本公开的一些实施例中,上述参考帧信息包括参考前一帧编码的参考帧信息和/或参考前后帧编码的参考帧信息。
在本公开的一些实施例中,上述解码单元还用于给予每一帧信息一标记位,其中,完整帧信息标记为I帧,参考前一帧编码的参考帧信息标记为P帧,参考前后帧编码的参考帧信息标记为B帧。
在本公开的一些实施例中,其中:
对于参考前一帧编码的参考帧信息,解码单元还用于标记该帧的前向参考帧和/或该帧相对前向参考帧的位移;
对于参考前后帧编码的参考帧信息,解码单元还用于标记该帧前后双向的参考帧和/或该帧相对前后双向参考帧的位移。
在本公开的一些实施例中,在上述步骤1与步骤2之间还包括:
位于指令控制单元和计算单元之间的译码单元,对处理指令进行译码,并将译码后的处理指令传输至计算单元,则计算单元根据译码后的处理指令对帧信息和神经网络参数执行神经网络运算。
为了实现上述目的,作为本公开的又一个方面,本公开提出一种芯片,包括上述的处理器。
为了实现上述目的,作为本公开的再一个方面,本公开提出一种芯片封装结构,包括上述的芯片。
为了实现上述目的,作为本公开的再一个方面,本公开提出一种卡板,包括上述的芯片封装结构。
为了实现上述目的,作为本公开的又一个方面,本公开提出一种电子装置,包括上述的卡板。
在本公开的一些实施例中,上述电子装置包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、手机、行车记录仪、导航仪、传感器、摄像头、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储装置、可穿戴设备、交通工具、家用电器和/或医疗设备。
在本公开的一些实施例中,上述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶和/或油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
本公开提出的处理器及其处理方法、芯片、芯片封装结构、卡板及电子装置,具有以下有益效果:
1、本公开的处理器,将视频中每一帧图片的帧信息分为完整帧信息和参考帧信息,其中只对完整帧信息进行神经网络运算,而对参考帧信息只需根据参考帧信息和参考帧的计算结果进行近似计算即可,从而大大减少神经网络处理视频时的计算量,减少计算时间,降低功耗;
2、本公开的处理器,实现了对神经网络处理器更高效的功能重建,由于处理视频的时间大大减少,从而可保证处理视频数据的实时性;
3、本公开的处理器,在低内存、实时性强的应用环境中能够充分发挥性能,视频处理过程更为简洁快速。
附图说明
图1是本公开提出的一种处理器的结构示意图;
图2是本公开提出的另一种处理器的结构示意图;
图3是本公开提出的又一种处理器的结构示意图;
图4是本公开一实施例提出的处理器的处理流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
在本说明书中,下述用于描述本公开原理的各种实施例只是说明,不应该以任何方式解释为限制本公开的范围。参照附图的下述描述用于帮助全面理解由权利要求及其等同物限定的本公开的示例性实施例。下述描述包括多种具体细节来帮助理解,但这些细节应认为仅仅是示例性的。因此,本领域普通技术人员应认识到,在不背离本公开的范围和精神的情况下,可以对本文中描述的实施例进行多种改变和修改。此外,为了清楚和简洁起见,省略了公知功能和结构的描述。此外,贯穿附图,相同附图标记用于相似功能和操作。
如图1所示,本公开公开了一种处理器,包括指令控制单元和计算单元,其中:
指令控制单元,用于提取处理指令以控制计算单元;
计算单元,用于基于输入的帧信息和神经网络参数,执行神经网络运算。
在本公开的一些实施例中,上述处理器还包括:
存储单元,用于存储帧信息和神经网络参数;
其中,帧信息包括完整帧信息和参考帧信息;神经网络参数包括神经元、权值、拓扑结构和/或处理指令。
在本公开的一些实施例中,上述计算单元包括:
精确计算单元,用于提取完整帧信息和神经网络参数中的权值,进行神经网络运算,得到第一运算结果并传输至存储单元;
近似计算单元,用于提取参考帧信息和事先得到的、存储于存储单元的参考帧的计算结果,进行近似计算,得到第二运算结果并传输至存储单元。
在本公开的一些实施例中,上述神经网络运算包括乘法运算、加法运算、激活函数运算和/或池化运算。
在本公开的一些实施例中,上述精确计算单元包括:
乘法器,用于执行所述乘法运算;和/或
一个或多个加法器,用于执行所述加法运算;和/或
激活函数单元,用于执行所述激活函数运算。
在本公开的一些实施例中,上述一个或多个加法器组成加法树。
在本公开的一些实施例中,上述激活函数运算采用的激活函数包括sigmoid、tanh、ReLU、softmax、Leaky ReLU和/或Maxout;池化运算包括平均值池化、最大值池化、中值池化、RoI池化和/或反池化。
在本公开的一些实施例中,上述处理器还包括:
解码单元,用于解压压缩后的视频,提取出视频中每一帧图片的帧信息,并将帧信息分为完整帧信息和参考帧信息,存储于存储单元中。
在本公开的一些实施例中,上述参考帧信息包括参考前一帧编码的参考帧信息和/或参考前后帧编码的参考帧信息。
在本公开的一些实施例中,上述解码单元还用于给予每一帧信息一标记位,其中,完整帧信息标记为I帧,参考前一帧编码的参考帧信息标记为P帧,参考前后帧编码的参考帧信息标记为B帧。
在本公开的一些实施例中,其中:
对于参考前一帧编码的参考帧信息,解码单元还用于标记该帧的前向参考帧和/或该帧相对前向参考帧的位移;
对于参考前后帧编码的参考帧信息,解码单元还用于标记该帧前后双向的参考帧和/或该帧相对前后双向参考帧的位移。
在本公开的一些实施例中,上述处理器还包括:
译码单元,与指令控制单元和计算单元连接,用于对处理指令进行译码,并将译码后的处理指令传输至计算单元,则计算单元根据译码后的处理指令对帧信息和神经网络参数执行神经网络运算。
在本公开的一些实施例中,如图2所示,公开了一种处理器,包括存储单元、指令控制单元、精确计算单元和近似计算单元,其中:
存储单元用于存储完整帧信息、参考帧信息和神经网络参数;神经网络参数包括神经元,权值,拓扑结构和处理指令;
指令控制单元,用于提取处理指令;并对处理指令进行译码以控制精确计算单元和近似计算单元;
精确计算单元,用于提取完整帧信息和权值,进行神经网络运算,得到第一运算结果并传输至存储单元存储;
近似计算单元,用于提取参考帧信息和存储单元预先存储的参考帧的计算结果,进行近似计算,得到第二运算结果并传输至存储单元存储。
进一步的,精确计算单元根据标记为I帧的完整帧信息及权值,进行神经网络运算,并把运算得到的第一结果传输至存储单元存储,以作为近似计算单元的计算参考及整个处理器处理得到结果的一部分。
精确计算单元包括但不仅限于三个部分,第一部分乘法器;第二部分包括一个或多个加法器,优选地,该第二部分包括多个加法器,该多个加法器构成加法树;第三部分为激活函数单元。第一部分将输入数据1(in1)和输入数据2(in2)相乘得到相乘之后的输出(out),过程为:out=in1*in2;第二部分将输入数据in1通过加法树逐级相加得到输出数据(out),其中in1是一个长度为N的向量,N大于1,过称为:out=in1[1]+in1[2]+...+in1[N],和/或将输入数据(in1)通过加法数累加之后和输入数据(in2)相加得到输出数据(out),过程为:out=in1[1]+in1[2]+...+in1[N]+in2,或者将输入数据(in1)和输入数据(in2)相加得到输出数据(out),过称为:out=in1+in2;第三部分将输入数据(in)通过激活函数(active)运算得到激活输出数据(out),过程为:out=active(in),激活函数active可以是sigmoid、tanh、relu、softmax等,除了做激活操作,第三部分可以实现其他的非线性函数,可将将输入数据(in)通过运算(f)得到输出数据(out),过程为:out=f(in)。
精确计算单元还可以包括池化单元,池化单元将输入数据(in)通过池化运算得到池化操作之后的输出数据(out),过程为out=pool(in),其中pool为池化操作,池化操作包括但不限于:平均值池化,最大值池化,中值池化,输入数据in是和输出out相关的一个池化核中的数据。
所述精确计算单元执行运算包括几个部分,第一部分是将输入数据1和输入数据2相乘,得到相乘之后的数据;第二部分执行加法树运算,用于将输入数据1通过加法树逐级相加,或者将输入数据1通过和输入数据2相加得到输出数据;第三部分执行激活函数运算,对输入数据通过激活函数(active)运算得到输出数据。以上几个部分的运算可以自由组合,从而实现各种不同功能的运算。
进一步的,近似计算单元提取标记为P帧和/或B帧的参考帧信息、偏移信息及标记的前向参考帧和/或前后双向参考帧预先得到的计算结果,通过行为预近似运算输出第二运算结果,并将输出的第二运算结果重新传输给存储单元以作为整个处理器处理得到结果的另一部分。其中,前向参考帧和/或前后双向参考帧预先得到的计算结果可以是第一运算结果,也可以是第二运算结果。
因此,本公开的处理器可用于神经网络高速的处理视频,处理器能够提取视频中每一个的帧类型以及每个帧的行为预测信息,针对帧的类型和行为预测信息采用对应的计算单元进行计算,针对部分帧采用近似计算减少计算量,从而减少处理视频的时间和功耗。
在本公开的一些实施例中,如图3所示,公开了一种处理器,该处理器由视频解码单元,存储单元,指令控制单元,精确计算单元和近似计算单元组成,其中:
视频解码单元用来解压视频,并且提取出视频中每一个帧的类型和行为预测信息并传输给存储单元。存储单元用于存储完整帧信息,参考帧信息和神经网络参数。神经网络参数包括神经元,权值,拓扑结构和处理指令;
指令控制单元接收存储单元中的指令,经过译码后生成控制信息以控制精确计算单元和近似计算单元进行计算操作;
精确计算单元接收完整帧信息和神经网络权值,完成神经网络运算得到第一运算结果,并将第一运算结果传输给存储单元;
近似计算单元接收参考帧、偏移信息和预先得到的、参考帧的计算结果,通过行为预测近似运算得到第二运算结果,并将第二运算结果传输给存储单元。其中,预先得到的、参考帧的计算结果可能为第一运算结果,也可能为第二运算结果。
更进一步的,神经网络处理器还包括预处理模块,位于视频解码单元和存储单元之间。该模块用于对原始数据进行预处理,包括切分、高斯滤波、二值化、正则化、归一化等等。
更进一步的,神经网络处理器还可包括指令缓存、完整帧缓存、权值缓存、参考帧缓存和输出运算结果缓存,甚至还可包括权值位置缓存(图中未示出)。其中:
指令缓存,用于存储专用指令;
完整帧缓存,用于存储完整帧信息;
权值缓存,用于缓存神经网络权值数据;
参考帧缓存,用于存储参考帧信息。参考帧信息包括P帧和/或B帧的参考帧信息、偏移信息及标记的前向参考帧和/或前后双向参考帧预先得到的计算结果;
输出缓存,用于缓存运算单元的输出,包括第一运算结果和第二运算结果。
更进一步的,神经网络处理器还包括DMA(direct memory access,直接数据存取),
特别的,DMA用于在所述存储单元、指令缓存、权值缓存,完整帧缓存,参考帧缓存和输出缓存之间进行数据或者指令读写。
需要说明的是,本公开的结构中,除了视频解压单元和预处理单元外,其他部分可整合为人工神经网络运算模块,进一步的可集成于人工神经网络芯片中。
基于上述的处理器,本公开还公开了一种上述处理器的处理方法,包括以下步骤:
步骤1、指令控制单元提取存储单元的处理指令;并对处理指令进行译码以控制精确计算单元和近似计算单元;
步骤2、精确计算单元提取完整帧信息和权值,进行神经网络运算,得到第一运算结果并传输至存储单元存储;
步骤3、近似计算单元提取参考帧信息及预先得到的参考帧的计算结果进行近似计算,得到第二运算结果并传输至存储单元存储。
在本公开的一些实施例中,在上述步骤1之前,还包括以下步骤:
解码单元解压压缩后的视频,提取出视频中每一帧图片的帧信息,将帧信息分为完整帧信息和参考帧信息,并将完整帧信息和参考帧信息传输至存储单元存储。
本公开的处理器中每个单元都可以是硬件结构,硬件结构的物理实现包括但不局限于物理器件,物理器件包括但不局限于晶体管,忆阻器,DNA计算机。
以下通过具体实施例对本公开的处理器及其处理方法、芯片、芯片封装结构、卡板及电子装置进行详细描述。
实施例1
本实施例提出一种处理器,该处理器包括视频解码单元、存储单元、指令控制单元、精确计算单元和近似计算单元组成。
其中,存储单元预先存储有处理指令及权值等神经网路参数。
如图4所示,该处理器的处理方法包括以下步骤:
S1、视频解码单元解压压缩后的视频,提取出视频中每一帧图片的帧信息,将帧信息分为完整帧信息和参考帧信息;
S2、存储单元存储视频解码单元分成的完整帧信息及参考帧信息;
S3、指令控制单元提取存储单元的处理指令;并对处理指令进行译码以控制精确计算单元和近似计算单元;
S4、精确计算单元提取完整帧信息和权值,进行神经网络运算,得到第一运算结果,并将该第一运算结果传输至存储单元;
S5、近似计算单元提取参考帧信息及参考帧的计算结果进行近似计算,得到第二运算结果并传输至存储单元;
S6、存储单元存储第一运算结果和第二运算结果,完成视频处理。
该处理器应用于加速装置能够加速视频物体识别,具体地:
视频解码单元在解压视频的同时提取出视频的每帧图片的帧信息并进行分类,视频的帧信息可以分为三种类型,完整编码的帧-I帧,参考之前的I帧生成的只包含差异部分编码的-P帧,参考前后的帧编码的帧-B帧。
然后,视频解码单元给视频的每个帧信息一个标记位,来标记该帧的类型,对于P帧,视频解码单元还会标记该帧的前向参考帧,对于B帧,会标记前后双向的参考帧。
视频解码单元将完成标记的I帧、P帧、B帧传输给存储单元进行存储。
存储单元还用来存储神经网络的神经元(即每一帧图片),权值,指令以及帧的信息(即I帧的帧信息,P帧的帧信息及标记的前参考帧,B帧的帧信息及其标记的前后参考帧)。
指令控制单元接收存储单元中的指令,经过译码后生成控制信息来控制精确计算单元和近似计算单元进行计算操作。
精确计算单元接收I帧对应的帧信息和权值,完成神经网络运算并将输出神经元重新传输给存储单元及近似计算单元。
近似计算单元提取P帧的帧信息帧及通过精确计算单元得到的前参考帧的运算结果,并且直接输出前参考帧的运算结果,不进行计算;近似计算单元还提取B帧的信息帧及前后参考帧通过精确计算单元得到的计算结果,输出前后参考帧计算结果的几何平均(或算术平均),并将输出结果重新传输给存储单元。
实施例2
本实施例提出一种处理器,该处理器包括视频解码单元、存储单元、指令控制单元、精确计算单元和近似计算单元组成,其中:
该处理器应用于加速装置能够加速视频物体的检测,具体地:
视频解码单元在解压视频的同时提取出视频的每帧图片的帧信息并进行分类,视频的帧信息可以分为三种类型,完整编码的帧信息-I帧,参考之前的I帧生成的只包含差异部分编码的帧信息-P帧,参考前后的帧编码的帧信息-B帧。
视频解码单元给视频的每一个帧信息一个标记位,来标记该帧信息的类型,对于P帧,视频解码单元还会标记该帧的前向参考帧,并且还会提取出P帧内物体经过行为预测后相对参考帧的位移;对于B帧,会标记前后双向的参考帧,并且还会提取出B帧内物体经过行为预测后相对前参考帧的位移和相对后参考帧的位移。
视频解码单元将完成标记的I帧、P帧以及相对前参考帧的位移、B帧以及相对前后参考帧的位移传输给存储单元。
进一步的,存储单元用来存储神经网络的神经元(即每一帧图片),权值,指令以及帧的信息(即I帧信息、P帧信息及其标记的前参考帧以及相对前参考帧的位移、B帧信息及其标记的前后参考帧以及相对前后参考帧的位移)。
指令控制单元接收存储单元中的指令,经过译码后生成控制信息控制精确计算单元和近似计算单元进行计算操作。
精确计算单元提取I帧信息和权值,完成神经网络运算并将输出神经元重新传输给存储单元。
近似计算单元提取P帧、其前参考帧的计算结果、以及相对前参考帧的位移,并且在前参考帧的计算结果的基础上加上相对位移后输出;近似计算单元还接收B帧、其前后参考帧的计算结果以及相对前后参考帧的位移,并且在输出前后两个参考帧的计算结果的几何平均(或算术平均)基础上,加上相对两个参考帧的位移的几何平均。最后将输出神经元重新传输给存储单元。
基于上述的处理器,本实施例还提出了一种加速装置,包括:存储器:存储有可执行指令;处理器:用于执行存储单元中的可执行指令,在执行指令时依照上述处理方法进行操作。
其中,处理器可以是单个处理单元,但也可以包括两个或更多个处理单元。另外,处理器还可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))。处理器还可以包括用于缓存用途的片上存储器(即包括处理装置中的存储器)。
本实施例的处理器,可用于作为芯片的一部分;而该芯片又可作为芯片封装结构的一部分;该芯片封装结构又可为卡板的一部分;卡板可为电子装置的一部分。
其中,电子装置可以为数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备交通工具、家用电器、和/或医疗设备。
上述交通工具可以为飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;上述医疗设备可以为核磁共振仪、B超仪和/或心电图仪。
应该理解到,所揭露的相关装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (27)

1.一种处理器,包括存储单元、指令控制单元和计算单元,其中:
所述存储单元用于存储帧信息和神经网络参数,所述帧信息包括完整帧信息和参考帧信息,所述神经网络参数包括权值;
指令控制单元,用于提取处理指令并传输至计算单元;
计算单元,包括:
精确计算单元,用于根据所述处理指令提取所述完整帧信息和所述权值,并进行神经网络运算,得到第一运算结果并传输至所述存储单元;以及
近似计算单元,用于根据所述处理指令提取所述参考帧信息和预先存储于所述存储单元的参考帧的计算结果,并进行近似计算,得到第二运算结果并传输至所述存储单元,
其中,所述存储单元还用于存储所述第一运算结果和所述第二运算结果,以作为视频处理结果。
2.如权利要求1所述的处理器,还包括:
所述神经网络参数还包括神经元、拓扑结构和/或处理指令。
3.如权利要求2所述的处理器,其中:
所述神经网络运算包括乘法运算、加法运算、激活函数运算和/或池化运算。
4.如权利要求3所述的处理器,其中,所述精确计算单元包括:
乘法器,用于执行所述乘法运算;和/或
一个或多个加法器,用于执行所述加法运算;和/或
激活函数单元,用于执行所述激活函数运算。
5.如权利要求4所述的处理器,其中,所述一个或多个加法器组成加法树。
6.如权利要求3至5中任一项所述的处理器,其中,所述激活函数运算采用的激活函数包括sigmoid、tanh、ReLU、softmax、Leaky ReLU和/或Maxout;所述池化运算包括平均值池化、最大值池化、中值池化、RoI池化和/或反池化。
7.如权利要求2所述的处理器,还包括:
解码单元,用于解压压缩后的视频,提取出视频中每一帧图片的帧信息,并将所述帧信息分为完整帧信息和参考帧信息,存储于所述存储单元中。
8.如权利要求7所述的处理器,其中,所述参考帧信息包括参考前一帧编码的参考帧信息和/或参考前后帧编码的参考帧信息。
9.如权利要求8所述的处理器,其中,所述解码单元还用于给予每一帧信息一标记位,其中,所述完整帧信息标记为I帧,所述参考前一帧编码的参考帧信息标记为P帧,所述参考前后帧编码的参考帧信息标记为B帧。
10.如权利要求9所述的处理器,其中:
对于所述参考前一帧编码的参考帧信息,所述解码单元还用于标记该帧的前向参考帧和/或该帧相对前向参考帧的位移;
对于所述参考前后帧编码的参考帧信息,所述解码单元还用于标记该帧前后双向的参考帧和/或该帧相对前后双向参考帧的位移。
11.根据权利要求1所述的处理器,还包括:
译码单元,与所述指令控制单元和计算单元连接,用于对所述处理指令进行译码,并将译码后的处理指令传输至所述计算单元。
12.一种处理方法,包括以下步骤:
指令控制单元提取处理指令以控制计算单元;
计算单元中的精确计算单元根据所述处理指令从存储单元中提取完整帧信息和权值,并进行神经网络运算,得到第一运算结果并传输至所述存储单元;
计算单元中的近似计算单元根据所述处理指令从所述存储单元中提取参考帧信息和预先存储于所述存储单元的参考帧的计算结果,并进行近似计算,得到第二运算结果并传输至所述存储单元;以及
所述存储单元存储所述第一运算结果和所述第二运算结果,以作为视频处理结果,
其中,所述存储单元存储有帧信息和神经网络参数,所述帧信息包括完整帧信息和参考帧信息,所述神经网络参数包括权值。
13.如权利要求12所述的处理方法,其中,所述神经网络参数还包括神经元、拓扑结构和/或处理指令。
14.如权利要求13所述的处理方法,其中:
所述神经网络运算包括乘法运算、加法运算、激活函数运算和/或池化运算。
15.如权利要求14所述的处理方法,其中,所述精确计算单元包括:
执行所述乘法运算的乘法器;和/或
执行所述加法运算的一个或多个加法器;和/或
执行所述激活函数运算的激活函数单元。
16.如权利要求15所述的处理方法,其中,所述一个或多个加法器组成加法树。
17.如权利要求14至16中任一项所述的处理方法,其中,所述激活函数运算采用的激活函数包括sigmoid、tanh、ReLU、softmax、Leaky ReLU和/或Maxout;所述池化运算包括平均值池化、最大值池化、中值池化、RoI池化和/或反池化。
18.如权利要求13所述的处理方法,在所述指令控制单元提取处理指令以控制计算单元之前,所述方法还包括以下步骤:
解码单元解压压缩后的视频,提取出视频中每一帧图片的帧信息,并将所述帧信息分为完整帧信息和参考帧信息,存储于所述存储单元中。
19.如权利要求18所述的处理方法,其中,所述参考帧信息包括参考前一帧编码的参考帧信息和/或参考前后帧编码的参考帧信息。
20.如权利要求19所述的处理方法,其中,所述解码单元还用于给予每一帧信息一标记位,其中,所述完整帧信息标记为I帧,所述参考前一帧编码的参考帧信息标记为P帧,所述参考前后帧编码的参考帧信息标记为B帧。
21.如权利要求20所述的处理方法,其中:
对于所述参考前一帧编码的参考帧信息,所述解码单元还用于标记该帧的前向参考帧和/或该帧相对前向参考帧的位移;
对于所述参考前后帧编码的参考帧信息,所述解码单元还用于标记该帧前后双向的参考帧和/或该帧相对前后双向参考帧的位移。
22.如权利要求12所述的处理方法,在所述指令控制单元提取处理指令及所述计算单元接收帧信息、神经网络参数及所述处理指令之间,所述方法还包括:
位于所述指令控制单元和计算单元之间的译码单元,对所述处理指令进行译码,并将译码后的处理指令传输至所述计算单元。
23.一种芯片,包括如权利要求1至11中任一项所述的处理器。
24.一种芯片封装结构,包括如权利要求23所述的芯片。
25.一种卡板,包括如权利要求24所述的芯片封装结构。
26.一种电子装置,包括如权利要求25所述的卡板。
27.如权利要求26所述的电子装置,其中,所述电子装置包括数据处理装置、机器人、电脑、打印机、扫描仪、平板电脑、手机、行车记录仪、导航仪、传感器、摄像头、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储装置、可穿戴设备、交通工具、家用电器和/或医疗设备;作为优选,所述交通工具包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶和/或油烟机;所述医疗设备包括核磁共振仪、B超仪和/或心电图仪。
CN201710483182.6A 2017-06-13 2017-06-22 处理器及其处理方法、芯片、芯片封装结构及电子装置 Active CN109117945B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201710483182.6A CN109117945B (zh) 2017-06-22 2017-06-22 处理器及其处理方法、芯片、芯片封装结构及电子装置
EP18818258.8A EP3637327B1 (en) 2017-06-13 2018-06-12 Computing device and method
EP19217768.1A EP3657403A1 (en) 2017-06-13 2018-06-12 Computing device and method
PCT/CN2018/090901 WO2018228399A1 (zh) 2017-06-13 2018-06-12 运算装置和方法
US16/698,988 US11537858B2 (en) 2017-06-13 2019-11-28 Computing device and method
US16/698,984 US11544543B2 (en) 2017-06-13 2019-11-28 Apparatus and method for sparse training acceleration in neural networks
US16/698,976 US11544542B2 (en) 2017-06-13 2019-11-28 Computing device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710483182.6A CN109117945B (zh) 2017-06-22 2017-06-22 处理器及其处理方法、芯片、芯片封装结构及电子装置

Publications (2)

Publication Number Publication Date
CN109117945A CN109117945A (zh) 2019-01-01
CN109117945B true CN109117945B (zh) 2021-01-26

Family

ID=64732909

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710483182.6A Active CN109117945B (zh) 2017-06-13 2017-06-22 处理器及其处理方法、芯片、芯片封装结构及电子装置

Country Status (1)

Country Link
CN (1) CN109117945B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109992225B (zh) * 2019-04-04 2022-02-22 中科寒武纪科技股份有限公司 数据输出方法及相关装置
CN115906968B (zh) * 2022-11-09 2023-12-08 南方科技大学 双有符号操作数非易失性存算一体单元、阵列及运算方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854526A (zh) * 2009-03-30 2010-10-06 国际商业机器公司 码率控制方法和编码控制器
CN104754357A (zh) * 2015-03-24 2015-07-01 清华大学 基于卷积神经网络的帧内编码优化方法及装置
CN105320495A (zh) * 2014-07-22 2016-02-10 英特尔公司 用于卷积神经网络的权重移位机制
CN105681628A (zh) * 2016-01-05 2016-06-15 西安交通大学 一种卷积网络运算单元及可重构卷积神经网络处理器和实现图像去噪处理的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621683A (zh) * 2008-07-01 2010-01-06 邹采荣 一种基于avs的快速立体视频编码方法
EP2321969A4 (en) * 2008-09-09 2012-05-09 Onmobile Global Ltd METHOD AND APPARATUS FOR VIDEO TRANSMISSION
US8504500B2 (en) * 2009-07-30 2013-08-06 Northwestern University Systems, methods, and apparatus for reconstruction of 3-D object morphology, position, orientation and texture using an array of tactile sensors
JP6679898B2 (ja) * 2015-11-24 2020-04-15 富士通株式会社 キーワード検出装置、キーワード検出方法及びキーワード検出用コンピュータプログラム
CN106875511A (zh) * 2017-03-03 2017-06-20 深圳市唯特视科技有限公司 一种基于自编码正则化网络学习驾驶风格的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854526A (zh) * 2009-03-30 2010-10-06 国际商业机器公司 码率控制方法和编码控制器
CN105320495A (zh) * 2014-07-22 2016-02-10 英特尔公司 用于卷积神经网络的权重移位机制
CN104754357A (zh) * 2015-03-24 2015-07-01 清华大学 基于卷积神经网络的帧内编码优化方法及装置
CN105681628A (zh) * 2016-01-05 2016-06-15 西安交通大学 一种卷积网络运算单元及可重构卷积神经网络处理器和实现图像去噪处理的方法

Also Published As

Publication number Publication date
CN109117945A (zh) 2019-01-01

Similar Documents

Publication Publication Date Title
US11710041B2 (en) Feature map and weight selection method and accelerating device
CN109189474B (zh) 神经网络处理装置及其执行向量加和指令的方法
US11698786B2 (en) Processing apparatus and processing method
CN108229654B (zh) 神经网络卷积运算装置及方法
CN108416327B (zh) 一种目标检测方法、装置、计算机设备及可读存储介质
CN110263909B (zh) 图像识别方法及装置
CN110163358B (zh) 一种计算装置及方法
CN108008948B (zh) 一种指令生成过程的复用装置及方法、处理装置
CN108733348B (zh) 融合向量乘法器和使用其进行运算的方法
US11537858B2 (en) Computing device and method
US20220083857A1 (en) Convolutional neural network operation method and device
CN108320018B (zh) 一种人工神经网络运算的装置及方法
CN109117945B (zh) 处理器及其处理方法、芯片、芯片封装结构及电子装置
CN116778527A (zh) 人体模型构建方法、装置、设备及存储介质
Min et al. Dadu-eye: A 5.3 TOPS/W, 30 fps/1080p high accuracy stereo vision accelerator
CN111047020B (zh) 支持压缩及解压缩的神经网络运算装置及方法
CN112528978B (zh) 人脸关键点的检测方法、装置、电子设备及存储介质
CN104616304A (zh) 一种基于fpga的自适应支撑权重的立体匹配方法
US20230143985A1 (en) Data feature extraction method and related apparatus
WO2021081854A1 (zh) 一种卷积运算电路和卷积运算方法
CN116309158A (zh) 网络模型的训练方法、三维重建方法、装置、设备和介质
CN109697135B (zh) 存储装置及方法、数据处理装置及方法、电子装置
CN108665062A (zh) 一种基于小波变换减少io开销的神经网络处理系统
CN114254563A (zh) 数据处理方法及装置、电子设备、存储介质
Sulzbachner et al. An optimized silicon retina stereo matching algorithm using time-space correlation

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