高动态范围编解码器的制作方法

文档序号:7642074阅读:303来源:国知局
专利名称:高动态范围编解码器的制作方法
技术领域
本发明涉及编码图像数据。本发明具有用于编码图像或者用于编码视频数据序列的特殊应用。

背景技术
动态范围是一种图像的最亮和最暗部分的相对亮度的度量。直到最近,大多数电视机、计算机监视器和其它显示设备已经能够再现仅仅几百到1的动态范围。这远远小于人眼能察觉的动态范围。具有更大的动态范围的显示设备正变得可用。这种高动态范围的显示设备能够提供比由传统的“低动态范围”显示设备产生的图像更为自然和逼真的图像。
高动态范围显示设备在宽频带的应用中十分有益。例如,高动态范围的显示设备可以被用来显示从电影和游戏画面到诸如飞行模拟器的模拟器中的视觉显示的范围的逼真的视频图像。高动态范围的显示设备还具有要求苛求的成像应用方面的应用,比如医学成像。
许多当前的图像数据格式利用每像素24位或更少位数指定像素值。这些位同时指定了像素的亮度和颜色。对于指定可以在高动态范围显示器能够再现的范围上平滑地变化的整个范围的色彩和亮度,24位太少。为了从高动态范围显示器获得全部益处,需要提供能够指定宽范围的像素值的图像数据。已经开发或建议了提供每像素更多位数的各种高动态范围数据格式。这种高动态范围数据格式与先前的较低动态范围数据格式不是典型地向后兼容。
例如,如同在R.Mantiuk,G.Krawczyk,K.Myszkowski和H-P.Seidel.的“Perception-motivated high dynamic range videoencoding”.ACM Transactions on Graphics(Proc.of SIGGRAPH2004),23(3):730-38,2004中描述的HDRV“Perception-motivatedHDR Video Encoding”是一种不能提供向后兼容性的有损HDR视频压缩方法。该方法针对亮度利用11位以及针对色度利用两倍8位来编码HDR像素。这就使得视频流不包括LDR帧上的任何信息。
在Greg Ward和Maryann Simmons.的“Subband encoding ofhigh dynamic range imagery”.In APGV`04Proceedings of the 1stSymposium on Applied perception in graphics and visualization,83-90页,纽约,NY,USA,2004.ACM Press中描述了JPEGHDR。该方法包括子抽样子带层,这可能导致高频损耗。为了防止产生这种损耗,该方法建议三种方法:预先校正LDR层,以在该层内编码由于子抽样可能丢失的高频;事后校正,其试图恢复已经丢失的高频,而不是修正LDR图像和全采样,这意味着不执行子抽样。
仍然有对用于编码和解码HDR图像,特别编码和解码是HDR视频图像的实用的方法和设备的需求。特别是需要这种方法和设备提供与现有硬件的向后兼容性以再现较低动态范围图像。


发明内容
本发明提供了用于编码高动态范围图像数据和用于解码该数据以提供较低动态范围图像数据和较高动态范围图像数据的方法和设备。可以将该方法和设备应用于编码视频数据。在本发明的一些实施例中,以诸如MPEG(运动图像专家组)格式的标准格式来编码较低动态范围的数据。
本发明一方面提供了一种用于编码高动态范围图像的方法。该方法包括获得对应于高动态范围图像的较低动态范围图像;识别高动态范围图像中的像素组,较低动态范围图像中这些对应的像素全部都具有相同的像素值;至少部分基于属于多个组的每一个的高动态范围图像中的像素的像素值,生成预测函数;对较低动态范围图像应用该预测函数,以获得预测的图像;计算表示预测图像中的像素值和高动态范围图像中的对应的像素值之间的差异的残留图像;以及编码并存储表示较低动态范围图像、预测函数和残留图像的数据。
本发明的其它方面提供用于解码已经根据本发明编码的高动态范围图像的方法,以及用于编码和/或解码高动态范围图像的设备。
下面描述本发明另外的方面和本发明的特定实施例的特征。



附图中举例说明了本发明的非限制性实施例, 图1是举例说明根据本发明的一个实施例的编码方法的流程图; 图1A是来自高动态范围图像的像素值的直方图,较低动态范围版本的图像中的这些对应的像素全部都具有相同的像素值; 图2是举例说明根据本发明的解码方法的流程图; 图3是举例说明根据一个特定实施例的MPEG编码方法的流程图; 图4A到4F示出了对于各种色调映射算法,对应的HDR和LDR图像中亮度值之间的关系; 图5示出了根据本发明的一个实施例用于过滤残留图像数据的方法;以及 图6是举例说明对于一个原型编码系统,作为图像质量参数的函数的位速率图。

具体实施例方式 通过下面的描述,阐明了一些特定细节以使得更为彻底地理解本发明。然而,可以在没有这些细节的情况下实践本发明。在其它实例中,并没有详细的示出或描述众所周知的元素以避免不必要地模糊本发明。因此,以示例性而不是限制性的意义来看待说明书和附图。
图1示出了根据本发明的一个基本实施例,用于编码图像数据帧的方法10。方法10同时将高动态范围(HDR)数据12和较低动态范围(LDR)数据14二者编码为编码图像数据38。如下文描述的,编码图像数据38可以被解码以重构LDR数据和HDR数据。
仅通过示例,可以以例如绝对CIE XYZ(2E标准观察者)色彩空间的色彩空间来表示HDR数据12,其中每个像素的色彩和亮度由三个浮点数指定。可以以例如sRGB色彩空间的色彩空间来表示LDR数据14,其中每个像素的色彩和亮度由三个字节指定。在某些实施例中,通过适当的动态范围缩减处理16从HDR数据12(或HDR数据12的前驱(precursor))导出LDR数据14。
动态范围缩减例如可以包括色调映射和/或色域(gamut)映射。可以使用任何适当的色调映射算子(operator)或色域映射。例如,可以选择色调映射算子以使亮度和色彩饱和,改变色值并增强局部对比度。这种变化可能产生较低的压缩比,但是LDR和HDR帧均将被保存在结果视频流中。
在块18中,方法10建立一个预测函数19。预测函数19基于LDR数据14中对应的像素的像素值,提供HDR数据12中的像素的像素值作为输出。因为目标是能够从编码图像数据38再现HDR数据12和LDR数据14,优选地使预测函数19基于可以根据编码图像数据38重构的LDR数据14的版本。
在此,利用有损算法编码和压缩LDR数据14,这不能够保证重构的LDR数据14的版本将与原始LDR数据14的一致。由于这个原因,图1示出了块19,其接收重构的LDR数据26作为输入。在块20中,通过编码/压缩LDR数据14获得重构的LDR数据26,以便提供编码的压缩LDR数据22,并随后在块24中解码/解压缩编码压缩的LDR数据22。编码压缩的LDR数据22被包括在编码图像数据38中。线条15说明了不太精确的可选方法,其中块18使用LDR数据14直接建立预测函数19。
预测函数19优选采用重构的LDR数据26中的像素值和HDR数据12中对应的像素值之间的统计关系。通常,如果采用了重构的LDR图像26中全都具有相同的特定像素值的全部像素,则HDR图像数据12中对应的像素将不是全都具有相同的像素值。也就是说,通常在LDR像素值和HDR像素值之间存在一对多的关系。
图1A是一个直方图,其中水平轴包括所有可能的HDR像素值,而垂直轴指示在由HDR图像数据12表示的图像中有多少像素具有该值。可能有大量的其中该图像中没有任何具有该值的像素值。图1A中的阴影条表示HDR图像数据12中的像素值,其中在重构的LDR图像数据26中的相应像素全都具有相同的像素值XLDR。对应于LDR像素值XLDR的HDR像素值的范围为从A到B。对于对应重构的LDR图像数据26中的相同像素值的像素的所有HDR像素值可以被称为仓(bin)。典型但不是强制性的是不同的仓不会重叠。
可以通过收集HDR像素值到仓中并统计分析每个仓,根据HDR图像数据12和重构的LDR图像数据26获得图像的预测函数19。收集HDR像素值到仓中可包括: §采用重构的LDR图像数据26,并且针对重构的LDR图像数据26中表示的每个像素值,识别一组具有该像素值的所有像素; §针对该组像素的每一个,识别HDR数据12中对应的像素,并确定那些对应像素的像素值,以产生一组对应于每个LDR像素值的所有HDR像素值。
可以通过下面任何一项获得预测函数19: §找到每个仓中HDR像素值的算术平均; §找到每个仓中HDR像素值的中值; §找到定界该仓的值A和B的平均值; §这些项的某些组合;或 §类似方法 相信对于许多应用,算术平均提供了精度和计算效率的良好组合。
对于预测函数19,仅仅需要编码由预测函数19预测的值和来自HDR图像数据12的实际值之间的差异。这种差异通常接近于0,并且因此可以被有效地压缩到残留帧中。
仅仅需要为LDR数据14中可能的像素值(在像素值由8位数表示的情况下为256个值)定义预测函数19。预测函数19可以包括根据LDR像素的有效值索引的查阅表。预测函数19可以实现为具有一个输出值对应每个索引值的查阅表。例如,在此LDR像素具有8位值。查阅表可以包括由从1到256范围内的整数索引的256个不同的值。预测函数19不需要是连续的,因为其主要任务是使残留帧的值尽可能小。在可选实施例中,预测函数可以部分或整体地由适当的参数化的连续曲线表示。
在块28,方法10通过对重构的LDR数据26应用预测函数19来获得预测HDR图像。重构的LDR数据26的每个像素的像素值被应用作为对预测函数19的输入,并以来自预测函数19的结果输出替代该像素值以产生预测的HDR图像29。
块30计算预测的HDR图像29和HDR数据12的图像之间的差异以提供残留图像32。在块34,残留图像32被编码/压缩,并输出到编码图像数据38作为残留图像数据35。块34可以包括过滤和量化残留图像32,以便删除对根据编码图像数据38重构的HDR图像的保真度没有可辨认的影响(或者具有更加侵袭性的过滤和/或量化极为有害的影响)的信息。
图2示出了用于解码编码图像数据38的方法40。LDR数据22可以根据编码图像数据38提取,并在块32被解码/解压缩以产生LDR数据43,该LDR数据43被输出作为LDR数据输出44。如果LDR数据输出44都是所需要的,则不需要进行另外的处理。
如果还需要HDR数据输出56,则在块46解码预测函数37,以产生预测函数47,并且在块50解码/解压缩残留图像数据35以产生残留图像52。
在块48,对LDR数据43应用预测函数47以产生预测HDR图像49。在块54,预测的HDR图像49与残留图像52组合以产生HDR数据输出56。如同图2所示工作的解码器可以与要求LDR数据输出44的系统和设备向后兼容,同时在HDR数据输出56提供高质量的HDR数据。
可以通过以下执行方法10和40 §编程的数据处理器,其可以包括一个或多个微处理器、数字信号处理器、它们的某一组合,或者执行促使数据处理器实现该方法的软件的类似物; §硬件电路,例如包括协同工作以实现该方法的功能块的电路-该电路例如可以包括适当配置的场可编程门阵列(“FPGAs”)或专用集成电路(“ASICs”);或者 §在编程的数据处理器中执行该方法的某些部分以及在适当的硬件电路中执行该方法的其它部分。
图3示出了根据更为具体的示例性实施例的方法70。方法70以遵循由活动图像专家组(MPEG)标准设置的标准的方式编码视频帧。方法70接收两种输入的视频数据流。一种包括HDR帧74的流在输入72被接收。一种包括LDR帧76的流在输入78被接收。可以从HDR帧74或来自输入78的HDR帧74上游的一些前驱导出LDR帧76。
如图3所示工作的编码器产生三个压缩流LDR流80,其可与MPEG完全兼容;残留流82,其包括LDR帧76和对应的HDR帧74之间的差异;以及辅助流84,其包括用于重构HDR帧74的辅助数据。当残留流82和辅助流84未复制在LDR流80中编码的信息时可以达到最佳性能。
在块88中利用适当的编码器编码LDR帧76。例如,块88可以使用与ISO/IEC14496-2标准兼容的MPEG视频编码器。可以在可选实施例中使用其它视频编码器。可以以适当的媒体容器格式,比如音频视频交织(AVI)或QuickTimeTM来封装产生的视频流,以使得其可以通过现有的软件被识别并重放。
在块90,解码利用MPEG编码的LDR帧。为了使计算量减至最小,可以通过在块88中使用的MPEG编码器来执行块90中的解码。MPEG编码器典型地在内部解码帧,以用于估计运动向量。块90可以包括存取由MPEG解码器生成的解码帧。在可选实施例中,可以独立于块88执行块90。
来自块90的输出将通常不同于到块88的输入,因为MPEG是一种有损压缩方法。经MPEG编码并随后被解码的LDR帧与原始的LDR帧不完全相同,而是包括压缩伪像(artifact)。
在块92A和92B,如果需要的话,LDR帧76和HDR帧74其中之一或二者的色彩空间被变换,以提供在相互兼容的色彩空间中表现的LDR帧和HDR帧。在块92A和92B中执行的这种变换,如果有的话,取决于输入的LDR帧76和HDR帧74的色彩空间。在某些情况下,不需要块92A和92B。在其它情况下,仅仅需要块92A和92B的其中一个。
当LDR和HDR色彩空间的色彩通道近似地表示相同的信息时,HDR和LDR色彩空间是相容的。还期望HDR和LDR色彩空间感知为一致的。感知的一致性促进了根据可以感觉到的而不是算法的差异估计色彩差异。还期望HDR色彩空间保持一个宽的色域,理想地为整个可见的色域,尽管在现有的显示器上不能显示整个可见的色域。
发明人考虑到一个用于表示HDR图像数据的一个良好的色彩空间是CIE 1976 Uniform Chromacity Scales(μ0,v0)与sRGB色彩空间的伽马校正的组合。还可以使用其它色彩空间。在一个实例中,以sRGB色彩空间表示输入的LDR帧76,而以CIE XYZ(2E标准观察者)色彩空间表示输入的HDR帧74。在这种情况下,块92A包括将LDR像素从sRGB色彩空间变换成I1dru1drv1dr空间。这可以通过计算CIE XYZ色彩坐标并随后根据XYZ值计算亮度和u’和v’色彩坐标来完成。可以利用在IEC 61966-2-11999.Multimedia systems andequipment-Colour measurement and management-Part2-1Colourmanagement-Default RGB colour space-sRGB.InternationalElectrotechnical Commission,1999.中给出的sRGB变换公式来确定XYZ值。例如,对于R8-bit是8位色彩坐标:公式(1)

公式(2) G8-bit和B8-bit色彩坐标可以被类似地变换成浮点值并且随后可以根据下面的公式确定X、Y和Z: 公式(3) 公式(3)中的示例性距阵假定白点D65。通过利用适当的校正色彩值可以为每个LDR像素计算亮度。例如,可以通过下面的公式给出亮度: lldr=0.2126×R8-bit+0.7152×G8-bit+0.0722×B8-bit 公式(4) 在此:Ildr是LDR像素的亮度值。亮度是在已经应用伽马校正之后的非线性R’G’B’成分的加权和。
可以通过下面的公式获得色度μ’和v’公式(5) 和 公式(6) 可以通过将μ’和v’的每一个乘以适当的比例因数来获得8位数μ1dr和v1dr,比如 uldr=u′×410公式(7) 和 vldr=v′×410公式(8) 在变换的色彩空间中,LDR数据的每个像素由像素值I1dr,v1dr,μ1dr表示。
块92B可以以如上文描述的用于LDR像素值的基本相同的方式变换HDR帧74的色彩值。普通的伽马校正通常不能用于可以在HDR帧中指定的亮度值的范围。因此,某些实施例使用感觉均匀的亮度表示,这种表示已经从用于人类观察者的对比度检测测量法导出。该空间具有类似于LDR像素值被伽马校正的空间的特性,但是可以编码整个可见亮度范围(例如,利用11-12位)。
在一个示例性实施例中,通过下面的公式,将HDR亮度y变换成12位的HDR亮度lhdr

公式(9) 其中的常量列于下面的表1。通过下面的公式给出反向变换

公式(10) 在此,公式(9)和(10)中使用的各种常量列于下面的表1。
表I-公式(9)和(10)中的常数示例 块94生成了HDR图像数据的预测函数。该预测函数试图根据LDR图像数据中的对应像素的对应像素值,预测HDR图像数据中像素的像素值。在理想情况下,选择预测函数以将具有的值明显不同于由预测函数预测的值的HDR图像数据中的像素数减至最小。预测函数在对数域中优选为非线性。
在表示HDR数据中的色度的像素值与LDR图像数据中对应的像素值几乎相同的情况下,计算色度像素值(例如,μ’和v’)的预测函数是无益的。在这种情况下,仅仅需要提供亮度值的预测函数(例如,亮度(luma)、辉度等等)。
因为LDR帧76和HDR帧74包括类似的信息,这些帧强相关。在通过对HDR帧74应用色调映射算法获得LDR帧76的情况下,相关的特性取决于使用了什么色调映射算法。
图4A到4F示出了LDR帧的亮度值与对应的HDR帧的亮度值是如何相关的。这些图的每一个应用了不同的色调映射函数以从示例性的HDR图像中导出LDR图像。这些色调映射函数通常提供lldr和lhdr在较小值之间的线性关系。对于较高的亮度值,色调映射函数之间有更多的变化。在图4A到4D的每一个中,LDR亮度值被描绘在水平轴上,而HDR亮度值被描绘在垂直轴上。以X标记的点指示LDR和HDR图像中对应像素的像素值。
图4A到4F分别对应下面公开中的色调映射函数: $ S.Pattanaik,J.E.Tumblin,H Yee,and D.P.Greenberg.Time dependentvisual adaptation for realistic image display.In Proceedings of ACMSIGGRAPH 2000,Computer Graphics Proceedings,Annual ConferenceSeries,pages 47-54,July 2000. $ Erik Reinhard,Michael Stark,Peter Shirley,and Jim Ferwerda.Photographic tone reproduction for digital images.ACM Trans.onGraph.,21(3)267-276,2002. $ Frédo Durand and Julie Dorsey.Fast bilateral filtering for the display ofhigh-dynamic-range images.ACM Trans.on Graph.,21(3)257-266,2002. $ Raanan Fattal,Dani Lischinski,and Michael Werman.Gradient domainhigh dynamic range compression.ACM Trans.on Graph.,21(3)249-256,2002. $ Frédéric Drago,Karol Myszkowski,Thomas Annen,and NorishigeChiba.Adaptive logarithmic mapping for displaying high contrastscenes.Computer Graphics Forum,proceedings of Eurographics 2003,22(3)419-426,2003. $ Rafal Mantiuk,Karol Myszkowski,and Hans-Peter Seidel.A perceptualframework for contrast processing of high dynamic range images.InAPGV′05Proceedings of the 2nd Symposium on Applied Perceptionin Graphics and Visualization,pages 87-94,New York,NY,USA,2005.ACM Press. 可以如上所述生成预测函数。在预测函数被定义为落入对应的仓中的所有HDR像素的值的算术平均的情况下,该预测可以被写为公式(11) 在此∑i={i=1...N*l1dr(i)=l},l=0...255; N为帧中像素的数量,而lldr(i)和lhdr(I)分别为LDR和HDR帧中对于ith像素的亮度值。优选为每个帧更新预测函数。
在图4A到4F中,以实线来显示预测函数。预测函数将取决于图像内容以及所使用的色调映射函数。图4A到图4F示出了典型的HDR图像的预测函数。图4A到4F示出了典型的预测函数在它们的大部分范围内随着斜率逐渐增大而倾向于缓慢变化。因此,在某些实施例中,不是对每个仓编码预测函数的值,而是编码两个连续仓的预测函数值之间的差异。为了进一步减少位的数量,例如可以利用如块95中指示的自适应霍夫曼算法来压缩这些差异。辅助数据流84的大小在某些实施例中为整个流大小的1%或者更小。因此,预测函数的存储开销可以几乎是无关紧要的。还可以以其它方式表示预测函数或预测函数的各部分,例如,作为参数化的多项式曲线、样条曲线、或其它参数化的函数。
在块96计算残留帧。残留帧中的像素值每个表示HDR帧的对应像素的像素值与通过对LDR帧的对应像素的像素值应用预测函数预测的像素的像素值之间的差异。可以针对每个像素值(在该实例中为l,u和v)分别执行块96。对于亮度值,残留帧中的每个像素rl(i)可以如下面的公式计算: rl(i)=lhdr(i)-RF(lldr(i)) 公式(12) 对于色度值,预测函数可以是恒等函数,在此情况下 ru(i)=uhdr(i)-uldr(i) 公式(13) 和 rv(i)=vhdr(i)-vldr(i) 公式(14) 适当地选择预测函数可以明显地减少编码HDR帧的数据量。尽管这种节约的、残留帧可能仍包括大量噪声,其不会明显的改善重构的HDR图像的质量。可以通过过滤残留帧以减少或消除这种噪声,在不引起图像质量明显降低的情况下提高压缩比。块98过滤残留帧。残留帧中的信号通常相对接近于可见门限。因此,过滤可以使数据大大的减少而不会大大的降级根据这些数据重构的HDR图像的质量。
块98的一个输出是残留帧,其中高频在它们不可见的那些区域已经被削弱。图5示出了一种可以应用于过滤残留帧的方法110。可以在根据本发明的编码方法的环境中执行方法110,但是还具有在其它环境中的应用,在这些其它环境中期望减少表示图像的数据量,而不引入可见的伪像到图像中。
以下的说明描述了在亮度通道上执行的处理。相同的处理还可以应用于色度通道。色度通道可以是子抽样的,例如抽样到它们原始分辨率的一半以减少处理。这就减少了针对亮度和色度CSF中的差异的近似计算。
方法110接收残留帧112和屏蔽残留帧的HDR帧114。在块116和118,应用离散子波变换(DWT)以便将每个屏蔽帧114和残留帧112拆分为多个频率和定向选择通道。可以应用其它适当的变换代替DWT,如在A.B.Watson.The cortex trans formRapid computation ofsimulated neural images.Computer Vision Graphics and ImageProcessing,39311-327,1987中描述的皮层(cortex)变换。皮层变换可能是非常计算密集的,并且因此仅在有足够的计算资源可用时才是实用的。
一个原型实施例使用CDF9/7离散子波基准(根据JPEG-2000标准,其还可以用于图像的有损压缩)。这种子波基准给出了平滑和计算效率之间的良好折衷。在该原型中,仅仅使用三个最好的子波分解比例,因为以更为粗糙的比例过滤较低的空间频率可能导致明显的伪像。
在块120,应用一个诸如对比敏感度函数(CSF)的函数以说明人类视觉系统对较高空间频率的较低的灵敏度。应用CSF包括利用一个常数加权子波系数的每个频带。表2中给出了对于1700像素的观察距离的示例性加权因子。
表2-CFS系数 人类视觉通道具有有限的相位灵敏度。这就提供了另外的机会以便在不会明显的降质重构的图像的情况下丢弃信息。屏蔽信号不仅仅影响子波系数值最高的区域,而且还可能影响相邻区域。相位的不确定还减小了在与呈现更高的屏蔽数量的纹理相反的边缘处的屏蔽的影响。
可以用L0.2标准来建模相位不确定性,其还用在JPEG-2000图像压缩中。L0.2标准由下面的公式及其数学等式给出 公式(15) 其中,1表示一个系数的邻域(在原型实现中13H13盒子被用作邻域),LCSF是已经通过应用CSF因子加权的子波系数,而LCSF是在考虑了相位不确定性之后CSF-加权的子波系数。
块124预测在出现来自原始HDR帧114的屏蔽信号中的门限对比度是如何变化的。为了建模对比度屏蔽,可以使用门限提升函数。门限提升函数可以具有例如下面的形式

公式(16) 在该原型实施例中,公式(16)中的常量为a=0.093071和b=1.0299和c=11.535。
对于残留帧,每个CSF加权的系数RCSF与根据原始HDR帧114计算的对应的门限提升Te的值相比较。如果根据公式(16)RCSF小于可见性门限Te,则系数可以设置为0而不会在最终重构的图像中引入明显的变化。这可以通过下面的公式来表示

公式(17) 最后,过滤的子波系数Rfilt被变换回到图像域。上文给出的预过滤方法可以明显地减小残留流的大小。过滤是计算效率和可视模型的精确度之间合理的折衷。在此描述的过滤典型地增大编码时间不超过大约80%。在编码期间的过滤不会增大解码时间。
返回到图3,块100量化过滤的残留帧。尽管在残留帧中编码的差异幅值通常较小,它们可以取!4095到4095范围内的值(对于12位HDR亮度编码)。显然,不能利用8位MPEG编码器编码这种值。尽管MPEG标准提供了以12位编码亮度值的扩展,但这种扩展很少实现,尤其在硬件中。
量化块100允许降低残留值的幅值,充分的优选可以利用标准的8位MPEG编码器来编码的那些值。可以使用各种量化方案。例如,某些实施例应用非线性量化,在此残留的大的绝对值被强量化,而小的绝对值被以最大的精度保留。因为很少有像素包括具有较大的幅值的残留,大部分像素不会受强量化的影响。
强量化可以导致在某些图像中具有差的可视质量。这是因为即使是少数具有大的量化误差的像素也可能以一种降低感知的图像质量的方式被突出。
简单的箝位残留值(例如,到8位范围)可以以丢失非常亮或暗的区域中的细节的代价来产生视觉更好的结果。此外,在典型的图像中,适当的选择预测函数,仅仅很少像素具有超过8位范围的残留值。
在某些实施例中,为了减少以更强量化的代价的箝位,将残留值除以恒定量化因子。可以根据由于箝位引起的误差和由于量化引起的误差之间的折衷来选择因子。可以基于属于每个仓的所有像素的残留的最大幅值,分别设置每个仓的这种量化因子。因此,在量化之后的残留值可以被计算为 其中公式(18) 在此: §算子[·]-127÷127将方括号内的值四舍五入为最接近整数,并且如果其大于127或小于-127则箝位该值; §q(l)是针对每个仓∑k分别选择的量化因子,可以通过下面的公式给出量化因子公式(19) 在此qmin是最小的量化因子,其可以是例如1或2。
量化因子q(l)可以与预测函数一起存储在辅助数据流84中。这种数据可以如在块95中那样首先被压缩。在大多数情况下,大部分量化因子q(l)将具有值qmin。因此,跟随霍夫曼编码的行程(run-length)编码是一种压缩表示量化因子的数据的有效方法。
在块102中,残留值被编码。当残留值为8位值时,可以利用普通的MPEG压缩(例如,MPEG-4压缩)来编码。在原型实施例中,所量化的残留值、

以及色度残留值ru和rv在将它们四舍五入为最接近的整数值之后被MPEG编码。注意,在预测函数接近线性而且公式(18)的自适应量化的影响为最小的情况下,应用以获得残留值的操作近似地为线性。在这种情况下,残留帧的可视信息与原始HDR帧处于相同的频带,并且残留的DCT量化具有与针对原始的HDR像素值类似的效应。因此,可以使用标准的DCT量化距阵来编码残留帧。
由于在块88和102中的MPEG编码是独立的,就能够为块88和102的每一个分别设置MPEG质量参数。在大多数应用中,设置两组MPEG质量参数既不直观也不方便。在优选实施例中,单个质量控制设置块88和102二者的质量参数。已经发现将块88和102中的质量参数设置为彼此相等通常提供了满意的结果。
块88和102的一些质量设置可以给出比其它质量设置更好的压缩结果。为了达到最佳质量的HDR图像,块102应当包括利用最佳质量编码。块88中的质量设置主要影响从流80重构的LDR图像的质量,但是也可能对HDR图像的质量有些影响。
本发明的某些实施例采用了这样的事实,即LDR和HDR帧包括相同的场景。因此对于它们二者光流(optical flow)应当相同。在这些实施例中,针对LDR帧计算的相同的运动向量也被用于残留帧。数据结构38可以仅包括一组运动向量。在本发明的可选实施例中,分别为LDR和残留帧计算运动向量,而且这两组运动向量都被存储在编码图像数据38中。
可以以各种方式实现用于执行根据本发明的方法的软件。在一个原型实施例中,软件实现为动态库以简化与外部软件的集成。一组分离的命令行工具允许编码和解码往来于HDR图像文件的视频流。
由于HDR视频重放涉及解码两个MPEG流80和82,与在普通LDR视频重放的情况下相比,达到一个可接受的帧速率更具挑战。通过利用图形硬件执行某些部分的解码处理可以提高重放帧速率。例如,当在CPU上执行时,色彩空间转换和上抽样色彩通道可能是计算昂贵的,然而可以在图形处理器(GPU)中作为片段程序非常有效地执行。此外,通过使用固定点算术和查阅表可以显著地加速某些色彩转换函数。
图6示出了作为质量设置的函数的原型实施例的性能。较低的点对应于LDR流80,反之较高的点对应于LDR流80和残留流82之和。可以看出,对于q比例质量参数的较低值(即,对于较高质量的图像),由残留流82组成的整个数据流的百分比小于其质量参数的较高值(对应于较低质量的LDR图像)。
在此描述的编解码器可以被用于编码和解码各个图像和视频流。这种编解码器可以被用于编码和解码将被存诸在诸如DVD的介质中,或者在将来可能普遍地用来存储电影的其它存储介质中的电影。
本发明的某些方面提供了媒体播放器,其包括一个HDR图像输出,一个HDR显示设备连接到或者可以被连接到该输出。这种媒体播放器包括硬件、软件、或者实现如图2所示的解码方法的硬件和软件的组合。
本发明的某些实现包括计算机处理器,其执行促使处理器执行本发明的方法的软件指令。例如,数据处理系统中的一个或多个处理器通过执行存储在存储器中可被处理器访问的软件指令,可以实现图1或3的编码方法或者图2的解码方法。还可以以程序产品的形式提供本发明。该程序产品可以包括任何介质,其携带一组包括当由数据处理器执行时促使数据处理器执行本发明的方法的指令的计算机可读信号。根据本发明的程序产品可以是任何广泛变化的形式。该程序产品可以包括例如物理介质,如包括软盘、硬盘驱动器的磁性数据存储介质,包括CD ROM、DVD的光数据存储介质,包括ROM、快速RAM的电子数据存储介质,等等。程序产品上的计算机可读信号可以被随意压缩或加密。
在此,上文涉及的组件(例如,软件模块、处理器、部件、装置、电路等等),除非另外的指出,参考那些组件(包括对“装置”的参考)应当被解释为包括那些组件的等同物,执行所描述的组件的功能的任何组件(即,其是功能等同物),包括在结构上与所公开的执行在所示例的本发明的示例性实施例中的功能的结构不相同的组件。
如同将被本领域的技术人员理解的是,根据前述公开内容,在实践本发明时可能进行许多变更和修正而不偏离本发明的精神和范围。因此,将根据下面的权利要求书定义的实质来解释本发明的范围。
权利要求
1.一种用于编码高动态范围图像的方法,所述方法包括
获得对应于高动态范围图像的较低动态范围图像;
识别所述高动态范围图像中的像素组,所述较低动态范围图像中的对应像素全部都具有相同的像素值;
至少部分基于属于多个组的每一个的高动态范围图像中的像素的像素值,生成预测函数;
对所述较低动态范围图像应用所述预测函数,以获得预测的图像;
计算表示所述预测的图像中的像素值和所述高动态范围图像中对应的像素值之间的差异的残留图像;以及
编码并存储表示所述较低动态范围图像、所述预测函数和残留图像的数据。
2.根据权利要求1的方法,其中获得较低动态范围图像包括
编码较低动态范围图像以及解码较低动态范围图像。
3.根据权利要求1或2的方法,包括
在建立预测函数之前,在色彩空间之间变换高动态范围图像、较低动态范围图像、或者高动态范围图像和较低动态范围图像二者。
4.根据权利要求1到3中的任何一项的方法,其中在生成预测函数之前,以色彩空间表示较低动态范围图像和较高动态范围图像,所述色彩空间包括亮度或辉度像素值以及两个或多个色度像素值。
5.根据权利要求4的方法,其中较低动态范围图像以包括一个强度像素值和两个或多个色度像素值的色彩空间来表示。
6.根据权利要求1到5中的任何一项的方法,其中预测函数在对数域内是非线性的。
7.根据权利要求1到6中的任何一项的方法,其中生成预测函数包括
计算属于多个组的每一个的高动态范围图像中的像素的像素值的算术平均。
8.根据权利要求1到6中的任何一项的方法,其中生成预测函数包括
计算属于多个组的每一个的高动态范围图像中的像素的像素值的中值。
9.根据权利要求1到6中的任何一项的方法,其中生成预测函数包括
计算属于多个组的每一个的高动态范围图像中的像素的像素值的最高和最低像素值的平均值。
10.根据权利要求1到6中的任何一项的方法,其中生成预测函数包括下列一项或多项
计算属于多个组的每一个的高动态范围图像中的像素的像素值的算术平均;
计算属于多个组的每一个的高动态范围图像中的像素的像素值的中值;
计算属于多个组的每一个的高动态范围图像中的像素的像素值的最高和最低像素值的平均值;
计算计算属于多个组的每一个的高动态范围图像中的像素的像素值的子集的质心;以及
它们的组合。
11.根据权利要求1到10中的任何一项的方法,其中较低动态范围图像和高动态范围图像每个都包含视频序列中的帧。
12.根据权利要求11的方法,包括针对视频序列中的每个帧生成新的预测函数。
13.根据权利要求11的方法,包括监视视频序列中连续帧之间的差异,并当每次所述差异指示当前帧与上一帧明显不同时生成新的预测函数。
14.根据权利要求1到13中的任何一项的方法,其中像素值为像素强度值。
15.根据权利要求14的方法,其中像素强度值包括辉度值、亮度(luma)值或辐射值。
16.根据权利要求14的方法,包括针对一个或多个色度值的每一个生成一个色度预测函数,对于一个或多个色度值的每一个值
对较低动态范围图像中的像素的对应色度值应用对应的色度预测函数,以获得预测图像;
计算表示预测的图像和高动态范围图像中的像素的色度值之间的差异的残留色度图像;以及
编码和存储表示色度预测函数和色度残留图像的数据。
17.根据权利要求1到16中的任何一项的方法,包括在存储表示残留图像的数据之前,下采样残留图像。
18.根据权利要求1到17中的任何一项的方法,包括过滤残留图像,以在存储表示残留图像的数据之前消除噪声。
19.根据权利要求18的方法,其中过滤残留图像包括
对残留图像以及对高动态范围图像应用离散子波变换,以便产生变换的残留图像和变换的高动态范围图像;
根据变换的高动态范围图像中的系数值,建立变换的残留图像中的系数的门限;以及
如果系数具有的值不超过相应的门限,则设置变换的残留图像中的系数值为0。
20.根据权利要求19的方法,其中建立门限包括
对变换的高动态范围图像中的系数应用门限提升函数。
21.根据权利要求20的方法,其中门限提升函数包括将系数升高到预定的恒定幂。
22.根据权利要求21的方法,其中门限提升函数包括将系数乘以预定的常数。
23.根据权利要求20到22中的任何一项的方法,其中可以通过下面的公式或者其数学等式来给定门限提升函数
公式(16)。
24.根据权利要求20到23中的任何一项的方法,包括
在对系数应用门限提升函数之前,对变换的高动态范围图像的系数应用预定的对比敏感度函数加权因子。
25.根据权利要求20到24中的任何一项的方法,包括
在对系数应用门限提升函数之前,对变换的高动态范围图像的系数应用相位不确定函数。
26.根据权利要求25的方法,其中由下面的公式或者其数学等式来给定相位不确定函数
公式(15)。
在此1表示系数LCSF的邻域是子波系数,而LCSF是在应用相位不确定函数之后的子波系数。
27.一种用于编码高动态范围图像的设备,所述设备包括执行指令的数据处理器,这些指令使得数据处理器
获得对应于高动态范围图像的较低动态范围图像;
识别高动态范围图像中的像素组,较低动态范围图像中这些对应的像素全部都具有相同的像素值;
至少部分基于属于多个组的每一个的高动态范围图像中的像素的像素值,生成预测函数;
对较低动态范围图像应用所述预测函数,以获得预测的图像;
计算表示预测图像中的像素值和高动态范围图像中对应的像素值之间的差异的残留图像;以及
编码并存储表示较低动态范围图像、预测函数和残留图像的数据。
28.一种用于编码高动态范围图像的设备,所述设备包括
用于获得对应于高动态范围图像的较低动态范围图像的装置;
用于识别高动态范围图像中的像素组的装置,较低动态范围图像中这些对应的像素全部都具有相同的像素值;
用于至少部分基于属于多个组的每一个的高动态范围图像中的像素的像素值,生成预测函数的装置;
用于对较低动态范围图像应用所述预测函数,以获得预测的图像的装置;
用于计算表示预测图像中的像素值和高动态范围图像中对应的像素值之间的差异的残留图像的装置;以及
用于编码并存储表示较低动态范围图像、预测函数和残留图像的数据的装置。
29.一种用于解码高动态范围图像的设备,所述设备包括执行指令的数据处理器,这些指令使得数据处理器
检索表示对应于高动态范围图像、预测函数和残留图像的较低动态范围图像的数据;
对较低动态范围图像应用预测函数,以获得预测的高动态范围图像;以及
将残留图像与预测的高动态范围图像组合,以获得高动态范围图像。
30.一种用于解码高动态范围图像的设备,所述设备包括
用于检索表示对应于高动态范围图像、预测函数和残留图像的较低动态范围图像的数据的装置;
用于对较低动态范围图像应用预测函数,以获得预测的高动态范围图像的装置;以及
用于将残留图像与预测的高动态范围图像组合,以获得高动态范围图像的装置。
全文摘要
一种用于编码高动态范围(HDR)图像的方法,包括提供较低动态范围(LDR)图像,基于LDR图像中对应的像素的值,生成预测函数,用以估计HDR图像中像素的值,以及基于HDR图像的像素值和估计的像素值之间的差异获得残留帧。LDR图像、预测函数和残留帧都可以被编码在数据中,从中可以重建LDR图像或HDR图像。
文档编号H04N7/26GK101371583SQ200680051640
公开日2009年2月18日 申请日期2006年9月7日 优先权日2006年1月23日
发明者A·埃弗雷莫维, R·曼蒂尤克, G·克劳克齐克, K·米斯科斯基, 汉斯-彼得·塞德尔 申请人:马普科技促进协会
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1