Coding method, decoding method and related equipment

In point cloud inter-frame prediction encoding, when the similarity between the target point cloud frame and the reference point cloud frame reaches the threshold, the point cloud information is directly copied to replace the encoding process, which solves the problem of high encoding resource consumption in the prior art and achieves more efficient encoding.

CN119815052AActive Publication Date: 2025-04-11VIVO MOBILE COMM CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202311312190.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-10-10
Publication Date
2025-04-11
Estimated Expiration
2043-10-10

AI Technical Summary

Technical Problem

The existing inter-frame prediction encoding method of point cloud consumes a large number of coding resources, especially when a large number of point clouds are present in point cloud frames.

Method used

When the similarity between the first point cloud block of the target point cloud frame and the second point cloud block of the reference point cloud frame is greater than or equal to the preset threshold, the encoding end copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block that has been compensated by motion compensation into the reconstruction point cloud of the first point cloud block, and generates a corresponding target code stream.

Benefits of technology

By directly copying point cloud information with high similarity, the process of encoding the point cloud of another point cloud block is saved, encoding efficiency is improved, and encoding resources and time is saved while ensuring the quality of point cloud.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119815052A_ABST
    Figure CN119815052A_ABST
Patent Text Reader

Abstract

The invention discloses an encoding method, a decoding method and related equipment, and belongs to the technical field of encoding and decoding, and the encoding method comprises the following steps: when the similarity between a first point cloud block of a target point cloud frame and a second point cloud block of a reference point cloud frame is greater than or equal to a preset threshold value, decoding the target point cloud frame; the coding end copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block subjected to motion compensation to the reconstructed point cloud of the first point cloud block; the coding end generates a target code stream according to first identification information, the first identification information is used for indicating a decoding end that the coding end copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block subjected to motion compensation to the reconstructed point cloud of the first point cloud block, and the target code stream is generated according to the reconstructed point cloud of the first point cloud block. The point cloud information comprises at least one of geometric coding information and attribute coding information of the point cloud corresponding to the second point cloud block.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of coding and decoding technology, and specifically relates to a coding method, a decoding method and related equipment. Background Art

[0002] In the related technology, a predictive entropy coding mode is used to encode the current point cloud frame when performing inter-frame prediction coding of the point cloud. Specifically, based on the relationship between the node size corresponding to the current point cloud frame and the node size corresponding to the largest prediction unit (Largest PredictionUnit, LPU), the reference point cloud is used as prediction information to encode the current point cloud frame, or the motion compensated point cloud is used as prediction information to encode the current point cloud frame. When the point cloud frame corresponds to a large number of point clouds, this encoding method will consume relatively large encoding resources. Summary of the invention

[0003] The embodiments of the present application provide an encoding method, a decoding method and related devices, which can solve the problem that the existing point cloud inter-frame prediction encoding method consumes a large amount of encoding resources.

[0004] In a first aspect, a coding method is provided, comprising:

[0005] When the similarity between the first point cloud block of the target point cloud frame and the second point cloud block of the reference point cloud frame is greater than or equal to a preset threshold, the encoder copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block;

[0006] The encoding end generates a target code stream based on the first identification information, wherein the first identification information is used to instruct the decoding end that the encoding end copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block, and the point cloud information includes at least one of the geometric coding information and attribute coding information of the point cloud corresponding to the second point cloud block.

[0007] In a second aspect, a decoding method is provided, comprising:

[0008] The decoding end decodes the target code stream to obtain first identification information;

[0009] When the first identification information indicates that the encoding end copies the point cloud information of the second point cloud block of the reference point cloud frame or the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block of the target point cloud frame, the decoding end copies the point cloud information of the second point cloud block or the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block, and the point cloud information includes at least one of the geometric coding information and attribute coding information of the point cloud corresponding to the second point cloud block.

[0010] In a third aspect, there is provided an encoding device, comprising:

[0011] A first copying module is used to copy the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block when the similarity between the first point cloud block of the target point cloud frame and the second point cloud block of the reference point cloud frame is greater than or equal to a preset threshold;

[0012] A generation module is used to generate a target code stream according to first identification information, wherein the first identification information is used to instruct the encoding end to copy the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block to the point cloud of the first point cloud block, and the point cloud information includes at least one of the geometric coding information and attribute coding information of the point cloud corresponding to the second point cloud block.

[0013] In a fourth aspect, a decoding device is provided, comprising:

[0014] A fourth acquisition module, used for decoding the target code stream to obtain the first identification information;

[0015] A second copying module is used to copy the point cloud information of the second point cloud block of the reference point cloud frame or the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block of the target point cloud frame when the first identification information indicates that the encoding end copies the point cloud information of the second point cloud block or the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block, and the point cloud information includes at least one of the geometric coding information and attribute coding information of the point cloud corresponding to the second point cloud block.

[0016] In a fifth aspect, an electronic device is provided, which terminal includes a processor and a memory, wherein the memory stores programs or instructions that can be run on the processor, and when the program or instructions are executed by the processor, the steps of the method described in the first aspect are implemented, or the steps of the method described in the second aspect are implemented.

[0017] In a sixth aspect, an electronic device is provided, including a processor and a communication interface, wherein the processor is used to copy the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block when the similarity between the first point cloud block of the target point cloud frame and the second point cloud block of the reference point cloud frame is greater than or equal to a preset threshold; generate a target code stream according to first identification information, wherein the first identification information is used to instruct the encoding end to copy the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block to the point cloud information of the first point cloud block. Including at least one of the geometric coding information and attribute coding information of the point cloud corresponding to the second point cloud block; or, the processor is used to decode the target code stream to obtain first identification information; when the first identification information indicates that the encoding end copies the point cloud information of the second point cloud block of the reference point cloud frame or the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block of the target point cloud frame, the point cloud information includes at least one of the geometric coding information and attribute coding information of the point cloud corresponding to the second point cloud block.

[0018] In a seventh aspect, an electronic device is provided, comprising: a memory configured to store video data, and a processing circuit configured to implement the steps of the method described in the first aspect, or to implement the steps of the method described in the second aspect.

[0019] In an eighth aspect, a readable storage medium is provided, on which a program or instruction is stored. When the program or instruction is executed by a processor, the steps of the method described in the first aspect are implemented, or the steps of the method described in the second aspect are implemented.

[0020] In a ninth aspect, a coding and decoding system is provided, comprising: a coding end device and a decoding end device, wherein the coding end device can be used to execute the steps of the method described in the first aspect, and the decoding end device can be used to execute the steps of the method described in the second aspect.

[0021] In the tenth aspect, a chip is provided, comprising a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run a program or instructions to implement the steps of the method described in the first aspect, or to implement the steps of the method described in the second aspect.

[0022] In the eleventh aspect, a computer program / program product is provided, wherein the computer program / program product is stored in a storage medium, and the program / program product is executed by at least one processor to implement the steps of the method described in the first aspect, or to implement the steps of the method described in the second aspect.

[0023] In an embodiment of the present application, when the similarity between the first point cloud block of the target point cloud frame and the second point cloud block of the reference point cloud frame is greater than or equal to a preset threshold, the encoding end copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block; the encoding end generates a target code stream based on the first identification information, and the first identification information is used to indicate to the decoding end that the encoding end copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block. Through the above scheme, when the similarity between the two point cloud blocks is high enough, the point cloud information of one point cloud block is directly copied to the reconstructed point cloud of another point cloud block, which saves the process of encoding the point cloud of the other point cloud block, and can save encoding resources and encoding time while ensuring that the point cloud quality does not fluctuate significantly, thereby effectively improving the encoding efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Figure 1 A schematic diagram showing a coding and decoding system provided in an embodiment of the present application;

[0025] Figure 2 A flowchart showing the encoding performed by an encoder based on the coding framework of MPEG G-PCC;

[0026] Figure 3 A flowchart showing the encoding performed by an encoder based on the coding framework of MPEG G-PCC;

[0027] Figure 4 A decoding flow chart showing the decoding performed by a decoder based on the AVS-PCC decoding framework;

[0028] Figure 5 A decoding flow chart showing the decoding performed by a decoder based on the decoding framework of MPEG G-PCC;

[0029] Figure 6 A schematic diagram showing the use of inter-frame prediction information based on octree geometric coding;

[0030] Figure 7 A schematic diagram showing a motion prediction process based on PU;

[0031] Figure 8 A schematic diagram showing encoding motion vectors and using prediction information;

[0032] Fig. 9 A schematic diagram showing a flow chart of an encoding method according to an embodiment of the present application;

[0033] Fig.10 A second flowchart diagram showing the encoding method according to an embodiment of the present application;

[0034] Fig.11 A third flowchart of the encoding method according to an embodiment of the present application is shown;

[0035] Fig.12 A schematic diagram showing motion search in an embodiment of the present application is shown;

[0036] Fig.13 A schematic diagram showing a flow chart of a decoding method according to an embodiment of the present application;

[0037] Fig.14 A schematic diagram showing a module of an encoding device according to an embodiment of the present application;

[0038] Fig.15 A schematic diagram showing a module of a decoding device according to an embodiment of the present application;

[0039] Fig.16 A structural block diagram showing an electronic device according to an embodiment of the present application;

[0040] Fig.17 A structural block diagram of a terminal according to an embodiment of the present application is shown. DETAILED DESCRIPTION

[0041] The following will be combined with the drawings in the embodiments of the present application to clearly describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field belong to the scope of protection of this application.

[0042] The terms "first", "second", etc. in this application are used to distinguish similar objects, and are not used to describe a specific order or sequence. It should be understood that the terms used in this way are interchangeable where appropriate, so that the embodiments of the present application can be implemented in an order other than those illustrated or described herein, and the objects distinguished by "first" and "second" are generally of one type, and the number of objects is not limited, for example, the first object can be one or more. In addition, "or" in this application represents at least one of the connected objects. For example, "A or B" covers three schemes, namely, Scheme 1: including A but not including B; Scheme 2: including B but not including A; Scheme 3: including both A and B. The character " / " generally indicates that the objects associated with each other are in an "or" relationship.

[0043] Before introducing the technical solutions provided by the embodiments of the present application, the meanings of some of the terms are first introduced.

[0044] Point Cloud: Point cloud refers to a set of irregularly distributed discrete points in space that express the spatial structure and surface properties of a 3D object or 3D scene. Point clouds can be divided into different categories according to different classification standards. For example, according to the acquisition method of point clouds, they can be divided into dense point clouds and sparse point clouds; for example, according to the time series type of point clouds, they can be divided into static point clouds and dynamic point clouds.

[0045] Point Cloud Data: The geometric coordinate information and attribute information of each point in the point cloud together constitute the point cloud data. The geometric coordinate information can also be called three-dimensional position information. The geometric coordinate information of a point in the point cloud refers to the spatial coordinates (x, y, z) of the point, which can include the coordinate values ​​of the point in each coordinate axis direction of the three-dimensional coordinate system, for example, the coordinate value x in the X-axis direction, the coordinate value y in the Y-axis direction, and the coordinate value z in the Z-axis direction. The attribute information of a point in the point cloud may include at least one of the following: color information, material information, laser reflection intensity information (also called reflectivity). Usually, each point in the point cloud has the same amount of attribute information. For example, each point in the point cloud can have two kinds of attribute information: color information and laser reflection intensity. For another example, each point in the point cloud can have three kinds of attribute information: color information, material information, and laser reflection intensity information.

[0046] Point Cloud Compression (PCC): Point cloud coding refers to the process of encoding the geometric coordinate information and attribute information of each point in the point cloud to obtain a compressed code stream. Point cloud coding can include two main processes: geometric coordinate information encoding and attribute information encoding. At present, the point cloud coding framework that can compress point clouds can be the geometry-based point cloud compression (G-PCC) codec framework or the video-based point cloud compression (V-PCC) codec framework provided by the Moving Picture Experts Group (MPEG), or the AVS-PCC codec framework provided by the Audio Video Standard (AVS).

[0047] Point cloud decoding: Point cloud decoding refers to the process of decoding the compressed bitstream obtained by point cloud encoding to reconstruct the point cloud. In detail, it refers to the process of reconstructing the geometric coordinate information and attribute information of each point in the point cloud based on the geometric bitstream and attribute bitstream in the compressed bitstream. After obtaining the compressed bitstream at the decoding end, the geometric bitstream is first entropy decoded to obtain the quantized information of each point in the point cloud, and then inverse quantization is performed to reconstruct the geometric coordinate information of each point in the point cloud. As for the attribute bitstream, entropy decoding is first performed to obtain the quantized attribute residual information or quantized transform coefficients of each point in the point cloud; then the quantized attribute residual information is inversely quantized to obtain the reconstructed residual information, the quantized transform coefficients are inversely quantized to obtain the reconstructed transform coefficients, and the reconstructed transform coefficients are inversely transformed to obtain the reconstructed residual information. According to the reconstructed residual information of each point in the point cloud, the attribute information of each point in the point cloud can be reconstructed. The reconstructed attribute information of each point in the point cloud is matched one by one with the reconstructed geometric coordinate information in order to reconstruct the point cloud.

[0048] Figure 1 Schematic diagram of the coding and decoding system provided in the embodiment of the present application. The technical solution of the embodiment of the present application involves coding and decoding (CODEC) (including encoding or decoding) of point cloud data.

[0049] like Figure 1 As shown, the codec system includes a source device 100, which provides encoded point cloud data that is decoded and displayed by a destination device 110. Specifically, the source device 100 provides the point cloud data to the destination device 110 via a communication medium 120. The source device 100 and the destination device 110 may include any one or more of a desktop computer, a notebook (i.e., laptop) computer, a tablet computer, a set-top box, a mobile phone, a wearable device (e.g., a smart watch or a wearable camera), a television, a camera, a display device, a vehicle-mounted device, a virtual reality (VR) device, an augmented reality (AR) device, a mixed reality (MR) device, a digital media player, a video game console, a video conferencing device, a video streaming device, a broadcast receiver device, a broadcast transmitter device, a spacecraft, an aircraft, a robot, a satellite, and the like.

[0050] exist Figure 1 In the example of , the source device 100 includes a data source 101, a memory 102, an encoder 200, and an output interface 104. The destination device 110 includes an input interface 111, a decoder 300, a memory 113, and a display device 114. The source device 100 represents an example of an encoding device, and the destination device 110 represents an example of a decoding device. In other examples, the source device 100 and the destination device 110 may not include Figure 1Some components in, or can also include Figure 1 For example, the source device 100 may acquire point cloud data through an external capture device. Similarly, the destination device 110 may be connected to an external display device interface without including an integrated display device. For another example, the memory 102 and the memory 113 may be external memories.

[0051] Although Figure 1 The source device 100 and the destination device 110 are shown as separate devices, but in some examples, the two may also be integrated into one device. In such embodiments, the functions corresponding to the source device 100 and the functions corresponding to the destination device 110 may be implemented using the same hardware or software, or using separate hardware or software, or any combination thereof.

[0052] In some examples, the source device 100 and the destination device 110 can perform unidirectional data transmission or bidirectional data transmission. If it is bidirectional data transmission, the source device 100 and the destination device 110 can operate in a substantially symmetrical manner, that is, each of the source device 100 and the destination device 110 includes an encoder and a decoder.

[0053] The data source 101 represents the source of point cloud data (i.e., the original, unencoded point cloud data) and provides the encoder 200 with the point cloud data, and the encoder 103 encodes the point cloud data. The source device 100 may include a capture device (e.g., a camera device, a sensor device, or a scanning device), an archive of previously captured point cloud data, or a feed interface for receiving point cloud data from a data content provider. Among them, the camera device may include an ordinary camera, a stereo camera, and a light field camera, etc., the sensor device may include a laser device, a radar device, etc., and the scanning device may include a three-dimensional laser scanning device, etc. The point cloud data can be obtained by collecting the visual scene of the real world through the capture device. As an alternative, the data source 101 may generate computer graphics-based data as source data, or combine real-time data, archived data, and computer-generated data. For example, the data source generates point cloud data based on a virtual object (e.g., a virtual three-dimensional object and a virtual three-dimensional scene obtained by three-dimensional modeling).

[0054] The encoder 200 encodes the captured, pre-captured, or computer-generated data. The encoder 200 may rearrange the point cloud data from the order in which it was received (sometimes referred to as the "display order") into an encoding order. The encoder 200 may generate a bitstream including the encoded point cloud data. The source device 100 may then output the encoded point cloud data to the communication medium 120 via the output interface 104 for receipt or retrieval by, for example, the input interface 111 of the destination device 110.

[0055] The memory 102 of the source device 100 and the memory 113 of the destination device 110 represent general memory. In some examples, the memory 102 can store the original data from the data source 101, and the memory 113 can store the decoded point cloud data from the decoder 300. Additionally or alternatively, the memories 102 and 113 can store software instructions that can be executed by, for example, the encoder 200 and the decoder 300, respectively. Although the memory 102 and the memory 113 are shown separately from the encoder 200 and the decoder 300 in this example, it should be understood that the encoder 200 and the decoder 300 can also include internal memory for functionally similar or equivalent purposes. If the encoder 200 and the decoder 300 are deployed on the same hardware device, the memory 102 and the memory 113 can be the same memory. In addition, the memories 102 and 113 can store, for example, the encoded point cloud data output from the encoder 200 and input to the decoder 300. In some examples, portions of memory 102 , 113 may be allocated as one or more point cloud buffers, such as for storing raw, decoded, or encoded point cloud data.

[0056] In some examples, source device 100 may output the encoded data from output interface 104 to memory 113. Similarly, destination device 110 may access the encoded data from memory 113 via input interface 111. Memory 113 or storage 102 may include any of a variety of distributed or locally accessed data storage media, such as a hard drive, a Blu-ray disc, a digital versatile disc (DVD), a compact disc read-only memory (CD-ROM), flash memory, volatile or non-volatile memory, or any other suitable digital storage medium for storing encoded point cloud data.

[0057] The output interface 104 may include any type of medium or device capable of transmitting the encoded point cloud data from the source device 100 to the destination device 110. For example, the output interface 104 may include a transmitter or transceiver, such as an antenna, configured to transmit the encoded point cloud data directly from the source device 100 to the destination device 110 in real time. The encoded point cloud data may be modulated according to a communication standard of a wireless communication protocol and transmitted to the destination device 110.

[0058] The communication medium 120 may include a transient medium, such as a wireless broadcast or a wired network transmission. For example, the communication medium 120 may include a radio frequency (RF) spectrum or one or more physical transmission lines (e.g., cables). The communication medium 120 may form part of a packet-based network (such as a local area network, a wide area network, or a global network such as the Internet). The communication medium 120 may also take the form of a storage medium (e.g., a non-transitory storage medium) such as a hard disk, a flash drive, a compact disk, a digital point cloud disk, a Blu-ray disc, a volatile or non-volatile memory, or any other suitable digital storage medium for storing the encoded point cloud data.

[0059] In some embodiments, the communication medium 120 may include a router, a switch, a base station, or any other device that can be used to facilitate communication from the source device 100 to the destination device 110. For example, a server (not shown) can receive the encoded point cloud data from the source device 100 and provide it to the destination device 110, for example, via a network transmission. The server may include a web server (for example, for a website), a server configured to provide a file transfer protocol service (such as a file transfer protocol (FTP) or a unidirectional file transfer (File Delivery Over Unidirectional Transport, FLUTE) protocol), a content delivery network (CDN) device, a Hypertext Transfer Protocol (HTTP) server, a Multimedia Broadcast Multicast Services (MBMS) or an evolved Multimedia Broadcast Multicast Service (eMBMS) server, or a network-attached storage (NAS) device, etc. The server can implement one or more HTTP streaming protocols, such as MPEG Media Transport (MMT) protocol, Dynamic Adaptive Streaming over HTTP (DASH) protocol, HTTP Live Streaming (HLS) protocol or Real Time Streaming Protocol (RTSP) protocol.

[0060] The destination device 110 can access the encoded point cloud data from the server, for example via a wireless channel (e.g., a Wi-Fi connection) or a wired connection (e.g., a digital subscriber line (DSL), a cable modem, etc.) for accessing the encoded point cloud data stored on the server.

[0061] Output interface 104 and input interface 111 may represent a wireless transmitter / receiver, a modem, a wired networking component (e.g., an Ethernet card), a wireless communication component operating according to the IEEE 802.11 standard or the IEEE 802.15 standard (e.g., ZigBee™), the Bluetooth standard, etc., or other physical components. In examples where output interface 104 and input interface 111 include wireless components, output interface 104 and input interface 111 may be configured to transfer data, such as encoded point cloud data, according to WIFI, Ethernet, a cellular network (such as 4G, LTE (Long Term Evolution), Advanced LTE, 5G, 6G, etc.).

[0062] The technology provided in the embodiments of the present application can be applied to support one or more application scenarios such as the following: machine perception of point cloud, which can be used in scenarios such as autonomous navigation systems, real-time inspection systems, geographic information systems, visual sorting robots, emergency rescue robots, etc.; human eye perception of point cloud, which can be used in point cloud application scenarios such as digital cultural heritage, free viewpoint broadcasting, three-dimensional immersive communication, and three-dimensional immersive interaction.

[0063] The input interface 111 of the destination device 110 receives an encoded bitstream from the communication medium 120. The encoded bitstream may include high-level syntax elements and encoded data units (e.g., sequences, groups of pictures, pictures, slices, blocks, etc.), wherein the high-level syntax elements are used to decode the encoded data units to obtain decoded point cloud data. The display device 114 displays the decoded point cloud data to the user. The display device 114 may include a cathode ray tube (CRT), a liquid crystal display (LCD), a plasma display, an organic light-emitting diode (OLED) display, or other types of display devices. In some examples, the destination device 110 may not have a display device 114. For example, if the decoded point cloud data is used to determine the position of a physical object, the display device 114 may be replaced by a processor.

[0064] The encoder 200 and the decoder 300 may be implemented as one or more of various processing circuits, which may include a microprocessor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), discrete logic, hardware, or any combination thereof. When the technology is implemented in whole or in part in software, the device may store instructions for the software in an appropriate non-transitory computer-readable storage medium, and use one or more processors to execute the instructions in hardware to perform the technology provided in the embodiments of the present application.

[0065] The following introduces the basic principles of the encoder 200 and decoder 300 provided in the embodiment of the present application by taking the G-PCC and AVS-PCC encoding and decoding frameworks as examples.

[0066] The encoding and decoding frameworks of G-PCC and AVS-PCC are roughly the same. Figure 2 The encoding flow chart of the encoder based on the AVS-PCC encoding framework is shown as follows: Figure 3 The following is a flow chart showing the encoding performed by an encoder based on the encoding framework of MPEG G-PCC. The encoder may be Figure 1 The encoder 200 shown. The above encoding framework can be roughly divided into a geometric coordinate information encoding process and an attribute information encoding process. In the geometric information encoding process, the geometric coordinate information of each point in the point cloud is encoded to obtain a geometric bit stream; in the attribute information encoding process, the attribute information of each point in the point cloud is encoded to obtain an attribute bit stream; the geometric bit stream and the attribute bit stream together constitute a compressed code stream of the point cloud.

[0067] For the geometric information encoding process, the encoding process performed by the encoder 200 is as follows:

[0068] 1. Pre-Processing: This may include coordinate transformation and voxelization. Pre-processing converts point cloud data in three-dimensional space into integer form through scaling and translation operations, and moves its minimum geometric position to the origin of the coordinates. In some examples, the encoder 200 may not perform pre-processing.

[0069] 2. Geometric coding: For the AVS-PCC coding framework, geometric coding includes two modes, namely, octree-based geometric coding and prediction tree-based geometric coding. For the G-PCC coding framework, geometric coding includes three modes, namely, octree-based geometric coding, trisoup-based geometric coding, and prediction tree-based prediction coding. Among them:

[0070] Octree-based geometric encoding: First, the geometric information is transformed into coordinates so that all point clouds are contained in a point cloud consisting of two extreme points (0, 0, 0) and (2 d , 2 d , 2 d ) is then voxelized, i.e., quantized, rounded, and duplicate points are removed (determined by parameters). Then, the octree is continuously divided for the non-empty (including points in the point cloud) sub-cubes in the bounding box in the order of breadth-first traversal; at the same octree depth, a node will be divided into 8 sub-nodes until the leaf node obtained by the division is a 1x1x1 unit cube. The 8-bit binary code generated by whether there is a point occupied in the sub-cube (1 for occupied, 0 for unoccupied) is called the occupancy code. The occupancy code of each node is encoded to generate a binary code stream.

[0071] The above-mentioned octree is a tree data structure. In the three-dimensional space division, the pre-set bounding box is evenly divided, and each node has eight child nodes. By using "1" and "0" to indicate whether each child node of the octree is occupied or not, the occupancy code information (Occupancy Code) is obtained as the code stream of the point cloud geometry information.

[0072] Geometric coding based on prediction tree: First, sort the input point cloud. The currently used sorting methods include unordered, Morton order, azimuth order, and radial distance order. At the encoding end, the prediction tree structure is established by using two different methods, including: high-latency slow mode (KD-Tree) and using lidar calibration information to divide each point into different radar rays (Laser), and establish a prediction structure according to different Lasers (low-latency fast mode). Next, based on the structure of the prediction tree, traverse each node in the prediction tree, select different prediction modes to predict the geometric position information of the node to obtain the prediction residual, and use the quantization parameter to quantize the geometric prediction residual. Finally, through continuous iteration, the prediction residual of the prediction tree node position information, the prediction tree structure, and the quantization parameters are encoded to generate a binary code stream.

[0073] Geometric coding based on triangle representation: First, divide the octree. Different from the geometric information coding based on the octree structure, this method does not need to divide the point cloud into bottom-level leaf nodes with a side length of 1·1·1, but divides the leaf nodes with specified side lengths; then the surface information composed of the voxels in the node is represented by a series of triangle meshes. In GPCC, the parameter trisoup node size is used to represent the size of the block where the triangle patch is located. When trisoup nodesize is greater than 0, a geometric patch is used to represent the voxel set in the node. The up to twelve intersections generated by the geometric patch and the twelve edges of the block are called vertices. Encode the vertex coordinates of each block in turn to generate a binary code stream.

[0074] 3. Geometry Entropy Encoding: Statistical compression encoding is performed on the occupancy code information of the octree, the prediction residual information of the prediction tree, and the vertex information of the triangle representation, and finally a binary (0 or 1) compressed code stream is output. Statistical coding is a lossless coding method that can effectively reduce the bit rate required to express the same signal. The commonly used statistical coding method is context-based binary arithmetic coding (Content Adaptive Binary Arithmetic Coding, CABAC).

[0075] 4. Geometry reconstruction: Decode and reconstruct the geometric information after geometry encoding.

[0076] For the attribute information encoding process, the encoding process performed by the encoder 200 is as follows:

[0077] 1. Color transformation: Apply a transformation to transform the color information of an attribute to a different domain. For example, the color information can be transformed from the RGB color space to the YCbCr color space.

[0078] 2. Attribute recoloring: In the case of lossy encoding, after the geometric coordinate information is encoded, the encoder needs to decode and reconstruct the geometric information, that is, restore the geometric information of each point in the point cloud. Find the attribute information corresponding to one or more neighboring points in the original point cloud as the attribute information of the reconstructed point.

[0079] In some examples, encoder 200 may not perform color conversion or attribute recoloring.

[0080] 3. Attribute information processing: In AVS-PCC, attribute information processing can include three modes, namely prediction coding, transform coding and prediction & transform coding. These three coding modes can be used under different conditions.

[0081] Among them, predictive coding refers to determining the neighboring points of the point to be coded as the prediction points among the coded points based on information such as distance or spatial relationship, and calculating the predicted attribute information of the point to be coded based on the attribute information of the prediction points based on the set criteria. The difference between the real attribute information and the predicted attribute information of the point to be coded is calculated as the attribute residual information, and the attribute residual information is quantized, transformed (optional) and entropy coded.

[0082] Transform coding refers to the use of transformation methods such as Discrete Cosine Transform (DCT) and Haar Transform (Haar) to group and transform attribute information and quantize transform coefficients; obtain attribute reconstruction information through inverse quantization and inverse transformation; calculate the difference between the real attribute information and the attribute reconstruction information to obtain attribute residual information and quantize it; and entropy code the quantized transform coefficients and attribute residuals.

[0083] Predictive transform coding refers to using the attribute residual information obtained by prediction to transform, quantize and entropy code the transform coefficients.

[0084] In MPEG G-PCC, attribute information processing may include three modes, namely, prediction transform (PredictionTransform) coding, lifting transform (Lifting Transform) coding, and hierarchical region adaptive transform (RegionAdaptive Hierarchical Transform, RAHT) coding, and these three coding modes can be used under different conditions.

[0085] Among them, predictive transform coding refers to selecting sub-point sets according to distance, dividing the point cloud into multiple different levels (Level of Detail, LoD), and realizing multi-quality hierarchical point cloud representation from coarse to fine. Bottom-up prediction can be realized between adjacent layers, that is, the attribute information of the points introduced in the fine layer is predicted by the neighboring points in the coarse layer to obtain the corresponding attribute residual information. Among them, the points in the lowest layer are encoded as reference information.

[0086] Lifting transform coding refers to introducing a weight update strategy for neighborhood points based on the prediction of adjacent layers of LoD, and ultimately obtaining the predicted attribute information of each point and the corresponding attribute residual information.

[0087] Hierarchical region adaptive transform coding means that the attribute information is transformed into a transform domain through RAHT transform, which is called transform coefficient.

[0088] 4. Attribute Quantization: The degree of quantization is usually determined by the quantization parameter. The transform coefficients or attribute residual information obtained by attribute information processing are quantized, and the quantized results are entropy coded. For example, in predictive transform coding and lifting transform coding, the quantized attribute residual information is entropy coded; in RAHT, the quantized transform coefficients are entropy coded.

[0089] 5. Entropy Coding: The quantized attribute residual information and / or transform coefficients are generally compressed using run length coding and arithmetic coding. The corresponding coding mode, quantization parameters and other information are also encoded using entropy encoders.

[0090] The encoder 200 encodes the geometric coordinate information of each point in the point cloud to obtain a geometric bitstream, and encodes the attribute information of each point in the point cloud to obtain an attribute bitstream. The encoder 200 can transmit the encoded geometric bitstream and attribute bitstream together to the decoder 300.

[0091] Figure 4 A decoding flowchart of a decoder based on the AVS-PCC decoding framework is shown, Figure 5 A decoding flow chart of a decoder based on the decoding framework of MPEG G-PCC is shown, and the above decoder may be Figure 1 Decoder 300 is shown. After receiving the compressed code stream (i.e., attribute bit stream and geometry bit stream) transmitted by encoder 200, decoder 300 decodes the geometry bit stream to reconstruct the geometric coordinate information of each point in the point cloud, and decodes the attribute bit stream to reconstruct the attribute information of each point in the point cloud.

[0092] The decoding process performed by the decoder 300 is as follows:

[0093] 1. Entropy Decoding: Entropy decoding is performed on the geometry bit stream and the attribute bit stream respectively to obtain geometry syntax elements and attribute syntax elements.

[0094] 2. Geometric decoding: For the AVS-PCC coding framework, geometric decoding includes two modes, namely, octree-based geometric decoding and prediction tree-based geometric decoding. For the G-PCC coding framework, geometric coding includes three modes, namely, octree-based geometric decoding, trisoup-based geometric decoding, and prediction tree-based prediction decoding.

[0095] Octree-based geometric decoding: In the order of breadth-first traversal, the placeholder code of each node is obtained by continuous parsing, and the nodes are divided in turn until a 1x1x1 unit cube is obtained. The number of points contained in each leaf node is parsed, and finally the geometric reconstructed point cloud information is restored.

[0096] Geometric decoding based on prediction tree: The decoding end reconstructs the prediction tree structure by continuously parsing the bitstream. Then, the geometric position prediction residual information and quantization parameters of each prediction node are obtained through parsing. The prediction residual is dequantized to restore the reconstructed geometric position information of each node, and finally the geometric reconstruction of the decoding end is completed.

[0097] Geometric decoding based on triangular representation: In order to decode the geometric coordinates of the point cloud from the node triangle patch, it is necessary to check whether each voxel in the node cube intersects with the triangle patch. This technology is called triangle rasterization. The six unit vectors (0,0,1), (0,0,1), (0,0,1), (0,0,1), (0,0,1), (0,0,1) are used for intersection check to check whether each unit vector intersects with the triangle patch. If so, the intersection point is calculated and the decoded cube is output. The number of points generated in the decoder is determined by the grid distance d.

[0098] 3. Geometric reconstruction: Perform reconstruction to obtain the geometric coordinate information of the points in the point cloud.

[0099] 4. Coordinate inverse transformation: The reconstructed geometric coordinate information is inversely transformed to convert the reconstructed coordinates (positions) of the points in the point cloud from the transformed domain back to the initial domain.

[0100] 5. Dequantization: Dequantize the attribute syntax elements.

[0101] 6. Attribute information processing: In AVS-PCC, attribute information processing determines the color information of the midpoint in the point cloud by predicting or predicting the prediction residual or prediction residual transformation coefficient after inverse quantization, or by transforming the inverse quantized transformation coefficient to determine the color information of the midpoint in the point cloud.

[0102] In MPEG G-PCC, attribute information processing determines the color information of the point in the point cloud by RAHT for the inverse quantized attribute information, or determines the color information of the point in the point cloud by LOD and inverse lifting for the inverse quantized attribute information.

[0103] 7. Color inversion: Convert color information from the YCbCr color space to the RGB color space. In some examples, the color inversion operation may not be performed.

[0104] The information related to this application is described below.

[0105] (i) Use of inter-frame prediction information;

[0106] like Figure 6 As shown in Figure 1, the prediction node occupancy code can be obtained directly from the reference frame point cloud or from the compensated point cloud, depending on whether the current node has been motion compensated. According to the occupancy of the prediction node, the inter-frame prediction information is divided into the following categories:

[0107] 1) No pred: When the prediction node occupancy code is zero (bP=0), that is, none of its child nodes are occupied, inter-frame prediction information is not used.

[0108] 2) Pred0: When the prediction child node i is empty, the child node i is predicted to not occupy bP i =0.

[0109] Pred1: When the prediction child node i is not empty, the child node i is predicted to occupy bP i =1; at this time, there are two cases according to the number of points contained in the node:

[0110] Case 1: predL=1: When the predicted child node i is not empty and the number of points in it exceeds the threshold th, the child node i is strongly predicted to be occupied.

[0111] Case 2: predL=0: When the predicted child node i is not empty and the number of points in it does not exceed the threshold th, the child node i is not strongly predicted.

[0112] Optionally, this threshold is set to 2 in TMC13 v23 and GES.

[0113] (ii) local motion estimation;

[0114] For non-radar dense point clouds, G-PCC only performs local motion estimation on them, and uses the local motion enable flag (localMotionEnabled) of the geometric point cloud slice layer (gbs layer) to determine whether local motion estimation is enabled for a certain layer. Local motion estimation is based on block (prediction unit) inter-frame prediction. First, the size of the LPU and the number of layers for block prediction are read from the configuration parameters, and the size of the minimum prediction unit min LPU (min LPUsize) is calculated;

[0115] a) When the current layer node size > LPUsize, there is no motion vector to perform motion compensation on the reference point cloud, so the occupancy information of the reference point cloud is directly used (without motion compensation) as the inter-frame prediction context.

