使用嵌入式版权信息识别版权材料转让专利

申请号 : CN201980003075.6

文献号 : CN111279338A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 栗志果

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本文公开了用于基于嵌入的版权信息识别版权材料的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。方法之一包括:计算设备基于与文本内容相关联的版权信息生成唯一ID,其中,版权信息和文本内容被记录在区块链网络的区块链上;计算设备识别与文本内容中使用的字体相关联的一个或多个属性;以及通过改变与字体相关联的一个或多个属性以表示唯一ID,将唯一ID嵌入到文本内容中,其中,所述嵌入产生嵌入信息的文本,该嵌入信息的文本使能基于唯一ID从区块链中检索版权信息,并且文本内容和嵌入信息的文本之间的视觉差异对于肉眼不明显可见。

权利要求 :

1.一种计算机实现的用于在文本内容中嵌入版权信息的方法,所述方法包括:计算设备基于与所述文本内容相关联的版权信息生成唯一标识ID,其中,所述版权信息和所述文本内容被记录在区块链网络的区块链上;

所述计算设备识别与所述文本内容中使用的字体相关联的一个或多个属性;以及所述计算设备通过改变与所述字体相关联的所述一个或多个属性以表示所述唯一ID,将所述唯一ID嵌入到所述文本内容中,其中,所述嵌入产生嵌入信息的文本,所述嵌入信息的文本使能基于所述唯一ID从所述区块链中检索所述版权信息,并且所述文本内容和所述嵌入信息的文本之间的视觉差异对肉眼不明显可见。

2.如权利要求1所述的计算机实现的方法,还包括:

在生成所述唯一ID之前,所述计算设备基于与在所述区块链中记录所述文本内容的交易相关联的区块链交易ID,来认证版权持有者持有所述文本内容的版权。

3.如前述权利要求中任一项所述的计算机实现的方法,还包括:

在嵌入所述唯一ID之后,所述计算设备将所述嵌入信息的文本分发到所述区块链网络。

4.如前述权利要求中任一项所述的计算机实现的方法,其中,与所述文本内容相关联的所述版权信息包括:所述文本内容的至少一部分和/或所述文本内容的版权持有者的身份信息。

5.如权利要求4所述的计算机实现的方法,其中,作为与第一区块链交易ID相关联的第一交易,所述文本内容被记录在所述区块链上,并且所述身份信息与关联有第二区块链交易ID的第二交易相关联,以及所述第一区块链交易ID或者所述第二区块链交易ID与和所述文本内容相关联的一个或多个交易记录相关联。

6.如权利要求5所述的计算机实现的方法,其中,所述一个或多个交易记录包括:与所述文本内容相关联的创作者身份、版权所有权、更新历史、时间戳、位置或许可中的一个或多个。

7.如前述权利要求中任一项所述的计算机实现的方法,还包括:

所述计算设备使用分配给所述版权持有者的私钥对所述唯一ID进行数字签名。

8.如前述权利要求中任一项所述的计算机实现的方法,其中,所述唯一ID是基于使用哈希函数对所述版权信息进行哈希处理和使用分配给所述版权持有者的公钥对所述版权信息进行加密之一来生成的。

9.如前述权利要求中任一项所述的计算机实现的方法,其中,所述唯一ID是进一步基于与所述版权信息相关联的时间戳和/或地址生成的。

10.如前述权利要求中任一项所述的计算机实现的方法,其中,嵌入所述唯一ID是基于使用离散小波变换、离散余弦变换、奇异值分解、最低有效位或不可检测的隐写中的一个或多个的数字水印处理来执行的。

11.如前述权利要求中任一项所述的计算机实现的方法,其中,所述一个或多个属性包括大小、方位或形状中的一个或多个。

12.如前述权利要求中任一项所述的计算机实现的方法,其中,

所述文本内容中与所述字体相关联的字符是由基于所述一个或多个属性分布的多个像素可视地表示的。

13.一种用于将版权信息嵌入到内容中的系统,所述系统包括:

一个或多个处理器;以及

耦接到所述一个或多个处理器且其上存储有指令的一个或多个计算机可读存储器,所述指令能够由所述一个或多个处理器执行以执行权利要求1-12中任一项所述的方法。

14.一种用于将版权信息嵌入到内容中的装置,所述装置包括用于执行权利要求1-12中任一项所述的方法的多个模块。

说明书 :

使用嵌入式版权信息识别版权材料

技术领域

[0001] 本文一般涉及基于区块链技术的版权保护。

背景技术

[0002] 分布式账本系统(DLS),也可称为共识网络和/或区块链网络,使参与的实体能够安全地且不可篡改地存储数据。在不引用任何特定用例的情况下,DLS通常被称为区块链网络。DLS技术通过允许交易的各方验证将在账本中输入的内容来创建透明的记录链,并防止交易被输入后任何一方更改账本。每个交易或交易的区块被发送到区块链网络中的所有参与者,并且在添加到区块链之前由每个参与者节点验证。
[0003] 随着数字技术的进步,在线数字内容通常可以由互联网用户复制、编辑、记录和分发。在一些情况下,这样的使用会侵犯内容的创作者或所有者的版权。新的技术还会使版权内容的管理和保护变得困难。例如,这些技术可以使得版权内容的副本能够快速产生并传播给大量用户,这会严重影响版权持有者的经济利益。
[0004] DLS技术创建了安全、有时间戳、不可篡改的记录链,使其非常适合防止版权侵权。例如,包含版权持有者信息和与版权内容相关的更新历史的分布式账本可用于确定内容的所有权或侵权。
[0005] 然而,当未经授权的用户仅使用版权内容的一部分时,可能难以识别出所使用的部分是版权作品的一部分。因此,期望将版权信息嵌入背景、前景或内容本身中,使得版权材料可以更容易地被识别。

发明内容

[0006] 本文描述了用于在文本内容中嵌入版权信息的技术。这些技术通常涉及基于与文本内容相关联的版权信息生成唯一标识(ID);识别与文本内容中使用的字体相关联的一个或多个属性;以及通过改变与字体相关联的一个或多个属性以表示唯一ID,将唯一ID嵌入到文本内容中,其中,文本内容和嵌入信息的文本之间的视觉差异对肉眼不明显可见。
[0007] 本文还提供了耦接到一个或多个处理器并且其上存储有指令的一个或多个非暂态计算机可读存储介质,当所述指令由所述一个或多个处理器执行时,所述指令将促使所述一个或多个处理器按照本文提供的方法的实施例执行操作。
[0008] 本文还提供了用于实施本文提供的所述方法的系统。该系统包括一个或多个处理器以及耦接到所述一个或多个处理器并且其上存储有指令的计算机可读存储介质,当所述指令由所述一个或多个处理器执行时,所述指令将导致所述一个或多个处理器按照本文提供的方法的实施例执行操作。
[0009] 应了解,依据本文的方法可以包括本文描述的方面和特征的任意组合。也就是说,根据本文的方法不限于本文具体描述的方面和特征的组合,还包括所提供的方面和特征的任意组合。
[0010] 以下在附图和描述中阐述了本文的一个或多个实施例的细节。根据文和附图以及权利要求,本文的其他特征和优点将显现。

