Abstract:
A method for authenticating playback of animated content of an object, the method comprises the steps of receiving a wire mesh having a plurality of line segments for describing the object; receiving texture data which describes a covering for the wire mesh; receiving movement data for directing movement of the wire mesh; (d) receiving a decrypted version of the movement data; (e) comparing the movement data and encrypted movement data for verifying that the movement data is substantially the same as the encrypted movement data which verification determines security status of the animated object; and (f) indicating first and second levels of security status for indicating a result of the comparison step.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
       [0001]    The present application is related to U.S. application Ser. No. [Docket Reference No. 82934/PCW], filed Jun. 15, 2001, by Thomas M. Stephany, Majid Rabbani, John R. Squilla, and Donald E. Olson, and entitled, “A Method For Authenticating Animation”. 
     
    
     
       FIELD OF THE INVENTION  
         [0002]    The present invention relates to producing and transmitting animation and, more particularly, to indicating to a user the degree of certainty that the animation has not been modified or tampered with during such transmission.  
         BACKGROUND OF THE INVENTION  
         [0003]    Animation typically includes a three-dimensional wire mesh produced from an image and a texture model that represents the visual features associated with the wire mesh. A set of movement instructions is produced for directing movement of the wire mesh. When the instructions are input to the wire mesh having the texture model residing thereon, a three-dimensional moving image is produced. Typically, the wire mesh, texture model and instructions are then sent to a customer for their entertainment and/or use.  
           [0004]    Although the presently known and utilized animation creation and transmission components are satisfactory, they include drawbacks. The user, however, does not have any indication of whether the animation has been tampered with during transmission, and consequently, may not be viewing the desired animation.  
           [0005]    Consequently, a need exists for a secure method for transmitting such animation that is essentially tamper-proof.  
         SUMMARY OF THE INVENTION  
         [0006]    The present invention is directed to overcoming one or more of the problems set forth above. Briefly summarized, according to one aspect of the present invention, the invention resides in a method for authenticating playback of animated content of an object, the method comprising the steps of (a) receiving a wire mesh having a plurality of line segments for describing the object; (b) receiving texture data which describes a covering for the wire mesh; (c) receiving movement data for directing movement of the wire mesh; (d) receiving a decrypted version of the movement data; (e) comparing the movement data and encrypted movement data for verifying that the movement data is substantially the same as the encrypted movement data which verification determines security status of the animated object; and (f) indicating first and second levels of security status for indicating a result of the comparison step.  
           [0007]    The above and other objects of the present invention will become more apparent when taken in conjunction with the following description and drawings wherein identical reference numerals have been used, where possible, to designate identical elements that are common to the figures.  
           [0008]    Advantageous Effect of the Invention  
           [0009]    The present invention has the advantage and object of indicating to a user the degree of certainty whether or not the animation has been tampered with during transmission.  
           [0010]    The present invention includes the feature of an indicator for indicating at least two levels of security status for the animation.  
           [0011]    These and other aspects, objects, features and advantages of the present invention will be more clearly understood and appreciated from a review of the following detailed description of the preferred embodiments and appended claims, and by reference to the accompanying drawings. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0012]    [0012]FIG. 1 is a perspective view of a digital camera of the present invention;  
         [0013]    [0013]FIG. 2 is a diagram of an animation processor and a corresponding flow chart illustrating creation of a typical animation from the processor;  
         [0014]    [0014]FIG. 3 is a process flowchart illustrating the method of the present invention for securely transmitting an animation;  
         [0015]    [0015]FIG. 4 is a perspective view of a typical wire mesh produced from the processor; and  
         [0016]    [0016]FIG. 5 is a flowchart illustrating a software program implemented in a player for authenticating the animation. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0017]    In the following description, a portion of the present invention will be described in the preferred embodiment as a software program. Those skilled in the art will readily recognize that the equivalent of such software may also be constructed in hardware.  
         [0018]    Referring to FIG. 1, there is shown a digital camera  10  for capturing digital images. The digital camera  10  includes an image sensor (not shown) for capturing the incident light and converted it into electronic signals. Such digital cameras  10  are well known in the art and will not be discussed further detail herein. Similarly, it should be understood by those skilled in the art that the camera  10  could also be a film-based camera whose images are digitized for animation after processing of the film.  
         [0019]    Referring to FIG. 2, there is shown an animation processor  20  and a flow chart for producing the animation. As is well known to those skilled in the art, the animation processor  20  includes electronic components therein for producing wire mesh, texture (or skinning) information and movement instructions for the animation. In this regard, the animation process is initiated S 2 , and the processor  20  produces S 4  a three-dimensional wire mesh  30  from the digital image input by the user. Referring briefly to FIG. 4, the wire mesh  30  is a plurality of interconnecting segments  35  that forms a model of the exterior shape of the input image. Referring back to FIG. 2, the processor  20  further analyzes the input image, and produces S 6  a texture model for each image for producing a digital representation of the exterior, visible features of the image. The user will instruct the animation processor  20  as to the particular movements desired for the image. From these instructions, the animation processor  20  produces S 8  movement data that directs the individual segments of the wire mesh to deform thus producing movement. The animation processor  20  outputs S 10  the wire mesh, texture and corresponding movement instructions to the user in a file structure. This process may be repeated for a subsequent image or simply produce different movement instructions for an existing wire frame.  
         [0020]    Referring to FIG. 3, there is shown a flow diagram of the present invention for sending the wire mesh  30   a , texture database  40   a , and movement instructions (wire mesh database)  50   a  to a user which ensures all of these components have not been modified or altered during transmission. In this regard, the wire mesh  30   a , textured database  40   a  and movement instructions  50   a  produced by the animation processor is sent to a user, such as via the Internet or manual distribution and the like. The sender then encrypts the texture database  40   b , wire mesh  30   b  and wire mesh database  50   b  with a private key  60  for producing a secure executable file  70  which is essentially tamper proof. The sender may send this encryption via any suitable means, such as via the Internet or manual distribution and the like, or it may be send as an attachment to the unencrypted file.  
         [0021]    The receiver of the digital files then decrypts  80  the texture database  40   b , wire mesh  30   b  and wire database  50   b  with a public key. The public key may be sent to the user by the sender, or may be retrieved from publicly accessible facilities, such as the Internet and the like. As well known to those skilled in the art, the public key may only decrypt the digital files, whereas the private key can encrypt and decrypt. Such encryption and decryption technology is well known in the art and will not be discussed in detail herein. The customer then compares  90  the decrypted texture  40   b , wire mesh  30   b  and wire database  50   b  with the originally received texture database  40   a , wire mesh  30   a  and wire database  50   a.    
         [0022]    Referring to FIG. 5, there are shown details of the comparison step  90  that are preferably implemented in software on a computer. Upon initiating of the comparison software code S 12 , a comparison is performed S 14  by a computer or player  100  executing code of the present invention for determining the level of security of the animation. The software code produces S 16  a graphical user interface (GUI), including a plurality of lights, on a monitor of the computer. The software code will then illuminate S 18  a single light from the plurality of lights displayed on the monitor for indicating security status as determined by the comparison. For example, a yellow light will indicate S 18  that the security status of the animation is questionable due to a predetermined number of errors (between 1 and a predetermined limit n, as determined by the user depending on the desired level of security) occurs in the comparison of the two sets of databases. A red light will indicate S 18  that the animation has been modified, or security has been compromised, due to the number of errors in the two databases being between greater than predetermined limit, n. A green light will indicate S 18  that the animation is definitely secure or unmodified, or in other words, there are zero errors between the two sets of databases. The code is then terminated S 20 .  
         [0023]    In an alternative embodiment, in lieu of encrypting the duplicate wire mesh  30   b , duplicate texture database  40   b  and duplicate wire mesh database (collectively referred to as duplicates), each or any one of these could be “hashed” and then encrypted before sending to the customer. In this regard, hashing includes passing all or each of the desired duplicates through an algorithm for converting it into a unique smaller representation, for example a checksum, which is well known in the art. This checksum is then encrypted and sent to the customer where the checksum is decrypted.  
         [0024]    The customer then passes the corresponding original (either or all of the wire mesh  30   a , texture database  40   a  and wire mesh  50   a ) through the same hashing algorithm for obtaining a corresponding smaller unique representation, or checksum. As is well known in the art, any alteration of data that is subsequently hashed results in a different checksum from a checksum of the unaltered data, which obviously indicates the data has been altered. The user or customer then compares the two checksums for verifying whether the data has been altered.  
         [0025]    The invention has been described in detail with particular reference to certain preferred embodiments thereof, but it will be understood that variations and modifications can be effected within the spirit and scope of the invention.  
                                             PARTS LIST                                    10   digital camera           20   animation processor           30   wire mesh           35   interconnecting segments           30a   wire mesh           30b   wire mesh           40a   texture database           40b   texture database           50a   movement instructions (wire mesh database)           50b   movement instructions (wire mesh database)           60   private key           70   executable file           80   customer decrypts           90   customer compares           100   computer/player           S2   process initiated           S4   produce wire mesh           S6   produce textures           S8   produce movement instructions           S10   output           S12   start           S14   comparison           S16   produce GUI           S18   illuminate single light as determined by the comparison           S20   end