[0116] b) When the current layer node size = LPUsize, first determine whether the number of points in the prediction block is greater than 50, decide whether to turn on local motion, and then write a recursive prediction unit structure (PU_tree). Each node can continue to be divided downward to use the motion vector of the child node PU to motion compensate the reference point cloud, or directly use the motion vector of the undivided current node to motion compensate the reference point cloud. PU_tree records the flag bit (split_flag) of whether to divide downward, the flag of whether to compensate in the current layer (isCompensated), and the motion vector set (MVs); if the node is divided to minLPUsize, further division is terminated (split_flag==0), and motion compensation is performed (isCompensated==1). Finally, based on the flag of whether to compensate, it is decided whether to use the reference point cloud or the compensation point cloud occupancy information as the inter-frame prediction context.

[0117] (iii) Motion prediction process based on prediction unit or prediction block (PU);

[0118] A PU contains the following parameters:

[0119] popul_flags: PU occupancy status;

[0120] split_flags: downward division flag;

[0121] MVs: motion vectors;

[0122] isCompensated: If it is 1, it means the reference point cloud has been motion compensated; if it is 0, it means the reference point cloud has not been compensated.

[0123] hasMotion: used to identify whether the node contains motion information. If it contains motion information, it is 1, otherwise it is 0.

[0124] Please refer to the PU-based motion prediction process Figure 7 .

[0125] (iv) Determination of motion vectors and motion compensation based on rate-distortion optimization.

[0126] 1. Optimal motion vector selection and encoding;

[0127] 1.1) Motion search motion vector (MV) (how to get the motion vector MV);

[0128] i. Motion estimation criteria: The sum of the absolute values ​​of the differences between the predicted block and each point in the block to be encoded (Manhattan distance) is taken as the matching metric;

[0129] D(B,P)=∑ b∈B log2(1+min p∈P ‖bp‖1);

[0130] Wherein, B represents the block to be coded, P represents the predicted block, D(B,P) represents the distortion measure of the predicted block and the block to be coded, b represents a point in the block to be coded, p represents a point in the predicted block, and l represents the 1 norm;

[0131] ii. Search algorithm: In the search window, starting from the location of the reference node, search for the best two motion vectors in the surrounding 18 directions. By selecting the search step size, the search distance is continuously reduced, and finally the best motion vector is obtained.

[0132] 1.2) Calculate the bit rate for encoding each MV:

[0133] Set the context according to the value of MV: whether the motion vector is 0 (mvIsZero), whether the motion vector is 1 (mvIsOne), the sign bit of the motion vector (mvSign), the context index of the exponential Columbus coded motion vector (ctxLocalMV), and calculate the entropy of the coded MV;

[0134] The best MV determination is associated with the downward division flag.

[0135] For the process of encoding motion vectors and using prediction information, please refer to Figure 8 .

[0136] (V) Selecting whether to split PU downward based on rate distortion optimization (RDO)

[0137] Whether to split the flag (split_flag) downward is determined based on the total cost Cost of the distortion of the reference node and the current node, the encoded MV, and the encoded split_flag (when it is 0, the reference node is not compensated, otherwise, the reference node is compensated).

[0138] Cost calculation process:

[0139] The split_flag indicating whether to split down or not and different PU motion vectors (MVs) are both optional coding parameters. Using a specific set of coding parameters (for example, split_flag==0 when not splitting down and using motion vector MV1), the bit rate and distortion under this condition can be obtained, that is, the rate-distortion performance (R, D). In order to find the coding parameters with the minimum distortion (D) under a certain bit rate limit (R), the Lagrangian factor is introduced to calculate the following cost:

[0140] C=∑i[D(B,P(W,Vi))+λR(Vi)]+λR(split flags)+λR(pop flags);

[0141] Among them, C represents the rate-distortion cost, B represents the block to be encoded, P represents the predicted block, R represents the encoding bitstream size, λ represents the Lagrangian factor between D and R, W represents the search window size, Vi represents the motion translation vector, and pop flags represents the occupancy mark of the sub-block after division.

[0142] By comparing the cost of downward division or not, the best motion vector and the split_flag flag of the current PU block are determined.

[0143] The encoding method provided in the embodiment of the present application is described in detail below through some embodiments and their application scenarios in combination with the accompanying drawings.

[0144] like Fig. 9 As shown, the embodiment of the present application provides an encoding method, including:

[0145] Step 901: When the similarity between the first point cloud block of the target point cloud frame and the second point cloud block of the reference point cloud frame is greater than or equal to a preset threshold, the encoding end copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block.

[0146] Optionally, the reference point cloud frame is a previous point cloud frame adjacent to the target point cloud frame.

[0147] The above-mentioned point cloud information includes at least one of geometric coding information and attribute coding information of the point cloud corresponding to the second point cloud block.

[0148] The above-mentioned method of copying the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block can also be described as an inter-frame prediction skip mode.

[0149] By copying the geometric coding information of the second point cloud block or the second point cloud block after motion compensation to the reconstructed point cloud of the above-mentioned first point cloud block, it is convenient to directly use the geometric coding information to encode the attribute information of the first point cloud block, omitting the process of encoding the geometric information of the first point cloud block and saving coding resources.

[0150] By copying the attribute coding information of the second point cloud block or the second point cloud block after motion compensation to the reconstructed point cloud of the above-mentioned first point cloud block, the attribute coding information of the second point cloud block can be directly used to obtain the attribute coding information of the first point cloud block without the need to encode the attribute information of the first point cloud block, that is, the process of encoding the attribute information of the first point cloud block is omitted, thereby saving coding resources.

[0151] Step 902: The encoder generates a target code stream based on the first identification information, wherein the first identification information is used to instruct the decoder to copy the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block, and the point cloud information includes at least one of the geometric coding information and attribute coding information of the point cloud corresponding to the second point cloud block.

[0152] In an embodiment of the present application, the above-mentioned first identification information may be represented as PU_copy_flag, for example. The first identification information is used to identify whether the target point cloud frame uses the copy mode for predictive coding. For example, when the value of the first identification information is set to 1, it indicates that the target point cloud frame uses the copy mode for predictive coding, that is, the encoder copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud; for another example, when the value of the first identification information is set to 0, it indicates that the target point cloud frame does not use the copy mode for predictive coding, that is, the encoder does not copy the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud. The purpose of motion compensation is to make the second point cloud block of the reference point cloud frame more matched with the first point cloud block of the target point cloud frame, thereby improving the encoding quality.

[0153] In the above scheme of the embodiment of the present application, when the similarity between the first point cloud block of the target point cloud frame and the second point cloud block of the reference point cloud frame is greater than or equal to a preset threshold, the encoding end copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block; the encoding end generates a target code stream based on the first identification information, and the first identification information is used to indicate to the decoding end that the encoding end copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block. Through the above scheme, when the similarity between the two point cloud blocks is high enough, the point cloud information of one point cloud block is directly copied to the reconstructed point cloud of another point cloud block, which saves the process of encoding the point cloud of the other point cloud block, and can save encoding resources and encoding time while ensuring that the point cloud quality does not fluctuate significantly, thereby effectively improving the encoding efficiency.

[0154] Optionally, when the similarity between the first point cloud block of the target point cloud frame and the second point cloud block of the reference point cloud frame is greater than or equal to a preset threshold, the encoder copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block, including:

[0155] The encoding end obtains a tree data structure corresponding to the target point cloud frame;

[0156] The encoding end obtains the size of the to-be-encoded node in the target level of the tree data structure;

[0157] When a preset condition is met and the similarity between a first point cloud block of a target point cloud frame and a second point cloud block of a reference point cloud frame is greater than or equal to a preset threshold, the encoder copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block, wherein the first point cloud block is a point cloud block corresponding to a node to be encoded in the target level, and the inter-frame prediction skip mode refers to a mode in which the point cloud information corresponding to the point cloud frame is not encoded;

[0158] The preset condition includes one of the following:

[0159] The second identification information indicates that the target point cloud frame turns on the inter-frame prediction skip mode;

[0160] The second identification information indicates that the target point cloud frame turns on the inter-frame prediction skip mode, and the size of the node to be encoded is within a preset range.

[0161] As an implementation method, the tree data structure is an octree. The encoding end performs octree division and placeholder code encoding on the target point cloud frame to obtain an octree corresponding to the target point cloud frame.

[0162] The target level is a level in the tree structure, for example, an octree layer in the octree.

[0163] The size of the node to be encoded may refer to the length of the side length corresponding to the node to be encoded.

[0164] The above-mentioned second identification information can be represented by gps.Skip_mode_flag on. Optionally, when the value corresponding to the second identification information is set to 1, it indicates that the target point cloud frame turns on the inter-frame prediction skip mode. When the value corresponding to the second identification information is set to 0, it indicates that the target point cloud frame does not turn on the inter-frame prediction skip mode.

[0165] Exemplarily, the preset range includes a first node size value and a second node size value. For example, the first node size value is represented by the maximum value of the copy mode (max_size_CopyPU), and the second node size value is represented by the minimum value of the copy mode (min_size_CopyPU). The size of the node to be encoded can be represented by the current node value (CurNode_size). The size of the node to be encoded belonging to the preset range can be represented as CurNode_size≤max_size_CopyPU&&CurNode_size≥min_size_CopyPU.

[0166] Since not all nodes to be encoded in the image frames are suitable for encoding using the above inter-frame prediction skip mode, the image frames suitable for using the above inter-frame prediction skip mode can be screened out by setting the above second identification information. And by setting the above preset range, nodes to be encoded of a suitable size can be screened out to use the inter-frame prediction skip mode. The above second identification information and the preset range improve the flexibility of selecting nodes to be encoded using the inter-frame prediction skip mode.

[0167] Optionally, the encoding end generates a target bitstream according to the first identification information, including:

[0168] The encoding end generates the target bitstream according to the first identification information and the second identification information;

[0169] Alternatively, the target code stream is generated according to the first identification information, the second identification information and the preset range.

[0170] Here, when the encoding end copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block, the above-mentioned first identification information and the second identification information (and the preset range) are encoded to obtain the encoding stream corresponding to the target point cloud frame, skipping the process of encoding the point cloud information of the first point cloud block, saving encoding resources and encoding time.

[0171] Optionally, the encoder obtains the size of the to-be-encoded node in the target level of the tree data structure, including:

[0172] When the third identification information indicates that the point cloud frame sequence turns on the inter-frame prediction skip mode, the encoding end obtains the size of the to-be-encoded node in the target level of the tree data structure, and the point cloud frame sequence includes the target point cloud frame.

[0173] In the embodiment of the present application, the third identification information can be represented by Sps.Skip_mode_flag on. Optionally, when the value of the third identification information is set to 1, it indicates that the point cloud frame sequence turns on the inter-frame prediction skip mode, and when the value of the third identification information is set to 0, it indicates that the point cloud frame sequence does not turn on the inter-frame prediction skip mode.

[0174] Here, by setting the third identification information, the point cloud frame sequence using the inter-frame prediction skip mode can be screened out, that is, the third identification information provides flexibility in selecting the point cloud frame sequence using the inter-frame prediction skip mode.

[0175] Optionally, the encoding end generates a target bitstream according to the first identification information, including:

[0176] The encoding end generates the target code stream according to the first identification information, the second identification information and the third identification information, or generates the target code stream according to the first identification information, the second identification information, the third identification information and the preset range.

[0177] Here, when the encoding end copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block, the above-mentioned first identification information, the second identification information, the third identification information (and the preset range) are encoded to obtain the encoding stream corresponding to the target point cloud frame, skipping the process of encoding the point cloud information of the first point cloud block, saving encoding resources and encoding time.

[0178] Optionally, the method of the embodiment of the present application further includes:

[0179] Obtaining a distortion rate of the first point cloud block relative to the second point cloud block or the second point cloud block after motion compensation;

