WO2024257784A1 - 復号装置、復号方法、及び、符号化装置 - Google Patents

復号装置、復号方法、及び、符号化装置 Download PDF

Info

Publication number
WO2024257784A1
WO2024257784A1 PCT/JP2024/021291 JP2024021291W WO2024257784A1 WO 2024257784 A1 WO2024257784 A1 WO 2024257784A1 JP 2024021291 W JP2024021291 W JP 2024021291W WO 2024257784 A1 WO2024257784 A1 WO 2024257784A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
dimensional
presentation
information
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2024/021291
Other languages
English (en)
French (fr)
Inventor
賀敬 井口
敏康 杉尾
孝啓 西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Priority to CN202480036898.XA priority Critical patent/CN121286014A/zh
Priority to EP24823399.1A priority patent/EP4727133A1/en
Priority to JP2025527958A priority patent/JPWO2024257784A1/ja
Publication of WO2024257784A1 publication Critical patent/WO2024257784A1/ja
Priority to US19/404,294 priority patent/US20260087678A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44012Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs

Definitions

  • This disclosure relates to a decoding device, a decoding method, and an encoding device.
  • 3D data can be acquired in a variety of ways, including distance sensors such as range finders, stereo cameras, or a combination of multiple monocular cameras.
  • One method of expressing three-dimensional data is a method called a point cloud, which uses a group of points in three-dimensional space to represent the shape of a three-dimensional structure.
  • a point cloud In a point cloud, the position and color of the point cloud are stored.
  • Point clouds are expected to become the mainstream method of expressing three-dimensional data, but point clouds have a very large amount of data. Therefore, when storing or transmitting three-dimensional data, it is essential to compress the amount of data by encoding, just as with two-dimensional moving images (examples include MPEG-4 AVC or HEVC standardized by MPEG).
  • Patent Document 1 There is also known technology that uses three-dimensional map data to search for and display facilities located around a vehicle (see, for example, Patent Document 1).
  • the present disclosure aims to provide a decoding device and the like that can appropriately present first presentation data and second presentation data based on first data and second data.
  • a decoding device includes a circuit and a memory connected to the circuit, and in operation, the circuit acquires encoded data including first data representing a three-dimensional object and encoding method information indicating one of the encoding methods including second data representing the three-dimensional object, and identification information indicating the three-dimensional space in which the three-dimensional object is included, decodes the first data and the second data corresponding to the three-dimensional space based on the encoded data, renders the first data to generate first presentation data for presentation, renders the second data to generate second presentation data for presentation, and switches from the generated second presentation data to the first presentation data for presentation.
  • a decoding device is a decoding device that decodes first data representing a three-dimensional object, the decoding device comprising a circuit and a memory connected to the circuit, the circuit, in operation, decodes encoding method information that represents the three-dimensional object and indicates a second encoding method different from the first encoding method of the first data, decodes second data of the second encoding method indicated by the encoding method information, and the second data is used to generate second presentation data for presentation.
  • the encoding device is an encoding device for encoding first data representing a three-dimensional object, the encoding device comprising a circuit and a memory connected to the circuit, the circuit, in operation, generating encoding method information representing the three-dimensional object and indicating a second encoding method different from the first encoding method of the first data, generating second data of the second encoding method indicated by the encoding method information, generating a bitstream including the encoding method information and the second data, the second data being used to generate second presentation data for presentation.
  • the decoding device and the like disclosed herein can appropriately present the first presentation data and the second presentation data based on the first data and the second data.
  • FIG. 1 is a diagram showing an example of a configuration of a three-dimensional data encoding/decoding system according to an embodiment.
  • FIG. 2 is a diagram showing the configuration of point cloud data.
  • FIG. 3 is a diagram showing an example of the structure of a data file in which information on point cloud data is described.
  • FIG. 4 is a diagram showing the structure of three-dimensional mesh data.
  • FIG. 5 is a diagram showing an example of the structure of a data file in which information on three-dimensional mesh data is described.
  • FIG. 6 is a diagram for explaining a three-dimensional model.
  • FIG. 7 is a diagram showing types of three-dimensional data.
  • FIG. 8 is a diagram for explaining the encoding process of three-dimensional data.
  • FIG. 1 is a diagram showing an example of a configuration of a three-dimensional data encoding/decoding system according to an embodiment.
  • FIG. 2 is a diagram showing the configuration of point cloud data.
  • FIG. 3 is a diagram showing an example of the
  • FIG. 9 is a diagram for explaining the decoding process of three-dimensional data.
  • FIG. 10 is a two-dimensional schematic diagram of tiles and slices of three-dimensional data.
  • FIG. 11 is a diagram showing an example of a terminal presentation screen that can be switched in response to a user request.
  • FIG. 12 is a diagram showing an example of a terminal presentation screen that is automatically switched in response to a user operation.
  • FIG. 13 is a block diagram showing an example of a functional configuration of the server and the terminal.
  • FIG. 14 is a block diagram illustrating another example of the data generating unit of the server.
  • FIG. 15 is a diagram for explaining the synchronization process of the coordinate systems.
  • FIG. 16 is a diagram for explaining the synchronization process of the coordinate systems.
  • FIG. 15 is a diagram for explaining the synchronization process of the coordinate systems.
  • FIG. 17 is a diagram for explaining the relationship between the three-dimensional space and the encoded data.
  • FIG. 18 is a diagram illustrating an example of the syntax of the coding method unit.
  • FIG. 19 is a diagram illustrating an example of the syntax of the encoded point group.
  • FIG. 20 is a diagram showing an example of the syntax of a coding mesh.
  • FIG. 21 is a diagram illustrating an example of the syntax of the encoded 3D model.
  • FIG. 22 is a diagram showing an example of the syntax of the three-dimensional data information.
  • FIG. 23 is a diagram illustrating the data structure of the encoded point group.
  • FIG. 24 is a diagram for explaining the data structure of the encoded mesh.
  • FIG. 25 is a diagram for explaining the data structure of an encoded three-dimensional model.
  • FIG. 18 is a diagram illustrating an example of the syntax of the coding method unit.
  • FIG. 19 is a diagram illustrating an example of the syntax of the encoded point group.
  • FIG. 20 is
  • FIG. 26 is a two-dimensional diagram showing an example of a plurality of three-dimensional spaces.
  • FIG. 27 is a diagram showing an example of a bounding box.
  • FIG. 28 is a diagram showing an example of the syntax of the three-dimensional space information.
  • FIG. 29 is a flowchart showing an example of partial decoding.
  • FIG. 30 is a diagram showing an example of a three-dimensional spatial region that is a target of partial decoding.
  • FIG. 31 is a diagram showing an example of the data structure of a group of encoded points to be partially decoded.
  • FIG. 32 is a diagram showing an example of the data structure of a partially decoded encoded mesh.
  • FIG. 33 is a diagram showing an example of the data structure of an encoded 3D model to be partially decoded.
  • FIG. 33 is a diagram showing an example of the data structure of an encoded 3D model to be partially decoded.
  • FIG. 34 is a diagram showing an example of coordinate systems of different types of three-dimensional data that are not spatially synchronized.
  • FIG. 35 is a diagram showing an example of the syntax of the three-dimensional data information.
  • FIG. 36 is a diagram showing an example of the syntax of the three-dimensional space information.
  • FIG. 37 is a diagram illustrating an example of a functional configuration of a terminal.
  • FIG. 38 is a flowchart showing an example of the spatial synchronization process.
  • FIG. 39 is a diagram illustrating an example of the configuration of a decoding device.
  • FIG. 40 is a flowchart showing an example of a decoding method by the decoding device.
  • FIG. 41 is a flowchart showing another example of a decoding method performed by the decoding device.
  • FIG. 42 is a diagram showing an example of the configuration of an encoding device.
  • FIG. 43 is a flowchart showing an example of an encoding method by the encoding device.
  • the decoding device includes a circuit and a memory connected to the circuit, and in operation, the circuit acquires encoded data including first data representing a three-dimensional object and encoding method information indicating one of the encoding methods including second data representing the three-dimensional object, and identification information indicating the three-dimensional space in which the three-dimensional object is included, decodes the first data and the second data corresponding to the three-dimensional space based on the encoded data, renders the first data to generate first presentation data for presentation, renders the second data to generate second presentation data for presentation, and switches from the generated second presentation data to the first presentation data for presentation.
  • the first presentation data and the second presentation data are generated based on the first data and the second data corresponding to the three-dimensional space, and the second presentation data is switched to the first presentation data for presentation, so that the two pieces of data representing the three-dimensional object can be switched and presented without causing any spatial misalignment. Therefore, the first presentation data and the second presentation data can be presented appropriately.
  • the decoding device is the decoding device according to the first aspect, and the first data is point cloud data representing the three-dimensional object.
  • the second presentation data is switched to the first presentation data based on the point cloud data, so that the two pieces of data representing the three-dimensional object can be switched and presented without causing any spatial misalignment.
  • the decoding device is the decoding device according to the first or second aspect, and the second data is mesh data representing the three-dimensional object.
  • the second presentation data based on mesh data is switched to the first presentation data, so that the two pieces of data representing the three-dimensional object can be switched and presented without causing any spatial misalignment.
  • the decoding device is the decoding device according to the first or second aspect, in which the second data is three-dimensional model data representing the three-dimensional object, and the three-dimensional model data indicates a machine learning model obtained by machine learning a plurality of sets of gazes and two-dimensional images.
  • the second presentation data based on the three-dimensional model data is switched to the first presentation data, so that the two pieces of data representing the three-dimensional object can be switched and presented without causing any spatial misalignment.
  • the decoding device is the decoding device according to the first or second aspect, and the second data is a two-dimensional image of the three-dimensional object when viewed from a predetermined line of sight.
  • the second presentation data based on a two-dimensional image is switched to the first presentation data, so that the two pieces of data representing a three-dimensional object can be switched and presented without causing any spatial misalignment.
  • the decoding device is a decoding device according to any one of the first to fifth aspects, and the circuit further acquires a presentation data switching request from a user, and in the presentation, switches from the second presentation data to the first presentation data in response to the switching request.
  • the decoding device is a decoding device according to any one of the first to fifth aspects, and the circuit further receives an operation from a user to change the presentation mode, changes the presentation mode in response to the operation, and switches from the second presentation data to the first presentation data in response to the change.
  • the decoding device is a decoding device according to any one of the first to fifth aspects, and the circuit, in the acquisition, acquires the encoded data from the encoding device via a communication network, and, in the presentation, switches from the second presentation data to the first presentation data and presents it according to the bandwidth of the communication network.
  • switching can be performed according to the bandwidth of the communication network; for example, when the bandwidth of the communication network changes from less than a specified bandwidth to equal to or greater than the specified bandwidth, the second presentation data can be switched to the first presentation data for presentation.
  • the decoding device is a decoding device according to any one of the first to fifth aspects, in which the circuit switches from the second presentation data to the first presentation data in the presentation according to the available capabilities of the circuit.
  • switching can be performed according to the capacity of the available circuit. For example, when the capacity of the available circuit changes from less than a specified capacity to equal to or greater than the specified capacity, the second presentation data can be switched to the first presentation data for presentation.
  • the decoding device is a decoding device according to any one of the first to ninth aspects, in which the encoded data includes synchronization information for synchronizing a coordinate system of the first data and a coordinate system of the second data, and the circuit, in the presentation, presents the first presentation data and the second presentation data based on the synchronization information.
  • the first presentation data and the second presentation data can be switched to the first presentation data after the coordinate systems of the data are aligned. This makes it possible to switch and present two pieces of data representing a three-dimensional object in a way that minimizes spatial misalignment.
  • the decoding device is the decoding device according to the tenth aspect, in which the circuit further determines whether or not to synchronize the coordinate system of the first data with the coordinate system of the second data, and if it is determined that the coordinate system of the first data is to be synchronized with the coordinate system of the second data, the circuit presents the first presentation data and the second presentation data based on the synchronization information during the presentation.
  • synchronization processing can be performed when necessary, and can be skipped when it is not necessary. This has the potential to reduce the processing load.
  • the decoding device is a decoding device according to any one of the first to eleventh aspects, in which the first data and the second data each have a common configuration.
  • the amount of encoded data can be reduced, and communication capacity can be reduced.
  • the decoding device is a decoding device according to any one of the first to twelfth aspects, in which the encoded data includes spatial information for identifying the three-dimensional space in which the three-dimensional object is included, and the circuit further obtains a target area indicating a partial area of the three-dimensional space, identifies first duplicate data that is a part of the first data and overlaps with the target area based on the spatial information, and decodes the identified first duplicate data in the decoding process.
  • the amount of data to be acquired can be reduced by acquiring only the first duplicate data. This makes it possible to reduce communication capacity. Also, for example, it is possible to decrypt only the first duplicate data. This makes it possible to reduce processing load.
  • the decoding method obtains encoded data including first data representing a three-dimensional object, encoding method information indicating one of the encoding methods including second data representing the three-dimensional object, and identification information indicating the three-dimensional space in which the three-dimensional object is included, decodes the first data and the second data based on the encoded data, renders the first data to generate first presentation data for presentation, renders the second data to generate second presentation data for presentation, and switches from the generated second presentation data to the first presentation data for presentation.
  • the first presentation data and the second presentation data are generated based on the first data and the second data corresponding to a three-dimensional space, and the second presentation data is switched back to the first presentation data for presentation, so that the data can be switched and presented without causing a spatial misalignment. Therefore, the first presentation data and the second presentation data can be presented appropriately.
  • a decoding device is a decoding device for decoding first data representing a three-dimensional object, the decoding device comprising a circuit and a memory connected to the circuit, the circuit, in operation, decodes encoding method information representing the three-dimensional object and indicating a second encoding method different from the first encoding method of the first data, decodes second data of the second encoding method indicated by the encoding method information, and the second data is used to generate second presentation data for presentation.
  • the second data of the second encoding method indicated by the encoding method information obtained by decoding is decoded, so that the second data can be obtained for generating second presentation data for appropriate presentation.
  • the encoding device is an encoding device for encoding first data representing a three-dimensional object, the encoding device comprising a circuit and a memory connected to the circuit, the circuit, in operation, generating encoding method information representing the three-dimensional object and indicating a second encoding method different from the first encoding method of the first data, generating second data of the second encoding method indicated by the encoding method information, generating a bitstream including the encoding method information and the second data, the second data being used to generate second presentation data for presentation.
  • bitstream including the encoding method information and the second data is generated, and a decoding device that acquires the bitstream can obtain the second data for generating second presentation data for appropriate presentation.
  • Fig. 1 is a diagram showing an example of the configuration of a three-dimensional data encoding/decoding system according to this embodiment.
  • the three-dimensional data encoding/decoding system includes a three-dimensional data encoding system 1001, a three-dimensional data decoding system 1002, a sensor terminal 1003, and an external connection unit 1004.
  • the three-dimensional data encoding system 1001 generates encoded data or multiplexed data by encoding three-dimensional data.
  • the three-dimensional data encoding system 1001 may be a three-dimensional data encoding device realized by a single device, or may be a system realized by multiple devices.
  • the three-dimensional data encoding device may also include some of the multiple processing units included in the three-dimensional data encoding system 1001.
  • the three-dimensional data encoding system 1001 includes a three-dimensional data generation system 1011, a presentation unit 1012, an encoding unit 1013, a multiplexing unit 1014, an input/output unit 1015, and a control unit 1016.
  • the three-dimensional data generation system 1011 includes a sensor information acquisition unit 1017 and a three-dimensional data generation unit 1018.
  • the sensor information acquisition unit 1017 acquires a sensor signal from the sensor terminal 1003 and outputs the sensor signal to the three-dimensional data generation unit 1018.
  • the three-dimensional data generation unit 1018 generates three-dimensional data from the sensor signal and outputs the three-dimensional data to the encoding unit 1013.
  • the presentation unit 1012 presents the sensor signal or the three-dimensional data to the user. For example, the presentation unit 1012 displays information or an image based on the sensor signal or the three-dimensional data.
  • the encoding unit 1013 encodes (compresses) the three-dimensional data, and outputs the resulting encoded data, control information obtained in the encoding process, and other additional information to the multiplexing unit 1014.
  • the additional information includes, for example, a sensor signal.
  • the multiplexing unit 1014 generates multiplexed data by multiplexing the coded data input from the coding unit 1013, the control information, and the additional information.
  • the format of the multiplexed data is, for example, a file format for storage, or a packet format for transmission.
  • the input/output unit 1015 (e.g., a communication unit or an interface) outputs the multiplexed data to the outside.
  • the multiplexed data is stored in a storage unit such as an internal memory.
  • the control unit 1016 (or the application execution unit) controls each processing unit. In other words, the control unit 1016 controls encoding and multiplexing, etc.
  • the control unit 1016 may also control demultiplexing, decoding, or presentation.
  • the sensor signal may be input to the encoding unit 1013 or the multiplexing unit 1014.
  • the input/output unit 1015 may output the three-dimensional data or the encoded data directly to the outside.
  • the transmission signal (multiplexed data) output from the three-dimensional data encoding system 1001 is input to the three-dimensional data decoding system 1002 via the external connection unit 1004.
  • the three-dimensional data decoding system 1002 generates three-dimensional data by decoding the encoded data or multiplexed data.
  • the three-dimensional data decoding system 1002 may be a three-dimensional data decoding device realized by a single device, or may be a system realized by multiple devices.
  • the three-dimensional data decoding device may also include some of the multiple processing units included in the three-dimensional data decoding system 1002.
  • the three-dimensional data decoding system 1002 includes a sensor information acquisition unit 1021, an input/output unit 1022, a demultiplexing unit 1023, a decoding unit 1024, a presentation unit 1025, a user interface 1026, and a control unit 1027.
  • the sensor information acquisition unit 1021 acquires a sensor signal from the sensor terminal 1003.
  • the input/output unit 1022 acquires the transmission signal, decodes the multiplexed data (file format or packets) from the transmission signal, and outputs the multiplexed data to the demultiplexer unit 1023.
  • the demultiplexing unit 1023 obtains the coded data, control information, and additional information from the multiplexed data, and outputs the coded data, control information, and additional information to the decoding unit 1024.
  • the decoding unit 1024 reconstructs the point cloud data by decoding the encoded data.
  • the presentation unit 1025 presents the point cloud data to the user. For example, the presentation unit 1025 displays information or an image based on the point cloud data.
  • the user interface 1026 acquires instructions based on user operations.
  • the control unit 1027 (or the application execution unit) controls each processing unit. In other words, the control unit 1027 controls demultiplexing, decoding, presentation, etc.
  • the input/output unit 1022 may obtain the point cloud data or the encoded data directly from outside.
  • the presentation unit 1025 may obtain additional information such as a sensor signal and present information based on the additional information.
  • the presentation unit 1025 may perform presentation based on a user instruction obtained by the user interface 1026.
  • the sensor terminal 1003 generates a sensor signal, which is information obtained by a sensor.
  • the sensor terminal 1003 is a terminal equipped with a sensor or a camera, and examples of the sensor terminal include a moving object such as an automobile, a flying object such as an airplane, a mobile terminal, or a camera.
  • Sensor signals that can be acquired by the sensor terminal 1003 include, for example, (1) a signal indicating the distance between the sensor terminal 1003 and an object, or the reflectance of the object, obtained from a LIDAR, millimeter wave radar, or infrared sensor, and (2) a signal indicating the distance between the camera and an object, or the reflectance of the object, obtained from multiple monocular camera images or stereo camera images.
  • the sensor signal may also include the attitude, orientation, gyro (angular velocity), position (GPS information or altitude), speed, acceleration, etc. of the sensor.
  • the sensor signal may also include temperature, air pressure, humidity, magnetism, etc.
  • the external connection unit 1004 is realized by an integrated circuit (LSI or IC), an external storage unit, communication with a cloud server via the Internet, broadcasting, etc.
  • LSI or IC integrated circuit
  • IC integrated circuit
  • cloud server via the Internet
  • broadcasting etc.
  • Figure 2 is a diagram showing the structure of point cloud data.
  • Figure 3 is a diagram showing an example of the structure of a data file in which information about point cloud data is described.
  • Point cloud data includes data on multiple points.
  • the data on each point includes location information (three-dimensional coordinates) and attribute information for that location information.
  • a collection of multiple such points is called a point cloud.
  • a point cloud can represent the three-dimensional shape of an object.
  • Position information such as three-dimensional coordinates is sometimes called geometry.
  • the data for each point may include attribute information of multiple attribute types.
  • the attribute types are, for example, color or reflectance.
  • One piece of attribute information may be associated with one piece of location information, or multiple pieces of attribute information with different attribute types may be associated with one piece of location information. Also, multiple pieces of attribute information of the same attribute type may be associated with one piece of location information.
  • the data file configuration example shown in Figure 3 is an example where there is a one-to-one correspondence between position information and attribute information, and shows the position information and attribute information of N points that make up the point cloud data.
  • the position information is, for example, information on the three axes x, y, and z.
  • the attribute information is, for example, RGB color information.
  • a typical example of a data file is a ply file.
  • Figure 4 is a diagram showing the structure of three-dimensional mesh data.
  • Figure 5 is a diagram showing an example of the structure of a data file in which information about the three-dimensional mesh data is described.
  • Three-dimensional mesh data is a data format used in CG (Computer Graphics) that represents the three-dimensional shape of an object as a collection of multiple pieces of surface information. Each piece of surface information represents a polygon such as a triangle or a quadrangle. Three-dimensional mesh data is also called a polygon or polygon mesh.
  • CG Computer Graphics
  • the components are a three-dimensional point cloud, vertices that are multiple three-dimensional points of the three-dimensional point cloud, edges that connect two vertices at multiple three-dimensional points, and a collection of faces that are surrounded by multiple edges.
  • a three-dimensional point cloud is a collection of points that include position information in three-dimensional space and attribute information that corresponds to that position information. Note that three-dimensional points may simply be referred to as points.
  • a vertex may have attribute information such as color information, reflectance, and normal vector for a three-dimensional point.
  • the relationship between the vertices that make up an edge or face may be indicated by information called connectivity.
  • a vertex may be expressed as a position.
  • the front and back of a face may be expressed by the direction of the normal vector for the three-dimensional point.
  • a vertex may also have attribute information for the face.
  • An example of the format of a mesh data file is an object file.
  • a mesh data file such as that shown in Figure 5
  • the position information G(1) to G(N) of the N vertices that make up the mesh and the vertex attribute information A(1) to A(N) are shown as vertex information.
  • the vertex information does not have to include attribute information.
  • the mesh data file in Figure 5 shows an example of three-dimensional mesh data having M pieces of attribute information A2.
  • the number of vertices of a face is not limited to three, as long as the number of vertices is an integer equal to or greater than three. For example, if the face is a quadrangle, the number of vertices is four, and if the face is a polygon, the number of vertices is equal to the number of vertices that form the polygon.
  • the attribute information A2 may be indicated in a file separate from the mesh data file, and may include pointer information thereto.
  • the attribute information may be stored in a two-dimensional attribute map file, and the attribute map file name and two-dimensional coordinates in the attribute map may be indicated by the attribute information A2 of the mesh data file.
  • the attribute information A2 may be included in the mesh data file, or may be indicated in a file separate from the mesh data file, and either method can be used to specify attribute information for a three-dimensional point.
  • Figure 6 is a diagram to explain the three-dimensional model.
  • a three-dimensional model is a model created based on two-dimensional or three-dimensional data.
  • the three-dimensional model learning unit 1031 learns, for example, two-dimensional data (two-dimensional images) or three-dimensional data (point clouds or meshes) to generate a three-dimensional model, which is a network model in which three-dimensional shapes and attribute information corresponding to the three-dimensional shapes are learned using a Neural Network or the like.
  • the three-dimensional model learning unit 1031 may generate a three-dimensional model by learning using NeRF (Neural Radiance Fields) based on a two-dimensional image.
  • the three-dimensional model learning unit 1031 may generate a three-dimensional model after converting the two-dimensional image into three-dimensional data by performing photogrammetry using the two-dimensional image.
  • the three-dimensional model may be generated using three-dimensional data acquired by a sensor (distance sensor).
  • the three-dimensional model data is the elements that make up the three-dimensional model, and includes information indicating the structure of the network model, features, etc.
  • the three-dimensional model data includes, for example, information about the components of a neural network.
  • Information about the components includes, for example, multiple layers such as an input layer, intermediate layer, and output layer, nodes in each layer, weighting coefficients for the nodes, transformation functions for the nodes, etc.
  • the three-dimensional model encoding unit 1032 may encode the three-dimensional model data and transmit the encoded three-dimensional model data.
  • the three-dimensional model decoding unit 1033 receives the transmitted encoded three-dimensional model data and decodes the three-dimensional model based on the encoded three-dimensional model data.
  • the rendering reconstruction unit 1034 reconstructs (generates) two-dimensional data (two-dimensional image) or three-dimensional data (point cloud or mesh) based on the decoded three-dimensional model.
  • the rendering reconstruction unit 1034 acquires viewpoint position or line of sight vector information, generates rendered two-dimensional data (two-dimensional image) based on the three-dimensional model and the viewpoint position or line of sight vector, and outputs the two-dimensional data.
  • the generated two-dimensional data indicates a three-dimensional object seen from the viewpoint position, or a two-dimensional image of the three-dimensional object seen from the line of sight indicated by the line of sight vector.
  • the three-dimensional object is the three-dimensional data input to the three-dimensional model learning unit 1031 or the three-dimensional object of the subject that was the source of the three-dimensional data.
  • Figure 7 is a diagram showing the types of three-dimensional data. As shown in Figure 7, three-dimensional data includes static objects and dynamic objects.
  • a static object is three-dimensional data at any time (a certain moment in time).
  • a dynamic object is three-dimensional data that changes over time.
  • point cloud data at a certain moment in time will be referred to as a PCC frame, or frame.
  • mesh data at a certain moment in time will be referred to as a mesh frame, or frame.
  • the object may be three-dimensional data with a certain area restriction, such as ordinary video data, or it may be three-dimensional data with no area restriction, such as map information.
  • sparse point cloud data sparse mesh data
  • dense point cloud data dense point cloud data with various densities of points.
  • Sensor information is acquired in various ways, such as distance sensors such as LIDAR or range finders, stereo cameras, or a combination of multiple monocular cameras.
  • the three-dimensional data generation unit 1018 generates point cloud data based on the sensor information acquired by the sensor information acquisition unit 1017.
  • the three-dimensional data generation unit 1018 generates position information (geometry information) as point cloud data, and adds attribute information for the position information to the position information.
  • the three-dimensional data generating unit 1018 may process the point cloud data when generating position information or adding attribute information. For example, the three-dimensional data generating unit 1018 may reduce the amount of data by deleting point clouds with overlapping positions. The three-dimensional data generating unit 1018 may also convert the position information (such as by shifting the position, rotating, or normalizing), or process the point cloud data to generate mesh data. The three-dimensional data generating unit 1018 may also render the attribute information.
  • the three-dimensional data generation system 1011 is included in the three-dimensional data encoding system 1001, but it may be provided independently outside the three-dimensional data encoding system 1001.
  • the encoding unit 1013 generates encoded data by encoding the three-dimensional data based on a predefined encoding method.
  • the encoding methods include G-PCC (an encoding method using position information), V-PCC (an encoding method using a video codec), Draco (a mesh encoding method), and V-DMC (a mesh encoding method).
  • the encoding method is not limited to these methods, and may be, for example, a method of encoding a dynamic mesh, or another method that combines these methods.
  • the decoding unit 1024 decodes the three-dimensional data by decoding the encoded data based on a predefined encoding method.
  • the multiplexing unit 1014 generates multiplexed data by multiplexing the encoded data using an existing multiplexing method.
  • the generated multiplexed data is transmitted or stored.
  • the multiplexing unit 1014 multiplexes other media such as video, audio, subtitles, applications, files, or reference time information.
  • the multiplexing unit 1014 may further multiplex attribute information related to sensor information or point cloud data.
  • Multiplexing methods or file formats include ISOBMFF, MPEG-DASH, which is an ISOBMFF-based transmission method, MMT, MPEG-2 TS Systems, and RTP.
  • the demultiplexing unit 1023 extracts the encoded data of the three-dimensional data, other media, time information, etc. from the multiplexed data.
  • the input/output unit 1015 transmits the multiplexed data using a method suited to the transmission medium or storage medium, such as broadcasting or communication.
  • the input/output unit 1015 may communicate with other devices via the Internet, or may communicate with a storage unit such as a cloud server.
  • the communication protocol used may be http, ftp, TCP, or UDP.
  • a PULL type communication method or a PUSH type communication method may be used.
  • Either wired transmission or wireless transmission may be used.
  • Ethernet registered trademark
  • USB registered trademark
  • RS-232C HDMI
  • coaxial cable etc.
  • wireless transmission wireless LAN, Wi-Fi (registered trademark), Bluetooth (registered trademark), millimeter waves, etc. are used.
  • Broadcasting methods that are used include, for example, DVB-T2, DVB-S2, DVB-C2, ATSC3.0, and ISDB-S3.
  • FIG. 8 is a diagram for explaining the process of encoding three-dimensional data.
  • FIG. 9 is a diagram for explaining the process of decoding three-dimensional data.
  • the data division unit 1041 divides the three-dimensional data into one or more three-dimensional spaces, and generates one or more divided three-dimensional data (i.e., one or more divided three-dimensional data).
  • the encoding unit 1042 may encode one or more divided three-dimensional data to generate encoded data.
  • the data division unit 1041 and the encoding unit 1042 may be included in a single encoding device as components of the single encoding device, or may be included in separate devices.
  • Each of the one or more three-dimensional spaces may be referred to as a tile or a space.
  • the three-dimensional space is, for example, a bounding box.
  • the three-dimensional data contained in each of the divided three-dimensional spaces may be referred to as a slice.
  • a slice is divided three-dimensional data, and includes any of a point cloud, a mesh, and a three-dimensional model having position information (Geometry) or attribute information (Attribute).
  • Each of the multiple slices is encoded by the encoding unit 1042 for each component, and is output as encoded data.
  • the encoded data includes the encoded multiple slices.
  • the decoding unit 1051 decodes one or more pieces of divided three-dimensional data (one or more slices) based on the encoded data.
  • the data combining unit 1052 combines the one or more pieces of divided three-dimensional data to restore (generate) three-dimensional data.
  • the decoding unit 1051 and the data combining unit 1052 may be included in one decoding device as components of the decoding device, or may be included in separate devices. The one or more pieces of divided three-dimensional data decoded by the decoding unit 1051 do not need to be combined.
  • the decoding unit 1051 may decode a portion of the one or more pieces of divided three-dimensional data based on a portion of the encoded data, and output the decoded portion of the divided three-dimensional data. In this case, the decoding device does not need to have the data combining unit 1052.
  • Figure 10 is a two-dimensional schematic diagram of tiles and slices of three-dimensional data.
  • the encoding device may encode using the dependency relationships between the multiple slices, or may encode without using the dependency relationships.
  • the encoding device can encode each slice independently, and the processing time can be reduced by encoding multiple slices using parallel processing.
  • the decoding device can decode each slice independently, and the processing time can be reduced by decoding multiple slices using parallel processing.
  • the decoding device can reduce the amount of processing by partial decoding, which decodes some of the multiple slices.
  • the encoding device When encoding using a dependency relationship, the encoding device signals an identifier indicating the dependency relationship and encodes the data in order starting with the dependent data. When multiple slices are encoded using a dependency relationship, the decoding device decodes the data in order starting with the dependent data based on the identifier.
  • the three-dimensional data may be divided into any number of divisions and any division method may be used.
  • the shape of an object may be determined and multiple three-dimensional points may be divided for each object.
  • the three-dimensional data may also be divided based on the number of three-dimensional points contained in a slice. In other words, an upper limit on the number of three-dimensional points contained in one slice may be set.
  • the three-dimensional data may also be divided based on whether or not it is contained in a three-dimensional space (tile information) using map information or location information. Multiple tile shapes may overlap.
  • the server accumulates multiple pieces of three-dimensional data for the same space.
  • the server accumulates, for example, point cloud data and mesh data for the same space.
  • the server is an example of an encoding device.
  • the terminal switches the three-dimensional data acquired from the server based on the purpose of the terminal, and presents the switched three-dimensional data.
  • the terminal may be, for example, a terminal that analyzes three-dimensional data. In this case, the terminal may switch the three-dimensional data to be presented based on the purpose, such as analysis or presentation, or user operation.
  • the terminal is an example of a decoding device.
  • the terminal may transmit a user's selection result to a server, receive (download) three-dimensional data based on the selection result from the server, and present the received three-dimensional data.
  • the three-dimensional data may or may not be encoded by the server.
  • the terminal may receive the encoded three-dimensional data from the server, decode the three-dimensional data based on the received encoded three-dimensional data, and present the decoded three-dimensional data.
  • FIG. 11 shows an example of a terminal presentation screen that can be switched in response to a user request.
  • the terminal presentation screen 1061 may be switched in response to a user request.
  • the terminal presentation screen includes a point cloud button 1061a and a mesh button 1061b as a UI for accepting user requests.
  • the point cloud button 1061a is a button for accepting a request to present an encoded point cloud (encoded point cloud data).
  • the mesh button 1061b is a button for accepting a request to present an encoded mesh (encoded mesh data).
  • the terminal accepts the request to present the encoded point cloud and notifies (transmits) the request as a result of the selection of the presented data to the server.
  • the terminal accepts the request to present the encoded mesh and notifies (transmits) the request as a result of the selection of the presented data to the server.
  • presentation may be expressed as display.
  • Meshes are characterized by the small processing load required for presentation, making them suitable for presentation.
  • point clouds are characterized by the high accuracy of the positional information of 3D models represented by 3D point clouds, making them suitable for measurement. For example, a user can select a mesh when wishing to observe a 3D model, or a point cloud when wishing to make measurements. By selecting the type of 3D data appropriate for the required application, the user can reduce presentation processing or use the data for accurate measurements.
  • FIG. 12 shows an example of a terminal presentation screen that is automatically switched in response to a user operation.
  • the terminal performs a process of enlarging the three-dimensional data by accepting a user's operation.
  • the terminal may present mesh data as in terminal presentation screen 1062, and at a magnification equal to or greater than the predetermined magnification, present point cloud data as in terminal presentation screen 1063.
  • the terminal may present mesh data at a magnification smaller than the predetermined magnification, and when the mesh data is enlarged to the predetermined magnification in response to a user's operation and presented, download point cloud data from a server that corresponds to a portion of the three-dimensional data that is focused on (presented by enlarging), and decode and present the downloaded point cloud data.
  • the type of three-dimensional data to be presented is switched in response to an operation to enlarge or reduce the three-dimensional data, but the type of three-dimensional data to be presented may be switched by other operations.
  • the terminal may switch to and present point cloud data corresponding to the part of the mesh data selected by the tap.
  • the terminal may present the point cloud data by superimposing it on the mesh data, or may switch the point cloud data from the mesh data and present it independently (i.e., without presenting the mesh data).
  • the terminal may predict in advance before presentation at a predetermined magnification rate, download point cloud data corresponding to the enlarged part, and decode and present the downloaded point cloud data.
  • the terminal may present the downloaded point cloud data as it is without spatial synchronization.
  • the terminal may present the point cloud data by aligning it with the mesh data (or the coordinate system of the mesh data) based on synchronization information regarding spatial synchronization.
  • the terminal may present the point cloud data without aligning it. Note that, although an example of spatially synchronizing point cloud data with mesh data has been described above, the terminal may also present mesh data in spatial synchronization with the point cloud data.
  • the terminal downloads only the necessary point cloud data, and then decrypts and presents the downloaded point cloud data. This is expected to reduce the communication volume between the server and the terminal, reduce the processing load on the terminal, and reduce the latency of presentation time.
  • mesh data has a small data size
  • point cloud data has a large data size.
  • the terminal can reduce the delay until initial presentation by first downloading the mesh data and presenting it initially.
  • the three-dimensional data to be presented may be switched based on the communication network bandwidth.
  • the terminal may present mesh data when the bandwidth is narrow and the network speed is slower than a predetermined speed, and present point cloud data when the network speed is equal to or faster than the predetermined speed.
  • the three-dimensional data to be presented may also be switched depending on the capabilities of the terminal. For example, the three-dimensional data to be presented may be switched based on the processing performance of the terminal or the usage rate of the terminal's CPU.
  • the terminal may switch from presenting point cloud data to presenting mesh data if the processing performance or CPU resources of the terminal are insufficient to process the point cloud data.
  • presenting mesh data the terminal may switch from presenting mesh data to presenting point cloud data if it is determined that the processing performance or CPU resources of the terminal are sufficient to process the mesh data.
  • the terminal may switch the type of 3D data presented, such as presenting the exterior of a building or map as mesh data, and presenting point cloud data when the data includes areas that require measurement, such as distortion, cracks, and warping of the building.
  • the terminal can also switch the type of 3D data it presents, for example, presenting mesh data when it is desired to present the external appearance of spaces such as stadiums, halls, and factories, including lighting brightness, color, and atmosphere, and presenting point cloud data when it is desired to measure studio shapes, equipment layouts, and passageway clearances, etc.
  • three-dimensional data with different resolutions may be displayed in a switched manner.
  • the terminal may switch between presenting multiple point cloud data with different resolutions, multiple mesh data with different resolutions, and the three-dimensional model. For example, the terminal may present low-resolution mesh data when presenting three-dimensional data that is far from the viewpoint, and switch to high-resolution mesh data when the data is closer. This can improve the accuracy of the three-dimensional data display.
  • the terminal may present mesh data until a specific movement or location is identified, and then switch to presenting point cloud data of the corresponding body part after the specific movement or location is identified, and use the point cloud data to measure the three-dimensional shape.
  • the terminal may switch between three-dimensional models with different resolutions in video games, etc.
  • the terminal may, for example, use high-resolution three-dimensional data to present three-dimensional data of important parts, and low-resolution three-dimensional data to present three-dimensional data of unimportant parts. This can improve overall processing performance.
  • whether each three-dimensional model is important or not is determined, for example, by whether it is related to the action of the video game (in a shooting game, the player, target, gun, etc. are important), or whether it is related to the player's choices (in a purchasing scene, product information is important, etc.). Note that whether each three-dimensional model is important or not may be set in advance for each video game.
  • the terminal may switch between terrain data with different resolutions. This allows more detailed terrain information to be displayed as needed.
  • the terminal when displaying thumbnails on the web, the terminal may present low-resolution three-dimensional data, and when measuring or presenting in an application using the three-dimensional data selected on the thumbnail, high-resolution three-dimensional data may be used for measurement or presentation.
  • the three-dimensional data when displaying on a two-dimensional display terminal, the three-dimensional data is presented as two-dimensional data when the three-dimensional object (subject) is viewed from a specific viewpoint in a specific direction.
  • the three-dimensional data may be divided into camera information indicating a specific viewpoint and a specific direction, and two-dimensional data when the three-dimensional object is viewed from the specific viewpoint in the specific direction.
  • the device When display is a priority, the device presents mesh data, which requires light processing, and when making measurements, replaces it with point cloud data suitable for the measurement, making it possible to realize applications that require light processing.
  • Figure 13 is a block diagram showing an example of the functional configuration of the server and the terminal.
  • the server 1070 includes a data generation unit 1071, a synchronization unit 1075, a point cloud coding unit 1076, a mesh coding unit 1077, a model coding unit 1078, a multiplexing unit 1079, and a data extraction unit 1080.
  • the data generation unit 1071 generates three-dimensional data based on at least one of two-dimensional data and three-dimensional data.
  • the generated three-dimensional data includes at least two of point cloud data, mesh data, and three-dimensional model data.
  • the data generation unit 1071 has a point cloud generation unit 1072, a mesh generation unit 1073, and a model generation unit 1074.
  • the data generation unit 1071 only needs to have at least two of the point cloud generation unit 1072, the mesh generation unit 1073, and the model generation unit 1074.
  • the point cloud generation unit 1072 generates point cloud data based on at least one of two-dimensional data and three-dimensional data.
  • the mesh generation unit 1073 generates mesh data based on at least one of two-dimensional data and three-dimensional data.
  • the model generation unit 1074 generates three-dimensional model data by machine learning based on at least one of the two-dimensional data and three-dimensional data.
  • the two-dimensional data input to the data generation unit 1071 may be a two-dimensional image acquired by a camera.
  • the three-dimensional data input to the data generation unit 1071 may be point cloud data acquired by a sensor such as LiDAR of a space such as a construction site, a factory, or an office.
  • the data generation unit 1071 may generate color information corresponding to each point included in the point cloud data of the three-dimensional data as attribute information using a two-dimensional image of the two-dimensional data.
  • the three-dimensional data generated by the data generation unit 1071 may be divided into any space.
  • the point cloud data, mesh data, and three-dimensional model data may each be divided into any space.
  • the synchronization unit 1075 synchronizes the spatial positions of the point cloud data, mesh data, and three-dimensional model data generated by the data generation unit 1071 or the time of each data (playback time, decode time, acquisition time, etc.).
  • the time of each data is the playback time, decode time, acquisition time, etc.
  • the synchronization unit 1075 may generate synchronization information for synchronization without synchronizing the point cloud data, mesh data, and three-dimensional model data.
  • the synchronization unit 1075 may perform a process of synchronizing at least two types of three-dimensional data out of the point cloud data, mesh data, and three-dimensional model data generated by the data generation unit 1071, or generate synchronization information (synchronization signal) for synchronization, and may not perform a process (synchronization process) for synchronizing three types of three-dimensional data.
  • the point cloud encoding unit 1076 encodes the point cloud data after the synchronization process is performed by the synchronization unit 1075. Note that the point cloud encoding unit 1076 does not have to encode the point cloud data.
  • the point cloud data may be encoded in advance, or may be encoded in response to a request from the terminal 1090.
  • the mesh encoding unit 1077 encodes the mesh data after the synchronization process is performed by the synchronization unit 1075.
  • the model encoding unit 1078 encodes the three-dimensional model data after the synchronization process is performed by the synchronization unit 1075.
  • the multiplexing unit 1079 multiplexes the encoded point cloud data (encoded point cloud), the encoded mesh data (encoded mesh data), the encoded three-dimensional model data, and the synchronization information using a predetermined format or a predetermined multiplexing method. Note that multiplexing by the multiplexing unit 1079 does not have to be performed. In this case, the server 1070 does not have to be equipped with the multiplexing unit 1079.
  • the data extraction unit 1080 extracts a portion of the multiplexed three-dimensional data in response to a request from the terminal 1090, and transmits the extracted portion of the three-dimensional data to the terminal 1090.
  • data extraction by the data extraction unit 1080 may not be performed.
  • the server 1070 may not include the data extraction unit 1080.
  • the server 1070 may transmit to the terminal 1090 the three-dimensional data multiplexed by the multiplexing unit 1079.
  • the server 1070 may transmit to the terminal 1090 the coded point cloud data (coded point cloud), the coded mesh data (coded mesh), the coded three-dimensional model data (coded three-dimensional model), and the synchronization information, or may transmit to the terminal 1090 a bit stream including the coded point cloud data (coded point cloud), the coded mesh data (coded mesh), the coded three-dimensional model data (coded three-dimensional model), and the synchronization information.
  • the terminal 1090 includes a control unit 1091, a decoding unit 1092, and a presentation unit 1093.
  • the control unit 1091 transmits a request for a portion of the three-dimensional data to be presented to the server 1070.
  • the control unit 1091 may also accept an operation by the user to identify the portion of the three-dimensional data.
  • the decoding unit 1092 decodes a portion of the three-dimensional data based on the bit stream (encoded data) obtained from the server 1070.
  • the presentation unit 1093 renders and presents a portion of the decoded three-dimensional data.
  • the data generation unit 1071 in FIG. 13 may be realized by the data generation unit 1110 shown in FIG. 14.
  • FIG. 14 is a block diagram showing another example of the data generation unit of the server.
  • the data generation unit 1110 includes a point cloud generation unit 1111, a mesh generation unit 1112, and a model generation unit 1113.
  • the point cloud generation unit 1111 has the same functions as the point cloud generation unit 1072.
  • the point cloud generation unit 1111 acquires point cloud data obtained from the point cloud sensor 1101 and a two-dimensional image obtained from the camera 1102, and generates point cloud data based on the point cloud data and the two-dimensional image.
  • the point cloud data generated by the point cloud generation unit 1111 includes position information of each point and attribute information corresponding to each point indicated by the position information, and includes attribute information (such as color information) extracted from the two-dimensional image.
  • the mesh generation unit 1112 generates mesh data based on the point cloud data generated by the point cloud generation unit 1111.
  • the model generation unit 1113 has the same functions as the model generation unit 1074.
  • the model generation unit 1113 acquires point cloud data obtained from the point cloud sensor 1101 and two-dimensional images obtained from the camera 1102, and generates three-dimensional model data by performing machine learning based on the point cloud data and the two-dimensional images.
  • the point cloud data, mesh data, and three-dimensional model data may be data generated independently of each other, as described in FIG. 13.
  • the mesh data may be generated from the point cloud data, as described in FIG. 14. Note that the point cloud data may be generated from the mesh data.
  • Meshes may be generated from point clouds and vice versa.
  • the point cloud data, mesh data, and three-dimensional model data may be generated by the server 1070, or may be generated by a sensor or a terminal 1090 equipped with a sensor.
  • the sensor is, for example, a point cloud sensor 1101 and a camera 1102.
  • Figures 15 and 16 are diagrams for explaining the process of synchronizing the coordinate systems.
  • the origin position (origin coordinates) of the local coordinate system handled by the system may differ from the actual coordinates due to differences in the system or coordinate system used.
  • the origin position is the same for the mesh data and the point cloud data, but if the mesh data and the point cloud data are generated in different systems, the origin positions may be different for the mesh data and the point cloud data.
  • the origin coordinates of the mesh data coordinate system and the origin coordinates of the point cloud data coordinate system are both, for example, (x1, y1, z1) in world coordinates, and the mesh data coordinate system and the point cloud data coordinate system are the same. Note that if these origin coordinates are not the same, they may be corrected to be the same.
  • FIG. 15 shows a case where the three-dimensional spatial region for dividing the mesh data and the three-dimensional spatial region for dividing the point cloud data are the same. Specifically, the number of three-dimensional spatial regions, the size of the three-dimensional spatial regions, and the positions of the three-dimensional spatial regions are the same between the multiple three-dimensional spatial regions in the mesh data coordinate system and the multiple three-dimensional spatial regions in the point cloud coordinate system.
  • the positions of the origin of the bounding box that represents the three-dimensional space (black triangle mark) and the maximum value point of the bounding box (black square mark) are the same in the coordinate system of the mesh data and the coordinate system of the point cloud data.
  • this bounding box is the same in the coordinate system of the mesh data and the coordinate system of the point cloud data.
  • the number of three-dimensional spatial regions, the size of the three-dimensional spatial regions, and the positions of the three-dimensional spatial regions do not have to be completely identical between the multiple three-dimensional spatial regions in the mesh data coordinate system and the multiple three-dimensional spatial regions in the point cloud coordinate system.
  • the three-dimensional spatial regions in the mesh data coordinate system may be divided into larger regions, and the three-dimensional spatial regions in the point cloud data coordinate system may be regions into which the three-dimensional spatial regions in the mesh data coordinate system are further divided.
  • the unit formed by combining multiple three-dimensional spatial regions in the point cloud data coordinate system is identical to the three-dimensional spatial region in the mesh data coordinate system.
  • Figure 17 is a diagram for explaining the relationship between three-dimensional space and encoded data.
  • the three-dimensional data includes, for example, point cloud data, mesh data, and three-dimensional models.
  • the encoding device encodes each of the three divided three-dimensional data, attaches a header, and creates a data unit.
  • the header signals (assigns) the identifier of the space to which the encoded data of the data unit belongs (Space_ID), and the identifier of the data unit (DataUnit_ID).
  • the data unit is further given a header that includes the data unit's identifier or length information of the data unit, and is then unitized to generate an encoding method unit.
  • Fig. 18 is a diagram showing an example of the syntax of the coding method unit.
  • Fig. 19 is a diagram showing an example of the syntax of the coding point group.
  • Fig. 20 is a diagram showing an example of the syntax of the coding mesh.
  • Fig. 21 is a diagram showing an example of the syntax of the coding 3D model.
  • unit_type indicates the type of data unit stored in the encoding method unit. This specifies the type of data unit stored in the encoding method unit.
  • Length indicates the length of the data unit.
  • data() indicates the body of the data unit.
  • unit_type when unit_type indicates 0, it indicates that the data unit is position information (geometry) of the encoded point group. When unit_type indicates 1, it indicates that the data unit is attribute information of the encoded point group. When unit_type indicates 2, it indicates that the data unit is metadata of the encoded point group.
  • unit_type when unit_type indicates 0, it indicates that the data unit is position information (geometry) of the encoded mesh. When unit_type indicates 1, it indicates that the data unit is attribute information of the encoded mesh. When unit_type indicates 2, it indicates that the data unit is metadata of the encoded mesh.
  • unit_type when unit_type indicates 0, it indicates that the data unit is element 1 of the encoded 3D model. When unit_type indicates 1, it indicates that the data unit is element 2 of the encoded 3D model. When unit_type indicates 2, it indicates that the data unit is metadata of the encoded 3D model.
  • syntax shown in Figures 19 to 21 is an example and is not limited to the above configuration. These syntaxes may use a partial configuration of the syntax, or a type (category) not described above may be used, or the order of the syntax components may be changed.
  • the syntax of the encoding method unit may have an encoding method unit configuration common to multiple encoding methods as shown in Figure 18, and may indicate the unit_type, length, and data() shown in Figures 19 to 21.
  • a header may be added to the encoding method unit to indicate the type of the encoding method unit.
  • the encoding unit types include, for example, point_cloud_codec_unit, which indicates point cloud data, mesh_codec_unit, which indicates mesh data, and model_codec_unit, which indicates three-dimensional model data. This makes it possible to handle multiple encoding methods in an integrated manner.
  • FIG. 22 shows an example of the syntax of three-dimensional data information.
  • the syntax when multiple encoding methods are stored in one format, the number of three-dimensional data included in the format (number_of_3Dformat) and the type of three-dimensional data (format_type) are indicated, and data of each format may be stored. This makes it possible to handle multiple encoding methods or three-dimensional data in an integrated manner, and also makes it possible to identify multiple encoding methods or three-dimensional data.
  • 3Ddata_info indicates the format structure information for storing multiple three-dimensional data.
  • number_of_3Dformat indicates the number of 3D formats used.
  • format_type indicates the type of format of the three-dimensional data to be stored. For example, the number of format_type and the format corresponding to that number may be defined as follows: When format_type indicates 0, it indicates that the format of the three-dimensional data to be stored is point cloud data (point cloud). When format_type indicates 1, it indicates that the format of the three-dimensional data to be stored is mesh data (mesh). When format_type indicates 2, it indicates that the format of the three-dimensional data to be stored is G-PCC data (g-pcc). When format_type indicates 3, it indicates that the format of the three-dimensional data to be stored is V-DMC data (v-dmc). When format_type indicates 4, it indicates that the format of the three-dimensional data to be stored is three-dimensional model data (3Dmodel).
  • FIG. 23 is a diagram for explaining the data structure of an encoded point group.
  • FIG. 24 is a diagram for explaining the data structure of an encoded mesh.
  • FIG. 25 is a diagram for explaining the data structure of an encoded three-dimensional model.
  • the encoding device divides each of the multiple types of three-dimensional data into multiple pieces of three-dimensional data for each of the multiple spatial regions, encodes each of the multiple pieces of divided three-dimensional data (i.e., the multiple divided three-dimensional data), and generates encoded data.
  • Each encoded data is given a header and contains at least one of the data_unit_id and space_id.
  • data_unit_id is an identifier that identifies a data unit within the encoded data, and is unique within the encoded data. Furthermore, space_id indicates identification information for a spatial region. If data_unit_id or space_id is common to multiple pieces of three-dimensional data, the same value is indicated in the multiple pieces of three-dimensional data.
  • the data, headers, and other data may be included in a bitstream structure such as a data unit or encoding method, or may be stored in a specified file format such as each ISOBMFF box.
  • Fig. 26 is a diagram showing an example of multiple three-dimensional spaces in two dimensions.
  • Fig. 27 is a diagram showing an example of a bounding box.
  • Fig. 28 is a diagram showing an example of the syntax of three-dimensional space information.
  • 3Dspace_info is information that indicates the divided three-dimensional space. 3Dspace_info can be used for partial decoding.
  • number_of_space indicates the number of divided three-dimensional spaces.
  • space_id indicates the identifier of the divided three-dimensional space.
  • the three-dimensional spatial information includes bounding box information for defining the bounding box shown in FIG. 27.
  • Bounding box information includes bounding_box_xyz and bounding_box_whd.
  • bounding_box_xyz indicates the coordinates of the reference point of the bounding box. In the example of Figure 27, it is expressed as x, y, and z coordinate values (x0, y0, z0).
  • bounding_box_whd indicates the size of the bounding box. In the example of Figure 27, it is expressed as width w, height h, and depth d (w0, h0, d0).
  • the three-dimensional spatial information may also include an identifier of a data unit for each piece of encoded data. However, the three-dimensional spatial information does not have to include the identifier. In other words, the identifier does not have to be signaled.
  • pointcloud_id indicates the identifier of the data unit of the encoded point cloud for the space corresponding to space_id.
  • mesh_id indicates the identifier of the data unit of the spatial coding mesh corresponding to space_id.
  • model_id indicates the identifier of a data unit of the encoded 3D model of the space corresponding to space_id.
  • the identifier of the data unit for each piece of encoded data may be stored in the information indicating each space of the three-dimensional spatial information. This allows the three-dimensional spatial information to be associated with the divided three-dimensional encoded data.
  • the three-dimensional spatial information may be associated with an identifier for the data unit for each encoded data by the space_id. In this case, the identifier for the data unit for each encoded data does not need to be stored.
  • the division method, the origin of each divided space, and the bounding box size may be the same for the mesh data and the point cloud data, so that the three-dimensional spatial information of the point cloud data and the three-dimensional spatial information of the mesh data can be made common. Also, the same three-dimensional spatial information may be used for the point cloud data and the mesh data. In this way, the three-dimensional spatial information may be common or the same three-dimensional spatial information may be used between multiple different types of three-dimensional data. By commonizing the three-dimensional spatial information, it becomes easy to switch between different types of three-dimensional data (for example, switching the presentation or switching the transmission).
  • three-dimensional spatial information does not need to be provided for each piece of three-dimensional data, and one piece of three-dimensional spatial information can be used for each piece of three-dimensional data, so that the amount of data of the three-dimensional spatial information can be reduced.
  • the three-dimensional spatial information of the three-dimensional model may be synchronized with other types of three-dimensional data, or may be shared with the three-dimensional spatial information of other types of three-dimensional data.
  • Fig. 29 is a flowchart showing an example of partial decoding.
  • Fig. 30 is a diagram showing an example of a three-dimensional spatial region that is the subject of partial decoding.
  • Fig. 31 is a diagram showing an example of the data structure of a group of encoded points to be partially decoded.
  • Fig. 32 is a diagram showing an example of the data structure of an encoded mesh to be partially decoded.
  • Fig. 33 is a diagram showing an example of the data structure of an encoded three-dimensional model to be partially decoded.
  • the decoding device first determines the three-dimensional spatial region to be subjected to partial decoding (S1001).
  • the decoding device uses the three-dimensional space information (3Dspace_info) to identify an area that overlaps with the target three-dimensional space area from the bounding box information of multiple three-dimensional space areas, and obtains the space_id corresponding to the identified area (S1002).
  • 3Dspace_info three-dimensional space information
  • the decoding device obtains and decodes the data unit having the obtained space_id from the encoded data (S1003). As a result, the decoding device performs partial decoding, which decodes a portion of the three-dimensional data. In partial decoding, the decoding device decodes only a portion of the three-dimensional data, without decoding all of the three-dimensional data.
  • the space_id of the three-dimensional space to be obtained is determined to be #2 from the three-dimensional space information.
  • the decoding device may also obtain a data unit ID instead of a space_id from the three-dimensional spatial information, and obtain and partially decode a data unit having the obtained data unit ID.
  • Figure 34 is a diagram showing an example of a coordinate system of different types of three-dimensional data where spatial synchronization is not achieved.
  • Figure 35 is a diagram showing an example of the syntax of three-dimensional data information.
  • Figure 36 is a diagram showing an example of the syntax of three-dimensional space information.
  • the encoding device may align these origin coordinates by calculating and correcting the relative coordinate values (x1-x2, y1-y2, z1-z2).
  • the encoding device may notify (transmit) the calculated relative coordinate values to the decoding device (terminal) as synchronization information.
  • the synchronization information may be indicated by the relative position of the point cloud data position (origin) relative to the mesh data position (origin), or may be indicated by the relative position of the mesh data position relative to the point cloud data position.
  • the synchronization information may be indicated by the relative position of the positions (origins) of different types of three-dimensional data. Note that when there are three or more types of three-dimensional data, the relative position is calculated based on any one type of three-dimensional data.
  • the three-dimensional data information may include space_sync_information, which indicates synchronization information, as shown in FIG. 35.
  • the space_sync_information indicates synchronization information for three-dimensional space, and indicates, for example, the amount of deviation in three-dimensional space (the difference between the reference coordinates and the current coordinates, i.e., a relative value).
  • synchronization information (space_sync_information) may be stored for each of the multiple format information.
  • the data format that is the basis for synchronization may be placed at the beginning of the loop, and synchronization information (relative position information) from the beginning format may be stored from the second loop onwards.
  • the three-dimensional space information may also include space_sync_information, which indicates synchronization information, as shown in FIG. 36. If the spatial position is shifted for each three-dimensional space, the synchronization information may be stored in a loop for each three-dimensional space.
  • Figure 37 shows an example of the functional configuration of a terminal.
  • the terminal 1120 includes a decoding unit 1121 and a synchronous presentation unit 1122.
  • the decoding unit 1121 decodes the synchronization information based on the three-dimensional data information or the three-dimensional space information.
  • the synchronization presentation unit 1122 aligns and presents the three-dimensional data based on the synchronization information.
  • Figure 38 is a flowchart showing an example of spatial synchronization processing.
  • the system including the encoding device (server) and the decoding device (terminal) determines whether spatial synchronization is required between the point cloud data and the mesh data (S1011).
  • step S1012 If the system determines that spatial synchronization is necessary (Yes in S1011), it executes step S1012; if the system determines that spatial synchronization is not necessary (No in S1011), it executes step S1013.
  • step S1012 the system determines whether spatial synchronization has been achieved between the point cloud data and the mesh data (S1012).
  • step S1014 If the system determines that spatial synchronization has been achieved (Yes in S1012), it executes step S1014, and if it determines that spatial synchronization has not been achieved (No in S1012), it executes step S1015.
  • step S1013 the system presents the point cloud data and mesh data without spatial synchronization (S1013).
  • step S1014 the system presents the point cloud data and mesh data in spatial synchronization based on the synchronization information (S1014).
  • step S1015 the system presents the point cloud data and mesh data as is (S1015).
  • steps S1011 to S1012 may be performed by an encoding device or a decoding device.
  • the steps S1013 to S1015 may be performed by a decoding device.
  • Whether or not spatial synchronization is required may be switched depending on the application or use. For example, when using three-dimensional data for measurement purposes, accurate positioning is required, so it may be determined that spatial synchronization is required.
  • a level of alignment may be specified, in which case the system (encoding device or decoding device) may change the accuracy of synchronization based on the level of alignment.
  • time synchronization may be performed to synchronize the presentation time, the decoding time, or the acquisition time. At least one of spatial synchronization and time synchronization may be performed.
  • parameters such as the color matrix, color bit rate, and HDR may be set to the same.
  • attribute information may be synchronized between multiple 3D data.
  • switching of three-dimensional data has been described using different types of three-dimensional data such as point cloud data and mesh data as an example, but the multiple three-dimensional data to be switched is not limited to different types of three-dimensional data.
  • the multiple three-dimensional data may be, for example, three-dimensional data with different resolutions, multiple point cloud data with different numbers of points, or multiple mesh data with different numbers of points or faces.
  • the multiple three-dimensional data to be switched may be three or more pieces of three-dimensional data.
  • the multiple pieces of three-dimensional data to be switched may be multiple pieces of point cloud data acquired at different times.
  • the multiple pieces of three-dimensional data to be switched may include point cloud data before construction, point cloud data after construction, point cloud data 10 years later, modeled mesh data, etc., at a construction site.
  • three-dimensional model data such as NeRF may be used.
  • Three-dimensional model data is a model for presenting three-dimensional data, and may or may not be encoded. Multiple three-dimensional model data for the same space may be switched, or multiple three-dimensional model data may be switched.
  • the spatial synchronization method described above can be used.
  • by adding an identifier for three-dimensional model data to a data format that handles point cloud data and mesh data in an integrated manner it becomes possible to handle three-dimensional data and three-dimensional model data in an integrated manner.
  • the spatial information oil, bounding box, division method, etc.
  • the three-dimensional data to be processed may be switched in the following order: mesh data lower than the first resolution, mesh data higher than the first resolution, point cloud data lower than the second resolution, and point cloud data higher than the second resolution.
  • the server may store data in a state in which multiple three-dimensional models have been encoded in advance, and extract the three-dimensional data corresponding to the request based on a request from the terminal.
  • the server may encode the three-dimensional data corresponding to the request at the timing when the request is made from the terminal.
  • the terminal may request the three-dimensional data to be processed in advance, and download the requested three-dimensional data from the server. This can reduce the time it takes for the terminal to present the data.
  • the terminal can present divided data corresponding to the avatar's torso as a mesh and divided data corresponding to the face as a point cloud, enabling a more accurate presentation.
  • point cloud data, mesh data, and three-dimensional model data have been given as examples of three-dimensional data representing a three-dimensional object, but this is not limiting.
  • a three-dimensional object may be represented by multiple sets, each of which includes line-of-sight information indicating a line of sight and a two-dimensional image of the three-dimensional object as viewed from that line of sight.
  • data including the multiple sets may be treated as a type of three-dimensional data.
  • the three-dimensional data may be data in another format, such as Gaussian splatting data.
  • FIG. 39 is a diagram showing an example of the configuration of a decoding device.
  • FIG. 40 is a flowchart showing an example of a decoding method using the decoding device.
  • the decoding device 1130 includes a circuit 1131 and a memory 1132 connected to the circuit 1131.
  • Circuit 1131 performs the following operations:
  • the circuit 1131 acquires encoded data including first data representing a three-dimensional object, encoding method information (format) indicating one of the encoding methods including the second data representing the three-dimensional object, and identification information indicating the three-dimensional space including the three-dimensional object (S1021).
  • the circuit 1131 decodes the first data and the second data corresponding to the three-dimensional space based on the encoded data (S1022).
  • the circuit 1131 renders the first data to generate first presentation data for presentation (S1023).
  • the circuit 1131 renders the second data to generate second presentation data for presentation (S1024).
  • the circuit 1131 switches from the generated second presentation data to the first presentation data and presents it (S1025).
  • the first presentation data and the second presentation data are, for example, two-dimensional data or three-dimensional data generated by the rendering reconstruction unit 1034.
  • the first presentation data and the second presentation data are generated based on the first data and the second data corresponding to the three-dimensional space, and the second presentation data is switched to the first presentation data for presentation, so that the presentation can be performed without causing any spatial misalignment when switching between the two data representing the three-dimensional object. Therefore, the first presentation data and the second presentation data can be presented appropriately.
  • the first data is point cloud data representing the three-dimensional object.
  • the second presentation data is switched to the first presentation data based on the point cloud data, so that the two pieces of data representing the three-dimensional object can be switched and presented without causing any spatial misalignment.
  • the second data is mesh data representing the three-dimensional object.
  • the second presentation data based on mesh data is switched to the first presentation data, so that the two pieces of data representing the three-dimensional object can be switched and presented without causing any spatial misalignment.
  • the second data is three-dimensional model data representing the three-dimensional object.
  • the three-dimensional model data represents a machine learning model obtained by machine learning a gaze and a plurality of sets of two-dimensional images.
  • the second presentation data based on the three-dimensional model data is switched to the first presentation data, so that the two pieces of data representing the three-dimensional object can be switched and presented without causing any spatial misalignment.
  • the second data is a two-dimensional image of the three-dimensional object when viewed from a specific viewing direction.
  • the second presentation data based on a two-dimensional image is switched to the first presentation data, so that the two pieces of data representing a three-dimensional object can be switched and presented without causing any spatial misalignment.
  • the circuit further receives a presentation data switching request from the user.
  • the circuit switches from the second presentation data to the first presentation data in response to the switching request.
  • the circuit further receives an operation from a user to change the mode of presentation.
  • the circuit changes the mode of presentation in response to the operation, and switches from the second presentation data to the first presentation data in response to the change.
  • the circuit acquires the encoded data from an encoding device via a communication network.
  • the circuit switches from the second presentation data to the first presentation data in accordance with the bandwidth of the communication network.
  • switching can be performed according to the bandwidth of the communication network; for example, when the bandwidth of the communication network changes from less than a specified bandwidth to equal to or greater than the specified bandwidth, the second presentation data can be switched to the first presentation data for presentation.
  • the circuit switches from the second presentation data to the first presentation data in the presentation depending on the available capabilities of the circuit.
  • switching can be performed according to the capacity of the available circuit. For example, when the capacity of the available circuit changes from less than a specified capacity to equal to or greater than the specified capacity, the second presentation data can be switched to the first presentation data for presentation.
  • the encoded data includes synchronization information for synchronizing a coordinate system of the first data and a coordinate system of the second data.
  • the circuit presents the first presentation data and the second presentation data based on the synchronization information.
  • the first presentation data and the second presentation data can be switched to the first presentation data after the coordinate systems of the data are aligned. This makes it possible to switch and present two pieces of data representing a three-dimensional object in a way that minimizes spatial misalignment.
  • the circuit further determines whether or not to synchronize the coordinate system of the first data with the coordinate system of the second data. If the circuit determines that the coordinate system of the first data is to be synchronized with the coordinate system of the second data, the circuit presents the first presentation data and the second presentation data based on the synchronization information during the presentation.
  • synchronization processing can be performed when necessary, and can be skipped when it is not necessary. This has the potential to reduce the processing load.
  • the first data and the second data each have a common configuration.
  • the amount of encoded data can be reduced, and communication capacity can be reduced.
  • the encoded data includes spatial information for identifying the three-dimensional space in which the three-dimensional object is included.
  • the circuit further obtains a target area indicating a partial area of the three-dimensional space.
  • the circuit identifies first duplicate data that is a part of the first data and that overlaps with the target area based on the spatial information. In the decoding, the circuit decodes the identified first duplicate data.
  • the amount of data to be acquired can be reduced by acquiring only the first duplicate data. This makes it possible to reduce communication capacity. Also, for example, it is possible to decrypt only the first duplicate data. This makes it possible to reduce processing load.
  • the circuit 1131 may also operate according to the decoding method shown in the flowchart of FIG. 41.
  • FIG. 41 is a flowchart showing another example of a decoding method performed by a decoding device.
  • the circuit 1131 decodes encoding method information that represents the three-dimensional object and indicates a second encoding method that is different from the first encoding method of the first data (S1031).
  • the circuit 1131 decodes second data in the second encoding method indicated by the encoding method information (S1032).
  • the second data is used to generate second presentation data for presentation.
  • the second data of the second encoding method indicated by the encoding method information obtained by decoding is decoded, so that the second data can be obtained for generating second presentation data for appropriate presentation.
  • FIG. 42 is a diagram showing an example of the configuration of an encoding device.
  • FIG. 43 is a flowchart showing an example of an encoding method performed by the encoding device.
  • the encoding device 1140 includes a circuit 1141 and a memory 1142 connected to the circuit 1141.
  • Circuit 1141 performs the following operations:
  • the circuit 1141 generates encoding method information that represents the three-dimensional object and indicates a second encoding method different from the first encoding method of the first data (S1041).
  • the circuit 1141 generates second data in the second encoding method indicated by the encoding method information (S1042).
  • the circuit 1141 generates a bitstream that includes the encoding method information and the second data (S1043).
  • the second data is used to generate second presentation data for presentation.
  • bitstream including the encoding method information and the second data is generated, and a decoding device that acquires the bitstream can obtain the second data for generating second presentation data for appropriate presentation.
  • each processing unit included in the encoding device, decoding device, server, terminal, etc. is typically realized as an LSI, which is an integrated circuit. These may be individually implemented as single chips, or may be integrated into a single chip that includes some or all of them.
  • the integrated circuit is not limited to LSI, but may be realized by a dedicated circuit or a general-purpose processor. It is also possible to use an FPGA (Field Programmable Gate Array) that can be programmed after the LSI is manufactured, or a reconfigurable processor that can reconfigure the connections and settings of the circuit cells inside the LSI.
  • FPGA Field Programmable Gate Array
  • each component may be configured with dedicated hardware, or may be realized by executing a software program suitable for each component.
  • Each component may be realized by a program execution unit such as a CPU or processor reading and executing a software program recorded on a recording medium such as a hard disk or semiconductor memory.
  • the present disclosure may also be realized as a decoding method executed by a decoding device, etc.
  • the division of functional blocks in the block diagram is one example, and multiple functional blocks may be realized as one functional block, one functional block may be divided into multiple blocks, or some functions may be transferred to other functional blocks. Furthermore, the functions of multiple functional blocks having similar functions may be processed in parallel or in a time-shared manner by a single piece of hardware or software.
  • This disclosure can be applied to a decoding device and a decoding method.
  • Three-dimensional data encoding system 1002 Three-dimensional data decoding system 1003 Sensor terminal 1004 External connection unit 1011 Three-dimensional data generation system 1012 Presentation unit 1013 Encoding unit 1014 Multiplexing unit 1015 Input/output unit 1016 Control unit 1017 Sensor information acquisition unit 1018 Three-dimensional data generation unit 1021 Sensor information acquisition unit 1022 Input/output unit 1023 Demultiplexing unit 1024 Decoding unit 1025 Presentation unit 1026 User interface 1027 Control unit 1031 Three-dimensional model learning unit 1032 Three-dimensional model encoding unit 1033 Three-dimensional model decoding unit 1034 Rendering reconstruction unit 1041 Data division unit 1042 Encoding unit 1051 Decoding unit 1052 Data combination unit 1061 Terminal presentation screen 1061a Point cloud button 1061b Mesh button 1062 Terminal presentation screen 1063 Terminal presentation screen 1070 Server 1071 Data generation unit 1072 Point cloud generation unit 1073 Mesh generation unit 1074 Model generation unit 1075 Synchronization unit 1076 Point cloud encoding unit 1077 Mesh encoding unit 1078 Model encoding unit 1079 Multiplex

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

