本申请涉及计算机技术领域,尤其涉及一种二维码的编码方法和装置、二维码的解码方法和装置、移动终端、非瞬时性计算机可读存储介质以及二维码。
背景技术:
二维码(qrcode)又称二维条码,是近年来非常流行的一种信息编码方式,它比传统的条形码(barcode)能记录更多的信息,也能表示更多的数据类型。
二维码是用某种特定的几何图形按一定规律在平面上(二维方向上)分布的黑白相间的图形记录数据的符号信息,其在代码编制上利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。二维码具有条形码技术的一些共性:每种码制有其特定的字符集,每个字符占有一定的宽度,具有一定的校验功能等。
图1示出了传统二维码的一个示例。如图1所示,二维码100可包括编码区域110和定位点区域120。其中,编码区域110包含了二维码所记录的数据信息,在该区域,以黑和白或者灰度点和空白来表示二进制的1和0。定位点区域120包含位于该二维码图案左上角、左下角、右上角的三个定位图案。当识别该二维码时,可先确认这三个定位图案的位置,即可定位到整个二维码的区域。由于有可能从不同的角度和方向扫描或拍摄二维码,因此,各定位图案相互间需要是非对称的,才能够确认二维码的正确方向(即上、下、左、右)。这样一来就会影响二维码的美观和协调性。然而,这是这种传统编码方式所不可避免的。
技术实现要素:
本申请提供了一种二维码的编码方法和装置、二维码的解码方法和装置、移动终端、非瞬时性计算机可读存储介质以及二维码。
根据本申请的第一方面,提供了一种二维码的编码方法,包括:将待编码的数据转换为二进制比特流;在所述二进制比特流的起始位置插入预设的起始字段;自所述起始字段开始,将所述二进制比特流渲染为二维图案;在所述二维图案的预定区域添加对称的多个定位图案。
根据一个实施方式,该方法还包括:根据预设的crc生成多项式,对所述二进制比特流进行计算,以生成crc校验码;将所生成的crc校验码插入所述二进制比特流中。
根据一个实施方式,该方法还包括:根据预设的rs生成多项式,对所述二进制比特流进行计算,以生成rs纠错码;将所生成的rs纠错码插入所述二进制比特流中。
根据一个实施方式,所述二维图案包括多圈封闭图形,所述多圈封闭图形彼此同心。
根据一个实施方式,所述二维图案包括彼此同心的四圈封闭图形,所述四圈封闭图形中的最外圈和最内圈为环形,所述四圈封闭图形的中间两圈为圆角多边形。
根据一个实施方式,所述圆角多边形为圆角六边形。
根据一个实施方式,自所述起始字段开始,将所述二进制比特流渲染为二维图案包括:将所述二进制比特流中的0所对应的位置渲染为空白;将所述二进制比特流中的1所对应的位置渲染为灰度点或线段。
根据一个实施方式,自所述起始字段开始,将所述二进制比特流渲染为二维图案还包括:检测所渲染的二维图案中连续出现的三个或三个以上的灰度点;将所检测出的、连续出现的三个或三个以上的灰度点中的部分灰度点调整为灰度线段。
根据一个实施方式,该方法还包括:检测所述二进制比特流中连续出现的三个或三个以上的0;在所检测出的、连续出现的三个或三个以上的0之前插入预设的转义字段;对所检测出的、连续出现的三个或三个以上的0进行转义处理。
根据一个实施方式,所述对称的多个定位图案为对称分布的四个定位圆。
根据一个实施方式,该方法还包括:在所述封闭图形所包围的中央区域添加克拉尼图形或预设的图片。
根据一个实施方式,该方法还包括:接收音频数据,并将所述音频数据作为所述待编码的数据。
根据本申请的第二方面,提供了一种二维码的解码方法,包括:识别所扫描的图片中对称的多个定位图案的位置,以确定二维码图案所处的区域;从所述二维码图案中获取二进制比特流信息;在所述二进制比特流信息中查找预设的起始字段;以查找到的起始字段作为二进制比特流的起始点,以预设的规则对所述二进制比特流进行转换,以获得解码信息。
根据一个实施方式,从所述二维码图案中获取二进制比特流信息包括:根据所述对称的多个定位图案,将所确定的二维码图案所处的区域归一化至预设的模板;在所述预设的模板上,根据所述二维码图案获取所述二进制比特流信息。
根据一个实施方式,该方法还包括:根据预设的crc生成多项式,对所述二进制比特流进行crc校验。
根据一个实施方式,该方法还包括:根据预设的rs生成多项式,对所述二进制比特流进行rs纠错。
根据一个实施方式,所述二维码图案包括多圈封闭图形,所述多圈封闭图形彼此同心。
根据一个实施方式,所述二维码图案包括彼此同心的四圈封闭图形,所述四圈封闭图形中的最外圈和最内圈为环形,所述四圈封闭图形的中间两圈为圆角多边形。
根据一个实施方式,所述圆角多边形为圆角六边形。
根据一个实施方式,从所述二维码图案中获取二进制比特流信息包括:将所述二维码图案中的空白位置识别为0;将所述二维码图案中的灰度点和线段均识别为1。
根据一个实施方式,从所述二维码图案中获取二进制比特流信息还包括:在所述二进制比特流信息中查找预设的转义字段;根据预设的转义规则,对所查找到的转义字段之后的字段进行逆转义处理。
根据一个实施方式,所述对称的多个定位图案为对称分布的四个定位圆。
根据一个实施方式,以查找到的起始字段作为二进制比特流的起始点,以预设的规则对所述二进制比特流进行转换,以获得解码信息包括:将所述二进制比特流转换为音频数据;对所述音频数据进行播放。
根据本申请的第三方面,提供了一种二维码的编码装置,包括:处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述处理器执行时,使得所述处理器实现如上所述的编码方法。
根据本申请的第四方面,提供了一种二维码的解码装置,包括:处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述处理器执行时,使得所述处理器实现如上所述的解码方法。
根据本申请的第五方面,提供了一种将音频数据编码为二维码的方法,包括:获取音频数据;将所述音频数据转换为二进制比特流;调用预设的二维码编码模型;根据所调用的二维码编码模型,将所述二进制比特流渲染为二维码图案。
根据一个实施方式,获取音频数据包括:利用麦克风采集声音信息;将所述声音信息记录为所述音频数据。
根据一个实施方式,获取音频数据包括:从存储所述音频数据的服务器上获取所述音频数据。
根据一个实施方式,将所述音频数据转换为二进制比特流包括:获取图像数据;将所述音频数据和所述图像数据分别进行转换并叠加,以得到所述二进制比特流。
根据一个实施方式,获取图像数据包括:利用摄像头采集所述图像数据;或者从存储所述图像数据的服务器上获取所述图像数据。
根据一个实施方式,将音频数据编码为二维码的方法还包括:通过网络发送所述二维码图案。
根据一个实施方式,将音频数据编码为二维码的方法还包括:将所述二维码图案打印在印刷物上。
根据本申请的第六方面,提供了一种将二维码解码为音频数据的方法,包括:获取二维码图案;根据预设的二维码模型从所述二维码图案中获取二进制比特流信息;将所述二进制比特流转换为音频数据。
根据一个实施方式,获取二维码图案包括:通过摄像头采集所述二维码图案。
根据一个实施方式,获取二维码图案包括:从存储所述二维码图案的服务器上获取所述二维码图案。
根据一个实施方式,将二维码解码为音频数据的方法还包括:通过扬声器或耳机播放所述音频数据。
根据一个实施方式,将二维码解码为音频数据的方法还包括:通过网络发送所述音频数据。
根据本申请的第七方面,提供了一种移动终端,包括:处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述处理器执行时,使得所述处理器实现如上所述的将音频数据编码为二维码的方法和将二维码解码为音频数据的方法中的任一种。
根据本申请的第八方面,提供了一种非瞬时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时,使得所述处理器实现如上所述的编码方法和解码方法中的任一种。
根据本申请的第九方面,提供了一种由如上所述的编码方法进行编码得到的二维码。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了传统二维码的一个示例;
图2示出了根据本申请一个实施方式的二维码图案的示例;
图3示出了根据本申请一个实施方式二维码的编码方法的流程图;
图4示出了根据另一实施方式二维码的编码方法的流程图;
图5示出了根据另一实施方式二维码的编码方法的流程图;
图6示出了根据本申请一个实施方式自起始字段开始将二进制比特流渲染为二维图案的流程图;
图7示出了根据另一实施方式自起始字段开始将二进制比特流渲染为二维图案的流程图;
图8示出了根据另一实施方式二维码的编码方法的流程图;
图9示出了根据本申请一个实施方式二维码的解码方法的流程图;
图10示出了根据本申请一个实施方式从二维码图案中获取二进制比特流信息的流程图;
图11示出了根据本申请另一实施方式从二维码图案中获取二进制比特流信息的流程图;
图12示出了根据本申请另一实施方式从二维码图案中获取二进制比特流信息的流程图;
图13示出了根据本申请一个实施方式以预设的规则对二进制比特流进行转换以获得解码信息的流程图;
图14示出了根据本申请一个实施方式将音频数据编码为二维码的方法的流程图;
图15示出了根据本申请一个实施方式将二维码解码为音频数据的方法的流程图。
具体实施方式
以下参照附图对本申请的实施方式进行详细描述。应注意,以下描述仅仅是示例性的,而并不旨在限制本申请。此外,在以下描述中,将采用相同的附图标号表示不同附图中的相同或相似的部件。在以下描述的不同实施方式中的不同特征,可彼此结合,以形成本申请范围内的其他实施方式。
本申请提供了一种新型的二维码图案及其编码和解码的方法。图2示出了根据本申请一个实施方式的二维码图案的示例。如图2所示,该二维码图案200可包括:多个定位图案210、编码图案220和中央图案230。多个定位图案210在位置分布上呈彼此间对称的关系(例如4个均匀分布的定位圆),在扫描或识别该二维码图案时,可先确认多个定位图案210的位置,从而可确认整个二维码图案200所处的区域。
由于多个定位图案210之间的对称性,仅根据定位图案210的位置,无法确定二维码图案200的正确方向,即,无法确认编码的起始位置。对此,在编码图案220中,已插入有起始字段,该起始字段为预设的二进制字段,在二维码的编码阶段,将该起始字段插入待编码的二进制比特流的起始位置,并以该起始字段为始进行二维码的编码。那么,在二维码的解码阶段,当在编码图案220中查找到预设的起始字段时,则可确认该二进制比特流是从此处开始。由此,通过在编码图案中设置起始字段,从而能够采用对称的定位图案来实现二维码图案的定位,而对称的定位图案更具美观性和协调性。
编码图案220可包括彼此同心的多圈封闭图形。例如,如图2所示,编码图案220可包括四圈彼此同心的封闭图形,其中最外圈为环形,内侧三圈为圆角六边形。可以理解,可根据实际需要设计封闭图形的圈数以及每圈封闭图形的形状。例如,也可以是最外圈和最内圈均为环形,中间两圈为圆角六边形,或者其他可替代的形状。
在编码图案220的每圈图形中,一个空白位置代表二进制比特流中的一个0,一个灰度点和线段均代表二进制比特流中的一个1。在编码图案220中,如果有连续出现的多个灰度点,则有可能影响美观及协调性,甚至在分辨率较低的情况下难以正确识别。对此,根据本申请,可将连续出现的多个灰度点中的一部分点调整为线段。在解码阶段,由于点和线段均表示二进制中的1,因此不会影响解码的结果。
在本申请中,对编码图案220的大小不作限制,可根据实际需要设置。如需要由二维码记录的数据量较大,可适当增大编码图案220的尺寸,反之,如需要由二维码记录的数据量较小,也可适当减小编码图案220的尺寸。
另一方面,如果在编码图案220中,有连续出现的多个空白,则可对其进行转义处理,例如可将这些空白除了首尾以外的其他位置均调整为点或线段(即,将00000修改为01110),并且在首个空白之前插入代表预定的转义字段的二维码段。在解码阶段,当识别到该预定的转义字段时,就能够知晓其后的图案已经过上述转义处理,则需要在转义字段之后的字段进行逆转义处理,例如将最先出现的两个0之间的1均修改为0(即,将01110修改为00000),这样才能够得到正确的解码结果。可以理解,转义处理的具体方式可以是多种多样的(例如,可将00000修改为01110,或者也可以修改为01010),只要在编码前编码方与所有可能的解码方事先预定好具体的转义处理方式,则可顺利地进行编码和解码操作。
在二维码图案200的中央区域,具有中央图案230。根据本申请,中央图案230可以为克拉尼图形。克拉尼图形是十八世纪的德国物理学家恩斯特·克拉德尼在做实验时在小提琴上安放一块较宽的金属薄片,在上面均匀地撒上沙子,然后开始用琴弓拉小提琴,结果这些细沙自动排列成不同的美丽图案,并随着琴弦拉出的曲调和频率不同,图案也不断变幻。这个图案就称为克拉尼图形。在本申请中,将中央图案230设置为克拉尼图形,可进一步增加二维码图案的完整性、美观性、协调性和可识别性,提高区分度。
下面将结合附图详细描述根据本申请的二维码图案的编码方法和解码方法。
图3示出了根据本申请一个实施方式二维码的编码方法的流程图。如图3所示,该方法300包括步骤s310至s340。
在步骤s310中,将待编码的数据转换为二进制比特流。本领域技术人员可以理解,可根据待编码数据的数据类型选择适当的方式将其转换为二进制比特流。
随后,在步骤s320中,在该二进制比特流的起始位置插入预设的起始字段。可以理解,起始字段为事先设定好的二进制字段,其作用是,当在解码阶段识别到它的存在时,就可知晓此处即为二进制比特流的起始位置。那么,在步骤s330中,自起始字段开始,将二进制比特流渲染为二维图案。在步骤s340中,在二维图案的预定区域添加对称的多个定位图案。由于在二进制比特流中已插入预设的起始字段,因此即便是美观性和协调性更高的对称定位图案,也可实现二维图案的定位功能。
图4示出了根据另一实施方式二维码的编码方法的流程图。如图4所示,除了步骤s310至s340之外,该方法300还可包括步骤s350和s360。为了简要起见,以下将仅描述图4所示的实施方式与图3的不同之处,并将略去其相同之处的详细描述。
在将二进制比特流渲染为二维图案之前,在步骤s350中,根据预设的crc生成多项式,对二进制比特流进行计算,以生成crc校验码。随后,在步骤s360中,将所生成的crc校验码插入二进制比特流中。
crc校验码,即循环冗余校验码(cyclicredundancycheck),是数据通信领域中常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。crc校验是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果(crc校验码)附在数据的后面。接收设备根据事先的约定也执行类似的算法,以校验数据传输的正确性和完整性。
在生成crc校验码时,需要事先设定crc生成多项式,在编码时,利用该crc生成多项式生成crc校验码,在解码时,利用同样的crc生成多项式进行校验。
由此,可在二进制比特流中插入crc校验码,使得解码时能够对数据传输的正确性和完整性进行校验。
图5示出了根据另一实施方式二维码的编码方法的流程图。如图5所示,除了步骤s310至s340之外,该方法300还可包括步骤s350’和s360’。为了简要起见,以下将仅描述图5所示的实施方式与图3的不同之处,并将略去其相同之处的详细描述。
在将二进制比特流渲染为二维图案之前,在步骤s350’中,根据预设的rs生成多项式,对二进制比特流进行计算,以生成rs纠错码。随后,在步骤s360’中,将所生成的rs纠错码插入二进制比特流中。
rs纠错码,又称里所码(reed-solomoncode),是一种前向纠错的信道编码,对由校正过采样数据所产生的多项式有效。当接收器正确的收到足够的点后,它就可以恢复原来的多项式,即使接收到的多项式上有很多点被噪声干扰失真。
在生成rs纠错码时,需要事先设定rs生成多项式,在编码时,利用该rs生成多项式生成rs纠错码,在解码时,利用同样的rs生成多项式,能够在传输过程中发生错误后在接收端自行发现和纠正。
由此,可在二进制比特流中插入rs纠错码,使得解码时能够对数据中的错误进行纠错。
根据一个实施例,二维图案可包括多圈封闭图形,该多圈封闭图形可彼此同心。例如,二维图案包括彼此同心的四圈封闭图形,四圈封闭图形中的最外圈和最内圈可为环形,四圈封闭图形的中间两圈可为圆角多边形。该圆角多边形可以是例如圆角六边形。
图6示出了根据本申请一个实施方式自起始字段开始将二进制比特流渲染为二维图案的流程图。如图6所示,上述步骤s330可包括子步骤s331和s332。
在子步骤s331中,将二进制比特流中的0所对应的位置渲染为空白;在子步骤s332中,将二进制比特流中的1所对应的位置渲染为灰度点或线段。这里所述的空白可以是白色,灰度点或线段可以黑色,当然也可以是其他易于彼此区分的灰度颜色。
图7示出了根据另一实施方式自起始字段开始将二进制比特流渲染为二维图案的流程图。如图7所示,除了子步骤s331和s332之外,该步骤s330还可包括子步骤s333和s334。为了简要起见,以下将仅描述图7所示的实施方式与图6的不同之处,并将略去其相同之处的详细描述。
在子步骤s333中,检测所渲染的二维图案中连续出现的三个或三个以上的灰度点(即,将连续的111或更多位1均渲染为灰度点)。在子步骤s334中,将所检测出的、连续出现的三个或三个以上的灰度点中的部分灰度点调整为灰度线段。由此,增强了美观及协调性,并可避免在分辨率较低的情况下难以正确识别的情况的发生。
图8示出了根据另一实施方式二维码的编码方法的流程图。如图8所示,除了步骤s310至s340之外,该方法300还可包括步骤s370至s390。为了简要起见,以下将仅描述图8所示的实施方式与图3的不同之处,并将略去其相同之处的详细描述。
在将二进制比特流渲染为二维图案之前,在步骤s370中,检测二进制比特流中连续出现的三个或三个以上的0。如果检测出存在连续出现的三个或三个以上的0,则在步骤s380中,在所检测出的、连续出现的三个或三个以上的0之前插入预设的转义字段。并且,在步骤s390中,对所检测出的、连续出现的三个或三个以上的0进行转义处理。
也就是说,例如在二进制比特流中具有连续五个0的字段00000,则其渲染后将显示为连续五个空白,这样会在很大程度上影响二维码图案的美观和协调性,而且在分辨率较低的情况下有可能难以正确识别。根据本实施例,可将对连续出现的三个或三个以上的0进行转义处理,并在其前插入预设的转义字段,以用于解码阶段的识别。可以理解,转义处理的具体方式可以是多种多样的(例如,可将00000修改为01110,或者也可以修改为01010),只要在编码前编码方与所有可能的解码方事先预定好具体的转义处理方式,则可顺利地进行编码和解码操作。
根据一个实施例,对称的多个定位图案可以为对称分布的四个定位圆(如图2所示)。
根据本申请另一实施方式,该二维码的编码方法还可包括以下步骤:在封闭图形所包围的中央区域添加克拉尼图形或预设的图片。由此,可进一步增加二维码图案的美观性和协调性。
根据本申请另一实施方式,在步骤s310之前,该二维码的编码方法还可包括以下步骤:接收音频数据,并将音频数据作为待编码的数据。由此,可将接收到的音频数据作为待编码的数据,并利用该数据形成二维码。也就是说,由此所形成的二维码图案中,记录的是音频信息,以供用户扫码收听。用户只要获取到该二维码,即可实现声音的离线播放。
图9示出了根据本申请一个实施方式二维码的解码方法的流程图。如图9所示,该方法900包括步骤s910至s940。
在步骤s910中,识别所扫描的图片中对称的多个定位图案的位置,以确定二维码图案所处的区域。在步骤s920中,从二维码图案中获取二进制比特流信息(即,二维码图案中所记录的信息,其形式为二进制比特流形式)。在步骤s930中,在所获取的二进制比特流信息中查找预设的起始字段。在步骤s940中,以查找到的起始字段作为二进制比特流的起始点,以预设的规则对二进制比特流进行转换,以获得解码信息。
由此,可对通过上述编码方法得到的二维码图案进行解码,以得到该二维码中所记录的数据。
图10示出了根据本申请一个实施方式从二维码图案中获取二进制比特流信息的流程图。如图10所示,上述步骤s920可包括子步骤s921和s922。
在子步骤s921中,根据对称的多个定位图案,将所确定的二维码图案所处的区域归一化至预设的模板。随后,在子步骤s922中,在预设的模板上,根据二维码图案获取二进制比特流信息。
由于在拍摄或扫描二维码图案时,拍摄的距离和角度的不同会影响对二维码图案的解码,因此,在识别到定位图案后,可依据各定位图案的位置,将二维码图案规整化成预定的大小(例如,可通过放大、缩小、旋转等操作),即,归一化至预设的模板。而后,由于已规整化,所以在该模板上可容易地根据二维码图案获取二进制比特流信息。
根据本申请的一个实施方式,二维码的解码方法还可包括:根据预设的crc生成多项式,对二进制比特流进行crc校验。如果通过crc校验,则说明所获取的二进制比特流正确。如果未通过crc校验,则说明所获取的二进制比特流出现错误。
根据本申请的另一实施方式,二维码的解码方法还可包括:根据预设的rs生成多项式,对二进制比特流进行rs纠错。由此,利用预设的rs生成多项式,能够在传输过程中发生错误后解码操作中对二进制比特流中的错误自行发现和纠正。
根据一个实施例,二维图案可包括多圈封闭图形,该多圈封闭图形可彼此同心。例如,二维图案包括彼此同心的四圈封闭图形,四圈封闭图形中的最外圈和最内圈可为环形,四圈封闭图形的中间两圈可为圆角多边形。该圆角多边形可以是例如圆角六边形。
图11示出了根据本申请另一实施方式从二维码图案中获取二进制比特流信息的流程图。如图11所示,除了子步骤s921和s922之外,该步骤s920还可包括子步骤s923和s924。为了简要起见,以下将仅描述图11所示的实施方式与图10的不同之处,并将略去其相同之处的详细描述。
在子步骤s923中,将二维码图案中的空白位置识别为0。并且,在子步骤s924中,将二维码图案中的灰度点和线段均识别为1。
图12示出了根据本申请另一实施方式从二维码图案中获取二进制比特流信息的流程图。如图12所示,除了子步骤s921至s924之外,该步骤s920还可包括子步骤s925和s926。为了简要起见,以下将仅描述图12所示的实施方式与图11的不同之处,并将略去其相同之处的详细描述。
在子步骤s925中,在二进制比特流信息中查找预设的转义字段。在子步骤s926中,根据预设的转义规则,对所查找到的转义字段之后的字段进行逆转义处理。由此,利用预设的转义字段的查找,可将在编码过程中经过转义的位调整为正确的数值。可以理解,转义处理的具体方式可以是多种多样的(例如,可将00000修改为01110,或者也可以修改为01010),因此,逆处理也是多样的。比如将00000修改为01110的转义处理,其逆转义处理为将01110修改为00000;再比如将00000修改为01010的转义处理,其逆转义处理为将01010修改为00000。只要在编码前编码方与所有可能的解码方事先预定好具体的转义处理方式,则可顺利地进行编码和解码操作。
根据一个实施例,对称的多个定位图案可以为对称分布的四个定位圆(如图2所示)。
图13示出了根据本申请一个实施方式以预设的规则对二进制比特流进行转换以获得解码信息的流程图。如图13所示,上述步骤s940可包括子步骤s941和s942。
在子步骤s941中,将二进制比特流转换为音频数据;并且在子步骤s942中,对转换得到的音频数据进行播放。如上所述,根据本申请一个实施方式,二维码中可记录音频数据。对此,当获取到这样的二维码时,可将解码数据转换为音频数据,并直接进行播放。
图14示出了根据本申请一个实施方式将音频数据编码为二维码的方法的流程图。如图14所示,该方法1400包括步骤s1410至s1440。
在步骤s1410中,获取音频数据。根据一个实施例,音频数据可以是通过麦克风或网络获取得到的。如果是通过麦克风获取,则该步骤可包括:利用麦克风采集声音信息;以及将声音信息记录为音频数据。如果是通过网络获取,则该步骤可包括:从存储音频数据的服务器上获取音频数据。
在步骤s1420中,将音频数据转换为二进制比特流。本领域技术人员可以理解,可采用任何适当的技术将音频数据转换为二进制比特流,在此不再赘述。
在步骤s1430中,调用预设的二维码编码模型。由于二维码的编码机制有多种,因此可预设多种二维码编码模型。在进行此步骤的操作时,从预设的模型中进行选择性调用即可。
在步骤s1440中,根据所调用的二维码编码模型,将二进制比特流渲染为二维码图案。由此,可得到二维码图案,从而实现了将音频数据制作为二维码图案。
根据本申请一个实施方式,可利用音频数据与图像数据共同生成二进制比特流,从而实现在二维码中同时记录音频信息与图像信息。对此,上述步骤s1420可包括:获取图像数据;以及将音频数据和图像数据分别进行转换并叠加,以得到二进制比特流。根据一个实施例,可通过摄像头或网络获取图像数据,即,获取图像数据的操作可包括:利用摄像头采集图像数据;或者从存储图像数据的服务器上获取图像数据。
根据本申请一个实施方式,将音频数据编码为二维码的方法还可包括:通过网络发送二维码图案;或者将二维码图案打印在印刷物上。
图15示出了根据本申请一个实施方式将二维码解码为音频数据的方法的流程图。如图15所示,该方法1500包括步骤s1510至s1530。
在步骤s1510中,获取二维码图案。根据一个实施例,二维码图案可以是通过摄像头或网络获取得到的。如果是通过摄像头获取,则该步骤可包括:通过摄像头采集二维码图案。如果是通过网络获取,则该步骤可包括:从存储二维码图案的服务器上获取二维码图案。
在步骤s1520中,根据预设的二维码模型从二维码图案中获取二进制比特流信息。由于二维码的编码/解码机制有多种,因此可预设多种二维码模型。在进行此步骤的操作时,从预设的模型中进行选择性调用即可。
在步骤s1530中,将二进制比特流转换为音频数据。本领域技术人员可以理解,可采用任何适当的技术将二进制比特流转换为音频数据,在此不再赘述。由此,可从二维码图案中得到音频数据以供播放或存储。
根据本申请一个实施方式,将二维码解码为音频数据的方法还可包括:通过扬声器或耳机播放音频数据;或者通过网络发送音频数据。
本申请还提供了一种移动终端,其包括处理器和存储器。该存储器中存储有程序,当该程序被该处理器执行时,使得该处理器执行上述将音频数据编码为二维码的方法和将二维码解码为音频数据的方法中的任一种。也就是说,当用户在使用移动终端时,既可利用移动终端,将数据(例如,通过移动终端的麦克风采集的音频数据)制作成二维码,又可利用移动终端将所获取的二维码解码成所期望的数据形式(例如,转换为音频数据并播放)。
本领域技术人员可以理解,本申请的技术方案可实施为系统、方法或计算机程序产品。因此,本申请可表现为完全硬件的实施例、完全软件的实施例(包括固件、常驻软件、微码等)或将软件和硬件相结合的实施例的形式,它们一般可被称为“电路”、“模块”或“系统”。此外,本申请可表现为计算机程序产品的形式,所述计算机程序产品嵌入到任何有形的表达介质中,所述有形的表达介质具有嵌入到所述介质中的计算机可用程序代码。
参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本申请。可以理解的是,可由计算机程序指令执行流程图和/或框图中的每个框、以及流程图和/或框图中的多个框的组合。这些计算机程序指令可提供给通用目的计算机、专用目的计算机或其它可编程数据处理装置的处理器,以使通过计算机或其它可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个框或多个框中指明的功能/动作的装置。
这些计算机程序指令还可存储于能够指导计算机或其它可编程数据处理装置以特定的方式实现功能的计算机可读介质中,以使存储于计算机可读介质中的指令产生包括实现流程图和/或框图中的一个框或多个框中指明的功能/动作的指令装置。
计算机程序指令还可加载到计算机或其它可编程数据处理装置上,以引起在计算机上或其它可编程装置上执行一连串的操作步骤,以产生计算机实现的过程,从而使在计算机或其它可编程装置上执行的指令提供用于实现流程图和/或框图中的一个框或多个框中指明的功能/动作的过程。
附图中的流程图和框图示出根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系结构、功能和操作。在这点上,流程图或框图中的每个框可表示一个模块、区段或代码的一部分,其包括一个或多个用于实现特定逻辑功能的可执行指令。还应注意,在一些可替代性实施中,框中标注的功能可以不按照附图中标注的顺序发生。例如,根据所涉及的功能性,连续示出的两个框实际上可大致同时地执行,或者这些框有时以相反的顺序执行。还可注意到,可由执行特定功能或动作的专用目的的基于硬件的系统、或专用目的硬件与计算机指令的组合来实现框图和/或流程图示图中的每个框、以及框图和/或流程图示图中的多个框的组合。
虽然以上的叙述包括很多特定布置和参数,但需要注意的是,这些特定布置和参数仅仅用于说明本申请的一个实施方式。这不应该作为对本申请范围的限制。本领域技术人员可以理解,在不脱离本申请范围和精神的情况下,可对其进行各种修改、增加和替换。因此,本申请的范围应该基于所述权利要求来解释。