[0180] According to the distortion rate, the similarity between the first point cloud block and the second point cloud block or the second point cloud block after motion compensation is obtained.

[0181] The above distortion rate is inversely proportional to the similarity, that is, the smaller the distortion rate, the higher the similarity.

[0182] In an embodiment of the present application, when the similarity between two point cloud blocks is high, that is, the difference is small, the distortion-rate cost caused by using the inter-frame prediction skip mode or not using the inter-frame prediction skip mode can be evaluated by the rate-distortion cost. Exemplarily, if the distortion-rate cost caused by using the inter-frame prediction skip mode or not using the inter-frame prediction skip mode is large, the value corresponding to the above-mentioned first identification information can be set to 0, that is, the first identification information indicates that the inter-frame prediction skip mode is not used, and the target point cloud frame is encoded layer by layer using the prediction entropy coding mode; if the rate-distortion cost of using the inter-frame prediction skip mode is small, the value corresponding to the above-mentioned first identification information is set to 1, that is, the first identification information indicates that the inter-frame prediction skip mode is used, and at this time, the target point cloud frame does not need to be encoded from the PU layer node to the leaf node layer, and the point cloud information of the second point cloud block or the second point cloud block after motion compensation is directly copied to the corresponding reconstructed point cloud.

[0183] In addition, in the embodiment of the present application, the similarity between the first point cloud block and the second point cloud block can also be obtained based on the difference between the centroid offset of the first point cloud block and the centroid offset of the second point cloud block. Since the centroid is calculated based on the distribution of points in the point cloud block, the smaller the difference between the centroid offsets of the first point cloud block and the second point cloud block, the more similar the distribution of points in the two point cloud blocks is, and thus the higher the similarity between the first point cloud block and the second point cloud block.

[0184] Of course, in addition to obtaining the similarity of two point cloud blocks based on the above-mentioned distortion rate and center of mass offset, in the embodiment of the present application, other methods can also be used to obtain the similarity of two point cloud blocks, which are not specifically limited here.

[0185] In addition, in the scenario where the encoding delay requirement is high in the real-time dynamic point cloud transmission, the above-mentioned inter-frame prediction skip mode can also be used. The above-mentioned prediction entropy coding mode is a general inter-frame prediction coding mode. When processing the node to be encoded (hereinafter referred to as the node) of the current point cloud frame, different processing is performed according to the size relationship between the node and the LPU: when the node size of the current point cloud frame is greater than the node size of the LPU, since there is no available motion vector for motion compensation of the reference frame point cloud, the reference point cloud is directly used as the prediction information to encode the current frame; when the node size of the current frame is less than or equal to the node size of the LPU, it is divided according to the PU mode. First, it is determined whether the PU needs to continue to be divided downward. If the PU stops dividing downward, the motion compensation point cloud is used as the prediction information to encode the current frame. On the contrary, if the PU continues to be divided downward, the reference point cloud is directly used as the prediction information to encode the current frame. Finally, the constructed inter-frame context is merged with the intra-frame context information of the current frame node, and the merged context is input into the entropy encoder to encode the point cloud of the current point cloud frame.

[0186] Optionally, the method of the embodiment of the present application further includes:

[0187] When the size of the node to be encoded in the target level of the tree data structure corresponding to the target point cloud frame is the same as the size of the node to be encoded corresponding to the maximum prediction unit LPU and the reference point cloud frame satisfies the local motion estimation start condition, motion estimation is performed on the first point cloud block, a second point cloud block matching the first point cloud block in the reference point cloud frame is determined, and a motion vector of the first point cloud block relative to the second point cloud block is determined;

[0188] Motion compensation is performed on the second point cloud block according to the motion vector to obtain a motion compensated second point cloud block.

[0189] In an embodiment of the present application, motion compensation is performed on the second point cloud block so that the second point cloud block is more matched with the first point cloud block, thereby making the point cloud information of the second point cloud block more matched with the first point cloud block, thereby effectively improving the encoding quality of the point cloud.

[0190] Combine the following Fig.10 and Fig.11 The encoding method of the embodiment of the present application is described as follows.

[0191] In the embodiment of the present application, the target point cloud frame is firstly divided into octrees and occupier codes are encoded to obtain an octree corresponding to the target point cloud frame. When PU-based inter-frame prediction encoding is performed based on the octree, the following steps can be followed:

[0192] Step 1: Determine whether Sps.Skip_mode_flag on is 1. If it is 1, it means that the point cloud frame sequence enables the inter-frame prediction skip mode. If it is 0, it means that the point cloud frame sequence disables the inter-frame prediction skip mode.

[0193] Step 2: When Sps.Skip_mode_flag on is 1, partition the current point cloud frame into slices.

[0194] These Step 1 and Step 2 are optional steps.

[0195] Step 3: When Sps.Skip_mode_flag on is 1, based on each slice of the point cloud, read all the nodes of each level (0 ≤ depth < maxDepth) of the current slice from the First Input First Output (FIFO) queue of the octree data structure. Here, maxDepth is the maximum depth (the number of layers from the root node to the leaf node) under the octree partition of the current frame of the point cloud.

[0196] Step 4: Determine whether gps.Skip_mode_flag on is 1. If it is 1, it means that the target point cloud frame (such as the current point cloud frame) enables the inter-frame prediction skip mode. If it is 0, it means that the target point cloud frame disables the inter-frame prediction skip mode.

[0197] If gps.Skip_mode_flag on is 1, then determine whether the size of the current node to be encoded meets the Skip_size eligibility condition. That is, only the nodes that satisfy CurNode_size ≤ max_size_CopyPU && CurNode_size ≥ min_size_CopyPU are allowed to use the inter-frame prediction skip (SKip) mode. When encoding such nodes, the encoder will evaluate the distortion-rate cost brought by using or not using this mode through rate-distortion cost. If the rate-distortion cost of using the copy mode for the current node is large, mark the current node as not using the copy mode (PU_copy_flag = 0), and at this time, use the predictive entropy coding mode to encode the current frame node layer; if the rate-distortion cost of using the copy mode for the current node is small, mark the current node as using the inter-frame prediction skip mode (PU_copy_flag = 1), and at this time, the current node does not need to be encoded, and the reference block or the compensated reference block is directly copied to the reconstructed point cloud.

[0198] If gps.Skip_mode_flag on is 0, at this time, use the predictive entropy coding mode to encode the current frame node layer.

[0199] In addition, as Fig.11As shown in the figure, for the nodes in the depth layer, the following judgment is also performed. The judgment condition is that the node size reaches LPU and the reference point cloud frame meets the local motion estimation start condition (such as the number of points in the reference point cloud frame is greater than 50). If the condition is met, then for each PU, you can try to divide or not divide the operation, and perform motion estimation for each PU to determine the matching position of the current PU in the reference frame and the corresponding motion vector (such as Fig.12 As shown), find the optimal motion vector in different PU partition modes for motion compensation. Each PU includes the current layer PU and all sub-PUs that may be iteratively partitioned. Inter-frame prediction is performed for each PU, and various prediction modes are tried according to the best matching motion vector, such as inter-frame Skip mode and prediction entropy coding mode, to predict the current PU. The optimal PU partition mode, motion vector and prediction coding mode are selected using rate-distortion optimization technology. The goal of optimization is to minimize coding distortion and maintain an appropriate bit rate. For each PU, different partition modes, motion vectors and prediction coding modes are tried, and the distortion and bit rate caused are calculated. Then, by comparing the distortion-bitrate trade-offs of different options, the PU partition mode, motion vector and prediction coding mode with the best performance are selected. Finally, the optimal PU partition, motion compensation and prediction coding are performed according to the selected PU partition mode, motion vector and prediction coding mode.

[0200] Step 5: Finally, determine whether the node size of the current depth layer reaches the node size of trisoup encoding. If so, perform trisoup encoding, otherwise return to the first step and loop until all nodes are encoded.

[0201] Taking the current ges v3.0_rc1 as a reference or anchor, the compression gain generated by the scheme of the present application in geometry is shown in Table 1. Among them, Cat2-A, Cat2-B, and Cat2-C are sequence names, C2 represents the point cloud coding test condition, Luma, Chroma Cb, and Chroma Cr represent the three color components, and D1 and D2 represent two different point cloud geometric quality distortion evaluation parameters. If the parameters D1 and D2 are negative values, it means that under the test condition C2, the point cloud generated by encoding the point cloud using the scheme of the present application has a higher comprehensive quality than the existing technical solution.

[0202] Table 1

[0203]

[0204] In the above scheme of the embodiment of the present application, when the similarity between the first point cloud block of the target point cloud frame and the second point cloud block of the reference point cloud frame is greater than or equal to a preset threshold, the encoding end copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block; the encoding end generates a target code stream based on the first identification information, and the first identification information is used to indicate to the decoding end that the encoding end copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block. Through the above scheme, when the similarity between the two point cloud blocks is high enough, the point cloud information of one point cloud block is directly copied to the reconstructed point cloud of another point cloud block, which saves the process of encoding the point cloud of the other point cloud block, and can save encoding resources and encoding time while ensuring that the point cloud quality does not fluctuate significantly, thereby effectively improving the encoding efficiency.

[0205] like Fig.13 As shown, the embodiment of the present application also provides a decoding method, including:

[0206] Step 1301: The decoding end decodes the target code stream to obtain first identification information.

[0207] The first identification information has been described in detail in the method embodiment of the encoding end, and will not be repeated here.

[0208] Step 1302: When the first identification information indicates that the encoding end copies the point cloud information of the second point cloud block of the reference point cloud frame or the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block of the target point cloud frame, the decoding end copies the point cloud information of the second point cloud block or the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block, and the point cloud information includes at least one of the geometric coding information and attribute coding information of the point cloud corresponding to the second point cloud block.

[0209] Step 1302: When the first identification information indicates that the encoding end copies the point cloud information of the second point cloud block of the reference point cloud frame or the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block of the target point cloud frame, the decoding end copies the point cloud information of the second point cloud block or the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block, and the point cloud information includes at least one of the geometric coding information and attribute coding information of the point cloud corresponding to the second point cloud block.

[0210] In an embodiment of the present application, the decoding end decodes the target code stream to obtain first identification information; when the first identification information indicates that the encoding end copies the point cloud information of the second point cloud block of the reference point cloud frame or the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block of the target point cloud frame, the decoding end copies the point cloud information of the second point cloud block or the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block, that is, the point cloud information of the first point cloud block and the second point cloud block is the same, and the decoding end only needs to decode the point cloud information of the second point cloud block during decoding to obtain the decoding information of the first point cloud block and the second point cloud block, thereby saving decoding resources and decoding time and improving decoding efficiency.

[0211] Optionally, the decoding end decodes the target bitstream to obtain the first identification information, including:

[0212] The decoding end decodes the first bitstream in the target bitstream to obtain the second identification information;

[0213] The decoding end obtains the size of the to-be-encoded node in the target level of the tree data structure corresponding to the target point cloud frame;

[0214] When the second identification information indicates that the target point cloud frame turns on the inter-frame prediction skip mode and the size of the node to be encoded belongs to the preset range, the second code stream in the target code stream is decoded to obtain the first identification information, wherein the inter-frame prediction skip mode refers to a mode in which the point cloud information corresponding to the point cloud frame is not encoded.

[0215] Here, the decoding end may obtain the preset range by decoding the first bitstream, or the decoding end may directly obtain a pre-configured or pre-set preset range.

[0216] Optionally, the first code stream further includes third identification information;

[0217] The obtaining the size of the to-be-encoded node in the target level of the tree data structure includes:

[0218] When the third identification information indicates that the point cloud frame sequence turns on the inter-frame prediction skip mode, the size of the to-be-encoded node in the target level of the tree data structure is obtained, and the point cloud frame sequence includes the target point cloud frame.

[0219] Optionally, the method further comprises:

[0220] When the size of the node to be encoded in the target level is the same as the size of the node corresponding to the maximum prediction unit (LPU) and the reference point cloud frame meets the local motion estimation enabling condition, obtain the second point cloud block in the reference point cloud frame that matches the first point cloud block according to the target bitstream, and obtain the motion vector of the first point cloud block relative to the second point cloud block;

[0221] Perform motion compensation on the second point cloud block according to the motion vector to obtain the motion-compensated second point cloud block.

[0222] In the embodiments of the present application, when performing inter-frame prediction decoding based on a prediction unit (PU) according to octree partitioning, the decoding end can operate according to the following steps:

[0223] Step 1: Parse whether the current Sps.Skip_mode_flag on in the frame-level syntax element is 1; if it is 1, it means that the inter-frame prediction skip mode is enabled for the point cloud frame sequence, and if it is 0, it means that the inter-frame prediction skip mode is disabled for the point cloud frame sequence.

[0224] Step 2: Based on the slice point cloud, parse the occupancy information of all nodes at each level (0 ≤ depth < maxDepth) of the current slice. Where maxDepth is the maximum depth (the number of layers from the root node to the leaf node) under the octree partitioning of the current frame point cloud.

[0225] Step 3: Parse whether the current gps.Skip_mode_flag on is 1; if it is 1, it means that the target point cloud frame (such as the current point cloud frame) enables the inter-frame prediction skip mode, and if it is 0, it means that the target point cloud frame disables the inter-frame prediction skip mode.

[0226] If gps.Skip_mode_flag on is 1, determine whether the current node size meets the Skip_size qualification condition. That is, only nodes that satisfy CurNode_size ≤ max_size_CopyPU && CurNode_size ≥ min_size_CopyPU are allowed to use the inter-frame prediction skip (SKip) mode. For nodes that meet this condition during decoding, parse whether the PU_split_flag of the current node is 0. If it is 0, at this time, use the prediction entropy coding mode to encode the current frame nodes layer by layer; if it is 1, at this time, the current node does not need to be decoded, and the reference block or the compensated reference block is directly copied to the reconstructed point cloud.

[0227] If gps.Skip_mode_flag on is 0, at this time, use the prediction entropy decoding mode to decode the current frame node layer.

[0228] In addition, for the nodes of the depth layer, the following judgment is also made, and the judgment condition is that the node size reaches LPU and the reference point cloud frame meets the local motion estimation start condition. If the condition is met, the operation is performed for each PU. If the PU is less than or equal to the size of the sps minimum PU (sps_minPU_size), the PU_split_flag is inferred to be 0; otherwise, the PU layer PU_split_flag division flag is decoded. If PU_split_flag is false, motion compensation is performed on the current layer PU; if PU_split_flag is true, motion compensation is performed on the node where the PU_split_flag iteratively divided into PUs is false and the PU is larger than the minimum PU size. For PUs that need motion compensation, the three directional values ​​of the motion vector are decoded and used to perform motion compensation on the PU. Decode the PU layer PU_copy_flag to determine the prediction mode. If PU_copy_flag is true, it means that the decoding end has selected the copy mode and directly copies the reference point to the reconstructed point cloud. No subsequent decoding operation is required at this time. If PU_copy_flag is false, the current frame node needs to be decoded according to the inter-frame information decoded by the PU and the intra-frame context.

[0229] Step 4: Finally, determine whether the current depth layer node size reaches the node size of trisoup decoding. If so, perform trisoup decoding, otherwise return to the first step and loop until all nodes are decoded.

[0230] It should be noted that the decoding method performed by the decoding end is a decoding method corresponding to the encoding method performed by the above-mentioned encoding end, and will not be repeated here.

[0231] The encoding method provided in the embodiment of the present application may be executed by an encoding device. In the embodiment of the present application, the encoding device provided in the embodiment of the present application is described by taking the encoding method executed by the encoding device as an example.

[0232] like Fig.14 As shown, the embodiment of the present application provides a coding device 1400, including:

[0233] A first copying module 1401 is used to copy the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block when the similarity between the first point cloud block of the target point cloud frame and the second point cloud block of the reference point cloud frame is greater than or equal to a preset threshold;

[0234] Generation module 1402 is used to generate a target code stream based on first identification information, wherein the first identification information is used to instruct the encoding end to copy the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block to the point cloud of the first point cloud block, and the point cloud information includes at least one of the geometric coding information and attribute coding information of the point cloud corresponding to the second point cloud block.

[0235] Optionally, the first copy module includes:

[0236] A first acquisition submodule is used to acquire a tree data structure corresponding to the target point cloud frame;

[0237] A second acquisition submodule is used to acquire the size of the to-be-encoded node in the target level of the tree data structure;

[0238] A copy submodule, configured to, when a preset condition is met and the similarity between a first point cloud block of a target point cloud frame and a second point cloud block of a reference point cloud frame is greater than or equal to a preset threshold, copy the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block by the encoder, wherein the first point cloud block is a point cloud block corresponding to the node to be encoded in the target level, and the inter-frame prediction skip mode refers to a mode in which the point cloud information corresponding to the point cloud frame is not encoded;

[0239] The preset condition includes one of the following:

[0240] The second identification information indicates that the target point cloud frame turns on the inter-frame prediction skip mode;

[0241] The second identification information indicates that the target point cloud frame turns on the inter-frame prediction skip mode, and the size of the node to be encoded is within a preset range.

[0242] Optionally, the generating module is used to generate the target bitstream according to the first identification information and the second identification information;

[0243] Alternatively, the target code stream is generated according to the first identification information, the second identification information and the preset range.

[0244] Optionally, the second acquisition submodule is used to obtain the size of the node to be encoded in the target level of the tree data structure when the third identification information indicates that the point cloud frame sequence turns on the inter-frame prediction skip mode, and the point cloud frame sequence includes the target point cloud frame.

[0245] Optionally, the generating module is used to generate the target code stream according to the first identification information, the second identification information and the third identification information, or to generate the target code stream according to the first identification information, the second identification information, the third identification information and the preset range.

[0246] Optionally, the device of the embodiment of the present application further includes:

[0247] A first acquisition module, used to acquire a distortion rate of the first point cloud block relative to the second point cloud block or the second point cloud block after motion compensation;

[0248] The second acquisition module is used to obtain the similarity between the first point cloud block and the second point cloud block or the second point cloud block after motion compensation according to the distortion rate.

[0249] Optionally, the device of the embodiment of the present application further includes:

[0250] A determination module, configured to, when the size of the node to be encoded in the target level of the tree data structure corresponding to the target point cloud frame is the same as the size of the node to be encoded corresponding to the maximum prediction unit LPU and the reference point cloud frame satisfies the local motion estimation on-condition, perform motion estimation on the first point cloud block, determine a second point cloud block matching the first point cloud block in the reference point cloud frame, and determine a motion vector of the first point cloud block relative to the second point cloud block;

[0251] The third acquisition module is used to perform motion compensation on the second point cloud block according to the motion vector to obtain a second point cloud block after motion compensation.

[0252] In an embodiment of the present application, when the similarity between the first point cloud block of the target point cloud frame and the second point cloud block of the reference point cloud frame is greater than or equal to a preset threshold, the encoding end copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block; the encoding end generates a target code stream based on the first identification information, and the first identification information is used to indicate to the decoding end that the encoding end copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block. Through the above scheme, when the similarity between the two point cloud blocks is high enough, the point cloud information of one point cloud block is directly copied to the reconstructed point cloud of another point cloud block, which saves the process of encoding the point cloud of the other point cloud block, and can save encoding resources and encoding time while ensuring that the point cloud quality does not fluctuate significantly, thereby effectively improving the encoding efficiency.

[0253] The encoding device provided in the embodiment of the present application can achieve Figures 9 to 12The various processes implemented by the method embodiment and achieving the same technical effect are not described here to avoid repetition.

[0254] like Fig.15 As shown, the embodiment of the present application provides a decoding device 1500, including:

[0255] The fourth acquisition module 1501 is used to decode the target code stream to obtain the first identification information;

[0256] The second copying module 1502 is used to copy the point cloud information of the second point cloud block of the reference point cloud frame or the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block of the target point cloud frame when the first identification information indicates that the encoding end copies the point cloud information of the second point cloud block or the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block, and the point cloud information includes at least one of the geometric coding information and attribute coding information of the point cloud corresponding to the second point cloud block.

[0257] Optionally, the fourth acquisition module includes:

[0258] A third acquisition submodule is used to decode the first code stream in the target code stream to obtain the second identification information;

[0259] A fourth acquisition submodule is used to acquire the size of the to-be-encoded node in the target level of the tree data structure corresponding to the target point cloud frame;

[0260] The fifth acquisition submodule is used to decode the second code stream in the target code stream to obtain the first identification information when the second identification information indicates that the target point cloud frame turns on the inter-frame prediction skip mode and the size of the node to be encoded belongs to the preset range, wherein the inter-frame prediction skip mode refers to a mode in which the point cloud information corresponding to the point cloud frame is not encoded.

[0261] Optionally, the first code stream further includes third identification information;

[0262] The fourth acquisition submodule is used to obtain the size of the to-be-encoded node in the target level of the tree data structure when the third identification information indicates that the point cloud frame sequence turns on the inter-frame prediction skip mode, and the point cloud frame sequence includes the target point cloud frame.

[0263] Optionally, the device of the embodiment of the present application further includes:

[0264] A fifth acquisition module, configured to acquire, according to the target bitstream, a second point cloud block matching the first point cloud block in the reference point cloud frame and acquiring a motion vector of the first point cloud block relative to the second point cloud block, when the size of the node to be encoded in the target level is the same as the size of the node corresponding to the maximum prediction unit LPU and the reference point cloud frame meets the local motion estimation enabling condition;

[0265] The sixth acquisition module is used to perform motion compensation on the second point cloud block according to the motion vector to obtain a second point cloud block after motion compensation.

[0266] In an embodiment of the present application, the decoding end decodes the target code stream to obtain first identification information; when the first identification information indicates that the encoding end copies the point cloud information of the second point cloud block of the reference point cloud frame or the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block of the target point cloud frame, the decoding end copies the point cloud information of the second point cloud block or the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block, that is, the point cloud information of the first point cloud block and the second point cloud block is the same, and the decoding end only needs to decode the point cloud information of the second point cloud block during decoding to obtain the decoding information of the first point cloud block and the second point cloud block, thereby saving decoding resources and decoding time and improving decoding efficiency.

[0267] like Fig.16 As shown, the embodiment of the present application further provides an electronic device 1600, including a processor 1601 and a memory 1602, and the memory 1602 stores programs or instructions that can be run on the processor 1601. For example, when the electronic device 1600 is an encoding end device, the program or instruction is executed by the processor 1601 to implement the various steps of the above-mentioned encoding method embodiment, and can achieve the same technical effect. When the electronic device 1600 is a decoding end device, the program or instruction is executed by the processor 1601 to implement the various steps of the above-mentioned decoding method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be repeated here. Optionally, the memory 1602 can be Figure 1 In the memory 102 or the memory 113 in the embodiment shown, the processor 1601 may implement Figure 1-3 Functionality of the encoder 200 or decoder 300 in the illustrated embodiment.

[0268] The present application also provides an electronic device, including: a memory configured to store video data; and a processing circuit configured to implement the various steps of the above encoding method or decoding method embodiment. Optionally, the memory may be Figure 1 In the memory 102 or the memory 113 in the embodiment shown, the processing circuit can implement Figure 1-3 Functionality of the encoder 200 or decoder 300 in the illustrated embodiment.

[0269] The embodiment of the present application also provides an electronic device, including a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run a program or instruction to implement the following Fig. 9 or Fig.13 The steps in the method embodiment shown. This device embodiment corresponds to the above method embodiment, and each implementation process and implementation mode of the above method embodiment can be applied to this terminal embodiment and can achieve the same technical effect.

[0270] The electronic device may be a terminal, or may be other devices other than a terminal, such as a server, a network attached storage (NAS), etc.

