处理高动态范围图像
本申请是申请日为2012年11月16日、申请号为201280077138.0、发明名称为《处理高动态范围图像》的发明专利申请的分案申请。
技术领域
描述涉及数字图像的实现方式。各种具体实现方式涉及高动态范围(“HDR”)图像。
背景技术
技术正允许更复杂的图像(诸如例如可以展现更大范围的色彩或亮度的图像)。这些图像通常被称为HDR图像。相对地,标准图像通常被称为低动态范围(“LDR”)图像。对HDR图像进行编码提出各种技术挑战。
发明内容
根据一般方面,根据较高动态范围生成较低动态范围图像。根据所述较高动态范围图像生成允许重构所述较高动态范围图像的信息。对所述较低动态范围图像和所述信息进行编码。
根据另外的一般方面,信号或信号结构包括包含已编码较低动态范围图像的较低动态范围区段。所述信号或信号结构还包括包含已编码信息的信息区段。所述信息允许从所述较低动态范围图像重构较高动态范围图像。
根据另外的一般方面,对已编码较低动态范围图像进行解码。还对已编码信息进行解码。所述信息允许从所述较低动态范围图像重构较高动态范围图像。基于已解码较低动态范围图像和已解码信息来重构所述较高动态范围图像。
在下面的附图和描述中阐述一个或多个实现方式的细节。尽管以一种具体方式描述,也应当清楚,可以以各种方式来配置或实施实现方式。例如,实现方式可以执行为方法,或者实施为装置(诸如例如被配置为执行一组操作的装置或存储用于执行一组操作的指令的装置),或者实施为信号。根据以下结合附图和权利要求考虑的详细描述,其他方面和特征将变得显而易见。
附图说明
图1是图示用于处理HDR图像的装置和处理的实现方式的流程图。
图2是图示编码装置和处理的实现方式的流程图。
图3是图示解码装置和处理的实现方式的流程图。
图4是图示编码器和编码处理的实现方式的框图。
图5是图示解码器和解码处理的实现方式的框图。
图6是图示可以与一个或多个实现方式一起使用的传送系统和处理的实现方式的框图。
图7是图示可以与一个或多个实现方式一起使用的接收系统和处理的示例的框图。
具体实施方式
作为本申请中所提出的一些特征的预览,至少一个实现方式描述将HDR图像分解为LDR图像以及曝光图(exposure map)或查找表(“LUT”)。LDR图像连同曝光图或LUT一起被编码并且被插入到比特流中,以便传送或存储。可以以某种方式联合地对LDR图像和曝光图进行编码。例如,可以基于已编码LDR图像的重构对曝光图进行编码。接收器存取(access)比特流,例如通过接收具有从存储设备读取比特流的已编码数据的传送。然后,接收端处的解码器对LDR图像以及曝光图或LUT(如果存在)进行解码。基于已解码信息,接收器重组HDR图像。下面更详细地讨论各种实现方式,包括曝光图实现方式和LUT实现方式。
继续该预览,涉及曝光图的各种实现方式通常可以被表征为具有用于对HDR视频信号进行编码的以下步骤:
1.HDR分解:将原始HDR信号分解为两层,即LDR层和曝光图层。
曝光图通常被定义为二维矩阵,其中,每个项表示可以被用于从在对应像素坐标处的LDR图像恢复HDR源的乘数(或增益)。这意味着,对于每个像素坐标(x,y),以下等式成立:
其中,
f(.)是将伽玛校正值映射为线性值的逆响应函数,
C是导致LDR图像和曝光图处于所期望的或合理的数值范围内的常数,
H是HDR源值,
L是LDR图像值,以及
E是曝光图值。
根据以下定义,可以存在用于分解HDR图像/视频的很多方式。然而,对于压缩应用,各种实现方式以曝光图是逐段平滑的信号的方式来分解HDR源。这意味着,曝光图与原始HDR图像中的大规模的边缘具有强相关性,同时平滑掉HDR图像中的小规模的细节。
注意,各种实现方式基于HDR源值和LDR图像值的重构值来确定曝光图。也就是说,对LDR图像值进行编码和解码,以产生重构的LDR图像值。然后,该重构的LDR图像值连同原始HDR源值一起被用于确定曝光图值。在这些实现方式中的一些中,对曝光图进行无损编码,因此能够允许完美地重组HDR源值。
2.使用诸如例如H.264(即,现有的国际标准化组织/国际电子技术委员会(“ISO/IEC”)运动图像专家组-4(“MPEG-4”)第10部分高级视频编码(“AVC”)标准/国际电电信联盟电信部(“ITU-T”)H.264推荐(以下,“H.264/MPEG-4AVC标准”或其变型,诸如“AVC标准”、“H.264标准”,或者简单地,“AVC”或“H.264”))这样的传统的视频编码方案来压缩LDR层。
3.使用重构的LDR层来帮助压缩曝光图层。
此外,涉及曝光图的各种实现方式通常可以被表征为在解码器侧具有以下步骤:
1.提取属于LDR层的比特流,并且使用传统解码器对LDR层进行解码。
2.使用重构的LDR帧来帮助对曝光图层进行解码。
3.组合重构的LDR层和已解码曝光图层,以重构HDR视频信号。
参照图1,提供示出应用于若干不同实现方式的系统100的组件的流程图。图1将用于讨论各种实现方式。
系统100包括五个区段。它们是分解区段102、编码区段104、信号区段105、解码区段107和重组区段109。
分解区段102也可以被称为拆分区段。分解区段102接收HDR图像110,并且将HDR图像110分解为LDR图像112和重组信息114。
HDR图像往往被定义为每个像素具有多于8个比特的图像。相反,LDR图像往往被定义为每个像素具有8个或更少的比特的图像。然而,术语HDR和LDR是相对的术语,并且可以指每个像素具有任何数量的比特的图像。相应地,有时在本申请中,术语“较高”动态范围和“较低”动态范围用于指代这些图像。
箭头113连接LDR图像112和重组信息114。箭头113指示,在各种实现方式中,或者是LDR图像112基于重组信息114,或者是重组信息114基于LDR图像112,或者这二者,如下面进一步解释的那样。
在本申请中所讨论的不同实现方式中,重组信息114是例如曝光图116或LUT 118。LUT 118是例如向前LUT或向后LUT(在图1中简写为“F或B LUT”)。如以下进一步解释的那样,向前LUT提供被用于根据HDR图像110确定LDR图像112的LUT。如以下进一步解释的那样,向后LUT提供被用于根据LDR图像112的重构生成HDR图像110的重组的LUT。向后LUT往往是向前LUT的逆,或者以某种方式基于向前LUT。
更一般地,重组信息114可以用在从LDR图像112重组HDR图像110中。在不同实现方式中,重组信息为HDR图像110的成分、描述HDR图像110的分解的信息(例如,向前LUT)或描述分解的逆的信息(例如,向后LUT)。在各种上下文中,重组信息也可以被称为分解信息或成分信息。
重组信息也可以被称为重构信息。重构是比重组更一般的术语,并且重组HDR图像也可以被称为重构HDR图像。重构图像通常是指根据组成或成分信息生成图像的任何处理。在不同实现方式中,组成或成分信息包括例如LDR图像、LUT、曝光图、编码基准或残差。在各种实现方式中,重构图像可以是原始图像的估计,或者与原始图像相同。应当清楚的是,重组图像是重构图像。
然而,在本文献中,当涉及通过组合各个成分部分(例如LDR图像和曝光图或LUT)来生成HDR图像时,一般使用术语“重组”。此外,在本文献中,当涉及通过对各种语法元素进行解码来生成图像以及使用这些已解码语法元素以生成图像的处理时,一般使用术语“重构”。典型的重构处理包括:(i)对诸如例如表示来自对图片进行编码的残差的DCT系数以及标识基准的信息(例如运动向量和编码模式指示符)等各种语法元素进行解码,以及(ii)基于已解码残差和所标识的基准来生成图片的估计。然而,有时在本文献中,术语“重构”被用作包括“重组”并且比“重组”更广的更一般的术语。
编码区段104接收LDR图像112。编码区段104对LDR图像112进行编码,以产生已编码LDR图像122。
在各种实现方式中,编码区段104还接收曝光图116。编码区段104对曝光图116进行编码,以产生已编码曝光图126。在各种实现方式中,编码区段104还接收LUT 118。编码区段104对LUT 118进行编码,以产生作为如先前所述的向前LUT或向后LUT的已编码LUT 128。
信号区段105接收已编码LDR图像122。信号区段105形成诸如例如适合于传送或存储的比特流的信号。信号区段105基于已编码LDR图像122来形成信号的LDR信号部分132(在图1中简写为“LDR部分”)。在本申请中所描述的各种实现方式中,信号区段105还接收已编码曝光图126或已编码LUT 128。信号区段105基于已编码曝光图126或已编码LUT 128中的任何一个或者可能地基于这二者来形成重组信息信号部分134。
解码区段107接收LDR信号部分132。解码区段107对LDR信号部分132进行解码,以形成已解码LDR图像,其又称为重构的LDR图像142。解码区段107还接收重组信息信号部分134。解码区段107对重组信息信号部分134进行解码。取决于在重组信息信号部分134中包括什么信息,解码区段107产生(i)重构的曝光图146、(ii)重构的向前LUT 148或(iii)重构的向后LUT 149中的一个或者可能多个。
重组区段109也可以被称为重组区段或重构区段。重组区段109接收重构的LDR图像142。如果提供,则重组区段109还接收(i)重构的曝光图146、(ii)重构的向前LUT 148或(iii)重构的向后LUT 149中的一个或者可能多个。
为了使用重构的LDR图像142并且使用LUT来重组HDR图像,系统100的重组区段109使用向后LUT。也就是说,按照定义,向后LUT接收LDR数据值作为输入,并且提供HDR数据值作为输出。相应地,如果接收到重构的向前LUT 148,则重组区段109基于重构的向前LUT148来产生所生成的向后LUT 158。
重组区段109产生重组的HDR图像160。如果提供,则重组的HDR图像160基于重构的LDR图像142以及(i)重构的曝光图146、(ii)所生成的向后LUT 158或(iii)重构的向后LUT149中的一个或者可能多个。
参照图2,流程图示出图示编码装置和处理的实现方式的处理200。处理200还图示用于执行处理200的所述操作的结构。替代地,在各种实现方式中,使用系统100的结构来执行处理200。
处理200包括将HDR图像分解为LDR和重组信息(210)。在各种实现方式中,通过将HDR图像110分解为LDR图像112和重组信息114来执行操作210。重组信息允许重组HDR图像。
处理200还包括对LDR图像进行编码(220)以及对重组信息进行编码(230)。在各种实现方式中,在产生已编码LDR图像122中由编码区段104执行操作220。相似地,在各种实现方式中,在产生已编码曝光图126或已编码LUT 128中由编码区段104执行操作230。
参照图3,流程图示出图示解码装置和处理的实现方式的处理300。处理300还图示用于执行处理300的所述操作的结构。替代地,在各种实现方式中,使用系统100的结构来执行处理300。
处理300包括对已编码LDR图像进行解码(310)。在各种实现方式中,通过产生重构的LDR图像142来执行操作310。
处理300还包括对已编码重组信息进行解码(320)。重组信息允许从LDR图像和重组信息重组HDR图像。在各种实现方式中,由对重组信息信号部分134进行解码以产生(i)重构的曝光图146、(ii)重构的向前LUT 148或(iii)重构的向后LUT 149中的一个或者可能多个的解码区段107来执行操作320。
处理300还包括基于已解码LDR图片和已解码重组信息来重组HDR图像(330)。在各种实现方式中,由基于重构的LDR图像142以及(i)重构的曝光图146、(ii)所生成的向后LUT158或(iii)重构的向后LUT 149中的一个或者可能多个来产生重组的HDR图像160的重组区段109执行操作330。在各种实现方式中,操作330还包括生成所生成的向后LUT 158。
现在将更详细地描述处理200的若干具体实现方式。各种实现方式将HDR信号(可能包括多个图像)分解为多个层或成分。存在将HDR信号分解为例如两层的多种方式。以下描述将HDR信号分解为LDR层和曝光图、从而执行操作210的一个变型的若干实现方式。
第一方法将色调映射算法应用于每个HDR图像,以获得色调映射视频(tonemapped video),其为LDR视频信号。在应用色调映射算法之后,使用以下等式获得曝光图:
在以上等式中:
-H(i,j)是线性HDR亮度值。
HDR图像可以处于诸如例如RGB(红绿蓝)这样的各种色彩空间中。在各种实现方式中,关注亮度通道的压缩,并且使用传统方法来压缩色度通道。此外,HDR是取决于上下文的相对术语。在各种实现方式中,HDR像素值是10比特、12比特或浮点表示。
-L(i,j)是8比特伽玛校正像素值,其在某些实现方式中等于与H(i,j)除以255相对应的LDR像素值,其中所得到的除法结果升到伽玛次幂。
伽玛编码是用于对视频或静止图像系统中的亮度或三色值进行编码和解码的非线性操作的名称(例如参见http://en.wikipedia.org/wiki/Gamma correction)。伽玛的典型值是2.2,其用在很多计算机中。
在以下等式中,“x”是伽玛校正像素值,其范围从0到255。“Y”是线性亮度值。“M”是定义特定系统的最大亮度的比例常数。例如,在显示系统中,“M”是最大亮度值。
y=M*(x/255)2.2
-f()是可以将伽玛校正像素值转换为线性量的逆响应函数。
因为在很多情况下HDR源在线性域中,所以通常期望线性量。“线性”表示亮度值与碰撞相机的传感器的光子的数量成比例。在一些术语中,其又称为原生像素数据。f()的示例是以上所给出的等式,即:
y=M*(x/255)2.2
-Q()是将浮点数转换为定点数的量化函数。Q()可以是均匀的或非均匀的。如果Q()是非均匀的,则解码器侧通常需要知道在解码器侧接收数据时如何进行逆量化。可以传送辅助信息(side information)。
其中,对数函数通常可能具有减少输出范围的效果。
使用上述方法生成曝光图可能产生不平滑的曝光图。非平滑曝光图可能难以压缩。
替代的方法是首先生成“精确”曝光图,然后对所生成的曝光图施加平滑度约束。例如,可以如例如在以下参考(出于所有目的,通过引用将其全部内容并入本文)中所示地对HDR图像使用双边滤波器来获得精确曝光图:C.Tomasi、R.Manduchi,BilateralFiltering for Gray and Color images,1998Proceedings of the SixthInternational Conference on Computer Vision,第839页。双边滤波器。
例如,也可以如例如在以下参考(出于所有目的,通过引用将其全部内容并入本文)中所示地对HDR图像使用加权最小二乘滤波器来获得精确曝光图:Zeev Farbman等人,Edge-preserving decompositions for multi-scale tone and detail manipulation,ACM SIGGRAPH 2008。
在某些框架中,术语“精确”可以不是必要的。例如,使用加权最小二乘滤波器是一种用于获得曝光图的方法。在以上列出的Zeev的文章中,使用正则方法来强制执行平滑度约束。
例如,在一个实现方式中,假设具有通过所应用的以2为底的对数函数所获得的对数压缩HDR图像(矩阵H),并且想要得到曝光图(矩阵E)。将求解以下优化问题:
在此,双变量函数F是正则函数,并且可以采取在Zeev等人的文章中所提供的形式。“λ”是控制平滑度的强度的常数。
平滑度约束在以上优化问题中是隐式的。例如,对于双边滤波器的情况,这可以得到解释。双边滤波器当邻近像素相似时应用强滤波,但是当邻近像素相当不同时应用弱滤波。因此,锐/强边缘得以保持,但是小规模细节被平滑掉。加权最小滤波使用不同数学公式来实现相同的总体目的。
注意,以上实现方式直接根据HDR图像来确定曝光图。相反地,等式1使用HDR图像和LDR图像来确定曝光图。基本上,在已经标识出LDR图或曝光图中的任何一个时,立即获得另一个。
然后,可以使用下面的等式2、通过应用精确曝光图来获得LDR层。最后,精确曝光图被量化为定点数并且准备压缩。更具体地说,给定精确曝光图Ep(i,j),可以通过下式来获得LDR层的红色通道r:
其中:
-R(i,j)是HDR图像的红色成分的线性值,
-g()是伽玛校正函数,如下所述,以及
-S()是饱和度函数,如下所述:
其中α通常是2.2
可以通过相似的方式来获得其他色彩通道。在生成LDR层之后,使用先前所述的函数Q()来量化精确曝光图。从而,给下一步骤的所有输入都是定点(通常8比特)。
在执行分解之后,在很多实现方式中压缩两个层。可以使用传统视频压缩器(诸如例如H.264视频压缩器)来压缩LDR层。这执行例如操作220。曝光图也被压缩,从而执行例如操作230。然而,可以使用各种技术。在很多实现方式中,曝光图是具有低熵的逐段平滑的信号。此外,发明人观察到,在很多实现方式中,曝光图与LDR层具有强相关性。例如,边缘往往并置(collocate)在LDR层和曝光图这两者之中。相应地,先前被应用于压缩深度图的各种技术可以应用于压缩曝光图。
一种这样的技术包括于2011年4月21日公开的PCT公开WO 2011/046607(PCT/US10/002744)(出于所有目的,通过引用将其全部内容并入本文)中所解释的联合双边滤波器。例如可以通过用本申请的LDR图像替换PCT公开WO 2011/046607的视频图像并且通过用本申请的曝光图替换PCT公开WO 2011/046607的深度图来应用联合双边滤波。至少由于如下理由,这种替换被期待产生良好结果:LDR图像和曝光图的边缘通常并置,如PCT公开WO2011/046607中的视频图像和深度图的边缘那样。各种这样的实现方式用环内滤波器(in-loop filter)替代PCT公开WO 2011/046607的去块滤波器来得到更好的重构曝光图,以用作预测基准。
另外的这样的技术涉及2009年4月23日公开的PCT公开WO 2009/051668(PCT/US08/011661)(出于所有目的,通过引用将其全部内容并入本文)中所解释和应用的几何分区(geometric partitioning)。
另外的这样的技术涉及PCT公开WO 2011/046607(出于所有目的,通过引用将其全部内容并入本文)中所解释的稀疏二元模式(sparse dyadic mode)和其他技术。可以通过寻找给定块的行(line)以及确定行的任何一侧上的块的每个部分的值来应用稀疏二元模式以及几何分区。例如可以根据LDR图像或曝光图确定所述行。在一个具体实现方式中,根据重构的LDR图像确定曝光图中的给定块的行。相应地,因为解码器可以自己进行确定,所以无需传送该行本身。在另外的实现方式中,根据整个曝光图确定曝光图的给定块的行。相应地,在该实现方式中传送该行,因为解码器无法确定该行。
在编码之后,例如,可以传送或存储已编码的层。在各种实现方式中,解码器对两个层(对于给定图像,为LDR图像和曝光图)进行存取和解码。从而,例如,解码器执行操作310和320。然后,解码器根据重构的LDR图像、重构的曝光图重组HDR图像(例如执行操作330)。
在至少一个实现方式中,如下进行重组。解码器侧对LDR图像和曝光图进行解码,以分别获得重构的版本和在此,仅考虑亮度通道。对于三个色彩通道,可以获得相似的等式。
然后,通过下式获得重构的HDR图像:
这与先前所列出的分解等式非常相似,因为这是逆处理。
现在将更详细地描述处理200的若干另外的具体实现方式。各种实现方式将HDR信号(可能包括多个图像)分解为多个层或成分。存在多种方式将HDR信号分解为例如两层。以下描述将HDR信号分解为LDR层和指示如何可以从LDR层重构HDR信号的重构信息、从而执行操作210的一个变型的若干实现方式。
注意,先前的实现方式的曝光图也是指示如何可以从LDR层重组HDR信号的所考虑的重组信息。
在各种实现方式中,使用色调映射将HDR图像转换为LDR图像,这通常被称为量化。可以使用各种技术,诸如例如等式、截断或查找表。为了便于表述,在查找表的背景下讨论各种实现方式。然而,同样可以应用并想到其他机制。
可以对每个HDR图像生成查找表(“LUT”),一般被称为全局色调映射。替代地,可以对多个图像(诸如例如序列或电影)生成和使用LUT。此外,可以对小于整个图像的生成和使用LUT,这一般被称为局部色调映射。各种实现方式对每个片段、块或分区生成和使用LUT。
在各种实现方式中,通过分析一个或多个HDR图像的直方图来生成LUT。基于HDR值的直方图,创建面元(bin)。面元往往大小不相等,并且HDR值的每个面元被分配单个LDR值。当面元的大小不相等时,面元提供HDR图像的HDR数据值与LDR图像的LDR数据值之间的非均匀映射。面元往往被称为量化面元。
在不同实现方式中,使用不同的值来构造LUT。例如,在各种实现方式中,LUT使用每个面元的第一或最后的HDR值。然后,分解器可以比较输入的HDR值与LUT值,以确定适当的面元和LDR值。
然后,各种实现方式对LDR图像和LUT进行编码,以用于存储或传送。有利地,LUT的数据不是很多。例如对LDR数据使用8个比特的实现方式,LUT仅包括256项。这是因为256个可能的LDR数据值中的每一个对应于LUT中的一项。对于对每个序列使用单独的LUT的全局色调映射实现方式,对于图像的每一序列因此而仅存在256项(一个LUT)。
各种实现方式从已编码LDR图像和已编码LUT形成比特流。例如使用H.264对LDR图像进行编码,并且例如使用无损编码方案对LUT进行编码。当然,其他实现方式对LUT使用有损方案。LUT可以使用例如补充增强信息(“SEI”)消息或使用某种形式的元数据而被包括在H.264比特流中,或者在流之外地(out-of-stream)被发送。
通过将LUT提供给解码器,实现方式能够重构HDR图像。在各种实现方式中,使用例如解码器、重组器或后处理器来执行该操作。
重构HDR图像包括执行在编码结束时所执行的色调映射操作的逆。在典型的实现方式中,每个输入LDR值将对应于特定LUT HDR值。在各种实现方式中,LUT HDR值被设置为面元的开始或面元的结束。可以通过例如使用该对应的LUT HDR值、使用与面元的另一端相对应的HDR值或使用与面元的中间相对应的HDR值来执行逆色调映射。可以执行两个相邻的LUT HDR值的简单数学平均。然而,在使用每个面元的中间HDR值的一个实现方式中,在解码器处生成逆色调映射LUT,其中以中间值作为LUT项,如所生成的向后LUT 158所描述和示出的那样。
典型的接收器还应用抖动算法或其他技术来改进重构的HDR图像的外观。抖动或其他处理可以减少重构的HDR图像中的量化噪声。
参照图4,编码器1100图示在各种实现方式中用于对图像(诸如例如LDR图像、HDR图像或曝光图)进行编码的编码器的实现方式。在具体的实现方式中,编码器1100还被用于对数据(诸如例如提供关于已编码比特流的信息的元数据)进行编码。元数据可以包括例如重构信息(诸如例如LUT)。在一个实现方式中,编码器1100被实现为例如以下参照图6所描述的视频传送系统的一部分。还应当清楚的是,除了提供编码器的框图之外,图4的块还提供编码处理的流程图。
输入图像序列到达加法器1101以及移位补偿块1120和移位估计块1118。注意,移位(displacement)是指例如运动移位或视差移位。在一个实现方式中,输入图像序列是LDR层。给加法器101的另外的输入是通过开关1123接收到的各种可能的基准图片信息项之一。
例如,在第一情形中,与开关1123进行信号通信的模式决定模块1124参照来自当前正在被编码的同一图片(例如LDR图片)的块来确定编码模式应当是帧内预测。在该第一情形中,加法器1101从帧内预测模块1122接收其输入。替代地,在第二情形中,模式决定模块1124参照与当前正在被编码的图片不同(例如不同时间或视图或二者)的图片来确定编码模式应当是移位补偿和估计。在该第二情形中,加法器1101从移位补偿模块1120接收其输入。
在各种实现方式中,帧内预测模块1122基于作为对于正在被编码的块的邻近块的一个或多个块来提供预定的预测器。在各种实现方式中,帧内预测模块1122通过在正在被编码的图片内搜索最佳基准块来提供预测器(基准)。
更具体地说,若干这样的基于预测器的实现方式在已经被编码的当前图片的那些部分的重构内进行搜索。在一些实现方式中,搜索被限制为位于现有块边界上的块。然而,在其他实现方式中,该搜索被允许搜索块,而不管那些块是否跨越现有块边界。因为搜索,这些实现方式往往比仅使用预定的邻近块作为基准更加时间密集(time-intensive)和处理器密集(processor-intensive)。然而,这样的实现方式通常提供发现给定块的更好的预测的优点。
这样的实现方式可以得到最佳估计帧内预测块。此外,在各种实现方式中,基准块的边界可以位于子像素边界上,基准的恢复包括恢复将在解码期间被用作基准的实际块的内插步骤。取决于图片的内容,与使用邻近块作为基准相比,这样的子像素内插实现方式可以提高压缩效率。
加法器1101将信号提供给变换模块1102,变换模块1102被配置为变换其输入信号并且将变换的信号提供给量化模块1104。量化模块1104被配置为对其所接收到的信号执行量化,并且将量化的信息输出到熵编码器1105。熵编码器1105被配置为对其输入信号执行熵编码,以生成比特流。逆量化模块1106被配置为从量化模块1104接收量化的信号,并且对量化的信号执行逆量化。而逆变换模块1108被配置为从逆量化模块1108接收逆量化的信号,并且对其所接收到的信号执行逆变换。逆变换模块1108的输出是从加法器1101输出的信号的重构。
加法器(更一般地被称为组合器)1109将从逆变换模块1108和开关1123接收到的信号相加(组合),并且将所得信号输出到帧内预测模块1122和环内滤波器1110。帧内预测模块1122在例如对来自当前图片的另外的块进行编码中使用所得信号。环内滤波器1110对用于给定图片的重构的图片数据进行滤波,将其提供给以下进一步解释的深度基准缓冲器1112。所得信号是输入到编码器1100的图像序列信号的重构。
如上所述,帧内预测模块1122使用其接收到的信号执行帧内预测。环内滤波器1110对从加法器1109接收到的信号进行滤波,并且将滤波的信号提供给基准缓冲器1112。基准缓冲器1112将图像信息提供给移位估计和补偿模块1118和1120。在一个实现方式中,基准缓冲器1112存储来自例如其他时刻或其他视图而不是来自当前图片的基准图片。在一个实现方式中,环内滤波器1110是去块滤波器。
在一个实现方式中,环内滤波器1110使用邻近像素获得当前块中的给定像素的滤波的结果。在各个滤波器设计中,当前块的邻近像素包括来自未解码的块的像素。相应地,对于这些滤波器设计,当前块无法在其被解码的同时被滤波。此外,无法对已经解码的某些邻近像素进行滤波,直至当前块被解码为止。因此,至少一个实现方式在帧内预测中不使用滤波的结果。然而,因为来自先前图片(基准图片)的所有块已经被解码并且可以被滤波,所以该实现方式对帧间预测使用滤波的结果。
元数据可以被添加到编码器1100作为已编码元数据,并且与来自熵编码器1105的输出比特流组合。替代地,例如,未编码的元数据可以连同量化的图像序列一起被输入到熵编码器1105,以便进行熵编码。
模式决定模块1124还将数据提供给输出比特流。模式决定模块1124将指示用于对给定块进行编码的模式的信息提供给比特流。这样的信息往往包括基准块的位置的指示。例如,在使用帧内预测并且执行对当前图片的搜索以发现基准块的各种实现方式中,模式决定模块1124使用视差向量指示基准的位置。可以由帧内预测模块1122将视差向量信息提供给模式决定模块1124。
如以下进一步描述的那样,可以使用邻近宏块的视差向量作为基准对视差向量信息进行差分编码。此外,由于在视差向量中可能存在空间相似性,所以可以对图片的视差向量进行分组并且附加地进行编码以去除熵。
参照图5,解码器1200图示可以用于对图像(诸如例如LDR图像)进行解码的解码器的实现方式。在一个实现方式中,已解码图像提供给重组或重构设备,以便基于LDR图像来产生HDR图像。在其他实现方式中,解码器1200用于例如对元数据进行解码和/或对视频数据进行解码。元数据提供关于例如LUT、曝光图、已编码视频图像或已解码比特流的信息。在一个实现方式中,解码器1200被实现为例如在下面参照图7所描述的视频接收系统的一部分。还应当清楚的是,除了提供解码器的框图之外,图5的块还提供解码处理的流程图。
解码器1200被配置为使用比特流接收器1202来接收比特流。比特流接收器1202与比特流解析器1204进行信号通信,并且将比特流提供给比特流解析器1204。
比特流解析器1204被配置为将残差比特流传送到熵解码器1208,将控制语法元素传送到模式选择模块1216,以及将移位(运动/视差)向量信息传送到移位补偿模块1226。
移位向量信息可以是例如运动向量信息或视差向量信息。运动向量信息典型地用在帧间预测中,以指示从先前图像的相对运动。视差向量信息典型地用在(i)帧间预测中以指示关于分离的图像的视差,或(ii)帧内预测以指示关于同一图像的一部分的视差。如本领域所知,视差典型地指示两个图像之间的相对偏移或移位。视差还可以用于指示图像的两个部分之间的相对偏移或移位。
逆量化模块1208对从熵解码器1206接收到的熵解码信号执行逆量化。此外,逆变换模块1210被配置为对从逆量化模块1208接收到的逆量化信号执行逆变换,并且将逆变换信号输出到加法器(又称为组合器)1212。
加法器1212可以根据所采用的解码模式来接收各种其他信号之一。例如,在一个实现方式中,模式决定模块1216通过解析和分析控制语法元素来确定编码器是否对当前所处理的块执行了移位补偿或帧内预测编码。取决于所确定的模式,模式选择控制模块1216基于控制语法元素来存取和控制开关1217,使得加法器1212从移位补偿模块1226或帧内预测模块1218接收信号。
在此,帧内预测模块1218被配置为执行帧内预测以使用对当前正在被解码的同一图片的基准对块进行解码,而移位补偿模块1226被配置为执行移位补偿,以使用对与当前正在被解码的图片不同的另外的先前所处理的图片(例如,来自不同时间或视图或二者)的块的基准对块进行解码。
在接收到预测或补偿信息信号之后,加法器1212将预测或补偿信息信号与逆变换信号相加,以便传送到环内滤波器1214。环内滤波器1214是例如过滤掉成块伪像的去块滤波器。加法器1212还将相加的信号输出到帧内预测模块1218,以便在帧内预测中使用。
环内滤波器1214被配置为对其输入信号进行滤波,并且输出已解码图片。此外,环内滤波器1214将经滤波的信号提供给基准缓冲器1220。基准缓冲器1220被配置为解析其接收到的信号,以允许并且帮助由移位补偿模块1226进行的移位补偿解码,基准缓冲器1220将解析的信号提供给移位补偿模块1226。这样解析的信号可以是例如可能已经用作基准的各个图片中的全部或部分。
可以在提供给比特流接收器1202的比特流中包括元数据。元数据可以由比特流解析器1204解析,并且由熵解码器1206解码。可以使用输出(未示出)在熵解码之后从解码器1200提取已解码元数据。
在至少一个实现方式中,图5中的很多块执行图4中的对应块的逆操作。例如,在一个实现方式中:
-熵解码器1206执行熵编码器1105的逆,
-逆量化模块1208执行量化模块1104的逆,以及
-逆变换模块1210执行变换模块1102的逆。
此外,如以上已经指示的那样,在至少一个实现方式中,图5中的很多块执行与图4中的对应块相同的操作。例如,在一个实现方式中:
-环内滤波器1214执行与环内滤波器1110相同的操作,
-帧内预测模块1218执行与帧内预测模块1122相同的操作,以及
-移位补偿模块1226执行与移位补偿模块1120相同的操作。
现在参照图6,示出可以应用以上所描述的特征和原理的视频传送系统或装置1600。视频传送系统或装置1600可以是例如用于使用任何各种介质(诸如例如卫星、缆线、电话线或地面广播)来传送信号的前端或传送系统。视频传送系统或装置1600还(或者替代地)可以被用于例如提供用于存储的信号。可以通过互联网或某种其他网络来提供传送。视频传送系统或装置1600能够生成并且传递例如视频内容和其他内容(诸如例如元数据)。还应当清楚的是,除了提供视频传送系统或装置的框图之外,图6的块还提供视频传送处理的流程图。
视频传送系统或装置1600从处理器1601接收输入视频。在一个实现方式中,处理器1601仅将视频图像(诸如LDR图像)提供给视频传送系统或装置1600。然而,在另外的实现方式中,处理器1601替代地或附加地将曝光图和/或LUT提供给视频传送系统或装置1600。处理器1601也可以将元数据提供给视频传送系统或装置1600,其中,元数据例如与一个或多个输入图像有关,并且可以包括例如LUT。
视频传送系统或装置1600包括编码器1602以及能够传送已编码信号的传送器1604。编码器1602从处理器1601接收视频信息。视频信息可以包括例如视频图像和/或曝光图。编码器1602基于视频和/或其他信息来生成已编码信号。在一个实现方式中,编码器1602是图4中的编码器1100。在各种实现方式中,编码器1602是例如AVC编码器。
编码器1602可以包括子模块,包括例如用于接收各条信息并且将各条信息组装成结构化格式以便存储或传送的组装单元。各条信息可以包括例如已编码或未编码的视频、曝光图值、LUT、其他元数据或信息、以及各种元素(例如运动向量、编码模式指示器以及语法元素)。在一些实现方式中,编码器1602包括处理器1601,并且因此执行处理器1601的操作。
传送器1604从编码器1602接收已编码信号,并且以一个或多个输出信号来传送已编码信号。传送器1604可以例如适用于传送具有表示已编码图片和/或与之有关的信息的一个或多个比特流的节目信号。典型的传送器执行诸如例如提供纠错编码、对信号中的数据进行交织、对信号中的能量进行随机化以及使用调制器1606将信号调制到一个或多个载波上之中的一个或多个的功能。传送器1604可以包括天线(未示出)或与天线接合。此外,传送器1604的实现方式可以被限制于调制器1606。
视频传送系统或装置1600还通信地耦合到存储单元1608。在一个实现方式中,存储单元1608耦合到编码器1602,存储单元1608存储来自编码器1602的已编码比特流并且可选地将所存储的比特流提供给传送器1604。在另一实现方式中,存储单元1608耦合到传送器1604,并且存储来自传送器1604的比特流。来自传送器1604的比特流可以包括例如已经被传送器1604进一步处理的一个或多个已编码比特流。在不同的实现方式中,存储单元1608是标准DVD、蓝光盘、硬驱动器或某种其他存储设备中的一个或多个。
在各种实现方式中,视频传送系统或装置1600执行处理200。例如,处理器1601执行操作210,编码器1602执行操作220和230。
现在参照图7,示出可以应用以上所描述的特征和原理的视频接收系统或装置1700。视频接收系统或装置1700可以被配置为通过各种介质(诸如例如卫星、缆线、电话线或地面广播)接收信号。可以通过互联网或某种其他网络接收信号。还应当清楚的是,除了提供视频接收系统或装置的框图之外,图7的块还提供视频接收处理的流程图。
视频接收系统或装置1700可以是例如手机、计算机、机顶盒、电视或接收已编码视频并且提供例如已解码视频信号以用于显示(例如显示给用户)、处理或存储的其他设备。因此,视频接收系统或装置1700可以将其输出例如提供给电视的屏幕、计算机监视器、计算机(用于存储、处理或显示)或某种其他存储、处理或显示设备。
视频接收系统或装置1700能够接收并且处理视频信息。视频信息可以包括例如视频图像、LUT和/或曝光图。视频接收系统或装置1700包括用于接收已编码信号(诸如例如本申请的实现方式中所描述的信号)的接收器1702。接收器1702可以接收例如提供一个或多个LDR图像、HDR图像、LUT和/或曝光图的信号或从图6的视频传送系统1600(例如从存储单元1608或传送器1604)输出的信号。
接收器1702可以例如适用于接收具有表示已编码图片(例如视频图片或深度图片)的多个比特流的节目信号。典型的接收器执行诸如例如接收已调制和编码的数据信号、使用解调器1704对来自一个或多个载波的数据信号进行解调、对信号中的能量进行去随机化、对信号中的数据进行解交织以及对信号进行纠错解码之中的一个或多个的功能。接收器1702可以包括天线(未示出)或与天线接合。接收器1702的实现方式可以被限制于解调器1704。
视频接收系统或装置1700包括解码器1706。在一个实现方式中,解码器1706是图5的解码器1200。
接收器1702将接收到的信号提供给解码器1706。由接收器1702提供给解码器1706的信号可以包括一个或多个已编码比特流。解码器1706输出已解码信号,诸如例如包括视频信息、曝光图、LUT或其他元数据或重构信息的已解码视频信号。解码器1708可以是例如AVC解码器。
视频接收系统或装置1700还通信地耦合到存储单元1707。在一个实现方式中,存储单元1707耦合到接收器1702,接收器1702从存储单元1707存取比特流和/或将接收到的比特流存储到存储单元1707。在另一实现方式中,存储单元1707耦合到解码器1706,解码器1706从存储单元1707存取比特流和/或将已解码比特流存储到存储单元1707。在不同的实现方式中,从存储单元1707存取的比特流包括一个或多个已编码比特流。在不同的实现方式中,存储单元1707是标准DVD、蓝光盘、硬驱动器或某种其他存储设备中的一个或多个。
在一个实现方式中,来自解码器1706的输出视频提供给处理器1708。在一个实现方式中,处理器1708是被配置用于执行HDR图像的重构或重组的处理器。在一些实现方式中,解码器1706包括处理器1708,并且因此执行处理器1708的操作。在其他实现方式中,处理器1708是下游设备(诸如例如机顶盒或电视)的一部分。
在各种实现方式中,视频接收系统或装置1700执行处理300。例如,解码器1706执行操作310和320,并且处理器1708执行操作330。
本申请提供多个框图和/或流程图,包括图1至图7的图。应当清楚的是,本申请的框图和/或流程图呈现描述处理的流程图以及描述装置的功能块的框图这两者。
-例如,如上所述,图1的流程图描述包括图1中所列出的操作的流程处理。然而,图1还提供用于实现该流程的框图。在一个实现方式中,例如,(i)HDR图像110的块表示图像接收设备,(ii)LDR图像112的块表示生成LDR图像的分解成分,(iii)已编码LDR图像122的块表示编码器,(iv)LDR信号部分132的块表示比特流生成器,以及(v)重构的LDR图像142的块表示解码器。在该实现方式中,以相似的方式来解释图1中的其他块,从而提供用于实现该流程的完整框图。
-例如,如上所述,图2的流程图描述包括图2中所列出的操作的流程处理。然而,图2还提供用于实现该流程的框图。在一个实现方式中,例如,用于操作210-230中的每一个的块分别表示用于执行相应操作的组件。也就是说,例如,操作210的块表示用于执行将HDR图像分解为LDR图像和重构信息的操作的组件。在另一实现方式中,以与正如对图2所描述的相似的方式来解释图3。
-例如,如上所述,图4的框图描述包括图4所示的组件的系统或装置。然而,图4还提供用于执行块的功能的流程图。在一个实现方式中,例如,(i)作为组件的变换模块1102的块表示执行变换的操作,以及(ii)环内滤波器1110(也是组件)的块表示执行环内滤波的操作。在该实现方式中,以相似的方式来解释图4中的其他块,从而提供用于执行块的功能的完整流程图。在其他实现方式中,以与正如对图4所描述的相似方式来解释图5-7。
这样,提供了具有特定特征和方面的一个或多个实现方式,具体地说,提供了与HDR图像的分解和重组(或重构)有关的若干实现方式。然而,想到了这些实现方式的变型和另外的应用,并且它们在本公开内,并且所描述的实现方式的特征和方面可以适用于其他实现方式。
在本申请中所描述的若干实现方式和特征可以用在AVC标准和/或具有VC扩展的AVC(附录H)和/或具有SVC扩展的AVC(附录G)的背景下。此外,这些实现方式和特征可以用在另外的标准(现有的或将来的)的背景下或者不涉及标准的情况下。
所提到的本发明的“一个实施例”或“实施例”或“一种实现方式”或“一个实现方式”以及它们的其他变型意味着结合该实施例描述的具体特征、结构、特性等包括在本原理的至少一个实施例中。因此,在说明书的各处出现的短语“在一个实施例中”或“在实施例中”或“在一种实现方式中”或“在一个实现方式中”以及任何其他变型未必都指相同的实施例。
此外,本申请或其权利要求可能提到“确定”各条信息。确定信息可以包括例如估计信息、计算信息、预测信息或从存储器中检索信息中的一个或多个。
此外,本申请或其权利要求可能提到“存取”各条信息。存取信息可以包括例如接收信息、检索信息(例如存储器)、存储信息、处理信息、传送信息、移动信息、复制信息、擦除信息、计算信息、确定信息、预测信息或估计信息中的一个或多个。
各种实现方式提到“图像”和/或“图片”。术语“图像”和“图片”在本文献中可互换地使用,并且旨在宽泛的术语。“图像”或“图片”可以是例如帧或场的全部或部分。术语“视频”是指图像(或图片)的序列。图像或图片可以包括例如任何各个视频成分或它们的组合。这些成分或它们的组合包括例如亮度、色度、(YUV或YCbCr或YPbPr的)Y、(YUV的)U、(YUV的)V、(YCbCr的)Cb、(YCbCr的)Cr、(YPbPr的)Pb、(YPbPr的)Pr、(RGB的)红色、(RGB的)绿色、(RGB的)蓝色、S视频以及任何这些成分的负或正。“图像”或“图片”也可以(或替代地)指代各种不同类型的内容,包括例如典型的二维视频、曝光图、2D视频图片的视差图、与2D视频图片相对应的深度图或边缘图。
“曝光图”、“深度图”、“视差图”、“边缘图”以及相似术语也旨在宽泛的术语。图(map)通常是指例如包括特定类型的信息的数据集合。然而,图可以包括未按照其名称所指示的其他类型的信息。例如,深度图通常包括深度信息,但是也可以包括其他信息,诸如例如视频或边缘信息。此外,图(诸如例如曝光图或深度图)无需像视频图像那样地在视觉上有用或有意义。然而,图可以并且往往确实提供在视觉上有用或有意义的信息。例如,深度图典型地提供人眼可以由其确定对象或深度的图像。
术语“层”用在该文献中以指代例如HDR层、LDR层和曝光图层。层可以包括各种不同元素。典型地,HDR层例如包括HDR图像。更一般地,HDR层是在组织或等级意义上的层或级,其包括HDR元素(诸如例如HDR图像)。
“信号”指代例如比特流。相应地,HDR信号典型地包括表示来自HDR层的HDR元素(诸如例如HDR图像)的比特流。
在本申请中的各处使用术语“近邻”或“邻近”。例如,如果第一块或像素接触第二块或像素,则称第一块或像素是第二块或像素的近邻。因此,给定块或像素通常具有八个近邻,包括上、下、左、右以及在四个角处的块或像素。
要意识到,使用以下“/”、“和/或”以及“中的至少一个”(例如在“A/B”、“A和/或B”以及“A和B中的至少一个”的情况下)中的任何一个旨在包含只选择第一列出选项(A)、或只选择第二列出选项(B)、或选择这两个选项(A和B)。作为另一示例,在“A、B和/或C”以及“A、B和C中的至少一个”以及“A、B或C中的至少一个”的情况下,这样的短语旨在包含只选择第一列出选项(A)、或只选择第二列出选项(B)、或只选择第三列出选项(C)、或只选择第一和第二列出选项(A和B)、或只选择第一和第三列出选项(A和C)、或只选择第二和第三列出选项(B和C)、或所有三个选项(A和B和C)。对于所列出的很多项,如本领域技术人员容易理解的那样,可以对此进行扩展。
此外,很多实现方式可以实现在编码器(例如编码器1100或1602)、解码器(例如解码器1200或1706)、处理来自解码器的输出的后处理器(例如处理器1708)或将输入提供给编码器的预处理器(例如处理器1601)中的一个或多个中。此外,本公开想到了其他实现方式。
在本文中所描述的实现方式可以实现为例如方法或处理、装置、软件程序、数据流或信号。尽管只在单一形式的实现方式的背景下进行了讨论(例如仅作为方法来讨论),所讨论的特征的实现方式也可以实现为其他形式(例如装置或程序)。装置可以例如以适当的硬件、软件和固件来实现。方法可以例如实现在装置中,诸如例如通常指处理设备的处理器,包括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器还包括通信设备,诸如例如计算机、手机、便携式/个人数字助理(“PDA”)以及其他促使终端用户之间的信息的通信的设备。
在本文中所描述的各个处理和特征的实现方式可以实施为各种不同的装备或应用,具体地,例如与数据编码、数据解码、HDR处理、视图生成、深度或视差处理以及图像和有关的深度和/或视差图的其他处理关联的装备或应用。这样的装备的示例包括编码器、解码器、处理来自解码器的输出的后处理器、将输入提供给编码器的预处理器、视频编码器、视频解码器、视频编解码器、网络服务器、机顶盒、HDR电视或其他HDR显示设备、膝上型设备、个人计算机、手机、PDA和其他通信设备。应当清楚的是,装备可以是移动的,甚至可以被安装在移动交通工具中。
此外,可以通过处理器所执行的指令来实现方法,这样的指令(和/或实现方式所产生的数据值)可以存储在处理器可读介质上,诸如例如集成电路、软件载体或其他存储设备,诸如例如硬盘、压缩盘(“CD”)、光盘(诸如例如DVD,一般被称为数字多功能盘或数字视频盘)、随机存取存储器(“RAM”)或只读存储器(“ROM”)。指令可以形成在处理器可读介质上有形地实施的应用程序。指令可以在例如硬件、固件、软件或组合中,指令可以存在于例如操作系统、单独的应用或这二者的组合中。因此,处理器可以被表征为例如被配置为执行处理的设备以及包括具有用于执行处理的指令的处理器可读介质的设备(诸如存储设备)这二者。此外,处理器可读介质可以与指令一起或替代指令地存储实现方式所产生的数据值。
对于本领域技术人员显而易见的是,实现方式可以产生被格式化为携带可以例如被存储或传送的信息的各种信号。信息可以包括例如用于执行方法的指令或所描述的实现方式之一所产生的数据。例如,信号可以格式化为携带用于写入或读取语法的规则作为数据,或携带使用语法规则所生成的实际语法值作为数据。这样的信号可以例如被格式化为电磁波(例如使用频谱的射频部分)或格式化为基带信号。格式化可以包括例如对数据流进行编码以及用已编码数据流调制载波。信号携带的信息可以是例如模拟或数字信息。如所知的那样,可以通过各种不同的有线或无线链路来传送信号。信号可以存储在处理器可读介质上。
已经描述了多个实现方式。然而,应当理解的是,可以进行各种修改。例如,可以组合、补充、修改或移除不同实现方式的要素,以产生其他实现方式。此外,本领域技术人员将理解的是,其他结构和处理可以代替所公开的那些结构和处理,所得到的实现方式将以至少基本相同的方式来执行至少基本相同的功能,以实现与所公开的实现方式至少基本相同的结果。相应地,本申请想到了这些以及其他实现方式。