WO2020032004A1 - 三次元データ格納方法、三次元データ取得方法、三次元データ格納装置、及び三次元データ取得装置 - Google Patents

三次元データ格納方法、三次元データ取得方法、三次元データ格納装置、及び三次元データ取得装置 Download PDF

Info

Publication number
WO2020032004A1
WO2020032004A1 PCT/JP2019/030842 JP2019030842W WO2020032004A1 WO 2020032004 A1 WO2020032004 A1 WO 2020032004A1 JP 2019030842 W JP2019030842 W JP 2019030842W WO 2020032004 A1 WO2020032004 A1 WO 2020032004A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
data
encoding
encoding method
information
Prior art date
Application number
PCT/JP2019/030842
Other languages
English (en)
French (fr)
Inventor
賀敬 井口
敏康 杉尾
Original Assignee
パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
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 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ filed Critical パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
Priority to CN201980051434.5A priority Critical patent/CN112513938A/zh
Priority to JP2020535779A priority patent/JPWO2020032004A1/ja
Priority to KR1020247000719A priority patent/KR20240010535A/ko
Priority to KR1020217003077A priority patent/KR102624513B1/ko
Priority to EP19846402.6A priority patent/EP3836087A4/en
Publication of WO2020032004A1 publication Critical patent/WO2020032004A1/ja
Priority to US17/132,619 priority patent/US11477482B2/en
Priority to US17/942,274 priority patent/US11856154B2/en
Priority to US18/378,311 priority patent/US20240040149A1/en

Links

Images

Classifications

    • 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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/189Recording image signals; Reproducing recorded image signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • 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
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit

Definitions

  • the present disclosure relates to a three-dimensional data storage method, a three-dimensional data acquisition method, a three-dimensional data storage device, and a three-dimensional data acquisition device.
  • In a wide range of fields, such as computer vision, map information, monitoring, infrastructure inspection, and video distribution for autonomous operation of automobiles or robots, devices or services utilizing three-dimensional data are expected to spread in the future.
  • the three-dimensional data is acquired by various methods such as a distance sensor such as a range finder, a stereo camera, or a combination of a plurality of monocular cameras.
  • One of the three-dimensional data representation methods is a representation method called a point cloud that represents the shape of a three-dimensional structure by a point group in a three-dimensional space.
  • the position and color of the point cloud are stored.
  • Point clouds are expected to become mainstream as a method of expressing three-dimensional data, but point clouds have a very large data volume. Therefore, in the storage or transmission of three-dimensional data, it is necessary to compress the amount of data by encoding, as in the case of two-dimensional video (for example, MPEG-4 @ AVC or HEVC standardized by MPEG). Become.
  • ⁇ Point cloud compression ⁇ is partially supported by a public library (Point ⁇ Cloud ⁇ Library) that performs point cloud related processing.
  • Patent Document 1 a technique for searching for and displaying facilities located around the vehicle using three-dimensional map data is known (for example, see Patent Document 1).
  • the present disclosure relates to a three-dimensional data storage method, a three-dimensional data acquisition method, a three-dimensional data storage device, or a three-dimensional data acquisition device that can realize a reduction in processing amount or a high-speed processing in a device that processes three-dimensional data.
  • the purpose is to provide.
  • the three-dimensional data storage method includes acquiring one or more units storing an encoded stream in which point cloud data is encoded, storing the one or more units in a file, and storing the one or more units in a file. Then, information indicating that the data stored in the file is data obtained by encoding point cloud data is stored in the control information of the file.
  • the three-dimensional data acquisition method obtains a file storing one or more units storing an encoded stream in which point cloud data is encoded, and from the file, A unit is obtained, and the control information of the file includes information indicating that data stored in the file is data obtained by encoding point cloud data.
  • the present disclosure relates to a three-dimensional data storage method, a three-dimensional data acquisition method, a three-dimensional data storage device, or a three-dimensional data acquisition device that can realize a reduction in processing amount or a high-speed processing in a device that processes three-dimensional data. Can be provided.
  • FIG. 1 is a diagram showing a configuration of a three-dimensional data encoding / decoding system according to Embodiment 1.
  • FIG. 2 is a diagram illustrating a configuration example of the point cloud data according to the first embodiment.
  • FIG. 3 is a diagram illustrating a configuration example of a data file in which point cloud data information according to the first embodiment is described.
  • FIG. 4 is a diagram showing types of point cloud data according to the first embodiment.
  • FIG. 5 is a diagram illustrating a configuration of a first encoding unit according to Embodiment 1.
  • FIG. 6 is a block diagram of a first encoding unit according to Embodiment 1.
  • FIG. 7 is a diagram illustrating a configuration of the first decoding unit according to Embodiment 1.
  • FIG. 1 is a diagram showing a configuration of a three-dimensional data encoding / decoding system according to Embodiment 1.
  • FIG. 2 is a diagram illustrating a configuration example of the point cloud data according to the first
  • FIG. 8 is a block diagram of a first decoding unit according to Embodiment 1.
  • FIG. 9 is a diagram illustrating a configuration of a second encoding unit according to Embodiment 1.
  • FIG. 10 is a block diagram of a second encoding unit according to Embodiment 1.
  • FIG. 11 is a diagram illustrating a configuration of the second decoding unit according to Embodiment 1.
  • FIG. 12 is a block diagram of the second decoding unit according to Embodiment 1.
  • FIG. 13 is a diagram showing a protocol stack related to PCC encoded data according to the first embodiment.
  • FIG. 14 is a diagram illustrating a protocol stack according to the first embodiment.
  • FIG. 15 is a diagram illustrating a syntax example of the NAL unit according to the first embodiment.
  • FIG. 16 is a diagram illustrating a syntax example of the NAL unit header according to the first embodiment.
  • FIG. 17 is a diagram illustrating an example of the semantics of pcc_codec_type according to the first embodiment.
  • FIG. 18 is a diagram illustrating an example of the semantics of pcc_nal_unit_type according to the first embodiment.
  • FIG. 19 is a flowchart of the encoding process according to Embodiment 1.
  • FIG. 20 is a flowchart of a decoding process performed by the second decoding unit according to Embodiment 1.
  • FIG. 21 is a flowchart of a decoding process performed by the first decoding unit according to Embodiment 1.
  • FIG. 22 is a diagram illustrating a protocol stack according to the second embodiment.
  • FIG. 23 is a diagram illustrating a syntax example of a NAL unit for the codec 2 according to Embodiment 2.
  • FIG. 24 is a diagram illustrating a syntax example of a NAL unit header for the codec 2 according to the second embodiment.
  • FIG. 25 is a diagram illustrating an example of the semantics of codec2_nal_unit_type according to the second embodiment.
  • FIG. 26 is a diagram illustrating a syntax example of a NAL unit for the codec 1 according to Embodiment 2.
  • FIG. 27 is a diagram illustrating a syntax example of a NAL unit header for the codec 1 according to Embodiment 2.
  • FIG. 28 is a diagram illustrating an example of the semantics of codec1_nal_unit_type according to the second embodiment.
  • FIG. 29 is a flowchart of an encoding process according to Embodiment 2.
  • FIG. 30 is a flowchart of a decoding process according to Embodiment 2.
  • FIG. 31 is a diagram illustrating a protocol stack according to the third embodiment.
  • FIG. 32 is a diagram illustrating a syntax example of the NAL unit according to the third embodiment.
  • FIG. 33 is a diagram illustrating a syntax example of a NAL unit header according to the third embodiment.
  • FIG. 34 is a diagram illustrating an example of the semantics of pcc_nal_unit_type according to the third embodiment.
  • FIG. 35 is a flowchart of an encoding process according to Embodiment 3.
  • FIG. 36 is a flowchart of a decoding process according to Embodiment 3.
  • FIG. 37 is a flowchart of an encoding process according to a modification of the embodiment.
  • FIG. 38 is a flowchart of a decoding process according to a modification of the embodiment.
  • FIG. 39 is a block diagram of an encoding unit according to Embodiment 4.
  • FIG. 40 is a block diagram of a decoding unit according to Embodiment 4.
  • FIG. 41 is a flowchart of an encoding process according to Embodiment 4.
  • FIG. 42 is a flowchart of a decoding process according to Embodiment 4.
  • FIG. 43 is a diagram showing a basic structure of the ISOBMFF according to the fifth embodiment.
  • FIG. 44 is a diagram illustrating a protocol stack according to the fifth embodiment.
  • FIG. 45 is a diagram illustrating an example in which the NAL unit according to the fifth embodiment is stored in a file for codec 1.
  • FIG. 46 is a diagram illustrating an example in which the NAL unit according to the fifth embodiment is stored in a file for codec 2.
  • FIG. 47 is a diagram illustrating a configuration of a first multiplexing unit according to Embodiment 5.
  • FIG. 48 is a diagram illustrating a configuration of a first demultiplexing unit according to Embodiment 5.
  • FIG. 49 is a diagram illustrating a configuration of a second multiplexing unit according to Embodiment 5.
  • FIG. 50 is a diagram illustrating a configuration of a second demultiplexing unit according to Embodiment 5.
  • FIG. 51 is a flowchart of a process performed by the first multiplexing unit according to Embodiment 5.
  • FIG. 52 is a flowchart of processing by the second multiplexing unit according to Embodiment 5.
  • FIG. 53 is a flowchart of a process performed by the first demultiplexing unit and the first decoding unit according to Embodiment 5.
  • FIG. 54 is a flowchart of a process performed by the second demultiplexing unit and the second decoding unit according to Embodiment 5.
  • FIG. 55 is a diagram illustrating configurations of an encoding unit and a third multiplexing unit according to Embodiment 6.
  • FIG. 56 is a diagram illustrating a configuration of a third demultiplexing unit and a decoding unit according to Embodiment 6.
  • FIG. 57 is a flowchart of processing by the third multiplexing unit according to Embodiment 6.
  • FIG. 58 is a flowchart of processing by the third demultiplexing unit and the decoding unit according to Embodiment 6.
  • FIG. 59 is a flowchart of a process performed by the three-dimensional data storage device according to the sixth embodiment.
  • FIG. 60 is a flowchart of a process performed by the three-dimensional data acquisition device according to the sixth embodiment.
  • the three-dimensional data storage method includes acquiring one or more units storing an encoded stream in which point cloud data is encoded, storing the one or more units in a file, and storing the one or more units in a file. Then, information indicating that the data stored in the file is data obtained by encoding point cloud data is stored in the control information of the file.
  • the data stored in the file is encoded data of the point cloud data by referring to the control information of the file. It can be determined early whether or not. Therefore, it is possible to reduce the processing amount of the apparatus or increase the processing speed.
  • the information may further indicate an encoding method used for encoding the point cloud data, of the first encoding method and the second encoding method.
  • the apparatus that processes the file generated by the three-dimensional data storage method can early determine the codec used for the data stored in the file with reference to the control information of the file. Therefore, it is possible to reduce the processing amount of the apparatus or increase the processing speed.
  • the first encoding method encodes position information in which the position of point cloud data is represented by an N (N is an integer of 2 or more) binary tree, and encodes attribute information using the position information.
  • the second encoding method may be a method of generating a two-dimensional image from point cloud data and encoding the two-dimensional image using a video encoding method.
  • the file may conform to ISOBMFF (ISO based media file format).
  • the three-dimensional data acquisition method obtains a file storing one or more units storing an encoded stream in which point cloud data is encoded, and from the file, A unit is obtained, and the control information of the file includes information indicating that data stored in the file is data obtained by encoding point cloud data.
  • the three-dimensional data acquisition method can early determine whether or not the data stored in the file is the encoded data of the point cloud data. Therefore, it is possible to reduce the amount of processing or increase the processing speed of the device that performs the three-dimensional data acquisition method or the subsequent device.
  • the information may further indicate an encoding method used for the encoding, of the first encoding method and the second encoding method.
  • the three-dimensional data acquisition method can early determine the codec used for the data stored in the file with reference to the control information of the file. Therefore, it is possible to reduce the amount of processing or increase the processing speed of the device that performs the three-dimensional data acquisition method or the subsequent device.
  • one of the encoded point cloud data including the data encoded by the first encoding method and the data encoded by the second encoding method may be obtained.
  • the first encoding method encodes position information in which the position of point cloud data is represented by an N (N is an integer of 2 or more) binary tree, and encodes attribute information using the position information.
  • the second encoding method may be a method of generating a two-dimensional image from point cloud data and encoding the two-dimensional image using a video encoding method.
  • the file may conform to ISOBMFF (ISO based media file format).
  • a three-dimensional data storage device includes a processor and a memory, and the processor uses the memory to store an encoded stream in which point cloud data is encoded. Obtaining the above units, storing the one or more units in a file, and storing the information indicating that the data stored in the file is data obtained by encoding point cloud data. Store in file control information.
  • the data stored in the file is encoded data of the point cloud data with reference to the control information of the file. It can be determined early whether or not. Therefore, it is possible to reduce the processing amount of the apparatus or increase the processing speed.
  • a three-dimensional data acquisition device includes a processor and a memory, wherein the processor uses the memory to store an encoded stream in which point cloud data is encoded.
  • the above-mentioned unit obtains a file stored therein, the file obtains the one or more units, and the control information of the file is such that the data stored in the file is the point cloud data encoded. Contains information that indicates data.
  • the three-dimensional data acquisition device can early determine whether or not the data stored in the file is the encoded data of the point cloud data. Therefore, it is possible to reduce the processing amount or increase the processing speed of the three-dimensional data acquisition device or the subsequent device.
  • a recording medium such as a system, a method, an integrated circuit, a computer program or a computer-readable CD-ROM, and the system, the method, the integrated circuit, and the computer program. And any combination of recording media.
  • a three-dimensional data encoding method and a three-dimensional data encoding device for providing a function of transmitting and receiving necessary information according to a use in encoded data of a three-dimensional point cloud
  • the code Data decoding method and three-dimensional data decoding device for decoding encoded data, three-dimensional data multiplexing method for multiplexing the encoded data, and three-dimensional data transmission method for transmitting the encoded data are described. I do.
  • a first encoding method and a second encoding method are being studied as an encoding method (encoding method) of the point cloud data, but a configuration of the encoded data and a system for encoding the encoded data are described.
  • a method of storing data in a format is not defined, and MUX processing (multiplexing), or transmission or storage in the encoding unit cannot be performed as it is.
  • FIG. 1 is a diagram illustrating a configuration example of a three-dimensional data encoding / decoding system according to the present embodiment.
  • the three-dimensional data encoding / decoding system includes a three-dimensional data encoding system 4601, a three-dimensional data decoding system 4602, a sensor terminal 4603, and an external connection unit 4604.
  • the three-dimensional data encoding system 4601 generates encoded data or multiplexed data by encoding point cloud data that is three-dimensional data.
  • the three-dimensional data encoding system 4601 may be a three-dimensional data encoding device realized by a single device, or may be a system realized by a plurality of devices. Further, the three-dimensional data encoding device may include a part of a plurality of processing units included in the three-dimensional data encoding system 4601.
  • the three-dimensional data encoding system 4601 includes a point cloud data generation system 4611, a presentation unit 4612, an encoding unit 4613, a multiplexing unit 4614, an input / output unit 4615, and a control unit 4616.
  • the point cloud data generation system 4611 includes a sensor information acquisition unit 4617 and a point cloud data generation unit 4618.
  • the sensor information acquisition unit 4617 acquires sensor information from the sensor terminal 4603 and outputs the sensor information to the point cloud data generation unit 4618.
  • the point cloud data generation unit 4618 generates point cloud data from the sensor information, and outputs the point cloud data to the encoding unit 4613.
  • the presenting unit 4612 presents the sensor information or the point cloud data to the user. For example, the presentation unit 4612 displays information or an image based on the sensor information or the point cloud data.
  • the encoding unit 4613 encodes (compresses) the point cloud data, and outputs the obtained encoded data, the control information obtained in the encoding process, and other additional information to the multiplexing unit 4614.
  • the additional information includes, for example, sensor information.
  • the multiplexing unit 4614 generates multiplexed data by multiplexing the encoded data input from the encoding unit 4613, control information, and 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 4615 (for example, a communication unit or an interface) outputs multiplexed data to the outside.
  • the multiplexed data is stored in a storage unit such as an internal memory.
  • the control unit 4616 (or the application execution unit) controls each processing unit. That is, the control unit 4616 performs control such as encoding and multiplexing.
  • the sensor information may be input to the encoding unit 4613 or the multiplexing unit 4614. Further, the input / output unit 4615 may output the point cloud data or the encoded data to the outside as it is.
  • the transmission signal (multiplexed data) output from the three-dimensional data encoding system 4601 is input to the three-dimensional data decoding system 4602 via the external connection unit 4604.
  • the three-dimensional data decoding system 4602 generates point cloud data as three-dimensional data by decoding encoded data or multiplexed data.
  • the three-dimensional data decoding system 4602 may be a three-dimensional data decoding device realized by a single device, or may be a system realized by a plurality of devices. Further, the three-dimensional data decoding device may include a part of a plurality of processing units included in the three-dimensional data decoding system 4602.
  • the three-dimensional data decoding system 4602 includes a sensor information acquisition unit 4621, an input / output unit 4622, a demultiplexing unit 4623, a decoding unit 4624, a presentation unit 4625, a user interface 4626, and a control unit 4627.
  • the sensor information acquisition unit 4621 acquires sensor information from the sensor terminal 4603.
  • the input / output unit 4622 acquires the transmission signal, decodes the multiplexed data (file format or packet) from the transmission signal, and outputs the multiplexed data to the demultiplexing unit 4623.
  • Demultiplexing section 4623 acquires encoded data, control information, and additional information from the multiplexed data, and outputs the encoded data, control information, and additional information to decoding section 4624.
  • the decoding unit 4624 reconstructs the point cloud data by decoding the encoded data.
  • the presentation unit 4625 presents the point cloud data to the user. For example, the presentation unit 4625 displays information or an image based on the point cloud data.
  • the user interface 4626 acquires an instruction based on a user operation.
  • the control unit 4627 (or the application execution unit) controls each processing unit. That is, the control unit 4627 performs control such as demultiplexing, decoding, and presentation.
  • the input / output unit 4622 may acquire the point cloud data or the encoded data from outside as it is.
  • the presentation unit 4625 may acquire additional information such as sensor information and present information based on the additional information. Further, the presentation unit 4625 may perform the presentation based on the user's instruction acquired by the user interface 4626.
  • the sensor terminal 4603 generates sensor information which is information obtained by the sensor.
  • the sensor terminal 4603 is a terminal equipped with a sensor or a camera, and includes, for example, a moving object such as a car, a flying object such as an airplane, a mobile terminal, or a camera.
  • the sensor information that can be acquired by the sensor terminal 4603 includes, for example, (1) the distance between the sensor terminal 4603 and the target, or the reflectance of the target obtained from a LIDAR, a millimeter wave radar, or an infrared sensor; The distance between the camera and the object obtained from the monocular camera image or the stereo camera image of the object or the reflectance of the object.
  • the sensor information may include a posture, an orientation, a gyro (angular velocity), a position (GPS information or altitude), a speed, an acceleration, and the like of the sensor.
  • the sensor information may include temperature, pressure, humidity, magnetism, and the like.
  • the external connection unit 4604 is realized by communication with an integrated circuit (LSI or IC), an external storage unit, a cloud server via the Internet, or broadcasting.
  • LSI or IC integrated circuit
  • IC integrated circuit
  • cloud server via the Internet
  • FIG. 2 is a diagram illustrating a configuration of the point cloud data.
  • FIG. 3 is a diagram illustrating a configuration example of a data file in which information of point cloud data is described.
  • Point cloud data includes data of a plurality of points.
  • the data of each point includes position information (three-dimensional coordinates) and attribute information for the position information.
  • a collection of multiple points is called a point group.
  • a point cloud indicates a three-dimensional shape of an object.
  • Position information such as three-dimensional coordinates may be referred to as geometry.
  • the data of each point may include attribute information (attributes) of a plurality of attribute types.
  • the attribute type is, for example, color or reflectance.
  • One piece of attribute information may be associated with one piece of location information, or attribute information having a plurality of different attribute types may be associated with one piece of location information. Further, a plurality of pieces of attribute information of the same attribute type may be associated with one piece of position information.
  • the configuration example of the data file shown in FIG. 3 is an example in which the position information and the attribute information correspond one-to-one, and shows the position information and the attribute information of N points constituting the point group data. I have.
  • the position information is, for example, information on three axes of x, y, and z.
  • the attribute information is, for example, RGB color information.
  • a typical data file is a ply file.
  • FIG. 4 is a diagram illustrating types of point cloud data.
  • the point cloud data includes a static object and a dynamic object.
  • a static object is three-dimensional point cloud data at an arbitrary time (a certain time).
  • a dynamic object is three-dimensional point cloud data that changes over time.
  • the three-dimensional point cloud data at a certain time is referred to as a PCC frame or a frame.
  • the object may be a point cloud whose area is restricted to some extent like ordinary video data, or a large-scale point cloud whose area is not restricted like map information.
  • point cloud data having various densities
  • sparse point cloud data and dense point cloud data may exist.
  • the sensor information is obtained by various methods such as a distance sensor such as a LIDAR or a range finder, a stereo camera, or a combination of a plurality of monocular cameras.
  • the point cloud data generation unit 4618 generates point cloud data based on the sensor information obtained by the sensor information acquisition unit 4617.
  • the point group data generation unit 4618 generates position information as point group data, and adds attribute information to the position information to the position information.
  • the point cloud data generation unit 4618 may process the point cloud data when generating position information or adding attribute information. For example, the point cloud data generation unit 4618 may reduce the data amount by deleting the point cloud whose position is duplicated. In addition, the point cloud data generation unit 4618 may convert the position information (position shift, rotation, normalization, or the like), or may render attribute information.
  • the point cloud data generation system 4611 is included in the three-dimensional data encoding system 4601, but may be provided independently outside the three-dimensional data encoding system 4601.
  • the coding unit 4613 generates coded data by coding the point cloud data based on a predetermined coding method.
  • a predetermined coding method There are roughly the following two types of encoding methods. The first is an encoding method using position information, and this encoding method is hereinafter referred to as a first encoding method.
  • the second is an encoding method using a video codec, and this encoding method is hereinafter referred to as a second encoding method.
  • the decoding unit 4624 decodes the point cloud data by decoding the coded data based on a predetermined coding method.
  • the multiplexing unit 4614 generates multiplexed data by multiplexing the coded data using an existing multiplexing method.
  • the generated multiplexed data is transmitted or stored.
  • the multiplexing unit 4614 multiplexes other media such as video, audio, subtitles, applications, and files, or reference time information, in addition to the PCC encoded data. Further, the multiplexing unit 4614 may further multiplex attribute information related to sensor information or point cloud data.
  • ISOBMFF As a multiplexing method or a file format, there are ISOBMFF, MPEG-DASH, MMT, MPEG-2 TS Systems, RMP and the like which are transmission methods based on ISOBMFF.
  • the demultiplexer 4623 extracts PCC encoded data, other media, time information, and the like from the multiplexed data.
  • the input / output unit 4615 transmits the multiplexed data using a method suitable for a transmission medium or a storage medium, such as broadcast or communication.
  • the input / output unit 4615 may communicate with another device via the Internet, or may communicate with a storage unit such as a cloud server.
  • http As a communication protocol, http, ftp, TCP, UDP, or the like is used.
  • a PULL type communication system may be used, or a PUSH type communication system may be used.
  • Either wired transmission or wireless transmission may be used.
  • Ethernet registered trademark
  • USB registered trademark
  • RS-232C HDMI
  • coaxial cable or the like
  • wireless transmission wireless LAN, Wi-Fi (registered trademark), Bluetooth (registered trademark), millimeter wave, or the like is used.
  • DVB-T2 DVB-S2, DVB-C2, ATSC3.0, ISDB-S3, or the like is used.
  • FIG. 5 is a diagram illustrating a configuration of a first encoding unit 4630 which is an example of the encoding unit 4613 that performs encoding according to the first encoding method.
  • FIG. 6 is a block diagram of the first encoding unit 4630.
  • the first encoding unit 4630 generates encoded data (encoded stream) by encoding the point cloud data using the first encoding method.
  • This first encoding section 4630 includes a position information encoding section 4631, an attribute information encoding section 4632, an additional information encoding section 4633, and a multiplexing section 4634.
  • the first encoding unit 4630 has a feature that encoding is performed with consideration for a three-dimensional structure. Further, the first encoding unit 4630 has a feature that the attribute information encoding unit 4632 performs encoding using information obtained from the position information encoding unit 4631.
  • the first encoding method is also called GPCC (Geometry @ based @ PCC).
  • the point cloud data is PCC point cloud data such as a PLY file or PCC point cloud data generated from sensor information, and includes position information (Position), attribute information (Attribute), and other additional information (MetaData). including.
  • the position information is input to the position information encoding unit 4631, the attribute information is input to the attribute information encoding unit 4632, and the additional information is input to the additional information encoding unit 4633.
  • the position information coding unit 4631 generates coded position information (compressed Geometry), which is coded data, by coding the position information.
  • the position information encoding unit 4631 encodes the position information using an N-ary tree structure such as an octant tree.
  • the target space is divided into eight nodes (subspaces), and 8-bit information (occupancy code) indicating whether or not each node includes a point cloud is generated.
  • the node including the point group is further divided into eight nodes, and 8-bit information indicating whether or not each of the eight nodes includes the point group is generated. This process is repeated until the number of point groups included in the predetermined hierarchy or node becomes equal to or less than the threshold value.
  • the attribute information coding unit 4632 generates coded attribute information (Compressed Attribute) which is coded data by coding using the configuration information generated by the position information coding unit 4631. For example, the attribute information encoding unit 4632 determines a reference point (reference node) to be referred to in encoding the processing target point (target node) based on the octree structure generated by the position information encoding unit 4631. I do. For example, the attribute information encoding unit 4632 refers to a node whose parent node in the octree is the same as the target node, among the neighboring nodes or adjacent nodes. The method for determining the reference relationship is not limited to this.
  • the encoding process of the attribute information may include at least one of a quantization process, a prediction process, and an arithmetic encoding process.
  • the reference refers to using the reference node for calculating the predicted value of the attribute information, or the state of the reference node for determining the encoding parameter (for example, occupancy indicating whether or not the reference node includes a point cloud). Information).
  • the encoding parameter is a quantization parameter in a quantization process, a context in arithmetic encoding, or the like.
  • the additional information encoding unit 4633 generates encoded additional information (Compressed MetaData), which is encoded data, by encoding compressible data in the additional information.
  • Compressed MetaData encoded additional information
  • the multiplexing unit 4634 multiplexes the coding position information, the coding attribute information, the coded additional information, and other additional information to generate a coded stream (Compressed $ Stream) that is coded data.
  • the generated encoded stream is output to a processing unit of a system layer (not shown).
  • FIG. 7 is a diagram illustrating a configuration of the first decoding unit 4640.
  • FIG. 8 is a block diagram of the first decoding unit 4640.
  • the first decoding unit 4640 generates point cloud data by decoding the coded data (coded stream) coded by the first coding method by the first coding method.
  • the first decoding unit 4640 includes a demultiplexing unit 4641, a position information decoding unit 4642, an attribute information decoding unit 4643, and an additional information decoding unit 4644.
  • a coded stream (CompressedmStream), which is coded data, is input to a first decoding unit 4640 from a processing unit of a system layer (not shown).
  • the demultiplexing unit 4641 separates coded position information (Compressed Geometry), coded attribute information (Compressed Attributes), coded additional information (Compressed MetaData), and other additional information from the coded data.
  • coded position information Compressed Geometry
  • coded attribute information Compressed Attributes
  • coded additional information Compressed MetaData
  • the position information decoding unit 4642 generates position information by decoding the encoded position information. For example, the position information decoding unit 4642 restores position information of a point group represented by three-dimensional coordinates from encoded position information represented by an N-ary tree structure such as an octant tree.
  • the attribute information decoding unit 4643 decodes the encoded attribute information based on the configuration information generated by the position information decoding unit 4642. For example, the attribute information decoding unit 4643 determines a reference point (reference node) to be referred to in decoding the target point (target node) to be processed based on the octree structure obtained by the position information decoding unit 4642. For example, the attribute information decoding unit 4643 refers to a node whose parent node in the octree is the same as the target node among the peripheral nodes and the adjacent nodes. The method for determining the reference relationship is not limited to this.
  • the decoding process of the attribute information may include at least one of an inverse quantization process, a prediction process, and an arithmetic decoding process.
  • the reference means that the reference node is used for calculating the predicted value of the attribute information, or the state of the reference node (for example, occupancy information indicating whether or not the reference node includes a point cloud) in determining the decoding parameter.
  • the decoding parameter is a quantization parameter in the inverse quantization process, a context in the arithmetic decoding, or the like.
  • the additional information decoding unit 4644 generates additional information by decoding the encoded additional information. Further, first decoding section 4640 uses additional information necessary for decoding position information and attribute information at the time of decoding, and outputs additional information necessary for an application to the outside.
  • FIG. 9 is a diagram illustrating a configuration of the second encoding unit 4650.
  • FIG. 10 is a block diagram of the second encoding unit 4650.
  • the second encoding unit 4650 generates encoded data (encoded stream) by encoding the point cloud data by the second encoding method.
  • the second encoding unit 4650 includes an additional information generation unit 4651, a position image generation unit 4652, an attribute image generation unit 4653, a video encoding unit 4654, an additional information encoding unit 4655, and a multiplexing unit 4656.
  • the second encoding unit 4650 generates a position image and an attribute image by projecting a three-dimensional structure onto a two-dimensional image, and encodes the generated position image and the attribute image using an existing video encoding method. It has the feature of.
  • the second encoding method is also called VPCC (Video based PCC).
  • the point cloud data is PCC point cloud data such as a PLY file or PCC point cloud data generated from sensor information, and includes position information (Position), attribute information (Attribute), and other additional information MetaData. Including.
  • the additional information generation unit 4651 generates map information of a plurality of two-dimensional images by projecting a three-dimensional structure onto a two-dimensional image.
  • the position image generation unit 4652 generates a position image (Geometry @ Image) based on the position information and the map information generated by the additional information generation unit 4651.
  • This position image is, for example, a distance image in which a distance (Depth) is indicated as a pixel value.
  • the distance image may be an image in which a plurality of point groups are viewed from one viewpoint (an image in which a plurality of point groups are projected on one two-dimensional plane), or a plurality of point groups may be viewed from a plurality of viewpoints. Or a single image obtained by integrating the plurality of images.
  • the attribute image generation unit 4653 generates an attribute image based on the attribute information and the map information generated by the additional information generation unit 4651.
  • the attribute image is, for example, an image in which attribute information (for example, color (RGB)) is indicated as a pixel value.
  • RGB color
  • This image may be an image in which a plurality of point groups are viewed from one viewpoint (an image in which a plurality of point groups are projected on one two-dimensional plane), or a plurality of point groups may be viewed from a plurality of viewpoints. It may be a plurality of viewed images or a single image obtained by integrating these plurality of images.
  • the video encoding unit 4654 encodes the position image and the attribute image using the video encoding method, so that the encoded position image (Compressed Geometry Image) and the encoded attribute image (Compressed Attribute Image) are encoded data. ).
  • the video encoding method is AVC or HEVC.
  • the additional information encoding unit 4655 generates encoded additional information (Compressed @ MetaData) by encoding additional information, map information, and the like included in the point cloud data.
  • the multiplexing unit 4656 multiplexes the coded position image, the coded attribute image, the coded additional information, and other additional information to generate a coded stream (Compressed $ Stream) that is coded data.
  • the generated encoded stream is output to a processing unit of a system layer (not shown).
  • FIG. 11 is a diagram illustrating a configuration of the second decoding unit 4660.
  • FIG. 12 is a block diagram of the second decoding unit 4660.
  • the second decoding unit 4660 generates point cloud data by decoding the coded data (coded stream) coded by the second coding method by the second coding method.
  • the second decoding unit 4660 includes a demultiplexing unit 4661, a video decoding unit 4662, an additional information decoding unit 4663, a position information generation unit 4664, and an attribute information generation unit 4665.
  • the encoded stream (Compressed @ Stream), which is encoded data, is input to the second decoding unit 4660 from a processing unit of a system layer (not shown).
  • the demultiplexing unit 4661 separates the encoded position image (Compressed @ Geometry @ Image), the encoded attribute image (Compressed @ Attribute @ Image), the encoded additional information (Compressed @ MetaData), and other additional information from the encoded data. .
  • the video decoding unit 4662 generates the position image and the attribute image by decoding the encoded position image and the encoded attribute image using the video encoding method. It should be noted that any known encoding scheme may be used as the video encoding scheme. For example, the video encoding method is AVC or HEVC.
  • the additional information decoding unit 4663 generates additional information including map information and the like by decoding the encoded additional information.
  • the position information generation unit 4664 generates position information using the position image and the map information.
  • the attribute information generation unit 4665 generates attribute information using the attribute image and the map information.
  • the second decoding unit 4660 uses the additional information necessary for decoding at the time of decoding, and outputs the additional information necessary for the application to the outside.
  • FIG. 13 is a diagram showing a protocol stack related to PCC encoded data.
  • FIG. 13 shows an example in which data of another medium such as video (for example, HEVC) or audio is multiplexed on PCC encoded data and transmitted or stored.
  • video for example, HEVC
  • audio is multiplexed on PCC encoded data and transmitted or stored.
  • the multiplexing method and the file format have a function of multiplexing various coded data and transmitting or storing the coded data.
  • the encoded data In order to transmit or store the encoded data, the encoded data must be converted to a multiplex format.
  • HEVC a technique is defined in which encoded data is stored in a data structure called a NAL unit, and the NAL unit is stored in ISOBMFF.
  • the first encoding method (Codec1) and the second encoding method (Codec2) are being studied as the encoding method of the point cloud data.
  • a method of storing data in the system format is not defined, and MUX processing (multiplexing), transmission, and storage in the encoding unit cannot be performed as it is.
  • one format NAL unit is defined for one codec.
  • PCC codec two codecs of a first encoding method and a second encoding method
  • FIG. 14 is a diagram showing a protocol stack in this case.
  • FIGS. 15 to 17 are diagrams showing examples of NAL unit formats common to codecs.
  • FIG. 15 is a diagram illustrating a syntax example of a common PCC @ NAL unit (Common @ PCC @ NAL @ Unit).
  • FIG. 16 is a diagram illustrating a syntax example of a common PCC ⁇ NAL unit header (Common ⁇ PCC ⁇ NAL ⁇ Unit ⁇ Header).
  • FIG. 17 is a diagram illustrating an example of the semantics of pcc_codec_type.
  • FIG. 18 is a diagram illustrating an example of a codec-dependent NAL unit type definition, and is a diagram illustrating an example of the semantics of pcc_nal_unit_type.
  • NAA NAL unit format common to PCC codecs is defined as the NAL unit format.
  • the NAL unit (pcc_nal_unit) includes a header (pcc_nal_unit_header), a payload (pcc_nal_unit_payload), and a trailing bit (trailing_bits).
  • the same format is used when data of any of the codecs of the first encoding method and the second encoding method is stored.
  • the NAL unit header (pcc_nal_unit_header) stores the codec type (pcc_codec_type) and the NAL unit type (pcc_nal_unit_type).
  • the codec type indicates whether the PCC codec of the encoded data stored in the NAL unit is the first encoding method or the second encoding method.
  • NAL unit type indicates the type of NAL unit that depends on the codec, and the type is defined for each codec. If the codec type is the first encoding method, the NAL unit type indicates a NAL unit type defined for the first encoding method. If the codec type is the second encoding method, the NAL unit type indicates a NAL unit type defined for the second encoding method. That is, the NAL unit type defined for the first encoding method and the NAL unit type defined for the second encoding method have different meanings associated with the same value.
  • the function of the codec type may be merged with the NAL unit type.
  • the codec type may be indicated using a part of the information of the NAL unit type.
  • FIG. 19 is a flowchart of the encoding process according to the present embodiment.
  • the process of FIG. 11 shows the process of the first encoding unit 4630 or the second encoding unit 4650 when the above definition is used.
  • the first encoding unit 4630 or the second encoding unit 4650 is also referred to as an encoding unit 4613 without distinction.
  • 10 is mainly performed by the multiplexing unit 4634 shown in FIG. 6 or the multiplexing unit 4656 shown in FIG.
  • FIG. 3 shows an example in which PCC data is encoded by one of the first encoding method and the second encoding method, and it is known which PCC codec to encode. It is assumed that For example, which PCC codec to use may be specified by a user or an external device.
  • the encoding unit 4613 encodes the PCC data using any one of the codecs of the first encoding method and the second encoding method (S4601).
  • the encoding unit 4613 sets the pcc_codec_type included in the NAL unit header to the data included in the payload of the NAL unit in the second.
  • the value is set to a value indicating that the data is encoded by the encoding method (S4603).
  • the coding unit 4613 sets the identifier of the NAL unit for the second coding method in pcc_nal_unit_type of the NAL unit header (S4604).
  • the encoding unit 4613 has the set NAL unit header, and generates a NAL unit including encoded data in the payload.
  • the encoding unit 4613 transmits the generated NAL unit (S4605).
  • the encoding unit 4613 sets the pcc_codec_type of the NAL unit header to the data included in the payload of the NAL unit as the first.
  • the value is set to a value indicating that the data is encoded by the encoding method (S4606).
  • the coding unit 4613 sets the identifier of the NAL unit for the first coding method in pcc_nal_unit_type of the NAL unit header (S4607).
  • the encoding unit 4613 has the set NAL unit header, and generates a NAL unit including encoded data in the payload. Then, the encoding unit 4613 transmits the generated NAL unit (S4605).
  • the coding unit 4613 indicates whether the NAL unit is the first coding method or the second coding method in pcc_nal_unit_type. You may.
  • FIG. 20 is a flowchart illustrating a decoding process performed by the second decoding unit 4660. 12 is mainly performed by the demultiplexer 4661 shown in FIG.
  • the processing in the figure shows an example in which PCC data is encoded by one of the second encoding method and the first encoding method.
  • the demultiplexing unit 4661 included in the second decoding unit 4660 can identify the codec type of the NAL unit with reference to the information included in the NAL unit header. Therefore, the demultiplexing unit 4661 can output necessary information to the video decoding unit 4662 according to the codec type.
  • the second decoding unit 4660 receives the NAL unit (S4611).
  • this NAL unit is generated by the above-described processing in the encoding unit 4613. That is, the header of this NAL unit includes pcc_codec_type and pcc_nal_unit_type.
  • the second decoding unit 4660 determines whether pcc_codec_type included in the NAL unit header indicates the first encoding method or the second encoding method (S4612).
  • the second decoding unit 4660 encodes the data included in the payload of the NAL unit using the second encoding method. It is determined that the data is coded (S4613). Then, the second decoding unit 4660 identifies data as pcc_nal_unit_type included in the NAL unit header as an identifier of the NAL unit for the second encoding method (S4614). Then, the second decoding unit 4660 decodes the PCC data using the decoding process of the second encoding method (S4615).
  • second decoding section 4660 encodes the data included in the payload of the NAL unit using the first encoding method. It is determined that the data is coded (S4616). In this case, the second decoding unit 4660 does not process the NAL unit (S4617).
  • the second decoding unit 4660 refers to pcc_nal_unit_type and determines the codec used for the data included in the NAL unit by the first encoding method. It may be determined whether there is a coding method or the second coding method.
  • FIG. 21 is a flowchart showing a decoding process by the first decoding unit 4640. 8 is mainly performed by the demultiplexer 4641 shown in FIG.
  • the processing in the figure shows an example in which PCC data is encoded by one of the first encoding method and the second encoding method.
  • the demultiplexing unit 4641 included in the first decoding unit 4640 can identify the codec type of the NAL unit with reference to the information included in the NAL unit header. Therefore, the demultiplexer 4641 can output necessary information to the position information decoder 4642 and the attribute information decoder 4643 according to the codec type.
  • the first decoding unit 4640 receives the NAL unit (S4621).
  • this NAL unit is generated by the above-described processing in the encoding unit 4613. That is, the header of this NAL unit includes pcc_codec_type and pcc_nal_unit_type.
  • the first decoding unit 4640 determines whether pcc_codec_type included in the NAL unit header indicates the first coding method or the second coding method (S4622).
  • the first decoding unit 4640 encodes the data included in the payload of the NAL unit using the second encoding method. It is determined that the data is coded (S4623). In this case, the first decoding unit 4640 does not process the NAL unit (S4624).
  • first decoding section 4640 encodes the data included in the payload of the NAL unit by the first encoding method. It is determined that the data has been obtained (S4625). Then, the first decoding unit 4640 identifies the data assuming that pcc_nal_unit_type included in the NAL unit header is the identifier of the NAL unit for the first encoding method (S4626). Then, the first decoding unit 4640 decodes the PCC data using the decoding process of the first encoding method (S4627).
  • FIG. 22 is a diagram showing a protocol stack in this case.
  • FIG. 23 is a diagram illustrating a syntax example of a NAL unit (codec2_nal_unit) for codec 2.
  • FIG. 24 is a diagram illustrating a syntax example of a NAL unit header (codec2_nal_unit_header) for the codec 2.
  • FIG. 25 is a diagram illustrating an example of the semantics of codec2_nal_unit_type.
  • FIG. 26 is a diagram illustrating an example of the syntax of a NAL unit (codec1_nal_unit) for codec 1.
  • FIG. 27 is a diagram illustrating a syntax example of a NAL unit header (codec1_nal_unit_header) for the codec 1.
  • FIG. 28 is a diagram illustrating an example of the semantics of codec1_nal_unit_type.
  • the NAL unit (codec1_nal_unit, codec2_nal_unit) includes a header (codec1_nal_unit_header, codec2_nal_unit_header), a payload (codec1_nal_unit_payload, a codec2_nal_unit_laying, and a bit including a codec2_nal_unit_laying, tray, and a payload).
  • the NAL unit (codec1_nal_unit) for the first encoding method and the NAL unit (codec2_nal_unit) for the second encoding method may have the same configuration or different configurations.
  • the size of the NAL unit for the first encoding method and the size of the NAL unit for the second encoding method may be different.
  • the data encoded by the first encoding method is stored in the NAL unit for the first encoding method.
  • the data encoded by the second encoding method is stored in the NAL unit for the second encoding method.
  • NAL unit headers (codec1_nal_unit_header, codec2_nal_unit_header) store NAL unit types (codec1_nal_unit_type, codec2_nal_unit_type).
  • the NAL unit type is independent for each codec, and the type is defined for each codec. That is, the NAL unit for the first encoding method describes the NAL unit type defined for the first encoding method.
  • the NAL unit for the second encoding method describes a NAL unit type defined for the second encoding method.
  • the first encoding method and the second encoding method can be treated as different codecs.
  • FIG. 29 is a flowchart of the encoding process according to the present embodiment.
  • the process of FIG. 14 shows the process of the first encoding unit 4630 or the second encoding unit 4650 when the above definition is used. 10 is mainly performed by the multiplexing unit 4634 shown in FIG. 6 or the multiplexing unit 4656 shown in FIG.
  • FIG. 3 shows an example in which PCC data is encoded by one of the first encoding method and the second encoding method, and it is known which PCC codec to encode. It is assumed that For example, which PCC codec to use may be specified by a user or an external device.
  • the encoding unit 4613 encodes the PCC data using one of the codecs of the first encoding method and the second encoding method (S4631).
  • the encoding unit 4613 If the used codec is the second encoding method (the second encoding method in S4632), the encoding unit 4613 generates a NAL unit in the NAL unit format for the second encoding method (S4633). . Next, the encoding unit 4613 sets the identifier of the NAL unit for the second encoding method to codec2_nal_unit_type included in the NAL unit header (S4634). Then, the encoding unit 4613 has the set NAL unit header, and generates a NAL unit including encoded data in the payload. Then, the encoding unit 4613 transmits the generated NAL unit (S4635).
  • the encoding unit 4613 determines whether the used codec is the first encoding method (the first encoding method in S4632). If the used codec is the first encoding method (the first encoding method in S4632), the encoding unit 4613 generates a NAL unit in the NAL unit format for the first encoding method ( S4636). Next, the encoding unit 4613 sets the identifier of the NAL unit for the first encoding method in codec1_nal_unit_type of the NAL unit header (S4637). Then, the encoding unit 4613 has the set NAL unit header, and generates a NAL unit including encoded data in the payload. Then, the encoding unit 4613 transmits the generated NAL unit (S4635).
  • FIG. 30 is a flowchart of the decoding process according to the present embodiment.
  • the processing of FIG. 14 shows the processing of the first decoding unit 4640 or the second decoding unit 4660 when the above definition is used.
  • the first decoding unit 4640 or the second decoding unit 4660 is also referred to as a decoding unit 4624 without distinction.
  • the processing in the figure is mainly performed by the demultiplexing unit 4641 shown in FIG. 8 or the demultiplexing unit 4661 shown in FIG.
  • FIG. 2 shows an example in which PCC data is encoded by one of the first encoding method and the second encoding method. It shall be known. For example, information indicating the used codec is included in the transmission signal, the multiplexed data, or the encoded data, and the decoding unit 4624 determines the used codec with reference to the information. Note that the decoding unit 4624 may determine the codec used based on signals obtained separately from these signals.
  • the decoding unit 4624 receives the NAL unit of the second encoding format (S4642). Next, the decoding unit 4624 determines that the NAL unit is for the second encoding method, and identifies data using the NAL unit format for the second encoding method and codec2_nal_unit_type for the second encoding method. (S4643). Next, the decoding unit 4624 decodes the PCC data using the decoding process of the second encoding method (S4644).
  • the decoding unit 4624 receives the NAL unit in the format for the first encoding method (S4645). .
  • decoding section 4624 determines that the NAL unit is for the first encoding method, and identifies data using NAL unit format for the first encoding method and codec1_nal_unit_type for the first encoding method. (S4646).
  • the decoding unit 4624 decodes the PCC data using the decoding process of the first encoding method (S4747).
  • a format common to PCC codecs is defined as a NAL unit.
  • an identifier of the NAL unit common to the PCC codecs is defined.
  • FIG. 31 is a diagram showing a protocol stack in this case.
  • FIGS. 32 to 34 are diagrams illustrating examples of the NAL unit format common to the codecs.
  • FIG. 32 is a diagram illustrating a syntax example of a common PCC @ NAL unit (Common @ PCC @ NAL @ Unit).
  • FIG. 33 is a diagram illustrating a syntax example of a common PCC ⁇ NAL unit header (Common ⁇ PCC ⁇ NAL ⁇ Unit ⁇ Header).
  • FIG. 34 is a diagram illustrating an example of the semantics of pcc_codec_type.
  • NAA NAL unit format common to PCC codecs is defined as the NAL unit format.
  • the NAL unit (pcc_nal_unit) includes a header (pcc_nal_unit_header), a payload (pcc_nal_unit_payload), and a trailing bit (trailing_bits).
  • the same format is used when data of any of the codecs of the first encoding method and the second encoding method is stored.
  • the NAL unit header (pcc_nal_unit_header) stores a NAL unit type (pcc_nal_unit_type).
  • the NAL unit type is common to codecs, and a type common to codecs is defined. In other words, both the NAL unit for the first encoding method and the NAL unit for the second encoding method describe a commonly defined NAL unit type.
  • PCC @ DataA is coded data of codec 1
  • PCC @ DataB is coded data of codec 2
  • PCC @ MetaDataA is additional information of codec 1
  • PCC @ MetaDataB is , Codec2.
  • the first encoding method and the second encoding method can be treated as the same codec.
  • FIG. 35 is a flowchart of the encoding process according to the present embodiment.
  • the process of FIG. 11 shows the process of the first encoding unit 4630 or the second encoding unit 4650 when the above definition is used. 10 is mainly performed by the multiplexing unit 4634 shown in FIG. 6 or the multiplexing unit 4656 shown in FIG.
  • processing in the figure shows an example in which PCC data is encoded by either the second encoding method or the first encoding method, and it is known which PCC codec to encode. It is assumed that For example, which PCC codec to use may be specified by a user or an external device.
  • the encoding unit 4613 encodes the PCC data using a codec of either the second encoding method or the first encoding method (S4651).
  • the encoding unit 4613 generates a NAL unit in the PCC common NAL unit format (S4652).
  • the encoding unit 4613 sets the PCC-common NAL unit identifier in pcc_nal_unit_type included in the NAL unit header (S4653).
  • the NAL unit having the set NAL unit header and including the encoded data in the payload is transmitted (S4654).
  • FIG. 36 is a flowchart of the decoding process according to the present embodiment.
  • the processing of FIG. 14 shows the processing of the first decoding unit 4640 or the second decoding unit 4660 when the above definition is used. Also, the processing in the figure is mainly performed by the demultiplexing unit 4641 shown in FIG. 8 or the demultiplexing unit 4661 shown in FIG.
  • processing in the figure shows an example in which PCC data is encoded by one of the second encoding method and the first encoding method.
  • the decoding unit 4624 determines the codec used for encoding the data included in the NAL unit (S4661). For example, the decoding unit 4624 determines the codec being used by referring to pcc_nal_unit_type included in the NAL unit header.
  • the decoding unit 4624 receives the NAL unit of the PCC common format (S4662). Next, the decoding unit 4624 determines that the NAL unit is common, and identifies data using a common NAL unit format and a common pcc_nal_unit_type (S4663). Next, the decoding unit 4624 decodes the PCC data by using the decoding process of the second encoding method (S4664).
  • the decoding unit 4624 receives the NAL unit of the PCC common format (S4665). Next, the decoding unit 4624 determines that the NAL unit is common, and identifies data using a common NAL unit format and a common pcc_nal_unit_type (S4666). Next, the decoding unit 4624 decodes the PCC data using the decoding process of the first encoding method (S4667).
  • the following method may be used as another method for indicating the PCC codec type.
  • first, second, and third embodiments have described the case where two codecs of the first encoding method and the second encoding method are mixed, three or more PCC codecs are used. The above method is also applicable when
  • the identification information of the PCC codec (pcc_codec_type in Embodiment 1 and pcc_nal_unit_type in Embodiment 3b) is described in the NAL unit header. It may be stored in another location.
  • the first encoding method and the second encoding method are not limited to the above example, and may be any codec.
  • the first encoding method and the second encoding method may be a plurality of codecs obtained by subdividing GPCC or a plurality of codecs obtained by subdividing VPCC.
  • the first encoding method and the second encoding method are both VPCC, and different video encoding methods may be used.
  • the video coding method may be, for example, AVC or HEVC.
  • one or both of the first encoding method and the second encoding method may be an encoding method including another encoding method such as video, audio, and text application.
  • the identification information of the codec may be included in the control information included in the PCC encoded stream.
  • the control information is, for example, a parameter set or metadata such as SEI (Supplemental Enhancement Information).
  • FIG. 37 is a flowchart of an encoding process performed by the encoding unit 4613 in this case.
  • the encoding unit 4613 encodes the PCC data (S4671), and describes the identification information of the PCC codec at a predetermined position (for example, a parameter set) in the encoded data (S4672).
  • the encoding unit 4613 generates a NAL unit including the encoded data, and transmits the generated NAL unit (S4673).
  • the identification information of the PCC codec may be defined as profile, and the identification information of the PCC codec may be indicated in the metadata. If the same codec is used for the entire sequence, the sequence parameter set may include identification information of the PCC codec. Further, when encoding is performed using a different codec for each PCC frame, the parameter set describing information for each frame may include identification information of the PCC codec. For example, when a different codec is used for each piece of PCC data, such as when different codecs are used for the location information and the attribute information, the parameter set describing information for each piece of data may include the identification information of the PCC codec. . That is, information indicating the codec of the position information may be included in the control information of the position information (such as a parameter set), and information indicating the codec of the attribute information may be included in the control information of the attribute information (such as a parameter set).
  • codec identification information may be stored in any of the above, or may be stored in a plurality of locations.
  • the identification information of the codec may be stored both in the encoded stream and in the NAL unit header.
  • codec identification information is stored at a plurality of positions, the same information may be stored at a plurality of positions, or different information may be stored.
  • the different information is, for example, information indicating GPCC or VPCC and information indicating one of a plurality of codecs obtained by subdividing GPCC or VPCC.
  • the demultiplexing unit 4641 or 4661 included in the decoding unit 4624 analyzes the description in the parameter set, so that the data included in the payload of the NAL unit is converted to the first data. It is possible to determine whether the data is data encoded by the encoding method of the above or data encoded by the second encoding method. Accordingly, decoding section 4624 can quickly filter NAL units that are not necessary for decoding.
  • FIG. 38 is a flowchart of a decoding process performed by the decoding unit 4624 in this case.
  • the decoding unit 4624 receives the NAL unit (S4675), and identifies predetermined data (for example, the parameter set) in which the identification information of the PCC codec is described using pcc_nal_unit_type included in the NAL unit header (S4676).
  • the decoding unit 4624 identifies a PCC codec indicated in the predetermined data by analyzing the predetermined data (for example, a parameter set) (S4677).
  • the decoding unit 4624 decodes the encoded data using the identified PCC codec (S4678).
  • encoding section 4670 having both functions of first encoding section 4630 and second encoding section 4650 described above, and first decoding section 4640 and second decoding section 4660 have the same functions.
  • the decoding unit 4680 having both functions will be described.
  • FIG. 39 is a block diagram of encoding section 4670 according to the present embodiment.
  • This encoding section 4670 includes the above-described first encoding section 4630 and second encoding section 4650, and multiplexing section 4671.
  • Multiplexing section 4671 multiplexes the encoded data generated by first encoding section 4630 and the encoded data generated by second encoding section 4650, and outputs the resulting encoded data.
  • FIG. 40 is a block diagram of decoding section 4680 according to the present embodiment.
  • This decoding section 4680 includes the above-described first decoding section 4640 and second decoding section 4660, and demultiplexing section 4681.
  • the demultiplexing unit 4681 extracts, from the input encoded data, encoded data using the first encoding method and encoded data using the second encoding method.
  • the demultiplexing unit 4681 outputs the encoded data using the first encoding method to the first decoding unit 4640, and outputs the encoded data using the second encoding method to the second decoding unit 4640. Output to decoding section 4660.
  • the encoding unit 4670 can encode the point cloud data by selectively using the first encoding method and the second encoding method.
  • the decoding unit 4680 is configured to encode the encoded data using the first encoding method, the encoded data encoded using the second encoding method, and the first encoding method. Encoded data encoded using both the second encoding method and the second encoding method can be decoded.
  • the encoding unit 4670 may switch the encoding method (the first encoding method and the second encoding method) in units of point cloud data or in units of frames. Further, encoding section 4670 may switch the encoding method in units that can be encoded.
  • the encoding unit 4670 generates encoded data (encoded stream) including the identification information of the PCC codec described in, for example, Embodiment 1 or Embodiment 3.
  • the demultiplexing unit 4681 included in the decoding unit 4680 identifies data using, for example, the identification information of the PCC codec described in the first or third embodiment.
  • the demultiplexing unit 4681 outputs the data to the first decoding unit 4640, and outputs the data to the second encoding method.
  • the data is output to the second decoding unit 4660.
  • the encoding unit 4670 may transmit, as control information, information indicating whether both encoding methods are used or whether one of the encoding methods is used, in addition to the identification information of the PCC codec.
  • FIG. 41 is a flowchart of the encoding process according to the present embodiment.
  • encoding processing corresponding to a plurality of codecs can be performed.
  • FIG. 41 shows an example in which the method of the first embodiment is used, but the same processing can be applied to other methods.
  • the encoding unit 4670 encodes the PCC data using one or both codecs of the first encoding method and the second encoding method (S4681).
  • the encoding unit 4670 When the used codec is the second encoding method (the second encoding method in S4682), the encoding unit 4670 replaces the pcc_codec_type included in the NAL unit header with the data included in the payload of the NAL unit in the second. The value is set to a value indicating that the data is encoded by the encoding method (S4683). Next, the encoding unit 4670 sets the identifier of the NAL unit for the second encoding method to pcc_nal_unit_type of the NAL unit header (S4684). Then, encoding section 4670 has a set NAL unit header, and generates a NAL unit including encoded data in the payload. Then, encoding section 4670 transmits the generated NAL unit (S4685).
  • the encoding unit 4670 replaces the pcc_codec_type included in the NAL unit header with the data included in the payload of the NAL unit.
  • the value is set to a value indicating that the data is encoded by the encoding method 1 (S4686).
  • the encoding unit 4670 sets the identifier of the NAL unit for the first encoding method to pcc_nal_unit_type included in the NAL unit header (S4687).
  • encoding section 4670 has a set NAL unit header, and generates a NAL unit including encoded data in the payload. Then, encoding section 4670 transmits the generated NAL unit (S4685).
  • FIG. 42 is a flowchart of the decoding process according to the present embodiment.
  • decoding processing corresponding to a plurality of codecs can be performed.
  • FIG. 42 shows an example in which the method of Embodiment 1 is used, but the same processing can be applied to other methods.
  • the decoding unit 4680 receives the NAL unit (S4691).
  • this NAL unit is generated by the above-described processing in the encoding unit 4670.
  • the decoding unit 4680 determines whether pcc_codec_type included in the NAL unit header indicates the first coding method or the second coding method (S4692).
  • the decoding unit 4680 determines that the data included in the payload of the NAL unit is the data encoded by the second encoding method. Is determined (S4693). Then, the second decoding unit 4660 identifies the data as pcc_nal_unit_type included in the NAL unit header as an identifier of the NAL unit for the second encoding method (S4694). Then, the decoding unit 4680 decodes the PCC data using the decoding process of the second encoding method (S4695).
  • decoding section 4680 determines that the data included in the payload of the NAL unit is the data encoded by the first encoding method. Is determined (S4696). Then, the decoding unit 4680 identifies the data as pcc_nal_unit_type included in the NAL unit header as an identifier of the NAL unit for the first encoding method (S4697). Then, the decoding unit 4680 decodes the PCC data using the decoding process of the first encoding method (S4698).
  • the three-dimensional data encoding device generates an encoded stream by encoding three-dimensional data (for example, point cloud data) (for example, S4671 in FIG. 37).
  • three-dimensional data for example, point cloud data
  • information for example, codec identification information
  • It is stored (for example, S4672 in FIG. 37).
  • the three-dimensional data decoding device uses the information stored in the control information to perform the encoding used for the encoding.
  • the method can be determined. Therefore, the three-dimensional data decoding device can correctly decode the encoded stream even when a plurality of encoding methods are used.
  • the three-dimensional data includes position information.
  • the three-dimensional data encoding device encodes the position information in the encoding.
  • the three-dimensional data encoding device in the storing, indicates, in the control information of the position information, an encoding method used for encoding the position information among the first encoding method and the second encoding method. Stores information.
  • the three-dimensional data includes position information and attribute information.
  • the three-dimensional data encoding device encodes the position information and the attribute information.
  • the three-dimensional data encoding device in the storing, indicates, in the control information of the position information, an encoding method used for encoding the position information among the first encoding method and the second encoding method.
  • Information is stored, and information indicating the encoding method used for encoding the attribute information, out of the first encoding method and the second encoding method, is stored in the control information of the attribute information.
  • the three-dimensional data encoding method further stores the encoded stream in one or more units (for example, NAL units) (for example, S4673 in FIG. 37).
  • NAL units for example, S4673 in FIG. 37.
  • the unit has a format common to the first encoding method and the second encoding method, and includes data included in the unit. And information having a definition independent of the first encoding method and the second encoding method (for example, pcc_nal_unit_type).
  • the unit has a format independent of the first encoding method and the second encoding method, and includes data included in the unit. And information having independent definitions for the first encoding method and the second encoding method (for example, codec1_nal_unit_type or codec2_nal_unit_type).
  • the unit has a format common to the first encoding method and the second encoding method, and includes data included in the unit. And information having a definition common to the first encoding method and the second encoding method (for example, pcc_nal_unit_type).
  • the three-dimensional data encoding device includes a processor and a memory, and the processor performs the above-described processing using the memory.
  • the three-dimensional data decoding apparatus includes a first encoding method and a first encoding method included in control information (for example, a parameter set) of an encoded stream generated by encoding three-dimensional data.
  • control information for example, a parameter set
  • the encoding method used for encoding the encoded stream is determined based on information (eg, codec identification information) indicating the encoding method used for encoding the three-dimensional data. Then, the encoded stream is decoded using the determined encoding method (for example, S4678 in FIG. 38).
  • the three-dimensional data decoding device when decoding the encoded stream, can determine the encoding method used for encoding using the information stored in the control information. Therefore, the three-dimensional data decoding device can correctly decode the encoded stream even when a plurality of encoding methods are used.
  • the three-dimensional data includes position information
  • the encoded stream includes encoded data of the position information.
  • the three-dimensional data decoding apparatus may include, among the first encoding method and the second encoding method, encoding of the position information included in control information of the position information included in the encoded stream.
  • the encoding method used for encoding the position information is determined based on the information indicating the encoding method used for (1).
  • the three-dimensional data decoding device decodes the encoded data of the position information using an encoding method used for encoding the determined position information.
  • the three-dimensional data includes position information and attribute information
  • the encoded stream includes encoded data of the position information and encoded data of the attribute information.
  • the three-dimensional data decoding apparatus may include, among the first encoding method and the second encoding method, encoding of the position information included in control information of the position information included in the encoded stream. Determining the encoding method used for encoding the position information based on information indicating the encoding method used for the first method, and determining the first method included in the control information of the attribute information included in the encoded stream.
  • the encoding method used for encoding the attribute information is determined based on information indicating the encoding method used for encoding the attribute information.
  • the three-dimensional data decoding apparatus decodes the encoded data of the position information using the encoding method used for encoding the determined position information, and uses the encoded data of the determined attribute information for encoding.
  • the encoded data of the attribute information is decoded by using the obtained encoding method.
  • the encoded stream is stored in one or more units (for example, NAL units), and the three-dimensional data decoding device further acquires the encoded stream from the one or more units.
  • units for example, NAL units
  • the unit has a format common to the first encoding method and the second encoding method, and includes data included in the unit. And information having a definition independent of the first encoding method and the second encoding method (for example, pcc_nal_unit_type).
  • the unit has a format independent of the first encoding method and the second encoding method, and includes data included in the unit. And information having independent definitions for the first encoding method and the second encoding method (for example, codec1_nal_unit_type or codec2_nal_unit_type).
  • the unit has a format common to the first encoding method and the second encoding method, and includes data included in the unit. And information having a definition common to the first encoding method and the second encoding method (for example, pcc_nal_unit_type).
  • the three-dimensional data decoding device includes a processor and a memory, and the processor performs the above-described processing using the memory.
  • ISOBMFF ISO based media file format
  • ISOBMFF ISO based media file format
  • ISOBMFF specifies a format in which various media such as video, audio, and text can be multiplexed and stored, and is a media-independent standard.
  • the basic structure (file) of ISOBMFF will be described.
  • the basic unit in ISOBMFF is a box.
  • a box is composed of type, length, and data, and a set obtained by combining various types of boxes is a file.
  • FIG. 43 is a diagram showing the basic structure (file) of ISOBMFF.
  • the ISOBMFF file mainly includes boxes such as ftyp indicating the brand of the file in 4CC (four character code), moov for storing metadata such as control information, and mdat for storing data.
  • the storage method for each medium in the ISOBMFF file is separately defined.
  • the storage method of AVC video and HEVC video is specified in ISO / IEC14496-15.
  • the function of the ISOBMFF is extended and used.
  • FIG. 44 is a diagram showing a protocol stack when a NAL unit common to PCC codecs is stored in an ISOBMFF file.
  • the NAL unit common to the PCC codecs described in the first embodiment is stored in the ISOBMFF file.
  • the NAL unit is common to the PCC codec, but since a plurality of PCC codecs are stored in the NAL unit, it is desirable to define a storage method (Carrier of codec1, Carrier of codec2) corresponding to each codec.
  • FIG. 45 is a diagram illustrating an example in which a common PCC @ NAL unit is stored in an ISOBMFF file in a storage method (Carrier @ of @ Codec1) of the codec 1.
  • FIG. 46 is a diagram illustrating an example in which a common PCC @ NAL unit is stored in an ISOBMFF file according to a storage method of the codec 2 (Carriage of Codec2).
  • ftyp is important information for identifying a file format, and a different identifier is defined for each codec for ftyp.
  • ftyp pcc1
  • pcc1 indicates that Codec 1 (first encoding method) of PCC is used.
  • pcc2 indicates that Codec 2 (second encoding method) of PCC is used. That is, pcc1 and pcc2 indicate that the data is PCC (code data of three-dimensional data (point cloud data)) and indicate the PCC codec (first encoding method and second encoding method). .
  • the multiplexing unit stores the NAL unit in, for example, moov or mdat by a predetermined method.
  • the multiplexing unit stores the NAL unit in, for example, moov or mdat by a predetermined method.
  • the multiplexing unit may store the NAL unit size in the NAL unit as in the case of HEVC.
  • PCC encoded data is encoded by the first encoding method or encoded by the second encoding method. It is possible to determine whether the data has been converted. Further, as described above, by determining whether the PCC encoded data has been encoded by the first encoding method or the second encoding method, the PCC encoded data has been encoded by both encoding methods. Encoded data encoded by one of the encoding methods can be extracted from data in which encoded data is mixed. This makes it possible to suppress the amount of data to be transmitted when transmitting encoded data. Further, according to this storage method, a common data format can be used between the first encoding method and the second encoding method without setting different data (file) formats.
  • the multiplexing unit may store the NAL unit from which pcc_nal_unit_type is deleted in the file of ISOBMFF.
  • the multiplexing unit included in the three-dimensional data encoding system (three-dimensional data encoding device) according to the present embodiment and the three-dimensional data decoding system (three-dimensional data decoding device) according to the present embodiment include The configuration and operation of the demultiplexer provided will be described.
  • FIG. 47 is a diagram showing a configuration of the first multiplexing unit 4710.
  • the first multiplexing unit 4710 stores the encoded data and the control information (NAL unit) generated by the first encoding unit 4630 in an ISOBMFF file to generate multiplexed data (file).
  • a part 4711 is provided.
  • the first multiplexing section 4710 is included in, for example, the multiplexing section 4614 shown in FIG.
  • FIG. 48 is a diagram showing a configuration of the first demultiplexer 4720.
  • First demultiplexing section 4720 acquires encoded data and control information (NAL unit) from multiplexed data (file), and outputs the acquired encoded data and control information to first decoding section 4640
  • An inverse conversion unit 4721 is provided.
  • the first demultiplexer 4720 is included in, for example, the demultiplexer 4623 shown in FIG.
  • FIG. 49 is a diagram showing a configuration of the second multiplexing section 4730.
  • the second multiplexing unit 4730 stores the encoded data and control information (NAL unit) generated by the second encoding unit 4650 in an ISOBMFF file to generate multiplexed data (file).
  • NAL unit encoded data and control information
  • a part 4731 is provided.
  • This second multiplexing section 4730 is included in, for example, multiplexing section 4614 shown in FIG.
  • FIG. 50 is a diagram showing a configuration of the second demultiplexing section 4740.
  • the second demultiplexing unit 4740 obtains encoded data and control information (NAL unit) from the multiplexed data (file), and outputs the obtained encoded data and control information to the second decoding unit 4660.
  • An inverse conversion section 4741 is provided.
  • the second demultiplexer 4740 is included in, for example, the demultiplexer 4623 shown in FIG.
  • FIG. 51 is a flowchart of the multiplexing process by the first multiplexing unit 4710.
  • first multiplexing section 4710 analyzes pcc_codec_type included in the NAL unit header to determine whether the used codec is the first encoding method or the second encoding method. A determination is made (S4701).
  • first multiplexing section 4710 does not process the NAL unit (S4703).
  • first multiplexing section 4710 describes pccc1 in ftyp (S4704). That is, the first multiplexing unit 4710 describes, in ftyp, information indicating that data encoded by the first encoding method is stored in the file.
  • the first multiplexing unit 4710 analyzes pcc_nal_unit_type included in the NAL unit header, and stores the data in a box (moov or mdat or the like) by a predetermined method according to the data type indicated by pcc_nal_unit_type (S4705). ). Then, the first multiplexing unit 4710 creates an ISOBMFF file including the ftyp and the box (S4706).
  • FIG. 52 is a flowchart of the multiplexing process by the second multiplexing unit 4730.
  • second multiplexing section 4730 analyzes pcc_codec_type included in the NAL unit header to determine whether the used codec is the first encoding method or the second encoding method. A determination is made (S4711).
  • second multiplexing section 4730 describes pcc2 in ftype (S4713). That is, the second multiplexing unit 4730 describes, in ftyp, information indicating that data encoded by the second encoding method is stored in the file.
  • the second multiplexing unit 4730 analyzes pcc_nal_unit_type included in the NAL unit header, and stores the data in a box (moov or mdat or the like) by a predetermined method according to the data type indicated by pcc_nal_unit_type (S4714). ). Then, the second multiplexing unit 4730 creates an ISOBMFF file including the ftyp and the box (S4715).
  • second multiplexing section 4730 does not process the NAL unit (S4716).
  • the above process shows an example in which PCC data is encoded by one of the first encoding method and the second encoding method.
  • the first multiplexing unit 4710 and the second multiplexing unit 4730 store a desired NAL unit in a file by identifying the codec type of the NAL unit. If identification information of the PCC codec is included in addition to the NAL unit header, the first multiplexing unit 4710 and the second multiplexing unit 4730 are included in steps S4701 and S4711 other than the NAL unit header.
  • the codec type (the first encoding method or the second encoding method) may be identified using the identification information of the PCC codec.
  • first multiplexing unit 4710 and the second multiplexing unit 4730 may delete pcc_nal_unit_type from the NAL unit header and store the data in the file when storing the data in the file in steps S4706 and S4714. Good.
  • FIG. 53 is a flowchart showing processing by the first demultiplexing unit 4720 and the first decoding unit 4640.
  • the first demultiplexing unit 4720 analyzes ftyp included in the ISOBMFF file (S4721). If the codec indicated by ftyp is the second encoding method (pcc2) (second encoding method in S4722), first demultiplexing section 4720 determines that the data included in the payload of the NAL unit is the second encoding method. (S 4723). Also, first demultiplexing section 4720 transmits the result of the determination to first decoding section 4640. The first decoding unit 4640 does not process the NAL unit (S4724).
  • first demultiplexing section 4720 determines whether the data included in the payload of the NAL unit is It is determined that the data is data encoded by the first encoding method (S4725). Also, first demultiplexing section 4720 transmits the result of the determination to first decoding section 4640.
  • the first decoding unit 4640 identifies data as pcc_nal_unit_type included in the NAL unit header as an identifier of the NAL unit for the first encoding method (S4726). Then, the first decoding unit 4640 decodes the PCC data using the decoding process of the first encoding method (S4727).
  • FIG. 54 is a flowchart showing processing by the second demultiplexer 4740 and the second decoder 4660.
  • the second demultiplexer 4740 analyzes ftyp included in the ISOBMFF file (S4731). If the codec indicated by ftyp is the second encoding method (pcc2) (the second encoding method in S4732), the second demultiplexing unit 4740 determines that the data included in the payload of the NAL unit is the second encoding method. It is determined that the data is encoded by the encoding method (S4733). Also, second demultiplexing section 4740 transmits the result of the determination to second decoding section 4660.
  • ⁇ Second decoding unit 4660 identifies data as pcc_nal_unit_type included in the NAL unit header as an identifier of the NAL unit for the second encoding method (S4734). Then, second decoding section 4660 decodes the PCC data using the decoding processing of the second encoding method (S4735).
  • second demultiplexing section 4740 determines that the data included in the payload of the NAL unit is It is determined that the data is data encoded by the first encoding method (S4736). Also, second demultiplexing section 4740 transmits the result of the determination to second decoding section 4660. The second decoding unit 4660 does not process the NAL unit (S4737).
  • the codec type of the NAL unit can be identified at an early stage by identifying the codec type of the NAL unit. Further, a desired NAL unit can be input to the first decoding unit 4640 or the second decoding unit 4660, and unnecessary NAL units can be removed. In this case, the process of analyzing the identification information of the codec in the first decoding unit 4640 or the second decoding unit 4660 may become unnecessary. Note that the first decoding unit 4640 or the second decoding unit 4660 may execute a process of analyzing the codec identification information with reference to the NAL unit type again.
  • pcc_nal_unit_type is deleted from the NAL unit header in the first multiplexing unit 4710 or the second multiplexing unit 4730, the first demultiplexing unit 4720 or the second demultiplexing unit 4740 , To the first decoding unit 4640 or the second decoding unit 4660 after adding pcc_nal_unit_type to the NAL unit.
  • FIG. 55 is a diagram illustrating configurations of encoding section 4670 and third multiplexing section 4750 according to the present embodiment.
  • the encoding unit 4670 encodes the point cloud data using one or both of the first encoding method and the second encoding method.
  • the encoding unit 4670 may switch the encoding method (the first encoding method and the second encoding method) in units of point cloud data or in units of frames. Further, encoding section 4670 may switch the encoding method in units that can be encoded.
  • Encoding section 4670 generates encoded data (encoded stream) including PCC codec identification information described in the first to fourth embodiments.
  • the third multiplexing unit 4750 includes a file conversion unit 4751.
  • File conversion section 4751 converts the NAL unit output from encoding section 4670 into a PCC data file.
  • the file conversion unit 4751 analyzes the codec identification information included in the NAL unit header, and determines whether the PCC encoded data is data encoded by the first encoding method or encoded by the second encoding method. It is determined whether the data is encoded data or data encoded by both methods.
  • the file conversion unit 4751 describes a brand name that can identify the codec in ftyp. For example, when it is indicated that the encoding is performed by both methods, pcc3 is described in ftyp.
  • file conversion section 4751 may determine the PCC codec (encoding method) using the identification information. .
  • FIG. 56 is a diagram showing the configuration of third demultiplexing section 4760 and decoding section 4680 according to the present embodiment.
  • the third demultiplexing unit 4760 includes a file reverse conversion unit 4761.
  • the file inverse conversion unit 4761 analyzes the ftyp included in the file, and determines whether the PCC encoded data is data encoded by the first encoding method or data encoded by the second encoding method. , Or data encoded by both methods.
  • the data is input to the corresponding one of the first decoding unit 4640 and the second decoding unit 4660, and the other is decoded. No data is input to the section.
  • the data is input to the decoding unit 4680 corresponding to both methods.
  • Decoding section 4680 decodes PCC encoded data using one or both of the first encoding method and the second encoding method.
  • FIG. 57 is a flowchart showing processing by third multiplexing section 4750 according to the present embodiment.
  • the third multiplexing unit 4750 analyzes pcc_codec_type included in the NAL unit header to determine whether the codec used is the first encoding method or the second encoding method. It is determined whether both are the first encoding method and the second encoding method (S4741).
  • third multiplexing section 4750 describes pcc2 in ftyp (S4744). That is, the third multiplexing unit 4750 describes information indicating that the data encoded by the second encoding method is stored in the file in ftyp.
  • the third multiplexing unit 4750 analyzes pcc_nal_unit_type included in the NAL unit header, and stores the data in a box (moov or mdat or the like) by a predetermined method according to the data type indicated by pcc_unit_type (S4745). ). Then, the third multiplexing unit 4750 creates an ISOBMFF file including the ftyp and the box (S4746).
  • the third multiplexing unit 4750 describes pccc1 in ftyp (S4747). That is, third multiplexing section 4750 describes information indicating that data encoded by the first encoding method is stored in the file in ftyp.
  • the third multiplexing unit 4750 analyzes pcc_nal_unit_type included in the NAL unit header, and stores the data in a box (moov or mdat or the like) by a predetermined method according to the data type indicated by pcc_unit_type (S4748). ). Then, the third multiplexing unit 4750 creates an ISOBMFF file including the ftyp and the box (S4746).
  • third multiplexing section 4750 describes pcc3 in ftyp ( S4749). That is, third multiplexing section 4750 describes information indicating that data encoded by both encoding methods is stored in the file in ftyp.
  • the third multiplexing unit 4750 analyzes pcc_nal_unit_type included in the NAL unit header, and stores the data in a box (moov or mdat or the like) by a predetermined method according to the data type indicated by pcc_unit_type (S4750). ). Then, the third multiplexing unit 4750 creates an ISOBMFF file including the ftyp and the box (S4746).
  • FIG. 58 is a flowchart showing processing by the third demultiplexing unit 4760 and the decoding unit 4680.
  • the third demultiplexing unit 4760 analyzes ftyp included in the ISOBMFF file (S4761). If the codec indicated by ftyp is the second encoding method (pcc2) (Yes in S4762 and the second encoding method in S4763), the third demultiplexer 4760 includes the codec in the payload of the NAL unit. It is determined that the data to be encoded is the data encoded by the second encoding method (S4764). Also, third demultiplexing section 4760 transmits the result of the determination to decoding section 4680.
  • the decoding unit 4680 identifies data as pcc_nal_unit_type included in the NAL unit header as an identifier of the NAL unit for the second encoding method (S4765). Then, the decoding unit 4680 decodes the PCC data using the decoding process of the second encoding method (S4766).
  • the third demultiplexer 4760 outputs the payload of the NAL unit. Is determined to be data encoded by the first encoding method (S4767). Also, third demultiplexing section 4760 transmits the result of the determination to decoding section 4680.
  • the decoding unit 4680 identifies data as pcc_nal_unit_type included in the NAL unit header as an identifier of the NAL unit for the first encoding method (S4768). Then, the decoding unit 4680 decodes the PCC data by using the decoding process of the first encoding method (S4769).
  • third demultiplexing section 4760 determines that the data included in the payload of the NAL unit is the first data. It is determined that the data is encoded by both the encoding method and the second encoding method (S4770). Also, third demultiplexing section 4760 transmits the result of the determination to decoding section 4680.
  • the decoding unit 4680 identifies data as pcc_nal_unit_type included in the NAL unit header as an identifier of a codec NAL unit described in pcc_codec_type (S 4771). Then, decoding section 4680 decodes the PCC data using the decoding processing of both encoding methods (S 4772). That is, the decoding unit 4680 decodes the data encoded by the first encoding method using the decoding process of the first encoding method, and decodes the data encoded by the second encoding method. Decoding is performed using the decoding processing of the second encoding method.
  • identification information may be indicated by identification information as the types of brands indicated by ftyp. Further, a plurality of types of combinations described below may be indicated by the identification information.
  • the identification information may indicate whether the object of the original data before PCC encoding is a point cloud whose area is restricted or a large-scale point cloud whose area is not restricted like map information. .
  • the identification information may indicate whether the original data before PCC encoding is a static object or a dynamic object.
  • the identification information may indicate whether the PCC encoded data is data encoded by the first encoding method or data encoded by the second encoding method. Good.
  • the identification information may indicate an algorithm used in PCC encoding.
  • the algorithm is, for example, an encoding method that can be used in the first encoding method or the second encoding method.
  • the identification information may indicate a difference in a method of storing the PCC encoded data in the ISOBMFF file.
  • the identification information may indicate whether the storage method used is a storage method for storage or a storage method for real-time transmission such as dynamic streaming.
  • the method of storing the NAL unit described in the first embodiment is described.
  • the method of storing the NAL unit described in the fourth embodiment is described.
  • the identification information of the PCC codec may be stored in the ISOBMFF file.
  • Metadata such as identification information is stored in ftyp.
  • these metadata may be stored in addition to ftyp.
  • these metadata may be stored in moov.
  • the three-dimensional data storage device (or three-dimensional data multiplexing device or three-dimensional data encoding device) performs the processing shown in FIG.
  • the three-dimensional data storage device (including, for example, the first multiplexing unit 4710, the second multiplexing unit 4730, or the third multiplexing unit 4750) transmits a coded stream in which point cloud data is coded.
  • One or more stored units (for example, NAL units) are acquired (S4781).
  • the three-dimensional data storage device stores one or more units in a file (for example, an ISOBMFF file) (S4782).
  • the three-dimensional data storage device stores information (for example, pcc1, pcc2, or pcc3) indicating that the data stored in the file is data obtained by encoding point cloud data. It is stored in the control information (for example, ftyp) of the file.
  • the data stored in the file is encoded data of the point cloud data with reference to the control information of the file. It can be determined early whether or not. Therefore, it is possible to reduce the processing amount of the apparatus or increase the processing speed.
  • the information further indicates an encoding method used for encoding the point cloud data, out of the first encoding method and the second encoding method.
  • the data stored in the file is the data obtained by encoding the point cloud data, and the code used for encoding the point cloud data among the first encoding method and the second encoding method.
  • the conversion method may be indicated by single information or may be indicated by different information.
  • the codec used for the data stored in the file can be determined early by referring to the control information of the file. Therefore, it is possible to reduce the processing amount of the apparatus or increase the processing speed.
  • the first encoding method encodes position information in which the position of point cloud data is represented by an N (N is an integer of 2 or more) binary tree, and encodes attribute information using the position information (GPCC), and the second encoding method is a method (VPCC) of generating a two-dimensional image from point cloud data and encoding the two-dimensional image using a video encoding method.
  • N is an integer of 2 or more
  • GPCC position information
  • the file conforms to ISOBMFF (ISO based media file format).
  • the three-dimensional data storage device includes a processor and a memory, and the processor performs the above-described processing using the memory.
  • the three-dimensional data acquisition device (or the three-dimensional data demultiplexing device or the three-dimensional data decoding device) performs the processing illustrated in FIG.
  • the three-dimensional data acquisition device (for example, including the first demultiplexing unit 4720, the second demultiplexing unit 4740, or the third demultiplexing unit 4760) outputs a coded stream in which the point cloud data is coded.
  • a file for example, an ISOBMFF file
  • units for example, a NAL unit
  • the three-dimensional data acquisition device acquires one or more units from the file (S4792).
  • the file control information (for example, ftyp) includes information (for example, pcc1, pcc2, or pcc3) indicating that the data stored in the file is data obtained by encoding point cloud data.
  • the three-dimensional data acquisition device refers to the information and determines whether the data stored in the file is the data obtained by encoding the point cloud data. Further, when the three-dimensional data acquisition device determines that the data stored in the file is the encoded data of the point cloud data, the encoded data of the point cloud data included in the one or more units is obtained. Is generated to generate point cloud data. Alternatively, when the three-dimensional data acquisition device determines that the data stored in the file is the data obtained by encoding the point cloud data, the data included in one or more units is converted to the point cloud data. The information indicating that the data is the output data is output (notified) to a subsequent processing unit (for example, the first decoding unit 4640, the second decoding unit 4660, or the decoding unit 4680).
  • a subsequent processing unit for example, the first decoding unit 4640, the second decoding unit 4660, or the decoding unit 4680.
  • the three-dimensional data acquisition device can early determine whether or not the data stored in the file is encoded data of the point cloud data with reference to the control information of the file. Therefore, it is possible to reduce the processing amount or increase the processing speed of the three-dimensional data acquisition device or the subsequent device.
  • the information further indicates the encoding method used for the encoding, of the first encoding method and the second encoding method.
  • the data stored in the file is the data obtained by encoding the point cloud data, and the code used for encoding the point cloud data among the first encoding method and the second encoding method.
  • the conversion method may be indicated by single information or may be indicated by different information.
  • the three-dimensional data acquisition device can early determine the codec used for the data stored in the file with reference to the control information of the file. Therefore, it is possible to reduce the processing amount or increase the processing speed of the three-dimensional data acquisition device or the subsequent device.
  • the three-dimensional data acquisition device may select any of the encoded point cloud data including the data encoded by the first encoding method and the data encoded by the second encoding method.
  • the data encoded by one of the encoding methods is acquired.
  • the first encoding method encodes position information in which the position of point cloud data is represented by an N (N is an integer of 2 or more) binary tree, and encodes attribute information using the position information (GPCC), and the second encoding method is a method (VPCC) of generating a two-dimensional image from point cloud data and encoding the two-dimensional image using a video encoding method.
  • N is an integer of 2 or more
  • GPCC position information
  • the file conforms to ISOBMFF (ISO based media file format).
  • the three-dimensional data acquisition device includes a processor and a memory, and the processor performs the above-described processing using the memory.
  • the present disclosure is not limited to this embodiment.
  • Each processing unit included in the three-dimensional data storage device and the three-dimensional data acquisition device according to the above-described embodiment is typically realized as an LSI that is an integrated circuit. These may be individually formed into one chip, or may be formed into one chip so as to include some or all of them.
  • the integrated circuit is not limited to the LSI, and may be realized by a dedicated circuit or a general-purpose processor.
  • An FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • each component may be configured by 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 a processor reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.
  • the present disclosure may be realized as a three-dimensional data storage method, a three-dimensional data acquisition method, or the like executed by a three-dimensional data storage device, a three-dimensional data acquisition device, or the like.
  • the division of functional blocks in the block diagram is merely an example, and a plurality of functional blocks can be implemented as one functional block, one functional block can be divided into a plurality of functional blocks, and some functions can be transferred to other functional blocks. You may. Also, the functions of a plurality of functional blocks having similar functions may be processed by a single piece of hardware or software in parallel or time division.
  • the present disclosure is not limited to these embodiments. Unless departing from the spirit of the present disclosure, various modifications conceivable to those skilled in the art may be applied to the present embodiment, and a configuration constructed by combining components in different embodiments may be in the range of one or more aspects. May be included within.
  • the present disclosure is applicable to a three-dimensional data storage device and a three-dimensional data acquisition device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Abstract

