CN114065255A - Video evidence storage method, verification method and system based on block chain - Google Patents

Video evidence storage method, verification method and system based on block chain Download PDF

Info

Publication number
CN114065255A
CN114065255A CN202111397848.9A CN202111397848A CN114065255A CN 114065255 A CN114065255 A CN 114065255A CN 202111397848 A CN202111397848 A CN 202111397848A CN 114065255 A CN114065255 A CN 114065255A
Authority
CN
China
Prior art keywords
video
source
feature template
key frame
template
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.)
Pending
Application number
CN202111397848.9A
Other languages
Chinese (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.)
Shanghai Molian Information Technology Co ltd
Original Assignee
Shanghai Molian Information 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 Shanghai Molian Information Technology Co ltd filed Critical Shanghai Molian Information Technology Co ltd
Priority to CN202111397848.9A priority Critical patent/CN114065255A/en
Publication of CN114065255A publication Critical patent/CN114065255A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

The invention provides a video evidence storing method, a video evidence verifying method and a video evidence storing system based on a block chain. The video evidence storing method based on the block chain comprises the following steps: acquiring a source video; sampling and selecting key frames of the source video; extracting a key frame feature template from the selected key frame; and uploading the key frame feature template to a blockchain network as a source feature template, wherein the source feature template is used for verifying whether a target video positioned outside the blockchain network is credible.

Description

Video evidence storage method, verification method and system based on block chain
Technical Field
The invention mainly relates to video evidence storage, in particular to a video evidence storage method, a video evidence storage verification method and a video evidence storage verification system based on a block chain.
Background
The block chain is essentially a distributed shared account book and has the characteristics of decentralization, difficulty in data tampering, impossibility of counterfeiting, safety, credibility, traceability, multi-party collaborative consensus and the like. The block chain verifies and stores data by using an encryption block structure, and newly adds and updates data by using a distributed node consensus algorithm, thereby laying a foundation for credibility, safety and reliability for the block chain.
The block chain data storage certificate is used for storing data to a block chain, so that the purposes of tamper resistance, traceability and trustable data source are achieved. The data may be in the form of any file, such as text, video, audio pictures, etc. However, since video files are typically large, directly storing the video files to the blockchain would consume transmission resources and storage resources of the blockchain significantly. In addition, transcoding, scaling and other processing are commonly existing in the transmission process of the video, and even if the same video is used, the binary system cannot keep consistency. Therefore, some frames of the uplink video and some frames of the non-uplink video are different, which results in no way of determining whether the source data is reliable.
Disclosure of Invention
The invention aims to provide a video evidence storing method, a verification method and a system based on a block chain, which can reliably and efficiently store video evidence.
In order to solve the technical problem, the invention provides a video evidence storing method based on a block chain, which comprises the following steps: acquiring a source video; sampling and selecting key frames of the source video; extracting a key frame feature template from the selected key frame; and uploading the key frame feature template to a blockchain network as a source feature template, wherein the source feature template is used for verifying whether a target video positioned outside the blockchain network is credible.
The invention also provides a video evidence storing method based on the block chain, which comprises the following steps: acquiring a source video; sampling and selecting key frames of the source video; extracting a key frame feature template from the selected key frame, and performing hash calculation on the key frame feature template to obtain a first hash value; and uploading the first hash value to a blockchain network, wherein the first hash value is used for verifying whether a source feature template outside the blockchain network is credible.
In an embodiment of the present invention, the step of acquiring the source video includes capturing a video using an image capturing apparatus.
In an embodiment of the present invention, the method further includes uploading the key frame feature template as the source feature template to a server located outside the blockchain network.
In an embodiment of the present invention, the method further includes generating a target video based on the source video and saving the target video in a server located outside the blockchain network.
The invention also discloses a video evidence storing method based on the block chain, which comprises the following steps: acquiring a source video; sampling and selecting key frames of the source video; extracting a key frame feature template from the selected key frame; generating a target video based on the source video and storing the target video in a server; and uploading the key frame feature template serving as a source feature template to a block chain network.
The invention also provides a video evidence storing method based on the block chain, which comprises the following steps: acquiring a source video; sampling and selecting key frames of the source video; extracting a key frame feature template from the selected key frame; generating a target video based on the source video and storing the target video in a server; uploading the key frame feature template serving as a source feature template to a server; and calculating a first hash value of the key frame characteristic template, and uploading the first hash value to a block chain network.
The invention also provides a video verification method based on the block chain, which comprises the following steps: acquiring a source feature template from a blockchain network, wherein the source feature template is a key frame feature template from a source video; acquiring a target video from a position outside the block chain network, sampling and selecting key frames of the target video, and extracting a key frame feature template from the selected key frames to serve as a target feature template; and comparing the source characteristic template with the target characteristic template, and verifying whether the target video is credible according to a comparison result.
In an embodiment of the present invention, the step of comparing the source feature template with the target feature template and verifying whether the target video is authentic according to the comparison result includes: acquiring the similarity between the source characteristic template and the target characteristic template; and comparing the similarity with a threshold, if the similarity is greater than or equal to the threshold, considering the target video to be credible, otherwise, considering the target video to be untrustworthy.
The invention also provides a video verification method based on the block chain, which comprises the following steps: acquiring a first hash value from a block chain network, wherein the first hash value is obtained by performing hash calculation on a key frame characteristic template of a source video; acquiring a source characteristic template to be verified from a position outside the block chain network, and performing hash calculation on the source characteristic value template to obtain a second hash value; and comparing whether the first hash value and the second hash value are consistent to verify whether the source feature template is a key frame feature template of the source video.
In an embodiment of the present invention, after verifying that the source feature template is the key frame feature template of the source video, the method further includes: acquiring a target video from a position outside the block chain network; sampling and selecting key frames of the target video, and extracting a key frame characteristic template from the selected key frames to serve as a target characteristic template; and comparing the source characteristic template with the target characteristic template, and verifying whether the target video is credible according to a comparison result.
In an embodiment of the present invention, the step of comparing the source feature template with the target feature template and verifying whether the target video is authentic according to the comparison result includes: acquiring the similarity between the source characteristic template and the target characteristic template; and comparing the similarity with a threshold, if the similarity is greater than or equal to the threshold, considering the target video to be credible, otherwise, considering the target video to be untrustworthy.
The invention also provides a video storage system based on the block chain, which comprises a memory and a processor. The memory is used to store instructions that are executable by the processor. The processor is configured to execute the instructions to implement the method as previously described.
The invention also provides a video verification system based on the block chain, which comprises a memory and a processor. The memory is used to store instructions that are executable by the processor. The processor is configured to execute the instructions to implement the method as described above.
The invention also proposes a computer storage medium having stored computer program code which, when executed by a processor, implements the method as described above.
Compared with the prior art, the method and the system select the key frames from the video when the video is stored with the evidence, extract the key frame characteristic template from the key frames and upload the key frame characteristic template to the block chain network. And when the video is verified, verifying whether the key frame feature template at a position outside the blockchain network is tampered by using the key frame feature template in the blockchain network. This way it can be reliably verified whether the video has been tampered with. In addition, the key frame characteristic template is subjected to hash operation, and then the hash value is uploaded to the block chain network, so that the data volume of the uplink can be greatly saved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the application and together with the description serve to explain the principle of the application. In the drawings:
FIG. 1 is a schematic diagram of an implementation environment of an embodiment of the present application.
Fig. 2 is a block diagram of an image capturing apparatus according to an embodiment of the present application.
Fig. 3 is a flowchart of video uploading in a video evidence storing method according to an embodiment of the present application.
Fig. 4 is a video processing flowchart in a video evidence storing method according to an embodiment of the present application.
Fig. 5 is a flowchart of a video uplink procedure in a video evidence storing method according to an embodiment of the present application.
Fig. 6 is another exemplary video uplink flow diagram of a video verification method according to an embodiment of the present application.
Fig. 7 is a video evidence storing flowchart according to an embodiment of the present application.
Fig. 8 is a video evidence storing flowchart according to another embodiment of the present application.
Fig. 9 is a flow chart of video verification according to an embodiment of the present application.
Fig. 10 is a flow diagram of video verification according to another embodiment of the present application.
Fig. 11 is a block diagram of an authentication device according to an embodiment of the present application.
Detailed Description
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings used in the description of the embodiments will be briefly introduced below. It is obvious that the drawings in the following description are only examples or embodiments of the application, from which the application can also be applied to other similar scenarios without inventive effort for a person skilled in the art. Unless otherwise apparent from the context, or otherwise indicated, like reference numbers in the figures refer to the same structure or operation.
As used in this application and the appended claims, the terms "a," "an," "the," and/or "the" are not intended to be inclusive in the singular, but rather are intended to be inclusive in the plural unless the context clearly dictates otherwise. In general, the terms "comprises" and "comprising" merely indicate that steps and elements are included which are explicitly identified, that the steps and elements do not form an exclusive list, and that a method or apparatus may include other steps or elements.
The relative arrangement of the components and steps, the numerical expressions, and numerical values set forth in these embodiments do not limit the scope of the present application unless specifically stated otherwise. Meanwhile, it should be understood that the sizes of the respective portions shown in the drawings are not drawn in an actual proportional relationship for the convenience of description. Techniques, methods, and apparatus known to those of ordinary skill in the relevant art may not be discussed in detail but are intended to be part of the specification where appropriate. In all examples shown and discussed herein, any particular value should be construed as merely illustrative, and not limiting. Thus, other examples of the exemplary embodiments may have different values. It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, further discussion thereof is not required in subsequent figures.
It should be noted that the terms "first", "second", and the like are used to define the components, and are only used for convenience of distinguishing the corresponding components, and the terms have no special meanings unless otherwise stated, and therefore, the scope of protection of the present application is not to be construed as being limited. Further, although the terms used in the present application are selected from publicly known and used terms, some of the terms mentioned in the specification of the present application may be selected by the applicant at his or her discretion, the detailed meanings of which are described in relevant parts of the description herein. Further, it is required that the present application is understood not only by the actual terms used but also by the meaning of each term lying within.
It will be understood that when an element is referred to as being "on," "connected to," "coupled to" or "contacting" another element, it can be directly on, connected or coupled to, or contacting the other element or intervening elements may be present. In contrast, when an element is referred to as being "directly on," "directly connected to," "directly coupled to" or "directly contacting" another element, there are no intervening elements present. Similarly, when a first component is said to be "in electrical contact with" or "electrically coupled to" a second component, there is an electrical path between the first component and the second component that allows current to flow. The electrical path may include capacitors, coupled inductors, and/or other components that allow current to flow even without direct contact between the conductive components.
Embodiments of the present application describe video credentialing and validation based on blockchains. Video crediting includes uploading data associated with the video into the blockchain, and video verification includes verifying whether the video or video-associated data elsewhere is authentic or has been tampered with using the data on the blockchain.
FIG. 1 is a schematic diagram of an implementation environment of an embodiment of the present application. Referring to fig. 1, an implementation environment 100 typically includes a camera device 110, a server 120, a blockchain network 130, and a communication network 140. The camera device 110 is used to acquire video, referred to herein as source video. For example, the image pickup apparatus 110 performs real-time shooting, or starts and ends shooting in accordance with a received shooting task instruction. The server 120 essentially provides a video depository system deployment container. For example, a target video to be verified may be stored in the server. The target video is a video associated with the source video. Typically, the target video is a trusted replica that is generated based on the source video. Although the binary contents of the target video and the source video may be different due to transcoding, scaling, and the like in the transmission copying process, the target video is still credible in this case. In another case, the target video may be generated by clipping, tampering, destroying, etc. the source video, and thus the target video is not trusted. In one embodiment, the server 120 is a self-built server, and in another embodiment, the server 120 is a server on a public platform, such as a cloud server. The server 120 may be a single server or a cluster of servers. Server 120 internally deploys a data repository 122 for storing and accessing data. For example, the communication network 140 may include an ethernet network and a cellular network. The blockchain network 130 primarily provides on-chain storage and querying functions for video-associated data. The image pickup apparatus 110 is connected to the block chain network 130. The imaging device 110, the server 120, and the blockchain network 130 access the communication network 140 to communicate with each other. For example, the camera device 110 communicates with the blockchain network 130 through the communication network 140 to realize uplink. In some embodiments, the camera device 110 is connected to the communication network 140 through a built-in ethernet card or internet of things module. In one embodiment, the server 120 and the blockchain network 130 are independent, with the server 120 being outside of the blockchain network 130. Data in the server 120, such as the target video, may be clipped, tampered with, or corrupted.
Fig. 2 is a block diagram of an image capturing apparatus according to an embodiment of the present application. Referring to fig. 2, the image pickup apparatus 110 includes an internal communication bus 111, a processor 112, a camera 113, a Read Only Memory (ROM)114, a Random Access Memory (RAM)116, and a communication port 117. The internal communication bus 111 can realize data communication among the components of the image pickup apparatus. The processor 112 may execute programs to control device workflow. In some embodiments, processor 112 may be comprised of one or more processors. The camera 113 may capture to obtain a video stream. The communication port 117 can enable data communication of the image pickup apparatus 110 with the outside. In some embodiments, the camera device 110 may send and receive information and data from a network through the communication port 117. The image capture device 110 may also include various forms of program storage units and data storage units, such as a read only memory 114 and a random access memory 116, capable of storing various data files for computer processing and/or communication use, as well as possible program instructions executed by the processor 112, such as a video feature extraction program 115, a blockchain application program 118. The blockchain application 118 encapsulates the data into an uplink message and uploads it to the blockchain node after being digitally signed.
Fig. 3 is a flowchart of video uploading in a video evidence storing method according to an embodiment of the present application. Referring to fig. 3, in step 301, a camera device captures a source video. For example, the camera device 110 captures a video according to the task instruction, and obtains a source video. Source video is a continuous sequence of images consisting of several frames per second. In step 302, a target video stored at a server is generated based on a source video. In one example, the camera device 110 uploads the source video to the server 120 as the target video via the communication network 140 through its communication port 117. In another example, the camera device 110 processes the source video, converts the source video into the target video, and uploads the target video to the server 120 via the communication network 140. In step 303, the server saves the target video to a data store. In one example, the server 120 saves the target video received over the communication network 140 directly into the data store 122. In another example, the server 120 processes the target video received over the communication network 140 and then saves to the data store 122.
Fig. 4 is a video processing flowchart in a video evidence storing method according to an embodiment of the present application. Referring to fig. 4, step 401 and step 404 may be performed by the image capture device 110, and step 405 may be performed by the server 120. In step 401, a camera device captures a source video. At step 402, the sampling selects key frames of the source video. The sampling selection key frame comprises a plurality of key frames and needs to reach the number required by verification. In one embodiment, a frame may be selected as a key frame of the source video at predetermined time intervals (e.g., 1 second). In one embodiment, the time interval between key frames is fixed. In another embodiment, the time interval between key frames varies. At step 403, a key frame feature template is extracted from the selected key frame. Here, the key frame feature template is a high-dimensional vector reflecting the key frame features. A high-dimensional vector is a vector that includes many dimensions. For example, key frame features may be described by composing high-dimensional vectors with thousands of dimensions. In one embodiment, the key frame image may be used as an input artificial intelligence algorithm, and a high-dimensional vector reflecting the features of the key frame may be output as a key frame feature template. At step 404, the key frame feature template is uploaded to the server. For example, the camera device 110 uploads the key frame feature template to the server 120 via the communication network 140 through its communication port 117. At step 405, the server saves the key frame feature template to a data store. For example, the server 120 saves the key frame feature templates received over the communication network 140 to the data store 122.
Fig. 5 is a flowchart of a video uplink procedure in a video evidence storing method according to an embodiment of the present application. Referring to fig. 5, steps 501 and 504 may be performed by the camera device 110, and step 505 may be performed by the blockchain network 130. In step 501, a camera device captures a source video. At step 502, the sampling selects key frames of the source video. The sampling selection key frame comprises a plurality of key frames and needs to reach the number required by verification. In one embodiment, a frame may be selected as a key frame of the source video at predetermined time intervals (e.g., 1 second). In one embodiment, the time interval between key frames is fixed. In another embodiment, the time interval between key frames varies. At step 503, a key frame feature template is extracted from the selected key frames. Here, the key frame feature template is a high-dimensional vector reflecting the key frame features. In one embodiment, the key frame image may be used as an input to an artificial intelligence algorithm, and a high-dimensional vector reflecting the features of the key frame may be output as a key frame feature template. At step 504, the key frame feature template is uploaded to the blockchain network as a source feature template. For example, the camera device 110 uploads the key frame feature template to the blockchain network 130 through its communication port 117. Here, the blockchain application 118 encapsulates the key frame feature template data into an uplink packet and uploads the uplink packet to the blockchain node after being digitally signed. At step 505, the blockchain network saves the source feature template into a distributed ledger. For example, blockchain network 130 saves the received source feature template into distributed ledger 132. In the video verification method that follows, the source signature template will be used to verify whether the target video located outside the blockchain network 130 is authentic.
Fig. 6 is another exemplary video uplink flow diagram of a video verification method according to an embodiment of the present application. Referring to fig. 6, step 601-605 may be performed by the image capture device 110, and step 606 may be performed by the blockchain network 130. In step 601, a camera device captures a source video. At step 602, the sampling selects key frames of the source video. The sampling selection key frame comprises a plurality of key frames and needs to reach the number required by verification. In one embodiment, a frame may be selected as a key frame of the source video at predetermined time intervals (e.g., 1 second). In one embodiment, the time interval between key frames is fixed. In another embodiment, the time interval between key frames varies. At step 603, a key frame feature template is extracted from the selected key frames. Here, the key frame feature template is a high-dimensional vector reflecting the key frame features. In one embodiment, the key frame image may be used as an input artificial intelligence algorithm, and a high-dimensional vector reflecting the features of the key frame may be output as a key frame feature template. In step 604, a Hash (Hash) is performed on the extracted key frame feature template to obtain a first Hash value. Hash (Hash) computation is a typical way of computing the current blockchain network. It is understood that the calculation here may be replaced by other calculation methods for guaranteeing data integrity. In step 605, the first hash value of the key frame feature template is uploaded to the blockchain network. Here, the blockchain application 118 encapsulates the first hash value data into an uplink packet and uploads the uplink packet to the blockchain node after being digitally signed. For example, the camera device 110 uploads a first hash value of the key frame feature template to the blockchain network 130 through its communication port 117. In step 606, the blockchain network saves the first hash value of the key frame feature template into the distributed ledger. For example, blockchain network 130 saves the first hash value of the received key frame feature template into distributed ledger 132. In a subsequent video verification method, the first hash value will be used to verify whether the source feature template located outside the blockchain network is authentic.
Fig. 7 is a video evidence storing flowchart according to an embodiment of the present application. This process may be implemented at the imaging device 110 and may be partially instantiated, for example, as the video feature extraction program 115 of fig. 2, stored in the ROM115, and loaded into the processor 112 for execution. At step 701, a source video is acquired. At step 702, the sampling selects key frames of the source video. The sampling selection key frame comprises a plurality of key frames and needs to reach the number required by verification. In one embodiment, a frame may be selected as a key frame of the source video at predetermined time intervals (e.g., 1 second). In one embodiment, the time interval between key frames is fixed. In another embodiment, the time interval between key frames varies. In step 703, a key frame feature template is extracted from the selected key frames. Here, the key frame feature template is a high-dimensional vector reflecting the key frame features. In one embodiment, the key frame image may be used as an input artificial intelligence algorithm, and a high-dimensional vector reflecting the features of the key frame may be output as a key frame feature template. At step 704, a target video is generated based on the source video and stored at the server. For example, the image pickup apparatus 110 uploads source video to the server 120 via the communication network 140 through its communication port 117. In step 705, the key frame feature template is uploaded to the blockchain network as a source feature template. For example, the camera device 110 uploads the key frame feature template to the blockchain network 130 through its communication port 117. The steps of the server 120 side and the blockchain network 130 side associated with this process are already described in the processes shown in fig. 3-6, and are not expanded here. In the video verification method that follows, the source signature template will be used to verify whether the target video located in the server 120 is authentic.
Through the above operations, the data repository 122 of the server 120 stores the target video. The server 120 may provide a data credentialing service for accessing the target video. In this example, the distributed ledger 132 of the blockchain network 130 holds the source feature templates. .
Fig. 8 is a video evidence storing flowchart according to another embodiment of the present application. This process may be implemented at the imaging device 110 and may be partially instantiated, for example, as the video feature extraction program 115 of fig. 2, stored in the ROM115, and loaded into the processor 112 for execution. At step 801, a source video is acquired. At step 802, the sampling selects key frames of the source video. In step 803, a key frame feature template is extracted from the selected key frame. At step 804, a target video is generated based on the source video and stored at the server. The foregoing steps are similar to steps 701-704 and are not expanded herein. At step 805, the key frame feature template is uploaded to the server as a source feature template. In step 806, a hash calculation is performed on the extracted key frame feature template to obtain a first hash value. In step 807, the first hash value is uploaded to the blockchain network. The steps of the server 120 side and the blockchain network 130 side associated with this process are already described in the processes shown in fig. 3-6, and are not expanded here. In this embodiment, the server in step 804 and step 805 may be the same server in the server 120 or different servers.
Through the above operations, the data repository 122 of the server 120 stores the source video and the source feature template. The server 120 may provide a data credentialing service for accessing the source video and source feature templates. The distributed ledger 132 of the blockchain network 130 holds a first hash value of the source feature template. The first hash value is used to verify whether the source feature template in the server 120 is authentic.
Fig. 9 is a flow chart of video verification according to an embodiment of the present application. This flow may be in a third party device that is simultaneously connected to the server 120 and the blockchain network 130. An exemplary third party device will be described later in connection with fig. 11. As shown in fig. 9, in step 901, a source feature template is obtained from a blockchain network, where the source feature template is a key frame feature template from a source video. For example, the source feature template is a key frame feature template generated according to the flow shown in FIG. 5. At step 902, a target video is obtained from a location outside of the blockchain network. For example, the target video is a video generated according to the flow shown in fig. 3. In this step, the target video is acquired from the server 120. In step 903, the key frames of the selected target video are sampled. This operation is similar to step 403 shown in fig. 4. In step 904, a key frame feature template is extracted from the selected key frames as a target feature template. This operation is similar to step 404 shown in fig. 4. In step 905, the target feature template is compared with the source feature template, and the target video is verified according to the comparison result. If the target feature template is similar to the source feature template, the target video is determined to be authentic in step 906, otherwise the target video is determined to be not authentic in step 907.
In one embodiment, step 905 may include obtaining the similarity between the target feature template and the source feature template, and then comparing the similarity with a set threshold. And if the similarity is greater than or equal to the threshold value, the target video is considered to be credible, otherwise, the target video is considered to be credible. As mentioned above, typically, each video will be extracted with multiple key frames, so the key frame feature template contains information of multiple key frames. When the similarity of the two feature templates is compared, the number of the key frames with highly similar features needs to be enough to judge that the video verification is passed except that the feature similarity of each key frame reaches a threshold value.
In some embodiments, the process shown in fig. 9 may be performed in a distributed manner in a plurality of devices, for example, the first device performs the step 901 and the step 902 and the other devices perform the step 903 and the step 907.
Fig. 10 is a flow diagram of video verification according to another embodiment of the present application. This flow may be in a third party device that is simultaneously connected to the server 120 and the blockchain network 130. An exemplary third party device will be described later in connection with fig. 11. As shown in fig. 10, in step 1001, a first hash value is obtained from a blockchain network. The first hash value is obtained by performing a hash operation on a key frame feature template of the source video. For example, the first hash value is a hash value generated according to the flow shown in fig. 6. In step 1002, a source feature template to be verified is obtained from a location outside the blockchain network, the source feature template being from a key frame feature template of the source video. For example, the source feature template is a key frame feature template generated according to the flow shown in FIG. 4. In this step, the source signature template to be verified is obtained from the server 120. The source signature template to be verified in the server 120 may have been tampered with, but is still referred to as a source signature template in the context of this embodiment. In step 1003, a second hash value of the source signature template is computed. For example, a hash calculation may be performed on the source feature template to obtain the second hash value. At 1004, the first hash value and the second hash value are compared to verify whether the source feature template is still the key frame feature template of the source video, i.e. whether it has been tampered with. When the verification source feature template is tampered in step 1005, it is determined that the video verification fails in step 1010, and the process ends. And when the source feature template is verified not to be tampered, acquiring the target video from a position outside the blockchain network. For example, the target video is a video generated according to the flow shown in fig. 3. In this step, the target video is acquired from the server 120. At step 1006, the sample selects key frames of the target video. This operation is similar to step 403 shown in fig. 4. In step 1007, a key frame feature template is extracted from the selected key frame as a target feature template. This operation is similar to step 404 shown in fig. 4. In step 1008, the target feature template is compared with the source feature template, and whether the target video is credible is verified according to the comparison result. If the target feature template is similar to the source feature template, the target video is determined to be authentic in step 1009, and the video verification is passed, otherwise, the target video is determined to be not authentic in step 1010, and the video verification is not passed.
Some additional details of this embodiment may be found in reference to the embodiment shown in fig. 9 and will not be expanded upon herein.
Flow charts are used herein to illustrate operations performed by systems according to embodiments of the present application. It should be understood that the preceding or following operations are not necessarily performed in the exact order in which they are performed. Rather, various steps may be processed in reverse order or simultaneously. Meanwhile, other operations are added to or removed from these processes.
The video authentication method described above in the present application may be embodied as computer program code and maintained and executed in a device such as that shown in fig. 2 to implement a blockchain-based video authentication system of the present application.
The video verification method described earlier in this application may be embodied as computer program code and maintained and executed in a device such as that shown in fig. 11 to implement a blockchain based video authentication system of the present application. Referring to fig. 11, the third party device 150 includes an internal communication bus 151, a processor 152, a hard disk 153, a Read Only Memory (ROM)154, a Random Access Memory (RAM)156, and a communication port 157. Internal communication bus 151 may enable data communication among third party device components. The processor 152 may execute programs to control the device workflow. In some embodiments, the processor 152 may be comprised of one or more processors. When implemented as a personal computer, the third party device may include a hard disk 153. The communication port 157 may enable data communication between the third party device 150 and the outside. In some embodiments, third party device 150 may send and receive information and data from a network through communication port 157. The third party device 150 may also include various forms of program storage units and data storage units such as read only memory 154 and random access memory 156 capable of storing various data files used for computer processing and/or communication, as well as possible program instructions executed by the processor 152, such as a video authentication program 155 and a blockchain application program 158.
The video authentication and verification methods described above in this application may be embodied as computer program code and stored on a computer readable medium. Computer-readable media of the present application can include, but are not limited to, magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips … …), optical disks (e.g., Compact Disk (CD), Digital Versatile Disk (DVD) … …), smart cards, and flash memory devices (e.g., card, stick, key drive … …), among others.
Compared with the prior art, the method and the system select the key frames from the video when the video is stored with the evidence, extract the key frame characteristic template from the key frames and upload the key frame characteristic template to the block chain network. And when the video is verified, verifying whether the key frame feature template at a position outside the blockchain network is tampered by using the key frame feature template in the blockchain network. And then verifying whether the video is tampered by using the verified key frame characteristic template. Compared with the direct video uplink mode, the mode can greatly save the uplink data volume and reliably verify whether the video is tampered. Moreover, a network communication module, a block chain application program and a video feature extraction program are integrated in the camera device. The video feature extraction program extracts a key frame feature template of the shot video through an artificial intelligence algorithm, and the block chain application program links the key frame feature template or a hash value thereof. Because the image pickup equipment is used for direct uplink, the processes of transfer or other processing in the transmission process are reduced, and the reliability of source data is ensured.
Having thus described the basic concept, it will be apparent to those skilled in the art that the foregoing disclosure is by way of example only, and is not intended to limit the present application. Various modifications, improvements and adaptations to the present application may occur to those skilled in the art, although not explicitly described herein. Such modifications, improvements and adaptations are proposed in the present application and thus fall within the spirit and scope of the exemplary embodiments of the present application.
Also, this application uses specific language to describe embodiments of the application. Reference throughout this specification to "one embodiment," "an embodiment," and/or "some embodiments" means that a particular feature, structure, or characteristic described in connection with at least one embodiment of the present application is included in at least one embodiment of the present application. Therefore, it is emphasized and should be appreciated that two or more references to "an embodiment" or "one embodiment" or "an alternative embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, some features, structures, or characteristics of one or more embodiments of the present application may be combined as appropriate.
Aspects of the present application may be embodied entirely in hardware, entirely in software (including firmware, resident software, micro-code, etc.) or in a combination of hardware and software. The above hardware or software may be referred to as "data block," module, "" engine, "" unit, "" component, "or" system. The processor may be one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), digital signal processing devices (DAPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, or a combination thereof.
The computer readable medium may comprise a propagated data signal with the computer program code embodied therein, for example, on a baseband or as part of a carrier wave. The propagated signal may take any of a variety of forms, including electromagnetic, optical, and the like, or any suitable combination. The computer readable medium can be any computer readable medium that can communicate, propagate, or transport the program for use by or in connection with an instruction execution system, apparatus, or device. Program code on a computer readable medium may be propagated over any suitable medium, including radio, electrical cable, fiber optic cable, radio frequency signals, or the like, or any combination of the preceding.
Similarly, it should be noted that in the preceding description of embodiments of the application, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the embodiments. This method of disclosure, however, is not intended to require more features than are expressly recited in the claims. Indeed, the embodiments may be characterized as having less than all of the features of a single embodiment disclosed above.
Numerals describing the number of components, attributes, etc. are used in some embodiments, it being understood that such numerals used in the description of the embodiments are modified in some instances by the use of the modifier "about", "approximately" or "substantially". Unless otherwise indicated, "about", "approximately" or "substantially" indicates that the number allows a variation of ± 20%. Accordingly, in some embodiments, the numerical parameters used in the specification and claims are approximations that may vary depending upon the desired properties of the individual embodiments. In some embodiments, the numerical parameter should take into account the specified significant digits and employ a general digit preserving approach. Notwithstanding that the numerical ranges and parameters setting forth the broad scope of the range are approximations, in the specific examples, such numerical values are set forth as precisely as possible within the scope of the application.
Although the present application has been described with reference to the present specific embodiments, it will be recognized by those skilled in the art that the foregoing embodiments are merely illustrative of the present application and that various changes and substitutions of equivalents may be made without departing from the spirit of the application, and therefore, it is intended that all changes and modifications to the above-described embodiments that come within the spirit of the application fall within the scope of the claims of the application.

Claims (15)

1. A video evidence storing method based on a block chain comprises the following steps:
acquiring a source video;
sampling and selecting key frames of the source video;
extracting a key frame feature template from the selected key frame; and
and uploading the key frame feature template serving as a source feature template to a block chain network, wherein the source feature template is used for verifying whether a target video positioned outside the block chain network is credible.
2. A video evidence storing method based on a block chain comprises the following steps:
acquiring a source video;
sampling and selecting key frames of the source video;
extracting a key frame feature template from the selected key frame, an
Performing hash calculation on the key frame feature template to obtain a first hash value; and
uploading the first hash value to a blockchain network, wherein the first hash value is used for verifying whether a source feature template outside the blockchain network is authentic.
3. The method of claim 1 or 2, wherein the step of acquiring a source video comprises capturing a video using a camera device.
4. The method of claim 2, further comprising uploading the key frame feature template as the source feature template to a server located outside of the blockchain network.
5. The method of claim 1 or 2, further comprising generating a target video based on the source video and saving it at a server located outside the blockchain network.
6. A video evidence storing method based on a block chain comprises the following steps:
acquiring a source video;
sampling and selecting key frames of the source video;
extracting a key frame feature template from the selected key frame;
generating a target video based on the source video and storing the target video in a server; and
and uploading the key frame feature template serving as a source feature template to a block chain network.
7. A video evidence storing method based on a block chain comprises the following steps:
acquiring a source video;
sampling and selecting key frames of the source video;
extracting a key frame feature template from the selected key frame;
generating a target video based on the source video and storing the target video in a server;
uploading the key frame feature template as a source feature template to the server; and
and calculating a first hash value of the key frame characteristic template, and uploading the first hash value to a block chain network.
8. A video verification method based on a block chain comprises the following steps:
acquiring a source feature template from a blockchain network, wherein the source feature template is a key frame feature template from a source video;
acquiring a target video from a position outside the block chain network, sampling and selecting key frames of the target video, and extracting a key frame feature template from the selected key frames to serve as a target feature template; and
and comparing the source characteristic template with the target characteristic template, and verifying whether the target video is credible according to a comparison result.
9. The method of claim 8, wherein comparing the source feature template to the target feature template and verifying whether the target video is authentic based on the comparison comprises:
acquiring the similarity between the source characteristic template and the target characteristic template;
and comparing the similarity with a threshold, if the similarity is greater than or equal to the threshold, considering the target video to be credible, otherwise, considering the target video to be untrustworthy.
10. A video verification method based on a block chain comprises the following steps:
acquiring a first hash value from a block chain network, wherein the first hash value is obtained by performing hash calculation on a key frame characteristic template of a source video;
acquiring a source characteristic template to be verified from a position outside the block chain network, and performing hash calculation on the source characteristic value template to obtain a second hash value; and
comparing whether the first hash value and the second hash value are consistent to verify whether the source feature template is a key frame feature template of the source video.
11. The method of claim 10, wherein upon verifying that the source feature template is a key frame feature template of the source video, further comprising:
acquiring a target video from a position outside the block chain network;
sampling and selecting key frames of the target video, and extracting a key frame characteristic template from the selected key frames to serve as a target characteristic template; and
and comparing the source characteristic template with the target characteristic template, and verifying whether the target video is credible according to a comparison result.
12. The method of claim 11, wherein comparing the source feature template to the target feature template, and wherein verifying whether the target video is authentic based on the comparison comprises:
acquiring the similarity between the source characteristic template and the target characteristic template;
and comparing the similarity with a threshold, if the similarity is greater than or equal to the threshold, considering the target video to be credible, otherwise, considering the target video to be untrustworthy.
13. A video credentialing system based on a blockchain, comprising:
a memory for storing instructions executable by the processor; and
a processor for executing the instructions to implement the method of any one of claims 1-7.
14. A blockchain based video verification system comprising:
a memory for storing instructions executable by the processor; and
a processor for executing the instructions to implement the method of any one of claims 8-11.
15. A computer storage medium having computer program code stored thereon, which when executed by a processor implements the method of any of claims 1-11.
CN202111397848.9A 2021-11-23 2021-11-23 Video evidence storage method, verification method and system based on block chain Pending CN114065255A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111397848.9A CN114065255A (en) 2021-11-23 2021-11-23 Video evidence storage method, verification method and system based on block chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111397848.9A CN114065255A (en) 2021-11-23 2021-11-23 Video evidence storage method, verification method and system based on block chain

Publications (1)

Publication Number Publication Date
CN114065255A true CN114065255A (en) 2022-02-18

Family

ID=80275764

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111397848.9A Pending CN114065255A (en) 2021-11-23 2021-11-23 Video evidence storage method, verification method and system based on block chain

Country Status (1)

Country Link
CN (1) CN114065255A (en)

Similar Documents

Publication Publication Date Title
Ghoneim et al. Medical image forgery detection for smart healthcare
Zhou et al. Coverless image steganography using partial-duplicate image retrieval
US11075744B2 (en) Blockchain-based media content authentication methods and systems
Joseph et al. RETRACTED ARTICLE: A multimodal biometric authentication scheme based on feature fusion for improving security in cloud environment
Naveh et al. Photoproof: Cryptographic image authentication for any set of permissible transformations
KR20180049347A (en) Method and apparatus for key generation based on face recognition using cnn and rnn
CN104980278B (en) The method and apparatus for verifying the availability of biometric image
US11303845B2 (en) Video content authentication
CN111967609B (en) Model parameter verification method, device and readable storage medium
WO2019180538A1 (en) Remote user identity validation with threshold-based matching
US11368289B1 (en) Video registration and authentication using blockchain
CN111614599A (en) Webshell detection method and device based on artificial intelligence
US11449584B1 (en) Generating authenticable digital content
CN110022355B (en) Storage method, verification method and equipment of environment data in specific scene
CN110659604A (en) Video detection method, device, server and storage medium
CN111680181A (en) Abnormal object identification method and terminal equipment
US20210099772A1 (en) System and method for verification of video integrity based on blockchain
US11328095B2 (en) Peceptual video fingerprinting
WO2021141845A1 (en) Content authentication based on intrinsic attributes
CN114065255A (en) Video evidence storage method, verification method and system based on block chain
CN111898529B (en) Face detection method and device, electronic equipment and computer readable medium
Alherbawi et al. JPEG image classification in digital forensic via DCT coefficient analysis
US11586724B1 (en) System and methods for authenticating content
CN112613345A (en) User authentication method and system
CN112597321A (en) Multimedia processing method based on block chain and related equipment

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