CN113872772B - 视频片段拍摄设备和时间记录方法以及对应的验证方法 - Google Patents

视频片段拍摄设备和时间记录方法以及对应的验证方法 Download PDF

Info

Publication number
CN113872772B
CN113872772B CN202111464651.2A CN202111464651A CN113872772B CN 113872772 B CN113872772 B CN 113872772B CN 202111464651 A CN202111464651 A CN 202111464651A CN 113872772 B CN113872772 B CN 113872772B
Authority
CN
China
Prior art keywords
video
time
block chain
transaction
encryption key
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
Application number
CN202111464651.2A
Other languages
English (en)
Other versions
CN113872772A (zh
Inventor
程希冀
张森
周丹丹
罗骁
陈柏臻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Vastchain Technology Co ltd
Original Assignee
Hangzhou Vastchain Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Vastchain Technology Co ltd filed Critical Hangzhou Vastchain Technology Co ltd
Priority to CN202111464651.2A priority Critical patent/CN113872772B/zh
Publication of CN113872772A publication Critical patent/CN113872772A/zh
Application granted granted Critical
Publication of CN113872772B publication Critical patent/CN113872772B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/608Watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • Computer Hardware Design (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

本发明公开了一种视频片段拍摄设备和时间记录方法以及对应的验证方法,其中视频片段拍摄设备和时间记录方法包括:创建或选取一个区块链网络;在采集视频的电子设备上定义代表自身身份的非对称加密密钥对,并将所述非对称加密秘钥对与采集视频的电子设备序列号对应关系保存在所述区块链网络的区块链节点服务器上;每隔一段时间,将包括当前时间点的视频画面的特征值和基于所述非对称加密密钥对的电子签名的信息存证于区块链网络上;基于当前时间点和最后一次存证时间点的时间差以及最近一次在区块链网络上存证所生成的区块链交易的特征值,通过可逆变换生成信息并在视频画面中以水印或字幕显示该信息。

Description

视频片段拍摄设备和时间记录方法以及对应的验证方法
技术领域
本发明属于区块链技术领域,具体涉及一种视频片段拍摄设备和时间记录方法以及对应的验证方法。
背景技术
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
通过监控摄像头、手机等各类电子设备采集的视频,一般会被编码为特定格式的视频文件,或者通过实时视频流的方式在各类显示设备上进行播放。在很多场景中,需要知道上述视频某个特定片段的真实拍摄设备和时间。目前现有的实现方案主要有两种:(1)在编码视频数据时在视频原始画面基础上植入可直接识读的拍摄设备代号和当前时间的字幕或水印,然后通过人直接观看并识别该片段视频画面中的时间字幕或水印来获取视频片段的拍摄时间。(2)在视频文件的元数据中写入视频拍摄设备的信息和拍摄时间。以上实施场景存在以下技术问题:(1)视频数据流或视频文件中的字幕或水印容易被非法篡改。(2)由于添加字幕或水印是比较容易的技术手段,难以验证视频数据流或视频文件中的字幕或水印是否是真实的,从而影响到视频数据流或视频文件在部分场景的应用。(3)视频文件的元数据没有可验证的手段。
发明内容
鉴于以上存在的技术问题,本发明提供一种视频片段拍摄设备和时间记录方法以及对应的验证方法。
为解决上述技术问题,本发明采用如下的技术方案:
本发明实施例的第一方面提供一种视频片段拍摄设备和时间记录方法,包括:
创建或选取一个区块链网络;
在采集视频的电子设备上定义代表自身身份的非对称加密密钥对,并将所述非对称加密秘钥对与采集视频的电子设备序列号对应关系保存在所述区块链网络的区块链节点服务器上;
每隔一段时间,将包括当前时间点的视频画面的特征值和基于所述非对称加密密钥对的电子签名的信息存证于区块链网络上;
基于当前时间点和最后一次存证时间点的时间差以及最近一次在区块链网络上存证所生成的区块链交易的特征值,通过可逆变换生成信息并在视频画面中以水印或字幕显示该信息。
第一方面的一种可能设计中,在采集视频的电子设备上定义代表自身身份的非对称加密密钥对,并将所述非对称加密秘钥对与采集视频的电子设备序列号对应关系保存在区块链节点服务器上,具体包括:
在采集视频的电子设备第一次使用前的任意时间,定义一个代表自身身份的非对称加密秘钥对k1或基于非对称加密秘钥对k1的安全证书,并将该基于非对称加密秘钥对的公钥pub1和采集视频的电子设备的设备序列号sn1之间的对应关系保存在区块链节点服务器上。
第一方面的一种可能设计中,定义一个代表自身身份的非对称加密秘钥对k1或基于非对称加密秘钥对k1的安全证书为通过软件随机或安全芯片的方式产生。
第一方面的一种可能设计中,每隔一段时间,将包括当前时间点的视频画面的特征值和基于所述非对称加密密钥对的电子签名的信息存证于区块链上,具体包括:
在采集视频的电子设备中指定同步周期值t,代表数据同步的周期长度;存储时间精度值p,代表用户可以查询到视频片段拍摄时间的最小颗粒度;
从采集视频的电子设备开始对外传输视频流开始计算,每当历经t时间的整数倍,设备记录当前第一时间time1,并将当前第一时间时刻的视频画面图像进行特征计算,将结果记为r1
将特征计算的结果r1的杂凑值记为hash1,使用秘钥对k1对hash1进行数字签名,得到签名s1,将包括hash1和s1的信息打包为一个数据包;
创建一笔区块链交易trans1,将上述数据包作为trans1的一部分,并将该交易发送至区块链节点服务器;
在该区块链交易成功保存至区块链网络后,从区块链网络获取该区块链交易的特征值h1,并将该区块链交易的特征值存储至采集视频的电子设备中,如采集视频的电子设备已有该区块链交易的特征值则更新存储的值。
第一方面的一种可能设计中,基于当前时间点和最后一次存证时间点的时间差以及最近一次在区块链上存证所生成的区块链交易的特征值,通过可逆变换生成信息并在视频画面中以水印或字幕显示该信息,具体包括:
从采集视频的电子设备开始对外输出视频流开始,每过p时间,用当前第二时间减去time1算出时间差Δt1,将h1和Δt1两个值或其可逆变换记为i1
从i1具有计算值开始,采集视频的电子设备在输出的视频画面中添加内容为i1的水印或字幕。
第一方面的一种可能设计中,将该时刻的视频画面图像进行特征计算为将视频画面图像本身作为特征。
第一方面的一种可能设计中,将该时刻的视频画面图像进行特征计算为将视频画面图像数据的杂凑值作为特征。
第一方面的一种可能设计中,将包括hash1和s1的信息打包为一个数据包时,数据包也包括r1的信息。
第一方面的一种可能设计中,将包括hash1和s1的信息打包为一个数据包时,数据包中不包括r1的信息,将r1发送并保存到单独的数据特征存储服务器上。
本发明实施例的第二方面提供一种视频片段拍摄设备和时间验证方法,用于验证通过如上任一记录的视频片段拍摄设备和时间,包括:
识读待验证视频画面中的水印或字幕,采用逆向变换得到区块链交易特征值和时间差;
校验上述区块链交易特征值和时间差的合理性,进一步在区块链节点服务器中获取对应记录的画面特征值和数字签名,校验记录的画面特征值和待验证视频画面的特征值的一致性,基于数字签名推算出采集视频的电子设备的序列号,最终验证采集视频的电子设备和时间的真实性。
第二方面的一种可能设计中,具体包括以下步骤:
当需要验证视频片段的拍摄设备与时间时,找到待验证的该时间点的视频画面pic1,识读该时间点视频画面上的水印或字幕,得到水印或字幕上显示的值,记为i2
基于i2值进行反向变换,计算出变换的初始值h2和Δt2,如果无法得出合理的结果,则代表该视频的水印或字幕不真实,该视频不是真实的原始视频;
根据交易trans2的数据包中的数字签名s2和杂凑值hash2,计算出数字签名签署者的公钥pub2,通过在区块链节点服务器上查找pub2和设备的对应关系推断出来该采集视频的电子设备的序列号,得到该时间点的视频画面真实的拍摄设备。
第二方面的一种可能设计中,进一步包括:计算出变换的初始值h2和Δt2,如果得出合理的结果,继续在区块链节点服务器上查找具有h2特征值的交易trans2,如不存在此交易,则代表该视频的水印或字幕不真实,或者该视频的拍摄设备或时间不真实,该视频不是真实的原始视频。
第二方面的一种可能设计中,进一步包括:如存在此交易,则从trans2交易中提取出该交易被记录的时间time2和包含的数据包,并对数据包进行解析,得到数据包中的哈希值hash2及其签名s2和该时间点记录的图像特征r2,如果数据包中不包含r2,从数据特征存储服务器中下载对应的特征r2;从pic1所在时刻倒推Δt2时间,找到time2时刻的图像画面pic2,使用和记录阶段相同的计算方法对pic2进行特征计算,得到特征值r3,比较r2和r3,如果不一致,则该视频不是真实的原始视频。
采用本发明具有如下的有益效果:
(1)通过本发明实施例的视频片段拍摄设备和时间记录方法,可以记录到视频数据流或视频文件中特定片段的真实采集设备和时间。
(2)通过本发明实施例的视频片段拍摄设备和时间验证方法可以在一定时间精度范围内验证视频图像的特征,以确保采集设备和时间和视频画面的对应性,增加视频篡改的难度。
附图说明
图1为本发明实施例的视频片段拍摄设备和时间记录方法的步骤流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明一个或多个实施例所述的区块链或区块链网络,具体可指一个各节点设备通过共识机制达成的、具有分布式数据存储结构的P2P网络系统,该区块链内的账本数据分布在时间上相连的一个个“区块(block)”之内,后一区块可包含前一区块的数据摘要,且根据具体的共识机制(如POW、POS、DPOS或PBFT等)的不同,达成全部或部分节点的数据全备份。
区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(Private
Blockchain)和联盟链(Consortium Blockchain)。此外,还可以有上述多种类型的结合,比如私有链+联盟链、联盟链+公有链等。
其中,去中心化程度最高的是公有链。加入公有链的参与者(也可称为区块链中的节点)可以读取链上的数据记录、参与交易、以及竞争新区块的记账权等。而且,各节点可自由加入或者退出网络,并进行相关操作。
私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,其对节点具有严格限制且节点数量较少。这种类型的区块链更适合于特定机构内部使用。
联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;节点通过授权加入网络并组成利益相关联盟,共同维护区块链运行。
计算设备可将数据构建成区块链所支持的标准的交易(transaction)格式,然后发布至区块链,由区块链中的节点设备对收到的交易进行共识处理,并在达成共识后,由区块链中作为记账节点的节点设备,将这笔交易打包进区块,在区块链中进行持久化存证。
无论区块链采用哪种共识算法,记账节点均可以将接收到的交易打包以生成最新区块,并将生成的最新区块发送至其它节点设备进行共识验证。如果其它节点设备接收到最新区块后,经验证没有问题,可以将该最新区块追加到原有的区块链末尾,从而完成区块链的记账过程。其它节点验证记账节点发来的新的区块的过程中,也可以执行该区块中的包含的交易。
需要说明的是,区块链每产生一个最新区块,则在该最新区块中的交易被执行之后,区块链中这些被执行交易的对应状态会随之发生变化。例如,以账户模型构架的区块链中,外部账户或者智能合约账户的账户状态,通常也会随着交易的执行而发生相应的变化。
又如,区块中的“智能合约调用交易”则用以调用区块链上部署的智能合约,在节点设备对应的EVM(Ethereum Virtual Machine,以太坊虚拟机)内调用上述智能合约以执行上述“智能合约调用交易”,并将执行上述智能合约调用交易后、智能合约账户的账户状态更新在该智能合约的账户中。
在实际应用中,不论是公有链、私有链还是联盟链,都可能提供智能合约(SmartContract)的功能。区块链上的智能合约是在区块链上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。
基于上述的区块链技术基础,参照图1,所示为本发明实施例的视频片段拍摄设备和时间记录方法,包括以下步骤:
S1,创建或选取一个区块链网络;一个区块链网络是由n个区块链节点组成,每个区块链节点承载于一个区块链节点服务器;
S2,在采集视频的电子设备上定义代表自身身份的非对称加密密钥对,并将非对称加密秘钥对与采集视频的电子设备序列号对应关系保存在区块链网络的区块链节点服务器上;
S3,每隔一段时间,将包括当前时间点的视频画面的特征值和基于所述非对称加密密钥对的电子签名的信息存证于区块链网络上;
S4,基于当前时间点和最后一次存证时间点的时间差以及最近一次在区块链网络上存证所生成的区块链交易的特征值,通过可逆变换生成信息并在视频画面中以水印或字幕显示该信息。
本发明一实施例中,S2具体包括:在采集视频的电子设备第一次使用前的任意时间,定义一个代表自身身份的非对称加密秘钥对k1或基于非对称加密秘钥对k1的安全证书,并将该基于非对称加密秘钥对的公钥pub1和采集视频的电子设备的设备序列号sn1之间的对应关系保存在区块链节点服务器上,即通过公钥pub1可以在区块链节点服务器上查找出对应的设备序列号sn1
具体实现过程中,定义一个代表自身身份的非对称加密秘钥对k1或基于非对称加密秘钥对k1的安全证书可以通过软件随机或安全芯片的方式产生。
本发明一实施例中,S3具体包括:
在采集视频的电子设备中指定同步周期值t,代表数据同步的周期长度;存储时间精度值p,代表用户可以查询到视频片段拍摄时间的最小颗粒度,如1秒;
从采集视频的电子设备开始对外传输视频流开始计算,每当历经t时间的整数倍,设备记录当前第一时间time1,并将当前第一时间时刻的视频画面图像进行特征计算,将结果记为r1
将特征计算的结果r1的杂凑值记为hash1,使用秘钥对k1对hash1进行数字签名,得到签名s1,将包括hash1和s1的信息打包为一个数据包;
创建一笔区块链交易trans1,将上述数据包作为trans1的一部分,并将该交易发送至区块链节点服务器;
在该区块链交易成功保存至区块链网络后,从区块链网络获取该区块链交易的特征值h1,并将该区块链交易的特征值存储至采集视频的电子设备中,如采集视频的电子设备已有该区块链交易的特征值则更新存储的值。
具体应用实例中,将在第一时间time1这个时刻的视频画面图像进行特征计算可以包括但不限于,将视频画面图像本身作为特征;将视频画面图像数据的杂凑值作为特征;将视频画面图像数据的其他具有区别性的特点作为特征等。
本发明一实施例中,S4具体包括:
从采集视频的电子设备开始对外输出视频流开始,每过p时间,用当前第二时间减去time1算出时间差Δt1,将h1和Δt1两个值或其可逆变换记为i1;其中变换包括但不限于进行合并、计算、改变进制、更换计数方式、采用等价的图形或文字表示方式等,只要变换后的值可以通过推算得出h1和Δt1即可(即可逆);
从i1具有计算值开始,采集视频的电子设备在输出的视频画面中添加内容为i1的水印或字幕。
本发明一实例例,将包括hash1和s1的信息打包为一个数据包时,数据包也包括r1的信息,即r1也和hash1和s1一块被打包成一个数据包。
本发明一实施例中,将包括hash1和s1的信息打包为一个数据包时,数据包中不包括r1的信息,将r1发送并保存到单独的数据特征存储服务器上。
本发明一实施例中,将h1和Δt1两个值或其可逆变换记为i1的变换过程如下:
S41,指定任意一个字符串作为盐值,例如:“salt”。
S42,指定一个长度为n的字母表(称之为字母表1),例如:“abcdefghijklmn”(长度n为14)。
S43,利用盐值作为随机数种子,对字母表1打乱顺序,得到字母表2。打乱顺序可以采用任意乱序算法,例如Fisher-Yates 算法。
S44,利用进制转换的方法将h1和Δt1分别转换为n进制,其中每一位的数字是从字母表2中得到。例如,假如字母表2为0123456789abcdef,则数字16转换后的结果为f。将h1和Δt1转换为n进制的结果分别记为h1 ' 和Δt1 '
S45,定义一个字符作为分隔符,例如p1,分隔符和字母表2中的任意字符都不一样。
S46,将h1 ' 、p1和Δt1 ' 连接形成一个新的字符串,即得到最终的变换结果。
本发明一实施例中,将h1和Δt1两个值或其可逆变换记为i1的变换过程如下:
S51,定义一个字符作为分隔符,例如p2
S52,将h1、p2、Δt1连接成字符串qr。
S53,利用QR Code的编码规则,将字符串qr编码为二维码图形,即最终的变换结果。
通过以上两种变换方式的举例说明可知,本发明实施例中对于将h1和Δt1两个值或其可逆变换记为i1的变换形式不做限定,只要变换后的值可以通过推算得出h1和Δt1即可。
本发明实施例同时提供了一种视频片段拍摄设备和时间验证方法,用于验证通过上述实施例记录的视频片段拍摄设备和时间,包括
识读待验证视频画面中的水印或字幕,采用逆向变换得到区块链交易特征值和时间差;
校验上述区块链交易特征值和时间差的合理性,进一步在区块链节点服务器中获取对应记录的画面特征值和数字签名,校验记录的画面特征值和待验证视频画面的特征值的一致性,基于数字签名推算出采集视频的电子设备的序列号,最终验证采集视频的电子设备和时间的真实性。
本发明一实施例中,一种视频片段拍摄设备和时间验证方法,具体包括以下步骤:
当需要验证视频片段的拍摄设备与时间时,找到待验证的该时间点的视频画面pic1,识读该时间点视频画面上的水印或字幕,得到水印或字幕上显示的值,记为i2
基于i2值进行反向变换,计算出变换的初始值h2和Δt2,如果无法得出合理的结果,例如:i2的格式和变换后应有的格式不相符;计算过程中出现了非法的运算;计算出的h2和Δt2为负数等一切不合理的情况,则代表该视频的水印或字幕不真实,该视频不是真实的原始视频;
根据交易trans2的数据包中的数字签名s2和hash2,计算出数字签名签署者的公钥pub2,通过在区块链节点服务器上查找pub2和设备的对应关系推断出来该采集视频的电子设备的序列号,得到该时间点视频画面真实的拍摄设备。
本发明一实施例中,视频片段拍摄设备和时间验证方法进一步包括:计算出变换的初始值h2和Δt2,如果得出合理的结果,继续在区块链节点服务器上查找具有h2特征值的交易trans2,如不存在此交易,则代表该视频的水印或字幕不真实,或者该视频的拍摄设备或时间不真实,该视频不是真实的原始视频。
本发明一实施例中,计算出变换的初始值h2和Δt2采用与 S41~S46 对应的逆变换,包括以下步骤:
S41’,使用和S41中相同的盐值,例如:“salt”;
S42’,使用和S43中相同的方式计算出字母表2。
S43’,变换结果记为i 2 ,使用和S45中相同的分隔符p1,将i2分割出两个值,按照前后顺序记为h2 '和Δt2 '
S44’,利用进制转换的方法分别将h2 '和Δt2 '转换为十进制,其中转换前的每一位字母所代表的含义是从字母表2中得到。例如,假如字母表2为0123456789abcdef,则数字f转换后的结果为16。将h2 '和Δt2 '转换为十进制的结果分别记为h2和Δt2,即得到最终的反向变换结果。
本发明一实施例中,计算出变换的初始值h2和Δt2采用与 S51~S53 对应的逆变换,包括以下步骤:
S51’,使用和S721中相同的分隔符p2;
S52’,变换结果记为i2,利用QR Code的解码规则,将i2解码为字符串qr2
S53’,以分隔符p2 为特征,将字符串qr2拆解为h2、p2、Δt2三部分,其中h2和Δt2即为反向变换结果
本发明一实施例中,视频片段拍摄设备和时间验证方法进一步包括:如存在此交易,则从trans2交易中提取出该交易被记录的时间time 2 和包含的数据包,并对数据包进行解析,得到数据包中的哈希值hash 2 及其签名s2和该时间点记录的图像特征r2,如果数据包中不包含r2,从数据特征存储服务器中下载对应的特征r2,从pic1所在时刻倒推Δt2时间,找到time2时刻的图像画面pic2,使用和记录阶段相同的计算方法对pic2进行特征计算,得到特征值r3,比较r2和r3,例如:如果特征为杂凑值,可直接比较值是否相等;如果采用画面图像本身作为特征值,可直接通过人的视觉对比画面内容。如果不一致,则该视频不是真实的原始视频。如一致,则该视频在time2时刻的时间是真实的。可以进一步从time2时刻播放Δt2时间,通过人类视觉判断其画面连续性和合理性,进一步判断time2+Δt2时刻的视频的时间的真实性。如果t值足够短,真实性会足够高。
本发明又一实施例中,为了提升对水印或字幕进行破坏的难度,针对对采集视频的电子设备在输出的视频画面中添加内容为i1的水印或字幕,可以在视频的不同时间点,在视频画面的不同位置显示该水印或字幕,或针对不同的时间点采用不同的字体、不同的上述可逆变换的方式。
由于明文水印或字幕比较容易发现,从而使得人们可以采取水印切割、水印遮挡等方式,较容易地破解视频的水印或字幕。因此,本发明又一实施例中,针对对采集视频的电子设备在输出的视频画面中添加内容为i1的水印或字幕,使用盲水印的方式。具体地,上述基于i1为所述视频画面添加盲水印,包括:
将待添加水印的图像进行二维傅里叶变换,得到一张频域图;
基于i1生成原始水印图片;
取一个随机码,生成乱序规则,将所述原始水印图片像素按所述乱序规则打乱;将打乱后的水印图片进行二维傅里叶变换,并根据预设的叠加强度系数,叠加在上述变换得到的频域图上;
将叠加所得的、含水印的频域图进行二维傅里叶逆变换,得到一张含盲水印的图像。
基于盲水印算法处理后的目标画面,前端无感知,降低了警觉性,降低拆除水印的概率。
本发明又一实施例中,由于选取的t值很小,视频画面在t的整数倍之间的变化很小,Δt1和Δt2接近于0,故在本发明中所有提到Δt1或Δt2的步骤中均省略Δt1或Δt2或假定其为0,在可逆变换中省略对Δt1的变换并指定分隔符为空,并对应修改反向变换的方法。
在本说明书提供的一个或多个实施方式中的采集视频的电子设备,可以是独立设备,也可以是设置于任一设备内部的功能模块,在此不作限定。
在本说明书提供的一个或多个实施方式中所述的区块链节点服务器,是逻辑上的,只要该设备能够运行区块链节点相关软件程序并对外通信即可,可以是独立服务器,也可以是虚拟计算机,也可以是设置于任一设备内部的功能模块,在此不作限定。
在本说明书提供的一个或多个实施方式中所述的数据特征存储服务器,是逻辑上的,只要该设备能够存储数据特征并对外通信即可,可以是独立服务器,也可以利用其他已有服务器添加部分软件或硬件以同时充当数据特征存储服务器,也可以是虚拟计算机,也可以是设置于任一设备内部的功能模块,在此不作限定。
本领域的技术人员可从实际的需求出发,针对所述可逆变换开发出多种的具体计算方式和代码实现,本实施方式对此不作限定。
本实施方式并不限定在区块链上记录所述数据包的具体过程,打包数据包并提交包含所述数据包的区块链交易的方式只是一种可行的实现方式。也可以采用调用智能合约、基于某种特定区块链网络的存储功能写入相关数据包等其他方式,将上述数据包记录在区块链网络中。
应当理解,本文所述的示例性实施例是说明性的而非限制性的。尽管结合附图描述了本发明的一个或多个实施例,本领域普通技术人员应当理解,在不脱离通过所附权利要求所限定的本发明的精神和范围的情况下,可以做出各种形式和细节的改变。

Claims (11)

1.一种视频片段拍摄设备和时间记录方法,其特征在于,包括:
创建或选取一个区块链网络;
在采集视频的电子设备上定义代表自身身份的非对称加密密钥对,并将所述非对称加密秘钥对与采集视频的电子设备序列号对应关系保存在所述区块链网络的区块链节点服务器上;
每隔一段时间,将包括当前时间点的视频画面的特征值和基于所述非对称加密密钥对的电子签名的信息存证于区块链网络上;其中基于所述非对称加密秘钥对的电子签名为将当前第一时间时刻的视频画面图像进行特征计算,将特征计算的结果的杂凑值记为hash1,使用非对称加密秘钥对hash1进行数字签名得到;
基于当前时间点和最后一次存证时间点的时间差以及最近一次在区块链网络上存证所生成的区块链交易的特征值,通过可逆变换生成信息并在视频画面中以水印或字幕显示该信息;
其中每隔一段时间,将包括当前时间点的视频画面的特征值和基于所述非对称加密密钥对的电子签名的信息存证于区块链网络上,具体包括:
在采集视频的电子设备中指定同步周期值t,代表数据同步的周期长度;存储时间精度值p,代表用户可以查询到视频片段拍摄时间的最小颗粒度;
从采集视频的电子设备开始对外传输视频流开始计算,每当历经t时间的整数倍,设备记录当前第一时间time1,并将当前第一时间时刻的视频画面图像进行特征计算,将结果记为r1;
将特征计算的结果r1的杂凑值记为hash1,使用秘钥对k1对hash1进行数字签名,得到签名s1,将包括hash1和s1的信息打包为一个数据包;
创建一笔区块链交易trans1,将上述数据包作为trans1的一部分,并将该交易发送至区块链节点服务器;
在该区块链交易成功保存至区块链网络后,从区块链网络获取该区块链交易的特征值h1,并将该区块链交易的特征值存储至采集视频的电子设备中,如采集视频的电子设备已有该区块链交易的特征值则更新存储的值;
基于当前时间点和最后一次存证时间点的时间差以及最近一次在区块链网络上存证所生成的区块链交易的特征值,通过可逆变换生成信息并在视频画面中以水印或字幕显示该信息,具体包括:
从采集视频的电子设备开始对外输出视频流开始,每过p时间,用当前第二时间减去time1算出时间差Δt1,将h1和Δt1两个值或其可逆变换记为i1;
从i1具有计算值开始,采集视频的电子设备在输出的视频画面中添加内容为i1的水印或字幕;
其中将h1和Δt1两个值或其可逆变换记为i1的变换过程如下:
S41,指定任意一个字符串作为盐值;
S42,指定一个长度为n的字母表,称之为字母表1;
S43,利用盐值作为随机数种子,对字母表1打乱顺序,得到字母表2;
S44,利用进制转换的方法将h1和Δt1分别转换为n进制,其中每一位的数字是从字母表2中得到,将h1和Δt1转换为n进制的结果分别记为h1'和Δt1';
S45,定义一个字符p1作为分隔符,分隔符和字母表2中的任意字符都不一样;
S46,将h1'、p1和Δt1'连接形成一个新的字符串,即得到最终的变换结果;
或者将h1和Δt1两个值或其可逆变换记为i1的变换过程如下:
S51,定义一个字符p2作为分隔符;
S52,将h1、p2、Δt1连接成字符串qr;
S53,利用QR Code的编码规则,将字符串qr编码为二维码图形,即最终的变换结果。
2.如权利要求1 所述的视频片段拍摄设备和时间记录方法,其特征在于,在采集视频的电子设备上定义代表自身身份的非对称加密密钥对,并将所述非对称加密秘钥对与采集视频的电子设备序列号对应关系保存在所述区块链网络的区块链节点服务器上,具体包括:
在采集视频的电子设备第一次使用前的任意时间,定义一个代表自身身份的非对称加密秘钥对k1或基于非对称加密秘钥对k1的安全证书,并将该基于非对称加密秘钥对的公钥pub1和采集视频的电子设备的设备序列号sn1之间的对应关系保存在区块链节点服务器上。
3.如权利要求2所述的视频片段拍摄设备和时间记录方法,其特征在于,定义一个代表自身身份的非对称加密秘钥对k1或基于非对称加密秘钥对k1的安全证书为通过软件随机或安全芯片的方式产生。
4.如权利要求1所述的视频片段拍摄设备和时间记录方法,其特征在于,将该时刻的视频画面图像进行特征计算为将视频画面图像本身作为特征。
5.如权利要求1所述的视频片段拍摄设备和时间记录方法,其特征在于,将该时刻的视频画面图像进行特征计算为将视频画面图像数据的杂凑值作为特征。
6.如权利要求1所述的视频片段拍摄设备和时间记录方法,其特征在于,将包括hash1和s1的信息打包为一个数据包时,数据包也包括r1的信息。
7.如权利要求1所述的视频片段拍摄设备和时间记录方法,其特征在于,将包括hash1和s1的信息打包为一个数据包时,数据包中不包括r1的信息,将r1发送并保存到单独的数据特征存储服务器上。
8.一种视频片段拍摄设备和时间验证方法,用于验证通过权利要求1至7 任一记录的视频片段拍摄设备和时间,其特征在于,包括:
识读待验证视频画面中的水印或字幕,采用逆向变换得到区块链交易特征值和时间差;
校验上述区块链交易特征值和时间差的合理性,进一步在区块链节点服务器中获取对应记录的画面特征值和数字签名,校验记录的画面特征值和待验证视频画面的特征值的一致性,基于数字签名推算出采集视频的电子设备的序列号,最终验证采集视频的电子设备和时间的真实性。
9.如权利要求8所述的视频片段拍摄设备和时间验证方法,其特征在于,具体包括以下步骤:当需要验证视频片段的拍摄设备与时间时,找到待验证的该时间点的视频画面pic1,识读该时间点视频画面上的水印或字幕,得到水印或字幕上显示的值,记为i2;
基于i2值进行反向变换,计算出变换的初始值h2和Δt2,如果无法得出合理的结果,则代表该视频的水印或字幕不真实,该视频不是真实的原始视频;
根据交易trans2的数据包中的数字签名s2和杂凑值hash2,计算出数字签名签署者的公钥pub2,通过在区块链节点服务器上查找pub2和设备的对应关系推断出来该采集视频的电子设备的序列号,得到该时间点的视频画面真实的拍摄设备。
10.如权利要求9所述的视频片段拍摄设备和时间验证方法,其特征在于,进一步包括:计算出变换的初始值h2和Δt2,如果得出合理的结果,继续在区块链节点服务器上查找具有h2特征值的交易trans2,如不存在此交易,则代表该视频的水印或字幕不真实,或者该视频的拍摄设备或时间不真实,该视频不是真实的原始视频。
11.如权利要求10所述的视频片段拍摄设备和时间验证方法,其特征在于,进一步包括:如存在此交易,则从trans2交易中提取出该交易被记录的时间time2和包含的数据包,并对数据包进行解析,得到数据包中的哈希值hash2及其签名s2和该时间点记录的图像特征r2,如果数据包中不包含r2,从数据特征存储服务器中下载对应的特征r2;从pic1所在时刻倒推Δt2时间,找到time2时刻的图像画面pic2,使用和记录阶段相同的计算方法对pic2进行特征计算,得到特征值r3,比较r2和r3,如果不一致,则该视频不是真实的原始视频。
CN202111464651.2A 2021-12-03 2021-12-03 视频片段拍摄设备和时间记录方法以及对应的验证方法 Active CN113872772B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111464651.2A CN113872772B (zh) 2021-12-03 2021-12-03 视频片段拍摄设备和时间记录方法以及对应的验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111464651.2A CN113872772B (zh) 2021-12-03 2021-12-03 视频片段拍摄设备和时间记录方法以及对应的验证方法

Publications (2)

Publication Number Publication Date
CN113872772A CN113872772A (zh) 2021-12-31
CN113872772B true CN113872772B (zh) 2022-07-15

Family

ID=78985722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111464651.2A Active CN113872772B (zh) 2021-12-03 2021-12-03 视频片段拍摄设备和时间记录方法以及对应的验证方法

Country Status (1)

Country Link
CN (1) CN113872772B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116155629B (zh) * 2023-04-20 2023-07-18 南京鹤梦信息技术有限公司 一种区块链时间认证方法、装置、系统、计算机可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110602455A (zh) * 2019-09-10 2019-12-20 腾讯科技(深圳)有限公司 视频存储系统、视频处理方法、装置、设备及存储介质
US10789339B1 (en) * 2019-05-20 2020-09-29 Alibaba Group Holding Limited Copyright protection based on hidden copyright information
CN112073807A (zh) * 2020-11-11 2020-12-11 支付宝(杭州)信息技术有限公司 基于区块链的视频数据的处理方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110233739B (zh) * 2017-11-15 2020-12-18 财付通支付科技有限公司 身份管理方法、装置及存储介质
CN111093100B (zh) * 2018-10-23 2021-08-24 能来(上海)信息技术有限公司 一种基于区块链的视频溯源方法
EP3719687A1 (de) * 2019-04-03 2020-10-07 Alessandro Giuliano Artemisio Verfahren, aufnahmegerät und computerprogramm zur verifizierung von bild- und/oder audiodaten
SG11202002417PA (en) * 2019-05-20 2020-04-29 Alibaba Group Holding Ltd Identifying copyrighted material using copyright information embedded in tables
CN111460526B (zh) * 2020-04-17 2021-10-12 支付宝(杭州)信息技术有限公司 基于区块链的影像数据记录、获取、验证方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10789339B1 (en) * 2019-05-20 2020-09-29 Alibaba Group Holding Limited Copyright protection based on hidden copyright information
CN110602455A (zh) * 2019-09-10 2019-12-20 腾讯科技(深圳)有限公司 视频存储系统、视频处理方法、装置、设备及存储介质
CN112073807A (zh) * 2020-11-11 2020-12-11 支付宝(杭州)信息技术有限公司 基于区块链的视频数据的处理方法和装置

Also Published As

Publication number Publication date
CN113872772A (zh) 2021-12-31

Similar Documents

Publication Publication Date Title
US11010855B2 (en) Method and apparatus for protecting digital photos from alteration
Shih Digital watermarking and steganography: fundamentals and techniques
SE537697C2 (sv) Förfarande för att skapa signaler för tidsstämpling av dokument och förfarande för tidsstämpling av dokument
CN109472337B (zh) 一种基于随机特征的标签防伪方法和装置
CN112073807B (zh) 基于区块链的视频数据的处理方法和装置
CN111581404B (zh) 基于区块链技术的图文稿件全流程留痕的方法和系统
CN110457873A (zh) 一种水印嵌入与检测方法及装置
CN113872772B (zh) 视频片段拍摄设备和时间记录方法以及对应的验证方法
CN111177795A (zh) 一种利用区块链识别视频篡改的方法、装置和计算机存储介质
CN109785222A (zh) 一种用于网页的信息快速嵌入和提取的方法
Dittmann et al. Combined video and audio watermarking: Embedding content information in multimedia data
CN117395474B (zh) 一种本地存储的防篡改的视频取证存证方法、系统
CN109166193B (zh) 基于时间、位置、随机数和条形码的拍照打卡或取证方法
CN117115718B (zh) 政务视频数据的处理方法、系统及计算机可读存储介质
CN112055173A (zh) 一种利用区块链防止篡改监控视频的方法
CN109101832A (zh) 一种基于区块链的遗嘱电子数据管理方法
KR102516548B1 (ko) 블록체인 기반의 영상 위변조 방지 시스템 및 방법과 이를 위한 컴퓨터 프로그램
EP4302222A1 (en) Method and system for registering digital documents
CN109271811B (zh) 一种基于群签名的电子物证防篡改存储方法
CN113709215A (zh) 基于ipfs的监控视频识别真伪方法及系统
CN115811585A (zh) 场景切换的识别方法、装置、设备、介质及计算机产品
KR102275868B1 (ko) 비디오 데이터의 위/변조 방지 장치 및 방법
CN106101746B (zh) 一种数字视频内容安全认证的方法及其系统
Munawar et al. Forged Video Detection Using Deep Learning: A SLR
Raskar Atom Structure Analysis Approach for Video Forgery Identification

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