復号装置(1130)は、回路(1131)と、回路(1131)に接続されるメモリ(1132)とを備え、回路(1131)は、動作において、三次元オブジェクトを表す第1データ、及び、三次元オブジェクトを表す第2データを含む符号化方式の1つを示す符号化方式情報と、三次元オブジェクトが含まれる三次元空間を示す識別情報とを含む符号化データを取得し、符号化データに基づいて、第1データ及び第2データを復号し、第1データをレンダリングして提示用の第1提示データを生成し、第2データをレンダリングして提示用の第2提示データを生成し、生成した第2提示データから第1提示データに切り替えて提示する。

Description

復号装置、復号方法、及び、符号化装置
 本開示は、復号装置、復号方法、及び、符号化装置に関する。
 自動車或いはロボットが自律的に動作するためのコンピュータビジョン、マップ情報、監視、インフラ点検、又は、映像配信など、幅広い分野において、今後、三次元データを活用した装置又はサービスの普及が見込まれる。三次元データは、レンジファインダなどの距離センサ、ステレオカメラ、又は複数の単眼カメラの組み合わせなど様々な方法で取得される。
 三次元データの表現方法の1つとして、三次元空間内の点群によって三次元構造の形状を表すポイントクラウドと呼ばれる表現方法がある。ポイントクラウドでは、点群の位置と色とが格納される。ポイントクラウドは三次元データの表現方法として主流になると予想されるが、点群はデータ量が非常に大きい。よって、三次元データの蓄積又は伝送においては二次元の動画像(一例として、MPEGで規格化されたMPEG-4 AVC又はHEVCなどがある)と同様に、符号化によるデータ量の圧縮が必須となる。
 また、ポイントクラウドの圧縮については、ポイントクラウド関連の処理を行う公開のライブラリ(Point Cloud Library)などによって一部サポートされている。
 また、三次元の地図データを用いて、車両周辺に位置する施設を検索し、表示する技術が知られている(例えば、特許文献1参照)。
