用于将HDR画面映射为SDR画面的方法和设备以及相应的SDR到HDR的映射方法和设备与流程

文档序号:11288919阅读:1513来源:国知局
用于将HDR画面映射为SDR画面的方法和设备以及相应的SDR到HDR的映射方法和设备与流程
在下文中,公开了用于将hdr画面映射为sdr画面的方法和设备。还公开了相应的sdr到hdr的映射方法和设备。
背景技术
:标准动态范围画面(sdr画面)是彩色画面,其光亮度(luminance)值是用通常以2的幂(光圈级别(f-stop))度量的有限动态来表示的。sdr画面的动态大约为10个光圈级别,即在线性域中最亮像素与最暗像素之间的比为1000。在非线性域中,用有限数量(在hd和uhdtv中经常为8或10个)的比特对这样的sdr画面进行编码。在高动态范围画面(hdr画面)中,信号动态要高得多(高达20个光圈级别,最亮像素与最暗像素之间的比为100万)。在hdr画面中,原始数据通常以浮点格式(针对每个分量,32个比特或16个比特,即浮点或半浮点)表示,最流行的格式是openexr半浮点格式(每个rgb分量16比特,即,每个像素48个比特)或具有长表示(通常至少16个比特)的整数。同时广播hdr画面和sdr画面(即,同时联播)是在与现有的传统sdr显示器后向兼容的同时分发hdr内容的一种方式。然而,与仅分发sdr画面的旧基础设施相比,该解决方案需要将带宽加倍。为了减小所需的带宽,已知在hdr画面的编码之前减小hdr画面的动态范围。对于传统的编码器(即,最初被配置为对sdr画面进行编码的编码器),这样的解决方案使得可以在动态范围减小之后对hdr画面进行编码。hevcmain10编码器是这种传统编码器的一个示例。已知对hdr画面应用非线性映射函数以将其动态范围减小到10个比特。杜比提出的所谓的pqoetf(标准smpte2084)是这种映射函数的一个示例。然而,动态范围减小之后的hdr画面通常不可以作为sdr画面观看。此外,这种减小的hdr画面的压缩通常性能较差。技术实现要素:公开了一种方法,包括基于与高动态范围光亮度画面相关联的背光值bac将高动态范围光亮度画面映射为标准动态范围光亮度画面。该方法使得可以在hdr画面的编码之前减小hdr画面的动态范围,同时确保动态范围减小之后的hdr画面是可以在传统sdr显示器上显示的高质量的sdr画面。特别地,保持了整体感知的亮度(brightness)(即,黑暗场景对明亮场景)。还公开了一种设备,包括至少一个处理器,该至少一个处理器被配置为基于与高动态范围光亮度画面相关联的背光值将高动态范围光亮度画面映射为标准动态范围光亮度画面。有利地,该设备属于包括以下各项的集合:-移动设备;-通信设备;-游戏设备;-平板电脑(或平板计算机);-膝上型计算机;-静止画面相机;-摄像机;-编码芯片;-静止画面服务器;以及-视频服务器(例如,广播服务器、视频点播服务器或网络服务器)。在第一实施例中,基于与高动态范围光亮度画面相关联的背光值来将高动态范围光亮度画面映射为标准动态范围光亮度画面包括:基于背光值根据具有至少两个映射函数的集合确定映射函数;以及使用所确定的映射函数将高动态范围光亮度画面映射为标准动态范围光亮度画面,其中,集合中的每个映射函数与不同的背光值相关联。有利地,基于背光值根据具有至少两个映射函数的集合确定映射函数包括:根据具有至少两个映射函数的集合中的至少两个映射函数内插或外推映射函数。在示例性实施例中,集合中的每个映射函数是光亮度的递增函数,并且映射函数的集合针对每个光亮度值是背光值的递减函数。根据具体特性,集合中的每个函数g(bai,y)被定义为f(y/bai)/n(bai),其中n(bai)=f(phdr/bai)/msdr,其中phdr是高动态范围峰值亮度,msdr是标准动态范围光亮度画面的最大码字值,并且和是递减函数。在第二实施例中,基于背光值将高动态范围光亮度画面映射为标准动态范围光亮度画面包括:-将高动态范围光亮度画面除以bac;-对除以bac后的高动态范围光亮度画面应用映射函数f(.);-将经映射的高动态范围光亮度画面除以n(bac);其中和是递减函数,并且n(bac)=f(phdr/bac)/msdr,其中phdr是高动态范围峰值亮度,并且msdr是标准动态范围光亮度画面的最大码字值。在示例性实施例中,f(z)是函数a*ln(b+z)+c,其中a、b和c是恒定值,使得f(0)=0。有利地,a接近于0.45,b接近于0.12,并且c接近于0.95。有利地,高动态范围光亮度画面是从属于包括以下各项的集合的源获得的:-本地存储器;-存储接口;-通信接口;以及-画面捕获电路。有利地,将标准动态范围光亮度画面发送给属于包括以下各项的集合的目的地:-本地存储器;-存储接口;-通信接口;以及-显示设备。还公开了一种方法,包括:基于与高动态范围光亮度画面相关联的背光值来将标准动态范围光亮度画面映射为高动态范围光亮度画面。还公开了一种设备,包括至少一个处理器,该至少一个处理器被配置为基于与高动态范围光亮度画面相关联的背光值来将标准动态范围光亮度画面映射为高动态范围光亮度画面。有利地,该设备属于包括以下各项的集合:-移动设备;-通信设备;-游戏设备;-机顶盒;-电视机;-平板电脑(或平板计算机);-膝上型计算机;-显示器;以及-解码芯片。在第一实施例中,根据背光值将标准动态范围光亮度画面映射为高动态范围光亮度画面包括:基于背光值根据具有至少两个映射函数的集合确定映射函数;以及使用所确定的映射函数将标准动态范围光亮度画面映射为高动态范围光亮度画面,其中集合中的每个映射函数与不同的背光值相关联。有利地,基于背光值根据具有至少两个映射函数的集合确定映射函数包括:根据具有至少两个映射函数的集合中的至少两个映射函数内插或外推映射函数。在示例性实施例中,集合中的每个映射函数是光亮度的递增函数,并且映射函数的集合针对每个光亮度值是背光值的递增函数。根据具体特性,集合中的每个函数g-1(bai,l)被定义为bai*f-1(l*n(bai)),其中n(bai)=f(phdr/bai)/msdr,其中phdr是高动态范围峰值亮度,msdr是标准动态范围光亮度画面的最大码字值,并且和是递减函数。在第二实施例中,基于背光值bac将标准动态范围光亮度画面映射为高动态范围光亮度画面包括:-将标准动态范围光亮度画面乘以n(bac);-将映射函数f-1(.)应用于乘以n(bac)后的标准动态范围光亮度画面;-将经映射的标准动态范围光亮度画面乘以背光值bac;其中和是递减函数,并且n(bac)=f(phdr/bac)/msdr,其中phdr是高动态范围峰值亮度,并且msdr是标准动态范围光亮度画面的最大码字值。在示例性实施例中,函数f-1(.)是函数exp((x-c)/a)-b,其中a、b和c是恒定值,使得f-1(0)=0。有利地,a接近于0.45,b接近于0.12,并且c接近于0.95。有利地,标准动态范围光亮度画面是从属于包括以下各项的集合的源获得的:-本地存储器;-存储接口;-通信接口;以及-画面捕获电路。有利地,将高动态范围光亮度画面发送给属于包括以下各项的集合的目的地:-本地存储器;-存储接口;-通信接口;以及-显示设备。附图说明-图1示出了hdr到sdr映射函数的示例;-图2、图3和图4表示根据具体且非限制性实施例的用于将hdr光亮度画面映射为sdr光亮度画面的方法的流程图;-图5表示根据示例性且非限制性实施例的被配置为将hdr光亮度画面映射为sdr光亮度画面的hdr到sdr映射设备的示例性架构;-图6、图7和图8表示根据具体且非限制性实施例的用于将sdr光亮度画面映射为hdr光亮度画面的方法的流程图;-图9表示根据示例性且非限制性实施例的被配置为将sdr光亮度画面映射为hdr光亮度画面的sdr到hdr映射设备的示例性架构;-图10表示执行关于图2、图3和图4所公开的hdr到sdr映射方法之一的示例性编码设备;以及-图11表示执行关于图6、图7和图8所公开的sdr到hdr映射方法之一的示例性解码设备。具体实施方式hdr画面通常包括至少一个光亮度(或卢马(luma))分量和可能的色彩度(chrominance)(或色度(chroma))分量。在下文中,hdr画面的光亮度分量被称为hdr光亮度画面。hdr光亮度画面可以是从表示为rgb画面的hdr画面获得。在这种情况下,可以通过rgb分量的线性组合来获得hdr画面的光亮度分量yhdr。线性组合由itu-tbt.709或bt.2020建议定义。也可以使用rgb以外的其他格式来获得hdr光亮度画面。减小hdr画面的动态范围通常包括减小其光亮度分量的动态范围。这需要对映射函数进行定义。众所周知的映射函数是排他定义的,如杜比提出的pqoetf。因此,它们不适应于内容。映射函数定义在一个实施例中,定义了具有n个(至少两个)映射函数{g(ba,.)}ba的集合s,其中每个映射函数与不同的背光值ba相关联。背光值通常与hdr画面相关联,并且代表hdr画面的平均亮度。这里,术语背光通过与由诸如lcd面板的彩色面板制成的电视机和诸如led阵列的后置照明装置进行类比来使用。通常产生白光的后置装置用于照亮彩色面板,以向tv提供更多的亮度。结果,tv的光亮度是后置照明器的光亮度和彩色面板的光亮度的乘积。这种后置照明器通常被称为“背光”,其强度在某种程度上代表了整个场景的平均亮度。图1示出了这样的映射函数的示例g(ba,.):y→g(ba,y)=l,其中l是sdr光亮度值。每个映射函数关于第二变量递增,并且映射函数关于ba递减,即针对固定的y值,ba越小,g(ba,y)越高。这对于所有值y都成立。如图1所示,根据值ba,几个hdr光亮度值y可以对应于唯一sdr光亮度值lsdr。在线性光亮度域中,y通常是以尼特为单位的。一尼特在物理上对应于每平方米一坎德拉的光强度。峰值亮度phdr从hdr工作流提供。因此,phdr是像素的被hdr格式允许的最大亮度(例如,一千尼特)。为了保持场景之间的相对亮度一致性,即暗色hdr场景的sdr映射应当看起来比比较亮的hdr场景的sdr映射更暗,该峰值亮度phdr被映射到sdr工作流的最大sdr码字值msdr(在10比特的工作流中是1023)。这必须独立于场景内容(即,对于所有ba值)来完成。因此,映射函数被定义为使得g(ba,phdr)=msdr针对背光ba的所有可能值都成立。在峰值亮度phdr固定的情况下,较暗的hdr画面导致较低的背光值,并需要能够对较大光亮度范围进行编码的曲线g(ba,.)。基本上,范围是[b,phdr],其中b是画面的最暗部分的光亮度级别(以尼特为单位)。较暗的画面导致较小的b,从而导致较大的范围。由于曲线g(ba,.)将[b,phdr]映射到[0,msdr](在10比特工作流的情况下为1023),所以随着b的减小,并从而随着ba的减小,其平均陡度(即其导数)减小。由于曲线g(ba,.)从相同的最亮点(phdr,msdr)开始,所以如下所示,g(.,y)关于ba递减。针对固定的y,得到:ba1<ba2场景1比场景2暗=>g(ba1,.)的范围大于g(ba2,.)的范围=>g(ba1,.)的导数小于g(ba2,.)的导数=>g(ba1,.)>g(ba2,.),这是因为g(ba1,phdr)=g(ba2phdr)=msdr。因此,针对所有y,g(ba,y)是ba的递减函数。在具体实施例中,映射函数{g(ba,.)}ba被定义如下:g(ba,y)=msdrf(y/ba)/f(phdr/ba)=f(y/ba)/n(ba),其中n(ba)是取决于ba的归一化项,即n(ba)=f(phdr/ba)/msdr。在f是递增函数的情况下,针对任何ba,函数g也是y的递增函数。然而,并不是所有的函数f都导致关于ba递减的函数g。这里,提供了准则来确定g是否具有相对于ba的这种递减属性。首先,y是固定的,并且定义了新的变量z=phdr/ba≥0。因此,函数ψ被定义为ψ(z)=g(z,y)=f(yz/phdr)/f(z)其必须是z的递增函数。注意到,恒定的msdr>0已被丢弃,这是因为它在单调性中没有起任何作用。其次,α被定义为y/phdr,使得0≤α≤1。通过取上述表达式的对数,得到:lnψ(z)=lnf(αz)-lnf(z)其针对所有0≤α≤1必须是递增函数。假设f有足够的规律性以允许求导数,则该导数必须是正的,以确保递增属性。再进一步获得:(lnψ)’(z)≥0其中(lnψ)’(z)=α(lnf)’(αz)-(lnf)’(z)=:αh(αz)–h(z)其中h被定义为函数(lnf)’。通过写出h(z)=ζ(z)/z,即ζ被定义为乘积zh(z),得到:最后一个不等式对于任何0≤α≤1都成立。考虑到z是正的,这相当于说明ζ(z)是递减函数。准则简单地变为:ζ(z)=zh(z)=z(lnf)’(z)是递减函数。许多函数符合条件,这是因为它采取任何递减的ζ(z)并设置以下条件就足够了:例如,利用恒定函数ζ(z)=γ,得到f(z)=exp(γln(z))=zγ。另一个示例是ζ(z)=-αdzα(α>1),导致f(z)=exp(dzα),其中d是常数。在优选实施例中,f是由下式定义的slog函数:f(z)=slog(z)=a*ln(b+z)+c其中条件f(0)=0且a、b≥0。原点(0,0)处的条件导致f(z)与c无关并且等于aln(1+z/b)。满足如下准则:ζ(z)=z(lnf)’(z)=zf’(z)/f(z)=z/a(b+z)ln(1+z/b)。变量z’=z/b的变化导致ζ(z)=z’/a(1+z’)ln(1+z’)。该函数独立于已经被z’吸收的a>0或b>0关于z’递减。通过直接分析函数z’→z’/a(1+z’)ln(1+z’)可以很容易地证明这一点。因此,上文针对任何三元组(a、b、c)(其中,a、b>0且f(0)=0)定义的所有slog函数都符合关于ba递减属性。在图1上针对峰值phdr=5000尼特和关于10比特的映射,即msdr=1023,示出了这些函数。确定slog函数f的参数a、b、c,使得f(0)=0,f(1)=1,并且关于1的导数与伽马函数相同:f’(1)=γ。伽马函数由h:x->xγ定义。三个参数a、b、c可以被定义为γ的函数,即a(γ)、b(γ)和c(γ)。典型值如表1所示。γabc1/2.00.62750.25500.85751/2.40.47420.13820.93861/2.80.38610.08110.9699表1在有利的实施例中,接近于2.5的γ值在hdr压缩性能方面以及所获得的sdr照度的良好可视性方面是有效的。因此,3个参数可以有利地取下列值:a=0.44955114、b=0.12123691、c=0.94855684。在具体实施例中,a接近于0.45,即|a-0.45|<ε1,b接近于0.12,即|b-0.12|<ε2,c接近于0.95,即|c-0.95|<ε3,其中ε1、ε2和ε3是恒定值,例如等于10-1或10-2。可以使用其他值。针对具有离散的y值和ba值的集合,函数f(.)和g(ba,.)可以有利地以查找表的形式来定义。映射函数的集合有利地被离线定义,然后由编码器和解码器使用。phdr和msdr的值分别从hdr和srd工作流中得知。它们可以例如由系统层提供。可以定义逆函数f-1()和g-1(ba,.):log-gl→g-1(ba,l)=y。集合s’包括逆函数{g-1(ba,.)}ba。每个映射函数g-1(ba,.)关于第二变量l递增,并且映射函数关于ba递增,即针对固定的y值,ba越高,g-1(ba,l)越高。这对于所有值y都成立。在f(z)=aln(b+z)+c的情况下,f-1(z)=exp((x-c)/a)-b。针对具有离散的l值和ba值的集合,函数f-1(.)和g-1(ba,.)可有利地以查找表的形式来定义。在另一个优选实施例中,f是如下定义的名为log-g的函数:f(z)=log-g(z)=a.ln(1+(z(1/ga)/b0))其中ga是可以针对每一个内容(针对每个画面、针对每个场景、针对每个视频)调整的控制参数,并且b0是该函数的参数。b0的典型值为1.3、2.4、3.2、4。在具体实施例中,b0接近于1.3、2.4、3.2或4,即|b0-1.3|<ε1或|b0-2.4|<ε2或|b0-3.2|<ε3或|b0-4|<ε4,其中ε1、ε2、ε3和ε4是恒定值,例如等于10-1或10-2。可以使用其他值。在下文中,即使没有明确地指出,但是可以使用上述log-g函数来代替slog函数,并且还可以由查找表来定义上述log-g函数。log-g函数的逆函数f-1(.)被定义如下:f-1(z)=(b0.exp(y/a)–1)ga基于log-g函数,函数g(ba,y)如下:g(ba,y)=msdr.ln(1+((y/ba)(1/ga)/b0))/ln(1+((phdr/ba)(1/ga)/b0))并且g(ba,.)的逆函数g-1(ba,.)可以如下应用:针对[0,2n-1]中的x,g-1(ba,x)=ba.(b0.exp(x/scal–1))ga其中scal=2n/(1+((phdr/ba)(1/ga)/b0))其中n是用于表示信号的比特深度(例如10个比特)。hdr到sdr映射在下文中,所公开的针对画面的方法可以应用于画面序列,例如,视频。根据各种实施例,基于与hdr光亮度画面相关联的背光值ba将hdr光亮度画面映射为sdr光亮度画面。因此,从hdr到sdr的映射适应于内容。存在获得与hdr画面相关联的背光值的不同方式。例如,背光值是hdr光亮度画面的均值光亮度值。在一个变型中,可以在非线性域中获得背光值,以避免极端光亮度值的影响,特别是接近于峰值光亮度的非常亮的像素。因此,针对α<1,ba可以是在整个画面上对log(y)或yα的均值,其中y是一个像素的线性光亮度值。然而,应当理解,本原理不限于用于获得背光值的任何具体方法。图2表示根据具体且非限制性实施例的用于将hdr光亮度画面映射为sdr光亮度画面的方法的流程图。背光值bac与hdr画面相关联。有利地,该方法用于被配置为对hdr画面进行编码的编码器中。在步骤10中,根据具有如前所述的离线定义的至少两个映射函数的集合s来确定映射函数g(bac,.)。集合s包括为两个不同背光值定义的至少两个映射函数g(ba1,.)和gg(ba2,.)。在bac等于与集合s中的映射函数相关联的一个背光值的情况下,该映射函数是在下一步骤12中使用的映射函数。在bac与集合s中的映射函数的所有背光值不同的情况下,如图3所示对映射函数g(bac,.)进行内插。在步骤100中,识别s的两个映射函数g(bam,.)和g(ban,.),使得bam<bac<ban。在步骤102中,根据g(bam,.)和g(ban,.)对g(bac,.)进行内插。在映射函数被定义为查找表的情况下,针对查找表中的每个值yi,g(bac,yi)=λg(bam,yi)+(1-λ)g(ban,yi),其中λ=(bac-ban)/(bam-ban)。在bac比与s中的映射函数相关联的所有ba值更高(或者更低)的情况下,根据s中的两个映射函数(例如,s中的与两个最高(或者最低)ba值相关联的两个映射函数)对g(bac,.)进行外推。在步骤12中,使用所确定的映射函数g(bac,.)将hdr光亮度画面映射为sdr光亮度画面。sdr光亮度画面的每个像素l被设置为等于g(bac,y),其中y是hdr画面中的空间对应像素(共址的像素)。在所确定的映射函数g(bac,.)被表示为lut的情况下,hdr到sdr的映射可以包括内插。实际上,可以根据lut的值(例如,根据g(bac,yi)和g(bac,yj))对g(bac,y)进行内插,其中yi≤y≤yj。图4表示根据另一具体且非限制性实施例的用于将hdr光亮度画面映射为sdr光亮度画面的方法的流程图。在步骤20中,将hdr光亮度画面除以bac。具体地,每个像素值除以bac。在步骤22中,将映射函数f(.)应用于除法运算后的hdr光亮度画面。f()是如前所述的离线定义的已知函数。在具体实施例中,f()被定义为1dlut。在另一具体实施例中,函数f()被定义为slog函数aln(b+z)+c,其中a、b和c是恒定值。有利地,a=0.44955114、b=0.12123691、c=0.94855684。在具体实施例中,a接近于0.45,即|a-0.45|<ε1,b接近于0.12,即|b-0.12|<ε2,c接近于0.95,即|c-0.95|<ε3,其中ε1、ε2和ε3是恒定值,例如等于10-1或10-2。可以使用其他值。也可以使用log-g函数。slog函数f()或log-g也可以以1dlut的形式来定义。在步骤24中,将经映射的hdr光亮度画面除以n(bac)。获得的光亮度画面是sdr光亮度画面。n(bac)=f(phdr/bac)/msdr,其中phdr是hdr峰值亮度,并且msdr是最大码字值。当减小的动态范围为p个比特时,msdr=2p-1。当p=10个比特时,msdr=1023。sdr光亮度画面可以有利地被编码在比特流中。除了sdr光亮度画面之外,背光值bac和可能的n(bac)也可以被编码。关于色度的附加信息也可以被编码。图5表示根据示例性且非限制性实施例的被配置为将hdr光亮度画面映射为sdr光亮度画面的hdr到sdr映射设备1的示例性架构。映射设备1包括一个或多个处理器110,其可以包括例如cpu、gpu和/或dsp(数字信号处理器的英文首字母缩略词)以及内部存储器120(例如ram、rom、和/或eprom)。映射设备1包括一个或多个输入/输出接口130,每个接口130适于显示输出信息和/或允许用户输入命令和/或数据(例如键盘、鼠标、触摸板、网络摄像头);以及可以在映射设备1外部的电源140。映射设备1还可以包括一个或多个网络接口(未示出)。可以从源获得hdr光亮度画面。根据不同的实施例,源可以是但不限于:-本地存储器,例如视频存储器、ram、闪存、硬盘;-存储接口,例如与大容量存储设备、rom、光盘或磁性支撑件的接口;-通信接口,例如有线接口(例如总线接口、广域网接口、局域网接口)或无线接口(例如ieee802.11接口或蓝牙接口);以及-画面捕获电路(例如,诸如ccd(或电荷耦合器件)或cmos(或互补金属氧化物半导体)的传感器)。根据不同的实施例,可以将sdr光亮度画面发送到目的地。作为示例,sdr光亮度画面被存储在远程或本地存储器中,例如,视频存储器或ram、硬盘。在一个变型中,sdr光亮度画面被发送到存储接口,例如,与大容量存储设备、rom、闪存、光盘或磁性支撑件的接口和/或通过通信接口(例如,与点对点链路、通信总线、点对多点链路或广播网络的接口)传输。根据示例性且非限制性实施例,映射设备1还包括存储在存储器120中的计算机程序。该计算机程序包括指令,当由映射设备1特别地由处理器110执行指令时,该指令使映射设备1执行参考图2、图3或图4所述的方法。根据一个变型,计算机程序在映射设备1的外部存储在非瞬时数字数据支撑件上,例如存储在诸如本领域已知的hdd、cd-rom、dvd、只读和/或dvd驱动器和/或dvd读/写驱动器的外部存储介质上。因此,映射设备1包括用于读取计算机程序的机制。此外,映射设备1可以通过相应的usb端口(未示出)访问一个或多个通用串行总线(usb)型存储设备(例如,“记忆棒”)。根据示例性且非限制性实施例,映射设备1可以是但不限于:-移动设备;-通信设备;-游戏设备;-平板电脑(或平板计算机);-膝上型计算机;-静止画面相机;-摄像机;-编码芯片;-静止画面服务器;以及-视频服务器(例如广播服务器、视频点播服务器或网络服务器)。映射设备1有利地是被配置为对比特流中的sdr画面进行编码的编码器的一部分。sdr到hdr映射图6表示根据具体且非限制性实施例的用于将sdr光亮度画面映射为hdr光亮度画面的方法的流程图。有利地,该方法用于被配置为对hdr画面进行解码的解码器中。在步骤30中,根据具有如前所述的离线定义的至少两个映射函数的集合s’来确定映射函数g-1(bac,.)。集合s’包括为两个不同的背光值定义的至少两个映射函数g-1(ba1,.)和g-1(ba2,.)。在bac等于与集合s’中的映射函数相关联的一个背光值的情况下,该映射函数是在下一步骤32中使用的映射函数。在bac与集合s’中的映射函数的所有背光值不同的情况下,如图7所示,对映射函数g-1(bac,.)进行内插。在步骤300中,识别s’中的两个映射函数g-1(bam,.)和g-1(ban,.),使得bam<bac<ban。在步骤302中,根据g-1(bam,.)和g-1(ban,.)对g(bac,.)进行内插。在映射函数被定义为查找表的情况下,针对查找表中的每个值li,g-1(bac,li)=λg-1(bam,li)+(1-λ)g-1(ban,li),其中λ=(bac-ban)/(bam-ban)。在bac比与s’中的映射函数相关联的所有ba值更高(或者更低)的情况下,根据s’中的两个映射函数(例如,s中的与两个最高(或者最低)ba值相关联的两个映射函数)对g-1(bac,.)进行外推。在步骤32中,使用所确定的映射函数g-1(bac,.)将sdr光亮度画面映射为hdr光亮度画面。将hdr光亮度画面的每个像素y设置为等于g-1(bac,l),其中l是sdr画面中的空间对应像素(共址的像素)。在所确定的映射函数g-1(bac,.)被表示为lut的情况下,sdr到hdr映射可以包括内插。实际上,可以根据lut的值(例如,根据g-1(bac,li)和g-1(bac,lj))对g-1(bac,l)进行内插,其中li≤l≤lj。图8表示根据另一具体且非限制性实施例的用于将sdr光亮度画面映射为hdr光亮度画面的方法的流程图。有利地,该方法用于被配置为对hdr画面进行编码的编码器中。在步骤40中,将sdr光亮度画面乘以n(bac)。具体地,每个像素值l乘以n(bac),其中n(bac)=f(phdr/bac)/msdr,其中phdr是hdr峰值亮度,并且msdr是最大码字值。当减小的动态范围为p个比特时,msdr=2p-1。当p=10个比特时,msdr=1023。在步骤42中,将映射函数f-1(.)应用于乘法运算后的sdr光亮度画面。f-1()是如前所述的离线定义的已知函数。在具体实施例中,f-1()被定义为1dlut。在另一具体实施例中,函数f-1()被定义为slog函数的逆函数:f-1(z)=exp((x-c)/a)-b,其中a、b和c是恒定值。有利地,a=0.44955114、b=0.12123691、c=0.94855684。在具体实施例中,a接近于0.45,即|a-0.45|<ε1,b接近于0.12,即|b-0.12|<ε2,c接近于0.95,即|c-0.95|<ε3,ε1、ε2和ε3是恒定值,例如等于10-1或10-2。可以使用其他值。也可以使用log-g函数的逆代替slog函数的逆。逆slog函数或逆log-g函数也可以以1dlut的形式来定义。在步骤44中,将经映射的sdr光亮度画面乘以bac。获得的光亮度画面是hdr光亮度画面。在解码的上下文中,除了光亮度sdr画面之外,还可以从比特流中解码bac和可能的n(bac)的值。可以进一步对色度信息进行解码,以便重建完整的hdr画面。图9表示根据示例性且非限制性实施例的被配置为将sdr光亮度画面映射为hdr光亮度画面的sdr到hdr映射设备2的示例性架构。映射设备2包括一个或多个处理器110,其可以包括例如cpu、gpu和/或dsp(数字信号处理器的英文首字母缩略词)以及内部存储器220(例如ram、rom、和/或eprom)。映射设备2包括一个或多个输入/输出接口230,每个接口230适于显示输出信息和/或允许用户输入命令和/或数据(例如键盘、鼠标、触摸板、网络摄像头);以及可以在映射设备2外部的电源240。映射设备2还可以包括一个或多个网络接口(未示出)。可以从源获得sdr光亮度画面。根据不同的实施例,源可以是但不限于:-本地存储器,例如视频存储器、ram、闪存、硬盘;-存储接口,例如与大容量存储设备、rom、光盘或磁性支撑件的接口;-通信接口,例如有线接口(例如总线接口、广域网接口、局域网接口)或无线接口(例如ieee802.11接口或蓝牙接口);以及-画面捕获电路(例如,诸如ccd(或电荷耦合器件)或cmos(或互补金属氧化物半导体)的传感器)。根据不同的实施例,可以将hdr光亮度画面发送到目的地,例如,hdr显示设备。作为示例,hdr光亮度画面被存储在远程或本地存储器中,例如,视频存储器或ram、硬盘。在一个变型中,hdr光亮度画面被发送到存储接口,例如,与大容量存储设备、rom、闪存、光盘或磁性支撑件的接口和/或通过通信接口(例如,与点对点链路、通信总线、点对多点链路或广播网络的接口)传输。根据示例性且非限制性实施例,映射设备2还包括存储在存储器220中的计算机程序。该计算机程序包括指令,当由映射设备2特别地由处理器210执行指令时,该指令使映射设备2执行参考图6、图7或图8所述的方法。根据一个变型,计算机程序在映射设备2的外部存储在非瞬时数字数据支撑件上,例如存储在诸如本领域已知的hdd、cd-rom、dvd、只读和/或dvd驱动器和/或dvd读/写驱动器的外部存储介质上。因此,映射设备2包括用于读取计算机程序的机制。此外,映射设备2可以通过相应的usb端口(未示出)访问一个或多个通用串行总线(usb)型存储设备(例如,“记忆棒”)。根据示例性且非限制性实施例,映射设备2可以是但不限于:-移动设备;-通信设备;-游戏设备;-机顶盒;-电视机;-平板电脑(或平板计算机);-膝上型计算机;-显示器;以及-解码芯片。映射设备2有利地是被配置为对比特流中的hdr画面进行解码的编码器的一部分。编码器图10表示执行关于图2、图3和图4所公开的hdr到sdr映射方法之一的示例性编码设备。编码器300接收hdr画面。由映射电路302使用与hdr画面相关联的背光值bac将接收的hdr画面(光亮度分量和可能的色度分量)映射为sdr画面。具体地,映射电路302被配置为根据关于图2、图3或图4公开的映射方法将hdr光亮度画面映射为sdr光亮度画面。映射电路302连接到编码电路304。编码电路304被配置为将sdr画面和背光值bac编码在比特流中。在一个变型中,编码电路304还被配置为对n(bac)进行编码。例如,编码电路是hevcmain10编码器。可以通过使用专用sei消息来对值bac进行编码,或者通过将值bac的值作为片首部放在首部中来对值bac进行编码。在一个变型中,可以以非规范的方式通过将值bac的值隐藏在编码数据结构中(例如在四叉树数据中)来对值bac进行编码。还可以在比特流中对色度信息进行编码,以便对完整的sdr画面进行编码。比特流可以被发送到目的地,例如,远程解码设备。作为示例,比特流被存储在远程或本地存储器中,例如,视频存储器或ram、硬盘。在一个变型中,比特流被发送到存储接口,例如,与大容量存储设备、rom、闪存、光盘或磁性支撑件的接口和/或通过通信接口(例如,与点对点链路、通信总线、点对多点链路或广播网络的接口)传输。在具体实施例中,编码器300包括一个或多个处理器,其可以包括例如cpu、gpu和/或dsp(数字信号处理器的英文首字母缩略词)以及内部存储器(例如ram、rom、和/或eprom)。编码器300包括一个或多个输入/输出接口,每个接口适于显示输出信息和/或允许用户输入命令和/或数据(例如键盘、鼠标、触摸板、网络摄像头);以及可以在编码器300外部的电源。编码器300还可以包括一个或多个网络接口(未示出)。解码器图11表示执行关于图6、图7和图8所公开的sdr到hdr映射方法之一的示例性解码设备。然后,可以由第一解码器400接收比特流。第一解码器400被配置为对可以由sdr显示器402直接显示的sdr画面进行解码。在一个变型中,比特流由第二解码器404接收。所接收的比特流由解码电路406解码成sdr画面和背光值bac。根据解码的bac计算值n(bac)。在一个变型中,从比特流解码值n(bac)。sdr画面包括至少一个光亮度分量(sdr光亮度画面)和可能的色度分量。解码电路406连接到映射电路408。由映射电路406使用与hdr画面相关联的解码的背光值bac将sdr光亮度画面映射为hdr光亮度画面。具体地,映射电路408被配置为根据关于图6、图7或图8所公开的映射方法将sdr光亮度画面映射为hdr光亮度画面。例如,解码电路406和第一解码器400是hevcmain10解码器。可以对附加色度信息进行解码,以解码完整的hdr画面。解码的hdr画面可以被发送到目的地,例如,hdr显示设备410。作为示例,比特流存储在远程或本地存储器中,例如,视频存储器或ram、硬盘。在一个变型中,比特流被发送到存储接口,例如,与大容量存储设备、rom、闪存、光盘或磁性支撑件的接口和/或通过通信接口(例如,与点对点链路、通信总线、点对多点链路或广播网络的接口)传输。在具体实施例中,第二解码器404包括一个或多个处理器,其可以包括例如cpu、gpu和/或dsp(数字信号处理器的英文首字母缩略词)以及内部存储器120(例如ram、rom、和/或eprom)。第二解码器404包括一个或多个输入/输出接口,每个接口适于显示输出信息和/或允许用户输入命令和/或数据(例如键盘、鼠标、触摸板、网络摄像头);以及可以在第二解码器404外部的电源。第二解码器404还可以包括一个或多个网络接口(未示出)。本文描述的实现可以在例如方法或处理、装置、软件程序、数据流或信号中实现。即使仅在单一实现形式的上下文中讨论(例如,仅作为方法或设备讨论),所讨论的特征的实现也可以以其他形式(例如,程序)来实现。例如,可以用适合的硬件、软件和固件来实现装置。这些方法可以在诸如处理器的装置中实现,所述装置通常是指处理设备,包括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,例如计算机、蜂窝电话、便携式/个人数字助理(“pda”)以及便于终端用户之间的信息通信的其他设备。本文描述的各种处理和特征的实现可以体现在各种不同的装备或应用中,特别是例如装备或应用中。这种装备的示例包括编码器、解码器、对来自解码器的输出进行处理的后处理器、向编码器提供输入的预处理器、视频编码器、视频解码器、视频编解码器、网络服务器、机顶盒、膝上型计算机、个人计算机、蜂窝电话、pda和其他通信设备。应该清楚,装备可能是移动的,甚至安装在移动车辆中。另外,方法可以由处理器执行指令来实现,并且这样的指令(和/或通过实现产生的数据值)可以存储在处理器可读介质上,例如集成电路、软件载体或其他存储设备,例如硬盘、压缩磁盘(“cd”)、光盘(例如,通常称为数字通用盘或数字视频盘的dvd)、随机存取存储器(“ram”)或只读存储器(“rom”)。指令可以形成有形地体现在处理器可读介质上的应用程序。指令可以是例如硬件、固件、软件或组合的形式。指令可以在例如操作系统、单独的应用或两者的组合中找到。因此,处理器可以被表征为例如被配置为执行处理的设备和包括具有用于执行处理的指令的处理器可读介质(诸如存储设备)的设备。此外,除了指示或代替指令,处理器可读介质可以存储通过实现产生的数据值。如本领域技术人员显而易见的,实现可以产生格式化为携带可能例如存储或发送的信息的各种信号。信息可以包括例如用于执行方法的指令、或者由所描述的实现之一产生的数据。例如,可以将信号格式化为将用于写入或读取所述实施例的语法的规则作为数据进行携带或者将由所述实施例写入的实际语法值作为数据进行携带。这样的信号可以被格式化为例如电磁波(例如,使用频谱的射频部分)或基带信号。格式化可以包括例如对数据流进行编码并且利用编码的数据流来调制载波。信号携带的信息可以是例如模拟或数字信息。信号可以通过已知的各种不同的有线或无线链路传输。信号可以存储在处理器可读介质上。已经描述了许多实现。然而,应当理解,可以进行各种修改。例如,可以组合、补充、修改或移除不同实现的元素以产生其他实现。此外,普通技术人员将理解,其他结构和处理可以替代所公开的结构和处理,并且所得到的实现将以至少基本上相同的方式执行至少基本上相同的功能,以实现至少与所公开的实现基本相同的结果。因此,本申请考虑了这些和其他实现。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1