用于将图像封装在文件中的方法和装置与流程

文档序号:23068582发布日期:2020-11-25 17:56阅读:260来源:国知局
用于将图像封装在文件中的方法和装置与流程

本发明涉及用于将多个图像封装在文件中的方法和装置。



背景技术:

现代照相机提供了不同的拍摄模式来拍摄图像。这些拍摄模式中的一些拍摄模式使得拍摄到一系列图像。例如,这些拍摄模式提供拍摄多个图像的包围模式(bracketingmode),其中拍摄的一个参数的值针对各拍摄图像而变化。该参数可以例如是曝光时间、白色的值或焦点。图像连拍模式(imageburstmode)提供能够无延迟地拍摄一系列图像的能力。图像连拍模式例如可用于拍摄运动中的快速事件。全景模式允许获得一系列重叠图像以重建场景的大视图。

照相机所拍摄到的图像例如存储在如存储卡那样的存储装置上。图像通常被编码以减小存储装置上的数据的大小。可以使用如jpeg或最近的hevc标准那样的许多编码标准。

hevc标准定义静止图像的编码所用的配置文件,并且描述用于对单个静止图像或大量静止图像进行压缩的特定工具。已提出这种图像数据所使用的iso基媒体文件格式(isobmff)的扩展以包括在iso/iec23008标准的名为“heiforhighefficiencyimagefileformat”的第12部分中。

heif(高效率图像文件格式)是运动图像专家组(mpeg)为了存储和共享图像和图像序列而开发的标准。

miaf(多图像应用格式)是由mpeg开发到iso/iec23000标准第22部分中的标准,其定义了对heif规范的一组约束以精确化供以高效率图像文件(heif)格式嵌入的图像的创建、读取、解析和解码用的互操作点。

尽管提供了有限的分组机制和有限的用以描述编码图像的性质的机制,但heif和miaf文件格式没有提供适用于根据所引用的拍摄或收集模式其中之一来收集和描述作为拍摄或编辑的结果的图像和图像组的高效分组和性质描述机制。



技术实现要素:

本发明是为了解决上述担忧中的一个或多个而设计的。本发明涉及适用于拍摄模式和编辑模式的heif中的分组和性质机制的扩展,从而产生多个图像。

根据本发明的另一方面,提供一种用于将图像封装在文件中的方法,其中,所述方法包括:

-基于所述图像的拍摄模式来确定分组类型;

-生成将所述图像描述为组的分组数据结构,所述分组数据结构包括所述组的所述图像的图像标识符;以及

-将所述分组数据结构、所述分组类型和所述图像嵌入在所述文件中。

在实施例中,所述分组类型包括在所述分组数据结构内。

在实施例中:

-所述分组数据结构包括通用拍摄模式类型;以及

-所述分组类型包括在与所述组的所述图像相关联的性质数据结构内,以表征所述通用拍摄模式类型。

在实施例中,所述性质数据结构还包括与所述分组类型相关联的参数。

在实施例中:

所述分组数据结构包括通用拍摄模式类型;以及

所述分组类型被作为附加参数包括在所述分组数据结构内。

在实施例中,将与所述分组数据结构相关联的性质数据结构进一步嵌入在所述文件内。

根据本发明的另一方面,提供一种用于将图像封装在文件中的方法,其中,所述方法包括:

-确定描述用以注释图像的信息的标记参数;

-生成将所述图像描述为组的分组数据结构,所述分组数据结构包括所述组的所述图像的图像标识符;以及

-将所述分组数据结构、所述标记参数和所述图像嵌入在所述文件中。

根据本发明的另一方面,提供一种用于将图像封装在文件中的方法,其中,所述方法包括:

-基于所述图像的拍摄模式来确定分组类型;

-生成与第一图像相关联且参考第二图像的参考数据结构,所述参考数据结构包括所述分组类型;以及

-将所述参考数据结构和所述图像嵌入在所述文件中。

根据本发明的另一方面,提供一种用于读取文件中的图像的方法,其中,所述方法包括:

-基于所述图像的拍摄模式来读取分组类型;

-读取将所述图像描述为组的分组数据结构,所述分组数据结构包括所述组的所述图像的图像标识符;以及

-根据所述分组类型来读取在所述分组数据结构中所标识的图像。

在实施例中,所述分组类型包括在所述分组数据结构内。

在实施例中:

-所述分组数据结构包括通用拍摄模式类型;以及

-所述分组类型包括在与所述组的所述图像相关联的性质数据结构内,以表征所述通用拍摄模式类型。

在实施例中,所述性质数据结构还包括与所述分组类型相关联的参数。

在实施例中:

-所述分组数据结构包括通用拍摄模式类型;以及

-所述分组类型被作为附加参数包括在所述分组数据结构内。

在实施例中,将与所述分组数据结构相关联的性质数据结构进一步嵌入在所述文件内。

根据本发明的另一方面,提供一种用于读取文件中的图像的方法,其中,所述方法包括:

-读取描述用以注释图像的信息的标记参数;

-读取将所述图像描述为组的分组数据结构,所述分组数据结构包括所述组的所述图像的图像标识符;以及

-根据所述标记参数来读取在所述分组数据结构中所标识的图像。

根据本发明的另一方面,提供一种用于读取文件中的图像的方法,其中,所述方法包括:

-基于所述图像的拍摄模式来读取分组类型;

-读取与第一图像相关联且参考第二图像的参考数据结构,所述参考数据结构包括所述分组类型;以及

-读取所述文件中的所述第一图像和所述第二图像。

在实施例中,数据结构是在iso基媒体文件格式中定义的框(box)。

在实施例中,针对所述拍摄模式至少之一来定义分组类型,所述拍摄模式包括自动曝光包围模式、白平衡包围模式、调焦包围模式、闪光曝光包围模式、景深包围模式、iso包围模式、延时模式、全景模式、图像连拍模式、用户合集模式、超分辨率模式、多曝光模式、降噪模式、长曝光降噪模式、渐晕补偿模式和/或hdr拍摄模式。

在实施例中,所述分组数据结构是在iso基媒体文件格式中定义的entitytogroup框、sampletogroup框和trackgroup框其中之一。

在实施例中,所述性质数据结构是在iso基媒体文件格式中定义的sampleentry框、samplegroupentry框、itemfullproperty和itemproperty框其中之一。

根据本发明的另一方面,提供一种用于将图像封装在文件中的装置,其中,所述装置包括被配置为进行以下操作的电路:

-基于所述图像的拍摄模式来确定分组类型;

-生成将所述图像描述为组的分组数据结构,所述分组数据结构包括所述组的所述图像的图像标识符;以及

-将所述分组数据结构、所述分组类型和所述图像嵌入在所述文件中。

根据本发明的另一方面,提供一种用于将图像封装在文件中的装置,其中,所述装置包括被配置为进行以下操作的电路:

-确定描述用以注释图像的信息的标记参数;

-生成将所述图像描述为组的分组数据结构,所述分组数据结构包括所述组的所述图像的图像标识符;以及

-将所述分组数据结构、所述标记参数和所述图像嵌入在所述文件中。

根据本发明的另一方面,提供一种用于将图像封装在文件中的装置,其中,所述装置包括被配置为进行以下操作的电路:

-基于所述图像的拍摄模式来确定分组类型;

-生成与第一图像相关联且参考第二图像的参考数据结构,所述参考数据结构包括所述分组类型;以及

-将所述参考数据结构和所述图像嵌入在所述文件中。

根据本发明的另一方面,提供一种用于读取文件中的图像的装置,其中,所述装置包括被配置为进行以下操作的电路:

-基于所述图像的拍摄模式来读取分组类型;

-读取将所述图像描述为组的分组数据结构,所述分组数据结构包括所述组的所述图像的图像标识符;以及

-根据所述分组类型来读取在所述分组数据结构中所标识的图像。

根据本发明的另一方面,提供一种用于读取文件中的图像的装置,其中,所述装置包括被配置为进行以下操作的电路:

-读取描述用以注释图像的信息的标记参数;

-读取将所述图像描述为组的分组数据结构,所述分组数据结构包括所述组的所述图像的图像标识符;以及

-根据所述标记参数来读取在所述分组数据结构中所标识的图像。

根据本发明的另一方面,提供一种用于读取文件中的图像的装置,其中,所述装置包括被配置为进行以下操作的电路:

-基于所述图像的拍摄模式来读取分组类型;

-读取与第一图像相关联且参考第二图像的参考数据结构,所述参考数据结构包括所述分组类型;以及

-读取所述文件中的所述第一图像和所述第二图像。

根据本发明的另一方面,提供一种可编程设备所用的计算机程序产品,所述计算机程序产品包括指令序列,所述指令序列用于在被载入所述可编程设备并由所述可编程设备执行的情况下,实现根据本发明的方法。

根据本发明的另一方面,提供一种存储有计算机程序的指令的计算机可读存储介质,所述指令用于实现根据本发明的方法。

根据本发明的另一方面,提供一种计算机程序,其在执行时,使得进行根据本发明的方法。

根据本发明的另一方面,提供一种用于对包括实体(例如,图像项或轨)的编码位流进行封装的方法,封装后的位流包括数据部分和元数据部分。所述方法包括:

在所述元数据部分提供标识一个或多个实体的实体信息;

在所述元数据部分提供选自多个分组信息的分组信息,所述分组信息表示由所述实体信息标识的所述一个或多个实体基于由所述分组信息指示的预定标准来形成组,各分组信息指示不同的预定标准;以及

将所述位流与所提供的信息一起作为封装数据文件输出。

在实施例中,所述编码位流包括表示拍摄图像的编码拍摄图像或编码样本。

在实施例中,所述实体信息标识至少两个实体。

在实施例中,所述方法还包括:利用拍摄装置基于拍摄特征来拍摄所述图像,其中所述预定标准与拍摄步骤的拍摄特征至少之一相关。

在实施例中,所述分组信息是四字母代码。

根据本发明的另一方面,提供一种用于对表示实体(例如,图像项或轨)的编码位流进行封装的方法,封装后的位流包括数据部分和元数据部分。

所述方法包括:

在所述元数据部分提供标识一个或多个实体的实体信息;

在所述元数据部分提供分组信息,所述分组信息表示由所述实体信息标识的至少两个实体基于至少一个共同性质来形成组;

提供与所述至少一个共同性质有关的性质信息;

提供链接信息,所述链接信息用于将由所述实体信息标识的所述一个或多个实体中的每一个实体链接至所述共同性质;以及

将所述位流连同所提供的信息一起作为封装数据文件输出。

在实施例中,实体信息标识至少两个实体,并且所述链接信息将由实体信息标识的至少两个实体中的每一个实体链接至共同性质。

在一实施例中,所述性质信息针对所述至少一个共同性质表示至少两个不同的值,并且所述链接信息将由所述实体信息标识的所述至少两个实体中的每一个实体链接至所述共同性质的至少两个不同的值。

在实施例中,所述链接信息将由所述实体信息标识的所述至少两个实体中的每一个实体链接至所述共同性质的至少两个不同的值。

在实施例中,所述编码位流包括表示拍摄图像的编码拍摄图像或编码样本。

在实施例中,所述方法还包括:利用拍摄装置基于拍摄特征来拍摄所述图像,其中所述共同性质与拍摄步骤的拍摄特征至少之一相关。

在实施例中,所述链接信息是包括在所述分组结构中的参数,所述参数采取不同的值来表示性质。

在实施例中,所述链接信息是将性质信息与组相关联的结构(例如,框)。

根据本发明的一方面,提供一种用于将媒体数据封装在文件中的方法,其中,所述方法包括:

生成描述一组实体的分组数据结构,各实体与媒体数据的至少一部分相对应;

生成包含与一组实体相关联的性质的性质容器数据结构;

生成包括所述性质和所述分组数据结构之间的关联信息的关联数据结构;

生成包括所述性质容器数据结构和所述关联数据结构的性质数据结构;以及

将所述分组数据结构、所述性质数据结构和所述媒体数据嵌入在所述文件中。

在实施例中,所述方法还包括:

生成所述性质容器数据结构中的文本性质,所述文本性质包括与一组实体相关联的至少一个文本属性和与所述至少一个文本属性相关联的语言属性。

在实施例中,所述文本性质包括与多个语言属性分别相关联的多个相同的文本属性。

在实施例中,所述性质容器数据结构包括第一文本性质和第二文本性质,所述第一文本性质包括与第一语言属性相关联的文本属性,并且所述第二文本性质包括与第二语言属性相关联的文本属性,第一语言不同于第二语言,以及其中,所述关联数据结构包括所述第一文本性质和所述第二文本性质与所述分组数据结构之间的关联信息。

在实施例中,所述文本性质包括多个文本属性,所述多个文本属性包括名称文本属性、描述文本属性和标签文本属性。

在实施例中,所述方法包括:

生成所述性质容器数据结构中的名称文本性质、描述文本性质和/或标签文本性质至少之一,各文本性质至少包括与一组实体相关联的文本属性和与该文本属性相关联的语言属性。

在实施例中,各文本性质包括与多个语言属性分别相关联的多个相同的文本属性。

在实施例中,所述性质容器数据结构包括第一文本性质和第二文本性质,所述第一文本性质包括与第一语言属性相关联的文本属性,并且所述第二文本性质包括与第二语言属性相关联的文本属性,第一语言不同于第二语言,以及其中,所述关联数据结构包括所述第一文本性质和所述第二文本性质与所述分组数据结构之间的关联信息。

在实施例中,所述关联数据结构至少还包括性质与实体的关联。

根据本发明的另一方面,提供一种用于将媒体数据封装在文件中的方法,其中,所述方法包括:

生成描述一组实体的分组数据结构,各实体与媒体数据的至少一部分相对应;

生成所述分组数据结构中的文本性质,所述文本性质至少包括与一组实体相关联的文本属性和与该文本属性相关联的语言属性;以及

将所述媒体数据和所述分组数据结构嵌入在所述文件中。

在实施例中,所述文本性质包括与多个语言属性分别相关联的多个相同的文本属性。

在实施例中,所述文本性质包括多个文本属性,所述多个文本属性包括名称文本属性、描述文本属性和标签文本属性。

根据本发明的另一方面,提供一种用于读取文件中的媒体数据的方法,其中,所述方法包括:

读取描述一组实体的分组数据结构,各实体与媒体数据的至少一部分相对应;

读取包含与一组实体相关联的性质的性质容器数据结构;

读取包括所述性质和所述分组数据结构之间的关联信息的关联数据结构;

读取包括所述性质容器数据结构和所述关联数据结构的性质数据结构;以及

根据所述性质来读取在所述分组数据结构中所标识的媒体数据。

在实施例中,所述方法还包括:

读取所述性质容器数据结构中的文本性质,所述文本性质包括与一组实体相关联的至少一个文本属性和与所述至少一个文本属性相关联的语言属性。

在实施例中,所述文本性质包括与多个语言属性分别相关联的多个相同的文本属性。

在实施例中,所述性质容器数据结构包括第一文本性质和第二文本性质,所述第一文本性质包括与第一语言属性相关联的文本属性,并且所述第二文本性质包括与第二语言属性相关联的文本属性,第一语言不同于第二语言,以及其中,所述关联数据结构包括所述第一文本性质和所述第二文本性质与所述分组数据结构之间的关联信息。

在实施例中,所述文本性质包括多个文本属性,所述多个文本属性包括名称文本属性、描述文本属性和标签文本属性。

在实施例中,所述方法包括:

读取所述性质容器数据结构中的名称文本性质、描述文本性质和/或标记文本性质至少之一,各文本性质至少包括与一组实体相关联的文本属性和与该文本属性相关联的语言属性。

在实施例中,各文本性质包括与多个语言属性分别相关联的多个相同的文本属性。

在实施例中,所述性质容器数据结构包括第一文本性质和第二文本性质,所述第一文本性质包括与第一语言属性相关联的文本属性,并且所述第二文本性质包括与第二语言属性相关联的文本属性,第一语言不同于第二语言,以及其中,所述关联数据结构包括所述第一文本性质和所述第二文本性质与所述分组数据结构之间的关联信息。

在实施例中,所述关联数据结构至少还包括性质与实体的关联。

根据本发明的另一方面,提供一种用于读取文件中的媒体数据的方法,其中,所述方法包括:

读取描述一组实体的分组数据结构,各实体与媒体数据的至少一部分相对应;

读取所述分组数据结构中的文本性质,所述文本性质至少包括与一组实体相关联的文本属性和与该文本属性相关联的语言属性;以及

根据所述性质来读取在所述分组数据结构中所标识的媒体数据。

在实施例中,所述文本性质包括与多个语言属性分别相关联的多个相同的文本属性。

在实施例中,所述文本性质包括多个文本属性,所述多个文本属性包括名称文本属性、描述文本属性和标签文本属性。

根据本发明的另一方面,提供一种用于将媒体数据封装在文件中的装置,其中,所述装置包括被配置为进行以下操作的电路:

生成描述一组实体的分组数据结构,各实体与媒体数据的至少一部分相对应;

生成包含与一组实体相关联的性质的性质容器数据结构;

生成包括所述性质和所述分组数据结构之间的关联信息的关联数据结构;

生成包括所述性质容器数据结构和所述关联数据结构的性质数据结构;以及

将所述分组数据结构、所述性质数据结构和所述媒体数据嵌入在所述文件中。

根据本发明的另一方面,提供一种用于将媒体数据封装在文件中的装置,其中,所述装置包括被配置为进行以下操作的电路:

生成描述一组实体的分组数据结构,各实体与媒体数据的至少一部分相对应;

生成所述分组数据结构中的文本性质,所述文本性质至少包括与一组实体相关联的文本属性和与该文本属性相关联的语言属性;以及

将所述媒体数据和所述分组数据结构嵌入在所述文件中。

根据本发明的另一方面,提供一种用于读取文件中的媒体数据的装置,其中,所述装置包括被配置为进行以下操作的电路:

读取描述一组实体的分组数据结构,各实体与媒体数据的至少一部分相对应;

读取包含与一组实体相关联的性质的性质容器数据结构;

读取包括所述性质和所述分组数据结构之间的关联信息的关联数据结构;

读取包括所述性质容器数据结构和所述关联数据结构的性质数据结构;以及

根据所述性质来读取在所述分组数据结构中所标识的媒体数据。

根据本发明的另一方面,提供一种用于读取文件中的媒体数据的装置,其中,所述装置包括被配置为进行以下操作的电路:

读取描述一组实体的分组数据结构,各实体与媒体数据的至少一部分相对应;

读取所述分组数据结构中的文本性质,所述文本性质至少包括与一组实体相关联的文本属性和与该文本属性相关联的语言属性;以及

根据所述性质来读取在所述分组数据结构中所标识的媒体数据。

根据另一实施例,提供一种可编程设备所用的计算机程序产品,所述计算机程序产品包括指令序列,所述指令序列用于在被载入所述可编程设备并由所述可编程设备执行的情况下,实现根据本发明的方法。

根据另一实施例,提供一种存储有计算机程序的指令的计算机可读存储介质,所述指令用于实现根据本发明的方法。

根据另一实施例,提供一种计算机程序,其在执行时,使得进行本发明的方法。

根据本发明的方法的至少一部分可以通过计算机来实现。因此,本发明可以采用完全硬件实施例、(包括固件、常驻软件、微代码等的)完全软件实施例、或者组合这里通常可以全部称为“电路”、“模块”或“系统”的软件和硬件方面的实施例的形式。此外,本发明可以采用以介质中体现有计算机可用程序代码的表现的任何有形介质中体现的计算机程序产品的形式。

由于本发明可以以软件来实现,因此本发明可以体现为计算机可读代码以提供至可编程设备的任何适当载体介质上。有形载体介质可以包括诸如软盘、cd-rom、硬盘驱动器、磁带装置或固态存储器装置等的存储介质。瞬态载体介质可以包括诸如电气信号、电子信号、光学信号、声学信号、磁信号或者例如微波或rf信号的电磁信号等的信号。

附图说明

现在将仅以示例的方式并且参考以下附图来说明本发明的实施例,其中:

图1示出包含多个图像或图像序列的heif文件的示例;

图2示出用于使用heif格式将一系列图像封装在一个文件中的处理的主要步骤;

图3示出通过图2的封装处理所生成的heif文件的解析处理的主要步骤;

图4示出根据本发明第一实施例的包括分组数据结构的示例;

图5示出项性质与一组实体的范围内的项的关联的示例;

图6示出根据本发明的一些实施例的项性质与项、实体组或一组实体的范围内的项之间的不同关联;

图7示出根据本发明的一些实施例的用于使用heif格式将一个或多个实体封装在一个文件中的处理的主要步骤;

图8示出根据本发明的一些实施例所生成的heif文件的解析处理的主要步骤;

图9是用于实现本发明的一个或多个实施例的计算装置的示意框图。

具体实施方式

hevc标准定义了静止图像的编码所用的配置文件,并且描述用于对单个静止图像或大量静止图像进行压缩的特定工具。已提出这种图像数据所使用的iso基媒体文件格式(isobmff)的扩展以包括在iso/iec23008标准的名为“heiforhighefficiencyimagefileformat”的第12部分中。

heif和miaf标准涵盖与不同的使用情况相对应的两个存储形式:

·图像序列的存储,其中在解码器处可选地使用定时,以及图像可能依赖于其它图像;以及

·单个图像和独立编码图像的集合的存储。

在第一种情况下,封装接近采用iso基媒体文件格式的视频轨的封装(参见文献《informationtechnology—codingofaudio-visualobjects—part12:isobasemediafileformat》,iso/iec14496-12:2015,第五版,2015年12月),并且使用相似的工具和概念,诸如文件级“moov”框、(封装在“moov”框中的)“trak”框、以及样本和样本组的描述所用的样本分组等。样本表示与单个时间相关联的所有定时数据(例如,视频中的帧或图像序列中的图像)。

框(也称为容器)是为了描述文件中的数据所提供的数据结构。框是由唯一类型标识符(通常为四字符代码,也表示为fourcc或4cc)和长度定义的面向对象的构建块。文件中的所有数据(媒体数据和描述媒体数据的元数据)都包含在框中。在文件内不存在其它数据。文件级框是未包含在其它框中的框。

“moov”框是包含“trak”子框的文件格式框,各“trak”框描述轨,也就是说,相关样本的定时序列。

在第二种情况下,使用一组isobmff框、即“meta”框。这些框和它们的层级结构与“轨相关”框(“trak”框层级结构)相比提供较少的描述工具,并且涉及“信息项”或“项”而不是相关样本。要注意,术语“框”和术语“容器”这两者可以以用以指代包含描述文件中的图像数据的组织或/和性质的元数据的数据结构的相同含义使用。相同的术语“框”和术语“容器”也可以以用以指代包含文件中的图像数据的元数据结构(例如,“mdat”或“idat”框)的相同含义使用。

图1示出heif文件101的示例,其包含如一个或多个静止图像以及可能的视频或图像序列那样的媒体数据。该文件包含第一“ftyp”框(filetypebox(文本类型框))111,其包含文件的类型的标识符(通常是四字符代码的集合)。该文件包含被称为“meta”(metabox(元框))102的第二框,其用于包含包括描述一个或多个静止图像的元数据结构的一般非定时元数据。该“meta”框102包含描述多个单个图像的“iinf”框(iteminfobox(项信息框))121。各单个图像由同样表示为项1211和1212的元数据结构iteminfoentry(项信息条目)来描述。各项具有唯一的32位标识符item_id。与这些项相对应的媒体数据被存储在媒体数据的容器、即“mdat”框104中。

可选地,为了描述图像序列或视频的存储,heif文件101可以包含描述多个轨131和132的被称为“moov”(moviebox(动画框))103的第三框。通常,轨131是被设计为描述时间信息不一定有意义的一组图像的图像序列(“pict”)轨,并且122是被设计为描述视频内容的视频(“vide”)轨。这两个轨都描述了一系列图像样本,图像样本是在相同时间拍摄到的一组像素、例如视频序列的帧。两个轨之间的主要区别在于,在“pict”轨中,定时信息不一定有意义,而对于“vide”轨,定时信息旨在限制样本的显示的定时。与这些样本相对应的数据被存储在媒体数据的容器、即“mdat”框104中。

“mdat”容器104存储如由数据部分141和142表示的与项相对应的非定时编码图像和如由数据部分143表示的与样本相对应的定时编码图像。

heif文件101的目的是描述可用于将多个图像存储在一个heif文件中的不同替代方案。例如,可以将多个图像存储为项、或者存储为可以是“pict”轨或“vide”轨的样本轨。实际选择通常通过应用或装置根据图像的类型和文件的预期用途生成文件来进行。

heif标准还提供被设计为指定与图像相关联的性质(特别是一些元数据结构)以声明或存储图像且更一般为(任何种类的媒体类型的)项的性质的一些机制。通常,“meta”框102可以包含使得能够将任何项与项性质的有序集合相关联的“iprp”框(itempropertiesbox(项性质框))123。该“iprp”框123包含作为性质容器数据结构的“ipco”框(itempropertycontainerbox(项性质容器框))1231,该性质容器数据结构包含描述heif文件中所描述的所有项的性质的所有性质数据结构(itemproperty(项性质)和itemfullproperty(项完整性质))1233。“iprp”框还包含“ipma”框(itempropertyassociationbox(项性质关联框))的集合,其是实际上将一个或多个项性质与给定项相关联的关联数据结构。然后,可以将同一性质与多个项相关联。

关联的句法如下:

itemproperty和itemfullproperty框被设计用于描述性质,即所有性质都应从itemproperty或itemfullproperty继承。与itemproperty相比,itemfullproperty允许将句法有条件地变化的性质的多个版本定义为version(版本)参数的值,并且允许将用以有条件地表示/激活可选特征或参数的标志的映射定义为flags(标志)参数的值。

itempropertycontainerbox被设计用于将性质的集合描述为itemproperty或itemfullproperty框的阵列。

itempropertyassociationbox被设计用于描述项与其性质之间的关联。itempropertyassociationbox提供项标识符的列表的描述,各项标识符(item_id)均与参考itempropertycontainerbox中的性质的性质索引的列表相关联(作为基于1的索引值)。保留索引值0以指示没有性质与项相关联。essential属性在设置为1时表示关联性质对项是必需的,否则关联性质不是必需的。

最后,将itempropertycontainerbox和itempropertyassociationbox收集在itempropertiesbox中。

iso基媒体文件格式指定适用于项和/或轨的分组的分组机制。在该机制中,术语“实体”用于将媒体数据称为项(任何类型的项,例如图像或元数据项)或轨(例如,视频轨“vide”、图像轨“pict”序列、音频轨、或任何其它类型的轨)。该机制指定实体的分组。

“meta”框102可以包含容器框“gprl”(groupslistbox(组列表框))122,其可以包含描述实体组1221和1222的元数据结构的集合。

利用根据以下句法定义的被称为entitytogroupbox(实体到组框)的分组数据结构来描述实体组:

group_id是实体组的唯一标识符,唯一在这种情况下必须被理解为在文件内是唯一的。group_id不应等于任何entitytogroupbox的任何group_id值、包含groupslistbox的层次结构级别(文件、动画或轨)的任何item_id值、或者(当groupslistbox包含在文件级别中时的)任何track_id值。然后,entity_id列表给出与组有关的所有实体。

grouping_type用于指定分组的类型。heif实际上定义有限数量的grouping_type值。第一个grouping_type“altr”指定了不同的实体是可以可替代地用在应用中的备选。第二个grouping_type“eqiv”指定了给定的非定时图像与轨的时间线中的特定位置有关。“eqiv”实体组中所包括的所有项都是“等同的”,并且同一“eqiv”实体组中的轨包括与项“等同”的所选择的样本。第三个grouping_type“ster”指定了两个实体是立体应用中的通常为左视图和右视图的立体对。没有指定其它分组类型的实体。

要注意,由于仅指定了三个类型的组,因此该机制非常有限。此外,没有指定任何内容来提供与组或组内的实体有关的进一步潜在信息或性质。

本发明提供了用于提供用于描述根据给定拍摄模式所拍摄到的一组图像的手段的机制。提供了用以描述已使用的拍摄模式的手段。根据一些实施例,可以关于图像组来描述与拍摄有关的一些附加信息。

本发明也可应用于能够使用heif格式进行封装的其它实体组。例如,本发明可以应用于诸如exif数据组等的元数据组。作为另一示例,本发明可以应用于音频样本组。

图2示出用于使用heif格式将一系列图像封装在一个文件中的处理的主要步骤。照相机例如可以应用该处理。给出的示例适用于对照相机根据不同拍摄模式所拍摄到的图像的分组。

首先,在步骤201中确定一系列照片的拍摄模式。一系列图像的拍摄模式描述该系列的图像之间的关系的种类。例如,拍摄模式是以下其中之一。

包围拍摄模式包括自动曝光、白平衡、调焦、闪光包围模式。所有这些包围模式都涉及利用拍摄的一个或多个参数的不同值来进行相同内容的多次拍照。这些不同的包围模式在值在一系列拍摄中不断变化的参数上有所不同。拍摄系统改变一个拍摄参数以生成不同版本。例如,在自动曝光包围中,针对各摄像修改曝光时间。

图像连拍是涉及在两次摄像之间的时间间隔小的状态下连续地拍摄一系列图像的拍摄模式。

全景是在各次拍摄之间存在重叠的状态下拍摄多个图像的拍摄模式。然后,原理是将各拍摄图像拼接以形成更高分辨率的全景。

延时(time-lapse)是涉及在各拍照之间以预定定时用同一装置拍摄多个图像的拍摄模式。

用户合集(也称为照片系列)是用户关联了共享同一背景的系列中的图像的拍摄模式。例如,拍摄者制作同一产品的多个照片,并且想要将他所制作的所有图像都存储在同一文件中。拍摄者在会话开始时启动用户合集拍摄模式。一旦拍摄者结束他的拍摄绘画,他停止拍摄模式。

超分辨率是涉及以不同的分辨率拍摄多个图像的拍摄模式,这些多个图像可被处理以生成更高分辨率的新图像。

多曝光是涉及以不同的曝光拍摄多个图像的拍摄模式,其目的是生成作为多曝光图像集合的叠加的新图像。

降噪是涉及拍摄单个场景的多个图像以降低拍摄处理所产生的随机噪声的拍摄模式。

长曝光降噪是用于去除长曝光期间的传感器相关噪声的拍摄模式。在该模式中,除正常图像之外,在(例如,通过将盖放在镜头上或者通过不打开快门)没有使光到达传感器的情况下,还以相同的曝光持续时间拍摄被称为“暗”的图像。该“暗”可用来从正常图像去除传感器相关噪声。

渐晕补偿是用于对镜头的渐晕进行补偿的拍摄模式。许多镜头对光的响应不均匀(通常,由于穿过镜头的光在角部与在中央相比更少,因此图像的角部比中央暗)。为了补偿该不均匀性,通过拍摄均匀照亮面的图像来拍摄被称为“平面”的参考图像。该参考图像可用于补偿利用同一镜头的其它图像拍摄的不均匀性。

hdr(高动态范围)是用于处理拍摄场景中的亮度的非常大的差异的拍摄模式。如此得到的图像是具有不同曝光的多个图像的组合。这类似于自动曝光包围模式,但采用更一般的方式:图像之间的曝光变化可能不是规则的,或者可能是未指定的。

一旦在步骤201中选择了拍摄模式,则应用由步骤202、203和204组成的处理循环。直到(例如,通过激活装置的图形或物理用户界面中的特定选项或按钮)结束拍摄模式为止,拍摄装置首先在步骤203中拍摄图像,然后在步骤204中以文件格式封装编码图像。拍摄步骤203包括获取图像、以及使用视频或静止图片编解码器对图像进行编码。例如,在本示例中,编解码器是h.264或hevc/h.265格式。

对于图像的存储,可利用两个主要的替代可能性。

在第一替代方案中,图像被独立编码并被作为heif项存储在文件中。在该封装步骤期间,可以在文件中提供与拍摄的条件有关的附加信息。例如,对于自动曝光包围模式,可以提供用于各图像的拍摄的曝光数据。该描述是使用itemproperty框中的性质来提供的。

在第二替代方案中,图像被存储在“pict”或“vide”轨中。可以使用sampleentry(样本条目)或samplegroupentry(样本组条目)框来提供附加信息。与视频编码类似,图像的编码可能取决于使用hevc编码器的先前图像。轨中的先前图像可用作预测编码所用的参考图像。

在步骤205中,完成一系列图像的封装。在该步骤期间,使用前面所述的可用分组机制其中之一来表示将所拍摄到的图像存储为一组图像。可以在分组机制或者可替代地在步骤204期间针对各图像所存储的附加信息中表示拍摄模式的类型。

为了能够进行如图2所述的图像存储,需要新类型的分组以及用以在具有关联性质的文件中表示这些类型的分组的新方法。

在实施例中,一次使用两个或更多个拍摄模式。例如,对于天文摄影,同时使用长曝光降噪和渐晕补偿这两者。

在另一实施例中,拍摄模式从一系列图像生成两个或更多个分组。例如,在延时中,第一分组包含所有图像,而第二分组包含所有其它图像。

在另一实施例中,在步骤205之后,实现拍摄编辑步骤。在该拍摄编辑步骤期间,创建新的一组图像。可以多次实现该拍摄编辑步骤,从而得到多组图像的添加。

第一种可能性是添加与同初始拍摄模式相同的拍摄模式对应的新分组。例如,在拍摄时,实现每秒包含图像的延时。延时图像在拍摄结束时被分组在一起。在拍摄编辑时,创建与每隔一秒具有图像的另一延时相对应的第二分组。

另一种可能是添加与另一拍摄模式相对应的新分组。例如,在拍摄时,创建自动曝光包围分组。然后,在拍摄编辑时,创建包含自动曝光包围分组的子集的hdr分组。该hdr分组是选择自动曝光包围分组的一些图像以生成hdr图像的结果。

针对各拍摄模式存在一个分组类型

根据第一实施例,针对各拍摄模式定义分组类型。在分组信息内描述该分组类型。

图4示出根据第一实施例的示例。

图像被描述为iteminfobox403中的项404、405和406。

分组信息框(例如,entitytogroupbox401)包括基于拍摄模式的分组类型。然后,分组信息框401包括与组有关的项的项标识符的列表402。

例如,可以针对包围拍摄模式定义通用的“brak”分组类型(此处的“brak”代码是示例)。可以使用“brak”分组类型的参数来表示特殊类型的包围模式,即自动曝光包围、白平衡包围、调焦包围、闪光曝光包围、景深包围和iso包围。例如,利用实体分组机制,entitytogroup包含确定包围的类型的bracketing_type参数。通常,bracketing_type参数是保留的四字符代码。四字符代码的一个值是针对各包围类型预先确定的。在另一示例中,使用样本分组机制,并且在visualsamplegroupentry(视觉样本组条目)的特定种类(从visualsamplegroupentry继承的特定种类)中描述“brak”分组类型的参数。

可替代地,可以针对各特定包围拍摄模式来定义特定分组类型:针对自动曝光包围定义“aebr”,针对白平衡包围定义“wbbr”,针对调焦包围定义“fobr”,针对闪光曝光包围定义“afbr”,针对景深包围定义“dobr”,以及针对iso包围定义“isbr”。

可以针对延时拍摄模式定义“tila”分组类型。该类型的分组涵盖拍摄多张照片以及时间重要的所有用途。主要用途是用于延时,无论在照片之间有无规则间隔。可以使用分组的参数(例如,entitytogroup或visualsamplegroupentry参数)来表示延时的参数(例如,延时的总持续时间、各图像之间的偏移)。

可以针对全景分组类型定义“pano”分组类型。这包括拍摄多张照片以及空间维度重要的所有用途。这包括全景,但也包括给定项的不同视图。可以使用分组的参数(例如,entitytogroup或visualsamplegroupentry参数)来表示全景的参数(例如,例如从左到右、从右到左、z扫描或螺旋扫描的拍摄模式)。

可以针对图像连拍分组类型定义“imbu”或“brst”分组类型。这涵盖了无中断地连续拍摄多个图像的所有情况。可以使用分组的参数(例如,entitytogroup或visualsamplegroupentry参数)来表示图像连拍的参数(例如,各拍摄之间的时间偏移和拍摄的总持续时间)。

可以针对用户合集或照片系列或具有相同标签或标记的照片集合或用户定义的拍摄系列拍摄模式来定义“ucol”、“pser”、“labl”或“udcs”分组类型。自动处理例如可以对在相同地点或/和在预定的时间间隔内拍照得到的照片进行分组。例如,拍摄装置使用拍摄图像的(例如来自gps传感器的)地点信息来确定与该地点相对应的城镇的名称。在同一城镇拍摄到的所有图像形成一组图像。可以使用分组的参数(例如,entitytogroup或visualsamplegroupentry参数)来表示用户合集的参数(例如,拍摄的地点或内容的描述)。

可以针对超分辨率拍摄模式定义“sres”分组类型。这涵盖了在目的是生成更高分辨率的新图像的情况下连续拍摄多个图像的所有情况。可以使用分组的参数(例如,entitytogroup或visualsamplegroupentry参数)来表示超分辨率组的参数(例如,新图像的预期分辨率)。

可以针对多曝光拍摄模式定义“mult”分组类型。这涵盖了在目的是生成由组中的图像的叠加形成的新图像的情况下连续拍摄多个图像的所有情况。可以使用分组的参数(例如,entitytogroup或visualsamplegroupentry参数)来表示多曝光的参数(例如,用于混合图像集合的参数,其可以指示组的各图像的阿尔法混合系数)。

可以针对降噪拍摄模式定义“nois”分组类型。这涵盖了在目的是生成噪声较少的新图像的情况下连续拍摄多个图像的所有情况。

可以这对长曝光降噪拍摄模式定义“dark”分组类型。这涵盖了与一个或多个“暗”图像(即,在没有使光到达图像传感器的情况下拍摄到的图像)一起拍摄一个或多个图像的所有情况。可以使用分组的参数(例如,entitytogroup或visualsamplegroupentry参数)来表示长曝光降噪的参数(例如,哪些图像对应于暗图像)。

可以针对渐晕补偿拍摄模式定义“flat”分组类型。这涵盖了与一个或多个“平面”图像(即,在均匀照亮场景上拍摄到的图像)一起拍摄一个或多个图像的所有情况。可以使用分组的参数(例如,entitytogroup或visualsamplegroupentry参数)来表示渐晕补偿的参数(例如,哪些图像对应于平面图像)。

可以针对hdr拍摄模式定义“hdr”分组类型。这涵盖了拍摄一个或多个图像以生成hdr图像的所有情况。可以使用分组的参数(例如,entitytogroup或visualsamplegroupentry参数)来表示hdr拍摄模式的参数(例如,从对应于最亮区域的图像到对应于最暗区域的图像的图像排序)。

可以通过组合这些分组类型中的两个或更多个来定义其它分组类型。例如,对于天文学图像,可以组合长曝光降噪和渐晕补偿这两者来定义“astr”分组类型。

例如,拍摄者使用ae包围来制作两张照片。结果得到3×2个样本。各照片被嵌入在一个图像项中。

因此,heif文件包含如以下所述的六个项:

·item#1:item_id=1;//利用短曝光时间来拍摄,例如exposure_stop=-2

·item#2:item_id=2;//利用中等曝光时间来拍摄,例如exposure_stop=0

·item#3:item_id=3;//利用长曝光时间来拍摄,例如exposure_stop=2

·item#4:item_id=4;//利用短曝光时间来拍摄,例如exposure_stop=-2

·item#5:item_id=5;//利用中等曝光时间来拍摄,例如exposure_stop=0

·item#6:item_id=6;//利用长曝光时间来拍摄,例如exposure_stop=2

定义具有“aebr”分组类型值的entitytogroupbox。存在两个条目(针对各ae系列的三个样本存在一个):

通用拍摄序列分组类型

在第二实施例中,定义针对“拍摄系列”的通用分组类型“case”(四字符代码“case”是示例,可以使用任何保留的未使用过的四字符代码)。该分组类型意图用于前面描述的所有拍摄模式。当该系列的图像被描述为项时,分组信息是grouping_type参数等于“case”的entitytogroup信息框。当该系列的图像被描述为轨(“vide”或“pict”轨)中的样本时,分组信息例如是grouping_type等于“case”的sampletogroup(样本到组)和samplegroupdescriptionbox(样本组描述框)信息框。

当heif包含利用不同拍摄模式的多个图像时,这些图像都属于同一“case”组。当一系列项或样本属于拍摄系列组时,封装应指定“case”分组类型。为了区分不同的拍摄,可以在property(性质)信息中表示拍摄模式的类型。例如,可以使用sampleentry、samplegroupdescriptionentry、itemproperty或itemfullproperty来针对组的一些项精确化与该系列有关的拍摄模式或/和参数。

例如,在将图像存储为项的情况下,itempropertycontainerbox包含描述一系列图像的拍摄模式的itempropertybox(项性质框)的集合。例如,一个性质描述自动曝光包围拍摄模式,而另一性质描述用于拍摄的实际曝光值。

在另一实施例中,property信息被指定为visualsampleentry(视觉样本条目)信息。在本实施例中,在照相机上所记录的多图像文件的moov/trak/stbl框层级结构中存在sampletochunkbox(样本到块框)“stsc”。块是一组连续的样本。sampletochunkbox::sample_description_index在应用于该块的样本的sampleentry(样本条目)的“stsd”框中提供索引。定义特定视觉样本条目,其与通常视觉样本条目(例如,如iso/iec14496-15中那样的类型“hvc1”或“avc1”)相比包含额外块。该额外框提供分组类型的参数,例如包围模式的描述、或者用户所提供的标签或标记(或本发明的非限制性列表所建议的任何特定性质)。

在又一实施例中,图像的分组组合两个或更多个拍摄模式。在本实施例中,使用“case”grouping_type来指定分组。然后,使用各拍摄模式自身的性质信息来指定该拍摄模式。

关于自动曝光包围拍摄模式,在第一实施例中,如下将曝光的值在性质信息中描述为itemproperty或visualsampleentry:

1.项性质的句法

2.样本条目的句法

3.样本组条目的句法

4.语义

·exposure_stop是指定项的ev光圈的整数值。

根据另一实施例,根据在性质信息(通常为itemproperty)中指定的信息来计算各图像的曝光值。例如,句法可以如下:

其中:exposure_step是指定用于曝光包围的增量步长的整数值。例如,当等于1时,使用完全光圈增量,当等于2时,使用二分之一光圈增量,当等于3时,使用三分之一光圈增量,当等于4时,使用四分之一光圈增量。exposure_stop参数是最大光圈值。

结果,在分组信息中按声明顺序的第一个图像是曝光时间最短的图像。分组信息中的图像数量是奇数个。该图像的曝光光圈等于以下公式的结果:-1*exposure_stop/exposure_step。

最后一个图像的曝光光圈等于exposure_stop/exposure_step。索引等于组内的图像数量除以2的图像(即,中间位置的图像)的exposure_stop等于0。当图像数量大于3时,exposure_stop间隔[-exposure_stop/exposure_step,exposure_stop/exposure_step]均等地分布在组内描述的所有图像之间。

根据又一实施例,包围集合中的图像的顺序(分组信息中(即,entitytogroup或sampletogroup框中)的描述顺序)不同于自然顺序(升序)。性质信息包括描述包围集合的顺序的新参数。句法可以如下:

新的exposure_order参数指定包围集合中的图像的顺序:

-等于0,排序是按exposure_stop间隔中的exposure_stop的升序。例如,顺序是{-2ev,0ev,2ev}。

-等于1,排序是按exposure_stop间隔中的exposure_stop的降序。例如,顺序是{2ev,0ev,2ev}。

-等于2,排序首先从exposure_stop等于0ev的图像开始,之后是按升序的其它图像。例如,顺序是{0ev,-2ev,2ev}。

-等于3,排序首先从exposure_stop等于0ev的图像开始,之后是按降序的其它图像。例如,顺序是{0ev,2ev,-2ev}。

对于白平衡包围,性质信息在itemproperty、itemfullproperty、或者sampleentry或samplegroupentry中表示图像的色温。句法可以如下:

1.项条目的句法

2.样本条目的句法

3.样本组条目的句法

4.语义

-color_temperature代表色温值,例如以开尔文为单位。在另一替代方案中,色温是根据color_temperature计算出的。例如,参数的各值对应于预定色温。例如,以开尔文为单位的色温等于color_temperature*10+2200。

在替代实施例中,白平衡包围性质信息(“wbbr”)指示与初始照相机设置相比的应用于关联图像的蓝色/琥珀色轴上和/或品红色/绿色轴上的白平衡补偿。

visualsampleentry和samplegroupentry框的句法包含相同的参数并且定义相同的四字符代码。不同之处在于,对于visualsampleentry,新类扩展了box(框)类并且应在一个visualsampleentry容器中定义。对于samplegroupentry,新类用与针对项性质所定义的相同的四字符代码来扩展visualsamplegroupentry框。

句法可以如下:

1.itemproperty的句法

2.语义

-blue_amber是蓝色-琥珀色轴上的白平衡补偿的值。该blue_amber字段表示“色温”。

-green_magenta是绿色-品红色轴上的白平衡补偿的值。green_magenta字段表示“色调”。

应存在一个且仅一个引用关联图像项的实体组“wbbr”。当性质信息为samplegroupentry时,可能存在各自具有不同值的grouping_type_parameter的类型“wbbr”的多个样本组。

对于调焦包围,性质信息在itemproperty、itemfullproperty、或者sampleentry或samplegroupentry中表示在拍摄图像时使用的焦距。句法可以如下:

1.itemproperty的句法

2.sampleentry的句法

3.语义

将焦距例如以米为单位表示为focus_distance_numerator字段和focus_distance_denominator字段之间的比。在另一实施例中,这两个参数被以毫米为单位表示距离的focus_distance参数所替代。

对于图像连拍拍摄模式,性质信息在itemproperty、itemfullproperty、或者sampleentry或samplegroupentry框中表示拍摄的索引。下面是作为项性质的性质信息的可能句法。visualsampleentry和samplegroupentry的框的句法包含相同的参数并且定义相同的四字符代码。不同之处在于,对于visualsampleentry,新类扩展了box类并且应在一个visualsampleentry容器中定义。对于samplegroupentry,新类用与针对项性质所定义的相同的四字符代码来扩展visualsamplegroupentry框。

在第一实施例中,句法可以如下:

其具有以下语义:

·burst_index表示图像连拍中的项的索引。

在第二实施例中,根据项的声明的顺序来推断连拍中的图像的索引。这减少了要描述的性质的数量,因而heif文件更加紧凑。以下是作为项性质的性质信息的句法。visualsampleentry和samplegroupentry的框的句法包含相同的参数并且定义相同的四字符代码。不同之处在于,对于visualsampleentry,新类扩展了box类并且应在一个visualsampleentry容器中定义。对于samplegroupentry,新类用与针对项性质所定义的相同的四字符代码来扩展visualsamplegroupentry框。

句法可以如下:

其具有以下语义:

·infer_index_value是指示图像连拍中的项的索引等于“iinf”框中的项的位置索引的布尔值。

·burst_index代表图像连拍中的项的索引。

在另一实施例中,infer_index_value指示图像连拍中的项的索引等于分组信息中的项的索引。本实施例有利地许可通过定义两个组来定义多个排序(例如,正序和倒序)。

在另一实施例中,imageburst(图像连拍)性质信息包括连拍的两个图像之间的定时间隔作为以毫秒为单位表示的无符号整数值。

句法可以如下:

其具有以下语义:

-time_delta是在连拍中的图像项和前一项之间经过的百分之一秒的数量。

-对于类型“brst”的实体组中的第一图像项,应不存在或忽略该性质。

在又一实施例中,imageburst性质信息定义图像连拍中的关联图像的拍摄时间。优选地,时间零对应于由拍摄装置定义的参考时间。这允许多个图像连拍使用相同的参考时间,从而允许将多个图像连拍定义成包含相同的图像项。句法可以如下:

其具有以下语义:

-capture_time是在来自拍摄装置的图像项和参考时间之间经过的百分之一秒的数量。

在又一实施例中,imageburst性质信息定义性质应用于哪个图像连拍。这使得图像项能够属于在图像之间具有不同间隔的多个连拍。例如,第一连拍可以包含每秒拍摄到的图像,而第二连拍仅包含每隔一秒拍摄到的图像。

句法可以如下:

其具有以下语义:

-time_delta是在连拍中的图像项和前一项之间经过的百分之一秒的数量。

-group_id是作为目标的entitytogroup的标识符。

对于类型“brst”的实体组中的第一图像项,应不存在或忽略该性质。

在其它实施例中,图像连拍拍摄模式的性质信息使用“brst”四字符代码。

对于延时拍摄模式,性质信息表示连续图像的拍摄或图像的拍摄时间之间的间隔。该性质信息可以使用“tila”四字符代码。该性质信息可以具有与使用时间相关参数的imageburstproperty(图像连拍性质)相同的句法和语义。

“照片系列”或“用户合集”或“性质信息”在itemproperty、itemfullproperty、或者sampleentry或samplegroupentry框中表示集合中的拍摄图像的索引。以下是作为项性质的性质信息的句法。visualsampleentry和samplegroupentry的框的句法包含相同的参数并且定义相同的四字符代码。不同之处在于,对于visualsampleentry,新类扩展了box类并且应在一个visualsampleentry容器中定义。对于samplegroupentry,新类用与针对项性质所定义的相同的四字符代码来扩展visualsamplegroupentry框。

句法可以如下:

其具有以下语义:

-series_index表示图像连拍中的项的索引。

在另一实施例中,可以如针对图像连拍性质信息进行的操作那样推导照片系列的索引,由此节省了描述字节。

闪光曝光包围信息在itemproperty、itemfullproperty、或者sampleentry或samplegroupentry框中表示拍摄图像的闪光曝光值。以下是作为项性质的性质信息的句法。visualsampleentry和samplegroupentry的框的句法包含相同的参数并定义相同的四字符代码。不同之处在于,对于visualsampleentry,新类扩展了box类并且应在一个visualsampleentry容器中定义。对于samplegroupentry,新类用与针对项性质所定义的相同的四字符代码来扩展visualsamplegroupentry框。

句法可以如下:

其具有以下语义:

flash_exposure_numerator和flash_exposure_denominator是将以f光圈数表示的项或样本的闪光曝光值表示为flash_exposure_numerator和flash_exposure_denominator的比的整数。

景深包围信息在itemproperty、itemfullproperty、或者sampleentry或samplegroupentry框中表示拍摄图像的孔径变化值。以下是作为项性质的性质信息的句法。visualsampleentry和samplegroupentry的框的句法包含相同的参数并且定义相同的四字符代码。不同之处在于,对于visualsampleentry,新类扩展了box类并且应在一个visualsampleentry容器中定义。对于samplegroupentry,新类用与针对项性质所定义的相同的四字符代码来扩展visualsamplegroupentry框。

句法可以如下:

其具有以下语义:

其中,将孔径变化用f光圈数表示为f_stop_numerator和f_stop_denominator的比。

全景信息表示图像属于使用全景拍摄模式所拍摄到的一组图像。该信息在itemproperty、itemfullproperty、sampleentry或samplegroupentry中。以下是作为项性质的性质信息的句法。visualsampleentry和samplegroupentry的框的句法包含相同的参数并且定义相同的四字符代码。不同之处在于,对于visualsampleentry,新类扩展了box类并且应在一个visualsampleentry容器中定义。对于samplegroupentry,新类用与针对项性质所定义的相同的四字符代码来扩展visualsamplegroupentry框。

句法可以如下:

其具有以下语义:

panorama_direction是表示全景方向的1位标志(0:左到右,1:右到左),并且frame_number是表示根据全景方向的帧编号(较低到较高)的整数。

在另一实施例中,句法可以如下:

其具有以下语义:

panorama_direction是表示全景方向的1位标志(0:左到右,1:右到左)。根据默认组排序来对帧排序。

在又一实施例中,句法可以如下:

其具有以下语义:

panorama_type是表示所使用的全景的类型的例如8位的无符号整数:

0:左到右的水平全景

1:右到左的水平全景

2:上到下的垂直全景

3:下到上的垂直全景

4:网格全景,其具有两个附加参数:

οrows是网格中的行数

οcolumns是网格中的列数。可能地,该参数可能不存在,并且根据组中的图像的总数和行数来计算列数。

5:不规则网格全景,其具有多个其它参数:

οrows是网格中的行数

οcolumns是网格中的针对各行的列数。

6:立方体全景,其中根据前、左、后、右、上、下顺序对图像排序。

还可以定义可能的其它排序、或者具有不同排序的其它类型的立方体全景。

7:未指定全景,其中未指定全景的确切类型。

8:用户定义的全景,其具有作为标识全景的类型的4cc的另一参数panorama_subtype。

对于水平和垂直全景,可以添加标志以指示全景是否是完整360°全景,其中最后一个图像与第一个图像合并。

对于栅格全景(无论规则与否),可以以相同的方式添加标志,以指示全景在水平方向、垂直方向还是这两个方向上覆盖360°。

超分辨率信息表示图像属于使用超分辨率拍摄模式所拍摄到的一组图像。该信息在itemproperty、itemfullproperty、sampleentry或samplegroupentry中。以下是作为项性质的性质信息的句法。visualsampleentry和samplegroupentry的框的句法包含相同的参数并且定义相同的四字符代码。不同之处在于,对于visualsampleentry,新类扩展了box类并且应在一个visualsampleentry容器中定义。对于samplegroupentry,新类用与针对项性质所定义的相同的四字符代码来扩展visualsamplegroupentry框。

句法可以如下:

aligned(8)classsuperresolutionproperty

extendsitemproperty(‘sres'){

}

多曝光信息表示图像属于使用多曝光拍摄模式所拍摄到的一组图像。该信息在itemproperty、itemfullproperty、sampleentry或samplegroupentry中。以下是作为项性质的性质信息的句法。visualsampleentry和samplegroupentry的框的句法包含相同的参数并且定义相同的四字符代码。不同之处在于,对于visualsampleentry,新类扩展了box类并且应在一个visualsampleentry容器中定义。对于samplegroupentry,新类用与针对项性质所定义的相同的四字符代码来扩展visualsamplegroupentry框。

句法可以如下:

其具有以下语义:

-weight指示该图像的阿尔法混合系数。

降噪信息表示图像属于使用降噪拍摄模式所拍摄到的一组图像。该信息在itemproperty、itemfullproperty、sampleentry或samplegroupentry中。以下是作为项性质的性质信息的句法。visualsampleentry和samplegroupentry的框的句法包含相同的参数并且定义相同的四字符代码。不同之处在于,对于visualsampleentry,新类扩展了box类并且应在一个visualsampleentry容器中定义。对于samplegroupentry,新类用与针对项性质所定义的相同的四字符代码来扩展visualsamplegroupentry框。

句法可以如下:

aligned(8)classnoisereductionproperty

extendsitemproperty(‘nois'){

}

长曝光降噪信息表示图像对应于itemproperty、itemfullproperty、sampleentry或samplegroupentry中的dark。以下是作为项性质的性质信息的句法。visualsampleentry和samplegroupentry的框的句法包含相同的参数并且定义相同的四字符代码。不同之处在于,对于visualsampleentry,新类扩展了box类并且应在一个visualsampleentry容器中定义。对于samplegroupentry,新类用与针对项性质所定义的相同的四字符代码来扩展visualsamplegroupentry框。

句法可以如下:

aligned(8)classlongexposurenoisereductionproperty

extendsitemproperty(′dark′){

}

其具有以下语义:

具有longexposurenoisereductionproperty(长曝光降噪性质)的项对应于“暗”图像。

渐晕补偿信息表示图像对应于itemproperty、itemfullproperty、sampleentry或samplegroupentry中的flat。以下是作为项性质的性质信息的句法。visualsampleentry和samplegroupentry的框的句法包含相同的参数并且定义相同的四字符代码。不同之处在于,对于visualsampleentry,新类扩展了box类并且应在一个visualsampleentry容器中定义。对于samplegroupentry,新类用与针对项性质所定义的相同的四字符代码来扩展visualsamplegroupentry框。

句法可以如下:

aligned(8)classvignettingcompensationproperty

extendsitemproperty(′flat′){

}

其具有以下语义:

具有vignettingcompensationproperty(渐晕补偿性质)的项对应于“平面”图像。

hdr信息表示itemproperty、itemfullproperty、sampleentry或samplegroupentry中的图像的排序。以下是作为项性质的性质信息的句法。visualsampleentry和samplegroupentry的框的句法包含相同的参数并且定义相同的四字符代码。不同之处在于,对于visualsampleentry,新类扩展了box类并且应在一个visualsampleentry容器中定义。对于samplegroupentry,新类用与针对项性质所定义的相同的四字符代码来扩展visualsamplegroupentry框。

句法可以如下:

其具有以下语义:

item_order是该项在其组内的排序。

作为替代,hdr信息仅表示图像属于使用hdr拍摄模式所拍摄到的一组图像。该信息在itemproperty、itemfullproperty、sampleentry或samplegroupentry中。以下是作为项性质的性质信息的句法。visualsampleentry和samplegroupentry的框的句法包含相同的参数并且定义相同的四字符代码。不同之处在于,对于visualsampleentry,新类扩展了box类并且应在一个visualsampleentry容器中定义。对于samplegroupentry,新类用与针对项性质所定义的相同的四字符代码来扩展visualsamplegroupentry框。

句法可以如下:

aligned(8)classhdrproperty

extendsitemproperty(‘hdr'){

}

对于所有这些性质,在适用时,参数值可以是绝对值或相对值。绝对值表示参考在分组的外部。相对值表示该值被指定为与分组的另一项的值的差。默认情况下,参考项在是分组中的第一个的情况下,用于相对值。在一些情况下,参考项可以是分组中的前一个。例如,延时中的拍摄时间是与预定义的参考时间相对应的绝对时间,或者该拍摄时间是仅给出与先前图像的时间差的相对时间。

优选地,对于包围,将拍摄设置指定为相对于照相机设置。这使得能够使用相同的包围模式来进行多个分组以针对来自性质信息的值共享相同的参考。这样,属于使用同一拍摄模式的多个分组的项仅具有一个与所附加的该拍摄模式相对应的性质信息。

在实施例中,当使用相对值时,性质信息包含组的标识符。由于各组的性质信息通过其包含的识别符链接至该组,因此这使得项能够属于使用同一拍摄模式的多个分组。

在本实施例中,自动曝光包围模式的性质信息可以如下:

其中,group_id是拥有与该性质相关联且该性质适用于的项的组的标识符。

关于sampletogroup,默认情况下,样本可以仅关联至单个组。然而,使用sampletogroup框的grouping_type_parameter,可以针对同一样本定义多个组。因此,在优选实施例中,当根据在本发明中定义的分组类型其中之一对样本进行分组时,可以使用grouping_type_parameter字段来实现将单个样本分组到多个组中。

在以下示例中,使用自动曝光包围拍摄模式进行两个不同的拍摄。各拍摄使得拍摄到三个不同的图像。两次拍摄得到六个图像。各图像被嵌入一个项中。

文件结构如下:

·item#1:itemid=1;exposure_stop=-2//exposure=low

·item#2:itemid=2;exposure_stop=0//exposure=mid

·item#3:itemid=3;exposure_stop=2//exposure=high

·item#4:itemid=4;exposure_stop=-1//exposure=low

·item#5:itemid=5;exposure_stop=0//exposure=mid

·item#6:itemid=6;exposure_stop=-1//exposure=high

定义了具有“case”分组类型值的entitytogroupbox。存在两个条目(针对各ae系列的三个样本存在一个):

在另一实施例中,照相机被配置为对包括以不同曝光级别(例如,三个)的一系列多个图像的拍照的图像进行分组。在该示例中,照相机指定visualsampleentry中的性质信息、即描述轨的一个或多个样本的元数据。在如此得到的多图像文件中,块将包含在拍照期间拍摄到的与图像的数量(在该示例中为三个)相等的样本的数量。根据该示例,在所记录的多图像文件的“stbl”框中创建三个样本的新的特定visualsampleentry和三个样本的相应块。该新拍照的sampletochunkbox::sample_description_index被设置为等于“stbl”框中的特定visualsampleentry的索引。在拍摄序列的末尾,用户获得由包含并描述所有图片的一个轨组成的多图像文件。通过照相机ui,他可以将拍照的序列看成一系列的三个图像。

在另一示例中,可以按各曝光级别访问以不同方式组织的图像。如果照相机被配置为按曝光级别对图像进行分组,则各块包含一个图像。针对各曝光级别声明一个特定视觉样本条目。如果声明了n个特定visualsampleentry、并且如果照相机始终按相同顺序(例如,曝光不足、正常、过度曝光)拍摄图片,则sampletochunkbox::sample_description_index可被设置为等于(拍照中的图片索引)模数n。在拍摄序列结束时,用户获得由包含并描述所有图片的一个轨组成的多图像文件。通过照相机ui,可以看出所记录的图片是根据这些图片的曝光级别而组织的。为了针对各曝光级别描述样本,优选如先前实施例所述使用特定样本组,特别是使用依赖于样本的模式的compactsamplegroup(紧凑样本组)。这里,这是在曝光级别按相同顺序发生的情况。识别模式,并且将样本组定义为样本的模式,各样本组与相应samplegroupdescriptionbox中的样本组条目相关联。经典样本组(即,无模式)的使用也是可以的,并且优于visualsampleentry,这是因为在一些实现中改变样本条目可能导致解码器重置,而对于样本组不是如此。

与性质相关联的通用拍摄系列分组类型

第三实施例是第二实施例的与通用拍摄系列分组类型有关的变形例。

在该变形例中,针对通用拍摄时间分组类型定义附加参数(例如,针对拍摄系列标注为“case”),以提供组中的所有项共同的参数(例如,曝光、白平衡、全景、…),并将该组与使特定于该组中的项的参数精确化的项性质链接。特别地,“capture_mode”参数表示用于标识进一步描述特定于项的参数(例如,被描述为图像项的图像)的性质信息(性质的property_type)的四字符代码。原理是,一个heif解析器可以从通用拍摄时间分组类型的“capture_mode”参数来确定性质信息的类型(即,itemproperty或samplegroupdescriptionbox或sampleentry的类型)。

原理是,一个heif读取器可以容易地在与给定项组相关联的所有项性质中检索项性质。

以下说明分组信息在被描述为entitytogroup时的句法:

其中,capture_mode标识拍摄模式。具有相同的四字符代码的项性质为给定的capture_mode提供项特定的参数。

对于组中的每个项,与“capture_mode”具有相同的4cc的项性质针对该“capture_mode”定义项特定参数。

例如,可以针对capture_mode定义以下的4cc代码:

针对上述capture_mode要定义的项性质的示例。

其中:exposure_step是指定曝光包围所使用的增量步长的整数值。当等于1时,使用完全光圈增量,当等于2时,使用二分之一光圈增量,当等于3时,使用三分之一光圈增量,当等于4时,使用四分之一光圈增量。exposure_numerator是指定用于计算项的曝光值光圈的曝光分子的整数值。

然后,关联项的曝光值(ev)光圈等于下式的结果:exposure_numerator/exposure_step。

其中:color_temperature表示以开尔文为单位的色温值。

在另一实施例中,如下定义whitebalancebracketingproperty(白平衡包围性质):

其中:blue_amber是蓝色-琥珀色轴上的白平衡补偿的值。该blue_amber字段表示“色温”。

并且,green_magenta是绿色-品红色轴上的白平衡补偿的值。green_magenta字段表示“色调”。

其中:将焦距以米为单位表示为focus_distance_numerator和focus_distance_denominator的比。

其中:将闪光曝光补偿以f光圈数表示为flash_exposure_numerator和flash_exposure_denominator的比。

其中:将孔径变化以f光圈数表示为f_stop_numerator和f_stop_denominator的比。

其中:panorama_direction是表示全景方向(0:左到右,1:右到左)的1位标志,并且frame_number是表示根据全景方向的帧编号(较低到较高)整数。

在另一实施例中,句法可以如下:

其具有以下语义:

panorama_direction是表示全景方向(0:左到右,1:右到左)的1位标志。根据默认组排序来对帧排序。

在又一实施例中,句法可以如下:

其具有以下语义:

panorama_type是表示所使用的全景的类型的例如8位的无符号整数:

0:左到右的水平全景

1:右到左的水平全景

2:上到下的垂直全景

3:下到上的垂直全景

4:栅格全景,其具有两个附加参数:

οrows是网格中的行数

οcolumns是网格中的列数。可能地,该参数可能不存在,并且根据组中的图像的总数和行数来计算该列数。

5:不规则栅格全景,其具有多个其它参数:

οrows是网格中的行数

οcolumns是网格中的针对各行的列数。

6:立方体全景,其中根据前、左、后、右、上、下顺序对图像排序。

还可以定义可能的其它排序、或者具有不同排序的其它类型的立方体全景。

7:未指定全景,其中未指定全景的确切类型。

8:用户定义的全景,其具有作为标识全景的类型的4cc的另一参数panorama_subtype。

对于水平和垂直全景,可以添加标志以指示全景是否是完整360°全景,其中最后一个图像与第一个图像合并。

对于栅格全景(无论规则与否),可以以相同的方式添加标志,以指示全景在水平方向、垂直方向还是这两个方向上覆盖360°。

其中:label是给出用户定义的拍摄系列的人类可读名称的采用utf-8字符的null结尾的字符串。

延时性质句法可以如下:

其具有以下语义:

-time_delta是在连拍中的图像项和先前项之间经过的百分之一秒的数量。使用两个连续项之间的经过时间,这使得能够当在规则时间帧上拍摄到所有项时,将单个性质应用于所有项。

-对于类型“tila”的实体组中的第一图像项,应不存在或忽略该性质。

在又一实施例中,延时性质句法可以如下:

其具有以下语义:

-capture_time是在来自拍摄装置的图像项和参考时间之间经过的百分之一秒的数量。使用相对于外部参考的值使得能够通过向两个项提供相同的拍摄时间来表示这两个项是同时拍摄到的(即,同步的)。

在又一实施例中,句法可以如下:

其具有以下语义:

-time_delta是在连拍中的图像项和先前项之间经过的百分之一秒的数量。

-group_id是作为目标的entitytogroup的标识符。

针对类型“tila”的实体组中的第一图像项,应不存在或忽略该性质。

其具有以下语义:

-weight指示该图像的阿尔法混合系数。

aligned(8)classlongexposurenoisereductionproperty

extendsitemproperty(′dark′){

}

其具有以下语义:

具有longexposurenoisereductionproperty(长曝光降噪性质)的项对应于“暗”图像。

aligned(8)classvignettingcompensationproperty

extendsitemproperty(′flat′){

}

其具有以下语义:

具有渐晕补偿性质的项对应于“平面”图像。

对于所有这些性质,在适用时,参数值可以是绝对值或相对值。绝对值表示参考在分组的外部。相对值表示该值被指定为与分组的另一项的值的差。默认情况下,参考项在是分组中的第一个的情况下,用于相对值。在一些情况下,参考项可以是分组中的前一个。例如,延时中的拍摄时间是与预定义的参考时间相对应的绝对时间,或者该拍摄时间是仅给出与先前图像的时间差的相对时间。

优选地,对于包围,将拍摄设置指定为相对于照相机设置。这使得能够使用相同的包围模式来进行多个分组以针对来自性质信息的值共享相同的参考。这样,属于使用同一拍摄模式的多个分组的项仅具有一个与所附加的该拍摄模式相对应的性质信息。

在实施例中,当使用相对值时,性质信息包含组的标识符。由于各组的性质信息通过其包含的识别符链接至该组,因此这使得项能够属于使用同一拍摄模式的多个分组。

在本实施例中,自动曝光包围模式的性质信息可以如下:

其中,group_id是拥有与该性质相关联且该性质适用于的项的组的标识符。

使用自动曝光包围模式的拍摄的本实施例的示例得到被存储为项的三个图像。

文件结构可以如下:

·item#1:itemid=1;exposure_stop=-2//exposure=low

·item#2:itemid=2;exposure_stop=0//exposure=mid

·item#3:itemid=3;exposure_stop=2//exposure=high

定义具有“case”分组类型值和“aebr”拍摄模式的entitytogroupbox:

图像组也可被封装到一个或多个“pict”轨中。各图像可以是同步样本(全部为帧内),或者可以使用帧间预测。

例如,对于图像序列,原理是依赖于样本分组,并且针对各种类的拍摄模式定义专用的grouping_type和样本组描述。例如,“aebr”指示自动曝光包围的图像样本组。将如下定义相应的visualsamplegroupentry:

其中,exposure_order参数指定包围集合中的图像的顺序。exposure_step是指定曝光包围所使用的增量步长的整数值。当等于1时,使用完全光圈增量,当等于2时,使用二分之一光圈增量,当等于3时,使用三分之一光圈增量,当等于4时,使用四分之一光圈增量。exposure_stop是指定样本的最大曝光值(ev)光圈的整数值。

然后,关联图像的曝光光圈等于下式的结果:-1*exposure_stop/exposure_step。

可以针对所有其它拍摄模式定义类似的定义。

在与拍摄系列有关的性质不随着时间而变化的情况下,可以使用默认样本分组机制,或者可以在visualsampleentry中(关于“pasp”、“colr”或“clap”项性质)定义项性质。

在本实施例的替代例中,拍摄模式是指在专有框中描述的propertyinformation(性质信息)。结果,capture_mode参数是指专有框(例如,“uuid”框)的四字符代码。在这种情况下,分组信息进一步描述精确识别哪个专有信息与“case”组中的图像有关的数据。例如,当capture_mode等于“uuid”时,性质信息指定“uuid”类型的框的usertype(用户类型)字段。heif读取器可以有利地确定进一步描述拍摄模式的专有框。本实施例也适用于包括许可区分不同的专有框的四字符代码(通常称为sub_type或proprietary_type)的任何其它专有框扩展系统。

在本实施例的另一替代例中,第一实施例中列出的分组类型可以进一步指定具有与分组类型相等的四字符代码的性质信息。例如,拍摄装置声明grouping_type等于“aebr”的自动曝光包围组,并且将itemproperties“aebr”和与该组有关的各项相关联。

例如,对于图像项,原理是针对与不同分组目的(拍摄模式)相对应的entitytogroup定义多个特定分组类型。相同的4cc用于给定entitytogroup的grouping_type和提供特定于相应组内的项的参数的项性质。例如,与entitytogroup(“aebr”)有关的项的参数由“aebr”是自动曝光包围集合的fourcc的itemproperty(“aebr”)来提供。

在本实施例的变形例中,定义与两个或更多个拍摄模式的组合相对应的分组类型。

在本实施例的另一变形例中,“case”entitytogroup指定多个capture_mode。对于各capture_mode以及对于组中的各项,具有与capture_mode相同的4cc的项性质定义了该capture_mode的项特定参数。

以下说明分组信息在被描述为entitytogroup时的句法:

值得注意的是,可以使用两个不同的版本将该句法和具有单个capture_mode的句法分组到单个定义中。

该变形例也可用于不同的分组信息。

visualsampleentry

在第四实施例中,将拍摄系列中的所有图像共同的信息存储在“pict”或“vide”轨的visualsampleentry中的新框中。该新框表示与该样本条目相关联的轨的样本属于同一拍摄模式(例如,包围集合、图像连拍、照片系列…)。样本特定信息(例如在先前实施例中被描述为性质信息)被存储在专用元数据轨中。例如,visualsampleentry指示拍摄模式是自动曝光包围。在元数据轨的样本中描述包围的参数(即,曝光配置)。

拍摄装置可以经由类型“cdsc”的轨参考将描述图像样本的轨与描述样本特定信息的一个或多个元数据轨相关联。

用于加标签的新项性质和样本条目

在第五实施例中,性质信息描述用于注释一系列图像的信息。该性质信息包括标记参数作为给出标签的人类可读名称的采用utf-8字符的null结尾的字符串。在一个替代例中,该性质被声明为“ipco”框中的其它项性质,并且可以与“ipma”框中的项相关联。例如,下表描述包含标记参数的itemproperty(或itemfullproperty)的句法。照相机装置用用户通常定义的utf-8字符的字符串来填充该标记参数的内容。在一个替代例中,标记包含描述拍摄的背景的信息。例如,用户可以输入字符串,或者拍摄装置可以生成包含拍摄的日期和地点的字符串。例如,该字符串可以包含“2013年5月在巴黎参观埃菲尔铁塔时拍摄”。特别地,拍摄装置可以使用在装置上可用的图像识别程序来自动地生成标记。

在一个替代例中,性质信息被描述为针对在一个“trak”容器中描述的一系列图像的一个sampleentry或samplegroupentry。该上下文中的性质信息的句法如下。在这种情况下,句法接近如以下所示的itemproperty句法。

结果,标记是描述轨中的样本的内容的utf-8字符串。

在另一实施例中,分组信息指示一系列图像经由特定字符串相关(无精确目的)。对于实体分组,分组类型被设置成等于“labl”或“tag”四字符代码。

在另一替代例中,标签或标记性质也可以与具有不同于“labl”或“tag”的分组类型的一组项相关联。

在另一实施例中,照片系列或用户合集性质信息包括标记参数作为附加参数。

句法例如如下:

其中:label是给出用户定义的拍摄系列的人类可读名称的采用utf-8字符的null结尾的字符串。

用以参考组的项性质关联

在第六实施例中,性质信息适用于通过分组信息(例如,通过在一个entitytogroup或sampletogroup框中的表示(signalling))收集在一个组中的多个图像(即,项或样本)。在这种情况下,性质信息与一个组而不是一个图像相关联。例如,itempropertyassociation框允许参考对一系列项进行分组的组的标识符(例如,entitytogroup::group_idparameter)。然后,用可以参考项的标识符(item_id)或组标识符(group_id)的entity_id来替代“ipma”框的item_id字段。例如,分组信息是entitytogroup。一个itempropertyassociation框可以参考的标识符是group_id字段。本实施例的优点是:由于避免了关联的重复,因此对各图像的性质的描述更加紧凑。

下表是itempropertyassociation框的新句法:

除了重命名为entity_id的item_id字段以外,itempropertyassociation的不同参数的语义保持不变。entity_id参数可以参考一个项或者一个entitytogroup。因此,entity_id的值应等于一个group_id值或一个item_id值。

在实施例中,使用相同的机制来将性质链接至一组任何种类的媒体实体,例如音频样本、元数据项...。

例如,拍摄装置采用用户合集拍摄模式,并且将各图像描述为一个项。例如,拍摄装置存储四个图像。如先前实施例那样,与各项共享的性质信息对应于拍摄者所设置的标记。因此,heif框描述四个项(针对用户合集的各图像存在一个项)。

·item#1:itemld=1;

·item#2:itemld=2;

·item#3:itemld=3;

·item#4:itemld=4;

分组信息被描述为收集四个项的集合的具有“case”分组类型值的entitytogroupbox。然后,描述所有项共同的标记。由“labl”代码标识的该对应性质例如是诸如产品参考或预定值(例如,集合中的第一个图像的拍摄日期)等的用户所设置的标记。在一个itempropertyassociation框中描述性质与项的关联。在本实施例中,itempropertyassociation框仅包含四个项的单个条目。heif写入器将性质与在entitytogroup框中定义的“case”组中所定义的组标识符相关联。该相互化可以应用于其它性质,例如大小(“ispe”)或解码配置(“hvcc”)。该表是本示例的heif文件的描述的伪代码:

写入器可以保持以图像为单位关联大小和解码器配置,并且仅共享特定于分组类型的性质(在以下的事例中为“labl”):

从以上示例可以看出,具有图像性质关联映射允许将一个或多个性质关联到一组图像或实体,这样得到对图像文件的不太冗长的描述。

itemreference(项参考)

在第七实施例中,将所拍摄到的一系列图像之间的关系在一个拍摄系列中描述为itemreference。itemreference框描述heif文件的两个项之间的参考,并且通过reference_type参数将reference(参考)的类型与各关联相关联。在本实施例中,针对各拍摄模式定义一个参考类型。用于给定拍摄模式的reference_type的四字符代码与针对grouping_tyoe所描述的四字符代码相同。

原理是在装置按拍摄顺序拍摄到的各图像之间设置一个项参考。例如,一系列图像中的第二个图像由此描述对该系列中的第一个图像的参考,并且第三个图像描述对第二个图像的参考等。

根据reference_type值,heif解析器确定第一项和第二项之间的关系。

例如,当reference_type等于:

-“pano”:第二项是全景的拍摄模式中的第一项之后的图像。如果拍摄模式是从左到右,则第二项在第一项的右侧。默认情况下,假定左到右模式。

-“panh”是“pano”的替代:第二项是全景的拍摄模式中沿水平方向在第一项之后的图像。如果拍摄模式是从左到右,则第二项在第一项的右侧。默认情况下,假定左到右模式。在另一实施例中,将“panh”reference_type用于右到左全景。

-“panv”:第二项是全景的拍摄模式中沿水平方向在第一项之后的图像。如果拍摄模式是从上到下,则第二项在第一项的下方。默认情况下,假定上到下模式。在另一实施例中,将“panv”reference_type用于下到上全景。

-可以组合“panh”、“panh”和“panv”、“panv”以描述栅格全景。使用“panh”或“panh”reference_type来描述各行。在两行的第一图像之间使用“panv”或“panv”reference_type来描述连续两行之间的关系。

-这些reference_type也可被命名为“righ”、“left”、“top”、“bott”。

-这些reference_type也可用于描述立方体全景或更复杂的全景。

-“imbu”或“pser”或“tila”或“brst”:第二项是按图像集合的拍摄顺序在第一项之后的图像。

-“tsyn”:第二项是与第一项相同的时间拍摄到的。

-“brak”:第二项是在第一项之后的包围集合中的图像。

-“aebr”:第二项是在第一项之后的曝光包围集合中的图像。结果,当按曝光光圈的升序进行包围时,第二项与第一项相比具有更长的曝光时间。

-“wbbr”:第二项是在第一项之后的白平衡包围集合中的图像。结果,当按色温的升序进行包围时,第二项与第一项相比具有更高的色温。

-“fobr”:第二项是在第一项之后的调焦包围集合中的图像。结果,当按焦距的升序进行包围时,第二项与第一项相比具有更远的焦距。

-“sres”:第二项是同一超分辨率集合的另一项。