国際公開第2014/020663号
 本開示は、第1データ及び第2データに基づく第1提示データ及び第2提示データを適切に提示することができる復号装置などを提供することを目的とする。
 本開示の一態様に係る復号装置は、回路と、前記回路に接続されるメモリとを備え、前記回路は、動作において、三次元オブジェクトを表す第1データ、及び、前記三次元オブジェクトを表す第2データを含む符号化方式の1つを示す符号化方式情報と、前記三次元オブジェクトが含まれる三次元空間を示す識別情報とを含む符号化データを取得し、前記符号化データに基づいて、前記三次元空間に対応する、前記第1データ及び前記第2データを復号し、前記第1データをレンダリングして提示用の第1提示データを生成し、前記第2データをレンダリングして提示用の第2提示データを生成し、生成した前記第2提示データから前記第1提示データに切り替えて提示する。
 本開示の一態様に係る復号装置は、三次元オブジェクトを表す第1データを復号する復号装置において、回路と、前記回路に接続されるメモリとを備え、前記回路は、動作において、前記三次元オブジェクトを表し、且つ、前記第1データの第1符号化方式と異なる第2符号化方式を示す符号化方式情報を復号し、前記符号化方式情報が示す第2符号化方式の第2データを復号し、前記第2データは、提示用の第2提示データを生成するために用いられる。
 本開示の第16態様に係る符号化装置は、三次元オブジェクトを表す第1データを符号化する符号化装置において、回路と、前記回路に接続されるメモリとを備え、前記回路は、動作において、前記三次元オブジェクトを表し、且つ、前期第1データの第1符号化方式と異なる第2符号化方式を示す符号化方式情報を生成し、前記符号化方式情報が示す第2符号化方式の第2データを生成し、前記符号化方式情報と前記第2データを含むビットストリームを生成し、前記第2データは、提示用の第2提示データを生成するために用いられる。
 なお、これらの包括的または具体的な態様は、システム、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
 本開示の復号装置などは、第1データ及び第2データに基づく第1提示データ及び第2提示データを適切に提示することができる。
図1は、実施の形態に係る三次元データ符号化復号システムの構成例を示す図である。 図2は、点群データの構成を示す図である。 図3は、点群データの情報が記述されたデータファイルの構成例を示す図である。 図4は、三次元メッシュデータの構成を示す図である。 図5は、三次元メッシュデータの情報が記述されたデータファイルの構成例を示す図である。 図6は、三次元モデルについて説明するための図である。 図7は、三次元データの種類を示す図である。 図8は、三次元データの符号化処理について説明するための図である。 図9は、三次元データの復号処理について説明するための図である。 図10は、三次元データのタイル及びスライスを二次元的に模式的に示した図である。 図11は、ユーザの要求に応じて切り替えられる端末提示画面の一例を示す図である。 図12は、ユーザの操作に応じて自動的に切り替えられる端末提示画面の一例を示す図である。 図13は、サーバ及び端末の機能構成の一例を示すブロック図である。 図14は、サーバのデータ生成部の他の一例を示すブロック図である。 図15は、座標系の同期処理について説明するための図である。 図16は、座標系の同期処理について説明するための図である。 図17は、三次元空間と符号化データとの関係について説明するための図である。 図18は、符号化方式ユニットのシンタックスの一例を示す図である。 図19は、符号化点群のシンタックスの一例を示す図である。 図20は、符号化メッシュのシンタックスの一例を示す図である。 図21は、符号化三次元モデルのシンタックスの一例を示す図である。 図22は、三次元データ情報のシンタックスの一例を示す図である。 図23は、符号化点群のデータ構造について説明するための図である。 図24は、符号化メッシュのデータ構造について説明するための図である。 図25は、符号化三次元モデルのデータ構造について説明するための図である。 図26は、複数の三次元空間の一例を二次元的に示した図である。 図27は、バウンディングボックスの一例を示す図である。 図28は、三次元空間情報のシンタックスの一例を示す図である。 図29は、部分復号の一例を示すフローチャートである。 図30は、部分復号の対象となる三次元空間領域の一例を示す図である。 図31は、部分復号される符号化点群のデータ構造の一例を示す図である。 図32は、部分復号される符号化メッシュのデータ構造の一例を示す図である。 図33は、部分復号される符号化三次元モデルのデータ構造の一例を示す図である。 図34は、空間同期が取れていない異なる種類の三次元データの座標系の一例を示す図である。 図35は、三次元データ情報のシンタックスの一例を示す図である。 図36は、三次元空間情報のシンタックスの一例を示す図である。 図37は、端末の機能構成の一例を示す図である。 図38は、空間同期処理の一例を示すフローチャートである。 図39は、復号装置の構成の一例を示す図である。 図40は、復号装置による復号方法の一例を示すフローチャートである。 図41は、復号装置による復号方法の他の一例を示すフローチャートである。 図42は、符号化装置の構成の一例を示す図である。 図43は、符号化装置による符号化方法の一例を示すフローチャートである。
 本開示の第1態様に係る復号装置は、回路と、前記回路に接続されるメモリとを備え、前記回路は、動作において、三次元オブジェクトを表す第1データ、及び、前記三次元オブジェクトを表す第2データを含む符号化方式の1つを示す符号化方式情報と、前記三次元オブジェクトが含まれる三次元空間を示す識別情報とを含む符号化データを取得し、前記符号化データに基づいて、前記三次元空間に対応する、前記第1データ及び前記第2データを復号し、前記第1データをレンダリングして提示用の第1提示データを生成し、前記第2データをレンダリングして提示用の第2提示データを生成し、生成した前記第2提示データから前記第1提示データに切り替えて提示する。
 これによれば、三次元空間に対応する第1データ及び第2データに基づいて、第1提示データ及び第2提示データを生成し、第2提示データから第1提示データに切り替えて提示するため、三次元オブジェクトを表す2つのデータの切り替えにおいて空間のズレが生じないように切り替えて提示することができる。よって、第1提示データ及び第2提示データを適切に提示することができる。
 本開示の第2態様に係る復号装置は、第1態様に係る復号装置であって、前記第1データは、前記三次元オブジェクトを表す点群データである。
 このため、第2提示データから、点群データに基づく第1提示データに切り替えて提示するため、三次元オブジェクトを表す2つのデータの切り替えにおいて空間のズレが生じないように切り替えて提示することができる。
 本開示の第3態様に係る復号装置は、第1態様または第2態様に係る復号装置であって、前記第2データは、前記三次元オブジェクトを表すメッシュデータである。
 このため、メッシュデータに基づく第2提示データから、第1提示データに切り替えて提示するため、三次元オブジェクトを表す2つのデータの切り替えにおいて空間のズレが生じないように切り替えて提示することができる。
 本開示の第4態様に係る復号装置は、第1態様または第2態様に係る復号装置であって、前記第2データは、前記三次元オブジェクトを表す三次元モデルデータであり、前記三次元モデルデータは、視線及び二次元画像の複数セットを機械学習することで得られる機械学習モデルを示す。
 このため、三次元モデルデータに基づく第2提示データから、第1提示データに切り替えて提示するため、三次元オブジェクトを表す2つのデータの切り替えにおいて空間のズレが生じないように切り替えて提示することができる。
 本開示の第5態様に係る復号装置は、第1態様または第2態様に係る復号装置であって、前記第2データは、前記三次元オブジェクトを所定の視線方向から見た場合の二次元画像である。
 このため、二次元画像に基づく第2提示データから、第1提示データに切り替えて提示するため、三次元オブジェクトを表す2つのデータの切り替えにおいて空間のズレが生じないように切り替えて提示することができる。
 本開示の第6態様に係る復号装置は、第1態様から第5態様のいずれか1つの態様に係る復号装置であって、前記回路は、さらに、ユーザからの提示データの切り替え要求を取得し、前記提示において、前記切り替え要求に応じて、前記第2提示データから前記第1提示データに切り替えて提示する。
 このため、ユーザに指定されたタイミングで、切り替えを行うことができる。
 本開示の第7態様に係る復号装置は、第1態様から第5態様のいずれか1つの態様に係る復号装置であって、前記回路は、さらに、ユーザから提示の態様を変更させるための操作を受け付け、前記提示において、前記操作に応じて前記提示の態様を変更し、変更に応じて、前記第2提示データから前記第1提示データに切り替えて提示する。
 このため、ユーザの操作に応じたタイミングで、切り替えを行うことができる。
 本開示の第8態様に係る復号装置は、第1態様から第5態様のいずれか1つの態様に係る復号装置であって、前記回路は、前記取得において、前記符号化データを符号化装置から通信ネットワークを介して取得し、前記提示において、前記通信ネットワークの帯域に応じて、前記第2提示データから前記第1提示データに切り替えて提示する。
 このため、通信ネットワークの帯域に応じて切り替えを行うことができ、例えば、通信ネットワークの帯域が所定の帯域未満から所定の帯域以上になったときに第2提示データから第1提示データに切り替えて提示することができる。
 本開示の第9態様に係る復号装置は、第1態様から第5態様のいずれか1つの態様に係る復号装置であって、前記回路は、前記提示において、使用可能な前記回路の能力に応じて、前記第2提示データから前記第1提示データに切り替えて提示する。
 このため、使用可能な回路の能力に応じて切り替えを行うことができ、例えば、使用可能な回路の能力が所定の能力未満から所定の能力以上になったときに第2提示データから第1提示データに切り替えて提示することができる。
 本開示の第10態様に係る復号装置は、第1態様から第9態様のいずれか1つの態様に係る復号装置であって、前記符号化データは、前記第1データの座標系と、前記第2データの座標系とを同期させるための同期情報を含み、前記回路は前記提示において、前記同期情報に基づいて、前記第1提示データ及び前記第2提示データを提示する。
 このため、第1提示データと第2提示データとを座標系を合わせた上で、第2提示データから第1提示データへの切り替えを行うことができる。このため、三次元オブジェクトを表す2つのデータの切り替えにおいて空間のズレがより生じないように切り替えて提示することができる。
 本開示の第11態様に係る復号装置は、第10態様に係る復号装置であって、前記回路は、さらに、前記第1データの座標系と、前記第2データの座標系とを同期させるか否かを判定し、前記第1データの座標系と、前記第2データの座標系とを同期させると判定した場合、前記回路は前記提示において、前記同期情報に基づいて、前記第1提示データ及び前記第2提示データを提示する。
 このため、必要な時に同期処理を行うことができ、必要でない場合に同期処理をスキップできる。よって、処理負荷を低減できる可能性がある。
 本開示の第12態様に係る復号装置は、第1態様から第11態様のいずれか1つの態様に係る復号装置であって、前記第1データ及び前記第2データのそれぞれは、前記第1データ及び前記第2データにおいて共通の構成を有する。
 このため、符号化データのデータ量を小さくできる。よって、通信容量を削減することができる。
 本開示の第13態様に係る復号装置は、第1態様から第12態様のいずれか1つの態様に係る復号装置であって、前記符号化データは、前記三次元オブジェクトが含まれる前記三次元空間を特定するための空間情報を含み、前記回路は、さらに、前記三次元空間の一部の領域を示す対象領域を取得し、前記空間情報に基づいて、前記第1データのうちの一部の第1重複データであって、前記対象領域と重複する第1重複データを特定し、前記復号において、特定した前記第1重複データを復号する。
 このため、例えば、第1重複データのみを取得することで取得するデータの容量を小さくできる。よって、通信容量を削減することができる。また、例えば、第1重複データのみを復号することができる。よって、処理負荷を削減することができる。
 本開示の第14態様に係る復号方法は、三次元オブジェクトを表す第1データ、及び、前記三次元オブジェクトを表す第2データを含む符号化方式の1つを示す符号化方式情報と、前記三次元オブジェクトが含まれる三次元空間を示す識別情報とを含む符号化データを取得し、前記符号化データに基づいて、前記第1データ及び前記第2データを復号し、前記第1データをレンダリングして提示用の第1提示データを生成し、前記第2データをレンダリングして提示用の第2提示データを生成し、生成した前記第2提示データから前記第1提示データに切り替えて提示する。
 これによれば、三次元空間に対応する第1データ及び第2データに基づいて、第1提示データ及び第2提示データを生成し、第2提示データから第1提示データに切り替えて提示するため、空間のズレが生じないように切り替えて提示することができる。よって、第1提示データ及び第2提示データを適切に提示することができる。
 本開示の第15態様に係る復号装置は、三次元オブジェクトを表す第1データを復号する復号装置において、回路と、前記回路に接続されるメモリとを備え、前記回路は、動作において、前記三次元オブジェクトを表し、且つ、前記第1データの第1符号化方式と異なる第2符号化方式を示す符号化方式情報を復号し、前記符号化方式情報が示す第2符号化方式の第2データを復号し、前記第2データは、提示用の第2提示データを生成するために用いられる。
 これによれば、復号により得られた符号化方式情報が示す第2符号化方式の第2データを復号するため、適切な提示用の第2提示データを生成のための第2データを得ることができる。
 本開示の第16態様に係る符号化装置は、三次元オブジェクトを表す第1データを符号化する符号化装置において、回路と、前記回路に接続されるメモリとを備え、前記回路は、動作において、前記三次元オブジェクトを表し、且つ、前期第1データの第1符号化方式と異なる第2符号化方式を示す符号化方式情報を生成し、前記符号化方式情報が示す第2符号化方式の第2データを生成し、前記符号化方式情報と前記第2データを含むビットストリームを生成し、前記第2データは、提示用の第2提示データを生成するために用いられる。
 これによれば、符号化方式情報及び第2データを含むビットストリームを生成するため、当該ビットストリームを取得した復号装置は、適切な提示用の第2提示データを生成のための第2データを得ることができる。
 なお、これらの包括的または具体的な態様は、システム、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
 以下、実施の形態について、図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
 (実施の形態)
 本実施の形態に係る三次元データ符号化復号システムの構成を説明する。図1は、本実施の形態に係る三次元データ符号化復号システムの構成例を示す図である。図1に示すように、三次元データ符号化復号システムは、三次元データ符号化システム1001と、三次元データ復号システム1002と、センサ端末1003と、外部接続部1004とを含む。
 三次元データ符号化システム1001は、三次元データを符号化することで符号化データ又は多重化データを生成する。なお、三次元データ符号化システム1001は、単一の装置により実現される三次元データ符号化装置であってもよいし、複数の装置により実現されるシステムであってもよい。また、三次元データ符号化装置は、三次元データ符号化システム1001に含まれる複数の処理部のうち一部を含んでもよい。
 三次元データ符号化システム1001は、三次元データ生成システム1011と、提示部1012と、符号化部1013と、多重化部1014と、入出力部1015と、制御部1016とを含む。三次元データ生成システム1011は、センサ情報取得部1017と、三次元データ生成部1018とを含む。
 センサ情報取得部1017は、センサ端末1003からセンサ信号を取得し、センサ信号を三次元データ生成部1018に出力する。三次元データ生成部1018は、センサ信号から三次元データを生成し、三次元データを符号化部1013へ出力する。
 提示部1012は、センサ信号又は三次元データをユーザに提示する。例えば、提示部1012は、センサ信号又は三次元データに基づく情報又は画像を表示する。
 符号化部1013は、三次元データを符号化(圧縮)し、得られた符号化データと、符号化過程において得られた制御情報と、その他の付加情報とを多重化部1014へ出力する。付加情報は、例えば、センサ信号を含む。
 多重化部1014は、符号化部1013から入力された符号化データと、制御情報と、付加情報とを多重することで多重化データを生成する。多重化データのフォーマットは、例えば蓄積のためのファイルフォーマット、又は伝送のためのパケットフォーマットである。
 入出力部1015(例えば、通信部又はインタフェース)は、多重化データを外部へ出力する。または、多重化データは、内部メモリ等の蓄積部に蓄積される。制御部1016(またはアプリ実行部)は、各処理部を制御する。つまり、制御部1016は、符号化及び多重化等の制御を行う。制御部1016は、逆多重化、復号、または、提示の制御を行ってもよい。
 なお、センサ信号が符号化部1013又は多重化部1014へ入力されてもよい。また、入出力部1015は、三次元データ又は符号化データをそのまま外部へ出力してもよい。
 三次元データ符号化システム1001から出力された伝送信号(多重化データ)は、外部接続部1004を介して、三次元データ復号システム1002に入力される。
 三次元データ復号システム1002は、符号化データ又は多重化データを復号することで三次元データを生成する。なお、三次元データ復号システム1002は、単一の装置により実現される三次元データ復号装置であってもよいし、複数の装置により実現されるシステムであってもよい。また、三次元データ復号装置は、三次元データ復号システム1002に含まれる複数の処理部のうち一部を含んでもよい。
 三次元データ復号システム1002は、センサ情報取得部1021と、入出力部1022と、逆多重化部1023と、復号部1024と、提示部1025と、ユーザインタフェース1026と、制御部1027とを含む。
 センサ情報取得部1021は、センサ端末1003からセンサ信号を取得する。
 入出力部1022は、伝送信号を取得し、伝送信号から多重化データ(ファイルフォーマット又はパケット)を復号し、多重化データを逆多重化部1023へ出力する。
 逆多重化部1023は、多重化データから符号化データ、制御情報及び付加情報を取得し、符号化データ、制御情報及び付加情報を復号部1024へ出力する。
 復号部1024は、符号化データを復号することで点群データを再構成する。
 提示部1025は、点群データをユーザに提示する。例えば、提示部1025は、点群データに基づく情報又は画像を表示する。ユーザインタフェース1026は、ユーザの操作に基づく指示を取得する。制御部1027(またはアプリ実行部)は、各処理部を制御する。つまり、制御部1027は、逆多重化、復号及び提示等の制御を行う。
 なお、入出力部1022は、点群データ又は符号化データをそのまま外部から取得してもよい。また、提示部1025は、センサ信号などの付加情報を取得し、付加情報に基づいた情報を提示してもよい。また、提示部1025は、ユーザインタフェース1026で取得されたユーザの指示に基づき、提示を行ってもよい。
 センサ端末1003は、センサで得られた情報であるセンサ信号を生成する。センサ端末1003は、センサ又はカメラを搭載した端末であり、例えば、自動車などの移動体、飛行機などの飛行物体、携帯端末、又はカメラなどがある。
 センサ端末1003で取得可能なセンサ信号は、例えば、(1)LIDAR、ミリ波レーダ、又は赤外線センサから得られる、センサ端末1003と対象物との距離、又は対象物の反射率、(2)複数の単眼カメラ画像又はステレオカメラ画像から得られるカメラと対象物との距離又は対象物の反射率等を示す信号を含む。また、センサ信号は、センサの姿勢、向き、ジャイロ(角速度)、位置(GPS情報又は高度)、速度、又は加速度等を含んでもよい。また、センサ信号は、気温、気圧、湿度、又は磁気等を含んでもよい。
 外部接続部1004は、集積回路(LSI又はIC)、外部蓄積部、インターネットを介したクラウドサーバとの通信、又は、放送等により実現される。
 次に、点群データについて説明する。図2は、点群データの構成を示す図である。図3は、点群データの情報が記述されたデータファイルの構成例を示す図である。
 点群データは、複数の点のデータを含む。各点のデータは、位置情報(三次元座標)、及びその位置情報に対する属性情報を含む。この点が複数集まったものを点群と呼ぶ。例えば、点群は対象物(オブジェクト)の三次元形状を示す。
 三次元座標等の位置情報(Position)をジオメトリ(geometry)と呼ぶこともある。また、各点のデータは、複数の属性種別の属性情報(attribute)を含んでもよい。属性種別は、例えば色又は反射率などである。
 1つの位置情報に対して1つの属性情報が対応付けられてもよいし、1つの位置情報に対して複数の異なる属性種別を持つ属性情報が対応付けられてもよい。また、1つの位置情報に対して同じ属性種別の属性情報が複数対応付けられてもよい。
 図3に示すデータファイルの構成例は、位置情報と属性情報とが1対1に対応する場合の例であり、点群データを構成するN個の点の位置情報と属性情報とを示している。
 位置情報は、例えば、x、y、zの3軸の情報である。属性情報は、例えば、RGBの色情報である。代表的なデータファイルとしてplyファイルなどがある。
 次に、三次元メッシュデータについて説明する。図4は、三次元メッシュデータの構成を示す図である。図5は、三次元メッシュデータの情報が記述されたデータファイルの構成例を示す図である。
 三次元メッシュデータは、CG(Computer Graphics)に用いられるデータ形式であり、複数の面情報の集まりにより対象物の三次元形状を示す。複数の面情報のそれぞれは、三角形または四角形などの多角形を示す。三次元メッシュデータは、ポリゴン、ポリゴンメッシュとも称される。
 構成要素は、三次元点群、三次元点群の複数の三次元点である頂点(vertex)、複数の三次元点において2つの頂点を結んだ辺(edge)、及び、複数の辺で囲まれた面(face)の集合である。三次元点群は、三次元空間における位置情報、及び、その位置情報に対応する属性情報を含む点の集合である。なお、三次元点は、単に、点と称されてもよい。
 頂点(vertex)は、三次元点に対する、色情報、反射率、法線ベクトルなどの属性情報を有していてもよい。辺または面を構成する頂点の関係性は、接続性(connectivity)という情報で示されてもよい。なお、頂点は、positionと表現されてもよい。面の表裏は、三次元点に対する法線ベクトルの向きによって表現されてもよい。また、頂点は、面に対する属性情報を有していてもよい。
 メッシュデータファイルの形式には、例えばオブジェクトファイルがある。図5に示すようなメッシュデータファイルでは、メッシュを構成するN個の頂点の位置情報G(1)~G(N)、及び、頂点の属性情報A(1)~A(N)が頂点情報として示される。メッシュデータファイルでは、頂点情報は、属性情報を含まなくてもよい。
 また、属性情報は頂点に1対1で対応しなくてもよい。図5のメッシュデータファイルでは、三次元メッシュデータは、M個の属性情報A2を有する例が示されている。
 面情報は、頂点のインデックスの組み合わせで示される。n[1,3,4]は、n=1の頂点、n=3の頂点、及び、n=4の頂点の3つの頂点で構成される三角形の面であることを示す。
 また、m[2,4,6]は、3つの頂点に対して属性情報A2のうちのm=2の属性情報、m=4の属性情報、m=6の属性情報がそれぞれ対応することを示す。なお、ここでは、3つの頂点で面を構成する例を示したが、面は、3以上の整数の頂点であればよく、3に限らない。例えば、面が四角形であれば頂点の数は4であり、面が多角形であれば頂点の数は多角形を構成する頂点の数と等しい数である。
 また、属性情報A2は、メッシュデータファイルとは別のファイルで示されてもよく、そのポインタ情報を含んでもよい。例えば、属性情報は、二次元の属性マップ(attribute map)ファイルに格納されてもよく、属性マップファイル名、属性マップにおける二次元座標がメッシュデータファイルの属性情報A2で示されてもよい。このように、属性情報A2は、メッシュデータファイルに含まれていてもよいし、メッシュデータファイルとは別のファイルで示されてもよく、いずれの方法を用いても、三次元点に対する属性情報を指定することが可能である。
 次に、三次元モデルについて説明する。図6は、三次元モデルについて説明するための図である。
 三次元モデルとは、二次元データまたは三次元データに基づいて生成されたモデルである。
 三次元モデル学習部1031は、例えば、二次元データ(二次元画像)または三次元データ(点群またはメッシュ)を学習することで、三次元形状及び三次元形状に対応する属性情報がNeural Networkなどを用いて学習されたネットワークモデルである三次元モデルを生成する。
 三次元モデル学習部1031は、二次元画像に基づいてNeRF(Neural Radiance Fields)を用いて学習することで三次元モデルを生成してもよい。三次元モデル学習部1031は、二次元画像を用いてフォトグラメトリを実行することにより二次元画像を三次元データに変換した後に、三次元モデルを生成してもよい。三次元モデルは、センサ(距離センサ)で取得された三次元データを用いて生成されてもよい。
 三次元モデルデータは、三次元モデルを構成する要素であり、ネットワークモデルの構造を示す情報、特徴量などを含む。三次元モデルデータは、例えば、ニューラルネットワークの構成要素に関する情報を含む。構成要素に関する情報は、例えば、入力層、中間層、出力層などの複数の層、各層におけるノード、ノードに対する重み係数、ノードの変換関数などを含む。
 三次元モデル符号化部1032は、三次元モデルデータを符号化し、符号化された三次元モデルデータを伝送してもよい。
 三次元モデル復号部1033は、伝送された、符号化された三次元モデルデータを受信し、符号化された三次元モデルデータに基づいて三次元モデルを復号する。
 レンダリング再構成部1034は、復号された三次元モデルに基づいて、二次元データ(二次元画像)または三次元データ(点群またはメッシュ)を再構成(生成)する。レンダリング再構成部1034は、例えば、NeRFでモデル化された三次元モデルを用いる場合、視点位置または視線ベクトル情報を取得し、三次元モデル及び視点位置または視線ベクトルに基づいて、レンダリングされた二次元データ(二次元画像)を生成し、二次元データを出力する。生成される二次元データは、視点位置から見た三次元物体、または、視線ベクトルで示される視線から見た三次元物体の二次元画像を示す。三次元物体は、三次元モデル学習部1031に入力された二次元データまたは三次元データの元になった被写体の三次元物体である。
 次に、三次元データの種類について説明する。図7は、三次元データの種類を示す図である。図7に示すように、三次元データには、静的オブジェクトと、動的オブジェクトとがある。
 静的オブジェクトは、任意の時間(ある時刻)の三次元データである。動的オブジェクトは、時間的に変化する三次元データである。以降、ある時刻の点群データをPCCフレーム、又はフレームと呼ぶ。また、任意の時間のメッシュデータをメッシュフレーム、又はフレームと呼ぶ。
 オブジェクトは、通常の映像データのように、ある程度領域が制限されている三次元データであってもよいし、地図情報のように領域が制限されていない三次元データであってもよい。
 また、様々な密度の点があり、疎な点群データ(疎なメッシュデータ)と、密な点群データ(密なメッシュデータ)とが存在してもよい。
 以下、各処理部の詳細について説明する。センサ情報は、LIDAR或いはレンジファインダなどの距離センサ、ステレオカメラ、又は、複数の単眼カメラの組合せなど様々な方法で取得される。三次元データ生成部1018は、センサ情報取得部1017で得られたセンサ情報に基づき点群データを生成する。三次元データ生成部1018は、点群データとして、位置情報(ジオメトリ情報)を生成し、位置情報に、当該位置情報に対する属性情報を付加する。
 三次元データ生成部1018は、位置情報の生成又は属性情報の付加の際に、点群データを加工してもよい。例えば、三次元データ生成部1018は、位置が重複する点群を削除することでデータ量を減らしてもよい。また、三次元データ生成部1018は、位置情報を変換(位置シフト、回転又は正規化など)してもよいし、点群データを加工し、メッシュデータを生成してもよい。また、三次元データ生成部1018は、属性情報をレンダリングしてもよい。
 なお、図1では、三次元データ生成システム1011は、三次元データ符号化システム1001に含まれるが、三次元データ符号化システム1001の外部に独立して設けられてもよい。
 符号化部1013は、三次元データを予め規定された符号化方法に基づき符号化することで符号化データを生成する。符号化方法には、G-PCC(位置情報を用いた符号化方法)、V-PCC(ビデオコーデックを用いた符号化方法)、Draco(メッシュの符号化方法)、V-DMC(メッシュの符号化方法)がある。符号化方法は、これらの方法に限定されず、例えば、動的なメッシュを符号化する方法、または、これらの方法を組み合わせた別の方法であってもよい。
 復号部1024は、符号化データを予め規定された符号化方法に基づき復号することで三次元データを復号する。
 多重化部1014は、符号化データを、既存の多重化方式を用いて多重化することで多重化データを生成する。生成された多重化データは、伝送又は蓄積される。多重化部1014は、三次元データの符号化データの他に、映像、音声、字幕、アプリケーション、ファイルなどの他のメディア、又は基準時刻情報を多重化する。また、多重化部1014は、さらに、センサ情報又は点群データに関連する属性情報を多重化してもよい。
 多重化方式又はファイルフォーマットとしては、ISOBMFF、ISOBMFFベースの伝送方式であるMPEG-DASH、MMT、MPEG-2 TS Systems、RTPなどがある。
 逆多重化部1023は、多重化データから三次元データの符号化データ、その他のメディア、及び時刻情報などを抽出する。
 入出力部1015は、多重化データを、放送又は通信など、伝送する媒体又は蓄積する媒体にあわせた方法を用いて伝送する。入出力部1015は、インターネット経由で他のデバイスと通信してもよいし、クラウドサーバなどの蓄積部と通信してもよい。
 通信プロトコルとしては、http、ftp、TCP又はUDPなどが用いられる。PULL型の通信方式が用いられてもよいし、PUSH型の通信方式が用いられてもよい。
 有線伝送及び無線伝送のいずれが用いられてもよい。有線伝送としては、Ethernet(登録商標)、USB、RS-232C、HDMI(登録商標)、又は同軸ケーブルなどが用いられる。無線伝送としては、無線LAN、Wi-Fi(登録商標)、Bluetooth(登録商標)又はミリ波などが用いられる。
 また、放送方式としては、例えばDVB-T2、DVB-S2、DVB-C2、ATSC3.0、又はISDB-S3などが用いられる。
 次に、三次元データを1以上の三次元データに分割する処理について説明する。図8は、三次元データの符号化処理について説明するための図である。図9は、三次元データの復号処理について説明するための図である。
 図8に示すように、データ分割部1041が三次元データを1以上の三次元空間毎に分割し、分割された1以上の三次元データ(つまり1以上の分割三次元データ)を生成する。符号化部1042が1以上の分割三次元データを符号化して、符号化データを生成してもよい。データ分割部1041及び符号化部1042は、1つ符号化装置の構成要素として、当該1つ符号化装置に含まれていてもよいし、別々の装置に含まれていてもよい。
 1以上の三次元空間の各々は、タイルまたはスペースと表記されてもよい。三次元空間は、例えば、バウンディングボックスである。また、分割された複数の三次元空間のそれぞれに含まれる三次元データは、スライスと表記されてもよい。スライスは、分割された三次元データであり、位置情報(Geometry)または属性情報(Attribute)を有する点群、メッシュ、及び、三次元モデルのいずれかを含む。複数のスライスは、それぞれ、構成要素ごとに符号化部1042で符号化され、符号化データとして出力される。符号化データは、符号化された複数のスライスを含む。
 図9に示すように、復号処理では、復号部1051は、符号化データに基づいて1以上の分割三次元データ(1以上のスライス)を復号する。データ結合部1052は、1以上の分割三次元データを結合し、三次元データを復元(生成)する。復号部1051及びデータ結合部1052は、1つの復号装置の構成要素として、当該1つの復号装置に含まれていてもよいし、別々の装置に含まれていてもよい。復号部1051によって復号された1以上の分割三次元データは、結合されなくてもよい。復号部1051は、符号化データの一部に基づいて1以上の分割三次元データのうちの一部の分割三次元データを復号して、復号した一部の分割三次元データを出力してもよい。この場合、復号装置は、データ結合部1052を有していなくてもよい。
 図10は、三次元データのタイル及びスライスを二次元的に模式的に示した図である。
 符号化装置は、複数のスライスを符号化する場合、複数のスライス間の依存関係を用いて符号化してもよいし、依存関係を用いずに符号化してもよい。符号化装置は、依存関係を用いずに符号化する場合、各スライスを独立に符号化することが可能であり、複数のスライスを並列処理で符号化することで処理時間を削減できる。また、復号装置は、依存関係を用いずに複数のスライスが符号化された場合、各スライスを独立に復号することが可能であり、複数のスライスを並列処理で復号することで処理時間を削減できる。また、復号装置は、複数のスライスのうちの一部のスライスを復号する部分復号により処理量を削減可能である。
 符号化装置は、依存関係を用いて符号化する場合、依存関係を示す識別子をシグナリングし、依存されるデータから順に符号化する。復号装置は、依存関係を用いて複数のスライスが符号化された場合、識別子に基づいて、依存されるデータから順に復号する。
 三次元データの分割では、どのような分割数で分割されてもよいし、どのような分割方法が用いられてもよい。三次元データの分割では、オブジェクトの形状を判定し、オブジェクト毎に複数の三次元点が分割されてもよい。また、三次元データの分割では、スライスに含まれる三次元点の数を基準に分割されてもよい。つまり、1つのスライスに含まれる三次元点の上限値が定められていてもよい。また、三次元データは、地図情報または位置情報を用いて、三次元空間(タイル情報)に含まれるか否かで分割されてもよい。複数のタイル形状は重複してもよい。
 このように三次元データを複数の分割三次元データに分割することで、コンテンツまたはオブジェクトに応じた適応的な符号化や、復号における並列処理が可能となる。
 次に、複数の三次元データのうち提示または伝送する三次元データを選択する方法について説明する。
 サーバは、同一空間に対する複数の三次元データを蓄積する。サーバは、例えば、同一空間に対する点群データとメッシュデータとを蓄積する。サーバは、符号化装置の一例である。端末は、端末の用途に基づき、サーバから取得する三次元データを切り替え、切り替えた三次元データを提示する。端末は、例えば、三次元データを解析する端末であってもよい。この場合、端末は、解析または提示などの用途、ユーザ操作に基づいて、提示する三次元データを切り替えてもよい。端末は、復号装置の一例である。
 三次元データの切り替えでは、三次元データとして点群を提示するか、メッシュを提示するかが切り替えられてもよい。また、三次元データの切り替えでは、三次元データとして点群を伝送するか、メッシュを伝送するかが切り替えられてもよい。例えば、端末は、ユーザによる選択結果をサーバへ送信し、サーバから当該選択結果に基づく三次元データをサーバから受信(ダウンロード)し、受信した三次元データを提示してもよい。三次元データ(点群またはメッシュ)は、サーバにおいて符号化されてもよいし符号化されなくてもよい。三次元データが符号化される場合、端末は、符号化された三次元データをサーバから受信し、受信した符号化された三次元データに基づいて三次元データを復号し、復号した三次元データを提示してもよい。
 図11は、ユーザの要求に応じて切り替えられる端末提示画面の一例を示す図である。
 図11に示すように、端末提示画面1061は、ユーザの要求に応じて切り替えられてもよい。端末提示画面は、ユーザの要求を受け付けるUIとして点群ボタン1061a及びメッシュボタン1061bを含む。点群ボタン1061aは、符号化点群(符号化された点群データ)を提示する要求を受け付けるボタンである。メッシュボタン1061bは、符号化メッシュ(符号化されたメッシュデータ)を提示する要求を受け付けるボタンである。端末は、ユーザにより点群ボタン1061aへの入力がなされると、符号化点群を提示する要求を受け付け、提示データの選択結果としての当該要求をサーバへ通知(送信)する。端末は、ユーザによりメッシュボタン1061bへの入力がなされると、符号化メッシュを提示する要求を受け付け、提示データの選択結果としての当該要求をサーバへ通知(送信)する。なお、提示は、表示と表現されてもよい。
 サーバは、選択結果としての要求を受信すると、選択結果に応じた三次元データを端末へ送信する。サーバは、受信した要求が符号化点群を提示する要求である場合、符号化点群を端末へ送信する。サーバは、受信した要求が符号化メッシュを提示する要求である場合、符号化メッシュを端末へ送信する。
 メッシュは、提示に要する処理負荷が小さいため提示に適するという特徴がある。一方で、点群は、三次元点群で示される三次元モデルの位置情報の精度が高く、計測に適するという特徴がある。例えば、ユーザは、三次元モデルを観察したい場合にはメッシュを選択し、計測したい場合には点群を選択するように、必要な用途に適した種類の三次元データを選択することにより、提示処理を軽減したり、精度よい計測に用いたりすることができる。
 図12は、ユーザの操作に応じて自動的に切り替えられる端末提示画面の一例を示す図である。
 端末は、ユーザの操作を受け付けることで、三次元データを拡大する処理を行う。端末は、所定の拡大率より小さい倍率では、端末提示画面1062のようにメッシュデータを提示し、所定の拡大率以上の倍率では、端末提示画面1063のように点群データを提示してもよい。例えば、端末は、所定の拡大率より小さい倍率でメッシュデータを提示し、ユーザの操作に応じて所定の拡大率に拡大されて提示された時点で、拡大により注目される(拡大により提示される)三次元データの一部のデータに対応する点群データをサーバからダウンロードし、ダウンロードした点群データを復号して提示してもよい。
 上記では、三次元データを拡大または縮小する操作に応じて、提示する三次元データの種類を切り替えることを例示したが、提示する三次元データの種類を切り替えは、その他の操作でもよい。例えば、端末は、提示されているメッシュデータの一部の領域をタップする操作をユーザから受け付けた場合、タップにより選択されたメッシュデータの一部の領域に対応する点群データに切り替えて提示してもよい。端末は、点群データをメッシュデータに重畳して提示されてもよいし、点群データをメッシュデータから切り替えて独立に(つまり、メッシュデータの提示をせずに)提示してもよい。端末は、所定の拡大率で提示される前に予め予測して、拡大された部分に対応する点群データをダウンロードし、ダウンロードした点群データ復号して提示してもよい。また、端末は、点群データ及びメッシュデータの空間同期(座標合わせ)が予めなされている場合、空間同期をすることなくダウンロードした点群データをそのまま提示してもよい。端末は、点群データ及びメッシュデータの空間同期がなされていない場合、空間同期に関する同期情報に基づいて点群データをメッシュデータ(あるいはメッシュデータの座標系)に対して位置合わせをして提示してもよい。なお、端末は、点群データを位置合わせせずに提示してもよい。なお、上記では、点群データをメッシュデータに対して空間同期する例について説明したが、端末は、メッシュデータを点群データに対して空間同期して提示してもよい。
 このように、端末は、必要な点群データのみをダウンロードして、ダウンロードした点群データを復号して提示する。このため、サーバ及び端末間の通信容量の削減、端末の処理削減、提示時間の低遅延化が期待できる。
 一般的に、メッシュデータはデータサイズが少なく、点群データはデータサイズが大きい。つまり、同じ三次元オブジェクトのメッシュデータと点群データとをデータサイズで比較した場合、メッシュデータは、点群データよりも小さい。このため、端末は、最初にメッシュデータをダウンロードし初期提示することで、初期提示までの遅延を少なくすることが可能となる。
 また、端末は、メッシュデータで提示することにより三次元モデルの観察処理に要する処理負荷を低減できる。また、端末は、メッシュデータと点群データとを同時に提示することにより、可視性が高まり計測が容易となる。
 なお、提示する三次元データは、通信のネットワーク帯域に基づいて切り替えられてもよい。端末は、帯域が狭くネットワーク速度が所定の速度より遅い場合にメッシュデータを提示し、ネットワーク速度が所定の速度以上の場合に点群データを提示してもよい。
 また、提示する三次元データは、端末の能力に応じて切り替えられてもよい。例えば、提示する三次元データは、端末の処理性能または端末のCPUの使用率に基づいて切り替えられてもよい。端末は、点群データを提示中に、点群データの提示処理について、端末の処理性能またはCPUのリソースが不足することで困難となる場合に、点群データからメッシュデータの提示に切り替えてもよい。端末は、メッシュデータを提示中に、メッシュデータの提示処理について、端末の処理性能またはCPUのリソースに余裕があると判定された場合に、メッシュデータから点群データの提示に切り替えてもよい。
 次に、三次元データを切り替える他の例について説明する。
 端末は、建築現場で用いられる三次元データを提示する場合、建物または地図などの外観をメッシュデータで提示し、建物のひずみ、亀裂、ゆがみなどのように測定が必要な部位が含まれる場合に、点群データで提示するように、提示する三次元データの種類を切り替えてもよい。
 端末は、スタジアム、ホール、工場などの空間において、照明の明るさ、色合い、雰囲気など外観を提示したい場合にメッシュデータで提示し、スタジオ形状、機材の配置、通路の確保などを計測したい場合に点群データで提示するように、提示する三次元データの種類を切り替えてもよい。
 また、解像度の異なる三次元データが切り替えられて提示されてもよい。
 端末は、三次元モデルをレンダリングして提示する際に、解像度の異なる複数の点群データ、解像度の異なる複数のメッシュデータ、及び、三次元モデルを切り替えて提示してもよい。端末は、例えば、視点から遠い三次元データを提示する場合に低解像度のメッシュデータを提示し、近くに寄った場合に高解像度のメッシュデータに切り替えて提示してもよい。これにより三次元データの表示の精度を向上できる。
 端末は、スポーツにおいて選手の動きを解析する際、特定の動きまたは場所を特定するまではメッシュデータで提示し、特定の動きまたは場所が特定された後に対応する部位の点群データの提示に切り替え、当該点群データを三次元形状の計測に用いてもよい。
 端末は、ビデオゲームなどで解像度の異なる三次元モデルを切り替えてもよい。端末は、例えば、重要な部分の三次元データの提示に高解像度の三次元データを用い、重要でない部分の三次元データの提示に低解像度の三次元データを用いてもよい。これにより、全体の処理パフォーマンスを改善できる。なお、各三次元モデルが重要か否かは、例えば、ビデオゲームの動作に関係があるか否か(シューティングゲームであれば、プレイヤーや標的、銃などが重要など)、プレイヤーの選択に関係あるか否か(購買の場面では、商品情報が重要など)で決定される。なお、ビデオゲームごとに事前に各三次元モデルが重要か否かが設定されていてもよい。
 端末は、三次元モデルとしての地形データを提示する場合、解像度の異なる地形データを切り替えてもよい。これにより、必要に応じてより詳細な地形の情報を表示できる。
 端末は、例えば、Web上でサムネイル表示する際には、低解像度の三次元データを提示し、サムネイル上で選択された三次元データを用いて、アプリケーションで計測または提示する場合には高解像度の三次元データを計測または提示に用いてもよい。なお、例えば、二次元表示の端末に表示する場合等は、三次元データは、特定の視点から特定の方向へ三次元物体(被写体)を見た場合の二次元データとして提示される。言い換えると、三次元データは、特定の視点及び特定の方向を示すカメラ情報と、当該特定の視点から当該特定の方向へ三次元物体を見た場合の二次元データとに分かれていてもよい。
 端末は、表示優先の場合は処理の軽いメッシュデータを提示し、計測する際に、計測に適する点群データに置き換えることにより、処理の軽いアプリケーションの実現が可能となる。
 次に、サーバ1070及び端末1090の構成について説明する。図13は、サーバ及び端末の機能構成の一例を示すブロック図である。
 サーバ1070は、データ生成部1071と、同期部1075と、点群符号化部1076と、メッシュ符号化部1077と、モデル符号化部1078と、多重化部1079と、データ抽出部1080とを備える。
 データ生成部1071は、二次元データ及び三次元データの少なくとも一方に基づいて、三次元データを生成する。生成される三次元データは、点群データ、メッシュデータ、及び、三次元モデルデータの少なくとも2つを含む。データ生成部1071は、点群生成部1072と、メッシュ生成部1073と、モデル生成部1074とを有する。データ生成部1071は、点群生成部1072と、メッシュ生成部1073と、モデル生成部1074とのうちの少なくとも2つを有していればよい。点群生成部1072は、二次元データ及び三次元データの少なくとも一方に基づいて、点群データを生成する。メッシュ生成部1073は、二次元データ及び三次元データの少なくとも一方に基づいて、メッシュデータを生成する。モデル生成部1074は、二次元データ及び三次元データの少なくとも一方に基づいて機械学習することで、三次元モデルデータを生成する。
 データ生成部1071に入力される二次元データは、カメラで取得した二次元画像であってもよい。データ生成部1071に入力される三次元データは、例えば、建築現場や工場、オフィスなどの空間をLiDARなどのセンサで取得される点群データであってもよい。データ生成部1071は、三次元データの点群データに含まれる各点に対して、二次元データの二次元画像を用いて、当該点に対応する色情報を属性情報として生成してもよい。データ生成部1071によって生成される三次元データは、任意の空間に分割されてもよい。点群データ、メッシュデータ、及び、三次元モデルデータは、それぞれ、任意の空間に分割されてもよい。
 同期部1075は、データ生成部1071によって生成された点群データ、メッシュデータ、及び、三次元モデルデータの空間位置または各データの時刻(再生時刻、復号時刻、取得時刻など)の同期をとる。各データの時刻は、再生時刻、復号時刻、取得時刻などである。なお、同期部1075は、点群データ、メッシュデータ、及び、三次元モデルデータの同期をとらずに、同期をとるための同期情報を生成してもよい。なお、同期部1075は、データ生成部1071によって生成された点群データ、メッシュデータ、及び、三次元モデルデータのうちの少なくとも2種類の三次元データの同期を取るか、同期を取るための同期情報(同期信号)を生成する処理を行えばよく、3種類の三次元データの同期を取るための処理(同期処理)を行わなくてもよい。
 点群符号化部1076は、同期部1075によって同期処理が行われた後の点群データを符号化する。なお、点群符号化部1076は、点群データを符号化しなくてもよい。点群データは、予め符号化されていてもよいし、端末1090からの要求に応じて符号化されてもよい。
 メッシュ符号化部1077は、同期部1075によって同期処理が行われた後のメッシュデータを符号化する。
 モデル符号化部1078は、同期部1075によって同期処理が行われた後の三次元モデルデータを符号化する。
 多重化部1079は、符号化された点群データ(符号化点群)、符号化されたメッシュデータ(符号化メッシュデータ)、符号化された三次元モデルデータ、及び、同期情報を所定のフォーマットまたは所定の多重化方法を用いて多重化する。なお、多重化部1079による多重化は行われなくてもよい。この場合、サーバ1070は、多重化部1079を備えていなくてもよい。
 データ抽出部1080は、多重化された三次元データのうち、端末1090の要求に応じた一部の三次元データを抽出し、抽出した一部の三次元データを端末1090に送信する。なお、データ抽出部1080によるデータの抽出は行われなくてもよい。この場合、サーバ1070は、データ抽出部1080を備えていなくてもよい。データ抽出部1080によるデータの抽出が行われない場合、サーバ1070は、多重化部1079により多重化された三次元データを端末1090に送信してもよい。また、さらに多重化部1079による多重化が行われない場合、サーバ1070は、符号化された点群データ(符号化点群)、符号化されたメッシュデータ(符号化メッシュ)、符号化された三次元モデルデータ(符号化三次元モデル)、及び、同期情報を端末1090に送信してもよいし、符号化された点群データ(符号化点群)、符号化されたメッシュデータ(符号化メッシュ)、符号化された三次元モデルデータ(符号化三次元モデル)、及び、同期情報を含むビットストリームを端末1090に送信してもよい。
 端末1090は、制御部1091と、復号部1092と、提示部1093とを備える。
 制御部1091は、提示する一部の三次元データの要求をサーバ1070に送信する。制御部1091は、ユーザによる操作を受け付けて一部の三次元データを特定してもよい。
 復号部1092は、サーバ1070から取得したビットストリーム(符号化データ)に基づいて、一部の三次元データを復号する。
 提示部1093は、復号された一部の三次元データをレンダリングして提示する。
 図13のデータ生成部1071は、図14で示すデータ生成部1110で実現されてもよい。図14は、サーバのデータ生成部の他の一例を示すブロック図である。
 データ生成部1110は、点群生成部1111と、メッシュ生成部1112と、モデル生成部1113とを備える。
 点群生成部1111は、点群生成部1072と同じ機能を有する。点群生成部1111は、点群センサ1101から得られた点群データと、カメラ1102から得られた二次元画像とを取得して、点群データ及び二次元画像に基づいて、点群データを生成する。点群生成部1111により生成される点群データは、各点の位置情報と、当該位置情報で示される各点に対応する属性情報であって、二次元画像から抽出された属性情報(色情報など)を含む。
 メッシュ生成部1112は、点群生成部1111により生成された点群データに基づいて、メッシュデータを生成する。
 モデル生成部1113は、モデル生成部1074と同じ機能を有する。モデル生成部1113は、点群センサ1101から得られた点群データと、カメラ1102から得られた二次元画像とを取得して、点群データ及び二次元画像に基づいて機械学習することで、三次元モデルデータを生成する。
 点群データ、メッシュデータ、及び、三次元モデルデータは、図13で説明したように、それぞれ独立に生成されたデータでもよい。メッシュデータは、図14で説明したように、点群データから生成されてもよい。なお、点群データは、メッシュデータから生成されてもよい。
 メッシュは点群から生成されてもよいし、点群はメッシュから生成されてもよい。
 なお、点群データ、メッシュデータ、及び、三次元モデルデータは、サーバ1070で生成されてもよいし、センサまたはセンサを搭載する端末1090で生成されてもよい。センサは、例えば、点群センサ1101及びカメラ1102である。
 次に、複数の三次元データの座標系を同期する処理について説明する。図15及び図16は、座標系の同期処理について説明するための図である。
 同一空間に対する三次元データであっても、取り扱うシステムまたは座標系の違いにより、システムで取り扱うローカル座標系の原点位置(原点座標)が、実際の座標と異なる場合がある。
 例えば、メッシュデータが点群データから生成された場合には、メッシュデータと点群データとで原点位置が同一であるが、メッシュデータと点群データとがそれぞれ異なるシステムで生成された場合には、メッシュデータと点群データとで原点位置が異なる可能性がある。
 図15及び図16の例では、メッシュデータの座標系の原点座標と、点群データの座標系の原点座標とは、両方とも、例えば世界座標における(x1, y1, z1)であり、メッシュデータの座標系と点群データの座標系とが同一である。なお、これらの原点座標が同一でない場合には、これらの原点座標は、同一になるように補正されてもよい。
 次に、分割された三次元空間情報を同期する場合について説明する。
 図15は、メッシュデータを分割するための三次元空間領域と、点群データを分割するための三次元空間領域とが同一の場合が示されている。具体的には、メッシュデータ座標系における複数の三次元空間領域と、点群座標系における複数の三次元空間領域との間で、三次元空間領域の数、三次元空間領域のサイズ、及び、三次元空間領域の位置が同一である。
 太点線の三次元空間領域に着目すると、三次元空間を示すバウンディングボックスの原点(黒三角のマーク)及び当該バウンディングボックスの最大値の点(黒四角のマーク)の位置は、メッシュデータの座標系と点群データの座標系とで同一である。
 このとき、このバウンディングボックスの縦、横、及び、奥行きのサイズもメッシュデータの座標系と点群データの座標系とで同一である。
 なお、図16に示すように、メッシュデータ座標系における複数の三次元空間領域と、点群座標系における複数の三次元空間領域との間で、三次元空間領域の数、三次元空間領域のサイズ、及び、三次元空間領域位置が、完全に同一でなくてもよい。メッシュデータの座標系における三次元空間領域は大きな領域で分割し、点群データの座標系における三次元空間領域はメッシュデータの座標系における三次元空間領域がさらに分割された領域であってもよい。この例では、点群データの座標系の三次元空間領域を複数合わせた単位では、メッシュデータの座標系の三次元空間領域と同一である。
 次に、三次元空間と符号化データとの関係について説明する。図17は、三次元空間と符号化データとの関係について説明するための図である。
 三次元データは、上述したように、例えば、点群データ、メッシュデータ、及び、三次元モデルのいずれかを含む。
 図17に示されるように、三次元データが3つの三次元空間(タイルまたはスペース)で3つの三次元データに分割された場合、符号化装置は、分割された3つの三次元データのそれぞれで符号化し、ヘッダを付けてデータユニット化する。ヘッダには、当該データユニットの符号化データが属する空間の識別子(Space_ID)、及び、データユニットの識別子(DataUnit_ID)をシグナリング(付与)する。
 データユニットには、さらにデータユニットの識別子またはデータユニットの長さ情報などを含むヘッダが付与され、ユニット化されることで符号化方式ユニットが生成される。
 次に、符号化方式ユニットのシンタックスについて説明する。図18は、符号化方式ユニットのシンタックスの一例を示す図である。図19は、符号化点群のシンタックスの一例を示す図である。図20は、符号化メッシュのシンタックスの一例を示す図である。図21は、符号化三次元モデルのシンタックスの一例を示す図である。
 unit_typeは、符号化方式ユニットに格納されるデータユニットの種別を示す。これにより、符号化方式ユニットに格納されるデータユニットの種別が指定される。
 lengthは、データユニットの長さを示す。
 data()は、データユニットの本体を示す。
 図19において、unit_typeが0を示す場合、データユニットが符号化点群の位置情報(ジオメトリ)であることを示す。unit_typeが1を示す場合、データユニットが符号化点群の属性情報であることを示す。unit_typeが2を示す場合、データユニットが符号化点群のメタデータであることを示す。
 図20において、unit_typeが0を示す場合、データユニットが符号化メッシュの位置情報(ジオメトリ)であることを示す。unit_typeが1を示す場合、データユニットが符号化メッシュの属性情報であることを示す。unit_typeが2を示す場合、データユニットが符号化メッシュのメタデータであることを示す。
 図21において、unit_typeが0を示す場合、データユニットが符号化三次元モデルの要素1であることを示す。unit_typeが1を示す場合、データユニットが符号化三次元モデルの要素2であることを示す。unit_typeが2を示す場合、データユニットが符号化三次元モデルのメタデータであることを示す。
 なお、図19~図21で示されるシンタックスは、一例であって、上記の構成に限らない。これらのシンタックスは、シンタックスの一部の構成が用いられてもよいし、上記で説明していないタイプ(種別)が用いられてもよいし、シンタックスの構成要素の順番が入れ替えられたりしてもよい。例えば、符号化方式ユニットのシンタックスでは、図18のように複数の符号化方式で共通の符号化方式ユニットの構成とし、図19~図21で示されるunit_typeやlength、data()が示されてもよい。
 なお、符号化方式ユニットには、さらにヘッダが付与され、符号化方式ユニットの種別が示されてもよい。符号化ユニットの種別は、例えば、点群データを示すpoint_cloud_codec_unit、メッシュデータを示すmesh_codec_unit、三次元モデルデータを示すmodel_codec_unitを含む。これにより、複数の符号化方式を統合的に扱うことが可能となる。
 図22は、三次元データ情報のシンタックスの一例を示す図である。
 シンタックスでは、複数の符号化方式が1つのフォーマットに格納する場合、当該フォーマットに含まれる三次元データの数(number_of_3Dformat)、及び、三次元データの種別(format_type)が示され、それぞれのフォーマットのデータが格納されてもよい。これにより、複数の符号化方式または三次元データを統合的に扱うことが可能となり、また複数の符号化方式または三次元データを識別することが可能となる。
 3Ddata_infoは、複数の三次元データを格納するフォーマット構造情報を示す。
 number_of_3Dformatは、用いられる三次元フォーマットの数を示す。
 format_typeは、格納される三次元データのフォーマットの種別を示す。例えば、format_typeの数字とその数字に対応するフォーマットが下記のように定められてもよい。format_typeが0を示す場合、格納される三次元データのフォーマットが点群データ(point cloud)であることを示す。format_typeが1を示す場合、格納される三次元データのフォーマットがメッシュデータ(mesh)であることを示す。format_typeが2を示す場合、格納される三次元データのフォーマットがG-PCCデータ(g-pcc)であることを示す。format_typeが3を示す場合、格納される三次元データのフォーマットがV-DMCデータ(v-dmc)であることを示す。format_typeが4示す場合、格納される三次元データのフォーマットが三次元モデルデータ(3Dmodel)であることを示す。
 次に、複数の三次元データの符号化データのデータ構造について、三次元データの種類毎に説明する。図23は、符号化点群のデータ構造について説明するための図である。図24は、符号化メッシュのデータ構造について説明するための図である。図25は、符号化三次元モデルのデータ構造について説明するための図である。
 符号化装置は、複数種類の三次元データのそれぞれについて、複数の空間領域のそれぞれ毎に三次元データを複数の三次元データに分割し、分割された複数の三次元データ(つまり複数の分割三次元データ)をそれぞれ符号化し、符号化データを生成する。
 符号化データには、それぞれヘッダが付与され、data_unit_id及びspace_idの少なくとも一方が格納される。
 ここで、data_unit_idは、符号化データの中でデータユニットを識別する識別子であり、符号化データの中で一意である。また、space_idは、空間領域の識別情報を示す。data_unit_idまたはspace_idが、複数の三次元データで共通である場合は、複数の三次元データで同一の値が示される。
 図23~図25の例では、符号化点群におけるdata_unit_id=0のデータユニットと、符号化メッシュにおけるdata_unit_id=3のデータユニットと、符号化三次元モデルにおけるdata_unit_id=0のデータユニットとには、いずれもspace_id=1が付与されている。これは、Space_ID #1で示される共通の三次元空間に含まれる三次元データであることを意味する。
 データ及びヘッダなどのデータは、データユニットまたは符号化方式のようなビットストリーム構造に含まれてもよいし、ISOBMFFの各BOXなど所定のファイルフォーマットに格納されてもよい。
 次に、三次元空間情報について説明する。図26は、複数の三次元空間の一例を二次元的に示した図である。図27は、バウンディングボックスの一例を示す図である。図28は、三次元空間情報のシンタックスの一例を示す図である。
 三次元空間情報のシンタックスにおいて、3Dspace_infoは、分割された三次元空間を示す情報である。3Dspace_infoは、部分復号に用いることができる。
 number_of_spaceは、分割された三次元空間の数を示す。
 space_idは、分割された三次元空間の識別子を示す。
 三次元空間情報は、図27で示されるバウンディングボックスを規定するための情報としてバウンディングボックス情報を含む。
 バウンディングボックス情報は、bounding_box_xyz、及び、bounding_box_whdを含む。
 bounding_box_xyzは、バウンディングボックスの基準点の座標を示す。図27の例では、例えば、x、y、zの座標値(x0、y0、z0)で表される。
 bounding_box_whdは、バウンディングボックスのサイズを示す。図27の例では、例えば、幅w、高さh、及び、奥行d(w0,h0,d0)で表される。
 また、三次元空間情報は、符号化データ毎のデータユニットの識別子を含んでもよい。なお、三次元空間情報は、当該識別子を含まなくてもよい。つまり、識別子は、シグナリングされなくてもよい。
 pointcloud_idは、space_idに対応する空間の符号化点群のデータユニットの識別子を示す。
 mesh_idは、space_idに対応する空間の符号化メッシュのデータユニットの識別子を示す。
 model_idは、 space_idに対応する空間の符号化三次元モデルのデータユニットの識別子を示す。
 なお、データユニットにspace_idが示されず、data_unit_idが示される場合、三次元空間情報のそれぞれの空間を示す情報に、符号化データ毎のデータユニットの識別子が格納されてもよい。これにより、三次元空間情報と、分割された三次元符号化データとが対応づけられてもよい。
 また、データユニットにspace_idが示される場合、space_idで三次元空間情報と符号化データ毎のデータユニットを識別子とが対応づけられてもよい。この場合、符号化データ毎のデータユニットの識別子は格納されなくてもよい。
 分割方法、それぞれの分割された空間の原点、及び、バウンディングボックスのサイズを、メッシュデータと点群データとで同一とすることにより、点群データの三次元空間情報とメッシュデータの三次元空間情報とを共通化してもよい。また、点群データとメッシュデータとで同一の三次元空間情報をそれぞれ用いてもよい。このように、異なる複数種類の三次元データ間において、三次元空間情報を共通化してもよいし、同一の三次元空間情報が用いられてもよい。三次元空間情報を共通化することにより、異なる種類への三次元データの切り替え(例えば提示の切り替えまたは伝送の切り替え)が容易となる。また、複数の三次元データを統合的に扱うフォーマットにおいて、三次元データ毎に三次元空間情報が設けられなくてもよく、1つの三次元空間情報を各三次元データで利用することができるため、三次元空間情報のデータ量を削減できる。
 なお、点群データ及びメッシュデータ以外にも三次元モデルの三次元空間情報を他の種類の三次元データと同期してもよいし、他の種類の三次元データの三次元空間情報と共通化してもよい。
 次に、三次元データのデータ構造と部分復号との関係について説明する。図29は、部分復号の一例を示すフローチャートである。図30は、部分復号の対象となる三次元空間領域の一例を示す図である。図31は、部分復号される符号化点群のデータ構造の一例を示す図である。図32は、部分復号される符号化メッシュのデータ構造の一例を示す図である。図33は、部分復号される符号化三次元モデルのデータ構造の一例を示す図である。
 部分復号において、まず、復号装置は、部分復号の対象の三次元空間領域を決定する(S1001)。
 次に、復号装置は、三次元空間情報(3Dspace_info)を用いて、複数の三次元空間領域のバウンディングボックス情報から対象の三次元空間領域と重複する領域を特定し、特定した領域に対応するspace_idを取得する(S1002)。
 次に、復号装置は、符号化データから、取得したspace_idを有するデータユニットを取得して復号する(S1003)。これにより、復号装置は、三次元データの一部を復号する部分復号を行う。部分復号では、復号装置は、三次元データの全部を復号せずに、三次元データの一部のみを復号する。
 例えば、図30に示すように、部分復号の対象となる三次元空間領域が太線の領域である場合、三次元空間情報から、取得する三次元空間のspace_idは#2と決定される。
 そして、図31~図33に示されるように、複数種類の三次元データの符号化データのうちSpace_id=#2に対応付けられているデータユニットが取得され復号される。
 なお、復号装置は、三次元空間情報から、space_idではなくデータユニットIDを取得し、取得したデータユニットIDを有するデータユニットを取得して部分復号してもよい。
 次に、空間同期が取れていない場合について説明する。図34は、空間同期が取れていない異なる種類の三次元データの座標系の一例を示す図である。図35は、三次元データ情報のシンタックスの一例を示す図である。図36は、三次元空間情報のシンタックスの一例を示す図である。
 図34に示すように、符号化装置は、同一空間のデータで座標系の違いにより原点座標が異なる場合、座標の相対値(x1-x2,y1-y2,z1-z2)を算出して補正することで、これらの原点座標を合わせてもよい。符号化装置は、算出した座標の相対値を、同期情報として復号装置(端末)へ通知(送信)してもよい。
 同期情報は、メッシュデータの位置(原点)に対する点群データの位置(原点)の相対位置で示されてもよいし、点群データの位置に対するメッシュデータの位置の相対位置で示されてもよい。
 上記は、三次元モデルデータの場合でも同様である。このように、同期情報は、異なる種類の三次元データの位置(原点)の相対位置で示されてもよい。なお、三次元データの種類が3種類以上の場合、いずれか1つの種類の三次元データを基準とした相対位置が算出される。
 三次元データ情報は、図35に示すように、同期情報を示すspace_sync_informationを含んでもよい。space_sync_informationは、三次元空間の同期情報を示し、例えば、三次元空間のずれ量(基準となる座標と現在の座標との差分値、つまり相対値)を示す。
 三次元データ情報では、複数のフォーマット情報のそれぞれについて、同期情報(space_sync_information)が格納されてもよい。この場合、同期の基準となるデータフォーマットをループの先頭に配置し、2番目のループ以降に先頭のフォーマットからの同期情報(相対位置情報)が格納されてもよい。
 また、三次元空間情報は、図36に示すように、同期情報を示すspace_sync_informationを含んでもよい。三次元空間毎に空間位置がずれている場合、三次元空間毎のループに同期情報が格納されてもよい。
 図37は、端末の機能構成の一例を示す図である。
 端末1120は、復号部1121と、同期提示部1122とを備える。
 復号部1121は、三次元データ情報または三次元空間情報に基づいて、同期情報を復号する。同期提示部1122は、同期情報に基づいて三次元データの位置合わせをして提示する。
 次に、空間同期について説明する。図38は、空間同期処理の一例を示すフローチャートである。
 まず、符号化装置(サーバ)及び復号装置(端末)を含むシステムは、点群データとメッシュデータとの間で空間同期が必要か否かを判定する(S1011)。
 システムは、空間同期が必要と判定した場合(S1011でYes)、ステップS1012を実行し、空間同期が必要でないと判定した場合(S1011でNo)、ステップS1013を実行する。
 ステップS1012では、システムは、点群データとメッシュデータとの間で空間同期が取れているか否かを判定する(S1012)。
 システムは、空間同期が取れていると判定した場合(S1012でYes)、ステップS1014を実行し、空間同期が取れていないと判定した場合(S1012でNo)、ステップS1015を実行する。
 ステップS1013では、システムは、点群データとメッシュデータとを、空間同期せずに提示する(S1013)。
 ステップS1014では、システムは、同期情報に基づいて、点群データとメッシュデータとを空間同期して提示する(S1014)。
 ステップS1015では、システムは、点群データとメッシュデータとを、そのまま提示する(S1015)。
 なお、上記のステップS1011~S1012の処理は、符号化装置により行われてもよいし、復号装置により行われてもよい。ステップS1013~S1015の処理は、復号装置により行われてもよい。
 なお、上記のフローチャートは、点群データとメッシュデータとの間の空間同期処理について説明したが、三次元モデルデータについても同様に実行されてもよい。空間同期処理は、異なる種類の三次元データの間で実行されればよく、空間同期処理の対象となる三次元データの種類は限定されない。
 空間同期が必要か否かは、アプリケーションまたは用途に応じて切り替えられてもよい。例えば、計測用途で三次元データを用いる場合、正確な位置が必要であるため、空間同期が必要と判定されてもよい。
 また、ユーザに表示して提示する場合、正確な位置合わせは不要として、空間同期が不要と判定されてもよい。
 なお、位置合わせのレベルが規定されてもよく、この場合、システム(符号化装置または復号装置)は、位置合わせのレベルに基づき、同期の精度を変えてもよい。
 (その他)
 上記実施の形態では、空間同期を例に、複数の三次元データを同期する例を説明したが、それ以外にも提示時刻、復号時刻、または、取得時刻を合わせる時間同期が実行されてもよい。空間同期及び時間同期の少なくとも一方が実行されてもよい。
 また、三次元データを切り替えたときに提示する色表現を違和感なく切り替えるために、カラーマトリックス、色のビット数、HDRなどのパラメータが同一に設定されてもよい。このように、複数の三次元データの間において、属性情報の同期が取られてもよい。
 上記実施の形態では、点群データ及びメッシュデータのように異なる種類の三次元データを例に三次元データの切り替えについて説明したが、切り替えの対象となる複数の三次元データは、異なる種類の三次元データに限らない。複数の三次元データは、例えば、解像度が異なる三次元データであってもよいし、点の数が異なる複数の点群データであってもよいし、点の数または面の数が異なる複数のメッシュデータであってもよい。また、切り替えの対象となる複数の三次元データは、3以上の三次元データであってもよい。
 また、切り替えの対象となる複数の三次元データは、取得時刻の異なる複数の点群データであってもよい。切り替えの対象となる複数の三次元データは、例えば、建築現場において、施工前の点群データ、施工後の点群データ、10年後の点群データ、モデル化されたメッシュデータなどを含んでもよい。
 三次元データだけでなく、NeRFなどの三次元モデルデータが用いられてもよい。三次元モデルデータは三次元データを提示するためのモデルであり、符号化されてもよいし符号化されなくてもよい。同一空間に対する複数の三次元モデルデータにおいて切り替えられてもよいし、複数の三次元モデルデータにおいて切り替えられてもよい。この場合、上記で説明した、空間同期の方法を用いることができる。また、点群データとメッシュデータとを統合的に扱うデータフォーマットに、三次元モデルデータの識別子を追加することにより、三次元データと三次元モデルデータとを統合的に扱うことが可能となる。また、三次元データと三次元モデルデータの空間情報(原点、バウンディングボックス、分割方法など)を同一とすることで、三次元空間の領域情報を共通化でき、部分復号が容易となる。
 また、第1の解像度よりも低いメッシュデータ、第1の解像度以上のメッシュデータ、第2の解像度よりも低い点群データ、第2の解像度よりも高い点群データの順に処理対象の三次元データ(提示または伝送する三次元データ)が切り替えられてもよい。
 また、データ伝送または符号化のタイミングについて、サーバは、あらかじめ複数の三次元モデルを符号化した状態でデータを蓄積し、端末からの要求に基づき、要求に応じた三次元データを抽出してもよい。サーバは、端末からの要求があったタイミングで要求に応じた三次元データを符号化してもよい。端末は、事前に処理対象の三次元データを要求し、要求した三次元データをサーバからダウンロードしておいてもよい。これにより、端末が提示までにかかる時間を削減できる。
 また、分割された複数の三次元データのそれぞれ毎に、点群データを提示するか、メッシュデータを提示するか、三次元モデルデータを提示するか、あるいは、これらの三次元データのうちの2以上を重畳して提示するかが選択可能であってもよい。端末は、例えば、アバターの胴体部分に対応する分割データをメッシュで提示し、顔部分に対応する分割データは点群で提示することにより、より高精度な提示が可能となる。
 上記実施の形態では、三次元オブジェクトを表す三次元データとして、点群データ、メッシュデータ、及び、三次元モデルデータが例示されたが、これに限らない。例えば、三次元オブジェクトは、視線を示す視線情報と、当該視線から三次元オブジェクトを見た場合の二次元画像とをそれぞれが含む複数のセットで表されてもよい。つまり、当該複数のセットを含むデータが、三次元データの一種として扱われてもよい。また、三次元データはgaussian splattingデータなど他のフォーマットのデータであってもよい。
 図39は、復号装置の構成の一例を示す図である。図40は、復号装置による復号方法の一例を示すフローチャートである。
 復号装置1130は、回路1131と、回路1131に接続されるメモリ1132とを備える。
 回路1131は、以下の動作を行う。
 回路1131は、三次元オブジェクトを表す第1データ、及び、前記三次元オブジェクトを表す第2データを含む符号化方式の1つを示す符号化方式情報(フォーマット)と、前記三次元オブジェクトが含まれる三次元空間を示す識別情報とを含む符号化データを取得する(S1021)。次に、回路1131は、前記符号化データに基づいて、前記三次元空間に対応する、前記第1データ及び前記第2データを復号する(S1022)。次に、回路1131は、前記第1データをレンダリングして提示用の第1提示データを生成する(S1023)。次に、回路1131は、前記第2データをレンダリングして提示用の第2提示データを生成する(S1024)。次に、回路1131は、生成した前記第2提示データから前記第1提示データに切り替えて提示する(S1025)。なお、第1提示データ及び第2提示データは、例えば、レンダリング再構成部1034により生成された二次元データまたは三次元データである。
 これによれば、三次元空間に対応する第1データ及び第2データに基づいて、第1提示データ及び第2提示データを生成し、第2提示データから第1提示データに切り替えて提示するため、三次元オブジェクトを表す2つのデータの切り替えにおいて空間のズレが生じないように提示することができる。よって、第1提示データ及び第2提示データを適切に提示することができる。
 例えば、前記第1データは、前記三次元オブジェクトを表す点群データである。
 このため、第2提示データから、点群データに基づく第1提示データに切り替えて提示するため、三次元オブジェクトを表す2つのデータの切り替えにおいて空間のズレが生じないように切り替えて提示することができる。
 例えば、前記第2データは、前記三次元オブジェクトを表すメッシュデータである。
 このため、メッシュデータに基づく第2提示データから、第1提示データに切り替えて提示するため、三次元オブジェクトを表す2つのデータの切り替えにおいて空間のズレが生じないように切り替えて提示することができる。
 例えば、前記第2データは、前記三次元オブジェクトを表す三次元モデルデータである。前記三次元モデルデータは、視線及び二次元画像の複数セットを機械学習することで得られる機械学習モデルを示す。
 このため、三次元モデルデータに基づく第2提示データから、第1提示データに切り替えて提示するため、三次元オブジェクトを表す2つのデータの切り替えにおいて空間のズレが生じないように切り替えて提示することができる。
 例えば、前記第2データは、前記三次元オブジェクトを所定の視線方向から見た場合の二次元画像である。
 このため、二次元画像に基づく第2提示データから、第1提示データに切り替えて提示するため、三次元オブジェクトを表す2つのデータの切り替えにおいて空間のズレが生じないように切り替えて提示することができる。
 例えば、前記回路は、さらに、ユーザからの提示データの切り替え要求を取得する。前記回路は、前記提示において、前記切り替え要求に応じて、前記第2提示データから前記第1提示データに切り替えて提示する。
 このため、ユーザに指定されたタイミングで、切り替えを行うことができる。
 例えば、前記回路は、さらに、ユーザから提示の態様を変更させるための操作を受け付ける。前記回路は、前記提示において、前記操作に応じて前記提示の態様を変更し、変更に応じて、前記第2提示データから前記第1提示データに切り替えて提示する。
 このため、ユーザの操作に応じたタイミングで、切り替えを行うことができる。
 例えば、前記回路は、前記取得において、前記符号化データを符号化装置から通信ネットワークを介して取得する。前記回路は、前記提示において、前記通信ネットワークの帯域に応じて、前記第2提示データから前記第1提示データに切り替えて提示する。
 このため、通信ネットワークの帯域に応じて切り替えを行うことができ、例えば、通信ネットワークの帯域が所定の帯域未満から所定の帯域以上になったときに第2提示データから第1提示データに切り替えて提示することができる。
 例えば、前記回路は、前記提示において、使用可能な前記回路の能力に応じて、前記第2提示データから前記第1提示データに切り替えて提示する。
 このため、使用可能な回路の能力に応じて切り替えを行うことができ、例えば、使用可能な回路の能力が所定の能力未満から所定の能力以上になったときに第2提示データから第1提示データに切り替えて提示することができる。
 例えば、前記符号化データは、前記第1データの座標系と、前記第2データの座標系とを同期させるための同期情報を含む。前記回路は前記提示において、前記同期情報に基づいて、前記第1提示データ及び前記第2提示データを提示する。
 このため、第1提示データと第2提示データとを座標系を合わせた上で、第2提示データから第1提示データへの切り替えを行うことができる。このため、三次元オブジェクトを表す2つのデータの切り替えにおいて空間のズレがより生じないように切り替えて提示することができる。
 例えば、前記回路は、さらに、前記第1データの座標系と、前記第2データの座標系とを同期させるか否かを判定する。前記回路は、前記第1データの座標系と、前記第2データの座標系とを同期させると判定した場合、前記回路は前記提示において、前記同期情報に基づいて、前記第1提示データ及び前記第2提示データを提示する。
 このため、必要な時に同期処理を行うことができ、必要でない場合に同期処理をスキップできる。よって、処理負荷を低減できる可能性がある。
 例えば、前記第1データ及び前記第2データのそれぞれは、前記第1データ及び前記第2データにおいて共通の構成を有する。
 このため、符号化データのデータ量を小さくできる。よって、通信容量を削減することができる。
 例えば、前記符号化データは、前記三次元オブジェクトが含まれる前記三次元空間を特定するための空間情報を含む。前記回路は、さらに、前記三次元空間の一部の領域を示す対象領域を取得する。前記回路は、前記空間情報に基づいて、前記第1データのうちの一部の第1重複データであって、前記対象領域と重複する第1重複データを特定する。前記回路は、前記復号において、特定した前記第1重複データを復号する。
 このため、例えば、第1重複データのみを取得することで取得するデータの容量を小さくできる。よって、通信容量を削減することができる。また、例えば、第1重複データのみを復号することができる。よって、処理負荷を削減することができる。
 また、回路1131は図41のフローチャートに示す復号方法のように動作してもよい。図41は、復号装置による復号方法の他の一例を示すフローチャートである。
 回路1131は、前記三次元オブジェクトを表し、且つ、前記第1データの第1符号化方式と異なる第2符号化方式を示す符号化方式情報を復号する(S1031)。回路1131は、前記符号化方式情報が示す第2符号化方式の第2データを復号する(S1032)。前記第2データは、提示用の第2提示データを生成するために用いられる。
 これによれば、復号により得られた符号化方式情報が示す第2符号化方式の第2データを復号するため、適切な提示用の第2提示データを生成のための第2データを得ることができる。
 図42は、符号化装置の構成の一例を示す図である。図43は、符号化装置による符号化方法の一例を示すフローチャートである。
 符号化装置1140は、回路1141と、回路1141に接続されるメモリ1142とを備える。
 回路1141は、以下の動作を行う。
 回路1141は、前記三次元オブジェクトを表し、且つ、前期第1データの第1符号化方式と異なる第2符号化方式を示す符号化方式情報を生成する(S1041)。回路1141は、前記符号化方式情報が示す第2符号化方式の第2データを生成する(S1042)。回路1141は、前記符号化方式情報と前記第2データを含むビットストリームを生成する(S1043)。前記第2データは、提示用の第2提示データを生成するために用いられる。
 これによれば、符号化方式情報及び第2データを含むビットストリームを生成するため、当該ビットストリームを取得した復号装置は、適切な提示用の第2提示データを生成のための第2データを得ることができる。
 以上、本開示の実施の形態に係る三次元データ符号化装置及び三次元データ復号装置等について説明したが、本開示は、この実施の形態に限定されるものではない。
 また、上記実施の形態に係る符号化装置、復号装置、サーバ、端末等に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
 また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
 また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサ等のプログラム実行部が、ハードディスク又は半導体メモリ等の記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
 また、本開示は、復号装置等により実行される復号方法等として実現されてもよい。
 また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
 また、フローチャートにおける各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
 以上、一つ又は複数の態様に係る符号化装置及び復号装置等について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つ又は複数の態様の範囲内に含まれてもよい。
 本開示は、復号装置及び復号方法に適用できる。