三次元データ格納方法は、点群データが符号化された符号化ストリームが格納された1以上のユニットを取得し(S4781)、1以上のユニットをファイルに格納し(S4782)、前記格納(S4782)では、ファイルに格納されているデータが、点群データが符号化されたデータであることを示す情報を、ファイルの制御情報に格納する。例えば、前記情報は、さらに、第1符号化方法と第2符号化方法のうち、点群データの符号化に用いられた符号化方法を示してもよい。

Description

三次元データ格納方法、三次元データ取得方法、三次元データ格納装置、及び三次元データ取得装置
 本開示は、三次元データ格納方法、三次元データ取得方法、三次元データ格納装置、及び三次元データ取得装置に関する。
 自動車或いはロボットが自律的に動作するためのコンピュータビジョン、マップ情報、監視、インフラ点検、又は、映像配信など、幅広い分野において、今後、三次元データを活用した装置又はサービスの普及が見込まれる。三次元データは、レンジファインダなどの距離センサ、ステレオカメラ、又は複数の単眼カメラの組み合わせなど様々な方法で取得される。
 三次元データの表現方法の1つとして、三次元空間内の点群によって三次元構造の形状を表すポイントクラウドと呼ばれる表現方法がある。ポイントクラウドでは、点群の位置と色とが格納される。ポイントクラウドは三次元データの表現方法として主流になると予想されるが、点群はデータ量が非常に大きい。よって、三次元データの蓄積又は伝送においては二次元の動画像(一例として、MPEGで規格化されたMPEG-4 AVC又はHEVCなどがある)と同様に、符号化によるデータ量の圧縮が必須となる。
 また、ポイントクラウドの圧縮については、ポイントクラウド関連の処理を行う公開のライブラリ(Point Cloud Library)などによって一部サポートされている。
 また、三次元の地図データを用いて、車両周辺に位置する施設を検索し、表示する技術が知られている(例えば、特許文献1参照)。
国際公開第2014/020663号
 三次元データを処理する装置において、処理量の低減又は処理の高速化が望まれている。
 本開示は、三次元データを処理する装置において、処理量の低減又は処理の高速化を実現できる三次元データ格納方法、三次元データ取得方法、三次元データ格納装置、又は三次元データ取得装置を提供することを目的とする。
 本開示の一態様に係る三次元データ格納方法は、点群データが符号化された符号化ストリームが格納された1以上のユニットを取得し、前記1以上のユニットをファイルに格納し、前記格納では、前記ファイルに格納されているデータが、点群データが符号化されたデータであることを示す情報を、前記ファイルの制御情報に格納する。
 本開示の一態様に係る三次元データ取得方法は、点群データが符号化された符号化ストリームが格納された1以上のユニットが格納されたファイルを取得し、前記ファイルから、前記1以上のユニットを取得し、前記ファイルの制御情報は、前記ファイルに格納されているデータが、点群データが符号化されたデータであることを示す情報を含む。
 本開示は、三次元データを処理する装置において、処理量の低減又は処理の高速化を実現できる三次元データ格納方法、三次元データ取得方法、三次元データ格納装置、又は三次元データ取得装置を提供できる。
図1は、実施の形態1に係る三次元データ符号化復号システムの構成を示す図である。 図2は、実施の形態1に係る点群データの構成例を示す図である。 図3は、実施の形態1に係る点群データ情報が記述されたデータファイルの構成例を示す図である。 図4は、実施の形態1に係る点群データの種類を示す図である。 図5は、実施の形態1に係る第1の符号化部の構成を示す図である。 図6は、実施の形態1に係る第1の符号化部のブロック図である。 図7は、実施の形態1に係る第1の復号部の構成を示す図である。 図8は、実施の形態1に係る第1の復号部のブロック図である。 図9は、実施の形態1に係る第2の符号化部の構成を示す図である。 図10は、実施の形態1に係る第2の符号化部のブロック図である。 図11は、実施の形態1に係る第2の復号部の構成を示す図である。 図12は、実施の形態1に係る第2の復号部のブロック図である。 図13は、実施の形態1に係るPCC符号化データに関わるプロトコルスタックを示す図である。 図14は、実施の形態1に係るプロトコルスタックを示す図である。 図15は、実施の形態1に係るNALユニットのシンタックス例を示す図である。 図16は、実施の形態1に係るNALユニットヘッダのシンタックス例を示す図である。 図17は、実施の形態1に係るpcc_codec_typeのセマンティクス例を示す図である。 図18は、実施の形態1に係るpcc_nal_unit_typeのセマンティクス例を示す図である。 図19は、実施の形態1に係る符号化処理のフローチャートである。 図20は、実施の形態1に係る第2の復号部による復号処理のフローチャートである。 図21は、実施の形態1に係る第1の復号部による復号処理のフローチャートである。 図22は、実施の形態2に係るプロトコルスタックを示す図である。 図23は、実施の形態2に係るコーデック2用のNALユニットのシンタックス例を示す図である。 図24は、実施の形態2に係るコーデック2用のNALユニットヘッダのシンタックス例を示す図である。 図25は、実施の形態2に係るcodec2_nal_unit_typeのセマンティクス例を示す図である。 図26は、実施の形態2に係るコーデック1用のNALユニットのシンタックス例を示す図である。 図27は、実施の形態2に係るコーデック1用のNALユニットヘッダのシンタックス例を示す図である。 図28は、実施の形態2に係るcodec1_nal_unit_typeのセマンティクス例を示す図である。 図29は、実施の形態2に係る符号化処理のフローチャートである。 図30は、実施の形態2に係る復号処理のフローチャートである。 図31は、実施の形態3に係るプロトコルスタックを示す図である。 図32は、実施の形態3に係るNALユニットのシンタックス例を示す図である。 図33は、実施の形態3に係るNALユニットヘッダのシンタックス例を示す図である。 図34は、実施の形態3に係るpcc_nal_unit_typeのセマンティクス例を示す図である。 図35は、実施の形態3に係る符号化処理のフローチャートである。 図36は、実施の形態3に係る復号処理のフローチャートである。 図37は、実施の形態の変形例に係る符号化処理のフローチャートである。 図38は、実施の形態の変形例に係る復号処理のフローチャートである。 図39は、実施の形態4に係る符号化部のブロック図である。 図40は、実施の形態4に係る復号部のブロック図である。 図41は、実施の形態4に係る符号化処理のフローチャートである。 図42は、実施の形態4に係る復号処理のフローチャートである。 図43は、実施の形態5に係るISOBMFFの基本構造を示す図である。 図44は、実施の形態5に係るプロトコルスタックを示す図である。 図45は、実施の形態5に係るNALユニットをコーデック1用のファイルに格納する例を示す図である。 図46は、実施の形態5に係るNALユニットをコーデック2用のファイルに格納する例を示す図である。 図47は、実施の形態5に係る第1の多重化部の構成を示す図である。 図48は、実施の形態5に係る第1の逆多重化部の構成を示す図である。 図49は、実施の形態5に係る第2の多重化部の構成を示す図である。 図50は、実施の形態5に係る第2の逆多重化部の構成を示す図である。 図51は、実施の形態5に係る第1の多重化部による処理のフローチャートである。 図52は、実施の形態5に係る第2の多重化部による処理のフローチャートである。 図53は、実施の形態5に係る第1の逆多重化部及び第1の復号部による処理のフローチャートである。 図54は、実施の形態5に係る第2の逆多重化部及び第2の復号部による処理のフローチャートである。 図55は、実施の形態6に係る符号化部及び第3の多重化部の構成を示す図である。 図56は、実施の形態6に係る第3の逆多重化部及び復号部の構成を示す図である。 図57は、実施の形態6に係る第3の多重化部による処理のフローチャートである。 図58は、実施の形態6に係る第3の逆多重化部及び復号部による処理のフローチャートである。 図59は、実施の形態6に係る三次元データ格納装置による処理のフローチャートである。 図60は、実施の形態6に係る三次元データ取得装置による処理のフローチャートである。
 本開示の一態様に係る三次元データ格納方法は、点群データが符号化された符号化ストリームが格納された1以上のユニットを取得し、前記1以上のユニットをファイルに格納し、前記格納では、前記ファイルに格納されているデータが、点群データが符号化されたデータであることを示す情報を、前記ファイルの制御情報に格納する。
 これによれば、当該三次元データ格納方法で生成されたファイルを処理する装置では、ファイルの制御情報を参照して、当該ファイルに格納されているデータが点群データの符号化データであるか否かを早期に判定できる。よって、当該装置の処理量の低減又は処理の高速化を実現できる。
 例えば、前記情報は、さらに、第1符号化方法と第2符号化方法のうち、前記点群データの符号化に用いられた符号化方法を示してもよい。
 これによれば、当該三次元データ格納方法で生成されたファイルを処理する装置では、ファイルの制御情報を参照して、当該ファイルに格納されているデータに使用されたコーデックを早期に判定できる。よって、当該装置の処理量の低減又は処理の高速化を実現できる。
 例えば、前記第1符号化方法は、点群データの位置をN(Nは2以上の整数)分木で表した位置情報を符号化し、前記位置情報を用いて属性情報を符号化する方式であり、前記第2符号化方法は、点群データから二次元画像を生成し、前記二次元画像を映像符号化方法を用いて符号化する方式であってもよい。
 例えば、前記ファイルは、ISOBMFF(ISO based media file format)に準拠してもよい。
 本開示の一態様に係る三次元データ取得方法は、点群データが符号化された符号化ストリームが格納された1以上のユニットが格納されたファイルを取得し、前記ファイルから、前記1以上のユニットを取得し、前記ファイルの制御情報は、前記ファイルに格納されているデータが、点群データが符号化されたデータであることを示す情報を含む。
 これによれば、当該三次元データ取得方法は、ファイルに格納されているデータが点群データの符号化データであるか否かを早期に判定できる。よって、当該三次元データ取得方法を行う装置又はその後段の装置の処理量の低減又は処理の高速化を実現できる。
 例えば、前記情報は、さらに、第1符号化方法と第2符号化方法のうち、前記符号化に用いた符号化方法を示してもよい。
 これによれば、当該三次元データ取得方法は、ファイルの制御情報を参照して、当該ファイルに格納されているデータに使用されたコーデックを早期に判定できる。よって、当該三次元データ取得方法を行う装置又はその後段の装置の処理量の低減又は処理の高速化を実現できる。
 例えば、前記情報に基づき、前記第1符号化方法で符号化された前記データと前記第2符号化方法で符号化された前記データとを含む符号化された前記点群データから、いずれか一方の符号化方法で符号化された前記データを取得してもよい。
 例えば、前記第1符号化方法は、点群データの位置をN(Nは2以上の整数)分木で表した位置情報を符号化し、前記位置情報を用いて属性情報を符号化する方式であり、前記第2符号化方法は、点群データから二次元画像を生成し、前記二次元画像を映像符号化方法を用いて符号化する方式であってもよい。
 例えば、前記ファイルは、ISOBMFF(ISO based media file format)に準拠してもよい。
 また、本開示の一態様に係る三次元データ格納装置は、プロセッサと、メモリとを備え、前記プロセッサは、前記メモリを用いて、点群データが符号化された符号化ストリームが格納された1以上のユニットを取得し、前記1以上のユニットをファイルに格納し、前記格納では、前記ファイルに格納されているデータが、点群データが符号化されたデータであることを示す情報を、前記ファイルの制御情報に格納する。
 これによれば、当該三次元データ格納装置で生成されたファイルを処理する装置では、ファイルの制御情報を参照して、当該ファイルに格納されているデータが点群データの符号化データであるか否かを早期に判定できる。よって、当該装置の処理量の低減又は処理の高速化を実現できる。
 また、本開示の一態様に係る三次元データ取得装置は、プロセッサと、メモリとを備え、前記プロセッサは、前記メモリを用いて、点群データが符号化された符号化ストリームが格納された1以上のユニットが格納されたファイルを取得し、前記ファイルから、前記1以上のユニットを取得し、前記ファイルの制御情報は、前記ファイルに格納されているデータが、点群データが符号化されたデータであることを示す情報を含む。
 これによれば、当該三次元データ取得装置は、ファイルに格納されているデータが点群データの符号化データであるか否かを早期に判定できる。よって、当該三次元データ取得装置又は後段の装置の処理量の低減又は処理の高速化を実現できる。
 なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
 以下、実施の形態について、図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
 (実施の形態1)
 ポイントクラウドの符号化データを実際の装置又はサービスにおいて使用する際には、ネットワーク帯域を抑制するために用途に応じて必要な情報を送受信することが望ましい。しかしながら、これまで、三次元データの符号化構造にはそのような機能が存在せず、そのための符号化方法も存在しなかった。
 本実施の形態では、三次元のポイントクラウドの符号化データにおいて用途に応じて必要な情報を送受信する機能を提供するための三次元データ符号化方法及び三次元データ符号化装置、並びに、当該符号化データを復号する三次元データ復号方法及び三次元データ復号装置、並びに、当該符号化データを多重化する三次元データ多重化方法、並びに、当該符号化データを伝送する三次元データ伝送方法について説明する。
 特に、現在、点群データの符号化方法(符号化方式)として第1の符号化方法、及び第2の符号化方法が検討されているが、符号化データの構成、及び符号化データをシステムフォーマットへ格納する方法が定義されておらず、このままでは符号化部におけるMUX処理(多重化)、又は、伝送或いは蓄積ができないという課題がある。
 また、PCC(Point Cloud Compression)のように、第1の符号化方法と第2の符号化方法の2つのコーデックが混在するフォーマットをサポートする方法はこれまで存在しない。
 本実施の形態では、第1の符号化方法と第2の符号化方法の2つのコーデックが混在するPCC符号化データの構成、及び符号化データをシステムフォーマットへ格納する方法について説明する。
 まず、本実施の形態に係る三次元データ(点群データ)符号化復号システムの構成を説明する。図1は、本実施の形態に係る三次元データ符号化復号システムの構成例を示す図である。図1に示すように、三次元データ符号化復号システムは、三次元データ符号化システム4601と、三次元データ復号システム4602と、センサ端末4603と、外部接続部4604とを含む。
 三次元データ符号化システム4601は、三次元データである点群データを符号化することで符号化データ又は多重化データを生成する。なお、三次元データ符号化システム4601は、単一の装置により実現される三次元データ符号化装置であってもよいし、複数の装置により実現されるシステムであってもよい。また、三次元データ符号化装置は、三次元データ符号化システム4601に含まれる複数の処理部のうち一部を含んでもよい。
 三次元データ符号化システム4601は、点群データ生成システム4611と、提示部4612と、符号化部4613と、多重化部4614と、入出力部4615と、制御部4616とを含む。点群データ生成システム4611は、センサ情報取得部4617と、点群データ生成部4618とを含む。
 センサ情報取得部4617は、センサ端末4603からセンサ情報を取得し、センサ情報を点群データ生成部4618に出力する。点群データ生成部4618は、センサ情報から点群データを生成し、点群データを符号化部4613へ出力する。
 提示部4612は、センサ情報又は点群データをユーザに提示する。例えば、提示部4612は、センサ情報又は点群データに基づく情報又は画像を表示する。
 符号化部4613は、点群データを符号化(圧縮)し、得られた符号化データと、符号化過程において得られた制御情報と、その他の付加情報とを多重化部4614へ出力する。付加情報は、例えば、センサ情報を含む。
 多重化部4614は、符号化部4613から入力された符号化データと、制御情報と、付加情報とを多重することで多重化データを生成する。多重化データのフォーマットは、例えば蓄積のためのファイルフォーマット、又は伝送のためのパケットフォーマットである。
 入出力部4615(例えば、通信部又はインタフェース)は、多重化データを外部へ出力する。または、多重化データは、内部メモリ等の蓄積部に蓄積される。制御部4616(またはアプリ実行部)は、各処理部を制御する。つまり、制御部4616は、符号化及び多重化等の制御を行う。
 なお、センサ情報が符号化部4613又は多重化部4614へ入力されてもよい。また、入出力部4615は、点群データ又は符号化データをそのまま外部へ出力してもよい。
 三次元データ符号化システム4601から出力された伝送信号(多重化データ)は、外部接続部4604を介して、三次元データ復号システム4602に入力される。
 三次元データ復号システム4602は、符号化データ又は多重化データを復号することで三次元データである点群データを生成する。なお、三次元データ復号システム4602は、単一の装置により実現される三次元データ復号装置であってもよいし、複数の装置により実現されるシステムであってもよい。また、三次元データ復号装置は、三次元データ復号システム4602に含まれる複数の処理部のうち一部を含んでもよい。
 三次元データ復号システム4602は、センサ情報取得部4621と、入出力部4622と、逆多重化部4623と、復号部4624と、提示部4625と、ユーザインタフェース4626と、制御部4627とを含む。
 センサ情報取得部4621は、センサ端末4603からセンサ情報を取得する。
 入出力部4622は、伝送信号を取得し、伝送信号から多重化データ(ファイルフォーマット又はパケット)を復号し、多重化データを逆多重化部4623へ出力する。
 逆多重化部4623は、多重化データから符号化データ、制御情報及び付加情報を取得し、符号化データ、制御情報及び付加情報を復号部4624へ出力する。
 復号部4624は、符号化データを復号することで点群データを再構成する。
 提示部4625は、点群データをユーザに提示する。例えば、提示部4625は、点群データに基づく情報又は画像を表示する。ユーザインタフェース4626は、ユーザの操作に基づく指示を取得する。制御部4627(またはアプリ実行部)は、各処理部を制御する。つまり、制御部4627は、逆多重化、復号及び提示等の制御を行う。
 なお、入出力部4622は、点群データ又は符号化データをそのまま外部から取得してもよい。また、提示部4625は、センサ情報などの付加情報を取得し、付加情報に基づいた情報を提示してもよい。また、提示部4625は、ユーザインタフェース4626で取得されたユーザの指示に基づき、提示を行ってもよい。
 センサ端末4603は、センサで得られた情報であるセンサ情報を生成する。センサ端末4603は、センサ又はカメラを搭載した端末であり、例えば、自動車などの移動体、飛行機などの飛行物体、携帯端末、又はカメラなどがある。
 センサ端末4603で取得可能なセンサ情報は、例えば、(1)LIDAR、ミリ波レーダ、又は赤外線センサから得られる、センサ端末4603と対象物との距離、又は対象物の反射率、(2)複数の単眼カメラ画像又はステレオカメラ画像から得られるカメラと対象物との距離又は対象物の反射率等である。また、センサ情報は、センサの姿勢、向き、ジャイロ(角速度)、位置(GPS情報又は高度)、速度、又は加速度等を含んでもよい。また、センサ情報は、気温、気圧、湿度、又は磁気等を含んでもよい。
 外部接続部4604は、集積回路(LSI又はIC)、外部蓄積部、インターネットを介したクラウドサーバとの通信、又は、放送等により実現される。
 次に、点群データについて説明する。図2は、点群データの構成を示す図である。図3は、点群データの情報が記述されたデータファイルの構成例を示す図である。
 点群データは、複数の点のデータを含む。各点のデータは、位置情報(三次元座標)、及びその位置情報に対する属性情報とを含む。この点が複数集まったものを点群と呼ぶ。例えば、点群は対象物(オブジェクト)の三次元形状を示す。
 三次元座標等の位置情報(Position)をジオメトリ(geometry)と呼ぶこともある。また、各点のデータは、複数の属性種別の属性情報(attribute)を含んでもよい。属性種別は、例えば色又は反射率などである。
 1つの位置情報に対して1つの属性情報が対応付けられてもよいし、1つの位置情報に対して複数の異なる属性種別を持つ属性情報が対応付けられてもよい。また、1つの位置情報に対して同じ属性種別の属性情報が複数対応付けられてもよい。
 図3に示すデータファイルの構成例は、位置情報と属性情報とが1対1に対応する場合の例であり、点群データを構成するN個の点の位置情報と属性情報とを示している。
 位置情報は、例えば、x、y、zの3軸の情報である。属性情報は、例えば、RGBの色情報である。代表的なデータファイルとしてplyファイルなどがある。
 次に、点群データの種類について説明する。図4は、点群データの種類を示す図である。図4に示すように、点群データには、静的オブジェクトと、動的オブジェクトとがある。
 静的オブジェクトは、任意の時間(ある時刻)の三次元点群データである。動的オブジェクトは、時間的に変化する三次元点群データである。以降、ある時刻の三次元点群データをPCCフレーム、又はフレームと呼ぶ。
 オブジェクトは、通常の映像データのように、ある程度領域が制限されている点群であってもよいし、地図情報のように領域が制限されていない大規模点群であってもよい。
 また、様々な密度の点群データがあり、疎な点群データと、密な点群データとが存在してもよい。
 以下、各処理部の詳細について説明する。センサ情報は、LIDAR或いはレンジファインダなどの距離センサ、ステレオカメラ、又は、複数の単眼カメラの組合せなど様々な方法で取得される。点群データ生成部4618は、センサ情報取得部4617で得られたセンサ情報に基づき点群データを生成する。点群データ生成部4618は、点群データとして、位置情報を生成し、位置情報に、当該位置情報に対する属性情報を付加する。
 点群データ生成部4618は、位置情報の生成又は属性情報の付加の際に、点群データを加工してもよい。例えば、点群データ生成部4618は、位置が重複する点群を削除することでデータ量を減らしてもよい。また、点群データ生成部4618は、位置情報を変換(位置シフト、回転又は正規化など)してもよいし、属性情報をレンダリングしてもよい。
 なお、図1では、点群データ生成システム4611は、三次元データ符号化システム4601に含まれるが、三次元データ符号化システム4601の外部に独立して設けられてもよい。
 符号化部4613は、点群データを予め規定された符号化方法に基づき符号化することで符号化データを生成する。符号化方法には大きく以下の2種類がある。一つ目は、位置情報を用いた符号化方法であり、この符号化方法を、以降、第1の符号化方法と記載する。二つ目は、ビデオコーデックを用いた符号化方法であり、この符号化方法を、以降、第2の符号化方法と記載する。
 復号部4624は、符号化データを予め規定された符号化方法に基づき復号することで点群データを復号する。
 多重化部4614は、符号化データを、既存の多重化方式を用いて多重化することで多重化データを生成する。生成された多重化データは、伝送又は蓄積される。多重化部4614は、PCC符号化データの他に、映像、音声、字幕、アプリケーション、ファイルなどの他のメディア、又は基準時刻情報を多重化する。また、多重化部4614は、さらに、センサ情報又は点群データに関連する属性情報を多重してもよい。
 多重化方式又はファイルフォーマットとしては、ISOBMFF、ISOBMFFベースの伝送方式であるMPEG-DASH、MMT、MPEG-2 TS Systems、RMPなどがある。
 逆多重化部4623は、多重化データからPCC符号化データ、その他のメディア、及び時刻情報などを抽出する。
 入出力部4615は、多重化データを、放送又は通信など、伝送する媒体又は蓄積する媒体にあわせた方法を用いて伝送する。入出力部4615は、インターネット経由で他のデバイスと通信してもよいし、クラウドサーバなどの蓄積部と通信してもよい。
 通信プロトコルとしては、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などが用いられる。
 図5は、第1の符号化方法の符号化を行う符号化部4613の例である第1の符号化部4630の構成を示す図である。図6は、第1の符号化部4630のブロック図である。第1の符号化部4630は、点群データを第1の符号化方法で符号化することで符号化データ(符号化ストリーム)を生成する。この第1の符号化部4630は、位置情報符号化部4631と、属性情報符号化部4632と、付加情報符号化部4633と、多重化部4634とを含む。
 第1の符号化部4630は、三次元構造を意識して符号化を行うという特徴を有する。また、第1の符号化部4630は、属性情報符号化部4632が、位置情報符号化部4631から得られる情報を用いて符号を行うという特徴を有する。第1の符号化方法は、GPCC(Geometry based PCC)とも呼ばれる。
 点群データは、PLYファイルのようなPCC点群データ、又は、センサ情報から生成されたPCC点群データであり、位置情報(Position)、属性情報(Attribute)、及びその他の付加情報(MetaData)を含む。位置情報は位置情報符号化部4631に入力され、属性情報は属性情報符号化部4632に入力され、付加情報は付加情報符号化部4633に入力される。
 位置情報符号化部4631は、位置情報を符号化することで符号化データである符号化位置情報(Compressed Geometry)を生成する。例えば、位置情報符号化部4631は、8分木等のN分木構造を用いて位置情報を符号化する。具体的には、8分木では、対象空間が8個のノード(サブ空間)に分割され、各ノードに点群が含まれるか否かを示す8ビットの情報(オキュパンシー符号)が生成される。また、点群が含まれるノードは、さらに、8個のノードに分割され、当該8個のノードの各々に点群が含まれるか否かを示す8ビットの情報が生成される。この処理が、予め定められた階層又はノードに含まれる点群の数の閾値以下になるまで繰り返される。
 属性情報符号化部4632は、位置情報符号化部4631で生成された構成情報を用いて符号化することで符号化データである符号化属性情報(Compressed Attribute)を生成する。例えば、属性情報符号化部4632は、位置情報符号化部4631で生成された8分木構造に基づき、処理対象の対象点(対象ノード)の符号化において参照する参照点(参照ノード)を決定する。例えば、属性情報符号化部4632は、周辺ノード又は隣接ノードのうち、8分木における親ノードが対象ノードと同一のノードを参照する。なお、参照関係の決定方法はこれに限らない。
 また、属性情報の符号化処理は、量子化処理、予測処理、及び算術符号化処理のうち少なくとも一つを含んでもよい。この場合、参照とは、属性情報の予測値の算出に参照ノードを用いること、又は、符号化のパラメータの決定に参照ノードの状態(例えば、参照ノードに点群が含まれる否かを示す占有情報)を用いること、である。例えば、符号化のパラメータとは、量子化処理における量子化パラメータ、又は算術符号化におけるコンテキスト等である。
 付加情報符号化部4633は、付加情報のうち、圧縮可能なデータを符号化することで符号化データである符号化付加情報(Compressed MetaData)を生成する。
 多重化部4634は、符号化位置情報、符号化属性情報、符号化付加情報及びその他の付加情報を多重化することで符号化データである符号化ストリーム(Compressed Stream)を生成する。生成された符号化ストリームは、図示しないシステムレイヤの処理部へ出力される。
 次に、第1の符号化方法の復号を行う復号部4624の例である第1の復号部4640について説明する。図7は、第1の復号部4640の構成を示す図である。図8は、第1の復号部4640のブロック図である。第1の復号部4640は、第1の符号化方法で符号化された符号化データ(符号化ストリーム)を、第1の符号化方法で復号することで点群データを生成する。この第1の復号部4640は、逆多重化部4641と、位置情報復号部4642と、属性情報復号部4643と、付加情報復号部4644とを含む。
 図示しないシステムレイヤの処理部から符号化データである符号化ストリーム(Compressed Stream)が第1の復号部4640に入力される。
 逆多重化部4641は、符号化データから、符号化位置情報(Compressed Geometry)、符号化属性情報(Compressed Attribute)、符号化付加情報(Compressed MetaData)、及び、その他の付加情報を分離する。
 位置情報復号部4642は、符号化位置情報を復号することで位置情報を生成する。例えば、位置情報復号部4642は、8分木等のN分木構造で表される符号化位置情報から三次元座標で表される点群の位置情報を復元する。
 属性情報復号部4643は、位置情報復号部4642で生成された構成情報に基づき、符号化属性情報を復号する。例えば、属性情報復号部4643は、位置情報復号部4642で得られた8分木構造に基づき、処理対象の対象点(対象ノード)の復号において参照する参照点(参照ノード)を決定する。例えば、属性情報復号部4643は、周辺ノード又は隣接ノードのうち、8分木における親ノードが対象ノードと同一のノードを参照する。なお、参照関係の決定方法はこれに限らない。
 また、属性情報の復号処理は、逆量子化処理、予測処理、及び算術復号処理のうち少なくとも一つを含んでもよい。この場合、参照とは、属性情報の予測値の算出に参照ノードを用いること、又は、復号のパラメータの決定に参照ノードの状態(例えば、参照ノードに点群が含まれる否かを示す占有情報)を用いること、である。例えば、復号のパラメータとは、逆量子化処理における量子化パラメータ、又は算術復号におけるコンテキスト等である。
 付加情報復号部4644は、符号化付加情報を復号することで付加情報を生成する。また、第1の復号部4640は、位置情報及び属性情報の復号処理に必要な付加情報を復号時に使用し、アプリケーションに必要な付加情報を外部に出力する。
 次に、第2の符号化方法の符号化を行う符号化部4613の例である第2の符号化部4650について説明する。図9は、第2の符号化部4650の構成を示す図である。図10は、第2の符号化部4650のブロック図である。
 第2の符号化部4650は、点群データを第2の符号化方法で符号化することで符号化データ(符号化ストリーム)を生成する。この第2の符号化部4650は、付加情報生成部4651と、位置画像生成部4652と、属性画像生成部4653と、映像符号化部4654と、付加情報符号化部4655と、多重化部4656とを含む。
 第2の符号化部4650は、三次元構造を二次元画像に投影することで位置画像及び属性画像を生成し、生成した位置画像及び属性画像を既存の映像符号化方式を用いて符号化するという特徴を有する。第2の符号化方法は、VPCC(Video based PCC)とも呼ばれる。
 点群データは、PLYファイルのようなPCC点群データ、又は、センサ情報から生成されたPCC点群データであり、位置情報(Position)、属性情報(Attribute)、及びその他の付加情報MetaData)を含む。
 付加情報生成部4651は、三次元構造を二次元画像に投影することで、複数の二次元画像のマップ情報を生成する。
 位置画像生成部4652は、位置情報と、付加情報生成部4651で生成されたマップ情報とに基づき、位置画像(Geometry Image)を生成する。この位置画像は、例えば、画素値として距離(Depth)が示される距離画像である。なお、この距離画像は、一つの視点から複数の点群を見た画像(一つの二次元平面に複数の点群を投影した画像)であってもよいし、複数の視点から複数の点群を見た複数の画像であってもよいし、これらの複数の画像を統合した一つの画像であってもよい。
 属性画像生成部4653は、属性情報と、付加情報生成部4651で生成されたマップ情報とに基づき、属性画像を生成する。この属性画像は、例えば、画素値として属性情報(例えば色(RGB))が示される画像である。なお、この画像は、一つの視点から複数の点群を見た画像(一つの二次元平面に複数の点群を投影した画像)であってもよいし、複数の視点から複数の点群を見た複数の画像であってもよいし、これらの複数の画像を統合した一つの画像であってもよい。
 映像符号化部4654は、位置画像及び属性画像を、映像符号化方式を用いて符号化することで、符号化データである符号化位置画像(Compressed Geometry Image)及び符号化属性画像(Compressed Attribute Image)を生成する。なお、映像符号化方式として、公知の任意の符号化方法が用いられてよい。例えば、映像符号化方式は、AVC又はHEVC等である。
 付加情報符号化部4655は、点群データに含まれる付加情報、及びマップ情報等を符号化することで符号化付加情報(Compressed MetaData)を生成する。
 多重化部4656は、符号化位置画像、符号化属性画像、符号化付加情報、及び、その他の付加情報を多重化することで符号化データである符号化ストリーム(Compressed Stream)を生成する。生成された符号化ストリームは、図示しないシステムレイヤの処理部へ出力される。
 次に、第2の符号化方法の復号を行う復号部4624の例である第2の復号部4660について説明する。図11は、第2の復号部4660の構成を示す図である。図12は、第2の復号部4660のブロック図である。第2の復号部4660は、第2の符号化方法で符号化された符号化データ(符号化ストリーム)を、第2の符号化方法で復号することで点群データを生成する。この第2の復号部4660は、逆多重化部4661と、映像復号部4662と、付加情報復号部4663と、位置情報生成部4664と、属性情報生成部4665とを含む。
 図示しないシステムレイヤの処理部から符号化データである符号化ストリーム(Compressed Stream)が第2の復号部4660に入力される。
 逆多重化部4661は、符号化データから、符号化位置画像(Compressed Geometry Image)、符号化属性画像(Compressed Attribute Image)、符号化付加情報(Compressed MetaData)、及び、その他の付加情報を分離する。
 映像復号部4662は、符号化位置画像及び符号化属性画像を、映像符号化方式を用いて復号することで、位置画像及び属性画像を生成する。なお、映像符号化方式として、公知の任意の符号化方式が用いられてよい。例えば、映像符号化方式は、AVC又はHEVC等である。
 付加情報復号部4663は、符号化付加情報を復号することで、マップ情報等を含む付加情報を生成する。
 位置情報生成部4664は、位置画像とマップ情報とを用いて位置情報を生成する。属性情報生成部4665は、属性画像とマップ情報とを用いて属性情報を生成する。
 第2の復号部4660は、復号に必要な付加情報を復号時に使用し、アプリケーションに必要な付加情報を外部に出力する。
 以下、PCC符号化方式における課題を説明する。図13は、PCC符号化データに関わるプロトコルスタックを示す図である。図13には、PCC符号化データに、映像(例えばHEVC)又は音声などの他のメディアのデータを多重し、伝送又は蓄積する例を示す。
 多重化方式及びファイルフォーマットは、様々な符号化データを多重し、伝送又は蓄積するための機能を有している。符号化データを伝送又は蓄積するためには、符号化データを多重化方式のフォーマットに変換しなければならない。例えば、HEVCでは、NALユニットと呼ばれるデータ構造に符号化データを格納し、NALユニットをISOBMFFに格納する技術が規定されている。
 一方、現在、点群データの符号化方法として第1の符号化方法(Codec1)、及び第2の符号化方法(Codec2)が検討されているが、符号化データの構成、及び符号化データをシステムフォーマットへ格納する方法が定義されておらず、このままでは符号化部におけるMUX処理(多重化)、伝送及び蓄積ができないという課題がある。
 なお、以降において、特定の符号化方法の記載がなければ、第1の符号化方法、及び第2の符号化方法のいずれかを示すものとする。
 以下、本実施の形態に係るNALユニットの定義方法について説明する。例えば、HEVCなどの、これまでのコーデックでは、1つのコーデックに対して、1つのフォーマットのNALユニットが定義されている。しかし、PCCのように、第1の符号化方法と第2の符号化方法との2つのコーデック(以降、PCCコーデックと称する)が混在するフォーマットをサポートする方法はこれまで存在しない。
 本実施の形態では、NALユニットとしてPCCコーデック共通のフォーマットを定義し、さらに、PCCコーデックに依存するNALユニットの識別子を定義する。図14は、この場合のプロトコルスタックを示す図である。図15~図17は、コーデック共通のNALユニットフォーマットの例を示す図である。図15は、共通PCC NALユニット(Common PCC NAL Unit)のシンタックス例を示す図である。図16は、共通PCC NALユニットヘッダ(Common PCC NAL Unit Header)のシンタックス例を示す図である。図17は、pcc_codec_typeのセマンティクス例を示す図である。図18は、コーデック依存のNALユニットタイプ定義の例を示す図であり、pcc_nal_unit_typeのセマンティクス例を示す図である。
 NALユニットフォーマットとして、PCCコーデック共通のNALユニットフォーマットが定義される。NALユニット(pcc_nal_unit)は、ヘッダ(pcc_nal_unit_header)、ペイロード(pcc_nal_unit_payload)、及びトレイリングビット(trailing_bits)を含む。第1の符号化方法及び第2の符号化方法のいずれのコーデックのデータが格納される場合にも、同じフォーマットが使用される。
 NALユニットヘッダ(pcc_nal_unit_header)には、コーデックタイプ(pcc_codec_tye)、及びNALユニットタイプ(pcc_nal_unit_type)が格納される。コーデックタイプは、NALユニットに格納される符号化データのPCCコーデックが、第1の符号化方法であるか、第2の符号化方法であるかを示す。
 NALユニットタイプは、コーデックに依存するNALユニットのタイプを示し、コーデック毎にタイプが定義される。コーデックタイプが第1の符号化方法である場合には、NALユニットタイプは、第1の符号化方法用に定義されたNALユニットタイプを示す。コーデックタイプが第2の符号化方法である場合には、NALユニットタイプは、第2の符号化方法用に定義されたNALユニットタイプを示す。つまり、第1の符号化方法用に定義されたNALユニットタイプと、第2の符号化方法用に定義されたNALユニットタイプとには、同一の値に対して異なる意味が対応づけられる。
 なお、ヘッダにおいて、コーデックタイプの機能をNALユニットタイプにマージしてもよい。例えば、NALユニットタイプの一部の情報を用いてコーデックタイプを示してもよい。
 次に、本実施の形態に係る符号化処理について説明する。図19は、本実施の形態に係る符号化処理のフローチャートである。同図の処理は、上記の定義を用いた場合の第1の符号化部4630又は第2の符号化部4650の処理を示す。なお、以下では第1の符号化部4630又は第2の符号化部4650を区別せずに符号化部4613とも記す。また、同図の処理は、主に、図6に示す多重化部4634又は図10に示す多重化部4656により行われる。
 なお、同図の処理は、PCCデータを第1の符号化方法、及び第2の符号化方法のいずれか一方で符号化する例を示しており、どちらのPCCコーデックで符号化するかは既知であるものとする。例えば、いずれのPCCコーデックを用いるかはユーザ又は外部装置等により指定されてもよい。
 まず、符号化部4613は、PCCデータを第1の符号化方法、及び第2の符号化方法のいずれかのコーデックを用いて符号化する(S4601)。
 使用したコーデックが第2の符号化方法である場合(S4602で第2の符号化方法)、符号化部4613は、NALユニットヘッダに含まれるpcc_codec_typeをNALユニットのペイロードに含まれるデータが第2の符号化方法で符号化されたデータであることを示す値に設定する(S4603)。また、符号化部4613は、NALユニットヘッダのpcc_nal_unit_typeに第2の符号化方法用のNALユニットの識別子を設定する(S4604)。そして、符号化部4613は、設定したNALユニットヘッダを有し、ペイロードに符号化データを含むNALユニットを生成する。そして、符号化部4613は、生成したNALユニットを送信する(S4605)。
 一方、使用したコーデックが第1の符号化方法である場合(S4602で第1の符号化方法)、符号化部4613は、NALユニットヘッダのpcc_codec_typeをNALユニットのペイロードに含まれるデータが第1の符号化方法で符号化されたデータであることを示す値に設定する(S4606)。また、符号化部4613は、NALユニットヘッダのpcc_nal_unit_typeに第1の符号化方法用のNALユニットの識別子を設定する(S4607)。そして、符号化部4613は、設定したNALユニットヘッダを有し、ペイロードに符号化データを含むNALユニットを生成する。そして、符号化部4613は、生成したNALユニットを送信する(S4605)。
 なお、符号化部4613は、ステップS4603及びS4606において、pcc_code_typeの機能がpcc_nal_unit_typeに含まれる場合、pcc_nal_unit_typeに、NALユニットが第1の符号化方法であるか第2の符号化方法であるかを示してもよい。
 次に、本実施の形態に係る第1の復号部4640及び第2の復号部4660による復号処理について説明する。図20は、第2の復号部4660による復号処理を示すフローチャートである。また、同図の処理は、主に、図12に示す逆多重化部4661により行われる。
 なお、同図の処理は、PCCデータを第2の符号化方法、及び第1の符号化方法のいずれか一方で符号化する例を示している。また、この方式では、第2の復号部4660に含まれる逆多重化部4661は、NALユニットヘッダに含まれる情報を参照して、NALユニットのコーデックタイプを識別できる。よって、逆多重化部4661は、コーデックタイプに応じて必要な情報を映像復号部4662に出力できる。
 まず、第2の復号部4660は、NALユニットを受信する(S4611)。例えば、このNALユニットは、上述した符号化部4613における処理で生成されたものである。つまり、このNALユニットのヘッダは、pcc_codec_type及びpcc_nal_unit_typeを含む。
 次に、第2の復号部4660は、NALユニットヘッダに含まれるpcc_codec_typeが第1の符号化方法を示すか、第2の符号化方法を示すかを判定する(S4612)。
 pcc_codec_typeが第2の符号化方法を示す場合(S4612で第2の符号化方法)、第2の復号部4660は、NALユニットのペイロードに含まれるデータが、第2の符号化方法を用いて符号化されたデータであると判断する(S4613)。そして、第2の復号部4660は、NALユニットヘッダに含まれるpcc_nal_unit_typeが、第2の符号化方法用のNALユニットの識別子であるとしてデータを識別する(S4614)。そして、第2の復号部4660は、第2の符号化方法の復号処理を用いてPCCデータを復号する(S4615)。
 一方、pcc_codec_typeが第1の符号化方法を示す場合(S4612で第1の符号化方法)、第2の復号部4660は、NALユニットのペイロードに含まれるデータが、第1の符号化方法で符号化されたデータであると判断する(S4616)。この場合、第2の復号部4660は、当該NALユニットを処理しない(S4617)。
 なお、ステップS4612において、pcc_code_typeの機能がpcc_nal_unit_typeに含まれる場合、第2の復号部4660は、pcc_nal_unit_typeを参照して、NALユニットに含まれるデータに使用されているコーデックが第1の符号化方法であるか第2の符号化方法であるかを判定してもよい。
 図21は、第1の復号部4640による復号処理を示すフローチャートである。また、同図の処理は、主に、図8に示す逆多重化部4641により行われる。
 なお、同図の処理は、PCCデータを第1の符号化方法、及び第2の符号化方法のいずれか一方で符号化する例を示している。また、この方式では、第1の復号部4640に含まれる逆多重化部4641は、NALユニットヘッダに含まれる情報を参照して、NALユニットのコーデックタイプを識別できる。よって、逆多重化部4641は、コーデックタイプに応じて必要な情報を位置情報復号部4642及び属性情報復号部4643に出力できる。
 まず、第1の復号部4640は、NALユニットを受信する(S4621)。例えば、このNALユニットは、上述した符号化部4613における処理で生成されたものである。つまり、このNALユニットのヘッダは、pcc_codec_type及びpcc_nal_unit_typeを含む。
 次に、第1の復号部4640は、NALユニットヘッダに含まれるpcc_codec_typeが第1の符号化方法を示すか、第2の符号化方法を示すかを判定する(S4622)。
 pcc_codec_typeが第2の符号化方法を示す場合(S4622で第2の符号化方法)、第1の復号部4640は、NALユニットのペイロードに含まれるデータが、第2の符号化方法を用いて符号化されたデータであると判断する(S4623)。この場合、第1の復号部4640は、当該NALユニットは処理しない(S4624)。
 一方、pcc_codec_typeが第1の符号化方法を示す場合(S4622で第1の符号化方法)、第1の復号部4640は、NALユニットのペイロードに含まれるデータが第1の符号化方法で符号化されたデータであると判断する(S4625)。そして、第1の復号部4640は、NALユニットヘッダに含まれるpcc_nal_unit_typeが、第1の符号化方法用のNALユニットの識別子であるとしてデータを識別する(S4626)。そして、第1の復号部4640は、第1の符号化方法の復号処理を用いてPCCデータを復号する(S4627)。
 (実施の形態2)
 本実施の形態では、NALユニットの定義の別の手法について説明する。本実施の形態では、NALユニットとしてPCCコーデック毎に異なるフォーマットを定義する。さらに、PCCコーデック毎に独立にNALユニットの識別子を定義する。
 図22は、この場合のプロトコルスタックを示す図である。図23は、コーデック2用のNALユニット(codec2_nal_unit)のシンタックス例を示す図である。図24は、コーデック2用のNALユニットヘッダ(codec2_nal_unit_header)のシンタックス例を示す図である。図25は、codec2_nal_unit_typeのセマンティクス例を示す図である。
 図26は、コーデック1用のNALユニット(codec1_nal_unit)のシンタックス例を示す図である。図27は、コーデック1用のNALユニットヘッダ(codec1_nal_unit_header)のシンタックス例を示す図である。図28は、codec1_nal_unit_typeのセマンティクス例を示す図である。
 NALユニットフォーマットとして、PCCコーデック毎に独立にNALユニットフォーマットが定義される。NALユニット(codec1_nal_unit、codec2_nal_unit)は、ヘッダ(codec1_nal_unit_header、codec2_nal_unit_header)、ペイロード(codec1_nal_unit_payload、codec2_nal_unit_payload)、及びトレイリングビット(trailing_bits)を含む。第1の符号化方法用のNALユニット(codec1_nal_unit)と第2の符号化方法用のNALユニット(codec2_nal_unit)は、同じ構成でもよいし、異なる構成でもよい。第1の符号化方法用のNALユニットと第2の符号化方法用のNALユニットとのサイズが異なってもよい。
 第1の符号化方法で符号化されたデータは第1の符号化方法用のNALユニットに格納される。第2の符号化方法で符号化されたデータは第2の符号化方法用のNALユニットに格納される。
 NALユニットヘッダ(codec1_nal_unit_header、codec2_nal_unit_header)には、NALユニットタイプ(codec1_nal_unit_type、codec2_nal_unit_type)が格納される。NALユニットタイプは、コーデック毎に独立であり、コーデック毎にタイプが定義される。つまり、第1の符号化方法用のNALユニットには、第1の符号化方法用に定義されたNALユニットタイプが記載される。第2の符号化方法用のNALユニットには、第2の符号化方法用に定義されたNALユニットタイプが記載される。
 本方式を用いることで、第1の符号化方法と第2の符号化方法とを、異なるコーデックとして扱うことができる。
 次に、本実施の形態に係る符号化処理について説明する。図29は、本実施の形態に係る符号化処理のフローチャートである。同図の処理は、上記定義を用いた場合の第1の符号化部4630又は第2の符号化部4650の処理を示す。また、同図の処理は、主に、図6に示す多重化部4634又は図10に示す多重化部4656により行われる。
 なお、同図の処理は、PCCデータを第1の符号化方法、及び第2の符号化方法のいずれか一方で符号化する例を示しており、どちらのPCCコーデックで符号化するかは既知であるものとする。例えば、いずれのPCCコーデックを用いるかはユーザ又は外部装置等により指定されてもよい。
 まず、符号化部4613は、PCCデータを第1の符号化方法、及び第2の符号化方法のいずれかのコーデックを用いて符号化する(S4631)。
 使用したコーデックが第2の符号化方法である場合(S4632で第2の符号化方法)、符号化部4613は、第2の符号化方法用のNALユニットフォーマットでNALユニットを生成する(S4633)。次に、符号化部4613は、NALユニットヘッダに含まれるcodec2_nal_unit_typeに第2の符号化方法用のNALユニットの識別子を設定する(S4634)。そして、符号化部4613は、設定したNALユニットヘッダを有し、ペイロードに符号化データを含むNALユニットを生成する。そして、符号化部4613は、生成したNALユニットを送信する(S4635)。
 一方、使用したコーデックが第1の符号化方法である場合(S4632で第1の符号化方法)、符号化部4613は、第1の符号化方法用のNALユニットフォーマットでNALユニットを生成する(S4636)。次に、符号化部4613は、NALユニットヘッダのcodec1_nal_unit_typeに第1の符号化方法用のNALユニットの識別子を設定する(S4637)。そして、符号化部4613は、設定したNALユニットヘッダを有し、ペイロードに符号化データを含むNALユニットを生成する。そして、符号化部4613は、生成したNALユニットを送信する(S4635)。
 次に、本実施の形態に係る復号処理について説明する。図30は、本実施の形態に係る復号処理のフローチャートである。同図の処理は、上記定義を用いた場合の第1の復号部4640又は第2の復号部4660の処理を示す。なお、以下では第1の復号部4640又は第2の復号部4660を区別せずに復号部4624とも記す。また、同図の処理は、主に、図8に示す逆多重化部4641又は図12に示す逆多重化部4661により行われる。
 なお、同図の処理は、PCCデータを第1の符号化方法、及び第2の符号化方法のいずれか一方で符号化する例を示しており、どちらのPCCコーデックで符号化されているかは既知であるものとする。例えば、使用されているコーデックを示す情報が伝送信号、多重化データ、又は符号化データに含まれており、復号部4624は、当該情報を参照して使用されているコーデックを判定する。なお、復号部4624は、これらの信号とは別に取得した信号に基づき、使用されているコーデックを判定してもよい。
 使用されているコーデックが第2の符号化方法である場合(S4641で第2の符号化方法)、復号部4624は、第2の符号化方法用フォーマットのNALユニットを受信する(S4642)。次に、復号部4624は、NALユニットが第2の符号化方法用であるとして、第2の符号化方法用のNALユニットフォーマット及び第2の符号化方法用のcodec2_nal_unit_typeを用いてデータを識別する(S4643)。次に、復号部4624は、第2の符号化方法の復号処理を用いてPCCデータを復号する(S4644)。
 一方、使用されているコーデックが第1の符号化方法である場合(S4641で第1の符号化方法)、復号部4624は、第1の符号化方法用フォーマットのNALユニットを受信する(S4645)。次に、復号部4624は、NALユニットが第1の符号化方法用であるとして、第1の符号化方法用のNALユニットフォーマット及び第1の符号化方法用のcodec1_nal_unit_typeを用いてデータを識別する(S4646)。次に、復号部4624は、第1の符号化方法の復号処理を用いてPCCデータを復号する(S4747)。
 (実施の形態3)
 本実施の形態では、NALユニットの定義の別の手法について説明する。本実施の形態では、NALユニットとしてPCCコーデック共通のフォーマットを定義する。また、PCCコーデック共通のNALユニットの識別子を定義する。
 図31は、この場合のプロトコルスタックを示す図である。図32~図34は、コーデック共通のNALユニットフォーマットの例を示す図である。図32は、共通PCC NALユニット(Common PCC NAL Unit)のシンタックス例を示す図である。図33は、共通PCC NALユニットヘッダ(Common PCC NAL Unit Header)のシンタックス例を示す図である。図34は、pcc_codec_typeのセマンティクス例を示す図である。
 NALユニットフォーマットとして、PCCコーデック共通のNALユニットフォーマットが定義される。NALユニット(pcc_nal_unit)は、ヘッダ(pcc_nal_unit_header)、ペイロード(pcc_nal_unit_payload)、及びトレイリングビット(trailing_bits)を含む。第1の符号化方法と第2の符号化方法のいずれのコーデックのデータが格納される場合にも、同じフォーマットが使用される。
 NALユニットヘッダ(pcc_nal_unit_header)には、NALユニットタイプ(pcc_nal_unit_type)が格納される。NALユニットタイプは、コーデック共通であり、コーデック共通のタイプが定義される。つまり、第1の符号化方法用のNALユニット、第2の符号化方法用のNALユニットともに、共通に定義されたNALユニットタイプが記載される。図34に示す例において、例えば、PCC DataAは、コーデック1の符号化データであり、PCC DataBは、コーデック2の符号化データであり、PCC MetaDataAは、コーデック1の付加情報であり、PCC MetaDataBは、コーデック2の付加情報である。
 本方式を用いることで、第1の符号化方法と第2の符号化方法とを、同じコーデックとして扱うことができる。
 次に、本実施の形態に係る符号化処理について説明する。図35は、本実施の形態に係る符号化処理のフローチャートである。同図の処理は、上記の定義を用いた場合の第1の符号化部4630又は第2の符号化部4650の処理を示す。また、同図の処理は、主に、図6に示す多重化部4634又は図10に示す多重化部4656により行われる。
 なお、同図の処理は、PCCデータを第2の符号化方法、及び第1の符号化方法のいずれか一方で符号化する例を示しており、どちらのPCCコーデックで符号化するかは既知であるものとする。例えば、いずれのPCCコーデックを用いるかはユーザ又は外部装置等により指定されてもよい。
 まず、符号化部4613は、PCCデータを第2の符号化方法、及び第1の符号化方法のいずれかのコーデックを用いて符号化する(S4651)。次に、符号化部4613は、PCC共通のNALユニットフォーマットでNALユニットを生成する(S4652)。
 次に、符号化部4613は、NALユニットヘッダに含まれるpcc_nal_unit_typeにPCC共通のNALユニットの識別子を設定する(S4653)。次に、設定したNALユニットヘッダを有し、ペイロードに符号化データを含むNALユニットを送信する(S4654)。
 次に、本実施の形態に係る復号処理について説明する。図36は、本実施の形態に係る復号処理のフローチャートである。同図の処理は、上記定義を用いた場合の第1の復号部4640又は第2の復号部4660の処理を示す。また、同図の処理は、主に、図8に示す逆多重化部4641又は図12に示す逆多重化部4661により行われる。
 なお、同図の処理は、PCCデータを第2の符号化方法、及び第1の符号化方法のいずれか一方で符号化する例を示している。
 まず、復号部4624は、NALユニットに含まれるデータの符号化に使用されているコーデックを判定する(S4661)。例えば、復号部4624は、NALユニットヘッダに含まれるpcc_nal_unit_typeを参照することで、使用されているコーデックを判定する。
 使用されているコーデックが第2の符号化方法である場合(S4661で第2の符号化方法)、復号部4624は、PCC共通のフォーマットのNALユニットを受信する(S4662)。次に、復号部4624は、NALユニットは共通であるとして、共通のNALユニットフォーマット及び共通のpcc_nal_unit_typeを用いてデータを識別する(S4663)。次に、復号部4624は、第2の符号化方法の復号処理を用いてPCCデータを復号する(S4664)。
 一方、使用されているコーデックが第1の符号化方法である場合(S4661で第1の符号化方法)、復号部4624は、PCC共通のフォーマットのNALユニットを受信する(S4665)。次に、復号部4624は、NALユニットは共通であるとして、共通のNALユニットフォーマット及び共通のpcc_nal_unit_typeを用いてデータを識別する(S4666)。次に、復号部4624は、第1の符号化方法の復号処理を用いてPCCデータを復号する(S4667)。
 以下、上記の実施の形態1~実施の形態3の変形例について説明する。PCCコーデックタイプを示すその他の方法として以下の方法を用いてもよい。
 実施の形態1、実施の形態2、及び実施の形態3では、第1の符号化方法と第2の符号化方法との2つのコーデックが混在する場合を説明したが、PCCコーデックが3つ以上である場合も上記の手法を適用可能である。
 また、実施の形態1及び実施の形態3では、NALユニットヘッダ内でPCCコーデックの識別情報(実施の形態1におけるpcc_codec_type、及び、実施の形態3bにおけるpcc_nal_unit_type)を記載したが、コーデックの識別情報を他の場所に格納してもよい。
 また、第1の符号化方法及び第2の符号化方法は、上記の例に限定されず、任意のコーデックであってもよい。例えば、第1の符号化方法及び第2の符号化方法は、GPCCを細分化した複数のコーデックであってもよいし、VPCCを細分化した複数のコーデックであってもよい。例えば、第1の符号化方法及び第2の符号化方法は、共にVPCCであり、用いられる映像符号化方式が異なってもよい。映像符号化方式は、例えば、AVC又はHEVCであってもよい。また、第1の符号化方法及び第2の符号化方法のいずれか一方またはその両方は、映像、音声、テキストアプリケーションなど、その他の符号化方式を含む符号化方法であってもよい。
 例えば、コーデックの識別情報は、PCC符号化ストリームに含まれる制御情報に含まれてもよい。ここで制御情報とは、例えば、パラメータセット、又はSEI(Supplemental Enhancement Information)などのメタデータ等である。
 図37は、この場合における符号化部4613による符号化処理のフローチャートである。まず、符号化部4613は、PCCデータを符号化し(S4671)、符号化データ内の所定の位置(例えばパラメータセット)にPCCコーデックの識別情報を記載する(S4672)。次に、符号化部4613は、符号化データを含むNALユニットを生成し、生成したNALユニットを送信する(S4673)。
 また、PCCコーデックの識別情報がprofileと定義しされ、PCCコーデックの識別情報がメタデータに示されてもよい。また、シーケンス全体に同一のコーデックが用いられている場合、シーケンスパラメータセットに、PCCコーデックの識別情報が含まれてもよい。また、PCCフレーム毎に異なるコーデックで符号化されている場合、フレーム毎の情報を記載するパラメータセットに、PCCコーデックの識別情報が含まれてもよい。例えば、位置情報と属性情報とでコーデックが違う場合のようにPCCのデータ毎に異なるコーデックが用いられる場合、データ毎の情報を記載するパラメータセットに、PCCコーデックの識別情報が含まれてもよい。つまり、位置情報のコーデックを示す情報が位置情報の制御情報(パラメータセット等)に含まれ、属性情報のコーデックを示す情報が属性情報の制御情報(パラメータセット等)に含まれてもよい。
 なお、コーデックの識別情報は、上記のいずれかに格納されてもよいし、複数の位置に格納されてもよい。例えば、コーデックの識別情報は、符号化ストリーム内と、NALユニットヘッダとの両方に格納されてもよい。また、複数の位置にコーデックの識別情報が格納される場合、複数の位置に、同一の情報が格納されてもよいし、異なる情報が格納されてもよい。異なる情報とは、例えば、GPCC又はVPCCを示す情報と、GPCC又はVPCCを細分化した複数のコーデックのいずれかを示す情報とである。
 復号部4624に含まれる逆多重化部4641又は4661は、NALユニットにパラメータセットが含まれる場合には、パラメータセットの中の記載を解析することにより、NALユニットのペイロードに含まれるデータが第1の符号化方法で符号化されたデータであるか第2の符号化方法で符号化されたデータであるかを判断できる。これにより、復号部4624は、復号に必要のないNALユニットを早くフィルタリングできる。
 図38は、この場合の復号部4624による復号処理のフローチャートである。まず、復号部4624は、NALユニットを受信し(S4675)、NALユニットヘッダに含まれるpcc_nal_unit_typeを用いてPCCコーデックの識別情報が記載される所定のデータ(例えば上記パラメータセット)を識別する(S4676)。次に、復号部4624は、所定のデータ(例えばパラメータセット)を解析することで所定のデータ内に示されるPCCコーデックを識別する(S4677)。次に、復号部4624は、識別したPCCコーデックを用いて符号化データを復号する(S4678)。
 また、上記では、符号化ストリームがNALユニットに格納される例を示したが、NALユニットの代わりに予め定められた方式の単位(ユニット)が用いられてもよい。
 (実施の形態4)
 本実施の形態では、上述した第1の符号化部4630及び第2の符号化部4650の両方の機能を持つ符号化部4670、並びに、第1の復号部4640及び第2の復号部4660の両方の機能を持つ復号部4680について説明する。
 図39は、本実施の形態に係る符号化部4670のブロック図である。この符号化部4670は、上述した第1の符号化部4630及び第2の符号化部4650と、多重化部4671とを含む。多重化部4671は、第1の符号化部4630で生成された符号化データと第2の符号化部4650で生成された符号化データとを多重化し、得られた符号化データを出力する。
 図40は、本実施の形態に係る復号部4680のブロック図である。この復号部4680は、上述した第1の復号部4640及び第2の復号部4660と、逆多重化部4681とを含む。逆多重化部4681は、入力された符号化データから、第1の符号化方法が用いられている符号化データと、第2の符号化方法が用いられている符号化データとを抽出する。逆多重化部4681は、第1の符号化方法が用いられている符号化データを第1の復号部4640に出力し、第2の符号化方法が用いられている符号化データを第2の復号部4660に出力する。
 上記の構成により、符号化部4670は、第1の符号化方法及び第2の符号化方法を選択的に用いて点群データを符号化することができる。また、復号部4680は、第1の符号化方法を用いて符号化された符号化データ、第2の符号化方法を用いて符号化された符号化データ、及び、第1の符号化方法と第2の符号化方法との両方を用いて符号化された符号化データを復号できる。
 例えば、符号化部4670は、点群データ単位、又はフレーム単位で符号化方法(第1の符号化方法及び第2の符号化方法)を切り替えてもよい。また、符号化部4670は、符号化可能な単位で符号化方法を切り替えてもよい。
 符号化部4670は、例えば、上記実施の形態1又は実施の形態3で説明した、PCCコーデックの識別情報を含む符号化データ(符号化ストリーム)を生成する。
 復号部4680に含まれる逆多重化部4681は、例えば、実施の形態1又は実施の形態3で説明した、PCCコーデックの識別情報を用いて、データを識別する。逆多重化部4681は、当該データが第1の符号化方法で符号化されたデータである場合には、第1の復号部4640に当該データを出力し、当該データが第2の符号化方法で符号化されたデータである場合には、当該データを第2の復号部4660に出力する。
 なお、符号化部4670は、PCCコーデックの識別情報以外にも、両方の符号化方法を用いたか、いずれか一方の符号化方法を用いたかを示す情報を制御情報として送出してもよい。
 次に、本実施の形態に係る符号化処理について説明する。図41は、本実施の形態に係る符号化処理のフローチャートである。実施の形態1、実施の形態2、実施の形態3、及び変形例で説明した、PCCコーデックの識別情報を用いることにより、複数コーデックに対応した符号化処理が可能となる。なお、図41は、実施の形態1の手法を用いた場合の例を示すが、他の手法に対しても同様の処理が適用できる。
 まず、符号化部4670は、PCCデータを第1の符号化方法、第2の符号化方法のいずれか一方又は両方のコーデックで符号化する(S4681)。
 使用したコーデックが第2の符号化方法である場合(S4682で第2の符号化方法)、符号化部4670は、NALユニットヘッダに含まれるpcc_codec_typeをNALユニットのペイロードに含まれるデータが第2の符号化方法で符号化されたデータであることを示す値に設定する(S4683)。次に、符号化部4670は、NALユニットヘッダのpcc_nal_unit_typeに第2の符号化方法用のNALユニットの識別子を設定する(S4684)。そして、符号化部4670は、設定したNALユニットヘッダを有し、ペイロードに符号化データを含むNALユニットを生成する。そして、符号化部4670は、生成したNALユニットを送信する(S4685)。
 一方、使用したコーデックが第1の符号化方法である場合(S4682で第1の符号化方法)、符号化部4670は、NALユニットヘッダに含まれるpcc_codec_typeをNALユニットのペイロードに含まれるデータが第1の符号化方法で符号化されたデータであることを示す値に設定する(S4686)。次に、符号化部4670は、NALユニットヘッダに含まれるpcc_nal_unit_typeに第1の符号化方法用のNALユニットの識別子を設定する(S4687)。次に、符号化部4670は、設定したNALユニットヘッダを有し、ペイロードに符号化データを含むNALユニットを生成する。そして、符号化部4670は、生成したNALユニットを送信する(S4685)。
 次に、本実施の形態に係る復号処理について説明する。図42は、本実施の形態に係る復号処理のフローチャートである。実施の形態1、実施の形態2、実施の形態3、及び変形例で説明した、PCCコーデックの識別情報を用いることにより、複数コーデックに対応した復号処理が可能となる。なお、図42は、実施の形態1の手法を用いた場合の例を示すが、他の手法に対しても同様の処理が適用できる。
 まず、復号部4680は、NALユニットを受信する(S4691)。例えば、このNALユニットは、上述した符号化部4670における処理で生成されたものである。
 次に、復号部4680は、NALユニットヘッダに含まれるpcc_codec_typeが第1の符号化方法を示すか、第2の符号化方法を示すかを判定する(S4692)。
 pcc_codec_typeが第2の符号化方法を示す場合(S4692で第2の符号化方法)、復号部4680は、NALユニットのペイロードに含まれるデータが第2の符号化方法で符号化されたデータであると判断する(S4693)。そして、第2の復号部4660は、NALユニットヘッダに含まれるpcc_nal_unit_typeが、第2の符号化方法用のNALユニットの識別子であるとしてデータを識別する(S4694)。そして、復号部4680は、第2の符号化方法の復号処理を用いてPCCデータを復号する(S4695)。
 一方、pcc_codec_typeが第1の符号化方法を示す場合(S4692で第1の符号化方法)、復号部4680は、NALユニットのペイロードに含まれるデータが第1の符号化方法で符号化されたデータであると判断する(S4696)。そして、復号部4680は、NALユニットヘッダに含まれるpcc_nal_unit_typeが、第1の符号化方法用のNALユニットの識別子であるとしてデータを識別する(S4697)。そして、復号部4680は、第1の符号化方法の復号処理を用いてPCCデータを復号する(S4698)。
 以上のように、本開示の一態様に係る三次元データ符号化装置は、三次元データ(例えば点群データ)を符号化することで符号化ストリームを生成し(例えば、図37のS4671)、前記符号化ストリームの制御情報(例えば、パラメータセット)に、第1符号化方法と第2符号化方法のうち、前記符号化に用いた符号化方法を示す情報(例えば、コーデックの識別情報)を格納する(例えば、図37のS4672)。
 これによれば、三次元データ復号装置は、当該三次元データ符号化装置で生成された符号化ストリームを復号する際に、制御情報に格納された情報を用いて符号化に用いられた符号化方法を判定できる。よって、三次元データ復号装置は、複数の符号化方法が用いられる場合においても正しく符号化ストリームを復号できる。
 例えば、前記三次元データは、位置情報を含む。三次元データ符号化装置は、前記符号化では、前記位置情報を符号化する。三次元データ符号化装置は、前記格納では、前記位置情報の制御情報に、前記第1符号化方法と前記第2符号化方法のうち、前記位置情報の符号化に用いた符号化方法を示す情報を格納する。
 例えば、前記三次元データは、位置情報と属性情報とを含む。三次元データ符号化装置は、前記符号化では、前記位置情報と前記属性情報とを符号化する。三次元データ符号化装置は、前記格納では、前記位置情報の制御情報に、前記第1符号化方法と前記第2符号化方法のうち、前記位置情報の符号化に用いた符号化方法を示す情報を格納し、前記属性情報の制御情報に、前記第1符号化方法と前記第2符号化方法のうち、前記属性情報の符号化に用いた符号化方法を示す情報を格納する。
 これによれば、位置情報と属性情報とに異なる符号化方法を用いることができるので、符号化効率を向上できる。
 例えば、前記三次元データ符号化方法は、さらに、前記符号化ストリームを1以上のユニット(例えば、NALユニット)に格納する(例えば、図37のS4673)。
 例えば、実施の形態1の図15~図18で説明したように、前記ユニットは、前記第1符号化方法と前記第2符号化方法とで共通したフォーマットを有し、前記ユニットに含まれるデータの種別を示す情報であって、前記第1符号化方法と前記第2符号化方法とで独立した定義を有する情報(例えば、pcc_nal_unit_type)を含む。
 例えば、実施の形態2の図23~図28で説明したように、前記ユニットは、前記第1符号化方法と前記第2符号化方法とで独立したフォーマットを有し、前記ユニットに含まれるデータの種別を示す情報であって、前記第1符号化方法と前記第2符号化方法とで独立した定義を有する情報(例えば、codec1_nal_unit_type又はcodec2_nal_unit_type)を含む。
 例えば、実施の形態3の図32~図34で説明したように、前記ユニットは、前記第1符号化方法と前記第2符号化方法とで共通したフォーマットを有し、前記ユニットに含まれるデータの種別を示す情報であって、前記第1符号化方法と前記第2符号化方法とで共通した定義を有する情報(例えば、pcc_nal_unit_type)を含む。
 例えば、三次元データ符号化装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
 また、本実施の形態に係る三次元データ復号装置は、三次元データを符号化することで生成された符号化ストリームの制御情報(例えば、パラメータセット)に含まれる、第1符号化方法と第2符号化方法のうち、前記三次元データの符号化に用いられた符号化方法を示す情報(例えば、コーデックの識別情報)に基づき、符号化ストリームの符号化に用いられた符号化方法を判定し(例えば、図38のS4677)、判定した前記符号化方法を用いて前記符号化ストリームを復号する(例えば、図38のS4678)。
 これによれば、三次元データ復号装置は、符号化ストリームを復号する際に、制御情報に格納された情報を用いて符号化に用いられた符号化方法を判定できる。よって、三次元データ復号装置は、複数の符号化方法が用いられる場合においても正しく符号化ストリームを復号できる。
 例えば、前記三次元データは、位置情報を含み、前記符号化ストリームは、前記位置情報の符号化データを含む。三次元データ復号装置は、前記判定では、前記符号化ストリームに含まれる前記位置情報の制御情報に含まれる、前記第1符号化方法と前記第2符号化方法のうち、前記位置情報の符号化に用いられた符号化方法を示す情報に基づき、前記位置情報の符号化に用いられた符号化方法を判定する。三次元データ復号装置は、前記復号では、判定した前記位置情報の符号化に用いられた符号化方法を用いて前記位置情報の符号化データを復号する。
 例えば、前記三次元データは、位置情報と属性情報とを含み、前記符号化ストリームは、前記位置情報の符号化データと前記属性情報の符号化データとを含む。三次元データ復号装置は、前記判定では、前記符号化ストリームに含まれる前記位置情報の制御情報に含まれる、前記第1符号化方法と前記第2符号化方法のうち、前記位置情報の符号化に用いられた符号化方法を示す情報に基づき、前記位置情報の符号化に用いられた符号化方法を判定し、前記符号化ストリームに含まれる前記属性情報の制御情報に含まれる、前記第1符号化方法と前記第2符号化方法のうち、前記属性情報の符号化に用いられた符号化方法を示す情報に基づき、前記属性情報の符号化に用いられた符号化方法を判定する。三次元データ復号装置は、前記復号では、判定した前記位置情報の符号化に用いられた符号化方法を用いて前記位置情報の符号化データを復号し、判定した前記属性情報の符号化に用いられた符号化方法を用いて前記属性情報の符号化データを復号する。
 これによれば、位置情報と属性情報とに異なる符号化方法を用いることができるので、符号化効率を向上できる。
 例えば、前記符号化ストリームは1以上のユニット(例えば、NALユニット)に格納されており、三次元データ復号装置は、さらに、前記1以上のユニットから前記符号化ストリームを取得する。
 例えば、実施の形態1の図15~図18で説明したように、前記ユニットは、前記第1符号化方法と前記第2符号化方法とで共通したフォーマットを有し、前記ユニットに含まれるデータの種別を示す情報であって、前記第1符号化方法と前記第2符号化方法とで独立した定義を有する情報(例えば、pcc_nal_unit_type)を含む。
 例えば、実施の形態2の図23~図28で説明したように、前記ユニットは、前記第1符号化方法と前記第2符号化方法とで独立したフォーマットを有し、前記ユニットに含まれるデータの種別を示す情報であって、前記第1符号化方法と前記第2符号化方法とで独立した定義を有する情報(例えば、codec1_nal_unit_type又はcodec2_nal_unit_type)を含む。
 例えば、実施の形態3の図32~図34で説明したように、前記ユニットは、前記第1符号化方法と前記第2符号化方法とで共通したフォーマットを有し、前記ユニットに含まれるデータの種別を示す情報であって、前記第1符号化方法と前記第2符号化方法とで共通した定義を有する情報(例えば、pcc_nal_unit_type)を含む。
 例えば、三次元データ復号装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
 (実施の形態5)
 本実施の形態では、実施の形態1で説明したNALユニットをISOBMFFのファイルに格納する方法について説明する。
 ISOBMFF(ISO based media file format)は、ISO/IEC14496-12に規定されるファイルフォーマット規格である。ISOBMFFは、ビデオ、オーディオ、及びテキストなど様々なメディアを多重して格納できるフォーマットを規定しており、メディアに依存しない規格である。
 ISOBMFFの基本構造(ファイル)について説明する。ISOBMFFにおける基本単位はボックスである。ボックスはtype、length、dataで構成され、様々なtypeのボックスを組み合わせた集合がファイルである。
 図43は、ISOBMFFの基本構造(ファイル)を示す図である。ISOBMFFのファイルは、主に、ファイルのブランドを4CC(4文字コード)で示すftyp、制御情報などのメタデータを格納するmoov、及び、データを格納するmdatなどのボックスを含む。
 ISOBMFFのファイルへのメディア毎の格納方法は別途規定されており、例えば、AVCビデオ及びHEVCビデオの格納方法は、ISO/IEC14496-15に規定される。ここで、PCC符号化データを蓄積又は伝送するために、ISOBMFFの機能を拡張して使用することが考えられるが、PCC符号化データをISOBMFFのファイルに格納する規定はまだない。そこで、本実施の形態では、PCC符号化データをISOBMFFのファイルに格納する方法について説明する。
 図44は、PCCコーデック共通のNALユニットをISOBMFFのファイルに格納する場合のプロトコルスタックを示す図である。ここでは、実施の形態1で説明したPCCコーデック共通のNALユニットがISOBMFFのファイルに格納される。NALユニットはPCCコーデック共通であるが、NALユニットには複数のPCCコーデックが格納されるため、それぞれのコーデックに応じた格納方法(Carriage of Codec1、Carriage of Codec2)を規定することが望ましい。
 次に、複数のPCCコーデックをサポートする共通のPCC NALユニットをISOBMFFのファイルへ格納する方法について説明する。図45は、共通のPCC NALユニットをコーデック1の格納方法(Carriage of Codec1)のISOBMFFのファイルに格納する例を示す図である。図46は、共通のPCC NALユニットをコーデック2の格納方法(Carriage of Codec2)のISOBMFFのファイルに格納する例を示す図である。
 ここで、ftypは、ファイルフォーマットを識別するための重要な情報であり、ftyp用に、コーデック毎に異なる識別子が定義される。第1の符号化方法(符号化方式)で符号化されたPCC符号化データがファイルに格納される場合は、ftyp=pcc1に設定される。第2の符号化方法で符号化されたPCC符号化データがファイルに格納される場合は、ftyp=pcc2に設定される。
 ここで、pcc1は、PCCのコーデック1(第1の符号化方法)が用いられることを示す。pcc2は、PCCのコーデック2(第2の符号化方法)が用いられることを示す。つまり、pcc1及びpcc2は、データがPCC(三次元データ(点群データ)の符号データ)であることを示し、かつ、PCCコーデック(第1の符号化方法及び第2の符号化方法)を示す。
 以下、NALユニットをISOBMFFのファイルへ格納する方法について説明する。多重化部は、NALユニットヘッダを解析し、pcc_codec_type=Codec1である場合にはISOBMFFのftypにpcc1を記載する。
 また、多重化部は、NALユニットヘッダを解析し、pcc_codec_type=Codec2である場合にはISOBMFFのftypにpcc2を記載する。
 また、多重化部は、pcc_nal_unit_typeがメタデータである場合は、NALユニットを所定の方法で、例えばmoov又はmdatに格納する。多重化部は、pcc_nal_unit_typeがデータである場合は、NALユニットを所定の方法で、例えばmoov又はmdatに格納する。
 例えば、多重化部は、HEVCと同様にNALユニットにNALユニットサイズを格納してもよい。
 本格納方法により、逆多重化部(システムレイヤ)においてファイルに含まれるftypを解析することで、PCC符号化データが第1の符号化方法で符号化されたか、第2の符号化方法で符号化されたかを判定することが可能となる。さらに、上記の通り、PCC符号化データが第1の符号化方法で符号化されたか、第2の符号化方法で符号化されたかを判定することで、両方の符号化方法で符号化された符号化データが混在するデータからいずれか一方の符号化方法で符号化された符号化データを抽出することができる。これにより、符号化データを伝送する際に、伝送されるデータ量を抑制することができる。また、本格納方法により、第1の符号化方法と第2の符号化方法とで、異なるデータ(ファイル)フォーマットを設定することなく、共通のデータフォーマットを用いることができる。
 なお、ISOBMFFにおけるftypなど、システムレイヤのメタデータにコーデックの識別情報が示される場合は、多重化部は、pcc_nal_unit_typeを削除したNALユニットをISOBMFFのファイルに格納してもよい。
 次に、本実施の形態に係る三次元データ符号化システム(三次元データ符号化装置)が備える多重化部、及び、本実施の形態に係る三次元データ復号システム(三次元データ復号装置)が備える逆多重化部の構成及び動作について説明する。
 図47は、第1の多重化部4710の構成を示す図である。第1の多重化部4710は、第1の符号化部4630で生成された符号化データ及び制御情報(NALユニット)をISOBMFFのファイルに格納することで多重化データ(ファイル)を生成するファイル変換部4711を備える。この第1の多重化部4710は、例えば、図1に示す多重化部4614に含まれる。
 図48は、第1の逆多重化部4720の構成を示す図である。第1の逆多重化部4720は、多重化データ(ファイル)から符号化データ及び制御情報(NALユニット)を取得し、取得した符号化データ及び制御情報を第1の復号部4640に出力するファイル逆変換部4721を備える。この第1の逆多重化部4720は、例えば、図1に示す逆多重化部4623に含まれる。
 図49は、第2の多重化部4730の構成を示す図である。第2の多重化部4730は、第2の符号化部4650で生成された符号化データ及び制御情報(NALユニット)をISOBMFFのファイルに格納することで多重化データ(ファイル)を生成するファイル変換部4731を備える。この第2の多重化部4730は、例えば、図1に示す多重化部4614に含まれる。
 図50は、第2の逆多重化部4740の構成を示す図である。第2の逆多重化部4740は、多重化データ(ファイル)から符号化データ及び制御情報(NALユニット)を取得し、取得した符号化データ及び制御情報を第2の復号部4660に出力するファイル逆変換部4741を備える。この第2の逆多重化部4740は、例えば、図1に示す逆多重化部4623に含まれる。
 図51は、第1の多重化部4710による多重化処理のフローチャートである。まず、第1の多重化部4710は、NALユニットヘッダに含まれるpcc_codec_typeを解析することで、使用されているコーデックが第1の符号化方法であるか、第2の符号化方法であるかを判定する(S4701)。
 pcc_codec_typeが第2の符号化方法を示す場合(S4702で第2の符号化方法)、第1の多重化部4710は、当該NALユニットを処理しない(S4703)。
 一方、pcc_codec_typeが第2の符号化方法を示す場合(S4702で第1の符号化方法)、第1の多重化部4710は、ftypにpcc1を記載する(S4704)。つまり、第1の多重化部4710は、第1の符号化方法で符号化されたデータがファイルに格納されていることを示す情報をftypに記載する。
 次に、第1の多重化部4710は、NALユニットヘッダに含まれるpcc_nal_unit_typeを解析し、pcc_nal_unit_typeで示されるデータタイプに応じた所定の方法でデータをボックス(moov又はmdat等)に格納する(S4705)。そして、第1の多重化部4710は、上記ftyp及び上記ボックスを含むISOBMFFのファイルを作成する(S4706)。
 図52は、第2の多重化部4730による多重化処理のフローチャートである。まず、第2の多重化部4730は、NALユニットヘッダに含まれるpcc_codec_typeを解析することで、使用されているコーデックが第1の符号化方法であるか、第2の符号化方法であるかを判定する(S4711)。
 pcc_unit_typeが第2の符号化方法を示す場合(S4712で第2の符号化方法)、第2の多重化部4730は、ftypにpcc2を記載する(S4713)。つまり、第2の多重化部4730は、第2の符号化方法で符号化されたデータがファイルに格納されていることを示す情報をftypに記載する。
 次に、第2の多重化部4730は、NALユニットヘッダに含まれるpcc_nal_unit_typeを解析し、pcc_nal_unit_typeで示されるデータタイプに応じた所定の方法でデータをボックス(moov又はmdat等)に格納する(S4714)。そして、第2の多重化部4730は、上記ftyp及び上記ボックスを含むISOBMFFのファイルを作成する(S4715)。
 一方、pcc_unit_typeが第1の符号化方法を示す場合(S4712で第1の符号化方法)、第2の多重化部4730は、当該NALユニットを処理しない(S4716)。
 なお、上記処理は、PCCデータを第1の符号化方法、及び第2の符号化方法のいずれか一方で符号化する例を示している。第1の多重化部4710及び第2の多重化部4730は、NALユニットのコーデックタイプを識別することにより、所望のNALユニットをファイルに格納する。なお、NALユニットヘッダ以外に、PCCコーデックの識別情報が含まれる場合には、第1の多重化部4710及び第2の多重化部4730は、ステップS4701及びS4711において、NALユニットヘッダ以外に含まれるPCCコーデックの識別情報を用いて、コーデックタイプ(第1の符号化方法又は第2の符号化方法)を識別してもよい。
 また、第1の多重化部4710及び第2の多重化部4730は、ステップS4706及びS4714において、データをファイルに格納する際に、NALユニットヘッダからpcc_nal_unit_typeを削除したうえでファイルに格納してもよい。
 図53は、第1の逆多重化部4720及び第1の復号部4640による処理を示すフローチャートである。まず、第1の逆多重化部4720は、ISOBMFFのファイルに含まれるftypを解析する(S4721)。ftypで示されるコーデックが第2の符号化方法(pcc2)である場合(S4722で第2の符号化方法)、第1の逆多重化部4720は、NALユニットのペイロードに含まれるデータが第2の符号化方法で符号化されたデータであると判断する(S4723)。また、第1の逆多重化部4720は、判断の結果を第1の復号部4640に伝達する。第1の復号部4640は、当該NALユニットを処理しない(S4724)。
 一方、ftypで示されるコーデックが第1の符号化方法(pcc1)である場合(S4722で第1の符号化方法)、第1の逆多重化部4720は、NALユニットのペイロードに含まれるデータが第1の符号化方法で符号化されたデータであると判断する(S4725)。また、第1の逆多重化部4720は、判断の結果を第1の復号部4640に伝達する。
 第1の復号部4640は、NALユニットヘッダに含まれるpcc_nal_unit_typeが、第1の符号化方法用のNALユニットの識別子であるとしてデータを識別する(S4726)。そして、第1の復号部4640は、第1の符号化方法の復号処理を用いてPCCデータを復号する(S4727)。
 図54は、第2の逆多重化部4740及び第2の復号部4660による処理を示すフローチャートである。まず、第2の逆多重化部4740は、ISOBMFFのファイルに含まれるftypを解析する(S4731)。ftypで示されるコーデックが第2の符号化方法(pcc2)である場合(S4732で第2の符号化方法)、第2の逆多重化部4740は、NALユニットのペイロードに含まれるデータが第2の符号化方法で符号化されたデータであると判断する(S4733)。また、第2の逆多重化部4740は、判断の結果を第2の復号部4660に伝達する。
 第2の復号部4660は、NALユニットヘッダに含まれるpcc_nal_unit_typeが、第2の符号化方法用のNALユニットの識別子であるとしてデータを識別する(S4734)。そして、第2の復号部4660は、第2の符号化方法の復号処理を用いてPCCデータを復号する(S4735)。
 一方、ftypで示されるコーデックが第1の符号化方法(pcc1)である場合(S4732で第1の符号化方法)、第2の逆多重化部4740は、NALユニットのペイロードに含まれるデータが第1の符号化方法で符号化されたデータであると判断する(S4736)。また、第2の逆多重化部4740は、判断の結果を第2の復号部4660に伝達する。第2の復号部4660は、当該NALユニットを処理しない(S4737)。
 このように、例えば、第1の逆多重化部4720又は第2の逆多重化部4740において、NALユニットのコーデックタイプを識別することにより、早い段階でコーデックタイプを識別できる。さらに、所望のNALユニットを第1の復号部4640又は第2の復号部4660に入力し、不要なNALユニットを取り除くことができる。この場合、第1の復号部4640又は第2の復号部4660において、コーデックの識別情報を解析する処理は不要になる可能性がある。なお、第1の復号部4640又は第2の復号部4660で再度NALユニットタイプを参照してコーデックの識別情報を解析する処理を実施してもよい。
 また、第1の多重化部4710又は第2の多重化部4730においてNALユニットヘッダからpcc_nal_unit_typeを削除されている場合には、第1の逆多重化部4720又は第2の逆多重化部4740は、NALユニットにpcc_nal_unit_typeを付与したうえで第1の復号部4640又は第2の復号部4660へ出力してもよい。
 (実施の形態6)
 本実施の形態では、実施の形態4で説明した、複数のコーデックに対応した符号化部4670及び復号部4680に対応する、多重化部および逆多重化部について説明する。図55は、本実施の形態に係る符号化部4670及び第3の多重化部4750の構成を示す図である。
 符号化部4670は、点群データを、第1の符号化方法、及び第2の符号化方法のいずれか一方又は両方の方式を用いて符号化する。符号化部4670は、点群データ単位、又はフレーム単位で符号化方法(第1の符号化方法及び第2の符号化方法)を切り替えてもよい。また、符号化部4670は、符号化可能な単位で符号化方法を切り替えてもよい。
 符号化部4670は、実施の形態1~4で説明した、PCCコーデックの識別情報を含む符号化データ(符号化ストリーム)を生成する。
 第3の多重化部4750は、ファイル変換部4751を備える。ファイル変換部4751は、符号化部4670から出力されたNALユニットをPCCデータのファイルに変換する。ファイル変換部4751は、NALユニットヘッダに含まれるコーデック識別情報を解析し、PCC符号化データが、第1の符号化方法で符号化されたデータであるか、第2の符号化方法で符号化されたデータであるか、両方の方式で符号化されたデータであるかを判定する。ファイル変換部4751は、ftypにコーデックを識別可能なブランド名を記載する。例えば、両方の方式で符号化されたことを示す場合、ftypにpcc3が記載される。
 なお、符号化部4670が、NALユニット以外にPCCコーデックの識別情報を記載している場合、ファイル変換部4751は、当該識別情報を用いて、PCCコーデック(符号化方法)を判定してもよい。
 図56は、本実施の形態に係る第3の逆多重化部4760及び復号部4680の構成を示す図である。
 第3の逆多重化部4760は、ファイル逆変換部4761を備える。ファイル逆変換部4761は、ファイルに含まれるftypを解析し、PCC符号化データが、第1の符号化方法で符号化されたデータであるか、第2の符号化方法で符号化されたデータであるか、両方の方式で符号化されたデータであるかを判定する。
 PCC符号化データがいずれか一方の符号化方法で符号化されている場合、第1の復号部4640及び第2の復号部4660のうち、対応する復号部にデータが入力され、もう一方の復号部にはデータが入力されない。PCC符号化データが両方の符号化方法で符号化されている場合、両方式に対応する復号部4680にデータが入力される。
 復号部4680は、PCC符号化データを、第1の符号化方法及び第2の符号化方法のいずれか一方又は両方の方式を用いて復号する。
 図57は、本実施の形態に係る第3の多重化部4750による処理を示すフローチャートである。
 まず、第3の多重化部4750は、NALユニットヘッダに含まれるpcc_codec_typeを解析することで、使用されているコーデックが第1の符号化方法であるか、第2の符号化方法であるか、第1の符号化方法及び第2の符号化方法の両方であるかを判定する(S4741)。
 第2の符号化方法が使用されている場合(S4742でYes、かつ、S4743で第2の符号化方法)、第3の多重化部4750は、ftypにpcc2を記載する(S4744)。つまり、第3の多重化部4750は、第2の符号化方法で符号化されたデータがファイルに格納されていることを示す情報をftypに記載する。
 次に、第3の多重化部4750は、NALユニットヘッダに含まれるpcc_nal_unit_typeを解析し、pcc_unit_typeで示されるデータタイプに応じた所定の方法でデータをボックス(moov又はmdat等)に格納する(S4745)。そして、第3の多重化部4750は、上記ftyp及び上記ボックスを含むISOBMFFのファイルを作成する(S4746)。
 一方、第1の符号化方法が使用されている場合(S4742でYes、かつ、S4743で第1の符号化方法)、第3の多重化部4750は、ftypにpcc1を記載する(S4747)。つまり、第3の多重化部4750は、第1の符号化方法で符号化されたデータがファイルに格納されていることを示す情報をftypに記載する。
 次に、第3の多重化部4750は、NALユニットヘッダに含まれるpcc_nal_unit_typeを解析し、pcc_unit_typeで示されるデータタイプに応じた所定の方法でデータをボックス(moov又はmdat等)に格納する(S4748)。そして、第3の多重化部4750は、上記ftyp及び上記ボックスを含むISOBMFFのファイルを作成する(S4746)。
 一方、第1の符号化方法と第2の符号化方法との両方の符号化方法が使用されている場合(S4742でNo)、第3の多重化部4750は、ftypにpcc3を記載する(S4749)。つまり、第3の多重化部4750は、両方の符号化方法で符号化されたデータがファイルに格納されていることを示す情報をftypに記載する。
 次に、第3の多重化部4750は、NALユニットヘッダに含まれるpcc_nal_unit_typeを解析し、pcc_unit_typeで示されるデータタイプに応じた所定の方法でデータをボックス(moov又はmdat等)に格納する(S4750)。そして、第3の多重化部4750は、上記ftyp及び上記ボックスを含むISOBMFFのファイルを作成する(S4746)。
 図58は、第3の逆多重化部4760及び復号部4680による処理を示すフローチャートである。まず、第3の逆多重化部4760は、ISOBMFFのファイルに含まれるftypを解析する(S4761)。ftypで示されるコーデックが第2の符号化方法(pcc2)である場合(S4762でYes、かつS4763で第2の符号化方法)、第3の逆多重化部4760は、NALユニットのペイロードに含まれるデータが第2の符号化方法で符号化されたデータであると判断する(S4764)。また、第3の逆多重化部4760は、判断の結果を復号部4680に伝達する。
 復号部4680は、NALユニットヘッダに含まれるpcc_nal_unit_typeが、第2の符号化方法用のNALユニットの識別子であるとしてデータを識別する(S4765)。そして、復号部4680は、第2の符号化方法の復号処理を用いてPCCデータを復号する(S4766)。
 一方、ftypで示されるコーデックが第1の符号化方法(pcc1)である場合(S4762でYes、かつS4763で第1の符号化方法)、第3の逆多重化部4760は、NALユニットのペイロードに含まれるデータが第1の符号化方法で符号化されたデータであると判断する(S4767)。また、第3の逆多重化部4760は、判断の結果を復号部4680に伝達する。
 復号部4680は、NALユニットヘッダに含まれるpcc_nal_unit_typeが、第1の符号化方法用のNALユニットの識別子であるとしてデータを識別する(S4768)。そして、復号部4680は、第1の符号化方法の復号処理を用いてPCCデータを復号する(S4769)。
 一方、ftypで両方の符号化方法が用いられていること(pcc3)が示される場合(S4762でNo)、第3の逆多重化部4760は、NALユニットのペイロードに含まれるデータが、第1の符号化方法と第2符号化方法との両方の符号化方法で符号化されたデータであると判断する(S4770)。また、第3の逆多重化部4760は、判断の結果を復号部4680に伝達する。
 復号部4680は、NALユニットヘッダに含まれるpcc_nal_unit_typeが、pcc_codec_typeに記載されるコーデック用のNALユニットの識別子であるとしてデータを識別する(S4771)。そして、復号部4680は、両方の符号化方法の復号処理を用いてPCCデータを復号する(S4772)。つまり、復号部4680は、第1の符号化方法で符号化されたデータを、第1の符号化方法の復号処理を用いて復号し、第2の符号化方法で符号化されたデータを、第2の符号化方法の復号処理を用いて復号する。
 以下、本実施の形態の変形例を説明する。ftypに示されるブランドの種類として、以下の種類が識別情報で示されてもよい。また、以下に示す複数の種類の組み合わせが識別情報で示されてもよい。
 識別情報は、PCC符号化前の元データのオブジェクトが、領域が制限されている点群であるか、地図情報のように領域が制限されていない大規模点群であるかを示してもよい。
 識別情報は、PCC符号化前の元データが、静的オブジェクトであるか、動的オブジェクトであるかを示してもよい。
 上述のように、識別情報は、PCC符号化データが、第1の符号化方法で符号化されたデータであるか、第2の符号化方法で符号化されたデータであるかを示してもよい。
 識別情報は、PCC符号化において用いたアルゴリズムを示してもよい。ここで、アルゴリズムとは、例えば、第1の符号化方法又は第2の符号化方法において使用可能な符号化方法である。
 識別情報は、PCC符号化データのISOBMFFのファイルへの格納方法の違いを示してもよい。例えば、識別情報は、使用された格納方法が、蓄積用の格納方法であるか、ダイナミックストリーミングのようなリアルタイム送出用の格納方法であるかを示してもよい。
 なお、実施の形態5では、実施の形態1で説明したNALユニットの格納方法について説明し、実施の形態6では、実施の形態4で説明したNALユニット格納方法について説明したが、実施の形態2及び実施の形態3で説明したNALユニットに対しても同様の格納方法を適用することで、PCCコーデックの識別情報をISOBMFFのファイルに格納してもよい。
 また、実施の形態5及び実施の形態6では、ファイルフォーマットとしてISOBMFFが用いられる例に説明したが、その他の方式が用いられてもよい。例えば、MPEG-2 TS Systems、MPEG-DASH、MMT、又はRMPにPCC符号化データを格納する際にも本実施の形態と同様の方法を用いてもよい。
 また、上記では、ftypに識別情報等のメタデータを格納する例を示したが、ftyp以外にこれらのメタデータが格納されてもよい。例えば、これらのメタデータがmoovに格納されてもよい。
 以上のように、三次元データ格納装置(又は三次元データ多重化装置、又は三次元データ符号化装置)は、図59に示す処理を行う。
 まず、三次元データ格納装置(例えば、第1の多重化部4710、第2の多重化部4730又は第3の多重化部4750を含む)は、点群データが符号化された符号化ストリームが格納された1以上のユニット(例えばNALユニット)を取得する(S4781)。次に、三次元データ格納装置は、1以上のユニットをファイル(例えばISOBMFFのファイル)に格納する(S4782)。また、三次元データ格納装置は、前記格納(S4782)では、ファイルに格納されているデータが、点群データが符号化されたデータであることを示す情報(例えばpcc1、pcc2又はpcc3)を、前記ファイルの制御情報(例えばftyp)に格納する。
 これによれば、当該三次元データ格納装置で生成されたファイルを処理する装置では、ファイルの制御情報を参照して、当該ファイルに格納されているデータが点群データの符号化データであるか否かを早期に判定できる。よって、当該装置の処理量の低減又は処理の高速化を実現できる。
 例えば、前記情報は、さらに、第1符号化方法と第2符号化方法のうち、前記点群データの符号化に用いられた符号化方法を示す。なお、ファイルに格納されているデータが、点群データが符号化されたデータであることと、第1符号化方法と第2符号化方法のうち、点群データの符号化に用いられた符号化方法とは、単一の情報で示されてもよいし、異なる情報で示されてもよい。
 これによれば、当該三次元データ格納装置で生成されたファイルを処理する装置では、ファイルの制御情報を参照して、当該ファイルに格納されているデータに使用されたコーデックを早期に判定できる。よって、当該装置の処理量の低減又は処理の高速化を実現できる。
 例えば、前記第1符号化方法は、点群データの位置をN(Nは2以上の整数)分木で表した位置情報を符号化し、前記位置情報を用いて属性情報を符号化する方式(GPCC)であり、前記第2符号化方法は、点群データから二次元画像を生成し、前記二次元画像を映像符号化方法を用いて符号化する方式(VPCC)である。
 例えば、前記ファイルは、ISOBMFF(ISO based media file format)に準拠する。
 例えば、三次元データ格納装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
 また、以上のように、三次元データ取得装置(又は三次元データ逆多重化装置、又は三次元データ復号装置)は、図60に示す処理を行う。
 三次元データ取得装置(例えば、第1の逆多重化部4720、第2の逆多重化部4740又は第3の逆多重化部4760を含む)は、点群データが符号化された符号化ストリームが格納された1以上のユニット(例えばNALユニット)が格納されたファイル(例えばISOBMFFのファイル)を取得する(S4791)。次に、三次元データ取得装置は、ファイルから、1以上のユニットを取得する(S4792)。また、ファイルの制御情報(例えばftyp)は、ファイルに格納されているデータが、点群データが符号化されたデータであることを示す情報(例えばpcc1、pcc2又はpcc3)を含む。
 例えば、三次元データ取得装置は、前記情報を参照して、ファイルに格納されているデータが、点群データが符号化されたデータであるか否かを判定する。また、三次元データ取得装置は、ファイルに格納されているデータが、点群データが符号化されたデータであると判定した場合、1以上のユニットに含まれる点群データが符号化されたデータを復号することで点群データを生成する。または、三次元データ取得装置は、ファイルに格納されているデータが、点群データが符号化されたデータであると判定した場合、1以上のユニットに含まれるデータが、点群データが符号化されたデータであることを示す情報を、後段の処理部(例えば、第1の復号部4640、第2の復号部4660又は復号部4680)に出力(通知)する。
 これによれば、当該三次元データ取得装置は、ファイルの制御情報を参照して、当該ファイルに格納されているデータが点群データの符号化データであるか否かを早期に判定できる。よって、当該三次元データ取得装置又は後段の装置の処理量の低減又は処理の高速化を実現できる。
 例えば、前記情報は、さらに、第1符号化方法と第2符号化方法のうち、前記符号化に用いた符号化方法を示す。なお、ファイルに格納されているデータが、点群データが符号化されたデータであることと、第1符号化方法と第2符号化方法のうち、点群データの符号化に用いられた符号化方法とは、単一の情報で示されてもよいし、異なる情報で示されてもよい。
 これによれば、当該三次元データ取得装置は、ファイルの制御情報を参照して、当該ファイルに格納されているデータに使用されたコーデックを早期に判定できる。よって、当該三次元データ取得装置又は後段の装置の処理量の低減又は処理の高速化を実現できる。
 例えば、三次元データ取得装置は、前記情報に基づき、第1符号化方法で符号化されたデータと第2符号化方法で符号化されたデータとを含む符号化された点群データから、いずれか一方の符号化方法で符号化されたデータを取得する。
 例えば、前記第1符号化方法は、点群データの位置をN(Nは2以上の整数)分木で表した位置情報を符号化し、前記位置情報を用いて属性情報を符号化する方式(GPCC)であり、前記第2符号化方法は、点群データから二次元画像を生成し、前記二次元画像を映像符号化方法を用いて符号化する方式(VPCC)である。
 例えば、前記ファイルは、ISOBMFF(ISO based media file format)に準拠する。
 例えば、三次元データ取得装置は、プロセッサと、メモリとを備え、プロセッサは、メモリを用いて、上記の処理を行う。
 以上、本開示の実施の形態に係る三次元データ格納装置及び三次元データ取得装置等について説明したが、本開示は、この実施の形態に限定されるものではない。
 また、上記実施の形態に係る三次元データ格納装置及び三次元データ取得装置等に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
 また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
 また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
 また、本開示は、三次元データ格納装置及び三次元データ取得装置等により実行される三次元データ格納方法又は三次元データ取得方法等として実現されてもよい。
 また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
 また、フローチャートにおける各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
 以上、一つまたは複数の態様に係る三次元データ格納装置及び三次元データ取得装置等について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
 本開示は、三次元データ格納装置及び三次元データ取得装置に適用できる。
 4601 三次元データ符号化システム
 4602 三次元データ復号システム
 4603 センサ端末
 4604 外部接続部
 4611 点群データ生成システム
 4612 提示部
 4613 符号化部
 4614 多重化部
 4615 入出力部
 4616 制御部
 4617 センサ情報取得部
 4618 点群データ生成部
 4621 センサ情報取得部
 4622 入出力部
 4623 逆多重化部
 4624 復号部
 4625 提示部
 4626 ユーザインタフェース
 4627 制御部
 4630 第1の符号化部
 4631 位置情報符号化部
 4632 属性情報符号化部
 4633 付加情報符号化部
 4634 多重化部
 4640 第1の復号部
 4641 逆多重化部
 4642 位置情報復号部
 4643 属性情報復号部
 4644 付加情報復号部
 4650 第2の符号化部
 4651 付加情報生成部
 4652 位置画像生成部
 4653 属性画像生成部
 4654 映像符号化部
 4655 付加情報符号化部
 4656 多重化部
 4660 第2の復号部
 4661 逆多重化部
 4662 映像復号部
 4663 付加情報復号部
 4664 位置情報生成部
 4665 属性情報生成部
 4670 符号化部
 4671 多重化部
 4680 復号部
 4681 逆多重化部
 4710 第1の多重化部
 4711 ファイル変換部
 4720 第1の逆多重化部
 4721 ファイル逆変換部
 4730 第2の多重化部
 4731 ファイル変換部
 4740 第2の逆多重化部
 4741 ファイル逆変換部
 4750 第3の多重化部
 4751 ファイル変換部
 4760 第3の逆多重化部
 4761 ファイル逆変換部

Claims (11)

  1.  点群データが符号化された符号化ストリームが格納された1以上のユニットを取得し、
     前記1以上のユニットをファイルに格納し、
     前記格納では、前記ファイルに格納されているデータが、点群データが符号化されたデータであることを示す情報を、前記ファイルの制御情報に格納する
     三次元データ格納方法。
  2.  前記情報は、さらに、第1符号化方法と第2符号化方法のうち、前記点群データの符号化に用いられた符号化方法を示す
     請求項1記載の三次元データ格納方法。
  3.  前記第1符号化方法は、点群データの位置をN(Nは2以上の整数)分木で表した位置情報を符号化し、前記位置情報を用いて属性情報を符号化する方式であり、
     前記第2符号化方法は、点群データから二次元画像を生成し、前記二次元画像を映像符号化方法を用いて符号化する方式である
     請求項2記載の三次元データ格納方法。
  4.  前記ファイルは、ISOBMFF(ISO based media file format)に準拠する
     請求項1~3のいずれか1項に記載の三次元データ格納方法。
  5.  点群データが符号化された符号化ストリームが格納された1以上のユニットが格納されたファイルを取得し、
     前記ファイルから、前記1以上のユニットを取得し、
     前記ファイルの制御情報は、前記ファイルに格納されているデータが、点群データが符号化されたデータであることを示す情報を含む
     三次元データ取得方法。
  6.  前記情報は、さらに、第1符号化方法と第2符号化方法のうち、前記符号化に用いた符号化方法を示す
     請求項5記載の三次元データ取得方法。
  7.  前記情報に基づき、前記第1符号化方法で符号化された前記データと前記第2符号化方法で符号化された前記データとを含む符号化された前記点群データから、いずれか一方の符号化方法で符号化された前記データを取得する
     請求項6記載の三次元データ取得方法。
  8.  前記第1符号化方法は、点群データの位置をN(Nは2以上の整数)分木で表した位置情報を符号化し、前記位置情報を用いて属性情報を符号化する方式であり、
     前記第2符号化方法は、点群データから二次元画像を生成し、前記二次元画像を映像符号化方法を用いて符号化する方式である
     請求項6記載の三次元データ取得方法。
  9.  前記ファイルは、ISOBMFF(ISO based media file format)に準拠する
     請求項5~8のいずれか1項に記載の三次元データ取得方法。
  10.  プロセッサと、
     メモリとを備え、
     前記プロセッサは、前記メモリを用いて、
     点群データが符号化された符号化ストリームが格納された1以上のユニットを取得し、
     前記1以上のユニットをファイルに格納し、
     前記格納では、前記ファイルに格納されているデータが、点群データが符号化されたデータであることを示す情報を、前記ファイルの制御情報に格納する
     三次元データ格納装置。
  11.  プロセッサと、
     メモリとを備え、
     前記プロセッサは、前記メモリを用いて、
     点群データが符号化された符号化ストリームが格納された1以上のユニットが格納されたファイルを取得し、
     前記ファイルから、前記1以上のユニットを取得し、
     前記ファイルの制御情報は、前記ファイルに格納されているデータが、点群データが符号化されたデータであることを示す情報を含む
     三次元データ取得装置。
PCT/JP2019/030842 2018-08-06 2019-08-06 三次元データ格納方法、三次元データ取得方法、三次元データ格納装置、及び三次元データ取得装置 WO2020032004A1 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CN201980051434.5A CN112513938A (zh) 2018-08-06 2019-08-06 三维数据保存方法、三维数据获得方法、三维数据保存装置以及三维数据获得装置
JP2020535779A JPWO2020032004A1 (ja) 2018-08-06 2019-08-06 三次元データ格納方法、三次元データ取得方法、三次元データ格納装置、及び三次元データ取得装置
KR1020247000719A KR20240010535A (ko) 2018-08-06 2019-08-06 3차원 데이터 저장 방법, 3차원 데이터 취득 방법, 3차원 데이터 저장 장치, 및 3차원 데이터 취득 장치
KR1020217003077A KR102624513B1 (ko) 2018-08-06 2019-08-06 3차원 데이터 저장 방법, 3차원 데이터 취득 방법, 3차원 데이터 저장 장치, 및 3차원 데이터 취득 장치
EP19846402.6A EP3836087A4 (en) 2018-08-06 2019-08-06 METHOD FOR STORING THREE-DIMENSIONAL DATA, METHOD FOR COLLECTING THREE-DIMENSIONAL DATA, DEVICE FOR STORING THREE-DIMENSIONAL DATA AND DEVICE FOR COLLECTING THREE-DIMENSIONAL DATA
US17/132,619 US11477482B2 (en) 2018-08-06 2020-12-23 Three-dimensional data storage method including acquiring one or more units in which an encoded stream generated by encoding point cloud data is stored
US17/942,274 US11856154B2 (en) 2018-08-06 2022-09-12 Three-dimensional data storage method, three-dimensional data acquisition method, three-dimensional data storage device, and three-dimensional data acquisition device
US18/378,311 US20240040149A1 (en) 2018-08-06 2023-10-10 Three-dimensional data storage method, three-dimensional data acquisition method, three-dimensional data storage device, and three-dimensional data acquisition device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862714973P 2018-08-06 2018-08-06
US62/714,973 2018-08-06

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/132,619 Continuation US11477482B2 (en) 2018-08-06 2020-12-23 Three-dimensional data storage method including acquiring one or more units in which an encoded stream generated by encoding point cloud data is stored

