Transmitter, receiver and method in transmitter and receiver for verification of a video sequence - Patents.com

By losing the compression of the video sequence and replacing smaller encoded image frames, a data structure and digital signature containing a smaller amount of data are generated, which solves the problem of increasing the bit rate of the video sequence transmission and realizes efficient video sequence verification.

JP7675229B2Active Publication Date: 2025-05-12AXIS
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024007740
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2023-01-30
Filing Date
2024-01-23
Publication Date
2025-05-12
Estimated Expiration
2044-01-23

Smart Images

  • Figure 0007675229000001
    Figure 0007675229000001
  • Figure 0007675229000002
    Figure 0007675229000002
  • Figure 0007675229000003
    Figure 0007675229000003
Patent Text Reader

Abstract

To provide a method for transmitting digital signatures and cryptographic hash values without sacrificing or degrading the ability of a receiver to verify video sequences.SOLUTION: A method includes: performing lossless compression of each coded image frame to obtain respective losslessly compressed (LC) coded image frames (S502); identifying small frames, each of which has a data size smaller than a predefined number of bytes, among the acquired LC coded image frames (S504); generating a data structure containing individual hash of any of the identified small frames and all coded image frames lacking the respective small frames or all other acquired LC coded image frames that are different from the small frames (S506); generating a digital signature (S512); and providing the data structure and the digital signature to a video sequence (S514).SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a transmitter and a method in a transmitter for enabling verification of a video sequence. The present invention also relates to a receiver and a method in a receiver for verifying a video sequence. In particular, verification is enabled by providing the video sequence with a data structure and a digital signature. [Background technology]

[0002] Digital signatures provide a layer of verification and security to digital messages, such as video sequences containing encoded image frames, transmitted over an insecure channel from a transmitter to a receiver. The transmitter may generate the digital signature by encrypting one or more cryptographic hash values ​​of the video sequence using a private cryptographic key of a private-public cryptographic key pair. The cryptographic hash values ​​may be per-frame cryptographic hash values, and each cryptographic hash value may be a hash value of image data for a respective encoded image frame, or a hash value of image data for that encoded image frame in combination with optional further information. Typically, both the generated digital signature and the per-frame cryptographic hash values ​​used to generate the digital signature are provided to the video sequence by the transmitter prior to transmitting the video sequence to the receiver.

[0003] To verify that the received video sequence is an authentic video sequence from the claimed transmitter and that the received video sequence has not been manipulated, the receiver needs to verify both the digital signature and the received encoded image frames.

[0004] To verify the received digital signature, the receiver of the video sequence decrypts the received digital signature using the public key of the transmitter's private-public cryptographic key pair and compares the decrypted received digital signature to the received cryptographic hash value or values. If the decrypted received digital signature equals, e.g., matches, the received cryptographic hash value, the received digital signature is verified, thereby verifying that the video sequence received by the receiver was digitally signed by the purported transmitter.

[0005] In addition to verifying the digital signature, the receiver needs to verify that the received video sequence is the same as the video sequence transmitted by the transmitter. One way to verify the sequence of the received encoded image frames is for the receiver to generate cryptographic hash values ​​of the encoded image frames in the received video sequence in the same way that the transmitter generated the cryptographic hash values. Thus, there is an agreement between the transmitter and the receiver on how to generate the cryptographic hash values. Once the receiver generates the cryptographic hash value, the receiver compares the generated cryptographic hash value with the received cryptographic hash value, and if they are the same, e.g., match each other, the received video sequence has been verified to be the same as the transmitted video sequence.

[0006] However, adding a digital signature, and in particular adding a cryptographic hash value to a video sequence, increases the bit rate required to transmit the video sequence. Because the available bit rate can be a limiting factor when transmitting a video sequence over a communication channel, there is a need to reduce the bit rate required to transmit the digital signature and the cryptographic hash value without sacrificing or degrading the ability of a receiver to verify the video sequence. Summary of the Invention

[0007] In view of the above, it is therefore an object of the present invention to mitigate the drawbacks associated with the prior art and to enable verification of a video sequence with a reduced necessary bit rate for transmitting the video sequence and with the additional data required for the verification compared to the prior art. A further object is to reduce the size of the additional data, thereby reducing the necessary bit rate for the transmission. A still further object is to provide the video sequence with additional data in the form of a data structure and a digital signature, which data structure and digital signature enable the video sequence to be verified, while at the same time requiring a reduced amount of available bit rate resources for the transmission. A still further object is to propose a transmitter and a computer program having these features. A still further object is to perform the verification of a video sequence provided with a data structure and a digital signature. A still further object is to propose a receiver and a computer program having these features.

[0008] At least some of these objects are achieved by the present invention as defined by the independent claims. The dependent claims relate to advantageous embodiments.

[0009] According to a first aspect of the present disclosure, a method is provided, performed by a transmitter, for enabling verification of a video sequence by providing a data structure and a digital signature for the video sequence, the video sequence including encoded image frames.

[0010] The method includes performing a lossless compression of each encoded image frame of a video sequence to obtain a respective losslessly compressed (LC) encoded image frame.

[0011] Additionally, the method includes identifying one or more small LC-encoded image frames among the captured LC-encoded image frames, each having a data size less than a predefined number of bytes.

[0012] The method further includes generating a data structure including the identified one or more small LC encoded image frames and individual hashes of either all encoded image frames lacking the respective small LC encoded image frame or all other acquired LC encoded image frames that differ from the one or more small LC encoded image frames, where the individual hashes are obtained by individually hashing each of all encoded image frames lacking the respective small LC encoded image frame or by individually hashing each of all other acquired LC encoded image frames, respectively.

[0013] Still further, the method includes generating a digital signature for the video sequence and providing the data structure and the digital signature to the video sequence, thereby enabling a receiver to verify the video sequence.

[0014] By performing lossless compression and by including the identified small LC encoded image frames in the data structure instead of their respective hashes, the size of the data structure may be reduced without compromising the usefulness of the data structure in verifying video sequences.

[0015] In this disclosure, the term "data structure" should be understood as any structure, element, or unit configured to be provided to a video sequence and configured to include information as a text sequence of text, as a binary sequence, i.e., a bit stream, as a sequence of bytes, i.e., a byte stream, or as a combination thereof, to name a few examples. The data structure may be referred to as a document. The data structure is configured to include one or more small LC encoded image frames and one or more individual hashes. The data structure may also include metadata, i.e., data that may be related to the information included in the data structure. Thus, the metadata may be related to one or more small LC encoded image frames and / or one or more individual hashes. As will be explained below, the data structure may include information regarding the location, and optionally the size, of one or more small LC encoded image frames. Thus, location and size are two examples of metadata that may be included in the data structure. Another example of metadata is the type of small LC encoded image frame. As will be explained below, the small LC encoded image frames may be of a first type or a second type, and thus this information may be included in the data structure as metadata.

[0016] As used herein, the expression "all encoded image frames lacking a respective small LC encoded image frame" should be understood as all encoded image frames for which the acquired respective LC encoded image frames are not identified as respective small LC encoded image frames. In other words, all encoded image frames lacking a respective small LC encoded image frame have a respective LC encoded image frame that is not a small LC encoded image frame. Thus, the data size of the respective LC encoded image frames of all encoded image frames lacking a respective small LC encoded image frame is not smaller than a predefined number of bytes, instead, the data size is equal to or greater than the predefined number of bytes.

[0017] As used herein, the expression "all other LC-encoded image frames different from the small LC-encoded image frame" should be understood as captured LC-encoded image frames that are not identified as small LC-encoded image frames. Thus, all other LC-encoded image frames different from the small LC-encoded image frame each have a data size that is not smaller than a predetermined number of bytes, but instead have a data size that is equal to or greater than the predetermined number of bytes.

