用于编码高动态范围帧以及施加的低动态范围帧的方法和设备与流程

文档序号:11139325阅读:295来源:国知局
本公开一般涉及帧/视频编码和解码。尤其是,本公开的
技术领域
:涉及像素值属于高动态范围的帧以及像素值属于较低动态范围的帧的编码/解码。
背景技术
::本部分旨在向读者介绍本领域的各个方面,其可能涉及下面描述和/或请求保护的本公开的各个方面。相信此讨论有助于向读者提供背景信息以便于更好地理解本公开的各个方面。因此,应当理解,从此角度阅读这些陈述,而非认可其为现有技术。标准动态范围帧(SDR帧)是用有限数目的比特(通常为8或10)表示亮度值的帧。这一有限的表示不允许正确地呈现小的信号变化,特别是在明暗亮度区域内。在高动态范围帧(HDR帧)中,扩展所述信号表示以维持所述信号在其整个范围内的高精确性。在HDR帧中,通常用浮点格式(对于每个分量32比特或者16比特,即浮点或半浮点)表示像素值,最流行的格式是openEXR半浮点格式(每RGB分量16比特,即每像素48比特)或者用具有长表示的整数,一般至少为16比特。典型的用于编码HDR帧的方法是减少所述帧的动态范围,以通过传统的编码策略(最初配置为编码SDR帧)编码所述帧。根据公知的方法,根据输入的HDR帧的亮度分量来确定背光帧。接着,通过由所述背光帧划分输入的HDR帧来获取残差帧,所述背光帧和残差帧均通过比如H.264/AVC((“用于通用视听服务的高级视频编码”,H系列:视听以及多媒体系统,推荐ITU-TH.264,ITU电信标准部分,2012年1月))或者HEVC、SHVC(“高效视频编码”,H系列:视听以及多媒体系统,推荐ITU-TH.265,ITU电信标准化部分,2014年10月)的传统编码器来编码。此种编码方法通过由根据HDR帧的亮度分量所获取的背光帧划分输入的HDR帧来自动生成SDR帧。结果是,当施加SDR帧,即作为编码的输入且也要被编码时,此种编码方法并不适合,因为实际上没有机会根据(在视觉内容方面)足够接近所施加的SDR帧的HDR帧得到自动的低动态范围帧。例如,这发生在期望从摄影棚(studio)获取两个不同颜色分级的面向电影的使用情况下:一个用于根据HDR帧获取的SDR帧,以及一个用于HDR帧自身。那么,实际上不可能根据普通的用于HDR帧编码的基于背光的方法得到(在视觉内容方面)足够接近艺术级别的SDR帧的自动SDR帧(通过由背光帧划分SDR帧)。技术实现要素:本公开提出了使用一种用于编码帧的方法来弥补现有技术的一些缺点,所述方法包括:-根据所述帧确定背光帧;-响应所述帧和背光帧计算残差帧;以及-使用根据施加帧计算的残差帧的预测值预测编码所述残差帧,所述施加帧是要编码的帧的低动态版本。由于使用根据在视觉内容方面类似于所述残差帧的施加SDR帧所获取的预测值对所述残差帧进行预测编码,所以提供了一种用于编码HDR帧和施加的SDR帧的高效方法。这减少了要编码的残差帧的动态性,因而与独立编码施加的SDR帧和HDR帧的编码方法相比,提高了编码效率。而且,在上述面向电影的用例中,为所述HDR帧和施加的SDR帧保留艺术意图(颜色等级等)。接下来,该方法仅使用低至中等比特深度的编码器,一般为8-12比特,这可以确保向后兼容普通基础设施。根据一个实施例,根据所述施加帧的解码版本计算所述残差帧的预测值。根据一个实施例,计算所述残差帧的预测值包括通过颜色映射函数将施加帧的解码版本映射到所述残差帧。根据一个实施例,所述颜色映射函数使用3D颜色查找表。根据一个实施例,进一步根据所述施加帧确定所述背光帧。根据一个实施例,确定所述背光帧包括通过帧IMF的分量划分所述帧的每个分量。根据一个实施例,该方法进一步包括在预测编码前映射所述残差帧,以及在确定所述背光帧之前逆映射所述施加帧的每个分量。根据一个实施例,预测编码所述残差帧遵从SHVC标准。本公开进一步涉及根据至少一个比特流解码帧的方法。该方法包括:-通过至少部分解码比特流获取背光帧;-通过至少部分解码比特流获取解码的施加帧,所述解码的施加帧为要解码的帧的低动态版本;-根据所解码的施加帧获取预测值;-通过至少部分解码比特流以及通过使用根据所解码的施加帧所获取的预测值,对解码的残差帧进行预测解码;以及-响应所解码的残差帧和解码的背光帧对所述帧进行解码。根据一个实施例,该方法进一步包括:-通过至少部分解码比特流,获取涉及3D颜色LUT的参数;以及-根据所解码的施加帧和获取的参数获取所述预测值。根据一个实施例,该预测值包括用于3D颜色LUT的每个区域的特定预测值。根据一个实施例,对解码的残差帧进行预测解码遵从SHVC标准。根据它的其余方面,本公开涉及一种包括配置为实施上述方法的处理器的设备、一种包括当此程序在计算机上执行时执行上述方法步骤的程序代码指令的计算机程序产品、一种其中存储了用于使处理器至少执行上述方法的步骤的指令的处理器可读介质以及一种非瞬时性存储介质,其携有用于当所述程序在计算设备上执行时执行上述方法步骤的程序代码指令。根据以下结合附图对优选实施例的描述,本公开的具体特性以及本公开的其它目标、优点、特征以及用途将变得明显。附图说明参考下述附图描述实施例:-图1示出了根据本原理的示例、编码帧I的方法的步骤的框图;-图2示出了根据本原理的示例、用于编码帧I的方法的步骤的框图;-图3示出了根据本原理的示例的方法的步骤的框图;-图4示出了根据本原理的示例的方法的步骤的框图;-图5示出了根据本原理的示例的方法的步骤的框图;-图6描述了根据本原理的示例、用于创建3D颜色LUT的方法的流程图;-图7-8示出了3D颜色LUT的示例;-图9示出了当颜色映射函数使用3D颜色LUT时步骤109的子步骤的图;-图10示出了根据本原理的示例、用于解码表示通过由背光帧划分帧所计算的残差帧的比特流的方法的步骤的框图;-图11示出了设备架构的一个示例;以及-图12示出了在通信网络上通信的两个远程设备。具体实施方式下文将参考示出本公开的实施例的附图、更加全面地描述本公开。然而,本公开可以以许多替代形式来体现,且不应当解释为限于本文记载的实施例。因此,尽管本公开可以允许各种修改及替代形式,但其具体实施例通过举例在附图中示出,且本文将详细描述。然而,应当理解无意将本公开限于所公开的特定形式,而是相反,如权利要求所定义的,本公开覆盖了落入本公开的精神和范围内的所有修改、等同体以及替代方式。整个附图描述中类似的编号指的是类似的元件。本文所使用的术语只出于描述特定实施例的目的,不旨在限制本公开。如本文所用的,单数形式“一个”、“某个”以及“所述”旨在也包括复数形式,除非上下文另外标明。进一步理解术语“组成”、“包含”和/或“包括”用在说明书中时,指明存在陈述的特征、整数、步骤、操作、元件和/或部件,但是并没有排除存在或添加一个或多个其它特征、整数、步骤、操作、元件、部件和/或组。而且,当一个元件被称为“响应”或“连接到”另一个元件时,它可以直接响应或连接到其它组件,或可以存在介于中间的元件。相比之下,当一个元件被称为“直接响应”或“直接被连接到”其它元件时,不存在介于中间的元件。如本文所使用的,术语“和/或”包括一个或多个关联的列出项的任意及所有组合,以及可以缩写为“/”。要理解尽管本文可以使用术语第一、第二等来描述各种元件,但这些元件不该受限于这些术语。这些术语仅用于区分一个元件与另一元件。例如,第一元件可被称作第二元件,以及类似地,第二元件可被称作第一元件,而不违反本公开的教导。尽管某些图包括示出通信的主要方向的通信路径上的箭头,但要理解通信可以在与所描述的箭头相反的方向进行。某些实施例是关于框图以及操作流程图描述的,其中每个框代表一个电路元件、模块或包含用于执行指定逻辑功能的一个或多个可执行指令的部分代码。还应当注意的是,在其它实现方式中,所述框中标记的功能可以不按标记的次序发生。例如,连续显示的两个框可能实际上基本并行执行,或所述框有时可以按相反次序执行,这取决于涉及的功能。本文引用的“一个实施例”或“某个实施例”意指结合所述实施例描述的特定特征、结构或特性可以包含在本公开的至少一种实现方式中。在说明书中的不同位置所出现的短语“一个实施例中”或“根据一个实施例”未必都指同一个实施例,也不是必须与其它实施例互斥的独立或替代实施例。权利要求中出现的引用编号仅是举例,对权利要求的范围不起限定作用。尽管未明确描述,但是可以以任意组合或子组合使用本实施例及其变体。本公开描述为用于编码/解码帧,但是扩展到帧序列(视频)的编码/解码,因为如下所述,所述序列的每个帧被顺序地编码/解码。图1示出了根据本原理的示例、用于编码帧I的方法的步骤的框图。在步骤100中,模块IC获取要编码的帧I的至少一个分量Ij。接下来,分量Ij=1为帧I的亮度分量,以及分量Ij≠1为要编码的帧I的颜色分量。例如,当帧I属于颜色空间(X,Y,Z)时,通过分量Y的变换f(.)获取亮度分量I1,例如I1=f(Y)。当帧I属于颜色空间(R,G,B)时,通过由以下所给出的线性组合函数获取亮度分量I1,例如在709色域内:I1=g(0.2127.R+0.7152.G+0.0722.B)在步骤101中,模块BAM根据帧I的每个分量Ij确定背光帧Ba的分量Baj。根据图3所示的步骤101的实施例,模块BI将背光帧Ba的分量Baj确定为以下给出的形态函数的加权线性组合:给出。是用于分量Baj的加权系数。因此,根据分量Ij确定背光帧Ba的分量Baj在于找到最佳权重系数(以及如果预先未知,可能还有最佳形态函数),为的是背光帧Ba的分量Baj拟合分量IJ。有许多公知方法来为分量Baj找到权重系数例如,一种方式是可以使用最小均方差方法来最小化分量Baj和分量IJ之间的均方差。本公开并不限于获取背光帧Ba的任何具体方法。可以注意到,为了最佳拟合所述亮度分量,所述形态函数可以是显示背光的真实物理响应(例如由LED制成,然后每个形态函数对应一个LED的响应)或者可以是纯数学结构。根据该实施例,从步骤101输出的背光帧Ba是包含了方程(1)所给出的至少一个分量的背光帧Ba。根据图4所示的步骤101的实施例,模块BM利用通过模块HL获取的平均值Lmean,调制背光帧Ba的至少一个分量Baj(由方程(1)给出)。利用帧分量的平均值调制所述背光帧的至少一个分量提高了所述帧的分量和残差帧的分量之间的全局亮度相干性,例如,所述帧中的亮区在所述残差帧中发亮,以及所述帧中的暗区在所述残差帧中发暗。利用同一个平均值调制多个分量,不用修改这些分量的色调即可以降低它们的动态范围。根据该实施例,从步骤101中输出的背光帧Ba为调制的背光帧。根据一个实施例,模块HL配置为在整个亮度分量I1之上计算平均值Lmean。根据该实施例的变体,模块HL配置为通过计算平均值Lmeanβ为小于1的系数,以及E(X)为分量I1的数学期望值(均值)。当帧I属于帧序列时,该变体是有利的,这是由于其防止平均值Lmean受到具有通常导致非常讨厌的时间平均光度不稳定性的极高值的少数像素的影响,。本公开不限于用于计算平均值Lmean的具体实施例。根据图5所示的一个变体,通过亮度平均值E(Ba1),模块N归一化背光帧Ba(由等式(1)给出)的至少一个分量Baj,这样获得用于所述帧(若帧I属于帧序列,则用于所有帧)的中间灰度一致分量然后,模块BM配置为通过使用下述关系,利用分量Ij的平均值Lmean调制中间灰度一致分量cstmod为调制系数以及α为另一个小于1的调制系数,一般在0.3和0.5之间。根据该变体,从步骤101输出的背光帧BaI为包括了方程(2)所给出的至少一个分量的背光帧。可以注意到,调制系数cstmod被调节得到所述残差帧的好看的亮度,以及高度依赖获取背光帧的过程。例如,对于由最小均方差获得的所有分量,cstmod≈1.7。实际上,通过线性,所有调制背光帧的分量Baj的操作均适用于作为将系数变换为新系数的校正因子的背光系数这样得到:在步骤102(图1)中,确定从步骤101输出的背光帧Ba所需的数据由编码器ENC1编码,且加入可以被存储和/或在通信网络上传输的比特流F1中。例如,当使用已知的非自适应性形态函数时,要编码的数据受限于权重系数或者但是形态函数ψi仍可以是未知的先验,然后在比特流F1中编码,比如在用于较佳拟合的略微最佳的数学结构的情况下。因此,在比特流F1中编码所有的权重系数或者(以及可能有形态函数)有利地,在编码前量化权重系数或者以减少比特流F1的大小。根据另一个实施例,将背光帧Ba的每个分量Baj看作通过编码器ENC1在比特流F1中进行编码的画面。在步骤103中,通过由背光帧的解码版本划分帧I来计算残差帧Res。利用背光帧的解码版本来确保编码器和解码器侧上的背光帧相同是有利的,从而使最终的解码帧更加精确。更精确地,利用背光帧分量的解码版本划分从模块IC获取的帧I的每个分量Ij。该划分按每像素进行。例如,当在颜色空间(R,G,B)中表示帧I的分量R、G或B时,如下获取分量Res1、Res2以及Res3:例如,当在颜色空间(X,Y,Z)中表示帧I的分量X、Y或Z时,如下获取分量Res1、Res2以及Res3:在步骤104中,根据一个实施例,通过利用解码器DEC1至少部分解码比特流F1,来获取背光帧的至少一个分量的解码版本如上所释,获取背光帧的分量,步骤101的输出,所需要的数据已被编码(步骤102),接着通过至少部分解码比特流F1获得。接着上面所给的示例,然后获取权重系数(以及可能还有形态函数)作为步骤104的输出。然后,在步骤105中,模块BAG根据权重系数以及某些已知的非自适应性形态函数或以下给出的形态函数生成背光帧的分量的解码版本根据另一示例,通过解码比特流F1直接获得所述背光帧的分量的解码版本在步骤106中,模块MAP通过色调映射残差帧Res的至少一个分量Resj,获取至少一个色调映射分量Resjv,以便得到由所述至少一个色调映射的分量Resjv构造的可视残差帧Resv。由于残差帧Res的动态范围太高且由于此残差帧Res的解码版本显示了很高的可视伪像,所以看上去残差帧Res可能不可见。从相较于要编码的帧中的原始场景、在色调映射的残差帧艺术上呈现场景的相当好且一致地色调映射的版本的意义上来说,对所述残差帧的至少一个分量的色调映射提供了可视的残差帧。因此,该方法是向后兼容的,因为可视的残差帧可以由不能处理高动态范围的传统装置解码和/或显示。根据编码的残差帧自动提供可视的SDR帧的能力为一个关键优势,因为它允许分发HDR帧(视频)给装备了标准SDR电视以及不是专用于后处理背光帧和残差帧以解码HDR帧(视频)的接收设备的客户。而且,通过这种方法编码HDR帧会导致高效的编码策略,因为色调映射的残差帧Res是高度空间关联的(以及时间上与同一帧序列的其它帧相关联),而且背光帧是独立编码的。因此由于色调映射的残差帧压缩率高以及编码背光帧的数据量少,达到编码增益。本公开不限于任何具体的映射算子。这一单独条件是色调映射算子要可逆。例如,可以使用Reinhard所定义的色调映射算子(Reinhard,E.,Stark,M.,Shirley,P.,以及Ferwerda,J.,“Photographictonereproductionfordigitalframes”,ACMTransactionsonGraphics21(2002年7月))或Boitard,R.,Bouatouch,K.,Cozot,R.,Thoreau,D.,以及Gruson,A.(2012)。用于视频色调映射的时间相干性。A.M.J.vanEijk,C.C.Davis,S.M.Hammel以及A.K.Majumdar(Eds),SPIE学报8499,ApplicationofDigitalFrameProcessing(p.84990D-84990D-10))。根据步骤106的实施例,映射残差帧的分量Resj包括根据残差帧的分量Res1的像素值的伽马校正或者Slog校正。随后,例如由:给出可视的残差帧Resv的分量A为常数值,γj为等于例如1/2.4的伽马曲线的系数。或者,例如由:给出可视的残差帧Resv的分量aj,bJ,cj为确定的SLog曲线的系数,这样0和1是不变的,且SLog曲线的导数当其被伽马曲线延伸至1以下时。因此,aj,bJ,cj是参数γj的函数。根据一个实施例,伽马-Slog曲线相对残差帧的分量的参数γj通过编码器ENC1编码,且加入比特流F1。对残差帧Res的亮度分量施加伽马校正会提升暗域,但不会将高光降得足够低以避免亮像素燃烧(burning)。对残差帧Res的亮度分量施加Slog校正会把高光降得足够低,但不会提升暗域。然后,根据步骤106的优选实施例,模块MAP根据残差帧Res的分量的像素值,施加伽马校正或Slog校正。伽马及SLog校正使得高精度地根据残差帧和背光帧重构HDR帧,这样不会丢失明暗信息。而且,伽马及S-log校正避免了重构的HRD帧和可视的残差帧中的平削区域。例如,当残差帧Res分量的像素值低于阈值(等于1),应用伽马校正,否则应用Slog校正。通过构建,可视的残差帧Resv分量通常具有或多或少接近1的平均值,这取决于帧I的关联分量的亮度,使得使用上述伽马-Slog组合特别有效。根据该方法的实施例,在步骤107中,模块SCA在通过用比例因子cstscaling乘以残差帧的至少一个分量Resj或者来编码(步骤110)之前,而缩放所述分量。缩放残差帧的分量j会将根据残差帧获取的帧的平均灰度置于用于查看和编码的足够的值。接着,根据该方法的实施例,由以下:给出残差帧Ress的结果分量优选地,比例因子cstscaling定义为将残差帧分量的值从0映射到最大值2N-1,N是允许作为用于编码器ENC2编码的输入的比特数。这是通过将亮度值1(大致为残差帧分量的平均值)映射到中间灰度亮度值2N-1而自然获取的。因此,对于具有标准比特数N=8的残差帧分量,等于120的比例因子是非常一致的值,因为非常接近处于27=128的中性灰度。根据该方法的实施例,在步骤108中,模块CLI在编码之前削减残差帧的至少一个分量,以将它的动态范围限制为例如根据编码器ENC2的能力所定义的目标动态范围TDR。削减所述残差帧会确保有限数目的比特以及允许使用传统编码/解码策略对它编码。而且,该编码/解码策略向后兼容现有的基础设施(编解码器、显示器、分布式信道等),因为仅具有一般为8-10比特的低动态范围的残差帧才可以在这种基础设施上传输以显示帧的低动态范围版本。在专有的基础设施上,一侧容器中可以携有包括背光数据的小比特流,以分发帧(例如HDR帧)的初始版本。根据这最后的实施例,例如根据该方法的实施例,由:给出产生的残差帧Resc的分量本公开并不限于这类削减(max(.)),而是扩展到任意种类的削减。根据该方法的实施例,结合缩放和削减实施例将生产由:给出的残差帧Ressc的分量所述残差帧的分量的映射和缩放为参数化过程。参数可以是固定的或不固定的,在后者的情形中,它们可以通过编码器ENC1在比特流F1中编码。根据该方法的实施例,伽马校正的常数值γ、比例因子cstscaling可以是在比特流F1中进行编码的参数。可以注意到,参数α,cstmod,cstscaling,γj,β的选择为所述映射的选择给出了空间,该映射适合于在后期制作以及颜色分级方面最遵循专家品味的内容。另一方面,可以定义通用参数以让各种各样的帧都接受。然后,没有参数在比特流F1中编码。根据本公开,在步骤110中,残差帧Res(Resv,Ress或者Resc)通过编码器ENC2、利用预测值Pred预测编码,并加入可以存储和/或在通信网络上传输的比特流F2中。根据本公开,在步骤109中,根据施加帧IMP的解码版本步骤112的输出,计算残差帧Res(Resv,Ress或者Resc)的预测值Pred。术语“施加”代表帧IMF不同于残差帧Res(Resv,Ress或者Resc)。帧IMF为帧I的低动态范围版本。帧IMF以及帧I可以由艺术家进行不同的颜色分级,和/或在不同的颜色空间(例如,REC709用于帧IMF,以及REC.2020颜色空间用于帧I)中表示。根据步骤109的实施例,计算预测值Pred包括通过颜色映射函数(CMF),将施加帧IMF的解码版本映射至残差帧Res(Resv,Ress或者Resc)。这提高了预测编码器ENC2的编码效率,因为接着减少了残差帧和预测值Pred之间计算的残差的动态。颜色映射函数CMF可以取决于帧I和IMF的颜色空间,也取决于内容本身。实际上,创建帧内容时,取决于内容创建者的艺术意图,对帧I或帧IMF或两者进行某些颜色校正(颜色分级等)。这些施加于帧I和IMF的分量的颜色变换可能不同。然后,在一般情形下,颜色映射函数CMF不简化为简单的确定性颜色空间变换。根据一个实施例,颜色映射函数CMF使用3D颜色查找表(3D颜色LUT),例如用于语法的HEVC小节F.7.3.2.3.5“Colourmappingoctantssyntax”中所定义的,以及用于语义的HEVC小节F.7.4.3.3.5“Colourmappingoctantssemantics”中所定义的)。对于3D颜色空间,3D颜色LUT通常表示为如图7所描述的卦限栅格。所述栅格将颜色空间划分成N个区域Ri,i∈[0,N-1]、N为整数。所述区域分割可以是对称或不对称(不等分)的。一个区域还可以被称之为卦限(octant)。至少一个参数与例如HEVC的小节F.7.3.2.3.4“Generalcolourmappingtablesyntax”以及小节F.7.4.2.3.5“Colourmappingoctantssyntax”描述的每个卦限相关。接着,当所有的卦限均具备了至少一个关联参数时,定义颜色映射函数CMF。通常,颜色映射函数CMF进一步与HEVC的小节H.8.1.4.3.1“Colourmappingprocessoflumasamplevalues”以及H.8.1.4.3.2“Colourmappingprocessofchromasamplevalues”中所描述的内插函数关联。根据图2所示的该方法的实施例,步骤100中,模块IC至少获取帧IMF的分量IMFj。当缩放(步骤107)残差帧Resv的至少一个分量时,在步骤200中,通过利用从本地存储器或者经解码器DEC1至少部分解码比特流F1所获取的参数划分帧IMF的至少一个分量IMFj,模块ISCA对所述分量向施加逆缩放。步骤113中,模块IMAP通过向至少一个所获取的分量施加逆映射算子,获取从步骤100或者从步骤200获取的至少一个分量的逆映射版本。所述逆映射算子是施加于步骤106中的残差帧的分量的逆映射算子的逆。参数是从本地存储器或利用解码器DEC1至少部分解码比特流F1所获取的。下文中,帧IMF分量的逆缩放版本(步骤200的输出)或其逆映射版本(步骤113的输出)被称之为分量IIMFj。步骤103中,接着通过利用分量IIMFj划分帧I的各分量Ij,计算分量Dj,步骤101的输入。步骤101中,如上所释,模块BAM根据各分量D,为帧I的分量Ij确定背光帧Ba的分量Baj。图6描述了根据本公开的示例性实施例、用于创建3D颜色LUT的方法的流程图。步骤60中,确定3D颜色LUT的结构。此处,3D颜色LUT通常由代表如上所述、且如图7所描绘的用于3D颜色空间的卦限的参数表示。步骤61中,能够将某些区域划分成多个卦限Rk是可能的。步骤62中,对于每个区域Rk,根据帧IMF的解码版本的像素p或根据颜色值属于所述区域Rk的某些像素,以及根据残差帧Res(或者根据本公开的实施例的Resv,Ress或Resc)的空间对应像素p’,为每个卦限确定至少一个参数。根据一个变体,为了加速处理,只考虑帧IMF的解码版本的像素子集(例如二分之一)。根据一个变体,空间对应像素p′为同位置像素或者为具有经历空间变换(例如,上采样、平移等)的对应空间位置的像素。这样,对每区域本地确定与卦限关联的参数,这简化了计算,因一次处理较少数量的参数。根据步骤62的实施例,确定与当前区域Rk的卦限关联的至少一个参数包括确定颜色映射函数CMFk的参数,该颜色映射函数CMFk的参数最小化帧IMF的解码版本的、颜色值属于所述区域Rk的像素p(或其子集)的颜色值的(通过颜色映射函数CMFk)重映射版本与残差帧Res(Resv,或Ress或Resc)中空间对应像素p′的颜色值Res(p)之间的距离。例如,用于区间Rk的CMFk的参数为最小化下述方程的那些参数:其中dist为距离度量。作为一个示例,dist为L1范数或L2范数。根据一个变体,dist为加权差。根据一个示例,通过公知的最小方差最小化技术确定CMFk的参数。一旦确定了CMFk参数,则可以确定区域Rk的卦限的参数。对于卦限Oc(x,y,z),其关联的参数值没为CMFk(Oc(x,y,z))。数学上来讲,当残差帧Res包括三个分量时,颜色映射函数CMFk可以为具有3×3矩阵参数以及三个偏移参数的参数模型,其中用于区域Rk的预测值Predk的分量是通过以下给出的:给出的。Δ1(p),Δ2(p)和Δ3(p)为分量Res1(相应的Res2和Res3)的值和当前卦限坐标的相对分量之间的差。根据3D颜色LUT获取参数在如SHVC节H.8.1.4.3所描述的变体中,Δ1(p),Δ2(p)和Δ3(p)是分量Res1(相应地Res2和Res3)的值。本公开不限于使用具有偏移函数的3×3矩阵,而是可以扩展到提供其部分导数的任意参数映射函数。注意,可以利用第一帧序列替换帧IMF的解码版本,利用第二帧序列替换所述残差帧。这种情况下,对于每个区域或卦限Rk,根据第一帧序列的(颜色值属于所述区域Rk)的像素p的颜色值的重映射版本并根据第二帧序列中空间对应像素p′的颜色值确定参数。在这种情况下,第二帧序列中的空间对应像素p′属于时间上对准像素p所属的帧的帧。若干个颜色参数可以与3D颜色LUT的每个卦限相关,例如诸如RGB颜色值之类的4个颜色值,Y′CbCr或YUV.方程(3)的最小化并不总是有解。实际上,所述最小化使用矩阵逆。某些情况下,矩阵的配置糟糕,逆失败(例如,矩阵的行列式为空)。此外,当颜色值落入指定区域的像素的数量低于阈值时,所述最小化是不准确的。这种情形下,当对于所述区域Rk最小化所述距离失败时,获取颜色参数包括根据包含Rk的区域的参数内插所述区域的参数,或者直接根据对包含所述当前区域的区域所计算的颜色变换的参数计算它们。作为一个示例,根据3×3矩阵以及具有图8所示的为包含区域Rk的区域R’k确定的参数的偏移函数计算Rk的颜色参数。根据一个变体,根据区域R’k的颜色参数内插区域Rk的颜色参数。根据一个变体,根据区域R’k的颜色参数预测区域Rk的颜色参数,以及编码残差。根据一个实施例,通过编码器ENC1编码参数Param,并加入比特流F1。这些参数Param可能与3D颜色LUT的卦限、确定残差帧的每个像素所属的卦限的数据以及各颜色映射函数的参数关联。在一个变体中,不编码与3D颜色LUT的卦限关联的参数和/或各颜色映射函数的参数。根据本公开的变体,使用相同参数用于每个颜色映射函数CMFk。图9示出了当颜色映射函数CMF将3D颜色LUT用于确定像素p的映射颜色值时步骤109的子步骤的图。步骤1090中,对于帧IMF的解码版本的给定像素p,确定像素p所属的卦限CO。当二分分割3D颜色LUT的各维时,基于像素p的颜色分量的前N个MSB(最高有效位)的值,这可以容易地确定。可选地,在步骤1091中,如HEVC的H.8.1.4.3.1章以及JCTVC-Q0048_r1在章“2.1(y,u,v)tripleadjustmentwhenphasealignmentisenabled”中所述,施以所述分量的某些调整。例如当亮度以及色度分量的像素未对准(一般在使用4:2:0格式时)时,调整亮度以及色度分量的像素的空间位置(重新采样纹理和运动),或者当比特深度不同时,也要适配分量的比特深度。例如,JCTVC-R1030_v6的章H.8.1.4.3.1所述,所述比特深度可以如下量进行偏移:nMappingShift=10+BitDepthCmInputY-BitDepthCmOutputY。在步骤1092中,因而通过方程(4)给出与残差帧的像素关联的预测颜色值。可选地,当发生步骤1091中的校准和/或适配时,步骤1093中,向预测(映射)的颜色值施以逆校准和/或适配。图10示出了根据本公开的实施例、用于解码表示通过背光帧划分帧而计算得到的残差帧的比特流的方法的步骤的框图。如上所释,步骤104和105中,通过利用解码器DEC1至少部分解码比特流F1获得解码的背光帧比特流F1可以本地存储或从通信网络接收。步骤112中,通过至少部分解码比特流F3获取解码的帧步骤1100中,根据帧以及相对3D颜色LUT的某些参数获取预测值从存储器或者通过至少部分解码比特流F1获取参数这些参数Param可能与3D颜色LUT的卦限、确定残差帧的每个像素所属的卦限的数据以及每个颜色映射函数的参数关联。在一个变体中,从本地存储器获取与3D颜色LUT(的卦限)关联的颜色参数和/或各颜色映射函数的参数。根据与具有网格结构的3D颜色LUT的每个区域Rk的卦限关联的参数和相对区域Rk的各颜色映射函数的参数获取预测值步骤1101中,通过利用解码器DEC2至少部分解码比特流F2以及通过使用预测值解码的残差帧预测解码。比特流F2可以本地存储或从通信网络接收。根据步骤1101的实施例,所述预测值包括用于3D颜色LUT的各区域Rk的特定预测值然后,通过至少部分解码比特流F1,该方法获取确定残差帧的每个像素p′所属的卦限CO的数据,且通过利用解码器DEC2至少部分预测解码比特流F2以及通过使用相对区域Rk的预测值解码属于区域Rk的解码的残差帧的各像素p′的颜色值。步骤1102中,通过用解码的背光帧的分量乘以解码的残差帧的分量获取解码的帧的分量。根据步骤104的实施例,也可以从本地存储器或者通过利用解码器DEC1至少部分解码比特流B1获取参数和/或根据该方法,在步骤200中,通过利用参数划分所述分量,模块ISCA应用解码的残差帧的至少一个分量步骤113中,通过对至少一个所获取的分量施加逆映射算子,模块IMAP获取由步骤1101输出或者由步骤200输出而获取的至少一个分量的逆映射版本。根据一个实施例,模块IMAP使用参数γj。例如,参数γj定义了伽马曲线,逆色调映射在于从伽马曲线中发现对应于解码的残差帧的像素值的值。解码器DEC1、DEC2和DEC3配置为分别解码由编码器ENC1、ENC2和ENC3编码的数据。编码器ENC1、ENC2和ENC3(以及解码器DEC1,DEC2和DEC3)并不限于特定的编码器(解码器),但是当需要熵编码器(解码器)时,例如哈弗曼编码器、算术编码器或者如H.264/AVC或者HEVC中所使用的上下文自适应编码器(例如Cabac)是有利的。编码器ENC1和ENC3(以及解码器DEC1和DEC3)并不限于特定的编码器,其例如可以是具有损耗的帧/视频编码器,例如JPEG、JPEG2000、MPEG2、h264/AVC或者HEVC。编码器ENC2(以及解码器DEC2)并不限于使用预测值的任何预测编码器,例如JPEG、JPEG2000、MPEG2、H.264/AVC或者HEVC。编码器ENC1、ENC2和ENC3(以及解码器DEC1,DEC2和DEC3)可以是同一个编码器(分别为同一解码器),诸如例如编码器(解码器)遵从标准SHVC。接着生成单个比特流,其包括比特流F1、F2和F3所携带的数据。根据本公开的实施例,比特流F1携带的数据和/或比特流F3携带的数据被编码为语法遵从H.264/AVC、HEVC或SHVC标准的辅助画面。除了实际上对应于所述内容的主流(主视频)的所谓“原始编码画面”之外,在H264/AVC,HEVC或SHVC标准中还定义了辅助画面。通常,辅助画面使得能够传输额外的帧信息,例如阿尔法合成、色度增强信息或用于3D应用的深度信息。根据本公开的实施例,将预测编码的残差帧嵌入到比特流F2中,作为语法符合H.264/AVC或者HEVC标准的主要画面。这允许获得完全符合H.264/AVC或者HEVC标准的单个比特流,其包括利用3D颜色LUT解码预测编码的残差帧所需的数据、编码的施加帧IMF以及确定背光帧Bal所需的数据。在显示前进行的辅助数据的解码方法遵从HEVC规范,因而如以它已规定的形式使用。根据本公开的实施例,根据特定的帧打包整理策略,将步骤101中输出的背光帧Bal以及帧IMF打包在单个帧SF中。编码器将帧SF编码至比特流中。根据一个实施例,根据取决于具体的帧打包整理机制的编码参数,编码单个帧SF。根据该实施例的变体,定义所述编码参数,以便在两个不同的片段(slice)中编码单个帧SF,,一个包含帧IMF,另一片段包含背光帧Bal。根据所使用的(H.264/AVC、HEVC、JPEG2000)标准编码策略,这些片段还可以采取片段组、瓦片、瓦片组、区(precinct)的形式。这种变体是有利的,这是由于它允许对背光帧(相应地帧IMF)而不是对帧IMF(相应地背光帧)应用例如特定编码的特定处理。因此,所述比特流包括所述单个帧,其包含两个不同打包的组成帧的采样:帧IMF和背光帧。解码器至少部分解码所述比特流并获取帧IMF且如果需要,根据解码的单个帧SF获取背光帧。图1-5和9-10上,所述模块是功能性单元,可能与可区分的物理单元相关或不相关。例如,这些模块或它们中的某些可以集合在唯一的组件或电路中,或促进软件的功能。相反,某些软件可能潜在地由独立的物理实体所构成。利用纯硬件,例如使用诸如ASIC或FPGA或者VLSI,分别为专用集成电路、现场可编程门阵列、超大规模集成的专用硬件,或者由嵌入到设备中的若干集成电子组件或者混合硬件及软件组件,实现与本公开兼容的装置。图11表示装置120的一个示例性架构,其可配置为实施关于图1-5和9-10描述的方法。装置120包括下述通过数据及地址总线121链接在一起的组件:-微控制器122(或CPU),其例如为DSP(即数字信号处理器);-ROM(即只读存储器)123;-RAM(即随机存取存储器)124;-用于从应用程序接收要传输的数据的I/O接口125;以及-电池126根据一个变体,电池126在所述装置的外部。图11的这些组件为本领域技术人员公知,将不进一步公开。在所提到的各存储器中,说明书中所使用的词寄存器可以对应小容量(某些比特)的区域或非常大的区域(例如整个程序或大量接收或解码的数据)。ROM123至少包括程序和参数。根据本公开的所述方法的算法存储在ROM123中。在接通时,CPU122上载RAM中的程序以及执行相应的指令。RAM124包括寄存器中CPU122执行且在接通装置120后上载的程序、寄存器中的输入数据、寄存器中所述方法不同状态下的中间数据以及寄存器中用于执行所述方法的其它变量。可以例如在方法或过程、装置、软件程序、数据流或信号中实现本文描述的实施方式。即便仅在单一形式的实施方式(例如,仅作为方法或设备讨论)的上下文中讨论,所讨论的特征的实施方式也可以以其它形式(例如程序)实现。可以以例如适当的硬件、软件或固件实现装置。所述方法可以例如在装置中实现,其诸如为处理器,一般指的是例如包括计算机、微处理器、集成电路或可编程逻辑器件的处理装置。处理器还包括通信装置,诸如例如计算机、蜂窝电话、便携式/个人数字助手(PDA),以及便于终端用户之间信息通信的其它装置。根据编码或编码器的具体实施例,从源获取帧I。例如,所述源属于包括以下的集合:-本地存储器(123或124),例如视频存储器或RAM(即随机存取存储器)、快闪存储器、ROM(即只读存储器)、硬盘。-存储接口(125),例如与大容量存储器、RAM、快闪存储器、ROM、光盘或磁载体的接口。-通信接口(125),例如有线接口(例如总线接口、广域网接口、局域网接口)或者无线接口(诸如IEEE802.11接口或蓝牙@接口);以及-帧捕获电路(例如诸如CCD(即电荷耦合器件))或CMOS(即互补金属氧化物半导体)的传感器)根据解码或解码器的不同实施例,发送解码的帧至目的地;具体地,所述目的地属于包括以下的集合:-本地存储器(123或124),例如视频存储器或RAM、快闪存储器、硬盘。-存储接口(125),例如具有大容量存储器、RAM、快闪存储器、ROM、光盘或磁载体的接口。-通信接口(125),例如有线接口(例如总线接口(例如,USB(即通用串行总线))、广域网接口、局域网接口、HDMI(高分辨率多媒体接口)接口)或者无线接口(诸如IEEE802.11接口、WiFi@或蓝牙@接口);以及-显示器。根据编码或编码器的不同实施例,发送比特流BF和/或F至目的地。作为一个示例,比特流F和BF之一或比特流F和BF二者存储在本池或远程存储器,例如视频存储器(124)或RAM(124)、硬盘(123)。在一个变体中,一个或两个比特流被发送至存储接口(125),例如与大容量存储器、快闪存储器、ROM、光盘或磁载体的接口,和/或在通信接口上传输(125),例如点对点链路、通信总线、单点对多点链路或广播网络的接口。根据解码或解码器的不同实施例,从源获取比特流BF和/或F。典型地,所述比特流从本地存储器读取,例如视频存储器(124)、RAM(124)、ROM(123)、快闪存储器(123)或硬盘(123)。在一个变体中,从存储接口(125),例如大容量存储器、RAM、ROM、快闪存储器、光盘或磁载体的接口,接收比特流,和/或从通信接口(125),例如点对点链路、总线、单点对多点链路或广播网络的接口,接收比特流。根据不同的实施例,配置为实现关于图1-6和10所描述的编码方法的装置120属于包括以下的集合:-移动设备;-通信设备;-游戏设备;-平板(或平板计算机);-膝上型电脑;-静止图像摄影机;-视频摄像机;-编码芯片;-静止图像服务器;以及-视频服务器(例如广播服务器、视频点播服务器或网络服务器)。根据不同的实施例,配置为实现关于图10所描述的解码方法的设备60属于包括以下的集合:-移动设备;-通信设备;-游戏设备;-机顶盒;-电视机;-平板(或平板计算机);-膝上型电脑;-显示器以及-解码芯片。根据图12所示的实施例,在通信网络NET上的两个远程设备A和B之间的传输背景中,设备A包括配置成实现关于图1或2所描述的用于编码帧的方法的部件,以及装置B包括配置成实现关于图10所描述的解码方法的部件。本文所描述的不同处理和特征的实现方式可以体现在各种不同的设备或应用中,特别是例如设备或应用。这类设备的示例包括编码器、解码器、处理解码器的输出的后处理器、提供输入给编码器的前处理器、视频编码器、视频解码器、视频编解码器、网络服务器、机顶盒、膝上型电脑、个人计算机、蜂窝电话、PDA以及其他通信没备。应当清楚,该设备可以是移动的,甚至安装在移动交通工具中。此外,可以通过处理器执行的指令来实现所述方法,这类指令(和/或实现方式所产生的数据值)可以被存储在处理器可读的介质上,诸如例如集成电路、软件载体或其它存储设备,例如硬盘、紧密盘(CD)、光盘(例如DVD,通常称作数字通用盘或数字视频盘)、随机存取存储器(RAM)或只读存储器(ROM)。所述指令可以构成有形地体现在处理器可读的介质上的应用程序。指令可以例如在硬件、固件、软件或其组合中。可以例如在操作系统、单独的应用程序或二者的组合中发现指令。因此,处理器的特征可以在于例如既是配置成执行过程的设备,又是包括具有执行过程的指令的处理器可读介质(诸如存储设备)的设备。进一步地,除了或替换指令,处理器可读介质可以存储实现方式产生的数据值。实现方式可以产生各种格式化为携带例如可以存储或传输的信息的信号,对于本领域技术人员来说是显然的。所述信息可以包括例如用于执行方法的指令或所描述的实现方式之一产生的数据。例如,信号可以格式化为携带用于写或读所描述的实施例的语法的规则作为数据,或携带所描述的实施例所写的实际语法值作为数据。这种信号例如可以格式化为电磁波(例如,使用频谱的的无线频率部分)或者基带信号。所述格式化可以包括,例如编码数据流以及用编码的数据流调制载波。信号携带的信息可以是例如模拟或数字信息。所述信号已知地可以在各种不同的有线或无线链路上传输。所述信号可以存储在处理器可读介质中。已经描述了大量实施方式。然而,要理解可以进行各种修改。例如,可以组合、补充、修改或移除不同实施方式的要素以生成其它的实施方式。此外,普通技术人员会理解其它结构和过程可以替换这些已公开的,以及产生的实施方式将以至少实质上相同的方式执行至少实质上同样的功能,以获取与公开的实施方式至少实际上同样的结果。因此,本申请构想这些及其它实施方式。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1