Method, apparatus and computer program product for handling stereoscopic images and videos

The apparatus and method address the challenge of handling stereoscopic images and videos by determining image relations and generating monoscopic alternatives, ensuring compatibility and addressing stereo aggressors, thus enhancing stereoscopic content processing and presentation.

WO2025215614A1PCT designated stage Publication Date: 2025-10-16NOKIA TECHNOLOGIES OY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/IB2025/053853
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-12
Filing Date
2025-04-12
Publication Date
2025-10-16

AI Technical Summary

Technical Problem

Existing technologies lack efficient methods for handling and processing stereoscopic images and videos, particularly in file formats like ISO base media file format (ISOBMFF), which do not adequately support stereoscopic content and fail to address issues related to inter-pupillary distance (IPD) and stereo aggressors.

Method used

An apparatus and method for handling stereoscopic images and videos that involve determining the relation between multiple images, storing them in a file format, and signaling this relation, including generating monoscopic alternatives for different IPDs and handling stereo aggressors by switching to monoscopic display when necessary.

Benefits of technology

Enables effective processing and presentation of stereoscopic content in various file formats, ensuring compatibility with different display formats and addressing stereo aggressor issues, thereby improving the viewing experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IB2025053853_16102025_PF_FP_ABST
    Figure IB2025053853_16102025_PF_FP_ABST
Patent Text Reader

Abstract

Various embodiments provide methods, apparatuses, and computer program products. An example apparatus includes 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 perform: receiving two or more images that represent a stereoscopic view; determining a relation between the two or more images; storing the two or more images in a file format; and signaling the relation between the two or more images within the file format.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD, APPARATUS AND COMPUTER PROGRAM PRODUCT FOR HANDLING STEREOSCOPIC IMAGES AND VIDEOSTECHNICAL FIELD

[0001] The examples and non-limiting embodiments relate generally to multimedia processing and, more particularly to, handling and / or processing stereoscopic images and videos.BACKGROUND

[0002] It is known to provide standardized formats for encoding, signaling, or decoding of media data.SUMMARY

[0003] Example 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 perform: receiving two or more images that represent a stereoscopic view; determining a relation between the two or more images; storing the two or more images in a file format; and signaling the relation between the two or more images within the file format.

[0004] Example 2: The apparatus of example 1, wherein the relation between the two or more images comprises one or more of the following: two or more images representing a stereoscopic pair; two images representing stereoscopic view, wherein, when needed, one of the two images is used to represent a monoscopic view; two images representing stereoscopic view and a third image associated with the two images represents a monoscopic view; two images represent stereoscopic view for given inter pupillary distance (IPD), and wherein at least one image is alternative to one of the two images that create a new stereoscopic view for a second IPD; two images represent stereoscopic view with a given capturing problems; or one or more images and / or videos which is a monoscopic alternative of the stereoscopic pair.

[0005] Example 3: The apparatus of any of examples 1 or 2, wherein the relation between the two or more images is determined based on one or more of following external input: a format of a display of a client; an IPD of the client; one or more stereoscopic pairs of images and / or videos; or one or more images and / or videos which are monoscopic alternative of a stereoscopic pair forming the stereoscopic view.

[0006] Example 4: The apparatus of example 2 or 3, wherein: the monoscopic alternative is generated to be co-located with a left view of the stereoscopic pair; the monoscopic alternative is generated to be co-located with a right view of the stereoscopic pair; the monoscopic alternative is generated at a location between the left and the right view of the stereoscopic pair; or the monoscopic alternative is generated after processing both the left and the right view of the said stereoscopic pair.

[0007] Example 5 : The apparatus of any of the previous examples, wherein the apparatus is further caused to perform: storing the left view and the right view of the stereoscopic view as two independent image items; determining a mapping between two stereoscopic pair image items; and indicating that the two image items form a stereoscopic pair suitable for stereoscopic viewing and / or displaying.

[0008] Example 6: The apparatus of example 5, wherein the apparatus is further caused to perform: defining a reference item for indicating that an image item is the monoscopic alternative of the stereoscopic pair.

[0009] Example 7 : The apparatus of any of the previous examples, wherein the apparatus is further caused to perform: defining a group item property for indicating the property of the monoscopic image in relation to the stereoscopic pair.

[0010] Example 8: The apparatus of any of the examples 1 to 6, wherein the apparatus is further caused to perform: defining an entity group field for indicating that image items in a group form a monoscopic to stereoscopic pair alternatives.

[0011] Example 9: The apparatus of any of the examples 1 to 6, wherein the apparatus is further caused to perform: defining an entity group field for indicating that image items in a group create a stereoscopic pair alternatives with different IPD.

[0012] Example 10: The apparatus of example 1, wherein the two or more images comprise a stereo pair images comprising a left view image and a right view image, and wherein the stereo pair images are grouped together using an entity to group, wherein the entity to group is associated with an aggressor property for indicating whether the left view image, right view image, or the left and right view images both comprise stereo aggressors.

[0013] Example 11: 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 toperform: receiving a file format comprising two or more images that represent a stereoscopic view, wherein the file format comprises signaling about a relationship between the two or more images; and determining, based on the signaling, which of the images from the two or more images are to be used for a presentation.

[0014] Example 12: The apparatus of example 11, wherein the relation between the two or more images comprises one or more of the following: two or more images representing a stereoscopic pair; two images representing stereoscopic view, wherein, when needed, one of the two images is used to represent a monoscopic view; two images representing stereoscopic view and a third image associated with the two images represents a monoscopic view; two images represent stereoscopic view for given inter pupillary distance (IPD), and wherein at least one image is alternative to one of the two images that create a new stereoscopic view for a second IPD; two images represent stereoscopic view with a given capturing problems; or one or more images and / or videos which is a monoscopic alternative of the stereoscopic pair.

[0015] Example 13: The apparatus of any of examples 11 or 12, wherein the relation between the two or more images is determined based on one or more of following external input: a format of a display of a client; an IPD of the client; one or more stereoscopic pairs of images and / or videos; or one or more images and / or videos which are monoscopic alternative of a stereoscopic pair forming the stereoscopic view.

[0016] Example 14: The apparatus of example 12 or 13, wherein: the monoscopic alternative is generated to be co-located with a left view of the stereoscopic pair; the monoscopic alternative is generated to be co-located with a right view of the stereoscopic pair; the monoscopic alternative is generated at a location between the left and the right view of the stereoscopic pair; or the monoscopic alternative is generated after processing both the left and the right view of the said stereoscopic pair.

[0017] Example 15: The apparatus of example 11, wherein the two or more images comprise a stereo pair images comprising a left view image and a right view image, and wherein the stereo pair images are grouped together using an entity to group, wherein the entity to group is associated with an aggressor property for indicating whether the left view image, right view image, or the left and right view images both comprise stereo aggressors.

[0018] Example 16: The apparatus of example 15, wherein the entity to group is further associated with a mono group property indicating that when: the apparatus is unable to rectify issues related to the stereo aggressors; severity of the stereo aggressors is above a threshold value; or the apparatus is unableto recognize the stereo aggressors indicated in the aggressor property, the apparatus is further caused to perform: switching to a monoscopic display of the one or more image as indicated by the mono group property.

[0019] Example 17: The apparatus of example 15, wherein when one or more images in the entity to group are indicated by a primary item box and are not associated with a mono group property, it indicates that when: the apparatus is unable to rectify issues related to the stereo aggressors; severity of the stereo aggressors is above a threshold value; or the apparatus is unable to recognize the stereo aggressors indicated in the aggressor property, the apparatus is further caused to perform: switching to a monoscopic display of the one or more images as indicated by the primary box.

[0020] Example 18: The apparatus of example 15, wherein when one or more images in the entity to group are not indicated by a primary item box and are not associated with a mono group property, it indicates that when: the apparatus is unable to rectify issues related to the stereo aggressors; severity of the stereo aggressors is above a threshold value; or the apparatus is unable to recognize the stereo aggressors indicated in the aggressor property, the apparatus is further caused to perform: switching to monoscopic display of a first image or one of images as indicated by the entity to group.

[0021] Example 19: A method comprising: receiving two or more images that represent a stereoscopic view; determining a relation between the two or more images; storing the two or more images in a file format; and signaling the relation between the two or more images within the file format.

[0022] Example 20: The method of example 19, wherein the relation between the two or more images comprises one or more of the following: two or more images representing a stereoscopic pair; two images representing stereoscopic view, wherein, when needed, one of the two images is used to represent a monoscopic view; two images representing stereoscopic view and a third image associated with the two images represents a monoscopic view; two images represent stereoscopic view for given inter pupillary distance (IPD), and wherein at least one image is alternative to one of the two images that create a new stereoscopic view for a second IPD; two images represent stereoscopic view with a given capturing problems; or one or more images and / or videos which is a monoscopic alternative of the stereoscopic pair.

[0023] Example 21: The method of any of examples 19 or 20, wherein the relation between the two or more images is determined based on one or more of following external input: a format of a display of a client; an IPD of the client; one or more stereoscopic pairs of images and / or videos; or one or more images and / or videos which are monoscopic alternative of a stereoscopic pair forming the stereoscopicview.

[0024] Example 22: The method of example 21 or 22, wherein: the monoscopic alternative is generated to be co-located with a left view of the stereoscopic pair; the monoscopic alternative is generated to be co-located with a right view of the stereoscopic pair; the monoscopic alternative is generated at a location between the left and the right view of the stereoscopic pair; or the monoscopic alternative is generated after processing both the left and the right view of the said stereoscopic pair.

[0025] Example 23: The method of any of the examples 19 to 22 further comprising: storing the left view and the right view of the stereoscopic view as two independent image items; determining a mapping between two stereoscopic pair image items; and indicating that the two image items form a stereoscopic pair suitable for stereoscopic viewing and / or displaying.

[0026] Example 24: The method of example 23 further comprising: defining a reference item for indicating that an image item is the monoscopic alternative of the stereoscopic pair.

[0027] Example 25: The method of any of the examples 19 to 24 further comprising: defining a group item property for indicating the property of the monoscopic image in relation to the stereoscopic pair.

[0028] Example 26: The method of any of the examples 19 to 24 further comprising: defining an entity group field for indicating that image items in a group form a monoscopic to stereoscopic pair alternatives.

[0029] Example 27: The method of any of the examples 19 to 24 further comprising: defining an entity group field for indicating that image items in a group create a stereoscopic pair alternatives with different IPD.

[0030] Example 28: The method of example 19, wherein the two or more images comprise a stereo pair images comprising a left view image and a right view image, and wherein the stereo pair images are grouped together using an entity to group, wherein the entity to group is associated with an aggressor property for indicating whether the left view image, right view image, or the left and right view images both comprise stereo aggressors.

[0031] Example 29: A method: receiving a file format comprising two or more images that represent a stereoscopic view, wherein the file format comprises signaling about a relationship between the two or more images; and determining, based on the signaling, which of the images from the two ormore images are to be used for a presentation.

[0032] Example 30: The method of example 29, wherein the relation between the two or more images comprises one or more of the following: two or more images representing a stereoscopic pair; two images representing stereoscopic view, wherein, when needed, one of the two images is used to represent a monoscopic view; two images representing stereoscopic view and a third image associated with the two images represents a monoscopic view; two images represent stereoscopic view for given inter pupillary distance (IPD), and wherein at least one image is alternative to one of the two images that create a new stereoscopic view for a second IPD; two images represent stereoscopic view with a given capturing problems; or one or more images and / or videos which is a monoscopic alternative of the stereoscopic pair.

[0033] Example 31: The method of any of examples 29 or 30, wherein the relation between the two or more images is determined based on one or more of following external input: a format of a display of a client; an IPD of the client; one or more stereoscopic pairs of images and / or videos; or one or more images and / or videos which are monoscopic alternative of a stereoscopic pair forming the stereoscopic view.

[0034] Example 32: The method of example 30 or 31, wherein: the monoscopic alternative is generated to be co-located with a left view of the stereoscopic pair; the monoscopic alternative is generated to be co-located with a right view of the stereoscopic pair; the monoscopic alternative is generated at a location between the left and the right view of the stereoscopic pair; or the monoscopic alternative is generated after processing both the left and the right view of the said stereoscopic pair.

