发布时间: 2019-07-02
作者:张瑞佳 专利工程师
1.计算机程序概述
随着计算机技术在人们生产生活中的深入普及,涉及计算机程序的发明专利已成为知识产权领域申请保护的重要内容。根据《2018年中国专利调查报告》中显示,企业战略性新兴产业中新一代信息技术类专利占比为14.0%,而新一代信息技术类专利大都是由计算机程序实现。随着人工智能等技术领域的迅猛发展,计算机程序专利的数量将继续持续增长,计算机程序专利在专利申请中的地位将会越来越重要。
在撰写计算机程序专利时,交底材料中经常会出现一些采用代码片段或伪代码片段直接表达技术方案的案例,那么,如何基于这些(伪)代码片段提炼出专利中蕴含的发明思想,基于发明思想构思权利要求的布局,将是本文将要讨论的主题。
2.涉及的相关规定
《专利审查指南》中规定:涉及计算机程序的发明是指为解决发明提出的问题,全部或部分以计算机程序处理流程为基础,通过计算机执行按上述流程编制的计算机程序。根据专利法第二条第二款的规定,专利法所称的发明是指对产品、方法或者改进所提出的新的技术方案。涉及计算机程序的发明专利申请只有构成技术方案才是专利保护的客体。
然而,如果一项权利要求仅仅涉及一种算法或数学计算规则,或者计算机程序本身,或者游戏的规则和方法,则不属于专利保护的客体。例如,利用计算机程序求解圆周率的方法仅仅涉及一种由计算机程序执行的纯数学运算方法或规则,本质属于人的抽象思维方式,不属于专利保护的客体。
3.代码含义的确定
当交底材料中包含代码片段,而该代码片段又是交底材料的核心内容时,必须从代码片段中整理出本发明申请的具体内容和过程步骤,因此,需要先将代码内容转换为自然语言,在转换的过程中同时梳理出技术方案的实现过程。
示例1:本方案是针对在部分浏览器中采用video元素播放视频会遮挡住诸如遮罩层、弹幕等页面元素的问题,采用canvas元素代替video元素实现同样的视频播放功能。在交底书中涉及以下代码片段:
if(用户首次点击播放视频){
width=video.width;
height=video.height;
var position=video.position;
video.style{
display:none;
}
}
其中,width、height和position是canvas元素的一些属性,video.width、video.height和video.position分别是video元素对应的属性。结合简单的赋值语句、属性设置语句与单词含义,可以确定出本段代码的实际含义是:当用户点击播放视频时,获取video元素的位置和宽高,创建一个和video元素宽高一致的canvas元素,并将该canvas元素放置到原来video元素所在的页面位置,同时设置video元素的CSS样式“display:none;”将原来的video元素隐藏。
varc=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("video.printscreen");
ctx.drawImage(img,height,width);
在此步骤中,document.getElementById()、c.getContext()等语句不是一些常见的基本语句,因此,可以针对这些语句在搜索引擎中进行检索,以确定这些语句的具体含义。通过上述方法,可以确定出该步骤是通过canvas的getContext方法创建canvas的context对象,该对象支持添加图像,即通过不断在video元素所在位置绘制图像,以代替实现video元素的视频播放功能。
解析出该代码片段的含义后,结合交底书中的其他内容,可以确定该发明专利申请要解决在部分浏览器中,采用video元素播放视频时,video元素会始终位于页面最上层,导致对遮罩层、弹框、弹幕等页面元素造成遮挡,使弹幕等元素不能正常显示的技术问题;采用添加canvas元素在video元素的所在位置,并在canvas元素中不断重绘图形的技术手段,达到在视频播放时弹幕等页面元素能够正常显示的技术效果。因此该发明专利申请构成技术方案,属于专利保护的客体。
由于代理人在代理案件中,经常会接触到一些含有代码片段的技术方案,因此,代理人需要掌握一些简单的基本代码语句,例如“=”表示赋值、“if else”表示判断分支、“while、do while、for”表示循环,func1(para1,para2,…,paran)可以表示执行func1函数等。这样可以方便代理人在阅读交底材料时,能够大致理解代码片段的含义,快速整体把握方案,同时便于与发明人的交流沟通。
另外,对于一些非基本代码语句,例如上述案例中的document.getElementById()等语句的含义,可以通过搜索引擎进行检索,自动匹配对应的技术文档,进而可以通过查看技术文档理解这些语句的语法和含义。国内常用的编程技术网站有:CSDN论坛、OSCHINA、W3SCHOOL、博客园、51CTO、慕课网等等,代理人可以根据使用习惯及需求选择相应的网站进行学习。
在日常的代理工作中,代理人对一些基本的程序代码进行了解掌握,一方面,可以使代理人与客户沟通方案时显得更加专业,给客户带来良好的体验;另一方面,代理人可以更加快速地理解技术方案,在撰写过程中更加得心应手,进而提高撰写质量。
4.撰写权利要求书
虽然上述案例中采用代码表达了采用canvas元素代替video元素实现视频播放的功能,但是从专利的角度讲,还可以通过其他视频播放对象进行代替,以实现canvas元素所实现的功能。因此,可以确定本专利申请的核心发明思想是,采用比弹幕等页面元素的页面层级较低的页面元素代替高于弹幕页面层级的页面元素以实现视频播放功能。按照确定出的核心发明思想,可以进一步撰写本方案的独立权利要求。
根据技术方案中的操作步骤,可以确定出本发明申请中的主要内容是实现一种页面处理方法,当页面中的视频文件播放时,诸如弹幕等页面元素可以正常显示,因此,对代码中的内容进行合理上位后,确定出本专利申请的独立权利要求,具体如下:
一种页面处理方法,其特征在于,包括:
确定页面上第一视频播放对象;其中,所述第一视频播放对象的层级高于预设页面对象的层级;
响应视频播放操作,基于所述第一视频播放对象创建第二视频播放对象;其中,所述第二视频播放对象的层级低于所述预设页面对象的层级;
将所述第二视频播放对象代替所述第一视频播放对象在所述页面上展示。
5.技术方案扩展
类似于此类采用代码或伪代码来表达核心技术方案的发明专利,代理人的思维很可能被具体的代码含义所限制;在打破代码限制时,需要对代码中涉及的具体对象进行合理的上位,对其表示的具体含义进行抽象概括;另外,在确定出核心方案中,可以根据该技术方案进行合理的扩展,使专利申请的保护范围尽可能扩大。
在另一个案例中,交底书中给出了如下内容:
1)当用户在浏览应用/文章等资源详情时,在接收到联系人消息后,顶部弹窗显示消息预览区,其中包括回复按钮;
2)点击回复按钮后,可以直接进入会话详情查看并处理;同时,自动生成浮窗控件,浮窗控件记录用户浏览内容及位置;
3)点击浮窗,恢复用户浏览内容及位置。
该发明专利申请要解决的技术问题是,用户在IM类软件中浏览资源页面时,无法预览和处理接收到的新会话消息。提供的技术方案是,在用户接收到会话消息时生成会话预览消息,用户通过点击会话预览消息可以跳转至会话页面,并生成可用于再次跳转至资源页面的浮窗控件。实现的技术效果是,使用户在浏览资源页面时可以直接对会话消息进行处理。因此该发明专利申请构成技术方案,属于专利保护的客体。
该发明专利的核心发明思想是:用户在查看文章等资源页面并接收到新的会话消息时,通过点击会话预览消息可以直接跳转至会话消息页面,同时提供一浮窗控件,以便通过浮窗控件再次切换至资源页面。
由于交底书所提供的技术内容过于简单,因此,在撰写过程中可以根据交底书中的内容进行一些合理的扩展。例如,本方案可以进行三个方面的合理扩展:
第一方面,用户从会话页面再次切换至资源页面时,仍然显示浮窗控件,此时浮窗控件与会话页面的信息相关联,使得用户可以在会话页面与资源页面之间来回切换。
第二方面,用户在点击会话预览消息时,可以在当前资源页面中提供一个快捷回复窗口,以便用户可以直接在快捷回复窗口中进行会话消息处理,而不用跳转至会话页面进行处理。
第三方面,根据设备检测到的用户操作时间间隔可以对浮窗控件的显示样式进行限定;如用户超过预设时间没有进行来回切换的操作,则切换浮窗控件的显示样式。
通过以上合理的方案扩展,本专利申请可以保护到更多的技术方案,使方案整体更具新创性。
6.总结
根据以上两个案例的处理思路,可以认识到,当处理一些包含代码片段的案例时,首先,代理人可以对代码片段的含义进行梳理,在梳理过程中,要注意突破由于代码本身带来的思维限制;其次,对梳理得到的内容进行合理的上位,确定出专利申请的核心发明思想;再次,考虑方案本身可以扩展的方面,尽可能扩大保护范围。以上内容仅供大家参考,如有不足之处欢迎批评指正。