[0018] As used herein, "digital signature" refers to a digital code provided to a transmitted video sequence to verify the identity of the sender. The digital code is generated and authenticated by private / public key cryptography. More specifically, the sender generates the digital code using the private key of the sender's cryptographic key pair, and the receiver authenticates the digital code using the public key of the sender's cryptographic key pair.

[0019] As used herein, the expression "performing lossless compression of each encoded image frame" means compressing each encoded image frame into a compressed encoded image frame without loss of image information. The compressed encoded image frame may have a data size equal to or smaller than the encoded image frame. The compressed encoded image frame may have a data size larger than the encoded image frame, in which case the encoded image frame may be used as the compressed encoded image frame. In other cases, lossless compression may result in a compressed encoded image frame that includes a reference to another encoded image frame. The other encoded image frame may be a previous encoded image frame in a video sequence or a stored encoded image frame. Importantly, no image information is lost when performing lossless compression. Since no image information is lost in lossless compression, the original encoded image frame may be completely reconstructed from the compressed encoded image frame without loss of image quality. The operation of reconstructing the original encoded image frame from the compressed encoded image frame may be referred to as decompressing the compressed encoded image frame into the original encoded image frame. The compressed encoded image frames are referred to in this disclosure as losslessly compressed (LC) encoded image frames.

[0020] Some examples of lossless compression algorithms are Huffman coding, arithmetic coding, codebook-based coding, and run-length coding. A device that performs lossless compression as described above is referred to herein as a lossless compression module configured to perform lossless compression of encoded image frames.

[0021] In this disclosure, "losslessly compressed (LC) encoded image frame" means an image frame that results from lossless compression of an encoded image frame.

[0022] The expression "individually hashing the encoded image frames" means applying a hash function (or one-way function) to each individual encoded image frame to obtain an individual hash. The hash function may be a cryptographic hash function that provides a level of security that is considered sufficient, having regard to the confidentiality of the video sequence to be signed and / or the value at stake if the video sequence is manipulated by an unauthorized party. Three examples of hash functions are Secure Hash Algorithm 256 bits (SHA-256), Secure Hash Algorithm 3 512 bits (SHA3-512), and Rivest-Shamir-Adleman 1024 bits (RSA-1024). The hash function shall be predefined so that the individual hashes can be regenerated when the digital signature and / or data structure is to be verified by a receiver (e.g., the hash function shall be reproducible).

[0023] As used herein, "individual hash" refers to an individual cryptographic hash value obtained by applying a hash function to an individual encoded image frame or an individual LC encoded image frame.

[0024] According to a second aspect of the present disclosure, there is provided a method performed by a receiver for verifying a video sequence provided with a data structure and a digital signature, the video sequence including encoded image frames.

[0025] The method includes receiving, from a transmitter, a video sequence including encoded image frames and provided with a data structure and a digital signature.

[0026] The received data structure is one or more small losslessly compressed (LC) encoded image frames, each small LC encoded image frame having a data size smaller than a predefined number of bytes and being an LC version of a respective transmitted encoded image frame included in a video sequence transmitted from a transmitter; an individual hash of either all transmitted encoded image frames lacking the respective small LC encoded image frame, or all other LC encoded image frames that are different from one or more of the small LC encoded image frames; Each of the other LC encoded image frames is an LC version of a respective transmitted encoded image frame included in the transmitted video sequence.

[0027] The method further includes validating the received digital signature using the received data structure, and validating the received encoded image frames as equal to the transmitted encoded image frames using the received data structure, such that the received video sequence is verified as equal to the transmitted video sequence when the received digital signature and the received encoded image frames are validated.

[0028] According to a third aspect of the present disclosure, there is provided a transmitter for enabling verification of a video sequence by providing the video sequence with a data structure and a digital signature, the transmitter comprising a processing circuit configured to cause the transmitter to perform any of the operations of the method of the first aspect.

[0029] According to a fourth aspect of the present disclosure, there is provided a receiver for verifying a video sequence provided with a data structure and a digital signature, the receiver comprising processing circuitry configured to cause the receiver to perform any of the operations of the method of the second aspect.

[0030] According to a fifth aspect of the present disclosure, there is provided a non-transitory computer readable medium having stored thereon computer code instructions adapted to perform the method of the first aspect when executed by a device having processing capability.

[0031] According to a sixth aspect of the present disclosure there is provided a non-transitory computer readable medium having stored thereon computer code instructions adapted to perform the method of the second aspect when executed by a device having processing capability.

[0032] The second, third, fourth, fifth and sixth embodiments may generally have the same features and advantages as the first embodiment.

[0033] The present disclosure further relates to Contains instructions for causing a computer to perform any one of the above methods. It relates to a computer program. The computer program may be stored on or distributed on a data carrier. A "data carrier" as used herein may be a transitory data carrier, such as a modulated electromagnetic or light wave, or a non-transitory data carrier. Non-transitory data carriers include volatile and non-volatile memories, such as permanent and non-permanent storage media of the magnetic, optical, or solid-state type. Still within the scope of a "data carrier", such memories may be fixedly attached or portable.

[0034] In general, all terms used in the claims should be interpreted according to their ordinary meaning in the art, unless expressly defined otherwise herein. All references to "a / an / the element, apparatus, component, means, step, etc." should be openly interpreted as referring to at least one example of the element, apparatus, component, means, step, etc., unless expressly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless expressly stated otherwise. It is further noted that the present invention relates to all possible combinations of features disclosed herein, unless expressly stated otherwise.

[0035] The above, as well as additional objects, features and advantages of the present invention will be better understood from the following illustrative and non-limiting detailed description of embodiments of the invention, with reference to the accompanying drawings, in which like reference numerals are used for similar elements, and in which: [Brief description of the drawings]

[0036] [Figure 1] FIG. 1 illustrates a schematic representation of an embodiment of a system for enabling verification of a video sequence and for verifying a video sequence. [Figure 2A] FIG. 2 illustrates a schematic diagram of a video sequence according to an embodiment; [Figure 2B] 2A-2C are diagrams illustrating generally a sequence of encoded image frames, a corresponding sequence of LC encoded image frames, and two examples of data structure contents according to an embodiment; [Diagram 3] FIG. 2 is a schematic diagram of a transmitter according to an embodiment; [Figure 4] FIG. 2 shows a schematic diagram of a receiver according to an embodiment; [Diagram 5] 1 is a flowchart of a method implemented by a transmitter for enabling verification of a video sequence, according to an embodiment. [Figure 6] 4 is a flowchart of a method implemented by a receiver for verifying a video sequence according to an embodiment; [Figure 7A] 4 is a flowchart of a sub-method implemented by a receiver for validating a received encoded image frame according to an embodiment; [Figure 7B] 4 is a flowchart of a sub-method implemented by a receiver for validating a received encoded image frame according to an embodiment; [Figure 7C] 4 is a flowchart of a sub-method implemented by a receiver for validating a received encoded image frame according to an embodiment; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0037] Aspects of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings, in which several embodiments of the present invention are shown. However, these aspects may be embodied in many different forms and should not be construed as limiting, but rather these embodiments are provided as examples so that this disclosure will be thorough and complete, and will fully convey the scope of all aspects of the present invention to those skilled in the art. Like numbers refer to like elements throughout the description.

[0038] In order to overcome or mitigate the constraints of bitrate availability when transmitting video sequences over communication networks, in particular when transmitting video sequences having additional data enabling verification of the video sequence, the present invention relates to reducing the size of the additional data without reducing the reliability of the verification. In this disclosure, the additional data are data structures and digital signatures. In particular, the present invention relates to reducing the size of the data structures by reducing the size of the contents of the data structures while keeping the verification reliable.

[0039] Before going into details regarding how the data structures and digital signatures enable verification of a provided video sequence, and how to verify the video sequence, the components of a system in which the present invention may be implemented will be described.

