WO2013123701A1 - 一种三维图像数据中顶点数据的压缩方法及装置 - Google Patents

一种三维图像数据中顶点数据的压缩方法及装置 Download PDF

Info

Publication number
WO2013123701A1
WO2013123701A1 PCT/CN2012/073932 CN2012073932W WO2013123701A1 WO 2013123701 A1 WO2013123701 A1 WO 2013123701A1 CN 2012073932 W CN2012073932 W CN 2012073932W WO 2013123701 A1 WO2013123701 A1 WO 2013123701A1
Authority
WO
WIPO (PCT)
Prior art keywords
compressed
codeword
residual
residual vector
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2012/073932
Other languages
English (en)
French (fr)
Inventor
贺菲菲
惠剑
孙庚茂
高峰
潘志斌
李达
李敬源
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to US14/372,901 priority Critical patent/US9509973B2/en
Priority to KR1020147023119A priority patent/KR101603467B1/ko
Priority to EP12869069.0A priority patent/EP2801952B1/en
Publication of WO2013123701A1 publication Critical patent/WO2013123701A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/008Vector quantisation
    • 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/94Vector quantisation

Definitions

  • the present invention relates to data compression techniques in the field of three-dimensional image processing, and more particularly to a method and apparatus for compressing vertex data in three-dimensional image data. Background technique
  • the compression of 3D image data includes: compression of vertex connection relation data and compression of vertex data; wherein, the compression method of vertex connection relation data can now make vertex connection
  • the compression efficiency of the relational data is close to the theoretical limit value. Therefore, the compression method of the vertex data in the three-dimensional image data becomes an important factor affecting the compression efficiency of the three-dimensional image data.
  • the current method for compressing vertex data includes the following steps: generating a compressed code book; calculating a residual vector corresponding to each vertex of the three-dimensional image data to be compressed, and using the obtained residual vector as a residual vector to be encoded; extracting the residual to be coded one by one a difference vector, using the extracted residual vector to be encoded, searching for a best matching codeword in a preset compressed codebook, using a codeword index value of the best matching codeword as a compression result of the vertex data, and so on. Until the compression result of the residual vector corresponding to all vertex data is obtained.
  • the method for generating a compressed codebook is: calculating a three-dimensional image data selected for generating a compressed codebook by using a parallelogram prediction algorithm, and obtaining a residual vector corresponding to each vertex of the three-dimensional image data; using an LBG algorithm And training the modulus values of the residual vectors corresponding to the above vertices to obtain a set of the final codewords, that is, a compressed codebook.
  • this method does not fully consider the distribution characteristic of the modulus of the residual vector of the three-dimensional image data, that is, the portion of the residual vector having a small modulus value is large, and the difference between the two is small, and thus, the generated compression is performed.
  • Code book A large number of codewords with very close Euclidean distances are stored, which wastes storage space. For example: Assume that the resulting compressed codebook has one hundred codewords as ⁇ ⁇ , ⁇ , ⁇ ; ⁇ 2 ⁇ , ⁇ 2 ; ... ; x 100 , y 100 , z 100 ⁇ , of which eighty codewords The corresponding residual vector has a modulus value between 0 and 150, and the Euclidean distance between the eighty compression codes is very small, so that a large storage space is used to store many similar code words; Since only a small portion of the compressed codebook is used to represent the vertex data having a larger modulus value of the residual vector, the image quality cannot be improved.
  • the method of searching in the compressed codebook is a full search (FS, Full Search) method, including: traversing all codewords in the compressed codebook, for each codeword and the code to be coded The difference vector is calculated to obtain the Euclidean distance. Finally, the codeword with the smallest Euclidean distance is used as the best matching codeword, and the codeword index value of the best matching codeword is used as the compression result of the vertex data.
  • FS Full Search
  • the compression efficiency of the vertex data is affected; and, since a large number of similar codewords increase the number of codeword index values, the number of bits of the codeword index value is increased, thereby causing the compression result of the vertex data to be
  • the compression ratio of the vertex data calculated by the bit ratio of the residual vector cannot be improved.
  • the existing compression method of the vertex data does not fully utilize the distribution characteristics of the vertex data in the three-dimensional image data, thereby failing to save the storage space of the codeword, improving the coding quality, improving the compression ratio of the vertex data, and affecting Compression efficiency.
  • an object of the present invention is to provide a method and apparatus for compressing vertex data in three-dimensional image data, which can save memory space of codewords, improve coding quality, improve compression ratio of vertex data, and improve compression efficiency.
  • the present invention provides a compression device for vertex data in three-dimensional image data, the device comprising: a codebook design module and a codeword search module; wherein
  • the codebook design module is configured to group the residual vectors of the vertex data in the three-dimensional image data of the codebook design, and generate a corresponding compressed subcodebook composed of the specified number of codewords for each group of residual vectors, and compress the subcodes of each group.
  • the book is sent to the codeword search module;
  • a codeword search module configured to receive a compressed subcodebook sent by the codebook design module, and sequentially select a best matching codeword for a residual vector of the vertex data in the three-dimensional image data to be compressed, and select the best matching codeword
  • the codeword index value and the index value of the compressed subcodebook are used as the compression result of the vertex data.
  • the device further includes: a vertex data prediction module, configured to calculate a residual vector of the vertex data in the three-dimensional image data of the codebook design, and send the residual vector to the codebook design module;
  • the codebook design module is specifically configured to receive a residual vector of vertex data in the codebook design 3D image data sent by the vertex prediction module, according to the grouping quantity and the grouping ratio, according to the grouping ratio from the residual vector According to the order of the residual vector modulus from small to large, extract a corresponding number of residual vectors to form a set of residual vectors, record the set of threshold values, and so on, obtain multiple sets of residual vectors consistent with the number of packets, and According to the generation sequence, each code vector design module is configured to extract each group of residual vectors one by one, and use the LBG algorithm to train each group of residual vectors extracted to generate a specified quantity. The codewords form the corresponding compressed subcodebook.
  • the vertex data prediction module is further configured to calculate a residual vector of the vertex data in the three-dimensional image data to be compressed, and send the residual vector to the codeword search module; correspondingly, the codeword
  • the searching module is configured to receive a residual vector of the vertex data in the three-dimensional image data to be compressed sent by the vertex data prediction module, and compare the modulus value of the residual vector with the grouping threshold of each group of compressed sub-codebooks. , select the residual vector to perform codeword search
  • the compressed sub-codebook performs a codeword search from the selected compressed sub-codebook to obtain the best matching codeword.
  • the device further includes: a control module, configured to select whether the codeword search method is an FS method or a fast search method, and notify the codeword search module of the selected codeword search method;
  • the codeword search module is further configured to receive a notification of the selected codeword search method sent by the control module.
  • the codeword search module when using the fast search method, is specifically used to: calculate a group of compressed subcodebooks by using a Principal Component Analysis (PCA) algorithm, and obtain each group of compressed subcodes respectively.
  • the orthogonal transformation matrix corresponding to the book using the orthogonal transformation matrix corresponding to each group of compressed subcodes, transforming all the codewords in the compressed subcodebook, and storing the orthogonally transformed codewords as new codewords
  • the compressed subcodebook corresponding to the residual vector is determined one by one according to the grouping threshold value, and the residual vector is orthogonally transformed by using the orthogonal transform matrix of the compressed subcodebook. And using the transformed residual vector to search the orthogonally transformed codeword in the selected compressed subcodebook to obtain the best matching codeword.
  • the present invention also provides a method for compressing vertex data in three-dimensional image data, the method comprising:
  • the grouping the residual vectors of the vertex data in the three-dimensional image data of the codebook design includes: calculating a residual vector of the vertex data in the three-dimensional image data of the codebook design; The number of packets and the proportion of the packets are respectively extracted from the residual vector according to the grouping ratio according to the residual vector modulus from small to large, and a corresponding number of residual vectors are extracted to form a set of residual vectors, and the set of threshold values is recorded.
  • multiple sets of residual vectors are obtained that are consistent with the number of packets, and each residual vector group is numbered in the order of generation.
  • the generating a compressed sub-codebook consisting of a specified number of codewords for each group of residual vectors includes: extracting each group of residual vectors one by one, and performing each of the extracted residual vectors by using an LBG algorithm.
  • the training generates a specified number of codewords to form a corresponding compressed subcodebook.
  • the residual vector of the vertex data in the three-dimensional image data to be compressed is selected, and the best matching codeword is selected from the corresponding compressed sub-codebook, including: calculating the vertex in the three-dimensional image data to be compressed
  • the residual vector of the data, the modulus value of the residual vector is compared with the grouping threshold value of each group of compressed sub-codebooks, and the compressed sub-codebook for which the residual vector is to be searched for the codeword is selected, from the selected compression
  • the codeword search is performed in the subcode book to obtain the best matching codeword.
  • the codeword search is: an FS method or a fast search method.
  • the fast search method includes:
  • the PCA algorithm is used to calculate each group of compressed subcodebooks, and the orthogonal transform matrix corresponding to each group of compressed subcodebooks is obtained respectively.
  • the orthogonal transform matrix corresponding to each group of compressed subcodebooks is used in the compressed subcodebook. All codewords are transformed, and the orthogonally transformed codeword is stored as a new codeword in the compressed subcodebook;
  • the compressed subcodebook corresponding to the residual vector is determined one by one according to the grouping threshold value, and the residual vector is orthogonally transformed by using the orthogonal transform matrix of the compressed subcodebook, and the transformed residual is used.
  • the vector searches the orthogonally transformed codewords in the selected compressed subcodebook to obtain the best matching codeword.
  • the method and apparatus for compressing vertex data in three-dimensional image data generate a compressed sub-codebook by specifying a number of codewords of each group of compressed subcodebooks, and can according to the number of residual vectors of vertex data in the three-dimensional image data.
  • the compressed sub-codebook corresponding to the residual vector group with a small residual vector modulus value specifies a smaller number of codewords, thereby reducing the total number of codewords without affecting the final compression result, thus saving codeword storage space.
  • a larger number of codewords is specified for the compressed subcodebook corresponding to the residual vector group having a larger residual vector modulus, so that the codeword for representing the larger residual vector can be increased, thereby improving coding. quality.
  • the codeword search since the best matching codeword is selected from the corresponding compressed subcodes for each residual vector, and the compressed subcodebook is generated, the residual value with a smaller frequency is used.
  • the number of codewords specified in the corresponding compressed subcode book is small, so the search time in the compressed subcodebook with higher frequency of use can be reduced, and the residual vector group frequency of the residual vector modulus is larger.
  • the final The compression result corresponds to a decrease in the number of bits corresponding to the compressed subcode index value and the codeword index value, thereby improving the compression ratio of the vertex data.
  • FIG. 1 is a schematic structural diagram of a device for compressing vertex data in a three-dimensional image data according to the present invention
  • FIG. 1 is a schematic flowchart of generating a compressed subcodebook according to the present invention
  • FIG. 3 is a schematic flowchart of obtaining a best matching codeword by using a compressed subcodebook according to the present invention. detailed description
  • the basic idea of the present invention is: grouping the residual vectors of the vertex data in the three-dimensional image data of the codebook design, and generating a compressed sub-codebook corresponding to the specified number of codewords for each group of residual vectors; and sequentially the three-dimensional image data to be compressed.
  • the residual vector of the mid-vertex data selects the best matching codeword, and the codeword index value of the best matching codeword and the index value of the compressed subcodebook are used as the compression result of the vertex data.
  • the apparatus for compressing vertex data in the three-dimensional image data provided by the present invention is as shown in FIG. 1, and includes: a codebook design module 102 and a codeword search module 103;
  • the codebook design module 102 is configured to group the residual vectors of the vertex data in the three-dimensional image data of the codebook design, and generate a compressed subcodebook corresponding to the specified number of codewords for each group of residual vectors, and compress the subcodes of each group.
  • the book is sent to the codeword search module 103;
  • the codeword search module 103 is configured to receive the compressed subcodebook sent by the codebook design module 102, and the residual vector of the vertex data in the three-dimensional image data to be compressed, and select the best match from the corresponding compressed subcodebook. a codeword, the codeword index value of the best matching codeword, and an index value of the compressed subcodebook are used as a compression result of the vertex data.
  • the device further includes: a control module 104 and a vertex data prediction module 101;
  • the control module 104 is configured to set an operation state of the compression device.
  • the operation state is to generate a compression subcode book, send the codebook design three-dimensional image data to the vertex data prediction module 101, and notify the vertex data prediction module 101 to use the residual vector.
  • the vertex data prediction module 101 is configured to receive the three-dimensional image data of the codebook design sent by the control module 104, calculate the three-dimensional image data of the codebook by using the parallelogram prediction algorithm, and obtain the residual vector corresponding to each vertex, according to the control module.
  • the notification sent by 104 sends the resulting residual vector to the codebook design module 102;
  • the codebook design module 102 is further configured to receive a residual vector of vertex data in the codebook design three-dimensional image data sent by the vertex data prediction module 101;
  • the code book design three-dimensional image data is a three-dimensional image data specially selected by a user for generating a compressed sub-codebook according to an actual situation.
  • the codebook design module 102 is configured to extract, according to a preset number of packets and a grouping ratio, a residual number vector according to a grouping ratio from a residual vector to a residual vector modulus from small to large.
  • a set of residual vectors record the set of threshold values, and so on, And a plurality of sets of residual vectors that are consistent with the number of packets, and are numbered by each group according to the generation order; wherein the preset number of packets is preset according to actual conditions; the grouping ratio is: according to actual The ratio of the number of residual vectors included in each set of residual vectors set by the situation to the total number of residual vectors;
  • the grouping threshold is: when the residual vector is composed according to the allocation ratio, and the residual vector subset is composed , a modulus value of a residual vector corresponding to each allocation ratio;
  • the number of groups can be preset to three, and the grouping ratio is 85%, 10%, and 5%; respectively, according to the allocation ratio of 85%, 10%, and 5%, from the residual vector, the residual vector modulus is from small to In a large order, a corresponding number of residual vectors are extracted to form three sets of residual vectors, and the modulus values of the residual vectors corresponding to 85%, 10%, and 5% are respectively recorded as grouping threshold values of the residual vectors of the groups.
  • the codebook design module 102 is specifically configured to extract each group of residual vectors one by one, and use the LBG algorithm to train each of the extracted residual vectors to generate a specified number of codewords to form a corresponding compressed subcodebook.
  • the codeword in the compressed subcodebook sequentially sets a codeword index value, and the group number of the group of residual vectors is used as an index value of the compressed subcodebook, and a grouping threshold value corresponding to the group of residual vectors is used as a compressor.
  • the grouping threshold value of the codebook and so on, sending the packet thresholds corresponding to all the compressed subcodebooks and the respective sets of compressed subcodebooks to the codeword search module 103; correspondingly, the codeword search module 103, And is further configured to receive and save the compressed sub-codebook sent by the codebook design module 102 and the grouping threshold value corresponding to each group of compressed sub-codebooks;
  • the LBG algorithm and the method for training the modulus values of the residual vector using the LBG algorithm are all prior art, and are not described herein;
  • the specified number of codewords is:
  • the number of codewords in each group of compressed subcodebooks set according to actual conditions may be based on the number of codewords included in the compressed subcodebook generated in the prior art, one by one.
  • the ratio of the number of codewords in the subcodebook to the total number of codewords in the compressed codebook generated in the prior art is 1/8, 1/4 and 1/2.
  • the codebook design module 102 is further configured to: when the compression subcode book and the grouping threshold value corresponding to each group of compressed subcodebooks are sent to the codeword search module 103, notify the control module 104 that the codebook design is completed;
  • the control module 104 is further configured to receive a notification that the codebook design completion sent by the codebook design module 102 is completed, and enter an operation state of using the compressed subcodebook to obtain a best matching codeword.
  • the control module 104 is further configured to: after entering the operation state of obtaining the best matching codeword by using the compressed subcodebook, determine whether to re-preset the compressed subcodebook according to actual conditions in real time, and if necessary, return to generate the compressed subroutine. The operational status of the codebook, otherwise, the current operational state is maintained.
  • the control module 104 is further configured to: when the operating state of the device is that the best matching codeword is obtained by using the compressed subcodebook, send the three-dimensional image data to be compressed to the vertex data prediction module 101, and notify the vertex data prediction module 101 to The residual vector is sent to the codeword search module 103.
  • the vertex data prediction module 101 is further configured to calculate a residual vector corresponding to each vertex of the three-dimensional image data to be compressed sent by the control module 104, and according to the control module 104. The notification sends all the calculated residual vectors to the codeword search module 103.
  • the codeword search module 103 is specifically configured to extract a residual vector one by one, perform a codeword search from a corresponding compressed subcodebook, obtain a best matching codeword, and obtain a codeword index value of the best matching codeword, And compressing the index value of the compressed codebook as a result of the compression of the vertex data until obtaining a compression result of the residual vector corresponding to all the vertex data; wherein the corresponding compressed subcodebook is: according to the modulus value of the residual vector
  • the grouping threshold values of each group of compressed subcodebooks are compared, and the compressed subcodebook for which the codeword search is to be performed is selected.
  • the control module 104 is further configured to: select the codeword search method as the FS method or the fast search method, and notify the codeword search method to the codeword search module 103; correspondingly, the codeword search module 103 is further used. The notification of the codeword search method sent by the control module 104 is received.
  • the codeword search module 103 is specifically configured to calculate, by using the PCA algorithm, each group of compressed subcodebooks sent by the codebook design module 102 when the codeword search method is a fast search method. Obtain an orthogonal transform matrix corresponding to each group of compressed subcodebooks, and transform all the codewords in the compressed subcodebook by using orthogonal transform matrices corresponding to each set of compressed subcodebooks, and perform orthogonal transform codes. The word is stored as a new codeword in the compressed subcode book; when performing the codeword search, the codebook group corresponding to the residual vector is determined one by one according to the grouping threshold value, and then the orthogonal transform matrix pair of the codebook group is used.
  • the residual vector is orthogonally transformed, and the transformed codeword is searched in the selected codeword group by using the transformed residual vector to obtain the best matching codeword.
  • the OTNNS Organic Normal Transform Nearest Neighbor Search
  • the compression device for vertex data in the above three-dimensional image data can be installed as a logic module on a mobile terminal or a personal computer.
  • the present invention provides a method for compressing vertex data in three-dimensional image data, comprising: generating a compressed subcodebook and using a compressed subcodebook to obtain two parts of the best matching codeword; wherein, the process of generating the compressed subcodebook is as shown in the figure 2, including the following steps:
  • Step 201 Design a three-dimensional image data according to the code book to generate a residual vector.
  • the generating the residual vector is: calculating a three-dimensional image data of the codebook by using a parallelogram prediction algorithm, and obtaining a residual vector corresponding to each vertex; wherein the parallelogram prediction algorithm and the parallelogram prediction algorithm are used
  • the calculations are all prior art, and are not described herein; the number of residual vectors is the same as the number of vertices included in the input three-dimensional image data.
  • Step 202 Divide the residual vector into multiple sets of residual vectors, and record the grouping threshold. Specifically, according to the preset number of packets and the proportion of the packets, the residual vector is extracted from the residual vector according to the grouping ratio from the d to the large order, and the corresponding number of residual vectors are combined to form a set of residual vectors. Record the set of threshold values, and so on, obtain multiple sets of residual vectors that are consistent with the number of packets, and number each set of residual vectors in the order of generation.
  • Step 203 Generate a compressed subcodebook corresponding to each group of residual vectors.
  • the compressed sub-codebook corresponding to each group of residual vectors is generated by: extracting each group of residual vectors one by one, and training each of the extracted residual vectors by using an LBG algorithm to generate a specified number of codewords, and correspondingly composing Compressing a subcode book, sequentially setting a codeword index value for the codeword in the compressed subcodebook, and using the group number of the group of residual vectors as an index value of the compressed subcodebook, and grouping the group of residual vectors corresponding to the group
  • the threshold value is used as the grouping threshold of the compressed subcodebook, and so on.
  • step 203 it may be determined whether to re-preset the compressed sub-codebook according to the actual situation, if necessary, select a new three-dimensional image data dedicated to generating the compressed sub-codebook, and perform step 201; otherwise, do not operate .
  • the process of obtaining the best matching codeword using the compressed sub-codebook is as shown in FIG. 3, and includes the following steps:
  • Step 301 Calculate a residual vector corresponding to each vertex of the three-dimensional image data to be compressed.
  • the calculation is performed using the parallelogram prediction method, which is a prior art and will not be described herein.
  • Step 302 Extract the residual vector one by one, perform a codeword search from the corresponding compressed sub-codebook, obtain the best matching codeword, and the codeword index value of the best matching codeword, and the compression subcode book. ! The value is the result of compression of the vertex data until the compression result of the residual vector corresponding to all vertex data is obtained.
  • step 302 After the step 302 is completed, it is also determined whether a new three-dimensional image data to be compressed is received, and if yes, step 301 is performed; otherwise, it is repeatedly determined whether a new three-dimensional image data to be compressed is received.
  • the method for searching the codeword may use the FS method in the prior art, and may also use a fast search method;
  • the fast search method specifically includes:
  • step 203 the PCA algorithm is used to calculate each group of compressed sub-codebooks. Don't obtain the orthogonal transform matrix corresponding to each group of compressed subcodebooks; use the orthogonal transform matrix corresponding to each set of compressed subcodebooks to transform all the codewords in the compressed subcodebook, and then transform the orthogonally transformed codes.
  • the word is stored as a new codeword in the compressed subcode book;
  • the compressed subcodebook corresponding to the residual vector is determined one by one according to the grouping threshold value, and the residual vector is orthogonally transformed by using the orthogonal transform matrix of the compressed subcodebook.
  • the transformed residual vector searches the orthogonally transformed codewords in the selected codeword group to obtain the best matching codeword.
  • the searching for the orthogonally transformed codewords in the selected codeword group may be performed by using the OTNNS algorithm.
  • the OTNNS algorithm is prior art and will not be described here.
  • the three groups of the residual vector are divided into groups of 85%, 10%, and 5%, and the codeword search method is the FS method, thereby realizing the compression of the vertex data in the three-dimensional image data of the present invention.
  • the method includes the following steps:
  • Step 401 Generate a residual vector by using three-dimensional image data dedicated to generating a compressed sub-codebook.
  • Step 402 Divide the residual vector into three sets of residual vectors, and record the grouping threshold.
  • the residual vectors in the residual vector set are arranged in order of modulo values from small to large, and the residual vectors are extracted from the residual vector set one by one according to the allocation ratios of 85%, 10%, and 5%, respectively.
  • Step 403 Generate three corresponding sets of compressed sub-codebooks by using three sets of residual vectors.
  • Step 404 Calculate a residual vector corresponding to each vertex of the three-dimensional image data to be compressed.
  • Step 405 Extract the residual vector one by one, perform a codeword search from the corresponding compressed sub-codebook by using the FS method, obtain a best matching codeword, and code the codeword index value i and the compressed subcode of the best matching codeword.
  • the index value u of the book is used as the compression result (u, i ) of the vertex data until the compression result of the residual vector corresponding to all the vertex data is obtained.
  • Step 406 Determine whether a new three-dimensional image data to be compressed is received, and if yes, execute Step 404; otherwise, step 406 is repeated.
  • the three groups of the residual vector are divided into groups of 85%, 10%, and 5%, and the codeword search method is a fast search method, and the vertex data in the three-dimensional image data of the present invention is implemented.
  • the compression method includes the following steps:
  • Step 501 Generate a residual vector by using three-dimensional image data dedicated to generating a compressed sub-codebook.
  • Step 502 Divide the residual vector into three sets of residual vectors, and record the grouping threshold.
  • the residual vectors in the residual vector set are arranged in order of modulo values from small to large, and the residual vectors are extracted from the residual vector set one by one according to the allocation ratios of 85%, 10%, and 5%, respectively.
  • Step 503 Generate three corresponding sets of compressed sub-codebooks by using three sets of residual vectors.
  • Step 504 Calculate each group of compressed sub-codebooks by using a PCA algorithm, and respectively obtain an orthogonal transform matrix corresponding to each group of compressed sub-codebooks; using the orthogonal transform matrix corresponding to each group of compressed sub-codebooks, the compressed sub-codes All codewords in the book are transformed, and the orthogonally transformed codeword is stored as a new codeword in the compressed subcodebook.
  • Step 505 Calculate a residual vector corresponding to each vertex of the three-dimensional image data to be compressed.
  • Step 506 Determine a compressed subcode corresponding to the residual vector one by one according to the grouping threshold, perform orthogonal transform on the residual vector using the orthogonal transform matrix of the compressed subcode, and use the transformed residual by using the ONTNS algorithm.
  • the vector searches the orthogonally transformed codeword in the selected codeword group to obtain the best matching codeword, and the codeword index value i of the best matching codeword and the index value of the compressed subcodebook are As a result of the compression of the vertex data (u, i ), the compression result of the residual vector corresponding to all the vertex data is obtained.
  • Step 507 Determine whether new three-dimensional image data to be compressed is received, and if yes, execute step 505; otherwise, repeat step 507.
  • Method and device for compressing vertex data in three-dimensional image data provided by the present invention
  • the number of codewords of each group of compressed subcodebooks is grouped to generate a compressed subcodebook, and a smaller number of codewords is specified for the compressed subcodebook corresponding to the residual vector group whose residual vector modulus is smaller than 'J, thereby reducing the number of codewords, thereby reducing
  • the total number of codewords does not affect the final compression result, achieving the purpose of saving codeword storage space; improving the coding quality by adding codewords for representing larger residual vectors; in addition, when performing codeword search, it can be reduced For the search time in the compressed subcodebook with higher frequency, thereby improving the compression efficiency; improving the compression ratio of the vertex data by reducing the number of Bits corresponding to the final compression result;
  • the present invention can also select to use a fast search method when performing codeword search, and the fast search method can further reduce the search time by reducing the multiplication calculation, thereby further improving the compression efficiency.

