用于对高动态范围图像进行编码、解码和表示的技术的制作方法

文档序号:17925916发布日期:2019-06-15 00:24阅读:139来源:国知局
用于对高动态范围图像进行编码、解码和表示的技术的制作方法

相关申请的交叉引用

本申请要求2014年1月7日提交的美国临时专利申请no.61/924,345的优先权,该申请的全部内容特此通过引用并入。

本发明总体涉及高动态范围数字图像。本发明具体涉及用于对高动态范围图像(不管是静止图片、还是运动图片)进行编码和解码的方法和装置以及包含数字高动态范围图像的数据结构。



背景技术:

人类视觉能够意识到高达1:10,000的对比率。也就是说,人可以看到以下的场景并且看见该场景中的最亮的部分和最暗的部分这两个部分中的细节:在该场景中,该场景的一些部分比该场景的其它部分亮10,000倍。此外,人类视觉可以使其敏感性适应于进一步超过6个数量级的更亮或更暗的场景。

大多数常规的数字图像格式(所谓的24位格式)使用高达24位来存储图像中的每个像素的颜色和亮度(luminance)信息。例如,像素的红色、绿色和蓝色(rgb)值中的每一个可以存储在一个字节(8位)中。这样的格式能够表示仅在大约2个数量级上的明度(brightness)变化(每个字节可以存储256个可能值中的一个)。存在用于表示数字图像(包括静止图像和视频图像两者)的若干种标准格式。这些包括jpeg(联合图像专家组)、mpeg(运动图像专家组)、avi(音频视频交错)、tiff(标签图像文件格式)、bmp(位图)、png(便携式网络图形)、gif(图形交换格式)及其它。这样的格式可以被称作“输出参照标准”,因为它们并不试图保留超出由最通常可用的类型的电子显示器可以再现的图像信息的图像信息。直到最近,诸如计算机显示器、电视、数字运动图像投影仪等的显示器已不能够精确地再现具有好于1:1000左右的对比率的图像。

由受让人正在开发的显示技术及其它能够再现具有高动态范围(hdr)的图像。这样的显示器可以再现比常规显示器更忠实地表示真实世界的场景的图像。需要用于存储用于在这些显示器以及在未来将变得可用的其它hdr显示器上再现的hdr图像的格式。

若干种格式已被提出以用于将hdr图像作为数字数据存储。这些格式都具有各种缺点。若干种这些格式产生过大的图像文件,这些过大的图像文件仅通过使用专门的软件才可以被查看。数字照相机的一些制造商提供专有的raw格式。这些格式趋向于是照相机特定的,并且在数据存储要求方面是过度的。

需要用于存储、交换和再现高动态范围图像的便利的框架。特别需要与现有的图像查看器技术向后兼容的这样的框架。

附图说明

本发明在附图的图中通过示例的方式、而非限制的方式示出,在附图中,相似的附图标记指的是类似的元素,其中:

图1示出根据本发明的实施例的示例性解码处理;

图2示出根据本发明的另一个实施例的示例性解码处理;

图3示出根据本发明的实施例的app11头段(segment)中所包含的示例性数据;

图4a-4b示出残余比图像(residualratioimage)的示例性段;

图5示出在其上可以实现本文中所描述的计算机或计算设备的示例硬件平台。

具体实施方式

本文中描述了与hdr编码、解码和数据结构相关的示例可能的实施例。在下面的描述中,出于解释的目的,阐述了许多特定的细节,以便提供本发明的透彻理解。然而,将清楚的是,本发明可以在没有这些特定的细节的情况下实施。在其它情况下,没有详尽地描述公知的结构和设备,以便避免不必要地封闭、模糊或混淆本发明。这就是说,标题为“apparatusandmethodsforencoding,decoding,andrepresentinghighdynamicrangeimages,”的美国专利no.8,514,934出于所有目的通过引用并入本文。

根据本发明的一个实施例,hdr数据结构被配置为可被旧有(legacy)图像查看器读取。旧有图像查看器可读取色调图(tonemap)信息,并且忽略hdr信息,诸如比率数据(稍后解释)。在一些实施例中,该数据结构包括jfif文件,并且色调图信息包括jpeg图像。在一些实施例中,该数据结构包括mpeg文件,并且色调图信息包括mpeg视频的帧。

本发明的另一个方面提供了用于表示具有初始动态范围的高动态范围图像的数据结构。该数据结构包括色调图部分和高动态范围信息部分。色调图部分包含表示图像的色调图信息,并且具有比初始动态范围小的动态范围。高动态范围信息部分包含描述色调图部分中的(亮度)值与高动态范围图像的亮度值的比率的信息。

残余比图像

本发明的一个方面提供了用于对高动态范围图像数据进行编码的方法。所述方法涉及获得或者以其它方式产生与高动态范围图像数据对应的色调图信息。该色调图信息具有比高动态范围图像数据的动态范围低的动态范围。所述方法计算比率数据,该比率数据包括高动态范围图像数据中的值与色调图信息中的对应值的比率。比率数据(或者从其导出的信息)和色调图信息可以被存储和传输以用于解码。

本发明的另一个方面提供用于对码流进行解码以重构高动态范围图像的方法。所述方法涉及接收或者以其它方式访问色调图信息和对应的比率数据(或者从其导出的信息)。所述方法包括利用色调图信息中的值和对应的比率数据来计算高动态范围图像。

如在整个本申请中被提及的比率数据可以被计算为,但不限于,(i)分子值与分母值的数学除法,包括但不限于进一步的数学运算—诸如该比率的对数,或(ii)可替代地,两个对数值的减法,包括但不限于进一步的数学运算。通常,比率数据描述亮度,但是也可以用于色度通道(例如,cr、cb)。为了清晰起见,比率数据有时在本文中被描述为残余数据或者包括有残余数据。

图1示出了根据本发明的实施例的示例性解码处理。该处理以重构基本图像(baseimage)的旧有解码器块开始。该图像然后可选地被进行色度上采样,之后接着是逆向去相关块。该变换的输出是例如rgb类型颜色空间中每一采样八位的低动态范围、向后兼容的图像。

低动态范围分量被基本映射和颜色空间转换块进一步映射到浮点图像,该浮点图像被称为前驱(precursor)图像。该前驱图像可选地被转换到hdr颜色空间,并且亮度可以被计算。噪声水平可以被用于避免除以零以及减小在随后的块中可以被放大的压缩伪影(artifact)。

残余解码器路径使用嵌入在app11标记(marker)中的码流中的残余数据。该数据被重构,并且然后可选地被上采样。它然后被残余映射和逆向去相关块处理。该块将残余数据映射到浮点域,该浮点域可选地被逆向去相关。该映射可以使用由基本映射和颜色空间转换块计算的亮度。映射的残余数据和前驱图像被hdr重构块处理以生成重构的hdr图像。

图2示出根据本发明的另一个实施例的示例性解码处理。该解码处理依赖于将hdr图像分解为基本层和hdr残余比层的分层方法。基本层是利用局部或全局色调映射器从原始浮点hdr进行色调映射的色调映射图像。该码流将与旧有解码器向后兼容,可被旧有解码器访问。残余比层包含hdr量化的对数亮度比和色度残差,该数据被放在一起,并且被表示为单个残余比图像。

由于残余数据被隐藏在app11标记中,所以旧有解码器可以跳过该残余图像,并且仅访问基本图像码流,因此该解码处理是向后兼容的。然而,实现本发明的解码器可以将这两个层进行组合以重构hdr图像。

在图2中,包括块b1、b2和b3的上部路径可以是旧有解码器的标准流程,并且输出典型的srgb空间中的向后兼容的较低动态范围(ldr)图像。该基本图像数据然后在块b4中被映射到线性hdr空间中,并且通过颜色空间转换操作进行处理。该块将ldr图像转换到原始hdr图像的颜色空间中,并且它还将该图像映射到浮点值,被称作线性预(pre)rgb2,它也可以被称为“lp_rgb2”。在参数码流中指定的噪声基底(floor)值被加到lp_rgb2的亮度分量以避免除以0以及避免放大由于在这个块b4的下游对于小的值的运算而可能发生的任何噪声。

在图2中,从b5开始的下部路径以高动态范围图像的残余数据开始,并且被用iso/iec10918-1码流格式(其出于所有目的通过引用并入,并且示出期望的格式)表示。该码流被作为以下描述的残余数据段而嵌入在app11标记中。在被解码器解码之后,通过b6执行色度上采样步骤以使所有分量达到全分辨率,例如,4:4:4。

残余比数据然后被b7分成浮点线性比亮度值和线性残余颜色差值。传入的残余亮度值根据码流中的参数被逆向量化。特定的实施例,这或者由码流中的参数段中的显式查找表提供。如果该表不存在,则使用min和max(在参数段中被称为ln1、ln0),并且计算逆向对数映射。类似地,传入的色度残余采样值根据作为cb0、cb1和cr0、cr1(如果存在的话)被存储在码流的参数段中的最小参数和最大参数而被逆向量化。