[0035] Example 33: The method of example 29, wherein the two or more images comprise a stereo pair images comprising a left view image and a right view image, and wherein the stereo pair images are grouped together using an entity to group, wherein the entity to group is associated with an aggressor property for indicating whether the left view image, right view image, or the left and right view images both comprise stereo aggressors.

[0036] Example 34: The method of example 33, wherein the entity to group is further associated with a mono group property indicating that when: a file reader or a player is unable to rectify issues related to the stereo aggressors; severity of the stereo aggressors is above a threshold value; or the file reader or the player is unable to recognize the stereo aggressors indicated in the aggressor property, the method further comprises: switching to a monoscopic display of the one or more image as indicated by the mono group property.

[0037] Example 35: The method of example 33, wherein when one or more images in the entity to group are indicated by a primary item box and are not associated with a mono group property, it indicates that when: a file reader or a player is unable to rectify issues related to the stereo aggressors; severity of the stereo aggressors is above a threshold value; or the file reader or the player is unable to recognize the stereo aggressors indicated in the aggressor property, the method further comprises: switching to a monoscopic display of the one or more images as indicated by the primary box.

[0038] Example 36: The method of example 33, wherein when one or more images in the entity to group are not indicated by a primary item box and are not associated with a mono group property, it indicates that when: a file reader or the player is unable to rectify issues related to the stereo aggressors; severity of the stereo aggressors is above a threshold value; or the file reader or the player is unable to recognize the stereo aggressors indicated in the aggressor property, the method further comprises: switching to monoscopic display of a first image or one of images as indicated by the entity to group.

[0039] Example 37: An apparatus comprising: means for receiving two or more images that represent a stereoscopic view; means for determining a relation between the two or more images; means for storing the two or more images in a file format; and means for signaling the relation between the two or more images within the file format.

[0040] Example 38: The apparatus of example 37, wherein the apparatus further comprises means for performing methods as described in any of the examples 20 to 28.

[0041] Example 39: An apparatus comprising: means for receiving a file format comprising two or more images that represent a stereoscopic view, wherein the file format comprises signaling about a relationship between the two or more images; and means for determining, based on the signaling, which of the images from the two or more images are to be used for a presentation.

[0042] Example 40: The apparatus of example 39, wherein the apparatus further comprises means for performing methods as described in any of the examples 30 to 36.

[0043] Example 41: A computer readable medium comprising program instructions that, when executed by an apparatus, cause the apparatus to perform: receiving two or more images that represent a stereoscopic view; determining a relation between the two or more images; storing the two or more images in a file format; and signaling the relation between the two or more images within the file format.

[0044] Example 42: The computer readable medium of example 41 , wherein the apparatus is further caused to perform methods as described in any of the examples 20 to 28.

[0045] Example 43: The computer readable medium of any of the examples 41 or 42, wherein the computer readable medium comprises a non-transitory computer readable medium.

[0046] Example 44: A computer readable medium comprising program instructions that, when executed by an apparatus, cause the apparatus to perform: receiving a file format comprising two or more images that represent a stereoscopic view, wherein the file format comprises signaling about a relationship between the two or more images; and determining, based on the signaling, which of the images from the two or more images are to be used for a presentation.

[0047] Example 45: The computer readable medium of example 44, wherein the apparatus is further caused to perform methods as described in any of the examples 30 to 36.

[0048] Example 46: The computer readable medium of any of the examples 44 or 45, wherein the computer readable medium comprises a non-transitory computer readable medium.BRIEF DESCRIPTION OF THE DRAWINGS

[0049] The foregoing embodiments and other features are explained in the following description, taken in connection with the accompanying drawings, wherein:

[0050] FIG. 1 shows schematically an apparatus employing embodiments of the examples described herein.

[0051] FIG. 2 shows schematically a user equipment suitable for employing embodiments of the examples described herein.

[0052] FIG. 3 further shows schematically electronic devices employing embodiments of the examples described herein connected using wireless and wired network connections.

[0053] FIG. 4 illustrates a possible processing model to handle multi-image application format (MIAF) files.

[0054] FIG. 5 is an example apparatus, which may be implemented in hardware, and is caused to,implement examples described herein.

[0055] FIG. 6 shows a representation of an example of non-volatile memory media used to store instructions that implement the examples described herein.

[0056] FIG. 7 is an example method to implement the embodiments described herein, in accordance with an embodiment.

[0057] FIG. 8 is an example method to implement the embodiments described herein, in accordance with another embodiment.DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS

[0058] The following acronyms and abbreviations that may be found in the specification and / or the drawing figures are defined as follows (the abbreviations may be appended with each other or with other characters using e.g. a hyphen or dash (-), and may be case insensitive):4CC four character code5G fifth generation cellular network technology5GC 5G core network a.k.a. also known asAVC advanced video codingCU coding unitDSP digital signal processorDU distributed unit eNB (or eNodeB) evolved Node B (for example, an LTE base station)EN-DC E-UTRA-NR dual connectivity en-gNB or En-gNB node providing NR user plane and control plane protocol terminations towards the UE, and acting as secondary node in EN-DCE-UTRA evolved universal terrestrial radio access, for example, the LTE radio access technologyFl or Fl-C interface between CU and DU control interface gNB (or gNodeB) base station for 5G / NR, for example, a node providing NR user plane and control plane protocol terminationstowards the UE, and connected via the NG interface to the 5GCIEC International Electrotechnical Commission loT internet of thingsISO International Organization for StandardizationISOBMFF ISO base media file formatJPEG joint photographic experts groupLTE long-term evolution mdat MediaDataBoxMIME Multipurpose Internet Mail ExtensionMME mobility management entity moov MovieBoxMP4 file format for MPEG-4 Part 14 filesMPEG moving picture experts groupMPEG-2 H.222 / H.262 as defined by the ITUMPEG-4 audio and video coding standard for ISO / IEC 14496 ng or NG new generation ng-eNB or NG-eNB new generation eNBNR new radio (5G radio)N / W or NW networkPDCP packet data convergence protocolPHY physical layerPNG portable network graphicsRAN radio access networkRFC request for commentsRLC radio link controlRRC radio resource controlRRH remote radio headRU radio unitRx receiverSDAP service data adaptation protocolSGW serving gatewaySMF session management functionSPS sequence parameter setSVC scalable video codingSI interface between eNodeBs and the EPCtrak TrackBoxTx transmitterUE user equipmentUICC Universal Integrated Circuit CardUPF user plane functionURL uniform resource locatorX2 interconnecting interface between two eNodeBs in LTE networkXn interface between two NG-RAN nodes

[0059] Some embodiments will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments may be shown. Indeed, various embodiments of the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout. As used herein, the terms ‘data,’ ‘content,’ ‘information,’ and similar terms may be used interchangeably to refer to data capable of being transmitted, received and / or stored in accordance with embodiments of the present invention. Thus, use of any such terms should not be taken to limit the spirit and scope of embodiments.

[0060] Described herein is a method and apparatus for handling and / or processing stereoscopic images and videos.

[0061] The following describes in detail a suitable apparatus and possible method handling and / or processing stereoscopic images and videos according to embodiments. In this regard reference is first made to FIG. 1 and FIG. 2, where FIG. 1 shows an example block diagram of an electronic device or apparatus 100. The apparatus 100 may be an Internet of Things (loT) apparatus configured to perform various functions, such as for example, gathering information by one or more sensors, receiving or transmitting information, analyzing information gathered or received by the apparatus, or the like. The apparatus may comprise a video coding system, which may incorporate a codec. FIG. 2 shows a layout of an apparatus according to an example embodiment. The elements of FIG. 1 and FIG. 2 are explained next.

[0062] The apparatus 100 may for example be a mobile terminal or user equipment of a wireless communication system, a sensor device, a tag, or other lower power device. However, it would be appreciated that embodiments of the examples described herein may be implemented within anyelectronic device or apparatus which may process data by neural networks.

[0063] The apparatus 100 may comprise a housing 101 for incorporating and protecting the device. The apparatus 100 further may comprise a display 102 in the form of a liquid crystal display. In other embodiments of the examples described herein the display may be any suitable display technology suitable to display an image or video. The apparatus 100 may further comprise a keypad 104. In other embodiments of the examples described herein any suitable data or user interface mechanism may be employed. For example the user interface may be implemented as a virtual keyboard or data entry system as part of a touch-sensitive display.

[0064] The apparatus may comprise a microphone 106 or any suitable audio input which may be a digital or analog signal input. The apparatus 100 may further comprise an audio output device which in embodiments of the examples described herein may be any one of: an earpiece 108, speaker, or an analog audio or digital audio output connection. The apparatus 100 may also comprise a battery (or in other embodiments of the examples described herein the device may be powered by any suitable mobile energy device such as solar cell, fuel cell or clockwork generator). The apparatus 100 may further comprise a camera 109 capable of recording or capturing images and / or video. The apparatus 100 may further comprise an infrared port for short range line of sight communication to other devices. In other embodiments the apparatus 100 may further comprise any suitable short range communication solution such as for example a Bluetooth wireless connection or a USB / firewire wired connection.

[0065] The apparatus 100 may comprise a controller 110, processor or processor circuitry for controlling the apparatus 100. The controller 110 may be connected to memory 112 which in embodiments of the examples described herein may store both data in the form of image and audio data and / or may also store instructions for implementation on the controller 110. The controller 110 may further be connected to codec circuitry 114 suitable for carrying out coding and / or decoding of audio and / or video data or assisting in coding and / or decoding carried out by the controller.

[0066] The apparatus 100 may further comprise a card reader 118 and a smart card 116, for example a UICC and UICC reader for providing user information and being suitable for providing authentication information for authentication and authorization of the user at a network.

[0067] The apparatus 100 may comprise radio interface circuitry 120 connected to the controller and suitable for generating wireless communication signals for example for communication with a cellular communications network, a wireless communications system or a wireless local area network. The apparatus 100 may further comprise an antenna 122 connected to the radio interface circuitry 120 fortransmitting radio frequency signals generated at the radio interface circuitry 120 to other apparatus(es) and / or for receiving radio frequency signals from other apparatus(es).

[0068] The apparatus 100 may comprise a camera capable of recording or detecting individual frames which are then passed to the codec circuitry 114 or the controller for processing. The apparatus may receive the video image data for processing from another device prior to transmission and / or storage. The apparatus 100 may also receive either wirelessly or by a wired connection the image for coding / decoding. The structural elements of apparatus 100 described above represent examples of means for performing a corresponding function.

[0069] With respect to FIG. 3, an example of a system within which embodiments of the examples described herein can be utilized is shown. The system 300 comprises multiple communication devices which can communicate through one or more networks. The system 300 may comprise any combination of wired or wireless networks including, but not limited to a wireless cellular telephone network (such as a GSM, UMTS, CDMA, LTE, 4G, 5G network, etc.), a wireless local area network (WLAN) such as defined by any of the IEEE 802.x standards, a Bluetooth personal area network, an Ethernet local area network, a token ring local area network, a wide area network, and the Internet.

[0070] The system 300 may include both wired and wireless communication devices and / or apparatus 100 suitable for implementing embodiments of the examples described herein.

[0071] For example, the system shown in FIG. 3 shows a mobile telephone network 301 and a representation of the internet 302. Connectivity to the internet 302 may include, but is not limited to, long range wireless connections, short range wireless connections, and various wired connections including, but not limited to, telephone lines, cable lines, power lines, and similar communication pathways.

[0072] The example communication devices shown in the system 300 may include, but are not limited to, an electronic device or apparatus 100, a combination of a personal digital assistant (PDA) and a mobile telephone 304, a PDA 306, an integrated messaging device (IMD) 308, a desktop computer 310, a notebook computer 312, or a head-mounted apparatus. The head-mounted apparatus may be a head-mounted display (HMD), or glasses having a device such as a camera configured to encode and / or decode images and / or video. The apparatus 100 may be stationary or mobile when carried by an individual who is moving. The apparatus 100 may also be located in a mode of transport including, but not limited to, a car, a truck, a taxi, a bus, a train, a boat, an airplane, a bicycle, a motorcycle or any similar suitable mode of transport.