Landscapes

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

Abstract

本发明公开了一种三维图像数据中顶点数据的压缩装置,包括:码书设计模块,用于将码书设计三维图像数据中顶点数据的残差矢量分组,为各组残差矢量生成对应的由指定数量码字组成的压缩子码书,将各组压缩子码书发送给码字搜索模块;码字搜索模块,用于接收码书设计模块发来的压缩子码书,及依次为待压缩三维图像数据中顶点数据的残差矢量选取最佳匹配码字,将最佳匹配码字的码字索引值、及所在压缩子码书的索引值作为该顶点数据的压缩结果。本发明还同时公开了一种三维图像数据中顶点数据的压缩方法,采用本发明能节约码字的存储空间、提高编码质量、改善顶点数据的压缩比、并且提高压缩效率。

Description

一种三维图像数据中顶点数据的压缩方法及装置 技术领域
本发明涉及三维图像处理领域中的数据压缩技术, 尤其涉及一种三维 图像数据中顶点数据的压缩方法及装置。 背景技术
随着图像处理技术的发展, 效果更为逼真的三维图像逐渐成为图像数 据处理的热点。 三维图像数据处理中的一个重要技术即压缩技术, 三维图 像数据的压缩包括: 顶点连接关系数据的压缩和顶点数据的压缩两部分; 其中, 顶点连接关系数据的压缩方法, 目前已经可以使顶点连接关系数据 的压缩效率接近理论上的极限值, 所以, 三维图像数据中顶点数据的压缩 方法成为影响三维图像数据压缩效率的重要因素。
目前顶点数据的压缩方法, 包括以下步驟: 生成压缩码书; 计算待压 缩的三维图像数据的各个顶点对应的残差矢量, 将所得的残差矢量作为待 编码残差矢量; 逐个提取待编码残差矢量, 利用所提取的待编码残差矢量 在预置的压缩码书中搜索获取最佳匹配码字, 将最佳匹配码字的码字索引 值作为该顶点数据的压缩结果, 依此类推, 直至获取所有顶点数据对应的 残差矢量的压缩结果。
其中, 生成压缩码书的方法为: 利用平行四边形预测算法对选定的专 门用于生成压缩码书的三维图像数据进行计算, 得出该三维图像数据各个 顶点对应的残差矢量; 利用 LBG算法, 对上述各个顶点对应的残差矢量的 模值进行训练, 得到最终的码字组成的集合即为压缩码书。 但是, 这种方 法没有充分考虑三维图像数据的残差矢量的模值的分布特性, 即残差矢量 的模值较小的部分较多, 且相互之间差值很小, 如此, 生成的压缩码书中 就会存储大量欧氏距离很近的码字, 从而浪费存储空间。 比如: 假设最终 得到的压缩码书有一百个码字为 {ΧιΥιΖι;Χ2^,ζ 2 ; ... ;x100 ,y100,z 100} , 其中八十个 码字所对应的残差矢量的模值为 0到 150之间, 且这八十个压缩码之间的 欧氏距离非常小, 这样, 就会使用较大的存储空间存储很多类似的码字; 并且, 由于只有小部分压缩码书用来表示残差矢量的模值较大的顶点数据, 会导致无法使图像质量提高。
另外, 上述顶点数据的压缩方法中, 在压缩码书中搜索的方法为全搜 索(FS, Full Search )方法, 包括: 遍历压缩码书中的所有码字, 对每个码 字与待编码残差矢量进行计算获得欧氏距离, 最终将欧氏距离最小的码字 作为最佳匹配码字, 将最佳匹配码字的码字索引值作为该顶点数据的压缩 结果。 但是, 由于在预置压缩码书时, 压缩码书中就会存储大量欧氏距离 很近的码字, 所以在获取最佳匹配码字时, 会浪费时间来遍历大量类似码 字并进行计算, 因此, 影响顶点数据的压缩效率; 并且, 由于大量类似码 字会增加码字索引值的数量, 从而, 使码字索引值的比特 (Bit )数增加, 进而使由顶点数据的压缩结果与残差矢量的 Bit 比值计算得到的顶点数据 的压缩比无法改善。
可见, 目前已有的顶点数据的压缩方法, 由于没有充分利用三维图像 数据中顶点数据的分布特点, 导致无法节约码字的存储空间、 无法提高编 码质量、 无法改善顶点数据的压缩比、 并且影响压缩效率。 发明内容
有鉴于此, 本发明的目的在于提供一种三维图像数据中顶点数据的压 缩方法及装置, 能节约码字的存储空间、 提高编码质量、 改善顶点数据的 压缩比、 并且提高压缩效率。
为达到上述目的, 本发明的技术方案是这样实现的:
本发明提供了一种三维图像数据中顶点数据的压缩装置,该装置包括: 码书设计模块和码字搜索模块; 其中,
码书设计模块,用于将码书设计三维图像数据中顶点数据的残差矢量 分组, 为各组残差矢量生成对应的由指定数量码字组成的压缩子码书, 将 各组压缩子码书发送给码字搜索模块;
码字搜索模块, 用于接收码书设计模块发来的压缩子码书, 以及依 次为待压缩三维图像数据中顶点数据的残差矢量选取最佳匹配码字, 将所 述最佳匹配码字的码字索引值、 及所在压缩子码书的索引值作为所述顶点 数据的压缩结果。
上述方案中, 所述装置还包括: 顶点数据预测模块, 用于计算得出 码书设计三维图像数据中顶点数据的残差矢量, 并将残差矢量发送给码书 设计模块;
相应的, 所述码书设计模块, 具体用于接收顶点预测模块发来的码 书设计三维图像数据中顶点数据的残差矢量, 根据分组数量和分组比例, 逐个根据分组比例从残差矢量中按照残差矢量模值从小到大的顺序, 提取 相应数量的残差矢量组成一组残差矢量, 记录该组门限值, 依此类推, 获 得与分组数量一致的多组残差矢量, 并按照生成顺序为每个残差矢量组编 上述方案中, 所述码书设计模块, 具体用于逐个提取各组残差矢量, 使用 LBG算法对所提取的每组残差矢量进行训练生成指定数量的码字, 组成对应的压缩子码书。
上述方案中, 所述顶点数据预测模块, 还用于计算得出待压缩的三 维图像数据中顶点数据的残差矢量, 并将残差矢量发送给码字搜索模块; 相应的, 所述码字搜索模块, 具体用于接收顶点数据预测模块发来 的待压缩的三维图像数据中顶点数据的残差矢量, 将残差矢量的模值与每 组压缩子码书的分组门限值进行比对, 选定残差矢量所要进行码字搜索 的压缩子码书, 从选定的压缩子码书中进行码字搜索, 获取最佳匹配码 字。
上述方案中, 所述装置还包括: 控制模块, 用于选择码字搜索方法 为 FS 方法还是快速搜索方法, 并将选定的码字搜索方法通知给码字搜 索模块;
相应的, 所述码字搜索模块, 还用于接收控制模块发来的选定的码 字搜索方法的通知。
上述方案中, 所述码字搜索模块, 使用快速搜索方法时, 具体用于: 运用主成分分析 ( PCA, Principal Component Analysis )算法对各组 压缩子码书进行计算, 分别得到各组压缩子码书对应的正交变换矩阵; 利用各组压缩子码书对应的正交变换矩阵, 对该压缩子码书中的所有码 字进行变换,将经过正交变换的码字作为新码字保存在该压缩子码书中; 当码字搜索时, 根据分组门限值, 逐个确定残差矢量对应的压缩子 码书, 使用该压缩子码书的正交变换矩阵对残差矢量进行正交变换, 利 用变换后的残差矢量在选定的压缩子码书中对经过正交变换的码字进行 搜索, 获取最佳匹配码字。
本发明还提供了一种三维图像数据中顶点数据的压缩方法,该方法包 括:
将码书设计三维图像数据中顶点数据的残差矢量分组, 为各组残差矢 量生成对应的由指定数量码字组成的压缩子码书;
依次为待压缩三维图像数据中顶点数据的残差矢量选取最佳匹配码 字, 将所述最佳匹配码字的码字索引值、 及所在压缩子码书的索引值作为 所述顶点数据的压缩结果。
上述方案中,所述将码书设计三维图像数据中顶点数据的残差矢量分 组, 包括: 计算得出码书设计三维图像数据中顶点数据的残差矢量; 根据 分组数量和分组比例, 逐个根据分组比例从残差矢量中按照残差矢量模值 从小到大的顺序, 提取相应数量的残差矢量组成一组残差矢量, 记录该组 门限值, 依此类推, 获得与分组数量一致的多组残差矢量, 并按照生成顺 序为每个残差矢量组编号。
上述方案中, 所述为各组残差矢量生成对应的由指定数量码字组成的 压缩子码书, 包括: 逐个提取各组残差矢量, 使用 LBG算法对所提取的 每组残差矢量进行训练生成指定数量的码字, 组成对应的压缩子码书。
上述方案中, 所述依次为待压缩的三维图像数据中顶点数据的残差矢 量, 从对应的压缩子码书中选取最佳匹配码字, 包括: 计算得出待压缩的 三维图像数据中顶点数据的残差矢量,将残差矢量的模值与每组压缩子码 书的分组门限值进行比对, 选定残差矢量所要进行码字搜索的压缩子码 书, 从选定的压缩子码书中进行码字搜索, 获取最佳匹配码字。
上述方案中, 所述码字搜索为: FS方法或快速搜索方法。
上述方案中, 所述快速搜索方法包括:
运用 PCA算法对各组压缩子码书进行计算,分别得到各组压缩子码 书对应的正交变换矩阵; 利用各组压缩子码书对应的正交变换矩阵, 对 该压缩子码书中的所有码字进行变换, 将经过正交变换的码字作为新码 字保存在该压缩子码书中;
当码字搜索时, 根据分组门限值, 逐个确定残差矢量对应的压缩子 码书, 使用该压缩子码书的正交变换矩阵对残差矢量进行正交变换, 利 用变换后的残差矢量在选定的压缩子码书中对经过正交变换的码字进行 搜索, 获取最佳匹配码字。
本发明所提供的三维图像数据中顶点数据的压缩方法及装置, 通过指 定各组压缩子码书的码字数量分组生成压缩子码书, 能够根据三维图像数 据中顶点数据的残差矢量的数量随模值由 d、到大依次减小的分布特点, 对 由残差矢量模值较小的残差矢量组对应的压缩子码书指定较少的码字数 量, 从而能够减少总码字数量且不影响最终的压缩结果, 如此, 可节约码 字存储空间; 并且, 对由残差矢量模值较大的残差矢量组对应的压缩子码 书指定较多的码字数量, 如此, 能够增加用于表示较大残差矢量的码字, 从而提高编码质量。
另外, 在进行码字搜索时, 由于对各个残差矢量从对应的压缩子码 书中选取最佳匹配码字, 且生成压缩子码书时对使用频率较高的模值较 小的残差矢量对应的压缩子码书中指定的码字数量较小, 所以可以减少 对使用频率较高的压缩子码书中的搜索时间, 并且由于残差矢量模值较 大的残差矢量组使用频率较低, 因而针对残差矢量模值较大部分增加的 码字数量不会对搜索时间产生明显影响, 从而整体上提高压缩效率; 进一步的, 通过减少码字数量且将码字分组, 使最终的压缩结果对应 的压缩子码书索引值和码字索引值对应的 Bit数量减少,从而改善顶点数据 的压缩比。 附图说明
图 1为本发明三维图像数据中顶点数据的压缩装置组成结构示意图; 图 1为本发明生成压缩子码书的流程示意图;
图 3为本发明使用压缩子码书获取最佳匹配码字的流程示意图。 具体实施方式
本发明的基本思想是:将码书设计三维图像数据中顶点数据的残差矢 量分组, 为各组残差矢量生成指定数量的码字组成对应的压缩子码书; 依次为待压缩三维图像数据中顶点数据的残差矢量选取最佳匹配码字, 将 最佳匹配码字的码字索引值、 及所在压缩子码书的索引值作为该顶点数据 的压缩结果。 下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明提供的一种三维图像数据中顶点数据的压缩装置如图 1 所示, 包括: 码书设计模块 102和码字搜索模块 103 ; 其中,
码书设计模块 102 , 用于将码书设计三维图像数据中顶点数据的残差 矢量分组, 为各组残差矢量生成指定数量的码字组成对应的压缩子码书, 将各组压缩子码书发送给码字搜索模块 103;
码字搜索模块 103 , 用于接收码书设计模块 102发来的压缩子码书, 以及依次为待压缩三维图像数据中顶点数据的残差矢量, 从对应的压缩子 码书中选取最佳匹配码字, 将所述最佳匹配码字的码字索引值、 及所在压 缩子码书的索引值作为所述顶点数据的压缩结果。
所述装置还包括: 控制模块 104和顶点数据预测模块 101 ;
控制模块 104, 用于设置压缩装置的操作状态, 当操作状态为生成压缩 子码书时, 将码书设计三维图像数据发送给顶点数据预测模块 101 , 并通 知顶点数据预测模块 101将残差矢量发送给码书设计模块 102;
顶点数据预测模块 101 , 用于接收控制模块 104发来的码书设计三维 图像数据, 利用平行四边形预测算法对码书设计三维图像数据进行计算, 得出各个顶点对应的残差矢量, 根据控制模块 104发来的通知将得出的残 差矢量发送给码书设计模块 102;
相应的, 所述码书设计模块 102 , 还用于接收顶点数据预测模块 101 发来的码书设计三维图像数据中顶点数据的残差矢量;
其中, 所述码书设计三维图像数据为根据实际情况由用户选定的专 门用于生成压缩子码书的三维图像数据。
所述码书设计模块 102 , 具体用于根据预置的分组数量和分组比例, 逐个根据分组比例从残差矢量中按照残差矢量模值从小到大的顺序, 提取 相应数量的残差矢量组成一组残差矢量, 记录该组门限值, 依此类推, 获 得与分组数量一致的多组残差矢量, 并按照生成顺序为每组残差矢量编号; 其中, 所述预置的分组数量为根据实际情况预置的数量; 所述分组比 例为: 根据实际情况设定的每组残差矢量中包含的残差矢量的数量占总残 差矢量的数量的比例值; 所述分组门限值为: 根据分配比例提取残差矢量 组成残差矢量子集合时, 各个分配比例所对应的残差矢量的模值;
比如: 可以预置分组数量为三个、 分组比例分别为 85%、 10%和 5%; 分别按照分配比例为 85%、 10%和 5%从残差矢量中按照残差矢量模值从小 到大的顺序, 提取相应数量的残差矢量组成三组残差矢量, 并且分别记录 85%、 10%和 5%对应的残差矢量的模值作为各组残差矢量的分组门限值。
所述码书设计模块 102 ,具体用于逐个提取各组残差矢量,使用 LBG 算法, 对所提取的每组残差矢量进行训练生成指定数量的码字, 组成对应 的压缩子码书, 为该压缩子码书中的码字依次设置码字索引值, 并将该组 残差矢量的组编号作为压缩子码书的索引值、 将该组残差矢量对应的分组 门限值作为压缩子码书的分组门限值, 依此类推, 将所有压缩子码书及各 组压缩子码书对应的分组门限值发送给码字搜索模块 103 ; 相应的, 所 述码字搜索模块 103 , 还用于接收并保存码书设计模块 102发来的压缩 子码书及各组压缩子码书对应的分组门限值;
其中, 所述 LBG算法、 以及使用 LBG算法对残差矢量的模值进行训 练的方法均为已有技术, 这里不做赘述;
所述指定数量的码字为: 根据实际情况设定的每组压缩子码书中码字 的数量, 可以根据已有技术中生成的压缩子码书中所包含的码字数量为依 据, 逐个设置压缩子码书中的码字数量、 占已有技术中生成的压缩码书中 的总码字数量的比例值对应的数量; 比如: 当有三组压缩子码书时, 分别 设置各组压缩子码书中的码字数量占已有技术中生成的压缩码书中的总码 字数的比值为 1/8、 1/4和 1/2。 所述码书设计模块 102 , 还用于将压缩子码书及各组压缩子码书对 应的分组门限值发送给码字搜索模块 103时, 通知控制模块 104码书设 计完成; 相应的, 所述控制模块 104 , 还用于接收码书设计模块 102发 来的码书设计完成的通知, 进入使用压缩子码书获取最佳匹配码字的操作 状态。
所述控制模块 104, 还用于进入使用压缩子码书获取最佳匹配码字的 操作状态后, 实时根据实际情况确定是否要重新预置压缩子码书, 若需要, 则重新返回生成压缩子码书的操作状态, 否则, 保持当前操作状态。
所述控制模块 104,还用于当装置的操作状态为使用压缩子码书获取最 佳匹配码字时,将待压缩三维图像数据发送给顶点数据预测模块 101 , 并通 知顶点数据预测模块 101将残差矢量发送给码字搜索模块 103; 相应的, 所 述顶点数据预测模块 101 ,还用于计算控制模块 104发来的待压缩三维图像 数据各个顶点对应的残差矢量, 并根据控制模块 104 的通知将计算得到的 所有残差矢量发送给码字搜索模块 103。
所述码字搜索模块 103 , 具体用于逐个提取残差矢量, 从对应的压 缩子码书中进行码字搜索, 获取最佳匹配码字, 将该最佳匹配码字的码字 索引值、 及压缩子码书的索引值作为该顶点数据的压缩结果, 直至获取所 有顶点数据对应的残差矢量的压缩结果;其中,所述对应的压缩子码书为: 根据残差矢量的模值与每组压缩子码书的分组门限值进行比对, 选定残 差矢量所要进行码字搜索的压缩子码书。
所述控制模块 104,还用于选定码字搜索方法为 FS方法还是快速搜 索方法, 并将码字搜索方法通知给码字搜索模块 103 ; 相应的, 所述码 字搜索模块 103 , 还用于接收控制模块 104发来的码字搜索方法的通知。
所述码字搜索模块 103 , 具体用于当码字搜索方法为快速搜索方法 时,运用 PCA算法对码书设计模块 102发来的各组压缩子码书进行计算, 分别得到各组压缩子码书对应的正交变换矩阵, 利用各组压缩子码书对 应的正交变换矩阵, 对该压缩子码书中的所有码字进行变换, 将经过正 交变换的码字作为新码字保存在该压缩子码书中; 当执行码字搜索时, 根据分组门限值, 逐个确定残差矢量对应的码书组, 再使用该码书组的 正交变换矩阵对残差矢量进行正交变换, 利用变换后的残差矢量在选定 的码字组中对经过正交变换的码字进行搜索, 获取最佳匹配码字。 其中, 交变换的码字搜索 (OTNNS , Orthonormal Transform Nearest Neighbor Search ) 算法进行搜索。
上述三维图像数据中顶点数据的压缩装置可以作为逻辑模块, 安装在 移动终端或个人电脑上。
本发明提出一种三维图像数据中顶点数据的压缩方法, 包括生成压缩 子码书和使用压缩子码书获取最佳匹配码字两部分; 其中, 所述生成压缩 子码书的流程, 如图 2所示, 包括以下步驟:
步驟 201 : 根据码书设计三维图像数据, 生成残差矢量。
这里, 所述生成残差矢量为: 利用平行四边形预测算法对码书设计 三维图像数据进行计算, 得出各个顶点对应的残差矢量; 其中, 所述平行 四边形预测算法、以及利用平行四边形预测算法进行计算均为已有技术 , 这里不做赘述; 所述残差矢量其数量与所述输入的三维图像数据中包含 的顶点数相同。
步驟 202: 将残差矢量划分成多组残差矢量, 并记录分组门限值。 具体的, 根据预置的分组数量和分组比例, 逐个根据分组比例从残差 矢量中按照残差矢量模值从 d、到大的顺序, 提取相应数量的残差矢量组成 一组残差矢量, 记录该组门限值, 依此类推, 获得与分组数量一致的多组 残差矢量, 并按照生成顺序为每组残差矢量编号。 步驟 203 : 生成各组残差矢量对应的压缩子码书。
这里, 所述生成各组残差矢量对应的压缩子码书为: 逐个提取各组 残差矢量, 使用 LBG算法对所提取的每组残差矢量进行训练生成指定数 量的码字, 组成对应的压缩子码书, 为该压缩子码书中的码字依次设置码 字索引值, 并将该组残差矢量的组编号作为压缩子码书的索引值、 将该组 残差矢量对应的分组门限值作为压缩子码书的分组门限值, 依此类推。
在上述步驟 203之后, 还可以根据实际情况确定是否重新预置压缩子 码书, 若需要, 则选定新的专用于生成压缩子码书的三维图像数据, 执行 步驟 201 ; 否则, 不做操作。
完成上述生成压缩子码书后, 使用压缩子码书获取最佳匹配码字的流 程如图 3所示, 包括以下步驟:
步驟 301 : 计算待压缩的三维图像数据的各个顶点对应的残差矢量。 这里, 所述计算为使用平行四边形预测法进行计算, 为已有技术, 这里不做赘述。
步驟 302:逐个提取残差矢量,从对应的压缩子码书中进行码字搜索, 获取最佳匹配码字, 将该最佳匹配码字的码字索引值、 及压缩子码书的索 ?!值作为该顶点数据的压缩结果, 直至获取所有顶点数据对应的残差矢量 的压缩结果。
步驟 302完成后, 还会判断是否接收到新的待压缩的三维图像数据, 若是, 则执行步驟 301 ; 否则, 重复判断是否接收到新的待压缩的三维图像 数据。
另外, 上述步驟 302中, 所述码字搜索的方法可以使用已有技术中 的 FS方法, 还可以使用快速搜索方法;
其中, 所述快速搜索方法具体包括:
步驟 203完成之后, 运用 PCA算法对各组压缩子码书进行计算, 分 别得到各组压缩子码书对应的正交变换矩阵; 利用各组压缩子码书对应 的正交变换矩阵, 对该压缩子码书中的所有码字进行变换, 将经过正交 变换的码字作为新码字保存在该压缩子码书中;
当执行步驟 302 中的码字搜索时, 根据分组门限值, 逐个确定残差 矢量对应的压缩子码书, 使用该压缩子码书的正交变换矩阵对残差矢量 进行正交变换, 利用变换后的残差矢量在选定的码字组中对经过正交变 换的码字进行搜索, 获取最佳匹配码字。 其中, 所述在选定的码字组中 对经过正交变换的码字进行搜索可以使用 OTNNS算法进行搜索, 所述 OTNNS算法为已有技术, 这里不做赘述。
实施例一, ^^设将残差矢量划分成的三组、分组比例分别为 85%、 10% 和 5%, 码字搜索方法为 FS方法, 则实现本发明三维图像数据中顶点数据 的压缩方法, 包括以下步驟:
步驟 401 : 利用专用于生成压缩子码书的三维图像数据生成残差矢 量。
步驟 402: 将残差矢量分成三组残差矢量, 并记录分组门限值。
具体的,将残差矢量集合中的残差矢量按照模值从小到大的顺序排列, 根据分配比例分别为 85%、 10%和 5%,逐个从残差矢量集合中提取残差矢 量、 组成残差矢量子集合, 并且记录分组门限值。
步驟 403: 利用三组残差矢量, 生成对应的三组压缩子码书。
步驟 404: 计算待压缩的三维图像数据的各个顶点对应的残差矢量。 步驟 405: 逐个提取残差矢量, 使用 FS方法从对应的压缩子码书中 进行码字搜索, 获取最佳匹配码字, 将该最佳匹配码字的码字索引值 i、 及压缩子码书的索引值 u作为该顶点数据的压缩结果(u, i ), 直至获取所 有顶点数据对应的残差矢量的压缩结果。
步驟 406: 判断是否接收到新的待压缩的三维图像数据, 若是, 则执行 步驟 404; 否则, 重复执行步驟 406。
实施例二, ^^设将残差矢量划分成的三组、分组比例分别为 85%、 10% 和 5%, 码字搜索方法为快速搜索方法, 则实现本发明三维图像数据中顶 点数据的压缩方法, 包括以下步驟:
步驟 501 : 利用专用于生成压缩子码书的三维图像数据生成残差矢 量。
步驟 502: 将残差矢量分成三组残差矢量, 并记录分组门限值。
具体的,将残差矢量集合中的残差矢量按照模值从小到大的顺序排列, 根据分配比例分别为 85%、 10%和 5%,逐个从残差矢量集合中提取残差矢 量、 组成残差矢量子集合, 并且记录分组门限值。
步驟 503: 利用三组残差矢量, 生成对应的三组压缩子码书。
步驟 504: 运用 PCA算法对各组压缩子码书进行计算, 分别得到各 组压缩子码书对应的正交变换矩阵; 利用各组压缩子码书对应的正交变 换矩阵, 对该压缩子码书中的所有码字进行变换, 将经过正交变换的码 字作为新码字保存在该压缩子码书中。
步驟 505: 计算待压缩的三维图像数据的各个顶点对应的残差矢量。 步驟 506: 根据分组门限值, 逐个确定残差矢量对应的压缩子码书, 使用该压缩子码书的正交变换矩阵对残差矢量进行正交变换, 使用 OTNNS 算法利用变换后的残差矢量在选定的码字组中对经过正交变换 的码字进行搜索, 获取最佳匹配码字, 将该最佳匹配码字的码字索引值 i、 及压缩子码书的索引值 u作为该顶点数据的压缩结果(u, i ), 直至获取所 有顶点数据对应的残差矢量的压缩结果。
步驟 507: 判断是否接收到新的待压缩的三维图像数据, 若是, 则执行 步驟 505; 否则, 重复执行步驟 507。
本发明所提供的三维图像数据中顶点数据的压缩方法及装置, 通过指 定各组压缩子码书的码字数量分组生成压缩子码书, 对由残差矢量模值较 'J、的残差矢量组对应的压缩子码书指定较少的码字数量, 从而减少总码字 数量且不影响最终的压缩结果, 达到节约码字存储空间的目的; 通过增加 用于表示较大残差矢量的码字,提高编码质量; 另外, 在进行码字搜索时, 可以减少对使用频率较高的压缩子码书中的搜索时间, 从而提高压缩效 率; 通过减少最终的压缩结果对应的 Bit数量减少, 改善顶点数据的压缩 比;
进一步的,本发明在进行码字搜索时还可以选择使用快速搜索方法, 快速搜索方法能够通过减少乘法计算进一步减少搜索时间, 从而进一步 提高压缩效率。
以上所述, 仅为本发明的较佳实施例而已, 并非用于限定本发明的 保护范围。

Claims

权利要求书
1、 一种三维图像数据中顶点数据的压缩装置, 其特征在于, 该装置 包括: 码书设计模块和码字搜索模块; 其中,
码书设计模块,用于将码书设计三维图像数据中顶点数据的残差矢量 分组, 为各组残差矢量生成对应的由指定数量码字组成的压缩子码书, 将 各组压缩子码书发送给码字搜索模块;
码字搜索模块, 用于接收码书设计模块发来的压缩子码书, 以及依 次为待压缩三维图像数据中顶点数据的残差矢量选取最佳匹配码字, 将所 述最佳匹配码字的码字索引值、 及所在压缩子码书的索引值作为所述顶点 数据的压缩结果。
2、 根据权利要求 1所述的装置, 其特征在于, 所述装置还包括: 顶 点数据预测模块,用于计算得出码书设计三维图像数据中顶点数据的残差 矢量, 并将残差矢量发送给码书设计模块;
相应的, 所述码书设计模块, 具体用于接收顶点预测模块发来的码 书设计三维图像数据中顶点数据的残差矢量, 根据分组数量和分组比例, 逐个根据分组比例从残差矢量中按照残差矢量模值从小到大的顺序, 提取 相应数量的残差矢量组成一组残差矢量, 记录该组门限值, 依此类推, 获 得与分组数量一致的多组残差矢量, 并按照生成顺序为每个残差矢量组编
3、 根据权利要求 2所述的装置, 其特征在于,
所述码书设计模块, 具体用于逐个提取各组残差矢量,使用 LBG算 法对所提取的每组残差矢量进行训练生成指定数量的码字,组成对应的压 缩子码书。
4、 根据权利要求 3所述的装置, 其特征在于,
所述顶点数据预测模块,还用于计算得出待压缩的三维图像数据中顶 点数据的残差矢量, 并将残差矢量发送给码字搜索模块;
相应的, 所述码字搜索模块, 具体用于接收顶点数据预测模块发来 的待压缩的三维图像数据中顶点数据的残差矢量, 将残差矢量的模值与每 组压缩子码书的分组门限值进行比对, 选定残差矢量所要进行码字搜索 的压缩子码书, 从选定的压缩子码书中进行码字搜索, 获取最佳匹配码 字。
5、 根据权利要求 1 所述的装置, 其特征在于, 所述装置还包括: 控 制模块, 用于选择码字搜索方法为全搜索 FS 方法还是快速搜索方法, 并将选定的码字搜索方法通知给码字搜索模块;
相应的, 所述码字搜索模块, 还用于接收控制模块发来的选定的码 字搜索方法的通知。
6、 根据权利要求 5所述的装置, 其特征在于, 所述码字搜索模块, 使用快速搜索方法时, 具体用于:
运用主成分分析 PCA算法对各组压缩子码书进行计算,分别得到各 组压缩子码书对应的正交变换矩阵; 利用各组压缩子码书对应的正交变 换矩阵, 对该压缩子码书中的所有码字进行变换, 将经过正交变换的码 字作为新码字保存在该压缩子码书中;
当码字搜索时, 根据分组门限值, 逐个确定残差矢量对应的压缩子 码书, 使用该压缩子码书的正交变换矩阵对残差矢量进行正交变换, 利 用变换后的残差矢量在选定的压缩子码书中对经过正交变换的码字进行 搜索, 获取最佳匹配码字。
7、 一种三维图像数据中顶点数据的压缩方法, 其特征在于, 该方法 包括:
将码书设计三维图像数据中顶点数据的残差矢量分组, 为各组残差矢 量生成对应的由指定数量码字组成的压缩子码书; 依次为待压缩三维图像数据中顶点数据的残差矢量选取最佳匹配码 字, 将所述最佳匹配码字的码字索引值、 及所在压缩子码书的索引值作为 所述顶点数据的压缩结果。
8、 根据权利要求 7所述的方法, 其特征在于, 所述将码书设计三维 图像数据中顶点数据的残差矢量分组, 包括: 计算得出码书设计三维图像 数据中顶点数据的残差矢量; 根据分组数量和分组比例, 逐个根据分组比 例从残差矢量中按照残差矢量模值从小到大的顺序, 提取相应数量的残差 矢量组成一组残差矢量, 记录该组门限值, 依此类推, 获得与分组数量一 致的多组残差矢量, 并按照生成顺序为每个残差矢量组编号。
9、 根据权利要求 7所述的方法, 其特征在于, 所述为各组残差矢量 生成对应的由指定数量码字组成的压缩子码书, 包括: 逐个提取各组残差 矢量, 使用 LBG算法对所提取的每组残差矢量进行训练生成指定数量的 码字, 组成对应的压缩子码书。
10、 根据权利要求 7所述的方法, 其特征在于, 所述依次为待压缩的 三维图像数据中顶点数据的残差矢量, 从对应的压缩子码书中选取最佳匹 配码字, 包括: 计算得出待压缩的三维图像数据中顶点数据的残差矢量, 将残差矢量的模值与每组压缩子码书的分组门限值进行比对, 选定残差 矢量所要进行码字搜索的压缩子码书, 从选定的压缩子码书中进行码字 搜索, 获取最佳匹配码字。
11、 根据权利要求 10所述的方法, 其特征在于, 所述码字搜索为: FS 方法或快速搜索方法。
12、 根据权利要求 11所述的方法, 其特征在于, 所述快速搜索方法 包括:
运用 PCA算法对各组压缩子码书进行计算,分别得到各组压缩子码 书对应的正交变换矩阵; 利用各组压缩子码书对应的正交变换矩阵, 对 该压缩子码书中的所有码字进行变换, 将经过正交变换的码字作为新码 字保存在该压缩子码书中;
当码字搜索时, 根据分组门限值, 逐个确定残差矢量对应的压缩子 码书, 使用该压缩子码书的正交变换矩阵对残差矢量进行正交变换, 利 用变换后的残差矢量在选定的压缩子码书中对经过正交变换的码字进行 搜索, 获取最佳匹配码字。
PCT/CN2012/073932 2012-02-23 2012-04-12 一种三维图像数据中顶点数据的压缩方法及装置 Ceased WO2013123701A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US14/372,901 US9509973B2 (en) 2012-02-23 2012-04-12 Method and device for compressing vertex data in three-dimensional image data
KR1020147023119A KR101603467B1 (ko) 2012-02-23 2012-04-12 3차원 이미지 데이터 내의 정점 데이터 압축 방법 및 장치
EP12869069.0A EP2801952B1 (en) 2012-02-23 2012-04-12 Method and device for compression of vertex data in three-dimensional image data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210042419.4A CN103297766B (zh) 2012-02-23 2012-02-23 一种三维图像数据中顶点数据的压缩方法及装置
CN201210042419.4 2012-02-23

