Title of Invention | A SYSTEM FOR ENCRYPTION OF A VIDEO SEQUENCE BASED ON BLOCK CODING |
---|---|
Abstract | A system for encryption of a sequence based on block coding, said system comprising, means for dividing the video sequence into a plurality of frames containing control frames and video data frames; means for slicing each of said video data frame to into slices; means for receive an inputted shared user code Kυ; a conventional H.264 encoder to encode the first frame of video data; means for generating a key Kр for encoding of control frames containing header information of the video sequence; means for masking said control frames using said key Kр; means for generating a random number sequence for scrambling of said macroblocks; scrambling means to scramble said macroblocks using said random sequence to achieve encryption of the video sequence; first iterating means to iterate the encoding method commencing from the slicing means until the frame is fully encoded; and a second iterating means to iterate the encrypting method for further frames until the entire video sequence is encrypted. |
Full Text | FORM - 2 THE PATENTS ACT, 1970 (39 of 1970) & THE PATENTS RULES, 2003 PROVISIONAL Specification (See section 10 and rule 13) A METHOD AND APPARATUS FOR ENCRYPTION OF A VIDEO SEQUENCE TATA CONSULTANCY SERVICES LIMITED an Indian Company of Bombay House, 24, Homi Mody Street, Mumbai 400 001, Maharashtra, India THE FOLLOWING SPEC IFICATION DESCRIBES THE INVENTION. Field of the Invention: This invention relates to a method and apparatus for encryption of a video sequence. In particular, this invention relates a method and apparatus for encryption of a video sequence in block based coding, typically MPEG series and H.261. Still particularly, this invention relates to video coding decoding (compression / decompression). Still particularly, this invention relates to CODECs (Encoder-Decoders) 'and in particular to a method for encryption technique, typically for H.264 video. This invention envisages a computationally efficient way of doing Encryption in video encoding decoding Particularly, this invention envisages application in Flexible Macroblock Ordering (FMO), writing header of SPS and PPS in H.264 video encoder. Background of the Invention: Video technology has evolved very rapidly in last few years. With the advancements in high speed and high bandwidth network, lots of web based multimedia applications have evolved that enables transmission of multimedia data in real time over Internet. As an effect of these advancements, the video storage and distribution industry faces a major problem in copyright protection and authentication, which hampers the business of multimedia contents, too. So one of the crying needs of the day is to develop a robust security scheme to protect copyrights as well as give a good image quality video at higher compression. Encryption is the technique to protect and hide information from illegal access. Among various video CODECs, H.264 is proven to be the best in rate-distortion by providing best video quality at lesser bitrate with better network friendliness. The objective of this work is to devise an encryption algorithm that works in the H.264 compressed domain that is difficult to break and at the same time is of very low computational complexity to meet the real time criteria. Convergence of Voice, Video and Data in a single carrier or device and access of the same anytime anywhere is becoming the industry buzz-word, The main driving factor for developing such solutions is the bandwidth efficiency and hence the compression efficiency of the Video systems. Keeping this in mind, the latest video compression technology (H.264) has been developed and a host of solutions have been built around them. Moreover, with the advent of digital computers, high-speed computer networks, Internet and wide spread use of World Wide Web have revolutionized the way digital data are distributed. The wide spread accesses to multimedia objects and the ease of copying digital data without loss of considerable fidelity have motivated the study of video encryption techniques. In most of the available cryptography techniques, the video is split into images and the data is embedded into least significant bit (LSB) of the image. In this approach the LSB of the coefficients are overwritten. The 3 problem of these types of approaches is that they never consider the additional temporal information available in video sequence. Moreover these approaches cannot preserve the security against frame dropping or frame averaging attacks. Over and above these techniques did not exploit the architecture of video codec that can leads to a robust encryption technique with a very less amount of computational cost. Summary of the Invention: In the system method and apparatus in accordance with this invention, a key based encryption algorithm is used for video data security. Macro-block scrambling is used to encrypt P frames and for IDR frames we use XOR operation. This method is of low complexity and also a robust one. This approach uses the architecture of video codec and ensures a robust encryption technique. The method in accordance with this invention envisages encrypting headers using a random number generation means within a range without collusion. In accordance with another aspect of the invention the method involves scrambling macroblock numbers randomly to ensure encryption and applying the method to H.264 AVC based video encoders, typically without sacrificing significantly on the video quality. What is envisaged in accordance with this invention is a method having significantly less computational complexity. 4 The method of this invention can be applied to a variety of CODECs, typically video codecs which may use similar block based approach and header formats. Brief Description of the Accompanying Drawings: The invention will now be described with reference to the accompanying drawings, in which Figure 1 illustrates the basic block diagram of H.264 decoder; Figure 2 illustrates the Encryption method in accordance with this invention; Figure 3 illustrates a NALU organization for Application like video conferencing; Figure 4 illustrates a NALU organization for Application like video storage; Figure 5 illustrates a Block diagram of Read module for the method if this invention; Figure 6: is a typical block diagram for H.264 Encoder; Figure 7: is a Flow chart of process of encoding in accordance with this invention; Figure 8: is the Original FMO sequence; Figure 9: is the Modified FMO sequence; Figure 10 is the table 1 showing Network Abstraction Layer Unit (NALU) types; Figure 11 is the table 2 showing Additional computational complexity of the algorithm; and Figure 12 is the table 3 showing Additional memory requirement of the algorithm. 5 Detailed Description of Invention: Encryption of H.264 encoder is achieved by encrypting header and encryption using the architecture of H.264 AVC. This is shown in Figure 2. Header encryption: Before stating the detailed description of the technique of this invention the overall structure of H.264 is described. The basic structure of H.264 Decoder is shown in Figure 1. Basic unit of processing of H.264 data in decoder side is known as Network Abstraction Layer Unit (NALU). Any NALU can contain either video data or control data. Some control information like profile, label, height, and width are written in header parts. The formation of NALU depends on application and network layer, also. For example, where the encoded data is transmitted over a lossy channel, there is a high chance of packet loss and thus loss of video or control data in this case. This is taken care by sending multiple control data (like Sequence Parameter Set (SPS) and Picture Parameter Set (PPS)) and Independent Decoder Refresh (IDR) frames. Because if one header gets corrupted, it can recover as soon as the next set of SPS and PPS arrives. On the other hand, in the applications like video conferencing, where one user can join while the conference between two has already started, synchronization requires the presence of multiple SPS, PPS. Again, video storage, fast forward and rewind utility requires the presence of IDR at every 1 or 2 seconds. Some typical NALU organizations may be like Figure 3 or like Figure 4. 6 The NALU type can be any of the following shown in Figure 10 of the accompanying drawings as suggested by H.264 standard. Among the different types of NALU, SPS and PPS contains the control information without which it is not at all possible to start decoding. SPS contains the information like profile, level, picture order count type etc and PPS contains information like height, width etc. So unless decoder gets this information it cannot start the decoding process. Our encryption method encrypts these SPS, PPS and IDR. Header Encryption is achieved by the following method: • Take a 16-bit user code (KU) that will be shared through secured medium like e-mail or phone. • Encode the first frame using conventional H.264 encoder. • Take the length of IDR(lIDR) (It is a 16-bit number for QCIF resolution (176x144)) as the private key. • Define Key value Kp using a Hash function (H) of llDR and KU • Mask SPS, PPS, IDR with this Kp Video content encryption: the overall process of H.264 CODEC is shown in Figure 2 of the accompanying drawings. The technique for picture level plays at this FMO level. For the simplicity of design and time complexity of the overall system, there is no slice partition in a frame i.e. a slice is same as a frame. So in the existing H.264 Encoder 7 system (without encryption), only one map unit type 0 is used. Now the detail of FMO in accordance with this invention is described using Figure 8. In the modified design for implementing encryption into H.264 encoder the block diagram becomes as Figure 9. The scrambling sequence is described herein below: Video content Encryption technique: Here is the pseudo code for the encryption technique: 1. Take a 16-bit number as key (KP) as USER code. 2. Store the length of last Independent Decoder Refresh frame (IDR) as 1IDR. It is a 16-bit number for QCIF resolution (176x144). 3. Redefine KP using a Hash function (Hf) of 1IDR for the next Group of Picture (GOP). To prove the concept we can start with a function like Hf(x)=x+ user code. 4. Assume KP to be constant for the entire GOP while proving the concept. Better to redefine KP at every frame. Now KP is constant for the GOP. 5. Using KP generate a ordered sequence {o, 1,2, 97} randomly. We keep the last mb no as 98 as we support single slice and for single slice last macro block number should be 98. 6. The random number generation algorithm used is as follows: This random number generator originally appeared in "Toward a Universal Random Number Generator" by George Marsaglia and Arif Zaman, Florida State University Report: FSU-SCRI-87-50 (1987). It was later modified by F. James and published in "A Review of Pseudo- random Number Generators". This is the best known random number generator available. 8 (However, a newly discovered technique can yield a period of 10A600. But that is still in the development stage.) It passes All of the tests for random number generators and has a period of 2A144, is completely portable (gives bit identical results on all machines with at least 24-bit mantissas in the floating point representation). The algorithm is a combination of a Fibonacci sequence (with lags of 97 and 33, and operation "subtraction plus one, modulo one") and an "arithmetic sequence" (using subtraction). 7. Treat this sequence as Lookup Table L. 8. In encoder side encrypt macroblock number (n) as L(n) and in decoder side go through the same path of generation of L. In decoder side the decoder works in the way shown in Figure 9 Decoder uses previously decoded macroblocks in motion compensation. So if the macroblock order used in encoder is not same with the MB order in decoder, decoder may try to use a macroblock that is not at all sent already. In that case decoder cannot proceed further and the control comes out of the loop. Time Complexity: Time complexity of the encryption algorithm is same as that of the random number generation algorithm. We shall discuss this in terms of basic operations like ADD, MULTIPLICATION, DIVISION, MODULO. We assume that memory i/o operations and control operations like if -then-else are of much lesser time consuming than the above mentioned operations. We shall discuss the complexity in the Figure 11 of the accompanying drawings. 9 The initialization module, which is used for seed computation takes this much amount of time complexity. The modulo operations can be reduced with the help of look-up tables. Space Complexity: An additional storage for look up table is required. That table consists of the macroblock number. For scalability to CJF (352x288) and higher resolution the type of that array should be 16bit storage. The size of the array should be equal to the size of that resolution in macroblocks. So if the resolution be wxh then the additional storage requirement is wxh*2/(16xl6) bytes. Some examples are shown in Table 3 as seen in figure 12 of the accompanying drawings. Advantages of the system in accordance with this invention: Conventional methods used in video encryption, as already discussed used mainly two types of technique namely treating the video sequence as a collection of still images and by modifying LSB. In LSB modification based approach the problem is that the video information cannot be properly hidden to un-intended users. In the approach of treating the video sequence as a collection of still images, the encryption becomes very fragile, as this method cannot pretend against frame averaging and frame dropping. Moreover the fractal technique used in encryption of each frame is of high time complexity. So our approach performs better in terms of robustness at the same time using algorithms of even lower complexity. Even memory 10 requirement is very less in comparison to overall memory requirement of H.264. Although the invention has been described in terms of particular embodiments and applications, one of ordinary skill in the art, in light of this teaching, can generate additional embodiments and modifications without departing from the spirit of or exceeding the scope of the claimed invention. Accordingly, it is to be understood that the drawings and descriptions herein are proffered by way of example to facilitate comprehension of the invention and should not be construed to limit the scope thereof. Dated this 5th day of February 2007. 11 |
---|
Patent Number | 272271 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Indian Patent Application Number | 206/MUM/2007 | |||||||||
PG Journal Number | 14/2016 | |||||||||
Publication Date | 01-Apr-2016 | |||||||||
Grant Date | 26-Mar-2016 | |||||||||
Date of Filing | 05-Feb-2007 | |||||||||
Name of Patentee | TATA CONSULTANCY SERVICES LIMITED | |||||||||
Applicant Address | NIRMAL BUILDING, 9TH FLOOR, NARIMAN POINT, MUMBAI 400021, | |||||||||
Inventors:
|
||||||||||
PCT International Classification Number | G06F17/00 | |||||||||
PCT International Application Number | N/A | |||||||||
PCT International Filing date | ||||||||||
PCT Conventions:
|