[0271] Among them, the terminal can be a mobile phone, a tablet personal computer, a laptop computer, a notebook computer, a personal digital assistant (PDA), a handheld computer, a netbook, an ultra-mobile personal computer (UMPC), a mobile Internet device (MID), an augmented reality (AR), a virtual reality (VR) device, a mixed reality (MR) device, a robot, a wearable device (Wearable Device), a flight vehicle, a vehicle user equipment (VUE), a ship-borne equipment, a pedestrian terminal (Pedestrian User Equipment, PUE), a smart home (home appliances with wireless communication functions, such as refrigerators, televisions, washing machines or furniture, etc.), a game console, a personal computer (PC), a teller machine or a self-service machine and other terminal-side devices. Wearable devices include: smart watches, smart bracelets, smart headphones, smart glasses, smart jewelry (smart bracelets, smart bracelets, smart rings, smart necklaces, smart anklets, smart anklets, etc.), smart wristbands, smart clothing, etc. Among them, the vehicle-mounted device can also be called a vehicle-mounted terminal, a vehicle-mounted controller, a vehicle-mounted module, a vehicle-mounted component, a vehicle-mounted chip or a vehicle-mounted unit, etc. It should be noted that the specific type of the terminal is not limited in the embodiments of the present application.

[0272] The server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that can provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDN), or cloud computing services based on big data and artificial intelligence platforms.

[0273] Exemplarily, the electronic device may include but is not limited to Figure 1 The type of source device 100 or destination device 110 shown.

[0274] Taking electronic devices as terminals as an example, Fig.17 A schematic diagram of the hardware structure of a terminal for implementing an embodiment of the present application.

[0275] The terminal 1700 includes but is not limited to: a radio frequency unit 1701, a network module 1702, an audio output unit 1703, an input unit 1704, a sensor 1705, a display unit 1706, a user input unit 1707, an interface unit 1708, a memory 1709 and at least some of the components of the processor 1710.

[0276] Those skilled in the art will appreciate that the terminal 1700 may also include a power source (such as a battery) for supplying power to each component, and the power source may be logically connected to the processor 1710 through a power management system, thereby implementing functions such as managing charging, discharging, and power consumption management through the power management system. Fig.17 The terminal structure shown in the figure does not constitute a limitation on the terminal. The terminal may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently, which will not be described in detail here.

[0277] It should be understood that in the embodiment of the present application, the input unit 1704 may include a graphics processing unit (GPU) 17041 and a microphone 17042, and the graphics processor 17041 processes the image data of a static picture or video obtained by an image acquisition device (such as a camera) in a video acquisition mode or an image acquisition mode, or may process the obtained point cloud data. The display unit 1706 may include a display panel 17061, and the display panel 17061 may be configured in the form of a liquid crystal display, an organic light emitting diode, etc. The user input unit 1707 includes a touch panel 17071 and at least one of other input devices 17072. The touch panel 17071 is also called a touch screen. The touch panel 17071 may include two parts: a touch detection device and a touch controller. Other input devices 17072 may include, but are not limited to, a physical keyboard, function keys (such as a volume control button, a switch button, etc.), a trackball, a mouse, and a joystick, which will not be repeated here.

[0278] In the embodiment of the present application, after receiving downlink data from the network side device, the RF unit 1701 can transmit the data to the processor 1710 for processing; in addition, the RF unit 1701 can send uplink data to the network side device. Generally, the RF unit 1701 includes but is not limited to an antenna, an amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, etc.

[0279] The memory 1709 can be used to store software programs or instructions and various data. The memory 1709 may mainly include a first storage area for storing programs or instructions and a second storage area for storing data, wherein the first storage area may store an operating system, an application program or instruction required for at least one function (such as a sound playback function, an image playback function, etc.), etc. In addition, the memory 1709 may include a volatile memory or a non-volatile memory. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), a static random access memory (SRAM), a dynamic random access memory (DRAM), a synchronous dynamic random access memory (SDRAM), a double data rate synchronous dynamic random access memory (DDRSDRAM), an enhanced synchronous dynamic random access memory (ESDRAM), a synchronous link dynamic random access memory (SLDRAM) and a direct memory bus random access memory (DRRAM). The memory 1709 in the embodiment of the present application includes but is not limited to these and any other suitable types of memory.

[0280] The processor 1710 may include one or more processing units; optionally, the processor 1710 integrates an application processor and a modem processor, wherein the application processor mainly processes operations related to an operating system, a user interface, and application programs, and the modem processor mainly processes wireless communication signals, such as a baseband processor. It is understandable that the modem processor may not be integrated into the processor 1710.

[0281] In one embodiment of the present application, the processor 1710 is configured to, when the similarity between a first point cloud block of a target point cloud frame and a second point cloud block of a reference point cloud frame is greater than or equal to a preset threshold, copy the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block at the encoder;

[0282] The encoding end generates a target code stream based on the first identification information, wherein the first identification information is used to instruct the decoding end that the encoding end copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block, and the point cloud information includes at least one of the geometric coding information and attribute coding information of the point cloud corresponding to the second point cloud block.

[0283] Optionally, the processor 1710 is further configured to:

[0284] Obtaining a tree data structure corresponding to the target point cloud frame;

[0285] Obtaining the size of the to-be-encoded node in the target level of the tree data structure;

[0286] When a preset condition is met and the similarity between a first point cloud block of a target point cloud frame and a second point cloud block of a reference point cloud frame is greater than or equal to a preset threshold, the encoder copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block, wherein the first point cloud block is a point cloud block corresponding to a node to be encoded in the target level, and the inter-frame prediction skip mode refers to a mode in which the point cloud information corresponding to the point cloud frame is not encoded;

[0287] The preset condition includes one of the following:

[0288] The second identification information indicates that the target point cloud frame turns on the inter-frame prediction skip mode;

[0289] The second identification information indicates that the target point cloud frame turns on the inter-frame prediction skip mode, and the size of the node to be encoded is within a preset range.

[0290] Optionally, the processor 1710 is further configured to:

[0291] Generate the target bitstream according to the first identification information and the second identification information;

[0292] Alternatively, the target code stream is generated according to the first identification information, the second identification information and the preset range.

[0293] Optionally, the processor 1710 is further configured to:

[0294] When the third identification information indicates that the point cloud frame sequence turns on the inter-frame prediction skip mode, the size of the to-be-encoded node in the target level of the tree data structure is obtained, and the point cloud frame sequence includes the target point cloud frame.

[0295] Optionally, the processor 1710 is further configured to:

[0296] The target code stream is generated according to the first identification information, the second identification information and the third identification information, or the target code stream is generated according to the first identification information, the second identification information, the third identification information and the preset range.

[0297] Optionally, the processor 1710 is further configured to:

[0298] Obtaining a distortion rate of the first point cloud block relative to the second point cloud block or the second point cloud block after motion compensation;

[0299] According to the distortion rate, the similarity between the first point cloud block and the second point cloud block or the second point cloud block after motion compensation is obtained.

[0300] Optionally, the processor 1710 is further configured to:

[0301] When the size of the node to be encoded in the target level of the tree data structure corresponding to the target point cloud frame is the same as the size of the node to be encoded corresponding to the maximum prediction unit LPU, and the reference point cloud frame satisfies the local motion estimation start condition, motion estimation is performed on the first point cloud block, a second point cloud block matching the first point cloud block in the reference point cloud frame is determined, and a motion vector of the first point cloud block relative to the second point cloud block is determined;

[0302] Motion compensation is performed on the second point cloud block according to the motion vector to obtain a motion compensated second point cloud block.

[0303] In an embodiment of the present application, when the similarity between the first point cloud block of the target point cloud frame and the second point cloud block of the reference point cloud frame is greater than or equal to a preset threshold, the encoding end copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block; the encoding end generates a target code stream based on the first identification information, and the first identification information is used to indicate to the decoding end that the encoding end copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block. Through the above scheme, when the similarity between the two point cloud blocks is high enough, the point cloud information of one point cloud block is directly copied to the reconstructed point cloud of another point cloud block, which saves the process of encoding the point cloud of the other point cloud block, and can save encoding resources and encoding time while ensuring that the point cloud quality does not fluctuate significantly, thereby effectively improving the encoding efficiency.

[0304] It can be understood that the implementation process of each implementation method mentioned in this embodiment can refer to the relevant description of the encoding method of the method embodiment, and achieve the same or corresponding technical effect. To avoid repetition, it will not be repeated here.

[0305] In one embodiment of the present application, the processor 1710 is used to:

[0306] Decoding the target code stream to obtain first identification information;

[0307] When the first identification information indicates that the encoding end copies the point cloud information of the second point cloud block of the reference point cloud frame or the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block of the target point cloud frame, the point cloud information of the second point cloud block or the second point cloud block after motion compensation is copied to the reconstructed point cloud of the first point cloud block, and the point cloud information includes at least one of the geometric coding information and attribute coding information of the point cloud corresponding to the second point cloud block.

[0308] Optionally, the processor 1710 is further configured to:

[0309] Decoding a first bitstream in the target bitstream to obtain second identification information;

[0310] Obtaining the size of the to-be-encoded node in the target level of the tree data structure;

[0311] When the second identification information indicates that the target point cloud frame turns on the inter-frame prediction skip mode and the size of the node to be encoded belongs to the preset range, the second code stream in the target code stream is decoded to obtain the first identification information, wherein the inter-frame prediction skip mode refers to a mode in which the point cloud information corresponding to the point cloud frame is not encoded.

[0312] Optionally, the first code stream further includes third identification information;

[0313] The processor 1710 is further configured to:

[0314] When the third identification information indicates that the point cloud frame sequence turns on the inter-frame prediction skip mode, the size of the to-be-encoded node in the target level of the tree data structure is obtained, and the point cloud frame sequence includes the target point cloud frame.

[0315] Optionally, the processor 1710 is further configured to:

[0316] When the size of the node to be encoded in the target level is the same as the size of the node corresponding to the maximum prediction unit LPU and the reference point cloud frame satisfies the local motion estimation enabling condition, obtaining a second point cloud block matching the first point cloud block in the reference point cloud frame according to the target bitstream and obtaining a motion vector of the first point cloud block relative to the second point cloud block;

[0317] Motion compensation is performed on the second point cloud block according to the motion vector to obtain a motion compensated second point cloud block.

[0318] It can be understood that the implementation process of each implementation method mentioned in this embodiment can refer to the relevant description of the decoding method in the method embodiment, and achieve the same or corresponding technical effect. To avoid repetition, it will not be repeated here.

[0319] An embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored. When the program or instruction is executed by a processor, each process of the above-mentioned encoding method or decoding method embodiment is implemented, and the same technical effect can be achieved. To avoid repetition, it will not be repeated here.

[0320] The processor is the processor in the terminal described in the above embodiment. The readable storage medium includes a computer-readable storage medium, such as a ROM, RAM, a magnetic disk or an optical disk. In some examples, the readable storage medium may be a non-transient readable storage medium.

[0321] An embodiment of the present application further provides a chip, which includes a processor and a communication interface, wherein the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the various processes of the above-mentioned encoding method or decoding method embodiment, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.

[0322] It should be understood that the chip mentioned in the embodiments of the present application may include a system-level chip (also referred to as a system chip, a chip system or a system-on-chip chip), and may also include an independent display chip, etc.

[0323] The embodiments of the present application further provide a computer program / program product, which is stored in a storage medium. The computer program / program product is executed by at least one processor to implement the various processes of the above-mentioned encoding method or decoding method embodiments, and can achieve the same technical effect. To avoid repetition, it will not be repeated here.

[0324] The embodiment of the present application further provides an editing code system, comprising: an encoding end device and a decoding end device, wherein the encoding end device can be used to execute the steps of the encoding method as described above, and the decoding end device can be used to execute the steps of the decoding method as described above.