-“mult”:第二项是同一多曝光集合的另一项。

-“hdr”:第二项是同一hdr项集合的另一项。

-“nois”:第二项是同一降噪项集合的另一项。

-“dark”:第二项是可用于从第一图像中去除传感器相关噪声的暗图像。

-“flat”:第二项是可用于对第一图像进行渐晕补偿的平面图像。

原理同样适用于其它包围类型。

在另一实施例中,来自拍摄系列的图像集合由拍摄装置进一步处理以生成新图像。例如,拍摄装置可以从利用自动曝光包围拍摄到的一系列图像生成hdr图像。在这种情况下,在hdr项和自动曝光包围中的一系列图像的组的标识符之间表示项参考。其它示例是降噪、长曝光降噪、渐晕补偿、超分辨率或多曝光图像。因此,itemreferencebox(项参考框)句法如下:

新参数to_entity_id是项或组的标识符。优点是heif解析器能够确定为从一组图像计算一个项。

可以定义多个类型的参考,以将处理后的图像与一组图像相关。这些reference_types可用在项和组之间或者用在项和多个其它项之间。

这些新类型的引用例如是:

-“pano”:项是从参考项生成的全景项。

-“sres”:项是从参考项生成的超分辨率项。

-“mult”:项是从参考项生成的多曝光项。

-“hdr”:项是从参考项生成的hdr项。

-“nois”:项是从参考项生成的噪声降低的项。

-“dark”:项是使用参考项来去除长曝光相关噪声的项。第一参考项是原始长曝光图像,而第二参考项是暗图像。

-“flat”:项是使用参考项来补偿渐晕的项。第一参考项是原始图像,而第二参考项是平面图像。

针对各拍摄模式的一个分组类型和一个性质信息

在实施例中,如第一实施例那样,针对各拍摄模式定义分组类型。另外,如第二实施例那样,针对各拍摄模式定义性质信息。如此,在相应的性质信息内描述拍摄模式的参数。

换句话说,可以如下定义分组类型和性质信息。

“brst”实体组能够指示图像项的集合按时间递增的顺序形成连拍。

提议通过引入关联的“brst”描述性项性质来以该组为基础,该“brst”描述性项性质可用于记录两个连续图像项之间的拍摄时间差。该项性质例如对于更全面地描述延时是有用的。

图像连拍信息

定义

图像连拍“brst”描述性项性质定义了关联图像项与图像项的连拍中的先前项之间的拍摄时间差。应存在一个且仅存在一个参考关联图像项的实体组“brst”。

句法

语义

time_delta是在图像项和连拍中的先前项之间经过的百分之一秒的数量。如果关联图像项是类型“brst”的实体组中的第一图像项,则该值应被解释为值0。

图像连拍信息替代方案

定义

图像连拍“brst”描述性项性质定义了图像项的连拍中的关联图像项的拍摄时间。图像项的连拍中的第一图像项表示图像项的连拍开始和测量拍摄时间的时间零。应存在一个且仅存在一个参考关联图像项的实体组“brst”。

句法

语义

capture_time是在图像项和连拍中的第一图像项之间经过的百分之一秒的数量。如果关联图像项是类型“brst”的关联实体组中的第一图像项,则该值应被解释为值0。

包围集合/逻辑组

动机

包围使得能够利用不同的照相机设置来拍摄相同的内容。最常见的情况是使用曝光包围,以确保将在图像至少之一中以正确曝光拍摄场景的所有部分。通常,对如此得到的图像的集合进行处理以(例如,通过创建hdr图像)获得最终结果。

保持和使图像之间的包围关系明确对于在整个照片处理工作流中承载拍摄者的初始意图是非常有用的。另外,提供指定用于区分包围集合内的图像项的通用参数值的性质对于简化客户端对图像项的选择也是有用的,因为可能难以从与不同图像相关联的元数据确定该图像项(可能需要基于可用的exif字段计算并交叉来自多个图像项的多个值,或者使用特定于各照相机制造商的制造商注释)。

关于包围,可以在目的是创建全景的情况下拍摄多个图像。关于包围,保持并使图像之间的该全景相关链接明确是非常有用的。并且,提供指定全景的特性的性质有助于将图像处理成全景。

以下各节提出了用于在tuc中描述的实体和样本组的规范文本。之后提出相应项性质的规范文本。

自动曝光包围

“aebr”实体组

自动曝光包围实体组(“aebr”)指示利用不同的曝光设置拍摄到的图像项的集合。实体组中的各图像项的相对曝光设置应使用自动曝光包围项性质“aebr”来定义。

“aebr”样本组

定义

自动曝光包围样本组(“aebr”)指示利用不同的曝光设置拍摄到的样本的集合。可能存在各自具有不同值的grouping_type_parameter的类型“aebr”的多个样本组。autoexposurebracketingentry(自动曝光包围条目)为样本组中的与该条目相关联的样本提供相对曝光设置。

句法

语义

exposure_step是指定在曝光包围期间使用的增量步长的整数值。当等于1时,使用完全光圈增量,当等于2时,使用二分之一光圈增量,当等于3时,使用三分之一光圈增量,并且当等于4时,使用四分之一光圈增量。

exposure_numerator是指定用于计算项的曝光值光圈的曝光分子的整数值。

图像项与默认自动曝光照相机设置相比的曝光值变化被表示成作为exposure_numerator/exposure_step所计算出的光圈数。

白平衡包围

“wbbr”实体组

白平衡包围实体组(“wbbr”)指示利用不同的白平衡设置拍摄到的图像项的集合。实体组中的各图像项的相对白平衡设置应使用白平衡包围项性质“wbbr”来定义。

“wbbr”样本组

定义

白平衡包围样本组(“wbbr”)指示利用不同的白平衡设置拍摄到的样本的集合。可能存在各自具有不同值的grouping_type_parameter的类型“wbbr”的多个样本组。whitebalancebracketingentry(白平衡包围条目)为样本组中的与该条目相关联的样本提供针对蓝色/琥珀色偏差和/或品红色/绿色偏差的白平衡补偿。

句法

语义

blue_amber是蓝色-琥珀色轴中的白平衡补偿的值。

green_magenta是绿色-品红色轴中的白平衡补偿的值。

调焦包围

“fobr”实体组

调焦包围曝光包围实体组(“fobr”)指示利用不同的调焦设置拍摄到的图像项的集合。实体组中的各图像项的相对调焦设置应使用调焦包围项性质“fobr”来定义。

“fobr”样本组

定义

调焦包围曝光包围样本组(“fobr”)指示利用不同的调焦设置拍摄到的样本的集合。可能存在各自具有不同值的grouping_type_parameter的类型“fobr”的多个样本组。focusbracketingentry(调焦包围条目)为样本组中的与该条目相关联的样本提供相对调焦设置。

句法

语义

将焦距以米为单位表示为focus_distance_numerator和focus_distance_denominator的比。

闪光曝光包围

“afbr”实体组

闪光曝光包围实体组(“afbr”)指示利用不同的闪光曝光设置拍摄到的图像项的集合。实体组中的各图像项的相对闪光曝光设置应使用闪光曝光包围项性质“afbr”来定义。

“afbr”样本组

定义

闪光曝光包围样本组(“afbr”)指示利用不同的闪光曝光设置拍摄到的样本的集合。可能存在各自具有不同值的grouping_type_parameter的类型“afbr”的多个样本组。flashexposurebracketingentry(闪光曝光包围条目)为样本组中的与该条目相关联的样本提供相对闪光曝光设置。

句法

语义

样本与照相机设置相比的闪光曝光变化被表示为光圈数,并且被计算为flash_exposure_numerator/flash_exposure_step。

景深包围

“dobr”实体组

景深包围实体组(“dobr”)指示利用不同的景深设置拍摄到的图像项的集合。实体组中的各图像项的相对景深设置应使用景深包围项性质“dobr”来定义。

“dobr”样本组

定义

景深包围样本组(“dobr”)指示利用不同的景深设置拍摄到的样本的集合。可能存在各自具有不同值的grouping_type_parameter的类型“dobr”的多个样本组。depthoffieldbracketingentry(景深包围条目)为样本组中的与该条目相关联的样本提供相对景深设置。

句法

语义

将景深变化表示为光圈数的孔径变化,并且被计算为f_stop_numerator/f_stop_denominator。

全景

“pano”实体组

全景实体组(“pano”)指示为了创建全景所拍摄到的图像项的集合。来自实体组的各图像项在全景内的位置应使用全景项性质“pano”来定义。

“pano”样本组

定义

全景样本组(“pano”)指示为了创建全景所拍摄到的样本的集合。可能存在各自具有不同值的grouping_type_parameter的类型“aebr”的多个样本组。panoramaentry(全景条目)为样本组中的与该项相关联的样本提供位置。

句法

语义

panorama_direction是表示全景方向的1位标志(0:左到右,1:右到左)

frame_number是表示根据全景方向的帧编号(较低到较高)的整数。

项性质

动机

以下各节提出项性质的规范文本,以指定与包围、全景和连拍有关的实体组。

自动曝光包围信息

定义

自动曝光包围描述性项性质定义了关联图像项相对于照相机设置的曝光变化。

自动曝光包围描述性项性质用于指定“aebr”实体组中所包括的图像项的性质。

句法

语义

exposure_step是指定在曝光包围期间使用的增量步长的整数值。当等于1时,使用完全光圈增量,当等于2时,使用二分之一光圈增量,当等于3时,使用三分之一光圈增量,并且当等于4时,使用四分之一光圈增量。

exposure_numerator是指定用于计算项的曝光值光圈的曝光分子的整数值。

关联图像项与照相机设置相比的曝光值变化被表示为光圈数,并且被计算为exposure_numerator/exposure_step。

白平衡包围信息

定义

白平衡包围描述性项性质定义了对相对于照相机设置的应用于关联图像项的蓝色/琥珀色偏差和/或品红色/绿色偏差的白平衡补偿。

白平衡包围描述性项性质用于指定“wbbr”实体组中所包括的图像项的性质。

句法

语义

blue_amber是蓝色-琥珀色轴中的白平衡补偿的值。

green_magenta是绿色-品红色轴中的白平衡补偿的值。

调焦包围信息

定义

调焦包围描述性项性质定义了关联图像项相对于照相机设置的调焦变化。

调焦包围描述性项性质用于指定“fobr”实体组中所包括的图像项的性质。

句法

语义

将焦距以米为单位表示为focus_distance_numerator和focus_distance_denominator的比。

闪光曝光包围信息

定义

闪光曝光包围描述性项性质定义了关联图像项相对于照相机设置的闪光曝光变化。

闪光曝光包围描述性项性质用于指定“afbr”实体组中所包括的图像项的性质。

句法

语义

将图像项相对于照相机设置的闪光曝光变化表示为光圈数,并且被计算为flash_exposure_numerator/flash_exposure_step。

景深包围信息

定义

景深包围描述性项性质定义了关联图像项相对于照相机设置的景深变化。景深包围描述性项性质被表示为孔径变化。景深包围描述性项性质用于指定“dobr”实体组中所包括的图像项的性质。

句法

语义

将景深变化表示为光圈数的孔径变化,并且被计算为f_stop_numerator/f_stop_denominator。

全景信息

定义

全景描述性项性质定义了全景内的关联图像项的位置。全景描述性项性质用于指定“pano”实体组中所包括的图像项的性质。应存在一个且仅存在一个参考关联图像项的实体组“pano”。

句法

语义

panorama_direction是表示全景方向的1位标志(0:左到右,1:右到左)

frame_number是表示根据全景方向的帧编号(较低到较高)的整数。

图3示出通过图2的封装处理所生成的heif文件的解析处理的主要步骤。解码处理从对具有一系列图像的heif文件进行解析开始。在步骤301中,解析分组信息。当存在分组信息(即,heif文件包括grouping_type等于前面所述的值其中之一的entitytogroup或trackgroup或sampletogroup框)时,在步骤303中确定一系列图像的拍摄模式。在第一替代方案中,grouping_type参数直接指定拍摄模式。在第二替代方案中,分组信息表示图像集合属于拍摄系列组(分组类型等于“case”)。在这种情况下,在步骤302中,在itemproperty、itemfullproperty、或者visualsampleentry或visualsamplegroupentry框中解析性质信息,以在步骤303中确定图像组的拍摄模式以及与集合和拍摄系列的各图像相关联的参数。

当拍摄模式对应于包围拍摄模式时,解码器在步骤304中向播放器通知heif文件包含一系列包围图像。在这种情况下,应用提供了许可查看不同的包围替代方案的gui界面。在一个实施例中,界面提供性质信息中所提供的信息(诸如itemproperties等),以提取与各图像相关联的拍摄的特性。特别地,对于自动曝光包围,在步骤305中显示各拍照的曝光光圈,以允许用户选择适当拍照。在选择了优选曝光时,解码装置可以修改heif文件以将所选择的图像标记为“主要项”。

当拍摄模式对应于全景图像时,解码器在步骤304中向播放器通知heif文件包含用户可以导航的一系列图像。gui界面可以将用以允许用户在图像之间导航的特定gui元素指示为空间构图。播放器对性质信息进行解析以提取集合图像的拍摄的模式(例如,从左到右),以便生成适应于该模式的导航界面。例如,如果拍摄的模式是从左到右,则gui界面提供水平导航箭头来在heif文件的项之间导航。

当拍摄模式对应于照片系列或图像连拍时,解码器在步骤304中向播放器通知例如在照片系列或图像连拍组的所有图像之间开始幻灯片放映。在一个实施例中,幻灯片放映中的各图像的显示时间是在图像连拍组的性质信息中指定的定时间隔的函数。

在一个实施例中,播放器在幻灯片放映的开始时显示性质信息中所设置的标记信息或将该标记信息显示为各图像中的水印,以允许用户快速识别照片系列的内容。在另一实施例中,用户可以从照片系列组的一系列图像中选择一个图像作为优选图像。在这种情况下,将优选图像标记为主要项。在另一实施例中,用户可以从照片系列中选择多个图像作为优选图像。在这种情况下,播放器创建具有所选择的图像的新的照片系列组并且关联了相同的标记性质信息。性质信息中的新布尔值参数指示了照片系列是照片系列的主要组。

根据实施例,利用涵盖所有的拍摄或收集模式的唯一通用grouping_type值来定义从entitytogroupbox继承的新entitytogroup。特定类型的拍摄或收集模式被定义为entitytogroupbox的附加属性。

例如,可以定义具有通用“brak”(包围的缩写)或“case”(拍摄系列的缩写)或“lgrp”(逻辑分组的缩写)分组类型(或者任何尚未使用的四字符代码可以与等效语义一起使用)的新entitytogroup,以根据特定拍摄或收集模式来对多个实体进行分组。可以使用entitytogroupbox(“case”)或等效grouping_type的新参数capture_mode(或collection_mode、或者grouping_mode或logical_grouping_type)来表示特定类型的拍摄或收集模式,例如即自动曝光包围、白平衡包围、调焦包围、闪光曝光包围、景深包围、iso包围、收藏夹合集、相册合集或用户定义的拍摄系列。

以下说明分组信息在被描述为entitytogroup时的句法的示例:

其中,capture_mode标识拍摄或收集模式。

以下说明具有从entitytogroupbox的显式继承的等效句法:

在一些实施例中,captureseriesentitytogroupbox(拍摄系列实体到组框)也可被命名为logicalentitytogroupbox(逻辑实体到组框)或bracketingentitytogroupbox(包围实体到组框)。

可替代地,代替针对各拍摄或收集模式定义新的4cc,可以将capture_mode参数定义为下表中的索引。

可以定义以下的4cc代码来标识拍摄或收集模式:

可替代地,在变形例中,可以针对在上表中列出的各特定拍摄或收集模式来定义具有特定grouping_type的新entitytogroupboxes:针对自动曝光包围定义“aebr”,针对白平衡包围定义“wbbr”,等等...。

以下说明新entitytogroupboxes的句法的示例(可以针对各拍摄或收集模式导出类似句法):

根据该第一实施例的替代例,基于以上新entitytogroupboxes的分组信息还可以包括一个或多个附加标签或标记参数,这些附加标签或标记参数提供了给出实体组的内容的人类可读名称、标签或描述的采用utf-8字符的null结尾的字符串。可选地,分组信息还可以包括地点信息参数(例如,gps坐标或地点的人类可读描述)和表示其它null结尾的字符串参数中所包含的文本的语言的语言信息参数。

可选地,分组信息还可以包括提供分组信息的唯一标识符(例如,group_uuid或logical_group_id)的参数。该唯一标识符可用于在heif文件内或跨多个heif文件(例如,属于同一相册的目录中的多个图像文件)中将多组实体彼此关联。为了确保该标识符的单一性,特别地如果标识符是从不同的装置、用户或供应商分配的,则使用如在rfc4122中指定的通用唯一标识符(uuid)来定义该标识符。

以下说明通用分组信息在被描述为entitytogroup时的句法的示例(包括所有的可选参数):

其中:

group_name是包含实体组的人类可读名称的null结尾的utf-8字符串。

group_description是包含实体组的人类可读描述的null结尾的utf-8字符串。

group_tags是包含与实体组有关的逗号分隔标签的null结尾的utf-8字符串。

lang是包含诸如“en-us”、“fr-fr”或“zh-cn”等的rfc5646兼容语言标签字符串的字符串,其表示group_name、group_description和group_tags中所包含的文本的语言。当lang为空时,语言是未知的/未定义的。

在代替通用grouping_type而使用特定grouping_type的情况下,特定entitytogroupboxes的句法的示例如下(具有与上述相同的参数语义):

可以针对各拍摄或收集模式导出类似句法。

以上句法允许针对人类可读字符串参数表示仅一种语言。可以期望用多种语言提供这样的人类可读字符串,以支持用户可呈现的文本(例如,日文和法文)的替代国际化。

在变形例中,新entitytogroupboxes包含具有关联语言的替代人类可读字符串参数的列表。

以下说明通用分组信息在被描述为entitytogroup时的句法(包括所有的可选参数):

其中:entry_count提供替代用户可呈现文本的数量。

同样,具有特定grouping_type的entitytogroupboxes的句法可以如下(具有与上述相同的参数语义):

可以期望在实体组之间共享组性质(因此可能地对单个图像、图像序列或这两者进行分组),以避免在多个组中复制相同的信息。

根据第二实施例,具有通用grouping_type(例如,“case”或“lgrp”)或具有特定grouping_type(例如,“aebr”、“albc”、…)的新entitytogroupbox仅可以包含前面所述的可选group_uuid参数。所有其它的组性质如下所述。

组性质被定义为box或fullbox、而不是entitytogroupboxes中的参数。组性质的框类型指定性质类型。组性质可以是描述性的或可变换的。变换组性质应用于被应用了前一变换的实体组中的各项(首先应用(经由“ipma”框)与项相关联的变换,然后将(如以下所述)与实体组相关联的变换应用于组中的各项)。

在metabox中创建新容器框grouppropertiesbox(组性质框)(“gprp”)。grouppropertiesbox使得能够将任何组与有序集合的组性质相关联。该grouppropertiesbox由两个部分组成:grouppropertycontainerbox(组性质容器框)(“gpco”),其包含组性质的隐式索引列表;以及一个或多个grouppropertyassociationbox(组性质关联框)(“gpma”),其将实体组与组性质相关联。

在示例中,各grouppropertyassociationbox应按group_id增大的方式来排序,并且在grouppropertyassociationbox框的集合中,给定group_id应最多出现一次。除非需要32位的group_id值,否则应使用版本0;类似地,除非在grouppropertycontainerbox中存在超过127个性质,否则标志应等于0。应存在最多一个具有版本和标志的给定一对值的grouppropertyassociationbox。

关联句法如下:

其中:

group_id标识与性质关联的entitytogroupbox。

essential当设置为1时,指示关联性质对组是必需的,否则关联性质不是必需的。

property_index是指示没有关联性质的0(essential指示符也应为0)、或者是同一grouppropertiesbox中包含的grouppropertycontainerbox中的关联性质框的基于1的索引(对包括freespace(自由空间)框的所有框进行计数)。

根据该第二实施例,可以按照如下将诸如实体组的名称、标签或内容描述等的人类可读标记定义为例如具有特定fourcc“gdes”的特定groupdescriptionproperty(组描述性质):

其中:

name是包含实体组的人类可读名称的null结尾的utf-8字符串。

description是包含实体组的人类可读描述的null结尾的utf-8字符串。

tags是包含与实体组有关的逗号分隔标签的null结尾的utf-8字符串。

lang是包含诸如“en-us”、“fr-fr”或“zh-cn”等的rfc5646兼容语言标签字符串的字符串,其表示name、description和tags中所包含的文本的语言。当lang为空时,语言是未知的/未定义的。

根据该第二实施例,可以经由grouppropertyassociationbox将多个groupdescriptionproperty与组相关联,以表示不同的语言替代方案。

可替代地,为了将具有替代语言的多个groupdescriptionproperty与组相关联,groupdescriptionproperty可以如下包含替代的name、description和tags的列表:

在变形例中,各人类可读字符串可被定义为具有关联语言的单独组性质,以实现更大灵活性。例如,针对“tag”字符串可以存在一个性质,针对“label”字符串可以存在一个性质,并且针对“description”字符串可以存在一个性质。

在以上变形例中,与上述description类似,各组性质也可以包含替代的一对文本/语言的列表。

在一些情况下,相同的性质可以应用于项或实体组。例如,以上groupdescriptionproperty框对于向项或实体组提供人类可呈现的描述是有用的。同样,项性质可以应用于项或整个项组。

在变形例中,代替定义新框以将组性质与实体组相关联,而是将组性质定义为项性质框(itemproperty或itemfullproperty),并且修改itempropertyassociationbox的语义,以能够参考项或实体组。

例如,itempropertyassociationbox允许参考对一系列项或轨进行分组的组的标识符(例如,entitytogroup::group_id参数)。然后,“ipma”框的item_id字段被可以参考项的标识符(item_id)或组标识符(group_id)的item_or_group_id替代。该变形例的优点是:由于实体组和项可以共享相同的性质并且避免了性质定义和关联的重复,因此性质的描述更加紧凑。

以下是itempropertyassociationbox的新句法的示例:

除重命名为item_or_group_id的item_id字段以外,itempropertyassociationbox的不同参数的语义保持不变。item_or_group_id参数可以参考一个项或一个entitytogroup。因而,item_or_group_id的值应等于一个group_id值或一个item_id值。要注意,按照标准中的group_id的定义,group_id不应等于任何其它group_id、任何item_id或任何track_id。因此,考虑到item_or_group_id,无论其参考项还是组,均不存在歧义。

作为替代,为了保持与itempropertyassociationbox的现有版本0和1的向后兼容性,可以提出并如下定义itempropertyassociationbox的新版本2和3,并将其定义如下:

各itempropertyassociationbox应通过item_id或group_id增大的方式来排序,并且在itempropertyassociationbox的集合中,给定的item_id或group_id应最多出现一次。除非需要32位的item_id值,否则应使用版本0将性质与项相关联,在这种情况下,应使用版本1;

类似地,除非需要32位的group_id值,否则应使用版本2将性质与实体组相关联,在这种情况下应使用版本3;

除非在itempropertycontainerbox中存在多于127个性质,否则标志应等于0。应存在最多一个具有版本和标志的给定一对值的itempropertyassociationbox。

在另一变形例中,代替创建现有itempropertyassociationbox的新版本,例如如下直接将新框entitytogroupassociationbox“epma”创建到itempropertiesbox中:

各entitytogroupassociationbox应按group_id增大的方式来排序,并且在entitytogroupassociationbox框的集合中,给定的group_id应最多出现一次。除非需要32位的group_id值,否则应将版本0用于将性质与entitytogroups相关联,在这种情况下,应使用版本1;

除非在itempropertycontainerbox中存在多于127个性质,否则flags应等于0。最多应存在一个具有版本和标志的给定一对值的entitytogroupassociationbox。

在这些变形例中,诸如名称、标签或描述等的人类可读标记可以应用于项或实体组。这样的标记如下被定义为例如具有特定fourcc“ides”的特定描述性项性质itemdescriptionproperty(项描述性质):

其中:

name是包含项或实体组的人类可读名称的null结尾的utf-8字符串。

description是包含项或实体组的人类可读描述的null结尾的utf-8字符串。

tags是包含与项或实体组有关的逗号分隔标签的null结尾的utf-8字符串。

lang是包含诸如“en-us”、“fr-fr”或“zh-cn”等的rfc5646兼容语言标签字符串的字符串,其表示name、description和tags中所包含的文本的语言。当lang为空时,语言是未知的/未定义的。

在变形例中,各人类可读字符串可被定义为具有关联语言的单独描述性项性质,以实现更大灵活性。例如,针对“tag”字符串可以存在一个性质,针对“label”字符串可以存在一个性质,并且针对“description”字符串可以存在一个性质。

对项性质进行排序,并且项性质可以是如在标准中所述的描述性项性质或者变换性项性质。变换性项性质的示例是图像旋转或图像裁剪。描述性项性质的示例是颜色信息或像素信息。

根据上述实施例,当描述性项性质与一组实体相关联时,描述性项性质描述了应用于组中的各实体的共同性质,或者描述性项性质根据项性质的语义而应用于整体实体组。可替代地,“ipma”框(或者根据实施例的“epma”框)的框标志值允许表示该框所描述的描述性项性质关联是应用于整个组还是应用于组中的各项。当变换性项性质与一组实体相关联时,变换性项性质应用于被应用了前一变换的组中的各实体,即首先应用(经由“ipma”框)与项相关联的变换,然后将(如上所述的)与实体组相关联的变换顺次应用于组中的各项。

根据先前实施例,一个或多个项和/或组性质可以与各项或实体组相关联,以单独描述项的性质或描述应用于整个组的共同性质。

然而,存在如下的情况:还期望能够将性质与有限范围的实体相关联,即将性质与仅在给定一组实体的上下文中应用的实体相关联。

例如,同一图像可以与两个不同的相册合集有关,并且用户可能希望在各相册合集的范围内将描述该图像的不同的人类可呈现文本关联。例如,代表在山的前面有汽车的风景的图像可以与两个不同的相册合集相关联,一个相册合集专用于汽车且另一相册合集专用于度假。在第一个相册合集中,用户可能想要将文本“漂亮的红车!”与图像相关联,而在第二相册合集中,用户可能想要关联文本“我在山上的美好假期”。

作为另一示例,除了任何合集之外,可以在heif文件中将图像与实现图像的裁剪的变换性项性质cleanaperture相关联。但用户想要将该图像添加在具有不同裁剪参数的同一文件中的不同合集中。

在以上两种使用情况下,将性质与特定组的上下文中的图像相关联是有用的。

在实施例中,当考虑与组有关的项时,该项与无条件地(这意味着不在组的范围内)同该项相关联的所有性质以及同组的范围内的该项相关联的性质相关联。当无条件地且在组的范围内定义同一性质时,在组的范围内定义的性质具有优先,并且其值覆盖无条件性质中所定义的值。

根据第三实施例,如在以下的示例中所示,扩展在第一实施例中引入的用于描述拍摄系列或收集组(无论是通用形式(因而为captureseriesentitytogroupbox或logicalentitytogroupbox)或特定形式的(因而为favouritecollectionentitytogroupbox(收藏夹合集实体到组框)、albumcollectionentitytogroupbox(相册合集实体到组框)或autoexposurebracketingentitytogroupbox(自动曝光包围实体到组框))),以将性质索引的列表与组中的各实体相关联:

其中:

capture_mode标识拍摄或收集模式。

num_entities_in_group是从entitytogroupbox继承的,并且表示组中的实体(项或轨)数量。

entity_id标识与性质相关联的实体;

essential在设置为1时,指示关联性质对于项是必需的,否则不是必需的。

property_index是指示没有关联性质的0(essential指示符也应为0)、或者是在与包围grouplistbox(组列表框)相同的级别存在的itempropertiesbox中包含的itempropertycontainerbox中的关联性质框的基于1的索引(对包括freespace框的所有框进行计数)。

类似的示例和参数语义如下针对各类型的拍摄或收集模式示出具有特定grouping_type的entitytogroupbox的情况:

在如图5所示的变形例中,在metabox50中的itempropertiesbox530中直接进行项性质540与组520的范围内的项510的关联。如下在itempropertiesbox中定义新框533:

其中:

group_entry_count提供组的列表中的条目的数量。

group_id标识用于定义关联了性质的上下文的组。

entry_count提供组中的项的列表中的条目数量。

item_id标识与性质相关联的项。

essential当设置为1时,指示关联性质对于项是必需的,否则关联性质不是必需的。

property_index是指示没有关联性质的0(essential指示符也应为0)、或者是同一itempropertiesbox中所包含的itempropertycontainerbox中的关联性质框的基于1的索引(对包括freespace框的所有框进行计数)。

在变形例中,item_id可被替换为entity_id,以指定具有entitytogroupbox::group_id==group_id的关联entitytogroupbox中的item_id或track_id。

各itempropertyingroupassociationbox(组关联框中的项性质)应按group_id和item_id增大的方式来排序,并且在itempropertyingroupassociationbox框的集合中,给定的group_id应最多出现一次。除非需要32位的item_id值,否则应使用版本0;类似地,除非在itempropertycontainerbox中存在多于127个性质,否则标志应等于0。最多应存在一个具有版本和标志的给定一对值的itempropertyassociationbox。

在另一变形例中,可以如下利用等于2的新版本来扩展现有的itempropertyassociationbox(“ipma”),而不是在itempropertiesbox中定义新框:

其中:在版本等于2时,新属性group_id将item_id和property_index之间的关联的范围限制为具有相同group_id值的entitytogroupbox的上下文。

各itempropertyassociationbox应按item_id(和在存在的情况下的group_id)增大的方式来排序。

在itempropertyassociationbox框的集合中,给定的group_id应最多出现一次。

在具有版本0和1的itempropertyassociationbox框的集合中,给定的item_id应最多出现一次。

除非在itempropertycontainerbox中存在多于127个性质,否则第一位(lsb)标志应等于0。

应存在最多一个具有版本0或1的版本和标志的给定一对值的itempropertyassociationbox。

在heif标准中,对项性质进行排序,并且项性质可以是描述性项性质或变换性项性质。根据一些实施例,具有相同类型的多个项性质可以在全局上或者在特定组的范围内与同一项相关联。例如,(类型“irot”的)变换性项性质图像旋转可以使用具有版本0或1的itempropertyassociationbox与一般范围中的项相关联。同时,例如使用具有版本2的itempropertyassociationbox,同一项可以与给定组的有限范围内的(类型“irot”的)另一项性质图像旋转相关联。

在这种情况下,根据一些实施例,变换性项性质应用于被应用了前一变换的项,并且对于给定组的范围内的项,一般范围内的变换性项性质在该给定组的范围内的变换性项性质之前应用。相反,对于描述性项性质,与组的范围内的项相关联的描述性项性质取代与一般范围中的相同项相关联的具有相同类型的描述性项性质。

可替代地,在新版本的itempropertyassociationbox中添加附加的1位属性supersede_in_group_flag,以表示在组的范围内关联的项性质是否取代与一般范围内的相同项相关联的具有相同类型的项性质。

以下说明具有该附加属性的itempropertyassociationbox的句法的示例。

其中,在版本等于2时,新属性group_id将item_id和property_index之间的关联的范围限制为具有相同group_id值的entitytogroupbox的上下文。此外,新的1位属性(supersede_in_group_flag)在被设置为1时,指示关联性质取代一般范围内的具有相同类型的性质(在存在的情况下),否则关联性质按顺序在与一般范围内的相同项相关联的具有相同类型的性质之后应用。

可替代地,supersede_in_group_flag值可被表示为itempropertyassociationbox的标志参数中的特定标志值。在这种情况下,supersede_in_group_flag值应用于在itempropertyassociationbox中声明的所有性质关联。

根据第四实施例,定义了具有新标志的itempropertyassociationbox(“ipma”)的新版本(版本=2和版本=3),以应对该单个元数据结构的所有版本,从而提供项性质与项、实体组或实体组内的项的所有可能关联。

图6示出根据本发明的一些实施例的项性质与项、实体组或实体组的范围内的项之间的不同关联。

项性质1和项1之间的关系601示出项性质与项的关联。该关联在文件的范围内有效;这是一般关联。

项性质3与由项3和项4组成的项组之间的关系602示出项性质与项组的关联。

项4和项性质5之间的关系603示出项性质与在由项3和项4组成的项组的范围内的项的关联。

可以注意到,与项4属于项组无关地,项4无条件地关联至项性质1和项性质2。

根据本实施例,例如可以如下定义itempropertyassociationbox:

允许在“ipma”框标志中设置以下标志:

-0x000001指示property_index属性的大小;

ο当设置该位时,property_index_size=15

ο否则,property_index_size=7

-0x000002指示item_id和group_id属性的大小;

ο当设置该位时,item_or_group_id_size=32

ο否则,item_or_group_id_size=16

其中:

context_group_id将item_id和property_index之间的关联的范围限制到具有相同group_id值的entitytogroupbox的上下文。

group_id标识与性质相关联的entitytogroupbox。

essential在被设置为1时,指示关联性质对于组是必需的,否则关联性质不是必需的。

supersede_in_group_flag在被设置为1时,指示关联性质取代一般范围内的具有相同类型的性质(在存在的情况下),否则关联性质按顺序在与一般范围内的相同项相关联的具有相同类型的性质之后应用。

property_index是指示没有关联性质的0(essential指示符也应为0),或者是相同grouppropertiesbox内所包含的grouppropertycontainerbox中的关联性质框的基于1的索引(对包括freespace框的所有框进行计数)。

“ipma”框的版本2和3的定义是向后兼容的,并且没有修改“ipma”框的现有版本0和1。

各itempropertyassociationbox应按item_id或group_id(以及在存在的情况下按context_group_id)增大的方式排序。

在itempropertyassociationbox框的集合中,给定的context_group_id应最多出现一次。

在具有版本0、1或3的itempropertyassociationbox的集合中,给定的item_id和group_id应最多出现一次。

除非在itempropertycontainerbox中存在多于127个性质,否则第一位(lsb)标志应等于0。

应存在最多一个具有除版本=2以外的、值0x1或0x2的版本和标志的给定一对值的itempropertyassociationbox。

作为先前实施例的替代,例如可以如下定义itempropertyassociationbox:

允许在“ipma”框标志中设置以下标志:

-0x000001指示property_index属性的大小;

ο当设置该位时,property_index_size=15

ο否则,property_index_size=7

-0x000002指示item_id和group_id属性的大小;

ο当设置该位时,item_or_group_id_size=32

ο否则,item_or_group_id_size=16

-0x000004group_limited_scope

ο当设置该位时,该位指示在该框中声明的关联被限制到由属性context_group_id所定义的组的范围。

其中:

context_group_id将item_id和property_index之间的关联的范围限制到具有相同group_id值的entitytogroupbox的上下文。

group_id标识与性质相关联的entitytogroupbox。

essential在被设置为1时,指示关联性质对于组是必需的,否则关联性质不是必需的。

supersede_in_group_flag在被设置为1时,指示关联性质取代一般范围内的具有相同类型的性质(在存在的情况下),否则关联性质按顺序在与一般范围内的相同项相关联的具有相同类型的性质之后应用。

property_index是指示没有关联性质的0(essential指示符也应为0),或者是相同grouppropertiesbox中所包含的grouppropertycontainerbox中的关联性质框的基于1的索引(对包括freespace框的所有框进行计数)。

“ipma”框的版本2的定义是向后兼容的,并且没有修改“ipma”框的现有版本0和1。

各itempropertyassociationbox应按item_id或group_id(以及在存在的情况下按context_group_id)增大的方式排序。

在itempropertyassociationbox框的集合中,给定的context_group_id应最多出现一次。

在没有设置group_limited_scope的itempropertyassociationbox框的集合中,给定的item_id和group_id应最多出现一次。

除非在itempropertycontainerbox中存在多于127个性质,否则第一位(lsb)标志应等于0。

应存在除具有标志group_limited_scope的框以外的、最多一个具有版本和标志的给定一对值的itempropertyassociationbox。

图7示出用于使用heif格式将一个或多个实体封装在一个文件中的处理的主要步骤。计算装置900(图9)例如可以应用该处理。

首先,在步骤701中获得一个或多个实体。这一个或多个实体可以是如上所述由拍摄装置根据拍摄模式获得的。

在替代方案中,可以从现有或先前拍摄或创建的实体中选择在步骤701中获得的一个或多个实体。例如,可以从现有的heif文件或者从任何其它类型的文件(例如,jpeg、gif、bmp、mkv、mp4或avi)中提取现有实体。

在步骤702中,创建一个或多个新的实体组。这些组可以是在拍摄时从所选择的拍摄模式产生的,即针对通过在图像的拍摄期间应用拍摄模式所产生的实体的各集合来创建新组。例如,在拍摄时,实现包含每秒的图像的延时。在拍摄结束时,将延时图像一起分组在同一组中。作为另一示例,创建自动曝光包围组,以将通过自动曝光包围拍摄所产生的所有图像分组在一起。在通过自动处理或由用户或heif文件的创建者所进行的编辑操作期间,也可以创建新的实体组。例如,可以将实体组创建成按逻辑分组的实体,诸如用于创建用户的合集或用户的收藏夹或照片系列或照片集合或用户定义的拍摄系列等。用户例如可以对多个实体进行分组以形成图像合集。自动处理例如可以对在相同地点或/和预定时间间隔内拍照得到的照片进行分组。例如,拍摄装置使用拍摄图像的(例如,来自gps传感器的)地点信息来确定与该地点相对应的城镇的名称。在同一城镇拍摄到的所有图像形成一组图像。例如,拍摄或编辑装置可以使用人工智能算法(例如,面部或物体识别)对图像进行分类并将这些图像分组在一起。

在步骤703中,可以将多个性质与各组相关联以更精确地描述该组的对象。例如,组可以与内容的标签、标记、名称、描述性文本、地点坐标、拍摄模式的共同参数相关联。例如,拍摄模式的共同参数可以与定时(例如,连续图像之间的获取帧率或时间间隔)、连续拍摄之间的拍摄参数变化(例如,曝光步长)的差、或者包围模式的性质(例如,连续、单次或自动包围、或者全景方向)有关。

在一些实施例中,在可选步骤705中,可以将多个性质与同一组实体有关的实体相关联,该关联仅在该组的范围内有效。这意味着,仅当实体被视为组的一部分时,该性质才适用于该实体。如果实体被视为独立于该组,则该性质不适用于该实体。

最后,在步骤704中,采用具有如下的元数据结构的heif文件格式来对图像和实体的序列进行封装,这些元数据结构描述这两者,并且描述所创建的具有关联性质的实体组。

对于图像的存储,可利用两个主要的替代可能性。

在第一替代方案中,图像被独立编码并被作为heif项存储在文件中。在该封装步骤期间,可以在文件中提供与拍摄的条件有关的附加信息。例如,对于自动曝光包围模式,可以提供用于拍摄各图像的曝光数据。使用itemproperty框中的性质提供该描述。

在第二替代方案中,将图像存储在“pict”或“vide”轨中。可以使用sampleentry或samplegroupentry框来提供附加信息。类似于视频编码,图像的编码可以取决于使用hevc编码器的先前图像。轨中的先前图像可用作用于预测编码的参考图像。

使用前面描述的可用entitytogroup分组机制来在文件中表示将所拍摄到的图像存储为一组图像。

图8示出为了确定与一组实体相关联的性质以及与组的范围内的实体(项或轨)相关联的性质、通过图7的封装处理所生成的heif文件的解析处理的主要步骤。解码处理从对具有一个或多个图像(项)或者图像序列(“pict”或“vide”轨)的heif文件进行解析开始。在步骤801中,对groupslistbox中所包含的分组信息进行解析以确定实体组。当存在分组信息(即,heif文件包括grouping_type等于前面描述的值其中之一的entitytogroupbox)时,确定各实体组的分组类型。在第一替代方案中,grouping_type参数直接指定分组模式。在第二替代方案中,分组信息表示图像集合属于通用拍摄系列或合集组(分组类型等于“case”、“brak”、“udcs”、或者具有类似含义的任何其它fourcc)。在这种情况下,entitytogroupbox的附加属性提供了特定分组模式。

在步骤802中,通过解析itempropertiesbox(“iprp”)并且使用itempropertyassociationboxes(版本0或版本1)从与特定项相关联的itempropertycontainerbox中检索各itemproperty或itemfullproperty,来解析与各项相关联的性质信息。

在步骤503中,通过解析在各个entitytogroupbox中定义的附加属性来解析与各实体组相关联的性质信息。在替代方案中,通过解析专用框grouppropertiesbox(“gprp”)并使用grouppropertyassociationboxes从与特定组相关联的grouppropertycontainerbox中检索各itemproperty或itemfullproperty,来获得与各实体组相关联的性质信息。在另一替代方案中,通过解析itempropertiesbox(“gprp”)并使用专用itempropertyassociationboxes(版本>=2)从与特定组相关联的itempropertycontainerbox中检索各itemproperty或itemfullproperty,来获得与各实体组相关联的性质信息。

在一些实施例中,在可选步骤804中,通过解析在各个entitytogroupbox中定义的附加属性来解析与特定实体组的范围内的各项相关联的性质信息,从而提供itemproperties的索引或者直接提供与该组中的各项相关联的itemproperties。在替代方案中,通过解析itempropertiesbox(“gprp”)并使用专用itempropertyassociationboxes(版本>=2)从与特定组的范围内的项相关联的itempropertycontainerbox中检索各itemproperty或itemfullproperty,来获得与特定实体组的范围内的各项相关联的性质信息。

在步骤805中,解码器向播放器提供与项、实体组和实体组内的实体相关联的所有分组信息和性质信息。gui界面可以指示特定gui元素,以允许用户使用关联的相应性质信息来在图像、图像序列和这样的实体组之间导航。从该性质信息,用户可以选择绘制heif文件中所包含的图像的一部分。

例如,heif文件包含一系列包围图像。在这种情况下,应用提供许可查看不同的包围替代方案的gui界面。在实施例中,界面提供在诸如itemproperties等的性质信息中所提供的信息,以提取与各图像相关联的拍摄的特性(包括来自组的性质信息和组的范围内的各图像的性质信息这两者)。特别地,对于自动曝光包围,在步骤805中显示各拍照的曝光光圈,以允许用户选择适当的拍照。在选择了优选曝光时,解码装置可以修改heif文件以将所选择的图像标记为“主要项”。

当拍摄模式对应于全景图像时,解码器在步骤505中向播放器通知heif文件包含用户可以导航的一系列图像。gui界面可以将用以允许用户在图像之间导航的gui元素指示为空间构图。播放器解析组的性质信息以提取集合图像的拍摄的模式(例如,从左到右),以便生成适应于该模式的导航界面。例如,如果拍摄的模式是从左到右,则gui界面提供水平导航箭头来在heif文件的项之间导航。

当拍摄模式对应于照片系列或图像连拍时,解码器在步骤805中向播放器通知例如在照片系列或图像连拍组的所有图像之间开始幻灯片放映。在一个实施例中,幻灯片放映中的各图像的显示时间是在图像连拍组的性质信息中所指定的定时间隔的函数。

在一个实施例中,播放器在幻灯片放映的开始时显示性质信息中所设置的标记或名称信息或将该标记或名称信息显示为各图像中的水印,以允许用户快速识别照片系列的内容。在另一实施例中,用户可以从照片系列组的一系列图像中选择一个图像作为优选图像。在这种情况下,将优选图像标记为主要项。在另一实施例中,用户可以从照片系列中选择多个图像作为优选图像。在这种情况下,播放器创建具有所选择的图像的新的照片系列组并且关联了相同的标记性质信息。

图9是用于实现本发明的一个或多个实施例的计算装置900的示意框图。计算装置900可以是诸如微计算机、工作站或轻型便携式装置等的装置。计算装置900包括通信总线,其中该通信总线连接至以下组件:

-诸如微处理器等的表示为cpu的中央处理单元901;

-表示为ram的随机存取存储器902,用于存储本发明实施例的方法的可执行代码以及如下寄存器,其中这些寄存器被适配为记录实现根据本发明实施例的方法所需的变量和参数,其中ram902的存储器容量例如可以利用连接至扩展端口的可选ram来扩展;

-表示为rom的只读存储器903,用于存储用于实现本发明实施例的计算机程序;

-网络接口904,其通常连接至进行要处理的数字数据的发送或接收所经由的通信网络。网络接口904可以是单个网络接口、或者包括不同的网络接口的集合(例如,有线接口和无线接口或者不同种类的有线接口或无线接口)。在cpu901中所运行的软件应用的控制下,将数据包写入网络接口以供发送或者从网络读取数据包以供接收;

-用户接口905,其可用于从用户接收输入或向用户显示信息;

-表示为hd的硬盘906,其可被设置为大容量存储装置;

-i/o模块907,其可用于相对于诸如视频源或显示器等的外部装置进行数据的发送/接收。

可执行代码可以存储在只读存储器903中、硬盘906上或者例如盘等的可移除数字介质上。根据变形例,程序的可执行代码可以在执行之前利用通信网络经由网络接口904来接收,从而存储在通信装置900的诸如硬盘906等的存储部件其中之一内。

中央处理单元901被适配为控制和引导根据本发明实施例的一个或多个程序的指令或软件代码的一部分的执行,其中这些指令存储在上述存储部件其中之一内。在通电时,cpu901例如能够在从程序rom903或硬盘(hd)906加载了来自主ram存储器902的与软件应用有关的指令之后,执行这些指令。这种软件应用在由cpu901执行的情况下,使得进行本发明的流程图的各步骤。

本发明的算法的任何步骤均可以通过利用可编程计算机(诸如pc(“个人计算机”)、dsp(“数字信号处理器”)或微控制器等)执行一组指令或程序来以软件实现;或者利用机器或专用组件(诸如fpga(“现场可编程门阵列”)或asic(“专用集成电路”)等)来以硬件实现。

尽管以上参考具体实施例对本发明进行了描述,但本发明不限于这些具体实施例,并且对本领域技术人员而言,在本发明的范围内的修改将是显而易见的。

许多其它修改和改变在参考仅以示例方式给出的并且并不意图限制本发明的范围的前述例示实施例时向精通本技术的人员表明这些修改和改变仅是由所附权利要求书来确定的。特别地,在适当情况下,可以互换来自不同实施例的不同特征。

上述本发明的各个实施例可以单独实现或作为多个实施例的组合来实现。此外,在需要的情况下或在将各个实施例中的元件或特征组合成一个实施例有益的情况下,可以组合来自不同实施例的特征。

除非另外明确说明,否则本说明书中所公开的各特征(包括任何所附权利要求书、摘要和附图)均可被服务相同、等同或类似目的的替代特征所取代。因而,除非另外明确说明,否则所公开的各特征仅仅是通用的一系列等同或类似特征的一个示例。

在权利要求书中,词语“包括”没有排除其它元件或步骤,并且不定冠词“a”或“an”没有排除多个。在相互不同的从属权利要求中陈述不同的特征的仅有事实并不表明不能有利地使用这些特征的组合。

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