具体实施方式
下文将参考示出本公开的实施例的附图、更加全面地描述本公开。然而,本公开可以以许多替代形式来体现,且不应当解释为限于本文记载的实施例。因此,尽管本公开可以允许各种修改及替代形式,但其具体实施例通过举例在附图中示出,且本文将详细描述。然而,应当理解无意将本公开限于所公开的特定形式,而是相反,如权利要求所定义的,本公开覆盖了落入本公开的精神和范围内的所有修改、等同体以及替代方式。整个附图描述中类似的编号指的是类似的元件。
本文所使用的术语只出于描述特定实施例的目的,不旨在限制本公开。如本文所用的,单数形式“一个”、“某个”以及“所述”旨在也包括复数形式,除非上下文另外标明。进一步理解术语“组成”、“包含”和/或“包括”用在说明书中时,指明存在陈述的特征、整数、步骤、操作、元件和/或部件,但是并没有排除存在或添加一个或多个其它特征、整数、步骤、操作、元件、部件和/或组。而且,当一个元件被称为“响应”或“连接到”另一个元件时,它可以直接响应或连接到其它组件,或可以存在介于中间的元件。相比之下,当一个元件被称为“直接响应”或“直接被连接到”其它元件时,不存在介于中间的元件。如本文所使用的,术语“和/或”包括一个或多个关联的列出项的任意及所有组合,以及可以缩写为“/”。
要理解尽管本文可以使用术语第一、第二等来描述各种元件,但这些元件不该受限于这些术语。这些术语仅用于区分一个元件与另一元件。例如,第一元件可被称作第二元件,以及类似地,第二元件可被称作第一元件,而不违反本公开的教导。
尽管某些图包括示出通信的主要方向的通信路径上的箭头,但要理解通信可以在与所描述的箭头相反的方向进行。
某些实施例是关于框图以及操作流程图描述的,其中每个框代表一个电路元件、模块或包含用于执行指定逻辑功能的一个或多个可执行指令的部分代码。还应当注意的是,在其它实现方式中,所述框中标记的功能可以不按标记的次序发生。例如,连续显示的两个框可能实际上基本并行执行,或所述框有时可以按相反次序执行,这取决于涉及的功能。
本文引用的“一个实施例”或“某个实施例”意指结合所述实施例描述的特定特征、结构或特性可以包含在本公开的至少一种实现方式中。在说明书中的不同位置所出现的短语“一个实施例中”或“根据一个实施例”未必都指同一个实施例,也不是必须与其它实施例互斥的独立或替代实施例。
权利要求中出现的引用编号仅是举例,对权利要求的范围不起限定作用。
尽管未明确描述,但是可以以任意组合或子组合使用本实施例及其变体。
本公开描述为用于编码/解码帧,但是扩展到帧序列(视频)的编码/解码,因为如下所述,所述序列的每个帧被顺序地编码/解码。
图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的分量Ba
j确定为以下给出的形态函数
的加权线性组合:
因此,根据分量Ij确定背光帧Ba的分量Baj在于找到最佳权重系数(以及如果预先未知,可能还有最佳形态函数),为的是背光帧Ba的分量Baj拟合分量IJ。
有许多公知方法来为分量Ba
j找到权重系数
例如,一种方式是可以使用最小均方差方法来最小化分量Ba
j和分量I
J之间的均方差。
本公开并不限于获取背光帧Ba的任何具体方法。
可以注意到,为了最佳拟合所述亮度分量,所述形态函数可以是显示背光的真实物理响应(例如由LED制成,然后每个形态函数对应一个LED的响应)或者可以是纯数学结构。
根据该实施例,从步骤101输出的背光帧Ba是包含了方程(1)所给出的至少一个分量的背光帧Ba。
根据图4所示的步骤101的实施例,模块BM利用通过模块HL获取的平均值Lmean,调制背光帧Ba的至少一个分量Baj(由方程(1)给出)。
利用帧分量的平均值调制所述背光帧的至少一个分量提高了所述帧的分量和残差帧的分量之间的全局亮度相干性,例如,所述帧中的亮区在所述残差帧中发亮,以及所述帧中的暗区在所述残差帧中发暗。
利用同一个平均值调制多个分量,不用修改这些分量的色调即可以降低它们的动态范围。
根据该实施例,从步骤101中输出的背光帧Ba为调制的背光帧。
根据一个实施例,模块HL配置为在整个亮度分量I1之上计算平均值Lmean。
根据该实施例的变体,模块HL配置为通过
计算平均值L
mean
β为小于1的系数,以及E(X)为分量I1的数学期望值(均值)。
当帧I属于帧序列时,该变体是有利的,这是由于其防止平均值Lmean受到具有通常导致非常讨厌的时间平均光度不稳定性的极高值的少数像素的影响,。
本公开不限于用于计算平均值Lmean的具体实施例。
根据图5所示的一个变体,通过亮度平均值E(Ba
1),模块N归一化背光帧Ba(由等式(1)给出)的至少一个分量Ba
j,这样获得用于所述帧(若帧I属于帧序列,则用于所有帧)的中间灰度一致分量
然后,模块BM配置为通过使用下述关系,利用分量I
j的平均值L
mean调制中间灰度一致分量
cstmod为调制系数以及α为另一个小于1的调制系数,一般在0.3和0.5之间。
根据该变体,从步骤101输出的背光帧BaI为包括了方程(2)所给出的至少一个分量
的背光帧。
可以注意到,调制系数cstmod被调节得到所述残差帧的好看的亮度,以及高度依赖获取背光帧的过程。例如,对于由最小均方差获得的所有分量,cstmod≈1.7。
实际上,通过线性,所有调制背光帧的分量Ba
j的操作均适用于作为将系数
变换为新系数
的校正因子的背光系数
这样得到:
在步骤102(图1)中,确定从步骤101输出的背光帧Ba所需的数据由编码器ENC1编码,且加入可以被存储和/或在通信网络上传输的比特流F1中。
例如,当使用已知的非自适应性形态函数时,要编码的数据受限于权重系数
或者
但是形态函数ψ
i仍可以是未知的先验,然后在比特流F1中编码,比如在用于较佳拟合的略微最佳的数学结构的情况下。因此,在比特流F1中编码所有的权重系数
或者
(以及可能有形态函数
)
有利地,在编码前量化权重系数
或者
以减少比特流F1的大小。
根据另一个实施例,将背光帧Ba的每个分量Baj看作通过编码器ENC1在比特流F1中进行编码的画面。
在步骤103中,通过由背光帧的解码版本划分帧I来计算残差帧Res。
利用背光帧的解码版本来确保编码器和解码器侧上的背光帧相同是有利的,从而使最终的解码帧
更加精确。
更精确地,利用背光帧分量的解码版本
划分从模块IC获取的帧I的每个分量I
j。该划分按每像素进行。
例如,当在颜色空间(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,获取至少一个色调映射分量Resj v,以便得到由所述至少一个色调映射的分量Resj v构造的可视残差帧Resv。
由于残差帧Res的动态范围太高且由于此残差帧Res的解码版本显示了很高的可视伪像,所以看上去残差帧Res可能不可见。从相较于要编码的帧中的原始场景、在色调映射的残差帧艺术上呈现场景的相当好且一致地色调映射的版本的意义上来说,对所述残差帧的至少一个分量的色调映射提供了可视的残差帧。因此,该方法是向后兼容的,因为可视的残差帧可以由不能处理高动态范围的传统装置解码和/或显示。
根据编码的残差帧自动提供可视的SDR帧的能力为一个关键优势,因为它允许分发HDR帧(视频)给装备了标准SDR电视以及不是专用于后处理背光帧和残差帧以解码HDR帧(视频)的接收设备的客户。
而且,通过这种方法编码HDR帧会导致高效的编码策略,因为色调映射的残差帧Res是高度空间关联的(以及时间上与同一帧序列的其它帧相关联),而且背光帧是独立编码的。因此由于色调映射的残差帧压缩率高以及编码背光帧的数据量少,达到编码增益。
本公开不限于任何具体的映射算子。这一单独条件是色调映射算子要可逆。
例如,可以使用Reinhard所定义的色调映射算子(Reinhard,E.,Stark,M.,Shirley,P.,以及Ferwerda,J.,“Photographic tone reproduction for digitalframes”,ACM Transactions on Graphics 21(2002年7月))或Boitard,R.,Bouatouch,K.,Cozot,R.,Thoreau,D.,以及Gruson,A.(2012)。用于视频色调映射的时间相干性。A.M.J.van Eijk,C.C.Davis,S.M.Hammel以及A.K.Majumdar(Eds),SPIE学报8499,Application of Digital Frame Processing(p.84990D-84990D-10))。
根据步骤106的实施例,映射残差帧的分量Resj包括根据残差帧的分量Res1的像素值的伽马校正或者Slog校正。
随后,例如由:
给出可视的残差帧Res
v的分量
A为常数值,γ
j为等于例如1/2.4的伽马曲线的系数。
或者,例如由:
给出可视的残差帧Res
v的分量
a
j,b
J,c
j为确定的SLog曲线的系数,这样0和1是不变的,且SLog曲线的导数
当其被伽马曲线延伸至1以下时。因此,a
j,b
J,c
j是参数γ
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在通过用比例因子cst
scaling乘以残差帧的至少一个分量Res
j或者
来编码(步骤110)之前,而缩放所述分量。
缩放残差帧的分量j会将根据残差帧获取的帧的平均灰度置于用于查看和编码的足够的值。
接着,根据该方法的实施例,由以下:
优选地,比例因子cstscaling定义为将残差帧分量的值从0映射到最大值2N-1,N是允许作为用于编码器ENC2编码的输入的比特数。
这是通过将亮度值1(大致为残差帧分量的平均值)映射到中间灰度亮度值2N-1而自然获取的。因此,对于具有标准比特数N=8的残差帧分量,等于120的比例因子是非常一致的值,因为非常接近处于27=128的中性灰度。
根据该方法的实施例,在步骤108中,模块CLI在编码之前削减残差帧的至少一个分量,以将它的动态范围限制为例如根据编码器ENC2的能力所定义的目标动态范围TDR。
削减所述残差帧会确保有限数目的比特以及允许使用传统编码/解码策略对它编码。而且,该编码/解码策略向后兼容现有的基础设施(编解码器、显示器、分布式信道等),因为仅具有一般为8-10比特的低动态范围的残差帧才可以在这种基础设施上传输以显示帧的低动态范围版本。在专有的基础设施上,一侧容器中可以携有包括背光数据的小比特流,以分发帧(例如HDR帧)的初始版本。
根据这最后的实施例,例如根据该方法的实施例,由:
本公开并不限于这类削减(max(.)),而是扩展到任意种类的削减。
根据该方法的实施例,结合缩放和削减实施例将生产由:
所述残差帧的分量的映射和缩放为参数化过程。参数可以是固定的或不固定的,在后者的情形中,它们可以通过编码器ENC1在比特流F1中编码。
根据该方法的实施例,伽马校正的常数值γ、比例因子cstscaling可以是在比特流F1中进行编码的参数。
可以注意到,参数α,cstmod,cstscaling,γj,β的选择为所述映射的选择给出了空间,该映射适合于在后期制作以及颜色分级方面最遵循专家品味的内容。
另一方面,可以定义通用参数以让各种各样的帧都接受。然后,没有参数在比特流F1中编码。
根据本公开,在步骤110中,残差帧Res(Resv,Ress或者Resc)通过编码器ENC2、利用预测值Pred预测编码,并加入可以存储和/或在通信网络上传输的比特流F2中。
根据本公开,在步骤109中,根据施加帧IMP的解码版本
步骤112的输出,计算残差帧Res(Res
v,Res
s或者Res
c)的预测值Pred。
术语“施加”代表帧IMF不同于残差帧Res(Resv,Ress或者Resc)。帧IMF为帧I的低动态范围版本。帧IMF以及帧I可以由艺术家进行不同的颜色分级,和/或在不同的颜色空间(例如,REC709用于帧IMF,以及REC.2020颜色空间用于帧I)中表示。
根据步骤109的实施例,计算预测值Pred包括通过颜色映射函数(CMF),将施加帧IMF的解码版本
映射至残差帧Res(Res
v,Res
s或者Res
c)。
这提高了预测编码器ENC2的编码效率,因为接着减少了残差帧和预测值Pred之间计算的残差的动态。
颜色映射函数CMF可以取决于帧I和IMF的颜色空间,也取决于内容本身。实际上,创建帧内容时,取决于内容创建者的艺术意图,对帧I或帧IMF或两者进行某些颜色校正(颜色分级等)。这些施加于帧I和IMF的分量的颜色变换可能不同。然后,在一般情形下,颜色映射函数CMF不简化为简单的确定性颜色空间变换。
根据一个实施例,颜色映射函数CMF使用3D颜色查找表(3D颜色LUT),例如用于语法的HEVC小节F.7.3.2.3.5“Colour mapping octants syntax”中所定义的,以及用于语义的HEVC小节F.7.4.3.3.5“Colour mapping octants semantics”中所定义的)。
对于3D颜色空间,3D颜色LUT通常表示为如图7所描述的卦限栅格。所述栅格将颜色空间划分成N个区域Ri,i∈[0,N-1]、N为整数。所述区域分割可以是对称或不对称(不等分)的。一个区域还可以被称之为卦限(octant)。至少一个参数与例如HEVC的小节F.7.3.2.3.4“General colour mapping table syntax”以及小节F.7.4.2.3.5“Colourmapping octants syntax”描述的每个卦限相关。接着,当所有的卦限均具备了至少一个关联参数时,定义颜色映射函数CMF。通常,颜色映射函数CMF进一步与HEVC的小节H.8.1.4.3.1“Colour mapping process of luma sample values”以及H.8.1.4.3.2“Colour mapping process of chroma sample values”中所描述的内插函数关联。
根据图2所示的该方法的实施例,步骤100中,模块IC至少获取帧IMF的分量IMFj。
当缩放(步骤107)残差帧Res
v的至少一个分量时,在步骤200中,通过利用从本地存储器或者经解码器DEC1至少部分解码比特流F1所获取的参数
划分帧IMF的至少一个分量IMF
j,模块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的实施例,确定与当前区域R
k的卦限关联的至少一个参数包括确定颜色映射函数CMF
k的参数,该颜色映射函数CMF
k的参数最小化帧IMF的解码版本的、颜色值属于所述区域R
k的像素p(或其子集)的颜色值
的(通过颜色映射函数CMF
k)重映射版本与残差帧Res(Res
v,或Res
s或Res
c)中空间对应像素p′的颜色值Res(p)之间的距离。例如,用于区间R
k的CMF
k的参数为最小化下述方程的那些参数:
其中dist为距离度量。作为一个示例,dist为L1范数或L2范数。
根据一个变体,dist为加权差。
根据一个示例,通过公知的最小方差最小化技术确定CMFk的参数。
一旦确定了CMFk参数,则可以确定区域Rk的卦限的参数。对于卦限Oc(x,y,z),其关联的参数值没为CMFk(Oc(x,y,z))。
数学上来讲,当残差帧Res包括三个分量时,颜色映射函数CMF
k可以为具有3×3矩阵参数
以及三个偏移参数
的参数模型,其中用于区域R
k的预测值Pred
k的分量
是通过以下给出的:
Δ
1(p),Δ
2(p)和Δ
3(p)为分量Res
1(相应的Res
2和Res
3)的值和当前卦限坐标的相对分量之间的差。根据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的卦限关联的参数和/或各颜色映射函数
的参数。
根据本公开的变体,使用相同参数
用于每个颜色映射函数CMF
k。
图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)triple adjustment when phase alignment is enabled”中所述,施以所述分量的某些调整。例如当亮度以及色度分量的像素未对准(一般在使用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的每个区域R
k的卦限关联的参数和相对区域R
k的各颜色映射函数
的参数获取预测值
步骤1101中,通过利用解码器DEC2至少部分解码比特流F2以及通过使用预测值
解码的残差帧
预测解码。比特流F2可以本地存储或从通信网络接收。
根据步骤1101的实施例,所述预测值包括用于3D颜色LUT的各区域R
k的特定预测值
然后,通过至少部分解码比特流F1,该方法获取确定残差帧的每个像素p′所属的卦限CO的数据,且通过利用解码器DEC2至少部分预测解码比特流F2以及通过使用相对区域R
k的预测值
解码属于区域R
k的解码的残差帧
的各像素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的这些组件为本领域技术人员公知,将不进一步公开。在所提到的各存储器中,说明书中所使用的词寄存器可以对应小容量(某些比特)的区域或非常大的区域(例如整个程序或大量接收或解码的数据)。ROM 123至少包括程序和参数。根据本公开的所述方法的算法存储在ROM 123中。在接通时,CPU122上载RAM中的程序以及执行相应的指令。
RAM 124包括寄存器中CPU 122执行且在接通装置120后上载的程序、寄存器中的输入数据、寄存器中所述方法不同状态下的中间数据以及寄存器中用于执行所述方法的其它变量。
可以例如在方法或过程、装置、软件程序、数据流或信号中实现本文描述的实施方式。即便仅在单一形式的实施方式(例如,仅作为方法或设备讨论)的上下文中讨论,所讨论的特征的实施方式也可以以其它形式(例如程序)实现。可以以例如适当的硬件、软件或固件实现装置。所述方法可以例如在装置中实现,其诸如为处理器,一般指的是例如包括计算机、微处理器、集成电路或可编程逻辑器件的处理装置。处理器还包括通信装置,诸如例如计算机、蜂窝电话、便携式/个人数字助手(PDA),以及便于终端用户之间信息通信的其它装置。
根据编码或编码器的具体实施例,从源获取帧I。例如,所述源属于包括以下的集合:
-本地存储器(123或124),例如视频存储器或RAM(即随机存取存储器)、快闪存储器、ROM(即只读存储器)、硬盘。
-存储接口(125),例如与大容量存储器、RAM、快闪存储器、ROM、光盘或磁载体的接口。
-通信接口(125),例如有线接口(例如总线接口、广域网接口、局域网接口)或者无线接口(诸如IEEE802.11接口或蓝牙@接口);以及
-帧捕获电路(例如诸如CCD(即电荷耦合器件))或CMOS(即互补金属氧化物半导体)的传感器)
根据解码或解码器的不同实施例,发送解码的帧
至目的地;具体地,所述目的地属于包括以下的集合:
-本地存储器(123或124),例如视频存储器或RAM、快闪存储器、硬盘。
-存储接口(125),例如具有大容量存储器、RAM、快闪存储器、ROM、光盘或磁载体的接口。
-通信接口(125),例如有线接口(例如总线接口(例如,USB(即通用串行总线))、广域网接口、局域网接口、HDMI(高分辨率多媒体接口)接口)或者无线接口(诸如IEEE 802.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)。所述指令可以构成有形地体现在处理器可读的介质上的应用程序。指令可以例如在硬件、固件、软件或其组合中。可以例如在操作系统、单独的应用程序或二者的组合中发现指令。因此,处理器的特征可以在于例如既是配置成执行过程的设备,又是包括具有执行过程的指令的处理器可读介质(诸如存储设备)的设备。进一步地,除了或替换指令,处理器可读介质可以存储实现方式产生的数据值。
实现方式可以产生各种格式化为携带例如可以存储或传输的信息的信号,对于本领域技术人员来说是显然的。所述信息可以包括例如用于执行方法的指令或所描述的实现方式之一产生的数据。例如,信号可以格式化为携带用于写或读所描述的实施例的语法的规则作为数据,或携带所描述的实施例所写的实际语法值作为数据。这种信号例如可以格式化为电磁波(例如,使用频谱的的无线频率部分)或者基带信号。所述格式化可以包括,例如编码数据流以及用编码的数据流调制载波。信号携带的信息可以是例如模拟或数字信息。所述信号已知地可以在各种不同的有线或无线链路上传输。所述信号可以存储在处理器可读介质中。
已经描述了大量实施方式。然而,要理解可以进行各种修改。例如,可以组合、补充、修改或移除不同实施方式的要素以生成其它的实施方式。此外,普通技术人员会理解其它结构和过程可以替换这些已公开的,以及产生的实施方式将以至少实质上相同的方式执行至少实质上同样的功能,以获取与公开的实施方式至少实际上同样的结果。因此,本申请构想这些及其它实施方式。