1001 三次元データ符号化システム
1002 三次元データ復号システム
1003 センサ端末
1004 外部接続部
1011 三次元データ生成システム
1012 提示部
1013 符号化部
1014 多重化部
1015 入出力部
1016 制御部
1017 センサ情報取得部
1018 三次元データ生成部
1021 センサ情報取得部
1022 入出力部
1023 逆多重化部
1024 復号部
1025 提示部
1026 ユーザインタフェース
1027 制御部
1031 三次元モデル学習部
1032 三次元モデル符号化部
1033 三次元モデル復号部
1034 レンダリング再構成部
1041 データ分割部
1042 符号化部
1051 復号部
1052 データ結合部
1061 端末提示画面
1061a 点群ボタン
1061b メッシュボタン
1062 端末提示画面
1063 端末提示画面
1070 サーバ
1071 データ生成部
1072 点群生成部
1073 メッシュ生成部
1074 モデル生成部
1075 同期部
1076 点群符号化部
1077 メッシュ符号化部
1078 モデル符号化部
1079 多重化部
1080 データ抽出部
1090 端末
1101 点群センサ
1102 カメラ
1110 データ生成部
1111 点群生成部
1112 メッシュ生成部
1113 モデル生成部
1120 端末
1121 復号部
1122 同期提示部
1130 復号装置
1131 回路
1132 メモリ

Claims (16)

  1.  回路と、
     前記回路に接続されるメモリとを備え、
     前記回路は、動作において、
     三次元オブジェクトを表す第1データ、及び、前記三次元オブジェクトを表す第2データを含む符号化方式の1つを示す符号化方式情報と、前記三次元オブジェクトが含まれる三次元空間を示す識別情報とを含む符号化データを取得し、
     前記符号化データに基づいて、前記三次元空間に対応する、前記第1データ及び前記第2データを復号し、
     前記第1データをレンダリングして提示用の第1提示データを生成し、
     前記第2データをレンダリングして提示用の第2提示データを生成し、
     生成した前記第2提示データから前記第1提示データに切り替えて提示する
     復号装置。
  2.  前記第1データは、前記三次元オブジェクトを表す点群データである
     請求項1に記載の復号装置。
  3.  前記第2データは、前記三次元オブジェクトを表すメッシュデータである
     請求項1に記載の復号装置。
  4.  前記第2データは、前記三次元オブジェクトを表す三次元モデルデータであり、
     前記三次元モデルデータは、視線及び二次元画像の複数セットを機械学習することで得られる機械学習モデルを示す
     請求項1に記載の復号装置。
  5.  前記第2データは、前記三次元オブジェクトを所定の視線方向から見た場合の二次元画像である
     請求項1に記載の復号装置。
  6.  前記回路は、さらに、
     ユーザからの提示データの切り替え要求を取得し、
     前記提示において、前記切り替え要求に応じて、前記第2提示データから前記第1提示データに切り替えて提示する
     請求項1から5のいずれか1項に記載の復号装置。
  7.  前記回路は、さらに、
     ユーザから提示の態様を変更させるための操作を受け付け、
     前記提示において、前記操作に応じて前記提示の態様を変更し、変更に応じて、前記第2提示データから前記第1提示データに切り替えて提示する
     請求項1から5のいずれか1項に記載の復号装置。
  8.  前記回路は、
     前記取得において、前記符号化データを符号化装置から通信ネットワークを介して取得し、
     前記提示において、前記通信ネットワークの帯域に応じて、前記第2提示データから前記第1提示データに切り替えて提示する
     請求項1から5のいずれか1項に記載の復号装置。
  9.  前記回路は、
     前記提示において、使用可能な前記回路の能力に応じて、前記第2提示データから前記第1提示データに切り替えて提示する
     請求項1から5のいずれか1項に記載の復号装置。
  10.  前記符号化データは、前記第1データの座標系と、前記第2データの座標系とを同期させるための同期情報を含み、
     前記回路は前記提示において、前記同期情報に基づいて、前記第1提示データ及び前記第2提示データを提示する
     請求項1から5のいずれか1項に記載の復号装置。
  11.  前記回路は、さらに、
     前記第1データの座標系と、前記第2データの座標系とを同期させるか否かを判定し、
     前記第1データの座標系と、前記第2データの座標系とを同期させると判定した場合、前記回路は前記提示において、前記同期情報に基づいて、前記第1提示データ及び前記第2提示データを提示する
     請求項10に記載の復号装置。
  12.  前記第1データ及び前記第2データのそれぞれは、前記第1データ及び前記第2データにおいて共通の構成を有する
     請求項1から5のいずれか1項に記載の復号装置。
  13.  前記符号化データは、前記三次元オブジェクトが含まれる前記三次元空間を特定するための空間情報を含み、
     前記回路は、さらに、
     前記三次元空間の一部の領域を示す対象領域を取得し、
     前記空間情報に基づいて、前記第1データのうちの一部の第1重複データであって、前記対象領域と重複する第1重複データを特定し、
     前記復号において、特定した前記第1重複データを復号する
     請求項1から5のいずれか1項に記載の復号装置。
  14.  三次元オブジェクトを表す第1データ、及び、前記三次元オブジェクトを表す第2データを含む符号化方式の1つを示す符号化方式情報と、前記三次元オブジェクトが含まれる三次元空間を示す識別情報とを含む符号化データを取得し、
     前記符号化データに基づいて、前記第1データ及び前記第2データを復号し、
     前記第1データをレンダリングして提示用の第1提示データを生成し、
     前記第2データをレンダリングして提示用の第2提示データを生成し、
     生成した前記第2提示データから前記第1提示データに切り替えて提示する
     復号方法。
  15.  三次元オブジェクトを表す第1データを復号する復号装置において、
     回路と、
     前記回路に接続されるメモリとを備え、
     前記回路は、動作において、
     前記三次元オブジェクトを表し、且つ、前記第1データの第1符号化方式と異なる第2符号化方式を示す符号化方式情報を復号し、
     前記符号化方式情報が示す第2符号化方式の第2データを復号し、
     前記第2データは、提示用の第2提示データを生成するために用いられる
     復号装置。
  16.  三次元オブジェクトを表す第1データを符号化する符号化装置において、
     回路と、
     前記回路に接続されるメモリとを備え、
     前記回路は、動作において、
     前記三次元オブジェクトを表し、且つ、前期第1データの第1符号化方式と異なる第2符号化方式を示す符号化方式情報を生成し、
     前記符号化方式情報が示す第2符号化方式の第2データを生成し、
     前記符号化方式情報と前記第2データを含むビットストリームを生成し、
     前記第2データは、提示用の第2提示データを生成するために用いられる
     符号化装置。
PCT/JP2024/021291 2023-06-12 2024-06-12 復号装置、復号方法、及び、符号化装置 Ceased WO2024257784A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202480036898.XA CN121286014A (zh) 2023-06-12 2024-06-12 解码装置、解码方法及编码装置
EP24823399.1A EP4727133A1 (en) 2023-06-12 2024-06-12 Decoding device, decoding method, and encoding device
JP2025527958A JPWO2024257784A1 (ja) 2023-06-12 2024-06-12
US19/404,294 US20260087678A1 (en) 2023-06-12 2025-12-01 Decoding device, decoding method, and encoding device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202363472386P 2023-06-12 2023-06-12
US63/472,386 2023-06-12

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US19/404,294 Continuation US20260087678A1 (en) 2023-06-12 2025-12-01 Decoding device, decoding method, and encoding device

Publications (1)

Publication Number Publication Date
WO2024257784A1 true WO2024257784A1 (ja) 2024-12-19

Family

ID=93852252

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2024/021291 Ceased WO2024257784A1 (ja) 2023-06-12 2024-06-12 復号装置、復号方法、及び、符号化装置

Country Status (5)

Country Link
US (1) US20260087678A1 (ja)
EP (1) EP4727133A1 (ja)
JP (1) JPWO2024257784A1 (ja)
CN (1) CN121286014A (ja)
WO (1) WO2024257784A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014020663A1 (ja) 2012-07-30 2014-02-06 三菱電機株式会社 地図表示装置
JP2016513437A (ja) * 2013-02-28 2016-05-12 エルジー エレクトロニクス インコーポレイティド 信号送受信装置および信号送受信方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014020663A1 (ja) 2012-07-30 2014-02-06 三菱電機株式会社 地図表示装置
JP2016513437A (ja) * 2013-02-28 2016-05-12 エルジー エレクトロニクス インコーポレイティド 信号送受信装置および信号送受信方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AOKI, SHUICHI; YUJI, OHKAWA; YOSHIRO, TAKIGUCHI: "Development of rendering system for immersive media for presentation on various types of devices", IPSJ SIG TECHNICAL REPORT (CSEC), vol. 2023-AVM-120, no. 14, 21 February 2023 (2023-02-21), pages 1 - 6, XP009559756, ISSN: 2188-8655 *

Also Published As

Publication number Publication date
CN121286014A (zh) 2026-01-06
US20260087678A1 (en) 2026-03-26
EP4727133A1 (en) 2026-04-15
JPWO2024257784A1 (ja) 2024-12-19

Similar Documents

Publication Publication Date Title
EP4290868B1 (en) 3d object streaming method, device, and program
CN110419224B (zh) 消费视频内容的方法、电子设备和服务器
US20210006806A1 (en) An apparatus, a method and a computer program for volumetric video
JP7771318B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
CN116233493B (zh) 沉浸媒体的数据处理方法、装置、设备及可读存储介质
KR102499904B1 (ko) 가상 현실 미디어 콘텐트 내에 포함시키기 위해 실세계 장면의 맞춤화된 뷰의 가상화된 투영을 생성하기 위한 방법들 및 시스템들
JP7656134B2 (ja) 三次元データ処理方法及び三次元データ処理装置
JP2025031761A (ja) 三次元データ格納方法、三次元データ取得方法、三次元データ格納装置、及び三次元データ取得装置
US20230206575A1 (en) Rendering a virtual object in spatial alignment with a pose of an electronic device
CN114095737B (zh) 媒体文件封装及解封装方法、装置、设备及存储介质
US20260101063A1 (en) Encoding device, decoding device, encoding method, and decoding method
WO2024257784A1 (ja) 復号装置、復号方法、及び、符号化装置
WO2024257786A1 (ja) 復号装置、復号方法、符号化装置、符号化方法、及び、装置
WO2025079587A1 (ja) 符号化装置、復号装置、符号化方法、及び、復号方法
WO2025079598A1 (ja) 符号化装置、復号装置、符号化方法、及び、復号方法
CN115481280B (zh) 容积视频的数据处理方法、装置、设备及可读存储介质
WO2025079588A1 (ja) 符号化装置、復号装置、符号化方法、及び、復号方法
JP2024165003A (ja) シーン記述編集装置及びプログラム
HK40064620A (en) Data processing method, apparatus, device and readable storage medium for immersive media
CN121151590A (zh) 媒体文件封装与解封装方法、装置、设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24823399

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2025527958

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2025527958

Country of ref document: JP

ENP Entry into the national phase

Ref document number: 2024823399

Country of ref document: EP

Effective date: 20260112

WWE Wipo information: entry into national phase

Ref document number: 2024823399

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2024823399

Country of ref document: EP

Effective date: 20260112

ENP Entry into the national phase

Ref document number: 2024823399

Country of ref document: EP

Effective date: 20260112

ENP Entry into the national phase

Ref document number: 2024823399

Country of ref document: EP

Effective date: 20260112

ENP Entry into the national phase

Ref document number: 2024823399

Country of ref document: EP

Effective date: 20260112

WWP Wipo information: published in national office

Ref document number: 2024823399

Country of ref document: EP