CN117372296B - 一种经济型gamma校正方法及装置 - Google Patents
一种经济型gamma校正方法及装置 Download PDFInfo
- Publication number
- CN117372296B CN117372296B CN202311355410.3A CN202311355410A CN117372296B CN 117372296 B CN117372296 B CN 117372296B CN 202311355410 A CN202311355410 A CN 202311355410A CN 117372296 B CN117372296 B CN 117372296B
- Authority
- CN
- China
- Prior art keywords
- index
- exponent
- value
- mantissa
- gray scale
- 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
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000012937 correction Methods 0.000 title claims abstract description 44
- 230000014509 gene expression Effects 0.000 claims abstract description 44
- 238000006243 chemical reaction Methods 0.000 claims abstract description 29
- 238000012545 processing Methods 0.000 claims description 33
- 238000000354 decomposition reaction Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 229910002056 binary alloy Inorganic materials 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241001584785 Anavitrinella pampinaria Species 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/556—Logarithmic or exponential functions
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Picture Signal Circuits (AREA)
Abstract
本发明公开了一种经济型gamma校正方法及装置,该方法包括:对输入灰阶值进行指数转换得到第一指数;根据所述第一指数得到第二指数;对所述第二指数进行分解后求解所述第二指数的第一部分和第二部分以得到第一尾数,其中,所述第一尾数为第二指数的小数部分的指数表达式;对所述第一尾数进行移位操作得到校正灰阶值。通过对输入灰阶值进行指数转换得到第一指数;根据所述第一指数得到第二指数;对所述第二指数进行分解后求解所述第二指数的第一部分和第二部分以得到第一尾数,对所述第一尾数进行移位操作得到校正灰阶值。将复杂的指数运算和除法运算转换成移位、加减法和乘法操作,降低了系统复杂度,节省了占用资源数和时钟周期数,提升了校正效率。
Description
技术领域
本发明属于图像处理领域,具体涉及一种经济型gamma校正方法及装置。
背景技术
Gamma校正又叫伽玛非线性化,是用来针对影片或是影像系统里对于光线的辉度或是三色刺激值所进行非线性的运算或反运算。在数字化图像处理技术中,Gamma校正有着举足轻重的地位。
现有的Gamma校正算法主要通过GPU、专用图像处理芯片、FPGA数字图像处理芯片来实现。不同的芯片实现存在着不同的缺陷。使用GPU或专用图像处理芯片时,硬核处理速度快,但是成本高;软核处理延迟大,并且实时性差。使用进口FPGA数字图像处理芯片时,虽然可提供专用的4K以上高分辨率图像处理IP,但是资源占用高、移植性差,不利于FPGA国产化方案落地。使用国产FPGA数字图像处理芯片时,不提供专用的4K以上高分辨率图像处理IP,并且现有技术实现采用查表法。查表法在进行多个像素并行处理高分辨率时,需要RAM资源成倍增加。图像的亮度灰阶决定了RAM的存储深度,常用的灰阶包括8位、10位、12位,对应的RAM存储深度分别是256、1024、4096,RAM的资源被过多占用,导致国产FPGA高分辨率图像处理方案无法落地。Gamma矫正的原理为指数函数变换,如果在FPGA数字图像处理芯片上使用算法来实现现有的Gamma矫正方法,一般采用Cordic实现指数函数,这样资源占用和处理周期都大于查表法。
综上所述,现有的gamma校正算法的计算复杂度高,并且随着处理位宽的增大占用处理资源较大,从而处理效率较低。
发明内容
为了解决现有技术中存在的上述问题,本发明提供了一种经济型gamma校正方法及装置。本发明要解决的技术问题通过以下技术方案实现:
一种经济型gamma校正方法,包括:
对输入灰阶值进行指数转换得到第一指数;
根据所述第一指数得到第二指数;
对所述第二指数进行分解后求解所述第二指数的第一部分和第二部分以得到第一尾数,其中,所述第一尾数为第二指数的小数部分的指数表达式;
对所述第一尾数进行移位操作得到校正灰阶值。
在一个具体实施方式中,对输入灰阶值进行指数转换得到第一指数,包括:
将所述输入灰阶值转换为以2为底的指数表达式,以将该指数表达式的指数分解为第三部分和第四部分;
求解所述第三部分和所述第四部分得到第一指数。
在一个具体实施方式中,求解所述第三部分和所述第四部分得到第一指数,包括:
将所述输入灰阶值转换为B位二进制表达式,以根据该B位二进制表达式中从左到右第一次出现1的位置确定第三部分的值;
对所述输入灰阶值右移第一预设位后得到第二尾数,其中,所述第一预设位的位数根据所述第三部分的值确定;
将所述第二尾数用二进制转换公式进行表示,采用移位比较分别确定二进制转换公式中每一项的系数,将每个系数代入该二进制转换公式中得到第四部分的值。
在一个具体实施方式中,根据所述第一指数得到第二指数的计算公式为:E1=B-(B-N-M)×G,其中,E1为第二指数,B为二进制的最大位宽,G为gamma校正系数,N为第三部分,M为第四部分。
在一个具体实施方式中,对所述第二指数进行分解后,求解所述第二指数的第一部分和第二部分以得到第一尾数,包括:
将第二指数的指数表达式转换为T位二进制表达式,以根据该T位二进制表达式中从左到右第一次出现1的位置确定第一部分的值;
根据所述第二指数和第一部分的值得到第二部分的值;
将所述第二部分的值用指数表达式进行表示得到第一尾数。
在一个具体实施方式中,对所述第一尾数进行移位操作得到校正灰阶值,包括:
将所述第一尾数左移第二预设位后,即为gamma校正后的校正灰阶值,其中,所述第二预设位的位数根据所述第一部分的值确定。
本发明同时提供了一种经济型gamma校正装置,包括:
log2函数处理模块,用于对输入灰阶值进行指数转换得到第一指数;
校正参数处理模块,用于根据所述第一指数得到第二指数;
power2函数处理模块,用于对所述第二指数进行分解后求解所述第二指数的第一部分和第二部分以得到第一尾数,对所述第一尾数进行移位操作得到校正灰阶值,其中,所述第一尾数为第二指数的小数部分的指数表达式。
在一个具体实施方式中,所述对数函数处理模块包括:
灰阶值分解单元,用于定义宽度分别为N和2M的移位寄存器,使输入灰阶值右移N位后得到第二尾数,其中,N表示第一指数的整数部分,M表示第一指数的小数部分;
所述乘法器单元,用于采用移位比较对所述第二尾数进行处理得到第一指数的小数部分。
在一个具体实施方式中,根据所述第一指数得到第二指数的计算公式为:E1=B-(B-N-M)×G,其中,E1为第二指数,B为二进制的最大位宽,G为gamma校正系数,N为第三部分,M为第四部分。
本发明的有益效果:
本发明的经济型gamma校正方法通过对输入灰阶值进行指数转换得到第一指数;根据所述第一指数得到第二指数;对所述第二指数进行分解后求解所述第二指数的第一部分和第二部分以得到第一尾数,对所述第一尾数进行移位操作得到校正灰阶值。使得将复杂的指数运算和对数运算转换成移位操作,从而降低了系统复杂度,节省了占用资源数和时钟周期数,提升了校正效率。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1是本发明实施例提供的一种经济型gamma校正方法流程示意图;
图2是本发明实施例提供的一种经济型gamma校正装置模块框图;
图3是本发明实施例提供的一种经济型gamma校正方法具体实现步骤示意图;
图4是本发明实施例提供的一种经济型gamma校正装置具体实现模块示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
实施例一
请参见图1,图1是本发明实施例提供的一种经济型gamma校正方法流程示意图,包括:
S1、对输入灰阶值进行指数转换得到第一指数;输入灰阶值即为校正前的灰阶,第一指数即为对应的整数部分和小数部分。
S11、对输入灰阶值进行指数转换得到第一指数,包括:
将所述输入灰阶值转换为以2为底的指数表达式,以将该指数表达式的指数分解为第三部分和第四部分;
S12、求解所述第三部分和所述第四部分得到第一指数。该步骤具体包括:
S121、将所述输入灰阶值转换为B位二进制表达式,以根据该B位二进制表达式中从左到右第一次出现1的位置确定第三部分的值;
具体的,可以按从左到右的索引号为{1、2、3、4、…、B-1、B},查找出第一次出现二进制1的索引号Index,因此N=B–Index。
S122、对所述输入灰阶值右移第一预设位后得到第二尾数,其中,所述第一预设位的位数根据所述第三部分的值确定;
需要说明的是,由于此时已转换为以2为底的指数形式,因此,对于2M的求解,只需要将I进行移位操作即可得到2M的值。即2M=I÷2N=I>>N。
S123、将所述第二尾数用二进制转换公式进行表示,采用移位比较分别确定二进制转换公式中每一项的系数,将每个系数代入该二进制转换公式中得到第四部分的值。
具体的,第二尾数用二进制转换公式进行表示为:
其中按顺序排列系数b[0]b[1]b[2]……b[n],即为M的二进制值。
通过平方、比较和右移的方法得出b[0]b[1]b[2]……b[n-1],可实现E0小数部分M值的求解,过程如下:
步骤①等式两边平方,即:
公式可变换为:
步骤②比较和右移位操作,得到1位二进制值,过程如下:
由于M为指数E0小数部分,因此MM∈[0,1),则2M∈[0,2),继而,2M×2M∈[0,4),若2M×2M>=2,
可得(b[0]+b[1]×1/21+b[2]×1/22+b[3]×1/23+…+b[n-1]×1/2(n+1))>1,
即b[0]=1,等式左边右移1位,
等式右边即/>若2M×2M<2,等式左边右移0位,b[0]=0。
步骤③平方、比较和右移的值作为下次输入值,重复次数为n-1,得b[0]b[1]b[2]……b[n-1],即可求解E0小数部分M的值。具体求解时可根据精度要求设置重复次数。
S2、根据所述第一指数得到第二指数;本实施例进行如下推导示例,即可得到第二指数和第一指数之间的运算公式。
现有技术已有的gamma计算公式为:
其中O表示计算后输出结果,范围为0~2B;B表示灰阶值二进制最大位宽;G表示gamma校正系数。
变形为以2为底的指数表达式的过程如下:
Step05:O=IG×2B*(1-G),
然后将输入图像灰阶值I转化为以2为底的E0次方的指数函数,I的取值范围为0~2B,指数E0可分解为整数N(第三部分)和小数M(第四部分),如下:
将step6的输入灰阶值I的变形公式引入至step5的gamma变形公式中,推导过程如下:
Step07:O=(2(N+M))G×2B*(1-G),
Step08:O=2(N+M)*G×2B*(1-G),
Step09:O=2(N+M)*G+B*(1-G),
Step10:O=2(N+M)*G+B-B*G,
Step11:O=2B+(N+M)*G-B*G,
Step12:O=2B-(B-N-M)*G,
从step12中计算出公式变形后形成的新指数E1,E1=B-(B-N-M)*G,即为第二指数。因此,在得到第一指数N和M后,即可通过上式得到第二指数E1。
S3、对所述第二指数进行分解后求解所述第二指数的第一部分和第二部分以得到第一尾数,其中,所述第一尾数为第二指数的小数部分的指数表达式;
具体的,对所述第二指数进行分解后,求解所述第二指数的第一部分和第二部分以得到第一尾数,包括:
S31、将第二指数的指数表达式转换为T位二进制表达式,以根据该T位二进制表达式中从左到右第一次出现1的位置确定第一部分的值;
将E1分解为整数部分N1(第二指数的第一部分)和小数部分M1(第二指数的第二部分),即:E1=N1+M1。首先求解整数部分N1,过程如下:
步骤①将E1转换为T位二进制,按从左到右的索引号为{1、2、3、4、…、T-1、T};
步骤②查找出第一次出现二进制1的索引号Index,N1=T-Index。
S32、根据所述第二指数和第一部分的值得到第二部分的值;
根据E1=N1+M1,可得:M1=E1-N1;
S33、将所述第二部分的值用指数表达式进行表示得到第一尾数。也就是说,在该过程中,已知第一尾数的小数部分,需要求解该第一尾数的具体数值。
求解第一尾数过程如下:
将表达式,展开后得到:
把b[0]、b[1]、b[2]、…、b[n-1]值取1,分别计算值,保存为常量数组Mb[n-1]、Mb[n-2]、…、Mb[1]、Mb[0],在代码实现阶段完成常量值数组生成;
步骤③,初始化M2值为1,依次判断M1对应下标数组成员的值。下标数组成员的值为1时,M2等于M2乘常量数组Mb对应下标数组成员的值;下标数组成员的值为0时,M2=M2×1,遍历完M1所有下标后,M2的值即为
S4、对所述第一尾数进行移位操作得到校正灰阶值。在一个具体实施方式中,对所述第一尾数进行移位操作得到校正灰阶值,包括:
将所述第一尾数左移第二预设位后,即为gamma校正后的校正灰阶值,其中,所述第二预设位的位数根据所述第一部分的值确定。
由于此时已转换为以2为底的指数形式,因此,对于校正灰阶值的求解,只需要将2M1进行移位操作即可得到校正灰阶值。校正灰阶值O=2E1=2N1+M1=2M1×2N1,也就是将2M1左移N1位,即
本实施例的经济型gamma校正方法通过对输入灰阶值进行指数转换得到第一指数;根据所述第一指数得到第二指数;对所述第二指数进行分解后求解所述第二指数的第一部分和第二部分以得到第一尾数,对所述第一尾数进行移位操作得到校正灰阶值。使得将复杂的指数运算和除法运算转换成移位、加减法和乘法操作,从而降低了系统复杂度,节省了占用资源数和时钟周期数,提升了校正效率。
请参见图2,图2是本发明实施例提供的一种经济型gamma校正装置模块框图;包括:
log2函数处理模块21,用于对输入灰阶值进行指数转换得到第一指数;
校正参数处理模块22,用于根据所述第一指数得到第二指数;
power2函数处理模块23,用于对所述第二指数进行分解后求解所述第二指数的第一部分和第二部分以得到第一尾数,对所述第一尾数进行移位操作得到校正灰阶值,其中,所述第一尾数为第二指数的小数部分的指数表达式。
在一个具体实施方式中,所述对数函数处理模块21包括:
灰阶值分解单元,用于定义宽度分别为N和2M的移位寄存器,使输入灰阶值右移N位后得到第二尾数,其中,N表示第一指数的整数部分,M表示第一指数的小数部分;在进行求解时,对于整数部分,使用casex实现N求解函数,返回值为N,即E0指数整数部分,组合逻辑实现,无时钟延迟;对于转化尾数的求解,即:2M=I÷2N=I>>N,定义一个非寄存器类型信号,宽度为I、2M最大位宽之和,使输入灰阶值右移N位后的信号连接乘法器单元的流水线第一级乘法器输入。
所述乘法器单元,用于采用移位比较对所述第二尾数进行处理得到第一指数的小数部分。具体处理过程如下:定义一个寄存器,宽度为流水线级数,输入端接输入灰阶值有效信号,按时钟移位,按寄存器下标接对应每级流水线的乘法器使能信号;判断每级乘法器输出值最高位,为高时即乘法器输出结果大于2,乘法器输出右移1位输入至下一级乘法器输入;同时将对应级的二进制值置1,并按时钟传递下一级;为低时即乘法器输出结果小于2,乘法器输出右移0位输入至下一线乘法器输入,同时将对应级的二进制值置0,按时钟传递下一级;最后一级乘法输出即为E0小部分M。
在一个具体实施方式中,根据所述第一指数得到第二指数的计算公式为:E1=B-(B-N-M)×G,其中,E1为第二指数,B为二进制的最大位宽,G为gamma校正系数,N为第三部分,M为第四部分。
实施例二
为了更完整的说明本方法的实施过程,本实施例根据算法步骤进行具体说明。请参见图3,具体包括以下步骤。
步骤1,实时输入图像灰阶值I;
步骤2,图像灰阶值I分解为以2为底的指数表达式:
步骤3,求解指数E0的整数部分N,将灰阶值I转换为B位二进制,按从左到右的索引号为{1、2、3、4、…、B-1、B},查找出第一次出现二进制1的索引号Index,因此N=B–Index;
步骤4,求解指数E0尾数2M,2M为图像灰阶值I向右移N位,即:2M=I÷2N=I>>N;
步骤5,求解指数E0小数部分M,2M∈[0,2),所以M∈[0,1),用n位二进制数表达10进制数M如下所示:
即:其中按顺序排列系数b[0]b[1]b[2]……b[n],即为M的二进制值。通过平方、比较和右移的方法得出b[0]b[1]b[2]……b[n-1],可实现E0小数部分M值的求解,过程如下:
步骤①等式两边平方,即:
公式可变换为:
步骤②比较和右移位操作,得到1位二进制值,过程如下:
2M×2M∈[0,4),若2M×2M>=2,可得(b[0]+b[1]×1/21+b[2]×1/22+b[3]×1/23+…+b[n-1]×1/2(n+1))>1,即b[0]=1,等式左边右移1位,等式右边即若2M×2M<2,等式左边右移0位,b[0]=0。
步骤③平方、比较和右移的值作为下次输入值,重复次数为n-1,得b[0]b[1]b[2]……b[n-1],即可求解E0小数部分M的值。
步骤6,按变形公式O=2B-(B-N-M)*G计算Gamma校正后指数E1,计算公式如下:
E1=B-(B-N-M)×G
步骤7,按分解法计算Gamma校正结果,将E1分解为整数部分N1和小数部分M1,即:E1=N1+M1。首先求解整数部分N1,过程如下:
步骤①将E1转换为T位二进制,按从左到右的索引号为{1、2、3、4、…、T-1、T};
步骤②查找出第一次出现二进制1的索引号Index1,N1=T-1-Index1。
之后求解尾数过程如下:
步骤①根据E1=N1+M1,可得:M1=E1-N1;
步骤②生成常量值数组,将表达式
展开后得到:
把[0]、b[1]、b[2]、…、b[n-1]值取1,分别计算/>值,保存为常量数组Mb[n-1]、Mb[n-2]、…、Mb[1]、Mb[0],在代码实现阶段完成常量值数组生成;
步骤③M2初始值为1,是判断M1对应下标数组成员的值。下标数组成员的值为1时,M2等于M2乘常量数组Mb对应下标数组成员的值;下标数组成员的值为0时,M2=M2×1,遍历完M1所有下标后,M2的值即为
步骤8,输出变形后的图像灰阶值为左移N1位,即:/>
此外,为了更完整的说明本装置的实施过程,本实施例进行具体说明,请参见图4。在实施时,采用FPGA(Field-Programmable Gate Array,现场可编程门阵列)芯片实现本装置的具体功能,本装置的模块均通过硬件描述语言实现。
其中,log2函数模块的实现过程如下所示:
步骤1,灰阶值分解为指数表达:定义两个寄存器类型信号,宽度分别为N、2M最大宽度,深度为流水线级数,作流水线移位寄存器;
步骤2,求解指数整数部分:使用casex实现N求解函数,返回值为N,即E0指数整数部分,组合逻辑实现,无时钟延迟;
步骤3,求解指数的尾数2M,即:2M=I÷2N=I>>N,定义一个非寄存器类型信号,宽度为I、2M最大位宽之和,使输入灰阶值右移N位后的信号连接流水线第一级乘法器输入;
步骤4,求解指数E0小数部分M:定义一个寄存器,宽度为流水线级数,输入接灰阶值有效信号,按时钟移位,按寄存器下标接对应每级流水线的乘法器使能信号;判断每级乘法器输出值最高位,为高时即乘法器输出结果大于2,乘法器输出右移1位输入至下一级乘法器输入;同时将对应级的二进制值置1,并按时钟传递下一级;为低时即乘法器输出结果小于2,乘法器输出右移0位输入至下一线乘法器输入,同时将对应级的二进制值置0,按时钟传递下一级;最后一级乘法输出即为E0小部分M。
校正参数处理模块的实现过程如下所示:
步骤1,按变形公式计算Gamma校正后指数E1,即:E1=B-(B-N-M)×G。
power2函数模块的实现过程如下所示:
步骤1,按分解法计算Gamma校正结果,将E1分解为整数部分N1和小数部分M1,即:E1=N1+M1。
步骤2,求解N1:将E1转换为T位二进制,按从左到右的索引号为{1、2、3、4、…、T-1、T};查找出第一次出现二进制1的索引号Index1,N1=T-1-Index1;
步骤3,求解尾数根据E1=N1+M1,可得:M1=E1-N1;将表达式展开后得到:把[0]、b[1]、b[2]、…、b[n-1]值取1,分别计算/>值,保存为常量数组Mb[n-1]、Mb[n-2]、…、Mb[1]、Mb[0],在代码实现阶段完成常量值数组生成;
M2初始值为1,是判断M1对应下标数组成员的值。下标数组成员的值为1时,M2等于M2乘常量数组Mb对应下标数组成员的值;下标数组成员的值为0时,M2=M2×1,遍历完M1所有下标后,M2的值即为
步骤4,输出变形后的图像灰阶值为左移N1位,即:/>
本实施例还对本方法和现有技术进行了对比,分别从8Bits、10Bits、12Bits位宽的角度,通过与Cordic算法对比时钟周期数和占用资源数,从而验证确定本实施例方法的速度快,占用资源少,可降低系统复杂度和系统实现成本。具体验证数据如表1和表2所示。
表1时钟周期数对比表
位宽 | Cordic算法 | 本算法 | 节省(百分比) |
12Bits | 48 | 32 | 33.33% |
10Bits | 48 | 28 | 41.67% |
8Bits | 48 | 24 | 50.00% |
表2资源占用对比表
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (4)
1.一种gamma校正方法,其特征在于,包括:
对输入灰阶值进行指数转换得到第一指数;
根据所述第一指数得到第二指数;
对所述第二指数进行分解后求解所述第二指数的第一部分和第二部分以得到第一尾数,其中,所述第一尾数为第二指数的小数部分的指数表达式;
对所述第一尾数进行移位操作得到校正灰阶值;
对输入灰阶值进行指数转换得到第一指数,包括:
将所述输入灰阶值转换为以2为底的指数表达式,以将该指数表达式的指数分解为第三部分和第四部分,其中,所述第三部分为第一指数的整数部分,所述第四部分为第一指数的小数部分;
求解所述第三部分和所述第四部分得到第一指数;
求解所述第三部分和所述第四部分得到第一指数,包括:
将所述输入灰阶值转换为B位二进制表达式,以根据该B位二进制表达式中从左到右第一次出现1的位置确定第三部分的值;
对所述输入灰阶值右移第一预设位后得到第二尾数,其中,所述第一预设位的位数根据所述第三部分的值确定;
将所述第二尾数用二进制转换公式进行表示,采用移位比较分别确定二进制转换公式中每一项的系数,将每个系数代入该二进制转换公式中得到第四部分的值;
根据所述第一指数得到第二指数的计算公式为:其中,E1为第二指数,B为二进制的最大位宽,G为gamma校正系数,N为第三部分,M为第四部分,第二指数的第一部分为E1的整数部分,第二指数的第二部分为E1的小数部分;
求解所述第二指数的第一部分和第二部分以得到第一尾数,包括:
将第二指数的指数表达式转换为T位二进制表达式,以根据该T位二进制表达式中从左到右第一次出现1的位置确定第一部分的值;
根据所述第二指数和第一部分的值得到第二部分的值;
将所述第二部分的值用指数表达式进行表示得到第一尾数。
2.根据权利要求1所述的gamma校正方法,其特征在于,对所述第一尾数进行移位操作得到校正灰阶值,包括:
将所述第一尾数左移第二预设位后,即为gamma校正后的校正灰阶值,其中,所述第二预设位的位数根据所述第一部分的值确定。
3.一种gamma校正装置,其特征在于,包括:
log2函数处理模块,用于对输入灰阶值进行指数转换得到第一指数;
校正参数处理模块,用于根据所述第一指数得到第二指数;
power2函数处理模块,用于对所述第二指数进行分解后求解所述第二指数的第一部分和第二部分以得到第一尾数,对所述第一尾数进行移位操作得到校正灰阶值,其中,所述第一尾数为第二指数的小数部分的指数表达式;
对所述第一尾数进行移位操作得到校正灰阶值;
对输入灰阶值进行指数转换得到第一指数,包括:
将所述输入灰阶值转换为以2为底的指数表达式,以将该指数表达式的指数分解为第三部分和第四部分;
求解所述第三部分和所述第四部分得到第一指数;
求解所述第三部分和所述第四部分得到第一指数,包括:
将所述输入灰阶值转换为B位二进制表达式,以根据该B位二进制表达式中从左到右第一次出现1的位置确定第三部分的值;
对所述输入灰阶值右移第一预设位后得到第二尾数,其中,所述第一预设位的位数根据所述第三部分的值确定;
将所述第二尾数用二进制转换公式进行表示,采用移位比较分别确定二进制转换公式中每一项的系数,将每个系数代入该二进制转换公式中得到第四部分的值;
根据所述第一指数得到第二指数的计算公式为:其中,E1为第二指数,B为二进制的最大位宽,G为gamma校正系数,N为第三部分,M为第四部分,第二指数的第一部分为E1的整数部分,第二指数的第二部分为E1的小数部分;
求解所述第二指数的第一部分和第二部分以得到第一尾数,包括:
将第二指数的指数表达式转换为T位二进制表达式,以根据该T位二进制表达式中从左到右第一次出现1的位置确定第一部分的值;
根据所述第二指数和第一部分的值得到第二部分的值;
将所述第二部分的值用指数表达式进行表示得到第一尾数。
4.根据权利要求3所述的gamma校正装置,其特征在于,所述log2函数处理模块包括:
灰阶值分解单元,用于定义宽度分别为N和2M的移位寄存器,使输入灰阶值右移N位后得到第二尾数,其中,N表示第一指数的整数部分,M表示第一指数的小数部分;
乘法器单元,用于采用移位比较对所述第二尾数进行处理得到第一指数的小数部分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311355410.3A CN117372296B (zh) | 2023-10-19 | 2023-10-19 | 一种经济型gamma校正方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311355410.3A CN117372296B (zh) | 2023-10-19 | 2023-10-19 | 一种经济型gamma校正方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117372296A CN117372296A (zh) | 2024-01-09 |
CN117372296B true CN117372296B (zh) | 2024-04-05 |
Family
ID=89394142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311355410.3A Active CN117372296B (zh) | 2023-10-19 | 2023-10-19 | 一种经济型gamma校正方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117372296B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1755791A (zh) * | 2004-09-30 | 2006-04-05 | 日本电气株式会社 | 伽马校正方法和电路以及图像处理设备和显示设备 |
CN111796870A (zh) * | 2020-09-08 | 2020-10-20 | 腾讯科技(深圳)有限公司 | 数据格式转换装置、处理器、电子设备及模型运行方法 |
CN114663319A (zh) * | 2022-03-08 | 2022-06-24 | 华南理工大学 | 一种实现彩色图像增强的fpga方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4613702B2 (ja) * | 2004-09-30 | 2011-01-19 | 日本電気株式会社 | ガンマ補正、画像処理方法及びプログラム、並びにガンマ補正回路、画像処理装置、表示装置 |
US20230106651A1 (en) * | 2021-09-28 | 2023-04-06 | Microsoft Technology Licensing, Llc | Systems and methods for accelerating the computation of the exponential function |
-
2023
- 2023-10-19 CN CN202311355410.3A patent/CN117372296B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1755791A (zh) * | 2004-09-30 | 2006-04-05 | 日本电气株式会社 | 伽马校正方法和电路以及图像处理设备和显示设备 |
CN111796870A (zh) * | 2020-09-08 | 2020-10-20 | 腾讯科技(深圳)有限公司 | 数据格式转换装置、处理器、电子设备及模型运行方法 |
CN114663319A (zh) * | 2022-03-08 | 2022-06-24 | 华南理工大学 | 一种实现彩色图像增强的fpga方法及系统 |
Non-Patent Citations (1)
Title |
---|
A Method for Integrating Gamma Correction and Gain Control Functions Using a Logarithmic Compression CMOS Image Sensor;Masaaki Sasak等;IEEJ Transactions on Electronics, Information and Systems;20081219;第121卷(第8期);第1312-1317页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117372296A (zh) | 2024-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110852416B (zh) | 基于低精度浮点数数据表现形式的cnn硬件加速计算方法及系统 | |
CN110852434B (zh) | 基于低精度浮点数的cnn量化方法、前向计算方法及硬件装置 | |
US11249721B2 (en) | Multiplication circuit, system on chip, and electronic device | |
CN110363279A (zh) | 基于卷积神经网络模型的图像处理方法和装置 | |
US11816448B2 (en) | Compressing like-magnitude partial products in multiply accumulation | |
KR20150003338A (ko) | 디지털 신호 프로세서들에서의 신호 처리를 위한 시스템 및 방법 | |
CN109165006B (zh) | Softmax函数的设计优化及硬件实现方法及系统 | |
US20150113027A1 (en) | Method for determining a logarithmic functional unit | |
US8346831B1 (en) | Systems and methods for computing mathematical functions | |
CN110187866B (zh) | 一种基于双曲cordic的对数乘法计算系统及方法 | |
CN117372296B (zh) | 一种经济型gamma校正方法及装置 | |
CN110837624B (zh) | 一种针对sigmoid函数的近似计算装置 | |
US20060224648A1 (en) | Method and apparatus for providing a base-2 logarithm approximation to a binary number | |
CN110119265A (zh) | 乘法运算实现方法、装置、计算机存储介质及电子设备 | |
CN109756291A (zh) | 一种基于查表法的混沌扩频码生成方法及系统 | |
US11531896B2 (en) | Neural network circuit providing for operations with bit shifting and rounded values of weight information | |
US9134958B2 (en) | Bid to BCD/DPD converters | |
CN115686436A (zh) | 定点数除法的计算方法及装置 | |
Kumar et al. | Complex multiplier: implementation using efficient algorithms for signal processing application | |
JP2022048965A (ja) | 正規化浮動小数点数に対する誤差不偏近似乗算器及びその実現方法 | |
US6549924B1 (en) | Function generating interpolation method and apparatus | |
CN111353118A (zh) | 开平方的方法及相应的用于开平方的电路 | |
CN114463592B (zh) | 一种应用于depthwise卷积的量化计算方法和装置 | |
CN113515259B (zh) | 一种适用于浮点格式的复数的近似取模实现电路及方法 | |
Bader et al. | A binary to residue conversion using new proposed non-coprime moduli set |
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 |