向后兼容的扩展图像格式转让专利

申请号 : CN201480053626.7

文献号 : CN105580082B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : K·格林鲍姆I·亨德利I·欧拉曼D·海沃德B·崔帕西

申请人 : 苹果公司

摘要 :

本发明提供了一种用于对扩展图像进行编码使其向后兼容现有解码设备的技术。定义扩展图像格式,使得该扩展图像格式在现有图像格式的整个范围内与现有图像格式一致。因为扩展图像格式在现有图像格式的整个范围内与现有图像格式一致,所以可从扩展图像提取被包括在该扩展图像中的附加图像信息。可在有效载荷部分中对图像的基础版本(使用现有图像格式来表示)进行编码,并可在广泛支持的图像文件格式的元数据部分中存储所提取的附加信息。

权利要求 :

1.一种图像编码系统,包括:

用于获取以第一图像格式表示的第一图像的装置,所述第一图像中的每个元素由第一值范围中的一个或多个参考值定义;

用于获取与所述第一图像对应的并以第二图像格式表示的第二图像的装置,所述第二图像中的每个元素由第二值范围中的一个或多个参考值定义,其中所述第一值范围是所述第二值范围的真子集;

用于至少部分地基于所述第一图像和所述第二图像来获取差异图像的装置;

用于将所述差异图像分成第一差异图像通道和第二差异图像通道的装置,其中所述第一差异图像通道表示在所述第一图像中未表示的所述第二图像的第一属性,并且其中所述第二差异图像通道表示在所述第一图像中未表示的所述第二图像的第二属性;

用于在图像文件的有效载荷部分中对所述第一图像进行编码的装置;和用于在所述图像文件的元数据部分中对所述第一差异图像通道和所述第二差异图像通道进行编码的装置。

2.根据权利要求1所述的图像编码系统,其中所述第一属性对应于色域,所述第二属性对应于动态范围。

3.根据权利要求1所述的图像编码系统,其中用于获取差异图像的所述装置包括用于从所述第二图像减去所述第一图像的装置。

4.根据权利要求1所述的图像编码系统,其中所述第二图像格式的元素具有比所述第一图像格式的元素更高的精确度。

5.根据权利要求1所述的图像编码系统,其中用于在所述图像文件的元数据部分中对所述第一差异图像通道和所述第二差异图像通道进行编码的所述装置进一步包括用于在所述图像文件的单独的元数据部分中对所述第一差异图像通道和所述第二差异图像通道进行编码的装置。

6.根据权利要求5所述的图像编码系统,还包括用于在所述图像文件被传输或利用来生成图像显示之前从所述图像文件选择性地提取所述第一差异图像通道、所述第二差异图像通道或者所述第一差异图像通道和所述第二差异图像通道的组合的装置。

7.根据权利要求6所述的图像编码系统,其中用于在所述图像文件被传输之前从所述图像文件选择性地提取所述第一差异图像通道、所述第二差异图像通道或者所述第一差异图像通道和所述第二差异图像通道的组合的所述装置包括用于至少部分地基于接收方设备或到所述接收方设备的传输介质的一个或多个属性来选择性地提取所述第一差异图像通道、所述第二差异图像通道或者所述第一差异图像通道和所述第二差异图像通道的组合的装置。

8.根据权利要求1所述的图像编码系统,还包括用于对指令进行编码以在所述图像文件中将所述第一差异图像通道和所述第二差异图像通道之一或两者与所述第一图像相组合的装置。

9.一种图像编码系统,包括:

图像捕获设备;

存储器;和

处理器,所述处理器操作地耦接到所述图像捕获设备和所述存储器,并且被配置为执行被存储在所述存储器中的程序代码以:利用所述图像捕获设备来获取图像,

生成以第一图像格式表示的第一版本的所述图像,所述第一版本的所述图像中的每个元素由第一值范围中的一个或多个参考值定义,生成以第二图像格式表示的第二版本的所述图像,所述第二版本的所述图像中的每个元素由第二值范围中的一个或多个参考值定义,其中所述第一值范围是所述第二值范围的真子集,至少部分地基于所述第一版本的所述图像和所述第二版本的所述图像来获取差异图像,将所述差异图像分成第一差异图像通道和第二差异图像通道,其中所述第一差异图像通道表示在所述第一版本的所述图像中未表示的所述第二版本的所述图像的第一属性,并且其中所述第二差异图像通道表示在所述第一版本的所述图像中未表示的所述第二版本的所述图像的第二属性;

在图像文件的有效载荷部分中对所述第一版本的所述图像进行编码,以及在所述图像文件的元数据部分中对所述第一差异图像通道和所述第二差异图像通道进行编码。

10.根据权利要求9所述的图像编码系统,其中用于使得所述处理器在所述图像文件的元数据部分中对所述第一差异图像通道和所述第二差异图像通道进行编码的所述程序代码进一步包括用于使得所述处理器在所述图像文件的单独的元数据部分中对所述第一差异图像通道和所述第二差异图像通道进行编码的程序代码。

11.一种图像解码系统,包括:

用于接收图像文件的装置;

用于对所述图像文件的有效载荷部分进行解码以生成以基础图像格式表示的第一图像的装置,所述第一图像由第一值范围中的第一多个参考值定义;

用于对所述图像文件的元数据部分进行解码以生成第一附加图像通道和第二附加图像通道的装置;和用于将所述第一图像与所述第一附加图像通道和所述第二附加图像通道组合以生成以扩展图像格式表示的第二图像的装置,所述第二图像由第二值范围中的第二多个参考值定义,其中所述第一值范围是所述第二值范围的真子集,以及其中,所述第一附加图像通道表示在所述第一图像中未表示的所述第二图像的第一属性,并且其中所述第二附加图像通道表示在所述第一图像中未表示的所述第二图像的第二属性。

12.根据权利要求11所述的图像解码系统,还包括用于确定所述图像文件的所述有效载荷部分是否与所述图像文件的初始有效载荷部分一致的装置。

13.根据权利要求12所述的图像解码系统,其中用于确定所述图像文件的所述有效载荷部分是否与所述图像文件的初始有效载荷部分一致的所述装置包括用于确定所述有效载荷部分中的全部或部分效载荷部分的散列是否匹配作为所述图像文件的一部分存储的所述初始有效载荷部分中的全部或部分初始有效载荷部分的散列的装置。

14.根据权利要求12所述的图像解码系统,其中用于确定所述图像文件的所述有效载荷部分是否与所述图像文件的初始有效载荷部分一致的所述装置包括用于确定唯一标识符是否被包括在所述图像文件中的装置。

15.根据权利要求14所述的图像解码系统,其中所述唯一标识符是在所述图像文件的所述有效载荷部分中进行编码的文件格式特定标记。

16.根据权利要求12所述的图像解码系统,还包括用于响应于确定所述图像文件的所述有效载荷部分与所述图像文件的初始有效载荷部分一致而对所述元数据部分进行解码并将所述第一图像、所述第一附加图像通道和所述第二附加图像通道组合的装置。

17.根据权利要求16所述的图像解码系统,还包括用于在确定所述图像文件的所述有效载荷部分与所述图像文件的初始有效载荷部分不一致时生成对所述第一图像的显示的装置。

18.一种显示设备,包括:

显示元件;

存储器;和

处理器,所述处理器操作地耦接到所述显示元件和所述存储器,并且被配置为执行被存储在所述存储器中的程序代码以:接收图像文件,

对所述图像文件的有效载荷部分进行解码以生成以基础图像格式表示的第一图像,所述第一图像由第一值范围中的第一多个参考值定义,对所述图像文件的元数据部分进行解码以生成第一附加图像通道和第二附加图像通道,将所述第一图像、所述第一附加图像通道和所述第二附加图像通道组合以生成以扩展图像格式表示的第二图像,所述第二图像由第二值范围中的第二多个参考值定义,其中所述第一值范围是所述第二值范围的真子集,以及使用所述显示元件来显示所述第二图像,所述第一附加图像通道表示在所述第一图像中未表示的所述第二图像的第一属性,并且其中所述第二附加图像通道表示在所述第一图像中未表示的所述第二图像的第二属性。

说明书 :

向后兼容的扩展图像格式

背景技术

[0001] 本公开整体涉及一种图像编码系统和方法,与许多现有图像文件格式相比,该系统和方法提供增大的精确度、增大的动态范围和更宽的色域。更具体地,本公开涉及一种与现有设备向后兼容的图像编码方法,使得增大的精确度、动态范围和色域数据不会导致现有设备发生故障。
[0002] 如已知的,根据用于定义图像属性的参考值来表示数字图像。例如,可由多个参考值(例如,R或红色、G或绿色以及B或蓝色值)来指定数字图像的每个像素的属性。根据色彩模型来定义这些参考值。色彩模型描述可使用参照值的组合表示色彩的方式。可根据特定色彩模型产生的色彩集合是色彩空间。用于在显示设备诸如电视屏幕、计算机监视器、平板电脑等上产生图像的最常见的色彩模型是RGB色彩模型。RGB色彩模型定义由变化等级(即,变化的参考值)的红、绿和蓝原色的组合产生的一组色彩。
[0003] 图1示出了CIE 1931色彩空间色度图。外部曲线边界105表示可见光谱单色色彩,其中以纳米为单位表示波长。色彩沿外部曲线边界105行进通过波长增大的紫色、蓝色、绿色、黄色、橙色和红色范围。用于特定RGB色彩空间的红、绿和蓝原色的色度(即,其中一种色彩通道具有非零值,另外两种色彩通道具有零值的色度)形成色彩三角形115的顶点。可由RGB色彩空间表示的色度的色域由色彩三角形115内的色度表示。色彩三角形115对应于sRGB色彩空间,即最常见的RGB色彩空间。顶点110A是sRGB红原色,顶点110B是sRGB绿原色,并且顶点110C是sRGB蓝原色。在120处示出了D65白色点,即所有色彩通道都等于一的点。
[0004] 如图1中所示,典型色彩空间诸如sRGB色彩空间涵盖明显小于人可见的完整色度范围的色度范围。此外,典型的色彩空间能够仅表示可由人感知的亮度等级的小部分。已通过基于显示器介质能够产生的色彩的设计来将这些色彩空间限制并入到常用色彩空间中。即色彩空间仅需要涵盖可由现有显示介质诸如电视机显示器和计算机监视器能够产生的色彩。实际上,在色彩空间仅限于可产生的那些色彩的情况下,可产生色彩(对于给定数据大小)的精度增大。随着能够产生更宽色域(即更宽范围的色度)和更大动态范围(即更宽范围的亮度水平)的新显示技术的出现,将需要根据包括更宽范围色彩的色彩空间来定义图像。然而,在此过渡期间,用于承载附加色彩信息的图像文件还可由现有设备读取和呈现将也是必要的。因此希望指定一种用于对图像进行编码的方法和系统,与现有的图像文件格式相比,该方法和系统提供增大的精度、增大的动态范围和更宽的色域,并且还与现有显示设备兼容。

发明内容

[0005] 一种对具有扩展图像内容的图像进行编码的方法可包括获取以第一图像格式表示的第一图像,以及获取与第一图像对应的并以第二图像格式表示的第二图像。可由第一范围的参考值来定义第一图像的每个元素,并可由第二范围的参考值来定义第二图像的每个元素。第一范围可以是第二范围的真子集,使得第一格式和第二格式在第一格式的完整范围的参考值上一致。在一个实施例中,然后可从第二图像减去第一图像以获取差异图像。可在图像文件的标准有效载荷部分中对第一图像进行编码,并可在图像文件的元数据部分中对差异图像进行编码。可在程序代码中实现该方法并且被存储在非暂态介质上。所存储的程序代码可由一个或多个处理器执行,该一个或多个处理器是被配置为实施该方法的系统的一部分或控制该系统。
[0006] 一种对具有扩展图像内容的图像进行解码的方法可包括对图像文件的有效载荷部分进行解码以生成第一图像。可以基础图像格式来表示第一图像,其中每个图像元素由第一范围的参考值来定义。可对图像文件的元数据部分进行解码以生成附加图像数据。附加图像数据可与第一图像组合以生成第二图像。可使用扩展图像格式来表示第二图像,其中每个图像元素由第二范围的参考值定义。第一范围可以是第二范围的真子集,使得基础图像格式和扩展图像格式在基础图像格式的完整范围的参考值上一致。可在程序代码中实现该方法并且被存储在非暂态介质上。所存储的程序代码可由一个或多个处理器执行,该一个或多个处理器是被配置为实施该方法的系统的一部分或控制该系统。

附图说明

[0007] 图1示出了具有指定的sRGB色域的CIE 1931色彩空间色度图。
[0008] 图2是示出了根据一个实施例的扩展图像格式的组分的框图。
[0009] 图3是示出了根据一个实施例的用于提取以扩展图像格式进行编码的附加信息的操作的框图。
[0010] 图4是示出了根据一个实施例的用于提取以扩展图像格式进行编码的附加信息并将所提取的信息分离成不同通道的操作的框图。
[0011] 图5A至图5C是示出了根据多个实施例的将基础图像和从扩展图像提取的图像数据编码成广泛支持的图像格式的过程的框图。
[0012] 图6是示出了根据一个实施例的基础图像的编码、所提取的附加图像数据的一个或多个通道,以及用于以广泛支持的图像格式重建扩展图像的指令的框图。
[0013] 图7是示出了根据一个实施例的用于对使用广泛支持的图像格式编码的扩展图像进行解码的过程的流程图。
[0014] 图8示出了根据一个实施例的示例性电子设备。

具体实施方式