[0325] It should be noted that, in this article, the terms "comprise", "include" or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises one..." does not exclude the presence of other identical elements in the process, method, article or device including the element. In addition, it should be pointed out that the scope of the method and device in the embodiment of the present application is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in reverse order according to the functions involved, for example, the described method may be performed in an order different from that described, and various steps may also be added, omitted or combined. In addition, the features described with reference to certain examples may be combined in other examples.

[0326] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of a computer software product plus a necessary general hardware platform, and of course, can also be implemented by hardware. The computer software product is stored in a storage medium (such as ROM, RAM, disk, CD, etc.), including several instructions to enable a terminal or a network-side device to execute the methods described in each embodiment of the present application.

[0327] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms of implementation methods without departing from the purpose of the present application and the scope of protection of the claims, and these implementation methods are all within the protection of the present application.

Claims

1. A coding method, characterized in that: include: When the similarity between the first point cloud block of the target point cloud frame and the second point cloud block of the reference point cloud frame is greater than or equal to a preset threshold, the encoder copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block; The encoding end generates a target code stream based on the first identification information, wherein the first identification information is used to instruct the decoding end that the encoding end copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block, and the point cloud information includes at least one of the geometric coding information and attribute coding information of the point cloud corresponding to the second point cloud block.

2. The method according to claim 1, characterized in that When the similarity between the first point cloud block of the target point cloud frame and the second point cloud block of the reference point cloud frame is greater than or equal to a preset threshold, the encoder copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block, including: The encoding end obtains a tree data structure corresponding to the target point cloud frame; The encoding end obtains the size of the to-be-encoded node in the target level of the tree data structure; When a preset condition is met and the similarity between the first point cloud block of the target point cloud frame and the second point cloud block of the reference point cloud frame is greater than or equal to a preset threshold, the encoder copies the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block, wherein the first point cloud block is a point cloud block corresponding to the node to be encoded in the target level; The preset condition includes one of the following: The second identification information indicates that the target point cloud frame turns on the inter-frame prediction skip mode; The second identification information indicates that the target point cloud frame turns on the inter-frame prediction skip mode, and the size of the node to be encoded belongs to a preset range. The inter-frame prediction skip mode refers to a mode in which the point cloud information corresponding to the point cloud frame is not encoded.

3. The method according to claim 2, characterized in that The encoding end generates a target bitstream according to the first identification information, including: The encoding end generates the target bitstream according to the first identification information and the second identification information; Alternatively, the encoding end generates the target bitstream according to the first identification information, the second identification information and the preset range.

4. The method according to claim 2 or 3, characterized in that: The encoder obtains the size of the to-be-encoded node in the target level of the tree data structure, including: When the third identification information indicates that the point cloud frame sequence turns on the inter-frame prediction skip mode, the encoding end obtains the size of the to-be-encoded node in the target level of the tree data structure, and the point cloud frame sequence includes the target point cloud frame.

5. The method according to claim 4, characterized in that The encoding end generates a target bitstream according to the first identification information, including: The encoding end generates the target code stream according to the first identification information, the second identification information and the third identification information, or generates the target code stream according to the first identification information, the second identification information, the third identification information and the preset range.

6. The method according to any one of claims 1 to 5, characterized in that: Also includes: Obtaining a distortion rate of the first point cloud block relative to the second point cloud block or the second point cloud block after motion compensation; According to the distortion rate, the similarity between the first point cloud block and the second point cloud block or the second point cloud block after motion compensation is obtained.

7. The method according to any one of claims 1 to 6, characterized in that: The method further comprises: When the size of the node to be encoded in the target level of the tree data structure corresponding to the target point cloud frame is the same as the size of the node to be encoded corresponding to the maximum prediction unit LPU, and the reference point cloud frame satisfies the local motion estimation start condition, motion estimation is performed on the first point cloud block, a second point cloud block matching the first point cloud block in the reference point cloud frame is determined, and a motion vector of the first point cloud block relative to the second point cloud block is determined; Motion compensation is performed on the second point cloud block according to the motion vector to obtain a motion compensated second point cloud block.

8. A decoding method, characterized in that: include: The decoding end decodes the target code stream to obtain first identification information; When the first identification information indicates that the encoding end copies the point cloud information of the second point cloud block of the reference point cloud frame or the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block of the target point cloud frame, the decoding end copies the point cloud information of the second point cloud block or the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block, and the point cloud information includes at least one of the geometric coding information and attribute coding information of the point cloud corresponding to the second point cloud block.

9. The method according to claim 8, characterized in that The decoding end decodes the target bitstream to obtain first identification information, including: The decoding end decodes the first bitstream in the target bitstream to obtain the second identification information; The decoding end obtains the size of the to-be-encoded node in the target level of the tree data structure corresponding to the target point cloud frame; When the second identification information indicates that the target point cloud frame turns on the inter-frame prediction skip mode and the size of the node to be encoded is within a preset range, the second code stream in the target code stream is decoded to obtain the first identification information, wherein the inter-frame prediction skip mode refers to a mode in which the point cloud information corresponding to the point cloud frame is not encoded.

10. The method according to claim 9, characterized in that The first code stream also includes third identification information; The obtaining the size of the to-be-encoded node in the target level of the tree data structure includes: When the third identification information indicates that the point cloud frame sequence turns on the inter-frame prediction skip mode, the size of the to-be-encoded node in the target level of the tree data structure is obtained, and the point cloud frame sequence includes the target point cloud frame.

11. The method according to claim 8, characterized in that The method further comprises: When the size of the node to be encoded in the target level is the same as the size of the node corresponding to the maximum prediction unit LPU and the reference point cloud frame satisfies the local motion estimation enabling condition, obtaining a second point cloud block matching the first point cloud block in the reference point cloud frame according to the target bitstream and obtaining a motion vector of the first point cloud block relative to the second point cloud block; Motion compensation is performed on the second point cloud block according to the motion vector to obtain a motion compensated second point cloud block.

12. A coding device, characterized in that: include: A first copying module is used to copy the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block when the similarity between the first point cloud block of the target point cloud frame and the second point cloud block of the reference point cloud frame is greater than or equal to a preset threshold; A generation module is used to generate a target code stream according to first identification information, wherein the first identification information is used to instruct the encoding end to copy the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block to the point cloud of the first point cloud block, and the point cloud information includes at least one of the geometric coding information and attribute coding information of the point cloud corresponding to the second point cloud block.

13. The device according to claim 12, characterized in that The first copy module comprises: A first acquisition submodule is used to acquire a tree data structure corresponding to the target point cloud frame; A second acquisition submodule is used to acquire the size of the to-be-encoded node in the target level of the tree data structure; A copy submodule, configured to, when a preset condition is met and the similarity between a first point cloud block of a target point cloud frame and a second point cloud block of a reference point cloud frame is greater than or equal to a preset threshold, copy the point cloud information of the second point cloud block or the point cloud information of the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block, wherein the first point cloud block is a point cloud block corresponding to the node to be encoded in the target level; The preset condition includes one of the following: The second identification information indicates that the target point cloud frame turns on the inter-frame prediction skip mode; The second identification information indicates that the target point cloud frame turns on the inter-frame prediction skip mode, and the size of the node to be encoded belongs to a preset range. The inter-frame prediction skip mode refers to a mode in which the point cloud information corresponding to the point cloud frame is not encoded.

14. The device according to claim 13, characterized in that The generating module is used for generating the target bitstream according to the first identification information and the second identification information; Alternatively, the target code stream is generated according to the first identification information, the second identification information and the preset range.

15. The device according to claim 13 or 14, characterized in that The second acquisition submodule is used to obtain the size of the to-be-encoded node in the target level of the tree data structure when the third identification information indicates that the point cloud frame sequence turns on the inter-frame prediction skip mode, and the point cloud frame sequence includes the target point cloud frame.

16. The device according to claim 15, characterized in that The generating module is used to generate the target code stream according to the first identification information, the second identification information and the third identification information, or to generate the target code stream according to the first identification information, the second identification information, the third identification information and the preset range.

17. The device according to any one of claims 12 to 16, characterized in that Also includes: A first acquisition module, used to acquire a distortion rate of the first point cloud block relative to the second point cloud block or the second point cloud block after motion compensation; The second acquisition module is used to obtain the similarity between the first point cloud block and the second point cloud block or the second point cloud block after motion compensation according to the distortion rate.

18. The device according to any one of claims 12 to 17, characterized in that Also includes: A determination module, configured to perform motion estimation on the first point cloud block, determine a second point cloud block matching the first point cloud block in the reference point cloud frame, and determine a motion vector of the first point cloud block relative to the second point cloud block, when the size of the node to be encoded in the target level of the tree data structure corresponding to the target point cloud frame is the same as the size of the node to be encoded corresponding to the maximum prediction unit LPU, and the reference point cloud frame satisfies a local motion estimation start condition; The third acquisition module is used to perform motion compensation on the second point cloud block according to the motion vector to obtain a second point cloud block after motion compensation.

19. A decoding device, characterized in that: include: A fourth acquisition module, used for decoding the target code stream to obtain the first identification information; A second copying module is used to copy the point cloud information of the second point cloud block of the reference point cloud frame or the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block of the target point cloud frame when the first identification information indicates that the encoding end copies the point cloud information of the second point cloud block or the second point cloud block after motion compensation to the reconstructed point cloud of the first point cloud block, and the point cloud information includes at least one of the geometric coding information and attribute coding information of the point cloud corresponding to the second point cloud block.

20. The device according to claim 19, characterized in that The fourth acquisition module includes: A third acquisition submodule is used to decode the first code stream in the target code stream to obtain the second identification information; A fourth acquisition submodule is used to acquire the size of the to-be-encoded node in the target level of the tree data structure corresponding to the target point cloud frame; The fifth acquisition submodule is used to decode the second code stream in the target code stream to obtain the first identification information when the second identification information indicates that the target point cloud frame turns on the inter-frame prediction skip mode and the size of the node to be encoded is within a preset range, wherein the inter-frame prediction skip mode refers to a mode in which the point cloud information corresponding to the point cloud frame is not encoded.

21. The device according to claim 20, characterized in that The first code stream also includes third identification information; The fourth acquisition submodule is used to obtain the size of the to-be-encoded node in the target level of the tree data structure when the third identification information indicates that the point cloud frame sequence turns on the inter-frame prediction skip mode, and the point cloud frame sequence includes the target point cloud frame.

22. The device according to claim 19, characterized in that Also includes: A fifth acquisition module, configured to acquire, according to the target bitstream, a second point cloud block matching the first point cloud block in the reference point cloud frame and acquiring a motion vector of the first point cloud block relative to the second point cloud block, when the size of the node to be encoded in the target level is the same as the size of the node corresponding to the maximum prediction unit LPU and the reference point cloud frame meets the local motion estimation enabling condition; The sixth acquisition module is used to perform motion compensation on the second point cloud block according to the motion vector to obtain a second point cloud block after motion compensation.

23. An electronic device, characterized in that: The method comprises a processor and a memory, wherein the memory stores a program or instruction that can be run on the processor, and when the program or instruction is executed by the processor, the steps of the method according to any one of claims 1 to 7 are implemented, or the steps of the method according to any one of claims 8 to 11 are implemented.

24. A readable storage medium, characterized in that: The readable storage medium stores a program or an instruction, and when the program or the instruction is executed by the processor, the steps of the method according to any one of claims 1 to 7 are implemented, or the steps of the method according to any one of claims 8 to 11 are implemented.

25. A chip, characterized in that: The chip includes a processor and a communication interface, the communication interface is coupled to the processor, and the processor is used to run a program or instruction to implement the steps of the method described in any one of claims 1 to 7, or to implement the steps of the method described in any one of claims 8 to 11.

Citation Information

Patent Citations

  • Point cloud compression

    CN111133476A

  • Patch data unit coding and decoding for point-cloud data

    CN113906757A

  • Point cloud coding processing method, point cloud decoding processing method and related equipment

    CN115474052A

  • Point cloud coding method, point cloud decoding method and point cloud coding device

    CN115474059A