[0073] The embodiments may also be implemented in a set-top box; e.g., a digital TV receiver, which may / may not have a display or wireless capabilities, in tablets or (laptop) personal computers (PC), which have hardware and / or software to process neural network data, in various operating systems, and in chipsets, processors, DSPs and / or embedded systems offering hardware / software based coding.

[0074] Some or further apparatus may send and receive calls and messages and communicate with service providers through a wireless connection 314 to a base station 316. The base station 316 may be connected to a network server 318 that allows communication between the mobile telephone network 301 and the internet 302. The system may include additional communication devices and communication devices of various types.

[0075] The communication devices may communicate using various transmission technologies including, but not limited to, code division multiple access (CDMA), global systems for mobile communications (GSM), universal mobile telecommunications system (UMTS), time divisional multiple access (TDMA), frequency division multiple access (FDMA), transmission control protocolinternet protocol (TCP-IP), short messaging service (SMS), multimedia messaging service (MMS), email, instant messaging service (IMS), Bluetooth, IEEE 802.11, 3GPP Narrowband loT and any similar wireless communication technology. A communications device involved in implementing various embodiments of the examples described herein may communicate using various media including, but not limited to, radio, infrared, laser, cable connections, and any suitable connection.

[0076] In telecommunications and data networks, a channel may refer either to a physical channel or to a logical channel. A physical channel may refer to a physical transmission medium such as a wire, whereas a logical channel may refer to a logical connection over a multiplexed medium, capable of conveying several logical channels. A channel may be used for conveying an information signal, for example a bitstream, from one or several senders (or transmitters) to one or several receivers.

[0077] The embodiments may also be implemented in so-called loT devices. The Internet of Things (loT) may be defined, for example, as an interconnection of uniquely identifiable embedded computing devices within the existing Internet infrastructure. The convergence of various technologies has and may enable many fields of embedded systems, such as wireless sensor networks, control systems, home / building automation, etc. to be included in the Internet of Things (loT). In order to utilize the Internet loT devices are provided with an IP address as a unique identifier. loT devices may be provided with a radio transmitter, such as a WLAN or Bluetooth transmitter or a RFID tag. Alternatively, loT devices may have access to an IP -based network via a wired network, such as an Ethernet-based networkor a power-line connection (PLC).

[0078] Having thus introduced a suitable but non-limiting technical context for the practice of the example embodiments of the present disclosure, example embodiments will now be described in detail.

[0079] Features as described herein may generally relate, for example, to the ISO base media file format (ISOBMFF).

[0080] ISO / IEC 23008-12 - High Efficiency Image File Format or HEIF is designed to enable the interchange of images and image sequences, as well as their associated metadata. Images can be stored as items using the support for untimed data storage in ISOBMFF, utilizing the MetaBox. A file may include any number of image items.

[0081] HEIF should allow signaling and carriage of stereoscopic images together with an additional image to be used only for monoscopic displays.

[0082] Stereoscopy is the method of combining two plane pictures in order to produce a depth perception by the human brain. Each eye seeing a different angle of a scene, the human visual system with subjective assessments is able to interpret the depth information. In the scope of the present document, this section provides some information on how the rendering technologies provide the depth perception. These technologies are split into two categories; the glasses based systems and the glasses free systems.

[0083] ISO base media file format

[0084] Available media file format standards 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 NAL (Network Abstraction Layer) unit structured video (ISO / IEC 14496-15) and High Efficiency Video Coding standard (HEVC or H.265 / HEVC).

[0085] Some concepts, structures, and specifications of ISOBMFF are described below as an example of a container file format, based on which some embodiments may be implemented. The features of the embodiments described herein are not limited to ISOBMFF, but rather the description is given for one possible basis on top of which at least some embodiments may be partly or fully realized.

[0086] A basic building block in the ISO base media file format is called a box. Each box has a header and a payload. The box header indicates the type of the box and the size of the box in terms of bytes. Box type is typically identified by an unsigned 32-bit integer, interpreted as a four character code (4CC). A box may enclose other boxes, and the ISO file format specifies which box types are allowed within a box of a certain type. Furthermore, the presence of some boxes may be mandatory in each file, while the presence of other boxes may be optional. Additionally, for some box types, it may be allowable to have more than one box present in a file. Thus, the ISO base media file format may be considered to specify a hierarchical structure of boxes.

[0087] 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 can be collectively called media tracks, and they include an elementary media stream. Other track types comprise hint tracks and timed metadata tracks.

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

[0089] A media track 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 refers to hint samples, including 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.

[0090] 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 entrycount 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.

[0091] The track reference mechanism can be used to associate tracks with each other. The TrackReferenceBox includes box(es), each of which provides a reference from the including track to aset 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).

[0092] The ISO Base Media File Format contains three mechanisms for timed metadata that can be associated with particular samples: sample groups, timed metadata tracks, and sample auxiliary information. A derived specification may provide similar functionality with one or more of these three mechanisms.

[0093] A sample grouping in the ISO base media file format and its derivatives, such as the advanced video coding (AVC) file format and the scalable video coding (SVC) file format, may be defined as an assignment of each sample in a track to be a member of one sample group, based on a grouping criterion. A sample group in a sample grouping is not limited to being contiguous samples and may include non- adjacent samples. As there may be more than one sample grouping for the samples in a track, each sample grouping may have a type field to indicate the type of grouping. Sample groupings may be represented by two linked data structures: (1) a SampleToGroupBox (sbgp box) represents the assignment of samples to sample groups; and (2) a SampleGroupDescriptionBox (sgpd box) contains a sample group entry for each sample group describing the properties of the group. There may be multiple instances of the SampleToGroupBox and SampleGroupDescriptionBox based on different grouping criteria. These may be distinguished by a type field used to indicate the type of grouping. SampleToGroupBox may comprise a grouping_type_parameter field that can be used e.g. to indicate a sub-type of the grouping.

[0094] 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 a certain 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. One example of the box that includes the edit list, the EditListBox, is provided below:

[0095] aligned(8) class EditListBox extends FullBox(‘elst’, version, flags) { unsigned int(32) entry _count; for (i= 1; i <= entry _count; i++) { if (version==l) { unsigned int(64) segment_duration; int(64) media lime;} else { / / version==0unsigned int(32) segment_duration; int(32) media lime;} int(16) media_rate_integer; int(16) media_rate_fraction = 0;}}

[0096] In ISOBMFF, an EditListBox may be contained in EditBox, which is contained in TrackBox ('trak').

[0097] In this example of the edit list box, flags specifies 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.

[0098] 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.

[0099] The syntax of TrackGroupBox in ISOBMFF is as follows:

[0100] aligned(8) class TrackGroupBox extends Box('trgr'){} aligned(8) class TrackGroupTypeBox(unsigned int(32) track_group_type) extends FullBox(track_group_type, version = 0, flags = 0) { unsigned int(32) track_group_id; / / the remaining data may be specified for a particular track_group_type}

[0101] 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:

[0102] 'msrc' indicates that this track belongs to a multi-source presentation. The tracks that have the same value of track_group_id 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_id 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.

[0103] The pair of track_group_id and track_group_type identifies a track group within the file. The tracks that include a particular TrackGroupTypeBox having the same value of track_group_id and track_group_type belong to the same track group.

[0104] TrackGroupTypeBox with track_group_type equal to 'ster' indicates that this track is either the left or right view of a stereo pair suitable for playback on a stereoscopic display. The tracks that have the same value of track_group_id within StereoVideoGroupBox form a stereo pair, and there shall be no more than two of such tracks for the same value of track_group_id. Usually there are two tracks indicated to be a stereo pair with the StereoVideoGroupBox having the same value of track_group_id. However, only one track can be associated with a stereo pair in specific cases. For example, the file can be edited in a manner that one of the tracks forming a stereo pair gets removed. In another example, only one of the tracks of a stereo pair is selected for transmission, e.g. using DASH.

[0105] Syntax

[0106] aligned(8) class StereoVideoGroupBox extends TrackGroupTypeBox('ster'){ unsigned int(l) left_view_flag; bit(31) reserved;}

[0107] Semantics

[0108] left_view_flag equal to 0 indicates the right view of a stereo pair, and left_view_flag equal to 1 indicates the left view of a stereo pair. When there are two tracks with the same value of track_group_id, the value of left_view_flag shall differ.

[0109] The Entity grouping is similar to track grouping but enables grouping of both tracks andimage items in the same group.

[0110] The syntax of EntityToGroupBox in ISOBMFF is as follows: aligned(8) class EntityToGroupBox(grouping_type, version, flags) extends FullBox(grouping_type, version, flags) { unsigned int(32) group_id; unsigned int(32) num_entities_in_group; for(i=0; i<num_entities_in_group; i++) unsigned int(32) entity _id;}

[0111] group_id is a non-negative integer assigned to the particular grouping that shall not be equal to any group_id value of any other EntityToGroupBox, any item_ID 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).

[0112] num_entities_in_group specifies the number of entity _id values mapped to this entity group.

[0113] entity _id is resolved to an item, when an item with item_ID equal to entity_id is present in the hierarchy level (file, movie or track) that contains the GroupsListBox, or to a track, when a track with track_ID equal to entity _id is present and the GroupsListBox is contained in the file level.

[0114] The SchemeTypeBox identifies the protection or restriction scheme.

[0115] Syntax

[0116] aligned(8) class SchemeTypeBox extends FullBoxfschm', 0, flags){ unsigned int(32) scheme_type; / / 4CC identifying the scheme unsigned int(32) scheme_version; / / scheme version if (flags & 0x000001) { utf8string scheme_uri; / / browser uri}}

[0117] Semantics

[0118] scheme_type is the code defining the protection or restriction scheme, normally expressed as a four character code;

[0119] scheme_version is the version of the scheme (used to create the content)

[0120] scheme_URI is an absolute URI allowing for the option of directing the user to a web-page if they do not have the scheme installed on their system.

[0121] The SchemelnformationBox is a container Box that is only interpreted by the scheme being used. Any information the encryption or restriction system needs is stored here. The content of this box is a series of boxes whose type and format are defined by the scheme declared in the SchemeTypeBox.

[0122] Syntax

[0123] aligned(8) class SchemelnformationBox extends Box('schi'){Box scheme_specific_data[] ;}

[0124] When stereo-coded video frames are decoded, the decoded frames either include a representation of two spatially packed constituent frames that form a stereo pair (frame packing) or only one view of a stereo pair (left and right views in different tracks). Restrictions due to stereo-coded video are contained in the StereoVideoBox.

[0125] scheme_type equal to 'stvi' (stereoscopic video) is used.

[0126] The StereoVideoBox is used to indicate that decoded frames either include a representation of two spatially packed constituent frames that form a stereo pair or include one of two views of a stereo pair. The StereoVideoBox shall be present when scheme_type is 'stvi'.

[0127] When the value of stereo_indication_type indicates the temporal interleaving frame packing arrangement and the display system in use presents two views simultaneously, readers should implicitly set the composition timestamp for constituent picture 0 to coincide with the composition timestamp for constituent picture 1.

[0128] Syntax aligned(8) class StereoVideoBox extends FullBoxfstvi', version = 0, 0){ template unsigned int(30) reserved = 0; unsigned int(2) single_view_allowed; unsigned int(32) stereo_scheme; unsigned int(32) length; unsigned int(8) stereo_indication_type [length];Box any_box[]; / / optional}

[0129] Semantics

[0130] single_view_allowed is an integer. A zero value indicates that the content may only be displayed on stereoscopic displays. When (single_view_allowed & 1) is equal to 1, it is allowed to display the right view on a monoscopic single-view display. When (single_view_allowed & 2) is equal to 2, it is allowed to display the left view on a monoscopic single-view display.

[0131] stereo_scheme is an integer that indicates the stereo arrangement scheme used and the stereo indication type according to the used scheme. The following values for stereo_scheme are specified:

[0132] 1: the frame packing scheme as specified by the Frame packing arrangementSupplemental Enhancement Information message of ISO / IEC 14496-10:2014,

[0133] 2: the arrangement type scheme as specified in ISO / IEC 10646, Annex D

[0134] 3: the stereo scheme as specified in ISO / IEC 23000-l l[6] for both frame / service compatible and 2D / 3D mixed services.

[0135] 4,5: values of VideoFramePackingType, QuincunxSamplingFlag.PackedContentlnterpretationType as defined in ISO / IEC 23091-2.

[0136] Other values of stereo_scheme are reserved.

[0137] length indicates the number of bytes for the stereo_indication_type field.

[0138] stereo_indication_type indicates the stereo arrangement type according to the used stereo indication scheme. The syntax and semantics of stereo_indication_type depend on the value of stereo_scheme. The syntax and semantics for stereo_indication_type for the following values of stereo_scheme are specified as follows:

[0139] stereo_scheme equal to 1: The value of length shall be 4 and stereo_indication_type shall be unsigned int(32) which contains the frame_packing_arrangement_type value from ISO / IEC 14496- 10:2014,, Table D-8. (‘Definition of frame_packing_arrangement_type’).

[0140] stereo_scheme equal to 2: The value of length shall be 4 and stereo_indication_type shall be unsigned int(32) which contains the type value from ISO / IEC 10646, Table D.l (‘Definition of arrangement_type’ ).

[0141] stereo_scheme equal to 3: The value of length shall be 2 and stereo_indication_type shall include two syntax elements of unsigned int(8). The first syntax element shall include the stereoscopic composition type from ISO / IEC 23000-11:2009 [6], Table 4. The least significant bit of the second syntax element shall include the value of is_left_first as specified in ISO / IEC 23000-11:2009[6], subclause 8.4.3, while the other bits are reserved and shall be set to 0.

[0142] stereo_scheme equal to 4: The value of length shall be 2 and stereo_indication_type shall include two syntax elements of unsigned int(8). The first syntax element shall include a VideoFramePackingType from ISO / IEC 23091 -2. The least significant bit of the second syntax element shall include the value of QuincunxSamplingFlag as specified in ISO / IEC 23091-2, while the other bits are reserved and shall be set to 0. PackedContentlnterpretationType specified in ISO / IEC 23091-2 is inferred to be equal to 1.

[0143] stereo_scheme equal to 5: The value of length shall be 3 and stereo_indication_type shall include three syntax elements of type unsigned int(8). The first syntax element shall include a VideoFramePackingType from ISO / IEC 23091 -2. The least significant bit of the second syntax element shall include the value of QuincunxSamplingFlag as specified in ISO / IEC 23091-2, while the other bits are reserved and shall be set to 0. The third syntax element shall include the PackedContentlnterpretationType from ISO / IEC 23091-2.

[0144] The following applies when the StereoVideoBox is used:

[0145] In the TrackHeaderBox

[0146] width and height in the TrackHeaderBox specify the visual presentation size of a single view after unpacking.

[0147] The following specifications apply for syntax elements and boxes in a SampleEntry in the SampleDescriptionBox

[0148] frame_count shall be 1, because the decoder physically outputs a single frame. In other words, the constituent frames included within a frame-packed picture are not documented by frame_count.

[0149] width and height document the pixel counts of a frame-packed picture (and not the pixel counts of a single view within a frame-packed picture).

[0150] the Pixel AspectRatioB ox documents the pixel aspect ratio of each view when the view is displayed on a monoscopic single-view display. For example, in many spatial frame packing arrangements, the pixel aspect ratio box therefore indicates 2:1 or 1:2 pixel aspect ratio, as the spatial resolution of one view of frame-packed video is typically halved along one coordinate axis compared to that of the single-view video of the same format.

[0151] Files conforming to the ISOBMFF may include any non-timed objects, referred to as items, meta items, or metadata items, in a meta box (four-character code: ‘meta’ ). While the name of the meta box refers to metadata, items can generally include 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 include a ‘ hd I r’ box indicating the structure or format of the ‘meta’ box contents. The meta box may list and characterize any number of items that can be referred and each one of them can be associated with a file name and are uniquely identified with the file by item identifier (item_id) which is an integer value. The metadata items may be for example stored in the 'idaf 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, eachbeing 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 can be formed by concatenating the extents.

[0152] A common base structure is used to include general untimed metadata. This structure is called the MetaBox as it was originally designed to carry metadata, i.e. data that is annotating other data. However, it is now used for a variety of purposes including the carriage of data that is not annotating other data, especially when present at ‘file level’ .

[0153] The MetaBox is required to include a HandlerBox indicating the structure or format of the MetaBox contents.

[0154] All other contained boxes are specific to the format specified by the HandlerBox.

[0155] The other boxes defined here may be defined as optional or mandatory for a given format. If they are used, then they shall take the form specified here. These optional boxes include a DatalnformationBox, which documents other files in which metadata values (e.g. pictures) are placed, and 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).

[0156] At most one MetaBox may occur at each of the file level, segment, movie level, or track level.

[0157] If an ItemProtectionBox occurs, then some or all of the metadata, including possibly the primary resource, may have been protected and be un-readable unless the protection system is taken into account.

[0158] The MetaBox is unusual in that it is a container box yet extends FullBox, but not Box.

[0159] Metadata items are identified by item_ID. Within a given MetaBox, a given item_ID shall uniquely refer to a single item. When an item is updated in movie fragments, the item_ID refers to the latest received version.

[0160] Derived specifications may further restrict the criteria for uniqueness: unique among the item_IDs in both file and movie-level boxes, or unique within that set extended with the track_ID of the tracks in a movie box. The item_ID value of 0 should not be used, and shall not be used when the set is extended to include track_IDs.

[0161] 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 item_ID within a given scope (e.g. in the TrackBox and all TrackFragmentBox with the same track_ID). aligned(8) class MetaBox (handler_type) extends FullBoxfmeta', version = 0, 0) {HandlerBox(handler_type) theHandler;Primary ItemB ox primary _resource; / / optionalDatalnformationBox file_locations; / / optionalItemLocationB ox item_locations; / / optionalItemProtectionBox protections; / / optionalItemlnfoBox item_infos; / / optionalIPMPControlB ox IPMP_control; / / optionalItemReferenceB ox item_refs; / / optionalItemDataBox item_data; / / optionalBox other_boxes [] ; / / optional

[0162] 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.

[0163] 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 includes two parts: ItemPropertyContainerBox that contains an implicitly indexed list of item properties, and one or more ItemProperty AssociationBox(es) that associate items with item properties.

[0164] High Efficiency Image File Format (HEIF)

[0165] 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).

[0166] The ISOBMFF structures and features are used to a large extent in the design of HEIF. Thebasic 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

[0167] 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 (whether within the same file, or in an external file identified by a uniform resource identifier) including the coded media data is resolved through the Data Information ('dinf ) box, whereas the Item Location filoc') box stores the position and sizes of every item within the referenced file. The Item Reference firef) 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 then this item is 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.

[0168] Any number of image items can 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.

[0169] HEIF defines ‘ster’ entity grouping as follows. An entity group of grouping type equal to ‘ster’ has the output images of the image items form a stereo pair suitable for displaying on a stereoscopic display. The entity group shall include exactly two entity _id values that point to image items and shall include no entity _id values that point to tracks. The first listed entity _id value (with i equal to 0) indicates the left view and the second entity _id value indicates the right view. When a 'ster' entity group indicates that the primary item contains one view of a stereo pair, the primary item is intended to be displayed in monoscopic viewing of that stereo pair.

[0170] Some coding formats allow coding of images in a multi-layer manner, where the coded data representing an image is partitioned into several layers. A basic version of the image can be obtained by decoding the base layer, and each enhancement layer improves the basic version with respect to one or more aspects, such as spatial resolution and bit depth. In another example, an enhancement layer provides a second view, which can be used in stereoscopic displaying.

[0171] The MPEG document m67022 defines the following:

[0172] Multiple types of issues may occur during stereo image capture that can cause viewer discomfort when the stereo images are viewed on a stereoscopic display. These issues are commonly referred to as stereo aggressors.

[0173] These aggressors can have different causes. For example:Objects that are too close to the camerasOcclusions on one of the camerasVarying lighting conditions or lens characteristics on one of the cameras

[0174] An item property that can be used to signal the presence of stereo aggressors.

[0175] The item property is meant to be associated with a stereo pair group and indicates whether an aggressor has been detected for that pair or not.

[0176] In addition to the stereo pair group, the item property may also be associated with one or both of the images in the group to indicate which image the issue is present in. For example, if a lens occlusion is detected in the left image, a stereo aggressor property can be associated both with the stereo pair group and the left image item. If an even more fine-grained location is desired, the item property may be associated with a region item associated with one or both of the image items in the pair.

[0177] An image may belong to multiple stereo pairs. Even though an image item may be associated with a stereo aggressor property, that property may not apply to all the stereo pairs that the image item belongs to. This is the reason why all stereo aggressor properties need to also be associated with a stereo pair group.

[0178] Stereo aggressors item property

[0179] DefinitionBox type: 'stag'Property type: Descriptive item propertyContainer: ItemPropertyContainerBoxMandatory (per associated item): NoQuantity (per associated item): Zero or more

[0180] The stereo aggressors descriptive item property specifies the presence and characteristics of stereo aggressors detected within a stereo pair. Stereo aggressors are identified as elements that potentially cause discomfort when viewing the stereo pair on a stereoscopic display. This item property allows to identify and characterize these aggressors in detail.

[0181] This item property shall be used with a stereo pair. It may be associated with other items only if also associated with a stereo pair, so it is clear in which stereo context it applies. If associated with a stereo pair entity group, the 'unif brand shall be present in the compatible brands.

[0182] When this item property is associated with another item in addition to the stereo pair, it serves as a hint that the aggressors described by the property are localized to that specific item. For example, this can be used to indicate that a "Lens occlusion" is present in only the left or right image item, or using a region item, in a specific region of an image item. Multiple stereo aggressor properties may be associated with the same stereo pair since not all aggressors may be localized to the same area.

[0183] An image item can be associated with multiple stereo pair entity groups; however a stereo aggressor can only apply to a specific group, which is why there is a requirement that the stereo aggressor has to be associated with a stereo group.

[0184] If a player encounters a stereo aggressor with an aggressor_severity of 0 (unspecified) or >= 64, it is recommended that the stereo pair is not displayed in stereo unless the player has some method for mitigating it.

[0185] Syntaxaligned(8) class StereoAggressorsProperty extends ItemFullProperty('stag', version = 0, flags = 0) { unsigned int(8) aggressor_count_minus_one; for(int i = 1; i <= aggressor_count_minus_one + 1; i++) { unsigned int(8) aggressor_type; unsigned int(l) sub_type_present; unsigned int(7) aggressor_severity; if (sub_type_present) { utf 8 string sub_type_uri;}}}

[0186] Semantics

[0187] version shall be equal to 0.

[0188] aggressor_count_minus_one is the number of aggressors minus one.

[0189] aggressor_type has the following defined values:

[0190] aggressor_se verity is a hint that indicates how severe the aggressor is considered to be. A value of 0 indicates an unspecified or unknown severity. A value of 1 indicates a very mild severity. A value of 127 indicates an extreme severity.

[0191] sub_type_uri is an optional null-terminated UTF-8 character string of the Uniform Resource Identifier (URI) used to identify the type of the stereo aggressor more explicitly. When not present, it defaults to the empty string.

[0192] An item with an item_type value of 'rgan' is a region item that defines one or more regions of an image.

[0193] A region item allows associating a same set of item properties or other items or both with each individual region it defines inside an image. Item properties is associated with a region item when the property value for the region differs from the matching (explicit or implied) property value for the whole image.

[0194] The region item is associated with the image item inside which the regions are defined using an item reference of type 'cdsc' from the region item to the image item.

[0195] The geometries of the regions described by the region item are specified in the data of the region item.

[0196] The reference space is defined as a 2D coordinate system with the origin (0,0) located at the top-left corner and a maximum size defined by reference_width and ref erence_h eight; the x-axis is oriented from left to right and the y-axis from top to bottom.

