视频通信终端校正视频流伽玛特性的方法及设备转让专利

申请号 : CN200610058275.6

文献号 : CN101031091B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 罗忠

申请人 : 华为技术有限公司

摘要 :

本发明涉及视频通信技术,特别涉及视频通信终端在本地校正视频流伽玛特性的方法及设备,以解决现有技术中无法在通信终端侧对视频流的伽玛特性进行本地校正的问题。所述方法包括输出本地视频流时,将本地视频流的伽玛值校正为第一目标伽玛值后输出;和/或接收伽玛值为所述第一目标伽玛值的入向视频流时,将入向视频流的伽玛值校正为本地显示设备伽玛值的倒数后传输给本地视频显示设备;和/或显示本地视频流时,将本地视频流的伽玛值校正为本地视频显示设备伽玛值的倒数后传输给本地视频显示设备。所述设备包括保存视频输入设备和/或视频显示设备的伽玛参数信息的模块和校正模块。应用本发明所述方法可以方便实现伽玛特性的本地校正。

权利要求 :

1.一种视频通信终端校正视频流伽玛特性的方法,其特征在于,包括如下步骤:A、输出本地视频流时,将本地视频流的伽玛值校正为第一目标伽玛值后输出;

B、接收伽玛值为所述第一目标伽玛值的入向视频流时,先判断本地视频显示设备的伽玛值是否为第二目标伽玛值,该第二目标伽玛值与第一目标伽玛值的乘积为1或与1的差值在设定范围内,如果是则将入向视频流直接传输给本地视频显示设备,否则将入向视频流的伽玛值校正为本地显示设备伽玛值的倒数后传输给本地视频显示设备。

2.如权利要求1所述的方法,其特征在于,还包括如下步骤:

C、显示本地视频流时,将本地视频流的伽玛值校正为本地视频显示设备伽玛值的倒数后传输给本地视频显示设备。

3.如权利要求1所述的方法,其特征在于,所述步骤A中还包括:先判断本地视频输入设备的伽玛值是否为第一目标伽玛值,如果是则直接输出本地视频流,否则进行校正后再输出。

4.如权利要求2所述的方法,其特征在于,所述步骤C中还包括:先判断本地视频输入设备和本地视频显示设备的伽玛值乘积是否为1或该乘积与1的差值在设定范围内,如果是则将本地视频流直接传输给本地视频显示设备;否则进行校正后再传输。

5.如权利要求1或3所述的方法,其特征在于,当对输出的本地视频流进行校正时,所述步骤A中,用于校正本地视频流的第一校正伽玛值为所述第一目标伽玛值除以本地视频输入设备的伽玛值的商。

6.如权利要求5所述的方法,其特征在于,当对入向视频流进行校正时,所述步骤B中,用于校正入向视频流的第二校正伽玛值为所述第二目标伽玛值除以本地视频显示设备伽玛值的商。

7.如权利要求6所述的方法,其特征在于,当对显示的本地视频流进行校正时,所述步骤C中,对于本地视频流,先利用所述第一校正伽玛值校正,然后再利用所述第二校正伽玛值校正后传输给本地视频显示设备。

8.如权利要求2或4所述的方法,其特征在于,当对显示的本地视频流进行校正时,所述步骤C中,用于校正本地视频流的第三校正伽玛值为本地视频输入设备伽玛值和本地视频显示设备伽玛值乘积的倒数。

9.如权利要求1或6所述的方法,其特征在于,所述第一目标伽玛值为0.45;所述第二目标伽玛值为2.2。

10.如权利要求4所述的方法,其特征在于,所述本地视频输入设备和/或视频显示设备伽玛值根据设备的出厂数据确定,或者根据实际检测结果确定。

11.一种视频伽玛特性校正设备,包括:

伽玛信息保存模块,用于保存视频输入设备和/或视频显示设备的伽玛参数信息;

校正模块,连接所述伽玛参数信息保存模块,用于根据所述伽玛参数信息和/或目标伽玛参数校正视频流的伽玛值;

伽玛信息设置模块,连接所述伽玛参数信息保存模块,用于将外部输入视频输入设备和/或视频显示设备的初始伽玛参数信息保存到该伽玛参数信息保存模块;

控制协调模块,用于控制协调各模块的工作状态。

12.如权利要求11所述的校正设备,其特征在于,所述校正模块进一步包括:出向视频流校正子模块,用于校正视频输入设备采集的出向视频流的伽玛值并输出;

入向视频流校正子模块,用于校正来自外部的入向视频流的伽玛值并输出给视频显示设备在本地显示;以及本地显示视频流校正子模块,用于校正本地视频流的伽玛值并输出给视频显示设备在本地显示。

13.如权利要求11所述的校正设备,其特征在于,所述校正模块进一步包括:出向视频流校正子模块,用于校正视频输入设备采集的出向视频流的伽玛值并输出;

入向视频流校正子模块,用于校正来自外部的入向视频流的伽玛值并输出给视频显示设备在本地显示;或者对出向视频流校正子模块校正后的视频流进行再次校正后输出给视频显示设备在本地显示。

