CN114097249A - 用于将全景图像封装在文件中的方法和设备 - Google Patents
用于将全景图像封装在文件中的方法和设备 Download PDFInfo
- Publication number
- CN114097249A CN114097249A CN202080046446.1A CN202080046446A CN114097249A CN 114097249 A CN114097249 A CN 114097249A CN 202080046446 A CN202080046446 A CN 202080046446A CN 114097249 A CN114097249 A CN 114097249A
- Authority
- CN
- China
- Prior art keywords
- group
- image
- item
- entities
- panorama
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004806 packaging method and process Methods 0.000 title description 4
- 238000012986 modification Methods 0.000 claims description 12
- 230000004048 modification Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 238000009795 derivation Methods 0.000 description 17
- 239000000126 substance Substances 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 7
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000002730 additional effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 240000007673 Origanum vulgare Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- COCAUCFPFHUGAA-MGNBDDOMSA-N n-[3-[(1s,7s)-5-amino-4-thia-6-azabicyclo[5.1.0]oct-5-en-7-yl]-4-fluorophenyl]-5-chloropyridine-2-carboxamide Chemical compound C=1C=C(F)C([C@@]23N=C(SCC[C@@H]2C3)N)=CC=1NC(=O)C1=CC=C(Cl)C=N1 COCAUCFPFHUGAA-MGNBDDOMSA-N 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23605—Creation or processing of packetized elementary streams [PES]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/55—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/64—Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/2365—Multiplexing of several video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/422—Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
- H04N21/4223—Cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8146—Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
- H04N21/8153—Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics comprising still images, e.g. texture, background image
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Television Signal Processing For Recording (AREA)
- Image Processing (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及将媒体数据封装在文件中的方法,其中该方法包括:对参考图像集合进行编码;生成图像项集合以描述所述参考图像集合;基于所述参考图像集合生成描述与全景相对应的派生图像的图像项;生成将描述所述派生图像的所述图像项与所述图像项集合相关联的关联信息;生成包含所述全景的参数的参数数据结构,所述参数数据结构与描述所述派生图像的所述图像项相关联;以及将所述图像项集合、描述所述派生图像的所述图像项以及所述关联信息嵌入所述文件中。
Description
技术领域
本公开涉及用于将多个图像封装在文件中的方法和设备。
背景技术
现代照相机提供不同的拍摄模式来拍摄图像。这些拍摄模式中的一部分使得拍摄一系列图像。例如,现代照相机提供拍摄若干图像的包围曝光模式,拍摄的一个参数的值在一个拍摄图像与另一拍摄图像之间不同。例如,参数可以是曝光时间、白色值或焦点。另一拍摄模式可以是全景模式,其允许获得一系列叠加图像以重建场景的大视角。现代照相机能够组合这些不同的拍摄模式,例如,对于用于构建全景的各个拍摄视角,现代照相机能够根据包围曝光模式拍摄一系列图像。例如,这允许通过针对将构成全景的各个视角进行自动包围曝光(auto-exposure bracketing)摄像来创建高动态范围(HDR)全景。另一示例是通过针对构成全景的各个视角进行聚焦包围曝光(focus bracketing)摄像来创建聚焦堆叠全景(focus stacked panorama)。
例如,由照相机拍摄的图像被存储在如存储卡等的存储装置上。通常对图像进行编码以减小存储装置上的数据的大小。可以使用许多编码标准,如JPEG或更新的HEVC标准。
HEVC标准定义了用于编码静止图像的配置文件,并且描述了用于压缩单个静止图像或静止图像序列的特定工具。已经提出了用于这种图像数据的ISO基本媒体文件格式(ISOBMFF)的扩展,以包括在ISO/IEC 23008标准的第12部分中,名称为“HEIF或者HighEfficiency Image File Format(高效图像文件格式)”。
HEIF(高效图像文件格式)是由运动图像专家组(MPEG)开发的用于存储及共享一个或多个图像和图像序列的标准。
MIAF(多图像应用格式)是由MPEG开发成ISO/IEC 23000标准部分22的标准,其定义了针对精确互操作性点的HEIF规范的约束集合,以用于嵌入高效图像文件(HEIF)格式中的图像的创建、读取、解析和解码。
HEIF和MIAF文件格式不提供存储全景的高效方式。
HEIF和MIAF文件格式不提供存储图像或图像组(包括全景)的人类可读文本描述的高效方式。
HEIF和MIAF文件格式不提供存储图像和图像组(包括全景)的定时信息的高效方式。
发明内容
本发明旨在解决上述问题中的一个或多个。本发明涉及将全景描述为派生图像。
根据本发明的一方面,提出将媒体数据封装在文件中的方法,其中该方法包括:
-对参考图像集合进行编码;
-生成图像项集合以描述所述参考图像集合;
-基于所述参考图像集合生成描述与全景相对应的派生图像的图像项;
-生成将描述所述派生图像的所述图像项与所述图像项集合相关联的关联信息;
-生成包含所述全景的参数的参数数据结构,所述参数数据结构与描述所述派生图像的所述图像项相关联;
-将所述图像项集合、描述所述派生图像的所述图像项和所述关联信息嵌入所述文件中。
根据实施例,该方法还包括:
-生成包含所述全景的参数的参数数据结构,所述参数数据结构与描述所述派生图像的所述图像项相关联;以及
-将所述参数数据结构嵌入所述文件中。
根据实施例:
-描述所述派生图像的所述图像项是派生图像项;
-所述派生图像项具有指示所述派生图像项是全景的专用项类型;
-所述参数数据结构存储在文件的媒体部分中。
根据实施例:
-该方法还包括对与所述全景相对应的派生图像进行编码,经编码的派生图像被存储在文件的媒体部分中;
-描述所述派生图像的所述图像项是预派生编码图像项;以及
-所述参数数据结构被存储为与预派生编码图像项相关联的项属性。
根据实施例,所述参数数据结构包括全景方向。
根据实施例,所述参数数据结构还包括多个行和列。
根据实施例,所述参数数据结构包括与所述全景相对应的派生图像的大小。
根据实施例,所述参数数据结构包括派生类型的类型指示。
根据实施例,所述图像项集合中的至少一些图像项构成图像项组。
根据实施例,至少一些图像项与包括至少一个人类可读标签的项属性相关联。
根据实施例,至少一些图像项与包括定时信息的项属性相关联。
根据本发明的另一方面,提出读取文件中的媒体数据的方法,其中该方法包括:
-基于参考图像集合读取描述与全景相对应的派生图像的图像项;
-读取将描述所述派生图像的所述图像项与所述图像项集合相关联的关联信息;
-读取描述参考图像集合的图像项集合;
-获得与所述全景相对应的所述派生图像。
根据实施例,该方法还包括:
-读取包含所述全景的参数的参数数据结构,所述参数数据结构与描述所述派生图像的所述图像项相关联;
根据实施例:
-描述所述派生图像的所述图像项是派生图像项;
-所述派生图像项具有指示所述派生图像项是全景的专用项类型;
-所述参数数据结构存储在文件的媒体部分中。
根据实施例:
-该方法还包括:对与全景相对应的派生图像进行解码,经编码的派生图像被存储在文件的媒体部分中;
-描述所述派生图像的所述图像项是预派生编码图像项;以及
-所述参数数据结构被存储为与预派生编码图像项相关联的项属性。
根据实施例,所述参数数据结构包括全景方向。
根据实施例,所述参数数据结构还包括多个行和列。
根据实施例,所述参数数据结构包括与全景相对应的派生图像的大小。
根据实施例,所述参数数据结构包括派生类型的类型指示。
根据实施例,所述图像项集合中的至少一些图像项构成图像项组。
根据本发明的另一方面,提出用于将媒体数据封装在文件中的装置,其中该装置包括电路,该电路被配置为:
-对参考图像集合进行编码;
-生成图像项集合以描述所述参考图像集合;
-基于所述参考图像集合生成描述与全景相对应的派生图像的图像项;
-生成将描述所述派生图像的所述图像项与所述图像项集合相关联的关联信息;
-将所述图像项集合、描述所述派生图像的所述图像项和所述关联信息嵌入所述文件中。
根据本发明的另一方面,提出用于读取文件中的媒体数据的装置,其中该装置包括电路,该电路被配置为:
-基于所述参考图像集合读取描述与全景相对应的派生图像的图像项;
-读取将描述所述派生图像的所述图像项与所述图像项集合相关联的关联信息;
-读取描述参考图像集合的图像项集合;
-获得与所述全景相对应的所述派生图像。
根据本发明的另一方面,提出用于可编程设备的计算机程序产品,该计算机程序产品包括用于在被加载到可编程设备中并由可编程设备执行时实现根据本发明的方法的指令序列。
根据本发明的另一方面,提出计算机可读存储介质,其存储用于实现根据本发明的方法的计算机程序的指令。
根据本发明的另一方面,提出计算机程序,其在执行时使得进行本发明的方法。
根据本发明的方法的至少部分可以是计算机实现的。因此,本发明可以采取完全硬件实施例、完全软件实施例(包括固件、常驻软件、微代码等)或组合软件和硬件方面的实施例的形式,这些实施例在本文中通常都可以被称为“电路”、“模块”或“系统”。此外,本发明可以采取体现在任何有形表达介质中的计算机程序产品的形式,该有形表达介质具有体现在介质中的计算机可用程序代码。
由于本发明可以用软件实现,因此本发明可以体现为用于在任何合适的载体介质上提供给可编程设备的计算机可读代码。有形的非暂时性载体介质可以包括存储介质,诸如软盘、CD-ROM、硬盘驱动器、磁带装置或固态存储器装置等。瞬态载体介质可以包括诸如电信号、电子信号、光信号、声信号、磁信号或电磁信号(例如微波或RF信号)等的信号。
附图说明
现在将仅通过示例的方式并参考以下附图来描述本发明的实施例,在附图中:
图1示出包含若干图像或图像序列的HEIF文件的示例;
图2示出根据本发明的实施例的在派生图像项中的全景的存储;
图3示出根据本发明的另一实施例的在预派生编码图像项中的全景的存储;
图4示出根据本发明的另一实施例的在实体组中的全景的存储;
图5示出根据本发明的一些实施例的用于使用HEIF格式将形成全景的一个或多个图像封装在一个文件中的处理的主要步骤;
图6是用于实现本发明的一个或多个实施例的计算装置的示意性框图。
具体实施方式
HEVC标准定义了用于编码静止图像的配置文件,并且描述了用于压缩单个静止图像或静止图像序列的特定工具。已经提出了用于这种图像数据的ISO基本媒体文件格式(ISOBMFF)的扩展,以包括在ISO/IEC 23008标准的第12部分中,名称为“HEIF or HighEfficiency Image File Format(HEIF或高效图像文件格式)”。
HEIF和MIAF标准涵盖对应于不同用例的两种形式的存储:
-图像序列的存储,各个图像由具有在解码器处可选地使用的定时信息的样本来表示,并且其中该图像可以依赖于其它图像,以及
-单个图像的存储,以及独立编码图像的集合。
在第一种情况下,封装接近于ISO基本媒体文件格式中的视频轨的封装(参见文档《Information technology—Coding of audio-visual objects—Part 12:ISO basemedia file format》,ISO/IEC 14496-12:2015,第五版,2015年12月),并且使用类似的工具和概念,诸如文件级“moov”框、“trak”框(封装在“moov”框中)以及用于描述样本和样本组的样本分组等。样本表示与单个时间(例如,视频中的帧或图像序列中的图像)相关联的所有定时数据。
框(也称为容器)是被提供以描述文件中的数据的元数据结构。框是由唯一类型标识符(通常是四字符代码,也称为FourCC或4CC)和长度定义的面向对象的构建块。文件中的所有数据(媒体数据和描述媒体数据的元数据)包含在框中。文件内没有其它数据。文件级框是不包含在其它框中的框。
“moov”框是包含“trak”子框的文件格式框,各个“trak”框描述轨,也就是说,相关样本的定时序列。
在第二种情况下,使用ISOBMFF框的集合、文件级“meta”框及其子框。这些框及其层次结构提供比“track-related(轨相关)”框(“trak”框层次结构)更少的描述工具,并且涉及“信息项”或“项”来代替相关样本。应当注意,词语“框”和词语“容器”可以以相同的含义使用,以指代包含描述文件中的图像数据的组织或/和属性的元数据的元数据结构。相同的词语“框”和词语“容器”也可以以相同的含义使用,以指代包含文件中的图像数据的元数据结构(例如,“mdat”或“idat”框)。
图1示出HEIF文件101的示例,该HEIF文件101包含如一个或多个静止图像以及可能的视频或图像序列的媒体数据。该文件包含第一“ftyp”框(FileTypeBox)111,其包含文件类型的标识符(通常是四字符代码集合)。该文件包含称为“meta”的第二框(MetaBox)102,其用于包含包括描述一个或多个静止图像的元数据结构的通用非定时元数据。该“meta”框102包含描述若干单个图像的“iinf”框(IteminfoBox)121。各个单个图像由也表示为项1211和1212的元数据结构ItemInfoEntry描述。各个项具有唯一的32位标识符item_id。对应于这些项的媒体数据被存储在用于媒体数据的容器(“mdat”框104)中。“iloc”框(ItemLocationBox)122为各个项提供“mdat”框104中的其相关联的媒体数据的偏移和长度。“iref”框(ItemReferenceBox)123也可以被定义为描述一个项经由类型化参考而与其它项的链接。
可选地,为了描述图像序列或视频的存储,HEIF文件101可以包含称为“moov”的第三框(MovieBox)103,其描述若干图像序列或视频轨131和132。通常,轨131是被设计为描述时间信息不一定有意义的图像集合的图像序列(“pict”)轨,并且132是被设计为描述视频内容的视频(“vide”)轨。这两个轨描述一系列图像样本,图像样本是同时拍摄的像素集合,例如视频序列的帧。两个轨之间的主要区别在于,在“pict”轨中,定时信息不一定是有意义的,而对于“vide”轨,定时信息旨在约束样本的显示的定时。对应于这些样本的数据存储在用于媒体数据的容器(“mdat”框)104中。
“mdat”容器104存储与由数据部分141和142表示的项相对应的未定时编码图像以及与由数据部分143表示的样本相对应的定时编码图像。
HEIF文件101提供不同的替代方案来存储多个图像。例如,我们可以将多个图像存储为项或存储为可以是“pict”轨或“vide”轨的样本的轨。实际选择通常由生成文件的应用或装置根据图像的类型和文件的预期用途来做出。
HEIF标准还提供被设计为指定与图像相关联的属性的一些机制,特别是一些元数据结构,以声明或存储图像的属性,更一般地,(任何种类的媒体类型的)项的属性。典型地,“meta”框102可以包含“iprp”框(itemPropertiesBox)125,“iprp”框125使得实现任何项与项属性的有序集合相关联。该“iprp”框125包含“ipco”框(ItemPropertyContainerBox)1251,“ipco”框1251是包含描述HEIF文件中描述的所有项的属性的所有属性数据结构(ItemProperty和ItemFullProperty)1253的属性容器数据结构。“iprp”框还包含“ipma”框(ItemPropertyAssociationBox)1252的集合,“ipma”框1252的集合是实际上将一个或多个项属性与给定项相关联的关联数据结构。然后可以将相同的属性与若干项相关联。
另外,ISO基本媒体文件格式指定适于对项和/或轨进行分组的分组机制。“meta”框102可以包含容器框“gprl”(GroupsListBox)124,容器框“gprl”124可以包含描述实体组1241和1242的元数据结构的集合,实体组1241和1242全部继承自如下定义的称为EntityToGroupBox(也表示为实体组)的分组数据结构:
其中,group_id是实体组的唯一标识符,在这种情况下唯一必须被理解为在文件内是唯一的。其不应等于任何EntityToGroupBox的任何group_id值、包含GroupsListBox的层级(文件、动画或轨)的任何item_ID值或任何track_ID值(当GroupsListBox包含在文件级中时)。然后,entity_id的列表给出了属于该组的所有实体的标识符。
在该机制中,词语“实体”用于指项(任何类型的项,例如,图像或元数据项)或轨(例如,视频轨“vide”、图像序列轨“pict”、音频轨或任何其它类型的轨),并且grouping_type用于指定分组的类型。HEIF实际上定义了有限数量的grouping_type值。
ISO基本媒体文件格式还指定适于对轨内的样本进行分组的分组机制。
该机制依赖于两个专用框。命名为SampleToGroupBox的第一框允许将一个或多个样本与一个或多个组描述相关联。命名为SampleGroupDescriptionBox的第二框包括提供样本组的属性的替代描述的一个或多个样本组描述条目。当用相同grouping_type声明这两个框时,它们分别提供样本与组描述条目之一的关联,以及由共同grouping_type标识的给定类型样本组的替代组描述条目的列表。
本发明提供一种机制,该机制提供用于描述被拍摄或编辑以形成全景的项组的手段。提供了描述已经使用的拍摄或收集模式的手段。根据一些实施例,可以针对实体或实体组来描述关于拍摄的一些附加信息或属性。
标准提供了派生图像的概念。派生图像是由基于一个或若干参考图像的派生产生的图像。在标准中存在两种不同类型的派生图像。第一类型是图像项链接到参考图像集合的派生图像项。派生图像项不包括文件的媒体部分中的图像数据。代替图像数据,媒体数据部分可以包括要在派生处理中使用的一些参数。第二类型的派生图像是预派生编码图像项。预派生编码图像项也链接到参考图像集合。预派生编码图像项与派生图像项之间的差异主要在于,预派生编码图像项包括由文件的媒体部分中的派生产生的图像数据。在派生图像项的情况下,需要访问派生图像的播放器需要基于参考图像进行派生,而在预派生编码图像项中,派生图像是可直接访问的。该标准当前考虑派生图像以存储图像网格和叠加图像。本文提出将全景图像描述为派生图像的解决方案。第一实施例基于派生图像项,而第二实施例基于预派生编码图像项。根据所提出的解决方案,全景由文件中的项表示。使用项来描述全景的一个优点是允许将全景指定为HEIF文件中的主要项(经由PrimaryItemBox“pitm”),即,将全景指定为旨在由HEIF读取器绘制的默认项。
第三实施例将全景图像描述为参考图像组。
根据第一实施例,全景被描述为派生图像项。当项包括参考作为至派生的输入的一个或多个其它图像项的“dimg”项时,该项是派生图像项。派生图像本身不包含表示编码图像位流的媒体数据,但是通过对一个或多个输入图像(编码图像或其它派生图像)进行操作来获得表示派生图像项的重建图像。通过项的item_type来标识为了获得重建图像而进行的确切操作。
根据该实施例,item_type值为“pano”的项通过以给定顺序叠加和拼接一个或多个输入图像以获得更高分辨率的全景来定义派生图像项。在ItemReferenceBox内的针对该派生图像项的、类型为“dimg”的SingleItemTypeReferenceBox中以扫描顺序列出输入图像。
与网格派生图像项(item_type=“grid”)相反,全景派生图像项不强制输入图像应具有一致的大小而不叠加。并且与叠加派生图像(item_type=“iovl”)相反,全景派生图像项表示派生操作意味着用于拼接输入图像并校正全景中的对准和变形的附加处理步骤。此外,输入图像的扫描顺序与用户进行的拍摄顺序匹配,因此避免在将图像封装在HEIF文件中之前重新排序图像。
如果需要,可以将与全景相关联的参数(如全景方向)存储在与派生图像项相关联的文件的媒体数据部分中。与全景派生图像项(或项的主体)相关联的这些媒体数据可以在参数数据结构中描述如下:
其中,
version和flags应等于0。这两个属性都被定义为支持全景派生图像项的未来扩展。version参数可以用于有条件地定义version参数的值的新句法属性,并且flags参数可以允许定义标志的映射以有条件地表示/激活该flags参数的值的可选特征或参数。
panorama_direction是无符号整数,例如8位,表示所使用的全景的类型和全景中的输入图像的扫描顺序:
-0:从左到右的水平全景
-1:从右到左的水平全景
-2:从下到上的垂直全景
-3:从上到下的垂直全景
-4:光栅扫描顺序的网格全景,即,从左上角开始从左到右和从上到下组织行和列。
-5:连续顺序的网格全景,即,从左上角开始,第一行从左到右组织,然后第二行从右到左组织,第三行从左到右组织,以此类推。
-其它值未定义。
rows_minus_one是指定网格中的行数减1的无符号整数。
columns_minus_one是指定网格中的列数减1的无符号整数。在实施例中,该参数不存在,并且从输入图像的总数和行数计算列数。
当媒体文件中不存在参数数据结构时,假定水平的从左到右全景。
在替代方案中,可以定义panorama_direction的附加值以支持从不同角(例如,右上角、左下角或右下角)开始的光栅扫描或连续扫描顺序的网格全景。例如,从右下角开始,光栅扫描顺序将针对各行从右到左和从下到上来进行组织,并且连续扫描顺序将从最后一行从右到左开始,然后在上一行从左到右,以此类推。
在变型中,与全景派生图像项相关联的媒体数据可以定义如下:
其中,
定义两个附加参数和标志以表示重建的全景图像的大小。
(flags&1)等于0指定字段output_width、output_height的长度为16位。(flags&1)等于1指定字段output_width、output_height的长度为32位。大于1的标志值被保留。
output_width、output_height分别指定重建的全景图像的宽度和高度。
在替代方案中,可以通过将ImageSpatialExtensProperty(利用4cc“ispe”)与全景派生图像项相关联(经由ItemPropertyAssociationBox(“ipma”))来表示重建的全景图像的宽度和高度。
根据实施例,全景图像的拍摄与另一包围曝光模式组合,例如与自动包围曝光组合以创建高动态范围(HDR)全景,或与聚焦包围曝光组合以创建聚焦堆叠全景,或与任何其它类型的包围曝光模式组合。因此,全景派生图像项可以包括参考作为至派生的输入的一个或多个实体组的“dimg”项(例如,具有针对自动包围曝光的分组类型“aebr”或针对聚焦包围曝光的分组类型“fobr”等的EntityToGroupBox作为在Working Draft of Amendmentto ISO/IEC 23008-12,w18430,April 2019中定义的实体组)。
为了包括参考一个或多个组的“dimg”项,可以扩展现有SingleItemTypeReferenceBox的定义,使得现有属性to_item_ID也可以参考实体组的group_id。属性to_item_ID可以重命名为to_item_or_group_ID并定义如下:
其中,
reference_type包含参考类型的指示
from_item_ID包含参考其它项的项的item_ID
reference_count是参考的数量
to_item_or group_ID包含项的item_ID或所参考的实体组的group_id。
对于构成全景的各个视角,定义具有标识包围曝光模式的分组类型的EntityToGroupBox以描述与该视角相对应的图像的包围曝光集合。另外,与包围曝光模式相对应的项属性(例如,AutoExposureProperty或FocusProperty等)可以与各个图像项相关联,以指定针对该图像项的包围曝光的属性(例如,图像项的曝光值档位(stop))。
图2示出该第一实施例的示例。
全景由派生图像项201表示。提出新的项类型以标识作为全景的派生图像项,例如“pano”。
在“iref”框中,参考类型“dimg”的结构SingleItemTypeReferenceBox 202包含参考图像204和205以及对图像组(例如包围曝光集合208)的参考的列表。图像组本身包含构成该组的图像项206和207的参考。应当注意,“dimg”框可以仅参考项、仅参考实体组、或者参考项和实体组的混合。
表示全景的派生图像项201可以经由“iloc”框209链接到媒体数据中的可选结构210。媒体数据中的该结构210根据一般派生图像项属性不包括任何图像数据。该结构210包含用于全景的派生的一些参数,通常是如上所述的imagePanorama框。
第一实施例的一个特性是派生图像项描述了要应用于输入图像项集合的派生操作(这里是构建全景),但是所得到的重建图像实际上不存储在HEIF文件中,并且每当HEIF读取器处理HEIF文件时将被重建。
根据第二实施例,全景被描述为预派生编码图像项。当项指定实际上存储在HEIF文件中的编码图像位流并且还包括参考所派生于的一个或多个其它图像项的“base”项时,该项是预派生编码图像项。当前的HEIF标准不允许描述用于产生预派生编码图像项的精确派生处理。因此,例如,不可能将表示全景的预派生编码图像项与表示HDR图像的预派生编码图像项区分开。
根据所提出的实施例,可选的项属性DerivationOperationProperty可以被定义如下并且与预派生项相关联,以描述应用于输入图像项的派生操作。应当注意,所提出的项属性可以用于定义任何种类的预派生编码图像项的派生操作,而不仅仅是全景。
框类型:“dopr”
属性类型:描述性项属性
容器:ItemPropertyContainerBox
强制(每个项):否
数量(每个项):对于预派生编码图像为零或一
DerivationOperationProperty记录应用于输入图像项或图像项组以生成预派生编码图像项的派生操作。输入图像项或图像项组按照它们由来自预派生编码图像项的类型“base”的项参考所参考的顺序来排序。
其中,
derivation_operation_4cc是派生操作的四字符代码(4CC)。例如,可以指定以下派生操作列表:
派生操作 | 4cc代码 |
高动态范围(HDR) | ‘hdr’ |
聚焦堆叠 | ‘fost’ |
闪光曝光堆叠 | ‘afst’ |
景深堆叠 | ‘dost’ |
全景 | ‘pano’ |
超分辨率堆叠 | ‘sres’ |
当派生操作是全景派生时,提供附加参数以表征全景的类型。
参数panorama_direction、rows_minus_one和columns_minus_one如上述第一实施例中所指定的那样定义。
DerivationOperationProperty可容易地扩展以支持进一步派生操作四字符代码和参数。
根据该实施例,当用于全景的图像的拍摄与另一包围曝光模式组合时,例如与自动包围曝光组合以创建高动态范围(HDR)全景,或与聚焦包围曝光组合以创建聚焦堆叠全景,或与任何其它类型的包围曝光模式组合,全景预派生编码图像项可以包括参考被用作至全景派生的输入的一个或多个实体组的“base”项(例如,具有针对自动包围曝光的分组类型“aebr”或针对聚焦包围曝光的分组类型“fobr”的EntityToGroupBox等作为在WorkingDraft of Amendment to ISO/IEC 23008-12,w18430,April 2019中定义的实体组)。类似于上述第一实施例,可以扩展SingleGroupTypeReferenceBox以允许项参考实体组。对于构成全景的各个视角,定义具有标识包围曝光模式的分组类型的EntityToGroupBox以描述与该视角相对应的包围曝光图像集合。EntityToGroupBox的grouping_type指定分组的目的并且隐式地表示派生操作的类型,该派生操作被应用于来自该组的图像项以获得中间重建图像,该中间重建图像被用作生成全景预派生编码图像的输入。另外,对应于包围曝光模式的项属性(例如,AutoExposureProperty或FocusProperty等)可以与属于EntityToGroupBox的各个图像项相关联,以指定该图像项的包围曝光的属性(例如,图像项的曝光值档位)。
当全景预派生编码图像项直接包括参考一个或多个实体组的“base”项时的一个优点是避免了声明从各个实体组派生的预派生编码图像项,并且避免了在不需要时将相应的中间重建图像存储在HEIF文件中。
根据该实施例,可以通过将ImageSpatialExtensProperty(利用4CC“ispe”)与全景预派生编码图像项相关联(经由ItemPropertyAssociationBox(“ipma”))来表示重建的全景图像的宽度和高度。
图3示出被描述为预派生编码图像项的全景的示例。
全景由预派生编码图像项301表示,其中item_type标识预派生编码图像的编码格式(例如,针对HEVC编码格式的图像的“hvc1”或者针对JPEG编码格式的图像的“jpeg”)。
在“iref”框中,参考类型“base”的结构SingleItemTypeReferenceBox 302包含参考图像304和305以及对图像组(例如包围曝光集合308)的参考的列表303。图像组本身包含对构成该组的图像项306和307的参考。应当注意,“base”框可以仅参考项、仅参考实体组、或者参考项和实体组的混合。
表示全景的预派生编码图像项301经由“iloc”框309链接到与媒体数据中的派生结果相对应的图像数据310。框311是描述派生操作的可选项属性,其经由框“ipma”中的关联信息312链接到预派生编码图像项301。框311通常是如上所述的“dopr”框。
根据第三实施例,我们可以仅记录构成全景的图像之间的关系,而不是定义特定项来描述全景。这将不会在HEIF文件中自己创建全景对象,但是提供HEIF读取器可以用来创建全景的足够信息。
根据该第三实施例,定义了新的grouping_type“pano”。
通过将EntityToGroupBox与新的grouping_type“pano”相关联,全景实体组(“pano”)指示为了创建全景而拍摄的图像集合(存储为项、项组或轨中的样本)。EntityToGroupBox的entity_id被扩展为被解析为项标识符、轨标识符或表示包围曝光图像集合的EntityToGroupBox的标识符(group_id)。
后者可用于描述增强的全景(例如,HDR全景)。
然后可以如下定义EntityToGroupBox的句法:
其中,
当item_ID等于entity_or_group_id的项存在于包含GroupsListBox的层级(文件、动画或轨)中时,将entity_or_group_id解析为项,或者当track_ID等于entity_or_group_id的轨存在并且GroupsListBox包含在文件级中时,将entity_or_group_id解析为轨,或者当group_ID等于entity_or_group_id的实体组存在于同一GroupsListBox中时,将entity_or_group_id解析为实体组。
其它参数保持与先前定义相同的定义。
在替代方案中,定义新框以如下描述实体组中的组:
其中,
group_id是分配给特定分组的非负整数,其不应等于任何其它GroupToGroupBox和EntityToGroupBox的任何group_id值、包含GroupsListBox的层级(文件、动画或轨)的任何item_ID值、或任何track_ID值(当GroupsListBox包含在文件级中时)。
num_groups_in_group指定映射到组中的该组的group_id值的数量。
当group_id等于entity_or_group_id的实体组存在于同一GroupsListBox中时,referenced_group_id被解析为实体组,或者当组中的group_id等于entity_or_group_id的组存在于同一GroupsListBox中时,referenced_group_id被解析为组中的组。
换句话说,提出将媒体数据封装在文件中的方法,其中,该方法包括:
-生成描述第一实体组的分组数据结构;
其中所述分组数据结构包括所述第一实体组与第二实体组之间的关联信息,第二组的各个实体与媒体数据的至少一部分相关;以及
-将所述分组数据结构和所述媒体数据嵌入所述文件中。
在实施例中,该方法还包括:
-获得将实体组表征为符合生成全景的分组类型;以及
-将所述分组类型嵌入所述文件中。
在实施例中,第二组的各个实体对应于媒体数据的至少一部分。
在实施例中,第二组的各个实体是以下至少之一:项、轨和第三实体组。
当grouping_type“pano”与GroupToGroupBox相关联时,全景组到组(“pano”)指示为了创建全景而拍摄的图像集合(存储为项组,各个项组表示包围曝光集合)。
在通过扩展entity_id的定义或通过定义新框GroupToGroupBox来直接参考EntityToGroupBox结构中的实体组的替代方案中,可以用专用于组到组参考的新框SingleGroupTypeReferenceBox来扩展ItemReferenceBox(“iref”),以将实体组与其它实体组的列表相关联。SingleGroupTypeReferenceBox可以定义如下:
其中,
from_group_ID包含参考其它实体组的实体组的group_id。
reference_count是参考的数量。
to_group_ID包含所参考的实体组的group_id。
换句话说,提出将媒体数据封装在文件中的方法,其中,该方法包括:
-获得描述第一实体组的第一分组数据结构;
-获得描述第二实体组的第二分组数据结构;
-生成包括所述第一分组数据结构和所述第二分组数据结构之间的关联信息的关联数据结构;以及,
-将所述第一分组数据结构和所述第二分组数据结构、所述关联数据结构以及所述媒体数据嵌入所述文件中。
在实施例中,关联数据结构还包括参考类型。
根据该替代方案,grouping_type“pano”与EntityToGroupBox相关联,全景实体组(“pano”)然后指示图像的可选列表(存储为项)并且可选地与项组相关联,各个项组表示为了创建全景而拍摄的包围曝光集合。全景实体组“pano”经由ItemReferenceBox中的参考类型“base”的SingleGroupTypeReferenceBox与表示包围曝光集合的项组相关联。
当图像序列轨包括在“pano”实体组中时(即,图像存储为轨中的样本),在“pano”实体组中应仅存在一个entity_id。图像序列轨可以包括在“全景”实体组中,以指示其包含旨在形成全景的所拍摄图像序列。存在于“pano”实体组中的图像序列轨可以包含其它包围曝光样本分组(例如,当全景拍摄与自动包围曝光耦合以形成HDR全景时,可以定义具有grouping_type“aebr”的样本分组以分组和描述属于同一包围曝光集合的样本)。
全景实体组中的实体或由全景实体组参考的图像序列轨中的样本以全景顺序列出。应该使用与实体组或组到组相关联的全景项属性“pano”来声明实体组或组到组使用的全景顺序。
在图像被存储为项的情况下,当全景拍摄与一个或多个包围曝光(例如,自动曝光、调焦或白平衡包围曝光)耦合时,全景EntityToGroupBox可以直接参考其它包围曝光集合。
与全景实体组或组到组相关联的全景描述性项属性提供全景的参数(方向、包围曝光的类型(如果存在))。该项属性应仅与实体组“pano”或组到组“pano”相关联。
全景描述性项属性可以定义如下:
其中,
panorama_direction是无符号整数,例如8位,表示所使用的全景的类型和全景中的输入图像的扫描顺序:
-0:从左到右的水平全景
-1:从右到左的水平全景
-2:从下到上的垂直全景
-3:从上到下的垂直全景
-4:光栅扫描顺序的网格全景,即,从左上角开始从左到右和从上到下组织行和列。
-5:连续顺序的网格全景,即,从左上角开始,第一行从左到右组织,然后第二行从右到左组织,第三行从左到右组织,以此类推。
-其它值未定义。
rows_minus_one是指定网格中的行数减1的无符号整数。
columns_minus_one是指定网格中的列数减1的无符号整数。
全景描述性项属性可以可选地包括附加属性panorama_bracketing_type或panorama_bracketing_type列表,其提供与全景拍摄耦合的一个或多个包围曝光集合的grouping_type的4CC。例如,该panorama_bracketing_type允许读取器在轨中识别哪些样本形成与构成全景的多个视角中的一个单个视角相对应的一个单个样本组或包围曝光集合。从样本的各个组中,来自该组的仅一个样本或来自该组的样本的合并(例如,那些样本的HDR合成)将用于构建要由其它视角构成的一个视角以构建完整全景视角。
图4示出被描述为实体组的全景的两个示例。
在第一示例中,第一全景由第一实体组401表示。在第二示例中,第二全景由第二实体组402表示。
两个实体组可以参考不同的项属性PanoramaProperty(“pano”)框,或者当它们共享相同的全景属性时,它们可以有利地参考如上所述的相同项属性PanoramaProperty(“pano”)403。
第一全景401由通过多个实体组404和405表示的项的若干包围曝光集合(例如,自动包围曝光集合“aebr”)构成并且参考通过多个实体组404和405表示的项的若干包围曝光集合(例如,自动包围曝光集合“aebr”)。
第二全景402由存储在一个图像序列轨406中的一系列样本构成,其中该系列样本对应于由若干样本分组“aebr”407、408和409表示的连续自动包围曝光集合。例如,样本组407由样本410、411和412构成。例如,样本410与表示自动曝光值档位参数=-1的样本组描述条目0相关联。样本412与表示自动曝光值档位参数=+1的样本组描述条目2相关联。
HEIF标准不允许高效地存储包括全景的图像或图像组的人类可读文本描述。人类可读文本描述(诸如名称或标题,全景、图像或图像组的一般描述,以及与全景、其它图像或图像组相关联的标记或关键字的列表等)对于用户进行如下操作是有用的:组织、分类和检索HEIF文件内的这些全景、其它图像或图像组;显示HEIF文件的内容;基于HEIF文件的内容创建文档;或者与其它用户共享这些全景或其它图像或图像组。
在一些实施例中,附加人类可读标签也可以与任何类型的项或实体组(例如,根据上述实施例表示全景)相关联,以提供各个项或实体组的内容的人类可读描述,例如标题、一般描述或标记。
为此目的,可以如下定义例如称为UserDescriptionProperty的项属性:
框类型:“udes”
属性类型:描述性项属性
容器:ItemPropertyContainerBox
强制(每个项):否
数量(每个件):零或更多
UserDescriptionProperty允许项与用户定义名称、描述和标记相关联;可以存在与项或实体组(可能表示全景)相关联的多个这样的属性(其应具有不同的语言代码)。这允许将不同的语言替代与项或实体组相关联。
如果两个不同的项或项组共享相同的描述,则相同的UserDescriptionProperty可以与它们相关联。这允许通过不复制相同的数据信息来节省存储器。
此外,允许在框的标志中设置以下标志:
0x000001名称-存在
0x000002描述-存在
0x000004标记-存在
当被设置时,它们指示在项属性中是否定义了相关联的名称、描述或标记字符串。与包括定义空字符串的替代方案相比,这允许在不使用相应字段时节省项属性定义中的字节。
其中,
lang是包含RFC 5646兼容语言标记串的字符串(诸如“en-US”、“fr-FR”或“zh-CN”等),表示包含在name、description和tags中的文本的语言。当lang为空时,语言是未知的/未定义的。
name是包含项或实体组的人类可读名称的空字符结尾UTF-8字符串。
description是包含项或实体组的人类可读描述的空字符结尾UTF-8字符串。
tags是包含与项或实体组相关的逗号分隔标记的空字符结尾UTF-8字符串。
HEIF和MIAF文件格式不提供存储图像和图像组(包括全景)的定时信息(诸如创建时间或修改时间等)的高效方式。该定时信息对于用户进行以下操作是有用的:组织、分类和检索HEIF文件内的全景或其它图像或图像组;显示HEIF文件的内容;基于HEIF文件的内容创建文档;或者与其它用户共享这些全景或其它图像或图像组。
在一些实施例中,附加的项属性可以与任何类型的项或实体组(例如,根据上述实施例表示全景)相关联,用于记录它们的创建和修改时间。
一些项属性(例如,CreationTimeProperty和ModificationTimeProperty)可以定义如下:
框类型:“crtt”
属性类型:描述性项属性
容器:ItemPropertyContainerBox
强制(每个项):否
数量(每个项):至多一个
框类型:“mdft”
属性类型:描述性项属性
容器:ItemPropertyContainerBox
强制(每个项):否
数量(每个项):至多一个
CreationTimeProperty记录相关联的项或实体组的创建时间。
ModificationTimeProperty记录相关联的项或实体组的最后修改时间。
其中,
creation_time是声明项或实体组的创建时间的整数(从UTC时间的1904年1月1日午夜起以微秒计)。
modification_time是声明项或实体组被修改的最近时间的整数(从UTC时间的1904年1月1日午夜起以微秒计)。
微秒精度允许支持具有每秒高帧速率的高速照相机的拍摄时间。如果需要更高的精度,则可以用附加的64位属性来定义框的新版本(类似于网络时间协议版本4)。
在替代方案中,可以从不同的开始时间(例如,另一众所周知的历元(Epoch)时间,诸如1970年或2001年1月1日的午夜,或者明确定义的任何其它任意开始时间)起对UTC时间进行计数。
在另一替代方案中,可以添加附加属性,例如作为有符号整数,以提供将允许从UTC时间检索本地时间的时区。
在另一替代方案中,creation_time和modification_time可以表示为与全局参考时间相比的差,也可能通过参考时间标度来表示,这两者都在顶级“meta”框下的另一框或HEIF文件中的另一顶级框中声明。这将允许在creation_time和modification_time定义上节省一些字节(例如使用32位整数而不是64位整数)。
在另一替代方案中,ModificationTimeProperty包括附加属性,诸如人类可读标签和如下定义的可选版本号。多个ModificationTimeProperty可以与项或实体组相关联,以跟踪修改历史/版本。
框类型:“mdft”
属性类型:描述性项属性
容器:ItemPropertyContainerBox
强制(每个项):否
数量(每个项):零或更多
其中,
modification_time的定义如上所述。
major_version_number和minor_version_number是提供主版本号和次版本号的无符号整数。
comment给出针对修改的人类可读的注释。
可选地,附加属性lang可以与UserDescriptionProperty类似地提供包含在comment中的文本的语言。
图5示出使用HEIF格式将一个或多个图像封装在一个文件中的处理的主要步骤。计算装置600(图6)可以例如应用该处理。
装置600获得若干视角拍摄以从场景构建全景视角。在各个视角拍摄之间,根据预定的全景方向移动装置,可能高达360°(例如,形成从左到右或从上到下的线或曲线,或者形成具有给定扫描顺序的网格)。
在步骤501处,对于各个视角拍摄,装置确定包围曝光模式当前是否被激活,即,是否应针对给定视角拍摄多个图像以根据给定的包围曝光模式(例如,自动包围曝光、聚焦包围曝光、白平衡包围曝光、超分辨率包围曝光、景深包围曝光、闪光曝光包围曝光……)形成包围曝光图像集合。包围曝光包括拍摄一系列图像,使用不同值的照相机参数拍摄该系列的各个图像。例如,自动包围曝光的三个图像可以包括具有低曝光时间的第一图像、具有中间曝光时间的第二图像和具有高曝光时间的第三图像。
如果在步骤501处包围曝光模式被激活,则装置根据在装置中配置或由用户选择的包围曝光模式参数(图像数量、图像拍摄配置参数)在步骤504处获得一系列图像。
在步骤505处,对该系列图像中的各个图像进行编码(例如,使用HEVC、JPEG、RAW或任何其它图像编码格式)并将其封装在HEIF文件中作为新的编码图像项。以对应于包围曝光模式的分组类型来定义参考该系列编码图像项的EntityToGroupBox。例如,将分组类型“aebr”用于自动包围曝光或将“fobr”用于聚焦包围曝光。可选地,项属性与各个编码图像项相关联,以描述各个图像的包围曝光参数值。
替代地,该系列图像中的各个图像被编码并封装在HEIF文件中作为轨中的新样本。以对应于上述包围曝光模式的分组类型来定义参考轨EntityToGroupBox。样本分组机制可以用于将各个样本与各个图像的包围曝光参数值(在单独的SampleGroupDescriptionEntry中描述)相关联。
如果在步骤501处包围曝光模式未激活,则装置在步骤502处获得视角的一个单个图像,并且在步骤503处将该图像编码(以任何图像编码格式)并封装为HEIF文件中的编码图像项。
在步骤506处,如果未到达形成全景视角的最后拍摄视角,则重复先前的步骤。
最后,在步骤507处,派生图像根据上述实施例之一被创建为派生图像项或预派生编码图像项,并且被封装在HEIF文件中以描述参考在步骤505和503处创建的EntityToGroupBox或图像项的全景视角。
如果全景被创建为预派生编码图像项,则根据在步骤502和504处拍摄的图像来计算全景图像。所创建的全景图像根据上述实施例之一被编码(以任何图像编码格式)并封装为预派生编码图像项,并且参考在步骤505和503处创建的EntityToGroupBoxs或图像。
图6是用于实现本发明的一个或多个实施例的计算装置600的示意性框图。计算装置600可以是诸如微计算机、工作站或轻型便携式装置等的装置,例如移动电话、平板电脑或者静态照相机或摄像机。计算装置600包括通信总线,该通信总线连接到:
-标记为CPU的中央处理单元601,诸如微处理器等;
-标记为RAM的随机存取存储器602,用于存储本发明实施例的方法的可执行代码以及适于记录变量和参数的寄存器,该变量和参数是用于实现根据本发明的实施例的方法所必需的,该随机存取存储器的存储器容量可以例如通过连接到扩展端口的可选RAM来扩展;
-标记为ROM的只读存储器603,用于存储用于实施本发明实施例的计算机程序;
-网络接口604,其通常连接到通信网络,通过该通信网络来发送或接收要处理的数字数据。网络接口604可以是单个网络接口,或者由不同的网络接口(例如,有线和无线接口,或者不同种类的有线或无线接口)的集合构成。在CPU 601中所运行的软件应用的控制下,将数据包写入网络接口以用于发送,或者从网络接口读取数据以用于接收;
-用户界面605可以用于从用户接收输入或向用户显示信息;
-标记为HD的硬盘606可以设置为大存储装置;
-I/O模块607可以用于从/向外部装置(诸如,视频源或显示器等)接收/发送数据。
可执行代码可以存储在只读存储器603中,可以存储在硬盘606上,或者可以存储在例如可移动数字介质(诸如,盘等)上。根据变体,可以借助于通信网络经由网络接口604来接收程序的可执行代码,以使程序的可执行代码在被执行之前存储在通信装置600的存储部件(诸如,硬盘606等)其中之一中。
中央处理单元601适于控制和指导根据本发明实施例的一个或多个程序的指令或部分软件代码的执行,这些指令存储在前述存储部件其中之一中。在接通电源之后,CPU601能够在例如从程序ROM 603或硬盘(HD)606加载了与软件应用有关的来自主RAM存储器602的指令之后执行这些指令。这样的软件应用在由CPU 601执行时,使得进行本发明的流程图的步骤。
本发明的算法的任何步骤可以通过由可编程计算机器(诸如PC(“个人计算机”)、DSP(“数字信号处理器”)或微控制器等)执行指令或程序集而在软件中实现;或者通过机器或专用组件(诸如FPGA(“现场可编程门阵列”)或ASIC(“专用集成电路”)等)在硬件中实现。
尽管以上已经参考具体实施例描述了本发明,但是本发明不限于具体实施例,并且对本领域技术人员来说,在本发明的范围内的修改将是明显的。
在参考前述说明性实施例时本领域技术人员将想到许多进一步的修改和变形建议,这些实施例仅作为示例给出并且不意在限制本发明的范围,该范围仅由所附权利要求确定。特别地,在适当的情况下,可以互换来自不同实施例的不同特征。
上述本发明的各实施例可以单独实现或实现为多个实施例的组合。此外,来自不同实施例的特征可以在必要时组合或者来自单独实施例的元素或特征的组合在单个实施例中是有益的情况下组合。
在本说明书(包括任何所附权利要求、摘要和附图)中公开的各个特征可以由用于相同、等效或相似目的的替代特征替换,除非另有明确规定。因此,除非另有明确规定,否则所公开的各个特征仅是通用系列的等效或相似特征的一个示例。
在权利要求中,“包括”一词不排除其它元素或步骤,并且不定冠词“a”或“an”不排除复数。仅仅在相互不同的从属权利要求中限定不同特征的这一事实并不指示不能有利地使用这些特征的组合。
Claims (16)
1.一种将媒体数据封装在文件中的方法,其中,所述方法包括:
生成描述第一实体组的第一分组数据结构,所述第一实体组标识适于生成全景的多个图像,所述第一实体组中的各个实体与媒体数据的至少一部分相关;以及
将所述第一分组数据结构和所述媒体数据嵌入所述文件中,
其中,所述第一实体组中的实体是对标识所述多个图像的至少一部分的第二实体组进行描述的第二分组数据结构。
2.根据权利要求1所述的方法,其中,所述第一分组数据结构是具有等于“pano”的分组类型的EntityToGroupBox。
3.根据权利要求1或2所述的方法,其中,所述第二分组数据结构是EntityToGroupBox。
4.根据权利要求1至3中任一项所述的方法,其中,所述第一分组数据结构表征第一包围曝光集合,其中,所述第二分组数据结构表征第二包围曝光集合。
5.根据权利要求1至4中任一项所述的方法,
其中,全景描述性项属性与所述第一分组数据结构相关联,
其中,所述全景描述性项属性提供所述第一分组数据结构的实体的参数。
6.根据权利要求5所述的方法,其中,所述全景描述性项属性包括以下中的至少一个:
全景方向,
用于指定网格全景中的行数减1的整数,
用于指定全景网格中的列数减1的整数。
7.根据权利要求5或6所述的方法,其中,所述全景描述性项属性具有等于“pano”的类型。
8.根据权利要求1所述的方法,其中,所述第一实体组和/或所述第二实体组中的实体至少之一以及/或者所述第一实体组和/或所述第二实体组与包括定时信息的项属性相关联。
9.根据权利要求1至8中任一项所述的方法,其中,所述第二实体组中的至少一个实体是图像项。
10.根据权利要求1所述的方法,其中,所述第二实体组中的至少一个实体是图像序列轨。
11.根据权利要求10所述的方法,其中,所述图像序列轨包括样本,其中,所述图像序列轨由SampleToGroupBox描述,其中,所述SampleToGroupBox对轨的样本进行分组。
12.一种将媒体数据封装在文件中的方法,其中,所述方法包括:
生成元数据,所述元数据包括:
(i)项属性容器框,其包括作为项属性的一个或多个实体或者一个或多个实体组的创建时间和修改时间其中至少之一的信息,以及
(ii)项属性关联框,其包括将所述一个或多个实体或者所述一个或多个实体组与所述项属性关联框中所包括的所述项属性相关联的信息,所述一个或多个实体中的各个实体或者所述一个或多个实体组中的各个实体与媒体数据的至少一部分相关;以及
将所生成的元数据和所述媒体数据嵌入所述文件中。
13.一种用于将媒体数据封装在文件中的装置,其中,所述装置包括处理器,所述处理器被配置为:
生成描述第一实体组的第一分组数据结构,所述第一实体组标识适于生成全景的多个图像,所述第一实体组中的各个实体与媒体数据的至少一部分相关;以及
将所述第一分组数据结构和所述媒体数据嵌入所述文件中,
其中,所述第一实体组中的实体是对标识所述多个图像的至少一部分的第二实体组进行描述的第二分组数据结构。
14.一种用于可编程设备的计算机程序产品,所述计算机程序产品包括指令序列,所述指令序列用于在被加载到所述可编程设备中并且由所述可编程设备执行时实现根据权利要求1至12中任一项所述的方法。
15.一种计算机可读存储介质,其存储用于实现根据权利要求1至12中任一项所述的方法的计算机程序的指令。
16.一种计算机程序,其在被执行时使得进行根据权利要求1至12中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1909192.5A GB2585052B (en) | 2019-06-26 | 2019-06-26 | Method and apparatus for encapsulating panorama images in a file |
GB1909192.5 | 2019-06-26 | ||
PCT/EP2020/066017 WO2020260014A1 (en) | 2019-06-26 | 2020-06-10 | Method and apparatus for encapsulating panorama images in a file |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114097249A true CN114097249A (zh) | 2022-02-25 |
Family
ID=67511636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080046446.1A Pending CN114097249A (zh) | 2019-06-26 | 2020-06-10 | 用于将全景图像封装在文件中的方法和设备 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11853351B2 (zh) |
EP (1) | EP3991443A1 (zh) |
JP (1) | JP7421570B2 (zh) |
KR (1) | KR20220024675A (zh) |
CN (1) | CN114097249A (zh) |
GB (1) | GB2585052B (zh) |
WO (1) | WO2020260014A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102465188B1 (ko) | 2018-04-05 | 2022-11-10 | 캐논 가부시끼가이샤 | 이미지를 파일에 캡슐화하기 위한 방법 및 장치 |
GB2572947A (en) * | 2018-04-05 | 2019-10-23 | Canon Kk | Method and apparatus for encapsulating images in a file |
EP3993394A4 (en) * | 2019-07-30 | 2022-08-17 | Sony Group Corporation | FILE PROCESSING DEVICE, FILE PROCESSING METHOD AND PROGRAM |
CN114827487B (zh) * | 2020-04-28 | 2024-04-12 | 荣耀终端有限公司 | 一种高动态范围图像合成方法和电子设备 |
CN115883871A (zh) * | 2021-08-23 | 2023-03-31 | 腾讯科技(深圳)有限公司 | 媒体文件封装与解封装方法、装置、设备及存储介质 |
CN117911652B (zh) * | 2024-03-19 | 2024-05-31 | 北京师范大学 | 一种复杂多孔介质网格化方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160232939A1 (en) * | 2015-02-10 | 2016-08-11 | Nokia Technologies Oy | Method, an apparatus and a computer program product for processing image sequence tracks |
US20180007407A1 (en) * | 2015-02-10 | 2018-01-04 | Canon Kabushiki Kaisha | Image data encapsulation |
CN107750462A (zh) * | 2015-06-16 | 2018-03-02 | 佳能株式会社 | 图像数据封装 |
WO2018058773A1 (zh) * | 2016-09-30 | 2018-04-05 | 华为技术有限公司 | 一种视频数据的处理方法及装置 |
CN109076261A (zh) * | 2016-02-16 | 2018-12-21 | 诺基亚技术有限公司 | 媒体封装和解封装 |
WO2019072795A1 (en) * | 2017-10-12 | 2019-04-18 | Canon Kabushiki Kaisha | METHOD, DEVICE, AND COMPUTER PROGRAM FOR GENERATING TIMED PARTITIONED MULTIMEDIA DATA |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7996878B1 (en) * | 1999-08-31 | 2011-08-09 | At&T Intellectual Property Ii, L.P. | System and method for generating coded video sequences from still media |
US20030163477A1 (en) * | 2002-02-25 | 2003-08-28 | Visharam Mohammed Zubair | Method and apparatus for supporting advanced coding formats in media files |
US20040199565A1 (en) * | 2003-02-21 | 2004-10-07 | Visharam Mohammed Zubair | Method and apparatus for supporting advanced coding formats in media files |
JP2006074531A (ja) * | 2004-09-03 | 2006-03-16 | Canon Inc | データ記録再生装置及び方法 |
US20060233247A1 (en) * | 2005-04-13 | 2006-10-19 | Visharam Mohammed Z | Storing SVC streams in the AVC file format |
US7725593B2 (en) * | 2005-07-15 | 2010-05-25 | Sony Corporation | Scalable video coding (SVC) file format |
US9648348B2 (en) * | 2013-10-23 | 2017-05-09 | Qualcomm Incorporated | Multi-layer video file format designs |
MY185338A (en) * | 2015-02-04 | 2021-05-06 | Ericsson Telefon Ab L M | Drap identification and decoding |
US10291561B2 (en) * | 2015-02-09 | 2019-05-14 | Nokia Technologies Oy | Apparatus, a method and a computer program for image coding and decoding |
US20170111642A1 (en) * | 2015-10-14 | 2017-04-20 | Qualcomm Incorporated | Support of random access and switching of layers and sub-layers in multi-layer video files |
GB2578227B (en) * | 2016-05-23 | 2021-09-15 | Canon Kk | Method, device, and computer program for adaptive streaming of virtual reality media content |
US11139000B2 (en) * | 2017-03-07 | 2021-10-05 | Mediatek Inc. | Method and apparatus for signaling spatial region information |
US11062738B2 (en) * | 2017-03-23 | 2021-07-13 | Qualcomm Incorporated | Signalling of video content including sub-picture bitstreams for video coding |
GB2560921B (en) * | 2017-03-27 | 2020-04-08 | Canon Kk | Method and apparatus for encoding media data comprising generated content |
US20190373245A1 (en) * | 2017-03-29 | 2019-12-05 | Lg Electronics Inc. | 360 video transmission method, 360 video reception method, 360 video transmission device, and 360 video reception device |
CN110870302B (zh) * | 2017-07-03 | 2021-06-29 | 诺基亚技术有限公司 | 用于全向视频的装置、方法和计算机程序 |
US11700432B2 (en) * | 2018-04-11 | 2023-07-11 | Nokia Technologies Oy | Method and apparatus for signaling and storing grouping types in an image container file |
CN112514398B (zh) * | 2018-06-01 | 2023-07-14 | 诺基亚技术有限公司 | 用于针对全向内容而标记在覆盖物上的用户交互并将对背景的覆盖物分组的方法和装置 |
US10986402B2 (en) * | 2018-07-11 | 2021-04-20 | Qualcomm Incorporated | Time signaling for media streaming |
CN114979750A (zh) * | 2019-01-08 | 2022-08-30 | 诺基亚技术有限公司 | 用于虚拟现实的方法、装置和计算机可读介质 |
CN113574900B (zh) * | 2019-03-15 | 2024-03-15 | 诺基亚技术有限公司 | 用于对媒体内容中的实体进行分组的方法和装置 |
-
2019
- 2019-06-26 GB GB1909192.5A patent/GB2585052B/en active Active
-
2020
- 2020-06-10 EP EP20732195.1A patent/EP3991443A1/en active Pending
- 2020-06-10 CN CN202080046446.1A patent/CN114097249A/zh active Pending
- 2020-06-10 KR KR1020227001731A patent/KR20220024675A/ko unknown
- 2020-06-10 WO PCT/EP2020/066017 patent/WO2020260014A1/en unknown
- 2020-06-10 JP JP2021563179A patent/JP7421570B2/ja active Active
- 2020-06-10 US US17/620,627 patent/US11853351B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160232939A1 (en) * | 2015-02-10 | 2016-08-11 | Nokia Technologies Oy | Method, an apparatus and a computer program product for processing image sequence tracks |
US20180007407A1 (en) * | 2015-02-10 | 2018-01-04 | Canon Kabushiki Kaisha | Image data encapsulation |
CN107750462A (zh) * | 2015-06-16 | 2018-03-02 | 佳能株式会社 | 图像数据封装 |
CN109076261A (zh) * | 2016-02-16 | 2018-12-21 | 诺基亚技术有限公司 | 媒体封装和解封装 |
WO2018058773A1 (zh) * | 2016-09-30 | 2018-04-05 | 华为技术有限公司 | 一种视频数据的处理方法及装置 |
WO2019072795A1 (en) * | 2017-10-12 | 2019-04-18 | Canon Kabushiki Kaisha | METHOD, DEVICE, AND COMPUTER PROGRAM FOR GENERATING TIMED PARTITIONED MULTIMEDIA DATA |
Non-Patent Citations (2)
Title |
---|
FREDERIC MAZE等: "[HEIF] Signaling of logically grouped image shots", 122. MPEG MEETING;2018-4-16-2018-4-20;SAN DIEGO;(MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11; NO.M42564, 11 April 2018 (2018-04-11), pages 1 - 7 * |
HERVE RUELLAN等: "[HEIF] Bracketing", 124. MPEG MEETING;20181008 - 20181012; MACAO; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11; NO.M44838, 3 October 2018 (2018-10-03), pages 1 - 9 * |
Also Published As
Publication number | Publication date |
---|---|
JP7421570B2 (ja) | 2024-01-24 |
EP3991443A1 (en) | 2022-05-04 |
JP2022537624A (ja) | 2022-08-29 |
GB2585052A (en) | 2020-12-30 |
GB201909192D0 (en) | 2019-08-07 |
KR20220024675A (ko) | 2022-03-03 |
US11853351B2 (en) | 2023-12-26 |
WO2020260014A1 (en) | 2020-12-30 |
GB2585052B (en) | 2023-07-26 |
US20220245190A1 (en) | 2022-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11985302B2 (en) | Image data encapsulation | |
CN114097249A (zh) | 用于将全景图像封装在文件中的方法和设备 | |
US11876994B2 (en) | Description of image composition with HEVC still image file format | |
KR102465188B1 (ko) | 이미지를 파일에 캡슐화하기 위한 방법 및 장치 | |
US10595062B2 (en) | Image data encapsulation | |
US20230254549A1 (en) | Method and apparatus for encapsulating annotated region in isobmff tracks | |
US20230169107A1 (en) | Method and apparatus for encapsulating region related annotation in an image file | |
GB2582025A (en) | Method and apparatus for encapsulating groups of images in a file | |
GB2572947A (en) | Method and apparatus for encapsulating images in a file | |
GB2573096A (en) | Method and apparatus for encapsulating images with proprietary information in a file | |
GB2582024A (en) | Method and apparatus for encapsulating groups of images in a file |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |