编码浮点数据的方法、解码浮点数据的方法以及对应的编码器和解码器的制作方法

文档序号:7504473阅读:777来源:国知局
专利名称:编码浮点数据的方法、解码浮点数据的方法以及对应的编码器和解码器的制作方法
技术领域
本发明涉及一种用于编码浮点数据的方法和用于解码浮点数据的方法、以及对应的编码器和解码器。
背景技术
浮点描述关于数值表示的体系,其中数字(digit)(或位(bit))的串表示有理数。 存在几种在计算机中使用的不同的浮点表示法。最常遇到的表示法是在IEEE 7M标准中定义的表示法。浮点表示法相对于定点和整数表示法的主要优势在于,其可以支持更广范围的值。具有7个十进制数字、且假设小数点位于第5个数字之后的定点表示法能够例如表示数12;345. 67,8765. 43、123. 00等,而具有7个十进制数字的、诸如IEEE 754 decimal32 格式的浮点表示法能够额外表示例如0. 00001234567U23456700000U. 234567、123456. 7 等。因为浮点格式需要对基点(radix point)的位置进行编码,所以其仅需要略微大一点的存储器。
浮点表示法类似于科学计数法的概念。从逻辑上讲,浮点数包含尾数和指数。尾数是按照给定基(或基数)的给定长度的有符号数字串。其也可以被叫作“有效位”或仅仅是“系数”。基点并非是明确包括的,而是被隐含地假设为总是处于有效位中的某个位置, 经常是恰在最高有效数字之后或之前,或者在最右数字的右边。传统上,基点恰在最高有效 (最左)数字之后。有效位的长度确定精度。
指数是有符号整数指数,也被称为特性或尺度,其修改数的量级。
浮点数从左到右通常被封装为符号位、指数字段和有效位(也称为尾数)的计算机数据。对于IEEE 7M 二进制格式,如下进行分配
表1关于浮点数据的IEEE 754 二进制格式
权利要求
1.一种用于编码浮点格式化数据的方法,其中浮点格式至少包含指数和尾数,且其中所述浮点格式化数据是3D网格模型的几何数据并包括纹理坐标,所述方法包括如下步骤确定当前浮点格式化数据值是否先前被存储在存储器中,该存储器具有预定大小,其中对于不同的指数使用分离的存储器并且每一个存储器与一指数相关联;如果当前浮点格式化数据值先前没有被存储在所述存储器中,则将其存储在存储器中,并对其进行编码;否则,确定所述值在存储器之内的存储位置,并将指向该存储位置的参考进行编码;并且对指数、指数的指示或指向与当前指数相关联的存储器的指示符进行编码;其中,确定当前值是否先前被存储在存储器中的所述步骤、将值存储在存储器中的所述步骤以及确定存储位置的所述步骤仅涉及与所述当前浮点格式化数据值的指数相关联的存储器,并涉及尾数或者涉及尾数和符号。
2.根据权利要求1所述的方法,进一步包括步骤确定与当前指数相关联的存储器是否是满的;确定在与当前指数相关联的存储器中先前存储的值;利用当前值在与当前指数相关联的存储器中重写所确定的先前存储的值;以及相对于所述先前存储的值对当前值进行差分编码。
3.根据权利要求2所述的方法,其中,确定先前存储的值的步骤包括从多个先前存储的值中,确定与当前尾数具有最小尾数绝对差的所存储的值。
4.根据权利要求1-3中的任一项所述的方法,其中,对于坐标的每个维度使用分离的存储器。
5.根据权利要求1-4中的任一项所述的方法,其中,不通过纹理坐标预测方案来得到纹理坐标。
6.根据权利要求1-5中的任一项所述的方法,还包括步骤对浮点格式化数据进行预分析,并且仅存储在预定量的数据内重复的那些值。
7.一种用于对编码后浮点格式化数据进行解码的方法,其中浮点格式至少包含指数和尾数且其中所述浮点格式化数据是3D网格模型的几何数据并包括纹理坐标,所述方法包括如下步骤解码第一编码后浮点格式化数据值;将第一编码后浮点格式化数据值存储在具有预定大小的存储器中,其中对于不同的指数使用分离的存储器,并且每一个存储器与一指数相关联;检测存储位置的指示;在所述存储位置处从存储器中取出第二解码后浮点格式化数据值;以及对单独的指数、指数的指示或指向与当前指数相关联的存储器的指示符进行解码,并且根据指数选择存储器;其中,将第一编码后浮点格式化数据值存储的所述步骤和检测存储位置的指示的所述步骤仅涉及与所述当前浮点格式化数据值的指数相关联的存储器,并且其中取出第二解码后浮点格式化数据值的步骤涉及尾数或者涉及尾数和符号。
8.根据权利要求7所述的方法,进一步包括步骤连同存储位置的指示一起检测编码模式指示和差分编码后值;根据所述差分编码后值和依据当前指数从存储器中取出的先前存储的值来对当前值进行差分解码;以及将解码后当前值存储在根据当前指数的存储器的所述存储位置处从而重写先前存储的值。
9.根据权利要求1-8中的任一项所述的方法,其中,具有低于最小值的指数的浮点值和/或具有高于最大值的指数的浮点值被编码为默认值,其中存储、编码或解码指数的减少的位数。
10.根据权利要求1-9中的任一项所述的方法,其中,将浮点格式化数据值存储在存储器中的步骤包括重写先前存储的浮点格式化数据值,并且其中编码包括相对于先前存储的值来差分编码。
11.一种用于编码浮点格式化数据的编码器,其中浮点格式至少包含指数和尾数,所述编码器包括多个分离的具有预定大小且用于不同指数的存储器,每一个存储器与一指数相关联; 第一确定部件,用于确定当前浮点格式化数据值是否先前被存储在与所述当前数据值的指数相关联的存储器中;用于在当前浮点格式化数据值先前没有被存储在所述存储器中的情况下将其存储在存储器中的部件,以及用于对当前浮点格式化数据值进行编码的第一编码部件;用于在所述值先前被存储在存储器中的情况下确定所述值在所述存储器之内的存储位置的第二确定部件,以及用于将指向该存储位置的参考进行编码的第二编码部件;以及用于对指数、指数的指示或指向与当前指数相关联的存储器的指示符进行编码的第三编码部件;其中,所述第一确定部件、所述用于将值存储在存储器中的部件以及所述第二确定部件仅涉及与所述当前浮点格式化数据值的指数相关联的存储器,并涉及尾数或者涉及尾数和符号。
12.一种用于编码后浮点格式化数据的解码器,其中浮点格式至少包含指数和尾数,且其中所述浮点格式化数据是3D网格模型的几何数据并包括纹理坐标,包括第一解码部件(51),用于解码第一编码后浮点格式化数据值; 多个分离的存储器(52),每个具有预定大小;存储部件64),用于将第一编码后浮点格式化数据值存储在所述存储器之一内,其中对于不同的指数使用分离的存储器(52)并且每一个存储器与一指数相关联; 指示检测部件(55),用于检测存储位置的指示;存储器存取部件(57),用于在所述存储位置处从存储器中取出第二解码后浮点格式化数据值;以及指数解码部件(53),用于对单独的指数、指数的指示或指向与当前指数相关联的存储器的指示符进行解码,以及选择部件(56),用于根据指数选择存储器;其中,至少所述指示检测部件(5 以及用于从存储器中取出第二解码后浮点格式化数据值的部件(57)仅涉及与所述当前浮点格式化数据值的指数相关联的存储器(52)。
全文摘要
公开了一种用于有效压缩3D网格中的浮点数据的算法。通过拓扑数据、几何数据和属性数据来表示3D网格。几何数据指定顶点位置并通常由浮点坐标来表示。虽然通常通过量化、预测和熵编码来压缩几何数据,但是本发明不使用预测。浮点数字由尾数和指数组成,并且通常分离地压缩指数、符号和尾数。一种用于编码浮点格式化数据的方法包括如下步骤确定当前浮点值先前是否被存储在存储器中;如果当前值先前没有被存储在所述存储器中,则将其存储在存储器中并对其进行编码。否则,如果当前浮点值先前被存储在存储器中,则确定该值在存储器之内的存储位置,并将指向该存储位置的参考进行编码。
文档编号H03M7/24GK102498673SQ201080040786
公开日2012年6月13日 申请日期2010年9月9日 优先权日2009年9月14日
发明者周同, 陈志波, 陈衢清 申请人:汤姆森特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1