14.如权利要求12或13所述的校正设备,其特征在于,所述校正子模块进一步包括:判断单元和校正执行单元,判断单元根据视频输入设备或视频显示设备的伽玛参数信息判断是否需要校正接收的视频流,如果是则输入校正执行单元进行校正后输出,否则直接输出。

15.如权利要求11所述的校正设备,其特征在于,所述校正设备还包括:伽玛参数测量模块,连接所述伽玛参数信息保存模块,用于检测视频输入设备和/或视频显示设备的伽玛参数并保存到该伽玛参数信息保存模块。

16.如权利要求11所述的校正设备,其特征在于,所述伽玛参数测量模块进一步包括:视频输入设备伽玛参数测量子模块和视频显示设备伽玛参数测量子模块。

说明书 :

技术领域

本发明涉及视频通信技术,特别涉及视频通信终端在本地校正视频流伽玛特性的方法及设备。

背景技术

视频通信目前正在随着宽带网络的迅速发展而得到日益广泛的应用,在国内和国际上,视频会议和可视电话业务正在成为NGN(Next GenerationNetwork,下一代网络)上的基本业务。各国的电信运营商也非常重视这个市场机会,可以预期在未来几年中,视频通信业务将成为运营商重要的业务增长点。发展此类业务的一个关键问题是提高端到端(End-to-end)的用户体验(UserExperience,或者叫做Quality of Experience)。用户体验中除了网络的QoS(丢包,延迟,抖动,R因子等)参数外,对于视频,因为各个环节引起的Gamma非线性问题,造成对于亮度信号的畸变(Distortion),也是影响最终用户体验的重要因素。但是目前,提高端到端用户体验的方法和技术主要集中在保证网络QoS和视频压缩编码相关的前后处理(Pre-processing,Post-processing)方面,而对于Gamma特性引起的亮度畸变问题缺乏关注和系统的解决方法,但是该问题的严重性已经引起了一些国际大电信运营商的关注。法国电信(FranceTelecom)在国际电信联盟ITU-T近期就提出了要在视频通信中考虑Gamma特性对于通信用户体验的影响,并建议解决此类问题。
视频通信过程中,在一个视频通信终端(以下简称终端)中,从需要被传送的场景(人物、背景、文件等)的光信号进入到摄像机/摄像头,经过A/D转换成数字图像信号,再经过压缩编码,传送出去到达对方终端经过去压缩(Decompression)解码还原为数字图像信号,然后再在显示设备上显示出来,最终又变成光信号被人眼感知。这个过程中图像亮度信号(Luminance,这里是一种广义的亮度信号,即一开始的光信号,到电信号,再到数字化的图像亮度/灰度信号,每个阶段的信号都含有亮度信号的信息,因此广义来说,亮度信号经过了多个环节)经过了多个环节。
如图1所示,图1为环节Gamma特性的模型示意图,Gamma特性就是一个环节的亮度信号输入-输出关系不是线性的,而是一种非线性。Gamma非线性环节畸变的影响如图2所示,上面的一行灰度方块亮度是线性递增的,从0.1到1.0,下面一行是经过Gamma非线性环节畸变的,亮度是按照幂函数规律递增的。
在实际中,Gamma非线性是由不同原因引起的,例如:CRT(Cathode RayTube,阴极射线管)显示器的Gamma特性在理想状况下满足公式1:
Lout=Lin2.2                (1)
而对应的摄像机/摄像头的理想Gamma满足公式2:
Lout=Lin0.45               (2)
从Gamma问题的起源来看,起源于CRT显示器,因为其Gamma值是2.2,为了补偿掉这个非线性,在摄像机中人为引入了Gamma值0.45。如果在系统中只存在两个Gamma环节:CRT显示器和摄像机,那么可以实现完全的Gamma校正。需要说明的是,这里的输入和输出亮度信号都是在各自的坐标空间中进行了规一化(Normalized),即0≤Lout≤1,0≤Lin≤1。而其它类型的显示器,比如液晶显示器的Gamma函数形式或者不同、或者虽然形式上也是幂函数但是参数不同。
如图3所示,图3为多个环节级联(Cascading或者叫做串联)起来环节Gamma特性的模型示意图,总的Gamma特性等于各个环节Gamma函数的复合(Composition),满足公式3:
GCT(.)=G(1)(.)οG(2)(.)οG(3)(.)........G(n-1)(.)οG(n)(.)
lout=GCT(lin)=G(n)(G(n-1)(G(n-2)(.......G(2)(G(1)(lin)))))(3)
“ο”表示函数的复合运算。CT表示Cascaded Total,即级联总Gamma的意思。
思。
理想的情况是输入光信号从进入摄像头到最终在显示屏上显示输出光信号,输入和输出亮度信号之间存在线性关系,即:Lout=Lin,这样人看到的景物才和原来的完全一样,用户体验最好。
要获得线性关系,必须对于具有非线性Gamma特性环节进行Gamma校正(Gamma Correction)。如图4所示,对于一个环节来说,其Gamma特性给定,那么可以用另外一个校正环节和它进行级联,来使得级联后总的Gamma特性称为真正的线性关系,从而达到了补偿掉给定环节非线性的目的,校正环节的模型为Gamma特性等效模型的逆模型,如果等效模型可以用函数关系式表示,则逆模型的函数关系式为其反函数。显然,Gg(.)和Gc(.)互为反函数。一般情况下,对于一个函数,要获得其反函数不一定有解(或者即使解存在,也无法用计算的方法获得)。
实际应用中更多的情况如图5所示,校正环节需要插入到前后两个给定环节之间,此时Gc(.)情况更加复杂,Gc(.)和Ga(.)或者Gp(.)不再是简单的反函数关系。
视频通信中,终端内部存在多个环节,每个环节都有其Gamma特性,它们之间级联起来,视频通信中,视频在一个终端上涉及的主要Gamma环节包括:
1、摄像机/摄像头Gamma,表示成GCam(.);
一般的摄像机都有Gamma特性,除了成像器件比如CCD自身的非线性,摄像机引入了人为的非线性,其目的是让摄像机的Gamma特性刚好补偿掉显示器的Gamma特性,使得总的Gamma特性是线性的。如果显示器理想的Gamma是:Lout=Lin2.2;那么摄像机的理想Gamma是:Lout=Lin0.45。
因此理论上,摄像机的Gamma特性是由显示器的Gamma特性决定的。但是因为终端系统日益复杂,摄像机和显示器之间存在多个环节,其数目不定,各自的Gamma特性也未知,这样即使摄像机和显示器的Gamma正好匹配能够相互补偿,但因为中间环节存在,这种补偿一般情况下是无效的。并且显示器类型众多,例如:CRT和液晶、等离子等显示器,其Gamma特性相差很多,而廉价的摄像头的Gamma特性往往严重偏离其理想Gamma。
2、显示查表Gamma,表示成GLUT(.);
有些显示设备,为了补偿显示器的非线性,人为引入了Gamma,该Gamma表现为一个LUT(Look-Up Table),从帧存中读出的亮度数据要经过LUT转换,才去驱动显示器。
3、显示器Gamma,表示成GDisp(.)。
现有技术Gamma校正实现方法主要有以下两种:
现有技术一:完全依赖摄像机/摄像头或者显示LUT的Gamma特性来校正显示器Gamma特性,假设理想状态下:
GCam(.):Lout=Lin0.45;GLUT(.):Lout=Lin0.45;GDisp(.):Lout=Lin2.2;
则:GCamοGDisp(.)成为:Lout=Lin,形成标准的线性关系;GLUTοGDisp(.)成为:Lout=Lin,形成标准的线性关系。
但是,上述技术存在如下不足:
理想状态是很难获得的,不能保证摄像机/摄像头、LUT的Gamma刚好和显示器Gamma完全匹配。并且显示器类型很多,而廉价的摄像头的Gamma肯定是非理想的;
对于两方视频通信的应用两种典型情况:A.手机视频通信,B.基于PC或者可视电话终端的通信,这些问题是很严重的。在以上两种情况中,终端的品牌型号众多,终端的情况千差万别,很可能通信双方中两边的视频输入设备,显示屏完全不一样。一边用专业的Sony/Panasonic摄像机,一边用价值几十元的廉价摄像头;一边是普通的CRT显示器,一边是液晶甚至等离子显示器。巨大的反差使得在本地已经不能很好得到Gamma校正的视频/图像发送到对方终端,相差就更大了。
现有技术二:
在某些环节之间,比如在摄像机环节之后、或者显示帧存环节之前,插入一个Gamma校正环节进行Gamma校正。另外,可能在显示器的Gamma特性模型方面,采用了更加精确的模型,比如公式4:

对应地,摄像机的Gamma被认为和显示器Gamma完全匹配,比如公式5:

因为无法精确匹配,所以该方法仍然不能避免存在过校正或者校正不足的问题。
综上所述,目前还没有一般性的方法来实现从光信号进入摄像机/摄像头到显示器显示图像的Gamma校正方法。因此,因为Gamma问题引起的视频质量下降还没有一般性的解决方法。
本发明提供一种用于视频通信终端校正视频流伽玛特性的方法及设备,以解决现有技术中无法在通信终端侧对视频流的伽玛特性进行本地校正的问题。
一种视频通信终端校正视频流伽玛特性的方法,包括如下步骤:
A、输出本地视频流时,将本地视频流的伽玛值校正为第一目标伽玛值后输出;
B、接收伽玛值为所述第一目标伽玛值的入向视频流时,先判断本地视频显示设备的伽玛值是否为第二目标伽玛值,该第二目标伽玛值与第一目标伽玛值的乘积为1或与1的差值在设定范围内,如果是则将入向视频流直接传输给本地视频显示设备,否则将入向视频流的伽玛值校正为本地显示设备伽玛值的倒数后传输给本地视频显示设备。
进一步还包括:
C、显示本地视频流时,将本地视频流的伽玛值校正为本地视频显示设备伽玛值的倒数后传输给本地视频显示设备。
根据本发明所述方法,
所述步骤A中还包括:先判断本地视频输入设备的伽玛值是否为第一目标伽玛值,如果是则直接输出本地视频流,否则进行校正后再输出。
所述步骤C中还包括:先判断本地视频输入设备和本地视频显示设备的伽玛值乘积是否为1,如果是则将本地视频流直接传输给本地视频显示设备;否则进行校正后再传输。
其中,当对输出的本地视频流进行校正时,所述步骤A中,用于校正本地视频流的第一校正伽玛值为所述第一伽玛值除以本地视频输入设备的伽玛值;
当对入向视频流进行校正时,所述步骤B中,用于校正入向视频流的第二校正伽玛值为所述第二目标伽玛值除以本地视频显示设备伽玛值的商。
当对显示的本地视频流进行校正时,所述步骤C中,依次利用所述第一校正伽玛值和所述第二校正伽玛值分级校正本地视频流的伽玛值后传输给本地视频显示设备。或者,当对显示的本地视频流进行校正时,所述步骤C中,用于校正本地视频流的第三校正伽玛值为本地视频输入设备伽玛值和本地视频显示设备伽玛值乘积的倒数。
所述的方法中,所述第一目标伽玛值为0.45;所述第二目标伽玛值为2.2。
所述本地视频输入设备和/或视频显示设备伽玛值根据设备的出厂数据确定,或者根据实际检测结果确定。
基于同一技术构思的一种视频伽玛特性校正设备,包括:
伽玛信息保存模块,用于保存视频输入设备和/或视频显示设备的伽玛参数信息;
校正模块,连接所述伽玛参数信息保存模块,用于根据所述伽玛参数信息和/或目标伽玛参数校正视频流的伽玛值;
伽玛信息设置模块,连接所述伽玛参数信息保存模块,用于将外部输入视频输入设备和/或视频显示设备的初始伽玛参数信息保存到该伽玛参数信息保存模块;
控制协调模块,用于控制协调各模块的工作状态。
所述校正模块进一步包括:
出向视频流校正子模块,用于校正视频输入设备采集的出向视频流的伽玛值并输出;
入向视频流校正子模块,用于校正来自外部的入向视频流的伽玛值并输出给视频显示设备在本地显示;以及
本地显示视频流校正子模块,用于校正本地视频流的伽玛值并输出给视频显示设备在本地显示。
所述校正模块进一步包括:
出向视频流校正子模块,用于校正视频输入设备采集的出向视频流的伽玛值并输出;
入向视频流校正子模块,用于校正来自外部的入向视频流的伽玛值并输出给视频显示设备在本地显示;或者对出向视频流校正子模块校正后的视频流进行再次校正后输出给视频显示设备在本地显示。
所述校正子模块进一步包括:判断单元和校正执行单元,判断单元根据视频输入设备和/或视频显示设备的伽玛参数信息判断是否需要校正接收的视频流,如果是则输入校正执行子模块进行校正后输出,否则直接输出。
所述校正设备还包括:
伽玛参数测量模块,连接所述伽玛参数信息保存模块,用于检测视频输入设备和/或视频显示设备的伽玛参数并保存到该伽玛参数信息保存模块。
所述伽玛参数测量模块进一步包括:视频输入设备伽玛参数测量子模块和视频显示设备伽玛参数测量子模块。
本发明的有益效果如下:
本发明提供了一种通用的视频终端校正视频码流伽玛特性的方法,可以实现本地视频显示视频流的完全校正,并且当通信双方的发送端根据本发明所述方法将出向视频流的伽玛值校正为设定目标值时,接收端可以实现对入向视频流的完全校正,不需要交互双方的伽玛特性信息,减少了视频通信中的数据传输量,提高了视频通信的质量和用户体验;
本发明还提供了一种用于视频通信终端的校正设备,可以根据本发明所述校正方法实现本地视频显示视频流、出向视频流和入向视频流伽玛特性校正。

附图说明

图1为环节Gamma特性的一般模型;
图2为环节Gamma特性引起的亮度信号畸变的示意图;
图3为多环节级联Gamma特性的一般模型;
图4为校正单个环节的Gamma特性示意图;
图5为校正多个给定环节的Gamma特性示意图;
图6为本发明所述方法的校正原理示意图;
图7为本发明实施例二所述校正设备结构示意图;
图8为本发明实施例三所述校正设备结构示意图;
图9为校正子模块的一种结构示意图。

具体实施方式

因为多方视频通信是以两方视频通信为基础的,本质上,一个N方通信可以分解成最多N(N-1)/2个两方通信。在本地Gamma校正问题上,如果每个终端都完成了本终端输出视频码流的Gamma校正,则在本质上,两方通信和多方通信下的情况是完全一样的。下面讨论为了描述的方便,都以两方通信作为问题的背景。
参阅图6所示,以终端A和终端B的视频通信为例,终端分别包括视频输入设备、视频显示设备和视频编码解码器,以及连接通信网络的网络接口,视频流涉及的Gamma环节主要包括:
1、视频输入设备Gamma,即摄像机/摄像头Gamma,表示成GCam(.);
一般的摄像机都有Gamma特性,除了成像器件比如CCD自身的非线性,摄像机引入了人为的非线性,其目的是让摄像机的Gamma特性刚好补偿掉显示器的Gamma特性,使得总的Gamma特性是线性的。如果显示器理想的Gamma是:Lout=Lin2.2;那么摄像机的理想Gamma是:Lout=Lin0.45。
2、显示帧存Gamma,表示成GFBuf(.);
早期的显示器因为显示存储的色彩深度不够,比如只能支持4位、8位、16位色彩深度,而不是理想的24位真彩色,等于压缩了输入亮度信号的动态范围,因此也引入了Gamma特性。另外,因为在非真彩色下模式下,使用的调色板(Palette)色彩映射技术或者抖动(Dither)技术等,都会引入非线性Gamma。
3、显示查表Gamma,表示成GLUT(.);
有些显示设备,为了补偿显示器的非线性,人为引入了Gamma,该Gamma表现为一个LUT(Look-Up Table),从帧存中读出的亮度数据要经过LUT转换,才去驱动显示器。
4、显示器Gamma,表示成GDisp(.);
5、编码器Gamma,表示成GEnc(.);
因为压缩中的DCT(Discrete Cosine Transform)变换、量化造成的Gamma。
6、解码器Gamma,表示成GDec(.)。
因为解压缩中的DCT反变换、反量化造成的Gamma。
上述各环节中,对视频影响最大的两个环节正是视频输入设备和视频显示设备,与之相比,其他环节影响程度非常小,因此只要校正了视频输入设备和视频显示设备Gamma特性对视频的影响,就可以完全满足决大多数非专业级(专业级指电视台,电影制片厂等商业媒体制作实体等)的各种场景下的收看效果要求。基于上述考虑,当视频输入设备和视频显示设备具有理想Gamma值并忽略其它环节Gamma特性的影响时,可以完全或部分实现视频流Gamma特性的本地校正。
需要说明的是本文所述的视频不仅仅包括运动图像序列(Motion PictureSequence,即视频的狭义定义),还包括静止图像、计算机图形,动画(如Flash动画,GIF动画等)等。
仍参阅图6所示,为实现本地校正,需要在终端的视频输入设备后级联Gamma校正设备,本地采集的视频流经Gamma校正设备校正到理想目标Gamma特性后,再分别输出给本地视频显示设备、或由视频编码解码器编码后经通信网络输出给接收终端、或者将通过通信网络接收的视频流经校正设备校正后再输出给本地视频显示设备显示,下面以具体实施例并结合附图详细描述本发明技术方案。
实施例一、视频通信终端校正视频流Gamma特性的方法
视频流Gamma特性的校正包括三种情况:
1、出向视频流的Gamma校正
出向视频流就是从本地终端输出,经过网络到多点控制单元等中央通信节点,或者到其它视频通信终端的视频码流。要求是出向的视频码流的Gamma值要校正到0.45。即达到的效果要等效于该视频码流来自一个具有理想Gamma值的视频输入设备。因此如果视频输入设备是理想的,即具有Gamma值0.45,那么不需要任何校正。如果不是,用γCam表示视频输入设备的Gamma值,那么出向视频流的Gamma校正模块的Gamma值γCor应该满足公式6:
γCam·γCor=0.45                (6)
2、入向视频流的Gamma校正
入向视频流就是从网络进入本地终端的视频流,可能来自多点控制单元等中央通信节点,或者来自其它视频通信终端的视频码流。入向视频码流来自其它终端(即使来自多点控制单元,其实归根到底还是来自其它终端,因为多点控制单元的视频流也是来自终端的。),按照前面的要求,已经具有了理想的Gamma值0.45。如果本地终端的视频显示设备是理想的,即具有理想的Gamma值2.2,那么对于入向的视频流不需要Gamma校正。如果不是,那么还需要在本地对于入向的视频流进行Gamma校正,从而使得校正后的视频流的Gamma值等于1/γDisp,其中γDisp表示视频显示设备的Gamma值。那么入向视频流的Gamma校正模块的Gamma值γCor应该满足公式7:
γDisp·γCor=2.2(1/0.45)              (7)
3、本地显示视频流的Gamma校正
本地显示视频流是指来自本地视频输入设备并且直接在本地视频显示设备上显示的视频流。如果视频输入设备和视频显示设备都是理想的,即满足公式8:
γCam=0.45,γDisp=2.2                (8)
或者满足公式9
γCam·γDisp=1                        (9)
需要说明的是8是9的特殊情况,公式9需要进一步说明的是:一般情况下,γCam或γDisp的具体值经过四舍五入的约数,因此乘积γCam·γDisp接近1,只要该乘积与1的差值在设定范围内,则可以认为公式9成立。
如果公式8或9成立,不需要进行本地显示视频流的校正。如果不然,则需要进行校正。如果需要校正,那么本地显示视频流Gamma校正模块的Gamma值γCor应该满足如下关系公式10:
γCam·γCor·γDisp=1                 (10)
根据前面的分析,判断视频显示设备和视频输入设备是否处于理想状态,以及实现非理想状态下的Gamma校正,首先要知道Gamma环节的参数,即视频显示设备和视频输入设备的Gamma参数。如果这些参数已经随着设备的出厂手册的技术资料提供了,那么可以直接获得。如果没有这些技术资料,或者技术资料没有提供Gamma参数,可以采用测量的方法来获得Gamma参数。并且,通过测量得到Gamma参数更加可靠,因为有些时候技术资料并不一定正确。
作为本发明实施的基础,这里首先在此介绍一种确定每一个Gamma特性环节等效模型及其参数的检测方法,包括如下步骤:
首先,选择一组单环节Gamma特性的通用等效模型,例如:
第一类Gamma模型满足公式11:
Lout=pLinα+(1-p)  0<p≤1,α≥1    (11)
其中:公式11所示函数的定义域(即自变量取值范围)为区间[0,1],值域(函数值的取值范围)为区间[(1-p),1]。
第二类Gamma模型满足公式12:
Lout=(qLin+(1-q))1β,q1,β1---(12)
其中:公式12所示函数的定义域(即自变量取值范围)为区间[1-1/q,1],值域(函数值的取值范围)为区间[(0,1]。
然后将其中的一个作为待测模型进行下列步骤:
1、在输入亮度信号Lin在[0,1]区间上选择间隔均匀的N个采样点:Lin(0)、Lin(1)、Lin(2)......Lin(i)......Lin(N-2)、Lin(N-1);
2、将亮度信号N个采样值分别输入环节中,并测量实际输出亮度信号N个对应的值:LPout(0)、LPout(1)、LPout(2)......LPout(i)......LPout(N-2)、LPout(N-1);
3、构造拟合的目标函数,目标函数和实际检测的输出亮度信号与通过Gamma特性模型确定的理论输出亮度信号之间的差值相关,而且,差值越小,说明模型的等效效果越接近实际情况。
目标函数的构造方法很多,较为常用的是下述公式13或公式14:
FT1(p,α)=Σi=0N-1(LoutP(i)-pLin(i)α-(1-p))2---(13)或者,
FT2(q,β)=Σi=0N-1(LoutP(i)-(qLin(i)+(1-q))1β)2---(14)
4、设定目标函数值的门限T和最大迭代次数M,利用数学优化法寻找最适合的参数组;
首先对于第一类的代价函数FT1(p,α)=Σi=0N-1(LoutP(i)-pLin(i)α-(1-p))2,采用某种数学优化技术,例如:爬山法、0.618法(华罗庚优选法)、最速下降法或共轭梯度法等求取其最小值;
这个过程其实是一个迭代过程,在这个过程中不断调整参数p和α,函数值F在不断下降,当函数值下降到小于给定门限T后,则认为已经找到了最小点。此时对应的参数p和α,就认为是本次应用环境模型的真正参数。
如果对于FT1(p,α)=Σi=0N-1(LoutP(i)-pLin(i)α-(1-p))2经过M次迭代,还不能使得函数下降到门限T以下,则认为模型选择不对。应该选择第二类模型,于是对于FT2(q,β)=Σi=0N-1(LoutP(i)-(qLin(i)+(1-q))1β)2重复上述步骤4,得到对应的模型参数q和β,应当注意的是,参数q和β的取值范围分别是:q≥1、β≥1。
如果想要得到更精确的参数,可以在目标函数值F下降到门限T以下后,仍然再迭代几次,如果目标函数值F持续下降,或下降后又上升,或直接上升,不管目标函数值F是何种变化情况,则选择其中的最小值对应的参数作为测量结果会在一定程度上提高参数测量的精度。
可以看到,模型类型的确定和参数的测量是同时进行的,实际中,等效模型的类型不只这两种形式,通过上述方法可以在相关的所有等效模型通过测量参数的方法找到最合适的一个。
上述检测方法是一种通用检测方法,本发明主要选择幂函数模型进行检测。
每次进行校正之前,需要判断视频输入设备或视频显示设备的伽玛值是否为理想的目标伽玛值,如果是则不需要进行校正,否则再进行校正,判断的依据分别是:
1、对于输出的本地视频流:
如果视频输入设备的Gamma值γCam=0.45,则相应本地视频流的Gamma值为理想的目标Gamma值0.45,不需要进行校正,直接通过通信网络输出;否则将本地视频流的Gamma值校正到0.45后输出;
2、对于来自网络或其他终端的入向视频流:
由于入向视频流的Gamma值已经为理想的目标Gamma值0.45,因此如果视频显示设备的Gamma值γDisp=2.2,则可以达到完全校正,将入向视频流直接传输给视频显示设备显示,否则,需要将入向视频流的Gamma值校正为1/γDisp,实现完全校正;
3、本地显示视频流:
如果视频显示设备的Gamma值自动补偿了视频输入设备的引入的Gamma值,即等式(8)或者(9)成立,当然(8)是(9)的特殊情况,就不需要对本地显示的本地视频流进行校正了,反之,需要进行校正。实际上,判断的步骤可以省略,如果视频显示设备的Gamma值和视频输入设备Gamma值自动补偿了,计算出的校正Gamma值实际上为1,这样对于理想状态的视频显示设备和视频输入设备来说,降低了视频流的传输速度,因此优先选用先进行判断的校正方法。
上述方法为一种通用的视频终端校正视频码流伽玛特性的方法,可以实现本地视频显示视频流的完全校正,并且当通信双方的发送端根据本发明所述方法将出向视频流的伽玛值校正设定目标值时,接收端可以实现对入向视频流的完全校正,不需要交互双方的伽玛特性信息,减少了视频通信中的数据传输量,提高了视频通信的质量和用户体验;并且本发明所述方法并不局限于现有视频输入设备和显示设备的标准Gamma值为0.45和2.2的应用场景,可以根据视频技术发展相应调整目标伽玛值,就可达到理想的校正效果。
实施例二、Gamma校正设备的一种结构
综上所述,实现本发明上述校正方法的校正设备的一种结构如图7所示,包括,其中校正模块包括以下三个子模块:
1、出向视频流Gamma校正子模块
连接在视频输入设备和视频编码解密器之间,对出向视频流进行Gamma校正;
该模块首先判断γCam=0.45是否成立,如果是则直接将本地视频流传输给视频编码解码器,否则进行校正;
该模块具有校正Gamma值γCor=0.45/γCam,在获得了γCam的基础上,求出γCor,然后可采用硬件电路或软件实现校正,其中:采用硬件电路的方法可以实现标准的幂函数输入输出特性,这类方法相当多,属于成熟技术,这里不再赘述。采用软件实现包括如下几种:
直接计算法:用程序的方法产生标准的幂函数输入输出特性,比如采用函数调用或者子程序的方法;
查表法:对于输入亮度信号取值区间上计算足够多的点,按照γCor和标准的幂函数形式计算其校正结果,保存起来作为一个查表。然后在进行校正的时候,对于需要校正的输入信号值,通过查表获得校正结果。表项数越多,即样本采集越密集,查表的效果越精确。
应该说明,这里区分硬件和软件方法的意义在于:硬件是完全用电路的方法实现,不能含有任何微处理器和存储器。软件则包括采用DSP和存储器的方式,因为这种情况下,也是程序软件在起作用。
2、入向视频流Gamma校正子模块
连接在视频编码解密器和视频显示设备之间,负责对于入向视频流进行Gamma校正;
该模块首先判断γDisp=2.2是否成立,如果是,则可以自动补偿入向视频流的Gamma特性,否则,需要进行校正;
该模块具有校正Gamma值γCor=2.2/γDisp。在获得了γDisp的基础上,求出γCor,然后可采用硬件电路或软件实现校正,其中:采用硬件电路的方法可以实现标准的幂函数输入输出特性,这类方法相当多,属于成熟技术,这里不再赘述。采用软件实现包括如下几种:
直接计算法:用程序的方法产生标准的幂函数输入输出特性,比如采用函数调用或者子程序的方法;
查表法:对于输入亮度信号取值区间上计算足够多的点,按照γCor和标准的幂函数形式计算其校正结果,保存起来作为一个查表。然后在进行校正的时候,对于需要校正的输入信号值,通过查表获得校正结果。表项数越多,即样本采集越密集,查表的效果越精确。
应该说明,这里区分硬件和软件方法的意义在于:硬件是完全用电路的方法实现,不能含有任何微处理器和存储器。软件则包括采用DSP和存储器的方式,因为这种情况下,也是程序软件在起作用。
3、本地显示视频流Gamma校正子模块
连接在视频输入设备和视频显示设备之间,负责对于本地显示视频流进行Gamma校正。
该模块具有Gamma值γCor=1/γCam·γDisp。在获得了γCam和γDisp的基础上,求出γCor,然后可采用硬件电路或软件实现校正,其中:采用硬件电路的方法可以实现标准的幂函数输入输出特性,这类方法相当多,属于成熟技术,这里不再赘述。采用软件实现包括如下几种:
直接计算法:用程序的方法产生标准的幂函数输入输出特性,比如采用函数调用或者子程序的方法;
查表法:对于输入亮度信号取值区间上计算足够多的点,按照γCor和标准的幂函数形式计算其校正结果,保存起来作为一个查表。然后在进行校正的时候,对于需要校正的输入信号值,通过查表获得校正结果。表项数越多,即样本采集越密集,查表的效果越精确。
应该说明,这里区分硬件和软件方法的意义在于:硬件是完全用电路的方法实现,不能含有任何微处理器和存储器。软件则包括采用DSP和存储器的方式,因为这种情况下,也是程序软件在起作用。
仍参阅图7,为完成参数的检测功能,Gamma校正设备还应该包括:
4、Gamma参数测量模块,该模块可以分为如下两个子模块:
视频输入设备Gamma参数测量子模块:如果视频输入设备的Gamma参数没有提供(比如出厂手册或者Data Sheet没有列出),那么可以利用该模块进行测量。
具体测量方法如前所述,在图7中,第一测量激励信号是向视频输入设备输入,然后再从视频输入设备采集其对于激励信号的第一测量响应信号,根据激励信号和响应信号就可以进行测量了。
视频显示设备Gamma参数测量子模块:如果视频显示设备的Gamma参数没有提供(比如出厂手册或者Data Sheet没有列出),那么可以利用该模块进行测量。
两个Gamma参数测量子模块可以单独设置也可以合并设置。
仍参阅图7,第二激励测量信号是向视频显示设备输入,然后再从视频显示设备采集其对于激励信号的第二测量响应信号,根据激励信号和响应信号就可以进行测量了。
5、Gamma信息设置模块
对于能够通过产品手册获取的Gamma参数信息,通过该子系统提供的人机界面进行设置。然后保存在Gamma信息保存模块中,也可以调出保存的Gamma参数信息进行编辑修改后再保存回去,还能够进行信息的删除。
6、Gamma信息保存模块
保存通过Gamma信息设置子系统设置的Gamma参数信息,也可以保存由视频输入设备Gamma参数测量模块和视频显示设备Gamma参数测量模块测量得到的Gamma参数信息。
7、控制协调模块:控制和协调其它各个模块,起到主控的作用。
实施例三、Gamma校正设备的另一种结构
可以发现,其实入向视频流Gamma校正模块也可以用于本地显示视频流的Gamma校正。只是,在这种情况下,其输入的视频流不是来自视频输入设备,而是来自出向视频流Gamma校正模块。本地采集的视频流经过出向视频流Gamma校正模块的校正后,视频流的Gamma值为0.45,和来自视频编码解码器的入向视频流具有相同的Gamma值。这个时候,如果视频显示设备的Gamma值不是理想的2.2,需要再经过入向视频流Gamma校正模块的校正。因为两个视频流具有同样的Gamma值,并且校正后的目的地都是视频显示设备,因此可以用相同的校正模块进行校正。但是因为需要同时校正两个甚至两个以上视频流(因为入向和本地显示的视频流都可能不止一个),因此需要有多路同时校正能力。
因此如图8所示,为校正设备的另一种结构,校正模块包括如下两个子模块:
1、出向视频流Gamma校正子模块:连接在视频输入设备和视频编码解密器之间,对出向视频流进行Gamma校正;
该模块具有Gamma值γCor=0.45/γCam,在获得了γCam的基础上,求出γCor,然后可采用硬件电路或软件实现校正,其中:采用硬件电路的方法可以实现标准的幂函数输入输出特性,这类方法相当多,属于成熟技术,这里不再赘述。采用软件实现包括如下几种:
直接计算法:用程序的方法产生标准的幂函数输入输出特性,比如采用函数调用或者子程序的方法;
查表法:对于输入亮度信号取值区间上计算足够多的点,按照γCor和标准的幂函数形式计算其校正结果,保存起来作为一个查表。然后在进行校正的时候,对于需要校正的输入信号值,通过查表获得校正结果。表项数越多,即样本采集越密集,查表的效果越精确。
应该说明,这里区分硬件和软件方法的意义在于:硬件是完全用电路的方法实现,不能含有任何微处理器和存储器。软件则包括采用DSP和存储器的方式,因为这种情况下,也是程序软件在起作用。
2、入向视频流Gamma校正子模块:连接在视频编码解密器和视频显示设备之间,同时负责对于入向视频流和本地显示的视频流进行Gamma校正,而且因为需要同时校正两个甚至两个以上视频流(因为入向和本地显示的视频流都可能不止一个),因此需要有多路同时校正能力。
这样,本地显示的视频流首先通过出向视频流Gamma校正模块进行校正,然后将校正的输出视频流再输入到入向视频流Gamma校正模块进行第二次校正后输出给本地视频显示设备。同时视频编码解密器将解码后的入向视频流输出给入向视频流Gamma校正模块进行校正后输出给本地视频显示设备显示。
该模块具有Gamma值γCor=2.2/γDisp。在获得了γDisp的基础上,求出γCor,然后可采用硬件电路或软件实现校正,其中:采用硬件电路的方法可以实现标准的幂函数输入输出特性,这类方法相当多,属于成熟技术,这里不再赘述。采用软件实现包括如下几种:
直接计算法:用程序的方法产生标准的幂函数输入输出特性,比如采用函数调用或者子程序的方法;
查表法:对于输入亮度信号取值区间上计算足够多的点,按照γCor和标准的幂函数形式计算其校正结果,保存起来作为一个查表。然后在进行校正的时候,对于需要校正的输入信号值,通过查表获得校正结果。表项数越多,即样本采集越密集,查表的效果越精确。
应该说明,这里区分硬件和软件方法的意义在于:硬件是完全用电路的方法实现,不能含有任何微处理器和存储器。软件则包括采用DSP和存储器的方式,因为这种情况下,也是程序软件在起作用。
其他模块的结构和连接关系和图7相同,这里不再赘述。
需要先进行判断时,如图9所示,图7和图8中的每一个校正子模块的结构可以进一步包括:判断单元和校正执行单元,判断单元连接Gamma信息保存模块,用于根据Gamma信息保存模块中存储的显示设备或输入设备的Gamma参数判断是否需要进行校正,如果是,则将接收的视频输入校正执行单元,校正执行单元根据实施例一中给出校正Gamma值进行校正后再输出,否则直接输出。
图7和图8所示的校正设备可以应用于任何视频通信终端中,参照图6所示组装后实现视频流Gamma特性的校正。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。