[0197] When a region item describes several regions represented by a mask stored in an image item (e.g., when geometry_type equals 4), there shall be one reference for each such region inside the item reference of type 'mask'. The Nth reference in the item reference of type 'mask' identifies the mask for the Nth region with geometry_type equals to 4, in declaration order, in the region item.

[0198] When the same mask stored as an image item is used for multiple regions declared in a region item, this image item will be referenced several times in the item reference of type 'mask'.

[0199] The syntax of the regionitem is given below. aligned (8) class Regionitem { unsigned int(8) version = 0; unsigned int(8) flags; unsigned int field_size = ((flags & 1) + 1) * 16; / / this is a temporary, non-parsablevariable unsigned int(field_size) reference_width; unsigned int(field_size) reference_height; unsigned int(8) region_count; for (r=0; r < region_count; r++) {RegionGeometryStruct( version, flags, 0) region_geometry;} }

[0200] The corresponding semantics is given below:

[0201] version is equal to 0.

[0202] (flags & 1) equal to 0 specifies that the length of fields defined using field_size is 16 bits, (flags & 1) equal to 1 specifies that the length of fields defined using field_size is 32 bits. The values of flags greater than 1 are reserved.

[0203] reference_width, reference_height specify, in pixel units, the width and height, respectively, of the reference space on which the regions are placed.

[0204] region_count specifies the number of regions defined in the region item.

[0205] region_geometry specifies the geometry of a region.

[0206] RegionGeometryStrnctQ specifies the geometries of one or more regions inside images depending on the container of the images:— For an image carried in an image item, the container of this structure is a region item, and this structure defines one or more regions in the image carried by the image item (also denoted source image item in the following).

[0207] These geometries define the shape, position and size of the regions inside a reference space that is mapped to the image.

[0208] The syntax of RegionGeometryStruct is given below: aligned (8) class RegionGeometryStruct(unsigned int version, unsigned int flags, unsignedint is_region_track) { unsigned int field_size = ((flags & 1) == 1) ? 32 : 16; unsigned int(8) geometry_type; if (version >= 0) { if (geometry _type == 0) { / / point signed int(field_size) x; signed int(field_size) y;} else if (geometry _type == 1) { / / rectangle signed int(field_size) x; signed int(field_size) y; unsigned int(field_size) width; unsigned int(field_size) height;} else if (geometry _type == 2) { / / ellipse signed int(field_size) x; signed int(field_size) y; unsigned int(field_size) radius_x; unsigned int(field_size) radius_y;} else if (geometry _type == 3 II geometry_type == 6) { / / polygon or polyline unsigned int(field size) point_count; for (i=0; i < point_count; i++) { signed int(field_size) px; signed int(field_size) py;}} else if (geometry _type == 4) { / / referenced mask signed int(field_size) x; signed int(field_size) y; unsigned int(field_size) width;unsigned int(field_size) height; if (is_region_track) unsigned int(field_size)mask_ref_idx;} else if (geometry _type == 5) { / / inline mask signed int(field_size) x; signed int(field_size) y; unsigned int(field_size) width; unsigned int(field_size) height; unsigned int(8) mask_coding_method; if (mask_coding_method != 0) unsigned int(32) mask_coding_parameters; bit(8) data[];}}}

[0209] The corresponding semantics is as follows:

[0210] version is an integer that specifies the version of the format of this structure.

[0211] (flags & 1) equal to 0 specifies that the length of the fields x, y, width, height, radius_x, radius_y, point_count, px, and py is 16 bits, (flags & 1) equal to 1 specifies that the length of the fields x, y, width, height, radius_x, radius_y, point_count, px, and py is 32 bits. The values of flags greater than 1 are reserved.

[0212] is_region_track indicates whether this structure is defined in a sample of a region track or in a region item. It shall be equal to 1 when the structure is defined in a sample of a region track and it shall be equal to 0 when the structure is defined in a region item.

[0213] geometry_type specifies the type of the geometry of a region. The following values for geometry _type are defined:0: the region is described as a point.1: the region is described as a rectangle.2: the region is described as an ellipse.3: the region is described as a polygon.4: the region is described as a mask defined in:— a referenced image item or mask item when this structure is defined in a region item; or,— a referenced image item, mask item or in a sample of a referenced track when this structure is defined in a region track.5: the region is described as a mask defined inside the data of this structure.6: the region is described as a polyline.Other values are reserved.

[0214] x, y specify the coordinates of the point composing the region relatively to the reference space when its geometry is a point, x, y specify the top, left corner of the region relatively to the reference space when its geometry is a rectangle or a mask, x, y specify the centre of the region relatively to the reference space when its geometry is an ellipse. The value (x = 0, y = 0) represents the position of the top-left pixel in the reference space.

[0215] In an example, negative values for the x or y fields enable to specify points, top-left corners, and / or centres that are outside the image. This can be useful for updating region annotations during the edition of an HEIF file.

[0216] width, height specify, relatively to the reference space, the width and the height of the region when its geometry is a rectangle or a mask. When geometry _type equals 4, the value 0 indicates that the corresponding width or height value is provided by the ImageSpatialExtentsProperty associated with the item containing the mask or the width and height in the TrackHeaderBox of the track containing the mask. When geometry _type does not equal 4, the value 0 is reserved.

[0217] radius_x specifies, relatively to the reference space, the radius on x-axis of the region when its geometry is an ellipse.

[0218] radius_y specifies, relatively to the reference space, the radius on y-axis of the region when its geometry is an ellipse.

[0219] point_count is the number of points contained in a polygon or a polyline.

[0220] In an example, A polygon specifying the geometry of a region is always closed and therefore there is no need to repeat the first point of the polygon as the ending point of the polygon.

[0221] px, py specify the coordinates of the points composing the polygon or the polyline relatively to the reference space. The value (px = 0, py = 0) represents the position of the top-left pixel in the reference space.

[0222] mask_ref_idx specifies the index of the track reference of type 'mask' referring to the track, or possibly the image item when the 'unif brand is used, from which to retrieve the mask to apply. When a track is referenced, the sample in that track from which mask data is retrieved is the one that is temporally aligned with the current sample in the source track or the nearest preceding one in the media presentation timeline. The first track reference has the index value 1; the value 0 is reserved.

[0223] mask_coding_method indicates the coding method applied on the mask contained in data. The following values are defined:0: No mask encoding scheme is applied.1: Mask is compressed with deflateQ as defined in IETF RFC 1951.Other values are reserved.

[0224] mask_coding_parameters indicate additional encoding parameters needed for successfully processing the coded mask data. When mask_coding_method is equal to 1, mask_coding_parameters indicate the number of bytes in the coded mask array data. The value of mask_coding_parameters is reserved when the value of mask_coding_method is greater than 1.

[0225] data includes the coded or uncompressed representation of a mask that contains the pixels for an inline mask in raster-scan order. Each pixel is represented using a single bit and 8 pixels are packed in one byte. Byte packing shall be in big-endian order. No padding shall be put at the end of each line if the width of the mask is not a multiple of 8 pixels. Only the last data byte shall be padded with bits set to 0.

[0226] A region annotation includes metadata or image items associated with one or more regions of an image item.

[0227] A region annotation may be associated with one or more regions of an image item by:— describing in a region item the geometry of one or more regions;— associating the region item (or a derived region item using the region item as input) with the image item it describes using the 'cdsc' (content describes) item reference from the region item (or derived region item) to the image item; and,— associating any or all the following with the region item (or the derived region item):— descriptive image properties, using the ItemProperty AssociationBox;— metadata items, using an item reference of type 'cdsc' from the metadata item to the region item.— image items or, when the 'unif brand is used, an entity group, using an item reference of type 'eroi' from the region item to the image item or entity group.

[0228] A region annotation can use a UserDescriptionProperty to associate a description / tags with a region of an image item.

[0229] When the 'unif brand is used, a region item can be associated with an 'altr' entity group to describe alternative image items associated with a region or a 'pano' entity group to describe a panorama image associated with a region.

[0230] The region annotation applies to each region described in the region item individually.

[0231] The same region annotation may be associated with several image items by associating the same region item with multiple image items.

[0232] An item is a derived region item, when it includes a 'drgn' item reference to one or more other region items, which are inputs to the derivation. The reference space and regions defined by a derived region item are obtained by applying the operation of the derived region item to the reference space and regions of the input region items of the derived region item. The exact operation performed to obtain the reference space and the regions is identified by the item_type of the item.

[0233] Transformative item properties associated with a derived region item shall be applied to the reference space and regions defined by the derived region item before they are applied to the image item referenced by the derived region item with an item reference of type 'cdsc'.

[0234] The number of SingleltemTypeReferenceBoxes with the box type 'drgn' and with the same value of from_item_ID shall not be greater than 1.

[0235] Multi-Image Application Format (MIAF)

[0236] The Multi-Image Application Format (MIAF), specifies a multimedia application format that enables precise interoperability points for creation, reading, parsing, and decoding of images embedded in the High Efficiency Image File (HEIF) format. The MIAF specificationfully conforms to the HEIF format and only defines additional constraints to ensure higher interoperability.

[0237] FIG. 4 illustrates a possible processing model to handle MIAF files. An MIAF reader 402 gets a MIAF file 404 as input. In addition, the caller process or application 406 provides inputs on how the file is intended to be processed. The MIAF reader 402 produces output images that are provided to the MIAF Tenderer 408 for displaying. The rendering takes place on a visual context 410, such as a screen buffer, and is controlled by the caller process or application.

[0238] Following are some example groupings the MIAF reader 402 processes:

[0239] alternative images (as defined in ISO / IEC 14496-12);

[0240] stereo image (as defined in ISO / IEC 23008-12); and

[0241] and equivalent entities (as defined in ISO / IEC 23008-12).

[0242] Stereo images may be supported by MIAF reader; if not supported, or if a monoscopic image is desired (e.g. for printing), the primary item should be used.

[0243] Omnidirectional media format (OMAF)

[0244] FramePackingProperty has the same box type and syntax as StereoVideoBox specified in ISO / IEC 14496-12. FramePackingProperty indicates that the reconstructed image contains a representation of two spatially packed constituent pictures.

[0245] essential shall be equal to 1 for a 'stvi' item property.

[0246] FramePackingProperty has the same syntax as StereoVideoBox specified in ISO / IEC 14496-12.

[0247] The semantics of the syntax elements within the FramePackingProperty are the same as those specified for the syntax elements of StereoVideoBox as defined in ISO / IEC 14496-12 and in subclause 7.1.2.

[0248] When an image item contains stereoscopic content, the FramePackingProperty shallbe present for the image item.

[0249] Example problem

[0250] When the HEIF file includes more than one stereo image pairs there is no indication on which among the pair is to be used for monoscopic displays.

[0251] When an additional view is present together with stereo image pair; where the additional view is intended to be used for monoscopic displays the current HEIF mechanism do not support carriage or signaling of such additional views.

[0252] Another example problem

[0253] During the capture of multi-view images there may be errors which occur while capturing, for example, occlusion in a stereo image pair. A player may have methods to mitigate such errors. However, the current HEIF mechanism do not support carriage or signaling of such information which help the player to identify and mitigate such errors.

[0254] Yet another example problem

[0255] During the capture / creation of stereo images several image pairs can be created for a particular inter pupillary distance (IPD) of the viewer. In that case, anyone of the images in the pair could remain fixed and the second image in the pair would change depending on the IPD. However, the current HEIF solutions do not support signaling which help the player to identify such alternatives in relation to IPD.

[0256] File Encapsulator / Encoder

[0257] An example method comprises: receiving two or more images that represent a stereoscopic view; determining a relation between the two or more images; storing the two or more images in a file format; and signaling the relation between the two or more images within the file format.

[0258] Examples of relation between the images, include but are not limited, to following be: which of the two or more images represent a stereoscopic pair; two images represent stereoscopic view, in case of the fallback to monoscopic view (2D representation) which of the two should be used; two images represent stereoscopic view and there is a third image associated with them representing monoscopic view (2D representation);One or more images / videos which is a monoscopic alternative of the above said stereoscopic pair. two images represent stereoscopic view for a given IPD, and there is at least one image that is alternative to one of the two images that will create a new stereoscopic view for second IPD; and / or two images represent stereoscopic view with a given capturing problems.

