A transmitter, a receiver and methods therein for validation of a video sequence
Patent Information
- Application Number
- TW112151223
- Authority / Receiving Office
- TW · TW
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2023-01-30
- Filing Date
- 2023-12-28
- Publication Date
- 2026-09-11
- Estimated Expiration
- 2043-12-27
AI Technical Summary
Existing video transmission methods require significant bit rates for digital signatures and cryptographic hashes, which can limit the available bandwidth and compromise verification reliability.
Implement lossless compression of video frames to generate small LC coded frames, identify and include only these frames and their hashes in a data structure, and use a digital signature to verify the video sequence, reducing the data size without compromising verification reliability.
Reduces the bit rate required for transmitting video sequences with digital signatures and cryptographic hashes, maintaining verification reliability and efficiency.
Smart Images

Figure TWG2TB001910105_001 
Figure TWG2TB001910105_002 
Figure TWG2TB001910105_003
Abstract
Description
Transmitter, receiver and method for verifying video sequence The present invention relates to a transmitter and method for authenticating a video sequence. Furthermore, the present invention relates to a receiver and method for authenticating the video sequence. In particular, authentication is achieved by providing a data structure and a digital signature for the video sequence. A digital signature provides a layer of authentication and security for a digital message, such as a video sequence comprising coded image frames, that is transmitted from a transmitter to a receiver over an insecure channel. The transmitter may generate the digital signature by encrypting one or more cryptographic hash values of the video sequence using a private encryption key from a private-public encryption key pair. The cryptographic hash values may be frame-by-frame cryptographic hash values, where each cryptographic hash value may be a hash value of the image data of a respective coded image frame, or a hash value of the image data of the coded image frame combined with optional further information. Typically, the generated digital signature and the frame-by-frame cryptographic hash value used to generate the digital signature are provided to the video sequence by the transmitter before the video sequence is transmitted to the receiver. To verify that a received video sequence is a genuine video sequence from a claimed transmitter and that the received video sequence has not been manipulated, a receiver needs to validate both the digital signature and the received encoded image frame. To verify a received digital signature, the receiver of the video sequence decrypts the received digital signature using a public key from the transmitter's private-public encryption key pair and compares the decrypted received digital signature to one or more received cryptographic hash values. If the decrypted received digital signature is identical to (e.g., matches) the received cryptographic hash value, the received digital signature is verified. This confirms that the video sequence received by the receiver was digitally signed by the purported transmitter. In addition to verifying the digital signature, the receiver needs to verify that the received video sequence is identical to the video sequence transmitted by the transmitter. One way to verify a received sequence of encoded image frames is to have the receiver generate a cryptographic hash value for the encoded image frames in the received video sequence in the same manner as the transmitter generated the cryptographic hash value. Thus, the transmitter and receiver agree on how to generate the cryptographic hash value. Once the receiver has generated the cryptographic hash value, it compares the generated cryptographic hash value with the received cryptographic hash value. If they are identical (e.g., match each other), the received video sequence is verified to be identical to the transmitted video sequence. However, by adding a digital signature, and in particular, a cryptographic hash value, to a video sequence, the bit rate required to transmit the video sequence increases. Since the available bit rate can be a limiting factor when transmitting a video sequence over a communication channel, it is desirable to reduce the bit rate required to transmit the digital signature and cryptographic hash value without sacrificing or degrading a receiver's ability to authenticate the video sequence. In view of the above, it is therefore an object of the present invention to alleviate the shortcomings of the prior art and to enable verification of a video sequence while reducing the required bit rate for transmitting the video sequence and reducing the additional data required for verification, as compared to the prior art. A further object is to reduce the size of the additional data, thereby reducing the required bit rate for transmission. A still further object is to provide the video sequence with additional data as a data structure and a digital signature, which data structure and a digital signature enable the video sequence to be verified while requiring a reduced amount of available bit rate resources for transmission. A still further object is to provide a transmitter and a computer program having such capabilities. A still further object is to perform verification of a video sequence provided with a data structure and a digital signature. A still further object is to provide a receiver and a computer program having such capabilities. 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. According to a first aspect of the present invention, a method for authenticating a video sequence by providing a data structure and a digital signature to the video sequence is provided, wherein the video sequence includes encoded image frames. The method includes performing lossless compression on each coded image frame of the video sequence to obtain a respective losslessly compressed (LC) coded image frame. Furthermore, the method comprises identifying, among the obtained LC coded image frames, one or more small LC coded image frames each having a data size smaller than a predefined number of bytes. Furthermore, the method includes generating a data structure comprising the identified one or more small LC coded image frames and respective hashes of all coded image frames lacking a respective small LC coded image frame or all other obtained LC coded image frames that are different from the one or more small LC coded image frames. The respective hashes are obtained by individually hashing each of the coded image frames lacking a respective small LC coded image frame or by individually hashing each of the other obtained LC coded image frames, respectively. 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. By performing lossless compression and by including identified small LC coded image frames in the data structure rather than individual hashes, the size of the data structure can be reduced without compromising its usefulness in authenticating video sequences. 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, as a binary sequence (i.e., a bit stream), as a bit sequence (i.e., a bit stream), or as a combination thereof, to name a few examples. A data structure is sometimes referred to as a file. A data structure is configured to include one or more small LC coded image frames and one or more individual hashes. A data structure may also include metadata, i.e., data that may be related to the information included in the data structure. Thus, metadata may be related to one or more small LC coded image frames and / or one or more individual hashes. As will be described below, a data structure sometimes includes information regarding the position and, optionally, the size of one or more small LC coded image frames. Thus, position and size are two examples of metadata that may be included in a data structure. Another example of metadata is the type of the small LC coded image frame. As will be described below, a small LC coded image frame may be of a first type or a second type, and thus this information may be included as metadata in the data structure. The phrase "all coded image frames lacking a respective small LC-coded image frame" as used herein should be understood to mean all coded image frames for which the obtained respective LC-coded image frame is not identified as a respective small LC-coded image frame. In other words, all coded image frames lacking a respective small LC-coded image frame have a respective LC-coded image frame that is not a small LC-coded image frame. Therefore, the data size of the respective LC-coded image frames for all coded image frames lacking a respective small LC-coded image frame is not less than a predefined number of bytes, but rather is equal to or greater than the predefined number of bytes. The expression "all other LC-coded image frames other than small LC-coded image frames" as used herein should be understood to refer to those obtained LC-coded image frames that are not identified as small LC-coded image frames. Therefore, all other LC-coded image frames other than small LC-coded image frames each have a data size that is not less than a predetermined number of bytes, but rather is equal to or greater than the predetermined number of bytes. As used herein, a "digital signature" refers to a digital code that is added to a transmitted video sequence to confirm the identity of the transmitter. The digital code is generated and authenticated using private / public key cryptography. More specifically, the transmitter uses a private key from a cryptographic key pair to generate the digital code, and a receiver uses a public key from the cryptographic key pair to authenticate the digital code. The phrase "performing lossless compression of each coded image frame," as used herein, means compressing each coded image frame into a compressed coded image frame without losing the image information. The compressed coded image frame may have a data size equal to or smaller than the coded image frame. Sometimes, the compressed coded image frame has a data size larger than the coded image frame, in which case the coded image frame can be used as the compressed coded image frame. In other cases, lossless compression may produce a compressed coded image frame that includes a reference to another coded image frame. The other coded image frame may be a previously coded image frame in the video sequence or a stored coded image frame. Importantly, when performing lossless compression, the image information is not lost. Because image information is not lost in lossless compression, the original coded image frame can be perfectly reconstructed from the compressed coded image frame without compromising image quality. The act of reconstructing the original coded image frame from the compressed coded image frame may be referred to as decompressing the compressed coded image frame into the originally coded image frame. In the present invention, the compressed coded image frame is referred to as a lossless compressed (LC) coded image frame. 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. In the present invention, “a lossless compressed (LC) coded image frame” means an image frame generated by lossless compression of a coded image frame. The phrase "individually hashing an encoded image frame" means applying a hash function (or one-way function) to each individual encoded image frame to obtain an individual hash. The hash function can be a cryptographic hash function that provides a level of security deemed adequate given the sensitivity of the video sequence to be signed and / or the risk if the video sequence is manipulated by an unauthorized party. Three examples of hash functions are Secure Hash Algorithm 256-bit (SHA-256), Secure Hash Algorithm 3 512-bit (SHA3-512), and Rivest–Shamir–Adleman 1024-bit (RSA-1024). The hash function should be predefined (e.g., it should be reproducible) so that the individual hash can be regenerated when the digital signature and / or data structure is to be validated by the receiver. As used herein, “an individual hash” means an individual cryptographic hash value obtained by applying a hash function to an individual coded image frame or an individual LC coded image frame. According to a second aspect of the present invention, there is provided a method performed by a receiver for verifying a video sequence provided with a data structure and a digital signature, wherein the video sequence includes encoded image frames. The method includes receiving the video sequence including the encoded image frame and provided with the data structure and the digital signature from a transmitter. The received data structure includes: one or more small lossless compressed (LC) coded image frames, wherein each small LC coded image frame has a data size less than a predefined number of bytes and comprises an LC version of a respective transmitted coded image frame in a video sequence transmitted from the transmitter; and respective hashes of all transmitted coded image frames that lack a respective small LC coded image frame or that are different from the one or more small LC coded image frames, each of which comprises an LC version of a respective transmitted coded image frame in the transmitted video sequence. Furthermore, the method includes using the received data structure to validate the received digital signature and using the received data structure to validate that the received coded image frames are identical to the transmitted coded image frames. Thus, when the received digital signature and the received coded image frames are validated, the received video sequence is verified to be identical to the transmitted video sequence. According to a third aspect of the present invention, a transmitter is provided for authenticating a video sequence by providing a data structure and a digital signature for the video sequence, wherein the transmitter includes a processing circuit system configured to cause the transmitter to perform any one of the actions of the method of the first aspect. According to a fourth aspect of the present invention, there is provided a receiver for verifying a video sequence provided with a data structure and a digital signature, wherein the receiver includes processing circuitry configured to cause the receiver to perform any of the actions of the method of the second aspect. According to a fifth aspect of the present invention, there is provided a non-transitory computer-readable medium having computer program code instructions stored thereon, the computer program code instructions being adapted to perform the method of the first aspect when executed by a device having processing capabilities. According to a sixth aspect of the present invention, there is provided a non-transitory computer-readable medium having computer program code instructions stored thereon, the computer program code instructions being adapted to perform the method of the second aspect when executed by a device having processing capabilities. The second, third, fourth, fifth, and sixth aspects can generally have the same advantageous features as the first aspect. The present invention further relates to a computer program comprising instructions for causing a computer to perform any of the above methods. The computer program may be stored or distributed on a data carrier. As used herein, a "data carrier" may be a transient data carrier (such as a modulated electromagnetic or optical 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 "data carrier," such memories may be permanently installed or portable. In general, all terms used in the technical solutions should be interpreted according to their ordinary meanings in the technical field, unless otherwise explicitly defined herein. Unless otherwise explicitly stated, all references to "a / an / the element, device, component, member, step, etc." should be openly interpreted as referring to at least one instance of the element, device, component, member, step, etc. Unless explicitly stated otherwise, the steps of any method disclosed herein do not have to be performed in the exact order disclosed. It should be further noted that, unless otherwise explicitly stated, the present invention relates to all possible combinations of the features disclosed herein. Aspects of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, which illustrate certain embodiments of the present invention. However, these aspects may be embodied in many different forms and should not be construed as limiting; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete and will fully convey the scope of all aspects of the invention to those skilled in the art. Throughout the description, like numbers refer to like elements. To overcome or mitigate bitrate limitations when transmitting a video sequence over a communications network, particularly when transmitting a video sequence with additional data that enables authentication of the video sequence, the present invention relates to reducing the size of the additional data without compromising the reliability of the authentication. In the present invention, the additional data is a data structure and a digital signature. In particular, the present invention relates to reducing the size of the data structure by reducing the size of its contents while maintaining reliable authentication. Before describing in detail how to implement verification of a video sequence provided with a data structure and a digital signature and how to verify the video sequence, components of a system in which the present invention can be implemented will be described. With reference to FIG1 , an embodiment of a system 100 for implementing verification of a video sequence and for verifying the video sequence will be described. System 100 includes a transmitter 110 configured to implement verification of the video sequence. Transmitter 110 may include or be connected to one or more cameras 112. Alternatively, transmitter 110 may be included in a camera 112. Transmitter 110 and 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., a unit including transmitter 110 and one or more cameras 112) or in several separate units. Camera 112 may be a surveillance camera, sometimes also referred to as a monitoring camera. Furthermore, camera 112 may be a fixed camera (such as a still camera) or a movable camera (such as a pan, tilt, and zoom (PTZ) camera). Camera 112 may be a visible light camera, a thermal camera, or a camera including both a visible light camera and a thermal camera. It should be noted that the camera 112 may include several components related to, for example, image capture (such as a capture module) and image processing (such as an encoding module). These components are common in conventional camera systems and their purposes and operations are well known to those of ordinary skill in the art. For reasons of clarity, these components have been omitted from the illustration and description of FIG. 1 . As further shown in FIG1 , transmitter 110 is configured to communicate with a receiver 130 via a communication network 120. Communication network 120 can be a wired or wireless communication network, through which transmitter 110 transmits the video sequence to receiver 130. Receiver 130 can include or be connected to a display device 150, which is configured to display the video sequence received by receiver 130 to an operator. Transmitter 110 and receiver 130 are configured to communicate with a data storage device 122, either directly or via communication network 120. Data storage device 122 can be configured to store data related to the video sequence, such as data related to coded image frames and / or LC coded image frames. For example, data storage device 122 can include predefined coded image frames 220e. The predefined encoded image frames 220e can be stored in the data storage 122 as a lookup table, where each stored predefined encoded image frame 220e is identified by an identifier (sometimes referred to as an index or a key). In some embodiments, the lookup table is a codebook, and the index / key is a codeword. The data storage 122 can be a non-volatile memory. Alternatively, the data storage can include a utility library. It should be understood that there are many combinations of wireless and wired transmission modes that can be used for transmission between transmitter 110 and communication network 120, between communication network 120 and receiver 130, and between data storage 122, transmitter 110, communication network 120, and receiver 130, and Figure 1 shows only one example. FIG2A schematically illustrates an exemplary video sequence 200 according to an embodiment. Video sequence 200 includes several encoded image frames 220. An encoded image frame that serves as a reference for predictive encoding of other frames is called a reference frame. A frame that is encoded without using information from other frames is called an intra-coded frame, an intra-frame, an I-frame, or a key frame. A frame that uses predictions from one or more reference frames is called an inter-coded frame or an inter-frame. A P-frame is an inter-frame that uses predictions from one or more previous reference frames (or one or more frames used for predictions of each region), and a B-frame is an inter-frame that uses predictions from a (possibly weighted) average of two reference frames, one or more previous frames, and / or one or more subsequent frames. A frame is sometimes referred to as a picture. The encoded image frames 220 may be arranged into one or more groups of pictures (GOPs). In FIG2A , the encoded image frames 220 are arranged into a plurality of GOPs, wherein a first GOP 210 a and a second GOP 210 b are shown. As schematically illustrated in the exemplary video sequence 200 , the first GOP 210 a 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 210 b consists of a first I-frame I1, a first P-frame P10, a second P-frame P11, and a third P-frame P12. There are many conventional video coding protocols. Some common video coding protocols suitable for use 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; Versatile Video Coding (VVC), also known as H.266, MPEG-1 Part 3, and Future Video Coding (FVC); VP9, VP10, and AOMedia Video 1 (AV1), to name a few. 5 and FIG3 schematically illustrating the transmitter 110 according to an embodiment, a method for authenticating a video sequence 200 by providing a data structure 320 and a digital signature 340 for the video sequence 200, performed by the transmitter 110, will now be described. Reference will also be made to FIG2B , which schematically illustrates two examples of an encoded image frame sequence, a corresponding LC encoded image frame sequence, and the content of the data structure according to an embodiment. As previously mentioned, the video sequence 200 includes coded image frames 220, and the video sequence 200 may be composed of at least one group of pictures (GOP) 210a, 210b. As shown in FIG2B , the coded image frame sequence may include coded image frames I0, P00, P01, P02, I1, P10, P11, P12, P13, and I2, wherein coded image frames I0, P00, P01, and P02 may be included in one GOP, coded image frames I1, P10, P11, P12, and P13 may be included in another GOP, and coded image frame I2 may be included in yet another GOP. The encoded image frames 220 of the video sequence 200 may have been acquired from a camera 112, which captures a plurality of image frames depicting a scene and encodes 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. In the case where the camera 112 is included in the transmitter 110 (hereafter referred to as the camera system 110), the camera 112 implements the acquisition module of the transmitter 110. In other cases where the camera 112 is external to the transmitter 110 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. In step S502, the transmitter 110 performs lossless compression on each coded image frame 220 of the video sequence 200 to obtain a respective LC coded image frame 220LC. This is done to obtain a respective LC coded image frame having a size that is equal to or smaller than the size of the coded image frame 220 on which the lossless compression is performed, while at the same time obtaining a respective LC coded image frame having the same image quality as the coded image frame 220 on which the lossless compression is performed. As shown in FIG. 2B , the LC coded image frame sequence includes LC coded image frame 10 LC 、P00 LC 、P01 LC 、P02 LC 、I1 LC 、P10 LC 、P11 LC 、P12 LC 、P13 LC and I2 LC As further illustrated in FIG. 2B by the arrows from a coded image frame of the coded image frame sequence to an LC coded image frame of the LC coded image frame sequence, lossless compression of a coded image frame produces a respective LC coded image frame. For example, lossless compression of coded image frame I0 produces LC coded image frame I0. LC , the lossless compression of the coded image frame P00 generates the LC coded image frame P00 LC , the lossless compression of the coded image frame P01 generates the LC coded image frame P01 LC Etc. Thus, as shown in FIG2B , each coded image frame has a respective LC coded image frame. 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. 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 frame. As mentioned above, one goal of lossless compression is to obtain a respective LC-coded image frame 220LC having a data size that is equal to or smaller than the data size of its respective coded image frame 220. However, lossless compression will not always result in the respective LC-coded image frame 220LC having a data size that is equal to or smaller than the data size of its respective coded image frame 220. Therefore, the lossless compression module 116 compares the size of the respective LC-coded image frame 220LC with the size of its respective coded image frame 220, and if the respective LC-coded image frame 220LC has a larger size, the lossless compression module 116 will output its respective coded image frame 220 as an LC-coded image frame. An alternative approach to reducing the size of an LC coded image frame is to generate an LC coded image frame such that it lacks image information but includes a reference to, and possibly differences from, another coded image frame (such as a stored predefined coded image frame 220 e). This may be the case when the transmitter 110 determines that the coded image frame for which lossless compression is performed is a skip frame. By "a skip frame" is meant an inter-frame of a type that represents image data solely by referencing image data in other frames (e.g., by including only a reference to the image data) without any 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 (due to the lack of residual values). In step S504, transmitter 110 identifies one or more small LC-encoded image frames 220LCb-1, 220LCb-2, each having a data size less than a predefined number of bytes, from among the obtained LC-encoded image frames 220LC. 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 transmitter 110 and configured to identify one or more small LC-encoded image frames may perform step S504. Identification module 117 may be included in lossless compression module 116. Alternatively, the identification module 117 may be included in a data structure generation module 118 of the transmitter 110. The data structure generation module 118 will be described below. One or more identified small LC encoded image frames 220LCb-1, 220LCb-2 may be a first type of small LC encoded image frame 220LCb-1, each of which is equivalent to the (original) encoded image frame 220 having a data size smaller than a predefined number of bytes and on which lossless compression is performed, or an LC encoded image frame 220LC that is equivalent to 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. For example, the former may be the case when lossless compression of an encoded image frame 220 having a data size less than a predefined number of bytes produces the same encoded image frame 220, or when lossless compression of the encoded image frame 220 would produce 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 the LC encoded image frame 220LCb-1. Therefore, in some embodiments, at least one of the identified one or more small LC encoded image frames 220LCb-1, 220LCb-2 is a small LC encoded image frame 220LCb-1 of a first type and is identical to its respective encoded image frame 220 or identical to the LC encoded image frame 220LC of the encoded image frame 220. Alternatively or in addition, one or more identified small LC encoded image frames 220LCb-1, 220LCb-2 may be a second type of small LC encoded image frame 220LCb-2, each of which is identical to a portion of a stored encoded image frame 220e and includes an identifier of the stored encoded image frame 220e and possibly also includes a difference. This may be the case when the coded image frame 220 on which lossless compression is performed is identical to or partially identical to the stored coded image frame 220e. If the coded image frame is a skip frame, there is no difference between the stored coded image frame 220e and the coded image frame 220, and therefore the second type of small LC coded image frame 220LCb-2 includes only the identifier of the stored coded image frame 220e and does not include the difference. However, the encoded image frame 220 may be partially identical to the stored encoded image frame 220e, and the second type of small LC encoded image frame 220LCb-2 may then include the identifier of the stored encoded image frame 220e and a difference. The difference may relate to a portion of the image frame that was previously constant and was updated or changed at a specific 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 only causes the encoded image frame 220 to differ from the stored encoded image frame 220e. In such cases, the difference included in the second type of small LC encoded image frame 220LCb-2 relates to the counter value or the clock time. Therefore, in some embodiments, at least one of the identified one or more small LC encoded image frames 220LCb-1, 220LCb-2 is a small LC encoded image frame 220LCb-2 of the second type and includes an identifier of a stored predefined encoded image frame 220e and a possible difference between the small LC encoded image frame 220LCb-2 of the second type and the stored predefined encoded image frame 220e. To verify the video sequence, a data structure 320 is required. Therefore, in step S506, the transmitter 110 generates a data structure 320 including the identified one or more small LC coded image frames 220LCb-1, 220LCb-2 and an individual hash. The individual hash included in the data structure 320 can be generated in two ways. First, the individual hash can be the individual hash of all coded image frames 220 that lack a respective small LC coded image frame 220LCb-1, 220LCb-2, as shown in a first data structure 320-1 in FIG. 2B . Second, the individual hash can be the individual hash of all other obtained LC coded image frames 220LCa that are different from the one or more small LC coded image frames 220LCb-1, 220LCb-2, as shown in an alternative second data structure 320-2 in FIG. 2B . Therefore, the individual hash is the individual hash of all encoded image frames 220 lacking a respective small LC encoded image frame 220LCb-1, 220LCb-2, or all other obtained 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 a respective small LC encoded image frame 220LCb-1, 220LCb-2, or by individually hashing each of all other obtained LC encoded image frames 220LCa. As will be described below, the data structure is to be used by the receiver 130 when verifying the video sequence. The transmitter 110 includes a data structure generation module 118 configured to generate the data structure, and the data structure generation module 118 may execute step S506. In the example shown in FIG2B , the LC encoded image frame P01 LC 、P02 LC 、I1 LC 、P12 LC and I2 LC Identified as small LC encoded image frames 220LCb-1, 220LCb-2, and therefore, both the depicted 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 . In addition to the small LC coded image frames, the first data structure 320-1 also includes individual hashes of all coded image frames 220 that lack a respective small LC coded image frame 220LCb-1, 220LCb-2. Therefore, in the illustrated example, the (first) data structure also includes individual hashes H I0 、H P00 、H P10 and H P13 . In addition to the small LC coded image frames, the alternative second data structure 320-2 also includes individual hashes of all other obtained LC coded image frames 220LCa that are different from the identified small LC coded image frames 220LCb-1, 220LCb-2. Therefore, the alternative (second) data structure also includes individual hashes H I0LC 、H P00LC 、H P10LC and H P13LC (It is LC encoded image frame 10 LC 、P00 LC 、P10 LC and P13 LC of individual miscellaneous items). Data structure 320 can be referred to as a file comprising a reduced hash list. The hash list is reduced because it not only includes the hash of all coded image frames, as a full hash list would, but also includes the hash of small LC coded image frames rather than small LC coded image frames, because the small LC coded image frames remain intact, i.e., unhashed. This is in contrast to a file comprising a full hash list consisting of a respective hash of each coded image frame of a video sequence. Specifically, this data structure 320 includes the LC coded image frames for each LC coded image frame identified as small, and the respective hashes for all coded image frames 220 that lack a respective small LC coded image frame or have a size equal to or greater than a predefined number of bytes. Therefore, the reduced hash list consists only of the following: the identified one or more small LC coded image frames 220LCb-1, 220LCb-2; and the individual hashes of all coded image frames 220 that lack a respective small LC coded image frame 220LCb-1, 220LCb-2 or all other obtained LC coded image frames 220LCa that are different from one or more small LC coded image frames 220LCb-1, 220LCb-2. In embodiments where the video sequence consists of GOPs, transmitter 110 generates a data structure 320 and a digital signature 340 for each one or more GOPs 210a, 210b. This allows receiver 130 to verify the transmitted video sequence on a per-GOP basis rather than for the entire video sequence. This is advantageous for receiver 130 because, if one or more coded image frames or GOPs cannot be verified, the receiver can still rely on the authenticity of the verified GOP and the coded image frames of the verified GOP. This is in contrast to the situation where the entire video sequence must be verified, where, if the entire video sequence cannot be verified, the receiver cannot rely on the authenticity of any coded image frames of the video sequence. Sometimes, it is advantageous to provide information about where each of the small LC coded image frames is located in a data structure. This can, for example, simplify how a receiver 130 finds and extracts the small LC coded image frames from a received data structure. As will be described below when describing the method performed by receiver 130, receiver 130 can use the extracted small LC coded image frames to generate (i.e., reconstruct) their corresponding transmitted coded image frames and their hashes when validating received coded image frames. Therefore, some embodiments include a step S508 in which the transmitter 110 determines the location of each small LC-encoded image frame 220LCb-1, 220LCb-2 within 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 the location of each small LC-encoded image frame within 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 information specifying the location and, if necessary, the data size of each small LC encoded image frame 220LCb-1, 220LCb-2 in the data structure 320 to the data structure 320. Providing the location specifying information to the data structure 320 may be performed by the data structure generation module 118. To authenticate the video sequence, a digital signature is also required. Therefore, in action S512, the transmitter 110 generates a digital signature 340 for the video sequence 200. This step can be performed by a digital signature generation module 124 configured to generate digital signatures and included in the transmitter 110. The transmitter 110 has access to a private-public key pair and can generate a digital signature by encrypting with a private key of the private-public key pair: a hash of the data structure 320; or a hash of the individual hashes of all encoded image frames 220 of the video sequence 200 or all obtained LC encoded image frames 220LC; 220LCa, 220LCb-1, 220LCb-2. The private key of the private-public key pair can be stored in a secure storage accessible only to transmitter 110. The secure storage can be a secure element (SE), such as a secure operating system (OS) in a tamper-resistant processor chip or secure element, or a trusted platform module (TPM), such as a secure cryptographic processor or secure chip. The public key of the transmitter's private-public key pair can be stored in a data storage (e.g., data storage 122) accessible to receiver 130. Alternatively, the public key of the transmitter's private-public key pair can be transmitted to receiver 130 along with video sequence 200. For example, the public key of the transmitter's private-public key pair can be included in or appended to video sequence 200. In action S514, the transmitter 110 provides the data structure 320 and the digital signature 340 to the video sequence 200. This enables a receiver 130 to verify the video sequence 200. A providing module 126 included in the transmitter 110 and configured to provide the data structure and the digital signature to the video sequence may execute step S514. Transmitter 110, for example, via provision module 126, may provide data structure 320 and digital signature 340 in a supplemental information unit (SIU) of video sequence 200. A supplemental information unit is a unit or message configured to include supplemental information about or associated with a video sequence. The supplemental information unit may be, for example, a supplemental enhancement information (SEI) message in the H.26x coding format or a metadata open bitstream unit (OBU) in the AV1 coding format. A receiver 130 may use a received digital signature and a received data structure to authenticate a received video sequence, as described in detail below. 6 and the embodiment of the receiver 130 schematically shown in FIG4 , 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. The video sequence 200 ′ includes encoded image frames 220 ′. In step S602, receiver 130 receives a video sequence 200' from transmitter 110, including an encoded image frame 220' and provided with a data structure 320 and a digital signature 340. Preferably, the video sequence 200' received by receiver 130 is identical to the video sequence 200 transmitted by transmitter 110. However, a transmitted video sequence may be manipulated after its transmission and before its reception. Therefore, reference numeral 200 is used for a transmitted video sequence and reference numeral 200' is used for a received video sequence. Step S602 may be performed by a receiving module 132 included in receiver 130 and configured to receive the video sequence. The received data structure 320 includes one or more small LC coded image frames 220LCb-1, 220LCb-2, wherein each small LC coded image frame 220LCb-1, 220LCb-2 has a data size less than a predefined number of bytes and includes an LC version of a respective transmitted coded image frame 220 in a video sequence 200 transmitted from the transmitter 110. The received data structure 320 also includes a respective hash of all transmitted coded image frames 220 that lack a respective small LC coded image frame 220LCb-1, 220LCb-2 or all other LC coded image frames 220LCa that are different from one or more small LC coded image frames 220LCb-1, 220LCb-2. Each of all other LC coded image frames 220LCa comprises an LC version of a respective transmitted coded image frame 220 in the transmitted video sequence 200 . As previously mentioned, when describing the method performed by transmitter 110, the predefined number of bytes may be set depending on the hash function used. Since transmitter 110 and receiver 130 use the same hash function, it should be understood that the predefined number of bytes set at transmitter 110 is the same as the predefined number of bytes used at receiver 130. The predefined number of bytes may be preset in receiver 130, or information regarding the predefined number of bytes used by transmitter 110 may be transmitted from transmitter 110 to receiver 130, for example, along with the video sequence. In step S604, the receiver 130 uses the received data structure 320 to validate the received digital signature 340. Step S604 may be performed by a validation module 134 included in the receiver 130 and configured to validate the digital signature. In some embodiments, receiver 130 has access to a public key of a private-public key pair of transmitter 110. In such embodiments, receiver 130 validates received digital signature 340 by decrypting it using the public key and validating received digital signature 340 when a hash of received data structure 320 matches received digital signature 340 as decrypted. Alternatively, received digital signature 340 is validated when a hash of all individual hashes of all LC encoded image frames as given by received data structure 320 matches received digital signature 340 as decrypted. In yet another alternative, received digital signature 340 is validated when a hash of all individual hashes of all encoded image frames as given by received data structure 320 matches received digital signature 340 as decrypted. In step S606, the receiver 130 uses the received data structure 320 to confirm that the received coded image frame 220' is identical to the transmitted coded image frame 220. Step S606 may be performed by a validation module 134 included in the receiver 130 and configured to validate the coded image frame. When the received digital signature 340 and the received coded image frame 220' are validated, the received video sequence 200' is verified to be identical to the transmitted video sequence 200. Validation of the Received coded Image Frame 220' (Step S606) The validation of the received coded video frame 220' (step S606) will now be described in more detail with reference to various embodiments. Before proceeding in detail, it can be said that validation is typically performed by comparing a hash of the received coded video frame with a hash of the coded video frame as given by the received data structure (as in some first embodiments below), by comparing a hash of the LC received coded video frame with a hash of the LC coded video frame as given by the received data structure (as in some second embodiments below), or by comparing a received data structure with a generated data structure (as in some third embodiments below). Furthermore, it should be recalled that, in addition to one or more small LC coded image frames 220LCb-1, 220LCb-2, the data structure 320 transmitted by the transmitter 110 and received by the receiver 130 also includes a respective hash of all transmitted coded image frames 220 lacking a respective small LC coded image frame 220LCb-1, 220LCb-2 (as in some first embodiments below) or all other LC coded image frames 220LCa that are different from one or more small LC coded image frames 220LCb-1, 220LCb-2 (as in some second and third embodiments below). Some First Embodiments In some first embodiments, in addition to the small LC coded image frames 220LCb-1 and 220LCb-2, the received data structure 320 also includes individual hashes for all transmitted coded image frames 220 that lack a respective small LC coded image frame 220LCb-1 and 220LCb-2. In these first embodiments, the receiver 130 must generate a hash of the received coded image frames and determine the individual hash(es) for each of the one or more small LC coded image frames 220LCb-1 and 220LCb-2 included in the received data structure 320. Therefore, using the received data structure 320 to confirm (step S606) that the received coded image frame 220' is identical to the transmitted coded image frame 220 includes the four sub-steps S606.1.1 to S606.1.4 shown in FIG. 7A . In sub-step S606.1.1, the receiver 130 generates an individual hash for each received encoded image frame 220' included in the received video sequence 200'. A hash generation module 136 included in the receiver 130 may perform the generation of the individual hashes. In sub-step S606.1.2, receiver 130 performs lossless decompression on each of one or more small LC-coded image frames 220LCb-1, 220LCb-2 included in received data structure 320 to obtain a respective LC-coded image frame. By performing lossless decompression on an LC-coded image frame 220LC, the (original) LC-coded image frame 220, which transmitter 110 performed lossless compression on to obtain the LC-coded image frame, is obtained. Some examples of lossless decompression algorithms include Huffman decoding, arithmetic decoding, codebook-based decoding, and run-length decoding. A lossless decompression module 138 included in receiver 130 may perform the lossless decompression. In sub-step S606.1.3, the receiver 130 generates a separate hash for each obtained respective encoded image frame 220. This may be performed by the hash generation module 136. In sub-step S606.1.4, when the generated individual hashes of each received coded image frame 220' included in the received video sequence 200' match the generated individual hashes of each obtained respective coded image frame 220, the receiver 130 confirms that the received coded image frame 220' is identical to the transmitted coded image frame 220. This may be performed by the confirmation module 134. Some Second Embodiments In some second embodiments, in addition to the small LC coded image frames 220LCb-1 and 220LCb-2, the received data structure 320 also includes individual hashes of all other LC coded image frames 220LCa that are different from one or more small LC coded image frames 220LCb-1 and 220LCb-2. In these second embodiments, using the received data structure 320 to confirm (step S606) that the received coded image frame 220′ is identical to the transmitted coded image frame 220 includes the four sub-steps S606.2.1 to S606.2.4 shown in FIG. 7B . In sub-step S606.2.1, receiver 130 performs lossless compression on each received coded image frame 220' included in received video sequence 200' to obtain respective LC received coded image frames 220LC', 220LCa', 220LCb-1', and 220LCb-2'. Some examples of lossless compression algorithms include Huffman coding, arithmetic coding, codebook-based coding, and run-length coding. A lossless compression module 140 included in receiver 130 may perform the lossless compression. In sub-step S606.2.2, the receiver 130 generates individual hashes of all obtained respective LC received encoded image frames 220LC', 220LCa', 220LCb-1', 220LCb-2'. This may be performed by the hash generation module 136. In sub-step S606.2.3, receiver 130 generates individual hashes for all LC-coded image frames 220LC, 220LCa, 220LCb-1, and 220LCb-2 as given in received data structure 320. Because individual hashes for all other LC-coded image frames 220LCa other than one or more small LC-coded image frames 220LCb-1 and 220LCb-2 are included in received data structure 320, receiver 130 can retrieve them directly from data structure 320. Alternatively, receiver 130 retrieves one or more small LC-coded image frames 220LCb-1 and 220LCb-2 included in received data structure 320 and then individually hashes them. Receiver 130 generates individual hashes differently depending on whether one or more small LC-coded image frames 220LCb-1 and 220LCb-2 are of the first or second type. Sub-step S606.2.3 can be performed by a hash generation module. A detailed description of the generation of the individual hashes will be given after the description of sub-step S606.2.4. In sub-step S606.2.4, when the generated individual hashes of all LC coded image frames 220LC; 220LCa, 220LCb-1, 220LCb-2 as given by the received data structure 320 match the generated individual hashes of all obtained respective LC received coded image frames 220LC'; 220LCa', 220LCb-1', 220LCb-2', the receiver 130 confirms that the received coded image frame 220' is identical to the transmitted coded image frame 220. This can be performed by the confirmation module 134. Generation of individual hashes for all LC coded image frames (sub-step S606.2.3) How the receiver 130 generates the individual hashes of all LC-coded image frames 220LC; 220LCa, 220LCb-1, 220LCb-2 as given by the received data structure 320 will now be described in more detail with reference to two scenarios (sub-step S606.2.3 above). In a first scenario, one or more small LC-coded image frames 220LCb-1 are of the first type and are identical to the coded image frame 220 having a data size less than a predefined number of bytes, or, when the LC-coded image frame 220LC is smaller than the coded image frame 220 and has a data size less than a predefined number of bytes, are identical to the LC-coded image frame 220LC. The coded image frame 220 is the original coded image frame transmitted by the transmitter 110. When the LC-coded image frame obtained by the lossless compression module 116 of the transmitter when performing lossless compression on the original coded image frame has a size larger than the original coded image frame, the small LC-coded image frame 220LCb-1 is identical to the coded image frame 220, and the lossless compression module 116 outputs the original coded image frame as the obtained LC-coded image frame. Therefore, in the first scenario, one or more of the small LC coded image frames 220LCb-1, 220LCb-2 is a small LC coded image frame 220LCb-1 of the first type and is identical to its respective transmitted coded image frame 220 or an LC coded image frame 220LC of the coded image frame 220. The received data structure 320 further includes information specifying a position and, optionally, a size of the small LC coded image frame 220LCb-1 of the first type in the data structure 320. In this first scenario, the generation of individual hashes for all LC coded image frames 220LCa, 220LCb-1, 220LCb-2 as given by the received data structure 320 includes: - extracting individual hashes of the first type of small LC coded image frame 220LCb-1 and all other LC coded image frames 220LCa from the received data structure 320; - generating individual hashes thereof by individually hashing the extracted small LC coded image frames 220LCb-1 of the first type; and - generating individual hashes for all LC coded image frames 220LCa, 220LCb-1, 220LCb-2 as a combination of the generated individual hash of the extracted small LC coded image frame 220LCb-1 of the first type and the extracted individual hashes of all other coded image frames 220LCa. In a second scenario, one or more small LC encoded image frames 220LCb-2 are of the second type. This may be the case when the transmitter 110 determines that the respective (original) encoded image frame 220 of the second type of small LC encoded image frames 220LCb-2 is identical to a portion of a stored encoded image frame 220e. For example, when the transmitter 110 (e.g., using the lossless compression module 116) determines that the respective encoded image frame 220 is a skip frame identical to a stored encoded image frame 220e, the second type of small LC encoded image frame 220LCb-2 may be generated to include only an identifier of the stored encoded image frame 220e without any other image data. As another example, the transmitter 110 (e.g., using the lossless compression module 116) may determine that the respective encoded image frame 220 is partially identical to a stored encoded image frame 220e. Next, a second-type small LC coded image frame 220LCb-2 may be generated to include an identifier of the stored coded image frame 220e and a difference relative to the stored coded image frame 220e. Thus, one or more of the small LC coded image frames 220LCb-1 and 220LCb-2 are small LC coded image frames 220LCb-2 of the second type and include an identifier of a stored predefined coded image frame 220e and a possible difference between the respective transmitted coded image frame 220 and the stored predefined coded image frame 220e. The received data structure 320 further includes information specifying a location within the data structure 320 and, if necessary, a data size of the second-type small LC coded image frame 220LCb-2.In this second scenario, the generation of the individual hashes for all LC coded image frames 220LCa, 220LCb-1, 220LCb-2 as given by the received data structure 320 comprises: extracting from the received data structure 320: for each small LC coded image frame 220LCb-2 of the second type, the identifier of the stored predefined coded image frame 220e and the possible difference between the respective transmitted coded image frame 220 and the stored coded image frame 220e; and the individual hashes for all other LC coded image frames 220LCa; retrieving the stored coded image frame 220e from a data storage 122 of the video sequence 200 accessible to the transmitter 110 and the receiver 130 using the extracted identifier; Reconstructing each respective transmitted coded image frame 220 of each LC coded image frame 220LCb-2 of the second type by combining the retrieved stored predefined coded image frame 220e with possible differences; performing lossless compression of the reconstructed transmitted coded image frames; generating individual hashes of the LC reconstructed transmitted coded image frames by individually hashing them; and generating a further data structure 320 to include the generated individual hashes of the LC reconstructed transmitted coded image frames 220 and the extracted individual hashes of all other LC coded image frames 220LCa. Some third embodiments. In some third embodiments, the received data structure 320 includes a separate hash of all other LC-coded image frames 220LCa that are different from the one or more small LC-coded image frames 220LCb-1 and 220LCb-2. To verify the received coded image frame 220', the receiver 130 generates a data structure that includes one or more small LC-coded image frames and a separate hash of all LC-coded image frames that are different from the one or more small LC-coded image frames, and compares this data structure with the received data structure. Therefore, in these third embodiments, using the received data structure 320 to verify (step S606) that the received coded image frame 220' is identical to the transmitted coded image frame 220 includes the three sub-steps S606.3.1 to S606.3.3 shown in FIG. 7C . In sub-step S606.3.1, receiver 130 performs lossless compression on each received coded image frame 220' included in received video sequence 200' to obtain respective LC received coded image frames 220LCa', 220LCb-1', and 220LCb-2'. Some examples of lossless compression algorithms include Huffman coding, arithmetic coding, codebook-based coding, and run-length coding. A lossless compression module (not shown) included in receiver 130 may perform the lossless compression. In sub-step S606.3.2, the receiver 130 generates a data structure 320' that includes individual hashes of the coded image frames 220LCb-1', 220LCb-2' received with one or more small LCs each having a data size less than a predefined number of bytes, and all other LCs received with different LCs from the one or more small LCs 220LCb-1', 220LCb-2'. These individual hashes are obtained by individually hashing each of the coded image frames 220LCa' received with all other LCs. This can be performed by a data structure generation module 142 included in the receiver 130. In sub-step S606.3.3, when the generated data structure 320' matches the received data structure 320, the receiver 130 confirms that the received encoded image frame 220' is identical to the transmitted encoded image frame 220. This may be performed by the confirmation module 134. Embodiments also relate to a non-transitory computer-readable medium having computer program code instructions stored thereon, the computer program code instructions being adapted to perform embodiments of the methods described herein when executed by a device having processing capabilities. As described above, transmitter 110 may be configured to implement a method for authenticating a video sequence by providing a data structure and a digital signature for the video sequence, and receiver 130 may be configured to implement a method for authenticating a video sequence by providing a data structure and a digital signature for the video sequence. To this end, transmitter 110 and receiver 130 may each include processing circuitry 111 and 131, respectively, each configured to implement the various method steps described herein. 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. By way of example, the transmitter 110 may therefore comprise a processing circuitry 111 which, when used: performs lossless compression of respective coded image frames of a video sequence to obtain a respective LC coded image frame; identifies, among the obtained LC coded image frames, one or more small LC coded image frames each having a data size less than a predefined number of bytes; generates a data structure comprising the identified one or more small LC coded image frames and respective hashes of all coded image frames lacking a respective small LC coded image frame or all other obtained LC coded image frames that are different from the one or more small LC coded image frames, wherein the respective hashes are obtained by individually hashing each of all coded image frames lacking a respective small LC coded image frame or by individually hashing each of all other obtained LC coded image frames, respectively; A digital signature is generated for the video sequence, and the data structure and the digital signature are provided to the video sequence, thereby enabling a receiver to verify the video sequence. By way of example, receiver 130 may include processing circuitry 131 that, when used, receives a video sequence comprising coded image frames and provided with a data structure and a digital signature. The received data structure comprises one or more small LC coded image frames, wherein each small LC coded image frame has a data size less than a predefined number of bytes and comprises an LC version of a respective transmitted coded image frame in a video sequence transmitted from a transmitter; and a respective hash of all transmitted coded image frames that lack a respective small LC coded image frame or are different from the one or more small LC coded image frames. Each of the other LC coded image frames comprises an LC version of a respective transmitted coded image frame in the transmitted video sequence; uses the received data structure to validate the received digital signature; and uses the received data structure to validate that the received coded image frame is identical to the transmitted coded image frame. Thereby, when the received digital signature and the received encoded image frame are verified, the received video sequence is verified to be identical to the transmitted video sequence. In a software implementation, the circuit system may alternatively take the form of a processor (such as a microprocessor) that, in conjunction with computer program code instructions stored on a (non-transitory) computer-readable medium (such as a non-volatile memory), causes the transmitter 110 and the receiver 130, respectively, 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. In a software implementation, each of the method steps described above may therefore correspond to a portion of the computer program code instructions stored on the computer-readable medium, which, when executed by the processor, causes the transmitter 110 and the receiver 130, respectively, to perform the respective methods disclosed herein. It is understood that it is also possible to have a combination of a hardware and a software implementation, meaning that some method steps are implemented in hardware and other method steps are implemented in software. It will be appreciated that one skilled in the art can modify the embodiments described above in many ways and still utilize the advantages of the present invention as demonstrated in the embodiments above. Therefore, the present invention should not be limited to the embodiments shown but should be defined solely by the appended claims. Furthermore, as one skilled in the art will appreciate, the embodiments shown may be combined. 100: System 110: Transmitter / Camera System 111: Processing Circuitry 112: Camera 114: Acquisition Module 116: Lossless Compression Module 117: Identification Module 118: Data Structure Generation Module 119: Determination Module 120: Communication Network 122: Data Storage 124: Digital Signature Generation Module 126: Provision Module 130: Receiver 131: Processing Circuitry 132: Receiving Module 134: Verification Module 136: Hash Generation Module 138: Lossless Decompression Module 140: Lossless Compression Module 142: Data Structure Generation Module 150: Display Device 200: Video Sequence 200′: Video Sequence 210a: First Group of Pictures (GOP) 210b: Second Group of Pictures (GOP) 220: Coded image frame 220': Coded image frame 220e: Predefined coded image frame / stored coded image frame 220LC: Lossless compression (LC) coded image frame 220LC': Lossless compression (LC) received coded image frame 220LCa: Lossless compression (LC) coded image frame 220LCa': Lossless compression (LC) received coded image frame 220LCb-1: Small lossless compression (LC) coded image frame 220LCb-1': Lossless compression (LC) received coded image frame 220LCb-2: Small lossless compression (LC) ) Coded image frame 220LCb-2': Lossless compression (LC) Received coded image frame 320: Data structure 320': Data structure 320-1: First data structure 320-2: Second data structure 340: Digital signature S502: Step S504: Step S506: Step S508: Step S510: Step S512: Action S514: Action S602: Step S604: Step S606: Steps S606.1.1 to S606.1.4: Sub-steps S606.2.1 to S606.2.4: Sub-steps S606.3.1 to S606.3.3: Sub-steps The above and additional objects, features, and advantages of the present invention will be better understood through the following illustrative and non-limiting detailed description of embodiments of the present invention with reference to the accompanying drawings, wherein like reference numerals are used for similar elements, and wherein: FIG1 schematically illustrates an embodiment of a system for implementing authentication of a video sequence and for authenticating the video sequence. FIG2A schematically illustrates a video sequence according to an embodiment. FIG2B schematically illustrates two examples of an encoded image frame sequence, a corresponding LC encoded image frame sequence, and data structure content according to an embodiment. FIG3 schematically illustrates a transmitter according to an embodiment. FIG4 schematically illustrates a receiver according to an embodiment. FIG5 is a flow chart of a method for implementing authentication of a video sequence performed by a transmitter according to an embodiment. FIG6 is a flow chart of a method for authenticating a video sequence performed by a receiver according to an embodiment. FIG7A through FIG7C are flow charts of sub-methods for validating received encoded image frames performed by a receiver according to an embodiment. S502: Step S504: Step S506: Step S508: Step S510: Step S512: Action S514: Action
Claims
1. A method executed by a transmitter for verifying a video sequence by providing a data structure and a digital signature to the video sequence, wherein the video sequence includes encoded image frames, and wherein the method includes: Lossless compression is performed on each coded image frame of the video sequence to obtain a lossless compressed LC coded image frame; among the obtained LC coded image frames, one or more small LC coded image frames with a data size of less than a predefined number of bytes are identified; a data structure is generated, the data structure including: the identified one or more small LC coded image frames; and the following individual hashes: all coded image frames whose obtained respective LC coded image frames are not identified as a respective small LC coded image frame; or all other obtained respective LC coded image frames that are not identified as the one or more small LC coded image frames. The individual hashes are obtained by individually hashing each of the acquired LC encoded image frames that are not identified as a respective small LC encoded image frame, or by individually hashing each of all other acquired LC encoded image frames that are not identified as the one or more small LC encoded image frames; a digital signature for the video sequence is generated; and the data structure and the digital signature are provided to the video sequence, thereby enabling a receiver to verify the video sequence.
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 first type and is equivalent to its respective encoded image frame or the LC encoded image frame equivalent to the encoded image frame.
3. The method of claim 1, wherein at least one of the identified small LC encoded image frames is a second type of small LC encoded image frame and includes an identifier of a stored predefined encoded image frame and a possible difference between the second type of small LC encoded image frame and the stored predefined encoded image frame.
4. The method of request item 1, further comprising: For each small LC encoded image frame, determine its position in the data structure; provide information to the data structure specifying the position of each small LC encoded image frame in the data structure and, if necessary, the data size.
5. The method of claim 1, wherein the data structure includes a file of a reduced hash list, wherein the reduced hash list consists only of: the identified one or more small LC encoded image frames; and the following individual hashes: all encoded image frames whose respective acquired LC encoded image frames are not identified as a respective small LC encoded image frame; or all other acquired respective LC encoded image frames that are not identified as the one or more small LC encoded image frames.
6. The method of claim 1, wherein the transmitter accesses a private-public key pair, and wherein the generation of the digital signature further includes: The digital signature is generated by encrypting the following using one of the private-public key pairs: a hash of the data structure; or a hash of individual hashes of all the encoded image frames of the video sequence or all the obtained LC encoded image frames.
7. A method performed by a receiver for verifying a video sequence provided with a data structure and a digital signature, wherein the video sequence includes encoded image frames, and wherein the method includes: The video sequence received from a transmitter includes encoded image frames and is provided with the data structure and the digital signature, wherein the received data structure includes: one or more small lossless compressed LC encoded image frames, wherein each small LC encoded image frame has a data size of less than a predefined number of bytes and is included in an LC version of a respective transmitted encoded image frame in a video sequence transmitted from the transmitter; and the following individual hashes: all transmitted encoded image frames of a respective LC encoded image frame that are not identified by the transmitter as a respective small LC encoded image frame; or all other respective LC encoded image frames that are not identified by the transmitter as the one or more small LC encoded image frames, wherein each of such other respective LC encoded image frames is included in an LC version of a respective transmitted encoded image frame in the transmitted video sequence; The received data structure is used to verify the received digital signature; and the received data structure is used to verify that the received encoded image frames are equivalent to the transmitted encoded image frames; thereby, when the received digital signature and the received encoded image frames are verified, the received video sequence is verified to be equivalent to the transmitted video sequence.
8. As in request item 7, wherein, When the received data structure includes individual hashes of all transmitted encoded image frames whose respective LC encoded image frames are not identified by the transmitter as a respective small LC encoded image frame, the method of using the received data structure to confirm that the received encoded image frames are equivalent to the transmitted encoded image frames includes: generating individual hashes of each received encoded image frame included in the received video sequence; performing lossless decompression of each of the one or more small LC encoded image frames included in the received data structure to obtain a respective encoded image frame; generating individual hashes of each obtained respective encoded image frame; and confirming that the received encoded image frames are equivalent to the transmitted encoded image frames when the generated individual hashes of each received encoded image frame included in the received video sequence match the generated individual hashes of each obtained respective encoded image frame.
9. As in request item 7, wherein, 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 small LC encoded image frames, the use of the received data structure to confirm that the received encoded image frames are equivalent to the transmitted encoded image frames includes: performing lossless compression of each received encoded image frame included in the received video sequence to obtain a respective LC received encoded image frame; generating individual hashes of all obtained respective LC received encoded image frames; generating individual hashes of all LC encoded image frames as given by the received data structure; and confirming that the received encoded image frames are equivalent to the transmitted encoded image frames when the generated individual hashes of all LC encoded image frames given by the received data structure match the generated individual hashes of all obtained respective LC received encoded image frames.
10. The method of claim 9, wherein one or more of the small LC encoded image frames is a first type of small LC encoded image frame and is equivalent to its respective transmitted encoded image frame or the LC encoded image frame equivalent to the encoded image frame, wherein the received data structure further includes information specifying the position of the first type of small LC encoded image frame in the data structure and, if necessary, a size, and wherein the generation of the individual hashes of all the LC encoded image frames given by the received data structure includes: Extract individual hashes from the received data structure of the first type of small LC encoded image frame and all other LC encoded image frames not identified by the transmitter as the one or more small LC encoded image frames; generate individual hashes by individually hashing the extracted small LC encoded image frames of the first type; and generate all the individual hashes of the LC encoded image frames as a combination of the individual hashes generated for the extracted small LC encoded image frames of the first type and the extracted individual hashes for all other encoded image frames.
11. The method of claim 9, wherein one or more of the small LC encoded image frames are a second type of small LC encoded image frame and include a stored identifier of a predefined encoded image frame and a possible difference between the respective transmitted encoded image frame and the stored predefined encoded image frame, wherein the received data structure further includes information specifying the position of the second type of small LC encoded image frame in the data structure and, if necessary, the data size, and wherein the generation of the individual hashes of all the LC encoded image frames given by the received data structure includes: Extracting 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 differences between the respective transmitted encoded image frame and the stored encoded image frame; and the individual hashes of all other LC encoded image frames; using the extracted identifier to retrieve the stored predefined encoded image frame from a data storage available to the transmitter and the receiver of the video sequence; reconstructing each respective transmitted encoded image frame of each LC encoded image frame of the second type by combining the retrieved stored predefined encoded image frame and the possible differences; performing lossless compression on the reconstructed transmitted encoded image frames; Individual hashes are generated by individually hashing the LC reconstructed transmitted encoded image frames; and further data structures are generated to include the generated individual hashes of the LC reconstructed transmitted encoded image frames and the extracted individual hashes of all other LC encoded image frames.
12. As in request item 7, wherein, 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 small LC encoded image frames, using the received data structure to confirm that the received encoded image frames are equivalent to the transmitted encoded image frames includes: performing lossless compression of each received encoded image frame included in the received video sequence to obtain a respective LC received encoded image frame; generating a data structure including: The individual hashes are identified as follows: one or more small LC received encoded image frames, each having a data size of less than a predefined number of bytes; and all other LC received encoded image frames not identified by the transmitter as the one or more small LC received encoded image frames, wherein such individual hashes are obtained by individually hashing each of the other other LC received encoded image frames not identified by the transmitter as the one or more small LC received encoded image frames; and when the generated data structure matches the received data structure, the received encoded image frames are confirmed to be equivalent to the transmitted encoded image frames.
13. The method of claim 7, wherein the receiver accesses a public key of a private-public key pair of the transmitter, and wherein the confirmation of the received digital signature includes decrypting the received digital signature using the public key and confirming the received digital signature when a hash match is performed on the received data structure as the decrypted received digital signature occurs.
14. A transmitter for verifying a video sequence by providing a data structure and a digital signature to the video sequence, wherein the transmitter includes a processing circuitry configured to cause the transmitter to perform the method of claim 1.
15. A receiver for verifying a video sequence provided with a data structure and a digital signature, wherein the receiver includes a processing circuitry configured to cause the receiver to perform the method of claim 7.
Citation Information
Patent Citations
Digital signature apparatus and method
US20110150269A1
Information processing device, information processing method, and program
US20220255755A1
Compressed image authentication and verification
US6275599B1
System and method for automatically protecting private video content using cryptographic security for legacy systems
US7120252B1