CN108230410A - 压缩多边形数据的方法及装置 - Google Patents
压缩多边形数据的方法及装置 Download PDFInfo
- Publication number
- CN108230410A CN108230410A CN201710596132.9A CN201710596132A CN108230410A CN 108230410 A CN108230410 A CN 108230410A CN 201710596132 A CN201710596132 A CN 201710596132A CN 108230410 A CN108230410 A CN 108230410A
- Authority
- CN
- China
- Prior art keywords
- degrees
- data
- polygon data
- vertex
- polygon
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (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)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
本公开揭示了一种压缩多边形数据的方法及装置。所述方法包括:计算多边形数据中所有顶点的转角的度数;当所有转角的度数存在相同的度数时,利用替换数据替代表示相同的度数,替换数据占用的空间小于表示度数的数据占用的空间;根据替换数据对多边形数据进行编码压缩。由上述方法可知,当所有转角的度数存在相同的度数时,利用占用空间较小的替换数据替代表示相同的度数,从而根据替换数据对多边形数据进行编码压缩,实现减小多边形数据的占用空间,从而解决了编码得到的多边形数据占用空间较大的问题。
Description
技术领域
本公开涉及互联用应用技术领域,特别涉及一种压缩多边形数据的方法及装置。
背景技术
现有的多边形数据编码过程中,通常使用两种方法进行编码。一种方法是通过多边形数据的顶点数和坐标进行编码,采用32Bits表示顶点数N的数据和两组N个分别用于表示顶点的X坐标和Y坐标的32Bits的数据。另一种方法是通过多边形数据的顶点数,多边形线段长度和每个转角度数进行编码,采用32Bits表示顶点数N的数据,N个32Bits表示多边形N条线段长度的数据,以及N个32Bits表示N个转角度数的数据。
由上述方法可知,两种多边形数据编码后的数据都可以用32+2*N*32Bits的数据进行表示,编码得到的多边形数据占用空间较大,不利于后续对多边形数据的处理工作。
发明内容
为了解决相关技术中存在的编码得到的多边形数据占用空间较大的问题,本公开提供了一种压缩多边形数据的方法及装置。
一种压缩多边形数据的方法,所述方法包括:
计算多边形数据中所有顶点的转角的度数;当所有所述转角的度数存在相同的度数时,利用替换数据替代表示所述相同的度数,所述替换数据占用的空间小于表示所述度数的数据占用的空间;根据所述替换数据对所述多边形数据进行编码压缩。
一种压缩多边形数据的装置,所述装置包括:
计算模块,用于计算多边形数据中所有顶点的转角的度数;替代模块,用于当所有所述转角的度数存在相同的度数时,利用替换数据替代表示所述相同的度数,所述替换数据占用的空间小于表示所述度数的数据占用的空间;编码压缩模块,用于根据所述替换数据对所述多边形数据进行编码压缩。
本公开的实施例提供的技术方案可以包括以下有益效果:
由上述方法可知,当所有转角的度数存在相同的度数时,利用占用空间较小的替换数据替代表示相同的度数,从而根据替换数据对多边形数据进行编码压缩,实现减小多边形数据的占用空间,从而解决了编码得到的多边形数据占用空间较大的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种压缩多边形数据的方法的流程图;
图2是一种多边形数据在一个实施例中的示意图;
图3是一种多边形数据在另一个实施例中的示意图;
图4是图1对应实施例的步骤110在一个实施例的流程图;
图5是根据一示例性实施例示出的一种压缩多边形数据的装置框图;
图6是图5对应实施例的计算模块在一个实施例的框图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种压缩多边形数据的方法的流程图。如图1所示,该压缩多边形数据的方法可以包括以下步骤。
在步骤110中,计算多边形数据中所有顶点的转角的度数。
其中,多边形数据为形状为多边形的图形数据,当需要处理多边形数据,例如对多边形数据进行数据传输时,则需要根据多边形的顶点数或者各边线段长度等数据进行编码,将得到的编码进行传输。
多边形数据中包含于多边形边数相同的内角数和顶点数。每个顶点的转角的度数指该顶点两侧的两条边偏移的夹角度数。
图2是一种多边形数据在一个实施例中的示意图。如图2所示,其中,将向右偏移的方向设定为正方向,同理可知,向左偏移的方向设置为负方向,即顶点两侧的一条边相对于另一条边向右偏移90°时,该顶点的转角的度数为90°;顶点两侧的一条边相对于另一条边向左偏移90°时,该顶点的转角的度数为-90°。
通过多边形数据中的边的长度等参数和系统预设的函数,可以计算多边形数据中所有顶点转角的度数。
在步骤130中,当所有转角的度数存在相同的度数时,利用替换数据替代表示相同的度数。
其中,当多边形数据中所有转角的度数存在相同的度数时,利用占用的空间较小的替换数据替代表示两种度数。
在一个示例性实施例的具体实现中,正常存储转角的度数的数据需要32Bits,当存在相同的转角的度数时,可以利用小于32Bits的数据指代相同的转角的度数,由此减少多边形数据占用的空间。
在一个示例性实施例的具体实现中,如图2所示,图2中所有转角的度数存在90°和-90°两种相同的度数,此时可以用0代表转角的度数为90°,1代表转角的度数为-90°,从而用更小的1Bits的0和1两种数据,代替32Bits的90°和-90°的数据,从而减少了多边形数据占用的空间。
在另一个示例性实施例的具体实现中,如图3所示,图3是一种多边形数据在另一个实施例中的示意图。图3中所有转角的度数为80°、70°、30°、110°、70°、-80°和80°,其中规定向右偏转为正度数,向左偏转为负度数。存在着两组80°的转角和两组70°的转角,此时可以用0代表转角的度数为80°,1代表转角的度数为70°,从而用更小的1Bits的0和1两种数据,代替32Bits的80°和70°的数据,从而减少了多边形数据占用的空间。
对于本发明,上述方法仅供参考,实际实现方法并不局限于此,只要所有转角的度数存在相同的度数的情况下,均可以利用占用空间较小的替换数据替代表示相同的度数。
在步骤150中,根据替换数据对多边形数据进行编码压缩。
其中,当利用替换数据替代表示转角的度数后,则根据替换数据,和多边形数据的其他参数,例如顶点数和各条边的长度等参数,对多边形数据进行编码。由于替换数据占用的空间小于转角的度数占用的空间,因此获得到的编码占用的空间会减小,从而实现了对多边形数据的编码进行压缩。
此实施例实现了通过减小编码得到的多边形数据占用的空间,实现对多边形数据进行压缩。
图4是图1对应实施例的步骤110在一个实施例的流程图。如图4所示,该步骤110可以包括以下步骤:
在步骤111中,获取多边形数据中所有顶点两侧的线段长度。
其中,系统预设有获取长度的接口函数,通过该接口函数获取到多边形数据中所有线段的长度,从而获取到所有顶点两侧的线段长度。
在步骤113中,根据预设接口函数计算线段长度,得到所有顶点的转角的度数。
在一个示例性实施例的具体实现中,图3是一种多边形数据在另一个实施例中的示意图。其中,转角An的度数计算公式如下。
An=CrossProduct(LN,LN-1)/|LN|*|LN-1|,N≠1
An=CrossProduct(L1,LN)/|L1|*|LN|,N=1
其中,An代表顶点的转角,CrossProduct为预设的接口函数:叉乘函数。LN代表多边形数据中的线段长度。通过上述公式对线段长度进行叉乘计算,从而得到所有顶点的转角的度数。
此实施例实现了计算出所有顶点的转角的度数。
在一个示例性实施例中,在步骤110之前,该压缩多边形数据的方法还可以包括以下步骤。
通过比较所有转角的度数,判断多边形数据中所有顶点的转角的度数是否存在相同的度数。
在一个示例性实施例中,可以利用分类算法,例如决策树,将得到的所有顶点的转角的度数进行比较分类。当分类算法得到的每组分类结果中有多个数据时,即表示所有顶点的转角的度数存在相同的度数;反之,则表示所有顶点的转角的度数不存在相同的度数。
在一个示例性实施例中,在步骤150之前,该压缩多边形数据的方法还可以包括以下步骤。
获取多边形数据的顶点总数和多边形数据每条边的长度。
在一个示例性实施例的具体实现中,可以获取到多边形数据的所有顶点在应用中的坐标,从而通过获取到的坐标的数量,得到多边形数据的顶点总数。通过获取到的顶点的坐标,可以计算出顶点间线段长度,即为多边形数据每条边的长度。从而根据获取到的多边形数据的顶点总数和多边形数据每条边的长度,对多边形数据进行编码。
在一个示例性实施例中,步骤150还可以包括以下步骤。
根据顶点总数、每条边的长度和替换数据对多边形数据进行编码压缩。
名称 | Bits(位元) | Notes(备注) |
VertexCount | 32 | 顶点个数 |
L1 | 32 | L1的长度 |
A1 | 1 | P1的转角 |
L2 | 32 | L2的长度 |
A2 | 1 | P2的转角 |
L3 | 32 | L3的长度 |
A3 | 1 | P3的转角 |
L4 | 32 | … |
A4 | 1 | … |
L5 | 32 | … |
A5 | 1 | … |
L6 | 32 | … |
A6 | 1 | … |
L7 | 32 | … |
A7 | 1 | … |
.. | 32 | … |
.. | 1 | … |
.. | 32 | … |
.. | 1 | … |
LN | 32 | LN的长度 |
多边形数据编码格式
在一个示例性实施例的具体实现中,如上表所示,上表为一个示例性实施例中多边形数据编码格式,其中VertexCount大小为32Bits,用于表示多边形数据的顶点个数,L1-LN为多边形数据的所有边的长度,每条边的数据大小均为32Bits,P1-PN为多边形数据所有点的转角的度数,通常的数据大小为32Bits,而0和1为替换数据,大小为1Bits,小于表示转角的度数的数据大小。通过该表格对多边形数据进行编码后的大小为32+N*32Bits+N*1Bits,要小于其他方法中对多边形数据进行编码后的大小32+2*N*32Bits,从而实现了对多边形数据的压缩。
此实施例实现了对多边形数据进行编码压缩。
图5是根据一示例性实施例示出的一种压缩多边形数据的装置框图。该装置执行图1任一所示的压缩多边形数据的方法的全部或者部分步骤。如图5所示,该装置包括但不限于:计算模块210,替代模块230和编码压缩模块250。
计算模块210用于计算多边形数据中所有顶点的转角的度数。
替代模块230用于当所有转角的度数存在相同的度数时,利用替换数据替代表示相同的度数,替换数据占用的空间小于表示度数的数据占用的空间。
编码压缩模块250用于根据替换数据对多边形数据进行编码压缩。
图6是图5对应实施例的计算模块在一个实施例的框图。如图6所示,该计算模块210包括但不限于:长度获取单元211和度数获取单元213。
长度获取单元211用于获取多边形数据中所有顶点两侧的线段长度;
度数获取单元213用于根据预设接口函数计算线段长度,得到所有顶点的转角的度数。
在一个示例性实施例中,该压缩多边形数据的装置还包括但不限于:
比较单元,用于通过比较所有转角的度数,判断多边形数据中所有顶点的转角的度数是否存在相同的度数。
在一个示例性实施例中,该压缩多边形数据的装置还包括但不限于:
获取模块,用于获取所述多边形数据的顶点总数和所述多边形数据每条边的长度。
在一个示例性实施例中,图5对应实施例的编码压缩模块包括但不限于:
编码单元,用于根据顶点总数、每条边的长度和替换数据对多边形数据进行编码压缩。
上述装置中各个模块的功能和作用的实现过程详见上述压缩多边形数据的方法中对应步骤的实现过程,在此不再赘述。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种压缩多边形数据的方法,其特征在于,所述方法包括:
计算多边形数据中所有顶点的转角的度数;
当所有所述转角的度数存在相同的度数时,利用替换数据替代表示所述相同的度数,所述替换数据占用的空间小于表示所述度数的数据占用的空间;
根据所述替换数据对所述多边形数据进行编码压缩。
2.根据权利要求1所述的方法,其特征在于,所述计算多边形数据中所有顶点的转角的度数步骤包括:
获取所述多边形数据中所有顶点两侧的线段长度;
根据预设接口函数计算所述线段长度,得到所有顶点的所述转角的度数。
3.根据权利要求1所述的方法,其特征在于,所述当所有所述转角的度数存在相同的度数时,利用替换数据替代表示所述相同的度数步骤之前,所述方法还包括:
通过比较所有所述转角的度数,判断所述多边形数据中所有顶点的转角的度数是否存在相同的度数。
4.根据权利要求1所述的方法,其特征在于,所述根据所述替换数据对所述多边形数据进行编码压缩步骤之前,所述方法还包括:
获取所述多边形数据的顶点总数和所述多边形数据每条边的长度。
5.根据权利要求1所述的方法,其特征在于,所述根据所述替换数据对所述多边形数据进行编码压缩步骤包括:
根据所述顶点总数、所述每条边的长度和所述替换数据对所述多边形数据进行编码压缩。
6.一种压缩多边形数据的装置,其特征在于,所述装置包括:
计算模块,用于计算多边形数据中所有顶点的转角的度数;
替代模块,用于当所有所述转角的度数存在相同的度数时,利用替换数据替代表示所述相同的度数,所述替换数据占用的空间小于表示所述度数的数据占用的空间;
编码压缩模块,用于根据所述替换数据对所述多边形数据进行编码压缩。
7.根据权利要求6所述的装置,其特征在于,所述计算模块包括:
长度获取单元,用于获取所述多边形数据中所有顶点两侧的线段长度;
度数获取单元,用于根据预设接口函数计算所述线段长度,得到所有顶点的所述转角的度数。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
比较单元,用于通过比较所有所述转角的度数,判断所述多边形数据中所有顶点的转角的度数是否存在相同的度数。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
获取模块,用于获取所述多边形数据的顶点总数和所述多边形数据每条边的长度。
10.根据权利要求6所述的装置,其特征在于,所述编码压缩模块包括:
编码单元,用于根据所述顶点总数、所述每条边的长度和所述替换数据对所述多边形数据进行编码压缩。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710596132.9A CN108230410B (zh) | 2017-07-20 | 2017-07-20 | 压缩多边形数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710596132.9A CN108230410B (zh) | 2017-07-20 | 2017-07-20 | 压缩多边形数据的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108230410A true CN108230410A (zh) | 2018-06-29 |
CN108230410B CN108230410B (zh) | 2021-12-03 |
Family
ID=62654111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710596132.9A Active CN108230410B (zh) | 2017-07-20 | 2017-07-20 | 压缩多边形数据的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108230410B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1160731A2 (en) * | 2000-05-30 | 2001-12-05 | Point Cloud, Inc. | Three-dimensional image compression method |
CN102522043A (zh) * | 2011-12-12 | 2012-06-27 | 光庭导航数据(武汉)有限公司 | 基于线段拓扑关系的多边形压缩方法 |
CN103873438A (zh) * | 2012-12-12 | 2014-06-18 | 鸿富锦精密工业(深圳)有限公司 | 压缩包上传去重系统及方法 |
CN105118075A (zh) * | 2015-08-19 | 2015-12-02 | 中国地质大学(武汉) | 一种矢量空间数据的有损压缩方法及装置 |
CN106296756A (zh) * | 2015-06-04 | 2017-01-04 | 高德软件有限公司 | 一种多边形的压缩方法及装置 |
CN106600679A (zh) * | 2015-10-20 | 2017-04-26 | 星际空间(天津)科技发展有限公司 | 一种三维模型数据简化的方法 |
-
2017
- 2017-07-20 CN CN201710596132.9A patent/CN108230410B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1160731A2 (en) * | 2000-05-30 | 2001-12-05 | Point Cloud, Inc. | Three-dimensional image compression method |
CN102522043A (zh) * | 2011-12-12 | 2012-06-27 | 光庭导航数据(武汉)有限公司 | 基于线段拓扑关系的多边形压缩方法 |
CN103873438A (zh) * | 2012-12-12 | 2014-06-18 | 鸿富锦精密工业(深圳)有限公司 | 压缩包上传去重系统及方法 |
CN106296756A (zh) * | 2015-06-04 | 2017-01-04 | 高德软件有限公司 | 一种多边形的压缩方法及装置 |
CN105118075A (zh) * | 2015-08-19 | 2015-12-02 | 中国地质大学(武汉) | 一种矢量空间数据的有损压缩方法及装置 |
CN106600679A (zh) * | 2015-10-20 | 2017-04-26 | 星际空间(天津)科技发展有限公司 | 一种三维模型数据简化的方法 |
Non-Patent Citations (1)
Title |
---|
邱国清: "多边形链式编码方式的改进及其编码方法", 《湖北师范学院学报(自然科学版)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN108230410B (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108510063B (zh) | 一种应用于卷积神经网络的加速方法和加速器 | |
KR20120106510A (ko) | 3차원 메쉬 부호화 방법 및 장치 | |
CN109844809A (zh) | 一种图像处理方法及装置、计算机可读存储介质 | |
US20140320492A1 (en) | Methods and apparatus for reflective symmetry based 3d model compression | |
CN106971090A (zh) | 一种基因测序数据压缩和传输方法 | |
WO2006102646A2 (en) | Method and apparatus for lossless data transformation with preprocessing by multidimensional-prediction | |
CN108230410A (zh) | 压缩多边形数据的方法及装置 | |
CN110971904B (zh) | 一种图像压缩的控制方法 | |
EP2729917A1 (en) | Multi-mode processing of texture blocks | |
CN111160084A (zh) | 危险品检测方法、装置和存储介质 | |
CN105099460B (zh) | 字典压缩方法、字典解压缩方法与字典建构方法 | |
CN103731153B (zh) | 计算机图像处理中对矢量化图形进行数据压缩的方法及装置 | |
CN107105245A (zh) | 基于tms320c6678芯片的高速jpeg图像压缩方法 | |
CN107911570A (zh) | 一种对图片特征进行压缩及解压的方法 | |
CN104657944A (zh) | 基于参考影像纹理约束的压缩感知遥感图像重建方法 | |
CN107612554A (zh) | 数据压缩处理方法 | |
CN105095278A (zh) | 一种文件压缩方法及装置 | |
CN105163124A (zh) | 一种图像编码方法、图像解码方法及装置 | |
CN117437308A (zh) | Demura补偿值的数据压缩和解压缩方法及系统 | |
CN110505485B (zh) | 运动补偿方法、装置、计算机设备以及存储介质 | |
CN108235038A (zh) | 图像编解码压缩的方法和装置 | |
CN105578182B (zh) | 一种视频编码、解码方法及装置 | |
EP4351148A3 (en) | Methods and decompression units for decompressing image data compressed using pattern-based compression | |
CN103377463A (zh) | 一种滤镜处理的方法及装置 | |
DE102014118905A1 (de) | Verfahren zur Vor- und Nachverarbeitung einer schnellen Arkustangensberechnung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 518000 unit 01, 16 / F, unit 2, building a, Kexing Science Park, Keyuan Road, Central District, Nanshan District, Shenzhen City, Guangdong Province Patentee after: SHENZHEN IDREAMSKY TECHNOLOGY CO.,LTD. Address before: 518000 unit 01, 16 / F, unit 2, building a, Kexing Science Park, Keyuan Road, Central District, Nanshan District, Shenzhen City, Guangdong Province Patentee before: SHENZHEN IDREAMSKY TECHNOLOGY CO.,LTD. |