附图说明

[0011] 图1是示出了可用于执行本文实施例的环境的示例的图。
[0012] 图2是示出了根据本文实施例的架构的示例的图。
[0013] 图3是示出了可根据本文实施例执行的处理的示例的流程图。
[0014] 图4描绘了根据本文实施例的内容处理过程的示例。
[0015] 图5描绘了根据本文实施例的区块链交易记录的示例。
[0016] 图6描绘了根据本文实施例的版权侵权确定过程的示例。
[0017] 图7描绘了可根据本文实施例执行的处理的示例。
[0018] 图8描绘了根据本文实施例的装置的模块的示例。
[0019] 各附图中相同的附图标记和名称表示相同的元件。

具体实施方式

[0020] 本文描述了用于在文本内容中嵌入版权信息的技术。这些技术通常涉及基于与文本内容相关联的版权信息生成唯一标识(ID);识别与文本内容中使用的字体相关联的一个或多个属性;以及通过改变与字体相关联的一个或多个属性以表示唯一ID,将唯一ID嵌入到文本内容中,其中,文本内容和嵌入信息的文本之间的视觉差异对肉眼不明显可见。
[0021] 为本文实施例提供进一步的背景,并且如上所述,分布式账本系统(DLS),又可称为共识网络(例如,由点对点节点组成)和区块链网络,使参与的实体能够安全地、不可篡改地进行交易和存储数据。虽然“区块链”一词通常与特定网络和/或用例相关联,但是本文所使用的区块链一般指在不参考任何特定用例的情况下的DLS。
[0022] 区块链是以交易不可篡改的方式存储交易的数据结构。因此,区块链上记录的交易是可靠且可信的。区块链包括一个或多个区块。链中的每个区块通过包含在链中紧邻其之前的前一区块的加密哈希值(cryptographic hash)链接到该前一区块。每个区块还包括时间戳、自身的加密哈希值以及一个或多个交易。已经被区块链网络中的节点验证的交易经哈希处理并编入默克尔(Merkle)树中。Merkle树是一种数据结构,在该树的叶节点处的数据是经哈希处理的,并且在该树的每个分支中的所有哈希值在该分支的根处连接。此过程沿着树持续一直到整个树的根,在整个树的根处存储了代表树中所有数据的哈希值。声称是存储在树中的交易的哈希值可以通过确定其是否与树的结构一致而被快速验证。
[0023] 区块链是用于存储交易的去中心化或至少部分去中心化的数据结构,而区块链网络是通过广播、验证和确认交易等来管理、更新和维护一个或多个区块链的计算节点的网络。如上所述,区块链网络可作为公有区块链网络、私有区块链网络或联盟区块链网络被提供。本文中参考联盟区块链网络更详细地描述了本文的实施例。然而,可以预期,本文的实施例可以在任何适当类型的区块链网络中实现。
[0024] 通常,联盟区块链网络在参与实体之间是私有的。在联盟区块链网络中,共识处理由可被称为共识节点的授权的节点集控制,一个或多个共识节点由相应的实体(例如,金融机构、保险公司)操作。例如,由十(10)个实体(例如,金融机构、保险公司)组成的联盟可以操作联盟区块链网络,每个实体可以操作联盟区块链网络中的至少一个节点。
[0025] 在一些示例中,在联盟区块链网络内,提供全局区块链作为跨所有节点复制的区块链。也就是说,所有共识节点相对于全局区块链处于完全共识状态。为了达成共识(例如,同意向区块链添加区块),在联盟区块链网络内实施共识协议。例如,联盟区块链网络可以实现实用拜占庭容错(PBFT)共识,下面将进一步详细描述。
[0026] 图1示出了可用于执行本文实施例的环境100的示例的图。在一些示例中,示例环境100使得实体能够参与联盟区块链网络102中。环境100包括计算系统106、108以及网络110。在一些示例中,网络110包括局域网(LAN)、广域网(WAN)、互联网或其组合,并且连接网络站点、用户设备(例如,计算设备)和后台系统。在一些示例中,可以通过有线和/或无线通信链路来访问网络110。在一些示例中,网络110使得与联盟区块链网络102通信以及在区块链网络102内部进行通信成为可能。通常,网络110表示一个或多个通信网络。在一些情况下,计算系统106、108可以是云计算系统(未示出)的节点,或者每个计算系统106、108可以是单独的云计算系统,其包括通过网络互连的并且用作分布式处理系统的多个计算机。
[0027] 在所描绘的示例中,计算系统106、108可以各自包括能够作为节点参与至联盟区块链网络102中的任何适当的计算设备。计算设备的示例包括但不限于服务器、台式计算机、膝上型计算机、平板计算设备以及智能电话。在一些示例中,计算系统106、108承载一个或多个由计算机实施的服务,用于与联盟区块链网络102进行交互。例如,计算系统106可以承载第一实体(例如,用户A)的计算机实现的服务,如第一实体计算系统108可以承载第二实体(例如,用户B)的由计算机实现的服务,如第二实体用于管理其与一个或多个其他实体(例如,其他用户)交易的交易管理系统。在图1的示例中,联盟区块链网络102被表示为节点的点对点网络(Peer-to-Peer network),且计算系统106、108分别提供参与联盟区块链网络102的第一实体和第二实体的节点。
[0028] 图2描绘了根据本文实施例的架构的示例。架构200包括实体层202、承载服务层204以及区块链网络层206。在描绘的示例中,实体层202包括三个参与者,参与者A、参与者B、参与者C,每个实体拥有各自的交易管理系统208。
[0029] 在所描绘的示例中,承载服务层204包括用于每个交易管理系统210的接口210。在一些示例中,各交易管理系统208使用协议(例如,超文本传输安全协议(HTTPS))通过网络(例如,图1的网络110)与其对应的接口210通信。在一些示例中,每个接口210在相应的交易管理系统208与区块链网络层206之间提供通信连接。更具体地,接口210与区块链网络层206中的区块链网络212通信。在一些示例中,接口210与区块链网络层206间的通信是利用远程过程调用(RPC)进行的。在一些示例中,接口210“承载”用于各自的交易管理系统208的区块链网络节点。例如,接口210提供用于访问区块链网络212的应用编程接口(API)。
[0030] 如本文所述,区块链网络212被提供为包括多个节点214的点对点网络(peer-to-peer),多个节点314在区块链216中不可篡改地记录信息。尽管示意性地描绘了单个区块链216,但是在区块链网络212中提供并维护了区块链216的多个副本。例如,每个节点214存储区块链的副本。在一些实施例中,区块链216存储与在参与联盟区块链网络的两个或更多个实体之间进行的交易相关联的信息。
[0031] 区块链(例如,图2的区块链216)由一系列区块组成,每个区块存储数据。数据的示例包括表示两个或更多个参与者之间的交易的交易数据。尽管本文通过非限制性示例使用了“交易”,但是可以预期,任何适当的数据可以存储在区块链中(例如,文档、图像、视频、音频)。交易的示例可以包括但不限于有价物的交换(例如,资产、产品、服务、货币)。交易数据不可篡改地存储在区块链中。也就是说,交易数据不能改变。
[0032] 在将交易数据存储在区块中之前,对交易数据进行哈希处理。哈希处理是将交易数据(作为字符串数据提供)转换为固定长度哈希值(也作为字符串数据提供)的过程。不可能对哈希值进行去哈希处理(un-hash)以获取交易数据。哈希处理可确保即使交易数据轻微改变也会导致完全不同的哈希值。此外,如上所述,哈希值具有固定长度。也就是说,无论交易数据的大小如何,哈希值的长度都是固定的。哈希处理包括通过哈希函数处理交易数据以生成哈希值。哈希函数的示例包括但不限于输出256位哈希值的安全哈希算法(SHA)-256。
[0033] 多个交易的交易数据被哈希处理并存储在区块中。例如,提供两个交易的哈希值,并对它们本身进行哈希处理以提供另一个哈希值。重复此过程,直到针对所有要存储在区块中的交易提供单个哈希值为止。该哈希值被称为Merkle根哈希值,并存储在区块的头中。任何交易中的更改都会导致其哈希值发生变化,并最终导致Merkle根哈希值发生变化。
[0034] 通过共识协议将区块添加到区块链。区块链网络中的多个节点参与共识协议,并执行工作以将区块添加到区块链中。这样的节点被称为共识节点。上文介绍的PBFT用作共识协议非限制性示例。共识节点执行共识协议以将交易添加到区块链,并更新区块链网络的整体状态。
[0035] 更详细地,共识节点生成区块头,对区块中的所有交易进行哈希处理,并将所得的哈希值成对地组合以生成进一步的哈希值,直到为区块中的所有交易提供单个哈希值(Merkle根哈希值)。将此哈希值添加到区块头中。共识节点还确定区块链中最近的区块的哈希值(即,添加到区块链中的最后一个区块)。共识节点还向区块头添加随机数(nonce)和时间戳。
[0036] 通常,PBFT提供实用拜占庭状态机复制,其容忍拜占庭故障(例如,故障节点,恶意节点)。这通过假设将发生故障(例如,假设存在独立节点故障和/或由共识节点发送的经操纵的消息)在PBFT中实现。在PBFT中,以包括主共识节点和备共识节点的顺序提供共识节点。主共识节点被周期性地改变,区块链网络内的所有共识节点将交易添加到区块链,达成关于区块链网络的世界状态的协议。在此过程中,消息在共识节点之间传输,并且每个共识节点证明从指定的点节点(peer node)接收消息,并验证在传输期间消息未被修改。
[0037] 在PBFT中,共识协议以多个阶段提供,所有共识节点以相同状态开始。首先,客户端向主共识节点发送请求以调用服务操作(例如,在区块链网络内执行交易)。响应于接收到请求,主共识节点将请求多播到备共识节点。备共识节点执行请求,并且每个节点都向客户端发送回复。客户端等待直到收到阈值数量的回复。在一些示例中,客户端等待接收到f+1个回复,其中f是区块链网络内可以容忍的错误共识节点的最大数量。最终结果是足够数量的共识节点就要添加到区块链的记录的顺序达成一致,并且记录被接受或拒绝。
[0038] 在一些区块链网络中,用密码学来维护交易的隐私。例如,如果两个节点想要保持交易隐私,以使得区块链网络中的其他节点不能看出交易的细节,则这两个节点可以对交易数据进行加密处理。加密处理的示例包括但不限于对称加密和非对称加密。对称加密是指使用单个密钥既进行加密(从明文生成密文)又进行解密(从密文生成明文)的加密过程。在对称加密中,同一密钥可用于多个节点,因此每个节点都可以对交易数据进行加密/解密。
[0039] 非对称加密使用密钥对,每个密钥对包括私钥和公钥,私钥仅对于相应节点是已知的,而公钥对于区块链网络中的任何或所有其他节点是已知的。节点可以使用另一个节点的公钥来加密数据,并且该加密的数据可以使用其他节点的私钥被解密。例如,再次参考图2,参与者A可以使用参与者B的公钥来加密数据,并将加密数据发送给参与者B。参与者B可以使用其私钥来解密该加密数据(密文)并提取原始数据(明文)。使用节点的公钥加密的消息只能使用该节点的私钥解密。
[0040] 非对称加密用于提供数字签名,这使得交易中的参与者能够确认交易中的其他参与者以及交易的有效性。例如,节点可以对消息进行数字签名,而另一个节点可以根据参与者A的该数字签名来确认该消息是由该节点发送的。数字签名也可以用于确保消息在传输过程中不被篡改。例如,再次参考图2,参与者A将向参与者B发送消息。参与者A生成该消息的哈希值,然后使用其私钥加密该哈希值以提供为加密哈希值的数字签名。参与者A将该数字签名附加到该消息上,并将该具有数字签名的消息发送给参与者B。参与者B使用参与者A的公钥解密该数字签名,并提取哈希值。参与者B对该消息进行哈希处理并比较哈希值。如果哈希值相同,参与者B可以确认该消息确实来自参与者A,且未被篡改。
[0041] 如上所述,区块链可用于生成不可篡改且透明的记录链,该记录链可帮助识别和认证原始版权作品的创作者或版权所有者。例如,与区块链上记录的版权内容(例如,与内容的创作者相关联的内容更新或新输入的身份信息)关联的交易可以被编码为唯一ID。该唯一ID可以通过以不影响内容的视觉呈现的方式改变版权文本内容的一个或多个属性(例如,文本字体属性)被不可见地嵌入,并且对于进行查看的用户而言是不可辨别的或不明显。例如,可以通过改变标点符号的一个或多个属性将唯一ID嵌入在文本内容的标点符号中。在一些实施例中,唯一ID可以嵌入在例如版权内容的前景或背景的其他数据载体中。
[0042] 为了确定版权持有者并识别潜在的版权侵权,可以从属性中提取嵌入的唯一ID以对交易进行解码。然后,该交易可用于检索与版权内容相关联的记录链。在一些实施例中,记录链可用于识别版权持有者,并向版权持有者寻求许可,以复制、修改、分发或公开展示版权作品。在一些实施例中,记录链还可用于解决版权纠纷或确定版权内容是否已被篡改。
[0043] 图3是示出了可根据本文实施例执行的处理300的示例的流程图。处理300可以由一个或多个区块链节点或耦接到一个或多个区块链节点的计算设备来执行。为了清楚地呈现,以下描述结合本文中的其他附图的上下文一般地描述了处理300。然而,应当理解,处理300可以例如通过任何系统、环境、软件和硬件,或者系统、环境、软件和硬件的组合来适当地执行。在一些实施例中,处理300的各个步骤可以并行、组合、循环或以任何顺序运行。
[0044] 在302,识别数字内容。数字内容可以是与版权持有者相关联的版权作品的内容(即,版权数字内容,或简称为版权内容)。版权作品可以是任何原创作品或创作作品,如文学作品、电影、编舞、编曲、录音、绘画、素描、雕塑、摄影、计算机软件、广播和电视广播或工业设计。版权内容可以以数字数据的形式存在,其可以被数字地传输、流式传输、包含在计算机文件中、或作为交易记录存储在区块链中。
[0045] 在304,执行基于区块链的版权认证。在一些实施例中,版权认证可以包括认证版权内容的权利持有者。如前所述,区块链提供与版权内容相关的不可篡改的交易记录链。例如,与版权内容相关的交易可以包括原创数字内容、时间戳或内容创作和分发的位置、内容更新或修改历史、创作者身份、所有权、许可信息或其他信息。在批准交易之后,可以将相应的区块链交易ID记录到相应的区块并分发到区块链网络的分布式账本。在一些实施例中,交易还可以嵌有与以太坊区块链相关联的智能合约信息。
[0046] 可以基于遍历区块链上版权内容的交易记录来认证版权内容的权利持有者。例如,可以确定与将版权内容记录在区块链上相关联的区块链交易ID。然后可以遍历与区块链交易ID相关联的记录链,直到识别出与版权内容相关联的所有权或创作者身份的记录。识别出的区块链上记录的内容的所有者或创作者可以被确定为真实的权利持有者。在一些实施例中,所有权或创作者身份信息可能没有被记录在区块链上。在这种情况下,如果可以提供其他信息(例如,详细的更新和修改历史)以匹配区块链上的记录,则可以认证权利持有者。
[0047] 在306,可以生成与版权持有者相关联的唯一ID。唯一ID可用于唯一地标识版权持有者。在一些实施例中,唯一ID可以是由证书颁发机构(CA)颁发的公钥证书。例如,CA可以是联盟区块链的一个或多个可信实体。证书可以包括版权内容、有关版权持有者的身份的信息以及CA的数字签名。在一些实施例中,唯一ID可以包括利用版权持有者的私钥进行数字签名的版权持有者的身份信息。然后,可以通过利用对应于版权持有者的公钥对数字签名进行解密来识别版权持有者,并通过将解密出的信息与区块链中的版权持有者的信息进行比较来验证版权持有者。
[0048] 版权持有者可以是个人或企业实体。个人版权持有者的示例性身份信息可以包括权利持有者的住宅ID、护照号码、驾照号码、电话号码或姓名中的一个或多个。企业版权持有者的示例性身份信息可以包括企业注册号、税号、注册名、电话号码、地址或商标中的一个或多个。
[0049] 在一些实施例中,可以基于与区块链上记录的版权内容相关联的交易来生成唯一ID。如前所述,这些交易可以包括版权内容、时间戳或内容创作和分发的位置、内容更新或修改历史、创作者身份、所有权、许可信息等。可以基于一个或多个交易生成唯一ID。在一些情况下,版权内容的至少一部分可用于生成唯一ID,例如通过基于内容的该部分生成哈希值。在一些示例中,版权内容的该部分保留了版权内容的来源,并且可以用于识别从其中提取该部分的版权内容。为了识别版权持有者,版权内容的该部分可用于识别与区块链上版权内容的记录相对应的区块链交易ID。然后,区块链交易ID可用于检索与版权内容相关联的整个记录链,以识别版权持有者。在一些实施例中,还可以基于一个或多个交易以及对应的一个或多个时间戳和位置来生成唯一ID。
[0050] 在一些实施例中,唯一ID可以作为数字水印不可见地嵌入数据载体中,使得该水印可以被提取从而获得相关联的版权信息。在一些实施例中,可以对唯一ID进行加密或哈希处理以增强数字水印的鲁棒性和安全性。例如,可以使用版权持有者的公钥基于公钥加密法来执行加密。在一些实施例中,还可以基于诸如Arnold加扰加密的加密方案来执行加密,以适应所使用的嵌入技术。通过执行加密,即使攻击者提取出数字水印,如果攻击者不知道加密方案或加密密钥,也不能解密出相关联的身份信息。
[0051] 在一些实施例中,可以添加与版权内容的交易相关联的时间戳和地址以生成唯一ID。添加时间戳和地址信息可以进一步确保ID的唯一性。时间戳和地址信息还可用于识别和认证权利持有者,以用于版权侵权的检测和执行。在一些实施例中,唯一ID还可以是基于权利持有者的私钥生成的数字签名。
[0052] 在308,不可见地嵌入唯一ID。在一些示例中,如果嵌入的唯一ID的添加对裸眼不明显或不可见,则可以认为嵌入的唯一ID是不可见的。换句话说,如果在嵌入唯一ID之前和嵌入唯一ID之后版权内容之间的视觉差异对于肉眼不明显可见,则可以认为唯一ID是不可见的。唯一ID可以嵌入在版权内容、版权内容的前景或版权内容的背景中。版权内容的前景可以是附着或集成到显示版权内容的平台的膜或屏幕。版权内容的前景也可以是包括唯一ID的层,所述唯一ID被配置为不由查看式应用程序所呈现。版权内容的背景可以是在其上打印版权内容的物理对象(例如,纸),或者是包含在显示器上呈现的版权内容的电子文件的视觉表示的背景。
[0053] 可以基于数字水印处理来执行版权内容的不可见嵌入。数字水印处理是一种使用数据载体嵌入版权信息的技术。数据载体可以包括文本、图像、物理或电子媒介。唯一ID可以作为不可见的数字水印嵌入数据载体中。当发生版权纠纷时,可以从数据载体中提取唯一ID以验证版权的所有权。
[0054] 数字水印处理技术可以包括背景亮度掩蔽、照度掩蔽、纹理掩蔽、空间掩蔽和频率掩蔽。不同的技术可以基于不同的数字水印处理算法。在一些实施例中,数字水印嵌入可以基于人类视觉系统(HVS)特性以实现视觉不可感知性或不可见性。例如,人眼对低强度像素的变化比高强度像素的变化更敏感。在照度掩蔽中,可以扫描数字版权内容的像素以识别具有高强度水平的像素。高强度像素可用于嵌入数字水印。人眼难以察觉对高强度像素进行的修改,使得可以认为数字水印是不可见地嵌入的。使用照度掩蔽,数字水印可以嵌入整个版权内容或内容的一部分中。例如,如果版权内容是文本内容,则数字水印可以嵌入字、单词、句子或整个文本内容中。
[0055] 作为另一示例,在纹理掩蔽中,纹理越复杂,人眼就越难以辨别纹理的变化。因此,数字水印可以嵌入到具有更复杂的纹理的版权图像的一部分或版权内容的背景中,以使人眼不易察觉。
[0056] 作为又一示例,可以通过基于诸如离散余弦变换(DCT)、离散小波变换(DWT)或Arnold变换的数学变换将版权内容变换为频域系数,基于频率掩蔽来执行数字水印处理。在频率掩蔽中,通常根据水印信息修改中频或低频系数。这些频率范围对原始内容的呈现影响较小。数字水印(即,唯一ID)可以是字符串的形式。字符串可以转换为单个二进制字符串。可以嵌入每个比特(bit)以根据所使用的变换技术调整低频率系数。在频率掩蔽中,数字水印可以被分散到整个版权内容,这可以增加鲁棒性和不可见性。用于执行数字水印处理的其他示例性数学变换可以包括DWT和奇异值分解(DWT-SVD)、最低有效位(LSB)或高度不可检测的隐写(HUGO)。
[0057] 在一些实施例中,可以使用一种以上的数字水印处理技术将多层数字水印嵌入到数据载体中。在这种情况下,还可以生成数字水印层的索引并将其嵌入数据载体中。该索引可用于在执行版权认证或侵权识别时更容易从数据载体中提取数字水印。在一些实施例中,在嵌入到数据载体之前,可以将唯一ID随机化或与随机信号混合。
[0058] 在一些示例中,版权内容可以是文本内容。如果嵌入的唯一ID不会实质性地改变内容,则可以将其视为不可见。如果嵌入的信息不改变文本的含义,则可以认为内容没有实质性改变。例如,原始文本是“he becomes a monster after seven years”,嵌入信息的文本是“he has become a‘monster’after seven years”。由于文本的含义保持不变,因此添加的文本中嵌入的信息不会被视为对原始文本进行了实质性改变。在该示例中,根据本文描述的技术,唯一ID可以嵌入引号中,或者助动词“has”中。在一些实施例中,唯一ID可以嵌入空格或例如冠词、介词、连词和和助动词的功能词中,它们通常不会改变文本内容的实质含义。
[0059] 在一些实施例中,可以使用多个唯一ID来跟踪文本内容的更新。例如,可以基于记录在区块链上的版权持有者的身份信息和对应于一个或多个内容更新的时间戳来生成一个或多个唯一ID。当执行内容更新并将其记录在区块链上时,包括相应时间戳的唯一ID可以嵌入在更新内容的至少一部分中。为了认证权利持有者,从版权内容中提取的唯一ID中的时间戳可以形成内容的创作和更新历史的时间线。该时间线可以用作内容开发过程的证据,并与区块链上记录的更新历史进行比较,以认证文本内容的作者身份。
[0060] 在一些实施例中,唯一ID可以嵌入在文本或图像内容的特征信息中。示例性特征信息可以包括文本或图像的颜色、亮度和透明度。例如,可以基于红绿蓝(RGB)颜色模型对文本或图像颜色进行编码。可嵌入唯一ID以略微改变RGB值组合,裸眼对这种改变无法察觉。作为另一示例,唯一ID可以嵌入YCbCr格式的文本或图像中,其中Y表示亮度信号、Cb表示色度蓝信号、Cr表示色度红信号。亮度信号对信息嵌入相对不敏感,其可以优选地用于不可见地嵌入唯一ID。
[0061] 在一些实施例中,唯一ID可以嵌入文本内容的标点符号中。例如,在文本“after seven years,he becomes a‘monster’,”中,唯一ID可以嵌入逗号和引号的编码中。
[0062] 在一些实施例中,唯一ID可以嵌入由文本内容使用的字体中。可以使用例如UTF-8的统一码(Unicode)对字体进行编码。UTF-8基于可变宽度字符编码,使用一到四个8位字节。在某些位中嵌入唯一ID可能会略微改变像素位置、大小、角度、字体形状或标点符号,这种改变对裸眼不可见。例如,可以用冗余来编码文本字体和标点符号的像素。通常将冗余添加到像素以用于数据通信中的错误检查。诸如校验位的冗余可用于检查接收方端的数据完整性。如果校验位在到达接收方时与承载像素的其余信息不一致,则接收方可以要求发送方重新发送内容。唯一ID可以随机地嵌入冗余像素中或嵌入固定位置的冗余像素中。应该理解,唯一ID也可以不可见地嵌入字体或标点符号的其他隐藏特征中。
[0063] 在一些实施例中,唯一ID可以嵌入在版权内容中的或包含版权内容的表单或表格中。这些实施例特别适用于在在线表单或表格中插入的文本或图像的权利认证。例如,在线表单可以是在网页的超文本标记语言(HTML)定义中定义的表单(例如通过使用“
”标签)并由显示该网页的浏览器程序呈现。类似地,在线表格可以是在网页的超文本标记语言(HTML)定义中定义的表格(例如通过使用“”标签)并由显示该网页的浏览器程序呈现。唯一ID可以不可见地嵌入与颜色、阴影、单元格大小或表单或表格的其他属性相关联的值中。当潜在版权侵权者在未经许可的情况下,复制包含版权内容的表单或表格时,可以提取唯一ID以识别版权侵权。
[0064] 在一些实施例中,唯一ID可以嵌入物理或数字数据载体的背景纹理中。在某些情况下,唯一ID可以嵌入到物理媒介中,可以在该媒介上打印或写入版权内容。例如,可以将唯一ID转换为唯一的网格图案,其可以用作数字水印。通过将网格图案叠加为文档背景来嵌入版权信息的文档图像然后可以打印在物理纸上。可以过滤带水印的打印纸的扫描图像或照片图像以在版权认证中提取数字水印。作为另一示例,唯一ID可以作为数字水印嵌入到物理纸的色度分量中,使得它更适应数字-模拟转换并且可以更容易地提取。
[0065] 在一些情况下,唯一ID可以嵌入可用于显示或发布版权内容的电子媒介中。例如,唯一ID可以嵌入网页或例如MICROSOFT WORD、POWERPOINT或ADOBE PDF的电子文件的背景纹理中。在某些情况下,唯一ID可以嵌入附着或集成到电子显示器的膜或屏幕中。在这些情况下,可以利用物理纸的纹理、电子文件的背景或者膜或屏幕嵌入唯一ID。这些实施例特别适用于潜在版权侵权者在未经权利持有者许可的情况下使用版权内容的扫描副本或照片的情况,可以提取嵌入在带有版权内容的物理媒介或电子显示中的唯一ID以识别潜在的版权侵权。
[0066] 图4描绘了根据本文实施例的内容处理过程400的示例。在高层级中,过程400可以由计算设备401、区块链数据库414以及区块链网络416执行。计算设备401可以通过有线或无线通信可通信地耦接到区块链网络416。可选地或附加地,计算设备401可以是区块链网络416的共识节点。
[0067] 计算设备401可以生成或更新数字内容402。数字内容402可以是版权数字内容。计算设备401还可以基于从区块链网络416维护的分布式账本中检索的区块链交易记录404执行基于区块链的版权认证。在一些实施例中,可以从维护区块链的完整账本的区块链数据库414中检索区块链交易记录404。可以类似于图3的步骤304的描述执行基于区块链的版权认证以提供版权认证的内容406。
[0068] 在一些实施例中,区块链网络416可以是联盟区块链网络。在这种情况下,版权区块链数据可以由区块链网络416中的一个或多个主节点管理。在一些实施例中,一个或多个主节点可以向计算设备401发布版权证书,以基于存储在区块链数据库414或联盟区块链中的区块链数据来认证数字内容402。
[0069] 在版权认证之后,数字内容402变为版权认证的内容406。然后,计算设备401可以生成与数字内容402的版权信息相关联的唯一ID 408。唯一ID 408可以不可见地嵌入在版权认证的内容406中。可以如在图3的步骤306的描述中所讨论的,类似地执行唯一ID 408的生成。可以如在图3的308的描述中所讨论的,类似地执行将唯一ID 408嵌入到版权认证的内容406中。
[0070] 在不可见地嵌入版权信息之后,计算设备401可以对区块链网络416中的一个或多个节点执行嵌入信息的内容分发410。在一些实施例中,区块链节点可以生成与嵌入信息的内容相对应的区块链数据。区块链数据可以包括区块数据(区块头)和区块交易(区块体)。可以记录对应于嵌入信息的内容分发410或其他内容更新的区块链交易以更新区块链网络
416的分布式账本。
[0071] 图5描绘了根据本文实施例的区块链交易记录500的示例。可以基于与交易相关联的区块链交易ID 502来识别和检索区块链交易记录500。区块链交易记录500可以包括版权内容的历史,例如交易时间504、所有权信息506、发送方的地址508、接收方的地址510、费用和价格512、以及对应于交易514的区块地址。
[0072] 再次参考图4,在执行嵌入信息的内容分发410之后,可以更新可通信地耦接到区块链网络416的区块链数据库414(412)。区块链数据库414可以存储嵌入信息的内容的更新和新执行的与内容相关联的交易。更新的区块链交易记录404可以包括与数字内容402相关联的更长的记录链。这样,可以在未来的交易中更可靠地认证数字内容402。
[0073] 图6描绘了根据本文实施例的版权侵权确定过程600的示例。在高层级中,过程600可以由计算设备601、区块链网络612以及区块链数据库610执行。可以执行过程600以基于嵌入版权信息的内容602检测潜在的版权侵权。如在图3的描述中所讨论的,可以在版权内容中嵌入唯一ID以产生嵌入信息的内容602。唯一ID可以基于数字水印处理不可见地嵌入到像素、角度、颜色、字体、纹理、亮度、空间或频率系数或数据载体的其他特性中。合适的数据载体可以包括文本、标点符号、图像、视频、表单、表格、物理媒介、电子媒介、膜或屏幕。
[0074] 为了防止未经授权使用版权内容,计算设备601可以基于在线或从数字文件中找到的嵌入信息的内容602的至少一部分来执行唯一ID提取604。提取的唯一ID 606可用于识别与来自区块链网络612或区块链数据库610的版权内容相关联的交易记录。如果成功识别交易记录并且与记录相关联的权利持有者与嵌入信息的内容602的用户不匹配,则可以确定可能已经发生潜在的版权侵权。在一些实施例中,唯一ID 606还可用于检索存储在区块链数据库610中的最新的版权内容。检索到的版权内容可以用作可信副本,以确定版权内容的另一副本是否被篡改。
[0075] 图7描绘了可以根据本文实施例执行的处理700的示例。为了清楚地呈现,本文中以下描述在其他附图的执行背景下总体地描述了示例性处理700。然而,应当理解示例性处理700可以例如通过任何系统、环境、软件和硬件或者系统、环境、软件和硬件的组合合理来执行。在一些实施方式中,示例性处理700的各个步骤可以以并行、组合、循环或任何顺序运行。
[0076] 为方便起见,处理700将被描述为由位于一个或多个位置的并且根据本文适当地编程的一个或多个计算设备执行。例如,计算系统(例如,图1的计算系统106、108)中适当编程的计算设备,可以执行处理700。
[0077] 在702,计算设备基于与文本内容相关联的版权信息生成唯一ID,其中,版权信息和文本内容被记录在区块链网络的区块链上。
[0078] 在704,计算设备识别与文本内容中使用的字体相关联的一个或多个属性。例如,使用UTF-8编码的字体使用1至4个8位字节。将唯一ID嵌入到一些位中可以轻微地改变字体或标点符号的像素位置、大小、角度、形状,这种改变对肉眼不可见。
[0079] 在706,计算设备通过改变与字体相关联的一个或多个属性以表示唯一ID,将唯一ID嵌入到文本中,其中,所述嵌入产生嵌入信息的文本,该嵌入信息的文本使能基于唯一ID从区块链中检索版权信息,并且文本内容和嵌入信息的文本之间的视觉差异对肉眼不明显可见。
[0080] 在一些情况下,在生成唯一ID之前,计算设备基于与将文本内容记录在区块链中的交易相关联的区块链交易ID,来生成版权持有者持有文本内容的版权。
[0081] 在一些情况下,在嵌入唯一ID之后,计算设备将嵌入信息的文本分发到区块链网络。
[0082] 在一些情况下,与文本内容相关联的版权信息包括:文本内容的至少一部分和/或文本内容的版权持有者的身份信息。
[0083] 在一些情况下,作为与第一区块链交易ID相关联的第一交易,文本内容被记录在区块链上,并且身份信息与关联有第二区块链交易ID的第二交易相关联;以及第一区块链交易ID或者第二区块链交易ID与和文本内容相关联的一个或多个交易记录相关联。
[0084] 在一些情况下,一个或多个交易记录包括:与文本内容相关联的创作者身份、版权所有权、更新历史、时间戳、位置或许可中的一个或多个。
[0085] 在一些情况下,计算设备使用分配给版权持有者的私钥对唯一ID进行数字签名。
[0086] 在一些情况下,唯一ID是基于使用哈希函数对版权信息进行哈希处理和使用分配给版权持有者的公钥加密版权信息之一生成的。
[0087] 在一些情况下,进一步基于与版权信息相关联的时间戳和/或地址来生成唯一ID。
[0088] 在一些情况下,嵌入唯一ID是基于使用离散小波变换、离散余弦变换、奇异值分解、最低有效位或不可检测的隐写中的一个或多个的数字水印处理来执行的。
[0089] 在一些情况下,一个或多个属性包括大小、方位或形状中的一个或多个。
[0090] 在一些情况下,文本内容中与字体相关联的字符是由基于一个或多个属性分布的多个像素可视地表示的。
[0091] 图8是根据本文实施例的装置800的模块的示例的图。装置800可以是客户端计算设备的实施例的示例,该客户端计算设备被配置为执行版权信息嵌入以进行版权保护。装置800可以对应于上述实施例,并且装置800包括以下:生成模块802,用于基于与文本内容相关联的版权信息生成唯一ID,其中,版权信息和文本内容被记录在区块链网络的区块链上;识别模块804,用于识别与文本内容中使用的字体相关联的一个或多个属性;嵌入模块806,用于通过改变与字体相关联的一个或多个属性以表示唯一ID,将唯一ID嵌入到文本内容中,其中,所述嵌入产生嵌入信息的文本,该嵌入信息的文本使能基于唯一ID从区块链中检索版权信息,并且文本内容和嵌入信息的文本之间的视觉差异对肉眼不明显可见。
[0092] 在可选实施例中,装置800还包括:认证子模块,用于基于与将文本内容记录在区块链中的交易相关联的区块链交易ID来认证版权持有者持有文本内容的版权。
[0093] 在可选实施例中,装置800还包括:分发子模块,用于将嵌入信息的文本分发到区块链网络。
[0094] 在可选实施例中,与文本内容相关联的版权信息包括:文本内容的至少一部分和/或文本内容的版权持有者的身份信息。
[0095] 在可选实施例中,作为与第一区块链交易ID相关联的第一交易,文本内容被记录在区块链上,并且身份信息与关联有第二区块链交易ID的第二交易相关联;以及第一区块链交易ID或第二区块链交易ID与一个或多个交易记录相关联,所述一个或多个交易记录与文本内容相关联。
[0096] 在可选实施例中,一个或多个交易记录包括:与文本内容相关联的创作者身份、版权所有权、更新历史,时间戳、位置或许可中的一个或多个。
[0097] 在可选实施例中,装置800还包括数字签名子模块,用于使用分配给版权持有者的私钥对唯一ID进行数字签名。
[0098] 在可选实施例中,唯一ID是基于使用哈希函数对版权信息进行哈希处理和使用分配给版权持有者的公钥对版权信息进行加密之一来生成的。
[0099] 在可选实施例中,唯一ID是进一步基于与版权信息相关联的时间戳和/或地址来生成的。
[0100] 在可选实施例中,嵌入唯一ID是基于使用离散小波变换、离散余弦变换、奇异值分解、最低有效位或不可检测的隐写中的一个或多个的数字水印处理来执行的。
[0101] 在可选实施例中,一个或多个属性包括大小、方位或形状中的一个或多个。
[0102] 在可选实施例中,文本内容中与字体相关联的字符是由基于一个或多个属性分布的多个像素可视地表示的。
[0103] 在先前实施例中示出的系统、装置、模块或单元可以通过使用计算机芯片或实体来实现,或者可以通过使用具有特定功能的产品来实现。典型的实施例设备是计算机,计算机可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板电脑、可穿戴设备或这些设备的任意组合。
[0104] 对于装置中各个模块的功能和角色的实施例的过程,可以参考前一方法中相应步骤的实施过程。为简单起见,这里省略了细节。
[0105] 由于装置例基本上对应于方法实施例,对于相关部分,可参考本方法实施例中的相关描述。先前描述的设备实施例仅是示例。被描述为单独部分的模块可以或可以不是物理上分离的,并且显示为模块的部分可以是或可以不是物理模块,可以位于一个位置,或者可以分布在多个网络单元上。可以基于实际需求来选择一些或所有模块,以实现本文方案的目标。对本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以理解并实现本申请的实施例。
[0106] 本文中描述的技术产生若干技术效果。例如,主题的实施例允许基于存储在区块链上的交易记录来识别和认证版权内容的创作者或权利持有者。交易记录可用作解决声称的权利持有者之间版权纠纷的证据。交易记录还可用于寻求经认证的权利持有者的许可,以复制、修改、许可、分发或公开展示版权内容。此外,权利持有者可以使用区块链记录来识别和防止版权侵权。
[0107] 在一些实施例中,唯一ID可以作为数字水印不可见地嵌入在版权内容中,以识别潜在的版权侵权或版权内容的非法变更。由于数字水印是不可见地嵌入的,因此不会在视觉上影响版权内容的呈现。不可见的数字水印也很难被潜在的侵权者辨别和删除以对抗侵权检测。
[0108] 为了防止未经授权而使用版权内容,可以提取唯一ID以从区块链中检索版权内容的交易记录。如果识别出交易记录并且版权内容的使用者不是版权内容的权利持有者或被许可人,则可以确定可能已经发生了潜在的版权侵权。在一些实施例中,唯一ID还可用于检索存储在区块链上的最新的版权内容,以确定版权内容是否被篡改。
[0109] 唯一ID还可以嵌入物理媒介、或者附着或集成到电子显示器的屏幕中。当潜在的侵权者在未经权利持有者许可的情况下使用版权内容的扫描副本或照片时,可以提取嵌入在带有版权内容的物理媒介或电子显示中的唯一ID以识别潜在的版权侵权。
[0110] 所描述的主题的实施例可以包括单独或组合的一个或多个特征。
[0111] 例如,在第一实施例中,一种计算机实现的用于嵌入版权信息的方法包括:计算设备基于与文本内容相关联的版权信息生成唯一标识(ID),其中,文本内容和版权信息被记录在区块链网络的区块链上;计算设备将一个或多个功能词添加至文本内容中,而不改变文本内容的含义;以及计算设备将唯一ID嵌入在功能词中,以产生嵌入信息的文本内容,所述嵌入信息的文本内容使能基于所述唯一ID从区块链检索版权信息。
[0112] 前述或其他所描述的实施例可以可选地包括以下特征中的一个或多个:
[0113] 第一特征,可与以下任何特征组合,还包括:在生成唯一ID之前,计算设备基于与将文本内容记录在区块链中的交易相关联的区块链交易ID来认证版权持有者持有文本内容的版权。
[0114] 第二特征,可与任何先前或以下特征组合,还包括:在嵌入唯一ID之后,计算设备将嵌入信息的文本分发到区块链网络。
[0115] 第三特征,可与任何先前或以下特征组合,指定与文本内容相关联的版权信息包括:文本内容的至少一部分和/或文本内容的版权持有者的身份信息。
[0116] 第四特征,可与任何先前或以下特征组合,指定作为与第一区块链交易ID相关联的第一交易,文本内容被记录在区块链上,并且身份信息与关联有第二区块链交易ID的第二交易相关联,以及第一区块链交易ID或者第二区块链交易ID与和文本内容相关联的一个或多个交易记录相关联。
[0117] 第五特征,可与任何先前或以下特征组合,指定一个或多个交易记录包括:与文本内容相关联的创作者身份、版权所有权、更新历史、时间戳、位置或许可中的一个或多个。
[0118] 第六特征,可与任何先前或以下特征组合,还包括使用分配给版权持有者的私钥对唯一ID进行数字签名。
[0119] 第七特征,可与任何先前或以下特征组合,指定唯一ID是基于使用哈希函数对版权信息进行哈希处理和使用分配给版权持有者的公钥对版权信息进行加密之一来生成的。
[0120] 第八特征,可与任何先前或以下特征组合,指定唯一ID是进一步基于与所述版权信息相关联的时间戳和/或地址生成的。
[0121] 第九特征,可与任何先前或以下特征组合,指定嵌入唯一ID是基于使用离散小波变换、离散余弦变换、奇异值分解、最低有效位或不可检测的隐写中的一个或多个的数字水印处理来执行的。
[0122] 第十特征,可与任何先前或以下特征组合,指定一个或多个属性包括大小、方位或形状中的一个或多个。
[0123] 第十一特征,可与任何先前或以下特征组合,指定文本内容中与字体相关联的字符是由基于一个或多个属性分布的多个像素可视地表示的。
[0124] 本文中描述的主题、动作以及操作的实施例可以在数字电子电路、有形体现的计算机软件或固件、计算机硬件中实现,包括本文中公开的结构及其结构等同物,或者它们中的一个或多个的组合。本文中描述的主题的实施例可以实现为一个或多个计算机程序,例如,一个或多个计算机程序指令模块,编码在计算机程序载体上,用于由数据处理装置执行或控制数据处理装置的操作。例如,计算机程序载体可以包括一个或多个计算机可读存储介质,其具有编码或存储在其上的指令。载体可以是有形的非暂态计算机存储介质,例如磁盘、磁光盘、或光盘、固态驱动器、随机存取存储器(RAM)、只读存储器(ROM)或其他类型的介质。可选地或附加地,载体可以是人工生成的传播信号,例如,机器生成的电、光或电磁信号,其被生成来编码信息用于传输到合适的接收器装置以供数据处理装置执行。计算机存储介质可以是或可以部分是可机读存储设备、可机读存储基板、随机或串行访问存储器设备或它们中的一个或多个的组合。计算机存储介质不是传播信号。
[0125] 计算机程序也可以被称为或描述为程序、软件、软件应用程序、app、模块、软件模块、引擎、脚本或代码,可以以任何形式的编程语言编写,包括编译或演绎语言、或说明或程序语言;它可以配置为任何形式,包括作为独立程序,或者作为模块、组件、引擎、子程序或适合在计算环境中执行的其他单元,该环境可包括由通信数据网络互联的在一个或多个位置的一个或多个计算机。
[0126] 计算机程序可以但非必须对应于文件系统中的文件。计算机程序可以存储在:保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本;专用于所讨论的程序的单个文件;或者多个协调文件,例如,存储一个或多个模块、子程序或代码部分的多个文件。
[0127] 举例来说,用于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任意一个或多个处理器。通常,处理器将接收用于执行的计算机程序的指令以及来自耦接到处理器的非暂时性计算机可读介质的数据。
[0128] 术语“数据处理装置”包括所有类型的用于处理数据的装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。数据处理装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)、ASIC(专用集成电路)或GPU(图形处理单元)。除了硬件,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈,数据库管理系统、操作系统或者它们中一个或多个的组合的代码。
[0129] 本文中描述的过程和逻辑流程可由一个或多个计算机或处理器执行一个或多个计算机程序执行,以执行通过运行输入数据并生成输出的操作。处理和逻辑流程也可以由例如FPGA、ASIC、GPU等的专用逻辑电路或专用逻辑电路与一个或多个编程计算机的组合来执行。
[0130] 适合于执行计算机程序的计算机可以基于通用和/或专用微处理器,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的元件可包括用于执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以补充有专用逻辑电路或集成在专用逻辑电路中。
[0131] 通常,计算机将包括或可操作地耦接至一个或多个存储设备,以从一个或多个存储设备接收数据或将数据传输到一个或多个存储设备。存储设备可以是例如,磁盘、磁光盘或光盘、固态驱动器或任何其他类型的非暂时性计算机可读介质。因此,计算机可以耦接到一个或多个存储设备,例如,本地和/或远程的一个或多个存储器。例如,计算机可以包括作为计算机的集成组件的一个或多个本地存储器,或者计算机可以耦接到云网络中的一个或多个远程存储器。此外,计算机可嵌入在另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备,例如,通用串行总线(USB)闪存驱动器,这里仅举几例。
[0132] 组件可以通过可交换地彼此“耦接”,例如直接地或通过一个或多个中间组件彼此电连接或光学连接。如果其中一个组件集成到另一个组件中,组件也可以彼此“耦接”。例如,存储组件集成到处理器(例如,L2高速缓存组件)中即“耦接到”处理器中。
[0133] 为了提供与用户的交互,本文中描述的主题的实施例可以在计算机上实施或配置为与该计算机通信,该计算机具有:显示设备,例如,LCD(液晶显示器)监视器,用于向用户显示信息;以及输入设备,用户可以通过该输入设备向该计算机提供输入,例如键盘和例如鼠标、轨迹球或触摸板等的指针设备。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以接收来自用户的任何形式的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过向用户设备上的web浏览器发送web页面以响应从web浏览器收到的请求,或者通过与例如智能电话或电子平板电脑等的用户设备上运行的应用程序(app)进行交互。此外,计算机可以通过向个人设备(例如,运行消息应用的智能手机)轮流发送文本消息或其他形式的消息,并接收来自用户的响应消息来与用户交互。
[0134] 本文使用与系统、装置和计算机程序组件有关的术语“配置为”。对于被配置为执行特定操作或动作的一个或多个计算机的系统,意味着系统已经在其上安装了在运行中促使该系统执行所述操作或动作的软件、固件、硬件或它们的组合。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当被数据处理装置执行时促使该装置执行所述操作或动作的指令。对于被配置为执行特定操作或动作的专用逻辑电路,意味着该电路具有执行所述操作或动作的电子逻辑。
[0135] 虽然本文包含许多具体实施例细节,但是这些不应被解释为由权利要求本身限定的对要求保护的范围的限制,而是作为对特定例的具体特征的描述。在本文多个单独例方式的上下文中的描述的多个特定特征也可以在单个实施例中的组合实施例。相反,在单个实施例的上下文中描述的各种特征也可以单独地以任何合适的子组合在多个实施例中实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下,可以从要求保护的组合中删除来自该组合的一个或多个特征,并且可以要求保护指向子组合或子组合的变体。
[0136] 类似地,虽然以特定顺序在附图中描绘了操作并且在权利要求中叙述了操作,但是这不应该被理解为:为了达到期望的结果,要求以所示的特定顺序或依次执行这些操作,或者要求执行所有示出的操作。在特定情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的划分不应被理解为所有实施例中都要求如此划分,而应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品或者打包成多个软件产品。
[0137] 已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程无需要求所示的特定顺序或次序来实现期望的结果。在一些情况下,多任务和并行处理可能是有利的。