CN116743722A - Data processing method and device of point cloud media, storage medium and electronic equipment - Google Patents

Data processing method and device of point cloud media, storage medium and electronic equipment Download PDF

Info

Publication number
CN116743722A
CN116743722A CN202310782085.2A CN202310782085A CN116743722A CN 116743722 A CN116743722 A CN 116743722A CN 202310782085 A CN202310782085 A CN 202310782085A CN 116743722 A CN116743722 A CN 116743722A
Authority
CN
China
Prior art keywords
attribute
data
type
point cloud
prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310782085.2A
Other languages
Chinese (zh)
Inventor
胡颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202310782085.2A priority Critical patent/CN116743722A/en
Publication of CN116743722A publication Critical patent/CN116743722A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The application discloses a data processing method and device of point cloud media, a storage medium and electronic equipment, wherein the method comprises the following steps: acquiring a point cloud code stream of a point cloud medium, wherein the point cloud code stream comprises a plurality of target attribute data and attribute-dependent combination indication information, and the attribute-dependent combination indication information is used for indicating a coding-decoding dependent combination relation among the plurality of target attribute data; and decoding the point cloud code stream according to the attribute dependency combination indicating information to present the point cloud media, so that the combination and coding and decoding dependency relationship among the attribute data of the point cloud can be flexibly organized, and the decoding accuracy of the point cloud code stream can be improved.

Description

