一种图像HDR转换方法、装置、图像处理芯片及存储装置
技术领域
本发明属于图像处理技术领域,尤其涉及一种图像HDR转换方法、装置、图像处理芯片及存储装置。
背景技术
视频图像在信息传递上的作用越来越大。自然界场景包含着丰富的图像信息,但是传统图像设备的处理能力有限,只能表现其中极其有限的信息范围,图像质量不能得到大幅度的提升。高动态范围(High Dynamic Range)技术就是为了满足人们在多媒体生活中对高质量画面的要求而产生,它主要解决目前低动态范围技术(Low Dynamic Range)不能大范围地表现自然场景中丰富的亮度和细节问题,尽可能完整地记录场景中的亮度信息,力求生成完美的画面。高动态范围作为一门新兴的技术,从九十年代初出现起的短短十几年时间里,在摄像领域和计算机领域有了一定的发展。随着技术的逐渐发展和设备的日益更新,出现了一些能够生成、处理和显示高动态范围画面的工具和设备。
目前HDR算法主要分三类型:Global HDR算法、Local HDR算法和HDR base frame算法。Global HDR算法简单,但是在动态较大的场景中对于高亮区域和低亮区域的信息无法做到兼顾。HDR base frame算法效果最好,但是算法复杂,对于系统的负担也很重,需要损耗系统大量的带宽资源。Local HDR算法有很多种,常见的梯度法和双线性滤波法,采用简单的算法,则得到的高动态效果不佳,要得到较好的高动态效果,则需要比较复杂的算法。
发明内容
本发明实施例提供了一种图像HDR转换方法、装置、图像处理芯片及存储装置,旨在低复杂度算法的情况下得到较好的高动态效果,从而解决现有技术的无法兼顾算法复杂度与高动态效果的技术问题。
在本发明实施例中,提供了一种图像HDR转换方法,其包括:
图像帧分块计算步骤、将图像帧等分为多个矩形块;
色调压缩曲线求解步骤、计算出每个矩形块中的色调压缩曲线;
像素值变换步骤、根据如下公式将压缩后的图像的像素值进行HDR变换,
s'=(1-y)((1-x)Ga(s)+xGb(s))+y((1-x)Gc(s)+xGd(s)),
x=Xs-Xa,y=Yb-Ys,
其中,s为所述压缩后的图像中的点S的像素值,s’为HDR变换后的像素值,Ga、Gb、Gc、Gd分别为A、B、C、D四个点的色调映射曲线,A、B、C、D四个点分别为相邻四个矩形块的中心点,S在A、B、C、D四个点连接形成的矩形框内,且A、B、C、D分别为所述矩形框的左上角、右上角、左下角和右下角,Xs为点S的横坐标,Ys为点S的纵坐标,Xa为点A的横坐标,Yb为点B的纵坐标。
在本发明实施例中,所述色调压缩曲线求解步骤进一步包括S型曲线方程映射步骤和色调压缩曲线调整步骤,
所述S型曲线方程映射步骤中,采用如下公式对像素的亮度值进行变换:
其中,Lw为像素的亮度值,Lavg为矩形块中每个像素亮度值的自然对数的平均值,Lwa=Lw/Lavg,Lwa_max=Lw/Lavg,Lw_max为矩形块中的最大亮度值,Ld为映射后的亮度值,
所述S型曲线方程映射步骤中,采用如下公式对像素的亮度值进行调整:
Lavg_final(m,n)=(Lavg(m,n)-LavgImg)*rate+Lavg(m,n),
其中,Lavg_final(m,n)为变换后的得到的(m,n)点的对数亮度,Lavg(m,n)为(m,n)点的对数亮度,LavgImg为矩形块中的对数亮度均值,rate为人工配置的比例值。
在本发明实施例中,还提供了一种图像HDR转换装置,其包括:
图像分块单元,用于将图像帧等分为多个矩形块;
色调压缩曲线求解单元,用于计算出每个矩形块中的色调压缩曲线;
像素变换单元,用于对所述图像帧中的各个像素值进行变换,变换公式如下:
s'=(1-y)((1-x)Ga(s)+xGb(s))+y((1-x)Gc(s)+xGd(s)),
x=Xs-Xa,y=Yb-Ys,
其中,s为所述图像中的点S的像素值,s’为HDR变换后的像素值,Ga、Gb、Gc、Gd分别为A、B、C、D四个点的映射曲线,A、B、C、D四个点分别为相邻四个矩形块的中心点,S在A、B、C、D四个点连接形成的矩形框内,且A、B、C、D分别为所述矩形框的左上角、右上角、左下角和右下角,Xs为点S的横坐标,Ys为点S的纵坐标,Xa为点A的横坐标,Yb为点B的纵坐标。
在本发明实施例中,所述色调压缩曲线求解单元包括S型曲线方程映射模块和色调压缩曲线调整模块,
所述S型曲线方程映射模块,采用如下公式对像素的亮度值进行变换:
其中,Lw为像素的亮度值,Lavg为矩形块中每个像素亮度值的自然对数的平均值,Lwa=Lw/Lavg,Lwa_max=Lw/Lavg,Lw_max为矩形块中的最大亮度值,Ld为映射后的亮度值,
所述色调压缩曲线调整模块,采用如下公式对像素的亮度值进行调整:
Lavg_final(m,n)=(Lavg(m,n)-LavgImg)*rate+Lavg(m,n),
其中,Lavg_final(m,n)为变换后的得到的(m,n)点的对数亮度,Lavg(m,n)为(m,n)点的对数亮度,LavgImg为矩形块中的对数亮度均值,rate为人工配置的比例值。
在本发明实施例中,还提供了一种图像HDR转换方法,其包括:
图像帧分块计算步骤、将图像帧等分为多个矩形块,并计算各个矩形块的对数亮度均值以及整帧的对数亮度均值;
色调压缩曲线选择步骤、根据上一个图像帧的各个矩形块的对数亮度均值从预先设置好的多个色调压缩曲线中选择当前图像帧的各个相应矩形块的色调压缩曲线;
像素值变换步骤、根据如下公式将压缩后的图像的像素值进行HDR变换,
s'=(1-y)((1-x)Ga(s)+xGb(s))+y((1-x)Gc(s)+xGd(s)),
x=Xs-Xa,y=Yb-Ys,
其中,s为所述压缩后的图像中的点S的像素值,s’为HDR变换后的像素值,Ga、Gb、Gc、Gd分别为A、B、C、D四个点的色调映射曲线,A、B、C、D四个点分别为相邻四个矩形块的中心点,S在A、B、C、D四个点连接形成的矩形框内,且A、B、C、D分别为所述矩形框的左上角、右上角、左下角和右下角,Xs为点S的横坐标,Ys为点S的纵坐标,Xa为点A的横坐标,Yb为点B的纵坐标。
在本发明实施例中,还提供了一种图像HDR转换装置,其包括:
图像帧分块计算单元,用于将图像帧等分为多个矩形块,并计算各个矩形块的对数亮度均值以及整帧的对数亮度均值;
存储单元,用于存储不同平均亮度的矩形块的色调压缩曲线;
索引单元,用于存放各个矩形块的索引值,所述索引值根据前一帧的各个矩形块的对数亮度均值和整帧的对数亮度均值得到;
选择单元,用于根据所述索引单元中的各个矩形块的索引值来为当前的各个矩形块从所述存储单元中选择相应的色调压缩曲线;
像素变换单元,用于对所述图像帧中的各个像素值进行变换,变换公式如下:
s'=(1-y)((1-x)Ga(s)+xGb(s))+y((1-x)Gc(s)+xGd(s)),
x=Xs-Xa,y=Yb-Ys,
其中,s为所述图像中的点S的像素值,s’为HDR变换后的像素值,Ga、Gb、Gc、Gd分别为A、B、C、D四个点的映射曲线,A、B、C、D四个点分别为相邻四个矩形块的中心点,S在A、B、C、D四个点连接形成的矩形框内,且A、B、C、D分别为所述矩形框的左上角、右上角、左下角和右下角,Xs为点S的横坐标,Ys为点S的纵坐标,Xa为点A的横坐标,Yb为点B的纵坐标。
在本发明实施例中,还提供了一种图像处理芯片,所述图像处理芯片包括至少一处理器、存储器及接口,所述至少一处理器、存储器及接口均通过总线连接;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述图像处理芯片执行上述的图像HDR转换方法。
在本发明实施例中,还提供了一种存储装置,所述存储装置上存储有指令,所述指令被处理器执行时实现上述的图像HDR转换方法。
与现有技术相比较,采用上述图像HDR转换方法、装置、图像处理芯片及存储装置,对图像进行HDR变换时,使用相邻区域的图像块的色调压缩曲线进行变换得到当前块的色调压缩曲线,使得当前块和相邻块的图像分布有充足的关联性,图像色彩变化更自然,效果好;另外,还可采用设定好的色调压缩曲线,根据矩形块的亮度对数均值来选择不同的色调压缩曲线,运算速度快;并且,还可以采用上一个图像帧的各个矩形块的对数亮度均值从预先设置好的多个色调压缩曲线中选择当前图像帧的各个相应矩形块的色调压缩曲线,无需计算出当前图像帧的各个相应矩形块的的对数亮度均值即可获得相应的色调压缩曲线,节省计算的时间,更加快了运算速度。
附图说明
图1是本发明实施例一提供的图像HDR转换方法的实现流程图;
图2是本发明提供的图像插值方法中的图像坐标示意图;
图3是本发明实施例二提供的图像HDR转换装置的结构示意图;
图4是本发明实施例三提供的图像HDR转换方法的实现流程图;
图5是本发明实施例四提供的图像HDR转换装置的结构示意图;
图6是本发明实施例五提供的图像处理芯片的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的实现进行详细描述:
实施例一
图1示出了本发明实施例一提供的图像HDR转换方法的实现流程,所述方法的具体步骤包括步骤S11至步骤S13,下面分别进行详细说明。
步骤S11、图像帧分块计算步骤:将图像帧等分为多个矩形块。
需要说明的是,进行图像HDR转换时,需要将图像帧等分为多个矩形块并根据各矩形块的亮度特征来计算出适合所述矩形块的色调压缩曲线。在将图像帧等分为多个矩形块时,应根据所述图像帧的长宽比将其等分为多个与所述所述图像帧的长宽比相同的矩形块,以便于所述图像帧能完全被分割成整数个矩形块。
步骤S12、色调压缩曲线求解步骤、计算出每个矩形块中的色调压缩曲线。
需要说明的是,所述色调压缩曲线求解步骤中,所述色调压缩曲线通过S型曲线方程映射步骤和色调压缩曲线调整步骤得到。
所述S型曲线方程映射步骤中,采用如下公式对像素的亮度值进行变换:
其中,Lw为像素的亮度值,Lavg为矩形块中每个像素亮度值的自然对数的平均值,Lwa=Lw/Lavg,Lwa_max=Lw/Lavg,Lw_max为矩形块中的最大亮度值,Ld为映射后的亮度值。
所述色调压缩曲线调整步骤中,采用如下公式对像素的亮度值进行调整:
Lavg_final(m,n)=(Lavg(m,n)-LavgImg)*rate+Lavg(m,n),
其中,Lavg_final(m,n)为变换后的得到的(m,n)点的对数亮度,Lavg(m,n)为(m,n)点的对数亮度,LavgImg为矩形块中的对数亮度均值,rate为人工配置的比例值。
步骤S13、像素值变换步骤:根据如下公式将压缩后的图像的像素值进行HDR变换,
s'=(1-y)((1-x)Ga(s)+xGb(s))+y((1-x)Gc(s)+xGd(s)),
x=Xs-Xa,y=Yb-Ys,
如图2所示,s为所述压缩后的图像中的点S的像素值,s’为HDR变换后的像素值,Ga、Gb、Gc、Gd分别为A、B、C、D四个点的色调映射曲线,A、B、C、D四个点分别为相邻四个矩形块的中心点,S在A、B、C、D四个点连接形成的矩形框内,且A、B、C、D分别为所述矩形框的左上角、右上角、左下角和右下角,Xs为点S的横坐标,Ys为点S的纵坐标,Xa为点A的横坐标,Yb为点B的纵坐标。
在步骤S3中,进行像素值HDR变换时,使用相邻区域的图像块的色调压缩曲线进行变换得到当前块的色调压缩曲线,使得当前块和相邻块的图像分布有充足的关联性,图像色彩变化更自然,效果好。
实施例二
图3示出了本发明实施例二提供的图像HDR转换装置包括图像分块单元21、色调压缩曲线求解单元22和像素变换单元23。
所述图像分块单元21,用于将图像帧等分为多个矩形块。
色调压缩曲线求解单元22,用于计算出每个矩形块中的色调压缩曲线。所述色调压缩曲线求解单元22包括S型曲线方程映射模块(图未示)和色调压缩曲线调整模块(图未示)。
所述S型曲线方程映射模块,采用如下公式对像素的亮度值进行变换:
其中,Lw为像素的亮度值,Lavg为矩形块中每个像素亮度值的自然对数的平均值,Lwa=Lw/Lavg,Lwa_max=Lw/Lavg,Lw_max为矩形块中的最大亮度值,Ld为映射后的亮度值,
所述色调压缩曲线调整模块,采用如下公式对像素的亮度值进行调整:
Lavg_final(m,n)=(Lavg(m,n)-LavgImg)*rate+Lavg(m,n),
其中,Lavg_final(m,n)为变换后的得到的(m,n)点的对数亮度,Lavg(m,n)为(m,n)点的对数亮度,LavgImg为矩形块中的对数亮度均值,rate为人工配置的比例值。
像素变换单元23,用于对所述图像帧中的各个像素值进行变换,变换公式如下:
s'=(1-y)((1-x)Ga(s)+xGb(s))+y((1-x)Gc(s)+xGd(s)),
x=Xs-Xa,y=Yb-Ys,
其中,s为所述图像中的点S的像素值,s’为HDR变换后的像素值,Ga、Gb、Gc、Gd分别为A、B、C、D四个点的映射曲线,A、B、C、D四个点分别为相邻四个矩形块的中心点,S在A、B、C、D四个点连接形成的矩形框内,且A、B、C、D分别为所述矩形框的左上角、右上角、左下角和右下角,Xs为点S的横坐标,Ys为点S的纵坐标,Xa为点A的横坐标,Yb为点B的纵坐标。
需要说明的是,上述图像插值装置中,各模块/单元之间的信息交互、执行过程等内容,由于与实施例一的图像HDR变换方法基于同一构思,其带来的技术效果与实施例一相同,具体内容可参见实施例一中的相关叙述,此处不再赘述。
实施例三
如图4所示,本实施例一种图像HDR转换方法,其包括:
步骤S31:图像帧分块计算步骤、将图像帧等分为多个矩形块,并计算各个矩形块的对数亮度均值以及整帧的对数亮度均值;
步骤S32:色调压缩曲线选择步骤、根据上一个图像帧的各个矩形块的对数亮度均值从预先设置好的多个色调压缩曲线中选择当前图像帧的各个相应矩形块的色调压缩曲线;
步骤S33:像素值变换步骤、根据如下公式将压缩后的图像的像素值进行HDR变换,
s'=(1-y)((1-x)Ga(s)+xGb(s))+y((1-x)Gc(s)+xGd(s)),
x=Xs-Xa,y=Yb-Ys,
其中,s为所述压缩后的图像中的点S的像素值,s’为HDR变换后的像素值,Ga、Gb、Gc、Gd分别为A、B、C、D四个点的色调映射曲线,A、B、C、D四个点分别为相邻四个矩形块的中心点,S在A、B、C、D四个点连接形成的矩形框内,且A、B、C、D分别为所述矩形框的左上角、右上角、左下角和右下角,Xs为点S的横坐标,Ys为点S的纵坐标,Xa为点A的横坐标,Yb为点B的纵坐标。
与实施例一不同的是,在步骤S32中,所述色调压缩曲线是通过预先计算设置好的,根据各个矩形框中不同的亮度对数均值来选择不同的色调压缩曲线来实现步骤S3中的像素值变换,这样带来的好处是不用实时来计算各矩形框的色调压缩曲线,运算速度快;另外,与实施例一不同的是,采用上一个图像帧的各个矩形块的对数亮度均值从预先设置好的多个色调压缩曲线中选择当前图像帧的各个相应矩形块的色调压缩曲线,这样带来的好处就是无需计算出当前图像帧的各个相应矩形块的的对数亮度均值即可获得相应的色调压缩曲线,节省计算的时间,更加快了运算速度。
实施例四
如图5所示,本实施例提供一种图像HDR转换装置,其包括:
图像帧分块计算单元41,用于将图像帧等分为多个矩形块,并计算各个矩形块的对数亮度均值以及整帧的对数亮度均值;
存储单元42,用于存储不同平均亮度的矩形块的色调压缩曲线;
索引单元43,用于存放各个矩形块的索引值,所述索引值根据前一帧的各个矩形块的对数亮度均值和整帧的对数亮度均值得到;
选择单元44,用于根据所述索引单元中的各个矩形块的索引值来为当前的各个矩形块从所述存储单元中选择相应的色调压缩曲线;
像素变换单元45,用于对所述图像帧中的各个像素值进行变换,变换公式如下:
s'=(1-y)((1-x)Ga(s)+xGb(s))+y((1-x)Gc(s)+xGd(s)),
x=Xs-Xa,y=Yb-Ys,
其中,s为所述图像中的点S的像素值,s’为HDR变换后的像素值,Ga、Gb、Gc、Gd分别为A、B、C、D四个点的映射曲线,A、B、C、D四个点分别为相邻四个矩形块的中心点,S在A、B、C、D四个点连接形成的矩形框内,且A、B、C、D分别为所述矩形框的左上角、右上角、左下角和右下角,Xs为点S的横坐标,Ys为点S的纵坐标,Xa为点A的横坐标,Yb为点B的纵坐标。
实施例五
如图6所示,本发明实施例五中,提供一种图像处理芯片,其包括至少一处理器510、存储器520及接口530,所述至少一处理器510、存储器520及接口530均通过总线连接;
所述存储器520存储计算机执行指令;
所述至少一个处理器510执行所述存储器520存储的计算机执行指令,使得所述图像处理芯片执行实施例一或实施例三所述的图像HDR转换方法。
进一步地,本发明实施例还提供了一种存储装置,所述存储装置上存储有指令,所述指令被处理器执行时实现实施例一或实施例三所述的图像HDR转换方法的步骤。
综上所述,采用上述图像HDR转换方法、装置、图像处理芯片及存储装置,对图像进行HDR变换时,使用相邻区域的图像块的色调压缩曲线进行变换得到当前块的色调压缩曲线,使得当前块和相邻块的图像分布有充足的关联性,图像色彩变化更自然,效果好;另外,还可采用设定好的色调压缩曲线,根据矩形块的亮度对数均值来选择不同的色调压缩曲线,运算速度快;并且,还可以采用上一个图像帧的各个矩形块的对数亮度均值从预先设置好的多个色调压缩曲线中选择当前图像帧的各个相应矩形块的色调压缩曲线,无需计算出当前图像帧的各个相应矩形块的的对数亮度均值即可获得相应的色调压缩曲线,节省计算的时间,更加快了运算速度。
值得注意的是,本领域普通技术人员可以理解:实现上述方法实施例的步骤或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤,而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。