CN111709504B - 多维码的编解码方法 - Google Patents
多维码的编解码方法 Download PDFInfo
- Publication number
- CN111709504B CN111709504B CN202010484671.5A CN202010484671A CN111709504B CN 111709504 B CN111709504 B CN 111709504B CN 202010484671 A CN202010484671 A CN 202010484671A CN 111709504 B CN111709504 B CN 111709504B
- Authority
- CN
- China
- Prior art keywords
- data
- dimensional
- dimensional structure
- dimensional code
- boundary line
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Abstract
本申请涉及一种多维码的编解码方法。其中,所述多维码的编码方法,通过将原始数据转化为N进制数据串和嵌入式数据,并通过计算机创建虚拟长方体三维结构,将N进制数据串和嵌入式数据填充入所述虚拟长方体三维结构,实现了将数据编码信息写入长方体三维结构,使得写入的原始数据量大大增加。在填充数据后,通过将所述填充数据后的虚拟长方体三维结构转化为二维图形输出,使得三维结构转化为二维平面图形,便于用户扫描。整个多维码的编码方法,使得多维码图层存储的信息量急剧增加。
Description
技术领域
本申请涉及多维码技术领域,特别是涉及一种多维码的编解码方法。
背景技术
基于快速扫描识别技术,目前主要存在一维条形码(简称一维码)和平面二维码(简称二维码),以及在平面二维码基础上衍生的平面读取点颜色或插入图形改变的二维码形式。
然而,无论是传统的一维码编码方法,还是二维码的编码方法,都存在一个问题:基于编码方法生成的一维码或二维码可存储的数据容量较少。一维码只是在一个方向(一般是水平方向)表达信息,而在垂直方向则不表达任何信息,通常一维码的数据容量仅为30个字符左右,即便由此衍生的多行条形码,它的字符集包括所有128个字符,最大数据容量也仅为1850个字符。二维码虽然在水平和垂直方向的二维空间存储信息,其数据容量相对一维码有了显著的增大,然而其数据容量仍有限,例如由中国物品编码中心于2005年牵头研制的汉信码,其最大版本(189ⅹ189)的数据容量为7829个数字或3262个字节。随着科技的进步,一维码和二维码的数据容量明显无法满足人们日益增长的数据容量需求。
发明内容
基于此,有必要针对基于传统的一维码和二维码的编码方法,生成的一维码或二维码可存储的数据容量较少的问题,提供一种多维码的编解码方法。
本申请提供一种多维码的编码方法,包括:
采集原始数据,并将原始数据转化为数值型数据;所述原始数据包括数字、文字、图像、音频和视频中的一种或多种;
将所述数值型数据的一部分转化为N进制数据串,另一部分转化为嵌入式数据;N为大于1的正整数;
创建虚拟长方体三维结构,设定所述N进制数据串与所述虚拟长方体三维结构的映射关系;
依据所述映射关系,将所述N进制数据串和所述嵌入式数据填充入所述虚拟长方体三维结构,形成填充数据后的虚拟长方体三维结构;
将所述填充数据后的虚拟长方体三维结构转化为二维图形,将所述二维图形作为多维码图层输出。
本申请涉及一种多维码的编码方法,通过将原始数据转化为N进制数据串和嵌入式数据,并通过计算机创建虚拟长方体三维结构,将N进制数据串和嵌入式数据填充入所述虚拟长方体三维结构,实现了将数据编码信息写入长方体三维结构,使得写入的原始数据量大大增加。在填充数据后,通过将所述填充数据后的虚拟长方体三维结构转化为二维图形输出,使得三维结构转化为二维平面图形,便于用户扫描。整个多维码的编码方法,使得多维码图层存储的信息量急剧增加。
本申请还提供一种多维码的解码方法,与前述内容提及的的多维码的编码方法配合使用,包括:
扫描多维码图层,获取所述多维码图层中的二维图形;
对所述二维图形进行解析,将所述二维图形转化为虚拟长方体三维结构;
获取N进制数据串与所述长方体三维结构的映射关系,读取所述虚拟长方体三维结构中的N进制数据串,并获取所述虚拟长方体三维结构中的嵌入式数据;
分析所述N进制数据串的组合逻辑,将所N进制数据串还原为原始数据的格式。
本申请涉及一种多维码的解码方法,通过扫描多维码图层,可以获取多维码图层中二维图形。通过将所述二维图形转化为虚拟长方体三维结构,读取所述虚拟长方体三维结构中的N进制数据串和嵌入式数据,可以还原多维码的编码过程。最后通过分析所述N进制数据串的组合逻辑,可以将所述N进制数据串还原为原始数据的格式。整个多维码的编解码方法,可以实现安全、快速获取多维码图层中存储的大量原始数据。
附图说明
图1为本申请一实施例提供的多维码的编码方法的方法流程图;
图2为本申请一实施例提供的多维码的编码方法中提及的虚拟长方体三维结构的结构示意图;
图3为本申请一实施例提供的多维码的编码方法中提及的虚拟长方体三维结构在填充颜色后的结构示意图;
图4为本申请一实施例提供的多维码的编码方法中的二进制子数据串与最小单元的映射关系的示意图;
图5为本申请一实施例提供的多维码的编码方法中的二维图形的示意图;
图6为本申请一实施例提供的多维码的编码方法中提及的多维码标签的主视图和仰视图
图7为本申请另一实施例提供的多维码的编码方法中提及的多维码标签的主视图和仰视图;
图8为本申请一实施例提供的多维码的解码方法的方法流程图。
附图标记:
10-虚拟长方体三维结构;110-核心顶点;120-最小单元;130-色块单元;
210-多维码载体;220-多维码图层;221-第一表面;222-第二表面;
223-多维码区块;230-文字图像信息图层
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供一种多维码的编码方法。
需要说明的是,本申请提供的多维码的编码方法不限制其应用领域与应用场景。可选地,本申请提供的多维码的编码方法可以应用于任意物品交易、数据传输和数据共享领域。
本申请提供的多维码的编码方法不限制其执行主体。可选地,本申请提供的多维码的编码方法的执行主体可以为一种多维码编码设备。
如图1所示,在本申请的一实施例中,所述多维码的编码方法包括如下步骤:
S100,采集原始数据,并将原始数据转化为数值型数据。所述原始数据包括数字、文字、图像、音频和视频中的一种或多种。
具体地,所述多维码编码设备可以包括数据采集装置和数据处理终端。所述数据采集装置可以为任意一种信息录入转化设备。所述数据处理终端可以为计算机或服务器等具有数据处理功能的终端设备。
本步骤中,所述数据采集装置采集所述原始数据。所述原始数据包括数字、文字、图像、音频和视频等数据格式杂乱的数据。可以理解,为了将所述原始数据存储入多维码图层220中,必须对其进行格式转化。可以理解,所述数据采集装置进一步将原始数据转化为数值型数据。所述数值型数据为所述数据处理终端可以识别的数据,且数据格式统一。进一步地,所述数据采集装置将所述数值型数据发送至所述数据处理终端。
S300,将所述数值型数据的一部分转化为N进制数据串,另一部分转化为嵌入式数据。其中,N为大于1的正整数。
具体地,所述嵌入式数据数字、文字、图像、音频和视频中的一种,以数值型数据的形式出现。为了编写方便,可以将所述数值型数据的一部分转化为N进制数据的形式。可选地,N可以任意选取大于1的正整数。N进制数据串可以为二进制数据串、四进制数据串、五进制数据串、八进制数据串、十六进制数据串等等形式。
S500,创建虚拟长方体三维结构10,设定所述N进制数据串与所述虚拟长方体三维结构10的映射关系。
具体地,所述数据处理终端可以设置有计算机编码系统模拟系统或AI自我学习系统。所述计算机编码系统模拟系统或AI自我学习系统可以创建虚拟长方体三维结构10,虚拟长方体三维结构10如图2所示。三维结构相对于一维结构和二维结构,具有更大的数据容量。进一步地,所述数据处理终端在创建虚拟长方体三维结构10后,还设定所述N进制数据串与所述虚拟长方体三维结构10的映射关系。这是为了便于将N进制数据串存储入虚拟长方体三维结构10中。
在虚拟长方体三维结构10的一种特殊的实施例中,所述虚拟长方体三维结构10为正方体三维结构。
S700,依据所述映射关系,将所述N进制数据串和所述嵌入式数据填充入所述虚拟长方体三维结构10,形成填充数据后的虚拟长方体三维结构10。
具体地,填充数据后的虚拟长方体三维结构10的数据容量较大,数据存储方式也多样。
S910,将所述填充数据后的虚拟长方体三维结构10转化为二维图形,将所述二维图形作为多维码图层220输出。
具体地,为了便于解码,所述数据处理终端将填充数据后的虚拟长方体三维结构10转化为二维图形。该二维图形可以作为多维码图层220,印刷于多维码载体210的表面。所述多维码载体210可以为任意实物载体,例如纸张、广告牌、锁具、工装、供电装置、打印装置或其他可以实施成像的介质。
本实施例中,通过将原始数据转化为N进制数据串和嵌入式数据,并通过计算机创建虚拟长方体三维结构10,将N进制数据串和嵌入式数据填充入所述虚拟长方体三维结构10,实现了将数据编码信息写入长方体三维结构,使得写入的原始数据量大大增加。在填充数据后,通过将所述填充数据后的虚拟长方体三维结构10转化为二维图形输出,使得三维结构转化为二维平面图形,便于用户扫描。整个多维码的编码方法,使得多维码图层220存储的信息量急剧增加。
在本申请的一实施例中,所述步骤S500包括如下步骤:
S510,如图2所示,创建虚拟长方体三维结构10,将所述虚拟长方体三维结构10的一个顶点作为核心顶点110。将由所述核心顶点110出发的三条棱分别定义为X边界线,Y边界线和Z边界线。将相交于所述核心顶点110的三个面分别定义为XY面,XZ面和YZ面。所述XY面,XZ面和YZ面中的每一个面由多个面积相等且形状相等的最小单元120以矩阵状排列组合而成。
具体地,所述最小单元120的形状在编码过程中可以为正方形。
S520,对所述X边界线,Y边界线和Z边界线进行虚线标识或实线标识,使X边界线,Y边界线和Z边界线均为虚线或均为实线。
具体地,本步骤可以实现对虚拟长方体三维结构10的三个面的具体展现。当对所述X边界线,Y边界线和Z边界线进行虚线标识时,X边界线,Y边界线和Z边界线均为虚线。可以理解,此时XY面,XZ面和YZ面为所述虚拟长方体三维结构10的三个内表面,且三个内表面相交于同一个顶点,即所述核心顶点110。
当对所述X边界线,Y边界线和Z边界线进行实线标识时,X边界线,Y边界线和Z边界线均为实线。可以理解,此时XY面,XZ面和YZ面为所述虚拟长方体三维结构10的三个外表面,且三个外表面相交于同一个顶点,即所述核心顶点110。
S530,将所述N进制数据串转化为多个N进制子数据串,设定每一个N进制子数据串与所述最小单元120的映射关系。
具体地,所述N进制数据串可以为一个,也可以为多个。本步骤中,具体的,所述数据处理终端依据预定的转化逻辑,将字符数较多的每一个N进制数据串打断,生成多个字符数较少的N进制子数据串。例如,将01000100010....01000转化为0100,0211,0021,便于后续设定映射关系。当然,多个N进制子数据串所表达的数据信息,应当与转化前的N进制数据串所述表达的数据信息一致,即转化前后的数据信息不变,只是形式上的拆解。
进一步地,设定每一个N进制子数据串与所述最小单元120的映射关系。具体地,将每一个N进制子数据串与虚拟长方体三维结构10中的一个最小单元120建立映射关系。也即一个N进制子数据串对应一个唯一的最小单元120。
本实施例中,通过将N进制数据串转化为多个N进制子数据串,实现化繁为简,便于N进制数据串填充入虚拟长方体三维结构10。通过设定每一个N进制子数据串与所述最小单元120的映射关系,使得N进制子数据串在填充入虚拟长方体三维结构10时,有依据和规则可遵循。
如图3所示,在本申请的一实施例中,所述N进制子数据串为由i个N进制数字随机组合形成的字符串。所述最小单元120由m个形状相同且面积相等的色块单元130组成。每个色块单元130填充k种可以互相区别的颜色中的一种。i,m和k均为大于1的正整数。
具体地,例如,N为2,i为4时,N进制子数据串为二进制子数据串,且由4个二进制数字随机组成,则该例子下一个N进制子数据串可以为0001。这里可以互相区别的颜色的意思是k种不同的颜色之间,不但可以被肉眼区别彼此之间的不同,而且需要被后续多维码解码设备解码时,识别出彼此之间的不同,以避免多维码图层220无法被解码装置解码的现象发生。
本实施例中,通过设置N进制子数据串的数据组成形式,使得不同的N进制子数据串之间可以产生区别。通过设置最小单元120由m个形状相同且面积相等的色块单元130组成,且每个色块单元130填充k种可以互相区别的颜色中的一种,使得可以通过不同颜色的组合区别不同的最小单元120。
在本申请的一实施例中,所述步骤S530包括如下步骤:
S531,对每一个N进制子数据串执行下述步骤:依据所述N进制子数据串的数据形式,对一个最小单元120包括的m个色块单元130进行颜色填充。将该N进制子数据串与该填充颜色后的最小单元120建立映射关系,并确保每一个N进制子数据串对应一种唯一的填色组合。
具体地,每一个N进制子数据串有一种数据形式,而该数据形式可以对应一个最小单元120的一种色块单元130的填充方式,这样可以使得N进制子数据串和最小单元120建立一一对应的映射关系,避免数据存储之间出现冲突。
本实施例中,通过依据所述N进制子数据串的数据形式,对一个最小单元120包括的M个色块单元130进行颜色填充,可以使得N进制子数据串和最小单元120建立一一对应的映射关系,避免数据存储之间出现冲突。
在本申请的一实施例中,当N为2,i为4,m为4,k为2时,所述N进制子数据串的数据形式为0001、1000、0100、0010、1010、0101、1100、0011、1110、0111、1011、1101、1001、0110、1111和0000中的一种。
具体地,如图3和图4所示,本实施例可以作为步骤S531的解释说明。本实施例中,N进制子数据串为4个二进制数字随机组合形成的字符串,且只能包括0或1,那么就会有16种数据形式:0001、1000、0100、0010、1010、0101、1100、0011、1110、0111、1011、1101、1001、0110、1111或0000。那么为了使得每一种数据形式的二进制子数据串均有与其对应的一个最小单元120,则需要找寻4种不同颜色填充方式的最小单元120。当m为4时,k为2时,刚好满足这个要求,可以将数字0表示为填充白色,将数字1代表为填充黑色。
例如如图4所示,k为2且设定填充颜色为黑色和白色时,4个色块单元130也有16种颜色填充的组合方式。具体地,4个色块单元130全部填充黑色有1种组合方式,表示为1111。4个色块单元130全部填充白色有1种组合方式,表示为0000。4个色块单元130中仅有1个色块单元130填充黑色,其余色块单元130填充白色的情况,由于填充黑色的色块单元130不同,有4种组合方式。4个色块单元130中有两个色块单元130填充黑色,其余2个色块单元130231填充白色的情况,由于填充黑色的色块单元130和填充白色的色块单元130不同,有6种组合方式。4个色块单元130中仅有1个色块单元130填充白色,其余色块单元130填充黑色的情况,由于填充白色的色块单元130不同,有4种组合方式。1+1+4+6+4-16,一共有16种组合方式,可以刚好与16个不同数据形式的N进制子数据串进行一一对应。
在本申请的一实施例中,当N为4,i为4,m为4,k为4时,N进制子数据串为4个四进制数字随机组合形成的字符串,且四进制数字为0,1,2和3中的一个。则N进制子数据串为四进制子数据串,例如0123。此时,四进制子数据串对应的最小单元可以包括4个色块单元,每个色块单元填充4种不同颜色的一种,例如红绿蓝黄。红绿蓝黄的组合方式有多种,不同填充位置填充不同的颜色也会衍生出多种组合方式,此处为了简略描述,不再穷举所有的组合方式。
在本申请的一实施例中,所述步骤S700包括如下步骤:
S710,依据每一个N进制子数据串与所述最小单元120的映射关系,将每一个N进制子数据串转化为已填充颜色的最小单元120,生成多个已填充颜色的最小单元120。
具体地,可以理解,本步骤是将不同的N进制子数据串转化为不同颜色填充的组合方式的最小单元120,以实现将N进制子数据串填充入虚拟长方体三维结构10。
S720,依据预设填充顺序,将多个已填充颜色的最小单元120依次填充入所述虚拟长方体三维结构10中的XY面,XZ面和YZ面中。
具体地,所述预设填充顺序可以根据N进制数据串与N进制子数据串的转化关系生成,避免原始数据的丢失,保证填充最小单元120后,最小单元120代表的数据内容与N进制子数据串表达的数据内容相同,且三个面XY面,XZ面和YZ面整体代表的数据内容与整个N进制数据串表达的数据内容相同。
S730,判断所述X边界线,Y边界线和Z边界线均为虚线还是均为实线。
具体地,本步骤的工作原理在步骤S520已经做出解释,本步骤是为了确定虚拟长方体三维结构10的三个面的具体展现。
S740,若所述X边界线,Y边界线和Z边界线均为虚线,则将所述嵌入式数据填充入所述虚拟长方体三维结构10的内部,形成填充数据后的虚拟长方体三维结构10。
具体地,此时XY面,XZ面和YZ面为所述虚拟长方体三维结构10的三个内表面,则所述嵌入式数据填充入所述虚拟长方体三维结构10的内部。
S750,若所述X边界线,Y边界线和Z边界线均为实线,则将所述嵌入式数据填充入所述XY面,XZ面和YZ面中一个面或多个面的外表面,形成填充数据后的虚拟长方体三维结构10。
具体地,此时XY面,XZ面和YZ面为所述虚拟长方体三维结构10的三个外表面,则所述嵌入式数据填XY面,XZ面和YZ面中一个面或多个面的外表面。此外,N进制子数据串与嵌入式数据有三维空间关系算法。X边界线,Y边界线和Z边界线的虚实不同,使得填充入虚拟长方体三维结构10的位置的不同,也会导致N进制子数据串与嵌入式数据的三维空间关系算法不同。
本实施例中,通过将N进制子数据串转化为已填充颜色的最小单元120,并将已填充颜色的最小单元120依次填充入所述虚拟长方体三维结构10中的XY面,XZ面和YZ面中,再进一步填充入嵌入式数据,大大扩充了整个虚拟长方体三维结构10的数据容量。
在本申请的一实施例中,所述N进制数据串可以为包括纠错程序的纠错N进制数据串。所述纠错N进制数据串包括多个纠错N进制子数据串。XY面,XZ面和YZ面中的一个或多个面可以包括多个填充纠错N进制数据串的最小单元120。
具体地,纠错程序可以用于对其他最小单元120和嵌入式数据进行数据纠错和逻辑关系纠错。可以设定XY面,XZ面和YZ面中的一个面中的一个区域为纠错区域,将该纠错区域的全部最小单元120设定为纠错最小单元120。可以将包括纠错程序的纠错N进制子数据串转化为纠错最小单元120,填充入所述虚拟长方体三维结构10,实现纠错功能。
本实施例中,通过设置包括纠错程序的纠错N进制子数据串,可以实现将纠错程序存储入虚拟长方体三维结构10中,无论在编码过程中,还是在解码过程中,均可以实现纠错功能。
在本申请的一实施例中,所述步骤S910包括:
S911,选取所述填充数据后的虚拟长方体三维结构10中XY面,XZ面和YZ面在同一个平面的投影,生成二维图形。
具体地,如图5所示,该二维图形也由于是XY面,XZ面和YZ面在同一个平面的投影,因此二维图形中也会出现X边界线,Y边界线和Z边界线。
二维图形中会显示多维码图层220,也会显示文字图像信息图层230。多维码图层220与虚拟长方体三维结构10中XY面,XZ面和YZ面中各个最小单元120存储的数据对应。所述文字图像信息图层230与前述内容提及到的嵌入式数据对应。
在图6的实施例中,所述文字图像信息图层230附着于所述多维码图层220的第一表面221,在平面图形中,所述文字图像信息图层230表示为带有阴影的字段。这表明所位文字图像信息图层230被所述多维码图层220遮盖。在编码过程中,这表明所述所述文字图像信息图层230对应的文字图像数据存储于长方体三维结构的内部。
在图7的实施例中,所述文字图像信息图层230附着于所述多维码图层220的第二表面222。可以理解,所述文字图像信息图层230相当于设置于所述多维码载体210和所述多维码图层220之间。在平面图形中,所述文字图像信息图层230表示为实体字段。这表明所述文字图像信息图层230覆盖了所述多维码图层220。在编码过程中,这表明所述所述文字图像信息图层230对应的文字图像数据存储于长方体三维结构的外表面。
S912,建立所述二维图形与所述虚拟长方体三维结构10的映射关系,将所述二维图形作为所述多维码图层220输出。
具体地,本步骤建立映射关系是便于后续解码时,通过扫描二维图形,可以还原虚拟长方体三维结构10,从而可以从虚拟长方体三维结构10读取出存储于虚拟长方体三维结构10的数据。
本实施例中,通过选取所述填充数据后的虚拟长方体三维结构10中XY面,XZ面和YZ面在同一个平面的投影,生成二维图形,实现了将三维结构转化为二维平面结构,化繁为简,便于用户后续进行扫码操作。
在本申请的一实施例中,所述虚拟长方体三维结构为正方体三维结构,所述多维码图层220包括三个多维码区块223。每一个多维码区块223由多个形状相同且面积相等的子区块以矩阵状排列组合而成。每一个子区块由四个形状相同且面积相等的色块区域组成,每一个色块区域填充一种颜色。
所述三个多维码区块223分别对应所述填充数据后的虚拟长方体三维结构10中的XY面,XZ面和YZ面。所述子区块对应所述填充数据后的虚拟长方体三维结构10中的最小单元120。所述色块区域对应所述填充数据后的虚拟长方体三维结构10中的色块单元130。所述多维码区块223的形状为等边菱形。所述子区块的形状为等边菱形。所述色块单元130的形状为三角形。
具体地,如图所示,X边界线,Y边界线和Z边界线刚好把二维图形分割为三个等边菱形形状的多维码区块223,每一个多维码区块223对应虚拟长方体三维结构10中的一个面。X边界线,Y边界线和Z边界线之间两两呈90度角分布。如图所示,每一个多维码区块223又包括四个等边菱形形状的子区块。每个子区块包括四个三角形形状的色块单元130。所述多维码区块223,子区块和色块单元130的形状都是由于虚拟长方体三维结构10在一个平面投影的结果。
本实施例中,通过设定每一个多维码区块223的形状均为等边菱形,以及每一个子区块的形状均为等边菱形,以及每一个色块单元130的形状均为三角形,使得整个多维码图层220的二维图形规则,解码算法相对简单不复杂。
在本申请的一实施例中,在所述步骤S910之前,所述多维码的编码方法还包括如下步骤:
S810,以所述核心顶点110为坐标原点建立立体三维坐标系,并设置所述立体三维坐标系中三个坐标轴的初始位置;在所述立体三维坐标系中,所述X边界线、Y边界线和Z边界线之间两两呈90度角分布。
具体地,可以理解,以所述核心顶点110为原点建立的立体三维坐标系有x轴、y轴和z轴。
S820,在所述立体三维坐标系中,将所述三个坐标轴的初始位置作为参照物,记录所述X边界线、Y边界线和Z边界线相对于所述三个坐标轴的初始位置的位置信息。将所述位置信息保存为当前位置信息,存储入所述填充数据后的虚拟长方体三维结构10。
具体地,所述当前位置信息展现了,所述填充数据后的虚拟长方体三维结构10的当前形态和当前位置。
本实施例可以实现在编码结束后,及时保存填充数据后的虚拟长方体三维结构10的当前形态和当前位置。
在本申请的一实施例中,在所述步骤S910之后,所述多维码的编码方法还包括如下步骤:
S921,实时获取所述多维码图层220的解码状态,依据所述解码状态判断所述多维码图层220是否被解码。
具体地,本实施例的目的是为了数据安全。在一些情况下,多维码图层220希望只被解码一次,然后多维码图层220自动失效。因此,在编码结束后,所述数据处理终端还要实时监控所述多维码图层220的解码状态。
S922,若所述多维码图层220被解码,则调取所述当前位置信息。
具体地,若所述多维码图层220未被解码,则返回所述步骤S921,继续监控所述多维码图层220的解码状态。
S923,依据所述当前位置信息还原所述填充数据后的虚拟长方体三维结构10,以顺时针或逆时针旋转所述所述填充数据后的虚拟长方体三维结构10任意角度,以使所述X边界线、所述Y边界线和所述Z边界线相对于所述三个坐标轴的初始位置的位置信息发生改变,得到旋转后的虚拟长方体三维结构10。
具体地,由于所述当前位置信息代表了填充数据后的虚拟长方体三维结构10的当前形态和当前位置,因此,当旋转所述填充数据后的虚拟长方体三维结构10任意角度后,填充数据后的虚拟长方体三维结构10的位置相对于原始位置发生了改变,每个最小单元120所包含的空间位置信息也发生了改变,最小单元120与N进制子数据串的对应关系也发生了改变。可以理解,旋转后的虚拟长方体三维结构10的数据和编码逻辑已经混乱,无法再被解码方法正常解码,还原为原始数据,间接保护了数据安全。
S924,将所述旋转后的虚拟长方体三维结构10与所述多维码图层220建立新的映射关系。
具体地,本步骤就是使得用户在二次扫码后,解码设备或解码终端显示的是旋转后的虚拟长方体三维结构10,无法正常解码获取原始数据,间接保护了原始数据的数据安全。
本实施例中,通过多维码编码设备的数据处理终端,实时获取所述多维码图层220的解码状态,并在多维码图层220被首次解码后,立即旋转虚拟长方体三维结构10,使得旋转后的虚拟长方体三维结构10的数据和编码逻辑已经混乱,无法再被解码方法正常解码,还原为原始数据,间接保护了数据安全。
本申请还提供一种多维码的解码方法,与前述内容提及的多维码的编码方法配合使用。
本申请提供的多维码的解码方法不限制其执行主体。可选地,本申请提供的多维码的解码方法的执行主体可以为一种多维码解码设备,与前述提及的多维码编码设备配合使用。
如图8所示,在本申请的一实施例中,所述多维码的解码方法包括如下步骤:
W100,扫描多维码图层220,获取所述多维码图层220中的二维图形。
W200,对所述二维图形进行解析,将所述二维图形转化为虚拟长方体三维结构10。
W300,获取N进制数据串与所述长方体三维结构的映射关系,读取所述虚拟长方体三维结构10中的N进制数据串,并获取所述虚拟长方体三维结构10中的嵌入式数据。
W400,分析所述N进制数据串的组合逻辑,将所述N进制数据串还原为原始数据的格式。
本实施例保护的多维码的解码方法,与前述内容提及的多维码的编码方法息息相关,等同于前述内容提及的多维码的编码方法的逆运算,此处不再赘述。本申请提供的多维码的解码方法,与前述内容提及的多维码的编码方法配合使用,本申请提供的多维码的解码方法的拓展实施例也与前述内容提及的多维码的编码方法的拓展实施例类似,此处不再赘述。
本申请涉及一种多维码的解码方法,通过扫描多维码图层220,可以获取多维码图层220中二维图形。通过将所述二维图形转化为虚拟长方体三维结构10,读取所述虚拟长方体三维结构10中的N进制数据串和嵌入式数据,可以还原多维码的编码过程。最后通过分析所述N进制数据串的组合逻辑,可以将所述N进制数据串还原为原始数据的格式。整个多维码的编解码方法,可以实现安全、快速获取多维码图层220中存储的大量原始数据。
在本申请的一实施例中,在多维码编码过程中,可以向虚拟长方体三维结构10的每个最小单元120的多个色块单元130填充多种不同的颜色,例如红色,绿色,蓝色,紫色,黑色等等。
由于颜色越深,吸热能力越强,越容易造成温差,而温差越大,越有利辐射的发挥,因此颜色越深的物体的热辐射能力越强。在多维码扫码的过程中,可以使用热辐射测试装置扫描二维图层中各个子区块的不同色块区域的颜色,以得到每一个子区块的不同色块区域的热辐射能力。将每一个子区块的不同色块区域的热辐射能力加和,得到每一个子区块的热辐射能力。
可以在编码过程中,建立最小单元120的热辐射能力与N进制子数据串的对应关系,作为N进制子数据串转化为最小单元120的转化逻辑,那么在输出的二维图形中,一个最小单元120的热辐射能力可以表现为一个子区块的热辐射能力,在解码过程中可以自然得到与子区块的热辐射能力对应的N进制子数据串,实现解码。
以上所述实施例的各技术特征可以进行任意的组合,各方法步骤也并不做执行顺序的限制,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (12)
1.一种多维码的编码方法,其特征在于,包括:
采集原始数据,并将原始数据转化为数值型数据;所述原始数据包括数字、文字、图像、音频和视频中的一种或多种;
将所述数值型数据的一部分转化为N进制数据串,另一部分转化为嵌入式数据;N为大于1的正整数;所述嵌入式数据为数字、文字、图像、音频和视频中的一种;
创建虚拟长方体三维结构,设定所述N进制数据串与所述虚拟长方体三维结构的映射关系;
依据所述映射关系,将所述N进制数据串和所述嵌入式数据填充入所述虚拟长方体三维结构,形成填充数据后的虚拟长方体三维结构;
将所述填充数据后的虚拟长方体三维结构转化为二维图形,将所述二维图形作为多维码图层输出。
2.根据权利要求1所述的多维码的编码方法,其特征在于,所述创建虚拟长方体三维结构,设定所述N进制数据串与所述虚拟长方体三维结构的映射关系的步骤包括:
创建虚拟长方体三维结构,将所述虚拟长方体三维结构的一个顶点作为核心顶点,将由所述核心顶点出发的三条棱分别定义为X边界线,Y边界线和Z边界线,将相交于所述核心顶点的三个面分别定义为XY面,XZ面和YZ面;所述XY面,XZ面和YZ面中的每一个面由多个面积相等且形状相等的最小单元以矩阵状排列组合而成;
对所述X边界线,Y边界线和Z边界线进行虚线标识或实线标识,使X边界线,Y边界线和Z边界线均为虚线或均为实线;
将所述N进制数据串转化为多个N进制子数据串,设定每一个N进制子数据串与所述最小单元的映射关系。
3.根据权利要求2所述的多维码的编码方法,其特征在于,所述N进制子数据串为由i个N进制数字随机组合形成的字符串;
所述最小单元由m个形状相同且面积相等的色块单元组成,每个色块单元填充k种可以互相区别的颜色中的一种;i,m和k均为大于1的正整数。
4.根据权利要求3所述的多维码的编码方法,其特征在于,所述设定每一个N进制子数据串与所述最小单元的映射关系的步骤包括:
对每一个N进制子数据串执行下述步骤:依据所述N进制子数据串的数据形式,对一个最小单元包括的m个色块单元进行颜色填充,将该N进制子数据串与该填充颜色后的最小单元建立映射关系,并确保每一个N进制子数据串对应一种唯一的填色组合。
5.根据权利要求4所述的多维码的编码方法,其特征在于,当N为2,i为4,m为4,k为2时,所述N进制子数据串的数据形式为0001、1000、0100、0010、1010、0101、1100、0011、1110、0111、1011、1101、1001、0110、1111和0000中的一种。
6.根据权利要求5所述的多维码的编码方法,其特征在于,所述依据所述映射关系,将所述N进制数据串和所述嵌入式数据填充入所述虚拟长方体三维结构,形成填充数据后的虚拟长方体三维结构的步骤包括:
依据每一个N进制子数据串与所述最小单元的映射关系,将每一个N进制子数据串转化为已填充颜色的最小单元,生成多个已填充颜色的最小单元;
依据预设填充顺序,将多个已填充颜色的最小单元依次填充入所述虚拟长方体三维结构中的XY面,XZ面和YZ面中;
判断所述X边界线,Y边界线和Z边界线均为虚线还是均为实线;
若所述X边界线,Y边界线和Z边界线均为虚线,则将所述嵌入式数据填充入所述虚拟长方体三维结构的内部,形成填充数据后的虚拟长方体三维结构;
若所述X边界线,Y边界线和Z边界线均为实线,则将所述嵌入式数据填充入所述XY面,XZ面和YZ面中一个面或多个面的外表面,形成填充数据后的虚拟长方体三维结构。
7.根据权利要求6所述的多维码的编码方法,其特征在于,所述N进制数据串为包括纠错程序的纠错N进制数据串,所述纠错N进制数据串包括多个纠错N进制子数据串,所述XY面,XZ面和YZ面中的一个或多个面包括多个填充纠错N进制数据串的最小单元。
8.根据权利要求7所述的多维码的编码方法,其特征在于,所述将所述填充数据后的虚拟长方体三维结构转化为二维图形输出的步骤包括:
选取所述填充数据后的虚拟长方体三维结构中XY面,XZ面和YZ面在同一个平面的投影,生成二维图形;
建立所述二维图形与所述虚拟长方体三维结构的映射关系,将所述二维图形作为所述多维码图层输出。
9.根据权利要求8所述的多维码的编码方法,其特征在于,所述虚拟长方体三维结构为正方体三维结构,所述多维码图层包括三个多维码区块,每一个多维码区块由多个形状相同且面积相等的子区块以矩阵状排列组合而成,每一个子区块由四个形状相同且面积相等的色块区域组成,每一个色块区域填充一种颜色;
所述三个多维码区块分别对应所述填充数据后的虚拟长方体三维结构中的XY面,XZ面和YZ面,所述子区块对应所述填充数据后的虚拟长方体三维结构中的最小单元,所述色块区域对应所述填充数据后的虚拟长方体三维结构中的色块单元;
所述多维码区块的形状为等边菱形,所述子区块的形状为等边菱形,所述色块单元的形状为三角形。
10.根据权利要求9所述的多维码的编码方法,其特征在于,在所述将所述填充数据后的虚拟长方体三维结构转化为二维图形,将所述二维图形作为多维码图层输出的步骤之前,还包括:
以所述核心顶点为坐标原点建立立体三维坐标系,并设置所述立体三维坐标系中三个坐标轴的初始位置;在所述立体三维坐标系中,所述X边界线、Y边界线和Z边界线之间两两呈90度角分布;
在所述立体三维坐标系中,将所述三个坐标轴的初始位置作为参照物,记录所述X边界线、Y边界线和Z边界线相对于所述三个坐标轴的初始位置的位置信息,将所述位置信息保存为当前位置信息,存储入所述填充数据后的虚拟长方体三维结构。
11.根据权利要求10所述的多维码的编码方法,其特征在于,在所述将所述填充数据后的虚拟长方体三维结构转化为二维图形,将所述二维图形作为多维码图层输出的步骤之后,还包括:
实时获取所述多维码图层的解码状态,依据所述解码状态判断所述多维码图层是否被解码;
若所述多维码图层被解码,则调取所述当前位置信息;
依据所述当前位置信息还原所述填充数据后的虚拟长方体三维结构任意角度,以顺时针或逆时针旋转所述所述填充数据后的虚拟长方体三维结构任意角度,以使所述X边界线、所述Y边界线和所述Z边界线相对于所述三个坐标轴的初始位置的位置信息发生改变,得到旋转后的虚拟长方体三维结构;
将所述旋转后的虚拟长方体三维结构与所述多维码图层建立新的映射关系。
12.一种多维码的解码方法,其特征在于,与权利要求1-11任意一项所述的多维码的编码方法配合使用,所述多维码的解码方法包括:
扫描多维码图层,获取所述多维码图层中的二维图形;
对所述二维图形进行解析,将所述二维图形转化为虚拟长方体三维结构;
获取N进制数据串与所述虚拟长方体三维结构的映射关系,读取所述虚拟长方体三维结构中的N进制数据串,并获取所述虚拟长方体三维结构中的嵌入式数据;
分析所述N进制数据串的组合逻辑,将所述N进制数据串还原为原始数据的格式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010484671.5A CN111709504B (zh) | 2020-06-01 | 2020-06-01 | 多维码的编解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010484671.5A CN111709504B (zh) | 2020-06-01 | 2020-06-01 | 多维码的编解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111709504A CN111709504A (zh) | 2020-09-25 |
CN111709504B true CN111709504B (zh) | 2023-04-28 |
Family
ID=72538244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010484671.5A Active CN111709504B (zh) | 2020-06-01 | 2020-06-01 | 多维码的编解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111709504B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1271141A (zh) * | 2000-03-22 | 2000-10-25 | 陈捷力 | 任意进制三维码编码方法 |
CN103268507A (zh) * | 2013-04-23 | 2013-08-28 | 北京印刷学院 | 一种三维码的编码方法 |
CN103632181A (zh) * | 2012-08-22 | 2014-03-12 | 天津网团科技有限公司 | 一种三维图像码的生成和解析方法及其装置 |
CN106934441A (zh) * | 2017-03-26 | 2017-07-07 | 袁昕喆 | 一种多维码及其编码和解码方法 |
WO2018210076A1 (zh) * | 2017-05-16 | 2018-11-22 | 李峰 | 结构三维码及防伪方法 |
CN109389199A (zh) * | 2018-09-27 | 2019-02-26 | 张伟 | 一种多维码系统及编解码方法 |
CN110276428A (zh) * | 2019-06-05 | 2019-09-24 | 上海工程技术大学 | 一种四维码编码及解码方法 |
-
2020
- 2020-06-01 CN CN202010484671.5A patent/CN111709504B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1271141A (zh) * | 2000-03-22 | 2000-10-25 | 陈捷力 | 任意进制三维码编码方法 |
CN103632181A (zh) * | 2012-08-22 | 2014-03-12 | 天津网团科技有限公司 | 一种三维图像码的生成和解析方法及其装置 |
CN103268507A (zh) * | 2013-04-23 | 2013-08-28 | 北京印刷学院 | 一种三维码的编码方法 |
CN106934441A (zh) * | 2017-03-26 | 2017-07-07 | 袁昕喆 | 一种多维码及其编码和解码方法 |
WO2018210076A1 (zh) * | 2017-05-16 | 2018-11-22 | 李峰 | 结构三维码及防伪方法 |
CN109389199A (zh) * | 2018-09-27 | 2019-02-26 | 张伟 | 一种多维码系统及编解码方法 |
CN110276428A (zh) * | 2019-06-05 | 2019-09-24 | 上海工程技术大学 | 一种四维码编码及解码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111709504A (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3467786B1 (en) | A method and apparatus for encoding a point cloud representing three-dimensional objects | |
US8237710B1 (en) | Methods and apparatus for fill rule evaluation over a tessellation | |
CN106909640A (zh) | 基于webgl的三维模型轻量化展示技术 | |
CN107403462A (zh) | 呈现含真实对象及其虚拟副本的场景的图像的方法和设备 | |
US20050151734A1 (en) | Method and apparatus for rendering, storing and editing voxel objects | |
US11212421B2 (en) | Interactive three-dimensional (3D) color histograms | |
US10997778B2 (en) | Method for generating three-dimensional model, and terminal device | |
CN113112581A (zh) | 三维模型的纹理贴图生成方法、装置、设备及存储介质 | |
BRPI1106597A2 (pt) | mÉtodo e dispositivo para proteÇço de objeto 3d por permuta de coordenadas de seus pontos | |
CA2392638C (en) | Method for representing image-based rendering information in 3d scene | |
CN113628331B (zh) | 一种虚幻引擎中摄影测量模型的数据组织和调度方法 | |
US20220254068A1 (en) | A method and apparatus for decoding three-dimensional scenes | |
CN109636893A (zh) | 三维OBJ模型及MTL材质在iPhone中的解析与渲染方法 | |
WO2022023002A1 (en) | Methods and apparatus for encoding and decoding a 3d mesh as a volumetric content | |
CN111709504B (zh) | 多维码的编解码方法 | |
CN114119927A (zh) | 一种倾斜摄影模型优化的模型处理方法及装置 | |
CN113590551A (zh) | 一种材料数字化扩展格式系统、方法、介质及设备 | |
CA2146516A1 (en) | Image generation apparatus | |
CN212032185U (zh) | 多维码标签 | |
CN112419463A (zh) | 一种模型数据处理方法、装置、设备及可读存储介质 | |
CN116206029B (zh) | 地质数据渲染方法、装置、计算机设备及存储介质 | |
EP3821602A1 (en) | A method, an apparatus and a computer program product for volumetric video coding | |
CN116883575B (zh) | 建筑群渲染方法、装置、计算机设备和存储介质 | |
JP7480547B2 (ja) | 情報処理装置、及び情報処理プログラム | |
JP7460113B2 (ja) | 二次元コードエンコーダ |
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 |