Publications (1)

Publication Number Publication Date
WO2020032004A1 true WO2020032004A1 (ja) 2020-02-13

Family

ID=69414778

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/030842 WO2020032004A1 (ja) 2018-08-06 2019-08-06 三次元データ格納方法、三次元データ取得方法、三次元データ格納装置、及び三次元データ取得装置

Country Status (6)

Country Link
US (3) US11477482B2 (ja)
EP (1) EP3836087A4 (ja)
JP (1) JPWO2020032004A1 (ja)
KR (2) KR20240010535A (ja)
CN (1) CN112513938A (ja)
WO (1) WO2020032004A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4231609A4 (en) * 2020-10-14 2024-03-13 Tencent Tech Shenzhen Co Ltd METHOD FOR ENCAPSULATING MEDIA FILES, METHOD FOR ENCAPSULATING MEDIA FILES AND ASSOCIATED APPARATUS

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014020663A1 (ja) 2012-07-30 2014-02-06 三菱電機株式会社 地図表示装置
JP2016506693A (ja) * 2013-01-04 2016-03-03 クゥアルコム・インコーポレイテッドQualcomm Incorporated マルチビューコード化プラス深度のためのトラックにおけるテクスチャビューと深度ビューの存在の指示
JP2017220703A (ja) * 2016-06-03 2017-12-14 キヤノン株式会社 通信装置、通信制御方法および通信システム
WO2018038131A1 (ja) * 2016-08-26 2018-03-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元情報処理方法及び三次元情報処理装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009134356A (ja) * 2007-11-28 2009-06-18 National Institute Of Information & Communication Technology 3次元形状モデル形成装置、3次元形状モデル形成方法、および3次元形状モデル形成プログラム
JP2010117886A (ja) * 2008-11-13 2010-05-27 Kanto Auto Works Ltd 仮想試作システム及び仮想試作における動作情報の処理方法並びに該処理方法を記録した記録媒体
US8731313B2 (en) * 2009-03-23 2014-05-20 Level Set Systems, Inc. Method and apparatus for accurate compression and decompression of three-dimensional point cloud data
JP2011228862A (ja) 2010-04-16 2011-11-10 Sony Corp データ構造、画像処理装置、画像処理方法、およびプログラム
BR112013031367A2 (pt) * 2011-07-08 2017-03-01 Thomson Licensing sistema e processo para codificação e decodificação de um fluxo de bits para um modelo 3d tendo estrutura repetitiva.
KR101883532B1 (ko) * 2011-11-25 2018-07-30 톰슨 라이센싱 반복적인 구조 발견 기반 3d 모델 압축의 비트스트림을 생성하기 위한 방법 및 장치
US9390110B2 (en) * 2012-05-02 2016-07-12 Level Set Systems Inc. Method and apparatus for compressing three-dimensional point cloud data
US20170212712A1 (en) * 2014-07-08 2017-07-27 Braxton Carter Dynamic collection, control and conveyance of 3-dimensional data in a network
US9734595B2 (en) * 2014-09-24 2017-08-15 University of Maribor Method and apparatus for near-lossless compression and decompression of 3D meshes and point clouds
WO2016108188A1 (en) * 2014-12-31 2016-07-07 Nokia Technologies Oy Inter-layer prediction for scalable video coding and decoding
US9972125B2 (en) * 2015-12-16 2018-05-15 Google Inc. Split tile map rendering
US10694210B2 (en) * 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
US9787321B1 (en) * 2016-11-17 2017-10-10 Google Inc. Point cloud data compression using a space-filling curve
US11514613B2 (en) * 2017-03-16 2022-11-29 Samsung Electronics Co., Ltd. Point cloud and mesh compression using image/video codecs
EP3429208A1 (en) * 2017-07-13 2019-01-16 Thomson Licensing A method and apparatus for encoding/decoding a colored point cloud representing the geometry and colors of a 3d object
EP3429212A1 (en) * 2017-07-13 2019-01-16 Thomson Licensing A method and apparatus for encoding/decoding the geometry of a point cloud representing a 3d object
EP3429211A1 (en) * 2017-07-13 2019-01-16 Thomson Licensing A method and apparatus for encoding/decoding the colors of a colored point cloud whose geometry is represented by an octree-based structure
EP3429209A1 (en) * 2017-07-13 2019-01-16 Thomson Licensing A method and apparatus for encoding/decoding a point cloud representing a 3d object
EP3429207A1 (en) * 2017-07-13 2019-01-16 Thomson Licensing A method and apparatus for encoding/decoding a colored point cloud representing the geometry and colors of a 3d object
EP3428887A1 (en) * 2017-07-13 2019-01-16 Thomson Licensing Method and device for encoding a point cloud
US10499054B2 (en) * 2017-10-12 2019-12-03 Mitsubishi Electric Research Laboratories, Inc. System and method for inter-frame predictive compression for point clouds
US20190116372A1 (en) * 2017-10-16 2019-04-18 Mitsubishi Electric Research Laboratories, Inc. Systems and Methods for Compressing, Representing and Processing Point Clouds
US10735826B2 (en) * 2017-12-20 2020-08-04 Intel Corporation Free dimension format and codec
EP4213096A1 (en) * 2018-01-18 2023-07-19 BlackBerry Limited Methods and devices for entropy coding point clouds
US10796457B2 (en) * 2018-06-26 2020-10-06 Intel Corporation Image-based compression of LIDAR sensor data with point re-ordering
US20200045288A1 (en) * 2018-07-31 2020-02-06 Intel Corporation Six degree of freedom video transcoding mechanism

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014020663A1 (ja) 2012-07-30 2014-02-06 三菱電機株式会社 地図表示装置
JP2016506693A (ja) * 2013-01-04 2016-03-03 クゥアルコム・インコーポレイテッドQualcomm Incorporated マルチビューコード化プラス深度のためのトラックにおけるテクスチャビューと深度ビューの存在の指示
JP2017220703A (ja) * 2016-06-03 2017-12-14 キヤノン株式会社 通信装置、通信制御方法および通信システム
WO2018038131A1 (ja) * 2016-08-26 2018-03-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元情報処理方法及び三次元情報処理装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SATO KAZUYA, KAMIKURA KAZUTO: "Layered Video Coding Using H.265/HEVC for Point Cloud Data", BULLETIN OF FACULTY OF ENGINEERING, TOKYO POLYTECHNIC UNIVERSITY, TOKYO KOGEI DAIGAKU. KOGAKUBU, ATSUGI, JP, vol. 40, no. 1, 25 December 2017 (2017-12-25), JP, pages 47 - 51, XP055833641, ISSN: 0387-6055 *
See also references of EP3836087A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4231609A4 (en) * 2020-10-14 2024-03-13 Tencent Tech Shenzhen Co Ltd METHOD FOR ENCAPSULATING MEDIA FILES, METHOD FOR ENCAPSULATING MEDIA FILES AND ASSOCIATED APPARATUS

Also Published As

Publication number Publication date
KR20240010535A (ko) 2024-01-23
CN112513938A (zh) 2021-03-16
EP3836087A1 (en) 2021-06-16
US20240040149A1 (en) 2024-02-01
JPWO2020032004A1 (ja) 2021-08-10
EP3836087A4 (en) 2021-09-29
US20230007301A1 (en) 2023-01-05
US20210120267A1 (en) 2021-04-22
US11477482B2 (en) 2022-10-18
KR20210040960A (ko) 2021-04-14
US11856154B2 (en) 2023-12-26
KR102624513B1 (ko) 2024-01-12

Similar Documents

Publication Publication Date Title
WO2020071416A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2020100866A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2020116563A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
WO2020075780A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US20240107064A1 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
WO2020032248A1 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US11936919B2 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
KR20240058994A (ko) 삼차원 데이터 부호화 방법, 삼차원 데이터 복호 방법, 삼차원 데이터 부호화 장치, 및 삼차원 데이터 복호 장치
US11750844B2 (en) Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
JP2024040321A (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
US20240040149A1 (en) Three-dimensional data storage method, three-dimensional data acquisition method, three-dimensional data storage device, and three-dimensional data acquisition device
JP7490555B2 (ja) 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置

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: 19846402

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020535779

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019846402

Country of ref document: EP

Effective date: 20210309