[0259] The said monoscopic alternative, to be made suitable for monoscopic viewing, is either generated to be co-located with the left view or generated to be co-located with the right view of the said stereoscopic pair; or is generated at a location between the left and the right view of the said stereoscopic pair; or is generated after processing both the left and the right view of the said stereoscopic pair.

[0260] File Format may be in accordance to ISOBMFF (IOS / IEC 14496-12 / ISO / IEC 23008- 12)

[0261] File Parser / Decoder

[0262] Another example method comprises: receiving a file format comprising two or more images that represent a stereoscopic view, wherein the file format comprises signaling about the relationship between the two or more images; and determining, based on the signaling, which of the images from the two or more images to use for a presentation.

[0263] Determination can be done based on the external input, for example: the format of the display of the client, 2D or 3D display; the IPD of the client.One or more stereoscopic pairs (left and right views) of images / videos; and / orOne or more images / videos which is a monoscopic alternative of the above said stereoscopic pair.

[0264] Wherein, the said monoscopic alternative, to be made suitable for monoscopic viewing, is either generated to be co-located with the left view or generated to be co-located with the right view of the said stereoscopic pair; or is generated at a location between the left and the right view of the said stereoscopic pair; or is generated after processing both the left and the right view of the said stereoscopic pair.

[0265] Signaling methods are described below.

[0266] Indication in HEIF File (Monoscopic to Stereoscopic alternatives)

[0267] The left view and the right view of a stereoscopic pair are stored in a HEIF as two independent image items. Multiple stereoscopic images are present in the file. The mapping between the two stereoscopic pair image items is done using the EntityToGroupBox with grouping_type parameter equal to ‘ster’ indicating that the two image items form a stereoscopic pair suitable for stereoscopic viewing and / or displaying.

[0268] A monoscopic alternative, to be made suitable for monoscopic viewing, is either generated to be co-located with the left view; generated to be co-located with the right view of the said stereoscopic pair; is generated at a location between the left and the right view of the said stereoscopic pair; or is generated after processing both the left and the right view of the said stereoscopic pair.

[0269] In an embodiment, the monoscopic alternative of the stereoscopic pair is encapsulated as an image item.

[0270] In an embodiment, a new item reference is defined with 4cc ‘most’ (any other suitable 4cc can be used) indicating that the image item is an monoscopic alternative of the stereoscopic pair.

[0271] In an embodiment, the item reference may be from the monoscopic image item to the stereoscopic image items. In an alternate embodiment, the item reference may be from the stereoscopic image items to the monoscopic image item. In another alternate embodiment,compatibility to the 'unif brand requirements may be indicated and the item reference may be from the monoscopic image item to the 'ster' entity group. In yet another alternate embodiment, compatibility to the 'unif brand requirements may be indicated and the item reference may be from the 'ster' entity group to the monoscopic image item.

[0272] In an embodiment, a new item property is defined called the MonoStereoGroupProperty with 4cc ‘monp’ (any other suitable 4cc can be used) to indicate the property of the monoscopic image in relation to the stereoscopic pair.

[0273] In an example embodiment, the MonoStereoGroupProperty as defined in HEIF is shown below.

[0274] Definition

[0275] Box type: 'monp'

[0276] Property type: Descriptive item property

[0277] Container: ItemPropertyContainerBox

[0278] Mandatory (per item): No

[0279] Quantity (per item): Zero or one for a monoscopic image item

[0280] In an embodiment, the MonoStereoGroupProperty associated with an image item indicates that the image item is a monoscopic alternate of a stereoscopic pair.

[0281] In an embodiment, the MonoStereoGroupProperty associated with a first image item that is linked through an item reference to the 'ster' entity group and / or the image items forming a stereo pair, as described in any of the related embodiments above.

[0282] In an embodiment, the MonoStereoGroupProperty associated with a first image item of the two image items in a 'ster' entity group indicates that the first image item is the monoscopic alternative suitable for monoscopic viewing of stereoscopic pair.

[0283] In an embodiment, the MonoStereoGroupProperty associated with a first image item present in an entity group, such as an 'altr' entity group, that also includes the 'ster' entity group indicates that the first image item is the monoscopic alternative suitable for monoscopic viewing of stereoscopic pair.

[0284] In an embodiment, the contents of the MonoStereoGroupProperty indicates the location of the monoscopic image in relation of the left view and / or right view of the stereoscopic pair.

[0285] In an embodiment, when a derived image item has an associated MonoStereoGroupProperty, the derived image item forms a monoscopic alternate of a stereoscopic pair.Syntax aligned(8) class MonoStereoGroupProperty extends ItemProperty fmonp'){ unsigned int (2) mono_colocation;}

[0286] Wherein mono_colocation value is equal to:

[0287] 0: indicates that the associated image item is Co-located with left view

[0288] 1: indicates that the associated image item is Co-located with right view

[0289] 2: indicates that the associated image item is Centered between left and right views

[0290] 3: indicates that the location of the associated image item is Unknown.

[0291] In an alternate embodiment, a new Entity ToGroupB ox is defined with 4cc ‘msal’ (any other suitable 4cc can be used) called the MonoToStereoAlternativeGroupBox indicating that the items in the group form a monoscopic to stereoscopic pair alternatives.

[0292] In an example embodiment, the MonoToStereoAlternativeGroupBox defined in HEIF can be released as follows: aligned(8) class MonoToStereoAlternativeGroupBox (version, flags) extends EntityToGroupBox('msal', version, flags) { for (i=0; i<num_entities_in_group; i++) { bit(5) reserved = 0; unsigned int(l) leftview_flag; unsigned int(l) rightview_flag; unsigned int(l) monoscopicview_flag[[i]];}}

[0293] num_entities_in_group indicates the number of entities in the group. When num_entities_in_group is equal to 3 it indicates that the leftview, the right view and the monoscopic view are stored in three image items.

[0294] When num_entities_in_group is equal to 2 it indicates that the leftview and the right view are framepacked into a single image item and the monoscopic view is stored as a second image item.

[0295] When num_entities_in_group is equal to 1 it indicates that the leftview and the right view and the monoscopic view are framepacked into a single image item.

[0296] When num_entities_in_group is greater than 3 then the storage is unknown.

[0297] When leftview_flag is equal to 0, then the entity does not include the left view of the stereoscopic pair. When leftview_flag is equal to 1 , then the entity includes the left view of the stereoscopic pair.

[0298] When rightview_flag is equal to 0, then the entity does not include the right view of the stereoscopic pair. When rightview_flag is equal to 1 , then the entity contains the right view of the stereoscopic pair.

[0299] When monoscopicview_flag is equal to 0, then the entity does not include the monoscopic alternate view of the stereoscopic pair. When monoscopicview _flag is equal to 1 , then the entity inlcudes the monoscopic alternate view of the stereoscopic pair.

[0300] In an embodiment, at most one of the entities in the group should have the leftview_flag, the rightview_flag and the monoscopicview_flag set to one.

[0301] In another embodiment, if the left and right views of the stereoscopic view are leftright or up-down co-locating within the stereoscopic image item, a new derived image item of type ‘iden’ could be defined. Then, a clean aperture ‘clap’ transformative property could be applied on this on this derived image which defines the monoscopic view (left or right image)within the original stereoscopic image item. Such a derived image could be used as an alternative image for alternative grouping.

[0302] In an embodiment, a new EntityToGroupBox is defined with 4cc ‘ipdv’ (any other suitable 4cc can be used) called the IPDStereoAlternativeGroupBox indicating that the items in the group can create a stereoscopic pair alternatives with different IPD.

[0303] In an example embodiment, the IPDStereoAlternativeGroupBox defined in HEIF can be released as follows: aligned(8) class IPDStereoAlternativeGroupBox (version, flags) extends EntityToGroupBox(’ipdv’, version, flags) { for (i=0; i<num_entities_in_group; i++) { bit(l) resere ved; unsigned int(7) ipd;}}

[0304] ipd indicates the interpupillary distance the alternative view will provide when pair with the original view.

[0305] Indication for stereo aggressors in HEIF File

[0306] A stereo pair images (left view and right view images) are grouped together using entity to group with grouping_type parameter equal to ‘ster’ and the said entity to group is associated with a said StereoAggressorsProperty indicating that either the left view image or the right view image or both the images in the stereo pair have stereo aggressors.

[0307] In an embodiment, the above said entity to group with grouping_type parameter equal to ‘ster’ may be associated with StereoAggressorsProperty and the MonoStereoGroupProperty indicating that if the file reader / player is unable to rectify or if the severity of the aggressor is above a threshold value (for example 10) or is unable to recognize the stereo aggressors indicated in the StereoAggressorsProperty then the said file reader / player may switch / fallback to monoscopic display of the image as indicated by the MonoStereoGroupProperty.

[0308] In an embodiment, the above said entity to group with grouping_type parameter equal to ‘ster’ may be associated with StereoAggressorsProperty and not associated with any MonoStereoGroupProperty and if any of the images in the entity to group is indicated by the PrimaryltemBox it indicates that if the file reader / player is unable to rectify or if the severity of the aggressor is above a threshold value (for example 10) or is unable to recognize the stereo aggressors indicated in the StereoAggressorsProperty then the said file reader / player may switch / fallback to monoscopic display of the image as indicated by the PrimaryltemBox.

[0309] In an embodiment, the above said entity to group with grouping_type parameter equal to ‘ster’ may be associated with StereoAggressorsProperty and not associated with any MonoStereoGroupProperty and if any of the images in the entity to group is not indicated by the PrimaryltemBox it indicates that if the file reader / player is unable to rectify or if the severity of the aggressor is above a threshold value (for example 10) or is unable to recognize the stereo aggressors indicated in the StereoAggressorsProperty then the said file reader / player may switch / fallback to monoscopic display of either the first or any one of the image as indicated by the entity to group with grouping_type parameter equal to ‘ster’.

[0310] In an embodiment, either the left view image item or the right view image item or both the image items of a stereo pair may be associated with one or more region items with an ‘cdsc’ item reference from the one or more region items to the image items. In another alternate embodiment, compatibility to the 'unif brand requirements may be indicated and the item reference may be from the one or more region items to the 'ster' entity group. The said one or more region item annotates one or more regions in the associated image items indicating the presence of stereo aggressors in the associated image items.

[0311] In an embodiment, the specific stereo aggressor annotated by the said one or more regions in the one or more region item is defined as follows: either using a UserDescriptionProperty to associate a stereo aggressor with a region of an image item by setting either the description parameter or the tag parameter or the name parameter equal to the aggressor_type value and setting the either the description parameter or the tag parameter or the name parameter equal to the 4cc of the StereoAggressorsProperty; additionally or update the StereoAggressorsProperty as following:aligned(8) class StereoAggressorsProperty extends ItemFullProperty('stag', version = 0, flags = 0) { unsigned int(8) aggressor_count_minus_one; for(int i = 1 ; i <= aggressor_count_minus_one + 1 ; i++) { unsigned int(7) aggressor_type; unsigned int(l) sub_type_present; unsigned int(7) aggressor_severity; if (sub_type_present) { utf 8 string sub_type_uri;} unsigned int(l) region_annotation_present_flag; if(region_annotation_present_flag){ unsigned int( 16) region_item_ID;}}}

[0312] Where the semantics of the additional parameters as given below:

[0313] region_annotation_present_flag when equal to 1 indicates that region annotation is present for the given aggressor_type. When region_annotation_present_flag is equal to 0, it indicates that no region annotation information is present from the given aggressor type.

[0314] Region_item_id indicates the item ID of the region item or the item ID of the derived region item which provides the region annotation information for the given aggressor type.

[0315] FIG. 5 is an example apparatus 500, which may be implemented in hardware, configured to implement the examples described herein. The apparatus 500 comprises at least one processor 502 (e.g., an FPGA and / or CPU), at least one memory 504 including computer program code 505, the computer program code 505 having instructions to carry out the methods described herein, wherein the at least one memory 504 and the computer program code 505 are configured to, with the at least one processor 502, cause the apparatus 500 to implement circuitry, a process, component, module, or function (implemented with control module 506) to implement the examples described herein, including handling and / or processing stereoscopic images and videos. Optionally included encoder 508 of thecontrol module 506 implements encoding based on the examples described herein, and optionally included decoder 510 implements decoding based on the examples described herein. The at least one memory 504 may be a non-transitory memory, a transitory memory, a volatile memory (e.g. RAM), or a non-volatile memory (e.g., ROM).

[0316] The apparatus 500 includes a display and / or I / O interface 512, which includes user interface (UI) circuitry and elements, that may be used to display features or a status of the methods described herein (e.g., as one of the methods is being performed or at a subsequent time), or to receive input from a user such as with using a keypad, camera, touchscreen, touch area, microphone, biometric recognition, one or more sensors, etc. The apparatus 500 includes one or more communication e.g. network (N / W) interfaces (I / F(s)) 514. The communication I / F(s) 514 may be wired and / or wireless and communicate over the Internet / other network(s) via any communication technique including via one or more links 516. The communication I / F(s) 514 may comprise one or more transmitters or one or more receivers.

[0317] The transceiver 518 comprises one or more transmitters 520 and one or more receivers 522. The transceiver 518 and / or communication I / F(s) 514 may comprise standard well-known components such as an amplifier, filter, frequency-converter, (de)modulator, and encoder / decoder circuitries and one or more antennas, such as antennas 524 used for communication over wireless link 526.

[0318] The control module 506 of the apparatus 500 comprises one of or both parts 506-1 and / or 506-2, which may be implemented in a number of ways. The control module 506 may be implemented in hardware as control module 506-1, such as being implemented as part of the at least one processor 502. The control module 506-1 may be implemented also as an integrated circuit or through other hardware such as a programmable gate array. In another example, the control module 506 may be implemented as control module 506-2, which is implemented as computer program code (having corresponding instructions) 505 and is executed by the at least one processor 502. For instance, the at least one memory 504 store instructions that, when executed by the at least one processor 502, cause the apparatus 500 to perform one or more of the operations as described herein. Furthermore, the at least one processor 502, the at least one memory 504, and example algorithms (e.g., as flowcharts and / or signaling diagrams), encoded as instructions, programs, or code, are means for causing performance of the operations described herein.

[0319] The apparatus 500 to implement the functionality of control module 506 may correspond to any of the apparatuses depicted herein. Alternatively, apparatus 500 and its elements may not correspond to any of the other apparatuses depicted herein, as apparatus 500 may be part of a self- organizing / optimizing network (SON) node or other node, such as a node in a cloud.

[0320] The apparatus 500 may also be distributed throughout the network including within and between apparatus 500 and any network element (such as a base station and / or terminal device and / or user equipment).

[0321] Interface 5208 enables data communication and signaling between the various items of apparatus 500, as shown in FIG. 5. For example, the interface 5028 may be one or more buses such as address, data, or control buses, and may include any interconnection mechanism, such as a series of lines on a motherboard or integrated circuit, fiber optics or other optical communication equipment, and the like. Computer program code (e.g. instructions) 505, including control module 506 may comprise object-oriented software configured to pass data or messages between objects within computer program code 505. The apparatus 500 need not comprise each of the features mentioned, or may comprise other features as well. The various components of apparatus 500 may at least partially reside in a housing 530, or a subset of the various components of apparatus 500 may at least partially be located in different housings, which different housings may include housing 530.

[0322] FIG. 6 shows a schematic representation of non-volatile memory media 600a (e.g. computer / compact disc (CD) or digital versatile disc (DVD)) and 600b (e.g. universal serial bus (USB) memory stick) and 600c (e.g. cloud storage for downloading instructions and / or parameters 602 or receiving emailed instructions and / or parameters 602) storing instructions and / or parameters 602 which when executed by a processor allows the processor to perform one or more of the operations of the methods described herein. Instructions and / or parameters 602 may represent or correspond to a non- transitory computer readable medium.

[0323] FIG. 7 is an example method 700 to implement the embodiments described herein, in accordance with an embodiment. At 702, the method 700 includes receiving two or more images that represent a stereoscopic view. At 704, the method 700 includes determining a relation between the two or more images. At 706, the method 700 includes storing the two or more images in a file format. At 708, the method 700 includes signaling the relation between the two or more images within the file format.

[0324] The method 700 may be performed with an apparatus described herein, for example, any apparatus of FIG. 1 to FIG. 3, FIG. 5, or any other apparatus described herein.

[0325] FIG. 8 is an example method 800 to implement the embodiments described herein, in accordance with an embodiment. At 802, the method 800 includes receiving a file format comprisingtwo or more images that represent a stereoscopic view, wherein the file format comprises signaling about a relationship between the two or more images. At 804, the method 800 includes determining, based on the signaling, which of the images from the two or more images are to be used for a presentation.

[0326] The method 800 may be performed with an apparatus described herein, for example, any apparatus of FIG. 1 to FIG. 3, FIG. 5, or any other apparatus described herein.

[0327] As described above, FIGs. 7 and 8 include flowcharts of an apparatus (e.g. 100, 500, or any other apparatuses described herein), method, and computer program product according to certain example embodiments. It will be understood that each block of the flowcharts, and combinations of blocks in the flowcharts, may be implemented by various means, such as hardware, firmware, processor, circuitry, and / or other devices associated with execution of software including one or more computer program instructions. For example, one or more of the procedures described above may be embodied by computer program instructions. In this regard, the computer program instructions which embody the procedures described above may be stored by a memory (e.g. 58, 425112, or 504) of an apparatus employing an embodiment of the present invention and executed by processing circuitry (e.g., 56, 11 0, or 502) of the apparatus. As will be appreciated, any such computer program instructions may be loaded onto a computer or other programmable apparatus (e.g., hardware) to produce a machine, such that the resulting computer or other programmable apparatus implements the functions specified in the flowchart blocks. These computer program instructions may also be stored in a computer-readable memory that may direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture, the execution of which implements the function specified in the flowchart blocks. The computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operations to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide operations for implementing the functions specified in the flowchart blocks.

[0328] A computer program product is therefore defined in those instances in which the computer program instructions, such as computer-readable program code portions, are stored by at least one non- transitory computer-readable storage medium with the computer program instructions, such as the computer-readable program code portions, being configured, upon execution, to perform the functions described above, such as in conjunction with the flowchart(s) of FIGs. 7 and 8. In other embodiments,the computer program instructions, such as the computer-readable program code portions, need not be stored or otherwise embodied by a non-transitory computer-readable storage medium, but may, instead, be embodied by a transitory medium with the computer program instructions, such as the computer- readable program code portions, still being configured, upon execution, to perform the functions described above.

[0329] Accordingly, blocks of the flowcharts support combinations of means for performing the specified functions and combinations of operations for performing the specified functions for performing the specified functions. It will also be understood that one or more blocks of the flowcharts, and combinations of blocks in the flowcharts, may be implemented by special purpose hardware-based computer systems which perform the specified functions, or combinations of special purpose hardware and computer instructions.

[0330] In some embodiments, certain ones of the operations above may be modified or further amplified. Furthermore, in some embodiments, additional optional operations may be included. Modifications, additions, or amplifications to the operations above may be performed in any order and in any combination.

[0331] Some embodiments have been described in relation to one or more neural networks performing visual temporal extrapolation. It is to be understood that embodiments can be realized with any generative modelling neural networks.

[0332] In the above, some example embodiments have been described with the help of syntax of the bitstream. It needs to be understood, however, that the corresponding structure and / or computer program may reside at the encoder for generating the bitstream and / or at the decoder for decoding the bitstream.

[0333] In the above, where example embodiments have been described with reference to an encoder, it needs to be understood that the resulting bitstream and the decoder have corresponding elements in them. Likewise, where example embodiments have been described with reference to a decoder, it needs to be understood that the encoder has structure and / or computer program for generating the bitstream to be decoded by the decoder.

[0334] Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understoodthat the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Moreover, although the foregoing descriptions and the associated drawings describe example embodiments in the context of certain example combinations of elements and / or functions, it should be appreciated that different combinations of elements and / or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and / or functions than those explicitly described above are also contemplated as may be set forth in some of the appended claims. Accordingly, the description is intended to embrace all such alternatives, modifications and variances which fall within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.

[0335] It should be understood that the foregoing description is only illustrative. Various alternatives and modifications may be devised by those skilled in the art. For example, features recited in the various dependent claims could be combined with each other in any suitable combination(s). In addition, features from different embodiments described above could be selectively combined into a new embodiment. Accordingly, the description is intended to embrace all such alternatives, modifications and variances which fall within the scope of the appended claims.

[0336] References to a ‘computer’, ‘processor’, etc. should be understood to encompass not only computers having different architectures such as single / multi-processor architectures and sequential (Von Neumann) / parallel architectures but also specialized circuits such as field-programmable gate arrays (FPGA), application specific circuits (ASIC), signal processing devices and other processing circuitry. References to computer program, instructions, code etc. should be understood to encompass software for a programmable processor or firmware such as, for example, the programmable content of a hardware device such as instructions for a processor, or configuration settings for a fixed-function device, gate array or programmable logic device, and the like.

[0337] As used herein, the term ‘circuitry’ may refer to any of the following: (a) hardware circuit implementations, such as implementations in analog and / or digital circuitry, and (b) combinations of circuits and software (and / or firmware), such as (as applicable): (i) a combination of processor(s) or (ii) portions of processor(s) / software including digital signal processor(s), software, and memory(ies) that work together to cause an apparatus to perform various functions, and (c) circuits, such as a microprocessor(s) or a portion of a microprocessor(s), that require software or firmware for operation, even when the software or firmware is not physically present. This description of ‘circuitry’ applies to uses of this term in this application. As a further example, as used herein, the term ‘circuitry’ wouldalso cover an implementation of merely a processor (or multiple processors) or a portion of a processor and its (or their) accompanying software and / or firmware. The term ‘circuitry’ would also cover, for example and when applicable to the particular element, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, or another network device.

[0338] Circuitry or Circuit: As used in this application, the term ‘circuitry’ or ‘circuit’ may refer to one or more or all of the following:(a) hardware-only circuit implementations (such as implementations in only analog and / or digital circuitry); and(b) combinations of hardware circuits and software, such as (as applicable):(i) a combination of analog and / or digital hardware circuit(s) with software / firmware; and(ii) any portions of hardware processor(s) with software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions); and(c) hardware circuit(s) and or processor(s), such as a microprocessor(s) or a portion of a microprocessor(s), that requires software (e.g., firmware) for operation, but the software may not be present when it is not needed for operation.

[0339] This definition of circuitry applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term circuitry also covers an implementation of merely a hardware circuit or processor (or multiple processors) or portion of a hardware circuit or processor and its (or their) accompanying software and / or firmware. The term circuitry also covers, for example, and when applicable to the particular claim element, a baseband integrated circuit or processor integrated circuit for a mobile device or a similar integrated circuit in server, a cellular network device, or other computing or network device.

Claims

CLAIMSWhat is claimed is:

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 perform: receiving two or more images that represent a stereoscopic view; determining a relation between the two or more images; storing the two or more images in a file format; and signaling the relation between the two or more images within the file format.

2. The apparatus of claim 1, wherein the relation between the two or more images comprises one or more of the following: two or more images representing a stereoscopic pair; two images representing stereoscopic view, wherein, when needed, one of the two images is used to represent a monoscopic view; two images representing stereoscopic view and a third image associated with the two images represents a monoscopic view; two images represent stereoscopic view for given inter pupillary distance (IPD), and wherein at least one image is alternative to one of the two images that create a new stereoscopic view for a second IPD; two images represent stereoscopic view with a given capturing problems; or one or more images and / or videos which is a monoscopic alternative of the stereoscopic pair.

3. The apparatus of any of claims 1 or 2, wherein the relation between the two or more images is determined based on one or more of following external input: a format of a display of a client; an IPD of the client; one or more stereoscopic pairs of images and / or videos; or one or more images and / or videos which are monoscopic alternative of a stereoscopic pair forming the stereoscopic view.

4. The apparatus of claim 2 or 3, wherein:the monoscopic alternative is generated to be co-located with a left view of the stereoscopic pair; the monoscopic alternative is generated to be co-located with a right view of the stereoscopic pair; the monoscopic alternative is generated at a location between the left and the right view of the stereoscopic pair; or the monoscopic alternative is generated after processing both the left and the right view of the said stereoscopic pair.

5. The apparatus of any of the previous claims, wherein the apparatus is further caused to perform: storing the left view and the right view of the stereoscopic view as two independent image items; determining a mapping between two stereoscopic pair image items; and indicating that the two image items form a stereoscopic pair suitable for stereoscopic viewing and / or displaying.

6. The apparatus of claim 5, wherein the apparatus is further caused to perform: defining a reference item for indicating that an image item is the monoscopic alternative of the stereoscopic pair.

7. The apparatus of any of the previous claims, wherein the apparatus is further caused to perform: defining a group item property for indicating the property of the monoscopic image in relation to the stereoscopic pair.

8. The apparatus of any of the claims 1 to 6, wherein the apparatus is further caused to perform: defining an entity group field for indicating that image items in a group form a monoscopic to stereoscopic pair alternatives.

9. The apparatus of any of the claims 1 to 6, wherein the apparatus is further caused to perform: defining an entity group field for indicating that image items in a group create a stereoscopic pair alternatives with different IPD.

10. The apparatus of claim 1, wherein the two or more images comprise a stereo pair images comprising a left view image and a right view image, and wherein the stereo pair images are grouped together using an entity to group, wherein the entity to group is associated with an aggressor property for indicating whether the left view image, right view image, or the left and right view images both comprise stereo aggressors.

11. 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 perform: receiving a file format comprising two or more images that represent a stereoscopic view, wherein the file format comprises signaling about a relationship between the two or more images; and determining, based on the signaling, which of the images from the two or more images are to be used for a presentation.

12. The apparatus of claim 11, wherein the relation between the two or more images comprises one or more of the following: two or more images representing a stereoscopic pair; two images representing stereoscopic view, wherein, when needed, one of the two images is used to represent a monoscopic view; two images representing stereoscopic view and a third image associated with the two images represents a monoscopic view; two images represent stereoscopic view for given inter pupillary distance (IPD), and wherein at least one image is alternative to one of the two images that create a new stereoscopic view for a second IPD; two images represent stereoscopic view with a given capturing problems; or one or more images and / or videos which is a monoscopic alternative of the stereoscopic pair.

13. The apparatus of any of claims 11 or 12, wherein the relation between the two or more images is determined based on one or more of following external input: a format of a display of a client; an IPD of the client; one or more stereoscopic pairs of images and / or videos; orone or more images and / or videos which are monoscopic alternative of a stereoscopic pair forming the stereoscopic view.

14. The apparatus of claim 12 or 13, wherein: the monoscopic alternative is generated to be co-located with a left view of the stereoscopic pair; the monoscopic alternative is generated to be co-located with a right view of the stereoscopic pair; the monoscopic alternative is generated at a location between the left and the right view of the stereoscopic pair; or the monoscopic alternative is generated after processing both the left and the right view of the said stereoscopic pair.

15. The apparatus of claim 11, wherein the two or more images comprise a stereo pair images comprising a left view image and a right view image, and wherein the stereo pair images are grouped together using an entity to group, wherein the entity to group is associated with an aggressor property for indicating whether the left view image, right view image, or the left and right view images both comprise stereo aggressors.

16. The apparatus of claim 15, wherein the entity to group is further associated with a mono group property indicating that when: the apparatus is unable to rectify issues related to the stereo aggressors; severity of the stereo aggressors is above a threshold value; or the apparatus is unable to recognize the stereo aggressors indicated in the aggressor property, the apparatus is further caused to perform: switching to a monoscopic display of the one or more image as indicated by the mono group property.

17. The apparatus of claim 15, wherein when one or more images in the entity to group are indicated by a primary item box and are not associated with a mono group property, it indicates that when: the apparatus is unable to rectify issues related to the stereo aggressors; severity of the stereo aggressors is above a threshold value; or the apparatus is unable to recognize the stereo aggressors indicated in the aggressor property, the apparatus is further caused to perform: switching to a monoscopic display of the one or more images as indicated by the primary18. The apparatus of claim 15, wherein when one or more images in the entity to group are not indicated by a primary item box and are not associated with a mono group property, it indicates that when: the apparatus is unable to rectify issues related to the stereo aggressors; severity of the stereo aggressors is above a threshold value; or the apparatus is unable to recognize the stereo aggressors indicated in the aggressor property, the apparatus is further caused to perform: switching to monoscopic display of a first image or one of images as indicated by the entity to group.

19. A method comprising: receiving two or more images that represent a stereoscopic view; determining a relation between the two or more images; storing the two or more images in a file format; and signaling the relation between the two or more images within the file format.

20. The method of claim 19, wherein the relation between the two or more images comprises one or more of the following: two or more images representing a stereoscopic pair; two images representing stereoscopic view, wherein, when needed, one of the two images is used to represent a monoscopic view; two images representing stereoscopic view and a third image associated with the two images represents a monoscopic view; two images represent stereoscopic view for given inter pupillary distance (IPD), and wherein at least one image is alternative to one of the two images that create a new stereoscopic view for a second IPD; two images represent stereoscopic view with a given capturing problems; or one or more images and / or videos which is a monoscopic alternative of the stereoscopic pair.

21. The method of any of claims 19 or 20, wherein the relation between the two or more images is determined based on one or more of following external input: a format of a display of a client; an IPD of the client;one or more stereoscopic pairs of images and / or videos; or one or more images and / or videos which are monoscopic alternative of a stereoscopic pair forming the stereoscopic view.

22. The method of claim 20 or 21, wherein: the monoscopic alternative is generated to be co-located with a left view of the stereoscopic pair; the monoscopic alternative is generated to be co-located with a right view of the stereoscopic pair; the monoscopic alternative is generated at a location between the left and the right view of the stereoscopic pair; or the monoscopic alternative is generated after processing both the left and the right view of the said stereoscopic pair.

23. The method of any of the claims 19 to 22 further comprising: storing the left view and the right view of the stereoscopic view as two independent image items; determining a mapping between two stereoscopic pair image items; and indicating that the two image items form a stereoscopic pair suitable for stereoscopic viewing and / or displaying.

24. The method of claim 23 further comprising: defining a reference item for indicating that an image item is the monoscopic alternative of the stereoscopic pair.

25. The method of any of the claims 19 to 24 further comprising: defining a group item property for indicating the property of the monoscopic image in relation to the stereoscopic pair.

26. The method of any of the claims 19 to 24 further comprising: defining an entity group field for indicating that image items in a group form a monoscopic to stereoscopic pair alternatives.

27. The method of any of the claims 19 to 24 further comprising: defining an entity group field for indicating that image items in a group create a stereoscopic pair alternatives with different IPD.

28. The method of claim 19, wherein the two or more images comprise a stereo pair images comprising a left view image and a right view image, and wherein the stereo pair images are grouped together using an entity to group, wherein the entity to group is associated with an aggressor property for indicating whether the left view image, right view image, or the left and right view images both comprise stereo aggressors.

29. A method comprising: receiving a file format comprising two or more images that represent a stereoscopic view, wherein the file format comprises signaling about a relationship between the two or more images; and determining, based on the signaling, which of the images from the two or more images are to be used for a presentation.

30. The method of claim 29, wherein the relation between the two or more images comprises one or more of the following: two or more images representing a stereoscopic pair; two images representing stereoscopic view, wherein, when needed, one of the two images is used to represent a monoscopic view; two images representing stereoscopic view and a third image associated with the two images represents a monoscopic view; two images represent stereoscopic view for given inter pupillary distance (IPD), and wherein at least one image is alternative to one of the two images that create a new stereoscopic view for a second IPD; two images represent stereoscopic view with a given capturing problems; or one or more images and / or videos which is a monoscopic alternative of the stereoscopic pair.

31. The method of any of claims 29 or 30, wherein the relation between the two or more images is determined based on one or more of following external input: a format of a display of a client; an IPD of the client; one or more stereoscopic pairs of images and / or videos; or one or more images and / or videos which are monoscopic alternative of a stereoscopic pair forming the stereoscopic view.

32. The method of claim 30 or 31, wherein: the monoscopic alternative is generated to be co-located with a left view of the stereoscopic pair; the monoscopic alternative is generated to be co-located with a right view of the stereoscopic pair; the monoscopic alternative is generated at a location between the left and the right view of the stereoscopic pair; or the monoscopic alternative is generated after processing both the left and the right view of the said stereoscopic pair.

33. The method of claim 29, wherein the two or more images comprise a stereo pair images comprising a left view image and a right view image, and wherein the stereo pair images are grouped together using an entity to group, wherein the entity to group is associated with an aggressor property for indicating whether the left view image, right view image, or the left and right view images both comprise stereo aggressors.

34. The method of claim 33, wherein the entity to group is further associated with a mono group property indicating that when: a file reader or a player is unable to rectify issues related to the stereo aggressors; severity of the stereo aggressors is above a threshold value; or the file reader or the player is unable to recognize the stereo aggressors indicated in the aggressor property, the method further comprises: switching to a monoscopic display of the one or more image as indicated by the mono group property.

35. The method of claim 33, wherein when one or more images in the entity to group are indicated by a primary item box and are not associated with a mono group property, it indicates that when: a file reader or a player is unable to rectify issues related to the stereo aggressors; severity of the stereo aggressors is above a threshold value; or the file reader or the player is unable to recognize the stereo aggressors indicated in the aggressor property, the method further comprises: switching to a monoscopic display of the one or more images as indicated by the primary box.

36. The method of claim 33, wherein when one or more images in the entity to group are notindicated by a primary item box and are not associated with a mono group property, it indicates that when: a file reader or the player is unable to rectify issues related to the stereo aggressors; severity of the stereo aggressors is above a threshold value; or the file reader or the player is unable to recognize the stereo aggressors indicated in the aggressor property, the method further comprises: switching to monoscopic display of a first image or one of images as indicated by the entity to group.

37. An apparatus comprising: means for receiving two or more images that represent a stereoscopic view; means for determining a relation between the two or more images; means for storing the two or more images in a file format; and means for signaling the relation between the two or more images within the file format.

38. The apparatus of claim 37, wherein the apparatus further comprises means for performing methods as claimed in any of the claims 20 to 28.

39. An apparatus comprising: means for receiving a file format comprising two or more images that represent a stereoscopic view, wherein the file format comprises signaling about a relationship between the two or more images; and means for determining, based on the signaling, which of the images from the two or more images are to be used for a presentation.

40. The apparatus of claim 39, wherein the apparatus further comprises means for performing methods as claimed in any of the claims 30 to 36.

41. A computer readable medium comprising program instructions that, when executed by an apparatus, cause the apparatus to perform: receiving two or more images that represent a stereoscopic view; determining a relation between the two or more images; storing the two or more images in a file format; and signaling the relation between the two or more images within the file format.

42. The computer readable medium of claim 41, wherein the apparatus is further caused toperform methods as claimed in any of the claims 20 to 28.

43. The computer readable medium of any of the claims 41 or 42, wherein the computer readable medium comprises a non-transitory computer readable medium.

44. A computer readable medium comprising program instructions that, when executed by an apparatus, cause the apparatus to perform: receiving a file format comprising two or more images that represent a stereoscopic view, wherein the file format comprises signaling about a relationship between the two or more images; and determining, based on the signaling, which of the images from the two or more images are to be used for a presentation.

45. The computer readable medium of claim 44, wherein the apparatus is further caused to perform methods as claimed in any of the claims 30 to 36.

46. The computer readable medium of any of the claims 44 or 45, wherein the computer readable medium comprises a non-transitory computer readable medium.