基于3D查找表的三维颜色自动调整方法与流程

文档序号:17542765发布日期:2019-04-29 14:53阅读:1099来源:国知局
基于3D查找表的三维颜色自动调整方法与流程

本发明涉及视频图像处理,尤其涉及一种基于3d查找表的三维颜色自动调整方法。



背景技术:

在如今生活当中,大到尺寸越来越大的液晶电视、计算机屏幕和投影机等大型显示设备,小到智能手机、掌上游戏和数字相机等小型显示设备,彩色显示器已经与人们的生活息息相关。以大型液晶电视为例,现今的液晶电视不仅可以显示彩色图像,还可以根据用户的喜好进行颜色的调整,提高用户的观看体验。

从黑白到彩色,从模拟信号到数字信号,视频领域的每一次变革都是对整个生态链进行全方位的技术升级。近年来,高动态范围受到业界广泛的关注,不同环节的厂商都在为布局下一代视频系统积极行动,而作为承载完整产业链条的视频信号标准也面临着进一步的升级换代。新一代视频信号ictcp突破现有信号格式在技术可靠性和准确性上逐渐遇到瓶颈,有望成为下一代视频信号标准。因此,在新一代视频信号ictcp背景下,如何进行颜色调整是个有意义且待解决的问题。



技术实现要素:

为了解决现有技术中的问题,本发明提供了一种基于3d查找表的三维颜色自动调整方法。

本发明提供了一种基于3d查找表的三维颜色自动调整方法,包括以下步骤:

s1、rgb色彩空间到ictcp色彩空间转换,将原始rgb色彩空间转换到ictcp色彩空间中;

s2、在ictcp色彩空间进行颜色调整,针对ictcp色彩空间下每一帧图像各像素点的像素值,根据3d查找表分别进行亮度和色彩的颜色调整。

作为本发明的进一步改进,在步骤s1中,亮度和色彩的具体调整值则根据3d查找表进行三线性插值得到。

作为本发明的进一步改进,步骤s1包括以下子步骤:

s11、开始;

s12、更新帧,读取当前帧数据,并进行数据预处理;

s13、更新像素点,读取当前帧当前像素值;

s14、将rgb像素转换成ictcp值。

作为本发明的进一步改进,步骤s2包括以下子步骤:

s21、根据3d查找表里的数据进行三线性插值运算,计算当前像素对应颜色调整值;

s22、根据当前像素ictcp值和计算的颜色调整值进行颜色调整,得到颜色调整后的像素值;

s23、判断当前帧是否有未处理的像素,如果有,则返回步骤s13,如果没有,则进入下一步骤;

s24、判断是否有未处理的帧,如果有,则返回步骤s12,如果没有,则结束。

作为本发明的进一步改进,3d查找表包括i查找表、ct查找表和cp查找表,所述i查找表、ct查找表、cp查找表均包括i维度、ct维度和cp维度。

本发明的有益效果是:通过上述方案,实现了ictcp视频信号格式的三维颜色自动调整。

附图说明

图1是本发明一种基于3d查找表的三维颜色自动调整方法的算法原理图。

图2是本发明一种基于3d查找表的三维颜色自动调整方法的3d查找表的示意图。

图3是本发明一种基于3d查找表的三维颜色自动调整方法的三线性插值的示意图。

图4是本发明一种基于3d查找表的三维颜色自动调整方法的流程图。

具体实施方式

下面结合附图说明及具体实施方式对本发明作进一步说明。

如图1至图4所示,一种基于3d查找表的三维颜色自动调整方法,首先将原始rgb色彩空间转换到ictcp色彩空间中,针对ictcp色彩空间下每一帧图像各像素点的像素值,根据3d查找表分别进行亮度和色彩的颜色调整。其中亮度和色彩的具体调整值则根据3d查找表进行三线性插值得到。

rgb空间到ictcp空间转换如下:

ictcp是一种新型视频信号格式,它将画面亮度信号与色彩信号分开,其中i代表经过编码后的亮度强度,即黑白信号;ct代表蓝黄色轴色度信号,cp代表红绿色轴色度信号,ctcp合并后构成完整色彩画面。

与传统的ycbcr相比,ictcp的色调偏移角度整体上小于ycbcr,同时在蓝色和肤色色调等重要区域有着优异表现。其次ictcp信号的色彩线性和色调一致性均优于ycbcr。

读取当前帧数据并进行数据预处理,将当前像素点的rgb像素值转换为ictcp值。从rgb空间到ictcp空间转换公式如下:

其中,y=x10000,m1=261016384m2=128×25234096,c1=34244096,c2=32×24134096,c3=32×23924096。

在ictcp空间进行颜色调整如下:

将ictcp颜色空间下的图像每个像素点的像素值(i,ct,cp)通过3d查找表的的方法进行一一映射到新的像素值(i’,ct’,cp’),该新像素值即颜色调整后的像素值。该3d查找表分别是i查找表、ct查找表和cp查找表。而每个查找表又分别有i、ct、和cp三个维度。这样就可以实现三维映射。以8bits数据为例,原始像素的子像素值i,ct,cp取值范围均为0~255,则每个像素点有256*256*256种可能情况,每种情况对应一个三维颜色调整值(δi,δct,δcp)。则8bits情况下的查找表大小为256*256*256*3。调整后的像素值为:

(i’,ct’,cp’)=(i,ct,cp)+(δi,δct,δcp)

所以理论而言只要查找表的刻度足够密集,数值的精度足够大,我们就可以将任意的原始颜色转换成任意的目标颜色。但是这种情况下的3d查找表会很大,耗费存储空间。所以这里利用三线性插值方法减少3d查找表的数据储存量。

3d查找表说明如下:

以8bits数据为例,对0~255进行划分,选取0、16、32、64、128、160、192、224、255九个典型灰度级。得到的大小为9×9×9×3的3d查找表如图2所示。该3d查找表有3个维度,9×9×9个采样点,为了书写方便,这里将九个典型灰度级0、16、32、64、128、160、192、224、255分别对应为0~8的整数,三个维度分别对应为i,j,k。则每个典型灰度点储存对应颜色调整值(δii,j,k,δcti,j,k,δcpi,j,k)。

三线性插值计算目标颜色调整值如下:

以8bits数据为例,若原始子像素值刚好均为选取的典型灰度级0、16、32、64、128、160、192、224、255,则目标颜色调整值(δi,δct,δcp)即为3d查找表对应颜色调整值(δii,j,k,δcti,j,k,δcpi,j,k)。

若原始子像素值不为选取的典型灰度级,则采用三线性插值法计算目标颜色调整值(δi,δct,δcp)。具体做法如图1所示:

假设原始像素值为(i,ct,cp),则i=i/32,j=ct/32,k=cp/32。其中“/”表示求商运算。由此得到8个点p0,0,0,p0,0,1,p0,1,0,p0,1,1,p1,0,0,p1,0,1,p1,1,0,p1,1,1定义为:

p0,0,0=(δii,j,k,δcti,j,k,δcpi,j,k),p0,0,1=(δii,j,k+1,δcti,j,k+1,δcpi,j,k+1)

p0,1,0=(δii,j+1,k,δcti,j+1,k,δcpi,j+1,k),p0,1,1=(δii,j+1,k+1,δcti,j+1,k+1,δcpi,j+1,k+1)

p1,0,0=(δii+1,j,k,δcti+1,j,k,δcpi,j,k),p1,0,1=(δii+1,j,k+1,δcti,j,k+1,δcpi,j,k+1)

p1,1,0=(δii+1,j+1,k,δcti,j+1,k,δcpi,j+1,k),p1,1,1=(δii=1,j+1,k+1,δcti,j+1,k+1,δcpi,j+1,k+1)

记p0,0,p0,1,p1,0,p1,1的坐标为:

p0,0=(δi0,0,δct0,0,δcp0,0),p0,1=(δi0,1,δct0,1,δcp0,1),

p1,0=(δy1,0,δh1,0,δs1,0),p1,1=(δy1,1,δh1,1,δs1,1),

则可由以下公式计算各坐标具体值,其中mod表示求余运算。

记p0,p1的坐标分别为(δi0,δct0,δcp0),(δi1,δct1,δcp1),则可由下式计算得到各坐标具体值

由p0,p1点坐标可以计算出目标颜色调整值(δi,δct,δcp)

调整后的像素值为:

(i’,ct’,cp’)=(i,ct,cp)+(δi,δct,δcp)

重复上述操作直至所有帧的所有像素处理完毕。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1