Determining a three-dimensional model based on one or more images

By employing Gaussian splats and mesh objects to generate three-dimensional models from two-dimensional images, the method addresses processing and file size challenges, achieving efficient and accurate three-dimensional representations.

GB2702057APending Publication Date: 2026-05-27V NOVA INT LTD

Patent Information

Authority / Receiving Office
GB · GB
Patent Type
Applications
Current Assignee / Owner
V NOVA INT LTD
Filing Date
2025-11-28
Publication Date
2026-05-27

AI Technical Summary

Technical Problem

Existing methods for generating three-dimensional representations from two-dimensional images require substantial processing power and result in large file sizes, necessitating significant storage and bandwidth.

Method used

A method involving the use of Gaussian splats and mesh objects to represent features in images, followed by generating a three-dimensional model, which includes a raytracing process to determine a three-dimensional representation, utilizing machine learning and photogrammetry processes.

Benefits of technology

Reduces processing requirements and file size while maintaining accurate three-dimensional representations, enabling efficient storage and transmission of three-dimensional models.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Generating a three-dimensional model based on image(s), comprises identifying the image(s) (101), generating Gaussian splat(s) (102) (e.g. using a machine learning model) to represent a first set of f
Need to check novelty before this filing date? Find Prior Art

Description

Field of the Disclosure The present disclosure relates to methods, systems, and apparatuses for determining a three-dimensional model based on one or more (e.g. two-dimensional) images. Background to the Disclosure Three-dimensional representations of environments are used in many contexts, including forthe generation of virtual reality videos, in which depth information for a plurality of points of the representation is used to generate different images for a left eye and a right eye of a user. Typically, substantial processing power is required to determine such a three-dimensional representation, and the file size of files associated with these representations is typically large so that substantial amounts of storage are needed to keep the files and substantial amounts of bandwidth are required to transfer the files. Summary of the Disclosure According to an aspect of the present disclosure, there is described a method of determining a three-dimensional model based on one or more images, the method comprising: identifying the one or more images; determining one or more Gaussian splats to represent a first set of features in the images; determining one or more mesh objects to represent a second set of features in the images; and generating a three-dimensional model that comprises the Gaussian splats and the mesh objects. Preferably, the method comprises, based on the three-dimensional model, determining a three-dimensional representation of a scene captured by the images. Preferably, determining the three-dimensional representation comprises performing a raytracing process on the three-dimensional model. Preferably, the determining of the three-dimensional representation comprises determining one or more points of the three-dimensional representation, wherein each point comprises an attribute and a location, preferably wherein the location is defined with reference to a capture device used to capture the point. Preferably, the three-dimensional representation comprises a point cloud. Preferably, the three-dimensional representation is associated with a viewing zone. Preferably, the three-dimensional model comprises information in the three-dimensional model that is visible from the viewing zone. Preferably, the three-dimensional representation comprises a subset of the information provided by the three-dimensional model. Preferably, the method comprises determining a three-dimensional representation of the scene based on the three-dimensional model. Preferably, the three-dimensional representation comprises a point cloud According to another aspect of the present disclosure, there is described a method of determining a three-dimensional representation of a scene based on one or more images that show the scene, the method comprising: identifying the one or more images that show the scene; determining one or more Gaussian splats to represent a first set of features in the images; generating a three-dimensional model that comprises the Gaussian splats; and determining a three-dimensional representation of the scene based on the three-dimensional model, wherein the three-dimensional representation comprises a point cloud. Preferably, determining the three-dimensional representation comprises capturing a plurality of points based on the three-dimensional model. Preferably, determining the three-dimensional representation comprises capturing a plurality of points using a plurality of different capture device. Preferably, the images comprise two-dimensional images. Preferably, the two-dimensional images comprise a plurality of images that show a scene from a plurality of different viewpoints, preferably from a 180 degree range of viewpoints and / or a 360 degree range of viewpoints. Preferably, the method comprising determining the Gaussian splats using a machine learning model. Preferably, the method comprises determining the mesh objects using a photogrammetry process. Preferably, the first set of features comprises translucent features. Preferably, the first set of features comprises features that provide specular reflection. Preferably, second set of features comprises opaque features. Preferably, the second set of features comprises diffuse features and / or features that provide diffuse reflection and / or non-reflective features and / or features that provide no reflection. Preferably, the method comprises determining the mesh objects based on the Gaussian splats. Preferably, the method comprises, in a first step, determining the Gaussian splats based on the two-dimensional images; and, in a second step, determining the mesh objects based on the Gaussian splats. Preferably, the method comprises, in a first step, determining Gaussian splats that depict a diffuse representation of the scene and, in a second step, determining the mesh objects based on the Gaussian splats. Preferably, the method comprises determining the second set of features based on an opacity of one or more Gaussian splats. Preferably, the method comprises determining the second set of features based on the detection of a hole and / or an area of low opacity in the Gaussian splats. Preferably, the first set of features and / or the second set of features is determined using an object recognition process on the images. Preferably, the first set of features and / or the second set of features is determined by providing the images to a machine learning model. Preferably, the method comprises determining the first set of features and / or the second set of features based on a segmentation of the images. Preferably, the method comprises determining the first set of features and / or the second set of features based on a user input. Preferably, the method comprises determining the mesh objects based on a user input. Preferably, the method comprises determining the Gaussian splats and / or the mesh objects based on a viewing zone associated with a scene shown by the images. Preferably, the method comprises determining the Gaussian splats based on a location of the viewing zone. Preferably, the method comprises determining a plurality of points of a three-dimensional representation of a scene. Preferably, the method comprises: determining an initial capture angle for a capture device; determining a point at the initial capture angle using the capture device, wherein determining a point comprises determining an attribute and a location of a point; altering the capture angle; and determining a further point at the altered capture angle. Preferably, the method comprises determining a plurality of points at a plurality of capture angles. Preferably, the method comprises capture a plurality of points at a plurality of azimuthal angles and a plurality of elevational angles. Preferably, the method comprises determining a grid of points. Preferably, the method comprises determining an attribute for each point based on the three-dimensional model. Preferably, determining a point comprises determining one or more of: a transparency of the point; and a normal value of the point. Preferably, the method comprises capturing a plurality of points using a plurality of capture devices. Preferably, the method comprises comprising capturing a first set of points using a first capture device and a second set of points using a second capture device. Preferably, the plurality of capture devices are arranged in dependence on a viewing zone of the scene. Preferably, the plurality of capture devices are arranged so as to capture (e.g. only) points that are visible from the viewing zone. According to another aspect of the present disclosure, there is described an apparatus for determining a three-dimensional model based on one or more images, the apparatus comprising: means for (e.g. a processor for) identifying the one or more images; means for (e.g. a processor for) determining one or more Gaussian splats to represent a first set of features in the images; means for (e.g. a processor for) determining one or more mesh objects to represent a second set of features in the images; and means for (e.g. a processor for) generating a three-dimensional model that comprises the Gaussian splats and the mesh objects. According to another aspect of the present disclosure, there is described a bitstream defining a three-dimensional model that has been determined based on one or more images, the bitstream comprising: one or more Gaussian splats that represent a first set of features in the images; and one or more mesh objects that represent a second set of features in the images. According to another aspect of the present disclosure, there is described an apparatus for determining a three-dimensional representation of a scene based on one or more images that show the scene, the apparatus comprising: means for (e.g. a processor for) identifying the one or more images that show the scene; means for (e.g. a processor for) determining one or more Gaussian splats to represent a first set of features in the images; means for (e.g. a processor for) generating a three-dimensional model that comprises the Gaussian splats; and means for (e.g. a processor for) determining a three-dimensional representation of the scene based on the three-dimensional model, wherein the three-dimensional representation comprises a point cloud. According to another aspect of the present disclosure, there is described an apparatus (e.g. an encoder) for forming and / or encoding the aforesaid bitstream. According to another aspect of the present disclosure, there is described an apparatus (e.g. a decoder) for receiving and / or decoding the aforesaid bitstream. Any feature in one aspect of the disclosure may be applied to other aspects of the invention, in any appropriate combination. In particular, method aspects may be applied to apparatus aspects, and vice versa. Furthermore, features implemented in hardware may be implemented in software, and vice versa. Any reference to software and hardware features herein should be construed accordingly. Any apparatus feature as described herein may also be provided as a method feature, and vice versa. As used herein, means plus function features may be expressed alternatively in terms of their corresponding structure, such as a suitably programmed processor and associated memory. It should also be appreciated that particular combinations of the various features described and defined in any aspects of the disclosure can be implemented and / or supplied and / or used independently. The disclosure also provides a computer program and a computer program product comprising software code adapted, when executed on a data processing apparatus, to perform any of the methods described herein, including any or all of their component steps. The disclosure also provides a computer program and a computer program product comprising software code which, when executed on a data processing apparatus, comprises any of the apparatus features described herein. The disclosure also provides a computer program and a computer program product having an operating system which supports a computer program for carrying out any of the methods described herein and / or for embodying any of the apparatus features described herein. The disclosure also provides a computer readable medium having stored thereon the computer program as aforesaid. The disclosure also provides a signal carrying the computer program as aforesaid, and a method of transmitting such a signal. The disclosure extends to methods and / or apparatus substantially as herein described with reference to the accompanying drawings. The disclosure will now be described, by way of example, with reference to the accompanying drawings. Description of the Drawings Figure 1 shows a system for generating a sequence of images. Figure 2 shows a computer device on which components of the system of Figure 1 may be implemented. Figure 3 shows a method of determining a three-dimensional representation of a scene. Figures 4a and 4b show method of determining a point based on a plurality of sub-points. Figure 5 shows a scene comprising a viewing zone. Figures 6a and 6b show arrangements of capture devices for determining points of the three-dimensional representation. Figure 7 shows a point that can be captured by a plurality of capture devices. Figures 8a and 8b show grids formed by the different capture devices. Figures 9a and 9b show a method of determining Gaussian splats based on images. Figure 10 shows a method of determining mesh objects based on images. Figures 11 and 12 show methods of determining both Gaussian splats and mesh objects based on a set of images. Figure 13 shows a method of determining points of a three-dimensional representation based on a three-dimensional model that comprises Gaussian splats and mesh objects. Figure 14 shows a bitstream. Description of the Preferred Embodiments Referring to Figure 1, there is shown a system for generating a sequence of images. This system can be used to generate, and then display, a representation of an environment, which may comprise a VR environment (or an XR environment). The system comprises an image generator 11, an encoder 12, a transmitter 13, a network 14, a receiver 15, a decoder 16 and a display device 17. These components may each be implemented on separate apparatuses. Equally, various combinations of these components may be implemented on a shared apparatus; for example, the image generator 11, the encoder 12, and the transmitter 13 may all be part of a single image data generation device. Similarly, the receiver 15, the decoder 16, and the display device 17 may all be a part of a single image rendering device. Typically, the system comprises at least one encoding computer device (e.g. a server of a content provider) and at least one rendering computer device (e.g. a VR headset). Referring to Figure 2, each of the components, and in particular the image generator 11, the encoder 12, the transmitter 13, the receiver 15, the decoder 16 and the display device 17 is typically implemented on a computer device 20, where, as described above, a plurality of these components may be implemented on a shared computer device. Each computer device comprises one or more of: a processor 21 for executing instructions (e.g. so as to perform one or more of the steps of the various methods described below), a communication interface 22 for facilitating communication between computer devices (e.g. an ethernet interface, a Bluetooth® interface, or a universal serial bus (UBS) interface, a memory 23 and / or storage 24 for storing information and instructions (e.g. a random access memory (RAM), a read only memory (ROM), a hard drive disk (HDD) a solid state drive (SSD), and / or a flash memory, and a user interface 25 (e.g. a display, a mouse, and / or a keyboard) for enabling a user to interact with the computer device. These components may be coupled to one another by a bus 25 of the computer device. The computer device 20 may comprise further (or fewer) components. In particular, the computer device (e.g. the display device 17) may comprise one or more sensors, such as an accelerometer, a GPS sensor, or a light sensor. These sensors typically enable the computer device to identify an environmental condition and / or an action of wearer of the display device. Turning back to Figure 1, the image generator 11 is configured to generate a sequence of image data (e.g. a sequence of image frames) to enable the display device 17 to use this image data to display a plurality of images. The image data may comprise one or more digital objects and the image data may be generated or encoded in any format. For example, the image data may comprise point cloud data, where each point has a 3D position and one or more attributes. These attributes may, for example, include, a surface colour, a transparency value, an object size and a surface normal direction. Each attribute may have a value chosen from a continuous range or may have a value chosen from a discrete set. The image data enables the later rendering of images. This image data may enable a direct rendering (e.g. the image data may directly represent an image). Equally, the image data may require further processing in order to enable rendering. For example, the image data may comprise three-dimensional point cloud data, where rendering a two-dimensional image using this data requires processing based on a viewpoint of this two-dimensional image. The image data may comprise depth map data, where one or more pixels or objects in the image is associated with a depth that is specified by the depth map data. The depth map data may be provided as a depth map layer, separate from an image layer. In some contexts, such as MPEG Immersive Video (MIV), the image layer may instead be described as a texture layer. Similarly, in some contexts, the depth map layer may instead be described as a geometry layer. The image data may include a predicted display window location. The predicted display window location may indicate a portion of an image that is likely to be displayed by the display device 17. The predicted display window location may be based on a viewing position (such as a virtual position and / or orientation of the user in a 3D environment) of the user, where this viewing position may be obtained from the display device. The predicted display window location may be defined using one or more coordinates. For example, the predicted display window location may be defined using the coordinates of a corner or center of a predicted display window, and may be defined using a size of the predicted display window. The predicted display window location may be encoded as part of metadata included with the frame. The image data for each image (e.g. each frame) may include further information, which may be provided as a part of an image, e.g. as part of the point cloud data, or as separate layers. In particular, the image data may include audio information or haptic feedback information indicating audio or haptics which can accompany displayed visual data. An audio layer or haptic layer may accompany each image, and may be omitted for images where no accompanying audio or haptics are required. Similarly, the image data may comprise interactivity information, where the image data may contain or indicate elements with which a user can interact. The interactivity information may, for example, define a behaviour of an element, where a user is able to interact with the element based on this behaviour. The behaviour typically defines a change in an element that occurs as a result of a user interaction where this change may comprise a change in the attributes of the element or in the rendering of the element. As an example, where an image contains a target element, the target element may be arranged to disappear when a user interacts with this element, or to provide feedback indicating that the user has interacted with the target. This interactivity data may be provided as part of, or separately to, the image data. The image data may indicate, or may be combinable with, a state of the virtual environment, a position of a user, or a viewing direction of the user. Here, the position and viewing direction may be physical properties of the user in the real-world, or position and viewing direction may also be purely virtual, for example being controlled using a handheld controller. The image generator 11 may, for example, obtain information from the display device 17 that indicates the position, viewing direction, or motion of the user. Equally, the image generator may generate image data such that it can later be combined with this position, viewing direction, or motion, where the image generator may generate a full scene which is only partially viewed by a user depending on the position of that user. In some cases, the generated image may be independent of user position and viewing direction. This type of image generation typically requires significant computer resources such as a powerful GPU, and may be implemented in a cloud service, or on a local but powerful computer. For example, a cloud service (such as a Cloud Rendering Service (CRN)) may reduce the cost per-user and thereby make the image frame generation more accessible to a wider range of users. Here “rendering” refers at least to an initial stage of rendering to generate an image. Further rendering may occur at the display device 17 based on the generated image to produce a final image which is displayed. The image generator 11 may, for example, comprise a rendering engine for initially rendering a virtual environment such as a game or a virtual meeting room. The encoder 12 is configured to encode frames to be transmitted to the display device 17. The encoder may be implemented using executable software or may be implemented on specific hardware such as an ASIC. In some embodiments, the image generator 11 may transmit raw, unencoded, data through the network 14. However, such transmission typically leads to a high file size and requires a high bandwidth so that it is typically desirable to encode the data prior to the transmission. The encoder 12 may encode the image data in a lossless manner or may encode the data a lossy manner. The encoder may apply inter-frame or intra-frame compression based on a currently-encoded frame and optionally one or more previously encoded frames. The encoder may be a multi-layer encoder, such as a low complexity enhancement video codec (LCEVC) enabled encoder. Where the generated frames comprise depth map data, the encoder 12 may perform layered encoding on each instance of image data (e.g. each frame) to generate an encoded frame comprising a base depth map layer and an enhancement depth map layer. Encoding a depth map in this way may improve compression. In some applications, such as HDR video, depth maps are desirably highly detailed with a bit depth of up to twelve or fourteen bits, which is a significant increase in the data to be transmitted. As a result, providing ways to improve compression of the depth map can make more realistic depth map-based displays viable when performing rendering or transmission of rendered data in real-time. Furthermore, this type of layered encoding makes it easy to drop (and then pick back up) one or more of the layers, which provides flexibility and tools for bandwidth management. Layered encoding is also helpful as the final decoder / user device (such as a user display device) can choose whether to process these extra layers. For example, in a non-layered approach, the best the end device (i.e. the receiver, decoder or display device associated with a user that will view the images) can do is determine that it does not have enough resources for a given quality (be it resolution, frame rate, inclusion of depth map) and then signal to the controller / renderer / encoder that it does not have enough resources. The controller then will send future images at a lower quality. In that alternative scenario, the end device still unfortunately has to process the higher quality data until the lower quality data arrives, if it can process the received images at all. In some of the described embodiments, this situation is improved upon because when / if the end device determines for example that it does not have the processing capabilities to handle the highest level of quality, then it can drop and / or choose not to process certain layers. The end device may also signal to the controller that it needs a lower level of quality, but in the meantime the end device can only process the number of layers that it can handle. Therefore, the end device can react to conditions much more quickly. In some cases, depth map data may be embedded in image data. In this case, the base depth map layer may be a base image layer with embedded depth map data, and the enhancement depth map layer may be an enhancement image layer with embedded depth map data. Alternatively, when the generated images comprise a depth map layer separate from an image layer and multi-layer encoding is applied, the encoded depth map layers may be separate from the encoded image layers. This has the advantage that the encoded depth map layers can be dropped under some conditions while still retaining image layers that can be displayed (albeit with a lower level of realism). For example, the encoded depth map layers can be dropped by a transmitter or encoder when available communication resources are reduced, or can be dropped by an end device which lacks the processing resources to handle the highest level of quality. Similarly, if some images comprise an audio base layer, a haptic feedback base layer, an audio enhancement layer or a haptic feedback enhancement layer, these can be processed or dropped flexibly. Again similarly, if some images comprise an interactivity data base layer or an interactivity enhancement layer these can be processed or dropped flexibly. For example, certain interactions may only be possible where a threshold bandwidth is available, where complex interactions (e.g. those enabling a conversation with a digital object) may be disabled before less complex interactions (e.g. changing a pixel colour) are disabled. Additionally or alternatively, where the image data comprises point cloud data, the encoder may apply a point cloud data encoding technique such as described in European patent application EP21386059.6, which is incorporated herein by reference. Such a point cloud encoder may act as a base encoder for a layered encoding technique such as LCEVC or VC-6. Notably LCEVC and VC-6 techniques encode and decode a layered signal, but are agnostic about the content type of data encoded in the signal. For example, the signal can include textures, video frames, geometry or depth data, meshes, point clouds, rendering attributes or physics engine attributes. The transmitter 13 may be any known type of transmitter for wired or wireless communications, including an Ethernet transmitter or a Bluetooth transmitter. The transmitter 13 may be configured to make decisions about how to transmit the image data, and / or may provide feedback to the encoder 12 or the image generator 11. For example, the transmitter may determine available communication resources (e.g. bandwidth) for transmitting image data, and may drop one or more layers from an encoded frame, or indicate to the image generator and / or encoder that image data should be generated and encoded with fewer layers, when insufficient bandwidth is available for transmission of all generated data. As specific examples, the transmitter may be configured to drop a depth map layer, an LCEVC enhancement layer, or a VC-6 enhancement layer from a frame when insufficient communication resources are available. The network 14 provides a channel for communication between the transmitter 13 and the receiver 15, and may be any known type of network such as a WAN or LAN or a wireless Wi-Fi or Bluetooth network. The network may further be a composite of several networks of different types. Many users only have access to a network with a bandwidth of 30MBps which can lead to latency jitter when streaming. The required bandwidth and the observed latency can be reduced by means of tactics such as forward-looking rendering and last-millisecond reprojection, which are enabled by improved compression. The receiver 15 may be any known type of receiver for wired or wireless communications, including an Ethernet transmitter or a Bluetooth transmitter. The decoder 16 is configured to receive and decode an encoded frame. The decoder may be implemented using executable software or may be implemented on specific hardware such as an ASIC. The display device 17 may for example be a television screen or a VR headset. The timing of the display may be linked to a configured frame rate, such that the display device may wait before displaying the image. The display device may be configured to perform warping, that is, to obtain a final display window location, adjust a warpable image to obtain a final image corresponding to a final viewing direction of the user, and display the final image. In this regard, the image data is typically arranged to provide a warpable image for which a portion of the image that is displayed at the display device 17 is dependent on a position or orientation of a viewer. The warpable image may then be rendered before a most up to date viewing direction of the user is known. The warpable image may be transmitted to the display device, or the warpable image may be transmitted to a rendering node which is near to the display device, and the display device or rendering node may perform time warping to generate a displayed image portion based on the warpable image and the most up to date viewing direction of the user. As mentioned above, a single device may provide a plurality of the described components. For example, a first rendering node may comprise the image generator 11, encoder 12 and transmitter 13. Additional similar rendering nodes may be included in the system, and may work together to generate the sequence of frames. In one case, multiple rendering nodes may each provide separate image data to an image data assembling node; for example, each rendering node may provide a part of a sequence of frames to a frame assembling node. For example, the receiver 15, decoder 16 or display device 17 may be configured to assemble parts of image data from multiple sources to generate a sequence of images for display on the display device. Alternatively, the image data assembling node may be separate from the receiver 15, decoder 16 and display device 17. Additionally or alternatively, multiple rendering nodes may be chained. In other words, successive rendering nodes may add to a sequence of image data as it passes from rendering node to rendering node, and eventually a complete sequence of image data is then provided to the receiver 15. Furthermore, each rendering node may obtain components of a render from multiple upstream rendering nodes and / or distribute components of a render to multiple downstream rendering nodes. A chain of rendering nodes may be useful for performing different rendering tasks that require different quantities of processing resources, or different frame rates. For example, a company may provide distributed processing in the form of a centralised hub which has abundant processing resources but is distant from users, and peripheral locations which have more scarce processing resources but are closer to users. Expensive but fairly static rendering features such as background lighting or environmental impact on sound may be generated at the central hub (for example using ray tracing), while features that require fewer resources but faster responses or higher frame rates may be generated closer to the user. In other words, the more responsive a rendering feature needs to be, the lower latency it needs between the rendering node which generates the feature and the user display and, in a chain of rendering nodes, the node which generates each rendering feature can be chosen based on a required maximum latency of that feature. On the other hand, if it is expensive to generate a rendering feature, then it may be preferable to generate the feature less frequency and with a higher maximum latency. For example, a static, high-quality background feature may be generated early in the chain of rendering nodes and a dynamic, but potentially lower-quality, foreground feature may be generated later in the chain of rendering nodes, closer to the user device. Here, environmental impact on sound means, for example, a set of surfaces may be constructed where each surface has different sound reflection and absorption properties depending upon material and shape. The frame rates may be matched by creating multiple frames with features generated at the lower frame rate, and combining them with the frames with features generated at the higher frame rate. In a nonlimiting embodiment, a preliminary rendering generates volumetric object data including movement vectors at a first (lowest) frame rate, then produces 2D rendered frames plus depth information for a specific user at a second (higher) frame rate, then transmits video plus depth data to the user device, which produces final frames for display via space warping (depth-based reprojections) at a third (highest) frame rate. One or more of these steps may be performed in combination with the other described embodiments. The viewing position of the user may change as additional rendering tasks are performed at different rendering nodes in the chain. Each or any rendering node may obtain an updated viewing position before performing its respective rendering task. Additionally, the system may simultaneously generate multiple sequences of image data for different respective users or different respective display devices. For example, in the context of a VR or AR experience, each user or display device may view a different 3D environment, or may view different parts of a same 3D environment. When using a chain of rendering nodes, each node may serve multiple users or just one user. For example, a starting rendering node (e.g. at a centralised hub) may serve a large group of users. For example, the group of users may be viewing nearby parts of a same 3D environment. In this case, the starting node may render a wide zone of view (“field of view”) which is relevant for all users in the large group. The starting node may send this wide field of view to a first middle rendering node which renders additional aspects of the 3D environment. These additional aspects may for example be aspects which require less processing power to render, or may be aspects which are specific to individual users of the group. Additionally, the middle rendering node may render features in a smaller field ofviewthan the starting node - this smaller field of view may be relevant to each user rather than the group of users. The first middle rendering node may additionally only serve a smaller number of users (e.g. half of the large group of users), with the remaining users being served by a second middle rendering node which also receives the wide field of view from the starting node. The middle rendering node(s) may then send sequences of second partially or fully rendered frames to an end device for each user. The end device may perform further processes such as warping or focal distance adjustments, optionally using depth map data. Preferably, each rendering node encodes the partially or fully rendered frames before transmitting them on to a next rendering node or to the receiver 15. This means that the required communication resources can be reduced when the rendering nodes are separated by one or more networks, or more generally are implemented in a distributed system such as a cloud. However, each rendering node in a chain is encoding a different partially or fully rendered frame, with different data. Therefore, it may be advantageous for different rendering nodes to use different rendering formats and / or encoding formats. For example, the output from a first rendering node may be point cloud data which logically describes a 3D scene. This point cloud data can be encoded using the techniques of EP21386059.6. A second rendering node may then operate on the point cloud data to generate image data that is more readily displayed by a generic display device, without requiring the display device to model the 3D environment. This image data may be encoded using video coding techniques. The chaining of rendering nodes may be extended to arbitrary tree structures, where a rendering node obtains partially rendered frames from more than one preceding rendering node, and generates further partially or fully rendered frames based on the multiple obtained sequences of partially rendered frames. For example, a content rendering network (CRN) comprising numerous rendering nodes may be used to serve a volumetric event to a large number of same-time users, such as users participating in a shared virtual environment. Rendering the same event for each user is far more expensive in terms of computation time and power consumption than rendering the volumetric effect once and performing the rendering equivalent of multicasting the volumetric effect for multiple users. For example, each user may have a second rendering node (such as a VR headset), and the network may comprise a central first rendering node. The first rendering node may render the volumetric event, and distribute partially rendered frames depicting the volumetric event to the different second rendering nodes. The second rendering node for each user may then integrate the partially rendered frames depicting the volumetric event into a view of the virtual environment which is currently being shown to each user, based on parameters such as the user’s virtual position. The receiver 15, decoder 16 and display device 17 may be consolidated into a single device, or may be separated into two or more devices. For example, some VR headset systems comprise a base unit and a headset unit which communicate with each other. The receiver 15 and decoder 16 may be incorporated into such a base unit. In some embodiments, the network 14 may be omitted. For example, a home display system may comprise a base unit configured as an image source, and a portable display unit comprising the display device 17. In the event that the decoder 16 or the display device 17 does not or cannot handle one or more layers, the receiver 15 or another transmitter associated with the decoder or display device may send a corresponding layer drop indication back through the network 14. The layer drop indication may be received by each rendering node. A rendering node which generates partially or fully rendered frames for that specific decoder or display device may cease generating the dropped layer. On the other hand, a rendering node which generates partially or fully rendered frames for multiple end devices may disregard a layer drop indication received from one end device (as the dropped layer is still needed for other devices). Alternatively, rendering nodes which serve multiple end devices may record received layer drop indications, and may cease generating the dropped layer only when all end devices served by the rendering node indicate that the layer is to be dropped. In preferred examples, the encoders or decoders are part of a tier-based hierarchical coding scheme or format. Hierarchical coding enables frames to be communicated with higher resolution and / or higher frame rate than is possible in single-tier coding schemes. In hierarchical coding, one or more enhancement layers is communicated with base data, where the enhancement layers can be used to up-sample the base data at the decoder, for example providing up-sampling in a spatial or temporal dimension. When combined with equivalent down-sampling of the original frames and generation of the enhancement layer at an encoder, hierarchical coding can overall provide lossless compression of data, with higher resolution and / or higher frame rate for a given transmission bit rate. Examples of a tier-based hierarchical coding scheme include LCEVC: MPEG-5 Part 2 LCEVC (“Low Complexity Enhancement Video Coding”) and VC-6: SMPTE VC-6 ST-2117, the former being described in PCT / GB2020 / 050695, published as WO 2020 / 188273, (and the associated standard document) and the latter being described in PCT / GB2018 / 053552, published as WO 2019 / 111010, (and the associated standard document), all of which are incorporated by reference herein. However, the concepts illustrated herein need not be limited to these specific hierarchical coding schemes. A further example is described in WO2018 / 046940, which is incorporated by reference herein. In this example, a set of residuals are encoded relative to the residuals stored in a temporal buffer. LCEVC (Low-Complexity Enhancement Video Coding) is a standardised coding method set out in standard specification documents including the Text of ISO / IEC 23094-2 Ed 1 Low Complexity Enhancement Video Coding published in November 2021, which is incorporated by reference herein. The system describes above is suitable for generating and presenting a representation of a scene, where this scene displays media content to a user. The scene typically comprises an environment, where the user is able to move (e.g. to move their head or to turn their head) to look around the environment and / or to move around the environment. For example, the scene may be a scene of a room in a building, where the user is able to move around the room (e.g. by moving in the real-world and / or by providing an input to a user interface) in order to inspect various parts of the room. Typically, the scene is a XR (e.g. a VR) scene, where the user is able to move about the scene in three degrees of freedom (3DoF) or six degrees of freedom (6DoF) so as to experience the scene. As has been described with reference to Figure 1, the image generator 11 may be arranged to determine point cloud data, where each point of the point cloud has a 3D position and one or more attributes. More generally, the image generator (or another component) is arranged to determine a three-dimensional representation of a scene, where this three-dimensional representation is thereafter used to generate two-dimensional images that are presented to a user at the display device 17. While the points are typically points of a point cloud, more generally the disclosure extends to any point that is associated with a location and a value. Therefore, the points may, more generally, be considered to be data (or datapoints), which data is associated with a location and a value, and the ‘points’ may comprise polygons, planes (regular or irregular), Gaussian splats, etc. Referring to Figure 3, there is described a method of determining (an attribute for) a point of such a three-dimensional representation. The method comprises determining the attribute using a capture device, such as a camera or a scanner. The scene may comprise a real scene, in which attribute values are captured using a camera, or a virtual scene (e.g. a three-dimensional model of a scene), in which attribute values are captured using a virtual scanner. Where this disclosure describes ‘determining a point’ it will be understood that this generally refers to determining a point that has a location and an attribute value, where determining the point comprises determining the attribute value and / or storing a point that comprises at least an attribute value and a location value (these values may be indirect values, e.g. where the location is identified relative to another point). Once a plurality of points have been captured, these points can be stored as a three-dimensional representation (e.g. a point cloud) so as to enable the reconstruction of the three-dimensional scene based on this representation. Typically, the scene comprises a simulated scene that exists only on a computer. Such a scene may, for example, be generated using software such as the Maya software produced by Autodesk®. The attributes determined using the methods described herein may then depend on virtual objects located within the scene as well as a virtual lighting arrangement used in the scene. In a first step 31, a computer device initiates a capture process for a capture device, the capture process being initiated with an initial azimuth angle (e.g. of 0°) and an initial elevation angle (e.g. of 0°). In a second step 32, the computer device causes a point to be captured using the capture device at the current azimuth angle and current elevation angle. Capturing a point typically comprises assigning an attribute value to the point, which attribute value may, for example, be a color of the point and / or a transparency value of the point. Typically, the point has one or more color values associated with each of a left eye and a right eye of a viewer. Capturing the point may also comprise determining a normal value associated with the point, e.g. a normal of a surface on which the point lies. Typically, capturing the point further comprises determining a location of the point, e.g. by determining a distance of the point from the camera. In practice, determining the point may comprise sending a ‘ray’ from the capture device and then stepping through a computer model to determine which surface of the computer model is impacted by the ray. The color, transparency, and normal of this surface are then recorded alongside the distance of the surface from the capture device. In a third step, 33, the computer device determines whether a point has been captured for the capture device at each azimuth of a range of azimuths and in a fourth step 34, if points have not been captured at each azimuth, then the azimuth angle is incremented and the method returns to the second step 12 and another point is captured. The azimuth angle may, for example, be incremented by between 0.01° and 1° and / or by between 0.025° and 0.1°. Typically, the range of azimuth angles is selected to be 360° (i.e. so that the capture device captures points surrounding the entirety of the capture device), but it will be appreciated that other ranges are possible. Once a point has been captured for each azimuth, in a fifth step 35, the computer device determines whether a point has been captured for the capture device at each elevation of a range of elevations and in a sixth step 36, if points have not been captured at each elevation, then the azimuth angle is reset to the initial value, elevation angle is incremented and the method returns to the second step 32 and another point is captured. The elevation angles may, for example, be incremented by between 0.01° and 1° and / or by between 0.025° and 0.1°. Typically, the range of elevation angles is selected to be 360° (i.e. so that the capture device captures points surrounding the entirety of the capture device), but it will be appreciated that other ranges are possible. In a seventh step 37, once points have been captured for each azimuth angle and each elevation angle, the scanning process ends. This method enables a capture device to capture points at a range of elevation and azimuth angles. This point data is typically stored in a matrix. The point data may then be used to provide a representation of the scene to a user, e.g. the three-dimensional representation formed by the point data may be processed to produce two-dimensional images for each eye of a user, with these images then being shown to a user via the display device 17 to provide a virtual reality experience to the viewer. By using the captured data, a video can be provided to a viewer that enables the viewer to move their head to look around the scene (while remaining at the location of the capture device). It will be appreciated that the capture pattern (or scanning pattern) described with reference to Figure 3 is purely exemplary and that numerous capture patterns are possible. In general, the capture process for each capture device comprises capturing one or more points at one or more azimuth angles and / or one or more elevation angles. The ‘points’ captured by the capture device are typically associated with a size, such as a height, a width, or a depth. That is, the points typically relate to two-dimensional planes / pixels and / or three-dimensional voxels. In this regard, there is necessarily some space between the locations of adjacent points (since if the points had no width, then an infinite number of points would be required to capture points at each angle). The size provides points that depict a non-negligible area of the three-dimensional space so that a plurality of points can be fit together to provide a depiction of the scene to a viewer. The width and height of each point is typically dependent on the distance of that point from the capture device, where more distant points have a larger width / height. The width and height of each point is typically determined so that when each point is displayed, there is no space between adjacent points (indeed, there may be some overlap between points to ensure that no gaps appear between points). This height / width of each point can be determined at the time of capturing the points, or can be determined or defined after the capture of the points. Typically, the points comprise a size value, which is stored as a part of the point data. For example, the points may be stored with a width value and / or a height value. Typically, the minimum width and the minimum height of a point are set by the angle increment of the azimuth angle and the elevation angle respectively. The size may be then specified in terms of this angle increment and / or in terms of this minimum width / minimum height (e.g. as being a multiple of the angle increment). In some embodiments, the size value is stored as an index, which index relates to a known list of sizes (e.g. if the size may be any of 1x1, 2x1, 1x2, 2x2, pixels this may be specified by using 3 bits and a list that relates each combination of bits to a size). The size may be stored based on an underscan value. In this regard, where an object is very near to the viewing zone it may be captured using an unnecessarily dense arrangement of points. Therefore, certain surfaces or areas of the representation may be associated with an underscan value, which underscan value defines a reduction in the number of points captured as compared to a representation without underscan. The size of the points may be defined so as to indicate this underscan value. In an exemplary embodiment, the underscan value is an integer value between 0 and 3 and the size is stored as a combination of point dimensions (e.g. a width in the range [0,2]) and a height in the range ([0,2]) and an underscan factor (e.g. an underscan factor in the range [0,3]). In some embodiments, the width and the height are dependent on the underscan factor. For example, when the underscan factor exceeds a threshold value, the possible height and width values may be limited. In a specific example, when the underscan factor is 3, the width and the height may be limited to the range [0,1], The size may then be defined as size = underscan*9 + height*3 + width. Such a method provides efficient storage and indication of width, height, and underscan values. As shown in Figure 4a, typically, for each capture step (e.g. each azimuth angle and / or each elevation angle), a plurality of sub-points SP1, SP2, SP3, SP4, SP5 is determined. For example, where the azimuth angle increment is 0.1° then for an azimuth angle of 0°, sub-points may be determined at azimuth angles of-0.05°, -0.025°, 0, 0.025°, and 0.05° (and similar sub-points may be determined for a plurality of elevation angles). Attribute values of these sub-points may then be combined to obtain an attribute value for the point. For example, a maximum attribute value of the sub-points may be used as the value for the point, an average attribute value of the sub-points may be used as the value for the point, and / or a weighted average ofthe sub-points may be used as the value forthe point. It will be appreciated that numerous other methods for combining the attribute values ofthe sub-points are possible. By determining the attribute of a point based on the attributes of sub-points, the accuracy ofthe capture process can be increased. While it would be possible to simply reduce the increment ofthe angle steps to provide a higher resolution scene, by considering sub-points but only storing attributes for points, a balance can be struck between accuracy and file size (since storing every sub-point would lead to a substantial increase in the amount of data that needs storing). With the example of Figure 4a, for each point ofthe three-dimensional representation that is captured by a capture device, this capture device may obtain attributes associated with each ofthe sub-points SP1, SP2, SP3, SP4, SP5, combine these attributes to obtain a point attribute, and then store a point with a distance that is an average (e.g. a weighted average) ofthe distances ofthe sub-points from the capture device, at the nominal angle ofthe point, with the point attribute. As shown in Figure 4b, where a plurality of sub-points SP1, SP2, SP3, SP4, SP5 are considered, these points may have different distances from the location ofthe capture device. In some embodiments, the attributes ofthe sub-points may be combined in dependence on this distance, e.g. so that sub-points nearer to the capture device have higher weightings. However, the possibility of sub-points with substantially different distances raises a potential problem. Typically, in order to determine a distance for a point, the distances forthe sub-points are averaged. But where the sub-points have substantially different distances and / or are related to different surfaces in the scene, this may result in the point having a distance that does not correspond to any actual surface in the scene. Therefore, the point may seem to hang in space (e.g. to hang between the front and rear surfaces shown in Figure 4b. Similarly, where the attribute values ofthe sub-points greatly differ, e.g. if the sub-points SP1 and SP2 are white in colour and the sub-points SP3 and SP4 are black in colour, then the attribute value ofthe point may be substantially different to the attribute value of other points in the scene. In an example, if the scene were composed of black and white objects, the point may appear as a grey point hanging in space between these objects. In some embodiments, the computer device is arranged to aggregate sub-points so as not to create any floating points. For example, the computer device may determine whether the sub-points are spatially coherent by employing a clustering algorithm (e.g. a k-means clustering algorithm). Where the sub-points are spatially coherent (e.g. where a difference in the distance ofthe sub-points is below a threshold value), these distances may be averaged to obtain a distance forthe point. Where the sub-points are not spatially coherent, the sub-points may be processed to ensure that the distance of any point places it upon a surface; for example, in the system of Figure 4b, sub-points SP1, SP2, and SP3 may be grouped into a first point and sub-points SP4 and SP5 may be grouped into a second point. Since each sub-point is associated with the same capture device and capture angle (all of these sub-points being associated with a capture step that has a particular azimuth angle and elevation angle), these points may be located at the same angle with respect to a capture device. Therefore, to ensure that each sub-point affects the representation considered, the first point (made up of sub-points SP1, SP2, and SP3) may have a smaller distance value than the second point (made up of sub-points SP4 and SP5) and the first point may be assigned a nonzero transparency value so that the second point can be seen through the first point. By capturing points at a plurality of azimuth angles and elevation angles, e.g. using the method described with reference to Figure 3, it is possible to provide a three-dimensional representation ofthe scene that can later be used to enable a viewer to view the scene from a plurality of angles. More specifically, given the three-dimensional points captured by the capture device, a computer device is able to render a two-dimensional representation (e.g. a two-dimensional image) of the scene for each eye of a viewer so as to provide a representation with an impression of depth. The computer device may render a series of two-dimensional representations to enable the viewer to look around the scene, where the two-dimensional representations are rendered based on an orientation of the viewer’s head. In this way, the determined representation is useable to provide, for example, a virtual reality (VR), mixed reality (MR), augmented reality (AR), and / or extended reality (XR) experience to the viewer. To enable such a display, the display device 17 is typically a virtual reality headset, that comprises a plurality of sensors to track a head movement of the user. By tracking this head movement, the display device is able to update the images being displayed to the viewer as the viewer moves their head to look about the scene. Typically, this involves the display device sensing the sensor data to an external computer device (e.g. a computer connected to the display device via a wire). The external computer device may comprise powerful graphical processing units (GPUs) and / or computer processing units (CPUs) so that the external computer device is able to rapidly render appropriate two-dimensional images for the viewer based on the three-dimensional images and the sensor data. In some embodiments, the external computer device may comprise a server device, where the display device 17 may be connected to this server device wirelessly. This enables the two-dimensional images to be streamed from the server to the display device so as to enable the display of high-quality images without the need for a viewer to purchase expensive computer equipment. In other words, operations that require large amounts of computing power, such as the rendering of two-dimensional images based on the three-dimensional representation, may be performed by the server, so that the display device is only required to perform relatively simple operations. This enables the experience to be provided to a wide range of viewers. In some embodiments, a first two-dimensional image is provided to the display device 17 (and / or a connected device) and this first image is ‘warped’ in order to provide an image for viewing at the display device. The warping of the image comprises processing the image based on the sensor data in order to provide an image that matches a current viewpoint of the viewer. By performing the warping at the display device or another local device, the lag between a head movement of the user and an updating of the two-dimensional representation of the scene can be reduced. One issue with the above-described method of capturing a three-dimensional representation is that it only enables a viewer to make rotational movements. That is, since the points are captured using a single capture device at a single capture location, there is no possibility of enabling translational movements of a viewer through a scene. This inability to move translationally can induce motion sickness within a viewer, can reduce a degree of immersion of the viewer, and can reduce the viewer’s enjoyment of the scene. Therefore, it is desirable to enable translational movements through the scene. To enable such movements, the three-dimensional representation of the scene may be captured using a plurality of capture devices placed at different locations (or the same capture device placed at different locations). A viewer is then able to move around the scene translationally (e.g. by moving between these locations). More generally, by capturing points for every possible surface that might be viewed by a viewer, a three-dimensional representation of a scene may be captured that allows a suitable two-dimensional representation ofthis scene to be rendered regardless of a location of a viewer(e.g. regardless of where a user is standing within a virtual room). This need to capture points for every possible surface (so as to enable movement about a scene) greatly increases the amount of data that needs to be stored to form the three-dimensional representation. Therefore, as has been described in the application WO 2016 / 061640 A1, which is hereby incorporated by reference, the three-dimensional representation may be associated with a viewing zone, or a zone of viewpoints (ZVP), where the three-dimensional representation is arranged to enable a user to move about the viewing zone so as to view the scene. Figure 5 illustrates such a viewing zone 1 and illustrates how the use of a viewing zone limits the amount of image data that needs to be stored to provide a three-dimensional representation of the scene. With the scene shown in this figure, and the viewing zone 1 shown in this figure, it is not necessary to determine attribute data for the occluded surface 2 since this occluded surface cannot be viewed from any point in the viewing zone. Therefore, by enabling the user to only move within the viewing zone (as opposed to around the whole scene) the amount of data needed to depict the scene is greatly reduced. While Figure 5 shows a two-dimensional viewing zone, it will be appreciated that in practice the viewing zone 1 is typically a three-dimensional zone or volume. The viewing zone 1 may, for example, comprise a rectangular volume, or a rectangular parallelepiped, and the viewing zone may have a height of at least 30 cm, a depth of at least 30 cm, and / or a width of at least 30 cm, where these dimensions enable a userto move their head while remaining in the viewing zone. This is merely an exemplary arrangement of the viewing zone; it will be appreciated that viewing zones of various shapes and sizes may be used (e.g. spherical viewing zones). That being said, it is preferable that the viewing zone is limited so as to cover only a part of the volume of the scene, e.g. no more than 50% of the scene no more than 25% of the scene, and / or no more than 10% of the scene. In this regard, if the viewing zone is the same size as the scene, then the three-dimensional representation will simply be a standard representation for virtual reality (that enables a user to move freely about the scene) - and so the use of the viewing zone will not provide any reduction in file size. The viewing zone 1 enables movement of a viewer around (a portion of) the scene. For example, where the scene is a room, the base representation may enable a user to walk around the room so as to view the room from different angles. In particular, the viewing zone enables a userto move through the scene with six degrees-of-freedom (6DoF) movement through the scene, where this aids in the provision of an immersive experience. In some embodiments, the viewing zone 1 may be four-dimensional, where a three-dimensional location of the viewing zone changes over time - and in such embodiments the size and location of the occluded surface 2 may also change over time. More generally, it will be appreciated that viewing zones may be formed in any size or shape, with different sizes and shapes being suitable for different scenes. The volume of the viewing zone 1 is typically selected so that a user is able to move to a degree sufficient to avoid motion sickness and to provide an immersive sensation, while still only enabling a limited amount of movement (where this leads to a smaller file size as compared to an implementation where a user is able to fully move about the scene). Typically, the viewing zone is arranged to enable a user to move their head while they are sitting or standing, but not to freely roam around a room. The viewing zone 1 may have a (e.g. real-world) volume of less than five cubic metres (5m3), less than one cubic metre (1m3), less than one-tenth of a cubic metre (0.1m3) and / or less than one-hundredth of a cubic metre (0.01m3). The viewing zone 1 may also have a minimum size, e.g. the viewing zone may have a volume of at least 1% of the volume of the scene, at least 5% of the volume of the scene, and / or at least than 10% of the volume of the scene. Similarly, the viewing zone may have a volume of at least one-thousandth of a cubic metre (0.01m3); at least one-hundredth of a cubic metre (0.01 m3); and / or at least one cubic metre (1m3). The ‘size’ of the viewing zone 1 typically relates to a size in the real world, where if the viewing zone has a length of one metre this means that a user is able to move one metre in the real world while staying within the viewing zone. The size of the viewing zone in the scene may be greater than, equal to, or less than the size of the viewing zone in the real world. For example, the viewing zone may scale a real-world distance so that moving one metre in the real world moves the user less than (or more than) one metre in the scene. This enables the scene to provide different perceptions to the user (e.g. to make the user feel larger or smaller than they are in real life). Similarly, the viewing zone may scale a real-world angle so that rotating one degree in the real world rotates the user less than (or more than) one degree in the scene. Therefore, a viewing zone with a volume of one cubic metre typically connotes a viewing zone in which the user is able to move about a one cubic metre volume in the real world while remaining in the viewing zone. And this may cause the user to move about a volume that is more than, or less than, one metre in the scene. Referring to Figure 6a, in order to capture points for each surface and location that is visible from the viewing zone 1, a plurality of capture devices C1, C2, ..., C9 may be used (e.g. a plurality of virtual scanners and / or a plurality of cameras). Each capture device is typically arranged to perform a capture process, e.g. as described with reference to Figure 3, in which the capture device captures points at a plurality of azimuth angles and elevation angles. By locating the capture devices appropriately, e.g. by locating a capture device at each corner of the viewing zone, it can be ensured that most (or all) points of a scene are captured. Typically, a first capture device C1 is located at a centrepoint of the viewing zone 1. In various embodiments, one or more capture devices C2, C3, C4, C5 may be located at the centre of faces of the viewing zone; and / or one or more capture devices C6, C7, C8, C9 may be located at edges of and / or corners of the viewing zone. Figure 6a shows a two-dimensional view (e.g. a plan view) of a rectangular viewing zone. It will be appreciated that within this viewing zone each capture device may be located on a shared plane. Equally, the various capture devices may be located on different planes. Referring, for example, to Figure 6b, there is shown a three-dimensional view of a cuboid viewing zone, where there is a capture device located: at the centre of the viewing zone; at the centre of each face of the viewing zone; and at each corner of the viewing zone. With this arrangement, many locations in the scene (e.g. specific surfaces) will be captured by a plurality of capture devices so that there will be overlapping points relating to different capture devices. This is shown in Figure 7, which shows a first point P1 being captured by each of a first capture device C1, a sixth capture device C6, and a seventh capture device C7. Each capture device captures this point at a different angle and distance and may be considered to capture a different ‘version’ of the point. Typically, only a single version of the point is stored, where this version may be the highest quality version of the point and / or may be the version of the point associated with the nearest and / or least angled capture device. In this regard, the highest ‘quality’ version of the point is captured by the capture device with the smallest distance and smallest angle to the point (e.g. the smallest solid angle). In this regard, as described with reference to Figures 4a and 4b, capturing a point for a given azimuth angle and elevation angle typically comprises capturing a plurality of sub-points at varying sub-point azimuth and elevation angles spread around the point azimuth and elevation angles. Due to the different spreads of sub-points, each capture device will capture a different version of the point (that has a different attribute) even when the points are at the same location. Capture devices that are close to the point and less angled with respect to the point typically have a smaller spread of sub-points and so typically obtain a version of a point that is sharper than a version of that point captured by more distant capture devices. In some embodiments, a quality value of a version of the point is determined based on the spread of subpoints associated with this version (e.g. based on the perimeter formed by these sub-points and / or based on a surface area or volume bounded by these sub-points). The version of the point that is stored may depend on the respective quality values of possible versions of the points. Regarding the ‘versions’ of the points, it will be appreciated that two ‘points’ in approximately the same location captured by each capture device may not have exactly the same location in the three-dimensional representation. More specifically, since each capture device typically projects a ‘ray’ at a given angle, the rays of differing capture devices may contact the surface at different locations for each capture device. Two points may be considered to be two ‘versions’ of a single point when they are within a certain proximity, e.g. a threshold proximity. For example, where the first capture device C1 captures a first point and a second point at subsequent azimuth angles, and the sixth capture device C6 captures a further point that is in between the locations of the first point and the second point, this further point may be considered to be a ‘version’ of one of the first point and the second point. This difference in the points captured by different capture devices is illustrated by Figures 8a and 8b, which show the separate captured grids that are formed by two different capture devices. As shown by these figures, each capture device will capture a slightly different ‘version’ of a point at a given location and these captured points will have different sizes. Each capture step is associated with a particular range of angles (e.g. a nominal capture angle of 1° might encompass angles from 0.9° to 1.1°), and therefore capture devices that are far from a point to be captured represent a wider region at the capture distance than capture devices closer to that point to be captured. As shown in Figure 8a, the capture device C1 would capture the points P1 and P2 in separate brackets, whereas for the capture device C2 these points are in the same bracket. Therefore, the capture device C2 might determine a single point that encompasses both points P1 and P2, whereas the capture device C1 would determine separate points for these two points. Considering then a situation in which points P1 and P2 are captured separately, and capture device C1 is used to capture point P1 while capture device C2 being used to capture point P2, it should be apparent that the ‘sizes’ of these captured points, and the locations in space that are encompassed by the captured points will be based on different grids. For example, the width of the captured point P2 captured by the capture device C2 will be larger than the width of the captured point P1 captured by the capture device C1. The capture process may be determined based on the existence of these different grids, and on the different bracket widths that occur at different distances from a capture device. Figure 8a shows an exaggerated difference between grids for the sake of illustration. Figure 8b shows a more realistic embodiment in which the three-dimensional representation comprises a plurality of points associated with different capture devices, where these points lie on different grids associated with these different capture devices. In order to store the points of the three-dimensional representation, the points may be stored as a string of bits, where a first portion of the string indicates a location of the point (e.g. using x, y, z coordinates) and a second portion of the string locates an attribute of the point. In various embodiments, further portions of the string may be used to indicate, for example, a transparency of the point, a size of the point, and / or a shape of the point. A computer device that processes the three-dimensional representation after the generation of this representation is then able to determine the location and attribute of each point so as to recreate the scene. This location and attribute may then be used to render a two-dimensional representation of the scene that can be displayed to a viewer wearing the display device 17. Specifically, the locations and attributes of the points of the three-dimensional representation can be used to render a two-dimensional image for each of the left eye of the viewer and the right eye of the viewer so as to provide an immersive extended reality (XR) experience to the viewer. The present disclosure considers an efficient method of storing the locations of the points (e.g. at an encoder) and of determining the locations of the points (e.g. at a decoder). As has been described with reference to Figures 5a and 5b, the points of the three-dimensional representation are determined using a set of capture devices placed at locations about the viewing zone, where these capture devices are arranged to capture points at a series of azimuth angles and elevation angles. Typically, each of the capture devices is arranged to use the same capture process (e.g. the same series of azimuth angles and elevation angles), though it will be appreciated that different series of capture angles are possible. For example, there may be a plurality of possible series of capture angles, where different capture devices use different capture angles. In general, the present disclosure considers a method in which points are stored based on a capture device identifier and an indication of a distance of the point from the capture device associated with this capture device identifier. Typically, the point is also associated with an angular indicator, which indicates an azimuth angle and / or an elevation angle of the point relative to the identified capture device. It will be appreciated that the storage of the distance and the angle may take many forms. For example, the distance and the angle of each point may be converted into a universal coordinate system, where each capture device has a different location in this universal coordinate system. In particular, each point may be stored with reference to a centre of this universal coordinate system, which centre may be co-located with a central capture device. Where a point is determined based on a distance and an angle from a capture device of a known location in this universal coordinate system, the coordinates of the point in this universal coordinate system can be determined trivially - and the location of the point may then be stored either relative to the capture device or as a coordinate in the universal coordinate system. The capture device identifier may comprise a location of a capture device (e.g. a location in a co-ordinate system of the three-dimensional representation). Equally, the capture device identifier may comprise an index of a capture device. Similarly, the indication of the azimuth angle and the elevation angle for a point may comprise an angle with reference to a zero-angle of a co-ordinate system of the three-dimensional representation. Equally, the azimuth angle and / or the elevation angle may be indicated using an angle index. In some embodiments, the three-dimensional representation is associated with configuration information, which configuration information comprises one or more of: a set of capture device indexes; locations associated with the capture devices and / or the capture device indexes; a spacing of capture devices (e.g. so that locations of the capture devices can be determined from a location of a first capture device and the spacing); angles associated with a capture process for the capture devices; an azimuth angle increment and / or an elevation angle increment associated with the capture process; and a set of angle indexes (e.g. to match an angle index to an angle). With this configuration information, it is possible to determine a location of each capture device from an index of that capture device and / orto determine a capture angle from a known capture process. Therefore, given two numbers: a capture device index and an angle index (that is associated with a combination of a specific azimuth angle and a specific elevation angle), a location of a capture device and a direction of a point from this capture device can be determined. By also signalling a distance of the point from the signalled capture device, a precise location of the point in the three-dimensional space can be signalled efficiently. Typically, the point is associated with each of: a camera index, a distance, an first angular index (e.g. a first azimuth), and a second angle (e.g. a second elevation) This method of indicating a location of a point enables point locations to be identified using a much smaller number of bits than if each point location is identified using x, y, z coordinates. Gaussian splatting The methods of determining points that have been described above are particularly suitable for determining points based on a computer-generated model (where a ray tracing process can be used readily to identify a distance of a point in the model from a capture device as well as an attribute of this point). More specifically, the methods above typically comprise locating one or more capture devices within the model (e.g. at positions around the perimeter of a viewing zone) and then capturing points of the model using these capture devices. These methods can also be used to determine points of a real-world environment, e.g. using a capture device that comprises a depth sensor and / or using a plurality of capture devices to determine a distance of a point from a given capture device. As described below, the present disclosure further considers a method of point determination based on images, where this method may provide improved point determination for real-world environments. This method may, for example, be used to obtain a three-dimensional representation (e.g. a point cloud) from a plurality of two-dimensional images of a real-world environment. Referring to Figure 9a, there is described a method of obtaining a three-dimensional model based on one or more images. The model may then be used to obtain a three-dimensional representation of the scene, e.g. using the methods described above with reference to Figures 3, 4a, and 4b. The method is typically performed by a computer device such as the image generator 11. In a first step 41, the computer device identifies one or more images, e.g. one or more, or a plurality of, two-dimensional images. In a second step 42, the computer device determines one or more Gaussian splats that represent features in the one or more images. The Gaussian splats typically comprise a plurality of parameters that include one or more (or all) of: a position; a covariance; an orientation and / or scale matrix; a color (e.g. a diffuse color); an angle dependency; and an alpha (or transparency) value. The parameters may comprise an angular parameter or a view-dependent or angle-dependent parameter; in particular, a color of the Gaussian splat may depend on an angle between a viewer and this Gaussian splat. Therefore, the parameters may comprise a plurality of colors (associated with different viewing angles) and / or the parameters may comprise one or more coefficients that enable a computer device to obtain a color for (a portion of) a Gaussian splat in dependence on a viewing angle. The position defines a position of each Gaussian splat within a three-dimensional coordinate space. For example, the position may identify a location of a centre of the Gaussian splat. The position may be defined as an absolute position or as a relative position. The covariance defines a deformation (e.g. a stretch and / or a scaling) of the Gaussian splat. The covariance is typically defined as a 3x3 matrix. The color (or, more generally, an attribute value) defines a color or an attribute of the Gaussian splat. For example, the color may define component values of a color of the Gaussian splat in a red, green, blue (RGB) color space. Typically, the parameters for the (or each) Gaussian splat comprise several colors or color coefficients in order to provide a ‘view dependant’ color that varies with an angle of view. In some embodiments, the view dependency of the Gaussian splat is defined using spherical harmonics, where the color coefficients may comprise coefficients of a spherical harmonic function. The alpha value identifies a transparency of the Gaussian splat. Typically, the Gaussian splat comprises an opaque central portion and the transparency of the Gaussian splat increases towards the edges of the Gaussian splat. The transparency value may indicate a transparency of the centre portion and / or may indicate a rate at which the transparency changes within the Gaussian splat. An exemplary usage of Gaussian splatting, and a background to the general concept of Gaussian splatting, is described in Gaussian splatting is described, for example, by https: / / huggingface.co / blog / gaussian-splatting). Typically, the method comprises determining a plurality of Gaussian splats, where the Gaussian splats can be overlaid on top of each other to provide the three-dimensional model. The combination of Gaussian splats thus combines to provide the model. In some embodiments, the Gaussian splats are arranged to provide a view-dependent model, where the color value at a specific location in the model depends on the angle at which a viewer is viewing this location. This can be achieved by determining three-dimensional Gaussian splats that overlap in different combinations depending on a viewing position of a viewer. Typically, the view dependency is achieved using color coefficients that enable a single Gaussian splat to define a plurality of colours (depending on a viewing angle of a viewer). As described above, the color coefficients may comprise spherical harmonics coefficients. It will be appreciated that other methods of signalling color coefficients may be used. For example, the color coefficients may comprise a plurality of color values, with each value being associated with a different angle. Typically, the one or more images identified in the first step 41 comprise a plurality of images, where the plurality of images show a scene from a plurality of different viewpoints. For example, the images may capture a 180-degree and / or a 360-degree view of the scene. The images are typically two-dimensional images that can be captured with standard cameras (e.g. cameras without a depth sensor). The present disclosure therefore considers a method in which a real-world scene that has been captured using a plurality of conventional cameras can be used to determine a three-dimensional model, with the three-dimensional model comprising one or more Gaussian splats. This three-dimensional model may then be used to generate a three-dimensional representation of the scene (comprising point data, as described above). The second step 42 of determining the Gaussian splats may use algorithmic methods and / or may use artificial intelligence (Al) or machine learning (ML) methods. In particular, this second step may comprise providing a plurality of images that show a scene to a machine learning model in order to determine three-dimensional Gaussian splats that model this scene. Figure 9b shows an example of such Gaussian splats in a two-dimensional space. In two-dimensions, these splats appear as ellipses. It will be appreciated that in a three-dimensional space the splats have a three-dimensional shape (similar to a peel). Referring to Figure 10, another method of modelling the scene comprises providing one or more mesh objects. This may involve determining the mesh objects using a photogrammetry process. In order to determine a three-dimensional model using photogrammetry, a computer device may perform a photogrammetry method as follows. In a first step 51, the computer device identifies one or more (e.g. a plurality of) images, e.g. a plurality of, two-dimensional images. In a second step 52, the computer device determines one or more mesh objects (e.g. solid mesh objects) that represent features in the one or more images. The mesh objects typically comprise a plurality of parameters that include one or more (or all) of: a position; a size; a color (and / or an attribute); and an alpha (or transparency) value. For example, each mesh may comprise a three-dimensional cuboid and / or a two-dimensional quadrilateral located at a particular location in a three-dimensional space. In some embodiments, each mesh object is opaque. Typically, the determining of a mesh object comprises identifying (or determining) one or more points with a first colour and then connecting these points to form a mesh object. The second step 52 may then include determining a plurality of different sets of points (of different colours) and then forming a plurality of different mesh objects based on these different pluralities of points. Determining points with a first colour may comprise determining points that are each within a threshold color value of each other. Typically, each mesh object is arranged to represent a (part of) a feature of a scene. This contrasts with Gaussian splats, where the Gaussian splats are arranged to overlap so that a plurality of Gaussian splats overlap and combine to represent a feature of a scene. Mesh objects are particularly suitable for representing opaque and / or diffuse objects (e.g. objects that provide no reflection), such as solid surfaces (e.g. walls). In contrast, Gaussian splats are particularly suitable for representing translucent, and / or specular objects (e.g. objects that provide specular reflection), such as hair or water, and Gaussian splats are also particularly suitable for representing features with a viewpoint-dependent attribute. Furthermore, Gaussian splats are generally arranged to represent features of the scene by providing a plurality of overlapping Gaussian splats, with each splat being translucent. Problematically, this can cause issues when attempting to determine points based on the splats (e.g. using the method of Figure 3). In particular, a solid surface in the scene, such as a wall, may be represented by a plurality of overlapping Gaussian splats, where these splats are each translucent, but the combination of the splats provides a wall that seems - to a viewer - to be opaque. A computer device that is attempting to determine a point of a three-dimensional model, e.g. using the method of Figure 3, might then identify that a (or each) Gaussian splat at the location of the wall has an alpha value that corresponds to a translucent point. This can result in a point being determined with a corresponding alpha value (even though the wall is opaque and so the point could or should be an opaque point). In practice, opaque surfaces can be represented by overlapping Gaussian splats, but these splats may not overlap across the entirety of the surface. Within an image, the areas in which there is not a total overlap will appear opaque to a viewer in the context of the surrounding surface, but when an isolated measurement is taken in these areas (e.g. by a capture device), the areas can be seen to be non-opaque. Therefore, while the Gaussian splats may represent the opaque surfaces sufficiently well for a viewer, they may not represent these surfaces sufficiently well to enable an accurate capture process to be performed by capture devices. In contrast, the mesh objects obtained using a photogrammetry process provide opaque surfaces so that a mesh object that represents a wall in a three-dimensional model could be captured by a capture device so as to obtain an opaque point for this wall. On the other hand, surfaces that are translucent or that are viewpoint-dependent may be better captured by Gaussian splats so that a capture device may be better able to capture a point on such a surface if this point is represented by a one or more Gaussian splats with a view-dependant color (e.g. a color that is defined by a plurality of angle dependent color coefficients). Aspects of the present disclosure relate to methods that combine a mesh object (e.g. photogrammetry) approach and a Gaussian splatting approach. Referring to Figure 11, a method may comprise: in a first step 61, the computer device identifies one or more images (e.g. identifies a plurality of two-dimensional images); in a second step 62, the computer device determines one or more Gaussian splats that represent a first set of features in the one or more images; and in a third step 63, the computer device determines one or more mesh objects that represent a second set of features in the one or more images. The mesh objects may be determined using a photogrammetry process. Equally, the mesh objects may be determined using another process. For example, a user may be able to insert mesh objects into the three-dimensional model. The first set of features may comprise translucent and / or specular features. The second set of features may comprise opaque and / or diffuse features. The first and / or second set of features may be detected using, for example, object detection or recognition algorithms. Equally, the first and / or second set of features may be detected based on a user input. In various embodiments, the first set of features and / or the second set of features is determined based on one or more of: a complexity of the features (e.g. as determined by an algorithm, an Al or ML model, and / or a user input); a location of the features; a transparency of the features; and a reflectiveness, a specularity (e.g. an amount of specular reflection associated with a feature), and / or a diffuseness (e.g. an amount of diffuse reflectiveness associated with a features) of the features. In some embodiments, the computer device is arranged to perform an image segmentation and / or an image classification process (e.g. on the one or more images, on the mesh objects, and / or on the Gaussian splats). The image classification process can be used to classify objects in the images so as to determine whether the objects are associated with a first set of features or a second set of features (and to determine whether the objects should be represented by Gaussian splats and / or mesh objects). Referring to Figure 12, as described with reference to Figure 11, the computer device may identify a set of images 101; determine 111 one or more Gaussian splats 102 to represent features in these images; determine 112 one or more mesh objects 103 to represent features in these images; and then generate 113, 114 a three-dimensional model 104 based on the Gaussian splats and the mesh objects. As shown in Figure 12, the mesh objects 103 may be determined 112 based on the set of images 101. Equally, the mesh objects 103 may be determined 112’ based on the Gaussian splats 102. In this regard, the method may comprise determining one or more Gaussian splats (or portions of one or more Gaussian splats) that represent features of the images and then determining one or more mesh objects in dependence on the Gaussian splats. The method may comprise transforming one or more Gaussian splats into mesh objects. Equally, the method may comprise transforming one or more mesh objects into Gaussian splats. In some embodiments the step 112’ of determining the mesh objects 103 may comprise modifying one or more Gaussian splats (e.g. adding additional constraints to the Gaussian splats). This may comprise modifying a Gaussian splat to match a real surface without requiring superposition. In some embodiments, the step 112’ of determining the mesh objects 103 may comprise setting a dimension of a Gaussian Splat to be 0. In some embodiments, one or more Gaussian splats are used to generate a collection of images of a scene viewed from different angles, but depicting only diffuse colors in the scene (e.g. so that the collection of images does not show any reflections in the scene), By generating the collection of images in this way, any view-dependant (e.g. angle-dependent) colors can be removed from the collection of images so as to enable a photogrammetry process to be performed more effectively on those artificially generated collection of images. Therefore, the method may comprise firstly determining a diffuse collection of images of a scene based on one or more Gaussian splats, the Gaussian splats only depicting diffuse colours of the scene, and then secondly generating one or more mesh objects based on the collection of images (e.g. using a photogrammetry process). Typically, the method of determining the Gaussian splats and the mesh objects comprises determining one or more Gaussian splats to represent features of the set of images 101; determining one or more Gaussian splats that represent a certain type of features (e.g. the first set of features); and then determining one or more mesh objects 103 that represent a different type of features (e.g. the second set of features) based on the Gaussian splats. This process may comprise determining one or more Gaussian splats (or portions of Gaussian splats) that provide an inaccurate representation of features in the images. For example, the computer device may be arranged to determine one or more holes in (e.g. areas of) the Gaussian splats. In practice, Gaussian splats may be determined that represent each feature in the images. Then the second set of features in the images (e.g. opaque and / or diffuse features) may be determined based on the Gaussian splats. For example, areas with an opacity above a threshold opacity may be determined to represent opaque and / or diffuse features. The computer device may then determine mesh objects to represent these features, where the mesh objects may replace (or may overlap) the Gaussian splats. In various embodiments, the determination of the first set of features and / orthe second set of features may involve: Determining the first and / or second set of features based on a user input and / or a characteristic of a feature in a three-dimensional scene. For example, a user might be able to set a flag to identify features that belong to the first set of features. Determining the first and / or second set of features using object recognition algorithms and / or models; for example, a machine learning model may be used to identify a first type of objects such as hair or fur, where the first set of features depicts this first type of objects. Determining a quality of a mesh object or a potential mesh object. In some embodiments, the determination of the Gaussian splats may comprise determining a quality of a mesh object that depicts a portion of a scene, determining that this quality is below a threshold value, and then determining a Gaussian splat to depict this portion of the scene. Determining a difficulty of generating a mesh object. For example, if a difficulty of determination of a mesh object for a portion of a scene exceeds a threshold value, then the method may comprise determining a Gaussian splat for this portion of the scene. Determining the ‘quality’ of the mesh object and / orthe difficulty of generating a mesh object may involve determining a similarity between a reference image (e.g. the portion of the scene) and a mesh object that represents this reference image. For example, a computer device may be arranged to determine a sum of absolute differences (SAD) between the reference image and the mesh object. The determining of the first set of features and / orthe second set of features may comprise determining a quality of a mesh object or a potential mesh object and / or determining a difficulty of generating a mesh object. Equally, this determination may comprise determining a quality of a Gaussian splat or a potential Gaussian splat and / or determining a difficulty of generating a Gaussian splat. One or more mesh objects may then be used to depict a portion of a scene where the quality of a potential Gaussian splat is below a quality threshold. While the method typically comprises determining one or more Gaussian splats and one or more mesh objects, more generally the methods disclosed herein may involve determining one or more Gaussian splats that define a color and determining one or more other structures that define a color. The other structures may comprise mesh objects, points, surfaces, etc. The features described above with reference to mesh objects may equally be implemented for these other types of structures. Referring to Figure 13, there is described a method of determining one or more points of a three-dimensional representation of a scene based on one or more images of the scene. Similarly, to the method of Figure 11, in a first step 71, the computer device identifies one or more images (e.g. identifying a plurality of two-dimensional image); in a second step 72, the computer device determines one or more Gaussian splats that represent a first set of features in the one or more images; and in a third step 73, the computer device determines one or more mesh objects that represent a second set of features in the one or more images. In a fourth step 74, the computer device determines one or more points based on the Gaussian splats and / or the mesh objects. For example, the computer device may use a ray tracing process and / or may use the scanning process described with reference to Figure 3 to determine the points. Determining the points typically comprises determining a location and / or an attribute of the point. Determining the points typically comprises determining (and defining) a location of a point based on a capture device being used to determine the point. Determining the point may comprise determining one or more of: a color, and / or a plurality of colors, of the point; an alpha or transparency value of the point; a normal of the point; and a movement vector for the point. More specifically, the computer device is typically arranged to locate one or more capture devices at locations in the three-dimensional model (e.g. at a location of a viewing zone), to determine one or more points using the capture devices, and to then form the three-dimensional representation based on these points. Typically, the three-dimensional representation is arranged to show a scene from only a limited range of viewpoints (e.g. from viewpoints within a viewing zone). Therefore, the three-dimensional representation may contain less information than the three-dimensional model since one or more surfaces of the three-dimensional model may not be visible from the viewing zone. This enables the three-dimensional representation to provide a smaller file size than the model. Detailed methods of determining points of a three-dimensional representation have been described above with reference to Figures 3 - 4b, and it will be appreciated that any of the steps described above in relation to the determining of points may be used with the method of Figure 13. These methods of determining points of a three-dimensional representation are particularly applicable to a model that includes both Gaussian splats and mesh objects, e.g. a model determined using the methods and systems described above. A model that includes both mesh objects and Gaussian splats can depict a scene more accurately and efficiently than a model that only includes mesh objects, where this model then enables a three-dimensional representation (comprising three-dimensional points) to be determined accurately and efficiently. This three-dimensional representation may then be used in situations where the three-dimensional model is not suitable (e.g. where only a single type of data structure is desired). In particular, the method of determining the points of the three-dimensional representation may comprise determining points for a plurality of different capture devices and / or determining points at a plurality of different (e.g. azimuthal and elevational) angles. The method may comprise iterating an angle for a capture device and then capturing points at a plurality of angles. The method may comprise identifying an overlap in a capture area of a plurality of capture devices and capturing or storing only a single set of points (for a single capture device) in this overlap. Suitable methods for capturing points in this way have been described above with reference to Figures 3 - 4b in particular, In some embodiments, the Gaussian splats, the mesh objects, and / or the three-dimensional representation are determined based on a viewing zone 1, where this may involve determining the Gaussian splats, the mesh objects, and / or the three-dimensional representation based on a position (or a possible position) of the viewing zone in the scene. In some embodiments, the determination of whether an object (or a feature) belongs to the first set of features or the second set of features is dependent on a (e.g. possible) location of a viewing zone. For example, features that are greater than a threshold distance from this location (and, e.g. have an alpha value greater than a threshold value) may be assigned to the second set of features so as to be represented by mesh objects. In this regard, where objects are very far from a possible viewing zone, any small translucency of these objects may not be recognisable by a user and so it may be suitable to instead represent these objects as being opaque. In these embodiments, the method may comprise determining a location of, or a feature of, a viewing zone for the scene. In some embodiments, the computer device may be arranged to process the Gaussian splats and / or the mesh objects based on the viewing zone. For example, the computer device may identify one or more Gaussian splats that can be replaced with mesh objects based on a distance of these Gaussian splats from the viewing zone. Determining the viewing zone may involve receiving a user input following the identification of the one or more images, where this user input identifies a location of a viewing zone in a scene. In some embodiments, the method of determining one or more points of the three-dimensional representation may comprise determining a combination of (three-dimensional) points and Gaussian splats. That is, the method may comprise determining one or more points based on Gaussian splats and / or mesh objects and then forming a three-dimensional representation of a scene that comprises one or more (three-dimensional) points and also one or more Gaussian spalts (e.g. where the Gaussian splats depict portions or objects of the scene that are above a threshold distance from the viewing zone). Bitstream In order to store or transmit the three-dimensional model or the three-dimensional representation, a computer device may generate a bitstream that comprises one or more of: one or more Gaussian splats of the three-dimensional model; one or more mesh objects of the three-dimensional model; one or more points of the three-dimensional representation; and one or more Gaussian splats of the three-dimensional representation. This bitstream can then be received and parsed by another computer device. Such a bitstream is shown in Figure 14, which shows a bitstream that comprises a plurality of bits Bit-a, Bit-b, Bit-c, Bit-d. It is desirable for this bitstream to be accurate (e.g. to enable the points / mesh objects / Gaussian splats to be accurately received and regenerated) and also to be efficient (e.g. to be small in size). In some embodiments, a computer device is arranged to encode and / or decode the bitstream, where this may comprise compressing the bitstream (e.g. using entropy encoding). The bitstream, and the various structures / components defined in the bitstream may be arranged to improve the efficiency of this encoding. In some embodiments, the bitstream may define the three-dimensional model and the bitstream may comprise a first portion that defines one or more Gaussian splats and a second section that comprises one or more mesh objects. In some embodiments, the bitstream may define the three-dimensional representation and the bitstream may comprise a first portion that defines one or more Gaussian splats and a second section that comprises one or more points. In some embodiments, the bitstream may comprise an indication of the first features and / or an indication of the second features. In some embodiments, the bitstream may comprise one or more flags to indicate one or more of: a quality threshold associated with the first set of features and / or the second set of features; whether a three-dimensional representation comprises Gaussian splats; and an indication of parameters used to define mesh objects and / or Gaussian splats. Alternatives and modifications It will be understood that the present invention has been described above purely by way of example, and modifications of detail can be made within the scope of the invention. The representation is typically arranged to provide an extended reality (XR) experience (e.g. a representation that is useable to render a XR video). The term extended reality (XR) covers each of virtual reality (VR), augmented reality (AR), and mixed reality (MR) and it will be appreciated that the disclosures herein are applicable to any of these technologies. The three-dimensional model and / or the three-dimensional representation may be encoded into, and / or transmitted using, a bitstream, which bitstream typically comprises point data for one or more points of the three-dimensional representation. The point data may be compressed or encoded to form the bitstream. The bitstream may then be transmitted between devices before being decoded at a receiving device so that this receiving device can determine the point data and reform the three-dimensional representation (or form one or more two-dimensional images based on this three-dimensional representation). In particular, the encoder 12 may be arranged to encode (e.g. one or more points of) the three-dimensional representation in order to form the bitstream and the decoder 14 may be arranged to decode the bitstream to generate the one or more two-dimensional images. In some examples, the three-dimensional model is determined on a first device and then transmitted (e.g. in a bitstream) to a second device, where the second device determines the three-dimensional representation based on the three-dimensional model. In some embodiments, the scene comprises a static scene; alternatively, in some embodiments the scene comprises a video and / or a moving (e.g. non-static) scene. That is, in some embodiments the scene comprises a static scene, such as a building, where a viewer is able to move through this scene, e.g. to view different rooms of the building, but where the scene itself does not change. In some embodiments, the scene comprises a moving scene, where elements of the scene vary in time even where the viewer remains stationary. It will be appreciated that typically the scene comprises both static and moving elements where, for example, non-static elements move in front of a static background. Reference numerals appearing in the claims are by way of illustration only and shall have no limiting effect on the scope of the claims.

Claims

1. A method of generating a three-dimensional model based on one or more images, the method comprising:identifying the one or more images;generating one or more Gaussian splats to represent a first set of features in the images;based on the Gaussian splats, generating one or more mesh objects to represent a second set of features in the images; andgenerating a three-dimensional model that comprises the Gaussian splats and the mesh objects.

2. The method of claim 1, comprising:in a first step, generating the Gaussian splats based on the two-dimensional images; andin a second step, generating the mesh objects based on the Gaussian splats;3. The method of claim 2, comprising:in the first step, determining Gaussian splats that depict a diffuse representation of the scene and; in the second step, determining the mesh objects based on the Gaussian splats.

4. The method of any preceding claim, comprising determining the second set of features based on an opacity of one or more Gaussian splats.

5. The method of any preceding claim, comprising generating the second set of features based on the detection of a hole and / or an area of low opacity in the Gaussian splats.

6. The method of any preceding claim, comprising determining the first set of features and / or the second set of features:by using an object recognition process on the images; and / orby providing the images to a machine learning model; and / or based on a segmentation ofthe images; and / or.based on a user input.

7. The method of any preceding claim, comprising, based on the three-dimensional model, determining a three-dimensional representation of a scene captured by the images, preferably wherein:generating the three-dimensional representation comprises performing a ray tracing process on the three-dimensional model; and / orthe three-dimensional representation comprises a point cloud.

8. The method of claim 7, wherein the generating of the three-dimensional representation comprises generating one or more points ofthe three-dimensional representation, wherein each point comprises an attribute and a location.

9. The method of claim 8, wherein the location is defined with reference to a capture device used to capture the point.

10. The method of any preceding claim, wherein the three-dimensional representation is associated with a viewing zone, preferably wherein the three-dimensional representation comprises a subset of the information provided by the three-dimensional model and / or wherein the three-dimensional model comprises information in the three-dimensional model that is visible from the viewing zone.

11. The method of any preceding claim, wherein the three-dimensional representation comprises a point cloud.

12. The method of any preceding claim, wherein generating the three-dimensional representation comprises capturing a plurality of points based on the three-dimensional model, preferably capturing a plurality of points using a plurality of different capture device.

13. The method of any preceding claim, wherein the images comprise two-dimensional images, preferably wherein the two-dimensional images comprise a plurality of images that show a scene from a plurality of different viewpoints, preferably from a 180 degree range ofviewpoints and / or a 360 degree range of viewpoints.

14. The method of any preceding claim, comprising generating the Gaussian splats using a machine learning model.

15. The method of any preceding claim, comprising generating the mesh objects using a photogrammetry process.

16. The method of any preceding claim, wherein the first set of features comprises translucent features and / or features that provide specular reflection.

17. The method of any preceding claim, wherein the second set of features comprises opaque features and / or non-reflective features.

18. The method of any preceding claim, comprising generating the Gaussian splats and / or the mesh objects based on a viewing zone associated with a scene shown by the images, preferably based on a location of the viewing zone.

19. The method of any preceding claim, comprising generating a plurality of points of a three-dimensional representation of a scene.

20. The method of claim 19, comprising:determining an initial capture angle for a capture device;generating a point at the initial capture angle using the capture device, wherein generating a point comprises determining an attribute and a location of a point;altering the capture angle; andgenerating a further point at the altered capture angle.

21. The method of claim 19 or 20, comprising generating a plurality of points at a plurality of capture angles, preferably comprising generating a plurality of points at a plurality of azimuthal angles and a plurality of elevational angles, preferably generating a grid of points.

22. The method of any of claims 18 to 21, comprising determining an attribute for each point based on the three-dimensional model, preferably further comprising determining one or more of: a transparency of the point; and a normal value of the point.

23. The method of any of claims 18 to 22, comprising capturing a plurality of points using a plurality of capture devices, preferably comprising capturing a first set of points using a first capture device and a second set of points using a second capture device;preferably, wherein the plurality of capture devices are arranged in dependence on a viewing zone of the scene, preferably the plurality of capture devices are arranged so as to capture (e.g. only) points that are visible from the viewing zone.

24. An apparatus for determining a three-dimensional model based on one or more images, the apparatus comprising:means for identifying the one or more images;means for generating one or more Gaussian splats to represent a first set of features in the images;means for generating, based on the Gaussian splats, one or more mesh objects to represent a second set of features in the images;means for generating a three-dimensional model that comprises the Gaussian splats and the mesh objects; andbased on the three-dimensional model, generating a three-dimensional representation of a scene captured by the images.

25. A bitstream defining a three-dimensional model that has been determined based on one or more images, the bitstream comprising:a three-dimensional representation of a scene captured by one or more images, the three-dimensional representation being generated by:generating one or more Gaussian splats that represent a first set of features in the images;based on the Gaussian splats, generating one or more mesh objects that represent a second set of features in the images;generating a three-dimensional model that comprises the Gaussian splats and the mesh objects; andbased on the three-dimensional model, generating the three-dimensional representation of the scene captured by the images.A