[0040] With reference to FIG. 1, an embodiment of a system 100 for enabling verification of a video sequence and for verifying a video sequence is described. The system 100 comprises a transmitter 110 configured to enable verification of a video sequence. The transmitter 110 may comprise or be connected to one or more cameras 112. Alternatively, the transmitter 110 may be included in the camera 112. The transmitter 110 and the one or more cameras 112 may be referred to as a camera system. The camera system may be included in a single unit, i.e., one unit comprising the transmitter 110 and the one or more cameras 112, or in several separate units. The camera 112 may be a monitoring camera, sometimes referred to as a surveillance camera. Furthermore, the camera 112 may be a fixed camera, such as a stationary camera, or a movable camera, such as a pan, tilt and zoom (PTZ) camera. The camera 112 may be a visible light camera, a thermal camera, or a camera comprising both visible light and thermal cameras. Camera 112 may include several components associated with image capture, e.g., a capture module, and image processing, e.g., an encoding module, that are common in conventional camera systems and whose purpose and operation are well known to those skilled in the art. Such components have been omitted from the illustration and description of FIG. 1 for clarity.

[0041] As further shown in FIG. 1, the transmitter 110 is configured to communicate with the receiver 130 via a communication network 120. The communication network 120 may be a wired or wireless communication network through which the transmitter 110 transmits video sequences to the receiver 130. The receiver 130 may include or be connected to a display device 150 configured to display the video sequences received by the receiver 130 to an operator. The transmitter 110 and the receiver 130 are configured to communicate with a data storage 122, either directly or via the communication network 120. The data storage 122 may be configured to store data related to the video sequences, such as data related to the encoded image frames and / or the LC encoded image frames. For example, the data storage 122 may include predefined encoded image frames 220e. The predefined encoded image frames 220e may be stored in the data storage 122 as a look-up table, with each stored predefined encoded image frame 220e identified by an identifier, sometimes referred to as an index or key. In some embodiments, the lookup table is a codebook and the index / key is a codeword. The data storage 122 may be a non-volatile memory. Additionally, the data storage may include a common library.

[0042] It should be understood that there are many combinations of wireless and wired transmission models that may be used for transmission between the transmitter 110 and the communications network 120, between the communications network 120 and the receiver 130, and between the data storage 122 and the transmitter 110, the communications network 120 and the receiver 130, and that FIG. 1 shows only one example.

[0043] FIG. 2A illustrates a schematic diagram of an exemplary video sequence 200 according to an embodiment. The video sequence 200 includes several encoded image frames 220. An encoded image frame that is used as a reference for predictive coding of other frames is called a reference frame. A frame that is encoded without information from other frames is called an intracoded frame, an intraframe, an I-frame, or a keyframe. A frame that uses prediction from one or more reference frames is called an intercoded frame or an interframe. A P-frame is an interframe that uses prediction from one or more previous reference frames (or one or more frames for the prediction of each region), and a B-frame is an interframe that uses prediction from a (possibly weighted) average of two reference frames, one or more previous frames, and / or one or more subsequent frames. A frame may be referred to as a picture.

[0044] The encoded image frames 220 may be arranged in one or more groups of pictures (GOPs). In FIG. 2A, the encoded image frames 220 are arranged in a number of GOPs, of which a first GOP 210a and a second GOP 210b are shown. As shown in the exemplary video sequence 200, the first GOP 210a consists of a first I-frame I0, a first P-frame P00, a second P-frame P01, and a third P-frame P02, and the second GOP 210b consists of a first I-frame I1, a first P-frame P10, a second P-frame P11, and a third P-frame P12.

[0045] There are several conventional video encoding protocols. Some common video encoding protocols that work with various embodiments of the present invention include High Efficiency Video Coding (HEVC), also known as H.265 and MPEG-H Part 2, Advanced Video Coding (AVC), also known as H.264 and MPEG-4 Part 10, Generic Video Coding (VVC), also known as H.266, MPEG-I Part 3 and Future Video Coding (FVC), VP9, ​​VP10 and AOMedia Video 1 (AV1), to name a few.

[0046] A method performed by the sender 110 for enabling verification of the video sequence 200 by providing it with a data structure 320 and a digital signature 340 will now be described with reference to the flow chart of Figure 5 and with reference to Figure 3, which shows a schematic representation of the sender 110 according to an embodiment. Reference is also made to Figure 2B, which shows a schematic illustration of a sequence of encoded image frames, a corresponding sequence of LC encoded image frames and two examples of data structure contents according to an embodiment.

[0047] As previously mentioned, the video sequence 200 includes encoded image frames 220, and the video sequence 200 may be composed of at least one group of pictures (GOP) 210a, 210b. As shown in Figure 2B, the sequence of encoded image frames may include encoded image frames I0, P00, P01, P02, I1, P10, P11, P12, P13, and I2, where encoded image frames I0, P00, P01, and P02 may be included in one GOP, encoded image frames I1, P10, P11, P12, and P13 may be included in another GOP, and encoded image frame I2 may be included in yet another GOP.

[0048] The encoded image frames 220 of the video sequence 200 may have been acquired from a camera 112 that captured several image frames depicting a scene and encoded the captured image frames into the encoded image frames 220. The camera 112 may provide the encoded image frames 220 to an acquisition module 114 of the transmitter 110. If the camera 112 is included in the transmitter 110 (then referred to as a camera system 110), the camera 112 implements the acquisition module of the transmitter 110. In other cases, where the camera 112 is external to and connected to the transmitter 110, the acquisition module 114 of the transmitter 110 may be implemented by an internal data storage configured to receive the encoded image frames 220 from the camera 112 and store the received encoded image frames 220 in the internal data storage.

[0049] In step S502, the transmitter 110 performs lossless compression of each encoded image frame 220 of the video sequence 200 to obtain a respective LC encoded image frame 220LC. This is performed to obtain a respective LC encoded image frame having a size equal to or smaller than the size of the losslessly compressed encoded image frame 220, while at the same time obtaining a respective LC encoded image frame having the same image quality as the losslessly compressed encoded image frame 220. As shown in FIG. 2B, the sequence of LC encoded image frames includes LC encoded image frame I0 LC , P00 LC , P01 LC , P02 LC , I1 LC , P10 LC , P11 LC , P12 LC , P13 LC , and I2 LC2B by the arrows from one encoded image frame of the sequence of encoded image frames to one LC encoded image frame of the sequence of LC encoded image frames. For example, lossless compression of encoded image frame I0 results in LC encoded image frame I0. LC and the lossless compression of the encoded image frame P00 results in the LC encoded image frame P00 LC and the lossless compression of the encoded image frame P01 results in the LC encoded image frame P01 LC Thus, as shown in FIG. 2B, each encoded image frame has a respective LC encoded image frame.

[0050] The lossless compression may be performed based on one or more of Huffman coding, arithmetic coding, codebook-based coding, and run-length coding, to name a few examples. Step S502 may be performed by a lossless compression module 116 included in the transmitter 110 and configured to perform lossless compression of the encoded image frames.

[0051] As mentioned above, the purpose of lossless compression is to obtain each LC encoded image frame 220LC having a data size equal to or smaller than the data size of its respective encoded image frame 220. However, lossless compression does not always result in each LC encoded image frame 220LC having an equal or reduced data size compared to the data size of its respective encoded image frame 220. Thus, the lossless compression module 116 compares the size of each LC encoded image frame 220LC with the size of its respective encoded image frame 220, and if the respective LC encoded image frame 220LC has a larger size, the lossless compression module 116 outputs the respective encoded image frame 220 as an LC encoded image frame. An alternative way to reduce the size of an LC encoded image frame is to create the LC encoded image frame such that it lacks image information but includes a reference to, and possibly a difference to, another encoded image frame, such as a stored predefined encoded image frame 220e. This may be the case when the transmitter 110 determines that the encoded image frame on which lossless compression was performed is a skip frame.

[0052] "Skip frame" means a type of inter frame that represents image data by only referencing (e.g., by only including references to) image data in other frames without residual values. When decoding a skip frame, a decoder uses the referenced image data as a representation of the image data represented by the skip frame without making any adjustments (because there are no residual values).

[0053] In step S504, the transmitter 110 identifies one or more small LC-encoded image frames 220LCb-1, 220LCb-2 among the acquired LC-encoded image frames 220LC, each having a data size smaller than a predefined number of bytes. The predefined number of bytes may be set depending on the hash function used. For example, the predefined number of bytes may be 64 bytes (512 bits), 48 bytes (384 bits) or 32 bytes (256 bits) for a SHA-2 hash, and 20 bytes (160 bits) for a SHA-1 hash. An identification module 117 included in the transmitter 110 and configured to identify one or more small LC-encoded image frames may perform step S504. The identification module 117 may be included in the lossless compression module 116. Alternatively, the identification module 117 may be included in the data structure generation module 118 of the transmitter 110. The data structure generation module 118 is described below.

[0054] The one or more identified small LC encoded image frames 220LCb-1, 220LCb-2 may be of a first type of small LC encoded image frame 220LCb-1, each of which has a data size smaller than a predefined number of bytes and is equal to the (original) encoded image frame 220 on which lossless compression has been performed, or is equal to the LC encoded image frame 220LC of the (original) encoded image frame 220 when the LC encoded image frame 220LC is smaller than the (original) encoded image frame 220 and has a data size smaller than a predefined number of bytes.

[0055] The former may be, for example, when lossless compression of the encoded image frame 220 having a data size smaller than a predefined number of bytes results in the same encoded image frame 220, or when lossless compression of the encoded image frame 220 results in an LC encoded image frame 220LC that is larger than the encoded image frame 220. As mentioned above, in this case, the lossless compression module 116 performing the lossless compression outputs the original encoded image frame 220 as LC encoded image frame 220LCb-1.

[0056] Thus, in some embodiments, at least one of the identified one or more small LC encoded image frames 220LCb-1, 220LCb-2 is a first type small LC encoded image frame 220LCb-1 and is equal to its respective encoded image frame 220 or equal to the LC encoded image frame 220LC of the encoded image frame 220.

[0057] Alternatively or additionally, one or more of the identified small LC encoded image frames 220LCb-1, 220LCb-2 may be of a second type of small LC encoded image frame 220LCb-2, each of which is equal to a portion of the stored encoded image frame 220e and includes an identifier of the stored encoded image frame 220e and possibly also a difference.

[0058] This may be the case when the losslessly compressed encoded image frame 220 is identical to the stored encoded image frame 220e or partially identical to the stored encoded image frame 220e. If the encoded image frame is a skip frame, there is no difference between the stored encoded image frame 220e and the encoded image frame 220, and therefore the second type of small LC encoded image frame 220LCb-2 only contains an identifier of the stored encoded image frame 220e and no difference.

[0059] However, the encoded image frame 220 may be partially identical to the stored encoded image frame 220e, in which case the second type small LC encoded image frame 220LCb-2 may include an identifier of the stored encoded image frame 220e and a difference. The difference may relate to a portion of another constant image frame that is updated or changed at some point in time. For example, the difference may relate to a counter, or a clock, included in the encoded image frame 220, and the difference is the only thing that makes the encoded image frame 220 different from the stored encoded image frame 220e. In such a case, the difference included in the second type small LC encoded image frame 220LCb-2 relates to the time of the counter value or the clock.

[0060] Thus, in some embodiments, at least one of the identified one or more small LC encoded image frames 220LCb-1, 220LCb-2 is a second type small LC encoded image frame 220LCb-2 and includes an identifier of the stored predefined encoded image frame 220e and possible differences between the second type small LC encoded image frame 220LCb-2 and the stored predefined encoded image frame 220e.

[0061] A data structure 320 is needed to enable verification of the video sequence. Thus, in step S506, the transmitter 110 generates a data structure 320 including the identified small LC encoded image frame(s) 220LCb-1, 220LCb-2 and individual hashes. The individual hashes included in the data structure 320 can be generated in two ways. First, the individual hashes can be individual hashes of all encoded image frames 220 lacking the respective small LC encoded image frame(s) 220LCb-1, 220LCb-2, as shown in the first data structure 320-1 of FIG. 2B. Second, the individual hashes can be individual hashes of all other acquired LC encoded image frames 220LCa that are different from the small LC encoded image frame(s) 220LCb-1, 220LCb-2, as shown in the alternative second data structure 320-2 of FIG. 2B. Thus, the individual hash is either an individual hash of all encoded image frames 220 lacking the respective small LC encoded image frame 220LCb-1, 220LCb-2, or all other acquired LC encoded image frames 220LCa that are different from one or more small LC encoded image frames 220LCb-1, 220LCb-2. The transmitter 110 obtains the individual hash by individually hashing each of all encoded image frames 220 lacking the respective small LC encoded image frame 220LCb-1, 220LCb-2, or by individually hashing each of all other acquired LC encoded image frames 220LCa, respectively. The data structure will be used by the receiver 130 when verifying the video sequence, as described below. The transmitter 110 includes a data structure generation module 118 configured to generate the data structure, which may perform step S506.

[0062] In the example shown in FIG. 2B, LC-encoded image frame P01 LC , P02 LC , I1 LC , P12 LC , and I2LC are identified as being small LC-encoded image frames 220LCb-1, 220LCb-2, and therefore both the illustrated first data structure 320-1 and the alternative second data structure 320-2 include these small LC-encoded image frames P01 LC , P02 LC , I1 LC , P12 LC , and I2 LC Includes.

[0063] In addition to the small LC encoded image frames, the first data structure 320-1 includes the individual hashes of all encoded image frames 220 minus the respective small LC encoded image frames 220LCb-1, 220LCb-2. Thus, in the illustrated example, the (first) data structure includes the individual hashes H I0 , H P00 , H P10 , and H P13 Also includes.

[0064] The alternative second data structure 320-2 includes, in addition to the small LC-encoded image frames, individual hashes of all other captured LC-encoded image frames 220LCa that are different from the identified small LC-encoded image frames 220LCb-1, 220LCb-2. Thus, the alternative (second) data structure includes the LC-encoded image frames I0 LC , P00 LC , P10 LC , and P13 LC The individual hashes H I0LC , H P00LC , H P10LC , and H P13LC Also includes.

[0065] The data structure 320 may be referred to as a document containing a reduced hash list. The hash list is reduced because it does not only contain hashes for all encoded image frames as the full hash list would, but the reduced hash list contains the small LC encoded image frames as is, i.e., unhashed, instead of the hashes of the small LC encoded image frames. This is in contrast to the case where the data structure is a document containing a full hash list of each individual hash for each encoded image frame of the video sequence. Specifically, this data structure 320 contains an LC encoded image frame for each LC encoded image frame identified as small, and an individual hash of either all encoded image frames 220 lacking the respective small LC encoded image frame, or all LC encoded image frames having a size equal to or greater than a predefined number of bytes. The reduced hash list therefore consists only of the identified small LC encoded image frame(s) 220LCb-1, 220LCb-2 and either all encoded image frames 220 lacking the respective small LC encoded image frame(s) 220LCb-1, 220LCb-2, or all other obtained LC encoded image frames 220LCa that differ from the one or more small LC encoded image frames 220LCb-1, 220LCb-2.