Publications (1)

Publication Number Publication Date
WO2013123701A1 true WO2013123701A1 (zh) 2013-08-29

Family

ID=49004954

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/073932 Ceased WO2013123701A1 (zh) 2012-02-23 2012-04-12 一种三维图像数据中顶点数据的压缩方法及装置

Country Status (5)

Country Link
US (1) US9509973B2 (zh)
EP (1) EP2801952B1 (zh)
KR (1) KR101603467B1 (zh)
CN (1) CN103297766B (zh)
WO (1) WO2013123701A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782734A (zh) * 2019-04-04 2020-10-16 华为技术服务有限公司 数据压缩、解压方法和装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10735773B2 (en) * 2015-06-04 2020-08-04 Apple Inc. Video coding techniques for high quality coding of low motion content
KR102424814B1 (ko) 2018-01-17 2022-07-26 한국전력공사 키넥트 영상 데이터 부호화 장치 및 그 방법
CN119336935A (zh) * 2023-07-21 2025-01-21 华为技术有限公司 一种数据处理方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256041B1 (en) * 1995-08-04 2001-07-03 Sun Microsystems, Inc. Decompression of three-dimensional geometry data representing a regularly tiled surface portion of a graphical object
JP2002049933A (ja) * 2000-08-01 2002-02-15 Ricoh Co Ltd 3次元幾何データの表現方法、圧縮・伸長方法、圧縮・伸長装置および該圧縮・伸長方法を実現するプログラムの記録媒体
KR100598134B1 (ko) * 2005-03-24 2006-07-10 인하대학교 산학협력단 케이평균 군집화를 이용한 벡터 데이터 압축 방법 및시스템
CN1946180A (zh) * 2006-10-27 2007-04-11 北京航空航天大学 一种基于Octree的三维模型压缩编/解码方法
WO2009128617A2 (en) * 2008-04-18 2009-10-22 Electronics And Telecommunications Research Institute Apparatus and method for low-complexity three-dimensional mesh compression
EP2261859A1 (en) * 2009-06-10 2010-12-15 Thomson Licensing Method for encoding/decoding a 3D mesh model that comprises one or more components

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990002045A (ko) 1997-06-18 1999-01-15 양승택 예측 잉여신호 벡터 양자화를 이용한 3차원 그래픽 모델의 정점 위치 다단계 압축 방법
KR20030054606A (ko) 2001-12-26 2003-07-02 한국전자통신연구원 3차원 텍스춰 매핑을 위한 부호화/복호화 장치 및 방법
ES2639572T3 (es) * 2008-01-16 2017-10-27 Iii Holdings 12, Llc Cuantificador vectorial, cuantificador inverso vectorial y procedimientos para los mismos
CN101944358B (zh) * 2010-08-27 2014-04-09 太原理工大学 基于蚁群聚类算法的码书分类方法及其码书分类装置
KR101794537B1 (ko) * 2011-01-21 2017-11-07 삼성전자주식회사 데이터 처리 장치 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256041B1 (en) * 1995-08-04 2001-07-03 Sun Microsystems, Inc. Decompression of three-dimensional geometry data representing a regularly tiled surface portion of a graphical object
JP2002049933A (ja) * 2000-08-01 2002-02-15 Ricoh Co Ltd 3次元幾何データの表現方法、圧縮・伸長方法、圧縮・伸長装置および該圧縮・伸長方法を実現するプログラムの記録媒体
KR100598134B1 (ko) * 2005-03-24 2006-07-10 인하대학교 산학협력단 케이평균 군집화를 이용한 벡터 데이터 압축 방법 및시스템
CN1946180A (zh) * 2006-10-27 2007-04-11 北京航空航天大学 一种基于Octree的三维模型压缩编/解码方法
WO2009128617A2 (en) * 2008-04-18 2009-10-22 Electronics And Telecommunications Research Institute Apparatus and method for low-complexity three-dimensional mesh compression
EP2261859A1 (en) * 2009-06-10 2010-12-15 Thomson Licensing Method for encoding/decoding a 3D mesh model that comprises one or more components

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LEE, E.S. ET AL.: "Vertex Data Compression for Triangular Meshes.", COMPUTER GRAPHICS AND APPLICATIONS, 2000. PROCEEDINGS. THE EIGHTH PACIFIC CONFERENCE ON 03 OCT 2000-05 OCT. 2000, 5 October 2000 (2000-10-05), pages 225 - 234, XP010523014 *
See also references of EP2801952A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782734A (zh) * 2019-04-04 2020-10-16 华为技术服务有限公司 数据压缩、解压方法和装置
CN111782734B (zh) * 2019-04-04 2024-04-12 华为技术服务有限公司 数据压缩、解压方法和装置

Also Published As

Publication number Publication date
EP2801952A1 (en) 2014-11-12
US20140362182A1 (en) 2014-12-11
EP2801952A4 (en) 2016-06-29
KR20140113734A (ko) 2014-09-24
KR101603467B1 (ko) 2016-03-14
US9509973B2 (en) 2016-11-29
CN103297766A (zh) 2013-09-11
EP2801952B1 (en) 2019-12-11
CN103297766B (zh) 2016-12-14

Similar Documents

Publication Publication Date Title
KR101049699B1 (ko) 데이터의 압축방법
KR101725223B1 (ko) 저장 장치에서의 데이터 압축 방법
Duan et al. Compact descriptors for visual search
WO2008134974A1 (en) An encoding method, a decoding method, an encoder and a decoder
WO2013123701A1 (zh) 一种三维图像数据中顶点数据的压缩方法及装置
KR102549617B1 (ko) 3d 포인트 클라우드 데이터의 부호화/복호화 방법 및 장치
CN101282121B (zh) 一种基于条件概率的哈夫曼解码的方法
CN102905137B (zh) 超光谱信号的快速差值矢量量化压缩编码方法
CN102708183A (zh) 数据压缩的方法和装置
CN102300095A (zh) 一种超谱信号的快速压缩编码方法及图像压缩方法
Xu et al. Mhscnet: A multimodal hierarchical shot-aware convolutional network for video summarization
CN109684518B (zh) 一种可变长度哈希编码的高维数据最近邻查询方法
CN103269429B (zh) 一种超光谱信号快速矢量量化编码方法
US12154302B2 (en) Method, apparatus and storage medium for image encoding/decoding using binary mask
CN110442489A (zh) 数据处理的方法和存储介质
CN119829065B (zh) 一种基于Julia分形集合的信息编译技术方法
CN101266795A (zh) 一种格矢量量化编解码的实现方法及装置
CN115442024A (zh) 基于混沌的MapReduce数据压缩的信息保护方法
CN107170442A (zh) 基于自适应遗传算法的多参数优化方法
CN114117911B (zh) 一种基于注意力机制的锂离子电池化成预筛选方法
CN110311687B (zh) 一种基于集成算法的时序数据无损压缩方法
CN115801416B (zh) 一种基于多生成器的http流量拟态生成方法
Hu et al. Efficient greyscale image compression technique based on vector quantization
CN120546705B (zh) 波形数据预加载方法、装置及电子设备
CN121527207B (zh) 一种基于深度学习的jpeg文件二次无损编码方法

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14372901

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2012869069

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20147023119

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE