Abstract:
There is provided an information processing apparatus/method characterized by inputting information data, generating security data to be used to protect the information data, encoding the information data to generate encoded data, extracting a unique predetermined code indicating a specific meaning from encoded data within a security section in accordance with the security data, superimposing the security data on the predetermined code, scrambling the encoded data except for the predetermined code within the security section, and outputting the superimposed predetermined code and the scrambled encoded data.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to an information processing apparatus and method and, more particularly, to information processing for protecting intellectual properties (e.g., copyrights) of information data.  
           [0003]    2. Related Background Art  
           [0004]    Conventionally, as image coding schemes, coding schemes such as Motion JPEG, Digital Video, and the like which use intra-frame coding, and coding schemes H.261, H.263, MPEG-1, MPEG-2, and the like which use inter-frame predictive coding are known. These coding schemes have been internationally standardized by ISO (International Organization for Standardization) and ITU (International Telecommunication Union). Intra-frame coding is best suited to apparatuses which require edit and special playback processes of moving images, since it encodes in units of frames, and allows easy management of frames. On the other hand, inter-frame coding can assure high coding efficiency since it uses inter-frame prediction.  
           [0005]    Furthermore, international standardization of MPEG-4 as versatile next-generation multimedia coding standards which can be used in many fields such as computers, broadcast, communications, and the like is in progress.  
           [0006]    As such digital coding standards have prevailed, the contents industry strongly recognizes a problem of intellectual property (e.g., copyright) protection. That is, contents cannot be provided with confidence using standards which cannot sufficiently guarantee copyright protection.  
           [0007]    To solve this problem, MPEG-4 can describe data in Systems (ISO 14496-1) as Part 1 to build in an IPMP (Intellectual Property Management &amp; Protection) function so as to implement copyright protection in its standards. Refer to ISO 14496-1 for further details.  
           [0008]    [0008]FIG. 1 shows an example of the format of MPEG-4 encoded data.  
           [0009]    Referring to FIG. 1, BIFS (Binary Format for Scene description) encoded data  1010  is obtained by encoding information such as the composition method of object, synchronization of objects, and the like described in Part 1. IPMP encoded data  1011  describes information that pertains to security of bitstreams. Video encoded data  1012  is an encoding result of image data of moving images. Audio encoded data  1013  is an encoding result of audio data appended to moving images.  
           [0010]    [0010]FIG. 2 shows an example of information described in the IPMP encoded data  1011 .  
           [0011]    The data  1011  contains information (IPMP object encoded data) indicating encoded data set with security. In FIG. 2, the video encoded data  1012  corresponds to such data. Authentication data used to discriminate if decoding of this encoded data is permitted follows. In FIG. 2, “nonac” is authentication data. In general, this data is enciphered. In this example, the authentication data “nonac” which is provided by reversing authentication data “canon” is enciphered data.  
           [0012]    Furthermore, the numbers of frames to be protected and information obtained by enciphering a decipher key in case of that frame data are enciphered by scrambling are described to assure security for some parts of a sequence of video data. In FIG. 2, frame Nos. 1 to 100 in video encoded data can be descrambled by decipher key “key”, and frame Nos. 1000 to 1260 can be descrambled by decipher key “maeda”. The IPMP encoded data  1011  is obtained by encoding these data. The video encoded data  1012  is copyrighted by scrambling frames for which the IPMP encoded data assures security.  
           [0013]    [0013]FIG. 3 shows an example of a decoding apparatus for decoding such encoded data.  
           [0014]    Referring to FIG. 3, an input terminal  1000  receives the IPMP encoded data  1011  and video encoded data  1012  of the encoded data of moving image data. A demultiplexer  1001  demultiplexes the input encoded data into the IPMP encoded data  1011  and video encoded data  1012 . A buffer  1002  stores the video encoded data  1012  demultiplexed by the demultiplexer  1001  in units of frames.  
           [0015]    An IPMP decoder  1003  decodes the IPMP encoded data. An authentication unit  1004  authenticates decoded data. Selectors  1005  and  1007  change their input source/output destination in accordance with the output from the authentication unit  1004 . A descrambler  1006  is connected to the selector  1005 . A video decoder  1008  decodes video encoded data to play back image data. An output terminal  1009  outputs playback image data.  
           [0016]    The operation of the decoding apparatus with the above arrangement will be explained below.  
           [0017]    The IPMP encoded data  1011  is input first from the input terminal  1000 . The demultiplexer  1001  inputs the IPMP encoded data to the IPMP decoder  1003 . The IPMP decoder  1003  decodes the IPMP encoded data  1011  to obtain authentication data, frame numbers as security objects, and keys for descrambling.  
           [0018]    The authentication data is input to the authentication unit  1004  and is compared with authentication data registered in advance. If authentication is unsuccessful, the selector  1005  is directly connected to the selector  1007  not to output decoded data via the descrambler  1006 . If authentication is successful, whether or not the selectors  1005  and  1007  are connected via the descrambler  1006  is selected in accordance with an instruction from the IPMP decoder  1003 .  
           [0019]    In this case, when the IPMP decoder  1003  recognizes encoded data of a frame to which security is given, it instructs the selectors  1005  and  1007  to select a path via the descrambler  1006 . Otherwise, the decoder  1003  instructs the selectors  1005  and  1007  to select a path without the intervention of the descrambler  1006 .  
           [0020]    That is, the selectors  1005  and  1007  select each other as the output and input when authentication is unsuccessful in the authentication unit  1004  and when authentication is successful and the IPMP decoder  1003  determines that the descrambler  1006  is not required (i.e., no processing of the descrambler  1006  is done). On the other hand, when authentication is successful, and the IPMP decoder  1003  recognizes encoded data of a frame to which security is given, the selectors  1005  and  1007  select a path via the descrambler  1006 .  
           [0021]    Therefore, when authentication is successful, the video decoder can play back a normal image since the descrambler descrambles frames to which security is given in addition to those to which no security is given. When authentication is unsuccessful, since scrambled encoded data is input to the video decoder  1008  which cannot normally decode it, no normal playback image is generated.  
           [0022]    However, in this arrangement, IPMP encoded data must be edited upon editing video data, resulting in complicated processes. For example, when a single bitstream is to be generated by combining with another sequence, the frame numbers change, and the contents of the IPMP encoded data must be changed. Key information for scrambling must be prepared independently of security object data, and redundant information must be appended.  
         SUMMARY OF THE INVENTION  
         [0023]    It is, therefore, one object of the present invention to provide an information processing apparatus and method, which can efficiently protect intellectual properties (e.g., copyrights) of information data in consideration of the aforementioned situation.  
           [0024]    In order to achieve the above object, an information processing apparatus/method according to one preferred aspect of the present invention is characterized by inputting information data, generating security data to be used to protect the information data, encoding the information data to generate encoded data, extracting a unique predetermined code indicating a specific meaning from encoded data within a security section in accordance with the security data, superimposing the security data on the predetermined code, scrambling the encoded data except for the predetermined code within the security section, and outputting the superimposed predetermined code and the scrambled encoded data.  
           [0025]    An information processing apparatus/method according to another preferred aspect of the present invention is characterized by inputting encoded data in which security data is adaptively superimposed on a unique predetermined code in the encoded data, which indicates a specific meaning, and the encoded data except for the predetermined code is adaptively scrambled in accordance with the security data, extracting from the encoded data a code which is located at a position where the predetermined code is present, detecting the security data from the extracted code, and descrambling the encoded data in accordance with the detection result.  
           [0026]    An information processing method according to another preferred aspect of the present invention is characterized by inputting image encoded data that forms a hierarchical structure, extracting a predetermined code indicating a head of a predetermined layer from the image encoded data, and superimposing security data for image protection onto the predetermined code extracted in the extraction step.  
           [0027]    An information processing method according to another preferred aspect of the present invention is characterized by inputting encoded data in which security data is superimposed on a predetermined code indicating a head of a predetermined layer of image encoded data that forms a hierarchical structure, extracting from the encoded data a code which is located at a position where the predetermined code is present, detecting the security data from the extracted code, and decoding the encoded data in accordance with the detection result.  
           [0028]    Other objects, features and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0029]    [0029]FIG. 1 shows an example of the format of MPEG-4 encoded data;  
         [0030]    [0030]FIG. 2 shows an example of information contained in IPMP encoded data;  
         [0031]    [0031]FIG. 3 is a block diagram showing the arrangement of a conventional decoding apparatus;  
         [0032]    [0032]FIG. 4 is a block diagram showing the arrangement of an information processing apparatus according to the first embodiment of the present invention;  
         [0033]    [0033]FIG. 5 is a block diagram showing the arrangement of an information processing apparatus according to the second embodiment of the present invention;  
         [0034]    [0034]FIG. 6 is a block diagram showing the arrangement of an information processing apparatus according to the third embodiment of the present invention;  
         [0035]    [0035]FIG. 7 is a block diagram showing the arrangement of an information processing apparatus according to the fourth embodiment of the present invention;  
         [0036]    [0036]FIG. 8 is a block diagram showing the arrangement of an information processing apparatus according to the fifth and sixth embodiments of the present invention;  
         [0037]    [0037]FIG. 9 is a flow chart showing an image encoding process in the fifth embodiment of the present invention;  
         [0038]    [0038]FIG. 10 is a flow chart showing an image encoding process in the fifth embodiment of the present invention;  
         [0039]    [0039]FIG. 11 is a flow chart showing an image decoding process in the sixth embodiment of the present invention; and  
         [0040]    [0040]FIG. 12 is a flow chart showing an image decoding process in the sixth embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0041]    Preferred embodiments of the present invention will now be described in detail with reference to the accompanying drawings.  
         [0042]    [0042]FIG. 4 is a block diagram showing the arrangement of an information processing apparatus according to the first embodiment of the present invention. Note that this embodiment will exemplify a process for copyrighting image data, but the present invention is not limited to image data but may be applied to audio data and the like. As a video coding scheme, MPEG-4 will be exemplified. However, the present invention is not limited to such specific scheme, and other coding schemes such as H.261, H.263, MPEG-1, MPEG-2, and the like may be used.  
         [0043]    Referring to FIG. 4, an input terminal  100  inputs image data in units of frames. A video encoder  101  encodes moving images by MPEG-4. A security setting unit  104  sets security for protecting (e.g., copyrights) of moving images. Selectors  102  and  112  select their input source/output destination in accordance with an instruction from the security setting unit  104 .  
         [0044]    A buffer  103  temporarily stores encoded data. A detector  105  detects a start code from the encoded data. A key generation unit  108  generates a key for scrambling encoded data to protect security. An authentication setting unit  110  sets authentication data required for canceling security.  
         [0045]    An enciphering unit  109  enciphers input data by a given encipherment scheme, and outputs enciphered data. A cipher superimposition unit  106  superimposes enciphered data on the start code. A scrambler  107  scrambles in accordance with the aforementioned key. A compositing unit  111  composites the outputs from the cipher superimposition unit  106  and descrambler  107 . An input terminal  113  externally inputs audio encoded data.  
         [0046]    A multiplexer  114  multiplexes audio data in units of frames of video data. An output terminal  115  outputs generated encoded data.  
         [0047]    The operation of an image data processing apparatus with the above arrangement will be described below.  
         [0048]    The user determines and sets a section of image data to be copyrighted using the security setting unit  104 . In this embodiment, security is given to frame Nos. n to (n+m) in a sequence of image data that starts from frame No. 1.  
         [0049]    Image data is input from the input terminal  100  in units of frames, and is encoded by the video encoder  101 . The encoded data is input to the selector  102  in units of frames. In this case, a frame (frame Nos. 1 to (n−1), or frame Nos. (n+m+1) or later) to which no security is given by the security setting unit  104  is input, the buffer  103  is set as the output of the selector  102  and the input of the selector  112 . In this case, encoded data is output from the output terminal  115  without any security (e.g., scrambling) process.  
         [0050]    A process for a frame (frame Nos. n to (n+m)) to which the security setting unit  104  gives security will be explained below. The security setting unit  104  makes the key generation unit  108  generate a key used to scramble the corresponding frame. The generated key is input to the scrambler  107  and enciphering unit  109 .  
         [0051]    The authentication setting unit  110  sets data required for authentication, e.g., a password, and inputs it to the enciphering unit  109 . The enciphering unit  109  enciphers them by a predetermined encipherment scheme to generate enciphered data of 32 bits or less. In this embodiment, 23-bit enciphered data α is generated.  
         [0052]    The selector  102  selects the start code detector  105  as its output destination, and the selector  112  selects the compositing unit  111  as its input source. Therefore, the encoded data input to the selector  102  is input to the start code detector  105 .  
         [0053]    Table 1 below summarizes start codes used in MPEG-4.  
                           TABLE 1                                   Code Name   Code (hex)                           video_object_start_code   00000100 to 0000011F           video_object_layer_start_code   00000120 to 0000012F           Reserved   00000130 to 000001AF           visual_object_sequence_start_code   000001B0           visual_object_sequence_end_code   000001B1           user_data_start_code   000001B2           group_of_vop_start_code   000001B3           video_session_error_code   000001B4           visual_object_start_code   000001B5           vop_start_code   000001B6           Reserved   000001B7 to 000001B9           face_object_start_code   000001BA           face_object_plane_start_code   000001BB           mesh_object_start_code   000001BC           mesh_object_plane_start_code   000001BD           still_texture_object_start_code   000001BE           texture_spatial_layer_start_code   000001BF           texture_snr_layer_start_code   000001C0           Reserved   000001C1 to C5           System start codes (see note)   000001C6 to 000001FF                      
 
         [0054]    In this embodiment, the start code detector  105  detects a VOP (Video Object Plane) start code (vop_start_code). The encoded data other than this start code is input to the scrambler  107 .  
         [0055]    The VOP start code detected by the start code detector  105  is input to the cipher superimposition unit  106 . The cipher superimposition unit  106  shifts enciphered data a leftward by 9 bits, and performs an exclusive OR operation on the shifted data and VOP start code. For example, if enciphered data α is “7234A” (hexadecimal), the output from the cipher superimposition unit  106  is “E4715B6”.  
         [0056]    The key generated by the key generation unit  108  is input to the scrambler  107 , which scrambles the encoded data except for the start code using the key, and inputs the scrambled data to the compositing unit  111 . The compositing unit  111  composites data obtained by superimposing the enciphered data α on the VOP start code with the scrambled encoded data to have the former data at the head position.  
         [0057]    Audio encoded data encoded by an external circuit is input from the input terminal  113 , and is multiplexed with the video encoded data output from the selector  112  in units of frame. The multiplexed data is packetized, and packet data are output from the output terminal  115 .  
         [0058]    With a series of encoding, enciphering, and selection processes, encoded data security of which is warranted (its copyright is protected) can be generated without any redundancy.  
         [0059]    In this embodiment, the start code is selected as a code to be detected. However, the present invention is not limited to such specific code, and any other codes may be detected as long as they are unique codes (indicating specific meanings), even though they have a fixed or variable length from the beginning of the data. In this embodiment, the VOP start code is detected as the start code to be detected, but the present invention is not limited to such specific start code, and higher-order start codes may be detected. For example, the key and authentication information may be superimposed on a VOL start code when security control is made in units of layers, or on a VOS start code when control is made in units of sequences.  
         [0060]    [0060]FIG. 5 is a block diagram showing the arrangement of an information processing apparatus according to the second embodiment of the present invention.  
         [0061]    An input terminal  200  inputs encoded data. This embodiment decodes encoded data generated by the first embodiment, and the input terminal  200  is equivalently connected to the output terminal  115  in FIG. 4.  
         [0062]    A demultiplexer  201  demultiplexes multiplexed data into audio encoded data and video encoded data. The video encoded data is output to the subsequent circuits in units of packets.  
         [0063]    An output terminal  202  outputs the audio encoded data to an external audio decoder. A start code detector  203  detects encoded data β located at the position of the VOP start code from the input video encoded data. A buffer  204  stores encoded data other than that corresponding to the position of the start code. An error analyzer  205  extracts a difference from the VOP start code when a normal VOP start code cannot be obtained from encoded data β. A deciphering unit  206  deciphers enciphered data by a predetermined scheme. An authentication unit  207  compares authentication data extracted from the encoded data with input authentication data, and determines to cancel security when they match. An authentication memory  208  stores authentication data unique to this information processing apparatus.  
         [0064]    Selectors  209  and  211  select their input/output in accordance with instructions from the authentication unit  207  and error analyzer  205 . A descrambler  210  descrambles scrambled data. A video decoder  212  decodes video encoded data. An output terminal  213  outputs the decoded playback image data.  
         [0065]    The operation of an image data processing apparatus with the above arrangement will be described below.  
         [0066]    Encoded data input from the input terminal  200  is input to the demultiplexer  201 . The demultiplexer  201  demultiplexes the encoded data in units of packets into video encoded data and audio encoded data, and externally outputs the audio encoded data from the output terminal  202 .  
         [0067]    The video encoded data is input to the start code detector  203 . A VOP start code as a start code to be detected is always located at a 32-bit portion from the head of data when video data is encoded and packetized in units of frames. For this reason, encoded data for 32 bits from the head position is extracted, and is output to the error analyzer  205 . The remaining data is output to the buffer  204 .  
         [0068]    The error analyzer  205  compares the input 32-bit encoded data with the VOP start code to obtain difference therebetween. That is, the error analyzer  205  computes the OR of the input data and VOP start code value (000001B6), and shifts the OR rightward by 9 bits. The shift result is input to the deciphering unit  206 .  
         [0069]    When the input encoded data and VOP start code are exactly the same, i.e., when no security is given, the error analyzer  205  instructs to directly connect the selectors  209  and  211  to input the input encoded data to the video encoder  212 .  
         [0070]    When security is given, and when the output from the authentication unit  207  indicates successful authentication, the selectors  209  and  211  are controlled to be connected via the descrambler  210 ; when authentication is unsuccessful, the selectors  209  and  211  are instructed to be directly connected to input the input encoded data to the video decoder  212 .  
         [0071]    The deciphering unit  206  deciphers the enciphered data by a predetermined scheme to obtain a scrambling key and authentication data. This deciphering scheme deciphers data enciphered by the enciphering unit  109  of the first embodiment. The key obtained by deciphering is input to the descrambler  210 , and authentication data is input to the authentication unit  207 .  
         [0072]    The authentication memory  208  stores authentication data unique to this apparatus. The authentication unit  207  compares the authentication data input from the deciphering unit  206  with the authentication data stored in the authentication memory  208 . If authentication is successful, and the error analyzer  205  can detect the presence of enciphered data, the selectors  209  and  211  are instructed to select a process in the descrambler  210 ; otherwise, the selectors are instructed to be connected directly.  
         [0073]    The output from the selector  211  is input to the video decoder  212 . The video decoder  212  decodes input data to generate a playback image. As a result, as for frames to which no security is given, the video decoder  212  directly receives and decodes the output from the demultiplexer  201  via the buffer  204  and the selectors  209  and  211  and can obtain a normal playback image.  
         [0074]    On the other hand, when security is set, if authentication fails, the scrambled video encoded data is input, and since the enciphered data remains superimposed on the VOP start code, the VOP start code cannot be detected. Therefore, the encoded data cannot be decoded, and a normal playback image cannot be obtained. Even when security is set, if authentication is successful, the scrambled data can be descrambled, and a normal playback image can be obtained.  
         [0075]    With a series of selection, deciphering, and decoding processes, image playback can be done in accordance with the intended security level.  
         [0076]    In this embodiment, the output from the error analyzer  205  is input to the deciphering unit  206 . In addition, the presence/absence of an error may be checked, and if any error is found, the video decoder  212  may be controlled to stop. In this manner, even when no function of detecting a start code at the head of data is available, the video decoder can be prevented from erroneously operating due to wrong data.  
         [0077]    [0077]FIG. 6 is a block diagram showing the arrangement of an information processing apparatus according to the third embodiment of the present invention. Note that the same reference numerals denote the same building components as in the first embodiment (FIG. 4) mentioned above, and a detailed description thereof will be omitted.  
         [0078]    An authentication setting unit  301  allows the user to set authentication data. An IPMP encoder  302  generates IPMP encoded data. An enciphering unit  303  enciphers in the same manner as the enciphering unit  109  of the first embodiment, but enciphers a key alone. A cipher superimposition unit  304  superimposes the enciphered data on a start code as in the cipher superimposition unit  106  of the first embodiment. A multiplexer  305  also multiplexes IPMP encoded data in addition to video and audio encoded data of the multiplexer  114  of the first embodiment.  
         [0079]    The operation of the an image data processing apparatus with the above arrangement will be described below.  
         [0080]    The user determines and sets a section of image data to be copyrighted using the security setting unit  104  as in the first embodiment. The authentication setting unit  301  makes the operator set data required for authentication, e.g., a password, and inputs it to the IPMP encoder  302 . The IPMP encoder  302  gives security to (e.g., copyrights) the video encoded data in accordance with the IPMP format, and enciphers and encodes the data required for authentication set by the authentication setting unit  301 . The output from the IPMP encoder  302  is multiplexed by the multiplexer  305  prior to the video and audio encoded data, and is output from the output terminal  115 .  
         [0081]    Image data is input from the input terminal  100  in units of frames, and is encoded by the video encoder  101 . The encoded data is input to the selector  102  in units of frames. For image data of frames to which no security is given by the security setting unit  104 , no security such as scrambling is given to encoded data as in the first embodiment, and the encoded data is output from the output terminal  115 .  
         [0082]    A process for image data of frames to which the security setting unit  104  gives security will be explained below.  
         [0083]    The security setting unit  104  makes the key generation unit  108  generate a key used to scramble the corresponding frame. The generated key is input to the scrambler  107  and enciphering unit  303 . The enciphering unit  109  enciphers the key by a predetermined encipherment scheme to generate enciphered data of 32 bits or less. In this embodiment, 32-bit enciphered data γ is generated.  
         [0084]    The selector  102  selects the start code detector  105  as its output destination, and the selector  112  selects the compositing unit  111  as its input source. Therefore, the encoded data input to the selector  102  is input to the start code detector  105 . The start code detector  105  detects a VOP start code. Encoded data other than the VOP start code is input to the scrambler  107 . The detected VOP start code is input to the cipher superimposition unit  304 . The cipher superimposition unit  304  performs an exclusive OR operation on the enciphered data γ and VOP start code. For example, if the enciphered data γ is “7234A19C” (hexadecimal), the output from the cipher superimposition unit  304  is “7234A02A”.  
         [0085]    The key generated by the key generation unit  108  is input to the scrambler  107 , which scrambles the encoded data except for the start code using the key, and inputs the scrambled data to the compositing unit  111 . The compositing unit  111  composites data obtained by superimposing the enciphered data γ on the VOP start code with the scrambled encoded data to have the former data at the head position.  
         [0086]    Audio encoded data encoded by an external circuit is input from the input terminal  113 , and is multiplexed by the multiplexer  305  with the video encoded data output from the selector  112  in units of frame. The multiplexed data is packetized, and packet data are output from the output terminal  115 .  
         [0087]    With a series of encoding, enciphering, and selection processes, encoded data security of which is warranted (its copyright is protected) can be generated without any redundancy. Since details of security for video are contained in the video encoded data, and the entire video encoded data is managed by IPMP, the video data can be easily managed.  
         [0088]    [0088]FIG. 7 is a block diagram showing the arrangement of an information processing apparatus according to the fourth embodiment of the present invention. Note that the same reference numerals denote the same building components as in the second embodiment (FIG. 5), and a detailed description thereof will be omitted. This embodiment processes encoded data generated by the third embodiment, and the input terminal  200  shown in FIG. 7 is equivalently connected to the output terminal  115  in FIG. 6.  
         [0089]    Referring to FIG. 7, a demultiplexer  401  demultiplexes multiplexed data into IPMP encoded data, audio encoded data, and video encoded data. The video encoded data is output to the subsequent circuits in units of packets. An IPMP decoder  402  decodes IPMP information.  
         [0090]    A terminal station  403  allows the user to input authentication data. An error analyzer  404  extracts the difference between the encoded data and VOP start code extracted by the start code detector  203 . A deciphering unit  405  deciphers enciphered data by a predetermined scheme. A video decoder  406  outputs playback image data and data indicating if decoding is successful. A frame memory  407  holds last image data for one frame, which is normally decoded. A selector  408  selects and outputs one of the output from the video decoder  406  and the output from frame memory  407  in accordance with the decoding result of the video decoder  406 .  
         [0091]    The operation of an image data processing apparatus with the above arrangement will be described below.  
         [0092]    Encoded data input from the input terminal  200  is input to the demultiplexer  401 . The demultiplexer  401  demultiplexes IPMP encoded data and the encoded data in units of packets into video encoded data and audio encoded data. The demultiplexer  401  externally outputs the audio encoded data from the output terminal  202 .  
         [0093]    The IPMP encoded data is output to the IPMP decoder  402 . The IPMP decoder  402  decodes the IPMP encoded data to acquire information that pertains to IPMP, i.e., authentication data that pertains to a sequence in this case. The authentication data is input to the authentication unit  207 , and is compared with authentication data input by the user at the terminal station  403 .  
         [0094]    The video encoded data demultiplexed by the demultiplexer  401  is input to the start code detector  203 , which separates encoded data corresponding to a start code and other encoded data as in the second embodiment, and outputs the data corresponding to the start code to the error analyzer  404 , and other data to the buffer  204 .  
         [0095]    The authentication unit  207  compares the authentication data input from the terminal station  403  with the authentication data input from the IPMP decoder  402 . When authentication is successful, and when the error analyzer  404  can detect the presence of enciphered data, the selectors  209  and  211  are instructed to select a process in the descrambler  210 ; otherwise, the selectors are instructed to be connected directly.  
         [0096]    The error analyzer  404  compares the input encoded data from the first to thirty second bits with the VOP start code to obtain difference therebetween. That is, the error analyzer  404  computes the exclusive OR of the input data and the VOP start code value (pb  000001 B6). The result is input to the deciphering unit  405 .  
         [0097]    When no security is set, the selectors  209  and  211  are instructed to input the encoded data input by directly connecting them to the video decoder  406 .  
         [0098]    When security is set, and when the output from the authentication unit  207  indicates successful authentication, the input source/output destination of the selectors  209  and  211  are controlled to output data that has been processed by the descrambler  210 ; when authentication is unsuccessful, the selectors  209  and  211  are instructed to input the encoded data which is input by directly connecting them, to the video decoder  406 .  
         [0099]    The deciphering unit  405  deciphers enciphered data by a predetermined scheme to acquire a scramble key. The deciphered key is input to the descrambler  210 .  
         [0100]    The output from the selector  211  is input to the video decoder  406 . The video decoder  406  decodes input data to generate a playback image. As a result, as for frames to which no security is given, the video decoder  406  directly receives and decodes the output from the demultiplexer  401  via the buffer  204  and the selectors  209  and  211  and can obtain a normal playback image. The decoded image data is externally output from the output terminal  213  via the selector  408 , and is stored in the frame memory  407  at the same time.  
         [0101]    On the other hand, when security is set, if authentication fails, the scrambled video encoded data is input, and since the enciphered data remains superimposed on the VOP start code, the VOP start code cannot be detected, and the encoded data cannot be decoded. In this case, the selector  408  reads out normally decoded last frame data from the frame memory  407  and outputs it to the terminal  213 . At this time, the contents of the frame memory  407  are not updated.  
         [0102]    Even when security is set, if authentication is successful, the scrambled data can be descrambled, and a normal playback image can be obtained. In this case as well, the image data is externally output from the output terminal  213  via the selector  408 , and is stored in the frame memory  407  at the same time.  
         [0103]    With a series of selection, deciphering, and decoding processes, image playback can be done in accordance with the intended security level. Since information that pertains to scrambling of an image is superimposed on video encoded data, easy management in units of frames is allowed. Furthermore, even when decoding is disabled, since a normally played-back image is output, an image can be prevented from suddenly disappearing and no noise image is displayed, thus preventing the user from being disrupted.  
         [0104]    [0104]FIG. 8 is a block diagram showing the arrangement of an information processing apparatus according to the fifth embodiment of the present invention. In this embodiment, an encoding process of image data will be particularly explained. This embodiment will exemplify MPEG-1, but the present invention is not limited to such specific scheme. Refer to ISO 11172-2 for detailed specifications of MPEG-1.  
         [0105]    Referring to FIG. 8, a central processing unit (CPU)  500  controls the overall apparatus, and executes various processes. A memory  501  stores an operating system (OS) and software required to control the apparatus, and provides a storage area necessary for arithmetic operations. Note that the memory  501  has an image area which stores the OS for controlling the overall apparatus to run various software programs, and software programs to run, and loads image data to encode it, a code area for temporarily storing encoded data, and a working area for storing parameters of various arithmetic operations, and the like.  
         [0106]    A bus  502  connects various devices to exchange data and control signals. A storage device  503  stores software. A storage device  504  stores moving image data. A monitor  505  displays an image. A communication circuit  508  comprises a LAN, public line, radio line, broadcast wave, or the like. A communication interface  507  sends encoded data to the communication circuit  508 . A terminal station  506  is used to start the apparatus and to set security.  
         [0107]    In the aforementioned arrangement, prior to processing, the user selects at the terminal station  506  moving image data to be encoded from those stored in the storage device  504 , and starts the apparatus. Then, software stored in the storage device  503  is mapped on the memory  501  via the bus  502 , and is launched.  
         [0108]    The encoding operation of moving image data stored in the storage device  504  by the CPU  500  will be described below with reference to the flow charts shown in FIGS. 9 and 10.  
         [0109]    The encoding process will be explained below using FIG. 9.  
         [0110]    Referring to FIG. 9, security setting conditions such as “sequence authentication data” used to authenticate in units of sequences, “scene authentication data” used to authenticate in units of sets of scenes, a picture to which security is given to start inhibition of decoding, a picture for which inhibition is canceled, “picture authentication data” used to authenticate in units of pictures, and the like are input in step S 1 , and are stored in the working area of the memory  501 . The flow then advances to step S 2 .  
         [0111]    In step S 2 , “sequence authentication data” is enciphered and the enciphered data is superimposed on a sequence header code (value “000001B3”) of MPEG-1 by an exclusive OR operation, and the result is stored in a predetermined area of the memory  501 . The flow advances to step S 3 .  
         [0112]    In step S 3 , encoded data of another sequence layer is generated, is stored to follow the superimposed sequence header code, and is stored as packets in a predetermined area of the storage device  504 . The flow then advances to step S 4 .  
         [0113]    It is checked in step S 4  if the process is complete for image data of all scenes to be encoded, when a GOP is considered as one scene. If the process is complete for all image data, the software ends; otherwise, the flow advances to step S 5 .  
         [0114]    In step S 5 , “GOP authentication data” is enciphered and is superimposed on a GOP start code (value “000001B7”) of MPEG-1 by an exclusive OR operation. The OR is stored in a predetermined area of the memory  501 . The flow advances to step S 6 .  
         [0115]    In step S 6 , encoded data of another GOP layer is generated, is stored to follow the superimposed GOP start code, and is stored as packets in a predetermined area of the storage device  504 . The flow advances to step S 7 .  
         [0116]    It is checked in step S 7  if the encoding process is complete for all picture image data to be encoded in the GOP. If the encoding process is completed for all image data, the encoding process of the GOP ends, and the flow returns to step S 4  to execute the encoding process of the next GOP. Otherwise, the flow advances to step S 8  to encode in units of pictures.  
         [0117]    The encoding process in units of pictures in step S 8  in FIG. 9 will be described below using FIG. 10.  
         [0118]    In FIG. 10, it is checked in step S 10  based on the picture conditions stored in the working area of the memory  501  in step S 1  in FIG. 9 if picture image data to be encoded falls within a security section. If the picture to be encoded is included within the security section, the flow advances to step S 12  to encipher it; otherwise, the flow advances to step S 11  to execute a normal picture encoding process.  
         [0119]    In step S 11 , image data of the picture to be encoded is read out from the storage device  504 , and undergoes picture layer encoding of MPEG-1. The encoded data is stored as packets in a predetermined area of the storage device  504 . The flow then advances to step S 7  in FIG. 9 to process the next picture.  
         [0120]    In step S 12 , a key for scrambling is generated, the generated key and “picture authentication data” are enciphered, the enciphered data is superimposed on a picture start code (value “00000100”) of MPEG-1 by an exclusive OR operation, and the obtained data is stored in a predetermined area of the memory  501 . The flow then advances to step S 13 .  
         [0121]    In step S 13 , encoded data that pertains to the header of another picture layer is generated, and is stored following the superimposed picture start code. Furthermore, image data of the picture to be encoded is read out from the storage device  504 , and is temporarily stored in the code area of the memory  501  after it is encoded.  
         [0122]    In step S 14 , the encoded data generated in step S 13  is scrambled using the key generated in step S 12 , and the flow advances to step S 15 .  
         [0123]    In step S 15 , the superimposed picture start code and scrambled encoded data are stored as packets in a predetermined area of the storage device  504 , and the flow advances to step S 7 .  
         [0124]    With a series of encoding, enciphering, and selection processes described above, encoded data for which security is assured can be generated without any redundant data. Since security can be set in units of layers, various security levels can be given.  
         [0125]    In the above embodiment, data is stored in the storage device  504 . Alternatively, the data may be output onto the communication line  506  via the communication interface  505 .  
         [0126]    The sixth embodiment will especially explain the decoding process of image data. The arrangement of the information processing apparatus is the same as that shown in FIG. 8 of the fifth embodiment. Note that this embodiment also exemplifies MPEG-1, but the present invention is not limited to this. In this embodiment, the decoding process of encoded data generated in the fifth embodiment and stored in the storage device  504  will be exemplified.  
         [0127]    In the arrangement shown in FIG. 8, prior to the processing, when the user selects at the terminal station  506  encoded data to be decoded from moving image encoded data stored in the storage device  504  and starts the apparatus, the software stored in the storage device  503  is mapped on the memory  501  via the bus  502  and is launched.  
         [0128]    The decoding operation of encoded data stored in the storage device  504  by the CPU  500  will be explained below using the flow charts shown in FIGS. 11 and 12.  
         [0129]    The decoding process will be explained below using FIG. 11.  
         [0130]    Referring to FIG. 11, the first packet of the sequence to be decoded is read out from the storage device  504 , and is stored in the code area of the memory  501  in step S 20 . The first 32 bits of the stored encoded data are compared with the sequence header code to demultiplex and decipher the superimposed “sequence authentication data”. The flow then advances to step S 21 .  
         [0131]    In step S 21 , the deciphered “sequence authentication data” is compared with authentication data input from the terminal station  506 . If authentication is successful, the flow advances to step S 22  to proceed with the decoding process. If authentication is unsuccessful, the decoding process ends to stop software.  
         [0132]    In step S 22 , encoded data of another sequence layer stored in the code layer of the memory  501  is decoded, and the decoding result is stored in the working area of the memory  501 , so that the data can be used in the subsequent processes. The flow then advances to step S 23 .  
         [0133]    It is checked in step S 23  if the process is complete for image data of all scenes (GOPs). If the process is complete for all image data, the software ends. Otherwise, the flow advances to step S 24 .  
         [0134]    In step S 24 , a packet associated with the header of the GOP to be decoded is read out from the storage device  504 , and is stored in the code area of the memory  501 . The first 32 bits of the stored encoded data are compared with a GOP start code to demultiplex and decipher the superimposed “GOP authentication data”, and the flow then advances to step S 25 .  
         [0135]    In step S 25 , the deciphered “GOP authentication data” is compared with authentication data input from the terminal station  506 . If authentication is successful, the flow advances to step S 26  to proceed with decoding. If authentication is unsuccessful, the flow returns to step S 23  to try to process the next GOP.  
         [0136]    In step S 26 , encoded data of another GOP layer stored in the code area of the memory  501  is decoded, and the decoding result is stored in the working area of the memory  501 , so that the data can be used by the subsequent processes. The flow then advances to step S 27 .  
         [0137]    It is checked in step S 27  if the process is complete for all picture image data to be decoded in the GOP. If the decoding process is complete for all image data, the decoding process of the GOP ends, and the flow returns to step S 23  to decode the next GOP. Otherwise, the flow advances to step S 28  to decode in units of pictures.  
         [0138]    The decoding process in units of pictures in step S 28  in FIG. 11 will be described below using FIG. 12.  
         [0139]    In FIG. 12, packets associated with the picture to be decoded are read out from the storage device  504  and are stored in the code area of the memory  501  in step S 31 .  
         [0140]    In step S 32 , the first 32 bits of the encoded data stored in the memory  501  are compared with a picture start code. If the value is “00000100”, the flow advances to step S 33  to execute a normal picture decoding process. That is, no security is set. On the other hand, if the value is not “00000100”, since security is set, the flow advances to step S 34  to process that data.  
         [0141]    In step S 33 , encoded data of the picture to be decoded is read out from the code area of the memory  501  and undergoes picture layer decoding of MPEG-1. The decoded data is sent to and displayed on the monitor  505 . To process the next picture, the flow advances to step S 27  in FIG. 11.  
         [0142]    On the other hand, in step S 34  the superimposed “picture authentication data” and key for scrambling are demultiplexed and deciphered, and the flow advances to step S 35 .  
         [0143]    In step S 35 , the deciphered “picture authentication data” is compared with authentication data input from the terminal station  506 . If authentication is successful, the flow advances to step S 36  to proceed with the decoding process. If authentication is unsuccessful, the flow advances to step S 27  in FIG. 11 to process the next picture.  
         [0144]    In step S 36 , encoded data of the picture layer stored in the code area of the memory  501  is read out, and is descrambled by the deciphered key. The flow advances to step S 37 .  
         [0145]    In step S 37 , the descrambled picture encoded data undergoes picture layer decoding of MPEG-1, and the decoded data is sent to and displayed on the monitor  505 . The flow then advances to step S 27  in FIG. 11 to process the next picture.  
         [0146]    With a series of selection, deciphering, and decoding processes, image playback can be done in accordance with the intended security level.  
         [0147]    Since security can be set in units of layers, various security levels can be set. Since a system, which cannot decipher each authentication data, cannot recognize each start code, it cannot play back any data, thus implementing copyright protection.  
         [0148]    As can be seen from the above description, in this embodiment, encoded data to which security is given while suppressing redundant data to be appended can be generated.  
         [0149]    In this embodiment, security data can be set in correspondence with layers. Since security can be managed in units of pictures or frames, the present invention can be suitably applied to an edit process and the like.  
         [0150]    In other words, the foregoing description of embodiments has been given for illustrative purposes only and not to be construed as imposing any limitation in every respect.  
         [0151]    The scope of the invention is, therefore, to be determined solely by the following claims and not limited by the text of the specifications and alterations made within a scope equivalent to the scope of the claims fall within the true spirit and scope of the invention.