Data processing method and device of point cloud media, storage medium and electronic equipment
Technical Field
The application belongs to the technical field of computers, and particularly relates to a data processing method and device of point cloud media, a storage medium and electronic equipment.
Background
The point cloud is a point set obtained by adopting a measuring instrument to acquire data of the surface of an object. The point cloud is widely applied in the aspects of automatic driving, high-precision maps, virtual reality and the like, but because the point cloud is often composed of tens of thousands of points to hundreds of millions of three-dimensional points, the point cloud brings serious challenges to data storage, processing, transmission and display, and is difficult to bear for the current storage resources and transmission bandwidth, so that the point cloud code stream is obtained by encoding and compressing the point cloud, and the point cloud is essentially stored or transmitted by replacing the point cloud by the point cloud code stream.
At present, a common point cloud coding compression method comprises geometric-based Point Cloud Compression (GPCC) based point cloud compression, but the conventional GPCC technology cannot flexibly organize coding and decoding dependence and combination relation among attribute data of point clouds, and is not beneficial to correct decoding of point cloud code streams.
Disclosure of Invention
The present application aims to solve at least one of the technical problems existing in the prior art. Therefore, the application provides a data processing method, a device, a storage medium and electronic equipment of point cloud media, which can flexibly organize coding and decoding dependence and combination relation among attribute data of point cloud and is beneficial to improving decoding accuracy of point cloud code streams.
In a first aspect, the present application provides a method for processing data of a point cloud media, including:
acquiring a point cloud code stream of a point cloud medium, wherein the point cloud code stream comprises a plurality of target attribute data and attribute-dependent combination indication information, and the attribute-dependent combination indication information is used for indicating a coding-decoding dependent combination relation among the plurality of target attribute data;
and decoding the point cloud code stream according to the attribute dependent combination indication information to present the point cloud media.
In a second aspect, the present application provides a data processing method of a point cloud media, including:
acquiring point cloud media;
and carrying out encoding compression on the point cloud media to obtain a point cloud code stream, wherein the point cloud code stream comprises a plurality of target attribute data and attribute dependent combination indicating information, and the attribute dependent combination indicating information is used for indicating the encoding and decoding dependent combination relation among the plurality of target attribute data.
In some embodiments, the plurality of target attribute data includes a plurality of first target attribute data of a same attribute type, and the attribute-dependent combination indication information is used to indicate a codec-dependent combination relationship between the plurality of first target attribute data.
In some embodiments, the plurality of target attribute data further includes a plurality of second target attribute data of a same attribute type, the first target attribute data and the second target attribute data belong to different attribute types, and the attribute dependent combination indication information is further used to indicate a codec dependent combination relationship between the first target attribute data and the second target attribute data.
In some embodiments, the attribute-dependent combination indication information is represented as a plurality of target fields including a cross-type attribute prediction field, a cross-type attribute prediction group identification field, a cross-type attribute prediction order field, a same-type attribute prediction group identification field, and a same-type attribute prediction order field;
Wherein the cross-type attribute prediction field is used for indicating whether to allow cross-type attribute prediction of corresponding attribute data; the cross-type attribute prediction group identification field is used for indicating an identifier of a cross-type attribute prediction group where corresponding attribute data are located, and the cross-type attribute prediction group is a group of attribute data predicted by using the cross-type attribute; the cross-type attribute prediction sequence field is used for indicating the prediction sequence of corresponding attribute data in cross-type attribute prediction; the same type attribute prediction field is used for indicating whether the same type attribute prediction of corresponding attribute data is allowed or not; the same type attribute prediction group identification field is used for indicating an identifier of a same type attribute prediction group where corresponding attribute data are located, and the same type attribute prediction group is a group of attribute data predicted by using the same type attribute; the same type attribute prediction order field is used for indicating the prediction order of corresponding attribute data in the same type attribute prediction.
In some embodiments, if the value of the cross-type attribute prediction field is a first flag value, indicating that cross-type attribute prediction of the corresponding attribute data is not allowed; and if the value of the cross-type attribute prediction field is a second flag value, indicating that the cross-type attribute prediction of the corresponding attribute data is allowed.
In some embodiments, if the value of the attribute prediction field of the same type is a first flag value, it indicates that the attribute prediction of the same type of the corresponding attribute data is not allowed, and if the value of the attribute prediction field of the same type is a second flag value, it indicates that the attribute prediction of the same type of the corresponding attribute data is allowed.
In some embodiments, the point cloud code stream includes a point cloud sequence including an attribute header including a set of parameters required for decoding the plurality of target attribute data and an attribute slice including the plurality of target attribute data; the cross-type attribute prediction field, the cross-type attribute prediction group identification field, the same-type attribute prediction group identification field, and the cross-type attribute prediction order field are located in the attribute header, and the same-type attribute prediction order field is located in the attribute slice.
In some embodiments, the point cloud sequence further comprises a sequence header comprising a set of parameters required for decoding of the point cloud sequence; the plurality of target fields further comprise a first combination quantity identification field and a second combination quantity identification field, wherein the first combination quantity identification field is used for indicating whether a plurality of sets of attribute data predicted by using cross-type attribute exist in the point cloud sequence, the second combination quantity identification field is used for indicating whether a plurality of sets of attribute data predicted by using cross-reflectivity attribute exist in the point cloud sequence, and the first combination quantity identification field and the second combination quantity identification field are both located in the attribute header or both located in the sequence header.
In some embodiments, if the value of the first combined number identification field is the second flag value, it indicates that there is a plurality of sets of attribute data predicted using cross-type attributes, and if the value of the first combined number identification field is the first flag value, it indicates that there is at most one set of attribute data predicted using cross-type attributes.
In some embodiments, if the value of the second combined quantity identification field is a second flag value, it indicates that there is a plurality of sets of attribute data predicted using the cross-reflectivity attribute, and if the value of the second combined quantity identification field is a first flag value, it indicates that there is at most one set of attribute data predicted using the cross-reflectivity attribute.
In some embodiments, the plurality of target fields further includes a first identifier indication field and a second identifier indication field in the attribute header, the first identifier indication field for indicating whether to set an identifier of a cross-type attribute prediction group in which the corresponding attribute data is located; the second identifier indication field is used for indicating whether to set the identifier of the same type attribute prediction group in which the corresponding attribute data is located.
In some embodiments, if the value of the first identifier indication field is a first flag value, an identifier of a cross-type attribute prediction group where the corresponding attribute data is located is indicated not to be set; and if the value of the first identifier indication field is a second flag value, indicating to set the identifier of the cross-type attribute prediction group where the corresponding attribute data is located.
In some embodiments, if the value of the second identifier indication field is the first flag value, the identifier of the same type of attribute prediction group in which the corresponding attribute data is located is not set; and if the value of the second identifier indication field is a second flag value, indicating to set the identifier of the attribute prediction group of the same type where the corresponding attribute data is located.
In some embodiments, the plurality of target fields further includes an attribute header information index field located in the attribute slice, the attribute header information index field for indicating an attribute header information index used by an attribute type of the attribute data in the corresponding attribute slice, the attribute header information index for obtaining the corresponding parameter in the attribute header.
In some embodiments, the plurality of target fields further includes a tile data type field and an attribute header information index field located in the attribute tile;
the slice data type field is used for indicating an attribute prediction type of attribute data in a corresponding attribute slice, the attribute head information index field is used for indicating an attribute head information index used by the attribute type of the attribute data in the corresponding attribute slice, and the attribute head information index is used for acquiring corresponding parameters in the attribute head.
In some embodiments, if the value of the tile data type field is a first flag value, the attribute prediction type indicates that the corresponding attribute tile includes color data that does not participate in cross-type attribute prediction; if the value of the slice data type field is a second flag value, the attribute prediction type indicates that the corresponding attribute slice comprises reflectivity data which does not participate in cross-type attribute prediction or same-type attribute prediction; if the value of the slice data type field is a third flag value, the attribute prediction type indicates that the corresponding attribute slice comprises a group of color data and a group of reflectivity data with cross-type attribute prediction; and if the value of the slice data type field is a fourth flag value, the attribute prediction type indicates that the corresponding attribute slice comprises at least one group of reflectivity data with the attribute prediction of the same type.
In some embodiments, if the value of the tile data type field is a first flag value, the attribute prediction type indicates that the corresponding attribute tile includes a set of color data, and the set of color data does not allow cross-type attribute prediction; if the value of the slice data type field is a second flag value, the attribute prediction type indicates that the corresponding attribute slice comprises a group of reflectivity data, and the group of reflectivity data does not allow cross-type attribute prediction or same-type attribute prediction; if the value of the slice data type field is a third flag value, the attribute prediction type indicates that the corresponding attribute slice comprises a group of color data, and the group of color data allows cross-type attribute prediction; and if the value of the slice data type field is a fourth flag value, indicating that the corresponding attribute slice comprises a group of reflectivity data, wherein the group of reflectivity data allows cross-type attribute prediction or same-type attribute prediction.
In some embodiments, the point cloud code stream includes a point cloud sequence including a plurality of point cloud data unit structures, the plurality of target attribute data and the attribute-dependent combination indication information being located in the plurality of point cloud data unit structures, each of the point cloud data unit structures including a data unit type field, a data unit load length field, and a data unit load field;
the data unit type field is used for indicating the data type of the corresponding point cloud data unit structure, the data unit load length field is used for indicating the load length of the corresponding point cloud data unit structure, and the data unit load field is used for indicating the load of the corresponding point cloud data unit structure.
In some embodiments, when the data type is a sequence header type, the data unit load field is used to indicate a bit stream corresponding to the sequence header; when the data type is the attribute header type, the data unit load field is used for indicating a bit stream corresponding to the attribute header; when the data type is an attribute slice type, the data unit load field is used for indicating a bit stream corresponding to the attribute slice; when the data type is an attribute slice block type, the data unit load field is used for indicating a bit stream corresponding to the attribute slice block;
Wherein the property sheet includes at least one of the property sheet tiles.
In some embodiments, when the data type is the attribute slice chunk type, the respective point cloud data unit structure further includes a chunk assembly order field for indicating an assembly order of the respective attribute slice chunks when assembled into the respective attribute slice.
In some embodiments, the decoding the point cloud code stream according to the attribute-dependent combination instruction information includes:
determining at least one target-type attribute prediction group and a first prediction order of target attribute data in the target-type attribute prediction group from the plurality of target attribute data according to the attribute-dependent combination indication information;
and decoding the target same type attribute prediction group according to the first prediction order.
In some embodiments, the decoding the point cloud code stream according to the attribute-dependent combination instruction information further includes:
determining at least one target cross-type attribute prediction group and a second prediction order of target attribute data in the target cross-type attribute prediction group from the plurality of target attribute data according to the attribute-dependent combination indication information;
And decoding the target cross-type attribute prediction group according to the second prediction order.
In a third aspect, the present application provides a data processing apparatus for point cloud media, including:
the first acquisition module is used for acquiring a point cloud code stream of the point cloud media, wherein the point cloud code stream comprises a plurality of target attribute data and attribute dependent combination indication information, and the attribute dependent combination indication information is used for indicating the coding and decoding dependent combination relation among the plurality of target attribute data;
and the decoding module is used for decoding the point cloud code stream according to the attribute dependent combination indication information so as to present the point cloud media.
In a fourth aspect, the present application provides a data processing apparatus for point cloud media, including:
the second acquisition module is used for acquiring the point cloud media;
the encoding compression module is used for encoding and compressing the point cloud media to obtain a point cloud code stream, wherein the point cloud code stream comprises a plurality of target attribute data and attribute dependency combination indication information, and the attribute dependency combination indication information is used for indicating the encoding and decoding dependency combination relation among the plurality of target attribute data.
In a fifth aspect, the present application provides a non-transitory computer readable storage medium, on which a computer program is stored, wherein the computer program, when executed by a processor, implements the method for processing data of a point cloud medium according to any one of the above.
In a sixth aspect, the present application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and capable of running on the processor, where the processor executes the program to implement a data processing method of any one of the foregoing point cloud media.
According to the data processing method, the device, the storage medium and the electronic equipment of the point cloud media, the point cloud code stream of the point cloud media is obtained, the point cloud code stream comprises a plurality of target attribute data and attribute dependent combination indicating information, and the attribute dependent combination indicating information is used for indicating the coding and decoding dependent combination relation among the plurality of target attribute data; and decoding the point cloud code stream according to the attribute dependency combination indicating information to present the point cloud media, so that the combination and coding and decoding dependency relationship among the attribute data of the point cloud can be flexibly organized, and the decoding accuracy of the point cloud code stream can be improved.
Drawings
The foregoing and/or additional aspects and advantages of the application will become apparent and may be better understood from the following description of embodiments taken in conjunction with the accompanying drawings in which:
FIG. 1a is a schematic diagram showing the degree of freedom of a 3DoF according to an embodiment of the present application;
FIG. 1b is a schematic diagram showing the degree of freedom of 3DoF+ according to an embodiment of the present application;
FIG. 1c is a schematic diagram showing the degree of freedom of a 6DoF according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a data processing frame of a data processing system for point cloud media according to an embodiment of the present application;
fig. 3 is a flow chart of a data processing method of point cloud media according to an embodiment of the present application;
fig. 4 is a flow chart of a data processing method of another point cloud media according to an embodiment of the present application;
fig. 5 is a schematic structural diagram of a data processing device for point cloud media according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of a data processing device for another point cloud media according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of an electronic device according to an embodiment of the present application;
fig. 8 is a schematic diagram of a hardware structure of an electronic device according to an embodiment of the present application.
Detailed Description
Embodiments of the present application are described in detail below, examples of which are illustrated in the accompanying drawings, wherein like or similar reference numerals refer to like or similar elements or elements having like or similar functions throughout. The embodiments described below by referring to the drawings are illustrative only and are not to be construed as limiting the application.
The following describes some technical terms involved in the present application:
1. point cloud
A point cloud refers to a set of irregularly distributed discrete points in space that represent the spatial structure and surface properties of a three-dimensional object or scene. Each point in the point cloud includes at least geometric data for representing three-dimensional position information of the point. Depending on the application scenario, the points in the point cloud may further include one or more sets of attribute data, where each set of attribute data is used to reflect an attribute of the point, and the attribute may be, for example, color, material, or other information. Typically, each point in the point cloud has the same set of attribute data.
The point cloud can flexibly and conveniently express the spatial structure and the surface attribute of a three-dimensional object or scene, so that the point cloud is widely applied to scenes such as Virtual Reality (VR) games, computer aided design (Computer Aided Design, CAD), geographic information systems (Geography Information System, GIS), automatic navigation systems (Autonomous Navigation System, ANS), digital cultural heritage, free viewpoint broadcasting, three-dimensional immersion remote presentation, three-dimensional reconstruction of biological tissue and organs and the like.
The acquisition of the point cloud mainly comprises the following steps: computer-generated, three-dimensional (3D) laser scanning, 3D photogrammetry, and the like. Specifically, the point cloud may be acquired by acquiring a real-world visual scene by an acquisition device (a group of cameras or a camera device with a plurality of lenses and sensors), and the point cloud of a static real-world three-dimensional object or scene may be obtained by 3D laser scanning, and millions of point clouds may be obtained per second; the point cloud of the dynamic real world three-dimensional object or scene can be obtained through 3D photography, and tens of millions of point clouds can be obtained every second; in addition, in the medical field, point clouds of biological tissue organs can be obtained by magnetic resonance imaging (Magnetic Resonance Imaging, MRI), electronic computer tomography (Computed Tomography, CT), electromagnetic localization information. For another example, the point cloud may also be directly generated by a computer from the virtual three-dimensional object and scene, e.g., the computer may generate the point cloud of the virtual three-dimensional object and scene. Along with the continuous accumulation of large-scale point cloud data, efficient storage, transmission, release, sharing and standardization of the point cloud data become key to point cloud application.
2. Point cloud media
Point cloud media is a typical 6DoF immersion media. Immersion media refers to media files that provide immersion media content that enables viewers immersed in the media content to obtain visual, auditory, etc. sensory experiences in the real world. Immersion media can be categorized into: 6DoF (Degree of Freedom) immersion media, 3DoF immersion media, 3dof+ immersion media. Referring to fig. 1a, fig. 1a is a schematic view showing the degree of freedom of a 3DoF according to an embodiment of the present application, wherein 3DoF refers to three degrees of freedom, that is, a viewer of an immersion medium is fixed at a center point of a three-dimensional space, and a viewer head of the immersion medium rotates along an X-axis, a Y-axis and a Z-axis to view a picture provided by media content. Referring to fig. 1b, fig. 1b is a schematic view showing the degree of freedom of 3dof+ according to an embodiment of the present application, wherein 3dof+ refers to the degree of freedom of the head of the viewer of the immersion medium in a three-degree-of-freedom manner, which has limited movements along the X-axis, the Y-axis and the Z-axis. Referring to fig. 1c, fig. 1c is a schematic view showing the degree of freedom of a 6DoF according to an embodiment of the present application, wherein 6DoF refers to the degree of freedom of a viewer's head of an immersion medium in three degrees of freedom, which is also free to move along an X-axis, a Y-axis and a Z-axis.
It should be noted that, the data processing method of the point cloud media provided by the embodiment of the present application is applied to a data processing system of the point cloud media, where the data processing system may include a content creation device and a content presentation device, where the content creation device may be a computer device used by a provider of the point cloud media (for example, a content creator of the point cloud media), and the computer device may be a terminal (such as a PC (Personal Computer, a personal computer), an intelligent mobile device (such as a smart phone), or a server. The server may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDNs, basic cloud computing services such as big data and artificial intelligent platforms. The content presentation device may be a computer device used by a user of the point cloud media (e.g., a viewer of the point cloud media, i.e., a business object), which may be a terminal (e.g., a PC (Personal Computer, personal computer), a smart mobile device (e.g., a smart phone), a VR device (e.g., a VR headset, VR glasses, etc.), a smart appliance, an in-vehicle terminal, an aircraft, etc.), which is integrated with a client. The client may be a client with a function of displaying text, image, audio, video and other data information, including but not limited to a multimedia client (e.g., a video client), a social client (e.g., an instant messaging client), an information application (e.g., a news client), an entertainment client (e.g., a game client), a shopping client, a vehicle client, a browser, etc. The client may be a stand-alone client, or may be an embedded sub-client integrated into a client (e.g., a social client), which is not limited herein.
The content creation device and the content presentation device may be the same device or different devices, each of which includes a plurality of modules, and different modules are used to implement different functions, and these modules may be integrated into the same electronic device or may be located in different electronic devices. The content production equipment can be used for realizing the functions of collecting, encoding, packaging and the like of the point cloud media, and correspondingly, the content presentation equipment can be used for realizing the functions of unpacking, decoding, rendering, displaying and the like of the packaged file. Referring to fig. 2, fig. 2 is a schematic diagram of a data processing frame of a data processing system for point cloud media according to an embodiment of the present application.
In fig. 2, on the content creation device side, a real-world visual scene a is captured and acquired by a group of cameras or a camera device having a plurality of lenses and sensors, and the acquisition result is a point cloud medium B, which is a frame sequence composed of a large number of point cloud frames. One or more point cloud frames are encoded into a point cloud code stream E, including an encoded geometric bit stream and an attribute bit stream, and then the point cloud code stream E is encapsulated according to a specific media container file format (e.g., ISOBMFF) to obtain an initialization segment and a sequence of media segments (Fs) for streaming or a media file (F) for file playback. Metadata is also included in the file F or media segment Fs during encapsulation, after which the segment Fs may be transmitted to the content presentation device using a transmission mechanism. The transmission mechanism may include, but is not limited to: DASH protocol, HLS protocol, SMTP protocol, TCP protocol, etc.
At the content presentation device side, the sequence (Fs) or the media file (F) is unpacked to obtain a point cloud code stream E ' and analyze metadata, then the point cloud code stream E ' is decoded to generate a point cloud media D ', and then the point cloud media D ' is rendered, and a corresponding visual scene a ' is presented. During data processing at the content presentation device side, the decoded point cloud media D 'may be rendered and displayed on the screen of a head mounted display or any other display device according to the current viewer's viewing position, viewing direction, or window determined by various types of sensors, such as head, position, or eye tracking sensors. The decoded point cloud media is partially accessed by the current viewing position or viewing direction, which can be used to optimize the processing of the point cloud media.
It can be understood that the data processing technology (mainly including the encoding technology and the decoding technology) of the point cloud media related to the application can be realized by depending on the cloud technology; for example, a cloud server is used as the content creation device. Cloud technology (Cloud technology) refers to a hosting technology for integrating hardware, software, network and other series resources in a wide area network or a local area network to realize calculation, storage, processing and sharing of data.
The embodiment of the application provides a data processing method and device of point cloud media, a storage medium and electronic equipment.
Referring to fig. 3, fig. 3 is a flowchart of a data processing method of point cloud media according to an embodiment of the present application, where the data processing method of point cloud media may be applied to a content presentation device, and specifically includes the following steps 101 and 102, where:
101. the method comprises the steps of obtaining a point cloud code stream of point cloud media, wherein the point cloud code stream comprises a plurality of target attribute data and attribute dependent combination indicating information, and the attribute dependent combination indicating information is used for indicating a coding and decoding dependent combination relation among the plurality of target attribute data.
The point cloud code stream is a bit stream structure obtained by encoding and compressing point cloud media, which can be extracted by the content presentation device after unpacking the package file, wherein the point cloud media comprises attribute data and geometric data, and the attribute data can comprise various types, such as color attribute and reflectivity attribute. The encoding compression method may include geometric model-based point cloud compression (GPCC).
The codec dependent combination relationship includes a codec dependent relationship and a combination relationship, that is, both indicates a combination condition of the target attribute data with each other and indicates a codec dependent relationship of the target attribute data with each other in the combination. The content of the attribute-dependent combination instruction information depends on the actual situation of the target attribute data.
Specifically, the plurality of target attribute data may include a plurality of first target attribute data of the same attribute type, and at this time, the attribute-dependent combination indication information may be used only to indicate a codec-dependent combination relationship between the plurality of first target attribute data. The plurality of target attribute data may further include a plurality of second target attribute data of the same attribute type, and the first target attribute data and the second target attribute data belong to different attribute types, and at this time, the attribute-dependent combination instruction information may further be used to instruct a codec-dependent combination relationship between the first target attribute data and the second target attribute data. That is, the target attribute data in the point cloud code stream may only belong to the same attribute type, or may belong to different attribute types, and the attribute dependency combination indication information may only indicate a codec dependency combination relationship between attribute data of the same attribute type, or may indicate a codec dependency combination relationship between attribute data of different attribute types.
For example, the target attribute data may include both color data belonging to the color attribute and reflectivity data belonging to the reflectivity attribute, and the attribute-dependent combination instruction information may not only indicate a codec-dependent combination relationship between the reflectivity data and each other but may also further indicate a codec-dependent combination relationship between the color data and the reflectivity data.
102. And decoding the point cloud code stream according to the attribute dependent combination indication information to present the point cloud media.
The decoding of the point cloud stream code mainly involves two parts of contents: the decoding of the geometric bit stream of the point cloud media (i.e. the target geometric data) and the decoding of the attribute bit stream of the point cloud media (i.e. the target attribute data) are performed, and the attribute-dependent combination instruction information is mainly used for decoding the attribute bit stream. The decoding process and the encoding compression process of the point cloud code stream are reversed. By combining the attribute-dependent combination indication information to decode the attribute bit stream, the decoding accuracy of the attribute bit stream in the point cloud bit stream can be improved. After decoding the point cloud code stream, the content presentation device may further render and display the decoded data to present the point cloud media to the user (see fig. 2 above).
In some embodiments, when decoding the attribute bitstream of the point cloud media, the step 102 may specifically include:
determining at least one target-type attribute prediction group and a first prediction order of target attribute data in the target-type attribute prediction group from the plurality of target attribute data according to the attribute-dependent combination indication information;
And decoding the target same type attribute prediction group according to the first prediction order.
The target type attribute prediction group may include a plurality of target attribute data having a codec dependency relationship, for example, if the target attribute data includes color data of a color attribute and reflectivity data of a reflectivity attribute, the target type attribute prediction group may include a plurality of reflectivity data having a codec dependency relationship, and the attribute dependency combination indication information may indicate which of the reflectivity data belongs to the same target type attribute prediction group and indicate a first prediction order of each of the reflectivity data in the corresponding target type attribute prediction group.
Further, the step 102 may further include:
determining at least one target cross-type attribute prediction group and a second prediction order of target attribute data in the target cross-type attribute prediction group from the plurality of target attribute data according to the attribute-dependent combination indication information;
and decoding the target cross-type attribute prediction group according to the second prediction order.
The target cross-type attribute prediction group includes a plurality of target attribute data which have different attribute types and have codec dependency relationships, such as color data including color attributes and reflectivity data including reflectivity attributes, and at this time, the attribute dependency combination indication information may also indicate which color data and which reflectivity data belong to the same target cross-type attribute prediction group, and indicate a second prediction order of each reflectivity data in the corresponding target cross-type attribute prediction group.
In order to support the data processing method in the embodiment of the application, the embodiment of the application adds a plurality of descriptive fields on the system layer on the basis of the prior art, and defines a corresponding high-level grammar data structure. In the following, the above data processing method will be described in detail with reference to various syntax tables.
In the embodiment of the present application, the point cloud code stream may include a start code and a point cloud sequence, where the start code is a specific set of bit strings, and the corresponding content of each part in the point cloud sequence may be extracted by the start code. In the point cloud code stream according to the embodiment of the present application, these bit strings should not occur in any case other than the start code.
The start code consists of a start code prefix, which is a bit string '0000 0000 0000 0000 00000001', and a start code value, all of which should be byte aligned.
The start code value is an 8-bit integer, which is used to indicate the type of the start code, please refer to table 1 below, and table 1 is a table of types of start codes provided in the embodiment of the present application.
TABLE 1
Start code type Initial code value (hexadecimal)
Point cloud sheet start code (slice_start_code) 00~7F
Reservation of 80~8E
Point cloud end code (slice end code) 8F
Reservation of 90~AF
Point cloud sequence start code (sequence_start_code) B0
Point cloud sequence end code (sequence_end_code) B1
Point cloud frame start code (frame_start_code) B2
Reservation of B3~B8
System start code B9~FF
In the embodiment of the present application, a point cloud sequence (pcc_sequence) is a highest level syntax structure of a point cloud code stream, where the point cloud sequence includes sequence header information (abbreviated as sequence header), point cloud frame geometry header information (abbreviated as geometry header), point cloud frame attribute header information (abbreviated as attribute header), and one or more point cloud frames, and each point cloud frame may include point cloud frame header information (abbreviated as point cloud frame header) and one or more data units, where the data units include a point cloud slice (slice). The sequence header includes a set of parameters required for point cloud sequence decoding. The geometry head comprises a set of parameters required for the decoding of the geometry data of the point cloud. The attribute header includes a parameter set required for decoding attribute data of the point cloud (such as target attribute data in the present point cloud code stream).
Here, the point cloud slice may include geometric slice information (may be abbreviated as a geometric slice), and may also include attribute slice information (may be abbreviated as an attribute slice), where each point cloud slice is composed of a slice header and a data bit stream (geometric_data_bit).
The geometric slice comprises a geometric slice header and two parts of a geometric data bit stream comprising geometric data of the corresponding geometric slice. The attribute slice includes two parts of an attribute slice header and an attribute data bit stream (general_attribute_data_bit stream), and the attribute data bit stream includes attribute data of a corresponding attribute slice, such as target attribute data in the present point cloud code stream.
It should be noted that, for each content portion of the above point cloud sequence, in the embodiment of the present application, a plurality of descriptive fields are mainly added for a sequence header, an attribute header and an attribute slice, so as to support real-time steps of the data processing method of the point cloud media of the present application, and the extension fields mainly relate to two indicated contents: indicating codec dependencies and combination relationships between the attribute data, and indicating the predicted order of the attribute data in the corresponding combination.
1. Indicating codec dependencies, combinatory relationships, and prediction order of reflectivity data in cross-type attribute prediction between attribute data
In the embodiment of the application, the attribute-dependent combination indication information is expressed as a plurality of target fields, and the plurality of target fields can comprise a cross-type attribute prediction field, a cross-type attribute prediction group identification field, a cross-type attribute prediction sequence field, a same-type attribute prediction group identification field and a same-type attribute prediction sequence field;
Wherein the cross-type attribute prediction field is used for indicating whether to allow cross-type attribute prediction of corresponding attribute data; the cross-type attribute prediction group identification field is used for indicating an identifier of a cross-type attribute prediction group where corresponding attribute data are located, and the cross-type attribute prediction group is a group of attribute data predicted by using the cross-type attribute; the cross-type attribute prediction sequence field is used for indicating the prediction sequence of corresponding attribute data in cross-type attribute prediction; the same type attribute prediction field is used for indicating whether the same type attribute prediction of corresponding attribute data is allowed or not; the same type attribute prediction group identification field is used for indicating an identifier of a same type attribute prediction group where corresponding attribute data are located, and the same type attribute prediction group is a group of attribute data predicted by using the same type attribute; the same type attribute prediction order field is used for indicating the prediction order of corresponding attribute data in the same type attribute prediction.
Specifically, the cross-type attribute prediction field and the same-type attribute prediction field are two binary variables, that is, they have the same value ranges, for example, they may be values in the first flag value and the second flag value, or may have different value ranges, which is not limited herein. In some embodiments, the first flag value may be 0 and the second flag value may be 1.
In some embodiments, the cross-type attribute prediction field, the cross-type attribute prediction group identification field, the same-type attribute prediction group identification field, and the cross-type attribute prediction order field are located in the attribute header, and the same-type attribute prediction order field is located in the attribute slice.
For example, referring to the following tables 2, 3 and 4, table 2 is a syntax definition table of an attribute header provided in an embodiment of the present application, table 3 is another syntax definition table of an attribute header provided in an embodiment of the present application, and table 4 is a syntax definition table of a general_attribute_data_bitstream (generic_attribute_data_bitstream) in an attribute slice provided in an embodiment of the present application.
TABLE 2
/>
/>
It should be noted that, table 2, table 3 and table 4 are examples of the above-mentioned type attribute prediction field for indicating whether to allow the type attribute prediction of the corresponding reflectance data, the above-mentioned type attribute prediction group identification field for indicating the identifier of the type attribute prediction group where the corresponding reflectance data is located, the above-mentioned type attribute prediction group being a group of reflectance data using the cross-reflectance attribute prediction, and the above-mentioned type attribute prediction order field for indicating the prediction order of the corresponding reflectance data in the type attribute prediction, and the introduction of the attribute dependent combination instruction information is performed. At this time, in tables 2, 3 and 4, the above-described type attribute prediction field is also referred to as a trans-reflectivity attribute prediction field, the above-described type attribute prediction group identification field is also referred to as a trans-reflectivity attribute prediction group identification field, and the above-described type attribute prediction group is also referred to as a trans-reflectivity data group. Meanwhile, tables 2, 3 and 4 are merely exemplary syntax contents showing the addition of the related indication information of the codec dependent combination relationship in the attribute header, and are not limited to the complete syntax definition table.
The attribute presence flag field (attritidx) is a binary variable, and the value range includes only two values, for example, the first flag value and the second flag value, for example, when the value of the attribute presence flag field is the first flag value, it indicates that the present point cloud code stream does not include the attritidx attribute code; when the value of the attribute existence flag field is the second flag value, the point cloud code stream is indicated to contain the attrIdx attribute code.
attrIdx is an integer from 0 to 15, the meaning of which is explained in table 3 below.
TABLE 3 Table 3
Attribute index attr_idx Attribute type description
0 Color attribute (Color)
1 Reflectivity attribute (reflectivity)
2..15 Reservation of
The multi-attribute information start flag (sps_multi_set_flag) is a binary variable, and the range of values only includes two values, such as the first flag value and the second flag value. For example, if the value is the second flag value, the method indicates that multiple sets of attribute information can be used for supporting the same attribute data; and when the value is a first flag value, the method indicates that the same attribute data is closed and supported to use multiple sets of attribute information, and the same attribute data can only use one set of attribute information. When sps_multi_set_flag is not present in the bitstream, its default value is zero.
The attribute information on flag field (multi_set_flag [ attrIdx ]) is a binary variable, and the range of values includes only two values, such as the first flag value and the second flag value. When the value of the attribute information opening flag is a second flag value, the attribute type determined by the attribute index attrIdx is indicated to be opened, so that a plurality of sets of attribute information can be supported; when the value of the attribute information on flag is the first flag value, the attribute type determined by the attribute index attrIdx is closed to support the use of multiple sets of attribute information, and the attribute data of the attribute type can only use one set of attribute information. When multi_set_flag [ attrIdx ] is not present in the bitstream, its default value is zero.
The number of attribute information minus one (attribute_info_num_set_minus1 [ attrIdx ]) is an unsigned integer. The addition of 1 indicates the number of attribute information supported by the attribute type determined by the attribute index attrIdx in the present point cloud code stream, which is a number between 0 and 127, and the default value is-1 when attribute_info_num_set_minus1[ attrIdx ] is not present in the code stream.
The attribute data number minus one (attribute_data_num_set_minus1 [ attrIdx ]) is an unsigned integer. The addition of 1 indicates the number of attribute data supported by the attribute type determined by the attribute index attrIdx in the present point cloud code stream, which is a number between 0 and 127, and the default value is-1 when attribute_data_num_set_minus1[ attrIdx ] is not present in the code stream.
The maximum attribute number minus one (maxNumAttributesMinus 1) is an unsigned integer. And adding 1 to represent the number of codes of the maximum attribute type supported by the point cloud code stream. The value of maxNumAttributesMinus1 is an integer between 0 and 15. When maxNumAttributesMinus1 is not present in the codestream, maxNumAttributesMinus1 defaults to-1.
The attribute output bit depth minus one (outputbtdepthminus 1), an unsigned integer, is used to control the attribute output bit depth, which is between 0 and 15. outputbtdepth=outputbtdepthminus1+1. If the syntax element is not in the bitstream, the default value is zero.
The adaptive exponential golomb encoded sliding window size (log2_golomb_group_size), which is an unsigned integer, is the logarithmic value of the adaptive exponential golomb encoded sliding window size used to represent the attribute prediction residual or transform coefficient. The adaptive exponential golomb encoded sliding window size is denoted golomb_sliding_window_size=2 log2 _golomb_group_size
An attribute transformation algorithm flag field (transform), which is an unsigned integer, is used to control the attribute encoding method. The attribute transformation algorithm flag field may represent three attribute encoding methods, for example, when the value of the attribute transformation algorithm flag field is the first flag value, encoding the attribute using a prediction method is represented; when the value of the attribute transformation algorithm flag field is the second flag value, attribute encoding using multi-layer transformation is indicated, and when the value of the attribute transformation algorithm flag field is the third flag value, attribute encoding using a predictive transformation method is indicated, wherein the first flag value, the second flag value and the third flag value may be 0, 1 and 2, respectively.
An attribute transformation precision value (kFracBits) is an unsigned integer for representing the shift precision of a fixed-point operation at the time of attribute transformation.
The attribute conversion number (transform segment size) is an unsigned integer representing the number of attribute conversions, that is, wavelet conversions using transform segment size points. transformsegmentsize=0 means wavelet transform using all points in a slice.
Attribute transform coefficient quantization parameter difference (attrtTransformaQpDelta): the attribute transform coefficient quantization parameter difference is an unsigned integer representing the difference from the attribute residual quantization parameter. Attribute transform coefficient quantization parameter attrtransformaqp=attrquantparam (attribute quantization parameter) +attrtransformaqpdelta.
Attribute residual secondary prediction field (cross_component_pred): the attribute residual secondary prediction field is a binary variable and is used for indicating whether to allow attribute residual secondary prediction; when the value of the attribute residual secondary prediction field is a first flag value (such as 1), the attribute residual secondary prediction is allowed; when the value of the attribute residual secondary prediction field is a second flag value (e.g., 0), it indicates that the attribute residual secondary prediction is not allowed.
Residual coding order switch field (orderSwitch): the residual error coding sequence switch field is a binary variable; when the value of the residual coding sequence switch field is a first flag value (such as 1), the residual coding sequence is UYV/GRB sequence; when the value of the residual coding sequence switch field is a second flag value (e.g., 0), it indicates that the residual coding sequence is an RGB/YUV sequence.
Chroma channel Cb quantization parameter offset (chromaQpOffsetCb): the offset of the Cb quantization parameter of the chroma channel is a signed integer and is used for controlling the Cb quantization parameter, and the value range is 16-16. If there is no chromaQpOffsetCb in the current attribute header information, the value of chromaQpOffsetCb is 0. I.e. chord qpcb=clip 3 (minQP, maxQP, attribute_qp+chromaqpoffsetcb). Note that the quantization parameter lumaqp=attribute_qp for the luminance channel, the minimum supported quantization parameter is minqp=0, and the maximum supported quantization parameter is maxqp=63.
Chroma channel Cr quantization parameter offset (chromaQpOffsetCr): the chroma channel Cr quantization parameter offset is a signed integer. The method is used for controlling the quantization parameter of the Cr channel, and the range of the quantization parameter is 16-16. If the chromaQpOffsetCr does not exist in the current attribute header information, the value of chromaQpOffsetCr is 0. I.e. chord qpcr = Clip3 (minQP, maxQP, attribute_qp+chromaqpoffsetcr). Note that the quantization parameter lumaqp=attribute_qp for the luminance channel, the minimum supported quantization parameter is minqp=0, and the maximum supported quantization parameter is maxqp=63.
Nearest neighbor prediction parameter one (nearest predparam 1): the nearest neighbor prediction parameter I is an unsigned integer and is used for controlling the threshold value of nearest neighbor prediction.
Nearest neighbor prediction parameter two (nearest predparam 2): the second nearest neighbor prediction parameter is an unsigned integer and is used for controlling a threshold value of nearest neighbor prediction; the threshold is expressed as attrquantparam+netestpredparam 1.
Spatial bias coefficient (axisBias): the spatial bias coefficient is an unsigned integer used to control the offset in the Z direction in the attribute predictor calculation.
Maximum selected neighbor point number for prediction (maxnumofpredictneighbor): the maximum selected neighbor point number used for prediction is an unsigned integer used for limiting the point number of the neighbor point selected during attribute prediction. The maxnumofpredictneighbor in the code stream conforming to this section should not be greater than 16.
A parity-based attribute information flag (paritybasedsevelcoodingenable) which is a binary variable for controlling whether to start encoding of a parity-based attribute residual or transform coefficient, for example, the value of which is the second flag indicating on and the value of which is the first flag indicating off.
Color reordering mode (colorReorderMode): the color reordering mode is an unsigned integer for representing a reordering mode of the current color information selection. When the color reordering mode field is a first flag value (e.g., 0), representing an original point cloud input order; when the color reordering mode field is a second flag value (e.g., 1), hilbert reordering is indicated; when the color reordering mode field is a third flag value (e.g., 2), morton reordering is indicated.
Reflectance reordering mode (colorReorderMode): the reflectivity reordering mode is an unsigned integer. When the reflectivity reordering mode is a first mark value (such as 0), representing an original point cloud input sequence; when the reflectivity re-ordering mode field is a second flag value (e.g., 1), hilbert re-ordering is indicated; when the reflectivity re-ordering mode field is a third flag value (e.g., 2), morton re-ordering is indicated.
Maximum buffer limit parameter (maxNumofCoeff): the maximum buffer limiting parameter is an unsigned integer used for calculating the number of the maximum buffer limiting transformation parameters in the attribute transformation coding.
Maximum delay limit parameter (coeffLengthcontrol): the maximum delay limiting parameter is an unsigned integer for limiting the number of maximum delays of the transform parameters in the attribute transform coding. The specific maximum delay point number is calculated as maxNumofCoeff, coeffLengthcontrol.
Reflectivity group prediction flag field (refgrouppad): the reflectivity group prediction flag field is a binary variable and is used for controlling whether to start a reflectivity group prediction mode of the prediction transformation; when the reflectivity group prediction flag field is a first flag value (e.g., 1), indicating that group prediction is turned on; when the reflectivity group prediction flag field is a first flag value (e.g., 0), a shutdown group prediction is indicated.
Initial predictive transform ratio (initpresransratio): the initial predictive conversion ratio is a signed integer, and is used in a multi-layer conversion algorithm (transform=1) of attribute compression to control the size of an initial distance threshold used when constructing a predictive conversion tree.
Transform residual layer flag field (transResLayer): the transform residual layer flag field is a binary variable used in a multi-layer transform algorithm (transform=1) for attribute compression, and controls whether or not attribute residual compensation is used. When the transResLayer is a first flag value (e.g., 1), indicating that attribute residual compensation is used; when the transResLayer is the second flag value (e.g., 0), it means that the attribute residual is not compensated.
Color index golomb order (ColorGolombNum): the color index golomb order is an unsigned integer, and is used to represent the order K of the K-order index golomb used when the current color prediction residual or the transform coefficient is decoded, where k=colorgolomb.
Index of reflectance, golomb order (RefGolombNum): the index golomb order of reflectivity is an unsigned integer, and is used to represent the order K of the K-order index golomb used when the current reflectivity prediction residual or transform coefficient is decoded, where k=colorgolomb.
Color initial predictive transform ratio (colorinitprestransratio), which is a signed integer used in a multi-layer transform algorithm for attribute compression (transform=1), controls the magnitude of the initial distance threshold used for colors when constructing the predictive transform tree
Reflectivity initial prediction transform ratio (refinitprestransratio), which is a signed integer. In a multi-layer transform algorithm for attribute compression (transform=1), the magnitude of the initial distance threshold used for reflectivity in constructing the predictive transform tree is controlled.
A point cloud adaptive quantization tool flag (colorqdapjjust flag), which is a binary variable. For example, when the value is the first flag value, the closed point cloud adaptive quantization tool is represented; and when the value is the second mark value, the cloud self-adaptive quantization tool is opened.
The point cloud geometry quantization front-to-back point ratio (colorqpadjust scale), which is an unsigned integer, is used to calculate the distance threshold of the point cloud adaptive quantization tool.
A reflectance property prediction accuracy value (predFixedPointFracBit), which is an unsigned integer for representing the shift accuracy of a pointing operation at the time of reflectance property prediction. predfixedpointfracbit=0 means that no fix-up operation is used.
The attribute value change statistics window size (log2_pred_dist_weight_group_size), which is an unsigned integer, is used to control the size of the attribute value change statistics window. The calculation of the window size is N-2 log2 _pred_dist_weight_group_size
Cross-type attribute prediction weight parameter 1 (cross-type predParam 1), which is a 15-bit unsigned integer, is used to control the weight parameter 1 of the geometric information distance and the attribute information distance in cross-type attribute prediction.
Cross-type attribute prediction weight parameter 2 (cross-sA ttrTypePredParam 2), which is a 21-bit unsigned integer, is used to control the weight parameter 2 of the geometric information distance and the attribute information distance in cross-type attribute prediction.
A cross reflectance property prediction number (cross refnum) for indicating the number of reflectance data in the cross reflectance property predicted reflectance data set where the corresponding reflectance data is located.
It should be noted that cross-type attribute prediction field is the cross-type attribute prediction field described above, and is used to indicate whether cross-type attribute prediction of corresponding attribute data is allowed. Cross-type attribute prediction is indicated not to allow cross-type attribute prediction of corresponding attribute data if the value of the cross-type attribute prediction field is the first flag value; and if the value of the cross-type attribute prediction field is a second flag value, indicating that the cross-type attribute prediction of the corresponding attribute data is allowed.
Cross-type attribute prediction group identification field is the cross-type attribute prediction group identification field, and is used for indicating the identifier of the cross-type attribute prediction group where the corresponding attribute data is located.
attrEncodeOrder [ i ] is the above cross-type attribute prediction order field, and is used to indicate the prediction order of the corresponding attribute data in cross-type attribute prediction. For example, if the value of the cross-type attribute prediction sequence field is the first flag value, it indicates that color data is predicted first and then reflectivity data is predicted in cross-type attribute prediction; and if the value of the cross-type attribute prediction sequence field is the second flag value, indicating that the reflectivity data is predicted first and then the color data is predicted in the cross-type attribute prediction.
Cross_ref_pred is the above-described trans-reflectivity attribute prediction field for indicating whether trans-reflectivity attribute prediction of the corresponding attribute data is allowed. It is a binary variable, for example, if the value of the transreflectivity attribute prediction field is the first flag value, it indicates that the transreflectivity attribute prediction of the corresponding attribute data is not allowed; and if the value of the cross-reflectivity attribute prediction field is the second flag value, indicating that the cross-reflectivity attribute prediction of the corresponding attribute data is allowed.
Cross RefUnionID is the above-described cross-reflectivity attribute prediction group identification field that indicates the identifier of the reflectivity data set predicted using the cross-reflectivity attribute.
In some embodiments, these fields crossAttrTypePred, crossAttrTypeUnionID, attrEncodeOrder, cross _ref_pred and cross refunitonid may be extended only in the attribute header, or more fields may be extended in the attribute header, for example, the plurality of target fields may further include a first combined number identification field for indicating whether there are multiple sets of attribute data predicted using cross-type attributes in the point cloud sequence and a second combined number identification field for indicating whether there are multiple sets of attribute data predicted using cross-reflectivity attributes in the point cloud sequence, where the first combined number identification field and the second combined number identification field are both located in the attribute header.
With continued reference to table 2, multsattrUnion is the first combined number identification field, which is used to indicate whether there are multiple sets of attribute data predicted using cross-type attributes or at most one set (i.e., 0 or 1) of attribute data predicted using cross-type attributes in the present point cloud sequence. For example, if the value of the first combination quantity identification field is a second flag value, there are multiple sets of attribute data predicted using cross-type attributes, and if the value of the first combination quantity identification field is a first flag value, it indicates that there is at most one set of attribute data predicted using cross-type attributes.
multcross refunion is the second combined quantity identification field described above, which indicates whether there are multiple sets of attribute data predicted using cross-reflectivity attributes (i.e., multiple sets of cross-reflectivity data) or at most one set (i.e., 0 or 1) of attribute data predicted using cross-reflectivity attributes in the point cloud sequence. It is a binary variable, for example, if the value of the second combined quantity identification field is a second flag value, it indicates that the quantity of the trans-reflectivity data sets is multiple, and if the value of the second combined quantity identification field is a first flag value, it indicates that the quantity of the trans-reflectivity data sets is 1 or 0.
In other embodiments, the first and second combination number identification fields may be indicated in the sequence header instead of the attribute header, that is, the two fields, multcossrefunion and multsattrunion, are not set in the attribute header, and the two fields are set in the sequence header.
In some embodiments, the first combined identification field and the second combined identification field may not be extended in the attribute header, and other fields may be defined to express similar meaning, for example, the plurality of target fields further includes a first identifier indication field and a second identifier indication field in the attribute header, where the first identifier indication field is used to indicate whether to set an identifier of a cross-type attribute prediction group where the corresponding attribute data is located; the second identifier indication field is used for indicating whether to set the identifier of the same type attribute prediction group in which the corresponding attribute data is located. Specifically, please continue to see table 3 below.
TABLE 3 Table 3
The explanation of other fields in table 3 can be found in table 2 above, and will not be repeated here. The cross-satttrUnionIdFlag [ attrIdx ] [ i ] in Table 3 is the first identifier indication field, which is a binary variable, for example, if the value of the first identifier indication field is the first flag value, then the identifier of the cross-type attribute prediction group where the corresponding attribute data is located is indicated not to be set; and if the value of the first identifier indication field is a second flag value, indicating to set the identifier of the cross-type attribute prediction group where the corresponding attribute data is located.
The cross refunionidflag [ i ] in table 3 is the second identifier indication field, which is a binary variable, for example, if the value of the second identifier indication field is the first flag value, then the identifier of the same type attribute prediction group where the corresponding attribute data is located is indicated not to be set; and if the value of the second identifier indication field is a second flag value, indicating to set the identifier of the attribute prediction group of the same type where the corresponding attribute data is located.
2. Indicating prediction order of reflectivity data in cross-reflectivity attribute prediction
In the present embodiment, the attribute pieces may be deployed in three ways, and the prediction order of the reflectance data in the cross-reflectance attribute prediction is indicated in the attribute pieces (the prediction order of the reflectance data in the cross-type attribute prediction has been described above in the attribute header).
For example, in some embodiments, all attribute data may be disposed in one attribute slice, where the attribute prediction order field of the same type (i.e., a cross-reflectivity attribute prediction order field) is located in an attribute header in the attribute slice, and the plurality of target fields may further include an attribute header information index field in the attribute slice, where the attribute header information index field is used to indicate an attribute header information index used by an attribute type of the attribute data in the corresponding attribute slice, where the attribute header information index is used to obtain a corresponding parameter in the attribute header, and where the attribute header information index field maintains a generic attribute data bit stream in the attribute slice. Specifically, please continue to refer to table 4.
TABLE 4 Table 4
Wherein attribute_data_reflectance is reflectance data. Cross_ref_index is the above-described cross-reflectivity attribute prediction order field. The attribute id is an attribute header information index field described above for indicating an attribute header information index used by a color attribute or a reflectivity attribute. attributeID is a number between 0 and attributeInfo_num_set_minus1 [ attrIdx ], if attridx=0, attributeInfo_num_set_minus1 [0] is the number of attribute information supported by the color attribute in the attribute header minus one, and if attridx=1, attributeInfo_num_set_minus1 [1] is the number of attribute information supported by the reflectivity attribute in the attribute header minus one. Other fields in table 4 may be referred to in the other tables described above and will not be described again here.
Accordingly, when cross-reflectivity attribute prediction exists, the decoding order of the reconstruction values of the reflectivity data in each attribute data set of the cross-reflectivity attribute prediction can be determined according to the values of the cross-reflectivity attribute prediction order fields. In other embodiments, when the cross-reflectivity attribute prediction exists in the universal attribute data bit stream, the order of occurrence of the different reflectivity data in the bit stream is consistent with the calculation order of the different reflectivity data in the reconstruction, so the decoding order of the different reflectivity data can be set by using the occurrence order of the reflectivity data in the universal attribute data bit stream.
In some embodiments, instead of disposing all attribute data in one attribute slice as described above, all attribute data may be disposed in a plurality of attribute slices, for example, independently decodable attribute data in all attribute data may be disposed in a single attribute slice, while attribute data having a codec dependent combination relationship is disposed in the same attribute slice. At this time, the plurality of target fields further include a tile data type field and an attribute header information index field located in the attribute tile;
the slice data type field is used for indicating an attribute prediction type of attribute data in a corresponding attribute slice, the attribute head information index field is used for indicating an attribute head information index used by the attribute type of the attribute data in the corresponding attribute slice, and the attribute head information index is used for acquiring corresponding parameters in the attribute head.
For example, referring to table 5 and table 6 below, table 5 below is a syntax definition table of an attribute header (attribute_slice_header) in an attribute slice provided in an embodiment of the present application, and table 6 is a syntax definition table of a general_attribute_data_bitstream (general_attribute_data_bitstream) in an attribute slice provided in an embodiment of the present application. It is to be readily understood that tables 5 and 6 are not limited to complete syntax definition tables.
TABLE 5
The slice id is a slice identifier and is used for indicating the corresponding attribute slice. Cross RefNum indicates the number of reflectivity data within the attribute data set where the corresponding reflectivity data is located in the cross reflectivity attribute prediction. reflQPoffset is a reflectivity attribute quantization parameter offset and is used for controlling the reflectivity attribute quantization parameter, and the value range is-32. The sliceDataType is the slice data type field, which may indicate four types, and the value range may include the first flag value, the second flag value, the third flag value, and the fourth flag value, for example, if the value of the slice data type field is the first flag value, the attribute prediction type indicates that the corresponding attribute slice includes color data that does not participate in cross-type attribute prediction; if the value of the slice data type field is a second flag value, the attribute prediction type indicates that the corresponding attribute slice comprises reflectivity data which does not participate in cross-type attribute prediction or same-type attribute prediction; if the value of the slice data type field is a third flag value, the attribute prediction type indicates that the corresponding attribute slice comprises a group of color data and a group of reflectivity data with cross-type attribute prediction; and if the value of the slice data type field is a fourth flag value, the attribute prediction type indicates that the corresponding attribute slice comprises at least one group of reflectivity data with the attribute prediction of the same type. In some embodiments, the third flag may be 2, and the fourth flag may be 3.
attributeID, attributeIDColor and attributeIDRef are both the attribute header information index fields described above. The attribute id is an attribute header information index used for a color attribute or a reflectivity attribute, which is a number between 0 and attribute_info_num_set_minus1[ sliceDataType ], that is, a number between 0 and attribute_info_num_set_minus1[0], or a number between 0 and attribute_info_num_set_minus1[1], wherein attribute_info_num_set_minus1[0] is the number of attribute information supported by a color attribute in the attribute header minus one, and attribute_info_num_set_minus1[1] is the number of attribute information supported by a reflectivity attribute in the attribute header minus one.
attributeIDColor is an attribute header information index used by color attributes, which is a number between 0 and attributeinfo num set minus1[0 ]. attributeIDRef is an attribute header information index used by the reflectivity attribute, which is a number between 0 and attributeinfo num set minus1[1 ].
TABLE 6
Wherein attribute_data_reflectance is reflectance data and attribute_data_color is color data. The explanation of each field in table 6 can be found in table 5 and other tables described above, and will not be repeated here.
For example, in some embodiments, when all attribute data is deployed in a plurality of attribute slices, in addition to one manner described above, a set of attribute data with the same attribute type and the same codec dependency relationship may be deployed in each attribute slice, where the plurality of target fields still include the slice data type field and the attribute header information index field, but the indicated content of the slice data type field is different.
Referring to table 7 and table 8, table 7 is a syntax definition table of an attribute header (attribute_slice_header) in an attribute slice provided in the embodiment of the present application, and table 8 is a syntax definition table of a general_attribute_data_bitstream (general_attribute_data_bitstream) in an attribute slice provided in the embodiment of the present application. It should be noted that fig. 7 and 8 are not limited to the complete grammar definition table.
TABLE 7
The sliceDataType is a slice data type field, which may indicate four types, for example, if the value of the slice data type field is a first flag value, the attribute prediction type indicates that the corresponding attribute slice includes a set of color data, and the set of color data does not allow cross-type attribute prediction; if the value of the slice data type field is a second flag value, the attribute prediction type indicates that the corresponding attribute slice comprises a group of reflectivity data, and the group of reflectivity data does not allow cross-type attribute prediction or same-type attribute prediction; if the value of the slice data type field is a third flag value, the attribute prediction type indicates that the corresponding attribute slice comprises a group of color data, and the group of color data allows cross-type attribute prediction; and if the value of the slice data type field is a fourth flag value, indicating that the corresponding attribute slice comprises a group of reflectivity data, wherein the group of reflectivity data allows cross-type attribute prediction or same-type attribute prediction.
The attribute id is the attribute header information index field, and is used for indexing attribute information supported by color attributes or attribute information supported by reflectivity attributes in the attribute header. This is a number between 0 and attribute_info_num_set_minus1[ attrIdx ]. For example, when sliceDataType takes on a value of 0 or 2, attrIdx is 0; attrIdx is 1 when sliceDataType takes a value of 1 or 3.
TABLE 8
The explanation of each field in table 8 may be referred to table 7 and the other tables described above, and will not be repeated here.
In some embodiments, the value of sliceDataType may be simplified, and the cross-type attribute prediction or cross-reflectivity attribute prediction may be determined by using the cross-ttrtrtrttypepred and cross_ref_pred fields in the attribute header, where sliceDataType may be a binary variable, and only indicates two types, for example, if the value of the slice data type field is the first flag value, it indicates that the corresponding attribute slice includes a set of color data; and if the value of the slice data type field is a second flag value, indicating that the corresponding attribute slice comprises a group of reflectivity data.
In addition, for the point cloud code stream in the embodiment of the present application, the geometric slice in the point cloud sequence may include at least one, and the attribute slice may also include at least one (the specific number depends on the deployment manner of the attribute data described above), where in this technology, the geometric slice and the attribute slice may be further divided into a plurality of segments, that is, the geometric slice is divided into at least one geometric block, and the attribute slice is divided into at least one attribute block.
In particular, the method can be implemented by improving the syntax definition of the bitstream structure of the point cloud code stream, wherein a unified bitstream syntax structure can be defined in a syntax table of a point cloud sequence, for example, the point cloud sequence is defined to include a plurality of point cloud data unit structures, the plurality of target attribute data and the attribute-dependent combination indication information are located in the plurality of point cloud data unit structures, and the point cloud data unit structures are unified type-length-value data structures. Meanwhile, the unified grammar expression of different types of data, namely a sequence header, a geometric header, an attribute header, a point cloud frame header, a geometric slice, an attribute slice, geometric separation and attribute blocking, is realized through the point cloud data unit structure by setting the data type of the point cloud data unit structure.
For example, referring to table 9 below, table 9 below is a syntax definition table of a point cloud data unit structure provided in an embodiment of the present application, which is not limited to a complete syntax definition table.
TABLE 9
Wherein each of the point cloud data unit structures (tlv _encapsulation) includes a data unit type field (tlv _type), a data unit load length field (tlv _num_payload_bytes), and a data unit load field (tlv _payload_bytes). The data unit type field is used for indicating the data type of the corresponding point cloud data unit structure. The data unit load length field is used to indicate the load length of the corresponding point cloud data unit structure, and different types of point cloud data unit structures typically have different load lengths. The data unit load field is used to indicate the load of the corresponding point cloud data unit structure, with different types of point cloud data unit structures typically having different loads (corresponding bit streams in the point cloud sequence).
For example, when the data type is a sequence header type, the data unit load field is used to indicate a bit stream corresponding to the sequence header; when the data type is the attribute header type, the data unit load field is used for indicating a bit stream corresponding to the attribute header; when the data type is an attribute slice type, the data unit load field is used for indicating a bit stream corresponding to the attribute slice; when the data type is an attribute slice block type, the data unit load field is used for indicating a bit stream corresponding to the attribute slice block; when the data type is a geometric header type, the data unit load field is used for indicating a bit stream corresponding to the geometric header; when the data type is a geometric slice type, the data unit load field is used for indicating a bit stream corresponding to the geometric slice; when the data type is a point cloud frame head type, the data unit load field is used for indicating a bit stream corresponding to the point cloud frame head; when the data type is a geometric slice block type, the data unit load field is used for indicating a bit stream corresponding to the geometric slice block.
For example, the value range of tlv _type may be 0 to 7, for example, when tlv _type is 0, the corresponding point cloud data unit structure is indicated to be a sequence header, when tlv _type is 1, the corresponding point cloud data unit structure is indicated to be a geometric header, when tlv _type is 2, the corresponding point cloud data unit structure is indicated to be an attribute header, when tlv _type is 3, the corresponding point cloud data unit structure is indicated to be a point cloud frame header, when tlv _type is 4, the corresponding point cloud data unit structure is indicated to be a geometric slice, when tlv _type is 5, the corresponding point cloud data unit structure is indicated to be an attribute slice, when tlv _type is 6, the corresponding point cloud data unit structure is indicated to be a geometric slice block, and when tlv _type is 7, the corresponding point cloud data unit structure is indicated to be an attribute slice block.
Further, when the data type is the attribute slice block type, the corresponding point cloud data unit structure further includes a block_index field and a slice identifier (such as a geometric slice identifier_slice_id or an attribute slice identifier attribute_slice_id) where the block_index field is located, where the block_index field is used to indicate a combination order of the corresponding attribute slice blocks when the corresponding attribute slice blocks are combined into the corresponding attribute slice.
In this embodiment, any geometric slice may include partial or complete geometric data of a corresponding geometric slice, and a complete geometric slice bitstream data structure corresponding to the geometric slice may be arbitrarily segmented into one or more bitstream data structures. Any one attribute slice is segmented and can contain partial or complete geometric data of the corresponding attribute slice, and a complete attribute slice bit stream data structure corresponding to the attribute slice can be arbitrarily segmented into one or more bit stream data structures.
In some embodiments, a corresponding complete point cloud tile head (e.g., an attribute tile head or a geometric tile head) may be indicated in each tile (geometric tile or attribute tile), or a complete point cloud tile head may be indicated in only the first tile.
As can be seen from the foregoing, in the data processing method for a point cloud media according to the embodiment of the present application, by acquiring a point cloud code stream of the point cloud media, the point cloud code stream includes a plurality of target attribute data and attribute-dependent combination instruction information, where the attribute-dependent combination instruction information is used to instruct a codec-dependent combination relationship between the plurality of target attribute data; and decoding the point cloud code stream according to the attribute dependency combination indicating information to present the point cloud media, so that the combination and coding and decoding dependency relationship among the attribute data of the point cloud can be flexibly organized, and the decoding accuracy of the point cloud code stream can be improved.
According to the method described in the foregoing embodiments, the embodiment of the present application further provides another method for processing data of a point cloud medium, please refer to fig. 4, fig. 4 is a flowchart of another method for processing data of a point cloud medium provided in the embodiment of the present application, where the method for processing data of a point cloud medium may be applied to a content creation device, and specifically includes the following steps 201 and 202,
201. acquiring point cloud media;
202. and carrying out encoding compression on the point cloud media to obtain a point cloud code stream, wherein the point cloud code stream comprises a plurality of target attribute data and attribute dependent combination indicating information, and the attribute dependent combination indicating information is used for indicating the encoding and decoding dependent combination relation among the plurality of target attribute data.
In some embodiments, the plurality of target attribute data includes a plurality of first target attribute data of a same attribute type, and the attribute-dependent combination indication information is used to indicate a codec-dependent combination relationship between the plurality of first target attribute data.
In some embodiments, the plurality of target attribute data further includes a plurality of second target attribute data of a same attribute type, the first target attribute data and the second target attribute data belong to different attribute types, and the attribute dependent combination indication information is further used to indicate a codec dependent combination relationship between the first target attribute data and the second target attribute data.
In some embodiments, the attribute-dependent combination indication information is represented as a plurality of target fields including a cross-type attribute prediction field, a cross-type attribute prediction group identification field, a cross-type attribute prediction order field, a same-type attribute prediction group identification field, and a same-type attribute prediction order field;
wherein the cross-type attribute prediction field is used for indicating whether to allow cross-type attribute prediction of corresponding attribute data; the cross-type attribute prediction group identification field is used for indicating an identifier of a cross-type attribute prediction group where corresponding attribute data are located, and the cross-type attribute prediction group is a group of attribute data predicted by using the cross-type attribute; the cross-type attribute prediction sequence field is used for indicating the prediction sequence of corresponding attribute data in cross-type attribute prediction; the same type attribute prediction field is used for indicating whether the same type attribute prediction of corresponding attribute data is allowed or not; the same type attribute prediction group identification field is used for indicating an identifier of a same type attribute prediction group where corresponding attribute data are located, and the same type attribute prediction group is a group of attribute data predicted by using the same type attribute; the same type attribute prediction order field is used for indicating the prediction order of corresponding attribute data in the same type attribute prediction.
In some embodiments, if the value of the cross-type attribute prediction field is a first flag value, indicating that cross-type attribute prediction of the corresponding attribute data is not allowed; and if the value of the cross-type attribute prediction field is a second flag value, indicating that the cross-type attribute prediction of the corresponding attribute data is allowed.
In some embodiments, if the value of the attribute prediction field of the same type is a first flag value, it indicates that the attribute prediction of the same type of the corresponding attribute data is not allowed, and if the value of the attribute prediction field of the same type is a second flag value, it indicates that the attribute prediction of the same type of the corresponding attribute data is allowed.
In some embodiments, the point cloud code stream includes a point cloud sequence including an attribute header including a set of parameters required for decoding the plurality of target attribute data and an attribute slice including the plurality of target attribute data; the cross-type attribute prediction field, the cross-type attribute prediction group identification field, the same-type attribute prediction group identification field, and the cross-type attribute prediction order field are located in the attribute header, and the same-type attribute prediction order field is located in the attribute slice.
In some embodiments, the point cloud sequence further comprises a sequence header comprising a set of parameters required for decoding of the point cloud sequence; the plurality of target fields further comprise a first combination quantity identification field and a second combination quantity identification field, wherein the first combination quantity identification field is used for indicating whether a plurality of sets of attribute data predicted by using cross-type attribute exist in the point cloud sequence, the second combination quantity identification field is used for indicating whether a plurality of sets of attribute data predicted by using cross-reflectivity attribute exist in the point cloud sequence, and the first combination quantity identification field and the second combination quantity identification field are both located in the attribute header or both located in the sequence header.
In some embodiments, if the value of the first combined number identification field is the second flag value, it indicates that there is a plurality of sets of attribute data predicted using cross-type attributes, and if the value of the first combined number identification field is the first flag value, it indicates that there is at most one set of attribute data predicted using cross-type attributes.
In some embodiments, if the value of the second combined quantity identification field is a second flag value, it indicates that there is a plurality of sets of attribute data predicted using the cross-reflectivity attribute, and if the value of the second combined quantity identification field is a first flag value, it indicates that there is at most one set of attribute data predicted using the cross-reflectivity attribute.
In some embodiments, the plurality of target fields further includes a first identifier indication field and a second identifier indication field in the attribute header, the first identifier indication field for indicating whether to set an identifier of a cross-type attribute prediction group in which the corresponding attribute data is located; the second identifier indication field is used for indicating whether to set the identifier of the same type attribute prediction group in which the corresponding attribute data is located.
In some embodiments, if the value of the first identifier indication field is a first flag value, an identifier of a cross-type attribute prediction group where the corresponding attribute data is located is indicated not to be set; and if the value of the first identifier indication field is a second flag value, indicating to set the identifier of the cross-type attribute prediction group where the corresponding attribute data is located.
In some embodiments, if the value of the second identifier indication field is the first flag value, the identifier of the same type of attribute prediction group in which the corresponding attribute data is located is not set; and if the value of the second identifier indication field is a second flag value, indicating to set the identifier of the attribute prediction group of the same type where the corresponding attribute data is located.
In some embodiments, the plurality of target fields further includes an attribute header information index field located in the attribute slice, the attribute header information index field for indicating an attribute header information index used by an attribute type of the attribute data in the corresponding attribute slice, the attribute header information index for obtaining the corresponding parameter in the attribute header.
In some embodiments, the plurality of target fields further includes a tile data type field and an attribute header information index field located in the attribute tile;
the slice data type field is used for indicating an attribute prediction type of attribute data in a corresponding attribute slice, the attribute head information index field is used for indicating an attribute head information index used by the attribute type of the attribute data in the corresponding attribute slice, and the attribute head information index is used for acquiring corresponding parameters in the attribute head.
In some embodiments, if the value of the tile data type field is a first flag value, the attribute prediction type indicates that the corresponding attribute tile includes color data that does not participate in cross-type attribute prediction; if the value of the slice data type field is a second flag value, the attribute prediction type indicates that the corresponding attribute slice comprises reflectivity data which does not participate in cross-type attribute prediction or same-type attribute prediction; if the value of the slice data type field is a third flag value, the attribute prediction type indicates that the corresponding attribute slice comprises a group of color data and a group of reflectivity data with cross-type attribute prediction; and if the value of the slice data type field is a fourth flag value, the attribute prediction type indicates that the corresponding attribute slice comprises at least one group of reflectivity data with the attribute prediction of the same type.
In some embodiments, if the value of the tile data type field is a first flag value, the attribute prediction type indicates that the corresponding attribute tile includes a set of color data, and the set of color data does not allow cross-type attribute prediction; if the value of the slice data type field is a second flag value, the attribute prediction type indicates that the corresponding attribute slice comprises a group of reflectivity data, and the group of reflectivity data does not allow cross-type attribute prediction or same-type attribute prediction; if the value of the slice data type field is a third flag value, the attribute prediction type indicates that the corresponding attribute slice comprises a group of color data, and the group of color data allows cross-type attribute prediction; and if the value of the slice data type field is a fourth flag value, indicating that the corresponding attribute slice comprises a group of reflectivity data, wherein the group of reflectivity data allows cross-type attribute prediction or same-type attribute prediction.
In some embodiments, the point cloud code stream includes a point cloud sequence including a plurality of point cloud data unit structures, the plurality of target attribute data and the attribute-dependent combination indication information being located in the plurality of point cloud data unit structures, each of the point cloud data unit structures including a data unit type field, a data unit load length field, and a data unit load field;
The data unit type field is used for indicating the data type of the corresponding point cloud data unit structure, the data unit load length field is used for indicating the load length of the corresponding point cloud data unit structure, and the data unit load field is used for indicating the load of the corresponding point cloud data unit structure.
In some embodiments, when the data type is a sequence header type, the data unit load field is used to indicate a bit stream corresponding to the sequence header; when the data type is the attribute header type, the data unit load field is used for indicating a bit stream corresponding to the attribute header; when the data type is an attribute slice type, the data unit load field is used for indicating a bit stream corresponding to the attribute slice; when the data type is an attribute slice block type, the data unit load field is used for indicating a bit stream corresponding to the attribute slice block;
wherein the property sheet includes at least one of the property sheet tiles.
In some embodiments, when the data type is the attribute slice chunk type, the respective point cloud data unit structure further includes a chunk assembly order field for indicating an assembly order of the respective attribute slice chunks when assembled into the respective attribute slice.
In some embodiments, the decoding the point cloud code stream according to the attribute-dependent combination instruction information includes:
determining at least one target-type attribute prediction group and a first prediction order of target attribute data in the target-type attribute prediction group from the plurality of target attribute data according to the attribute-dependent combination indication information;
and decoding the target same type attribute prediction group according to the first prediction order.
In some embodiments, the decoding the point cloud code stream according to the attribute-dependent combination instruction information further includes:
determining at least one target cross-type attribute prediction group and a second prediction order of target attribute data in the target cross-type attribute prediction group from the plurality of target attribute data according to the attribute-dependent combination indication information;
and decoding the target cross-type attribute prediction group according to the second prediction order.
It should be noted that, the encoding process and decoding process of the point cloud media are reversible, so the syntax definition related in the data processing method of the point cloud media applied to the content creation device provided in the embodiment of the present application can be referred to the embodiment of the data processing method of the point cloud media applied to the content presentation device, and will not be repeated herein.
According to the method described in the above embodiment, the embodiment of the present application further provides a data processing apparatus for point cloud media, which is configured to execute the steps in the data processing method for point cloud media applied to a content presentation device. Fig. 5 is a schematic structural diagram of a data processing device for point cloud media according to an embodiment of the present application. The data processing apparatus 300 of the point cloud media is applied to a content creation device, and includes a first acquisition module 301 and a decoding module 302, where:
a first obtaining module 301, configured to obtain a point cloud code stream of a point cloud media, where the point cloud code stream includes a plurality of target attribute data and attribute-dependent combination indication information, where the attribute-dependent combination indication information is used to indicate a codec-dependent combination relationship between the plurality of target attribute data;
and the decoding module 302 is configured to decode the point cloud code stream according to the attribute-dependent combination indication information to present the point cloud media.
It should be noted that, the specific details of each module unit in the data processing apparatus 300 of the point cloud media have been described in detail in the embodiment of the data processing method of the point cloud media applied to the content presentation device, and are not described herein again.
According to the method described in the above embodiment, the embodiment of the present application further provides a data processing device for a point cloud media, which is configured to execute the steps in the data processing method for a point cloud media applied to a content creation device. Fig. 6 is a schematic structural diagram of a data processing device for another point cloud media according to an embodiment of the present application. The data processing device 400 of the point cloud media is applied to content production equipment, and comprises a second acquisition module 401 and an encoding compression module 302, wherein:
a second obtaining module 401, configured to obtain point cloud media;
the compression module 402 is configured to perform encoding compression on the point cloud media to obtain a point cloud code stream, where the point cloud code stream includes a plurality of target attribute data and attribute-dependent combination indication information, and the attribute-dependent combination indication information is used to indicate a codec dependent combination relationship between the plurality of target attribute data.
It should be noted that, the specific details of each module unit in the data processing apparatus 400 of the point cloud media have been described in detail in the embodiment of the data processing method of the point cloud media applied to the content creation device, and are not described herein again.
In some embodiments, the data processing device of the point cloud media in the embodiments of the present application may be an electronic device, or may be a component in the electronic device, such as an integrated circuit or a chip. The electronic device may be a terminal, or may be other devices than a terminal. By way of example, the electronic device may be a mobile phone, tablet computer, notebook computer, palm computer, vehicle-mounted electronic device, mobile internet appliance (Mobile Internet Device, MID), augmented reality (augmented reality, AR)/Virtual Reality (VR) device, robot, wearable device, ultra-mobile personal computer, UMPC, netbook or personal digital assistant (personal digital assistant, PDA), etc., but may also be a server, network attached storage (Network Attached Storage, NAS), personal computer (personal computer, PC), television (TV), teller machine or self-service machine, etc., and the embodiments of the present application are not limited in particular.
In some embodiments, as shown in fig. 7, an electronic device 500 is further provided in the embodiments of the present application, which includes a processor 501, a memory 502, and a computer program stored in the memory 502 and capable of running on the processor 501, where the program when executed by the processor 501 implements the respective processes of the data processing method embodiments of the point cloud media, and the same technical effects can be achieved, and for avoiding repetition, a detailed description is omitted herein.
The electronic device in the embodiment of the application includes the mobile electronic device and the non-mobile electronic device.
Fig. 8 is a schematic diagram of a hardware structure of an electronic device implementing an embodiment of the present application.
The electronic device 600 includes, but is not limited to: radio frequency unit 601, network module 602, audio output unit 603, input unit 604, sensor 605, display unit 606, user input unit 607, interface unit 608, memory 609, and processor 610.
Those skilled in the art will appreciate that the electronic device 600 may further include a power source (e.g., a battery) for powering the various components, which may be logically connected to the processor 610 by a power management system to perform functions such as managing charge, discharge, and power consumption by the power management system. The electronic device structure shown in fig. 8 does not constitute a limitation of the electronic device, and the electronic device may include more or less components than shown, or may combine certain components, or may be arranged in different components, which are not described in detail herein.
It should be understood that in an embodiment of the present application, the input unit 604 may include a graphics processor (Graphics Processing Unit, GPU) 6041 and a microphone 6042, and the graphics processor 6041 processes image data of still pictures or video obtained by an image capturing apparatus (e.g., a camera) in a video capturing mode or an image capturing mode. The display unit 606 may include a display panel 6061, and the display panel 6061 may be configured in the form of a liquid crystal display, an organic light emitting diode, or the like. The user input unit 607 includes at least one of a touch panel 6071 and other input devices 6072. The touch panel 6071 is also called a touch screen. The touch panel 6071 may include two parts of a touch detection device and a touch controller. Other input devices 6072 may include, but are not limited to, a physical keyboard, function keys (e.g., volume control keys, switch keys, etc.), a trackball, a mouse, a joystick, and so forth, which are not described in detail herein.
The memory 609 may be used to store software programs as well as various data. The memory 609 may mainly include a first storage area storing programs or instructions and a second storage area storing data, wherein the first storage area may store an operating system, application programs or instructions (such as a sound playing function, an image playing function, etc.) required for at least one function, and the like. Further, the memory 609 may include volatile memory or nonvolatile memory, or the memory 609 may include both volatile and nonvolatile memory. The nonvolatile Memory may be a Read-Only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically Erasable EPROM (EEPROM), or a flash Memory. The volatile memory may be random access memory (Random Access Memory, RAM), static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double Data Rate SDRAM (ddr SDRAM), enhanced SDRAM (Enhanced SDRAM), synchronous DRAM (SLDRAM), and Direct RAM (DRRAM). Memory 609 in embodiments of the present application includes, but is not limited to, these and any other suitable types of memory.
The processor 610 may include one or more processing units; the processor 610 integrates an application processor that primarily processes operations involving an operating system, user interfaces, applications, etc., and a modem processor that primarily processes wireless communication signals, such as a baseband processor. It will be appreciated that the modem processor described above may not be integrated into the processor 610.
The embodiment of the application also provides a non-transitory computer readable storage medium, on which a computer program is stored, which when executed by a processor, implements the processes of the data processing method embodiment of the point cloud media, and can achieve the same technical effects, so that repetition is avoided and redundant description is omitted.
Wherein the processor is a processor in the electronic device described in the above embodiment. The readable storage medium includes computer readable storage medium such as computer readable memory ROM, random access memory RAM, magnetic or optical disk, etc.
The embodiment of the application also provides a computer program product, which comprises a computer program, and the computer program realizes the data processing method of the point cloud media when being executed by a processor.
Wherein the processor is a processor in the electronic device described in the above embodiment. The readable storage medium includes computer readable storage medium such as computer readable memory ROM, random access memory RAM, magnetic or optical disk, etc.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element. Furthermore, it should be noted that the scope of the methods and apparatus in the embodiments of the present application is not limited to performing the functions in the order shown or discussed, but may also include performing the functions in a substantially simultaneous manner or in an opposite order depending on the functions involved, e.g., the described methods may be performed in an order different from that described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.
From the above description of the embodiments, it will be clear to those skilled in the art that the above-described embodiment method may be implemented by means of software plus a necessary general hardware platform, but of course may also be implemented by means of hardware, but in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art in the form of a computer software product stored in a storage medium (e.g. ROM/RAM, magnetic disk, optical disk) comprising instructions for causing a terminal (which may be a mobile phone, a computer, a server, or a network device, etc.) to perform the method according to the embodiments of the present application.
The embodiments of the present application have been described above with reference to the accompanying drawings, but the present application is not limited to the above-described embodiments, which are merely illustrative and not restrictive, and many forms may be made by those having ordinary skill in the art without departing from the spirit of the present application and the scope of the claims, which are to be protected by the present application.
The terms first, second and the like in the description and in the claims, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged, as appropriate, such that embodiments of the present application may be implemented in sequences other than those illustrated or described herein, and that the objects identified by "first," "second," etc. are generally of a type, and are not limited to the number of objects, such as the first object may be one or more. Furthermore, in the description and claims, "and/or" means at least one of the connected objects, and the character "/", generally means that the associated object is an "or" relationship.
In the description of the present application, "plurality" means two or more.
In the description of the present specification, reference to the terms "one embodiment," "some embodiments," "illustrative embodiments," "examples," "specific examples," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the application. In this specification, schematic representations of the above terms do not necessarily refer to the same embodiments or examples. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
It will be further understood that the terms "comprises" and/or "comprising," when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
While embodiments of the present application have been shown and described, it will be understood by those of ordinary skill in the art that: many changes, modifications, substitutions and variations may be made to the embodiments without departing from the spirit and principles of the application, the scope of which is defined by the claims and their equivalents.

Claims (24)

1. The data processing method of the point cloud media is characterized by comprising the following steps of:
acquiring a point cloud code stream of a point cloud medium, wherein the point cloud code stream comprises a plurality of target attribute data and attribute-dependent combination indication information, and the attribute-dependent combination indication information is used for indicating a coding-decoding dependent combination relation among the plurality of target attribute data;
and decoding the point cloud code stream according to the attribute dependent combination indication information to present the point cloud media.
2. The method according to claim 1, wherein the plurality of target attribute data includes a plurality of first target attribute data of a same attribute type, and the attribute-dependent combination instruction information is used to instruct a codec dependent combination relationship between the plurality of first target attribute data.
3. The method of claim 2, wherein the plurality of target attribute data further includes a plurality of second target attribute data of a same attribute type, the first target attribute data and the second target attribute data belong to different attribute types, and the attribute-dependent combination indication information is further used to indicate a codec-dependent combination relationship between the first target attribute data and the second target attribute data.
4. The method of claim 1, wherein the attribute-dependent combination indication information is represented as a plurality of target fields including a cross-type attribute prediction field, a cross-type attribute prediction group identification field, a cross-type attribute prediction order field, a same type attribute prediction group identification field, and a same type attribute prediction order field;
wherein the cross-type attribute prediction field is used for indicating whether to allow cross-type attribute prediction of corresponding attribute data; the cross-type attribute prediction group identification field is used for indicating an identifier of a cross-type attribute prediction group where corresponding attribute data are located, and the cross-type attribute prediction group is a group of attribute data predicted by using the cross-type attribute; the cross-type attribute prediction sequence field is used for indicating the prediction sequence of corresponding attribute data in cross-type attribute prediction; the same type attribute prediction field is used for indicating whether the same type attribute prediction of corresponding attribute data is allowed or not; the same type attribute prediction group identification field is used for indicating an identifier of a same type attribute prediction group where corresponding attribute data are located, and the same type attribute prediction group is a group of attribute data predicted by using the same type attribute; the same type attribute prediction order field is used for indicating the prediction order of corresponding attribute data in the same type attribute prediction.
5. The method of claim 4, wherein if the value of the cross-type attribute prediction field is a first flag value, indicating that cross-type attribute prediction of the corresponding attribute data is not allowed; if the value of the cross-type attribute prediction field is a second flag value, indicating that the cross-type attribute prediction of the corresponding attribute data is allowed; or (b)
And if the value of the attribute prediction field of the same type is a first flag value, indicating that the attribute prediction of the same type of the corresponding attribute data is not allowed, and if the value of the attribute prediction field of the same type is a second flag value, indicating that the attribute prediction of the same type of the corresponding attribute data is allowed.
6. The method of claim 4, wherein the point cloud code stream comprises a point cloud sequence comprising an attribute header and an attribute slice, the attribute header comprising a set of parameters required for decoding the plurality of target attribute data, the attribute slice comprising the plurality of target attribute data;
wherein the cross-type attribute prediction field, the cross-type attribute prediction group identification field, the same-type attribute prediction group identification field, and the cross-type attribute prediction order field are located in the attribute header, and the same-type attribute prediction order field is located in the attribute slice.
7. The method of claim 6, wherein the point cloud sequence further comprises a sequence header comprising a set of parameters required for decoding the point cloud sequence, and wherein the plurality of target fields further comprises a first combined quantity identification field and a second combined quantity identification field;
the first combination quantity identification field is used for indicating whether a plurality of sets of attribute data predicted by using cross-type attribute exist in the point cloud sequence, the second combination quantity identification field is used for indicating whether a plurality of sets of attribute data predicted by using cross-reflectivity attribute exist in the point cloud sequence, and the first combination quantity identification field and the second combination quantity identification field are both positioned in the attribute header or both positioned in the sequence header.
8. The method of claim 7, wherein if the value of the first combined quantity identification field is a second flag value, indicating that there are multiple sets of attribute data predicted using cross-type attributes; if the value of the first combination quantity identification field is a first mark value, indicating that at most one group of attribute data predicted by using cross-type attribute exists; or (b)
If the value of the second combination quantity identification field is a second mark value, indicating that a plurality of groups of attribute data predicted by using the cross-reflectivity attribute exist; and if the value of the second combination quantity identification field is the first flag value, indicating that at most one group of attribute data predicted by using the cross-reflectivity attribute exists.
9. The method of claim 8, wherein the plurality of target fields further comprises a first identifier indication field and a second identifier indication field in the attribute header, the first identifier indication field being used to indicate whether an identifier of a cross-type attribute prediction group in which the corresponding attribute data is located is set; the second identifier indication field is used for indicating whether to set the identifier of the same type attribute prediction group in which the corresponding attribute data is located.
10. The method according to claim 9, wherein if the value of the first identifier indication field is a first flag value, an identifier of a cross-type attribute prediction group where the corresponding attribute data is not set is indicated; if the value of the first identifier indication field is a second mark value, an identifier of a cross-type attribute prediction group where corresponding attribute data are arranged is indicated; or (b)
If the value of the second identifier indication field is a first mark value, an identifier of the same type attribute prediction group where the corresponding attribute data is located is not set; and if the value of the second identifier indication field is a second flag value, indicating to set the identifier of the attribute prediction group of the same type where the corresponding attribute data is located.
11. The method of claim 6, wherein the plurality of target fields further comprises an attribute header information index field in the attribute slice for indicating an attribute header information index used by an attribute type of attribute data in the corresponding attribute slice for obtaining corresponding parameters in the attribute header.
12. The method of claim 6, wherein the plurality of target fields further comprises a tile data type field and an attribute header information index field located in the attribute tile;
the slice data type field is used for indicating an attribute prediction type of attribute data in a corresponding attribute slice, the attribute head information index field is used for indicating an attribute head information index used by the attribute type of the attribute data in the corresponding attribute slice, and the attribute head information index is used for acquiring corresponding parameters in the attribute head.
13. The method of claim 12, wherein if the value of the tile data type field is a first flag value, the attribute prediction type indicates that the corresponding attribute tile includes color data that does not participate in cross-type attribute prediction; if the value of the slice data type field is a second flag value, the attribute prediction type indicates that the corresponding attribute slice comprises reflectivity data which does not participate in cross-type attribute prediction or same-type attribute prediction; if the value of the slice data type field is a third flag value, the attribute prediction type indicates that the corresponding attribute slice comprises a group of color data and a group of reflectivity data with cross-type attribute prediction; and if the value of the slice data type field is a fourth flag value, the attribute prediction type indicates that the corresponding attribute slice comprises at least one group of reflectivity data with the attribute prediction of the same type.
14. The method of claim 12, wherein if the value of the tile data type field is a first flag value, the attribute prediction type indicates that the corresponding attribute tile includes a set of color data, and the set of color data does not allow cross-type attribute prediction; if the value of the slice data type field is a second flag value, the attribute prediction type indicates that the corresponding attribute slice comprises a group of reflectivity data, and the group of reflectivity data does not allow cross-type attribute prediction or same-type attribute prediction; if the value of the slice data type field is a third flag value, the attribute prediction type indicates that the corresponding attribute slice comprises a group of color data, and the group of color data allows cross-type attribute prediction; and if the value of the slice data type field is a fourth flag value, indicating that the corresponding attribute slice comprises a group of reflectivity data, wherein the group of reflectivity data allows cross-type attribute prediction or same-type attribute prediction.
15. The method of any of claims 1-14, wherein the point cloud code stream comprises a point cloud sequence comprising a plurality of point cloud data unit structures, the plurality of target attribute data and the attribute-dependent combination indication information being located in the plurality of point cloud data unit structures, each of the point cloud data unit structures comprising a data unit type field, a data unit load length field, and a data unit load field;
The data unit type field is used for indicating the data type of the corresponding point cloud data unit structure, the data unit load length field is used for indicating the load length of the corresponding point cloud data unit structure, and the data unit load field is used for indicating the load of the corresponding point cloud data unit structure.
16. The method of claim 15, wherein when the data type is a sequence header type, the data unit load field is used to indicate a bit stream corresponding to a sequence header; when the data type is the attribute header type, the data unit load field is used for indicating a bit stream corresponding to the attribute header; when the data type is an attribute slice type, the data unit load field is used for indicating a bit stream corresponding to the attribute slice; when the data type is an attribute slice block type, the data unit load field is used for indicating a bit stream corresponding to the attribute slice block;
wherein the property sheet includes at least one of the property sheet tiles.
17. The method of claim 16, wherein when the data type is the property tile chunk type, the corresponding point cloud data unit structure further includes a chunk assembly order field for indicating an assembly order of the corresponding property tile chunks when assembled into the corresponding property tile.
18. The method according to any one of claims 1-14, wherein said decoding the point cloud code stream according to the attribute dependent combination indication information comprises:
determining at least one target-type attribute prediction group and a first prediction order of target attribute data in the target-type attribute prediction group from the plurality of target attribute data according to the attribute-dependent combination indication information;
and decoding the target same type attribute prediction group according to the first prediction order.
19. The method of claim 18, wherein decoding the point cloud code stream according to the attribute-dependent combination indicator information further comprises:
determining at least one target cross-type attribute prediction group and a second prediction order of target attribute data in the target cross-type attribute prediction group from the plurality of target attribute data according to the attribute-dependent combination indication information;
and decoding the target cross-type attribute prediction group according to the second prediction order.
20. The data processing method of the point cloud media is characterized by comprising the following steps of:
acquiring point cloud media;
And carrying out encoding compression on the point cloud media to obtain a point cloud code stream, wherein the point cloud code stream comprises a plurality of target attribute data and attribute dependent combination indicating information, and the attribute dependent combination indicating information is used for indicating the encoding and decoding dependent combination relation among the plurality of target attribute data.
21. A data processing apparatus for point cloud media, comprising:
the first acquisition module is used for acquiring a point cloud code stream of the point cloud media, wherein the point cloud code stream comprises a plurality of target attribute data and attribute dependent combination indication information, and the attribute dependent combination indication information is used for indicating the coding and decoding dependent combination relation among the plurality of target attribute data;
and the decoding module is used for decoding the point cloud code stream according to the attribute dependent combination indication information so as to present the point cloud media.
22. A data processing apparatus for point cloud media, comprising:
the second acquisition module is used for acquiring the point cloud media;
the encoding compression module is used for encoding and compressing the point cloud media to obtain a point cloud code stream, wherein the point cloud code stream comprises a plurality of target attribute data and attribute dependency combination indication information, and the attribute dependency combination indication information is used for indicating the encoding and decoding dependency combination relation among the plurality of target attribute data.
23. A non-transitory computer readable storage medium having stored thereon a computer program, which when executed by a processor, implements the data processing method of a point cloud medium according to any of claims 1-19 or performs the data processing method of a point cloud medium according to claim 20.
24. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the data processing method of the point cloud medium of any of claims 1-19 or performs the data processing method of the point cloud medium of claim 20 when the program is executed.
CN202310782085.2A 2023-06-28 2023-06-28 Data processing method and device of point cloud media, storage medium and electronic equipment Pending CN116743722A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310782085.2A CN116743722A (en) 2023-06-28 2023-06-28 Data processing method and device of point cloud media, storage medium and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310782085.2A CN116743722A (en) 2023-06-28 2023-06-28 Data processing method and device of point cloud media, storage medium and electronic equipment

Publications (1)

Publication Number Publication Date
CN116743722A true CN116743722A (en) 2023-09-12

Family

ID=87909645

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310782085.2A Pending CN116743722A (en) 2023-06-28 2023-06-28 Data processing method and device of point cloud media, storage medium and electronic equipment

Country Status (1)

Country Link
CN (1) CN116743722A (en)

Similar Documents

Publication Publication Date Title
CN113574540B (en) Point cloud encoding and decoding method and device and electronic equipment
US11538196B2 (en) Predictive coding for point cloud compression
JP2022517060A (en) Point cloud coding structure
KR20200035133A (en) Point cloud geometric compression
US11153550B2 (en) Depth codec for real-time, high-quality light field reconstruction
CN103609112A (en) Internal bit depth increase in video coding
WO2024060793A1 (en) Data processing method for point cloud media, and related device
CN115379189B (en) Data processing method of point cloud media and related equipment
US11910017B2 (en) Method for predicting point cloud attribute, encoder, decoder, and storage medium
WO2024037137A1 (en) Data processing method and apparatus for immersive media, and device, medium and product
CN116897541A (en) Mapping architecture for Immersive Technology Media Format (ITMF) specification using a rendering engine
WO2023226504A1 (en) Media data processing methods and apparatuses, device, and readable storage medium
CN115396647B (en) Data processing method, device and equipment for immersion medium and storage medium
CN116743722A (en) Data processing method and device of point cloud media, storage medium and electronic equipment
CN114930812B (en) Method and apparatus for decoding 3D video
CN116456166A (en) Data processing method of media data and related equipment
WO2023169004A1 (en) Point cloud media data processing method and apparatus, device and medium
WO2023169001A1 (en) Data processing method and apparatus for immersive media, and device and storage medium
CN117221551A (en) Point cloud processing method and device, storage medium and electronic equipment
WO2023024842A1 (en) Point cloud encoding/decoding method, apparatus and device, and storage medium
CN117337570A (en) Volumetric video with long-term partitioned physical memory
CN117896536A (en) Point cloud decoding and encoding method, medium, electronic equipment and product
WO2022134962A1 (en) Method and apparatus for presenting point cloud window, computer-readable medium, and electronic device
US20230222693A1 (en) Information processing apparatus and method
Kim et al. Point cloud compression on the basis of 3D motion estimation and compensation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination