Device and method for signing video segment including at least one picture group
Patent Information
- Application Number
- JP2022072980
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-05-11
- Filing Date
- 2022-04-27
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2042-04-27
AI Technical Summary
Existing video segment authentication methods fail to verify the integrity of Groups of Pictures (GOPs) if their authentication information is missing, making it impossible to determine if the content has been tampered with.
Generate a GOP hash for each GOP, digitally sign it, and store the signed hash in the header of subsequent GOPs, adding an additional GOP after the last one to ensure the last GOP's hash is included, using pre-encoded frames and metadata to minimize additional processing and size.
Ensures that the content of the last GOP can be verified as intact, reducing the risk of tampering and enabling reliable verification even when the video segment ends without considering the last GOP boundary.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0004] , , , , ,
[0003] ,
[0001] The present invention relates to the authentication of the content of video segments, and more particularly to signing video segments including one or more picture groups (GOPs).
Background Art
[0002] In some applications, it is desirable to verify that the content of a video segment is intact, i.e., not tampered with after capture of the video segment. Enabling such verification has become even more important in view of the development of video technologies that enable the generation of high-quality processed videos. One way to enable such verification of a video segment including one or more picture groups (GOPs) is to create authentication information for each GOP of the video and include the authentication information for each GOP of the video segment. The authentication information can then be used on the decoder side to verify that the content of one or more GOPs is intact. However, if the authentication information for a GOP is missing from the video segment, it is not possible to confirm that the content of that GOP is intact, i.e., not tampered with.
Summary of the Invention
[0003] An object of the present invention is to facilitate the strengthening of verification that a video segment including one or more picture groups (GOPs) is intact, i.e., not tampered with after capture of the video segment.
[0004] According to a first embodiment, a method is provided for signing a video segment containing one or more GOPs. Each GOP includes a header and one or more frames. For each GOP in the one or more GOPs, a GOP hash is generated, and the GOP hash is digitally signed by a digital signature, thereby generating a signed GOP hash for each GOP in the one or more GOPs. Furthermore, each signed GOP hash of each GOP except the last GOP in the one or more GOPs is stored in the header of the subsequent GOPs of the one or more GOPs. An additional GOP is added to the video segment after the last GOP of the one or more GOPs. The additional GOP includes a header and one or more frames. Then, the signed GOP hash of the last GOP of the one or more GOPs is stored in the header of the additional GOP.
[0005] By adding an additional GOP containing a header after the last GOP of one or more GOPs to a video segment, and storing the signed GOP hash of the last GOP of one or more GOPs in the header of the additional GOP, it is guaranteed that the signed GOP hash of the last GOP of one or more GOPs is included in the video segment. Thus, it becomes possible to guarantee that the content of the last GOP of one or more GOPs has not been tampered with, but is actually identical to the hashed and signed content.
[0006] A GOP hash refers to any value generated by hashing the contents of a GOP, or by using any similar digestion method.
[0007] Digitally signing a GOP hash with a digital signature means any method of verifying the authenticity of the GOP hash, such as encrypting the GOP hash with the private key of a public / private key pair.
[0008] One or more frames included in the additional GOP may be pre-encoded.
[0009] By using one or more pre-encoded frames within an additional GOP, when adding an additional GOP to one or more GOPs in a video segment, no additional time or processing is required to encode one or more pre-encoded frames.
[0010] An additional GOP can contain empty intraframes and zero or more empty interframes. An empty intraframe is a blank frame, and an empty interframe is a frame that references another frame and does not contain any updates related to the frame it references. By including empty intraframes and optionally one or more empty interframes, the extra bits added to the video frame when adding an additional GOP are reduced in relation to adding non-empty frames.
[0011] The additional GOP may also contain further information indicating that it is the last GOP in the video segment. Including information that the additional GOP is the last GOP allows the decoder to identify the additional GOP. This is beneficial because the decoder may determine that the previous GOP was the last GOP containing verifiable content, and that the additional GOP containing instructions is added solely to enable verification of the content of the previous GOP.
[0012] The GOP hash can be generated by generating a frame hash for each of one or more frames of the GOP, thereby generating one or more frame hashes, hashing one or more frame hashes, and thereby generating the GOP hash.
[0013] By hashing one or more frame hashes to generate a GOP hash, only one hash needs to be checked to determine if the GOP has been tampered with.
[0014] Generating a GOP hash may further involve hashing one or more frame hashes with metadata that includes at least one of the following: a unique identifier of the camera capturing the video segment and a timestamp of the video segment, thereby generating a GOP hash. The metadata may further include at least one of the following: hardware type (camera type), firmware version, GPS location, frame stamp, and boot count.
[0015] By hashing the metadata with one or more frame hashes to generate a GOP hash, it is possible to determine whether or not the metadata has been tampered with.
[0016] One or more frame hashes can be further concatenated with a GOP hash generated by hashing one or more frame hashes, thereby generating a concatenated GOP hash. Digitally signing a GOP hash may further include signing the GOP hash concatenated by the digital signature, thereby generating a signed GOP hash.
[0017] Next, if the GOP hash determines that the GOP has been tampered with, one or more frame hashes of the signed GOP hash can be used to identify which frames or which sets of frames have been tampered with.
[0018] According to a second embodiment, when executed on a device having processing capabilities, a non-temporary computer-readable storage medium is provided which stores instructions for carrying out the method according to the first embodiment.
[0019] The optional additional features of the method according to the first embodiment described above also apply to this second embodiment, where applicable. The above is referenced to avoid excessive repetition.
[0020] According to a third embodiment, a device is provided for signing a video segment that includes one or more picture group GOPs. Each GOP includes a header and one or more frames. The device includes a circuit configured to perform: a GOP hash generation function configured to generate a GOP hash for each GOP among the one or more GOPs; a GOP hash signing function configured to digitally sign a GOP hash for each GOP among the one or more GOPs, thereby generating a signed GOP hash for each GOP among the one or more GOPs; a GOP addition function configured to add an additional GOP to a video segment after the last GOP among the one or more GOPs, wherein the additional GOP includes a header and one or more frames; and a signed GOP hash storage function configured to store a signed GOP hash for each GOP of the one or more GOPs in the header of the subsequent GOP, wherein the signed GOP hash of the last GOP of the one or more GOPs is stored in the header of the additional GOP.
[0021] The optional additional features of the method according to the first embodiment described above also apply to this third embodiment, where applicable. The above is referenced to avoid excessive repetition.
[0022] Further applications of the present invention will become apparent from the detailed description given below. However, since various changes and modifications within the scope of the present invention will become apparent to those skilled in the art from this detailed description, it should be understood that the detailed description and specific examples, while illustrating preferred embodiments of the present invention, are given merely as examples.
[0023] Therefore, it should be understood that the present invention is not limited to the specific components of the described device or the operations of the described method, and such devices and methods can vary. It should also be understood that the terms used herein are for the purpose of describing only specific embodiments and are not intended to be limiting. As used herein and in the appended claims, the articles "a," "an," "the," and "said" are intended to mean that there is one or more elements, unless the context clearly indicates otherwise. Thus, for example, a reference to "a unit" or "the unit" may include several devices, etc. Further, "comprising," "including," "containing," and similar expressions do not exclude other elements or steps.
[0024] The above and other aspects of the present invention will be described in more detail with reference to the accompanying drawings. The drawings should not be regarded as limiting and are used for explanation and understanding.
Brief Description of the Drawings
[0025] [Figure 1] FIG. is a diagram showing an example of a video segment including several picture groups (GOPs). [Figure 2] FIG. is a flowchart showing an embodiment of the method of the present disclosure for signing a video segment including one or more GOPs. [Figure 3a] FIG. shows signing a GOP that is not the last GOP of a video segment according to an embodiment of the method of the present disclosure. [Figure 3b] FIG. shows signing the last GOP of a video segment according to an embodiment of the method of the present disclosure. [Figure 4] FIG. is a schematic diagram related to an embodiment of the device of the present disclosure for signing a video segment including one or more GOPs.
Embodiments for Carrying Out the Invention
[0026] The present invention will be described below with reference to the accompanying drawings showing presently preferred embodiments of the invention. However, the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein.
[0027] Embodiments of the present invention can be used to ensure that the content of a video segment is intact, i.e., not tampered with after video capture, in an application where a digitally signed GOP hash is created for each GOP in a video sequence, and the digitally signed GOP hash of each GOP is included for subsequent GOPs in a video segment. On the decoder side, the digital signature of the GOP can be used to verify the origin of the GOP. For example, if the digital signature for the GOP is created by encryption of the GOP hash with the private key of a public / private key pair, the signer can be verified by decryption using the public key of the public / private key pair. Furthermore, the decoder side can generate a GOP hash from the content of the received GOP and compare it with the (decrypted) digitally signed GOP hash. If they are equal, the content of the GOP is intact; if they are not equal, the content of the GOP is not intact. Furthermore, in such an application, the digitally signed hash for the last GOP in the video sequence is not included in the video sequence because there are no GOPs following the last GOP in the video segment. Therefore, it is not possible to guarantee that the contents of the last GOP are intact, i.e., not tampered with after capture. Furthermore, if the last GOP includes only a few frames before the end of the video segment, the amount of frames that cannot be verified as intact for the last GOP is small. However, the time required to generate the digitally signed GOP hash of the second-to-last GOP may be too long to be included in the first few frames of the last GOP before the end of the video segment. Therefore, in such a case, the signed GOP hash of the second-to-last GOP will not be included in the video segment, and the contents of the second-to-last GOP cannot be verified as intact. In such a case, it may be guaranteed that the signed GOP hash of the second-to-last GOP is included in the last GOP. Alternatively, GOP hashes of both the second-to-last GOP and the last GOP may be generated and included in the additional GOP.
[0028] Embodiments of the present invention are advantageous when there is a risk that a significant number of frames in a video segment will be within the last GOP of the video segment. For example, if the end of a video segment is determined without considering the end of the last GOP of the video segment, the probability that the end of the video segment is after a given frame is uniform across all frames in the last GOP. Thus, the larger the number of frames in each GOP, the higher the probability that a substantial number of frames in the video segment will be within the last GOP of the video segment. One example where the end of a video segment can be determined without considering the end of the last GOP is when the video segment is related to surveillance video, and the video segment starts when a trigger is activated and ends when a trigger is activated. In such an example, the video segment ends after a random position relative to the end of the current GOP. Thus, as the number of frames included in each GOP increases, the risk that a significant portion of the video segment will be within the last GOP increases. Furthermore, since the video segment starts and ends in connection with the activation of a trigger and the activation of capture, the last GOP of the video segment may also contain information of interest. The trigger may be motion detection, person / face detection, door open detection, etc. For example, if the trigger is motion or a person / face in video captured by a surveillance camera, the trigger can be grasped as being activated when a person appears to be moving towards the surveillance camera and when the person passes the surveillance camera. In such a case, the person's face will be closest to the surveillance camera just before the person passes the camera, and will be captured at the end of the video segment so that the trigger is activated. Therefore, the frame in which the face is closest to the surveillance camera and most likely to be the easiest to identify may be in the second to last or last GOP of the video segment.
[0029] Embodiments of the present invention are even more advantageous when the video segment contains only one GOP. In this case, the single GOP is also the last GOP, and all frames of the video segment are within the last GOP of the video segment, and if any frame contains information of interest, it is within the last GOP.
[0030] Figure 1 shows an example of a video segment 100 including several GOPs 101-104 that may be used in connection with embodiments of the present invention. Each GOP includes several frames, the first frame being an intraframe I, followed by six interframes P1-P6 of the first three GOPs 101-103 of the video segment, and then four interframes P1-P4 of the last GOP 104. The video segment 100 may be a video segment whose termination is determined without considering, for example, the end of the last GOP. The first three GOPs 101-103 of the video segment are complete GOPs, but the last GOP 104 may include only a subset of the frames of the complete GOP. For example, the last GOP 104 of video segment 100 includes one intraframe I and four interframes P1-P4. If the video segment does not terminate after the fourth interframe P4, the GOP may include further interframes. The video segment 100 may relate to video frames captured by a video camera, such as a surveillance camera or a body-worn camera, and subsequently encoded by an encoder.
[0031] It should be noted that the video segment 100 in Figure 1 is a simplified diagram. For example, the number of interframes in each GOP may be more than shown, such as several hundred interframes, and may vary between GOPs. Furthermore, the number of GOPs in a video segment may be more than the four GOPs 101-104 shown, depending on the length of the video segment and the length of each GOP it contains. Moreover, even if the disclosed examples relate primarily to P-frames, the present invention can be adapted and applied to other types of inter-encoded frames, such as B-frames, which may reference two or more other frames.
[0032] Embodiments of Method 200 for signing a video segment containing n GOPs, where n≧1 (i.e., one or more GOPs) and each GOP includes a header and one or more frames, are described here with reference to Figures 1, 2, 3a, and 3b. Method 200 includes generating a GOP hash S210 and digitally signing the GOP hash by digital signature S220, S208, S222, C224 for each GOPi=1~n in a video segment such as the video segment in Figure 1 (i.e., for each GOP of the n GOPs).
[0033] Referring to Figure 3a, the GOP hash of GOPi can be based on the frame hashes of GOPi's frames I, P1-P6. The frame hash of a frame is generated using a hash function H on the content of the frame. Examples of mathematical hash functions are identity hash, folding, partition hash, multiplication hash, Fibonacci hash, and Zobrist hash. Examples of cryptographic hash functions are MD5, SHA-1, SHA-2 (SHA-256 / SHA-512), SHA-3, and BLAKE-3. For example, the frame hashes of each of frames I, P1-P6 may be concatenated using hash function H to generate the GOP hash of GOPi (310) and then hashed. Optionally, metadata MD may also be concatenated with the frame hashes of each of frames I, P1-P6 to generate the GOP hash of GOPi (310). The metadata MD may include at least one of the following: a unique identifier for the camera capturing the video segment, a timestamp of the video segment, hardware type (camera type), firmware version, GPS location, framestamp, and boot count. The GOP hash is then signed using any type of digital signature that allows verification of the origin of the GOP, for example, by encrypting the GOP hash with the private key of a public / private key pair of a device such as a camera on which this method is performed. For example, RSA (Rivest-Shamir-Adleman) 256-bit encryption, Digital Signature Algorithm (DSA), and Elliptic Curve Digital Signature Algorithm (ECDSA) may be used to digitally sign the GOP hash.
[0034] Regardless of the presence or absence of metadata MD, the GOP hash of the GOPi can be generated using the hash of the concatenated frame hashes of one or more frames I, P1-P6 of the GOPi, and then the GOP hash is digitally signed 320, thereby verifying that the contents of the GOPi are intact, i.e., tampered with. Alternatively, one or more frame hashes of the GOPi may be concatenated with the GOP hash of the GOPi to generate a concatenated GOP hash of the GOPi (not shown in Figure 3a), and the concatenated GOP hash is then digitally signed by a digital signature to generate a signed GOP hash 320. In this alternative form, the portion of the signed GOP hash associated with the GOP hash can be used to verify that the contents of the GOP are intact, i.e., tampered with, at the GOP level. If the GOP is shown to be not intact, the portion of the signed GOP hash associated with the concatenated one or more frame hashes can be used to identify which frame of one or more frame hashes has been tampered with by comparing it with the frame hashes generated by the decoder from the content of the GOP's frames.
[0035] Furthermore, to enable GOP reordering and identification of undetectable cuts, the frame hash of the first frame I of the subsequent GOPi+1 can be generated and appended to the GOP hash of the GOPi before signing. Alternatively, the GOP hash of the GOPi may be generated by hashing the concatenation of the frame hash of the GOPi's frame and the frame hash of the first frame I of the subsequent GOPi+1.
[0036] Returning to Figure 2, if the number of GOPs n is greater than 1 C226 (i.e., the first GOP is not the only GOP and therefore not the last GOP), the method further includes S228, S232, C234 for each GOPi = 1 to n-1, i.e., for each GOP except the last GOP, storing the signed GOP hash of the subsequent GOPi+1 in the header S230.
[0037] Referring to Figure 3a, the signed GOP hash of a GOPi is included in the header of the subsequent GOPi+1. For example, the GOP hash may be included in a metadata frame (not shown) different from frame I, P1-P6 of the GOPi shown in Figure 3a.
[0038] Returning to Figure 2, the method further includes adding an additional GOPn+1 to the video segment after the last GOPn of the n GOPs (S240), where the additional GOPn+1 includes a header and one or more frames. Next, the signed GOP hash of the last GOPn of the n GOPs is stored in the header of the additional GOPn+1 (S250).
[0039] The additional GOPn+1 can be anything, as long as it includes the GOP hash of the last GOPn. However, it is beneficial to keep the GOP size as small as possible in order to generate additional GOPn+1 in a way that does not unnecessarily increase the size of the video segment and keeps the processing and time required low.
[0040] For example, one or more frames included in an additional GOP may be pre-encoded. This means that the content of one or more frames is pre-encoded. By using one or more pre-coded frames, no additional time or resources are required to encode content when adding an additional GOP. It is possible to use one or more pre-coded frames within an additional GOP because the additional frame is primarily intended to carry the signed hash of the last GOPn of the n GOPs. Therefore, the content of the additional frame does not need to be related to the content of the other GOPs of the video frame. Furthermore, since no additional GOP follows an additional GOPn+1, the signed GOP hash of an additional GOP cannot be included in a subsequent GOP, and therefore it is not possible to verify that the content of the additional GOP has not been tampered with.
[0041] Furthermore, one or more frames of an additional GOP may be empty intra-frames and optionally one or more empty inter-frames. An empty intra-frame is a blank frame that contains only intra-predictions and no encoded coefficients, and an empty inter-frame is a frame that references another frame and does not contain updates related to the frame it references. By including empty intra-frames and optionally one or more empty inter-frames, the extra bits added to the video frame when adding an additional GOP are reduced in relation to adding non-empty frames.
[0042] An additional GOP may include further information indicating that the additional GOP is the last GOP in a video segment. Such information may be included as additional metadata in the header of the additional GOP, which can be interpreted by the decoder to indicate that the additional GOP is the last GOP in a video segment. The additional metadata may be further used to indicate that the additional GOP should only be used to verify that the contents of the previous GOP are intact. In addition to or instead of this, information indicating that the additional GOP is the last GOP in a video segment may be included in the content of the additional GOP. For example, the additional GOP may be a pre-encoded frame that includes content indicating that the GOP is the last GOP in a video segment after encoding and display, such as displaying text indicating that the GOP is the last GOP in a video segment. Instead of including additional metadata in the header, it may be encoded in the video data of the additional GOP as a faint (essentially invisible) "watermark," added to out-of-frame encoded data, i.e., data after it is indicated that the frame has ended and before it is indicated that the next frame will begin, or added to an undefined network abstraction layer (NAL).
[0043] Referring to Figure 3b, the GOP hash of GOPn can be based on the frame hashes of frames I, P1-P4 of GOPi. For example, generating the GOP hash of GOPn may involve generating frame hashes for each frame I, P1-P4 of GOPn using hash function H. Then, the respective frame hashes of frames I, P1-P4 can be concatenated 310 and hashed using hash function H to generate the GOP hash of GOPn. Optionally, metadata MD may also be concatenated with the respective frame hashes of frames I, P1-P4 to generate the GOP hash of GOPn (310). Metadata MD may include at least one of the following: a unique identifier of the camera capturing the video segment, a timestamp of the video segment, hardware type (camera type), firmware version, GPS location, frame stamp, and boot count. The GOP hash may then be signed using any type of digital signature that allows verification of the origin of the GOP, for example, by using encryption of the GOP hash with the private key of a public / private key pair of a device such as a camera on which this method is performed 320. For example, RSA (Rivest-Shamir-Adleman) 256-bit encryption, the Digital Signature Algorithm (DSA), and the Elliptic Curve Digital Signature Algorithm (ECDSA) can be used to digitally sign GOP hashes.
[0044] Regardless of the presence or absence of metadata MD, the GOP hash of GOPn can be generated using the hash of the concatenation of one or more frame hashes of GOPn's frame I, P1-P4, and then the GOP hash is digitally signed 320, thereby verifying that the contents of GOPn are intact, i.e., tampered with. Alternatively, one or more frame hashes for GOPn's frame I, P1-P4 may be concatenated with the GOP hash for GOPn to generate a concatenated GOP hash for GOPn (not shown in Figure 3b), and the concatenated GOP hash is then digitally signed with a digital signature to generate a signed GOP hash 320. In this alternative, the portion of the signed GOP hash associated with the GOP hash can be used to verify that the contents of GOP are intact, i.e., tampered with, at the GOP level. If it is determined that the GOP is not intact, a portion of the signed GOP hash associated with one or more concatenated frame hashes may be used by the decoder to identify which of the frame hashes has been tampered with by comparing it to the frame hashes generated from the content of the GOP's frames.
[0045] Furthermore, to enable GOP reordering and identification of undetectable cuts, the frame hash of the first frame I of the subsequent GOPi+1 can be generated and appended to the GOP hash of the GOPi before signing. Alternatively, the GOP hash of the GOPi may be generated by hashing the concatenation of the frame hash of the GOPi's frame and the frame hash of the first frame I of the subsequent GOPi+1.
[0046] Figure 4 shows a schematic diagram relating to an embodiment of the apparatus 400 of the present disclosure for signing a video segment comprising one or more picture group GOPs, each GOP comprising a header and one or more frames. The apparatus 400 may be a camera, such as a surveillance camera or a body-worn camera. The apparatus 400 includes a circuit 410. The circuit 410 is configured to perform functions 432, 434, 436, and 438 of the apparatus 400. The circuit 410 may include a processor 412, such as a central processing unit (CPU), a microcontroller, or a microprocessor. The processor 412 is configured to execute program code. The program code may be configured to perform functions 432, 434, 436, and 438 of the apparatus 400, for example.
[0047] The device 400 may further include a memory 430. The memory 430 may be one or more of a buffer, flash memory, hard drive, removable media, volatile memory, non-volatile memory, random access memory (RAM), or another suitable device. In a typical configuration, the memory 430 may include non-volatile memory for long-term data storage and volatile memory that functions as system memory for the circuit 410. The memory 430 can exchange data with the circuit 410 via a data bus. There may also be accompanying control lines and address buses between the memory 430 and the circuit 410.
[0048] The functions 432, 434, 436, and 438 of the device 400 may be stored in the non-temporary computer-readable medium (memory) 430 of the device 400 and may be embodied in the form of executable logic routines (e.g., lines of code, software programs, etc.) executed by the circuit 410 using the processor 412 within the circuit 410. Furthermore, the functions 432, 434, 436, and 438 of the device 400 may be standalone software applications or may form part of a software application. The described functions can be thought of as methods configured to be executed by a processing unit, for example, the processor 412 of the circuit 410. Also, the described functions 432, 434, 436, and 438 may be implemented in software, but such functions may be executed via dedicated hardware or firmware, or any combination of hardware, firmware, and / or software.
[0049] The circuit 410 is configured to perform a GOP hash generation function, which is configured to generate a GOP hash for each of the GOPs among one or more GOPs.
[0050] The circuit 410 is further configured to perform a GOP hash signing function configured to digitally sign the GOP hash for each of the GOPs among the one or more GOPs, thereby generating its own signed GOP hash for each of the GOPs among the one or more GOPs.
[0051] Circuit 410 is further configured to perform a GOP addition function configured to add an additional GOP to a video segment after the last GOP of one or more GOPs, the additional GOP including a header and one or more frames.
[0052] Circuit 410 is further configured to perform a signed GOP hash storage function, which is configured to store the respective signed GOP hash for each GOP of one or more GOPs in the header of subsequent GOPs, and the signed GOP hash of the last GOP of one or more GOPs is stored in the header of additional GOPs.
[0053] The apparatus 400 and functions 432, 434, 436, and 438 performed by circuit 410 can be further adapted as the corresponding steps of Method 200 and Method 200 as described in relation to Figures 1, 2, 3a, and 3b, respectively.
[0054] The device 400 may further include an encoder (not shown) for encoding frames of a GOP in a video segment that includes one or more frames of an additional GOP.
[0055] Those skilled in the art will understand that the present invention is not limited to the embodiments described above. Rather, many modifications and variations are possible within the scope of the appended claims. Such modifications and variations can be understood and achieved by those skilled in the art practicing the claimed invention from the drawings, disclosures, and studies of the appended claims.
Claims
1. 1. A method for signing a video segment including one or more groups of pictures (GOPs), each GOP including a header and one or more coded frames, the method comprising: For each GOP of the one or more GOPs, generating a GOP hash; and digitally signing the GOP hash with a digital signature, thereby generating a signed GOP hash; for each GOP other than a last GOP of the one or more GOPs, not storing the respective signed GOP hash in any portion of the respective GOP including the header of the respective GOP, but instead storing the respective signed GOP hash in the header of a subsequent GOP; adding an additional GOP to the video segment after the last GOP of the one or more GOPs, the additional GOP including a header and one or more encoded frames; storing the signed GOP hash of the last GOP of the one or more GOPs in the header of the additional GOP; A method comprising:
2. The method of claim 1 , wherein the additional GOP includes an empty Intra frame and zero or more empty Inter frames.
3. The method of claim 1 , wherein the additional GOP includes information indicating that the additional GOP is a last GOP of the video segment.
4. Generating the GOP hash includes: generating a frame hash for each encoded frame of the one or more encoded frames of the GOP, thereby generating one or more frame hashes; hashing the one or more frame hashes, thereby generating the GOP hash; The method of claim 1 , comprising:
5. 5. The method of claim 4, wherein generating the GOP hash further comprises hashing the one or more frame hashes with metadata including at least one of a unique identifier of a camera capturing the video segment and a timestamp of the video segment, thereby generating the GOP hash.
6. 5. The method of claim 4, further comprising concatenating the one or more frame hashes with the GOP hash, thereby generating a concatenated GOP hash, and wherein digitally signing the GOP hash further comprises signing the concatenated GOP hash with a digital signature, thereby generating a signed GOP hash.
7. A non-transitory computer readable storage medium having stored thereon instructions for performing the method of any one of claims 1 to 6 when executed on a device having processing capability.
8. 1. An apparatus for signing a video segment including one or more groups of pictures (GOPs), each GOP including a header and one or more coded frames, the apparatus comprising: a GOP hash generation function configured to generate a GOP hash for each GOP of the one or more GOPs; a GOP hash signing function configured to digitally sign the GOP hash for each GOP of the one or more GOPs, thereby generating a respective signed GOP hash for each GOP of the one or more GOPs; an add GOP function configured to add an additional GOP to the video segment after a last GOP of the one or more GOPs, the additional GOP including a header and one or more coded frames; a signed GOP hash storage function configured for each GOP of the one or more GOPs not to store the respective signed GOP hash in any part of the respective GOP including the header of the respective GOP, but instead to store the respective signed GOP hash in the header of a subsequent GOP, wherein the signed GOP hash of the last GOP of the one or more GOPs is stored in the header of the additional GOP; An apparatus comprising:
9. The apparatus of claim 8 , wherein the additional GOP includes an empty intra frame and zero or more empty inter frames.
10. The apparatus of claim 8 , wherein the additional GOP includes information indicating that the additional GOP is a last GOP of the video segment.
11. The GOP hash generation function includes: generating a frame hash for each encoded frame of the one or more encoded frames of the GOP, thereby generating one or more frame hashes; hashing the one or more frame hashes, thereby generating the GOP hash; The apparatus of claim 8 , configured to generate a GOP hash by:
12. 12. The apparatus of claim 11, wherein generating the GOP hash further comprises hashing the one or more frame hashes with metadata including at least one of a unique identifier of a camera capturing the video segment and a timestamp of the video segment, thereby generating the GOP hash.
13. 12. The apparatus of claim 11, further comprising: concatenating the one or more frame hashes with the GOP hash, thereby generating a concatenated GOP hash, and wherein digitally signing the GOP hash further comprises signing the concatenated GOP hash with a digital signature, thereby generating a signed GOP hash.
14. The non-transitory computer-readable storage medium of claim 7, wherein the additional GOP includes an empty intra frame and zero or more empty inter frames.
15. The non-transitory computer-readable storage medium of claim 7, wherein the additional GOP includes information indicating that the additional GOP is the last GOP of the video segment.
16. Generating a GOP hash comprises: generating a frame hash for each encoded frame of the one or more encoded frames of the GOP, thereby generating one or more frame hashes; hashing the one or more frame hashes, thereby generating the GOP hash; 8. The non-transitory computer-readable storage medium of claim 7, comprising:
17. The non-transitory computer-readable storage medium of claim 16, wherein generating the GOP hash further comprises hashing the one or more frame hashes with metadata including at least one of a unique identifier of a camera capturing the video segment and a timestamp of the video segment, thereby generating the GOP hash.
18. The non-transitory computer-readable storage medium of claim 16, further comprising: concatenating the one or more frame hashes with the GOP hash, thereby generating a concatenated GOP hash, and wherein digitally signing the GOP hash further comprises signing the concatenated GOP hash with a digital signature, thereby generating a signed GOP hash.
19. The non-transitory computer-readable storage medium of claim 7, wherein the additional GOP includes an empty intra frame and one or more empty inter frames.