Signalling geospatial images in high efficiency image file format

The HEIF format is enhanced to support efficient decoding and geospatial mapping of large images by incorporating segment-specific decoding instructions and metadata, addressing the limitations of existing formats.

WO2026093349A1PCT designated stage Publication Date: 2026-05-07NOKIA TECHNOLOGIES OY
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
NOKIA TECHNOLOGIES OY
Filing Date
2025-10-29
Publication Date
2026-05-07

AI Technical Summary

Technical Problem

Existing high efficiency image file (HEIF) formats lack support for efficiently decoding and mapping segments of geospatial images, particularly those exceeding 300,000 pixels by 300,000 pixels, and do not effectively utilize geographical metadata.

Method used

A method is provided to extend the HEIF format by defining a file format data structure that includes decoding instructions for independently decoding segments of images, utilizing flag fields and item properties to indicate decoding configurations, and incorporating metadata for geospatial mapping.

Benefits of technology

Enables efficient decoding and rendering of large geospatial images with improved support for geographical metadata, allowing terminal devices to process and display segments independently and accurately.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025081194_07052026_PF_FP_ABST
    Figure EP2025081194_07052026_PF_FP_ABST
Patent Text Reader

Abstract

There is provided a method that includes defining or extending a file format data structure to comprise at least one configuration pursuant to a plurality of encoded segments of an image, wherein: a respective configuration comprises decoding instructions pursuant to one of the plurality of encoded segments of the image; causing a terminal device to generate at least one decoded segment by decoding at least one of the plurality of encoded segments of the image in accordance with the decoding instructions of the respective configuration, the at least one of the plurality of encoded segments being decoded independently from a remaining subset of the plurality of encoded segments of the image; and causing the terminal device to display the at least one decoded segment of the image.
Need to check novelty before this filing date? Find Prior Art

Description

SIGNALLING GEOSPATIAL IMAGES IN HIGH EFFICIENCY IMAGE FILE FORMAT CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of and priority to U.S. Application No. 63 / 713,304, filed October 29, 2024, entitled “SIGNALLING GEOSPATIAL IMAGES IN HIGH EFFICIENCY IMAGE FILE FORMAT.”TECHNICAL FIELD

[0002] Various example embodiments relate generally to extending or defining a high efficiency image file (HEIF) format to enable signaling of geospatial images.BACKGROUND

[0003] Existing file format data structures, such as HEIF, may demonstrate limited functionality for supporting and signaling geospatial images. In geospatial applications, image resolution may exceed 300,000 pixels by 300,000 pixels, and image sizes continue to grow. Geospatial images may comprise thousands of image extents, including image tiles, grid portions, and / or the like. Existing approaches to HEIF format may be suboptimal for efficiently decoding segments of geospatial images. Further, existing HEIF format may lack support for mapping the segments of geospatial images to geographical metadata.BRIEF DESCRIPTION

[0004] According to an aspect of the invention, there is provided a method, comprising: defining or extending a file format data structure to comprise at least one configuration pursuant to a plurality of encoded segments of an image, wherein: a respective configuration comprises decoding instructions pursuant to one of the plurality of encoded segments of the image; causing a terminal device to generate at least one decoded segment by decoding at least one of the plurality of encoded segments of the image in accordance with the decoding instructions of the respective configuration, the at least one of the plurality of encoded segments being decoded independently from a remaining subset of the plurality of encoded segments of the image; and causing the terminal device to display the at least one decoded segment of the image.

[0005] According to a further aspect of the invention, the method may further comprise defining or extending the file format data structure to comprise: a flag field that is configurable between a first value and a second value, wherein: in the second value, the flag field is configured to indicate that the file format data structure comprises the at least one configuration for independently decoding the plurality of encoded segments of the image. According to a further aspect of the invention, in the first value, the flag field is configured to i) to indicate that the at least one configuration is not present in the file format data structure, and ii) cause the terminal device to generate respective decoding instructions pursuant to the plurality of encoded segments of the image.

[0006] According to a further aspect of the invention, the method may further comprise defining or extending the file format data structure to comprise: at least one bit value configurable between a first value and a second value, wherein: in the first value, the at least one bit value is configured to indicate that the file format data structure is without the at least one configuration; and in the second value, the at least one bit value is configured to indicate that the file format data structure comprises the at least one configuration.

[0007] According to a further aspect of the invention, the file format data structure comprises at least one field configured to indicate a respective codec associated with encoding of the plurality of encoded segments of the image. According to a further aspect of the invention, the method may further comprise causing the terminal device to determine the respective configuration based at least in part on the codec. According to a further aspect of the invention a first subset of the plurality of encoded segments of the image is associated with a first codec; and a second subset of the plurality of encoded segments of the image is associated with a second codec that is different from the first codec.

[0008] According to a further aspect of the invention, the plurality of encoded segments of the image comprise at least one of a plurality of grid portions or a plurality of tiles; and a respective grid portion or a respective tile is associated with a spatial sub-region of the image.

[0009] According to a further aspect of the invention, the method may further comprise defining or extending the file format data structure to comprise at least one item property associated with the image, wherein: the at least one item property indicates at least a subset of the plurality of encoded segments of the image that is independently decodable in accordance with a respective configuration of the at least one configuration. According to a further aspect of the invention, the at least one item property comprises the respective decoding instructions for independently decoding individual ones of the plurality of encoded segments of the image. According to a further aspect of the invention, the plurality of encoded segments of the image are encoded in accordance with a high efficiency video coding (HEVC) codec; and the respective decoding instructions comprise at least one sequence parameter set (SPS) network abstraction layer (NAL) unit and at least one picture parameter set (PPS) NAL unit for decoding a corresponding segment of the image. According to a further aspect of the invention, the method may further comprise causing the terminal device to initialize a decoder based at least in part on the at least one item property, wherein: the initialized decoder is configured to decode the at least one of the plurality of encoded segments of the image in accordance with the respective decoding instructions and independently from the remaining subset of the plurality of encoded segments of the image.

[0010] According to a further aspect of the invention, the method may further comprise extending or defining the file format data structure to comprise: a flag field that is configurable between a first value and a second value, wherein in the first value, the flag field is configured to signal that the file format datastructure comprises a data field configured to signal a scanning order pursuant to accessing and rendering the plurality of encoded segments of the image; and in the second value, the flag field is configured to signal that the file format data structure is without the data field configured to signal the scanning order pursuant to accessing and rendering the plurality of encoded segments of the image. According to a further aspect of the invention, the data field configured is configurable between a plurality of values; a respective value is associated with one of a plurality of scanning orders; and the plurality of scanning orders comprise a row-major scanning order, a column-major scanning order, and at least one zig-zag order.

[0011] According to a further aspect of the invention, the file format data structure comprises: an entity group associated with a plurality of images; and at least one item property for a respective image of the plurality of images. According to a further aspect of the invention, the method may further comprise extending or defining the file format data structure to comprise a flag field configurable between a first value and a second value, wherein: in the second value, the flag field is configured to signal that the respective decoding instructions, if absent from the at least one item property, are obtainable from the entity group.

[0012] According to a further aspect of the invention, the image comprises a base image and a plurality of overview image items associated with the base image. According to a further aspect of the invention, the method may further comprise extending or defining the file format data structure to comprise: a bin derivation property configured to signal a derivation process for reconstructing a region of at least one of the plurality of overview image items based at least in part on the base image and a remaining subset of the plurality of overview images. According to a further aspect of the invention, the base image and the plurality of overview image items are associated with different resolutions of the image; and the at least one of the plurality of overview image items is associated with a resolution that is higher than a respective resolution of the base image and the remaining subset of the plurality of overview images.

[0013] According to a further aspect of the invention, the file format data structure comprises: an entity group associated with a plurality of images; and at least one item property for a respective image of the plurality of images. According to a further aspect of the invention, the method may further comprise extending or defining the file format data structure to comprise a flag field configurable between a first value and a second value, wherein: in the second value, the flag field is configured to signal that the respective decoding instructions, if absent from the entity group, are obtainable from the at least one item property.

[0014] According to a further aspect of the invention, the method may further comprise extending or defining the file format data structure to comprise: at least one metadata item comprising coordinate transformation data associated with mapping at least a subset of the encoded segments of the image to a geospatial coordinate system.

[0015] According to a further aspect of the invention, the file format data structure comprises at least one item property; and a respective item property is associated with at least a subset of the plurality of encoded segments of the image. According to a further aspect of the invention, the method may further comprise extending or defining the at least one item property to comprise coordinate transformation data associated with mapping the at least a subset of the encoded segments of the image to a geospatial coordinate system.

[0016] According to a further aspect of the invention, the file format data structure comprises at least one item property; and a respective item property is associated with at least a subset of the plurality of encoded segments of the image. According to a further aspect of the invention, the method may further comprise extending or defining the at least one item property to comprise a respective size index of the at least a subset of the plurality of encoded segments of the image.

[0017] According to an aspect of the invention, there is provided an apparatus, comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to: define or extend a file format data structure to comprise at least one configuration pursuant to a plurality of encoded segments of an image, wherein: a respective configuration comprises decoding instructions pursuant to one of the plurality of encoded segments of the image; cause a terminal device to generate at least one decoded segment by decoding at least one of the plurality of encoded segments of the image in accordance with the decoding instructions of the respective configuration, the at least one of the plurality of encoded segments being decoded independently from a remaining subset of the plurality of encoded segments of the image; and cause the terminal device to display the at least one decoded segment of the image.

[0018] According to a further aspect of the invention, the instructions, when executed cause the apparatus to define or extend the file format data structure to comprise a flag field that is configurable between a first value and a second value, wherein: in the second value, the flag field is configured to indicate that the file format data structure comprises the at least one configuration for independently decoding the plurality of encoded segments of the image. According to a further aspect of the invention, in the first value, the flag field is configured to i) to indicate that the at least one configuration is not present in the file format data structure, and ii) cause the terminal device to generate respective decoding instructions pursuant to the plurality of encoded segments of the image. According to a further aspect of the invention, the instructions, when executed by the at least one processor, further cause the apparatus to: define or extend the file format data structure to comprise at least one bit value configurable between a first value and a second value, wherein: in the first value, the at least one bit value is configured to indicate that the file format data structure is without the at least one configuration; and in the second value, the at least onebit value is configured to indicate that the file format data structure comprises the at least one configuration.

[0019] According to a further aspect of the invention, the file format data structure comprises at least one field configured to indicate a respective codec associated with encoding of the plurality of encoded segments of the image; and the instructions, when executed by the at least one processor, further cause the apparatus to: cause the terminal device to determine the respective configuration based at least in part on the codec. According to a further aspect of the invention, a first subset of the plurality of encoded segments of the image is associated with a first codec; and a second subset of the plurality of encoded segments of the image is associated with a second codec that is different from the first codec.

[0020] According to a further aspect of the invention, the plurality of encoded segments of the image comprise at least one of a plurality of grid portions or a plurality of tiles; and a respective grid portion or a respective tile is associated with a spatial sub-region of the image.

[0021] According to a further aspect of the invention, the instructions, when executed by the at least one processor, further cause the apparatus to: define or extend the file format data structure to comprise at least one item property associated with the image; and the at least one item property indicates at least a subset of the plurality of encoded segments of the image that is independently decodable in accordance with a respective configuration of the at least one configuration. According to a further aspect of the invention, the at least one item property comprises the respective decoding instructions for independently decoding individual ones of the plurality of encoded segments of the image. According to a further aspect of the invention, the plurality of encoded segments of the image are encoded in accordance with a high efficiency video coding (HEVC) codec; and the respective decoding instructions comprise at least one sequence parameter set (SPS) network abstraction layer (NAL) unit and at least one picture parameter set (PPS) NAL unit for decoding a corresponding segment of the image. According to a further aspect of the invention, the instructions, when executed by the at least one processor, further cause the apparatus to: cause the terminal device to initialize a decoder based at least in part on the at least one item property, wherein: the initialized decoder is configured to decode the at least one of the plurality of encoded segments of the image in accordance with the respective decoding instructions and independently from the remaining subset of the plurality of encoded segments of the image.

[0022] According to a further aspect of the invention, the instructions, when executed by the at least one processor, further cause the apparatus to: extend or define the file format data structure to comprise a flag field that is configurable between a first value and a second value, wherein: in the first value, the flag field is configured to signal that the file format data structure comprises a data field configured to signal a scanning order pursuant to accessing and rendering the plurality of encoded segments of the image; and in the second value, the flag field is configured to signal that the file format data structure is without thedata field configured to signal the scanning order pursuant to accessing and rendering the plurality of encoded segments of the image. According to a further aspect of the invention, the data field configured is configurable between a plurality of values; a respective value is associated with one of a plurality of scanning orders; and the plurality of scanning orders comprise a row-major scanning order, a columnmajor scanning order, and at least one zig-zag order.

[0023] According to a further aspect of the invention, the file format data structure comprises: an entity group associated with a plurality of images; and at least one item property for a respective image of the plurality of images. According to a further aspect of the invention, the instructions, when executed by the at least one processor, further cause the apparatus to extend or define the file format data structure to comprise a flag field configurable between a first value and a second value; wherein: in the second value, the flag field is configured to signal that the respective decoding instructions, if absent from the at least one item property, are obtainable from the entity group.

[0024] According to a further aspect of the invention, the image comprises a base image and a plurality of overview image items associated with the base image; and the instructions, when executed by the at least one processor, further cause the apparatus to: extend or define the file format data structure to comprise a bin derivation property configured to signal a derivation process for reconstructing a region of at least one of the plurality of overview image items based at least in part on the base image and a remaining subset of the plurality of overview images. According to a further aspect of the invention, the base image and the plurality of overview image items are associated with different resolutions of the image; and the at least one of the plurality of overview image items is associated with a resolution higher than a respective resolution of the base image and the remaining subset of the plurality of overview images.

[0025] According to a further aspect of the invention, the image comprises an image pyramid, respective layers of the image pyramid are defined by a base image or one of a plurality of overview image items associated with the base image, and the instructions, when executed by the at least one processor, further cause the apparatus to: define or extend the file format data structure to: extend or define the file format data structure to comprise a flag field configurable between a first value and a second value. According to a further aspect of the invention, in the first value, the flag field is configured to signal that a tiling size and a number of tiles in a respective layer of the image pyramid are present; and in the second value, the flag field is configured to signal that the tiling size and the number of files in the respective layer of the image pyramid are to be derived.

[0026] According to a further aspect of the invention, the image comprises a base image and a plurality of tiled image items associated with the base image; and the instructions, when executed by the at least one processor, further cause the apparatus to: define or extend the file format data structure to: set arespective width of the plurality of tiled image items to a single tile width; and set a respective height of the plurality of tiled image items to a single tile height.

[0027] According to a further aspect of the invention, the file format data structure comprises: an entity group associated with a plurality of images; and at least one item property for a respective image of the plurality of images. According to a further aspect of the invention, the instructions, when executed by the at least one processor, further cause the apparatus to: extend or define the file format data structure to comprise a flag field configurable between a first value and a second value, wherein: in the second value, the flag field is configured to signal that the respective decoding instructions, if absent from the entity group, are obtainable from the at least one item property.

[0028] According to a further aspect of the invention, the instructions, when executed by the at least one processor, further cause the apparatus to: extend or define the file format data structure to comprise at least one metadata item comprising coordinate transformation data associated with mapping at least a subset of the encoded segments of the image to a geospatial coordinate system.

[0029] According to a further aspect of the invention, the file format data structure comprises at least one item property; a respective item property is associated with at least a subset of the plurality of encoded segments of the image; and the instructions, when executed by the at least one processor, further cause the apparatus to extend or define the at least one item property to comprise coordinate transformation data associated with mapping the at least a subset of the encoded segments of the image to a geospatial coordinate system.

[0030] According to a further aspect of the invention, the file format data structure comprises at least one item property; a respective item property is associated with at least a subset of the plurality of encoded segments of the image; and the instructions, when executed by the at least one processor, further cause the apparatus to extend or define the at least one item property to comprise a respective size index of the at least a subset of the plurality of encoded segments of the image. According to a further aspect of the invention, the instructions, when executed by the at least one processor, further cause the apparatus to extend or define the at least one item property to comprise a flag configurable between a first value and a second value, wherein in the first value, the flag is configured to indicate that, for respective encoded segments of the image, an image tile width and an image tile length are equal to 16 bits, respectively, and in the second value, the flag is configured to indicate that, for respective encoded segments of the image, the image tile width and the image tile length are equal to 32 bits, respectively.

[0031] According to another aspect of the invention, there is provided a non-transitory computer readable medium comprising program instructions that, when executed by an apparatus, cause the apparatus to perform a method in accordance with one or more aspects described herein.

[0032] According to another aspect of the invention, there is provided an apparatus, comprising means for performing, or causing an apparatus to perform, a method in accordance with one or more aspects described herein.LIST OF THE DRAWINGS

[0033] In the following, the invention will be described in greater detail with reference to the embodiments and the accompanying drawings, in which:

[0034] FIG. 1 shows an example of an apparatus which may implement one or more examples disclosed herein;

[0035] FIG. 2 shows an example of a communication network to which one or more examples disclosed herein may be applied;

[0036] FIG. 3 shows a network diagram in which example apparatuses may be implemented in accordance with some embodiments disclosed herein; and

[0037] FIGS. 4-10 show syntaxes in accordance with an existing file format data structure;

[0038] FIG. 11 shows an example syntax of a file format data structure configured in accordance with at least an example embodiment of the disclosure;

[0039] FIG. 12 shows an example syntax of a file format data structure configured in accordance with at least an example embodiment of the disclosure;

[0040] FIG. 13 shows an example syntax of a file format data structure configured in accordance with at least an example embodiment of the disclosure;

[0041] FIG. 14 shows an example syntax of a file format data structure configured in accordance with at least an example embodiment of the disclosure;

[0042] FIG. 15 shows an example syntax of a file format data structure configured in accordance with at least an example embodiment of the disclosure;

[0043] FIG. 16 shows example scanning orders that may be signaled via a file format data structure configured in accordance with at least an example embodiment of the disclosure;

[0044] FIG. 17 shows an example syntax of a file format data structure configured in accordance with at least an example embodiment of the disclosure;

[0045] FIG. 18 shows an example syntax of a file format data structure configured in accordance with at least an example embodiment of the disclosure;

[0046] FIG. 19 shows an example syntax of a file format data structure configured in accordance with at least an example embodiment of the disclosure;

[0047] FIG. 20 shows an example syntax of a file format data structure configured in accordance with at least an example embodiment of the disclosure;

[0048] FIG. 21 shows an example syntax of a file format data structure configured in accordance with at least an example embodiment of the disclosure;

[0049] FIG. 22 shows an example syntax of a file format data structure configured in accordance with at least an example embodiment of the disclosure;

[0050] FIG. 23 shows an example syntax of a file format data structure configured in accordance with at least an example embodiment of the disclosure;

[0051] FIG. 24 shows an example syntax of a file format data structure configured in accordance with at least an example embodiment of the disclosure;

[0052] FIG. 25 shows an example syntax of a file format data structure configured in accordance with at least an example embodiment of the disclosure;

[0053] FIG. 25 shows an example syntax of a file format data structure configured in accordance with at least an example embodiment of the disclosure; and

[0054] FIG. 27 shows an example flowchart of a method in accordance with at least an example embodiment of the present disclosure.DESCRIPTION OF EMBODIMENTS

[0055] The following embodiments are exemplary. Although the specification may refer to “an”, “one”, or “some” embodiment(s) in several locations of the text, this does not necessarily mean that each reference is made to the same embodiment(s), or that a particular feature only applies to a single embodiment. Single features of different embodiments may also be combined to provide other embodiments. Further, when a particular feature, structure, or characteristic is described in connection of an embodiment, it is within the knowledge of one skilled in the art to apply such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described. It shall be understood that although the terms “first”, “second”, and / or the like may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another.

[0056] For the purposes of the present disclosure, the phrases “at least one of A or B”, “at least one of A and B”, and “A and / or B” mean (A), (B), or (A and B). For the purposes of the present disclosure, the phrase “A, B, and / or C” means (A), (B), (C), (A and B), (A and C), (B and C), or (A, B, and C).

[0057] Embodiments described herein may be implemented by at least one apparatus. In some embodiments, the apparatus comprises one or more servers configured to communicate with one or more terminal devices via a network. For example, as shown in FIG. 3 and further described herein, an apparatus may comprise or be embodied as an application server 301 configured to communicate with aterminal device 303 via a mobile telephony network 202, Internet 204, and / or the like. Additionally, or alternatively, in some embodiments, the apparatus comprises a terminal device. For example, as shown in FIG. 3 and described herein, an apparatus may comprise or be embodied as a client application 305 that is installed or accessed by a terminal device 303. It will be understood and appreciated that the functionality and operations described herein may be implemented by different apparatuses (e.g., application servers, terminal devices, and / or the like) without departing from the scope and spirit of the disclosure.

[0058] Referring now to FIG. 1 , an example apparatus 100 configured to implement one or more examples described herein is provided. The apparatus 100 may be an electronic device. The apparatus 100 may be configured to perform various functions, for example, such as gathering information by one or more sensors, encoding and / or decoding information, receiving and / or transmitting information, analyzing information gathered or received by the apparatus, and / or the like. In some examples, an apparatus configured to encode a video scene (e.g., such as the apparatus 100) may comprise (e.g., optionally) one or more microphones for capturing the scene and / or one or more sensors, such as cameras, for capturing information about the physical environment in which the scene is captured. Additionally, or alternatively, in some examples, an apparatus configured to encode a video scene (e.g., such as the apparatus 100) may be configured to receive information about an environment in which a scene is captured and / or a simulated environment. Additionally, or alternatively, in some examples, an apparatus configured to decode and / or render a video scene (e.g., such as the apparatus 100) may be configured to receive a Moving Picture Experts Group immersive codec family (MPEG-I) bitstream comprising an encoded video scene.Additionally, or alternatively, in some examples, an apparatus configured to decode and / or render a video scene (e.g., such as the apparatus 100) may comprise one or more speakers, audio transducers, and / or displays and / or may be configured to transmit a decoded scene or signals to a device comprising one or more speakers, audio transducers, and / or displays. Additionally, or alternatively, in some examples, an apparatus configured to decode and / or render a video scene (e.g., such as the apparatus 100) may comprise a user equipment (UE), a head and / or mounted display, and / or a device capable of rendering to a user an augmented reality (AR), virtual reality (VR), and / or mixed reality (MR) experience.

[0059] The apparatus 100 may, for example, be a mobile terminal and / or UE of a wireless communication system. Additionally, or alternatively, the apparatus 100 may be a computer and / or a part of a computer which is not mobile. It should be appreciated that embodiments of the present disclosure may be implemented within any electronic device or apparatus which may process data. The apparats 100 may comprise a device that may access a network and / or cloud through a wired and / or wireless connection.

[0060] The apparatus 100 may comprise a controller 102. which may comprise one or more processors and / or processing circuitry for controlling the apparatus 100. The controller 102 may beconnected to a memory 104 which may be configured to store data such as: image data and / or audio data, and / or instructions for implementation on the controller 102. The controller 102 may be coupled (e.g., connected) to codec circuitry 106. The codec circuitry 106 may be configured to code, encode, and / or decode audio and / or video data. Additionally, or alternatively, the codec circuitry may be configured to assist in coding, encoding, and / or decoding performed by the controller 102.

[0061] The apparatus 100 may comprise one or more processors, one or more memories, and / or one or more transceivers which may be interconnected via one or more buses. The one or more processors may comprise a central processing unit (CPU) and / or a graphical processing unit (GPU). At least one of the one or more transceivers (e.g., each of the one or more transceivers) may include a receiver and / or a transmitter. The one or more buses may be address, data, and / or control buses. The one or more buses may include any interconnection mechanism, for example, such as a series of lines on a motherboard and / or integrated circuit, fiber optics, other optical communication equipment, and / or the like. The one or more transceivers may be connected to one or more antennas. The one or more memories may include program code. The one or more memories and the program code may be configured to, with the one or more processors, cause the apparatus 100 to perform one or more operations as described herein.

[0062] The apparatus 100 may comprise a card reader 110 and / or a smart card 108, for example, such as a universal integrated circuit card (UICC) and / or a UICC reader. The UICC and / or UICC reader may be configured to provide user information and / or provide authentication information for authentication and / or authorization of the apparatus 100 at a network.

[0063] The apparatus 100 may couple (e.g., connect) to a node of a network. The network node may comprise one or more processors, one or more memories, and / or one or more transceivers which may be interconnected via one or more buses. At least one of the one or more transceivers (e.g., each of the one or more transceivers) may include a receiver and / or a transmitter. The one or more buses may be address, data, and / or control buses. The one or more buses may include any interconnection mechanism, for example, such as a series of lines on a motherboard and / or integrated circuit, fiber optics, other optical communication equipment, and / or the like. The one or more transceivers may be connected to one or more antennas. The one or more memories may include program code. The one or more memories and the program code may be configured to, with the one or more processors, cause the network node to perform one or more operations as described herein.

[0064] The apparatus 100 may comprise an input device 112, for example, such as a keypad, one or more input buttons, a touch screen input device, and / or the like configured to provide information to the controller 102. The apparatus 100 may comprise radio interface circuitry 114 connected to the controller 102. The radio interface circuitry 114 may be configured to generate wireless communication signals, for example, for communication with a cellular communications network, a wireless communications system, awireless local area network (WLAN), and / or the like. The apparatus 100 may comprise one or more antennae 116 connected to the radio interface circuitry 114. The one or more antennae 116 may be configured to transmit radiofrequency (RF) signals generated at the radio interface circuitry 114 to one or more other apparatuses and / or configured to receive RF signals from one or more other apparatuses.

[0065] The apparatus 100 may comprise a microphone 118, an audio output device 120, a camera 122, and / or other sensors configured to record and / or detect audio signals, image signals, video signals, and / or other information about a local and / or virtual environment. The information about the local and / or virtual environment recorded and / or detected by the microphone 118, the audio output device 120, the camera 122, and / or other sensors may transmit (e.g., pass) such information to the codec circuitry 106 and / or the controller 102, for example, for processing. The apparatus 100 may receive such information for processing from one or more other devices for processing from one or more other devices, for example, prior to transmission and / or storage. The apparatus 100 may receive, via wired and / or wireless connection, the information. One or more structural elements of the apparatus 100 described herein may represent examples of means for performing a function, for example, such as a corresponding function.

[0066] The memory 104 may be of any type suitable to a local technical environment and / or may be implemented using any suitable data storage technology, for example, such as semiconductor-based memory devices, flash memory, magnetic memory devices and / or systems, optical memory devices and / or systems, fixed memory, removable memory, and / or other types of memory or systems. The memory 104 may be a non-transitory memory. The controller 102 may be or comprise one or more processors, which may be of any type suitable to the local technical environment, and / or may include one or more of general- purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs), processors based on multi-core processor architectures, and / or other types of processors, to provide nonlimiting examples. The controller 102 may be a means for performing one or more functions.

[0067] The apparatus 100 may comprise a microphone and / or other audio input, which may be a digital and / or analog signal input. The apparatus 100 may comprise an audio output device which, in one or more embodiments of the present disclosure, may be any one of: an earpiece, a speaker, and / or an analog audio and / or digital audio output connection. The apparatus 100 may comprise one or more batteries. In some examples, the apparatus 100 may be powered by one or more mobile energy devices, for example, such as solar cells, fuel cells, clockwork generators, and / or the like. The apparatus 100 may comprise a camera and / or other sensor capable of recording and / or capturing images and / or video. Additionally, or alternatively, the apparatus 100 may comprise a depth sensor. The apparatus 100 may comprise a display 124. The apparatus 100 may comprise an infrared port for short range line-of-sight communication to other devices. In some embodiments, the apparatus 100 may comprise other types ofshort-range communication technologies, for example, such as Bluetooth, wireless connections, universal serial bus (USB) connections, firewire connections, wired connections, and / or other types of connections.

[0068] It should be understood that an apparatus, such as the apparatus 100, configured to perform one or more example embodiments of the present disclosure may have fewer and / or additional components, which may correspond to one or more processes the apparatus is configured to perform. For example, an apparatus configured to encode a video may not comprise a speaker or audio transducer and may comprise a microphone, while an apparatus configured to render a decoded vide may not comprise a microphone and may comprise a speaker or audio transducer.

[0069] An apparatus, such as the apparatus 100, may be configured to perform capture of a volumetric scene according to example embodiments of the present disclosure. For example, the apparatus 100 may comprise the camera 122 and / or other sensors capable or recording and / or capturing images and / or video. The apparatus may comprise one or more transceivers configured to enable transmission of captured content for processing at another device. The apparatus may comprise one or more transceivers configured to enable reception of captured content for processing at the apparatus. Such an apparatus may or may not include all elements shown in the example of FIG. 1 .

[0070] An apparatus, such as the apparatus 100, may be configured to perform processing of volumetric video content according to one or more example embodiments of the present disclosure. For example, the apparatus may comprise: a controller (e.g., the controller 102) for processing images to produce volumetric video content; a controller (e.g., the controller 102) for processing volumetric video content to project three-dimensional (3D) information into two-dimensional (2D) information, patches, and / or auxiliary information; a codec (e.g., the codec circuitry 106) for encoding 2D information, patches, and / or auxiliary information into a bitstream for transmission to another device via a radio interface (e.g., the radio interface circuitry 114); and / or other elements. Such an apparatus may or may not include all elements shown in the example of FIG. 1 .

[0071] An apparatus, such as the apparatus 100, may be configured to perform encoding and / or decoding of 2D information representative of volumetric video content according to one or more example embodiments of the present disclosure. For example, the apparatus may comprise a codec (e.g., the codec circuitry 106) for encoding and / or decoding 2D information representative of volumetric video content. Such an apparatus may or may not include all elements shown in the example of FIG. 1 .

[0072] An apparatus, such as the apparatus 100, may be configured to perform rendering of decoded 3D volumetric video according to one or more example embodiments of the present disclosure. For example, the apparatus may comprise a controller (e.g., the controller 102) for projecting 2D information to reconstruct 3D volumetric video and / or a display (e.g., the display 124) for rendering decoded 3D volumetric video. Such an apparatus may or may not include all elements shown in the example of FIG. 1 .

[0073] Embodiments described may be implemented in a communication network, such as any of the following radio access technologies (RATs): Worldwide Interoperability for Micro-wave Access (WiMAX), Global System for Mobile communications (GSM, 2G), GSM EDGE radio access Network (GERAN), General Packet Radio Service (GRPS), Universal Mobile Telecommunication System (UMTS, 3G) based on basic wideband-code division multiple access (W-CDMA), high-speed packet access (HSPA), Long Term Evolution (LTE), LTE-Advanced, and enhanced LTE (eLTE), 5G (also called NR), or any future RAT such as 6G. Moreover, communications within the communication network may utilize any proper wireless communication technology, comprising but not limited to: Code Division Multiple Access (CDMA), Frequency Division Multiple Access (FDMA), Time Division Multiple Access (TDMA), Frequency Division Duplex (FDD), Time Division Duplex (TDD), Multiple-Input Multiple-Output (MIMO), Orthogonal Frequency Division Multiple (OFDM), and / or Discrete Fourier Transform spread OFDM (DFT-s-OFDM).

[0074] As used herein, the terms “network device” and / or “network node” refer to a node in a communication network via which user equipment may access the network and / or which is capable of controlling radio communication and managing radio resources within a cell. The network node or network device may be referred to as a base station (BS), an access point (AP), or an access node. The network device may be, depending on the applied technology, for example, a node B (NodeB or NB), an evolved NodeB (eNodeB or eNB), an NR NB (also referred to as a gNB), a Remote Radio Unit (RRU), a radio head (RH), a remote radio head (RRH), a relay, an Integrated Access and Backhaul (I AB) node, a low power node, a non-terrestrial network (NTN) or non-ground network device such as a satellite network device, a low earth orbit (LEO) satellite and a geosynchronous earth orbit (GEO) satellite, or an aircraft network device.

[0075] Referring now to FIG. 2, an example of a system 200, within which one or more embodiments of the present disclosure may be utilized and / or implemented, is shown. The system 200 comprises multiple communication devices which may communicate via one or more networks. The system 200 may comprise any combination of wired and / or wireless networks including, but not limited to: a wireless cellular network (e.g., GSM, UMTS, Evolved UMTS Terrestrial Radio Access (E-UTRA), Long Term Evolution (LTE), CDMA, 4G, 5G, 6G, etc.), a WLAN such as defined by any one or more standards (e.g., the Institute of Electrical and Electronics Engineers (IEEE) 802.x standards), a short-range personal area network (e.g., a Bluetooth personal area network), an Ethernet local area network, a token ring local area network, a wide area network, the Internet, and / or other networks. The system 200 may include wired and / or wireless communication devices and / or electronic devices configured to implement one or more embodiments of the present disclosure.

[0076] The example of FIG. 2 shows an exemplary mobile telephone network 202 and a representation of the Internet 204. Connectivity to the internet 204 may include, but is not limited to, longrange wireless connections, short range wireless connections, telephone lines, cable lines, power lines, and / or other wireless and / or wired connections.

[0077] Example communication devices included in the system 200 may include, but are not limited to, a first apparatus 206 (e.g., a mobile and / or non-mobile telephone), a second apparats 208 (e.g., a combination of a personal digital assistant (PDA) and a mobile telephone), a third device 210 (e.g., a PDA), a fourth device 212 (e.g., an integrated messaging device (IMD), a desktop computer 214, a notebook and / or laptop computer 216, a head-mounted display 218, and / or other devices. The apparatus 100 may comprise any such communication devices. In an example embodiment of the present disclosure, more than one of these devices, or a plurality of one or more of these devices, may perform one or more disclosed processes. Any one or more of the devices may connect to the Internet 204 via a wireless connection 220.

[0078] Embodiments of the present disclosure may be implemented in other types of devices, for example, such as: a set-top box (e.g., a digital television (TV) receiver), which may or may not have a display and / or wireless capabilities; tablet and / or laptop personal computers (PCs), which may have hardware and / or software to process neural network data; various operating systems; chipsets, processors, DSPs, and / or embedded systems offering hardware- and / or software-based coding. Embodiments of the present disclosure may be implemented in cellular telephones such as smart phones having wireless communication capabilities, tablets having wireless communication capabilities, PDAs having wireless communication capabilities, portable computers having wireless communication capabilities, image capture devices such as digital cameras having wireless communication capabilities, gaming devices having wireless communication capabilities, music storage and / or playback appliances having wireless communication capabilities, I nternet-of-Things (loT) devices having wireless communication capabilities, Internet appliances permitting wireless Internet access and / or browsing, portable units and / or terminals incorporating one or more combinations of such functions, and / or other devices.

[0079] At least one of the example communication devices included in the system 200 may send and / or receive calls and / or messages, and / or communicate with service providers via a wireless connection 222 to a base station 224. The base station 224 may be an eNB, a gNB, and / or the like. The base station 224 may be connected to a network server 226 which may allow communication between the mobile telephone network 202 and the Internet 204. The system 200 may include additional communication devices and / or communication devices of various types.

[0080] The example communication devices included in the system 200 may communicate using various transmission technologies including, but not limited to, CDMA, GSM, UMTS, TDMA, frequency division multiple access (FDMA), transmission control protocol internet protocol (TCP-IP), short messagingservice (SMS), multimedia messaging service (MMS), electronic mail (e-mail), instant messaging service (IMS), rich communication service (RCS), Bluetooth, IEEE 802.11 , 3rdGeneration Partnership Project (3GPP) Narrowband loT, and / or any other wireless communication technologies. A communications device involved in implementing various embodiments of the present disclosure may communicate using various media including, but not limited to, radio, infrared (IR), laser, cable connections, and / or any other suitable connection.

[0081] As used herein, the term “channel” may refer to a physical channel and / or to a logical channel. A physical channel may refer to a physical transmission medium such as a wire. A logical channel may refer to a logical connection over a multiplexed medium, for example, capable of conveying an information signal (e.g., a bitstream such as an MPEG-I bitstream from one or more senders and / or transmitters to one or more receivers).

[0082] Referring now to FIG. 3, an example network diagram 300 is provided. In various embodiments, the processes and functionality described herein are implemented by an application server 301, a terminal device 303, and / or the like. For example, an application server 301 may comprise, or be embodied as, one or more apparatuses 100. As another example, a terminal device 303 may comprise one or more apparatuses 100’, which may be embodied as one or more client applications 305. In various embodiments, the apparatuses 100, 100’ are configured to perform methods described herein. For example, the apparatuses 100, 100’ may be configured to perform an embodiment of the method 1600 shown in FIG. 16 and described herein.

[0083] In some embodiments, the application server 301 embodies one or more computing environments comprising computing resources configured to communicate and provide data, services, and / or the like to clients. For example, the application server 301 may comprise a computing environment configured to provide image viewing services, image data, audio data and / or the like to one or more terminal devices 303. In some embodiments, the application server 301 is associated with a client application 305. For example, in a geospatial context, an application server 301 may include an imagebased mapping service by which a client application 305 (e.g., a mapping application, navigational application, and / or the like) may access or view geospatial images. In various embodiments, the application server 301 includes non-transitory memory, volatile memory, and / or the like that is configured to store information, data, content, applications, instructions, or the like for enabling the apparatus 100 to carry out various functions in accordance with an example embodiment disclosed herein. For example, the application server 301 may include memory configured to store instructions for encoding or decoding hierarchical images, or segments thereof, in accordance with a file format data structure.

[0084] In some embodiments, the terminal device 303 is a user equipment (UE) configured to render media on a display, such as images, videos, and / or the like. For example, the terminal device 303 may bea mobile telephone (e.g., smartphone, and / or the like), tablet, phablet, personal digital assistant, wearable device, game console, Internet of Things (loT) device, infotainment system, streaming device, navigation device, and / or the like. In various embodiments, the client application 305 is configured to encode or decode hierarchical images, or segments thereof, in accordance with a file format data structure described herein. In some embodiments, the terminal device 303 includes memory that is accessible to the client application 305. The memory of the terminal device 303 may include information, data, content, applications, instructions, or the like for enabling the apparatus 100’ to carry out various functions in accordance with an example embodiment disclosed herein.

[0085] In some embodiments, the application server 301 is configured to provision and receive data to and from the terminal device 303 via the client application 305 and the mobile telephony network 202 or Internet 204. For example, the application server 301 may provision image data to the client application 305, the image data including a plurality of encoded segments (e.g., grid portions, tiles, and / or the like that are associated with spatial subregions of one or more versions of an image). Additionally, or alternatively, the application server 301 may receive such image data from the client application 305. In some embodiments, the application server 301 is configured to receive features from the terminal device 303 via the client application 305. For example, the terminal device 303 may include one on or more input devices configured to receive user input for defining features of image or other media interactions, such as a zooming interaction, panning interaction, a current viewing position, and / or the like.

[0086] In some examples, such as in geospatial applications, image resolution may exceed 300,000 pixels by 300,000 pixels, and image sizes continue to grow. In at least some technologies, images are accessed over a network using "cloud optimization" techniques. Image storage techniques such as tiles and / or grid portions, and / or image pyramids and / or image overviews may be used for simplified access to at least portions of and / or lower resolution versions of an image. Tiles may be set based on end device capabilities. For example, to accommodate some handheld computer devices (e.g., mobile phones, smartphones, tablets, wearable devices, laptop computers, etc.) and / or non-mobile computer devices (desktop computers, etc.), tile or grid portion resolutions such as 512 pixels by 512 pixels and / or 1000 pixels by 1000 pixels may be used. As a user navigates the large image space, individual tiles may be pulled, for example, depending on pan and / or zoom commands from the user (e.g., via a browser interface). Hypertext Transfer Protocol (HTTP) byte range requests may bey used to achieve efficiency and / or to enable functionality using some built-in browser and web server capabilities. In at least some technologies, cloud optimized geospatial Tagged Image File Format (GeoTIFF) may be used.Embodiments of the present disclosure provide for HEIF technologies, for example, for such extremely large images, providing feature benefits, capability benefits, and / or other advantages compared with other technologies.

[0087] Some media file format standards which may be used to implement one or more embodiments described herein include International Standards Organization (ISO) base media file format (ISO / IEC 14496-12, which may be abbreviated ISOBMFF), Moving Picture Experts Group (MPEG)-4 file format (ISO / IEC 14496-14, also known as the MP4 format), file format for Network Abstraction Layer (NAL) unit structured video (ISO / IEC 14496-15), High Efficiency Video Coding standard (HEVC or H.265 / HEVC), and / or other format standards (e.g., developing file formats and / or file format standards).

[0088] In files conforming to the ISO base media file format, the media data may be provided in one or more instances of MediaDataBox (“mdat”) and the MovieBox (“moov”) may be used to enclose the metadata for timed media. In some cases, for a file to be operable, both of the “mdat” and “moov” boxes may be required to be present. The “moov” box may include one or more tracks, and each track may reside in one corresponding TrackBox (“trak”). Each track is associated with a handler, identified by a four- character code, specifying the track type. Video, audio, and image sequence tracks may be collectively referred to as media tracks, and may contain an elementary media stream. Other track types may comprise hint tracks and timed metadata tracks.

[0089] Tracks may comprise samples, such as audio or video frames. In a context of video tracks, a media sample may correspond to a coded picture or an access unit.

[0090] A media track generally refers to samples (which may also be referred to as media samples) formatted according to a media compression format (and its encapsulation to the ISO base media file format). A hint track generally refers to hint samples, containing cookbook instructions for constructing packets for transmission over an indicated communication protocol. A timed metadata track may refer to samples describing referred media and / or hint samples.

[0091] The 'trak' box includes in its hierarchy of boxes the SampleDescriptionBox, which gives detailed information about the coding type used, and any initialization information needed for that coding. The SampleDescriptionBox contains an entry-count and as many sample entries as the entry-count indicates. The format of sample entries is track-type specific but derived from generic classes (e.g. VisualSampleEntry, AudioSampleEntry). Which type of sample entry form is used for derivation of the track-type specific sample entry format is determined by the media handler of the track.

[0092] The track reference mechanism may be used to associate tracks with each other. The TrackReferenceBox includes box(es), each of which provides a reference from the containing track to a set of other tracks. These references are labeled through the box type (e.g., the four-character code of the box) of the contained box(es).

[0093] In ISOMBFF, an edit list provides a mapping between the presentation timeline and the media timeline. Among other things, an edit list provides for the linear offset of the presentation of samples in a track, provides for the indication of empty times and provides for a particular sample to be dwelled on for acertain period of time. The presentation timeline may be accordingly modified to provide for looping, such as for the looping videos of the various regions of the scene.

[0094] Referring now to the syntax 400 illustrated in FIG. 4, an example of a box including an edit list (the EditListBox) is provided. In ISOBMFF, an EditListBox may be contained in EditBox, which is contained in TrackBox ('trak'). In this example of the edit list box, flags specify the repetition of the edit list. By way of example, setting a specific bit within the box flags (the least significant bit, i.e., flags & 1 in ANSI-C notation, where & indicates a bit-wise AND operation) equal to 0 specifies that the edit list is not repeated, while setting the specific bit (i.e., flags & 1 in ANSI-C notation) equal to 1 specifies that the edit list is repeated. The values of box flags greater than 1 may be defined to be reserved for future extensions. As such, when the edit list box indicates the playback of zero or one samples, (flags & 1) shall be equal to zero. When the edit list is repeated, the media at time 0 resulting from the edit list follows immediately the media having the largest time resulting from the edit list such that the edit list is repeated seamlessly.

[0095] In ISOBMFF, a Track group enables grouping of tracks based on certain characteristics or the tracks within a group have a particular relationship. Track grouping, however, does not allow any image items in the group.

[0096] Referring now to FIG. 5, an example syntax 500 of TrackGroupBox in ISOBMFF is provided. In the example of FIG. 5, track_group_type indicates the grouping_type and shall be set to one of the following values, or a value registered, or a value from a derived specification or registration: 'msrc' indicates that this track belongs to a multi-source presentation. The tracks that have the same value of track_groupjd within a TrackGroupTypeBox of track_group_type 'msrc' are mapped as being originated from the same source. For example, a recording of a video telephony call may have both audio and video for both participants, and the value of track_group Jd associated with the audio track and the video track of one participant differs from value of track_group_id associated with the tracks of the other participant. The pair of track_group_id and track_group_type identifies a track group within the file. The tracks that contain a particular TrackGroupTypeBox having the same value of track_group Jd and track_group_type belong to the same track group.

[0097] Entity grouping is similar to track grouping but enables grouping of both tracks and image items in that same group. Referring now to FIG. 6, an example syntax 600 of EntityToGroupBox in ISOBMFF is provided. In the example of FIG. 6, groupjd is a non-negative integer assigned to the particular grouping that shall not be equal to any groupjd value of any other EntityToGroupBox, any item_l D value of the hierarchy level (file, movie, or track) that contains the GroupsListBox, or any track_ID value (when the GroupsListBox is contained in the file level). In the example of FIG. 6, num_entitiesjn_group specifies the number of entityjd values mapped to this entity group. In the example of FIG. 6, entityjd is resolved to an item, when an item with item J D equal to entityjd is presentin the hierarchy level (e.g., file, movie, and / or track) that contains the GroupsListBox, or to a track, when a track with track_ID equal to entityjd is present and the GroupsListBox is contained in the file level.

[0098] Files conforming to the ISOBMFF may contain any non-timed objects, referred to as items, meta items, and / or metadata items, in a meta box (four-character code: “meta”). While the name of the meta box refers to metadata, items may generally contain metadata or media data. The meta box may reside at the top level of the file, within a movie box (four-character code: “moov”), and within a track box (four-character code: “trak”), but at most one meta box may occur at each of the file level, movie level, or track level. The meta box may be required to contain a “hdlr” box indicating the structure or format of the “meta” box contents. The meta box may list and characterize any number of items that may be referred and each one of them may be associated with a file name and are uniquely identified with the file by item identifier (item Jd) which is an integer value. The metadata items may be for example stored in the 'idat' box of the meta box or in an 'mdat' box or reside in a separate file. If the metadata is located external to the file then its location may be declared by the DatalnformationBox (four-character code: “dinf’). In the specific case that the metadata is formatted using Extensible Markup Language (XML) syntax and is required to be stored directly in the MetaBox, the metadata may be encapsulated into either the XMLBox (four-character code: “xml “) or the BinaryXMLBox (four-character code: “bxml”). An item may be stored as a contiguous byte range, or it may be stored in several extents, each being a contiguous byte range. In other words, items may be stored fragmented into extents, e.g. to enable interleaving. An extent is a contiguous subset of the bytes of the resource. The resource may be formed by concatenating the extents.

[0099] A common base structure is used to contain general untimed metadata. This structure is called the MetaBox, as it was originally designed to carry metadata— data that is annotating other data. However, it may be used for a variety of purposes including the carriage of data that is not annotating other data, for example, when present at “file level.” The MetaBox is required to contain a HandlerBox indicating the structure or format of the MetaBox contents. Other contained boxes (e.g., all other contained boxes) are specific to the format specified by the HandlerBox. The other boxes defined herein may be defined as optional or mandatory for a given format. If they are used, then they shall take the form specified herein. These optional boxes include a DatalnformationBox, which documents other files in which metadata values (e.g., pictures) are placed, and / or an ItemLocationBox, which documents where in those files each item is located (e.g. in the common case of multiple pictures stored in the same file). At most one MetaBox may occur at each of the file level, segment, movie level, or track level. If an ItemProtectionBox occurs, then some or all of the metadata, including possibly the primary resource, may have been protected and be unreadable unless the protection system is taken into account. The MetaBox is a container box extending FullBox.

[0100] Metadata items are identified by item J D. Within a given MetaBox, a given item_l D shall uniquely refer to a single item. When an item is updated in movie fragments, the item_l D refers to the latest received version. Derived specifications may further restrict the criteria for uniqueness: unique among the itemJDs in both file and movie-level boxes, and / or unique within that set extended with the trackJD of the tracks in a movie box.

[0101] In some examples, there are three scopes for item_IDs: file and segments; MovieBox and MovieFragmentBox; and TrackBox and TrackFragmentBox. In other words, there shall be only one item with a given itemJD within a given scope (e.g. in the TrackBox and all TrackFragmentBox with the same trackJD).

[0102] Referring now to the example syntax 700 illustrated in FIG. 7, an exemplary metadata format is provided. The structure or format of the metadata is declared by the handler. In the case that the primary data is identified by a primary item, and that primary item has an item information entry with an item_type, the handler type may be the same as the item_type. The ItemPropertiesBox enables the association of any item with an ordered set of item properties. Item properties may be regarded as small data records. The ItemPropertiesBox consists of two parts: ItemPropertyContainerBox that contains an implicitly indexed list of item properties, and one or more ItemPropertyAssociationBox(es) that associate items with item properties.

[0103] High Efficiency Image File Format (HEIF) is a standard developed by the Moving Picture Experts Group (MPEG) for storage of images and image sequences. Among other things, the standard facilitates file encapsulation of data coded according to the High Efficiency Video Coding (HEVC) standard. HEIF includes features building on top of the used ISO Base Media File Format (ISOBMFF).

[0104] The ISOBMFF structures and features are used to a large extent in the design of HEIF. The basic design for HEIF comprises still images that are stored as items and image sequences that are stored as tracks. An item in HEIF is defined as the data that does not require timed processing, as opposed to sample data, and is described by the boxes contained in a MetaBox.

[0105] In the context of HEIF, the following boxes may be contained within the root-level 'meta' box and may be used as described in the following. In HEIF, the handler value of the Handler box of the 'meta' box is 'pict'. The resource (e.g., within the same file, or in an external file identified by a uniform resource identifier) containing the coded media data is resolved through the Data Information ('dinf ) box, whereas the Item Location ('Hoc') box stores the position and sizes of every item within the referenced file. The Item Reference ('iref') box documents relationships between items using typed referencing. If there is an item among a collection of items that is in some way to be considered the most important compared to others, such an item may be signaled by the Primary Item ('pitm') box. Apart from the boxes mentioned here, the 'meta' box is also flexible to include other boxes that may be necessary to describe items.

[0106] Any number of image items may be included in the same file. Given a collection of images stored by using the 'meta' box approach, it sometimes is essential to qualify certain relationships between images. Examples of such relationships include indicating a cover image for a collection, providing thumbnail images for some or all of the images in the collection, and associating some or all of the images in a collection with an auxiliary image such as an alpha plane. A cover image among the collection of images is indicated using the 'pitm' box. A thumbnail image or an auxiliary image is linked to the primary image item using an item reference of type 'thmb' or 'auxl', respectively.

[0107] HEIF defines a derived image item (an item with an item_type value of 'grid') whose reconstructed image is formed from one or more input images in a given grid order within a larger canvas.

[0108] The input images are inserted in row-major order, top-row first, left to right, in the order of SingleltemTypeReferenceBox of type 'dimg' for this derived image item within the ItemReferenceBox. In the SingleltemTypeReferenceBox of type 'dimg', the value of fromJtemJD identifies the derived image item of type 'grid', the value of reference_count shall be equal to rows*columns, and the values of toJtemJD identify the input images. All input images shall have exactly the same width and height; call those tile_width and tile_height. The tiled input images shall completely “cover” the reconstructed image grid canvas, where tile_width*columns is greater than or equal to output_width and tile_height*rows is greater than or equal to outp ut_hei ght.

[0109] The reconstructed image is formed by tiling the input images into a grid with a column width equal to tile_width and a row height equal to tile_height, without gap or overlap, and then trimming on the right and the bottom to the indicated output_width and output_height.

[0110] If the desired input images are not of a consistent size, then derived image items that scale or crop them, as needed to make them consistent, may be used; other specifications may, however, restrict whether derived image items are permissible as input to the image grid-derived image item. When removing an item that is marked as an input image of an image grid item, the content of the image grid item might need to be rewritten.

[0111] Referring now to FIG. 8, an example syntax 800 of a gird-derived image item is provided. Semantics of the parameters in the grid-derived image item are as follows: a. version shall be equal to 0. Readers shall not process an ImageGrid with an unrecognized version number. b. (flags & 1 ) equal to 0 specifies that the length of the fields outp ut_wi dth , o utp ut_heig ht, is 16 bits, (flags & 1) equal to 1 specifies that the length of the fields output_width, output_height, is 32 bits. The values of flags greater than 1 are reserved.c. outp ut_width, outp ut_heig ht: specifies the width and height, respectively, of the reconstructed image on which the input images are placed. The image area of the reconstructed image is referred to as the canvas. d. rows_minus_one, columns_minus_one: specifies the number of rows of input images, and the number of input images per row. The value is one less than the number of rows or columns respectively. Input images populate the top row first, followed by the second and following, in the order of item references.

[0112] In some examples, grid-derived image items are limited to 256 tiles by 256 tiles because the rows_minus_one and columns_minus_one are stored as 8 bit integers.

[0113] The Draft International Standard amendment 1 of HEIF (ISO / IEC 230008-12: 2024 / AMD1 :2024(E) WG03N1297_MDS24143) specifies the ConstrainedExtentsGridProperty, which may be defined as follows: a. Box type: 'cexg' b. Property type: Descriptive item property c. Container: ItemPropertyContainerBox d. Mandatory (per item): No e. Quantity (per item): At most one

[0114] The ConstrainedExtentsGridProperty descriptive item property indicates that each extent of the associated image item in the itemLocationBox is constrained to enclose data units of the item that are extractable as a contiguous byte range and are independently decodable and renderable as image tiles.

[0115] Some (e.g., all) data units or properties required to configure the decoder and decode an image tile are declared in the decoder configuration and initialization properties associated with the image item. The reconstructed image of the associated image item is formed from one or more image tiles in a given grid order within a larger canvas.

[0116] The image tiles corresponding to the extents are inserted in row-major order, top-row first, left to right, in the order of the extents for the associated image item within the ItemLocationBox. The value of extent_count within the ItemLocationBox shall be equal to (1 -H'ows_minus_one)*(1 -^olumns_minus_one). Some (e.g., all) image tiles shall have exactly the same width and height, image_tile_width and image_tile_height. The reconstructed image is formed by tiling the image tiles into a grid with a column width equal to image_tile_width and a row height equal to image_tile_height, without gap or overlap. The grid of image tiles shall completely “cover” the reconstructed image of the associated image item, where image_tile_width*columns is greater than or equal to image_width and image_tile_height*rows is greater than or equal to image_height, where image_width and image_height are signalled in the ImageSpatialExtentsProperty associated with the image item.

[0117] Referring now to FIG. 9, an example syntax 900 of the ConstrainedExtentsGridProperty is provided. Semantics of the parameters of the constrained extents grid property are as follows: a. (flags & 1 ) equals to 0 specifies that the length of the fields i mage_ti le_wi dth and image_tile_height is 16 bits, (flags & 1) equals to 1 specifies that the length of the fields image_tile_width and image_tile_height is 32 bits. The values of flags greater than 1 are reserved. b. image_tile_width, image_tile_height: specify respectively the width and height in pixels of the image tiles. c. rows_minus_one, columns_minus_one: specify the number of rows of image tiles, and the number of image tiles per row. The value is one less than the number of rows or columns respectively. Image tiles enclosed in extents populate the top row first, followed by the second row and following rows, in the order of extents.

[0118] An overview image is described by a grid-derived image item or a tiled pre-derived coded image item whose reconstructed image is formed from generating a lower resolution, “binned” version of the reconstructed image of a base image item. The base image item is also a tiled image item. The tiling may be implemented using a feature of a specific codec, or by using a grid-derived image item. When a grid-derived image item is used, the input items to the grid define the tiles. Derived image items shall not be used as inputs to the image grid, due to the need for in place byte range accessing of content. Individual tiles shall be written contiguously in memory, thereby allowing access with a single read or write action.

[0119] A pre-defined coded image item representing an overview image or an image item representing the base image that are tiled using a feature of a specific codec shall be stored in such a way that each extent identifies that data range corresponding to a tile, and shall be associated with a ConstrainedExtentsGridProperty indicating the constraint on the extents and describing the tiling grid.

[0120] An overview image shall be tiled using the same tiling scheme as the base image, for example, if tiles in the base image are X by Y pixels, they are X by Y pixels in the overview image. In cases where the binned resolution results in a fractional, or incomplete tile at the end of a row (column), the last tile in a row (column) of tiles shall be padded with the value zero at the end of the row (column) to complete the last tile in the row (column). The clean aperture transformative property ('clap') may be applied to crop padded rows and / or columns. The number of tiles in a row (column) of tiles is determined by dividing the width (height) of the overview image by the tile size in X (tile size in Y) and rounding up.

[0121] The image format of the overview images is the same as the base image, for example, the overview images may have the same number of bands, bit depth, color format, etc. as the base image.

[0122] Overview images are associated with the original full resolution base image, using a reference of type 'base' and may be stacked together with the base image as a series of progressively binned images in an Image Pyramid Entity Group, which may be defined as follows: a. Box Type: 'pymd' b. Container: GroupsListBox in a MetaBox at file level c. Mandatory: No d. Quantity: Zero or more

[0123] The ImagePyramidEntityGroup indicates a set of image items, formed as a base image item and a series of progressively binned overview image items, which together form an image pyramid. At least one overview image item (e.g., each overview image item) has a reference to the original full resolution base image item, using a reference of type 'base'. The ImagePyramidEntityGroup also provides overall information for the individual tiles inside the overview image items and base image item of the image pyramid.

[0124] The image format of the overview images shall be the same as the base image (e.g., same number of bands, bit depth, color format, etc.). This entity group shall contain entity Jd values that point to a base image item and a set of overview image items and shall contain no entity Jd values that point to tracks. The entities shall be listed in the order of lowest resolution overview image item to the highest resolution overview image item, followed finally by the base image item of the image pyramid. There may be multiple ImagePyramidEntityGroups in the same file with different groupjd values.

[0125] All the entities of a same ImagePyramidEntityGroup, or only some of them, may also be members of a same entity group of type 'prgr' if they are stored in the file for allowing a progressive refinement. They may also be members of a same entity group of type 'altr' if they are proposed by the content creator as alternatives to be displayed for players not supporting the ImagePyramidEntityGroup. When using region partition groups jointly with an image pyramid, the area covered by a region partition group should correspond to the area of a tile of the image pyramid.

[0126] A region item may be associated with an image item within an ImagePyramidEntityGroup, for example, via at least one of: (a) an item reference of type 'cdsc' from the region item to the image item; and / or (b) a RegionPartitionGroupBox associated with the image item via an item reference of type 'rpds' and referencing the itemJD of the region item. A region item associated with a base image or an overview image within a same ImagePyramidEntityGroup may be applied to the output image of any image item within this ImagePyramidEntityGroup by applying the implicit resampling caused by the difference between the reference space of the region item and the size of the image.

[0127] A player may use the item reference of type 'base' of a merge region item to filter the region items that are inherited from other image items in the ImagePyramidEntityGroup. Referring now to FIG. 10,an example syntax 1000 of the ImagePyramidEntityGroup is provided. Semantics of the parameters of the image pyramid entity group are as follows: a. num_entities_in_group is as defined for EntityToGroupBox. In addition, it also specifies the number of layers of the image pyramid. b. tile_size_x, tile_size_y indicate the size in pixels of a tile in the width and height dimension, respectively, for all layers of the image pyramid. c. Iayer_bi nni ng indicates for each layer of the pyramid the level of binning between the base image and the overview image. A 2x2 binning is defined to be a layer_binning of 2, a 4x4 binning is defined to be 4, etc. The width and height for an overview image with layer_binning of 2 is half the width and half the height of the base image, etc. A base image has a layer_bi n ni ng of 1 . d. tiles_in_layer_row_minus1 , tiles_in_layer_column_minus1 indicate the number of tiles minus one in a row and a column, respectively, of a specific layer. If the layer is represented by a grid-derived image item, tiles_in_layer_row_minus1 is equal to rows_minus_one and tiles_in_layer_column_minus1 is equal to columns_minus_one. If the layer is represented by a tiled pre-derived coded image item with a ConstrainedExtentsGridProperty, then tilesjn_layer_row_minus1 is equal to rows_minus_one and tiles_in_layer_column_minus1 is equal to columns_minus_one.

[0128] In various embodiments, the Open Geospatial Consortium Cloud Optimized GeoTIFF (COG) Standard may rely on two characteristics of the TIFF v6 format (e.g., tiles and reduced resolution subfiles). In some embodiments the COG standard relies on GeoTIFF keys for georeferenced. In some embodiments, the COG standard relies on the HTTP range, which allows for efficient downloading of parts of imagery and grid coverage data on the web and to make fast data visualization of TIFF or BigTIFF files and fast geospatial processing workflows possible.

[0129] COG-aware applications may download only the information they need to visualize or process the data on the web. The COG standard formalizes the requirements for a TIFF file to become a COG file and for the HTTP server to make COG files available in a fast fashion on the web.

[0130] TIFF is a flexible, adaptable file format for handling images and data within a single file, by including the header tags (e.g., size, definition, image-data arrangement, applied image compression, etc.) that provide metadata about the images. The ability to store image data in a lossless format makes a TIFF file a useful image archive. TIFF may be used to store grey scale, color, or RGB images as well as integer of floating-point data, making it ideal as a support for storing the range set of a 2D grid coverage data.

[0131] To improve TIFF performance over the web, COG may rely on two characteristics of the TIFF v6 format, the georeference GeoTIFF keys and a relatively unused HTTP property. This way, COG allowsfor efficient downloading of parts of imagery and grid coverage data on the web, enables fast data visualization, and facilitates faster geospatial processing workflows. This particular type of TIFF has been recently used to set up a large series of remote sensing images on cloud providers repositories (e.g., Amazon Web Services), enabling cloud processing at lower traffic. COG-aware software may be configured to request just the portions of data that it needs, improving access time and bandwidth.

[0132] COG is based, at least in part, on the GeoTIFF standard. In some examples, legacy software may be able to read COG files with no additional modifications. The amount of data available for geospatial analytics has increased considerably in recent years. Therefore, downloading the data into a single computer is often not feasible. Data producers that provide data in the COG format may help decrease how much data is downloaded and copied. This is because online software systems do not need to keep their own copy of the data for efficient access. New online software may access the content efficiently, while old versions may still download the data completely. This avoids the need to have two copies of the file: one for fast access and another for download purposes.

[0133] COG may rely on two complementary approaches: (1) the ability of GeoTIFF to store the raw pixels of the image organized in an efficient way using tiles and overviews; and (2) HTTP GET Range request, which allow web clients to request only portions of a file that they need. Using the first approach, COG organizes the GeoTIFF so the latter requests may easily select and get the parts of the file that are useful for processing.

[0134] The Tiling and Reduced-Resolution Subfiles (sometimes called overviews) in the GeoTIFF format support structure for COG files so that the HTTP GET Range queries may request just the part of the file that is relevant.

[0135] Reduced-Resolution Subfiles come into play when the client wants to render a quick image of the whole or a big part of the area represented in the file. Instead of downloading every pixel, the software may just request a smaller, already created, lower resolution version. The structure of the COG file on an HTTP Range supporting web server enables client software to easily find and download just the part of the whole file that is needed.

[0136] Tiles come into play when some small area of the overall extent of the COG file needs to be processed or visualized. This could be part of a reduced-resolution subfile, or it could be at full resolution. Tile organization makes all the relevant bytes of an area (a tile) to be in the same part of the file, so the software may use HTTP GET Range request to get only the tiles it needs.

[0137] In the context for a TIFF file, Tiling is a strategy for dividing the content in the TIFF file differently than using the classical Strips. In the Strips approach the data are organized into sequences of lines (rows) while tiling creates a number of internal rectangular tiles stored in the actual image. Strips divide the content of an image vertically (rows) but not horizontally (columns). With Tiling, a much quickeraccess to a certain area or two-dimensional bounding box is possible as the relevant data is closer in the file and the portion of bytes that needs to be read is smaller than in the strips approach.

[0138] Reduced-Resolution Subfiles (e.g., overviews) are down-sampled versions of the same image included in the same TIFF file. This means that an overview is a zoomed-out version from the original image. It has less detail but is also smaller. For visualization purposes or for analytical processes that do not require full resolution, a COG may provide Reduced-Resolution Subfiles that match different scale denominators or cell sizes required by clients. Reduced-Resolution Subfiles increase the size of the file but also increase performance.

[0139] HTTP Version 1.1 introduced a range header in the GET requests that supports requesting only a fragment of a resource. If the server advertises "Accept-Ranges: bytes" in its response headers of a HEAD or GET request, the server is telling the client that bytes of data may be requested in parts, in separated requests. The client may request just the bytes that it needs from the server at any time. In a web environment, this is very useful for serving files such as video. By using range requests, clients do not need to download the entire file to begin playing it. In the case of COG, HTTP range is useful to get only the tiles needed to be processed or shown. This is done by getting the headers and IFDs of the TIFF file first and using this information to determine the conversion between tile indices to byte ranges containing the needed tiles. A client trying to show a COG file on the screen may request the resolutions needed and only the tiles needed to cover the screen. Once the user moves or pans, other GET range requests will get the new needed resolutions and tiles.

[0140] However, in existing file format data structures, the ConstrainedExtentsGridProperty may be limited in functionality for geospatial images. For example, in existing HEIF format, the ConstrainedExtentsGridProperty may fail to provide the necessary information required to independently decode each extent (e.g., image grid portion, image tile, and / or the like) of the geospatial image. Further, the HEIF format may fail may lack support for coordinate system-related information by which images may be mapped to respective geolocations. Additionally, in the existing HEIF format, the grouping of images needed for geospatial image rendering may be limited in functionality and defined as a new ImagePyramidEntityGroup instead of an extension of an alternative (“altr”) Entity Group.

[0141] To overcome these technical challenges, and others, the disclosure provides methods, apparatuses, and computer program products that extend or define a file structure format (e.g., HEIF, and / or the like) to support signaling geospatial images. In doing so, the methods, apparatuses, and computer program products may improve the efficiency of decoding and displaying geospatial images or segments thereof. Further, the methods, apparatuses, and computer program products may provide support for signaling and decoding geospatial metadata, such as geolocations, image or image segment dimensions, and / or the like.Large-Scale Tiled Hierarchical Image Retrieval Support with HEIF Format

[0142] As used herein, the terms “cloud optimized rendering,” “on-demand rendering,” “large-scale tiled hierarchical image retrieval rendering,” “tile-based rendering,” and “grid-based rendering” generally refer to rendering image content in successive steps where a respective step causes display of a segment of an image based at least in part on one or more features of the user or client including current viewing position, pan interaction, zoom interaction. For example, a respective step may cause display of a small spatial region of the image, referred to herein as a “grid portion” of the image or an image “tile.” As another example, a respective step may cause display of one of a plurality of versions of the image, where respective versions of the image are associated with different resolutions (e.g., different values of tile height, tile width, and / or the like. In the proceeding description, the term “large-scale tiled hierarchical image retrieval rendering” may be used with equivalent meaning to cloud optimized rendering, on-demand rendering, tile-based rendering, and grid-based rendering as defined herein. In some embodiments, a grid portion of an image includes a plurality of tiles. For example, a respective tile may be used to support parallelized encoding and decoding of grid portions (e.g., rectangular subsets) of an image.

[0143] In various embodiments, the present methods, apparatuses, and computer program products define or extend a file format data structure to support large-scale tiled hierarchical image retrieval rendering. For example, the present methods, apparatuses, and computer program products may extend or define the HEIF format to support large-scale tiled hierarchical image retrieval rendering. In doing so, the methods, apparatuses, and computer program products may overcome technical challenges associated with signaling geospatial images within the file format data structure.

[0144] In some embodiments, the methods, apparatuses, and computer program products extend or define a file structure format (e.g., HEIF format, and / or the like) to store images as grid-derived image items or images encoded with a form of grids, tiles, and / or the like that is / are inherently supported by the codecs (e.g., for motion constrained tile set in HEVC encoded images, subpictures in WC encode coded images, and / or the like). In some embodiments, the file structure format is configured such that, when image data is uncompressed (e.g., without any encoding), the grid portion support, tile support, and / or the is / are expected to be inherent with the storage. In some embodiments, the methods, apparatuses, and computer program products extend or define the file structure format to group images together to form overviews or reduced resolution sub-files, which represent the same content but are of different resolutions (e.g., from a very lower resolution to a very high resolution) and the grid-based and / or tile-based storage support.

[0145] In some embodiments, if the images contain geospatial data and are used for geospatial applications, the methods, apparatuses, and computer program products are configured to map images to respective geospatial metadata. In some embodiments, the methods, apparatuses, and computer programproducts define storage constraints for large-scale tiled hierarchical image retrieval rendering by specifying a new brand or defining a new item property for images which are either grid-derived image items or images encoded with a form of grids, tiles, and / or the like, that are inherently supported by the codecs.Constraining Images with Grids

[0146] In some embodiments, the methods, apparatuses, and computer program products extend or define HEIF format such that the ConstrainedExtentsGridProperty may only be associated with items that have item extents defined in the ItemLocationBox. In some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format to disallow the ConstrainedExtentsGridProperty from being associated with a grid-derived image item, which may not have item extents defined in the corresponding ItemLocationBox.

[0147] In some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format such that, when an item is associated with the ConstrainedExtentsGridProperty, the association signals that decoder configuration, decoder initialization information, and / or the like, that is required to independently decode each tile or the data in the corresponding extent is not present in the configuration item property with which the item is associated. In some embodiments, in accordance with the HEIF format extensions or definitions described herein and based at least part on the information in the ConstrainedExtentsGridProperty, the apparatus that is reading or playing the media content (e.g., a terminal device 303, application server 301 , and / or the like) generates the respective data required to independently decode each tile or the data in the corresponding extent. For example, if the image item with tiles, grid portions, and / or the like, is encoded with HEVC codec, the data generated to independently decode the respective image segments may be the Sequence Parameter Set (SPS) and Picture Parameter Set (PPS) NAL units of HEVC and any other NAL unit used for decoding the image segment. Further, in a context of image tiles, the decoding width and height of the tile in the extent may be set equal to the image_tile_width and image_tile_height parameters from the ConstrainedExtentsGridProperty.

[0148] Alternatively, in some embodiments, the apparatus is configured to utilize the data from the configuration item property with which the item is associated, and rewrite parts of the data required to independently decode respective tiles, the data in the corresponding extent, and / or the like, based at least in part on the information in the ConstrainedExtentsGridProperty. For example, if the image item is encoded with HEVC codec, the data may be the Sequence Parameter Set (SPS) and Picture Parameter Set (PPS) and any other NAL unit required to decode the image tile present in the associated configuration item property. In such contexts, the decoding width and height of the tile in the extent may be rewritten to be equal to the image_tile_width and image_tile_height parameters from the ConstrainedExtentsGridProperty.

[0149] In some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format to such that the ConstrainedExtentsGridProperty is extended to include the data required to independently decode respective tile, the data in the corresponding extent, and / or the like. For example, if the image tiles, grid portions, and / or the like, are encoded with HEVC codec, the data included in and obtained from the ConstrainedExtentsGridProperty may be the Sequence Parameter Set (SPS) and Picture Parameter Set (PPS) NAL units of HEVC and any other NAL unit used for decoding the image segment.

[0150] Referring now to FIG. 11 , provided therein is an example syntax 1100 by which the methods, apparatuses, and computer program products may extend or define the HEIF format to support the aforementioned functionality. In some embodiments, if a configuration_present_flag (indicium 1101) is set to 1 , the configuration_present_flag may signal to the apparatus the presence of a ConfigurationBox (indicium 1103) required to independently decode respective tiles, the data in the corresponding extent, and / or the like. In various embodiments, a respective ConfigurationBox may be referred to as a “configuration” pursuant to one of a plurality of encoded segments of an image (e.g., an image tile, gridded portion of an image, and / or the like). In some embodiments, the information provided in the ConfigurationBox for independently decoding the data in the corresponding extent is referred to herein as a set of “decoding instructions” pursuant to decoding the extent of the image. In various embodiments, decoding instructions comprise any number of resources, bit values, flags, properties, parameters, and / or the like that enable a computing asset (e.g., terminal device, application server, and / or the like) to independently decode image segments and associated metadata such respective image segments may be rendered on a display (e.g., including, where applicable, mappings to geospatial data).

[0151] As shown in the syntax 1100, the methods, apparatuses, and computer program products may organize the configuration information for independently decoding an image segment within the ConstrainedExtentsGridProperty. In doing so, the methods, apparatuses, and computer program products may reduce the volume of metadata required to support decoding of a grid-derived image or segments thereof.

[0152] In some embodiments, when the configuration_present_flag is set to 0, the configuration_present_flag may signal to the apparatus that a ConfigurationBox required to independently decode each extent is not present. In some embodiments, when set to 0, the configuration_present_flag further signals that the apparatus is to generate the respective data to independently decode respective tiles, the data in the corresponding extent, and / or the like.

[0153] Alternatively, in some embodiments, the ConstrainedExtentsGridProperty is without the configuration_present_flag. In some embodiments, the methods, apparatuses, and computer program products define or extend the HEIF format such that any bit within the flags field of theConstrainedExtentsGridPropertyConstraint may be used to indicate the presence or absence of the ConfigurationBox. Alternatively, in some embodiments, the methods, apparatuses, and computer program products define or extend the HEIF format such the ConstrainedExtentsGridProperty may always contain the ConfigurationBox (e.g., without any fields gating the presence or absence of the ConfigurationBox).

[0154] In some embodiments, the ConfigurationBox comprises or embodies the corresponding configuration-related information based on the codec used for encoding the image segment (e.g., image tile, grid portion, and / or the like). For example, if the image is encoded with WC subpictures, the ConfigurationBox comprises or embodies the corresponding VVCConfigurationBox within the WC configuration Item property as defined in the ISO / IEC 23008-12.

[0155] In some embodiments, the methods, apparatuses, and computer program products define or extend the HEIF format to comprises a new descriptive item property “ConstrainedExtentsGridsConfigurationltemProperty.” In some embodiments, the ConstrainedExtentsGridsConfigurationltemProperty comprises a four-character code (4cc_ value of “ceci,” with other suitable names and 4cc value being usable. In some embodiments, the ConstrainedExtentsGridsConfigurationltemProperty is associated with items having extents which are capable of being decoded independently. In some embodiments, the methods, apparatuses, and computer program products define or extend the HEIF format to allow the ConstrainedExtentsGridsConfigurationltemProperty to be associated with items that are also associated with the ConstrainedExtentsGridProperty.

[0156] In some embodiments, the ConstrainedExtentsGridsConfigurationltemProperty (also referred to herein as an “item property”) includes the data required to independently decode respective tiles, the data in the corresponding extent, and / or the like, of the associated item. For example, if the image tiles, grid portions, and / or the like, are encoded with HEVC codec, the data comprised within the ConstrainedExtentsGridsConfigurationltemProperty may include be the Sequence Parameter Set (SPS) and Picture Parameter Set (PPS) NAL units of HEVC and any other NAL unit used for decoding the image tile, grid portion, and / or the like.

[0157] Referring now to FIG. 12, provided therein is an example syntax 1200 by which the methods, apparatuses, and computer program products may extend or define the HEIF format to comprise the ConstrainedExtentsGridsConfigurationltemProperty (indicium 1201). In some embodiments, the ConfigurationBox is the corresponding configuration-related information based on the codec used for encoding the image segment (e.g., image tile, grid portion, and / or the like). For example, if the image is encoded with WC subpictures, the ConfigurationBox may comprise or embody the corresponding WCConfigurationBox within the WC configuration Item property as defined in the ISO / IEC 23008-12. In some embodiments, the apparatus that is reading or playing the media content is configured to use theconfiguration information present in the ConstrainedExtentsGridsConfigurationltemProperty to initialize the decoder and decode the data in the corresponding extent as defined by the ConstrainedExtentsGridProperty.

[0158] Referring now to FIG. 13, provided therein is a syntax 1300 by which the methods, apparatuses, and computer program products may extend or define the HEIF format to support parameters of the extended ConstrainedExtentsGridProperty or the ConstrainedExtentsGridsConfigurationltemProperty as described herein. In some embodiments, if the image tiles, the data in the image extent, and / or the like, need different decoder configuration data to be decoded, the respective parameters 1301 and 1301 may be present in the extended ConstrainedExtentsGridProperty or the ConstrainedExtentsGridsConfigurationltemProperty. In some embodiments, the parameter 1301 comprises an “extent_count” configured to specify a quantity of tiles, grid portions, extents, and / or the like, that are present in the associated image. In some embodiments, the extent_count is configured to be equal to the extent count value in the ItemLocationBox information of the associated item. Additionally, in some embodiments, the methods, apparatuses, and computer program products optimize the representation of the extent_count representation to reduce the number of bits used for encoding the value. In some embodiments, the parameter 1303 comprises a “config[i]” configured to specify the configuration information for the number / of the tile, grid portion, extent, and / or the like in the associated image.

[0159] In some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format such that a grid portion-derived image item is disallowed from being associated with the ConstrainedExtentsGridProperty and allowed to be associated with the ConstrainedExtentsGridsConfigurationltemProperty. In some embodiments, when a grid portion-derived image item is associated with the ConstrainedExtentsGridsConfigurationltemProperty, then association signals to the apparatus that the configuration information needed to decode the input images to the grid portion-derived image item is present in the ConstrainedExtentsGridsConfigurationltemProperty. In some embodiments, when a grid-derived image item is associated with the Constrai nedExtentsGridsConfigurationltemProperty, the input images to the grid-derived image item may lack the configuration information needed to decode the input images associated to them through the Configuration Item property. For example, if the input images to the grid-derived image item are WC1 image items and the grid-derived image item is associated with the ConstrainedExtentsGridsConfigurationltemProperty, the VVC1 image items may lack an association with the VVC Configuration Item property. In such contexts, the apparatus may obtain the configuration information needed to decode the VVC1 image items from the ConstrainedExtentsGridsConfigurationltemProperty with which the grid-derived image item is associated.

[0160] Referring now to FIG. 14, provided therein is a syntax 1400 by which the methods, apparatuses, and computer program products may extend or define the HEIF format such that, when an item is associated with ConstrainedExtentsGridsConfigurationltemProperty, the parsing of item data within respective extents is defined in the ItemLocationBox of the item. In the syntax 1400, the value of item_size (indicium 1401) may be equal to the corresponding extentjength value of the extent of the item, as specified in the ItemLocationBox. In some embodiments, the DecoderConfigurationRecord (indicium 1403) is configured to signal to the apparatus the record in the associated ConstrainedExtentsGridsConfigurationltemProperty. In some embodiments, if the ConstrainedExtentsGridsConfigurationltemProperty contains multiple configuration information for respective extents, the DecoderConfigurationRecord[i] signals the number / number of the record in the associated ConstrainedExtentsGridsConfigurationltemProperty.

[0161] In some embodiments, in the syntax 1400, the DataUnitLength (indicium 1405) signals to the apparatus the size of a data unit measured in bytes. In some embodiments, a data unit is an NAL unit. For example, the data unit may be an NAL unit if the image is encoded with AVC, HEVC, WC, or any codec which uses NAL unit interface in its encoding. In some embodiments, the length field includes the size of both the NAL unit header and the NAL unit payload but does not include the size of the length field itself. In some embodiments, a data unit is an open bitstream unit (OBU). For example, the data unit may be an OBU if the image is encoded with AV1 or any codec which uses OBU interface in its encoding. In some embodiments, the DataUnit contains a single data unit. In some alternate embodiments, the DataUnit may contain multiple data units. In some embodiments, the syntax of a data unit conforms to the bitstream definition in the corresponding codec used for encoding the image.

[0162] Referring now to FIG. 15, provided therein is a syntax 1500 by which the methods, apparatuses, and computer program products may extend or define the HEIF format such that, when a grid derive image item is associated with ConstrainedExtentsGridsConfigurationltemProperty, the parsing of item data within respective input images is defined in the ItemLocationBox of the item. In the syntax 1500, the value of item_size (indicium 1501) may be equal to the sum of the extentjength values of each extent of the item, as specified in the ItemLocationBox. In some embodiments, the DecoderConfigurationRecord (indicium 1503) signals to the apparatus the record in the ConstrainedExtentsGridsConfigurationltemProperty that is associated with the grid-derived image item. In some embodiments, if the ConstrainedExtentsGridsConfigurationltemProperty associated with the grid- derived image item contains multiple configuration information, the DecoderConfigurationRecord[i] indicates the / number of the record in the associated ConstrainedExtentsGridsConfigurationltemProperty. In some embodiments, the DataUnitLength (indicium 1505) indicates the size of a data unit measured in bytes. In some embodiments, a data unit may be an NAL unit for example if the image is encoded withAVC, HEVC, WC or any codec which uses NAL unit interface in its encoding. The length field includes the size of both the NAL header and the NAL unit payload but does not include the length field itself. A data unit may be a OBU unit for example if the image is encoded with AV1 or any codec which uses OBU unit interface in its encoding. In some embodiments, a data unit is an NAL unit. For example, the data unit may be an NAL unit if the image is encoded with AVC, HEVC, WC, or any codec which uses NAL unit interface in its encoding. In some embodiments, the length field includes the size of both the NAL header and the NAL unit payload but does not include the length field itself. In some embodiments, a data unit is an open bitstream unit (OBU). For example, the data unit may be an OBU if the image is encoded with AV1 or any codec which uses OBU interface in its encoding. In some embodiments, the DataUnit contains a single data unit. In some embodiments, the syntax of a data unit conforms to the bitstream definition in the corresponding codec used for encoding the image.

[0163] In some embodiments, the methods, apparatuses, and computer program products may extend or define the HEIF format such that, when an image item is associated with the ConstrainedExtentsGridsProperty and comprises tiles due to being a grid-derived image or a tile prederived image item, the image tiles corresponding to the extents are inserted in a scanning order signaled by the HEIF format. For example, may extend or define the HEIF format such that the image tiles corresponding to the extents are inserted in a row-major order, top-row first, left to right, in the order of the extents for the associated image item within the ItemLocationBox. Alternatively, in some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format such that the image tiles corresponding to the extents are inserted in a column-major order, left-column first, top to bottom, in the order of the extents for the associated image item within the ItemLocationBox. Alternatively, in some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format such that the image tiles are inserted in accordance with a first zig-zag scanning order 1601 (FIG. 16) in which the top row is inserted first in the order of the extents for the associated image item within the ItemLocationBox. Alternatively, in some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format such that the image tiles are inserted in accordance with a first zig-zag scanning order 1603 (FIG. 16) in which the image tiles are inserted in starting with the left column first in the order of the extents for the associated image item within the ItemLocationBox.

[0164] In some embodiments, the image tile arrangement corresponding to the extents are indicated in the ConstrainedExtentsGridsProperty, in the order of the extents for the associated image item within the ItemLocationBox.

[0165] Referring now to FIG. 17, provided therein is a syntax 1700 by which the methods, apparatuses, and computer program products may extend or define the HEIF format such that a ti le_arran geme nt_di rection (1701) indicates the scanning order to apply for tile access, insertion,arrangement, and / or the like. In some embodiments, in a first value (e.g., 0), the tile_arrangement_direction indicates a scanning order in which the extents are inserted in row-major order, top-row first, left to right. In some embodiments, in a second value (e.g., 1), the tile_arrangement_direction indicates a scanning order in which the extents are inserted in column-major order, left-column first, top to bottom. In some embodiments, in a third value (e.g., 2), the tile_arrangement_direction indicates a scanning order in which the extents are inserted in a first zig-zag order, starting from the top row. In some embodiments, in a fourth value (e.g., 3), the tile_arrangement_direction indicates a scanning order in which the extents are inserted in a second zig-zag order, starting from the left column. Other values of the tile_arrangement_direction may be reserved or allocated to other scanning orders. In various embodiments, the methods, apparatuses, and computer program products may extend or define the HEIF format to comprise a ti le_arrangement_present_flag (indicium 1703) that is configurable between a first value and a second value to indicate whether the scanning order (e.g., tile_arrangement_direction) is present.

[0166] In some embodiments, if an image item is associated with the ConstrainedExtentsGridsProperty and belongs to ImagePyramidEntityGroup, the tile size (e.g., image_tile_width and image_tile_height) of the associate image item is set to “image_tile_width = lmagePyramidEntityGroup.tile_size_x” and “image_tile_height = I magePyramidEntityGroup.tile_size_y .” Alternatively, in some embodiments, if the tile size (e.g., image_tile_width, image_tile_height) of the associated image item is not set as defined above, the apparatus may resize the associated image item to the tile size (tile_size_x, tile_size_y) as indicated in the ImagePyramidEntityGroup. In some embodiments, the parameters “rows_minus_one” and “columns_minus_one” indicate the number of tiles minus one in a row and a column, respectively, in the associated image item. The tiles_in_layer_row_minus1 may be set equal to rows_minus_one and tiles_in_layer_column_minus1 may be set equal to columns_minus_one.

[0167] Referring now to FIG. 18, provided therein is a syntax 1800 by which the methods, apparatuses, and computer program products may extend or define the HEIF format such that, if an image item is associated with the ConstrainedExtentsGridsProperty, the ConstrainedExtentsGridsProperty may be modified to indicate the tile size (e.g., image_tile_width and image_tile_height) and the number of tiles (e.g., rows_minus_one, columns_minus_one) of the associated image item to be conditionally present. In some embodiments, depending on the flag value, the tile size and the number of tiles is conditionally present. When the tile information is not present, the tile information may be derived in accordance with one or more embodiments described herein.

[0168] In some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format to define one or more flag values for indicating the presence of tiling information. For example, a flag value 0x001000, tile Jnfo_present may be defined that, when set (e.g., configured to a1), specifies that the tiling size and number of tiles are present. When not set (e.g., configured to a 0), the tile_number_info_present flag may specify that the fields tile size and number of tiles are not present. Alternatively, in some embodiments, the methods, apparatuses, and computer program products may extend or define the HEIF format such that different flag bits may be used to indicate the presence or absence of the fields tile size and number of tiles in the ConstrainedExtentsGridsProperty.

[0169] In some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format to define a flag 0x001000, tile_size_info_present (indicium 1803) that, when set, specifies that the tiling size parameter is present. When not set, the tile_size J nfo_present flag may specify that the fields tile size is not present. In some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format to define a flag 0x002000, tile_number_info_present (indicium 1801 ) that, when set, specifies that the number of tiles parameter is present. When not set, the tile_number_info_present flag may specify that the fields number of tiles is not present.

[0170] Referring now to FIG. 19, provided therein is a syntax 1900 by which the methods, apparatuses, and computer program products may extend or define the HEIF format such that a new parameter may be defined within the ConstrainedExtentsGridsProperty against the setting of the flag bits to indicate the presence or absence of the fields tile size and number of tiles in the ConstrainedExtentsGridsProperty. In some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format such that the tile_number_i nfo_present_flag (indicium 1801), when set, specifies that the parameters number of tiles is present. When not set, the ti le_n umber J nfo_present_flag may specify that the fields number of tiles are not present and are to be derived as defined in above embodiment. In some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format such that the tile_size_info_present_flag, when set, specifies that the field tiling size is present. When not set, the tile_size J nfo_present_flag may specify that the fields tile size is not present and are to be derived as defined in accordance with one or more embodiments described herein.

[0171] Additionally, or alternatively, in some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format to define an update to the ConstrainedExtentsGridsProperty that enables indication of a size index of a respective tile. In some embodiments, the ConstrainedExtentsGridProperty is extended or defined to include a parameter referred to as “tile_info_size_index” (or any other suitable name). The parameter tile_info_size_index may be represented as unsigned int (3) (e.g., a 3-bit unsigned integer representation). In various embodiments, the parameter tile_info_size_index provides the size of the parameter’s rows_minus_one, columns_minus_one, image_tile_width, and image_tile_height in bytes. For example, the parameter ti le_i nfo_size J ndex may take the value from 0 to 7, where the value 0 indicates that the size of theparameters is 1 byte up and the value 7 indicates the size of the said parameters is 8 bytes (e.g., indicating a 64-bit representation). In some embodiments, the values of the parameter tile_info_size_index are mapped to different byte sizes to extend the bit range of the aforementioned parameters.Image Overviews

[0172] In various embodiments, an overview image is described by a grid-derived image item or a tiled pre-derived coded image item whose reconstructed image is formed from generating a lower resolution, “binned” version of the reconstructed image of a base image item. In some embodiments, the base image item is also a tiled image item. The tiling may be implemented using a feature of a specific codec, or by using a grid-derived image item. In some embodiments, when a grid-derived image item is used, the input items to the grid define the tiles. In some embodiments, derived image items are not used as inputs to the image grid, due to the need for in place byte range accessing of content. In some embodiments, individual tiles are written contiguously in memory to allow access with a single read or write action.

[0173] In some embodiments, an image item representing the overview image or the base image with tiles may be associated with the ConstrainedExtentsGridProperty and the ConstrainedExtentsGridsConfigurationltemProperty. The associated ConstrainedExtentsGridProperty and the ConstrainedExtentsGridsConfigurationltemProperty may indicate the tiling grid and the constraints on a respective extent, the configuration data needed to decode the respective extent independently, and / or the like. In some embodiments, the overview image is disallowed from being tiled using the same tiling scheme as the base image. For example, the base image may have an internal tile resolution of 1024x1024, whereas the overview image may not have any internal tiles or may have tiles of different resolution such as 512x512. In some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format such that, if the image encoding format of overview images is different from the image encoding format of the base image, the reconstructed overview image is converted to the image format of the base image. For example, the number of bands, bit depth, color format, and / or the like, may be different for the overview image and the base image.

[0174] In some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format such that, if the image encoding format of overview images is different from the image encoding format of the base image, the overview images may be associated with item properties to convert the reconstructed overview image to the format of the base image. In some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format to comprise a new item reference defined from the overview image to the base image indicating that the associated image item is an overview of the base image item. The new item reference may be defined with the with the 4cc value “over” (e.g., or another suitable value). Alternatively, or additionally, in some embodiments,another item reference is defined from the base image to the overview image indicating that the associated image item is a full resolution base image of the overview image item. In such context, the item reference may be defined with the 4cc value “frbi” or another suitable value.

[0175] In some embodiments, a respective region of an overview image of the base image may be formed by a derivation process from the corresponding region of the base image. For example, the derivation process may include sum, average, median, minimum, maximum, and / or the like. In some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format such that the derivation process to be used to obtain a region of an overview image from a base image is indicated by a new item property associated with the overview image item. The new item property may be referred to as the binderivationitemproperty (indicium 2001 , see FIG. 20) with a 4cc value “bide,” or another suitable value. In various embodiments, the binderivationitemproperty item property indicates the derivation process to be used to reconstruct the overview image from the base image. In some embodiments, the binderivationitemproperty is referred to as a “bin derivation property.”

[0176] Referring now to FIG. 20, provided therein is a syntax 2000 by which the methods, apparatuses, and computer program products may extend or define the HEIF format such that a bin_derivation (indicium 2003) identifies the derivation process used to reconstruct a region of the associated overview image from the base image. In some embodiments, the bin_derivation is configurable between a plurality of values. In a first value (e.g., 1), the bin_derivation may indicate a derivation process comprising summation of samples values. In a second value (e.g., 2), the bin_derivation may indicate a derivation process comprising average of sample values. In a third value (e.g., 3), the bin_derivation may indicate a derivation process comprising median of sample values. In a fourth value (e.g., 4), the bin_derivation may indicate a derivation process comprising minimum of sample values. In a fifth value (e.g., 5), the bin_derivation may indicate a derivation process comprising maximum of sample values. Other values may be reserved and associated with additional derivation processes.

[0177] In some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format such that all the overview images and the base image are grouped together with the ImagePyramidEntityGroup. In some embodiments, the ImagePyramidEntityGroup indicates a set of image items, formed as a base image item and a series of progressively binned overview image items, which together form an image pyramid. In some embodiments, the entities listed in ImagePyramidEntityGroup are in the order of lowest resolution overview image item to the highest resolution overview image item, followed by the base image item of the image pyramid. In some embodiments, the data corresponding to the image items included in a ImagePyramidEntityGroup entity group are stored in the same order as the one used for the image items inside theImagePyramidEntityGroup entity group. In this manner, a renderer progressively obtaining a file may perform a progressive refinement as item data becomes available.

[0178] In some embodiments, image items of the same ImagePyramidEntityGroup entity group may be members of the same 'altr' entity group, which may indicate to legacy players without capability of processing ImagePyramidEntityGroup entity groups that the image items may be treated as alternatives to be displayed. In some embodiments, the ImagePyramidEntityGroup is be an extension of the “altr” entity group with the entities in the group constrained to be present in the order of lowest resolution overview image item to the highest resolution overview image item, followed finally by the base image item. In some embodiments, if the overview image or the base image is a grid-derived image item the tile size (tile_size_x, tile_size_y) of the overview images and the base image as indicated in the ImagePyramidEntityGroup is set to tile_size_x = round(lmageGrid.output_width / (columns_minus_one + 1)), and tile_size_y = round(lmageGrid.output_height / (rows_minus_one + 1)), respectively. Alternatively, in some embodiments, if the overview image or the base image is a tiled pre-derived coded image item and is associated with the ConstrainedExtentsGridProperty, the tile size in the ImagePyramidEntityGroup is set to tile_size_x = ConstrainedExtentsGridProperty. image_tile_width, and tile_size_y = ConstrainedExtentsGridProperty. image_tile_height, respectively. In some embodiments, if the tile size (tile_size_x, tile_size_y) of the overview images and the base image as indicated in the ImagePyramidEntityGroup is not set as defined in one or more the aforementioned embodiments, the apparatus may resize the overview images and the base image to the tile size (tile_size_x, tile_size_y) as indicated in the ImagePyramidEntityGroup.

[0179] In some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format such parameters tiles_in_layer_row_minus1 and tiles_in_layer_column_minus1 indicate the number of tiles minus one in a row and a column, respectively, of a specific layer. In some embodiments, if the layer is represented by a grid-derived image item, tilesjn_layer_row_minus1 is equal to rows_minus_one and tiles_in_layer_column_minus1 is equal to columns_minus_one. In some embodiments, if the layer is represented by a tiled pre-derived coded image item with a ConstrainedExtentsGridProperty, then tilesjn_layer_row_minus1 is equal to rows_minus_one and tiles_in_layer_column_minus1 is equal to columns_minus_one.

[0180] Referring now to FIG. 21 , provided therein is a syntax 2100 by which the methods, apparatuses, and computer program products may extend or define the HEIF format such that, if the overview image or the base image is a grid-derived image item or if the overview image or the base image is a tiled pre-derived coded image item, the ImagePyramidEntityGroup may be modified to indicate the tile size (tile_size_x, tile_size_y) and the number of tiles (tiles_in_layer_row_minus1 , tiles Jn_layer_column_minus1) of the overview images and the base image conditionally (e.g., as indicatedin the syntax 2100). In some embodiments, based at least in part on the flag value, the tile size and the number of tiles in a respective layer is conditionally present. In some embodiments, when the tile information is not present (e.g., as signaled by the flag value), the apparatus derives the tile information in accordance with one or more embodiments described herein. In some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format to comprise a flag 0x000010, tile_info_present (indicium 2101). In some embodiments, when set, the tile_info_present flag specifies that the tiling size and number of tiles in a respective layer are present. When not set, the flag may specify that the fields tile size and number of tiles are not present, which may indicate that the apparatus is to derive the information.

[0181] Referring now to FIG. 22, provided therein is a syntax 2200 by which the methods, apparatuses, and computer program products may extend or define the HEIF format such that, in alternate embodiments, different flag bits may be used to indicate the presence or absence of tiling information (e.g., fields tile size and number of tiles) in the ImagePyramidEntityGroup. For example, the methods, apparatuses, and computer program products may extend or define the HEIF format to comprise a flag value of 0x000010, tile_size_info_present (indicium 2201) that, when set, specifies that the tiling size parameter is present. When not set, the ti le_size J nfo_present flag may specify that the fields tile size is not present. As another example, the methods, apparatuses, and computer program products may extend or define the HEIF format to comprise a flag value of 0x000020, tile_number_info_present (indicium 2203) that, when set, specifies that the number of tiles in a respective layer parameter is present. When not set, the tile_number_info_present flag may specify that the fields number of tiles in a respective layer is not present.

[0182] Referring now to FIG. 23, provided therein is a syntax 2300 by which the methods, apparatuses, and computer program products may extend or define the HEIF format such that, in alternate embodiments, a new parameter may be defined within the ImagePyramidEntityGroup against the setting of the flag bits to indicate the presence or absence of the fields tile size and number of tiles in the ImagePyramidEntityGroup. For example, the methods, apparatuses, and computer program products may extend or define the HEIF format to comprise a parameter tile_info_present_flag (indicium 2301) that, when set, specifies that the tiling size and number of tiles in a respective layer are present. When not set, the parameter may specify that the fields tile size and number of tiles are not present and are to be derived in accordance with one or more embodiments described herein.

[0183] In some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format to shift the parameters tile_size_x and tile_size_y inside the num_entities_in_group loop in the ImagePyramidEntityGroup. In doing so, the methods, apparatuses, and computer program products may enable overview images to be tiled differently from the base image.

[0184] In some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format to define an update to the ImagePyramidEntityGroup that enables the ImagePyramidEntityGroup to indicate a respective size index of a tile. In some embodiments, the ImagePyramidEntityGroup is extended or defined to include a parameter referred to as “tile_info_size_index” (or another suitable name). The parameter tile_info_size_index may be represented as an unsigned int (3) (e.g., a 3-bit unsigned integer representation). In some embodiments, the tile_info_size Jndex parameter is configured to provides the size of the parameter’s tiles_in_layer_rows_minus1 , tiles_in_layer_columns_minus1 , tile_size_x, tile_size_y in bytes. The parameter tile_info_size_index may take the value from 0 to 7, where the value 0 indicates that the size of the parameters is 1 byte up and the value 7 indicates the size of the said parameters is 8 bytes (e.g., indicating a 64-bit representation). In some embodiments, the values of the parameter tile_info_size_index are mapped to different byte sizes to extend the bit range of the aforementioned parameters.Geospatial Image Mapping Information

[0185] In various embodiments, images that represent geospatial data are georeferenced and mapped to a geographic coordinate system. In some embodiments, the relevant coordinate transformations are required to be associated with the image data. For example, the GeoTIFF standard may define a set of keys to map the images to a known coordinate system.

[0186] In some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format to associate image items that represent overviews and base images of geospatial data with coordinate transform data to enable the image items to be mapped to a coordinate system. In some embodiments, the coordinate transform data is stored as GeoTIFF keys and the GeoTIFF data with the keys are stored as metadata item with the item type referred to as “Exit,” or another suitable value.

[0187] Referring now to FIG. 24, provided therein is a syntax 2400 by which the methods, apparatuses, and computer program products may extend or define the HEIF format such that, the coordinate transformation data is stored as GeoTIFF keys and the GeoTIFF data with the keys are stored as metadata item with a new item type referred to as “geif,” or another suitable value. In some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format such that GeoTIFF data is consistently stored as a metadata item “GeoTiFFDataBlock” (indicium 2401). In some embodiments, the GeoTiFFDataBlock comprises an offset “geo_tiff_header_offset” (indicium 2403) and a payload “geotiff_payload” (2405). In some embodiments, the geo_tiff_header_offset is an offset in bytes from the first byte of geotiff_payload to the first byte of the TIFF Header of the GeoTIFF metadata. In some embodiments, if the TIFF Header is the first byte of the payload, the value is 0, and, otherwise, the value may be a positive number skipping any other bytes before the TIFF Header. In some embodiments, the geotiff_payload is a variable sized array of bytes holding the GeoTIFF-compliantmetadata to be parsed by the apparatus that is reading, decoding, and / or rendering the image segments. In some embodiments, GeoTIFF metadata embodies or comprises coordinate transformation data, which may be used to map encoded image segments, decoded image segments, and / or the like to a geospatial coordinate system.

[0188] In some embodiments, the GeoTIFF metadata is compliant with the Open Geospatial Consortium GeoTIFF standard. In some embodiments, there are additional bytes before or after the GeoTIFF metadata. In various embodiments, all data shall be contained in the size indicated by the item size. In some embodiments, because the geotiff_payload is allowed to modify a file such that the location of item data is changed, the geotiff_payload is disallowed from containing fields that use file-absolute offsets. In some embodiments, when untimed the GeoTIFF metadata is stored as a metadata item, the item_type value is “geif,” or another suitable value.

[0189] In some embodiments, when GeoTIFF metadata is stored in a metadata track, the sample entry type is “geif.” In some embodiments, the GeoTIFF metadata track is linked via a “cdsc” track reference to the track that the GeoTIFF metadata describes. In some embodiments, GeoTIFF metadata that is true for the entire track may is stored in a MetaBox in the TrackBox and in one or more items of type “geif.” In some embodiments, the methods, apparatuses, and computer program products may extend or define the HEIF format to remove a requirement that every sample be a “sync sample.” In some embodiments, the metadata that applies to the corresponding time interval of the linked track is formed by a union of metadata. For example, for sync samples, union may comprise the metadata in the MetaBox and the metadata that is the metadata sample data. As another example, for non-sync samples, the union comprises metadata in the MetaBox, the metadata that is the sample data of the preceding sync sample, and the metadata that is the sample data. In some embodiments, when a union is formed, any duplicate metadata items are replaced, in the order given. In some embodiments, a respective sample is a GeoTiffDataBlock.

[0190] In some embodiments, the item type equal to “Exif or the item type equal to “geif” may be associated with overviews and base images with a new item reference having a 4cc value of “gtke” (or another suitable value). In some embodiments, the new item reference is configured to indicate that a GeoTIFF key is associated with the image item. In some embodiments, when the item type equal to “Exif” or the item type equal to “geif” is associated with overviews and base images with an item reference having 4cc value equal to “gtke,” such an association indicates that the overviews and base images contain geospatial data and the images may be mapped to a coordinate system using the information in the item type equal to “Exif” or the item type equal to “geif.” Alternatively, in some embodiments, when the item type equal to “Exif” or the item type equal to “geif” is associated with overviews and base images with an item reference having 4cc value equal to “cdsc,” such an association indicates that the overviews andbase images contain geospatial data and the images may be mapped to a coordinate system using the information in the item type equal to “Exit” or the item type equal to “geif.”

[0191] In some embodiments, the item type equal to “Exif or the item type equal to “geif” is grouped in the ImagePyramidEntityGroup together with the overview images and the base image indicating that the image items in the ImagePyramidEntityGroup contain geospatial data and the images may be mapped to a coordinate system using the information in the item type equal to “Exif’ or the item type equal to “geif.” In some embodiments, if the item type equal to “Exif” or the item type equal to “geif” is grouped in the ImagePyramidEntityGroup, the entities in the ImagePyramidEntityGroup are listed in the order of i) the item type equal to “Exif” or the item type equal to “geif, ii) the lowest resolution overview image item to the highest resolution overview image item, and iii) the base image item of the image pyramid.

[0192] In some embodiments, if the item type equal to “Exif’ or the item type equal to “geif is associated with one of the overview images or the base image through the item reference type equal to “gtke” or through the item reference type equal to “cdsc” and the associated overview images or the base image belong to the same ImagePyramidEntityGroup, the item data within the item type equal to “Exif” or the item type equal to “geif” applies to any image item within the ImagePyramidEntityGroup.

[0193] Referring now to FIG. 25, provided therein is a syntax 2500 by which the methods, apparatuses, and computer program products extend or define the HEIF format to comprise a new item property (indicium 2501) referred to as the GeoTIFFItemProperty with the 4cc value “geip” or another suitable 4cc value. In some embodiments, the GeoTIFFItemProperty indicates the presence of GeoTIFF metadata for the associated image item. In various embodiments, the GeoTIFFItemProperty may be associated with overview images, base images, and the ImagePyramidEntityGroup.

[0194] In some embodiments, the methods, apparatuses, and computer program products extend or define the HEIF format to include a new item property is referred to as the “GeoSpatial KeysProperty.” In some embodiments, the GeoSpatial KeysProperty is associated with the ImagePyramidEntityGroup and configured to map a geospatial coordinate system with the overview images and the base image (e.g., as defined in GeoTIFF keys).

[0195] Referring now to FIG. 26, provided therein is a syntax 2600 by which the methods, apparatuses, and computer program products extend or define the HEIF format to comprise the new item property referred to as the GeoSpatial KeysProperty (indicium 2601). In some embodiments, the descriptive item property GeoSpatial KeysProperty comprises a 4cc value “gske,” or another suitable 4cc value. In some embodiments, the descriptive item property GeoSpatial KeysProperty provides geospatial mapping data for geospatial images. In some embodiments, the descriptive item property GeoSpatial KeysProperty is associated with ImagePyramidEntityGroup when the overview images and the base image in the entity group are geospatial images. In some embodiments, the GeoSpatial KeysProperty is defined as follows:Box type: 'gske'Property type: Descriptive item propertyContainer: ItemPropertyContainerBoxMandatory (per item): NoQuantity (per item): At most one

[0196] In some embodiments, in the syntax 2600, the geo_key_data[] (indicium 2603) is configured to specify the geospatial mapping data of the associated image item as structured pursuant to the GeoKeys information data of the GeoTIFF standard.

[0197] Referring now to FIG. 27, shown is an example method 2700 by which a grid-derived image (e.g., a geospatial image, and / or the like) may be decoded and displayed. The method 2700, or blocks / steps / operations thereof, may be performed by one or more apparatuses 100, 100’ as shown in FIGS. 1 and 3 and described herein. In various embodiments, the apparatus performing the method 2700 embodies a terminal device. For example, the apparatus may include a client application installed on a terminal device. Alternatively, in some embodiments, the apparatus performing the method 2700 embodies an application server.

[0198] As shown in block 2703, a file format data structure is extended or defined to comprise one or more configurations pursuant to a plurality of encoded segments of an image. For example, the apparatus performing the method 2700 (e.g., apparatus 100 or apparatus 100’ of an application server 301, terminal device 303, and / or the like) may extend or define the HEIF format, in particular the ConstrainedExtentsGridProperty, to include one or more ConfigurationBoxes pursuant to tiles, grid portions, and / or the like, of the image. In various embodiments, a respective configuration includes decoding instructions pursuant to one of the plurality of encoded segments of the image such that the apparatus performing the method 2700 may decode the encoded segment independently from a remaining subset of the encoded segments of the image.

[0199] Additionally, or alternatively, in some embodiments, at block 2703, the file format data structure is defined or extended to comprise a flag field that is configurable between a first value (e.g., 0) and a second value (e.g., 1). For example, in a context of HEIF format, the ConstrainedExtentsGridProperty may be extended or defined to include a configuration_present_flag. In the first value, the flag field may indicate that the ConstrainedExtentsGridProperty lacks a respective ConfigurationBox pursuant to one or more of the encoded segments of the image. In the second value, the flag field may indicate that the ConstrainedExtentsGridProperty comprises a respective ConfigurationBox for independently decoding individual ones of the plurality of encoded segments of the image.

[0200] Additionally, or alternatively, in some embodiments, at block 2703, the file format data structure is defined or extended to comprise one or more bit values that is / are configurable between a firstvalue and a second value, respectively. In the first value, the bit value may indicate that the file format data structure, in particular the ConstrainedExtentsGridProperty, is without configurations pursuant to respective encoded segments (e.g., ConfigurationBoxes are not present). In the second value, the bit value may indicate that the ConstrainedExtentsGridProperty comprises the ConfigurationBox.

[0201] In some embodiments, the file format data structure, in particular is defined or extended to comprise a field configured to indicate a respective codec associated with encoding of the image segments. For example, the encoded segments may include tiles, grid portions, and / or the like. The apparatus performing the method 2700 may define or extend the file format data structure to indicate a respective codec by which a respective tile or grid portion was encoded (e.g., VCC, HEVC, and / or the like). In some embodiments, a first subset and a second subset of the encoded segments are associated with different codecs, which may be indicated by one or more fields of the file format data structure.

[0202] Additionally, or alternatively, in some embodiments, at block 2703, the file format data structure is defined or extended to comprise one or more item properties associated with the image. For example, the apparatus performing the method 2700 may extend or define the HEIF format to include a ConstrainedGridExtentsConfigurationltemProperty, which may be associated with one or more extents of the image. In some embodiments, the item property indicates one or more subsets of the encoded segments of the image that is / are independently decodable in accordance with the one or more configurations. In some embodiments, the item property comprises the respective decoding instructions for independently decoding the encoded segments of the image. For example, the encoded segments may be encoded in accordance with HEVC codec, and the item property may include one or more SPS NAL units, PPS NAL units, and / or the like. In some embodiments, the item property comprises a 4cc value, such as ceic.

[0203] In some embodiments, at block 2703, the file format data structure is defined or extended to comprise a flag field that is configurable between a first value and a second value for indicating presence of a data field configured to signal a scanning order. For example, in the first value, the flag field may be configured to signal that the file format data structure comprises a data field configured to signal a scanning order pursuant to accessing and rendering the plurality of encoded segments of the image. In the second value, the flag field may be configured to signal that the file format data structure is without the data field configured to signal the scanning order pursuant to accessing and rendering the plurality of encoded segments of the image. The data field may be configurable between a plurality of values associated with difference scanning orders including row-major, column major, one or more zig-zag orders, and / or the like.

[0204] In some embodiments, the file format data structure comprises an entity group associated with a plurality of images and one or more item properties for a respective image of the plurality of images. Insome embodiments, at block 2703, the file format data structure is extended or defined to comprise a flag field configurable between a first value and a second value. In the second value, the flag field may be configured to signal that the respective decoding instructions, if absent from the item property, are obtainable from the entity group. Alternatively, in the second value, the flag field may be configured to signal that the respective decoding instructions, if absent from the entity group, are obtainable from the item property.

[0205] In some embodiments, the image comprises a base image and a plurality of overview image items associated with the base image. In some embodiments, at block 2703, the file format data structure is defined or extended to comprise a bin derivation property configured to signal a derivation process for reconstructing a region of one or more of the overview image items based at least in part on the base image and a remaining subset of the overview images. In some embodiments, the base image and the overview image items are associated with different resolutions of the image. In some embodiments, the respective resolution of the base image and the remaining subset of the overview images is lower than the respective resolution of the one or more images for which the derivation process is performed.

[0206] In some embodiments, at block 2703, the file format data structure is defined or extended to comprise one or more metadata items comprising a coordinate transformation data associated with mapping one or more subsets of the encoded segments of the image to a geospatial coordinate system. Alternatively, the file format data structure may comprise one or more item properties, and, at block 2703, a respective item property may be defined or extended to comprise coordinate transformation data associated with mapping one or more subsets of the encoded segments of the image to a geospatial coordinate system.

[0207] At block 2706, the method 2700 optionally includes causing a terminal device to initialize a decoder based at least in part on the item property pursuant to an encoded segment image that may be decoded at block 2709. The apparatus performing the method 2700 may embody or comprise the terminal device. Alternatively, the apparatus performing the method 2700 may embody an application server, and / or the like, that causes a client application of the terminal device to initialize the decoder. In some embodiments, the initialized decoder is configured to decode an encoded segment of the image in accordance with the respective decoding instructions and independently from the remaining subset of the plurality of encoded segments of the image.

[0208] At block 2709, the method 2700 includes causing a terminal device to generate one or more decoded segments of the image by independently decoding one or more encoded segments of the image in accordance with the respective decoding instructions. For example, in accordance with the respective decoding instructions, the terminal device may decode a plurality of encoded segments of the image to obtain a plurality of image tiles, grid portions, and / or the like. In some embodiments, the apparatusperforming the method 2700 causes the terminal device to independently decode a subset of the encoded segments of the image based at least in part on one or more features of a user / client. The feature may include a current viewing position, pan interaction, zoom interaction, selection of one of a plurality of image resolutions, and / or the like. In some embodiments, at block 2709, the apparatus performing the method 2700 causes the terminal device to map one or more decoded segments of the image to a geospatial coordinate system based at least in part on coordinate transformation data. At block 2712, the method 2700 includes causing the terminal device to display the one or more decoded segments of the image. For example, the apparatus performing the method 2700 may cause the terminal device to render one or more decoded tiles on a display. As another example, the apparatus performing the method 2700 may cause the terminal device to render one or more grid portions on a display. In various embodiments, the display of decoded segments is further based at least in part one or more features including current viewing position, pan interaction, zoom interaction, selected image resolution, and / or the like.

[0209] In an embodiment, at least some of the processes described herein may be carried out by an apparatus comprising means for carrying out at least some of the described processes. Means for performing method steps as disclosed herein may include software and / or hardware components of the apparatus 100. For example, the at least one controller 102, the memory 104, and the instructions comprised by the memory 104 (e.g., computer program code) form means for carrying out the method or methods as disclosed herein, and any of the embodiments thereof. As used herein, the term “means” is to construed in singular form, i.e., referring to a single element, or in plural form, i.e., referring to a combination of single elements. Therefore, terminology “means for [performing A, B, C]” is to be interpreted to cover an apparatus in which there is only one means for performing A, B, and C, or where there are separate means for performing A, B, and C, or partially or fully overlapping means for performing A, B, C. Further, terminology “means for performing A, means for performing B, means for performing C” is to be interpreted to cover an apparatus in which there is only one means for performing A, B, and C, or where there are separate means for performing A, B, and C, or partially or fully overlapping means for performing A, B, C.

[0210] Following is a list of some aspects of the invention.

[0211] According to a first aspect, there is provided a method, comprising: defining or extending a file format data structure to comprise at least one configuration pursuant to a plurality of encoded segments of an image, wherein: a respective configuration comprises decoding instructions pursuant to one of the plurality of encoded segments of the image; causing a terminal device to generate at least one decoded segment by decoding at least one of the plurality of encoded segments of the image in accordance with the decoding instructions of the respective configuration, the at least one of the plurality of encoded segmentsbeing decoded independently from a remaining subset of the plurality of encoded segments of the image; and causing the terminal device to display the at least one decoded segment of the image.

[0212] Various embodiments of the first aspect may comprise at least one feature from the following bulleted list:• defining or extending the file format data structure to comprise: o a flag field that is configurable between a first value and a second value, wherein:■ in the second value, the flag field is configured to indicate that the file format data structure comprises the at least one configuration for independently decoding the plurality of encoded segments of the image.• in the first value, the flag field is configured to i) to indicate that the at least one configuration is not present in the file format data structure, and ii) cause the terminal device to generate respective decoding instructions pursuant to the plurality of encoded segments of the image.• defining or extending the file format data structure to comprise: o at least one bit value configurable between a first value and a second value, wherein:■ in the first value, the at least one bit value is configured to indicate that the file format data structure is without the at least one configuration; and■ in the second value, the at least one bit value is configured to indicate that the file format data structure comprises the at least one configuration.• the file format data structure comprises at least one field configured to indicate a respective codec associated with encoding of the plurality of encoded segments of the image.• causing the terminal device to determine the respective configuration based at least in part on the codec.• a first subset of the plurality of encoded segments of the image is associated with a first codec; and o a second subset of the plurality of encoded segments of the image is associated with a second codec that is different from the first codec.• the plurality of encoded segments of the image comprise at least one of a plurality of grid portions or a plurality of tiles; and o a respective grid portion or a respective tile is associated with a spatial sub-region of the image.• defining or extending the file format data structure to comprise at least one item property associated with the image, wherein:o the at least one item property indicates at least a subset of the plurality of encoded segments of the image that is independently decodable in accordance with a respective configuration of the at least one configuration.• the at least one item property comprises the respective decoding instructions for independently decoding individual ones of the plurality of encoded segments of the image.• the plurality of encoded segments of the image are encoded in accordance with a high efficiency video coding (HEVC) codec; and o the respective decoding instructions comprise at least one sequence parameter set (SPS) network abstraction layer (NAL) unit and at least one picture parameter set (PPS) NAL unit for decoding a corresponding segment of the image.• causing the terminal device to initialize a decoder based at least in part on the at least one item property, wherein: o the initialized decoder is configured to decode the at least one of the plurality of encoded segments of the image in accordance with the respective decoding instructions and independently from the remaining subset of the plurality of encoded segments of the image.• extending or defining the file format data structure to comprise: o a flag field that is configurable between a first value and a second value, wherein:■ in the first value, the flag field is configured to signal that the file format data structure comprises a data field configured to signal a scanning order pursuant to accessing and rendering the plurality of encoded segments of the image; and■ in the second value, the flag field is configured to signal that the file format data structure is without the data field configured to signal the scanning order pursuant to accessing and rendering the plurality of encoded segments of the image.• the data field configured is configurable between a plurality of values; o a respective value is associated with one of a plurality of scanning orders; and o the plurality of scanning orders comprise a row-major scanning order, a column-major scanning order, and at least one zig-zag order.• the file format data structure comprises: o an entity group associated with a plurality of images; and o at least one item property for a respective image of the plurality of images;• extending or defining the file format data structure to comprise a flag field configurable between a first value and a second value; ando in the second value, the flag field is configured to signal that the respective decoding instructions, if absent from the at least one item property, are obtainable from the entity group.• the image comprises a base image and a plurality of overview image items associated with the base image; and o extending or defining the file format data structure to comprise:■ a bin derivation property configured to signal a derivation process for reconstructing a region of at least one of the plurality of overview image items based at least in part on the base image and a remaining subset of the plurality of overview images.• the base image and the plurality of overview image items are associated with different resolutions of the image; and o the at least one of the plurality of overview image items is associated with a resolution that is higher than a respective resolution of the base image and the remaining subset of the plurality of overview images.• the file format data structure comprises: o an entity group associated with a plurality of images; and o at least one item property for a respective image of the plurality of images;• extending or defining the file format data structure to comprise a flag field configurable between a first value and a second value; and o in the second value, the flag field is configured to signal that the respective decoding instructions, if absent from the entity group, are obtainable from the at least one item property.• extending or defining the file format data structure to comprise: o at least one metadata item comprising coordinate transformation data associated with mapping at least a subset of the encoded segments of the image to a geospatial coordinate system.• the file format data structure comprises at least one item property; and o a respective item property is associated with at least a subset of the plurality of encoded segments of the image.• extending or defining the at least one item property to comprise coordinate transformation data associated with mapping the at least a subset of the encoded segments of the image to a geospatial coordinate system.• the file format data structure comprises at least one item property; ando a respective item property is associated with at least a subset of the plurality of encoded segments of the image.• extending or defining the at least one item property to comprise a respective size index of the at least at subset of the plurality of encoded segments of the image.

[0213] According to a second aspect, there is provided an apparatus, comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to: define or extend a file format data structure to comprise at least one configuration pursuant to a plurality of encoded segments of an image, wherein: a respective configuration comprises decoding instructions pursuant to one of the plurality of encoded segments of the image; cause a terminal device to generate at least one decoded segment by decoding at least one of the plurality of encoded segments of the image in accordance with the decoding instructions of the respective configuration, the at least one of the plurality of encoded segments being decoded independently from a remaining subset of the plurality of encoded segments of the image; and cause the terminal device to display the at least one decoded segment of the image. Various embodiments of the second aspect may comprise at least one feature from the bulleted list under the first aspect.

[0214] According to a third aspect, there is provided a non-transitory computer readable medium comprising program instructions that, when executed by an apparatus, cause the apparatus to carry out the method according to the first aspect.

[0215] According to a fourth aspect, there is provided an apparatus, comprising means for performing the method according to the first aspect and / or means configured to cause the apparatus to perform the method according to the first aspect.

[0216] According to a fifth aspect, the apparatus of the second aspect or the apparatus of the first aspect comprises a terminal device.

[0217] According to a sixth aspect, the apparatus of the second aspect or the apparatus of the first aspect comprises a terminal device.

[0218] Even though the invention has been described above with reference to an example according to the accompanying drawings, it is clear that the invention is not restricted thereto but may be modified in several ways within the scope of the appended claims. Therefore, all words and expressions should be interpreted broadly and they are intended to illustrate, not to restrict, the embodiment. It will be obvious to a person skilled in the art that, as technology advances, the inventive concept may be implemented in various ways. Further, it is clear to a person skilled in the art that the described embodiments may, but are not required to, be combined with other embodiments in various ways.

Claims

CLAIMS:

1. An apparatus, comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to: define or extend a file format data structure to comprise at least one configuration pursuant to a plurality of encoded segments of an image, wherein: a respective configuration comprises decoding instructions pursuant to one of the plurality of encoded segments of the image; cause a terminal device to generate at least one decoded segment by decoding at least one of the plurality of encoded segments of the image in accordance with the decoding instructions of the respective configuration, the at least one of the plurality of encoded segments being decoded independently from a remaining subset of the plurality of encoded segments of the image; and cause the terminal device to display the at least one decoded segment of the image.

2. The apparatus of claim 1 , wherein: the instructions, when executed by the at least one processor, further cause the apparatus to: define or extend the file format data structure to comprise a flag field that is configurable between a first value and a second value; and in the second value, the flag field is configured to indicate that the file format data structure comprises the at least one configuration for independently decoding the plurality of encoded segments of the image.

3. The apparatus of claim 2, wherein: in the first value, the flag field is configured to i) to indicate that the at least one configuration is not present in the file format data structure, and ii) cause the terminal device to generate respective decoding instructions pursuant to the plurality of encoded segments of the image.

4. The apparatus of claim 1 , wherein: the instructions, when executed by the at least one processor, further cause the apparatus to: define or extend the file format data structure to comprise at least one bit value configurable between a first value and a second value; in the first value, the at least one bit value is configured to indicate that the file format data- 53 -structure is without the at least one configuration; and in the second value, the at least one bit value is configured to indicate that the file format data structure comprises the at least one configuration.

5. The apparatus of any of claims 1 -4, wherein: the file format data structure comprises at least one field configured to indicate a respective codec associated with encoding of the plurality of encoded segments of the image; and the instructions, when executed by the at least one processor, further cause the apparatus to: cause the terminal device to determine the respective configuration based at least in part on the codec.

6. The apparatus of claim 5, wherein: a first subset of the plurality of encoded segments of the image is associated with a first codec; and a second subset of the plurality of encoded segments of the image is associated with a second codec that is different from the first codec.

7. The apparatus of any of claims 2-6, wherein: the plurality of encoded segments of the image comprise at least one of a plurality of grid portions or a plurality of tiles; and a respective grid portion or a respective tile is associated with a spatial sub-region of the image.

8. The apparatus of any of claims 1 -7, wherein: the instructions, when executed by the at least one processor, further cause the apparatus to: define or extend the file format data structure to comprise at least one item property associated with the image; and the at least one item property indicates at least a subset of the plurality of encoded segments of the image that is independently decodable in accordance with a respective configuration of the at least one configuration.

9. The apparatus of claim 8, wherein: the at least one item property comprises the respective decoding instructions for independently decoding individual ones of the plurality of encoded segments of the image.- 54 -10. The apparatus of claim 9, wherein: the plurality of encoded segments of the image are encoded in accordance with a high efficiency video coding (HEVC) codec; and the respective decoding instructions comprise at least one sequence parameter set (SPS) network abstraction layer (NAL) unit and at least one picture parameter set (PPS) NAL unit for decoding a corresponding segment of the image.11 . The apparatus of claim 9 or 10, wherein: the instructions, when executed by the at least one processor, further cause the apparatus to: cause the terminal device to initialize a decoder based at least in part on the at least one item property; and the initialized decoder is configured to decode the at least one of the plurality of encoded segments of the image in accordance with the respective decoding instructions and independently from the remaining subset of the plurality of encoded segments of the image.

12. The apparatus of any of claims 1-11 , wherein: the instructions, when executed by the at least one processor, further cause the apparatus to: extend or define the file format data structure to comprise a flag field that is configurable between a first value and a second value; in the first value, the flag field is configured to signal that the file format data structure comprises a data field configured to signal a scanning order pursuant to accessing and rendering the plurality of encoded segments of the image; and in the second value, the flag field is configured to signal that the file format data structure is without the data field configured to signal the scanning order pursuant to accessing and rendering the plurality of encoded segments of the image.

13. The apparatus of claim 12, wherein: the data field configured is configurable between a plurality of values; a respective value is associated with one of a plurality of scanning orders; and the plurality of scanning orders comprise a row-major scanning order, a column-major scanning order, and at least one zig-zag order.

14. The apparatus of any of claims 1-13, wherein: the file format data structure comprises:- 55 -an entity group associated with a plurality of images; and at least one item property for a respective image of the plurality of images; the instructions, when executed by the at least one processor, further cause the apparatus to: extend or define the file format data structure to comprise a flag field configurable between a first value and a second value; and in the second value, the flag field is configured to signal that the respective decoding instructions, if absent from the at least one item property, are obtainable from the entity group.

15. The apparatus of any of claims 1-14, wherein: the image comprises a base image and a plurality of overview image items associated with the base image; and the instructions, when executed by the at least one processor, further cause the apparatus to: extend or define the file format data structure to comprise a bin derivation property configured to signal a derivation process for reconstructing a region of at least one of the plurality of overview image items based at least in part on the base image and a remaining subset of the plurality of overview images.

16. The apparatus of claim 15, wherein: the base image and the plurality of overview image items are associated with different resolutions of the image; and the at least one of the plurality of overview image items is associated with a resolution higher than a respective resolution of the base image and the remaining subset of the plurality of overview images.

17. The apparatus of any of claims 1-14, wherein: the image comprises an image pyramid; respective layers of the image pyramid are defined by a base image or one of a plurality of overview image items associated with the base image; the instructions, when executed by the at least one processor, further cause the apparatus to: define or extend the file format data structure to: extend or define the file format data structure to comprise a flag field configurable between a first value and a second value; in the first value, the flag field is configured to signal that a tiling size and a number of tiles in a respective layer of the image pyramid are present; and in the second value, the flag field is configured to signal that the tiling size and the number of files- 56 -in the respective layer of the image pyramid are to be derived.

18. The apparatus of claim 1 , wherein: the image comprises a base image and a plurality of tiled image items associated with the base image; and the instructions, when executed by the at least one processor, further cause the apparatus to: define or extend the file format data structure to: set a respective width of the plurality of tiled image items to a single tile width; and set a respective height of the plurality of tiled image items to a single tile height.

19. The apparatus of any of claims 1-18, wherein: the file format data structure comprises: an entity group associated with a plurality of images; and at least one item property for a respective image of the plurality of images; and the instructions, when executed by the at least one processor, further cause the apparatus to: extend or define the file format data structure to comprise a flag field configurable between a first value and a second value, wherein: in the second value, the flag field is configured to signal that the respective decoding instructions, if absent from the entity group, are obtainable from the at least one item property.

20. The apparatus of any of claims 1-19, wherein: the instructions, when executed by the at least one processor, further cause the apparatus to: extend or define the file format data structure to comprise at least one metadata item comprising coordinate transformation data associated with mapping at least a subset of the encoded segments of the image to a geospatial coordinate system.21 . The apparatus of any of claims 1-19, wherein: the file format data structure comprises at least one item property; a respective item property is associated with at least a subset of the plurality of encoded segments of the image; and the instructions, when executed by the at least one processor, further cause the apparatus to extend or define the at least one item property to comprise coordinate transformation data associated with mapping the at least a subset of the encoded segments of the image to a geospatial coordinate system.

22. The apparatus of any of claims 1-19, wherein: the file format data structure comprises at least one item property; a respective item property is associated with at least a subset of the plurality of encoded segments of the image; and the instructions, when executed by the at least one processor, further cause the apparatus to extend or define the at least one item property to comprise a respective size index of the at least a subset of the plurality of encoded segments of the image.

23. The apparatus of claim 22, wherein: the instructions, when executed by the at least one processor, further cause the apparatus to extend or define the at least one item property to comprise a flag configurable between a first value and a second value; in the first value, the flag is configured to indicate that, for respective encoded segments of the image, an image tile width and an image tile length are equal to 16 bits, respectively; and in the second value, the flag is configured to indicate that, for respective encoded segments of the image, the image tile width and the image tile length are equal to 32 bits, respectively.

24. The apparatus of any of claims 1 -23, wherein the apparatus comprises at least one terminal device.

25. The apparatus of any of claims 1 -23, wherein the apparatus comprises an application server.

26. A method, comprising: defining or extending a file format data structure to comprise at least one configuration pursuant to a plurality of encoded segments of an image, wherein: a respective configuration comprises decoding instructions pursuant to one of the plurality of encoded segments of the image; causing a terminal device to generate at least one decoded segment by decoding at least one of the plurality of encoded segments of the image in accordance with the decoding instructions of the respective configuration, the at least one of the plurality of encoded segments being decoded independently from a remaining subset of the plurality of encoded segments of the image; and causing the terminal device to display the at least one decoded segment of the image.

27. A computer program product embodied on a distribution medium readable by a computer and comprising program instructions which, when the program is executed by an apparatus, cause the apparatus to: define or extend a file format data structure to comprise at least one configuration pursuant to a plurality of encoded segments of an image, wherein: a respective configuration comprises decoding instructions pursuant to one of the plurality of encoded segments of the image; cause a terminal device to generate at least one decoded segment by decoding at least one of the plurality of encoded segments of the image in accordance with the decoding instructions of the respective configuration, the at least one of the plurality of encoded segments being decoded independently from a remaining subset of the plurality of encoded segments of the image; and cause the terminal device to display the at least one decoded segment of the image.

28. An apparatus, comprising: means for defining or extending a file format data structure to comprise at least one configuration pursuant to a plurality of encoded segments of an image, wherein: a respective configuration comprises decoding instructions pursuant to one of the plurality of encoded segments of the image; means for causing a terminal device to generate at least one decoded segment by decoding at least one of the plurality of encoded segments of the image in accordance with the decoding instructions of the respective configuration, the at least one of the plurality of encoded segments being decoded independently from a remaining subset of the plurality of encoded segments of the image; and means for causing the terminal device to display the at least one decoded segment of the image.- 59 -