2016年07月25日 星期一
微信扫一扫,为啥能立“码”搞定
文·本报记者 陈 萌
二维码结构图

    7月15日,中国工商银行推出了覆盖线上线下和O2O支付全场景的二维码支付产品,成为国内首家具备二维码支付产品的商业银行。通过简单的“扫一扫”即可覆盖线上线下和O2O支付全场景,大大提高了支付效率。

    现在,只要跟谁说“扫一扫”,95%的人下意识地会拿出手机用微信去“扫一扫”。其实“扫”这个动作的流行和对二维码这个玩意儿的重新认知,是在2012年、2013年伴随微信而来。2012年,微信用户超过2亿,通过二维码来实现服务功能的产品开始迅速进入人们眼球。目前,微信月活跃用户达到7亿,内置于其中的“扫一扫”功能成了人手一台的扫码器。

    微信普及导致二维码火爆中国

    图像作为一种特殊的语言形式,它克服了音声语言的转瞬即逝性,把信息长久保存下来,传播不再单纯依赖人类记忆力。二维码通过图形记录着一组二进制数据,成为设备之间交流的文字。2011年,微信的诞生成为人类社交又一工具;随着它的成长,也使得以图像映射文字的“语言”——二维码被重新表达。

    二维码本身并非这几年才出现的新事物,但为什么没有早在国外被广泛应用起来?

    事实上,早在20世纪90年代初,二维码就已经出现在日本,但使用率却非常低,直到智能手机和条形码扫描应用被广泛采用后,利用二维码的消费者才有所增加。而以美国为例,智能手机用户要扫二维码通常都必须先下载一个专门的二维码扫码应用,这也成为二维码在欧美等国推行的瓶颈。

    腾讯公司的“微信派”公众号曾刊文指出,微信二维码能火,另一个重要的原因是接地气,基于应用提供丰富的扫码应用场景,让用户习惯用微信扫码,而不选择其他。

    随着O2O和二维码支付的大力推广,二维码应用也从线上迅速走入线下。微信基于二维码免费、开放的编码方式提供了新的连接能力,也降低了二维码应用难度,省钱省时间,让商家更主动地通过二维码吸引更多的关注,因为它能更直接地触达消费者。从卖零食的小商店到地产开发商,从住快捷酒店到五星大酒店,只要用户留心都会看到二维码的身影,用微信扫一扫就获取到了。

    “正是微信的快速普及和广泛使用,直接导致了二维码在中国火爆。”智威汤逊首席数字营销Eugene Chew官这样评价道,“每扫一次二维码,每个界面就打开一道进入数字化内容的大门。”

    为什么能那么快识别二维码?

    为什么动动手指用微信扫一扫,那些五花八门的二维码就能在人无感知的状态下被迅速识别出来?

    二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律,在平面(二维方向上)分布的黑白相间的图形记录数据符号信息;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图像输入设备或光电扫描设备自动识读,以实现信息自动处理。

    二维码外形为正方形,三个角方向上有“回”字标识,是用来识别二维码的关键定位图形,或者叫位置探测图形。扫码过程其实就是不断对焦,采集图像,识别的过程;采集的帧数越少,代表扫码速度越快,可以理解为图形处理器每秒钟能够刷新几次。

    微信团队分析数据显示,引擎在识别正常图片时的解码速度,ios可缩短至5ms, android也仅仅约12ms。专业人士表示,这里得说到微信扫码的预判算法,它充当扫雷尖兵,在进行核心识别处理之前,能早一步对大量图像中是否有“码”进行侦查判断。

    整个扫码预判模块位于核心识别引擎之前,不再需要对输入的视频中的每一帧图像进行检测识别,能实现快速过滤大量无码图像,减少后续不必要的定位和识别对扫码客户端造成的阻塞,使响应更加及时,增加扫码过程中的流畅度,这样,大家使用起来才能在“无感知”的状态下体验微信扫码的快速。

    “坏码”也能用微信扫出来

    “微信派”的数据显示,粗略估算,微信目前一年要处理至少二维码达千亿级,市面上约超过60%的二维码也都诞生于微信平台。如何准确识别海量图像,同时优化用户便捷体验成为微信团队不断在精进的技术能力。

    比起一维条形码,二维码的高密度编码,信息容量大。在微信扫一扫中,目前二维码扫描次数约是一维码的50倍,所以二维码的准确识别极为重要。

    一些二维码就算穿孔、污损或者弯折,还是一样可以识读,正确地还原码上的资讯。“微信派”的相关文章显示,二维码中存储的信息通常都经过了纠错编码,这意味着二维码是有冗余(即出于可靠性等的考虑,人为增加的重复配置)的。

    一个二维码所能表示的比特数是固定的,它包含的信息越多那么冗余度就越小;相反,它包含的信息越少冗余度就越大。一个微信二维码中包含的信息量并不需要很大,这意味着编码的冗余度可以做得较高,所以即使损毁面积达到30%也依旧可以恢复。

    作为“扫一扫”核心功能,微信团队对于扫码引擎提出了更高的要求,他们专门开发了二维码和条形码识别“大杀器”——识别引擎QBar。QBar扫码对二维码容错性解码算法、多语言字符检测算法等均进行了数十项优化,在识别率和识别速度上得到了提升。

    在提高成功解码的概率上,微信图像技术团队另一个做法就是给每个步骤做上“标签”,目的是找出错误信息,对失败信息再设置相应的二次检测流程,在失败的步骤处进行更“努力”地尝试,且越到后面的步骤,表明图中存在二维码的概率越大。

    通过这样每步找错、多次识别解码,大大提高了手机扫描二维码的成功率。

    把冗长的输入变成简单的扫一扫

    打开微信,点击右上角+或切换至“发现”界面,即可看到极简的“扫一扫”,无需切换。点击“扫一扫”功能之后,用摄像头对准二维码,开始扫描。基于微信的扫码几乎已成为一种全民习惯。

    微信通过优化的用户体验在培养着用户习惯,扫码已用于添加好友、获取商家品牌、甚至单个商品信息以及微信支付,免除了用户在寻找信息时的在线搜索过程,也给用户指引了一条连接线上线下资源的捷径,用户不需要另外下载一个二维码读码应用。

    基于微信二维码识别技术上不断增强的精确性,使用上,对信息的正确性能保证不再依赖于人的记忆,而是依赖于图片。现在,国外不少社交应用也开始模仿微信置入扫码功能,例如SnapChat,这款应用里新添了用户二维码以及扫码功能,和微信一样,可以通过扫描朋友手机屏上或者分享的二维码添加好友。

    微信从文字输入到语音输入,再从语音输入简化到图像输入,把冗长的输入,变成简单、安全的扫一扫。微信为二维码打开一道门,通往理想世界的门。

京ICP备06005116