色度值然后被b8、ycbcr到rgb2块处理,并且将将线性反量化的ycbcr转换到hdr颜色空间中的线性残余rgb2,该线性残余rgb2可替代地被称为“lr_rgb2”。最后,块b9和b10通过首先在b9中将线性预rgb2与线性残余rgb2相加并然后在b10中将结果乘以线性比亮度来重构hdr图像。

app11标记

如图3所示,app11标记段被分成参数数据段和数据段。参数段具有两种或更多种(例如,3种)类型的段,诸如参数ascii类型段、残余段以及参数二进制类型段。用于app11标记段的这个结构可以与本文中所描述的本发明的任何实施例(包括但不限于,图1和图2中所反映的示例性实施例)结合使用。

用于编辑(edit)检测的校验和

参数数据段(pds)携载被编码为ascii或二进制文本、有效载荷数据的参数。该段中的最后一个参数是基本层码流的校验和。在特定的实施例中,ckb(ascii)或chksum(二进制,16位)参数是基本层码流的校验和,该校验和通过对基本层码流中的所有字节进行求和而被计算。该校验和包括最后一个app11标记段后面的第一个sof(例如,帧的起始)标记,并且包括所有随后的一直到eoi(例如,帧的结束)标记且包括该eoi标记的字节。它可以被解码器使用以检测基本层的在高动态范围(hdr)图像被解码时可能导致不期望的伪影的编辑。在特定的实施例中,校验和是位置(或者次序)相关的,诸如fletcher校验和(例如,fletcher-16、fletcher-32、fletcher-64)。参见fletcher,j.g.(1982年1月)。附加信息参见“anarithmeticchecksumforserialtransmissions,”ieeetransactionsoncommunications,com-30(1):247–252,该文献出于所有目的通过引用并入本文。

在替代实施例中,pds可以指示比校验和更复杂的哈希算法的使用。更复杂的哈希算法降低了当不同的输入数据导致相同的哈希值时哈希碰撞(例如,数据中不可检测的改动)的可能性。因此,如果基本层被改动,则针对原始基本层产生的哈希值在概率上应当不太可能匹配。示例性哈希函数可以是以下项或者可以通过以下项来实现:

(i)非线性查找表;

(ii)密码哈希函数(例如,haifa、merkle-唯一块迭代等);

(iii)非密码哈希函数(异或、乘积、加法、旋转);

(iv)在预定义集合之中选择哈希函数的随机化;

(v)循环冗余校验;以及

(vi)校验和—例如,fletcher、adler-32。

在还其它的替代实施例中,指纹识别或媒体水印技术可以用pds发信号通知,并且在解码或图像再现/渲染期间被验证。

用于基本层编辑检测的校验和、哈希函数或者其它描述的替代方案可以与本文中所描述的本发明的任何实施例(包括但不限于,图1和图2中所反映的示例性实施例)结合使用。另外,基于本文中的教导,校验和、哈希函数或者替代方案也可以用于残余比层的编辑检测。

基于每一个段实现的残余层的加密/解密

pds或者其它地方内的另一个参数可以是加密参数,诸如加密密钥。该信息可以被用于例如基于码流的每一个段对比率残余层进行解密。段可以是压缩图像数据的熵编码字节的可独立解码的序列。换句话说,根据本发明的实施例,对于每个段,可以提供和使用不同的加密参数。加密参数和相关联的处理可以与本文中所描述的本发明的任何实施例(包括但不限于,图1和图2中所反映的示例性实施例)结合使用。

去伽马(degamma)lut/映射lut中的逆向色调映射

以上(如图2中的块b4)描述的去伽马查找表(lut)是通过默认的rec.601表(在http://www.itu.int/rec/r-rec-bt.601-7-201103-i/en处可获得的itu-rrecommendationbt.601,该文献通过引用并入)加载的256条目表,该rec.601表通常是2.4的逆线性幂函数。如果它在替代的颜色空间(诸如adobesystems,inc.的adobergb)中,则查找表可以在头信息中被发送。另外,去伽马lut可以包括诸如用于反向直方图均衡或者逆向reinhard色调映射器的逆向色调映射函数/曲线。在一些情况下,具有逆向色调映射的去伽马lut可以减少用于残余比层的存储器。关于reinhard色调映射器的附加信息,参见http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf(“photographictonereproductionfordigitalimages”),该文献出于所有目的通过引用并入本文。

二进制头段

app11标记段可以包括如图3中被示为“类型3”的二进制参数数据。该类型3段及其相关联的处理可以与本文中所描述的本发明的任何实施例(包括但不限于,图1和图2中所反映的示例性实施例)结合使用。

段索引和对于该段的起始位置

在本发明的实施例中,对于残余比图像的段的跨度(span)和广度(extent)需要与基本层图像一致。例如,残余比图像可以被划分成多个连续和不连续的段。残余比图像的这些段的集合不需要对应于完整图像,而是可以限定图像的一个或多个部分。该功能允许从基本层图像的一部分、而不是整个基本层图像进行hdr重构。例如,加密参数可以针对一个段(例如,左半图像、上半图像)提供以用于hdr重构,而对于另一个段(例如,右半图像、下半图像)的残余比信息保持加密以用于有限的基本层再现。

残余比图像的每个段可以通过坐标参考(例如,四个角中的一个的x坐标和y坐标,如果是矩形段的话)及其长度和宽度指定。如果段是不同的几何形状,则它可以由中心位置和半径/直径等定义。图4a-4b示出了残余比图像的示例性段,这些段可以与本发明的任何实施例(包括但不限于,图1和图2中所反映的示例性实施例)结合使用。

实现机制—硬件概述

根据一个实施例,本文中所描述的技术由一个或多个专用计算设备实现。该专用计算设备可以被硬连线以执行这些技术,或者可以包括被持久地编程为执行这些技术的数字电子设备,诸如一个或多个专用集成电路(asic)或现场可编程门阵列(fpga),或者可以包括被编程为根据固件、存储器、其它储存器或组合中的程序指令执行这些技术的一个或多个通用硬件处理器。这样的专用计算设备还可以将定制硬连线逻辑、asic、或fpga与定制编程组合以实现这些技术。专用计算设备可以是桌面计算机系统、便携式计算机系统、手持设备、联网设备、或并入硬连线逻辑和/或程序逻辑以实现这些技术的任何其它设备。

例如,图5是示出在其上可以实现本发明的实施例的计算机系统1600的框图。计算机系统1600包括用于传送信息的总线1602或其它通信机制、以及与总线1602耦合的用于对信息进行处理的硬件处理器1604。该硬件处理器1604可以是例如通用微处理器。

计算机系统1600还包括耦合到总线1602的用于存储信息和将被处理器1604执行的指令的主存储器1606,诸如随机存取存储器(ram)或其它动态存储设备。主存储器1606还可以用于存储将被处理器1604执行的指令的执行期间的临时变量或其它中间信息。这样的指令在被存储在处理器1604可访问的非暂时性存储介质中时使得计算机系统1600成为被定制为执行这些指令中所指定的操作的专用机器。

计算机系统1600还包括耦合到总线1602的用于存储用于处理器1604的指令和静态信息的只读存储器(rom)1608或其它静态存储设备。存储设备1610(诸如磁盘或光盘)被提供并且耦合到总线1602,以用于存储信息和指令。

计算机系统1600可以经由总线1602耦合到用于向计算机用户显示信息的显示器1612,诸如液晶显示器。包括字母数字键和其它键的输入设备1614耦合到总线1602,以用于将信息和命令选择传送给处理器1604。另一种类型的用户输入设备是用于将方向信息和命令选择传送给处理器1604并且用于控制显示器1612上的光标移动的光标控件1616,诸如鼠标、轨迹球、或光标方向键。该输入设备通常具有两个轴(第一轴(例如x)和第二轴(例如y))上的两个自由度,这两个自由度允许该设备指定平面中的位置。

计算机系统1600可以使用与该计算机系统组合使计算机系统1600成为专用机器或将计算机系统1600编程为专用机器的定制的硬连线逻辑、一个或多个asic或fpga、固件和/或程序逻辑来实现本文中所描述的技术。根据一个实施例,本文中所描述的技术由计算机系统1600响应于处理器1604执行主存储器1606中所包含的一个或多个指令的一个或多个序列来执行。这样的指令可以从另一个存储介质(诸如存储设备1610)读取到主存储器1606中。主存储器1606中所包含的指令序列的执行使处理器1604执行本文中所描述的处理步骤。在替代实施例中,硬连线电路系统可以被使用以代替软件指令或者与软件指令组合使用。

本文中所使用的术语“存储介质”是指存储使机器以特定方式操作的指令和/或数据的任何非暂时性介质。这样的存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,诸如存储设备1610。易失性介质包括动态存储器,诸如主存储器1606。存储介质的常见形式包括例如软盘、柔性(flexible)盘、硬盘、固态驱动器、磁带、或任何其它磁性数据存储介质、cd-rom、任何其它光学数据存储介质、具有孔图案的任何物理介质、ram、prom、以及eprom、flash-eprom、nvram、任何其它存储器片或盒。

存储介质不同于传输介质,但是可以与传输介质联合起来使用。传输介质参与在存储介质之间传递信息。例如,传输介质包括同轴电缆、铜线和光纤(其包括包含总线1602的导线)。传输介质还可以采取声波或光波(诸如在无线电波和红外数据通信期间产生的那些)的形式。

在将一个或多个指令的一个或多个序列携载到处理器1604以供执行时可以涉及各种形式的介质。例如,这些指令可以最初携载在远程计算机的磁盘或固态驱动器上。该远程计算机可以将这些指令加载到它的动态存储器中,并且使用调制解调器通过电话线发送这些指令。计算机系统1600本地的调制解调器可以接收电话线上的数据,并且使用红外发射器来将该数据转换为红外信号。红外检测器可以接收红外信号中所携载的数据,并且适当的电路系统可以将该数据放置在总线1602上。总线1602将数据携载到主存储器1606,处理器1604从主存储器1606检索并执行这些指令。由主存储器1606接收的指令可以可选地在通过处理器1604执行之前或之后被存储在存储设备1610上。

计算机系统1600还包括耦合到总线1602的通信接口1618。通信接口1618提供耦合到网络链路1620的双向数据通信,网络链路1620连接到局部网络1622。例如,通信接口1618可以是综合服务数字网(isdn)卡、电缆调制解调器、卫星调制解调器、或者提供与相应类型的电话线的数据通信连接的调制解调器。作为另一个示例,通信接口1618可以是提供与兼容lan的数据通信连接的局域网(lan)卡。还可以实现无线链路。在任何这样的实现中,通信接口1618发送和接收携载表示各种类型的信息的数字数据流的电信号、电磁信号或光信号。

网络链路1620通常通过一个或多个网络向其它数据设备提供数据通信。例如,网络链路1620可以通过局部网络1622提供与主机1624或由因特网服务提供商(isp)1626运营的数据设备的连接。isp1626继而通过全球分组数据通信网络(现在通常被称为“因特网”1628)提供数据通信服务。局部网络1622和因特网1628都使用携载数字数据流的电信号、电磁信号或光信号。通过各种网络的信号以及网络链路1620上的通过通信接口1618的信号是传输介质的示例形式,这些信号将数字数据携载到计算机系统1600,并且从计算机系统1600携载数字数据。

计算机系统1600可以通过网络、网络链路1620和通信接口1618发送消息和接收数据,包括程序代码。在因特网示例中,服务器1630可以通过因特网1628、isp1626、局部网络1622和通信接口1618传输被请求的应用程序的代码。

接收的代码可以在它被接收时由处理器1604执行、和/或被存储在存储设备1610或其它非易失性储存器中以用于以后执行。

等同、扩展、替代及其它

在前面的说明书中,已参照在不同实现之间可以变化的许多特定的细节描述了本发明的可能实施例。因此,本发明是什么以及申请人意图是什么的唯一且排他的指示是由本申请以特定形式发布(issue)的一组权利要求,这样的权利要求以该特定形式发布,包括任何后续修正。在本文中对于这样的权利要求中所包含的术语明确阐述的任何定义应当决定这样的术语在权利要求中被使用时的含义。因此,在权利要求中没有明确记载的限制、元素、性质、特征、优点或属性不应当以任何方式限制这样的权利要求的范围。说明书和附图因此要从说明性、而不是限制性的意义上被看待。

附加的参考文献

除了以上引用的参考文献,以下的参考文献也出于所有目的通过引用并入本文:

(i)itu-trec.t.81|iso/iec10918-1:informationtechnology–digitalcompressionandcodingofcontinuoustonestillimages–requirementsandguidelines

(ii)itu-trec.t.86|iso/iec10918-4:informationtechnology--digitalcompressionandcodingofcontinuous-tonestillimages:registrationofjpegprofiles,spiffprofiles,spifftags,spiffcolourspaces,appnmarkers,spiffcompressiontypes,andregistrationauthorities

(iii)itu-trec.t.871|iso/iec10918-5:informationtechnology--digitalcompressionandcodingofcontinuous-tonestillimages:jpegfileinterchangeformat

(iv)itu-trec.t.801|iso/iec15444-1:informationtechnology–jpeg2000imagecodingsystem;以及

(v)iec60559binaryfloating-pointarithmeticformicroprocessorsystems。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1