[0066] In an embodiment where the video sequence is composed of GOPs, the transmitter 110 generates one data structure 320 and one digital signature 340 for one or more GOPs 210a, 210b. The transmitted video sequence can thereby be verified by the receiver 130 for each GOP, rather than for the entire video sequence. This is advantageous for the receiver 130 because if one or more encoded image frames or GOPs cannot be verified, the receiver can still trust the authenticity of the verified GOPs and the encoded image frames of the verified GOPs. This is in contrast to the case where the video sequence must be verified in its entirety, and if the entire video sequence cannot be verified, the receiver cannot trust the authenticity of any of the encoded image frames of the video sequence.

[0067] It is sometimes advantageous to provide information regarding where each of the small LC encoded image frames is located in the data structure. This may, for example, simplify receiver 130 to find and extract the small LC encoded image frames from the received data structure. As explained below when describing the method performed by receiver 130, when receiver 130 identifies the received encoded image frames, it may use the extracted small LC encoded image frames to generate, i.e., reconstruct, their corresponding transmitted encoded image frames and their hashes, as will be explained below when describing the method performed by receiver 130.

[0068] Therefore, some embodiments include step S508, in which the transmitter 110 determines, for each small LC encoded image frame 220LCb-1, 220LCb-2, a position of each small LC encoded image frame 220LCb-1, 220LCb-2 in the data structure 320. In step S508, the transmitter 110 may also determine a data size of each small LC encoded image frame 220LCb-1, 220LCb-2. Step S508 may be performed by a determination module 119 included in the transmitter 110 and configured to determine a position of each small LC encoded image frame in the data structure. The determination module 119 may be included in the lossless compression module 116. Alternatively, the determination module 119 may be included in the data structure generation module 118 of the transmitter 110. The embodiment may also include a step S510, in which the transmitter 110 provides to the data structure 320 information specifying a position in the data structure 320 and, optionally, a data size of each small LC-encoded image frame 220LCb-1, 220LCb-2. Providing the position specification information to the data structure 320 may be performed by the data structure generation module 118.

[0069] A digital signature is also required to enable verification of the video sequence. Thus, in operation S512, the sender 110 generates a digital signature 340 for the video sequence 200. This step may be performed by a digital signature generation module 124 configured to generate digital signatures and included in the sender 110.

[0070] The sender 110 may have access to a private-public key pair and may use the private key of the private-public key pair to: a hash of the data structure 320, or A hash of the individual hashes of either all the coded image frames 220 of the video sequence 200 or all the captured LC coded image frames 220LC, 220LCa, 220LCb-1, 220LCb-2 A digital signature may be generated by encrypting either

[0071] The private key of the private-public key pair may be stored in a secure storage accessible only by the transmitter 110. The secure storage may be a secure element (SE), such as a secure operating system (OS) in a tamper-resistant processor chip or secure component, or a trusted platform module (TPM), such as a secure crypto processor or secure chip. The public key of the transmitter's private-public key pair may be stored in a data storage accessible by the receiver 130, such as the data storage 122. Alternatively, the public key of the transmitter's private-public key pair may be transmitted to the receiver 130 along with the video sequence 200. For example, the public key of the transmitter's private-public key pair may be included in or added to the video sequence 200.

[0072] In operation S514, the sender 110 provides the video sequence 200 with the data structure 320 and the digital signature 340, thereby enabling the receiver 130 to verify the video sequence 200. A providing module 126 included in the sender 110 and configured to provide the video sequence with the data structure and the digital signature may perform step S514.

[0073] The transmitter 110 may provide the data structure 320 and the digital signature 340 in a supplemental information unit (SIU) of the video sequence 200, for example, via the providing module 126. A supplemental information unit is a unit or message configured to include supplemental information about or related to a video sequence. A supplemental information unit may be, for example, a supplemental enhancement information (SEI) message in the H.26x encoding format or a metadata open bitstream unit (OBU) in the AV1 encoding format.

[0074] Receiver 130 may verify the received video sequence using the received digital signature and the received data structure, as described in more detail below.

[0075] A method performed by the receiver 130 for verifying a video sequence 200' provided with a data structure 320 and a digital signature 340 will now be described with reference to the flow chart of Figure 6 and the embodiment of the receiver 130 shown diagrammatically in Figure 4. The video sequence 200' comprises encoded image frames 220'.

[0076] In step S602, the receiver 130 receives the video sequence 200' from the transmitter 110, including the encoded image frames 220' and provided with the data structure 320 and the digital signature 340. Preferably, the video sequence 200' received by the receiver 130 and the video sequence 200 transmitted by the transmitter 110 are identical. However, the transmitted video sequence may be manipulated after its delivery and before its reception, and thus the reference number 200 is used for the transmitted video sequence and the reference number 200' is used for the received video sequence. Step S602 may be performed by a receiving module 132 included in the receiver 130 and configured to receive the video sequence.

[0077] The received data structure 320 includes one or more small LC encoded image frames 220LCb-1, 220LCb-2, each having a data size smaller than a predefined number of bytes and being an LC version of a respective transmitted encoded image frame 220 included in the video sequence 200 transmitted from the transmitter 110. The received data structure 320 also includes an individual hash of either all transmitted encoded image frames 220 lacking the respective small LC encoded image frame 220LCb-1, 220LCb-2, or all other LC encoded image frames 220LCa that are different from the one or more small LC encoded image frames 220LCb-1, 220LCb-2. Each of all other LC encoded image frames 220LCa is an LC version of a respective transmitted encoded image frame 220 included in the transmitted video sequence 200.

[0078] As mentioned above, when describing the method performed by the transmitter 110, the predefined number of bytes may be set depending on the hash function used. It is understood that since the transmitter 110 and the receiver 130 use the same hash function, the predefined number of bytes set in the transmitter 110 is the same as the predefined number of bytes used in the receiver 130. The predefined number of bytes may be pre-set in the receiver 130 or information regarding the predefined number of bytes used by the transmitter 110 may be transmitted from the transmitter 110 to the receiver 130, for example together with the video sequence.

[0079] In step S604, the receiver 130 verifies the received digital signature 340 using the received data structure 320. Step S604 may be performed by a verification module 134 included in the receiver 130 and configured to verify the digital signature.

[0080] In some embodiments, the receiver 130 has access to the public key of the transmitter 110's private-public key pair. In such embodiments, the receiver 130 validates the received digital signature 340 by decrypting the received digital signature 340 using the public key and validating the received digital signature 340 when the hash of the received data structure 320 matches the decrypted received digital signature 340. Alternatively, the received digital signature 340 is validated when the hash of all the individual hashes for all the LC encoded image frames provided by the received data structure 340 matches the decrypted received digital signature 340. As a further alternative, the received digital signature 340 is validated when the hash of all the individual hashes for all the encoded image frames provided by the received data structure 340 matches the decrypted received digital signature 340.

[0081] In step S606, the receiver 130 uses the received data structure 320 to verify the received encoded image frame 220' as equal to the transmitted encoded image frame 220. Step S606 may be performed by a verification module 134 included in the receiver 130 and configured to verify the encoded image frames. The received video sequence 200' is verified as equal to the transmitted video sequence 200 when the received digital signature 340 and the received encoded image frame 220' are verified.

[0082] Checking the received encoded image frame 220' (step S606) Next, the validation of the received encoded image frame 220' (step S606) will be described in more detail with reference to several different embodiments. Before going into details, it may be said that in general the validation is performed by comparing a hash of the received encoded image frame with a hash of the encoded image frame provided by a received data structure (as in several first embodiments below), by comparing a hash of the LC received encoded image frame with a hash of the LC encoded image frame provided by a received data structure (as in several second embodiments below), or by comparing a received data structure with a generated data structure (as in several third embodiments below).

[0083] It should further be recalled that the data structure 320 transmitted by the transmitter 110 and received by the receiver 130 includes, in addition to one or more small LC encoded image frames 220LCb-1, 220LCb-2, individual hashes of either all transmitted encoded image frames 220 lacking the respective small LC encoded image frames 220LCb-1, 220LCb-2 (as in the case of some first embodiments below), or all other LC encoded image frames 220LCa that are different from one or more small LC encoded image frames 220LCb-1, 220LCb-2 (as in the case of some second and third embodiments below).

