CN115514373A - 一种数据编码方法、解码方法、数据编码装置及解码装置 - Google Patents
一种数据编码方法、解码方法、数据编码装置及解码装置 Download PDFInfo
- Publication number
- CN115514373A CN115514373A CN202110631252.4A CN202110631252A CN115514373A CN 115514373 A CN115514373 A CN 115514373A CN 202110631252 A CN202110631252 A CN 202110631252A CN 115514373 A CN115514373 A CN 115514373A
- Authority
- CN
- China
- Prior art keywords
- data
- coded
- encoded
- maximum value
- bit
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/70—Type of the data to be coded, other than image and sound
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供了一种数据编码方法、解码方法、数据编码装置及解码装置,涉及数据业务领域。该方法包括:获取待编码数据中每一位数据的进制,所述待编码数据包括至少一种进制;根据所述待编码数据中每一位数据的进制,确定所述待编码数据的最大值;根据所述待编码数据的最大值,对所述待编码数据进行编码。本发明实施例的数据编码方法,通过获取待编码数据中每一位数据的进制,确定待编码数据的最大值,并通过待编码数据的最大值对待编码数据进行编码。本发明实施例的方案,通过待编码数据的最大值对待编码数据进行编码,提高了存储空间的利用率。
Description
技术领域
本发明涉及数据业务领域,特别涉及一种数据编码方法、解码方法、数据编码装置及解码装置。
背景技术
数据存储及传输前需要对数据进行编码,针对数值型数据的编码方式有很多,目前常用的是通过位段表示法进行数据的编码。由于现代计算机均以二进制为最小单位进行存储和计算,,当2n-1<m<2n时(m,n为正整数),用n位二进制表示一个m进制数时必然存在空间浪费,m越接近2n-1浪费越大,m越接近2n浪费越小,而当m=2n(记为二进制对齐)时浪费为0。所以,在针对非二进制对齐的数据进行表达时,位段表示法必然存在一定程度的空间浪费。
发明内容
本发明实施例提供一种数据编码方法、解码方法、数据编码装置及解码装置,用以解决现有技术中在针对非二进制对齐的数据进行表达时,位段表示法必然存在一定程度的空间浪费的问题。
为了解决上述技术问题,本发明采用如下技术方案:
本发明实施例提供了一种数据编码方法,包括:
获取待编码数据中每一位数据的进制,所述待编码数据包括至少一种进制;
根据所述待编码数据中每一位数据的进制,确定所述待编码数据的最大值;
根据所述待编码数据的最大值,对所述待编码数据进行编码。
进一步地,所述待编码数据为正数或字母。
进一步地,所述根据所述待编码数据的最大值,对所述待编码数据进行编码,包括:根据所述待编码数据的最大值确定承载所述待编码数据的二进制位数。
进一步地,所述根据所述待编码数据中每一位数据的进制,确定所述待编码数据的最大值,包括:
将所述待编码数据每一位的进制的乘积减1,得到所述待编码数据的最大值。
进一步地,所述根据所述待编码数据中每一位数据的进制,确定所述待编码数据的最大值之前,所述方法还包括:
根据所述待编码数据每一位的进制,调整所述待编码数据的位次顺序,得到进制依次递减的待编码数据。
进一步地,所述根据所述待编码数据中每一位数据的进制,确定所述待编码数据的最大值之前,所述方法还包括:
若所述待编码数据的进制的种类大于预设门限,则调整所述待编码数据的位次顺序,使得所述待编码数据中进制相同的数据为相邻位次。
进一步地,所述根据所述待编码数据中每一位数据的进制,确定所述待编码数据的最大值之前,所述方法还包括:
若所述待编码数据中存在至少一个进制为2的n次方的第一进制,则调整所述待编码数据的位次顺序,使得所述第一进制对应的数据为相邻位次,并通过位段表示法对所述第一进制对应的数据进行编码。
本发明实施例还提供了一种数据解码方法,包括:
根据待解码数据的二进制位数,将所述待解码数据转换为无符号整数;
根据所述无符号整数,对所述待解码数据进行解码。
本发明实施例还提供了一种数据编码装置,包括:
获取模块,用于获取待编码数据中每一位数据的进制,所述待编码数据包括至少一种进制;
确定模块,用于根据所述待编码数据中每一位数据的进制,确定所述待编码数据的最大值;
编码模块,用于根据所述待编码数据的最大值,对所述待编码数据进行编码。
本发明实施例还提供了一种数据解码装置,包括:
转换模块,用于根据待解码数据的二进制位数,将所述待解码数据转换为无符号整数;
解码模块,用于根据所述无符号整数,对所述待解码数据进行解码。
本发明的有益效果是:
本发明实施例的数据编码方法,通过获取待编码数据中每一位数据的进制,确定待编码数据的最大值,并通过待编码数据的最大值对待编码数据进行编码。本发明实施例的方案,通过待编码数据的最大值对待编码数据进行编码,提高了存储空间的利用率。
附图说明
图1表示本发明实施例的数据编码方法的步骤示意图;
图2表示本发明实施例的数据解码方法的步骤示意图;
图3表示本发明实施例的数据编码装置的结构示意图;
图4表示本发明实施例的数据解码装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
本发明针对在针对非二进制对齐的数据进行表达时,位段表示法必然存在一定程度的空间浪费的问题,提供一种数据编码方法、解码方法、数据编码装置及解码装置。
如图1所示,本发明实施例提供了一种数据编码方法,包括:
步骤101,获取待编码数据中每一位数据的进制,所述待编码数据包括至少一种进制;
步骤102,根据所述待编码数据中每一位数据的进制,确定所述待编码数据的最大值;
步骤103,根据所述待编码数据的最大值,对所述待编码数据进行编码。
本发明的一实施例中所述待编码数据每一位的进制可以相同也可以不同。
本发明实施例的数据编码方法,通过获取待编码数据中每一位数据的进制,确定待编码数据的最大值,并通过待编码数据的最大值对待编码数据进行编码。本发明实施例的方案,通过待编码数据的最大值对待编码数据进行编码,提高了存储空间的利用率。
可选地,所述待编码数据为正数或字母。
本发明的一实施例中,所述数据编码方法的一个应用场景可以为车牌、电话号码、身份证号等,还可以为有限数值和无线数值组合的场景。例如,车牌一般由5位字母和阿拉伯数字组合而成,其中数字为10进制,字母I和O由于和数字1和0相似而禁止使用,所以字母为24进制。
可选地,所述根据所述待编码数据的最大值,对所述待编码数据进行编码,包括:根据所述待编码数据的最大值确定承载所述待编码数据的二进制位数。
本发明的一实施例中,作为待编码数据的车牌由三位10进制的数字和两位24进制的字母组成,通过位段表示法进行编码需要22bit的空间。而通过本发明实施例的数值编码方法,所述待编码数据的最大值为23+23×24+9×(24×24)+9×(24×24×10)+9×(24×24×10×10)=575999,只需要20bit即可承载所述待编码数据,相比位段表示法节省了2bit。
本发明实施例的数据编码方法,通过获取待编码数据中每一位数据的进制,确定待编码数据的最大值,并通过待编码数据的最大值对待编码数据进行编码。本发明实施例的方案,通过待编码数据的最大值对待编码数据进行编码,提高了存储空间的利用率。
可选地,所述根据所述待编码数据中每一位数据的进制,确定所述待编码数据的最大值,包括:
将所述待编码数据每一位的进制的乘积减1,得到所述待编码数据的最大值。
本发明的一实施例中,作为待编码数据的车牌,其最大值可以通过以下方法计算:24×24×10×10×10-1=575999。
通过本发明的实施例的数据编码方法计算最大值的计算方法,节省了计算所需的空间。
可选地,所述根据所述待编码数据中每一位数据的进制,确定所述待编码数据的最大值之前,所述方法还包括:
根据所述待编码数据每一位的进制,调整所述待编码数据的位次顺序,得到进制依次递减的待编码数据。
乘法运算比较耗费CPU资源,而乘积大于CPU乘法指令集长度后需要多条指令扩展实现,例如32bit CPU实现32bit乘法时一条指令即可完成,若计算64bit乘法时则需要通过多条指令才能完成。基于此原理,可以利用混合进制数编码的“交换律”调整数据的顺序,使得依次参与乘法运算的数据逐渐增大,即进制数递减的次序调整待编码数据,从而减少大数乘法的计算次数,降低计算开销,实现编码速度优化。
本发明的一实施例中,作为待编码数据的车牌,例如所述待编码数据的第三位和第五位是24进制的字母,其他位次为10进制的数字。可以将第三位和第五位的字母调换到第一位和第二位,将数字调整至后三位次。这样,对所述待编码数据的计算可以从:10×10×24×10×24-1转化为:24×24×10×10×10-1。
本发明实施例的数据编码方法,利用混合进制编码的“交换律”调整待编码数据的顺序,使得其对应进制数递减,实现乘加运算过程中减少大数乘法计算的概率,从而降低计算开销,实现编码速度的优化。
可选地,所述根据所述待编码数据中每一位数据的进制,确定所述待编码数据的最大值之前,所述方法还包括:
若所述待编码数据的进制的种类大于预设门限,则调整所述待编码数据的位次顺序,使得所述待编码数据中进制相同的数据为相邻位次。
本发明实施例的实施例中,将进制的种类较多的待编码数据进行分组,分别使用本发明实施例的数据编码方法进行编码。降低了计算所需的空间。
可选地,所述根据所述待编码数据中每一位数据的进制,确定所述待编码数据的最大值之前,所述方法还包括:
若所述待编码数据中存在至少一个进制为2的n次方的第一进制,则调整所述待编码数据的位次顺序,使得所述第一进制对应的数据为相邻位次,并通过位段表示法对所述第一进制对应的数据进行编码。
本发明实施例的数据编码方法无法提高2的n次方的进制的数据编码的空间利用率,同时,在计算机系统中,二进制的移位及“与或非”操作比乘法运算更快,就可以通过位段表示方法对2的n次方的进制的数据进行编码。本发明实施例的方案通过与位段表示方法结合的方式,提高空间利用率的同时提高了编码的速度。
如图2所示,本发明实施例还提供了一种数据解码方法,包括:
步骤201,根据待解码数据的二进制位数,将所述待解码数据转换为无符号整数;
步骤202,根据所述无符号整数,对所述待解码数据进行解码。
本发明的一实施例中,数据解码可以通过一下方法进行:
为经过编码的二进制数据增加前导0,转成合适长度的无符号整数,即转换成8/16/32/64/128bit等适合计算机运算的长度,通过对所述无符号整数进行多次取模运算,逐个恢复出每一位经过编码的进制。
本发明实施例的数据解码方法,通过将经过编码的数据转换为适合长度的无符号整数,并通过取模运算对所述已编码的数据进行解码,提高了计算速度。
本发明实施例还提供了一种数据编码装置300,包括:
获取模块301,用于获取待编码数据中每一位数据的进制,所述待编码数据包括至少一种进制;
确定模块302,用于根据所述待编码数据中每一位数据的进制,确定所述待编码数据的最大值;
编码模块303,用于根据所述待编码数据的最大值,对所述待编码数据进行编码。
本发明实施例的数据编码装置,通过获取待编码数据中每一位数据的进制,确定待编码数据的最大值,并通过待编码数据的最大值对待编码数据进行编码。本发明实施例的方案,通过待编码数据的最大值对待编码数据进行编码,提高了存储空间的利用率。
本发明实施例还提供了一种数据解码装置400,包括:
转换模块401,用于根据待解码数据的二进制位数,将所述待解码数据转换为无符号整数;
解码模块402,用于根据所述无符号整数,对所述待解码数据进行解码。
本发明实施例的数据解码装置,通过将经过编码的数据转换为适合长度的无符号整数,并通过取模运算对所述已编码的数据进行解码,提高了计算速度。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。
Claims (10)
1.一种数据编码方法,其特征在于,包括:
获取待编码数据中每一位数据的进制,所述待编码数据包括至少一种进制;
根据所述待编码数据中每一位数据的进制,确定所述待编码数据的最大值;
根据所述待编码数据的最大值,对所述待编码数据进行编码。
2.根据权利要求1所述的数据编码方法,其特征在于,所述待编码数据为正数或字母。
3.根据权利要求1所述的数据编码方法,其特征在于,所述根据所述待编码数据的最大值,对所述待编码数据进行编码,包括:根据所述待编码数据的最大值确定承载所述待编码数据的二进制位数。
4.根据权利要求1所述的数据编码方法,其特征在于,所述根据所述待编码数据中每一位数据的进制,确定所述待编码数据的最大值,包括:
将所述待编码数据每一位的进制的乘积减1,得到所述待编码数据的最大值。
5.根据权利要求1所述的数据编码方法,其特征在于,所述根据所述待编码数据中每一位数据的进制,确定所述待编码数据的最大值之前,所述方法还包括:
根据所述待编码数据每一位的进制,调整所述待编码数据的位次顺序,得到进制依次递减的待编码数据。
6.根据权利要求1所述的数据编码方法,其特征在于,所述根据所述待编码数据中每一位数据的进制,确定所述待编码数据的最大值之前,所述方法还包括:
若所述待编码数据的进制的种类大于预设门限,则调整所述待编码数据的位次顺序,使得所述待编码数据中进制相同的数据为相邻位次。
7.根据权利要求1所述的数据编码方法,其特征在于,所述根据所述待编码数据中每一位数据的进制,确定所述待编码数据的最大值之前,所述方法还包括:
若所述待编码数据中存在至少一个进制为2的n次方的第一进制,则调整所述待编码数据的位次顺序,使得所述第一进制对应的数据为相邻位次,并通过位段表示法对所述第一进制对应的数据进行编码。
8.一种数据解码方法,其特征在于,包括:
根据待解码数据的二进制位数,将所述待解码数据转换为无符号整数;
根据所述无符号整数,对所述待解码数据进行解码。
9.一种数据编码装置,其特征在于,包括:
获取模块,用于获取待编码数据中每一位数据的进制,所述待编码数据包括至少一种进制;
确定模块,用于根据所述待编码数据中每一位数据的进制,确定所述待编码数据的最大值;
编码模块,用于根据所述待编码数据的最大值,对所述待编码数据进行编码。
10.一种数据解码装置,其特征在于,包括:
转换模块,用于根据待解码数据的二进制位数,将所述待解码数据转换为无符号整数;
解码模块,用于根据所述无符号整数,对所述待解码数据进行解码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110631252.4A CN115514373A (zh) | 2021-06-07 | 2021-06-07 | 一种数据编码方法、解码方法、数据编码装置及解码装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110631252.4A CN115514373A (zh) | 2021-06-07 | 2021-06-07 | 一种数据编码方法、解码方法、数据编码装置及解码装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115514373A true CN115514373A (zh) | 2022-12-23 |
Family
ID=84499789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110631252.4A Pending CN115514373A (zh) | 2021-06-07 | 2021-06-07 | 一种数据编码方法、解码方法、数据编码装置及解码装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115514373A (zh) |
-
2021
- 2021-06-07 CN CN202110631252.4A patent/CN115514373A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6304196B1 (en) | Disparity and transition density control system and method | |
TWI783295B (zh) | 乘法器及乘法運算方法 | |
CN106549673B (zh) | 一种数据压缩方法及装置 | |
US6525679B1 (en) | Binary to decimal coder/decoder | |
CN107124251B (zh) | 一种基于任意内核的极化码编码方法 | |
CN111538473B (zh) | 一种Posit浮点数处理器 | |
US7612694B1 (en) | Efficient coding of small integer sets | |
CN116016606B (zh) | 一种基于智慧云的污水处理运维数据高效管理系统 | |
CN1110903C (zh) | 编码装置和译码装置 | |
CN1766830A (zh) | 基于处理器字长的数的二进制表示 | |
Alhassan et al. | The Huffman’s method of secured data encoding and error correction using residue number system (RNS) | |
CN115514373A (zh) | 一种数据编码方法、解码方法、数据编码装置及解码装置 | |
CN104852733A (zh) | 动态元件匹配编码器 | |
US20130318093A1 (en) | Short string compression | |
CN115567320A (zh) | 基于微服务架构的物联网平台数据管理方法 | |
WO2021143634A1 (zh) | 算术编码器及实现算术编码的方法和图像编码方法 | |
US11362673B2 (en) | Entropy agnostic data encoding and decoding | |
CN110348554B (zh) | 数字信息编解码方法、装置、电子设备和存储介质 | |
CN112016270A (zh) | 汉信码的物流信息编码方法、装置及设备 | |
CN201966895U (zh) | 一种jpeg霍夫曼解码电路 | |
CN101615970B (zh) | Lte tdd系统中上行控制信道译码的方法及译码装置 | |
Irshid | A simple binary run-length compression technique for non-binary sources based on source mapping | |
CN102545910A (zh) | 一种jpeg霍夫曼解码电路及其解码方法 | |
CN115333544B (zh) | 一种数据解压缩电路及其方法、芯片及电子设备 | |
Borysenko | QUANTUM COMPRESSION OF BINARY MESSAGES |
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 |