WO2022258009A1 - 熵编码、解码方法及装置 - Google Patents

熵编码、解码方法及装置 Download PDF

Info

Publication number
WO2022258009A1
WO2022258009A1 PCT/CN2022/097852 CN2022097852W WO2022258009A1 WO 2022258009 A1 WO2022258009 A1 WO 2022258009A1 CN 2022097852 W CN2022097852 W CN 2022097852W WO 2022258009 A1 WO2022258009 A1 WO 2022258009A1
Authority
WO
WIPO (PCT)
Prior art keywords
point cloud
target point
information
context model
placeholder
Prior art date
Application number
PCT/CN2022/097852
Other languages
English (en)
French (fr)
Inventor
张伟
田腾亚
吕卓逸
杨付正
Original Assignee
维沃移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 维沃移动通信有限公司 filed Critical 维沃移动通信有限公司
Priority to EP22819606.9A priority Critical patent/EP4354864A4/en
Priority to KR1020237039690A priority patent/KR20230173695A/ko
Priority to JP2023573273A priority patent/JP2024521832A/ja
Publication of WO2022258009A1 publication Critical patent/WO2022258009A1/zh
Priority to US18/526,280 priority patent/US20240104784A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present application belongs to the field of image processing, and in particular relates to an entropy coding and decoding method and device.
  • PCM Point cloud Reference Software Model
  • the cat1B sequence in the official test sequence of the Audio Video coding Standard (AVS) point cloud group has the characteristics of a large number of points and a large storage space, but the spatial volume represented by its geometric information is correspondingly large. Therefore, it is not necessarily accurate to regard the entire point cloud as a "dense" point cloud, and it is not necessarily accurate to choose the context model two accordingly to obtain the best performance.
  • AVS Audio Video coding Standard
  • each code rate point of different slices (slices) of the same sequence is configured as the same context model, and the best performance cannot be obtained.
  • the embodiments of the present application provide an entropy encoding and decoding method and device, which can solve the problem that the selection method of the context model of the point cloud in the existing entropy encoding process cannot guarantee the best encoding performance.
  • an entropy coding method including:
  • the entropy coding device obtains the density degree information of the target point cloud to be coded
  • the degree of density information determine the type of the placeholder code context model used when the target point cloud is entropy encoded
  • the entropy coding of the target point cloud is performed.
  • an entropy decoding method including:
  • the entropy decoding device acquires the type of placeholder code context model used when performing entropy decoding on the target point cloud to be decoded, wherein the type of placeholder code context model used when performing entropy decoding on the target point cloud is determined by the target The density information of the point cloud is determined;
  • entropy decoding of the target point cloud is performed.
  • an entropy encoding device including:
  • the first acquisition module is used to acquire the density degree information of the target point cloud to be encoded
  • a first determination module configured to determine the type of placeholder code context model used when performing entropy encoding on the target point cloud according to the density degree information
  • An encoding module configured to perform entropy encoding of the target point cloud according to the type of the placeholder code context model.
  • an entropy decoding device including:
  • the second acquisition module is used to acquire the type of the placeholder context model used when entropy decoding the target point cloud to be decoded, wherein, the type of the placeholder context model used when the target point cloud performs entropy decoding Determined by the density degree information of the target point cloud;
  • a decoding module configured to perform entropy decoding of the target point cloud according to the type of the placeholder code context model.
  • an entropy encoding device including a processor, a memory, and a program or instruction stored in the memory and operable on the processor, when the program or instruction is executed by the processor.
  • an entropy coding device including a processor and a communication interface, wherein the processor is used to obtain the density degree information of the target point cloud to be coded;
  • the entropy coding of the target point cloud is performed.
  • an entropy decoding device including a processor, a memory, and a program or instruction stored in the memory and operable on the processor, when the program or instruction is executed by the processor. The steps of the method described in the second aspect are implemented.
  • an entropy decoding device including a processor and a communication interface, wherein the processor is used to obtain the type of placeholder code context model used when performing entropy decoding on the target point cloud to be decoded, wherein, The type of the placeholder code context model used when the target point cloud performs entropy decoding is determined by the density information of the target point cloud;
  • entropy decoding of the target point cloud is performed.
  • a readable storage medium is provided, and programs or instructions are stored on the readable storage medium, and when the programs or instructions are executed by a processor, the steps of the method described in the first aspect are realized, or the steps of the method described in the first aspect are realized, or The steps of the method described in the second aspect.
  • a chip in a tenth aspect, includes a processor and a communication interface, the communication interface is coupled to the processor, and the processor is used to run programs or instructions, so as to implement the first aspect or the second aspect The steps of the method.
  • a computer program/program product is provided, the computer program/program product is stored in a non-volatile storage medium, and the program/program product is executed by at least one processor to implement the first A step of the method described in the aspect or the second aspect.
  • a communication device configured to perform the steps of the method described in the first aspect, or to perform the steps of the method described in the second aspect.
  • the type of the placeholder code context model used when the target point cloud is entropy encoded is determined, so that the placeholder code context model can be reasonably selected , to ensure the best coding performance.
  • Figure 1 is a frame diagram of the AVS codec
  • FIG. 2 is a schematic flow diagram of an entropy encoding method according to an embodiment of the present application
  • Fig. 3 is a schematic diagram of spatial positions and coordinate systems of eight child nodes relative to the current node
  • Fig. 4 is a schematic diagram of the same layer reference neighbor nodes of each child node
  • Fig. 5 is a schematic diagram of four groups of reference neighbor nodes of the current node
  • Fig. 6 is the parent node layer (current node layer) reference neighbor node schematic diagram of each child node;
  • Fig. 7 is a schematic diagram of coplanar neighbors on the same layer of each child node
  • FIG. 8 is a block diagram of an entropy encoding device according to an embodiment of the present application.
  • FIG. 9 is a structural block diagram of an entropy encoding device according to an embodiment of the present application.
  • FIG. 10 is a schematic flowchart of an entropy decoding method according to an embodiment of the present application.
  • FIG. 11 is a block diagram of an entropy decoding device according to an embodiment of the present application.
  • FIG. 12 is a structural block diagram of a codec device according to an embodiment of the present application.
  • first, second and the like in the specification and claims of the present application are used to distinguish similar objects, and are not used to describe a specific sequence or sequence. It is to be understood that the terms so used are interchangeable under appropriate circumstances such that the embodiments of the application are capable of operation in sequences other than those illustrated or described herein and that "first" and “second” distinguish objects. It is usually one category, and the number of objects is not limited. For example, there may be one or more first objects.
  • “and/or” in the description and claims means at least one of the connected objects, and the character “/” generally means that the related objects are an "or” relationship.
  • Both the encoder corresponding to the entropy encoding method and the decoder corresponding to the entropy decoding method in the embodiments of the present application can be terminals, the terminal can also be called terminal equipment or user equipment (User Equipment, UE), and the terminal can be a mobile phone, a tablet Tablet Personal Computer, Laptop Computer or Notebook Computer, Personal Digital Assistant (PDA), PDA, Netbook, Ultra-mobile personal computer (UMPC) , mobile Internet device (Mobile Internet Device, MID), augmented reality (augmented reality, AR) / virtual reality (virtual reality, VR) equipment, robot, wearable device (Wearable Device) or vehicle-mounted equipment (VUE), pedestrian terminal (PUE) and other terminal-side devices, and wearable devices include: smart watches, bracelets, earphones, glasses, etc. It should be noted that, the embodiment of the present application does not limit the specific type of the terminal.
  • Figure 1 is a frame diagram of the standard codec for digital audio and video codec technology.
  • the geometric information of the point cloud and the attribute information corresponding to each point are encoded separately.
  • coordinate transformation is performed on the geometric information so that all point clouds are contained in a bounding box.
  • quantize This step of quantization mainly plays the role of scaling. Due to the rounding of quantization, the geometric information of some points is the same. It is determined whether to remove duplicate points according to the parameters.
  • the process of quantization and removal of duplicate points belongs to preprocessing. process.
  • divide the bounding box (octree/quadtree/binary tree) according to the order of breadth-first traversal, and encode the placeholder code of each node.
  • the bounding box is divided in turn to obtain sub-cubes, and the sub-cubes that are not empty (including points in the point cloud) continue to be divided until the leaf nodes obtained by division are 1 ⁇ 1 ⁇ 1 unit cube, stop dividing, and then encode the points contained in the leaf nodes, and finally complete the encoding of the geometric octree to generate a binary code stream.
  • the decoding end obtains the placeholder code of each node through continuous parsing in the order of breadth-first traversal, and divides the nodes in turn until the unit cube of 1 ⁇ 1 ⁇ 1 is obtained. Stop the division, analyze and get the number of points contained in each leaf node, and finally restore the geometrically reconstructed point cloud information.
  • attribute coding is mainly carried out for color and reflectance information. First judge whether to perform color space conversion. If color space conversion is performed, the color information is converted from the Red Green Blue (RGB) color space to the YUV (Y is the brightness component, and UV is the chroma component) color space. Then, the reconstructed point cloud is recolored with the original point cloud, so that the unencoded attribute information corresponds to the reconstructed geometric information. It is divided into two modules in color information coding: attribute prediction and attribute transformation. The attribute prediction process is as follows: first the point cloud is re-ranked and then differentially predicted.
  • RGB Red Green Blue
  • YUV the brightness component
  • UV the chroma component
  • the attribute transformation process is as follows: firstly, wavelet transform is performed on the point cloud attributes, and the transformation coefficients are quantized; secondly, the attribute reconstruction value is obtained through inverse quantization and inverse wavelet transformation; then, the difference between the original attribute and the attribute reconstruction value is calculated to obtain the attribute residual and its Quantization; finally, entropy coding is performed on the quantized transform coefficients and attribute residuals to generate a binary code stream.
  • the geometry encoding and geometry decoding part involved in this application more precisely, this application is an improvement on the entropy encoding and entropy decoding of the geometry encoding and geometry decoding part.
  • the embodiment of the present application provides an entropy coding method, including:
  • Step 201 the entropy coding device obtains the density degree information of the target point cloud to be coded
  • the target point cloud mentioned in this application refers to the point cloud sequence or the point cloud slice in the point cloud sequence; further, the point cloud sequence refers to the point cloud sequence to be coded after preprocessing
  • the point cloud sequence, the preprocessing mentioned here refers to one or more of coordinate translation, coordinate quantization and removal of duplicate points.
  • Step 202 determine the type of placeholder code context model used when performing entropy encoding on the target point cloud;
  • Step 203 perform entropy coding of the target point cloud according to the type of the placeholder code context model.
  • the entropy encoding of the target point cloud refers to performing entropy encoding on the geometric information of the target point cloud.
  • the placeholder context can be reasonably performed.
  • the selection of the model ensures the best coding performance.
  • step 201 a possible implementation of the above step 201 is:
  • the size information of the bounding box usually refers to the information of the length, width and height of the bounding box, that is, the size of the three dimensions of X, Y, and Z, through which the volume of the bounding box can be determined, and the bounding box
  • the volume of a box is equal to the product of length, width, and height.
  • Step 2012 according to the size information and the point number information, determine the density degree information of the target point cloud
  • This step is mainly to determine the occupied volume of a single point through the volume of the bounding box and the number of points contained in the bounding box, and then use the occupied volume of a single point to determine the density program of the point cloud.
  • the specific implementation method can be :
  • the first volume is the average occupied volume of each point pair bounding box in the target point cloud
  • the density degree information of the target point cloud is determined.
  • a possible implementation manner of using the average occupied volume of each point pair bounding box to determine the density degree information includes at least one of the following:
  • variable S can be introduced to represent the comparison result between the first volume and the preset threshold, and the value of S is as follows:
  • S is the degree of density information
  • p is the first volume
  • p V/N
  • V is the volume of the bounding box corresponding to the target point cloud
  • N is the number of points contained in the target point cloud
  • Th is the preset threshold .
  • S the value of S in this application is just an example.
  • 1 indicates a dense point cloud
  • the specific value of S is not limited in this application.
  • the preset threshold can be determined in the following manner:
  • the preset threshold is determined by the user, that is, the entropy encoding device determines the preset threshold according to the user's input.
  • the entropy encoding device may determine the preset threshold in the following manner:
  • a preset threshold set by the user is stored in the entropy encoding device, and the preset threshold is directly used when performing entropy encoding.
  • Multiple thresholds are set in the entropy encoding device to form a threshold list, and the user can set the threshold used for entropy encoding this time.
  • the entropy coding device needs to inform the entropy decoding device of the preset threshold used for entropy coding, and the entropy decoding device performs entropy decoding according to the same preset threshold.
  • One possible implementation method is:
  • the first information is the preset threshold or identification information corresponding to the preset threshold.
  • the entropy encoding device needs to encode the preset threshold; when the entropy encoding device adopts the B111 method, usually the first information refers to the preset threshold; when the entropy encoding device When using the B112 method, usually the first information refers to the identification information corresponding to the preset threshold, for example, the identification information is the number or index of the preset threshold in the threshold list, correspondingly, the entropy decoding device side also The same threshold list is provided, and when the entropy decoding device receives the identification information, it can know which threshold corresponds to it.
  • the preset threshold is agreed to be known by both the entropy encoding device and the entropy decoding device, and in this case, the entropy encoding device does not need to encode the preset threshold.
  • step 202 includes at least one of the following:
  • the type of the placeholder context model used when performing entropy encoding on the target point cloud is the placeholder context model two.
  • the neighbor information that can be obtained when encoding the child node of the current point includes the neighbor child nodes in the left, front and bottom three directions, including: 3 coplanar with the child node to be encoded at the current point neighbor child nodes, 3 collinear neighbor child nodes, and 1 co-point neighbor child nodes.
  • the placeholder code context model of the sub-node layer is designed as follows: For the sub-node layer to be encoded, find 3 coplanar, 3 co-linear, 1 co-point nodes and node side lengths in the same layer as the sub-node to be encoded. In the shortest dimension, the occupancy of nodes that are two node sides away from the current child node to be encoded in the negative direction. Taking the node with the shortest side length on the X dimension as an example, the reference nodes selected by each child node are shown in Figure 4. Among them, the node in the dotted line frame is the current node, the node pointed by the arrow is the current child node to be coded, and the solid line frame node is the reference node selected by each child node.
  • 3 coplanar, 3 collinear nodes, and the occupancy of nodes that are two node side lengths away from the current child node to be encoded in the negative direction on the dimension with the shortest side length of the node are considered in detail.
  • the set of contexts is configured using two layers of context reference relationships.
  • the first layer is the occupancy of neighbor nodes that are coplanar and collinear with the current node in the current node layer; the second layer is the occupancy of neighbor nodes that are coplanar with the child nodes to be encoded in the subnode layer to be encoded.
  • each child node to be encoded three coplanar neighbor nodes on the left, front, and bottom (the negative direction of each coordinate axis) of the same layer are found as reference nodes, as shown in Figure 7 below.
  • the dotted border node is the current node
  • the node pointed by the arrow is the sub-node to be coded
  • the solid-line border node is the coplanar neighbor of each sub-node on the same layer.
  • There are 2 3 8 cases in total for the three coplanar neighbor nodes on the same layer as the child node to be coded, and one context is allocated for each case, so the current node provides a total of 8 contexts.
  • the entropy coding device may directly perform the obtained density information of the target point cloud or the type of placeholder code context model used when entropy coding the target point cloud. Encoding, inform the entropy decoding device that the entropy decoding device can directly use the information notified by the entropy coding device to decode, which can speed up the decoding rate.
  • the specific implementation method is:
  • the second information includes: density information of the target point cloud or a type of placeholder code context model used when performing entropy encoding on the target point cloud.
  • this application proposes a way to adaptively select the placeholder code context model of the current point cloud slice or point cloud sequence by considering the density of the point cloud slice or point cloud sequence in the point cloud. Considering the density Based on the volume size and the number of points contained in the point cloud slice or point cloud sequence; both the volume size and the number of points contained can be obtained from the geometric header information; when the ratio of the point cloud volume size to the number of points contained is greater than a certain threshold When , it is judged as a "sparse" point cloud, and the context model 1 is selected for entropy encoding; when the ratio of the point cloud volume and the number of points contained is less than a certain threshold, it is judged as a "dense" point cloud, and the selection
  • the second context model performs entropy encoding; in this way, the point cloud sequence or each point cloud slice in the point cloud sequence can select an appropriate occupancy code context model for entropy encoding under various conditions, thereby improving performance.
  • Experimental results show that the encoding performance
  • the degree of distortion of the point cloud the higher the degree of distortion, the worse the objective quality of point cloud reconstruction
  • the other is the size of the compressed bit stream.
  • the size of the bit stream can be measured by the number of bits output after encoding, and for the evaluation of the degree of distortion of the point cloud, PCRM provides two corresponding distortion evaluation algorithms.
  • the rate-distortion (RD) curve is usually used to compare the performance difference of the two algorithms.
  • the ideal goal of point cloud compression is that the code stream becomes smaller and the peak signal-to-noise ratio (PSNR), which measures the objective quality, becomes larger.
  • PSNR peak signal-to-noise ratio
  • This situation rarely occurs.
  • the general situation is that the code rate becomes lower compared to the original method, but the quality of PSNR, that is, the point cloud, decreases, or the PSNR becomes higher, but the code rate increases.
  • an indicator that comprehensively considers the code stream and PSNR is needed.
  • the AVS point cloud team uses BD-Rate to comprehensively evaluate the bit rate and objective quality of the point cloud compression algorithm, and refines it into two aspects of geometry and attributes: BD-GeomRate and BD-AttrRate.
  • BD-Rate When the value of BD-Rate is negative, it means that the performance of the new method is improved compared with the original method; while the value of BD-Rate is positive, it means that the performance of the new method is lower than that of the original method.
  • the error is the mean square error or the Hausdorff (Hausdorff) distance
  • the corresponding BD-Rate also has two results. The mean square error calculation is recorded as D1, and the hausdorff is used. Calculated as D1-H.
  • the entropy coding method provided in the embodiment of the present application may be executed by an entropy coding device, or a control module in the entropy coding device for executing the entropy coding method.
  • the entropy coding device performing the entropy coding method is taken as an example to describe the entropy coding device provided in the embodiment of the present application.
  • an embodiment of the present application provides an entropy encoding device 800, including:
  • the first acquisition module 801 is used to acquire the density degree information of the target point cloud to be encoded
  • the first determination module 802 is configured to determine the type of placeholder code context model used when performing entropy encoding on the target point cloud according to the density degree information;
  • the encoding module 803 is configured to perform entropy encoding of the target point cloud according to the type of the placeholder context model.
  • the first acquiring module 801 includes:
  • a first acquisition unit configured to acquire size information of a bounding box corresponding to the target point cloud and point number information contained in the target point cloud;
  • the first determining unit is configured to determine density information of the target point cloud according to the size information and the point number information.
  • the first determination unit includes:
  • the first determining subunit is configured to determine a first volume according to the size information and the point number information, where the first volume is an average occupied volume of each point pair bounding box in the target point cloud;
  • the second determination subunit is configured to determine the density degree information of the target point cloud according to the relationship between the first volume and a preset threshold.
  • the second determining subunit is configured to implement at least one of the following:
  • the first volume is greater than the preset threshold, then determine that the density degree information of the target point cloud is a sparse point cloud;
  • the density degree information of the target point cloud is a dense point cloud.
  • the preset threshold is determined by the entropy encoding device or stipulated in a protocol.
  • the second determination subunit determines the sparseness of the target point cloud according to the relationship between the first volume and the preset threshold.
  • the level of confidentiality information also include:
  • a first encoding module configured to encode the first information into the geometric header information of the target point cloud
  • the first information is the preset threshold or identification information corresponding to the preset threshold.
  • the first determining module 802 is configured to implement at least one of the following:
  • the type of the placeholder code context model used when performing entropy encoding on the target point cloud is the placeholder code context model one;
  • the type of the placeholder context model used when performing entropy encoding on the target point cloud is the placeholder context model two.
  • the first determination module 802 determines the type of the placeholder code context model used when performing entropy encoding on the target point cloud according to the density degree information, it further includes:
  • a second encoding module configured to encode the second information into the geometric header information of the target point cloud
  • the second information includes: density information of the target point cloud or a type of placeholder code context model used when performing entropy encoding on the target point cloud.
  • the target point cloud is a point cloud sequence or a point cloud slice in the point cloud sequence.
  • the entropy encoding device in the embodiment of the present application may be a device, a device with an operating system or an electronic device, or a component, an integrated circuit, or a chip in a terminal.
  • the apparatus or electronic equipment may be a mobile terminal or a non-mobile terminal.
  • the mobile terminal may include, but not limited to, a mobile phone, a tablet computer (Tablet Personal Computer), a laptop computer (Laptop Computer) or a notebook computer, a personal digital assistant (Personal Digital Assistant, PDA), a palmtop computer, a netbook , ultra-mobile personal computer (UMPC), mobile Internet device (Mobile Internet Device, MID), wearable device (Wearable Device) or vehicle-mounted equipment (VUE), pedestrian terminal (PUE) and other terminal-side equipment , wearable devices include: smart watches, bracelets, earphones, glasses, etc., non-mobile terminals can be servers, network attached storage (Network Attached Storage, NAS), personal computers (personal computers, PCs), televisions (television, TV), teller machines or self-service machines, etc., are not specifically limited in this embodiment of the present application.
  • Network Attached Storage Network Attached Storage
  • the entropy encoding device provided in the embodiment of the present application can realize each process realized by the method embodiment in FIG. 2 and achieve the same technical effect. To avoid repetition, details are not repeated here.
  • the embodiment of the present application also provides an entropy coding device, including a processor and a communication interface, and the processor is used to obtain the density degree information of the target point cloud to be coded;
  • the entropy coding of the target point cloud is performed.
  • FIG. 9 is a schematic diagram of a hardware structure of an entropy encoding device implementing an embodiment of the present application.
  • the entropy encoding device 900 includes, but is not limited to: a radio frequency unit 901, a network module 902, an audio output unit 903, an input unit 904, a sensor 905, a display unit 906, a user input unit 907, an interface unit 908, a memory 909, and a processor 910 etc. at least some of the components.
  • the entropy encoding device 900 may also include a power supply (such as a battery) for supplying power to each component, and the power supply may be logically connected to the processor 910 through the power management system, so that the management of charging, discharging, and functions such as power management.
  • a power supply such as a battery
  • the terminal structure shown in FIG. 9 does not constitute a limitation on the terminal, and the terminal may include more or fewer components than shown in the figure, or combine some components, or arrange different components, which will not be repeated here.
  • the input unit 904 may include a graphics processor (Graphics Processing Unit, GPU) 9041 and a microphone 9042, and the graphics processor 9041 is used for the image capture device (such as the image data of the still picture or video obtained by the camera) for processing.
  • the display unit 906 may include a display panel 9061, and the display panel 9061 may be configured in the form of a liquid crystal display, an organic light emitting diode, or the like.
  • the user input unit 907 includes a touch panel 9071 and other input devices 9072 .
  • the touch panel 9071 is also called a touch screen.
  • the touch panel 9071 may include two parts, a touch detection device and a touch controller.
  • Other input devices 9072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, switch buttons, etc.), trackballs, mice, and joysticks, which will not be repeated here.
  • the radio frequency unit 901 receives the downlink data from the network side device, and processes it to the processor 910; in addition, sends the uplink data to the network side device.
  • the radio frequency unit 901 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, and the like.
  • the memory 909 can be used to store software programs or instructions as well as various data.
  • the memory 909 may mainly include a program or instruction storage area and a data storage area, wherein the program or instruction storage area may store an operating system, an application program or instructions required by at least one function (such as a sound playback function, an image playback function, etc.) and the like.
  • the memory 909 may include a high-speed random access memory, and may also include a nonvolatile memory, wherein the nonvolatile memory may be a read-only memory (Read-Only Memory, ROM), a programmable read-only memory (Programmable ROM) , PROM), erasable programmable read-only memory (Erasable PROM, EPROM), electrically erasable programmable read-only memory (Electrically EPROM, EEPROM) or flash memory.
  • ROM Read-Only Memory
  • PROM programmable read-only memory
  • PROM erasable programmable read-only memory
  • Erasable PROM Erasable PROM
  • EPROM electrically erasable programmable read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • flash memory for example at least one magnetic disk storage device, flash memory device, or other non-volatile solid-state storage device.
  • the processor 910 may include one or more processing units; optionally, the processor 910 may integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface, application programs or instructions, etc., Modem processors mainly handle wireless communications, such as baseband processors. It can be understood that the foregoing modem processor may not be integrated into the processor 910 .
  • processor 910 is used to implement:
  • the entropy coding of the target point cloud is performed.
  • the terminal in the embodiment of the present application determines the type of placeholder code context model used when the target point cloud is entropy encoded by using the density degree information of the target point cloud, so as to reasonably select the placeholder code context model, Ensuring optimal encoding performance.
  • processor 910 is also configured to implement:
  • the density degree information of the target point cloud is determined.
  • processor 910 is also configured to implement:
  • the first volume is the average occupied volume of each point pair bounding box in the target point cloud
  • processor 910 is also configured to implement at least one of the following:
  • the first volume is greater than the preset threshold, then determine that the density degree information of the target point cloud is a sparse point cloud;
  • the density degree information of the target point cloud is a dense point cloud.
  • the preset threshold is determined by the entropy encoding device or stipulated in a protocol.
  • processor 910 is also configured to implement:
  • the first information is the preset threshold or identification information corresponding to the preset threshold.
  • processor 910 is also configured to implement at least one of the following:
  • the type of the placeholder code context model used when performing entropy encoding on the target point cloud is the placeholder code context model one;
  • the type of the placeholder context model used when performing entropy encoding on the target point cloud is the placeholder context model two.
  • processor 910 is also configured to implement:
  • the second information includes: density information of the target point cloud or a type of placeholder code context model used when performing entropy encoding on the target point cloud.
  • the target point cloud is a point cloud sequence or a point cloud slice in the point cloud sequence.
  • the embodiment of the present application also provides an entropy encoding device, including a processor, a memory, a program or instruction stored in the memory and operable on the processor, and the program or instruction realizes entropy when executed by the processor.
  • an entropy encoding device including a processor, a memory, a program or instruction stored in the memory and operable on the processor, and the program or instruction realizes entropy when executed by the processor.
  • the embodiment of the present application also provides a readable storage medium, on which a program or instruction is stored, and when the program or instruction is executed by a processor, each process of the entropy encoding method embodiment is realized, and the same technical effect can be achieved , to avoid repetition, it will not be repeated here.
  • the computer-readable storage medium is, for example, a read-only memory (Read-Only Memory, ROM), a random access memory (Random Access Memory, RAM), a magnetic disk or an optical disk, and the like.
  • the embodiment of the present application also provides an entropy decoding method, including:
  • Step 1001 the entropy decoding device acquires the type of placeholder code context model used when performing entropy decoding on the target point cloud to be decoded;
  • the type of the placeholder code context model used when the target point cloud performs entropy decoding is determined by the density degree information of the target point cloud.
  • the target point cloud mentioned in this application refers to the point cloud sequence or the point cloud slice in the point cloud sequence; further, the point cloud sequence refers to the point cloud sequence to be coded after preprocessing
  • the point cloud sequence, the preprocessing mentioned here refers to one or more of coordinate translation, coordinate quantization and removal of duplicate points.
  • Step 1002 perform entropy decoding of the target point cloud according to the type of the placeholder code context model.
  • the entropy decoding of the target point cloud refers to performing entropy decoding on the geometric information of the target point cloud.
  • the placeholder context can be reasonably determined. The selection of the model ensures the best decoding performance.
  • step 1001 is:
  • Step 10011 obtaining geometric title information of the target point cloud
  • Step 10012 according to the second information in the geometric slice header information, determine the type of placeholder code context model used when performing entropy decoding on the target point cloud;
  • the second information includes: density information of the target point cloud or a type of placeholder code context model used when performing entropy encoding on the target point cloud.
  • the entropy decoding device does not need to perform separate encoding of the placeholder context model.
  • the type of calculation can directly determine that the type of the placeholder code context model used when the target point cloud performs entropy decoding is the same as the type of the placeholder code context model used when the target point cloud performs entropy encoding, so that The efficiency of decoding can be improved; if the geometric header information includes the density degree information of the target point cloud, the entropy decoding device can directly use the density degree information of the target point cloud to determine the target point cloud used when performing entropy decoding.
  • the type of placeholder code context model does not need to calculate the density information of the target point cloud separately, which can also improve the decoding efficiency.
  • an implementation method that can be used to determine the type of the placeholder code context model used when the target point cloud performs entropy decoding includes at least the following one item:
  • the type of the placeholder context model used when performing entropy decoding on the target point cloud is the placeholder context model two.
  • step 1001 Another possible implementation of step 1001 is:
  • Step 10013 obtaining the density degree information of the target point cloud
  • Step 10014 according to the density information of the target point cloud, determine the type of placeholder code context model used when performing entropy decoding on the target point cloud.
  • step 10013 a possible implementation of the above step 10013 is:
  • Step 100131 obtaining the size information of the bounding box corresponding to the target point cloud and the number of points contained in the target point cloud;
  • the size information of the bounding box usually refers to the information of the length, width and height of the bounding box, that is, the size of the three dimensions of X, Y, and Z, through which the volume of the bounding box can be determined, and the bounding box
  • the volume of a box is equal to the product of length, width, and height.
  • Step 100132 according to the size information and the point number information, determine the density degree information of the target point cloud
  • This step is mainly to determine the occupied volume of a single point through the volume of the bounding box and the number of points contained in the bounding box, and then use the occupied volume of a single point to determine the density program of the point cloud.
  • the specific implementation method can be :
  • the first volume is the average occupied volume of each point pair bounding box in the target point cloud
  • the density degree information of the target point cloud is determined.
  • a possible implementation manner of using the average occupied volume of each point pair bounding box to determine the density degree information includes at least one of the following:
  • variable S can be introduced to represent the comparison result between the first volume and the preset threshold, and the value of S is as follows:
  • S is the degree of density information
  • p is the first volume
  • p V/N
  • V is the volume of the bounding box corresponding to the target point cloud
  • N is the number of points contained in the target point cloud
  • Th is the preset threshold .
  • specific value of S is not limited in this application.
  • an implementation method that can be used to determine the type of the placeholder code context model used when the target point cloud performs entropy decoding includes at least the following one item:
  • the method before determining the density information of the target point cloud according to the relationship between the first volume and the preset threshold, the method further includes:
  • the preset threshold is determined by the entropy decoding device or stipulated in a protocol.
  • the preset threshold is determined by the entropy decoding device
  • the preset threshold is determined by the user, that is, the entropy encoding device determines the preset threshold according to the user's input.
  • the preset threshold is stipulated by the agreement
  • the preset threshold is agreed to be known by both the entropy encoding device and the entropy decoding device. In this case, the entropy encoding device does not need to encode the preset threshold.
  • the acquiring the preset threshold includes:
  • the first information is the preset threshold or identification information corresponding to the preset threshold.
  • the entropy encoding device can determine the preset threshold in the following manner:
  • a preset threshold set by the user is stored in the entropy encoding device, and the preset threshold is directly used during entropy encoding.
  • Multiple thresholds are set in the entropy encoding device to form a threshold list, and the user can set the threshold used for entropy encoding this time.
  • the entropy coding device needs to inform the entropy decoding device of the preset threshold used for entropy coding, and the entropy decoding device performs entropy decoding according to the same preset threshold.
  • the first information refers to the preset threshold
  • the entropy encoding device adopts the B112 method usually the first information refers to the identification information corresponding to the preset threshold, for example, the identification information is the preset
  • the number or index of the threshold in the threshold list corresponds to the same threshold list on the entropy decoding device side.
  • the type of the placeholder code context model used when the target point cloud is entropy decoded is determined by using the density degree information of the target point cloud, so that the context model of the placeholder code can be reasonably determined. Select to ensure the best decoding performance.
  • the embodiment of the present application also provides an entropy decoding device 1100, including:
  • the second acquiring module 1101 is configured to acquire the type of the placeholder context model used when performing entropy decoding on the target point cloud to be decoded, wherein the type of the placeholder context model used when performing entropy decoding on the target point cloud The type is determined by the density information of the target point cloud;
  • the decoding module 1102 is configured to perform entropy decoding of the target point cloud according to the type of the placeholder code context model.
  • the second obtaining module 1101 includes:
  • a second acquisition unit configured to acquire geometric title information of the target point cloud
  • the second determination unit is configured to determine the type of placeholder context model used when performing entropy decoding on the target point cloud according to the second information in the geometric slice header information;
  • the second information includes: density information of the target point cloud or a type of placeholder code context model used when performing entropy encoding on the target point cloud.
  • the second information includes the type of placeholder context model used when the target point cloud is entropy encoded, and the second determination unit is configured to:
  • the type of the placeholder context model used when performing entropy decoding on the target point cloud is the same as the type of the placeholder context model used when performing entropy encoding on the target point cloud.
  • the second information includes density information of the target point cloud
  • the second determining unit is configured to:
  • the type of the placeholder code context model used when performing entropy decoding on the target point cloud is determined.
  • the second obtaining module 1101 includes:
  • a third acquisition unit configured to acquire the density degree information of the target point cloud
  • the third determining unit is configured to determine the type of placeholder code context model used when performing entropy decoding on the target point cloud according to the density degree information of the target point cloud.
  • the third acquisition unit includes:
  • a first acquiring subunit configured to acquire the size information of the bounding box corresponding to the target point cloud and the number of points contained in the target point cloud;
  • the second determination subunit is configured to determine the density degree information of the target point cloud according to the size information and the point number information.
  • the second determining subunit is configured to:
  • the first volume is the average occupied volume of each point pair bounding box in the target point cloud
  • the density degree information of the target point cloud is determined.
  • the implementation of determining the density information of the target point cloud according to the relationship between the first volume and a preset threshold includes at least one of the following:
  • the first volume is greater than the preset threshold, then determine that the density degree information of the target point cloud is a sparse point cloud;
  • the density degree information of the target point cloud is a dense point cloud.
  • the second determination subunit determines the density information of the target point cloud according to the relationship between the first volume and a preset threshold, it further includes:
  • a third acquiring module configured to acquire the preset threshold
  • the preset threshold is determined by the entropy decoding device or stipulated in a protocol.
  • the third obtaining module includes:
  • a fourth acquisition unit configured to acquire geometric title information of the target point cloud
  • a fifth acquiring unit configured to acquire the preset threshold according to the first information in the geometric slice header information
  • the first information is the preset threshold or identification information corresponding to the preset threshold.
  • the implementation of determining the type of placeholder context model used when performing entropy decoding on the target point cloud according to the density information of the target point cloud includes at least one of the following:
  • the type of the placeholder code context model used when performing entropy decoding on the target point cloud is the placeholder code context model one;
  • the type of the placeholder context model used when performing entropy decoding on the target point cloud is the placeholder context model two.
  • the target point cloud is a point cloud sequence or a point cloud slice in the point cloud sequence.
  • the type of the placeholder code context model used when the target point cloud is entropy decoded is determined by using the density degree information of the target point cloud, so that the context model of the placeholder code can be reasonably determined. Select to ensure the best decoding performance.
  • the embodiment of the present application also provides an entropy decoding device, including a processor, a memory, a program or instruction stored in the memory and operable on the processor, and the program or instruction realizes entropy when executed by the processor.
  • an entropy decoding device including a processor, a memory, a program or instruction stored in the memory and operable on the processor, and the program or instruction realizes entropy when executed by the processor.
  • the embodiment of the present application also provides a readable storage medium.
  • the computer-readable storage medium stores programs or instructions. When the program or instructions are executed by the processor, each process of the entropy decoding method embodiment is implemented, and the same technology can be achieved. Effect, in order to avoid repetition, will not repeat them here.
  • the computer-readable storage medium is, for example, a read-only memory (Read-Only Memory, ROM), a random access memory (Random Access Memory, RAM), a magnetic disk or an optical disk, and the like.
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • magnetic disk or an optical disk and the like.
  • the embodiment of the present application also provides an entropy decoding device, including a processor and a communication interface, the processor is used to obtain the type of placeholder code context model used when performing entropy decoding on the target point cloud to be decoded, wherein the target point
  • the type of the placeholder code context model used when the cloud performs entropy decoding is determined by the density information of the target point cloud; according to the type of the placeholder code context model, the entropy decoding of the target point cloud is performed.
  • the embodiment of the entropy decoding device corresponds to the above embodiment of the entropy decoding method, and each implementation process and implementation mode of the above method embodiment can be applied to the embodiment of the entropy decoding device, and can achieve the same technical effect.
  • the embodiment of the present application also provides an entropy decoding device.
  • the structure of the entropy decoding device is similar to the structure of the entropy coding device shown in FIG. 9 , which will not be repeated here.
  • processors are used to implement:
  • the type of placeholder code context model used when entropy decoding the target point cloud to be decoded is determined by the target point cloud Density information determination;
  • entropy decoding of the target point cloud is performed.
  • processor is also used to implement:
  • the second information includes: density information of the target point cloud or a type of placeholder code context model used when performing entropy encoding on the target point cloud.
  • processor is also used to implement:
  • the type of the placeholder context model used when performing entropy decoding on the target point cloud is the same as the type of the placeholder context model used when performing entropy encoding on the target point cloud.
  • processor is also used to implement:
  • the type of the placeholder code context model used when performing entropy decoding on the target point cloud is determined.
  • processor is also used to implement:
  • the type of the placeholder code context model used when performing entropy decoding on the target point cloud is determined.
  • processor is also used to implement:
  • the density degree information of the target point cloud is determined.
  • processor is also used to implement:
  • the first volume is the average occupied volume of each point pair bounding box in the target point cloud
  • the density degree information of the target point cloud is determined.
  • the processor is also configured to implement at least one of the following:
  • the first volume is greater than the preset threshold, then determine that the density degree information of the target point cloud is a sparse point cloud;
  • the density degree information of the target point cloud is a dense point cloud.
  • processor is also used to implement:
  • the preset threshold is determined by the entropy decoding device or stipulated in a protocol.
  • processor is also used to implement:
  • the first information is the preset threshold or identification information corresponding to the preset threshold.
  • the processor is also configured to implement at least one of the following:
  • the type of the placeholder code context model used when performing entropy decoding on the target point cloud is the placeholder code context model one;
  • the type of the placeholder context model used when performing entropy decoding on the target point cloud is the placeholder context model two.
  • the target point cloud is a point cloud sequence or a point cloud slice in the point cloud sequence.
  • the entropy encoding device and the entropy decoding device mentioned in the embodiments of the present application can be set in the same device, that is, the device can implement both the entropy encoding function and the entropy decoding function.
  • the embodiment of the present application also provides a codec device 1200, including a processor 1201, a memory 1202, and programs or instructions stored in the memory 1202 and operable on the processor 1201.
  • a codec device 1200 including a processor 1201, a memory 1202, and programs or instructions stored in the memory 1202 and operable on the processor 1201.
  • the communication device 1200 is an entropy encoding device
  • the program or instruction is executed by the processor 1201
  • each process of the above-mentioned entropy decoding method embodiment can be achieved, and the same technical effect can be achieved. To avoid repetition, details are not repeated here.
  • the embodiment of the present application further provides a chip, the chip includes a processor and a communication interface, the communication interface is coupled to the processor, and the processor is used to run programs or instructions to implement the above-mentioned entropy coding method or entropy decoding
  • the chip includes a processor and a communication interface
  • the communication interface is coupled to the processor
  • the processor is used to run programs or instructions to implement the above-mentioned entropy coding method or entropy decoding
  • Each process of the method embodiment can achieve the same technical effect, and will not be repeated here to avoid repetition.
  • chips mentioned in the embodiments of the present application may also be called system-on-chip, system-on-chip, system-on-a-chip, or system-on-a-chip.
  • the embodiment of the present application further provides a computer program product, the computer program product is stored in a non-transitory storage medium, and the computer program product is executed by at least one processor to implement the above entropy encoding method or entropy decoding method
  • the computer program product is executed by at least one processor to implement the above entropy encoding method or entropy decoding method
  • the embodiment of the present application also provides a communication device configured to execute the processes of the above-mentioned entropy encoding method or entropy decoding method embodiment, and can achieve the same technical effect. To avoid repetition, details are not repeated here.
  • the term “comprising”, “comprising” or any other variation thereof is intended to cover a non-exclusive inclusion such that a process, method, article or apparatus comprising a set of elements includes not only those elements, It also includes other elements not expressly listed, or elements inherent in the process, method, article, or device. Without further limitations, an element defined by the phrase “comprising a " does not preclude the presence of additional identical elements in the process, method, article, or apparatus comprising that element.
  • the scope of the methods and devices in the embodiments 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. Functions are performed, for example, the described methods may be performed in an order different from that described, and various steps may also be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.
  • the methods of the above embodiments can be implemented by means of software plus a necessary general-purpose hardware platform, and of course also by hardware, but in many cases the former is better implementation.
  • the technical solution of the present application can be embodied in the form of a software product in essence or the part that contributes to the prior art, and the computer software product is stored in a storage medium (such as ROM/RAM, disk, CD) contains several instructions to enable a terminal (which may be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in various embodiments of the present application.
  • a terminal which may be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请公开了一种熵编码、解码方法及装置,本申请实施例的熵编码方法包括:熵编码装置获取待编码的目标点云的疏密程度信息;根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型;根据所述占位码上下文模型的类型,进行所述目标点云的熵编码。

Description

熵编码、解码方法及装置
相关申请的交叉引用
本申请主张在2021年06月11日在中国提交的中国专利申请No.202110656066.6的优先权,其全部内容通过引用包含于此。
技术领域
本申请属于图像处理领域,特别涉及一种熵编码、解码方法及装置。
背景技术
云编码参考软件模型(Point cloud Reference Software Model,PCRM)V3中的两套上下文模型分别针对两种类别点云:较稀疏点云(cat1A、cat2frame)与较稠密点云(cat1B、cat3),其上下文模型的选择存在以下不足:
1、数字音视频编解码技术标准(Audio Video coding Standard,AVS)点云组官方测试序列中cat1B序列具有点数多、存储空间大的特征,但是其几何信息所代表的空间体积也相应较大,因此将整个点云其视为“稠密”点云并不一定准确,相应地选择上下文模型二也不一定会获得最佳性能。
2、AVS点云组现有的测试条件中,其几何有损条件下会在预处理过程中对点云几何坐标进行量化,这在一定程度上可以视为对点云进行不同程度的缩放。因此在几何有损条件下,稀疏点云(cat1A、cat2frame)在低码率点下并不“稀疏”。
而现有配置中,同一个序列的不同片(slice)的各码率点下都被配置为同一种上下文模型,不能获得最佳性能。
发明内容
本申请实施例提供一种熵编码、解码方法及装置,能够解决现有的熵编码过程中点云的上下文模型的选取方式,不能保证编码性能达到最佳的问题。
第一方面,提供了一种熵编码方法,包括:
熵编码装置获取待编码的目标点云的疏密程度信息;
根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位 码上下文模型的类型;
根据所述占位码上下文模型的类型,进行所述目标点云的熵编码。
第二方面,提供了一种熵解码方法,包括:
熵解码装置获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型,其中,所述目标点云进行熵解码时所使用的占位码上下文模型的类型由所述目标点云的疏密程度信息确定;
根据所述占位码上下文模型的类型,进行所述目标点云的熵解码。
第三方面,提供了一种熵编码装置,包括:
第一获取模块,用于获取待编码的目标点云的疏密程度信息;
第一确定模块,用于根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型;
编码模块,用于根据所述占位码上下文模型的类型,进行所述目标点云的熵编码。
第四方面,提供了一种熵解码装置,包括:
第二获取模块,用于获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型,其中,所述目标点云进行熵解码时所使用的占位码上下文模型的类型由所述目标点云的疏密程度信息确定;
解码模块,用于根据所述占位码上下文模型的类型,进行所述目标点云的熵解码。
第五方面,提供了一种熵编码装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
第六方面,提供了一种熵编码装置,包括处理器及通信接口,其中,所述处理器用于获取待编码的目标点云的疏密程度信息;
根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型;
根据所述占位码上下文模型的类型,进行所述目标点云的熵编码。
第七方面,提供了一种熵解码装置,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处 理器执行时实现如第二方面所述的方法的步骤。
第八方面,提供了一种熵解码装置,包括处理器及通信接口,其中,所述处理器用于获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型,其中,所述目标点云进行熵解码时所使用的占位码上下文模型的类型由所述目标点云的疏密程度信息确定;
根据所述占位码上下文模型的类型,进行所述目标点云的熵解码。
第九方面,提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤,或者实现如第二方面所述的方法的步骤。
第十方面,提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面或第二方面所述的方法的步骤。
第十一方面,提供了一种计算机程序/程序产品,所述计算机程序/程序产品被存储在非易失的存储介质中,所述程序/程序产品被至少一个处理器执行以实现如第一方面或第二方面所述的方法的步骤。
第十二方面,提供了一种通信设备,被配置为执行如第一方面所述的方法的步骤,或者执行如第二方面所述的方法的步骤。
在本申请实施例中,通过利用目标点云的疏密程度信息,确定目标点云进行熵编码时所使用的占位码上下文模型的类型,以此能够合理的进行占位码上下文模型的选取,保证编码性能达到最佳。
附图说明
图1是AVS编解码器框架图;
图2是本申请实施例的熵编码方法的流程示意图;
图3是八个子节点相对当前节点的空间位置及坐标系示意图;
图4是各子节点的同层参考邻居节点示意图;
图5是当前节点的4组参考邻居节点示意图;
图6是各子节点的父节点层(当前节点层)参考邻居节点示意图;
图7是各子节点的同层共面邻居示意图;
图8是本申请实施例的熵编码装置的模块示意图;
图9是本申请实施例的熵编码装置的结构框图;
图10是本申请实施例的熵解码方法的流程示意图;
图11是本申请实施例的熵解码装置的模块示意图;
图12是本申请实施例的编解码装置的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”所区别的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”一般表示前后关联对象是一种“或”的关系。
本申请实施例中的熵编码方法对应的编码器和熵解码方法对应的解码器均可以为终端,该终端也可以称作终端设备或者用户终端(User Equipment,UE),终端可以是手机、平板电脑(Tablet Personal Computer)、膝上型电脑(Laptop Computer)或称为笔记本电脑、个人数字助理(Personal Digital Assistant,PDA)、掌上电脑、上网本、超级移动个人计算机(ultra-mobile personal computer,UMPC)、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、机器人、可穿戴式设备(Wearable Device)或车载设备(VUE)、行人终端(PUE)等终端侧设备,可穿戴式设备包括:智能手表、手环、耳机、眼镜等。需要说明的是,在本申请实施例并不限定终端的具体类型。
为了方便理解,以下对本申请实施例涉及的一些内容进行说明。
图1为数字音视频编解码技术标准编解码器框架图,在点云AVS编码器框架中,点云的几何信息和每点所对应的属性信息是分开编码的。首先对几何信息进行坐标转换,使点云全都包含在一个包围盒(bounding box)中。然后再进行量化,这一步量化主要起到缩放的作用,由于量化取整,使得一部分点的几何信息相同,根据参数来决定是否移除重复点,量化和移除重复点这一过程属于预处理过程。接下来,按照广度优先遍历的顺序对bounding box进行划分(八叉树/四叉树/二叉树),对每个节点的占位码进行编码。在基于八叉树的几何码框架中,将包围盒依次划分得到子立方体,对非空的(包含点云中的点)的子立方体继续进行划分,直到划分得到的叶子结点为1×1×1的单位立方体时停止划分,其次对叶子节点中所包含的点数进行编码,最终完成几何八叉树的编码,生成二进制码流。在基于八叉树的几何解码过程中,解码端按照广度优先遍历的顺序,通过不断解析得到每个节点的占位码,并且依次不断划分节点,直至划分得到1×1×1的单位立方体时停止划分,解析得到每个叶子节点中包含的点数,最终恢复得到几何重构点云信息。
几何编码完成后,对几何信息进行重建。目前,属性编码主要针对颜色、反射率信息进行。首先判断是否进行颜色空间的转换,若进行颜色空间转换,则将颜色信息从红绿蓝(Red Green Blue,RGB)颜色空间转换到YUV(Y为亮度分量,UV为色度分量)颜色空间。然后,利用原始点云对重建点云进行重着色,使得未编码的属性信息与重建的几何信息对应起来。在颜色信息编码中分为两个模块:属性预测与属性变换。属性预测过程如下:首先对点云进行重排序,然后进行差分预测。其中重排序的方法有两种:莫顿重排序和希尔伯特(Hilbert)重排序。对于cat1A序列与cat2序列,对其进行Hilbert重排序;对于cat1B序列与cat3序列,对其进行莫顿重排序。对排序之后的点云使用差分方式进行属性预测,最后对预测残差进行量化并熵编码,生成二进制码流。属性变换过程如下:首先对点云属性做小波变换,对变换系数做量化;其次通过逆量化、逆小波变换得到属性重建值;然后计算原始属性和属性重建值的差得到属性残差并对其量化;最后将量化后的变换系数和属性残差进行熵编码,生成二进制码流。本申请涉及的几何编码与几何解码部分,更确切的说本申请是对几何编码与几何解码部分的熵编码与熵解码进行 的改进。
下面结合附图,通过一些实施例及其应用场景对本申请实施例提供的熵编码、解码方法及装置进行详细地说明。
如图2所示,本申请实施例提供一种熵编码方法,包括:
步骤201,熵编码装置获取待编码的目标点云的疏密程度信息;
需要说明的是,本申请所说的目标点云指的是点云序列或点云序列中的点云片;进一步地,该点云序列指的是指对待编码的点云序列进行预处理后的点云序列,这里所说的预处理指的是坐标平移、坐标量化以及去除重复点中的一项或多项。
步骤202,根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型;
步骤203,根据所述占位码上下文模型的类型,进行所述目标点云的熵编码。
需要说明的是,本申请实施例中所说的进行所述目标点云的熵编码指的是,对目标点云的几何信息进行熵编码。
需要说明的是,通过利用目标点云的疏密程度信息,确定目标点云进行熵编码时所使用的占位码上下文模型的类型,进而进行熵编码,以此能够合理的进行占位码上下文模型的选取,保证编码性能达到最佳。
可选地,上述步骤201的一种可以采用的实现方式为:
步骤2011,获取所述目标点云所对应的包围盒的尺寸信息以及所述目标点云中所包含的点数信息;
需要说明的是,该包围盒的尺寸信息通常指的是包围盒的长宽高的信息,即X、Y和Z三个维度的尺寸大小,通过该尺寸信息便能确定包围盒的体积,包围盒的体积等于长度、宽度和高度的乘积。
步骤2012,根据所述尺寸信息以及所述点数信息,确定所述目标点云的疏密程度信息;
此步骤主要是通过包围盒的体积以及包围盒中所包含的点的数量,就能确定单个点的占用体积,然后利用单个点的占用体积,确定点云的疏密程序,具体地实现方式可以:
根据所述尺寸信息以及所述点数信息,确定第一体积,所述第一体积为所述目标点云中每个点对包围盒的平均占用体积;
根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息。
进一步地,利用每个点对包围盒的平均占用体积确定疏密程度信息的一种可以采用的实现方式包括以下至少一项:
A11、若所述第一体积大于所述预设阈值,则确定所述目标点云的疏密程度信息为稀疏点云;
A12、若所述第一体积小于或等于所述预设阈值,则确定所述目标点云的疏密程度信息为稠密点云。
需要说明的是,本申请中可以通过引入变量S来表示第一体积与预设阈值的比对结果,S的取值如下:
Figure PCTCN2022097852-appb-000001
其中,S为疏密程度信息,p为第一体积,p=V/N,V为目标点云所对应的包围盒的体积,N为目标点云中所包含的点数,Th为预设阈值。
当S=1时,表示目标点云为稀疏点云,当S=0时,表示目标点云为稠密点云。
当然,本申请中的S的取值只是一种举例,上述是用S=1表示稀疏点云,S=0表示稠密点云,可选地,也可以用S=0表示稀疏点云,S=1表示稠密点云,本申请中并不对S的具体取值进行限制。
这里需要说明的是,该预设阈值可以采用如下方式确定:
B11、由所述熵编码装置确定;
通常情况下,该预设阈值是由用户确定的,也就是说,熵编码装置是根据用户的输入确定的预设阈值。
进一步地,熵编码装置可以采用如下方式进行预设阈值的确定:
B111、熵编码装置中存储有用户设置的一个预设阈值,在进行熵编码时直接使用该预设阈值。
B112、熵编码装置中设置有多个阈值,构成一个阈值列表,用户可以设置本次进行熵编码所使用的阈值。
在此种情况下,熵编码装置需要将其进行熵编码所使用的预设阈值告知熵解码装置,熵解码装置按照相同的预设阈值进行熵解码,一种可以采用的实现方式为:
在所述根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息之后,将第一信息编码到所述目标点云的几何片头信息中;
其中,所述第一信息为所述预设阈值或所述预设阈值对应的标识信息。
需要说明的是,此种情况下,熵编码装置需要对预设阈值进行编码;当熵编码装置采用的是B111的方式时,通常该第一信息指的便是预设阈值;当熵编码装置采用的是B112的方式时,通常该第一信息指的是预设阈值对应的标识信息,例如,该标识信息为预设阈值在阈值列表中的编号或者索引,对应地,熵解码装置侧也设置有同样的阈值列表,当熵解码装置接收到该标识信息后,便能知道对应的是哪一个阈值。
B12、协议约定;
需要说明的是,此种情况下,该预设阈值是约定好由熵编码装置和熵解码装置都知道的,此种情况下,熵编码装置无需进行预设阈值的编码。
进一步需要说明的是,上述的步骤202的一种可选地实现方式,包括以下至少一项:
C11、在所述目标点云的疏密程度信息为稀疏点云的情况下,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型为占位码上下文模型一;
C12、在所述目标点云的疏密程度信息为稠密点云的情况下,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型为占位码上下文模型二。
需要说明的是,在目前AVS点云编码参考软件模型V3.0中,对空间占位码的编码采用基于上下文的自适应二进制算术编码器,其上下文模型有两套,分别用于较稀疏点云序列(cat1A与cat2frame序列)与较稠密点云序列(cat1B与cat3序列),下面分别对这两套上下文模型进行详细介绍。为了便于描述,本申请所涉及的坐标系及八叉树划分产生的八个子节点相对其父节点即当前节点的空间位置如下图3所示。
一、占位码上下文模型一
在八叉树广度优先遍历的划分方式下,编码当前点的子节点时能够获得的邻居信息包括左前下三个方向的邻居子节点,其中包括:与当前点待编码的子节点共面的3个邻居子节点、3个共线的邻居子节点、1个共点的邻居子节点。
子节点层的占位码上下文模型设计如下:对于待编码子节点层,查找与待编码子节点同层的左前下方向3个共面、3个共线、1个共点节点以及节点边长最短的维度上负方向距离当前待编码子节点两个节点边长处的节点的占位情况。以X维度上的节点边长最短为例,各子节点选择的参考节点如图4所示。其中虚线框节点为当前节点,箭头所指节点为当前待编码子节点,实线框节点为各子节点选取的参考节点。
其中,3个共面、3个共线节点以及节点边长最短的维度上负方向距离当前待编码子节点两个节点边长处的节点的占位情况详细考虑,这7个节点的占位情况共有27=128种情况。如果不全为不占据,则共有27-1=127种情况,为每种情况分配1个上下文;若这7个节点全为不占据,则考虑共点邻居节点占位情况。该共点邻居有2种可能:占据或不占据。为该共点邻居节点被占据的情况单独分配1个上下文,若该共点邻居也为不占据,则考虑接下来要讲述的当前节点层邻居的占位情况。即待编码子节点层邻居一共对应127+2-1=128个上下文。
如果待编码子节点的8个同层参考节点都未被占据,则考虑如图5所示的当前节点层的四组邻居的占位情况。其中虚线框节点为当前节点,实线边框为邻居节点。
对于当前节点层,按照以下步骤确定占位码上下文:
1、首先考虑当前节点的右上后3个共面邻居。当前节点右上后共面的3个邻居的占位情况共有23=8种可能,为不全为不占据的情况各分配一个上下文,再考虑待编码子节点位于当前节点的位置,则该组邻居节点共提供(8-1)×7=56个上下文。如果当前点的右上后3个共面的邻居都不占据,那么继续考虑当前节点层其余三组邻居
2、考虑最近被占据的节点与当前节点的距离。
具体的邻居节点分布与距离的对应关系如表1所示。
表1当前节点层占位情况与距离的对应关系
Figure PCTCN2022097852-appb-000002
由表1可得,距离共有3个取值。为这3个取值情况各分配1个上下文,再考虑待编码子节点位于当前节点的位置情况,共3×8=24个上下文。
至此,空间占用码上下文模型一总共分配了128+56+24=208个上下文。
二、占位码上下文模型二
该套上下文使用两层上下文参考关系配置。第一层是当前节点层中,与当前节点共面、共线的邻居节点的占用情况;第二层是待编码子节点层中,与待编码子节点共面的邻居节点的占用情况。
首先,对于每一个待编码子节点,都可以获得其父节点层即当前节点层中,与其共面、共线的6个当前节点层邻居如下图6所示。图6中虚线边框节点为当前节点,箭头所指节点为各待编码子节点,实线边框节点为当前节点的共面、共线邻居。对于其中的3个共面邻居,考虑其每一种分布情况,共有2 3=8种情况;对于剩余的3个共线邻居,只计算三个邻居中被占据的节点个数,则有0、1、2、3共四种情况。两者结合共有4×8=32种情况,为每一种情况配置1个上下文,则当前节点层一共提供32个上下文。
其次,对于每个待编码的子节点,寻找与其同层的左、前、下(各坐标轴负方向)3个共面邻居节点作为参考节点,如下图7所示。图7中虚线边框节点为当前节点,箭头所指节点为待编码子节点,实线边框节点为各子节点同层的共面邻居。这3个与待编码子节点同层的共面邻居节点共有2 3=8种情况,为每一种情况分配一个上下文,则当前节点一共提供8个上下文。
这两层上下文之间互相不干扰,因此该套上下文模型一共提供32×8=256个上下文,用于较稠密点云序列或点云片。
可选地,为了减少熵解码装置的解码复杂度,熵编码装置可以将获取到的目标点云的疏密程度信息或目标点云进行熵编码时所使用的占位码上下文模型的类型直接进行编码,告知熵解码装置,熵解码装置可以直接利用熵编码装置通知的信息进行解码,能够加快解码速率,具体地实现方式为:
在所述根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型之后,将第二信息编码到所述目标点云的几何片头信息中;
其中,所述第二信息包括:所述目标点云的疏密程度信息或所述目标点云进行熵编码时所使用的占位码上下文模型的类型。
综上所述,本申请提出一种考虑点云中点云片或点云序列的疏密程度来自适应选择当前点云片或点云序列的占位码上下文模型的方式,疏密程度的考量基于点云片或点云序列的体积大小以及所含点数;体积大小以及所含点数这两个信息都可以从几何片头信息中获取;当点云体积大小以及所含点数之比大于某一阈值时,则将其判定为“稀疏”点云,选择上下文模型一进行熵编码;当点云体积大小以及所含点数之比小于某一阈值时,则将其判定为“稠密”点云,选择上下文模型二进行熵编码;此种方式使点云序列或点云序列中的各点云片在各条件下都可以选择合适的占用码上下文模型进行熵编码,从而获得性能提升。实验结果表明,利用本申请描述的算法可以提升编码性能,如下表2所示,在有损条件下,本申请相对PCRMV3.0性能变好。
这里需要说明的是,评价点云压缩的性能指标有两个方面:一是点云的失真程度,失真程度越高,点云重建的客观质量越差;二是压缩后的比特流大小。对于无损压缩,即点云不存在失真的情况,因此只考虑点云压缩后的比特流大小;而对于有损压缩,则两个方面都要考虑。在两者中,比特流大小可以通过编码后输出的比特数来衡量,而对于点云失真程度的评价,PCRM给出了两种对应的失真评估算法。
一般来说,评价一个压缩算法性能的好坏,通常使用率失真(RD)曲线进行对比两个算法的性能差异。点云压缩的理想目标是,码流变得更小,衡量客观质量的指标峰值信噪比(Peak Signal to Noise Ratio,PSNR)变得更 大。然而这种情况很少出现,一般的情况是码流相对于原始方法变得更低,但是PSNR即点云的质量却降低了,或者是PSNR变得更高,但是码流却上升了。要想在这两种情况下来衡量一种新方法的好坏,就需要一种综合考虑码流和PSNR的指标。AVS点云组以BD-Rate来综合评价点云压缩算法的码率以及客观质量,并且将其细化为几何与属性两个方面:BD-GeomRate与BD-AttrRate。当BD-Rate取值为负数时,就表示新方法相对于原方法性能提升;而BD-Rate取值为正数则表示新方法相对于原方法性能下降。而根据误差是采用均方误差还是豪斯多夫(Hausdorff)距离,有两种计算PSNR的方式与结果,相应的BD-Rate也有两种结果,采用均方误差计算的记为D1,采用hausdorff计算的记为D1-H。
表2本申请与PCRM V3.0在有损条件下的性能对比结果
序列 BD-GeomRate(D1) BD-GeomRate(D1-H)
bridge_1mm -5.4% -5.4%
double_T_section_1mm -2.2% -2.2%
intersection1_1mm -2.4% -2.3%
intersection2_1mm -1.6% -1.6%
straight_road_1mm -1.7% -1.7%
T_section_1mm -2.0% -1.9%
stanford_area_2_vox20 -0.8% -0.9%
stanford_area_4_vox20 -1.1% -1.1%
ford_01 -1.3% -1.3%
ford_02 -1.7% -1.7%
ford_03 -1.3% -1.3%
livox_01_all -0.9% -0.9%
livox_02_all -0.8% -0.8%
需要说明的是,本申请实施例提供的熵编码方法,执行主体可以为熵编码装置,或者,该熵编码装置中的用于执行熵编码方法的控制模块。本申请实施例中以熵编码装置执行熵编码方法为例,说明本申请实施例提供的熵编 码装置。
如图8所示,本申请实施例提供一种熵编码装置800,包括:
第一获取模块801,用于获取待编码的目标点云的疏密程度信息;
第一确定模块802,用于根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型;
编码模块803,用于根据所述占位码上下文模型的类型,进行所述目标点云的熵编码。
可选地,所述第一获取模块801,包括:
第一获取单元,用于获取所述目标点云所对应的包围盒的尺寸信息以及所述目标点云中所包含的点数信息;
第一确定单元,用于根据所述尺寸信息以及所述点数信息,确定所述目标点云的疏密程度信息。
可选地,所述第一确定单元,包括:
第一确定子单元,用于根据所述尺寸信息以及所述点数信息,确定第一体积,所述第一体积为所述目标点云中每个点对包围盒的平均占用体积;
第二确定子单元,用于根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息。
可选地,所述第二确定子单元,用于实现以下至少一项:
若所述第一体积大于所述预设阈值,则确定所述目标点云的疏密程度信息为稀疏点云;
若所述第一体积小于或等于所述预设阈值,则确定所述目标点云的疏密程度信息为稠密点云。
可选地,所述预设阈值由所述熵编码装置确定或协议约定。
可选地,在所述预设阈值由所述熵编码装置确定的情况下,在所述第二确定子单元根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息之后,还包括:
第一编码模块,用于将第一信息编码到所述目标点云的几何片头信息中;
其中,所述第一信息为所述预设阈值或所述预设阈值对应的标识信息。
可选地,所述第一确定模块802,用于实现以下至少一项:
在所述目标点云的疏密程度信息为稀疏点云的情况下,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型为占位码上下文模型一;
在所述目标点云的疏密程度信息为稠密点云的情况下,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型为占位码上下文模型二。
可选地,在所述第一确定模块802根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型之后,还包括:
第二编码模块,用于将第二信息编码到所述目标点云的几何片头信息中;
其中,所述第二信息包括:所述目标点云的疏密程度信息或所述目标点云进行熵编码时所使用的占位码上下文模型的类型。
可选地,所述目标点云为点云序列或点云序列中的点云片。
需要说明的是,通过利用目标点云的疏密程度信息,确定目标点云进行熵编码时所使用的占位码上下文模型的类型,以此能够合理的进行占位码上下文模型的选取,保证编码性能达到最佳。
本申请实施例中的熵编码装置可以是装置,具有操作系统的装置或电子设备,也可以是终端中的部件、集成电路、或芯片。该装置或电子设备可以是移动终端,也可以为非移动终端。示例性的,移动终端可以包括但不限于手机、平板电脑(Tablet Personal Computer)、膝上型电脑(Laptop Computer)或称为笔记本电脑、个人数字助理(Personal Digital Assistant,PDA)、掌上电脑、上网本、超级移动个人计算机(ultra-mobile personal computer,UMPC)、移动上网装置(Mobile Internet Device,MID)、可穿戴式设备(Wearable Device)或车载设备(VUE)、行人终端(PUE)等终端侧设备,可穿戴式设备包括:智能手表、手环、耳机、眼镜等,非移动终端可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例提供的熵编码装置能够实现图2的方法实施例实现的各个过程,并达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供一种熵编码装置,包括处理器和通信接口,处理器用于获取待编码的目标点云的疏密程度信息;
根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型;
根据所述占位码上下文模型的类型,进行所述目标点云的熵编码。
该熵编码装置实施例是与上述熵编码装置侧方法实施例对应的,上述方法实施例的各个实施过程和实现方式均可适用于该装置实施例中,且能达到相同的技术效果。具体地,图9为实现本申请实施例的一种熵编码装置的硬件结构示意图。
该熵编码装置900包括但不限于:射频单元901、网络模块902、音频输出单元903、输入单元904、传感器905、显示单元906、用户输入单元907、接口单元908、存储器909、以及处理器910等中的至少部分部件。
本领域技术人员可以理解,熵编码装置900还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器910逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图9中示出的终端结构并不构成对终端的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
应理解的是,本申请实施例中,输入单元904可以包括图形处理器(Graphics Processing Unit,GPU)9041和麦克风9042,图形处理器9041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。显示单元906可包括显示面板9061,可以采用液晶显示器、有机发光二极管等形式来配置显示面板9061。用户输入单元907包括触控面板9071以及其他输入设备9072。触控面板9071,也称为触摸屏。触控面板9071可包括触摸检测装置和触摸控制器两个部分。其他输入设备9072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
本申请实施例中,射频单元901将来自网络侧设备的下行数据接收后,给处理器910处理;另外,将上行的数据发送给网络侧设备。通常,射频单元901包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。
存储器909可用于存储软件程序或指令以及各种数据。存储器909可主 要包括存储程序或指令区和存储数据区,其中,存储程序或指令区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器909可以包括高速随机存取存储器,还可以包括非易失性存储器,其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
处理器910可包括一个或多个处理单元;可选的,处理器910可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序或指令等,调制解调处理器主要处理无线通信,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器910中。
其中,处理器910用于实现:
获取待编码的目标点云的疏密程度信息;
根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型;
根据所述占位码上下文模型的类型,进行所述目标点云的熵编码。
本申请实施例的终端通过利用目标点云的疏密程度信息,确定目标点云进行熵编码时所使用的占位码上下文模型的类型,以此能够合理的进行占位码上下文模型的选取,保证编码性能达到最佳。
可选地,处理器910还用于实现:
获取所述目标点云所对应的包围盒的尺寸信息以及所述目标点云中所包含的点数信息;
根据所述尺寸信息以及所述点数信息,确定所述目标点云的疏密程度信息。
可选地,处理器910还用于实现:
根据所述尺寸信息以及所述点数信息,确定第一体积,所述第一体积为所述目标点云中每个点对包围盒的平均占用体积;
根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信 息。
可选地,处理器910还用于实现以下至少一项:
若所述第一体积大于所述预设阈值,则确定所述目标点云的疏密程度信息为稀疏点云;
若所述第一体积小于或等于所述预设阈值,则确定所述目标点云的疏密程度信息为稠密点云。
可选地,所述预设阈值由所述熵编码装置确定或协议约定。
可选地,处理器910还用于实现:
将第一信息编码到所述目标点云的几何片头信息中;
其中,所述第一信息为所述预设阈值或所述预设阈值对应的标识信息。
可选地,处理器910还用于实现以下至少一项:
在所述目标点云的疏密程度信息为稀疏点云的情况下,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型为占位码上下文模型一;
在所述目标点云的疏密程度信息为稠密点云的情况下,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型为占位码上下文模型二。
可选地,处理器910还用于实现:
将第二信息编码到所述目标点云的几何片头信息中;
其中,所述第二信息包括:所述目标点云的疏密程度信息或所述目标点云进行熵编码时所使用的占位码上下文模型的类型。
可选地,所述目标点云为点云序列或点云序列中的点云片。
优选的,本申请实施例还提供一种熵编码装置,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的程序或指令,该程序或指令被处理器执行时实现熵编码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供一种可读存储介质,可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现熵编码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
如图10所示,本申请实施例还提供一种熵解码方法,包括:
步骤1001,熵解码装置获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型;
其中,所述目标点云进行熵解码时所使用的占位码上下文模型的类型由所述目标点云的疏密程度信息确定。
需要说明的是,本申请所说的目标点云指的是点云序列或点云序列中的点云片;进一步地,该点云序列指的是指对待编码的点云序列进行预处理后的点云序列,这里所说的预处理指的是坐标平移、坐标量化以及去除重复点中的一项或多项。
步骤1002,根据所述占位码上下文模型的类型,进行所述目标点云的熵解码。
需要说明的是,本申请实施例中所说的进行所述目标点云的熵解码指的是,对目标点云的几何信息进行熵解码。
需要说明的是,通过利用目标点云的疏密程度信息,确定目标点云进行熵解码时所使用的占位码上下文模型的类型,进而进行熵解码,以此能够合理的进行占位码上下文模型的选取,保证解码性能达到最佳。
可选地,步骤1001的一种可以采用的实现方式为:
步骤10011,获取所述目标点云的几何片头信息;
步骤10012,根据所述几何片头信息中的第二信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型;
其中,所述第二信息包括:所述目标点云的疏密程度信息或所述目标点云进行熵编码时所使用的占位码上下文模型的类型。
需要说明的是,此种情况下,若几何片头信息中包含所述目标点云进行熵编码时所使用的占位码上下文模型的类型,则熵解码装置不用再单独进行占位码上下文模型的类型的计算,可以直接确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型与所述目标点云进行熵编码时所使用的占位码上下文模型的类型相同,以此能够提升解码的效率;若几何片头信息中包含目标点云的疏密程度信息,则熵解码装置可以直接利用该目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的 类型,无需再单独进行目标点云的疏密程度信息的计算,以此也能够提升解码的效率。
具体地,此种情况下,根据目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型的一种可以采用的实现方式,包括以下至少一项:
D11、在所述目标点云的疏密程度信息为稀疏点云的情况下,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型为占位码上下文模型一;
D12、在所述目标点云的疏密程度信息为稠密点云的情况下,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型为占位码上下文模型二。
需要说明的是,本实施例中所说的占位码上下文模型一和占位码上下文模型二参见上述实施例中对占位码上下文模型一和占位码上下文模型二的描述,在此不再赘述。
可选地,步骤1001的另一种可以采用的实现方式为:
步骤10013,获取所述目标点云的疏密程度信息;
步骤10014,根据所述目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型。
可选地,上述步骤10013的一种可以采用的实现方式为:
步骤100131,获取所述目标点云所对应的包围盒的尺寸信息以及所述目标点云中所包含的点数信息;
需要说明的是,该包围盒的尺寸信息通常指的是包围盒的长宽高的信息,即X、Y和Z三个维度的尺寸大小,通过该尺寸信息便能确定包围盒的体积,包围盒的体积等于长度、宽度和高度的乘积。
步骤100132,根据所述尺寸信息以及所述点数信息,确定所述目标点云的疏密程度信息;
此步骤主要是通过包围盒的体积以及包围盒中所包含的点的数量,就能确定单个点的占用体积,然后利用单个点的占用体积,确定点云的疏密程序,具体地实现方式可以:
根据所述尺寸信息以及所述点数信息,确定第一体积,所述第一体积为所述目标点云中每个点对包围盒的平均占用体积;
根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息。
进一步地,利用每个点对包围盒的平均占用体积确定疏密程度信息的一种可以采用的实现方式包括以下至少一项:
E11、若所述第一体积大于所述预设阈值,则确定所述目标点云的疏密程度信息为稀疏点云;
E12、若所述第一体积小于或等于所述预设阈值,则确定所述目标点云的疏密程度信息为稠密点云。
需要说明的是,本申请中可以通过引入变量S来表示第一体积与预设阈值的比对结果,S的取值如下:
Figure PCTCN2022097852-appb-000003
其中,S为疏密程度信息,p为第一体积,p=V/N,V为目标点云所对应的包围盒的体积,N为目标点云中所包含的点数,Th为预设阈值。
当S=1时,表示目标点云为稀疏点云,当S=0时,表示目标点云为稠密点云。
当然,本申请实施例中的S的取值只是一种举例,上述是用S=1表示稀疏点云,S=0表示稠密点云,可选地,也可以用S=0表示稀疏点云,S=1表示稠密点云,本申请中并不对S的具体取值进行限制。
具体地,此种情况下,根据目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型的一种可以采用的实现方式,包括以下至少一项:
E11、在所述目标点云的疏密程度信息为稀疏点云的情况下,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型为占位码上下文模型一;
E12、在所述目标点云的疏密程度信息为稠密点云的情况下,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型为占位码上下文模型二。
可选地,在所述根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息之前,还包括:
获取所述预设阈值;
其中,所述预设阈值由所述熵解码装置确定或协议约定。
在预设阈值由所述熵解码装置确定的情况下,通常情况下,该预设阈值是由用户确定的,也就是说,熵编码装置是根据用户的输入确定的预设阈值。在预设阈值由协议约定的情况下,该预设阈值是约定好由熵编码装置和熵解码装置都知道的,此种情况下,熵编码装置无需进行预设阈值的编码。
可选地,在所述预设阈值由所述熵解码装置确定的情况下,所述获取所述预设阈值,包括:
获取所述目标点云的几何片头信息;
根据所述几何片头信息中的第一信息,获取所述预设阈值;
其中,所述第一信息为所述预设阈值或所述预设阈值对应的标识信息。
需要说明的是,因熵编码装置可以采用如下方式进行预设阈值的确定:
F111、熵编码装置中存储有用户设置的一个预设阈值,在进行熵编码时直接使用该预设阈值。
F112、熵编码装置中设置有多个阈值,构成一个阈值列表,用户可以设置本次进行熵编码所使用的阈值。
在此种情况下,熵编码装置需要将其进行熵编码所使用的预设阈值告知熵解码装置,熵解码装置按照相同的预设阈值进行熵解码,当熵编码装置采用的是B111的方式时,通常该第一信息指的便是预设阈值;当熵编码装置采用的是B112的方式时,通常该第一信息指的是预设阈值对应的标识信息,例如,该标识信息为预设阈值在阈值列表中的编号或者索引,对应地,熵解码装置侧也设置有同样的阈值列表,当熵解码装置接收到该标识信息后,便能知道对应的是哪一个阈值。
需要说明的是,本申请实施例通过利用目标点云的疏密程度信息确定目标点云进行熵解码时所使用的占位码上下文模型的类型,以此能够合理的进行占位码上下文模型的选取,保证解码性能达到最佳。
如图11所示,本申请实施例还提供一种熵解码装置1100,包括:
第二获取模块1101,用于获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型,其中,所述目标点云进行熵解码时所使用的占位码上下文模型的类型由所述目标点云的疏密程度信息确定;
解码模块1102,用于根据所述占位码上下文模型的类型,进行所述目标点云的熵解码。
可选地,所述第二获取模块1101,包括:
第二获取单元,用于获取所述目标点云的几何片头信息;
第二确定单元,用于根据所述几何片头信息中的第二信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型;
其中,所述第二信息包括:所述目标点云的疏密程度信息或所述目标点云进行熵编码时所使用的占位码上下文模型的类型。
可选地,所述第二信息中包括所述目标点云进行熵编码时所使用的占位码上下文模型的类型,所述第二确定单元,用于:
确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型与所述目标点云进行熵编码时所使用的占位码上下文模型的类型相同。
可选地,所述第二信息中包括所述目标点云的疏密程度信息,所述第二确定单元,用于:
根据所述目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型。
可选地,所述第二获取模块1101,包括:
第三获取单元,用于获取所述目标点云的疏密程度信息;
第三确定单元,用于根据所述目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型。
可选地,所述第三获取单元,包括:
第一获取子单元,用于获取所述目标点云所对应的包围盒的尺寸信息以及所述目标点云中所包含的点数信息;
第二确定子单元,用于根据所述尺寸信息以及所述点数信息,确定所述目标点云的疏密程度信息。
可选地,所述第二确定子单元,用于实现:
根据所述尺寸信息以及所述点数信息,确定第一体积,所述第一体积为所述目标点云中每个点对包围盒的平均占用体积;
根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息。
可选地,所述根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息的实现方式,包括以下至少一项:
若所述第一体积大于所述预设阈值,则确定所述目标点云的疏密程度信息为稀疏点云;
若所述第一体积小于或等于所述预设阈值,则确定所述目标点云的疏密程度信息为稠密点云。
可选地,在所述第二确定子单元根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息之前,还包括:
第三获取模块,用于获取所述预设阈值;
其中,所述预设阈值由所述熵解码装置确定或协议约定。
可选地,在所述预设阈值由所述熵解码装置确定的情况下,所述第三获取模块,包括:
第四获取单元,用于获取所述目标点云的几何片头信息;
第五获取单元,用于根据所述几何片头信息中的第一信息,获取所述预设阈值;
其中,所述第一信息为所述预设阈值或所述预设阈值对应的标识信息。
可选地,所述根据所述目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型的实现方式,包括以下至少一项:
在所述目标点云的疏密程度信息为稀疏点云的情况下,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型为占位码上下文模型一;
在所述目标点云的疏密程度信息为稠密点云的情况下,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型为占位码上下文模型二。
可选地,所述目标点云为点云序列或点云序列中的点云片。
需要说明的是,本申请实施例通过利用目标点云的疏密程度信息确定目 标点云进行熵解码时所使用的占位码上下文模型的类型,以此能够合理的进行占位码上下文模型的选取,保证解码性能达到最佳。
优选的,本申请实施例还提供一种熵解码装置,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的程序或指令,该程序或指令被处理器执行时实现熵解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供一种可读存储介质,计算机可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现熵解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
本申请实施例还提供一种熵解码装置,包括处理器和通信接口,处理器用于获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型,其中,所述目标点云进行熵解码时所使用的占位码上下文模型的类型由所述目标点云的疏密程度信息确定;根据所述占位码上下文模型的类型,进行所述目标点云的熵解码。
该熵解码装置实施例是与上述熵解码方法实施例对应的,上述方法实施例的各个实施过程和实现方式均可适用于该熵解码装置实施例中,且能达到相同的技术效果。
具体地,本申请实施例还提供了一种熵解码装置,具体地,该熵解码装置的结构与图9所示的熵编码装置的结构类似,在此不再赘述。
可选地,处理器用于实现:
获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型,其中,所述目标点云进行熵解码时所使用的占位码上下文模型的类型由所述目标点云的疏密程度信息确定;
根据所述占位码上下文模型的类型,进行所述目标点云的熵解码。
可选地,处理器还用于实现:
获取所述目标点云的几何片头信息;
根据所述几何片头信息中的第二信息,确定所述目标点云进行熵解码时 所使用的占位码上下文模型的类型;
其中,所述第二信息包括:所述目标点云的疏密程度信息或所述目标点云进行熵编码时所使用的占位码上下文模型的类型。
可选地,处理器还用于实现:
确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型与所述目标点云进行熵编码时所使用的占位码上下文模型的类型相同。
可选地,处理器还用于实现:
根据所述目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型。
可选地,处理器还用于实现:
获取所述目标点云的疏密程度信息;
根据所述目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型。
可选地,处理器还用于实现:
获取所述目标点云所对应的包围盒的尺寸信息以及所述目标点云中所包含的点数信息;
根据所述尺寸信息以及所述点数信息,确定所述目标点云的疏密程度信息。
可选地,处理器还用于实现:
根据所述尺寸信息以及所述点数信息,确定第一体积,所述第一体积为所述目标点云中每个点对包围盒的平均占用体积;
根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息。
可选地,处理器还用于实现以下至少一项:
若所述第一体积大于所述预设阈值,则确定所述目标点云的疏密程度信息为稀疏点云;
若所述第一体积小于或等于所述预设阈值,则确定所述目标点云的疏密程度信息为稠密点云。
可选地,处理器还用于实现:
获取所述预设阈值;
其中,所述预设阈值由所述熵解码装置确定或协议约定。
可选地,处理器还用于实现:
获取所述目标点云的几何片头信息;
根据所述几何片头信息中的第一信息,获取所述预设阈值;
其中,所述第一信息为所述预设阈值或所述预设阈值对应的标识信息。
可选地,处理器还用于实现以下至少一项:
在所述目标点云的疏密程度信息为稀疏点云的情况下,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型为占位码上下文模型一;
在所述目标点云的疏密程度信息为稠密点云的情况下,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型为占位码上下文模型二。
可选地,所述目标点云为点云序列或点云序列中的点云片。
需要说明的是,本申请实施例中所说的熵编码装置和熵解码装置可以设置在同一设备中,也就是说,该设备既可以实现熵编码功能也可以实现熵解码功能。
可选的,如图12所示,本申请实施例还提供一种编解码装置1200,包括处理器1201,存储器1202,存储在存储器1202上并可在所述处理器1201上运行的程序或指令,例如,该通信设备1200为熵编码装置时,该程序或指令被处理器1201执行时实现上述熵编码方法实施例的各个过程,且能达到相同的技术效果。该通信设备1200为熵解码装置时,该程序或指令被处理器1201执行时实现上述熵解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述熵编码方法或熵解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本申请实施例另提供了一种计算机程序产品,所述计算机程序产品存储 在非瞬态的存储介质中,所述计算机程序产品被至少一个处理器执行以实现上述熵编码方法或熵解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本申请实施例还提供了一种通信设备,被配置为执行如上述熵编码方法或熵解码方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (29)

  1. 一种熵编码方法,包括:
    熵编码装置获取待编码的目标点云的疏密程度信息;
    根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型;
    根据所述占位码上下文模型的类型,进行所述目标点云的熵编码。
  2. 根据权利要求1所述的方法,其中,所述获取待编码的目标点云的疏密程度信息,包括:
    获取所述目标点云所对应的包围盒的尺寸信息以及所述目标点云中所包含的点数信息;
    根据所述尺寸信息以及所述点数信息,确定所述目标点云的疏密程度信息。
  3. 根据权利要求2所述的方法,其中,所述根据所述尺寸信息以及所述点数信息,确定所述目标点云的疏密程度信息,包括:
    根据所述尺寸信息以及所述点数信息,确定第一体积,所述第一体积为所述目标点云中每个点对包围盒的平均占用体积;
    根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息。
  4. 根据权利要求3所述的方法,其中,所述根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息,包括以下至少一项:
    若所述第一体积大于所述预设阈值,则确定所述目标点云的疏密程度信息为稀疏点云;
    若所述第一体积小于或等于所述预设阈值,则确定所述目标点云的疏密程度信息为稠密点云。
  5. 根据权利要求3所述的方法,其中,所述预设阈值由所述熵编码装置确定或协议约定。
  6. 根据权利要求3所述的方法,其中,在所述预设阈值由所述熵编码装置确定的情况下,在所述根据所述第一体积与预设阈值的关系,确定所述目 标点云的疏密程度信息之后,还包括:
    将第一信息编码到所述目标点云的几何片头信息中;
    其中,所述第一信息为所述预设阈值或所述预设阈值对应的标识信息。
  7. 根据权利要求1所述的方法,其中,所述根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型,包括以下至少一项:
    在所述目标点云的疏密程度信息为稀疏点云的情况下,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型为占位码上下文模型一;
    在所述目标点云的疏密程度信息为稠密点云的情况下,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型为占位码上下文模型二。
  8. 根据权利要求1所述的方法,其中,在所述根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型之后,还包括:
    将第二信息编码到所述目标点云的几何片头信息中;
    其中,所述第二信息包括:所述目标点云的疏密程度信息或所述目标点云进行熵编码时所使用的占位码上下文模型的类型。
  9. 根据权利要求1-8任一项所述的方法,其中,所述目标点云为点云序列或点云序列中的点云片。
  10. 一种熵解码方法,包括:
    熵解码装置获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型,其中,所述目标点云进行熵解码时所使用的占位码上下文模型的类型由所述目标点云的疏密程度信息确定;
    根据所述占位码上下文模型的类型,进行所述目标点云的熵解码。
  11. 根据权利要求10所述的方法,其中,所述获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型,包括:
    获取所述目标点云的几何片头信息;
    根据所述几何片头信息中的第二信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型;
    其中,所述第二信息包括:所述目标点云的疏密程度信息或所述目标点 云进行熵编码时所使用的占位码上下文模型的类型。
  12. 根据权利要求11所述的方法,其中,所述第二信息中包括所述目标点云进行熵编码时所使用的占位码上下文模型的类型,所述确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型,包括:
    确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型与所述目标点云进行熵编码时所使用的占位码上下文模型的类型相同。
  13. 根据权利要求11所述的方法,其中,所述第二信息中包括所述目标点云的疏密程度信息,所述确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型,包括:
    根据所述目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型。
  14. 根据权利要求10所述的方法,其中,所述获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型,包括:
    获取所述目标点云的疏密程度信息;
    根据所述目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型。
  15. 根据权利要求14所述的方法,其中,所述获取所述目标点云的疏密程度信息,包括:
    获取所述目标点云所对应的包围盒的尺寸信息以及所述目标点云中所包含的点数信息;
    根据所述尺寸信息以及所述点数信息,确定所述目标点云的疏密程度信息。
  16. 根据权利要求15所述的方法,其中,所述根据所述尺寸信息以及所述点数信息,确定所述目标点云的疏密程度信息,包括:
    根据所述尺寸信息以及所述点数信息,确定第一体积,所述第一体积为所述目标点云中每个点对包围盒的平均占用体积;
    根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息。
  17. 根据权利要求16所述的方法,其中,所述根据所述第一体积与预设 阈值的关系,确定所述目标点云的疏密程度信息,包括以下至少一项:
    若所述第一体积大于所述预设阈值,则确定所述目标点云的疏密程度信息为稀疏点云;
    若所述第一体积小于或等于所述预设阈值,则确定所述目标点云的疏密程度信息为稠密点云。
  18. 根据权利要求16所述的方法,其中,在所述根据所述第一体积与预设阈值的关系,确定所述目标点云的疏密程度信息之前,还包括:
    获取所述预设阈值;
    其中,所述预设阈值由所述熵解码装置确定或协议约定。
  19. 根据权利要求18所述的方法,其中,在所述预设阈值由所述熵解码装置确定的情况下,所述获取所述预设阈值,包括:
    获取所述目标点云的几何片头信息;
    根据所述几何片头信息中的第一信息,获取所述预设阈值;
    其中,所述第一信息为所述预设阈值或所述预设阈值对应的标识信息。
  20. 根据权利要求13或14所述的方法,其中,所述根据所述目标点云的疏密程度信息,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型,包括以下至少一项:
    在所述目标点云的疏密程度信息为稀疏点云的情况下,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型为占位码上下文模型一;
    在所述目标点云的疏密程度信息为稠密点云的情况下,确定所述目标点云进行熵解码时所使用的占位码上下文模型的类型为占位码上下文模型二。
  21. 根据权利要求10-19任一项所述的方法,其中,所述目标点云为点云序列或点云序列中的点云片。
  22. 一种熵编码装置,包括:
    第一获取模块,用于获取待编码的目标点云的疏密程度信息;
    第一确定模块,用于根据所述疏密程度信息,确定所述目标点云进行熵编码时所使用的占位码上下文模型的类型;
    编码模块,用于根据所述占位码上下文模型的类型,进行所述目标点云的熵编码。
  23. 一种熵编码装置,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1至9任一项所述的熵编码方法的步骤。
  24. 一种熵解码装置,包括:
    第二获取模块,用于获取待解码的目标点云进行熵解码时所使用的占位码上下文模型的类型,其中,所述目标点云进行熵解码时所使用的占位码上下文模型的类型由所述目标点云的疏密程度信息确定;
    解码模块,用于根据所述占位码上下文模型的类型,进行所述目标点云的熵解码。
  25. 一种熵解码装置,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,其中,所述程序或指令被所述处理器执行时实现如权利要求10至21任一项所述的熵解码方法的步骤。
  26. 一种可读存储介质,所述可读存储介质上存储程序或指令,其中,所述程序或指令被处理器执行时实现如权利要求1至9任一项所述的熵编码方法的步骤,或者实现如权利要求10至21任一项所述的熵解码方法的步骤。
  27. 一种芯片,包括处理器和通信接口,其中,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如权利要求1至9任一项所述的熵编码方法的步骤,或者实现如权利要求10至21任一项所述的熵解码方法的步骤。
  28. 一种计算机程序产品,其中,所述计算机程序产品被存储在非易失的存储介质中,所述计算机程序产品被至少一个处理器执行时实现如权利要求1至9任一项所述的熵编码方法的步骤,或者实现如权利要求10至21任一项所述的熵解码方法的步骤。
  29. 一种通信设备,被配置为执行如权利要求1至9任一项所述的熵编码方法的步骤,或者实现如权利要求10至21任一项所述的熵解码方法的步骤。
PCT/CN2022/097852 2021-06-11 2022-06-09 熵编码、解码方法及装置 WO2022258009A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP22819606.9A EP4354864A4 (en) 2021-06-11 2022-06-09 ENTROPY CODING/DECODING METHODS AND APPARATUS
KR1020237039690A KR20230173695A (ko) 2021-06-11 2022-06-09 엔트로피 인코딩, 디코딩 방법 및 장치
JP2023573273A JP2024521832A (ja) 2021-06-11 2022-06-09 エントロピーコーディング、デコーディング方法及び装置
US18/526,280 US20240104784A1 (en) 2021-06-11 2023-12-01 Entropy encoding method and apparatus, and entropy decoding method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110656066.6A CN115474050A (zh) 2021-06-11 2021-06-11 熵编码、解码方法及装置
CN202110656066.6 2021-06-11

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/526,280 Continuation US20240104784A1 (en) 2021-06-11 2023-12-01 Entropy encoding method and apparatus, and entropy decoding method and apparatus

Publications (1)

Publication Number Publication Date
WO2022258009A1 true WO2022258009A1 (zh) 2022-12-15

Family

ID=84365373

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/097852 WO2022258009A1 (zh) 2021-06-11 2022-06-09 熵编码、解码方法及装置

Country Status (6)

Country Link
US (1) US20240104784A1 (zh)
EP (1) EP4354864A4 (zh)
JP (1) JP2024521832A (zh)
KR (1) KR20230173695A (zh)
CN (1) CN115474050A (zh)
WO (1) WO2022258009A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024188138A1 (zh) * 2023-03-14 2024-09-19 维沃移动通信有限公司 点云编码处理方法、点云解码处理方法及相关设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118433395B (zh) * 2024-07-02 2024-09-03 北京数原数字化城市研究中心 一种编码方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020010444A1 (en) * 2018-07-10 2020-01-16 2236008 Ontario Inc. Methods and devices for neighbourhood-based occupancy prediction in point cloud compression
US10693492B1 (en) * 2019-06-28 2020-06-23 Blackberry Limited Context determination for planar mode in octree-based point cloud coding
US20200342250A1 (en) * 2019-04-26 2020-10-29 Unikie Oy Method for extracting uniform features from point cloud and system therefor
WO2021069949A1 (en) * 2019-10-11 2021-04-15 Blackberry Limited Methods and devices for tree switching in point cloud compression
US20210133463A1 (en) * 2019-10-31 2021-05-06 Aptiv Technologies Limited Multi-Domain Neighborhood Embedding and Weighting of Point Cloud Data

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI3514968T3 (fi) * 2018-01-18 2023-05-25 Blackberry Ltd Menetelmiä ja laitteita pistepilvien entropiakoodausta varten
CA3111805A1 (en) * 2018-09-11 2020-03-19 Panasonic Intellectual Property Corporation Of America Three-dimensional data encoding method, three-dimensional data decoding method, three-dimensional data encoding device, and three-dimensional data decoding device
CN112492385A (zh) * 2020-09-30 2021-03-12 中兴通讯股份有限公司 点云数据处理方法、装置、存储介质及电子装置
CN112565795B (zh) * 2020-12-03 2022-10-04 西安电子科技大学 一种点云几何信息编码及解码方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020010444A1 (en) * 2018-07-10 2020-01-16 2236008 Ontario Inc. Methods and devices for neighbourhood-based occupancy prediction in point cloud compression
US20200342250A1 (en) * 2019-04-26 2020-10-29 Unikie Oy Method for extracting uniform features from point cloud and system therefor
US10693492B1 (en) * 2019-06-28 2020-06-23 Blackberry Limited Context determination for planar mode in octree-based point cloud coding
WO2021069949A1 (en) * 2019-10-11 2021-04-15 Blackberry Limited Methods and devices for tree switching in point cloud compression
US20210133463A1 (en) * 2019-10-31 2021-05-06 Aptiv Technologies Limited Multi-Domain Neighborhood Embedding and Weighting of Point Cloud Data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4354864A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024188138A1 (zh) * 2023-03-14 2024-09-19 维沃移动通信有限公司 点云编码处理方法、点云解码处理方法及相关设备

Also Published As

Publication number Publication date
CN115474050A (zh) 2022-12-13
KR20230173695A (ko) 2023-12-27
JP2024521832A (ja) 2024-06-04
EP4354864A1 (en) 2024-04-17
EP4354864A4 (en) 2024-10-02
US20240104784A1 (en) 2024-03-28

Similar Documents

Publication Publication Date Title
WO2022258009A1 (zh) 熵编码、解码方法及装置
WO2022257970A1 (zh) 点云的几何信息编码处理方法、解码处理方法及相关设备
WO2022257971A1 (zh) 点云编码处理方法、点云解码处理方法及相关设备
WO2022257969A1 (zh) 点云编码处理方法、解码处理方法及相关设备
US20240121439A1 (en) Point cloud attribute information encoding method and apparatus, point cloud attribute information decoding method and apparatus, and related device
WO2022133753A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
WO2022257968A1 (zh) 点云编码方法、点云解码方法及终端
WO2022258010A1 (zh) 点云编码处理方法、解码处理方法及装置
WO2022257972A1 (zh) 编码、解码控制方法及装置
WO2023025024A1 (zh) 点云属性编码方法、点云属性解码方法及终端
WO2023098820A1 (zh) 点云编码、解码方法、装置及通信设备
WO2023098807A1 (zh) 点云编、解码处理方法、装置、编码设备及解码设备
WO2023098803A1 (zh) 点云编码处理方法、点云解码处理方法及相关设备
WO2023098805A1 (zh) 点云编码方法、解码方法、装置及电子设备
WO2022257978A1 (zh) 点云编码方法、解码方法及装置
WO2023024842A1 (zh) 点云编解码方法、装置、设备及存储介质
CN115474041B (zh) 点云属性的预测方法、装置及相关设备
WO2022140937A1 (zh) 点云编解码方法与系统、及点云编码器与点云解码器
WO2024217301A1 (zh) 点云编码处理方法、点云解码处理方法及相关设备
WO2024120431A1 (zh) 点云编码方法、点云解码方法及相关设备
WO2024217302A1 (zh) 点云编码处理方法、点云解码处理方法及相关设备
WO2023098814A1 (zh) 属性量化、反量化方法、装置及设备
WO2022116118A1 (zh) 预测方法、编码器、解码器以及存储介质
WO2024188138A1 (zh) 点云编码处理方法、点云解码处理方法及相关设备
WO2023098802A1 (zh) 点云属性编码方法、点云属性解码方法及终端

Legal Events

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

Ref document number: 22819606

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20237039690

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1020237039690

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2023573273

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2022819606

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022819606

Country of ref document: EP

Effective date: 20240111