[0015] 本公开涉及一种用于对扩展图像进行编码使其能够与现有解码设备兼容的系统、方法和计算机可读介质。通常,扩展图像格式被定义为使用匹配现有图像格式的通道原色。因为扩展图像格式参考了现有图像格式的通道原色,所以可通过如下所述的计算廉价的操作提取被包括在扩展图像格式中的附加图像信息。
[0016] 在以下描述中,为了解释的目的,阐述了很多具体细节以便提供对发明构思的彻底理解。作为该描述的一部分,本公开的附图中的一些附图以框图形式表示结构和设备,以避免模糊本发明。为了清晰起见,在本说明书中未描述实际具体实施的所有特征。此外,本公开中所使用的语言已主要被选择用于可读性和指导性目的,并且可能没有被选择为划定或限定本发明的主题,诉诸于所必需的权利要求以确定此类发明主题。在本公开中提到“一个实施例”(“one embodiment”或“an embodiment”)意指被包括在本发明的至少一个实施例中的结合该实施例所述的特定特征、结构或特性,并且多次提到“一个实施例”(“one embodiment”或“an embodiment”)不应被理解为必然地全部参考相同的实施例。
[0017] 应当理解,在任何实际具体实施的开发中(如在任何开发项目中),必须要作出许多决策以实现开发者的特定目标(如,符合与系统和商务相关的约束),并且这些目标将在不同具体实施之间变化。还应当理解,此类开发工作可能是复杂且费时的,但尽管如此,对于受益于本公开的图像处理的那些普通技术人员而言,这仍然是他们的日常工作。
[0018] 参考图2,基础图像格式可根据用于定义图像像素的属性的参考值205来描述图像。例如,以RGB格式表示的图像的每个像素可包括用于红色通道、绿色通道和蓝色通道的参考值。用于红色、绿色和蓝色通道的参考值共同定义了给定色彩空间(即,由红色、绿色和蓝色通道原色定义的色彩空间)内的像素的属性。可根据0.0到1.0范围内的标称值来描述参考值。例如,具有值(1.0,0.0,0.0)(被表示为(R,G,B))的图像像素将是具有最高可能亮度的纯红色像素(即,具有红色通道原色属性的像素)。在例示的实施例中,对于常见消费者图像格式通用的是,可将每个参考值表示为8位二进制数。本领域的普通技术人员应认识到其他位深度是可能的。例如,16位。
[0019] 在一个实施例中,扩展图像格式在基础图像格式的参考值范围内与基础图像是一致的。因此,扩展图像格式参考了与基础图像格式相同的原色(例如,红色、绿色和蓝色)。然而,可扩展用于参考值210的标称范围,以对附加图像数据(即,不能使用基础格式诸如色域、动态范围和精确度表示的图像数据)进行编码。即,基础图像格式的参考值范围是扩展图像格式的参考值范围的真子集。因为扩展图像格式在基础图像格式的参考值范围内与基础图像格式一致,所以这个范围内的参考值(即,例示的实施例中的0.0到1.0的标称值)表示基础图像格式或扩展图像格式中的相同色彩属性。在例示的实施例中,与基础图像格式参考值205相比,扩展图像格式中的每个参考值210的标称范围加倍(从0.0-1.0到-0.75-1.25)。可利用这种扩展标称范围对比可使用基础图像格式产生的更大的亮度和更宽的色域进行编码。在一个实施例中,可利用负值来对基础图像格式色域外部(即,基础图像格式的色彩空间外部)的色彩进行编码。例如,(1.0,-0.75,-0.75)可表示在基础图像格式中不能表示的非常饱和的红色。可利用超过一的值来对不能使用基础图像格式表示的增大的亮度(即,基础图像格式的动态范围外部)进行编码。例如,(1.25,0.0,0.0)可表示红原色的更亮的版本。此外,在例示的实施例中,使用10位二进制数字来表示用于扩展图像格式的参考值。因此,在该实施例中,可利用一个附加位相对于基础图像格式使标称范围加倍,并且使用另一个附加位使整个增大的标称范围内的精确度加倍。这种方法的一个优点在于在与非线性γ组合时增大表示的有效线性范围。例如,0.0到1.0表示中的2.2的γ值仍然是0.0到
1.0线性的。相反,0.0到1.25表示中的2.2的γ值实际是由0.0到1.0线性范围提供的范围的
1.6倍。
[0020] 应当指出,所提供的示例性实施例仅作为实例。不必通过图2所示的方式分布扩展格式的附加图像信息(即,75%的附加范围专用于更宽的色域,并且25%的附加范围专用于增大的动态范围),不必使用任何特定数量的位对基础格式和扩展格式的参考值进行编码,或者参考值不必对应于RGB色彩模型。本公开同样适用于扩展参考值范围的任何扩展图像格式(使用任何色彩模型),以对不能使用基础图像格式编码的图像信息进行编码,同时在基础图像格式的参考值范围内保持一致。
[0021] 参考图3,在一个实施例中并且如下文将要进一步详细所述的,可能有利的是识别出使用基础图像格式表示的图像和使用扩展图像格式表示的对应图像之间的差别。原始图像305可包括根本未经过处理或仅进行过最小化处理的图像传感器数据。原始图像305可类似于照片底片,因为每个原始图像可包括不被包括在最终图像格式中的图像信息。例如,由图像传感器捕获并被包括在原始图像305中的一些信息可表示亮度等级或者不能在基础图像310甚至扩展图像315中进行编码的色彩。如本领域的普通技术人员所理解的那样,将原始图像305转换成扩展图像315和基础图像310可能涉及包括降噪、锐化、去马赛克、减黑、高亮恢复、色调映射等的操作,所有操作均在本公开的范围之外。然而,这些过程的结果将产生基础图像310和扩展图像,基础图像由用于基础图像格式的参考值诸如参考值205构成,并且扩展图像由用于扩展图像格式的参考值诸如参考值210构成。扩展图像315可包括来自在基础图像310中不能表示的原始图像305的图像信息。
[0022] 此外,尽管扩展图像格式在针对基础图像格式的参考值范围内与基础图像格式一致,但原始图像305和基础图像与扩展图像310和315之间的转换过程可能导致甚至对于基础图像格式范围内可表示的色彩的不同的参考值。例如,如果原始图像305描绘了不能在基础图像310的基础图像格式内完全再现的亮黄色对象,而不是将扩展到基础图像色彩空间外部的色彩限定在最大参考值(这会导致平坦而不自然的外观),则转换过程可调节基础图像色彩空间内的某些色彩,使得获取更自然的对象再现。然而,在将原始图像305转换成能够表示更宽色彩空间的扩展图像315时,可能不必以和基础图像格式相同的方式调节对象的色彩。虽然图3示出了原始图像305到基础图像310和扩展图像315两者的转换,但在另一个实施例中,可将原始图像305转换成扩展图像315,并从扩展图像315生成基础图像310。在已生成基础图像310和扩展图像315中的每一者之后,可从扩展图像315减去基础图像310,以提取被表示为差异图像320的两个图像之间的差异。
[0023] 参考图4,因为扩展图像315是根据在用于基础图像310的整个参考值范围内与基础图像310的基础图像格式一致的扩展格式来表示的,所以可将差异图像320(其承载扩展图像315中包含而基础图像310中不包含的所有附加信息)的提取作为简单的逐个像素差异操作来执行。例如,可从用于扩展图像315的对应像素315A的对应参考值减去用于基础图像310的像素310A的参考值。所得的参考值定义差异图像320的像素320A的属性。使用上文相对于图2所述的扩展格式作为实例,像素315A的标称参考值可以是(1.21,-0.4,-0.3),其指定了位于基础图像310的基础图像格式范围外部的亮深红色。对应像素310A的参考值可以是(0.98,0,0),这表示能够使用基础图像格式产生的几乎最亮最深的红色。像素315A的参考值的10位二进制表示和像素310A的参考值的8位二进制表示的数值表示分别为(1003,
179,230)和(250,0,0)。这获取了差异图像320的像素320A的参考值(753,179,230)。
[0024] 在一个实施例中,可能希望将差异图像分成多个差异图像通道,每个差异图像通道表示特定特征。例如,在例示的实施例中,可将差异图像320分成分别表示扩展图像315相对于图像310的附加动态范围、更宽色域和增大的精确度的差异图像通道322,324和326。差异图像通道的数量和类型通常取决于扩展图像格式和基础图像格式之间的差异。为了将对这些各种特性有贡献的差异图像320的部分分开,可将用于差异图像320的每个像素的参考值与用于扩展图像315的对应像素的参考值进行比较。例如,再次参考相对于图2所述的扩展格式,可使用扩展图像格式的从-0.75到0.0的标称值来表示更宽的色域,并且使用标称值1.0到1.25来表示增大的亮度。这些标称值对应于图2的扩展图像格式的10位表示中的0到393以及896到1023的数值。因此,这些范围内的参考值部分对指定属性有贡献。可提取对增大的亮度有贡献的像素315A的参考值的部分,以生成用于亮度增大的差异图像通道的322的像素322A的参考值(107,0,0)。类似地,可提取对更宽色域有贡献的像素315A的参考值的部分,以生成用于更宽色域的差异图像通道的324的像素324A的参考值(383,179,
230)。在从差异图像320的像素320A的参考值减去这些增大亮度参考值和更宽色域参考值时,所得的参考值(263,0,0)表示基础图像格式和扩展图像格式之间的增大的精确度以及从原始图像向扩展图像格式和基础图像格式的转换过程中的差异,并可被编码为精确度增大的差异图像通道326的像素326A的参考值。尽管图4示出的实施例描述了将差异图像320分成三个不同图像,但也可使用更多或更少的单独的图像通道。在另一个实施例中,可基于对带宽/质量进行控制的期望,以及不同解码器的需求来对多个差异图像通道进行编码,任选地进行传输,并任选地进行解码。(即,不支持比标称范围更宽色域的设备不需要向其传输-0.75到1.0的通道。类似地,支持更高精确度的设备可订阅提供该附加范围的差异图像通道)。这种生成差异图像通道的方法适用于大部分现有文件格式/图像表示。可将该差异图像通道存储为显式元数据,该差异图像通道通过向合法的文件/流中“填塞”数据而暗中被存储(可能在根据文件格式的定义来结束现有图像之后)在分离但相关的文件(“箱式车”)或文件系统叉中。
[0025] 参考图5A,为了确保扩展图像格式与现有设备兼容,可使用广泛支持的图像文件格式(例如,JPEG和TIFF)来对基础图像进行压缩和编码。此外,可根据所选择的文件格式的标准来将差异图像(可如上所述将其分成一个或多个差异图像通道)压缩和封装成伴随基础图像的元数据。通过这种方式,支持扩展图像格式的设备可从基础图像和差异图像中生成扩展图像,而不支持扩展图像格式的设备可简单地丢弃差异图像元数据并通过常用方式对基础图像进行解码。
[0026] 在图5A例示的实施例中,可从扩展图像515A减去基础图像510A,以生成差异图像520A。同样,因为扩展图像格式在用于基础图像格式的参考值范围内与基础图像格式一致,所以可如上所述将减法作为计算廉价的逐个像素差异操作来执行。可根据广泛支持的图像文件格式(例如,JPEG文件交换格式(JFIF))的标准来将基础图像510A压缩(530A)并解码成图像文件540A的有效载荷部分。可在图像文件540A的元数据部分中类似地对差异图像(其实际可分成若干个不同的图像通道)进行压缩(530A)和编码。例如,JFIF格式包括多个元数据通道。在一个实施例中,可在这些元数据通道中的一个或多个元数据通道中压缩和存储一个或多个差异图像通道。尽管已描述了JFIF格式,但另外受到广泛支持的图像文件格式也可实现类似的操作。因为压缩和编码过程取决于所选择的文件类型并被本领域的普通技术人员所知,所以在本公开中不详细论述这些过程。
[0027] 已意外地发现,差异图像通道数据可能是显著空间相干的,并且此外可能在基础图像的很大区域内是不变的DC水平(其中可由基础图像完整表示原始信号)。结果,尽管可使用相同的压缩将差异图像通道有效地编码为有效载荷(即,基础图像),但还有其他技术可能进一步有帮助诸如将仅对差异图像通道数据实际受到调制的稀疏区域进行编码的四叉树表示法。还可能有益的是将差异图像通道打破成离散的通道(即,负值、超过一或附加精确度)以最佳使用各个稀疏通道。仅以举例的方式,镜面强光可能需要显著超过一的值,而深度饱和区域需要负值。相对于编码差异图像通道信息,虽然可使用有损或无损编码技术,但建议使用无损压缩。在使用有损压缩的情况下,可确定(计算)差异图像通道数据包括有损压缩的效果。例如,这可通过在执行上述减法之前压缩和解压缩基础图像数据,在差异通道中对压缩错误进行有效编码,并从而允许对比基础图像更高质量的图像进行解码来实现。已确定这是差异通道的附加用途(相对于γ、范围和精确度)。
[0028] 参考图5B,可在从扩展图像515B减去压缩/解压缩所得的图像之前,首先对基础图像510B进行压缩(530B),然后进行解压缩(535B)。在有损压缩算法的情况下,压缩/解压缩操作确保从将用于使用图像文件540B重建扩展图像515B的基础图像的版本计算差异图像。这减少了在使用与用于生成差异图像不同版本的基础图像时在扩展图像重建过程期间可能发生的错误。可根据广泛受支持的图像文件格式的标准来将压缩的基础图像编码成图像文件540B的有效载荷部分。类似地,可在图像文件540B的元数据部分中对差异图像520B进行压缩和编码。
[0029] 在一些实施例中,可能需要基于所选择的文件格式来将基础图像和差异图像转换为不同的色彩模型。例如,如果于封装基础图像和差异图像的所选择的用文件格式为JFIF并且使用RGB色彩模型对基础图像进行编码(其中扩展图像被表示为相同RGB色彩模型的扩展),可能需要将基础图像和差异图像转换成JFIF支持的Y’CbCr色彩模型。到此为止,假设这种转换过程是基础图像和差异图像的压缩和编码的一部分。然而,在某些实施例中,可能有利的是转换扩展图像和基础图像的色彩模型并在所转换的色彩空间中(在扩展图像和基础图像之间)执行差异操作。如果所选择的文件格式的有效载荷部分能够对比基础图像的色彩空间更宽范围的色彩进行编码(与sRGB色彩空间相比,JPEG标准的Y’CbCr色彩空间就是这种情况),可能希望在图像文件的有效载荷部分中而非在元数据部分中包括差异图像的至少一部分。可在Y’CbCr 0-1单位体积中表示0.0RGB单位立方体到1.0RGB单位立方体的外部值。常见的Y’CbCr到R’G’B’转换器通常将R’G’B’值限制到0.0–1.0,因此在Y’CbCr中对扩展范围的R’G’B’值进行编码以维持向后兼容性可能是“安全的”。
[0030] 参考图5C,可将基础图像510C和扩展图像515C从第一色彩模型转换到第二色彩模型(550)。在一个实施例中,第二色彩模型可能是使用所选择的文件格式(即,图像文件540C的文件格式)对图像进行编码所需的色彩模型。例如,如果基础图像510C和扩展图像515C是使用上文相对于图2所述的基础图像格式和扩展图像格式进行编码的,并且所选择的文件格式需要使用Y’CbCr色彩模型对图像进行编码,则将基础图像510C和扩展图像515C从RGB色彩模型转换到JPEG Y’CbCr色彩模型。在一个实施例中,使用如下公式来转换标称RGB参考值:
[0031] Y’=0.299(R)+0.587(G)+0.114(B)  公式(1)
[0032] Cb=-0.169(R)-0.331(G)+0.5(B)+0.5  公式(2)
[0033] Cr=0.5(R)-0.419(G)-0.081(B)+0.5  公式(3)
[0034] 上文相对于图4描述的用于扩展图像315的像素315A的示例性RGB参考值(1.21,-0.4,-0.3)和基础图像310的像素310A的示例性参考值(0.98,0,0)分别得到转换值(0.093,
0.278,1.297)和(0.293,0.334,0.99)。在色彩模型转换之后,从所转换的扩展图像517C减去所转换的基础图像512C,以生成差异图像520C。在所转换的色彩空间中表示差异图像
520C。可提取差异图像520C的一部分并反向添加到所转换的基础图像512C中,以生成经调节的基础图像514C。例如,在通过将差异图像520C的一部分添加到经调节的基础图像514C的所得差异值的程度在可接受的范围内的情况下,朝所转换的扩展图像517C的参考值调节所转换的基础图像512C的参考值。再次参考用于所转换的基础图像512C和所转换的扩展图像517C的对应像素的上述示例性参考值,用于差异图像520C的对应像素的参考值可以是(-
0.2,-0.056,0.307)。可将这些参考值中的一些或全部参考值反向添加到所转换的基础图像514C的对应值,从而到达所得值在标称参考值的可接受范围(例如,0到1)内的程度。在一个实施例中,这可能得到用于经调节的基础图像514C的对应像素的参考值(0.093,0.278,
1)和用于差异图像520C的对应像素的剩余值(0,0,0.297)。然后可根据文件540C的图像文件格式的标准来将经调节的基础图像514C和差异图像520C的剩余部分(即,未提取的部分)分别压缩(530C)和编码成图像文件540C的有效载荷部分和元数据部分。
[0035] 参考图6,在一个实施例中,可并行地、可能使用多个编码/解码单元来对基础图像和差异图像进行压缩和编码。需注意,“附加的”编码单元不必是相同的。也就是说,可能有机会针对差异通道信息使用(与基础)不同的硬件编码器,从而允许针对不同编解码器进行硬件加速,使得所得的设备更加灵活多用。作为另外一种选择,可在具有加速的基础硬件的基于中央处理单元(CPU)的编解码器中并行于基础图像对差异通道信息进行编码/解码。在另一个具体实施中,对差异图像和基础图像两者的编码可基于CPU(例如,使用多核处理单元的不同内核)。在例示的实施例中,如上所述,将差异图像分成多个差异图像通道620A-C。并不压缩和保存基础图像610以及差异图像通道620A-C中的每个差异图像通道,这可能需要压缩操作、写入操作和读取操作,以将每个图像编码成图像文件640,而是可并行压缩基础图像610和差异图像通道620A-C,并在图像文件640中进行编码。可在图像文件640的有效载荷部分645中对基础图像610进行编码,并可在图像文件640的单独的元数据通道650A-C中对差异图像通道620A-C中的每个差异图像通道进行编码。尽管图6中示出了三个差异图像通道,但可使用更多或更少的差异图像通道。
[0036] 在一个实施例中,差异图像通道可对第一压缩版本的基础图像610和第二压缩版本的差异图像610之间的差异进行编码。例如,可根据图像文件格式(即,图像文件640的格式)的标准来压缩基础图像610,并且还可根据改进的压缩算法进行压缩。在此类实施例中,可将两个压缩版本之间的差异压缩并编码为差异图像通道620A-C中的一个差异图像通道。
[0037] 在一个实施例中,将差异图像通道620A-C分成图像文件640的单独的元数据通道可实现差异图像通道的选择性传输或使用。在一个实施例中,如果确定接收方设备不能利用差异图像通道中的一个或多个差异图像通道,则仅可传输有用的那些通道。例如,如果接收方设备能够使用精确度差异图像通道来提高由图像文件640表示的显示图像的精确度但不能利用增大的动态范围、宽色域或压缩差异通道,则可在传输图像文件640之前提取与增大的动态范围、宽色域和压缩差异对应的差异图像通道。同样,如果传输介质具有有限带宽,则可在传输图像文件640之前提取差异图像通道中的一些或全部差异图像通道。识别下游解码器的能力可允许传输站点管理比特率并处理网络拥塞。类似地,接收解码器可基于已知环境来对差异(例如,其可在宽色域显示不可用时选择不对负差异值进行解码)选择性地进行解码。
[0038] 在例示的实施例中,图像文件640包括各自存储在图像文件640的单独的元数据通道中的标识符655和指令660。标识符655可初始将经编码的基础图像610链接到差异图像通道。该链接可用于避免将差异图像数据应用到改变版本的基础图像610,这可能是灾难性的。例如,如果图像文件640被修改(例如,将基础图像610的表示旋转90度),则随后不应当使用差异图像数据来尝试重新生成扩展图像。在一个实施例中,标识符655可以是原始有效载荷部分中645的全部或某部分原始有效载荷的散列。在另一个实施例中,标识符655可以是被存储在原始有效载荷部分645内(而不是单独的元数据通道中)的唯一标识符,并可包括格式特有的标记,诸如用于指示有效载荷部分645中的数据是原始数据的附加JPEG重新开始标记。无论标识符655的特定具体实施如何,对有效载荷部分645作出任何变化将形成失配,可由指令660利用该失配放弃用于使用有效载荷部分645和元数据通道650A-C重新生成扩展图像的任何后续尝试。指令660还可包括用于使用元数据通道650A-C中的一些或全部元数据通道来重建扩展图像中的全部或某部分扩展图像的代码。
[0039] 参考图7,图像文件640的指令660可确定由图像文件640表示的哪个版本的图像被生成。首先可确定有效载荷部分645中的数据是否匹配标识符655(框705)。在一个实施例中,可确定有效载荷645的散列是否匹配被存储在标识符部分655中的有效载荷部分645中的初始编码数据的散列。在另一个实施例中,可确定有效载荷部分645是否包括与初始编码的有效载荷部分645一起被包括的唯一标识符。如果有效载荷部分645与标识符一致(框705的“是”分支),然后可确定将用于显示图像的设备是否支持扩展图像格式(框710)。如果有效载荷部分645不匹配标识符(框705的“否”分支),或者如果不支持扩展图像格式(框710的“否”分支),则可对有效载荷部分645解压缩(框715)以生成基础图像610。然而,如果支持扩展图像版本(框710的“是”分支),则可对有效载荷部分645和元数据通道650A-C解压缩(框720),并可将所得的差异图像通道添加到所得的基础图像以生成扩展图像730。在一个实施例中,可对少于全部的元数据通道650A-C进行解压缩并添加到基础图像。在一个实施例中,指令660可包括代码,以定义用于从基础图像和差异图像通道中的一些或全部差异图像通道生成扩展图像730的必要的转换和序列。通过定义在基础图像格式参考值范围内的与基础图像格式一致的扩展图像格式并通过将扩展图像分成基础图像以及扩展图像和基础图像之间的差异信息,可将扩展图像封装成与现有设备向后兼容的广泛支持的图像格式。
[0040] 参考图8,其示出了根据一个实施例的示例性电子设备800的简化功能框图。电子设备800可包括处理器805、显示器810、用户界面815、图形硬件820、设备传感器825(例如,接近传感器/环境光传感器、加速度计和/或陀螺仪)、麦克风830、一个或多个音频编解码器835、一个或多个扬声器840、通信电路845、数字图像捕获单元850、一个或多个视频编解码器855、存储器860、存储装置865和通信总线870。例如,电子设备800可以是数字相机、个人数字助理(PDA)、个人音乐播放器、移动电话、服务器、笔记本电脑、膝上型电脑、台式计算机或平板电脑。更具体地,可在包括设备800的部件中的一些或全部部件的设备上执行所公开的技术。
[0041] 处理器805可执行必要的指令以实施或控制由设备800所执行的多种功能的操作。处理器805可例如驱动显示器810并可从用户界面815接收用户输入。用户界面815可呈现多种形式诸如按钮、小键盘、拨号盘、点击轮、键盘、显示屏和/或触摸屏。处理器805也可例如为片上系统,诸如存在于移动设备中的那些片上系统并且包括专用图形处理单元(GPU)。处理器805可基于精简指令集计算机(RISC)架构或复杂指令集计算机(CISC)架构或任何其他合适的架构,并且可包括一个或多个处理内核。图形硬件820可以是用于处理图形和/或辅助处理器805以处理图形信息的专用计算硬件。在一个实施例中,图形硬件820可包括可编程图形处理单元(GPU)。
[0042] 传感器和相机电路850可由以下设备至少部分地根据所公开的技术来捕获可能被处理的静态图像和视频图像:一个或多个视频编解码器855和/或处理器805和/或图形硬件820、和/或结合在电路850内的专用图像处理单元。因此,所捕获的图像可被存储在存储器
860和/或存储装置865中。存储器860可包括由处理器805和图形硬件820使用的一个或多个不同类型的介质以执行设备功能。例如,存储器860可包括存储器高速缓存、只读存储器(ROM),和/或随机存取存储器(RAM)。存储装置865可存储介质(例如音频文件、图像文件和视频文件)、计算机程序指令或软件、偏好信息、设备配置文件信息以及任何其他合适的数据。存储装置865可包括一个或多个非暂态存储介质,包括例如磁盘(固定盘、软盘和可移除盘)和磁带、光学介质(诸如CD-ROM和数字视频光盘(DVD))、以及半导体存储器设备(诸如电可编程只读存储器(EPROM)和电可擦除可编程只读存储器(EEPROM))。存储器860和存储装置865可用于有形地保持被组织成一个或多个模块并以任何所需的计算机编程语言编写的计算机程序指令或代码。例如,当由处理器805执行时,此类计算机程序代码可实现本文所述的操作中的一种或多种操作。
[0043] 应当理解,以上描述旨在是示例性的而非限制性的。已呈现材料以使得本领域的任何技术人员能够作出并使用本文所述的发明构思,并在特定实施例的上下文中提供该发明构思,其变化对于本领域的技术人员而言将是显而易见的(例如,可彼此结合使用所公开的实施例中的一些实施例)。在回顾以上描述时,很多其他的实施例对于本领域的技术人员而言将是显而易见的。因此应当参考所附权利要求以及命名此类权利要求的等同形式的完整范围来确定本发明的范围。在所附权利要求中,术语“包括”(“including”)和“其中”(“in which”)被用作相应术语“包括”(“comprising”)和“其中”(“wherein”)的通俗的英语等同形式。