[0084] Some first embodiments In some first embodiments, the received data structure 320 includes, in addition to the small LC encoded image frames 220LCb-1, 220LCb-2, individual hashes of all transmitted encoded image frames 220 lacking the respective small LC encoded image frames 220LCb-1, 220LCb-2. In such first embodiments, the receiver 130 must generate hashes of the received encoded image frames and must determine the individual hashes of each encoded image frame of the one or more small LC encoded image frames 220LCb-1, 220LCb-2 included in the received data structure 320. Thus, verifying the received encoded image frame 220' as equal to the transmitted encoded image frame 220 using the received data structure 320 (step S606) includes four sub-steps S606.1.1 to S606.1.4 shown in FIG. 7A.

[0085] In substep S606.1.1, receiver 130 generates an individual hash of each received encoded image frame 220' included in the received video sequence 200'. A hash generation module 136 included in receiver 130 may perform the generation of the individual hashes.

[0086] In sub-step S606.1.2, the receiver 130 performs lossless decompression of each of one or more small LC encoded image frames 220LCb-1, 220LCb-2 included in the received data structure 320 to obtain a respective encoded image frame. By performing lossless decompression on the LC encoded image frame 220LC, the (original) encoded image frame 220 on which the transmitter 110 performed lossless compression to obtain the LC encoded image frame is obtained. Some examples of lossless decompression algorithms are Huffman decoding, arithmetic decoding, codebook-based decoding, and run-length decoding. A lossless decompression module 138 included in the receiver 130 may perform the lossless decompression.

[0087] In substep S606.1.3, receiver 130 generates an individual hash of each captured respective encoded image frame 220. This may be performed by hash generation module 136.

[0088] In sub-step S606.1.4, receiver 130 validates the received encoded image frames 220' as equal to the transmitted encoded image frames 220 when the generated individual hash of each received encoded image frame 220' included in the received video sequence 200' matches the generated individual hash of each captured respective encoded image frame 220. This may be performed by validation module 134.

[0089] Some second embodiments In some second embodiments, the received data structure 320 includes, in addition to the small LC encoded image frames 220LCb-1, 220LCb-2, individual hashes of all other LC encoded image frames 220LCa that are different from the one or more small LC encoded image frames 220LCb-1, 220LCb-2. In such second embodiments, validating the received encoded image frame 220' as equal to the transmitted encoded image frame 220 using the received data structure 320 (step S606) includes four sub-steps S606.2.1 to S606.2.4 shown in FIG.

[0090] In substep S606.2.1, the receiver 130 performs a lossless compression of each received encoded image frame 220' included in the received video sequence 200' to obtain a respective LC received encoded image frame 220LC', 220LCa', 220LCb-1', 220LCb-2'. Some examples of lossless compression algorithms are Huffman coding, arithmetic coding, codebook-based coding, and run-length coding. A lossless compression module 140 included in the receiver 130 may perform the lossless compression.

[0091] In substep S606.2.2, the receiver 130 generates an individual hash of every captured respective LC received encoded image frame 220LC′, 220LCa′, 220LCb-1′, 220LCb-2′. This may be performed by the hash generation module 136.

[0092] In substep S606.2.3, the receiver 130 generates individual hashes for all LC-encoded image frames 220LC, 220LCa, 220LCb-1, 220LCb-2 provided by the received data structure 320. Since the individual hashes of all other LC-encoded image frames 220LCa that are different from the one or more small LC-encoded image frames 220LCb-1, 220LCb-2 are included in the received data structure 320, the receiver 130 can retrieve them directly from the data structure 320. Furthermore, the receiver 130 retrieves the one or more small LC-encoded image frames 220LCb-1, 220LCb-2 included in the received data structure 320 and then hashes them individually. The receiver 130 generates the individual hashes differently depending on whether the one or more small LC-encoded image frames 220LCb-1, 220LCb-2 are of the first type or the second type. Substep S606.2.3 may be performed by a hash generation module. A detailed description of the generation of the individual hashes is provided after the description of substep S606.2.4.

[0093] In substep S606.2.4, receiver 130 validates received encoded image frame 220' as equal to transmitted encoded image frame 220 when the generated individual hashes for all LC encoded image frames 220LC, 220LCa, 220LCb-1, 220LCb-2 provided by received data structure 320 match the generated individual hashes of all obtained respective LC received encoded image frames 220LC', 220LCa', 220LCb-1', 220LCb-2'. This may be performed by validation module 134.

[0094] Generation of individual hashes for every LC-encoded image frame (substep S606.2.3) Next, how the receiver 130 generates individual hashes for all LC-encoded image frames 220LC, 220LCa, 220LCb-1, 220LCb-2 provided by the received data structure 320 (substep S606.2.3 above) is explained in more detail with reference to two scenarios.

[0095] In a first scenario, the one or more small LC encoded image frames 220LCb-1 are of a first type and are equal to the encoded image frame 220 having a data size smaller than a predefined number of bytes, or are equal to the LC encoded image frame 220LC of the encoded image frame 220 when the LC encoded image frame 220LC is smaller than the encoded image frame 220 and has a data size smaller than a predefined number of bytes. The encoded image frame 220 is an original encoded image frame transmitted by the transmitter 110. The small LC encoded image frame 220LCb-1 is equal to the encoded image frame 220 when the LC encoded image frame obtained by the lossless compression module 116 of the transmitter when performing lossless compression on the original encoded image frame has a size larger than the original encoded image frame, and the lossless compression module 116 outputs the original encoded image frame as the obtained LC encoded image frame. Thus, in the first scenario, one or more of the small LC encoded image frames 220LCb-1, 220LCb-2 is a first type small LC encoded image frame 220LCb-1, equal to its respective transmitted encoded image frame 220 or equal to the LC encoded image frame 220LC of the encoded image frame 220. The received data structure 320 further includes information specifying the location in the data structure 320, and optionally the size, of the first type small LC encoded image frame 220LCb-1. In this first scenario, generating individual hashes for all LC encoded image frames 220LCa, 220LCb-1, 220LCb-2 provided by the received data structure 320 is extracting from the received data structure 320 the individual hashes of the small LC-encoded image frame 220LCb-1 of the first type and of all other LC-encoded image frames 220LCa; - generating individual hashes of the extracted small LC-encoded image frames 220LCb-1 of the first type by hashing them individually; generating individual hashes for all LC-encoded image frames 220LCa, 220LCb-1, 220LCb-2 as a combination of the generated individual hashes of the extracted first type small LC-encoded image frame 220LCb-1 and the extracted individual hashes of all other LC-encoded image frames 220LCa; Includes.

[0096] In a second scenario, one or more small LC encoded image frames 220LCb-2 are of a second type. This may be the case when the transmitter 110 determines that each (original) encoded image frame 220 of the second type small LC encoded image frame 220LCb-2 is equal to a portion of the stored encoded image frame 220e. For example, when the transmitter 110 determines, for example, by the lossless compression module 116, that each encoded image frame 220 is a skip frame that is identical to the stored encoded image frame 220e, the second type small LC encoded image frame 220LCb-2 may be generated to include only an identifier of the stored encoded image frame 220e without other image data. As another example, the transmitter 110 may determine, for example, by the lossless compression module 116, that each encoded image frame 220 is partially identical to the stored encoded image frame 220e. In that case, the second type of small LC encoded image frame 220LCb-2 may be generated to include an identifier of the stored encoded image frame 220e and a difference with respect to the stored encoded image frame 220e. Thus, one or more of the small LC encoded image frames 220LCb-1, 220LCb-2 is a second type of small LC encoded image frame 220LCb-2 and includes an identifier of the stored predefined encoded image frame 220e and a possible difference between the respective transmitted encoded image frame 220 and the stored predefined encoded image frame 220e. The received data structure 320 further includes information specifying the location in the data structure 320 and, optionally, the data size of the second type of small LC encoded image frame 220LCb-2. In this second scenario, generating individual hashes for all LC encoded image frames 220LCa, 220LCb-1, 220LCb-2 provided by the received data structure 320 is a simple process. From the received data structure 320: for each small LC encoded image frame 220LCb-2 of the second type, an identifier of the stored predefined encoded image frame 220e and possible differences between the respective transmitted encoded image frame 220 and the stored encoded image frame 220e, and Individual hashes of all other LC-encoded image frames 220LCa Extracting the retrieving the stored encoded image frame 220e from a data storage 122 accessible to the transmitter 110 and the receiver 130 of the video sequence 200 using the extracted identifier; reconstructing each respective transmitted encoded image frame 220 for each LC encoded image frame 220LCb-2 of the second type by combining the retrieved stored predefined encoded image frame 220e with possible differences; performing a lossless compression of the reconstructed transmitted encoded image frames; generating individual hashes of the LC reconstructed transmitted coded image frames by hashing them individually; generating a further data structure 330 to include the generated individual hash of the LC reconstructed transmitted encoded image frame 220 and the extracted individual hashes of all other LC encoded image frames 220LCa; Includes.

[0097] Some third embodiments In some third embodiments, the received data structure 320 includes individual hashes of all other LC encoded image frames 220LCa that are different from the one or more small LC encoded image frames 220LCb-1, 220LCb-2. To validate the received encoded image frame 220', the receiver 130 generates a data structure that includes the one or more small LC encoded image frames and individual hashes of all LC encoded image frames that are different from the one or more small encoded image frames, and compares it to the received data structure. Thus, in such third embodiments, validating the received encoded image frame 220' as equal to the transmitted encoded image frame 220 using the received data structure 320 (step S606) includes three sub-steps S606.3.1 to S606.3.3 shown in FIG. 7C.

[0098] In substep S606.3.1, the receiver 130 performs a lossless compression of each received encoded image frame 220' included in the received video sequence 200' to obtain a respective LC received encoded image frame 220LCa', 220LCb-1', 220LCb-2'. Some examples of lossless compression algorithms are Huffman coding, arithmetic coding, codebook-based coding, and run-length coding. A lossless compression module (not shown) included in the receiver 130 may perform the lossless compression.

[0099] In substep S606.3.2, the receiver 130 one or more small LC received coded image frames 220bLC-1', 220LCb-2', each identified as having a data size smaller than a predefined number of bytes; an individual hash of every other LC received encoded image frame 220LCa' that is different from one or more smaller LC encoded image frames 220LCb-1', 220LCb-2'; The individual hashes are obtained by individually hashing each of the received coded image frames 220LCa′ of all other LCs.

[0100] This may be performed by a data structure generation module 142 included in the receiver 130.

[0101] In substep S606.3.3, receiver 130 validates the received encoded image frame 220' as equal to the transmitted encoded image frame 220 when the generated data structure 320' matches the received data structure 320. This may be performed by validation module 134.

[0102] Embodiments also relate to a non-transitory computer readable medium having stored thereon computer code instructions adapted to perform the method embodiments described herein when executed by a device having processing capability.

[0103] As described above, the transmitter 110 may be configured to implement a method for enabling verification of a video sequence by providing the video sequence with a data structure and a digital signature, and the receiver 130 may be configured to implement a method for verifying a video sequence by providing the video sequence with a data structure and a digital signature. To this end, the transmitter 110 and the receiver 130 may each include processing circuitry 111, 131, respectively, configured to implement various method steps described herein.

[0104] In a hardware implementation, the processing circuitry 111, 131 may be dedicated and specifically designed to implement one or more of the method steps. The circuitry may be in the form of one or more integrated circuits, such as one or more application specific integrated circuits or one or more field programmable gate arrays.

[0105] Thus, by way of example, the transmitter 110, in use, performing a lossless compression of each encoded image frame of the video sequence to obtain a respective LC encoded image frame; identifying one or more small LC-encoded image frames among the captured LC-encoded image frames, each small LC-encoded image frame having a data size smaller than a predefined number of bytes; generating a data structure including the identified one or more small LC encoded image frames and either individual hashes of all encoded image frames lacking the respective small LC encoded image frames or all other acquired LC encoded image frames that differ from the one or more small LC encoded image frames, where the individual hashes are obtained by individually hashing each of all encoded image frames lacking the respective small LC encoded image frames or by individually hashing each of all other acquired LC encoded image frames, respectively; generating a digital signature for the video sequence; Providing a data structure and a digital signature for a video sequence; , thereby enabling the receiver to verify the video sequence.

[0106] By way of example, the receiver 130, in use, Receiving a video sequence including encoded image frames and provided with a data structure and a digital signature. The received data structure may include a processing circuit 131 that performs the following: The received data structure includes one or more small LC encoded image frames, each small LC encoded image frame having a data size smaller than a predefined number of bytes and being an LC version of a respective transmitted encoded image frame included in the video sequence transmitted from the transmitter, and a respective hash of either all transmitted encoded image frames lacking the respective small LC encoded image frame or all other LC encoded image frames that differ from the one or more small LC encoded image frames, each of which is an LC version of a respective transmitted encoded image frame included in the transmitted video sequence, The received data structure is used to validate the received digital signature, and the received data structure is used to validate the received encoded image frames as equal to the transmitted encoded image frames, such that the received video sequence is verified as equal to the transmitted video sequence when the received digital signature and the received encoded image frames are validated.

[0107] In a software implementation, the circuitry may instead be in the form of a processor, such as a microprocessor, that, in association with computer code instructions stored in a (non-transitory) computer readable medium, such as a non-volatile memory, causes each of the transmitter 110 and receiver 130 to perform the respective methods disclosed herein. Examples of non-volatile memory include read-only memory, flash memory, ferroelectric RAM, magnetic computer storage devices, optical disks, and the like. Thus, in the case of software, each of the method steps described above may correspond to a portion of computer code instructions stored in a computer readable medium that, when executed by the processor, causes each of the transmitter 110 and receiver 130 to perform the respective methods disclosed herein.

[0108] It should be understood that it is also possible to have a combination of hardware and software implementations, meaning that some method steps are implemented in hardware and other method steps are implemented in software.

[0109] It will be appreciated that those skilled in the art can modify the above-described embodiments in many ways and still use the advantages of the present invention as shown in the above embodiments. Therefore, the present invention should not be limited to the illustrated embodiments, but should be defined only by the appended claims. Moreover, as those skilled in the art will appreciate, the illustrated embodiments can be combined.

Claims

1. 1. A method performed by a transmitter for enabling verification of a video sequence by providing the video sequence with a data structure and a digital signature, the video sequence including encoded image frames, the method comprising: performing a lossless compression of each encoded image frame of said video sequence to obtain a respective losslessly compressed (LC) encoded image frame; - identifying among the acquired LC-encoded image frames one or more small LC-encoded image frames, each having a data size smaller than a predefined number of bytes; - generating a data structure comprising the identified one or more small LC-encoded image frames and respective hashes, said respective hashes comprising: all encoded image frames for which the respective captured LC encoded image frame is not identified as a respective small LC encoded image frame; or all other respective captured LC-encoded image frames that are not identified as one or more smaller LC-encoded image frames; generating a data structure, wherein each of the individual hashes is obtained by individually hashing each of the encoded image frames for which each of the retrieved LC-encoded image frames is not identified as a respective small LC-encoded image frame, or by individually hashing each of all other retrieved respective LC-encoded image frames that are not identified as small LC-encoded image frames; - generating a digital signature for said video sequence; providing said data structure and said digital signature to said video sequence, thereby enabling a receiver to verify said video sequence; A method comprising:

2. The method of claim 1 , wherein at least one of the identified one or more small LC encoded image frames is a first type of small LC encoded image frame and is equal to its respective encoded image frame or to the LC encoded image frame of the encoded image frame.

3. 2. The method of claim 1 , wherein at least one of the identified one or more small LC-encoded image frames is a small LC-encoded image frame of a second type, and includes an identifier of a stored predefined encoded image frame and possible differences between the small LC-encoded image frame of the second type and the stored predefined encoded image frame.

4. - for each small LC encoded image frame, determining its location in said data structure; providing a data structure with information specifying the location in said data structure and optionally the data size of each small LC-encoded image frame; The method of claim 1 further comprising:

5. The data structure is a document including a reduced hash list, the reduced hash list comprising: - the identified one or more small LC-encoded image frames; said individual hashes, all encoded image frames for which the respective captured LC encoded image frame is not identified as a respective small LC encoded image frame; or and all other respective captured LC-encoded image frames that are not identified as one or more smaller LC-encoded image frames; The method of claim 1 , consisting essentially of:

6. the sender has access to a private-public key pair and generates the digital signature; using the private key of the private-public key pair; a hash of said data structure, or a hash of individual hashes of either all the encoded image frames of the video sequence or all the captured LC encoded image frames generating said digital signature by encrypting either The method of claim 1 further comprising:

7. 16. A method performed by a receiver for verifying a video sequence provided with a data structure and a digital signature, the video sequence including encoded image frames, the method comprising: receiving, from a transmitter, said video sequence comprising encoded image frames and provided with said data structure and said digital signature, The received data structure is one or more small losslessly compressed (LC) encoded image frames, each small LC encoded image frame having a data size smaller than a predefined number of bytes and being an LC version of a respective transmitted encoded image frame comprised in a video sequence transmitted from said transmitter; - an individual hash, all transmitted encoded image frames for which the respective captured LC encoded image frames were not identified by the transmitter as respective small LC encoded image frames; or all other respective LC-encoded image frames not identified by the transmitter as one or more small LC-encoded image frames, each of said all other respective LC-encoded image frames being an LC version of a respective transmitted encoded image frame included in the transmitted video sequence; and receiving the video sequence, - validating the received digital signature using the received data structure; - validating the received encoded image frames as equal to the transmitted encoded image frames using the received data structure, whereby the received video sequence is verified as equal to the transmitted video sequence when the received digital signature and the received encoded image frames are verified; and A method comprising:

8. validating the received encoded image frames as equal to the transmitted encoded image frames using the received data structure when the received data structure includes individual hashes of all transmitted encoded image frames for which each of the captured LC encoded image frames was not identified by the transmitter as a respective smaller LC encoded image frame, the method comprising: - generating an individual hash of each received encoded image frame comprised in said received video sequence; - performing a lossless decompression of each of said one or more small LC-encoded image frames contained in said received data structure to obtain a respective encoded image frame; - generating an individual hash of each captured respective encoded image frame; - validating the received encoded image frame as equal to the transmitted encoded image frame when the generated individual hash of each received encoded image frame included in the received video sequence matches the generated individual hash of each captured respective encoded image frame; The method of claim 7, comprising:

9. validating the received encoded image frame as equal to the transmitted encoded image frame using the received data structure when the received data structure includes individual hashes of all other LC encoded image frames not identified by the transmitter as one or more smaller LC encoded image frames, comprising: performing a lossless compression of each received encoded image frame comprised in said received video sequence to obtain a respective LC received encoded image frame; - generating an individual hash of every captured respective LC received encoded image frame; - generating an individual hash for every said LC-encoded image frame provided by said received data structure; - validating the received encoded image frame as equal to the transmitted encoded image frame when the generated individual hashes for all the LC encoded image frames provided by the received data structure match the generated individual hashes of all obtained respective LC received encoded image frames; The method of claim 7, comprising:

10. one or more of the small LC-encoded image frames are small LC-encoded image frames of a first type, equal to their respective transmitted encoded image frames or equal to the LC-encoded image frames of the encoded image frames, the received data structure further comprising information specifying the location in the data structure and, optionally, the size of the small LC-encoded image frames of the first type, and generating individual hashes for all the LC-encoded image frames provided by the received data structure; - extracting from the received data structure the respective hashes of the small LC-encoded image frames of the first type and all other LC-encoded image frames that are not identified by the transmitter as the one or more small LC-encoded image frames; - generating said individual hashes of the extracted small LC-encoded image frames of said first type by hashing them individually; generating the individual hashes of all the LC-encoded image frames as a combination of the generated individual hashes of the extracted small LC-encoded image frames of the first type and the extracted individual hashes of all the other encoded image frames; 10. The method of claim 9, comprising:

11. one or more of the small LC encoded image frames are small LC encoded image frames of a second type, the received data structure including an identifier of a stored predefined encoded image frame and possible differences between the respective transmitted encoded image frame and the stored predefined encoded image frame, the received data structure further including information specifying a location in the data structure and optionally the data size of the small LC encoded image frames of the second type, and generating individual hashes for all the LC encoded image frames provided by the received data structure; From the received data structure: for each small LC encoded image frame of the second type, the identifier of the stored encoded image frame and the possible difference between the respective transmitted encoded image frame and the stored encoded image frame; and the respective hashes of all the other LC-encoded image frames Extracting the retrieving the stored predefined encoded image frames from a data storage accessible to the transmitter and the receiver of the video sequence using the extracted identifier; reconstructing each respective transmitted encoded image frame for each LC-encoded image frame of the second type by combining the retrieved stored predefined encoded image frame with the possible differences; performing a lossless compression of the reconstructed transmitted encoded image frames; generating individual hashes of the losslessly compressed reconstructed transmitted encoded image frames by hashing them individually; generating a further data structure to include the generated individual hashes of the losslessly compressed reconstructed transmitted encoded image frames and the extracted individual hashes of all the other LC encoded image frames; 10. The method of claim 9, comprising:

12. validating the received encoded image frame as equal to the transmitted encoded image frame using the received data structure when the received data structure includes individual hashes of all other LC encoded image frames not identified by the transmitter as the one or more smaller LC encoded image frames, comprising: performing a lossless compression of each received encoded image frame comprised in said received video sequence to obtain a respective LC received encoded image frame; - generating a data structure, one or more small LC received coded image frames, each identified as having a data size less than a predefined number of bytes; an individual hash of all other LC received encoded image frames not identified by the transmitter as the one or more small LC encoded image frames, the individual hash being obtained by individually hashing each of the all other LC received encoded image frames not identified by the transmitter as the one or more small LC encoded image frames; generating a data structure including: - validating the received encoded image frame as equal to the transmitted encoded image frame when the generated data structure matches the received data structure; The method of claim 7, comprising:

13. 8. The method of claim 7, wherein the receiver has access to a public key of the transmitter's private-public key pair, and wherein verifying the received digital signature comprises decrypting the received digital signature using the public key, and verifying the received digital signature when a hash of the received data structure matches the decrypted received digital signature.

14. A transmitter for enabling verification of a video sequence by providing the video sequence with a data structure and a digital signature, the transmitter comprising processing circuitry configured to cause the transmitter to perform the steps of the method of claim 1.

15. 8. A receiver for verifying a video sequence provided with a data structure and a digital signature, said receiver comprising processing circuitry configured to cause said receiver to perform the steps of the method of claim 7.

Citation Information

Patent Citations

  • Transmission method, receiving method and data processor utilizing the same

    JP2009130719A

  • Method of digital video reference frame compression

    US20080170626A1

  • Encoding of modified video

    US20220201312A1