本发明涉及一种用于处理图像数据的方法和设备。具体地,但不排他地,本发明涉及色差分量的编码和色差分量的解码。
背景技术:
诸如由数码相机捕获的图像或计算机产生的图像的图像包含定义每个像素或一组像素的颜色特性的颜色信息。这种颜色信息可以表示为在颜色空间中定义颜色的颜色分量。颜色分量可以例如表示颜色的强度作为对亮度(luma)辉度和色品度颜色从中性灰度级颜色朝向蓝色或红色(YUV)偏差的度量,或作为对红色、绿色或蓝色光分量强度(RGB)的度量。YUV模型通常根据一个亮度(Y)和两个色度(UV)分量定义颜色空间。通常,Y表示亮度分量(辉度),以及U和V是色度(颜色)或色品度分量。
XYZ颜色空间是由CIE(国际照明委员会)开发的国际标准。该颜色模型基于三原色XYZ,并且使用X、Y和Z的正值来表示所有可见颜色。Y原色被定义为与亮度紧密匹配,而X和Z原色给出颜色信息。
相较于传统低动态范围(LDR)图像,高动态范围成像(也称作HDR或HDRI)实现在场景的明暗区域之间的较大动态范围的亮度。通过将信号表示扩展到较宽的动态范围以便在整个范围内提供高的信号精度,来在HDR成像中实现该目的。在HDR图像中,像素的颜色分量值通常使用大量比特(例如,从16个比特到64个比特)来表示,包括浮点格式(例如,针对每个分量有32比特或16比特,即,浮点或半浮点),最常用的格式是openEXR半浮点格式(针对每个RGB分量16比特;即,针对每个像素48比特)或具有长表示的整型,通常至少为16个比特。这种范围与人类视觉系统的天然灵敏度相对应。这样,HDR图像更准确地表示在实际场景内发现的大范围的亮度和颜色,从而提供对该场景的更真实表示。
为了减少存储颜色信息,特别是HDR颜色信息所需的内存量,并且为了减少传输中的带宽使用,存在许多将图像数据的颜色信息压缩成更小、更易于管理的数据大小的技术。
例如,SMPTE 2085标准定义了要用于高动态范围XYZ信号的YDzDx色差编码。由非线性编码的X′、Y′和Z′值表示的颜色信息被变换为Y′、D′z和D′x色差信号。色品度信号D′z被定义为分量Z′和Y′之间的加权差,并且D′x是颜色分量X′和Y′之间的加权差。亮度信号Y′未被变换改变。SMPTE 2085标准定义了从X′Y′Z′到Y′D′ZD′X的转换以及从Y′D′ZD′X到X′Y′Z′的转换。
色差分量D′z和D′x的动态取决于用于内容的颜色空间。例如,在ITU Rec709中,当考虑ITU Rec2020时,D′x在范围[-0.135;0.131]内变化,而偏移范围为[-0.496;0.147]。因此,有用的动态在ITU Rec2020中约为全范围的65%,而在ITU Rec709中仅为27%。减少的输入数据可能导致在编码器输入处引入更多的量化噪声。
基于上述内容,设计出本发明。
技术实现要素:
在一般形式中,本发明涉及在编码之前对色差分量应用增益以便扩展动态范围。
根据本发明的第一方面,提供了一种对图像数据进行编码的方法,所述图像数据包括定义颜色空间中的图像部分的颜色特性的颜色分量,所述方法包括:对于图像的至少一部分:从图像部分的颜色分量获得色差分量;通过应用增益因子来按比例缩放色差分量以扩展它们的动态范围;以及对按比例缩放的色差分量进行编码。应用于相应色差分量的增益因子可取决于颜色空间的色域。
在本发明的一个实施例中,应用于相应色差分量的增益因子使得色差分量在-0.5至0.5的范围内,从其导出色差分量的颜色分量(X′、Y′、Z’)在范围[0.0,1.0]内。
在本发明的实施例中,在色差分量的量化之前应用色差分量的按比例缩放。
在实施例中,在色差分量的量化之后应用色差分量的按比例缩放。
在实施例中,图像部分是具有大于8个比特的比特深度的高动态范围图像部分。
在一个实施例中,该方法包括发送表示所应用的增益因子的数据。例如,表示所应用的增益因子的数据被包括在视频可用性信息的字段中。指示所使用的色域的数据例如可以被包括在视频可用性信息的matrix_coeff字段中。
根据本发明的第二方面,提供了一种用于对图像数据进行解码的方法,所述图像数据包括定义颜色空间中的图像部分的颜色特性的颜色分量,所述方法包括:对于图像的至少一部分:对接收的数据比特流进行解码;从经解码的比特流获得色差分量;通过应用与在编码之前应用于色差分量的增益因子相对应的重新按比例缩放因子来对色差分量进行重新按比例缩放;以及处理重新按比例缩放的色差分量以获得图像部分的对应颜色分量。应用于相应色差分量的增益因子可取决于颜色空间的色域。
在实施例中,该方法包括例如在视频可用性信息的字段中接收表示在编码之前应用的增益因子的数据。指示所使用的色域的数据可以例如被包括在视频可用性信息的matrix_coeff字段中。
本发明的第三方面提供了一种用于对图像数据进行编码的编码设备,所述图像数据包括定义颜色空间中的图像部分的颜色特性的颜色分量,所述编码器包括:处理模块,用于从图像部分的颜色分量中获得色差分量;按比例缩放器,用于通过应用增益因子来按比例缩放色差分量以扩展它们的动态范围;以及编码器,用于对按比例缩放的色差分量进行编码。
编码设备可以被配置为将增益因子应用于相应色差分量,增益因子取决于颜色空间的色域。
编码设备可以被配置为将增益因子应用于相应的色差分量,使得色差分量在-0.5至0.5的范围内。
编码设备可以被配置为在色差分量的量化之前按比例缩放色差分量。
在另一实施例中,编码设备可以被配置为在色差分量的量化之后按比例缩放色差分量。
在实施例中,编码设备包括用于发送表示所应用的增益因子的数据的发射机。例如,表示所应用的增益因子的数据被包括在视频可用性信息的字段中。指示所使用的色域的数据例如可以被包括在视频可用性信息的matrix_coeff字段中。
本发明的第四方面提供了一种用于对图像数据进行解码的解码装置,所述图像数据包括定义颜色空间中的图像部分的颜色特性的颜色分量,所述解码器包括:解码器,用于对接收的比特流进行解码;处理模块,用于从经解码的比特流获得色差分量;重新按比例缩放器,用于通过应用与在编码之前应用于色差分量的增益因子相对应的重新按比例缩放因子来对色差分量进行重新按比例缩放;以及成像器处理器,用于处理重新按比例缩放的色差分量以获得图像部分的对应颜色分量。应用于相应色差分量的增益因子可取决于颜色空间的色域。
解码设备可以被配置为例如在视频可用性信息的字段中接收表示在编码之前应用的增益因子的数据。指示所使用的色域的数据可以例如被包括在视频可用性信息的matrix_coeff字段中。
本发明的第五方面提供了一种数据包,包括:
经编码的图像数据,其包括定义颜色空间中的图像部分的颜色特性的颜色分量,所述图像数据是按照根据本发明的第一方面的任何实施例的方法来编码的;表示增益因子的数据,所述增益因子在编码之前应用于图像数据的色差分量以扩展动态范围。
本发明的另一方面提供了一种电子设备,包括:
存储器,一个或多个处理器;以及存储在存储器中并且被配置用于由一个或多个处理器执行的一个或多个模块,所述一个或多个模块包括用于对图像数据进行编码的指令,所述图像数据包括定义颜色空间中的图像部分的颜色特性的颜色分量,包括:
从图像部分的颜色分量获得色差分量;
通过应用增益因子来按比例缩放色差分量以扩展它们的动态范围;以及
对按比例缩放的色差分量进行编码。应用于相应色差分量的增益因子可取决于颜色空间的色域。
本发明的另一方面提供了一种电子设备,包括:
存储器,一个或多个处理器;以及存储在存储器中并且被配置用于由一个或多个处理器执行的一个或多个模块,所述一个或多个模块包括用于对图像数据进行解码的指令,所述图像数据包括定义颜色空间中的图像部分的颜色特性的颜色分量,包括:
对接收的比特流进行解码;
从经解码的比特流获得色差分量;以及
通过应用与在编码之前应用于色差分量的增益因子相对应的重新按比例缩放因子来对色差分量进行重新按比例缩放;以及
处理重新按比例缩放的色差分量以获得图像部分的对应颜色分量。
根据本发明的方法的至少一部分可以是通过计算机实现的。从而,本发明可采取全硬件实施例、全软件实施例(包括固件、驻留软件、微代码等)或组合了软硬件方面的实施例的形式,它们都可在本文被统称为″电路″、″模块″或″系统″。此外,本发明可采取由在任意有形介质中实现的计算机可使用程序代码表达的实现于所述介质中的计算机程序产品的形式。
由于本发明可实现为软件,所以本发明可实现为计算机可读代码,用于预配置到任意合适载体介质上的可编程装置。有形载体介质可包括存储介质,比如软盘、CD-ROM、硬盘驱动器、磁带设备或固态存储器设备等。瞬时载体介质可包括信号,比如电信号、电子信号、光信号、声信号、磁信号或电磁信号(例如微波或RE信号)。
附图说明
现在参照附图,以仅作为示例的方式对本发明的实施例进行描述,其中:
图1是可以实现本发明的一个或多个实施例的数据通信系统的示例的框图;
图2是可以实现本发明的一个或多个实施例的图像处理设备的示例的框图;
图3是根据本发明的第一实施例的编码设备的框图;
图4是示出了根据本发明的第一实施例的编码方法的步骤的流程图;
图5是根据本发明的第二实施例的编码设备的框图;
图6是示出了根据本发明的第二实施例的编码方法的步骤的流程图;
图7是根据本发明的第一实施例的解码设备的框图;
图8是示出了根据本发明的第二实施例的解码方法的步骤的流程图;
图9是根据本发明的第二实施例的解码设备的框图;
图10是示出了根据本发明的第二实施例的解码方法的步骤的流程图;
图11是可以实现本发明的一个或多个实施例的接收设备的示例的框图;以及
图12是可以实现本发明的一个或多个实施例的接收设备的另一示例的框图。
具体实施方式
图1示意性地示出了可以实现本发明的一个或多个实施例的数据通信系统的示例。虽然在所示示例中考虑了流传输场景,但是应当理解,可以使用例如诸如光盘之类的媒体存储设备或USB密钥来执行两个设备之间的数据传送。在所示示例中,数据通信系统100包括发送设备,例如服务器110,其可操作以经由数据通信网络150将数据流的数据分组发送到接收设备,例如客户端终端120。数据通信网络150可以是广域网(WAN)或局域网(LAN)。这样的网络可以是例如无线网络(Wifi/802.11a或b或g)、以太网、互联网网络或由若干不同网络组成的混合网络。在本发明的特定实施例中,数据通信系统可以是数字电视广播系统,其中服务器110向多个客户端发送相同的数据内容。
由服务器110提供的数据流140包括表示一个或多个静止图像或包括图像序列的视频数据的比特流。在本发明的一些实施例中,在比特流中表示的图像数据可以由发送设备110使用相机捕获,存储在发送设备110上,由发送设备110从另一数据提供商接收,或者在发送设备110处产生。发送设备110被提供有编码器111,用于对图像数据进行编码以提供用于发送的经压缩的比特流,其是输入到编码器的图像数据的更紧凑的表示。在本发明的一个或多个实施例中,经编码的图像数据包括表示图像的颜色信息的经编码的色差信号。
客户端终端120接收所发送的比特流140,并且根据本发明的实施例通过解码器121对比特流进行解码,以在客户端终端上渲染多媒体数据。客户端终端可以是固定设备,例如电视或计算机或便携式电子设备,包括但不限于便携式计算机、手持式计算机、平板计算机、移动电话、媒体播放器、个人数字助理等等。
图2是示意性地示出了被配置为实现本发明的至少一个实施例的图像处理设备200的功能组件的框图。根据本发明的实施例,处理设备可以包括用于对图像进行编码或解码的编码器或解码器。图像处理设备200可以是诸如微计算机、工作站或便携式设备(诸如智能电话、平板或便携式计算机)的设备。
图像处理设备200包括存储器210、一个或多个处理单元(CPU)220、用于向应用传送数据和从应用传送数据的输入/输出接口230。图像处理设备200的组件通过一个或多个通信总线250进行通信。存储器210可以包括高速随机存取存储器(RAM)211和只读存储器(ROM)212。ROM 212至少存储程序代码和参数。根据本发明的实施例的方法的算法可以存储在ROM 212中。当接通时,CPU 220将程序上传到RAM 211并执行对应的指令。
RAM 211在寄存器中包括由CPU 220执行并在设备200接通之后上传的程序、寄存器中的输入数据、寄存器中的算法的不同状态的中间数据以及用于执行寄存器中的算法的其它变量。
存储器210可以包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储器设备。在一些实施例中,存储器还可以包括远离一个或多个CPU 220设置的存储设备。例如,存储装置可经由接口和/或通信网络访问。
在一些实施例中,例如在处理设备是解码设备的情况下,设备被提供有显示器(例如触敏屏幕),用于显示数据和/或用作与用户的图形界面(借助于键盘或任何其他用户交互装置)。在一些实施例中,该设备被提供有电源,例如电池1140。根据替代实施例,电源可以在设备外部。
在本实施例中,处理设备200是使用软件来实现本发明的可编程装置。然而,备选地,处理设备可以以硬件(例如,以专用集成电路或ASIC的形式)或以硬件和软件的组合来实现。
在图3、5、7和9中,所示模块对应于功能单元,其可以与或可以不与可区分的物理单元相对应。例如,多个这种模块可以被关联在独特的组件或电路中,或与软件功能相对应。此外,模块可以潜在地由分开的物理实体或软件功能构成。
图3是示出了根据本发明的第一实施例的编码设备300的功能模块的示意性框图。图4是展示根据本发明的第一实施例的编码方法的步骤的流程图。
到编码设备300的输入数据包括图像数据。图像数据可以表示要编码的图像或图像的一部分。在具有高动态范围的色域的颜色空间中表示图像数据的颜色信息。颜色分量定义了相关联的颜色空间中的图像数据的颜色信息。在该特定实施例中,以XYZ格式提供颜色分量。然而,应当理解,本发明可以应用于其他格式的颜色分量,诸如例如RGB。在步骤S410中,OETF(光电子传递函数)模块310将光电传递函数应用于颜色分量。OETF函数将输入信号压缩到有限的动态,从而在画面的暗区中给出更多细节。从颜色分量X、Y和Z获得的变换后的颜色分量分别表示为X′、Y′和Z′。
在步骤S420中,颜色转换模块320然后对从OETF模块输出的颜色分量信号X′、Y′和Z′执行颜色转换,以便获得色差分量。变换后的X、Y和Z分量被转换为Y′、D′z和D′x色差信号。色品度信号D′z被定义为颜色分量Z′和Y′之间的加权差,并且颜色不同信号D′x是颜色分量X′和Y′之间的加权差。亮度信号Y′未被变换改变。所应用的颜色转换的示例在数学上表达如下。色差分量D′Z、D′X表达如下:
其中输入颜色分量X′、Y′和Z′在范围[0.0,1.0]中,并且输出色差分量D′z和D′x在标称范围[-0.5,+0.5]中。
在步骤S430中,按比例缩放模块330将各个增益因子gx和gz应用于色差分量D′x和D′z,以便扩展它们的对应动态范围。所应用的增益因子gx、gz取决于所使用的色域。在一些实施例中,所应用的增益因子使得按比例缩放的色差分量gxD′x和gzD′z在范围[-0.5;0.5]内。
可以应用于色域Rec709和Rec2020的增益因子的示例在表1中给出。
表1:要应用在Dz和Dx分量上的增益因子的示例
在步骤S440中,量化模块340对色差分量Y′和按比例缩放的色差分量gxD′x和gzD′z应用量化以获得量化的色差分量QgxD′x、QY′和QgzD′z。
在步骤S450中,由编码器模块350将量化的色差分量QgxD′x、QY′和QgzD′z编码为表示图像数据的比特流。
图5是示出了根据本发明的第二实施例的编码设备500的功能模块的示意性框图。图6是展示根据本发明的第二实施例的编码方法的步骤的流程图。
到编码设备500的输入数据包括类似于第一实施例的图像数据的图像数据,其中以XYZ格式提供图像数据的颜色分量。第二实施例与本发明的第一实施例的不同之处在于:在色差分量的量化之后对色差分量应用按比例缩放。在根据本发明的第二实施例的对图像数据进行编码的方法的初始步骤S610中,OETF模块510将光电传递函数应用于颜色分量X、Y、Z,以获得分别表示为X′、Y′和Z′的变换后的颜色分量。
在步骤S620中,颜色转换模块520然后对从OETF模块输出的颜色分量信号X′和Z′执行颜色转换,以便以与本发明的第一实施例中相同的方式获得色差分量D′z和D′x。颜色分量Y′保持不变。
在步骤S630中,量化模块530对色差分量Y′和色差分量D′x和D′z应用量化以获得量化的色差分量QD′x、QY′和QD′z。
在步骤S640中,按比例缩放模块540然后将相应的增益因子gx和gz应用于量化的色差分量QD′x和QD′z,以便扩展它们的动态范围。
在步骤S650中,按比例缩放的量化的色差分量gxQD′x、QY′和gzQD′z由编码器模块550编码为表示图像数据的比特流。
图7是示出了根据本发明的第一实施例的解码设备700的功能模块的示意性框图。图8是展示根据本发明的第一实施例的解码方法的步骤的流程图。
到解码设备700的输入数据包括根据本发明的第一实施例编码的表示图像数据的经编码的比特流。
在步骤S810中,解码模块710对输入比特流进行解码以获得量化和按比例缩放的色差分量QgxD′x、QY′和QgzD′z。
在步骤S820中,量化和按比例缩放的色差分量由解量化模块710解量化,以获得按比例缩放的色差分量gxD′x、Y′和gzD′z。
在步骤S830中,由颜色转换模块730处理解量化的色差分量,以获得如下的颜色分量X′、Y′和Z′:
X’=2D’X+c2Y’
Z’=(2D’Z+Y’)/c1
其中:
其中
X′、Y′和Z′在范围[0.0,1.0]内,并且D′z和D′x在范围[-0.5,0.5]内。
然后可以根据与解码设备相关联的显示设备的要求,在步骤S840中进一步处理颜色分量X′、Y′和Z′。
图9是示出了根据本发明的第二实施例的解码设备900的功能模块的示意性框图。图10是展示根据本发明的第二实施例的解码方法的步骤的流程图。
到解码设备900的输入数据包括根据本发明的第二实施例编码的表示图像数据的经编码的比特流。
在步骤S1010中,解码模块910对输入比特流进行解码以获得按比例缩放和量化的色差分量gxQD′x、QY′和gz QD′z。
为了处理按比例缩放和量化的色差分量gxQD′x和gz QD′z,由编码器gx gz应用的增益因子的信息由解码设备获得。
表2示出了在表1的增益因子的情况下针对色域Rec709和Rec2020要应用的解除按比例缩放(descaling)因子。
表2:要对Dz和Dx分量应用的解码按比例缩放
该信息可以由解码器以各种方式访问。例如,信息可以被预先存储,或者信息可以从编码器与图像数据一起或者与图像数据分开地发送到解码器。
在本发明的一个特定实施例中,视频可用性信息(VUI)可以用于通过三个字段(color_primaries、transfer_characteristics和matrix_coeffs)将按比例缩放信息输送到解码器。
color_primaries字段指示根据如ISO 11664-1中规定的x和y的CIE 1931定义的源原色的色度坐标。该字段可以用于指示所使用的色域例如是Rec709还是Rec2020。
transfer_characteristics字段指示源画面的光电传送特性。它可以用于描述XYZ到要编码的色差分量的转换。
matrix_coeffs字段描述用在从绿色、蓝色和红色原色导出亮度和色品度信号中的矩阵系数。
在本发明的该实施例中,将新值添加到matrix_coeffs字段。对于matrix_coeff的这个特定值,在编码器侧根据color_primaries字段按比例缩放分量QD′x和QD′z,如表2所示。
例如,如果color_primaries=1(指示Rec709),则在解码器侧,分别按8和3的因子将QD′x和QD′z按比例缩小到D′x和D′Z。
在步骤S1020中,色差分量由解量化模块910解量化,以获得按比例缩放的色差分量D′x、Y′和D′z。
在步骤S1030中,由颜色转换模块930处理解量化的色差分量,以获得如下的颜色分量X′、Y′和Z′:
X′=2D′X+c2Y′
Z’=(2D’Z+Y’)/c1
其中:
其中
颜色分量X′、Y′和Z′在范围[0.0,1.0]内,并且色差分量D′z和D′x在范围[-0.5,0.5]内。
然后可以根据与解码设备相关联的显示设备的要求,在步骤S1050中进一步处理颜色分量X′、Y′和Z′。
本发明的实施例可以应用于视频流传输的各种编码方案(例如MPEG编码)中。
图11示出了示例性发送系统1300。根据本发明的实施例,在媒体编码器1310处对输入媒体数据(例如,包括HDR图像数据的音频和视频数据)进行编码。经编码的数据在复用器1320处被复用,并在发射机1330处被发送。发送系统可以在典型的TV广播环境中使用,或者可以在提供用于流传输或下载的视听数据的任何服务中使用。
图12示出了示例性接收系统1400。系统1400的输入数据可以是在比特流中编码的多媒体数据,例如,系统1300的输出。数据在接收机1410处接收,在解复用器1420处解复用,然后通过应用根据本发明的实施例的解码方法在媒体解码器1430处解码。经解码的数据分组可以被放置在解复用器1420的缓冲器中。渲染引擎1440渲染媒体内容,例如以便以彩色显示HDR图像。
虽然本发明在上文是参照具体实施例进行描述的,但应当理解,本发明不限于具体实施例,处于本发明的范围内的修改对本领域技术人员是显而易见的。
例如,虽然在前述示例中已经描述了包括预处理SMPTE颜色转换处理的编码或解码处理,但是应当理解,本发明不限于用于获得色差分量的任何特定处理。在本发明的上下文中,可应用于图像的颜色信息的编码的其他处理可以被应用。例如,编码处理和补充解码处理可以基于涉及一些编码策略优化步骤的其他编码/解码方法(例如,MPEG2、MPEG4、AVC、H.263等)。
对本领域技术人员来讲,通过参照上述说明性实施例(其仅为作为示例给出而不意在限制仅由所附权利要求确定的本发明的范围),将想到许多另外的修改和变形。具体地,在适当的情况下,来自不同实施例的不同特征可互换使用。