[go: up one dir, main page]

HK1097087B - Information processing apparatus and information processing method - Google Patents

Information processing apparatus and information processing method Download PDF

Info

Publication number
HK1097087B
HK1097087B HK07103902.4A HK07103902A HK1097087B HK 1097087 B HK1097087 B HK 1097087B HK 07103902 A HK07103902 A HK 07103902A HK 1097087 B HK1097087 B HK 1097087B
Authority
HK
Hong Kong
Prior art keywords
playlist
playback
content
information
key
Prior art date
Application number
HK07103902.4A
Other languages
Chinese (zh)
Other versions
HK1097087A1 (en
Inventor
芳和 高岛
健二朗 上田
丈於 大石
元树 加藤
克美 村松
Original Assignee
索尼株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2005223458A external-priority patent/JP4613739B2/en
Application filed by 索尼株式会社 filed Critical 索尼株式会社
Publication of HK1097087A1 publication Critical patent/HK1097087A1/en
Publication of HK1097087B publication Critical patent/HK1097087B/en

Links

Description

Information processing apparatus, information processing method, and computer program
Cross Reference to Related Applications
The present invention encompasses subject matter relating to japanese patent application JP 2005-one 223458, filed by the japanese patent office at 8/1/2005, the entire contents of which are incorporated herein by reference.
Technical Field
The invention relates to an information processing apparatus, an information processing method, an information recording medium, and a computer program. More particularly, the present invention relates to an information processing apparatus, an information processing method, an information recording medium, and a computer program in which a playback path is defined according to the information processing apparatus so that content having a playlist selected for each playback area can be played back seamlessly.
Background
Various software data (hereinafter, referred to as "content") such as audio data such as music, image data such as movies, game programs, and various application programs may be stored as digital data on a recording medium such as a Blue-ray disc (trademark) using a Blue laser, a Digital Versatile Disc (DVD), a Mini Disc (MD), a Compact Disc (CD). In particular, a blu-ray disc (trademark) using blue laser is a high-density recording disc, and a large amount of video content can be recorded as high-quality image data.
The digital content is stored in various information recording media such as those described above, and is provided to users. The user uses the digital content by playing back the digital content on the user's Personal Computer (PC) or a player such as a disc player.
Generally, the distribution right of many content data such as music data and image data is owned by a creator or seller of such content data. Thus, basically, some usage restrictions are imposed when distributing content, that is, only usage of the content by authorized users is allowed, thereby preventing unauthorized copying.
According to the digital recording apparatus and the recording medium, images and sounds can be repeatedly recorded and played back without loss of quality. Therefore, distribution of illegally copied contents via the Internet, circulation of recording media such as so-called "pirate discs", i.e., compact disc recordable (CD-R) discs on which copied contents are recorded, and use of copied contents stored in, for example, a hard disk of a PC are widespread.
A DVD or a large-capacity recording medium, such as a recording medium using a blue laser that has been developed recently, can record a large amount of data, for example, up to several movies, as digital information on one medium. Since video information can be recorded as digital information as described above, it becomes important to perform copyright protection by preventing unauthorized copying. Nowadays, in order to prevent unauthorized copying of digital data, various techniques for preventing unauthorized copying are put to practical use in digital recording apparatuses or recording media.
For example, in a DVD player, a content scrambling system (contentscrambling system) is employed. According to the content scrambling system, data such as video data or sound data encrypted and recorded on, for example, a DVD-read only memory (DVD-ROM) can be descrambled to play back the content.
In the descrambling process, it is necessary to perform processing using specific data such as a key provided for a licensed DVD player. Permission is granted to DVD players that are designed to comply with predetermined operating rules, e.g., agree not to perform unauthorized copying. Accordingly, a licensed DVD player can play back an image or sound from a DVD-ROM by descrambling data recorded on the DVD-ROM using specific data, for example, a given key.
On the other hand, an unauthorized DVD player cannot play back data recorded on a DVD-ROM because it does not have a key for descrambling scrambled data. In this way, in the content scrambling system, a DVD player that does not satisfy the conditions required to receive the license cannot reproduce the digital data from the DVD-ROM, thereby preventing unauthorized copying.
However, such a content scrambling system is not an ideal system, and there are many content scrambling systems in which the descrambling method has been decoded earlier and distributed via a communication device such as the Internet. In this way, once the scrambling method is deciphered, the content can be illegally played back or copied through an unauthorized descrambling process and the copyright or usage right of the content is infringed.
As another technique for preventing unauthorized use of contents, published japanese translation of PCT patent application international publication No. 2004-532495 discloses a configuration in which video data having different content variations (variations) are set and a piece of video data having a specific content variation is selected. However, according to this configuration, content can be played back in many devices due to leakage of an encryption key, and in such a case, it is difficult to determine the source of the leakage.
Disclosure of Invention
Therefore, it is desirable to provide an information processing apparatus, an information processing method, an information recording medium, and a computer program in which unauthorized use of content is eliminated to achieve strict content use management, and a playback path is defined according to the information processing apparatus so that content having a playlist selected for each playback zone can be played back.
More specifically, it is desirable to extract such an information processing apparatus, an information processing method; an information recording medium, and a computer program, wherein a segment (segment) functioning as a content recording unit of the information recording medium is formed of a plurality of variations using different encryption keys, and when playback processing is performed by an information processing apparatus, only a specific playback path set by selecting the specific variation can be decrypted, and also content can be played back seamlessly by setting a plurality of different Sequence Key Blocks (SKBs) in which key generation information necessary for decrypting the specific playback path is stored and by using a plurality of playlists selected according to the plurality of SKBs.
According to an embodiment of the present invention, there is provided an information processing apparatus that plays back content including a plurality of divided playback sections, and a playlist is associated with each of the divided playback sections. The information processing apparatus includes: a playlist selection information obtaining unit configured to obtain a plurality of pieces of playlist selection information including information on a playback sequence of a playitem set as content playback unit data, wherein the plurality of pieces of playlist selection information are obtained in accordance with the number of playback sections included in the content; a playlist selector configured to select a plurality of playlists based on the plurality of pieces of playlist selection information obtained by the playlist selection information obtaining unit; a playlist integration processor configured to generate an integrated playlist by integrating the plurality of playlists selected by the playlist selector; and a content playback unit configured to play back the content based on the integrated playlist.
The content may be recorded on the information recording medium and may include segment portions each having a plurality of variant data generated by encrypting the same playback data portion with different encryption keys. The playlist selection information obtaining unit may select, on the basis of each content playback area, playlist selection information corresponding to a playlist including a sequence of play items defined by a playback path having variant data selected from each segment portion, the playback path being selected on the basis of the information processing apparatus.
The playlist selection information obtaining unit may process the plurality of sequence key blocks by performing data processing based on a key stored in the information processing apparatus, thereby obtaining playlist selection information from each of the plurality of sequence key blocks, each key block storing playlist selection information corresponding to each playback area. The sequence key block does not necessarily physically store playlist selection information. For example, in this specification, when playlist selection information is obtained as a result of calculation processing based on a sequence key block, it can be considered that the sequence key block stores the playlist selection information.
The playlist integrating processor may generate an integrated playlist in which information on playback sequences of the playitems included in the plurality of playlists is set as one sequence of playitems.
The content playback unit may play back the content by using a virtual file system accessible from the integrated playlist generated by the playlist integrating processor and by obtaining the playitem specified in the integrated playlist.
According to another embodiment of the present invention, there is provided an information processing apparatus that plays back content including a plurality of divided playback sections, and a playlist is associated with each of the divided playback sections. The information processing apparatus includes: a playlist selection information obtaining unit configured to obtain a plurality of pieces of playlist selection information including information on a playback sequence of a playitem set as content playback unit data, wherein the plurality of pieces of playlist selection information are obtained in accordance with the number of playback sections included in the content; a register configured to store the plurality of pieces of play list selection information obtained by the play list selection information obtaining unit; a playlist selector configured to sequentially obtain a plurality of pieces of playlist selection information stored in the register and select a playlist based on the plurality of pieces of playlist selection information; and a content playback unit configured to play back the content based on the playlist selected by the playlist selector.
The content may be recorded on the information recording medium and may include segment portions each having a plurality of variant data generated by encrypting the same playback data portion with different encryption keys. The playlist selection information obtaining unit may select, on the basis of each content playback area, playlist selection information corresponding to a playlist including a play item sequence defined by a playback path having variant data selected from each segment portion, the playback path being selected on the basis of the information processing apparatus.
The playlist selection information obtaining unit may process the plurality of sequence key blocks by performing data processing based on a key stored in the information processing apparatus, thereby obtaining playlist selection information from each of the plurality of sequence key blocks, each key block storing playlist selection information corresponding to each playback area.
The playlist selector may sequentially obtain the plurality of pieces of playlist selection information stored in the register to select a playlist based on the plurality of pieces of playlist selection information according to a command set to play back a movie object of the processed program.
According to another embodiment of the present invention, there is provided an information processing method for playing back content including a plurality of divided playback sections, and a playlist is associated with each of the divided playback sections. The information processing method includes the steps of: obtaining a plurality of pieces of playlist selection information including information on a playback sequence of a playitem set as content playback unit data, wherein the plurality of pieces of playlist selection information are obtained according to the number of playback sections included in the content; selecting a plurality of playlists on the basis of the obtained plurality of pieces of playlist selection information; generating an integrated playlist by integrating the selected plurality of playlists; and playing back the content based on the integrated playlist.
The content may be recorded on the information recording medium and may include segment portions each having a plurality of variant data generated by encrypting the same playback data portion with different encryption keys. When the playlist selection information is selected, playlist selection information corresponding to a playlist including a sequence of play items defined by a playback path having variant data selected from each of the segment portions may be selected according to each of the content playback areas, wherein the playback path is selected according to the information processing apparatus.
When playlist selection information is selected, a plurality of sequence key blocks, each of which stores playlist selection information corresponding to each playback area, may be processed by performing data processing based on keys stored in the information processing apparatus to obtain playlist selection information from each of the plurality of sequence key blocks.
When generating the integrated playlist, an integrated playlist in which information about playback sequences of the playitems included in the plurality of playlists is set as one sequence of playitems may be generated.
The content may be played back by using a virtual file system accessible from the generated integrated playlist, and by obtaining the playitems specified in the integrated playlist.
According to another embodiment of the present invention, there is provided an information processing method for playing back content including a plurality of divided playback sections, and a playlist is associated with each of the divided playback sections. The information processing method includes the steps of: obtaining a plurality of pieces of playlist selection information including information on a playback sequence of a playitem set as content playback unit data, wherein the plurality of pieces of playlist selection information are obtained according to the number of playback sections included in the content; storing the obtained pieces of play list selection information in a register; sequentially obtaining a plurality of pieces of playlist selection information stored in a register to select a playlist based on the plurality of pieces of playlist selection information; and playing back the content based on the selected playlist.
The content may be recorded on the information recording medium and may include segment portions each having a plurality of variant data generated by encrypting the same playback data portion with different encryption keys. When the playlist selection information is selected, playlist selection information corresponding to a playlist including a sequence of play items defined by a playback path having variant data selected from each of the segment portions may be selected according to each of the content playback areas, wherein the playback path is selected according to the information processing apparatus.
When playlist selection information is selected, a plurality of sequence key blocks, each of which stores playlist selection information corresponding to each playback area, may be processed by performing data processing based on keys stored in the information processing apparatus to obtain playlist selection information from each of the plurality of sequence key blocks.
When a playlist is selected, the plurality of pieces of playlist selection information stored in the register may be sequentially obtained so that the playlist is selected based on the plurality of pieces of playlist selection information in accordance with a command set to play back a movie object of the processed program.
According to another embodiment of the present invention, there is provided an information recording medium including a content having a plurality of divided playback areas, each of the divided playback areas including a segment portion having a plurality of variant data generated by encrypting the same playback data portion with different encryption keys; and a plurality of play list selection information storage blocks each of which is set in association with a corresponding playback area, the content and the plurality of play list selection information storage blocks being stored in the information recording medium. Each of the plurality of play list selection information storage blocks stores a plurality of different play list selection information corresponding to different playback paths determined in accordance with an information processing apparatus that plays back the content.
Each of the plurality of playlist selection information storage blocks may store a plurality of different pieces of playlist selection information corresponding to each content playback area, and the plurality of different pieces of playlist selection information may correspond to a plurality of different playlists including a sequence of play items defined by a plurality of different playback paths having variant data selected from each segment portion, the playback paths being selected in accordance with an information processing apparatus for playing back content stored in the information recording medium.
Each of the plurality of play list selection information storage blocks may obtain play list selection information corresponding to a play list defined by a playback path having variant data selected from each of the segment portions, the playback path being selected according to an information processing apparatus that plays back content stored in the information recording medium, by performing data processing based on a key stored in the information processing apparatus.
Each of the plurality of play list selection information storage blocks may include encryption generation information for decrypting data forming the content located on a playback path including variant data selected from each of the segment portions, the playback path being selected in accordance with an information processing apparatus for playing back the content stored in the information recording medium.
According to another embodiment of the present invention, there is provided a computer program that allows an information processing apparatus to execute a process for playing back content that includes a plurality of divided playback sections, and a playlist is associated with each of the divided playback sections. The computer program comprises the steps of: obtaining a plurality of pieces of playlist selection information including information on a playback sequence of a playitem set as content playback unit data, wherein the plurality of pieces of playlist selection information are obtained according to the number of playback sections included in the content; selecting a plurality of playlists on the basis of the obtained plurality of pieces of playlist selection information; generating an integrated playlist by integrating the selected plurality of playlists; and playing back the content based on the integrated playlist.
According to another embodiment of the present invention, there is provided a computer program that allows an information processing apparatus to execute a process for playing back content that includes a plurality of divided playback sections, and a playlist is associated with each of the divided playback sections. The computer program comprises the steps of: obtaining a plurality of pieces of playlist selection information including information on a playback sequence of a playitem set as content playback unit data, wherein the plurality of pieces of playlist selection information are obtained according to the number of playback sections included in the content; storing the obtained pieces of play list selection information in a register; sequentially obtaining a plurality of pieces of playlist selection information stored in a register to select a playlist based on the plurality of pieces of playlist selection information; and playing back the content based on the selected playlist.
The computer program according to an embodiment of the present invention may be provided in a computer-readable format to a computer system that can execute various program codes via a storage medium, a recording medium such as a CD, a Flexible Disk (FD), or a magneto-optical (MO) disk, or a communication medium such as a network.
Further objects, features, and advantages of the present invention will become apparent from the following description of exemplary embodiments with reference to the accompanying drawings.
According to the configuration of the embodiment of the present invention, when playing back content including a plurality of divided playback sections (a playlist is associated with each playback section), classification numbers that function as playlist selection information including playback sequence information on a playitem set as content playback unit data are respectively obtained from a plurality of Sequence Key Blocks (SKBs) set according to the number of playback sections. Based on the obtained plurality of classification numbers, a plurality of playlists are generated, and the plurality of playlists are integrated into a new integrated playlist. Then, the content is played back based on the integrated playlist. In the above-described content playback processing, the SKB processing is completed before the content playback processing is started. Then, a plurality of playlists are obtained based on the classification numbers calculated from the plurality of SKBs, and these playlists are integrated into a single playlist. Then, playback processing is performed based on the integrated playlist. With this configuration, it is possible to select, decrypt, and play back a play item according to a play item sequence set in the integrated play list, which eliminates the need to switch the play list, thereby achieving seamless content playback processing.
According to the configuration of another embodiment of the present invention, the classification numbers that function as playlist selection information are obtained from the plurality of Sequence Key Blocks (SKBs) set according to the number of playback areas, respectively, and the obtained plurality of classification numbers are stored in the register. Then, a plurality of classification numbers stored in the register are sequentially obtained, and in response to the movie object command, a playlist is selected based on the classification numbers. Then, the content is played back based on the selected playlist. In the above-described content playback processing, the SKB processing is completed before the content playback processing is started. Then, a playlist is selected based on the classification number set in the register. With this configuration, seamless content playback operation can be realized without requiring time to switch playlists.
Drawings
Fig. 1 is a block diagram illustrating the configuration of data stored in an information recording medium and the configuration of an information processing apparatus that performs playback processing;
fig. 2 illustrates an example of a content management unit provided for content stored in an information recording medium;
fig. 3 illustrates a relationship between a Sequence Key Block (SKB) stored in an information recording medium and a playlist, and also illustrates a segment setting for content;
FIG. 4 illustrates a segmentation arrangement for content;
fig. 5 illustrates a data configuration of a Sequence Key Block (SKB) and SKB processing performed by the information processing apparatus;
fig. 6 illustrates a configuration of a sequence key file stored in an information processing apparatus;
fig. 7 illustrates a configuration example of a sequence key file stored in an information processing apparatus;
fig. 8 illustrates a data configuration of a Sequence Key Block (SKB) and SKB processing performed by the information processing apparatus;
fig. 9 is a flowchart illustrating an SKB processing sequence executed by the information processing apparatus;
fig. 10 illustrates a content playback processing sequence executed by the information processing apparatus by using a Content Protection System (CPS) unit key;
fig. 11 illustrates a content playback processing sequence executed by the information processing apparatus by using a segment key;
FIG. 12 illustrates a relationship between a playlist and a playitem;
fig. 13 illustrates a process of integrating a plurality of playlists based on the playlist integration processing program;
fig. 14 illustrates a configuration of a directory in which a plurality of SKBs and playlist integration handlers are stored;
FIG. 15 illustrates a content playback process using a virtual file system;
fig. 16 is a flowchart illustrating a content playback process including a playlist integration process executed based on a playlist integration processing program;
fig. 17 is a functional block diagram illustrating an information processing apparatus that executes content playback processing including playlist integration processing executed based on a playlist integration processing program;
FIG. 18 is a flowchart illustrating a process for setting classification numbers obtained from multiple SKBs in a register;
fig. 19A and 19B illustrate an example of a movie object command that obtains a classification number from a register and selects and switches a playlist, and playback processing based on the movie object command, respectively.
Fig. 20 is a flowchart illustrating a processing sequence for playing back content by setting classification numbers obtained from a plurality of SKBs in a register and selecting and switching playlists based on the classification numbers;
fig. 21 is a functional block diagram illustrating an information processing apparatus that plays back content by setting classification numbers obtained from a plurality of SKBs in a register and selecting and switching playlists based on the classification numbers; and
fig. 22 illustrates a configuration example of an information processing apparatus that plays back content from an information recording medium.
Description of the preferred embodiments
Details of an information processing apparatus, an information processing method, an information recording medium, and a computer program according to an embodiment of the present invention are described in the following order of parts with reference to the drawings.
1. Overview of storage data in information recording medium and information processing apparatus
2. Detailed structure of storage data in information recording medium
CPS Unit
2.2. Segmentation
3. Configuration and processing of Sequence Key Block (SKB)
4. Content playback processing basic sequence in information processing apparatus
5. Content playback processing using multiple playlists
6. Configuration example of information processing apparatus
1. Overview of storage data in information recording medium and information processing apparatus
First, an overview of stored data in an information recording medium and an information processing apparatus is discussed. The configuration of an information recording medium 100 in which contents are stored and an information processing apparatus (playback apparatus) 150 is shown in fig. 1. In fig. 1, information is stored in a ROM disc that functions as a content storage disc. The information processing apparatus 150 is, for example, a PC or an apparatus that performs only playback, and includes a drive 120 for reading data from the information recording medium 100.
A ROM disc, which is an information recording medium 100 storing authorized content, such as a blu-ray disc (trademark) or a DVD, is manufactured in a disc manufacturer that is licensed by a so-called "content rights holder" having authorized content copyright or distribution rights. In the following embodiments, a disk medium is used as the information recording medium. However, in the present invention, various forms of information recording media may be used.
As shown in fig. 1, the information recording medium 100 stores: encrypted content 111 subjected to encryption processing; a Media Key Block (MKB)112, which is generated based on a tree-structured key distribution system known as one mode in a broadcast encryption system, and functions as an encryption key block; a volume ID 113 set as identification information for each information recording medium or a predetermined number of information recording media; license information 114 including Copy Control Information (CCI) as content copy/playback control information; a content management unit (CPS) unit key file 115 for storing a CPS unit key as an encryption key set for each CPS unit, and the CPS unit key functions as a content usage management unit; a segment key file 116 that is a file for obtaining a segment key used as an encryption key for segment data generated by encrypting a part of content stored in the information recording medium 100 with a different encryption key; a set of sequence key blocks (SKB1 through SKBn)117 for storing information necessary to obtain the segment keys from the segment key file 116. The set of sequence key blocks SKB1 to SKBn)117 is formed by, for example, six sequence key blocks (SKB1 to SKB 6). An overview of various information items is discussed below.
Encrypted content 111
In the information recording medium 100, various content data items defined by specific standards, such as an audio-visual (AV) stream of moving-image content, for example, high-definition (HD) movie content, a game program, an image file, sound data, and text data, are stored. These content items are specific AV format standard data stored according to a specific AV data format. More specifically, for example, the content is stored as blu-ray disc (trademark) ROM standard data according to the blu-ray ROM standard format. These content items are referred to as "primary content".
A game program, an image file, sound data, or text data functioning as service data may be stored as "auxiliary content". Auxiliary content is data having a data format that is not compatible with a particular AV data format. That is, such data may be stored as blu-ray disc (trademark) ROM non-standard data according to a format that is incompatible with blu-ray disc (trademark) ROM standard formats.
As the content type, both the main content and the auxiliary content include various contents such as music data, image data such as moving pictures and still images, game programs, and WEB content. Such content includes various information modes such as content information that can be used only by data from the information recording medium 100, and content information that can be used by a combination of data from the information recording medium 100 and data provided from a server connected to the recording medium 100 via a network. In order to separately control the use of each content segment, the content stored in the information recording medium 100 may be stored by assigning a different key (title key) to the segment and by encrypting each segment with a different key from keys (title keys) used for other segments. A unit to which one title key is assigned is referred to as a "content management unit (CPS unit)".
The content includes a plurality of segmented portions generated by encrypting a portion of the content with different encryption keys. The content is played back according to a specific path (sequence) set by selecting specific segment data from a plurality of segment portions. The file storing data for obtaining a segment key for decrypting the segment data (encrypted data) having a specific variation is set for each segment as a segment key file. In order to play back content, a plurality of CPS unit keys and a plurality of segment keys based on a specific path (sequence) must be obtained. Details of these processing operations are given below.
MKB
The MKB 112 is an encryption key block generated based on a tree-structured key distribution system known as one mode of a broadcast encryption method. The MKB 112 is a key information block that makes it possible to obtain a media key (Km) of a key necessary for decrypting content only by processing (decryption) based on a device key (Kd) stored in an information processing device with a valid license. The MKB 112 is based on an information distribution system according to a so-called hierarchical tree structure. The MKB 112 makes it possible to obtain the media key (Km) only when the user device (information processing device) has a valid license, and makes it impossible for the revoked user device to obtain the media key (Km).
By changing the device key used to encrypt the key information stored in the MKB 112, the management center, which functions as a license authority, allows the MKB 112 to disable the device key stored in a particular user device from decrypting content, that is, to disable the user device from obtaining the media key necessary to decrypt content. Thus, it is possible to provide encrypted content only to devices with valid licenses, while revoking unauthorized devices at the appropriate time. The content decryption process is described below.
Volume ID
The volume ID 113 is an ID set as identification information for each information recording medium or a predetermined number of information recording media. The volume ID 113 is used as information for generating a key for decrypting content. The process of using the volume ID 113 is discussed below.
License information
The license information includes, for example, copy/playback control information (CCI), that is, copy restriction information or playback restriction information for controlling the use of the encrypted content 111 stored in the information recording medium 100. The copy/playback control information (CCI) can be set in various ways, such as a way of setting for each CPS unit functioning as a content management unit, or a way of setting for a plurality of CPS units. Details of the license information are given in the following section.
CPS unit key file
As described above, the encrypted content 111 stored in the information recording medium 100 is encrypted by the unique encryption key for the corresponding CPS unit set as the content management unit. Contents formed of AV streams, music data, image data such as moving pictures and still images, game programs, and WEB contents are segmented into CPS units that function as content usage management units. When performing playback processing, it is necessary for the information processing apparatus to determine a CPS unit to which content to be played back belongs, and to perform decryption processing by using the CPS unit key as an encryption key corresponding to the determined CPS unit. A file for storing data necessary for obtaining CPS unit keys is the CPS unit key file 115. Details of the CPS unit key file 115 will be given below. In order to play back content, not only the CPS unit key but also various other key information and key generation information should be applied. Specific processing of such information is also discussed below.
Segmented key file
As described above, the content stored in the information recording medium 100 is encrypted and stored on a CPS unit basis. Further, the content belonging to one CPS unit includes segment data formed of a plurality of variations generated by encrypting a part of the content with different encryption keys. The segment key file is a file for obtaining a segment key used as an encryption key for encrypting the segment data.
When performing playback processing, the information processing apparatus plays back content according to a specific path (sequence) set by selecting specific segment data from each of a plurality of content segments. The file provided for each segment for storing data for obtaining a segment key for decrypting the segment data (encrypted data) having a specific variation is a segment key file. In order to play back content, a plurality of CPS unit keys and a plurality of segment keys based on a specific path (sequence) must be obtained.
That is, in order to play back the content, the content must be decrypted by switching the CPS unit key and the segment key corresponding to a specific variation of the segment data. A key string based on a segment key of a particular path is called a "sequence key". Details of obtaining and using the segmentation key file and the segmentation key are discussed below.
Sequence Key Block set (SKB1 to SKBn)
The set of sequence key blocks (SKB1 to SKBn) is arranged as a group of a plurality of different Sequence Key Blocks (SKBs). Each Sequence Key Block (SKB) stores therein a classification number (variant number) for selecting a playlist defining a playback path, and information (media key variable (Kmv)) for obtaining a segment key encrypted and stored in the segment key file 116. When decrypting the content, the information processing apparatus obtains the classification number (variation number) and the media key variable from the corresponding SKB (Kmv).
Each sequence key block (SKB1 through SKBn) contained in the sequence key block set 117 stores the above information. For example, a piece of content is divided into n playback areas, and information (classification number (variation number)) and media key variable (Kmv)) is obtained from sequence key blocks (SKB1 through SKBn) in accordance with the divided playback areas 1 through n, respectively.
If six SKBs (SKB1 to SKB6) are stored in the information recording medium 100, the information processing apparatus 150 must perform processing by using six classification numbers (variation numbers) and a media key variable (Kmv) in order to play back the content stored in the information recording medium 100. Details of this processing are discussed below.
Fig. 1 illustrates a schematic configuration of an information processing apparatus 150 that performs playback processing on content stored in an information recording medium 100. The information processing apparatus 150 includes a drive 120 for reading data stored in the information recording medium 100. The data read by the drive 120 is input to the playback processing execution LSI 151, and the LSI 151 decrypts and decodes, for example, Moving Picture Experts Group (MPEG) decodes, the encrypted content.
The playback processing execution LSI 151 includes: a decryption processor 152 for performing decryption processing on the encrypted content; and a decoding processor 153 for performing decoding processing such as MPEG decoding processing on the encrypted content. The decryption processor 152 generates a key for decrypting the content by using various information stored in the memory 154 and data read from the information recording medium 100, and then performs decryption processing on the encrypted content 111.
The memory 154 stores therein a sequence key file including a plurality of sequence keys SK (c, r) and a device key Kd. In the sequence key SK (c, r), c represents a column and r is used to designate a row. Although details are given below, the information processing apparatus 150 has one sequence key (c, r) associated with one row (rows 0 to 255) for each column (columns 0 to 255), that is, the information processing apparatus 150 has a total of 256 sequence keys SK (c, r). The number of rows of the sequence key SK (c, r) stored per column is changed in accordance with each information processing or a predetermined group of information processing apparatuses, and information on the sequence key SK (c, r) is registered in the management center.
When decrypting encrypted content in the information recording medium 100, the information processing apparatus 150 generates a key for decrypting the content based on data stored in the memory 154 and data read from the information recording medium 100, and then performs decryption processing on the encrypted content 111.
The decryption processor 152 also performs processes such as a process of obtaining a media key (Km) from the MKB 112 stored in the information recording medium 100 by using the device key Kd stored in the memory 154, and a process of obtaining information necessary for playback of content (classification number (variation number) and media key variable (Kmv)) from the Sequence Key Block (SKB) set 117 by using the sequence key and the media key (Km) in the sequence key file stored in the memory 154. Details of the above processing operation and the content decryption process will be discussed in the following sections.
2. Detailed structure of storage data in information recording medium
A description will now be given of a detailed structure of content stored in an information recording medium, with reference to, for example, fig. 2.
CPS Unit
As described above, in order to control the use of content on a different content unit basis, content stored in an information recording medium is encrypted and stored by assigning different keys to the content units. That is, the content is segmented into content management units (CPS units), and the CPS units are encrypted respectively, and usage control is performed for each CPS unit.
In order to use content, it is necessary to first obtain a CPS unit key assigned to each unit, and then perform data processing based on a predetermined decryption processing sequence by using the CPS unit key and other required keys and key generation information to play back content. An example of a content management unit (CPS unit) will be discussed below with reference to fig. 2.
As shown in fig. 2, the content has a hierarchical structure including (a) an index layer 210, (B) a movie object layer 220, (C) a playlist layer 230, and (D) a clip layer 240. When an index, such as a title, accessed by a playback application is specified, a playback program associated with the title is specified, and a playlist defining, for example, the playback order of the contents is selected in accordance with program information on the specified playback program.
The index layer 210 includes various indexes such as a title containing a content to be displayed on a display unit of the content playback apparatus, a title functioning as an application index file, applications such as game content and WEB content, first playback information serving as index information of playback content to be started when an information recording medium (disc) is mounted in a drive, and a top-level menu displayed when a menu display function is started to function as index information on content to be played back. Only titles and applications are shown in fig. 2.
The movie object layer 220 processes programs for playback, for example, and specifies a specific playlist to play back content according to a playitem contained in the playlist.
The playlist includes one or more playitems as information on an area to be played back. The content can be played back by playing back the playitem included in the playlist. An AV stream or a command as real content data is selectively read according to clip information as a playback area defined by a playitem to play back the AV stream or execute the command. There are a plurality of playlists or playitems, and a playlist ID or playitem ID is associated with these playlists or playitems as identification information.
Fig. 2 shows two CPS units that are formed as part of the content stored in the information recording medium. Each of the CPS unit-1271 and CPS unit-2272 includes a title as an index, a movie object as a playback program file, a playlist, and an AV stream file as real content data.
The content management unit (CPS unit) -1271 includes a title-1211 and a title-2212, playback programs 221 and 222, playlists 231 and 232, and clips 241 and 242. AV stream data files 261 and 262, which function as real content data, contained in at least two clips 241 and 242, respectively, are data to be encrypted, and are basically encrypted with a CPS unit key (Ku1), which is an encryption key associated with a content management unit (CPS unit) -1271.
As described above, the content stored in the information recording medium includes a segment portion obtained by encrypting a part of the content with a different encryption key and encrypted with a segment key. The content is divided into a segment portion and a non-segment portion, and the non-segment portion is encrypted with a CPS unit key, and the segment portion is formed of a plurality of variations including segment data encrypted with different segment keys. Then, the content is played back according to a specific path (sequence) set by selecting specific segment data from each of the plurality of segment portions. In this case, the non-segment portion is decrypted with the CPS unit key, and the segment portion is decrypted with a segment key that can be obtained from the segment key file. Details of these processing operations are discussed below.
Various playback sequences according to various playback paths are defined by different playlists. If a playlist is selected from a plurality of playlists, a specific playback path may be defined and a sequence of playitems corresponding to a portion of the content according to the playback path is obtained. Then, the contents can be sequentially played back according to the playitem.
The playitem includes a segment portion obtained by encrypting a portion of the content with a different encryption key. The authorized playback device may decrypt the segment portion by using a key obtained by the authorized process.
A classification number (variation number) is used as identification information for selecting one of the playlists. As described above, the classification number (variant number) is obtained from the Sequence Key Block (SKB). The information processing apparatus obtains a classification number (variation number) by using a Sequence Key Block (SKB) obtained from the information recording medium, and selects one of the playlists. If a playlist is selected, a particular sequence of play items may be defined and the content may be played back according to a particular playback path.
As described above, a plurality of SKBs, for example, n SKBs, i.e., SKBs 1 through SKBn, are stored in the information recording medium 100 shown in fig. 1. Then, the information processing apparatus 150 executes SKB to obtain n classification numbers (variation numbers), and selects n playlists based on the n classification numbers (variation numbers). Then, the information processing apparatus 150 performs playback processing by switching the n playlists.
2.2 segmentation
As described above, the content is divided into a segment portion and a non-segment portion, and the non-segment portion is encrypted with the CPS unit key, and the segment portion is formed of a plurality of variations including segment data encrypted with different segment keys. When playing back content, specific segment data is selected from a plurality of segment portions to set a specific path (sequence). Then, the content is played back according to the specific path. The non-segment portion is decrypted with the CPS unit key, and the segment portion is decrypted with a segment key that can be obtained from the segment key file.
Sometimes, the information processing apparatus must obtain a CPS unit key corresponding to the non-segmented portion, and a segment key (Kseg) corresponding to the segmented portion. Content configuration is discussed below with reference to fig. 3.
The configuration of content stored in the information recording medium is illustrated in fig. 3 (a). Now, it is assumed that the content is played back along the time axis t. The content is mainly divided into n playback areas associated with n playlists X1 through Xn according to classification numbers X1 through Xn obtained from n Sequence Key Blocks (SKBs) stored in the information recording medium.
In the example shown in fig. 3, n is 6, and the content is mainly divided into 6 playback areas associated with 6 playlists X1 to X6 according to classification numbers X1 to X6 obtained from 6 Sequence Key Blocks (SKBs). In this example, the same identifiers X1 through X6 are used for the category number and playlist. The same identifiers are used only for ease of understanding, and different identifiers may be used as long as the identifiers for the classification numbers are associated with those for the playlist.
Each playlist functions as information for setting a sequence of playitems that determine a playback path. For example, playlist X1 shown in FIG. 3 defines a playback path determined by selecting segment data for a content segment associated with playlist X1 according to the arrow indicated in FIG. 3 (a). Playlists X2 through X6 also define playback paths determined for the corresponding content segments. To play back content, the information processing apparatus determines classification numbers X1 through Xn from n Sequence Key Blocks (SKBs) stored in the information recording medium, and defines playlists X1 through Xn determined according to the classification numbers X1 through Xn. Then, the information processing apparatus plays back the content by sequentially using the playlists X1 to Xn.
For example, in order to play back content by using playlist X1, the information processing apparatus first selects a playback path determined according to playlist X1, i.e., data forming content (playitem) indicated by an arrow in fig. 3. The content is divided into a segment portion and a non-segment portion, and the non-segment portion is encrypted with a CPS unit key, and the segment portion is formed of a plurality of variations including segment data encrypted with different segment keys.
For playback of the content, the non-segment portion is decrypted with the CPS unit key, and the segment portion is decrypted by selecting specific segment data defined by the playlist, and by decrypting the selected segment data with a segment key that can be obtained from the segment key file.
The same is true for playlists X2 through X6. The playback processing is performed according to the playback path defined by playlists X2 through X6.
In the upper part (a) of fig. 4, area data corresponding to respective playlists of the content stored in the information recording medium, for example, playback area data of the content belonging to playlist X1 shown in fig. 3, is shown. The content playback area data 300 is, for example, one piece of movie content forming the title "xx story", that is, content playback area data corresponding to one playlist selected by a classification number obtained from one SKB.
As shown in fig. 4, the content playback area data 300 includes a plurality of segmented portions 301 and a plurality of non-segmented portions 302. Now, it is assumed that the playback data is stored along the playback time axis from left to right in fig. 4. Since the information processing apparatus which plays back the content playback area data 300 alternately plays back the non-segmented portion 302 and the segmented portion 301 from the left. The non-segmented portion 302 is a content portion that can be played back by obtaining the above-described CPS unit key (Ku) that is common to the information processing apparatuses used, i.e., a content portion that can be played back by decryption with the obtained CPS unit key (Ku).
On the other hand, the segment portion 301 must be decrypted by obtaining a key different from the above-described CPS unit key (Ku), i.e., a segment key (Kseg) associated with the variant in the segment. The number of segments in a piece of content is, for example, 15 from 0 to 14 as shown in fig. 4. Each of the plurality of segment portions 301 is formed of segment data having 16 variations from 0 to 15.
As described above, the content is divided into a plurality of (n) playback area data, and if 15 segments are set in each playback area data, 15n segments are set in the entire content, by n × 15.
The 16 segment data contained in each segment portion 301 indicate all the same data (e.g., the same playback image scene in a movie that lasts for several seconds). For example, 16 pieces of segment data including 16 variants included in segment 0 are stored in the scene after the non-segment portion 302 located before segment 0 (to the left of segment 0 in fig. 4).
The 16 segment data having the variants 0 to 15 contained in the segment 0 indicate data associated with the same scene, but they are encrypted with different segment keys Kseg (0, 0) to Kseg (0, 15).
If the segment key is indicated by Ks (x, y), x represents the segment number and y specifies the variant number. That is, the segment key Ks (x, y) is a segment key having a segment number x and a variation number y. All the segment data (15 × 16 ═ 240) included in the segments 0 to 14 shown in fig. 4 are data encrypted with the segment keys Kseg (0, 0) to Kseg (14, 15) associated with the respective segment data.
The information processing apparatus for playing back content can decrypt only one segment data selected from the 16 segment data having the variations 0 to 15 contained in the segment 0. For example, the information processing apparatus a may obtain one segment key Kseg (0, 0) only from the segment keys Kseg (0, 0) to Kseg (0, 15), and the information processing apparatus B may obtain one segment key Kseg (0, 3) only from the segment keys Kseg (0, 0) to Kseg (0, 15).
Similarly, 16 pieces of segment data having variations 0 to 15 contained in segment 1 indicate data generated by encrypting a common scene with different segment keys Kseg (1, 0) to Kseg (1, 15). Also, with respect to the 16 pieces of segment data having the variations 0 to 15 contained in the segment 1, the information processing apparatus can decrypt only one piece of segment data selected from the 16 pieces of segment data having the variations 0 to 15 contained in the segment 1. For example, the information processing apparatus a may obtain one segment key Kseg (1, 1) from only the segment keys Kseg (1, 0) through Kseg (1, 15), and the information processing apparatus B may obtain one segment key Kseg (1, 3) from only the segment keys Kseg (1, 0) through Kseg (1, 15).
To play back content, each information processing apparatus selects a playlist based on a classification number obtained from a Sequence Key Block (SKB) stored in an information recording medium.
A playback path that can be set for each information processing apparatus is determined by a playlist selected based on a classification number obtained from a Sequence Key Block (SKB) processed by the information processing apparatus.
For example, the playback path indicated by the arrow of the solid line in (a) of fig. 4 is a playback path corresponding to playlist 0, and the playback path indicated by the arrow of the broken line in (a) of fig. 4 is a playback path corresponding to playlist 1. These playlist paths correspond to a sequence of playitems defined by a playlist selected based on a classification number obtained from a Sequence Key Block (SKB).
In the example shown in fig. 4, the information processing apparatus that has selected playlist 0 selects the data of variation number 0 in segment 0 and selects the data of variation number 1 in segment 1, and so on, and decrypts the data with the corresponding segment key. The selected data can be represented by a playback sequence indicated in (1) of the lower half (b) of fig. 4. The information processing apparatus that has selected playlist 1 selects the data of variation number 3 in segment 0 and selects the data of variation number 3 in segment 1, and so on, and decrypts the data with the corresponding segment key. The selected data can be represented by a playback sequence indicated in (2) of the lower half (b) of fig. 4. With regard to the non-segmentation section 302, all information processing apparatuses obtain a common key (CPS unit key (Ku)) to decrypt the same data.
If the number of segments is 15 and if the number of variants is 16, 16 may be set15A different path. When a piece of content is to be played back by combining 6 playlists obtained based on 6 SKBs, 16 can be set15×6Different paths are followed.
Although it may actually be in the playback zone associated with a playlist selected by an SKBArrangement 1615A different version, but almost impossible to have with 1615A playlist corresponding to the different paths. Therefore, an example in which 256 paths from 0 to 255 are set in one playback area associated with one SKB is described below.
As shown in (b) of fig. 4, the information processing apparatus which has obtained one classification number from among classification numbers 0 to 255 for a piece of content performs a playback operation according to a corresponding path selected from among paths 0 to 255. The 256 paths are different paths.
The content generation or editing mechanism may select a desired path for each playlist. An appropriate SKB may be set for a piece of content to determine the corresponding category number 0 to 255 and then the corresponding playlist set appropriately. With this scheme, a desired path assigned to the information processing apparatus can be set.
If 256 playback paths are set for one playback area, 256 playlists are set for one playback area, and these playlists are recorded on the content data. As described above, a piece of content includes a plurality of playback area data associated with respective SKBs. If there are n SKBs, i.e., SKB1 to SKBn, and 256 playlists are set for each SKB, the number of playlists prepared for one piece of content is thus n × 256 — 256 n.
If only one SKB is used for preparing a sufficient number of playlists for a given playback apparatus, a number of segments equal to the number of variants to the power of 256 in the above example is requiredn) The number of playlists. However, by using a plurality of SKBs, many variations of playback paths can be set by a smaller number of playlists, and in the case of illegally distributing content, it is possible to determine a distribution source by checking the playback path of the illegally distributed content. To play back content, the information processing apparatus sequentially selects a playlist associated with the playback region data. Details of the playlist selection and content playback process will be described below.
3. Configuration and processing of Sequence Key Block (SKB)
The configuration and processing of a Sequence Key Block (SKB) stored in an information recording medium are discussed below. As described above, the sequence key block set (SKB1 to SKBn) as a set of a plurality of different sequence key blocks is stored in the information recording medium.
Each sequence key block (SKB1 through SKBn) stores therein a classification number (variant number) for selecting a playlist defining a playback path, and information (media key variable (Kmv)) for decrypting an encrypted segment key stored in the segment key file 116. The information processing apparatus to play back the content obtains such information from each SKB.
Fig. 5 illustrates an information recording medium 340 in which a Media Key Block (MKB)341 functioning as an encryption key block and a set of Sequence Key Blocks (SKB) 342 are stored, and also illustrates a processing sequence performed by the information processing apparatus 350. Although various other data such as encrypted contents discussed with reference to fig. 1 are stored in the information recording medium 340, only the MKB and the SKB are shown in fig. 5 because only a description of the processing of the MKB and the SKB is given.
The MKB 341 functioning as an encryption key block is generated based on a tree-structured key distribution system known as one mode of a broadcast encryption system, and a media key (Kd) can be extracted by performing processing using the device key 351 stored in the memory of the information processing device 350.
As described above, the media key (Km) can be obtained only when the user device (information processing device) has a valid license, and the revoked user device is made unable to obtain the media key (Km). By changing the device key used to encrypt the key information stored in the MKB, the management center functioning as a license authority allows the MKB to disable the device key stored in a particular user device from decrypting content, that is, to disable the user device from obtaining the media key necessary to decrypt content. Thus, it is possible to provide encrypted content only to devices with valid licenses, while revoking unauthorized devices at the appropriate time.
The set of Sequence Key Blocks (SKB) 342 includes a plurality of sequence key blocks (SKB1 through SKBn). As described above, one SKB is set in association with one of the playback areas 1 to n as the content playback area data. The sequence key blocks (SKB1 to SKBn) allow acquisition of playlist designation information such as a classification number.
The processing sequence executed by the information processing apparatus 350 shown in fig. 5 is as follows. In step S1, the information processing apparatus 350 performs MKB processing by using the device key (Kd) stored in the memory of the information processing apparatus 350 to obtain the media key (Km). If the information processing apparatus 350 is not a revoked apparatus, it can successfully perform MKB processing to obtain a media key (Km). If the information processing apparatus 350 is a revoked apparatus, the MKB processing fails, so that the information processing apparatus 350 cannot obtain the media key (Km). In this case, the content playback process is terminated.
If the information processing apparatus 350 has successfully performed the MKB process to obtain the media key (Km), the information processing apparatus 350 performs the SKB process by using the obtained media key (Km) and the sequence key obtained from the sequence key file at step S2. The information processing apparatus 350 may then obtain the classification number 361 and the media key variable (Kmv) 362.
As described above, the category number 361 serves as information for selecting a playlist. The media key variable (Kmv)362 serves as information for obtaining a segment key used to decrypt segment data contained in a playback path defined by a selected playlist from the segment key file.
The data configuration of the sequence key file stored in the information processing apparatus is discussed below with reference to fig. 6 and 7. For each of columns 0 to 255, the information processing apparatus has one sequence key (c, r) corresponding to one row. In the example shown in fig. 6, the information processing apparatus has sequence keys (c, r), such as a sequence key SK (0, 1) at row r-1 and column c-0, a sequence key SK (1, 21) at row r-21 and column c-1, and a sequence key SK (2, 128) at row r-128 and column c-2. That is, the information processing apparatus has one sequence key for each of the 256 columns, i.e., 256 sequence keys in total.
The combination of the sequence keys may be different for each information processing apparatus, or the same combination of the sequence keys may be assigned to a certain group of information processing apparatuses.
For example, fig. 7 shows a configuration of a sequence key file storing a sequence key in the information processing apparatus shown in fig. 6. In the sequence key file, for each of columns 0 to 255 serving as sequence numbers, a sequence key (c, r) corresponding to one row is stored.
Information on columns 0 to 255 as sequence numbers is equivalent to information specified by SKB, which is stored in the information recording medium and corresponds to content stored in the information recording medium. For each piece of content or for a group of contents stored in the information recording medium, one column is designated by the corresponding SKB, such as the seventh column being assigned to content a and the twelfth column being assigned to content B.
In step S2 of fig. 5, the information processing apparatus 350 obtains column information from the SKB to acquire the sequence key SK corresponding to the column from the sequence key file. The information processing apparatus 350 then performs SKB processing by using the media key (Km) obtained by the MKB processing and the sequence key SK (c, r) to obtain playlist selection information such as the classification number (variation number) 361 and information used to decrypt the encrypted segment key stored in the segment key file such as the media key variable (Kmv) 362.
The class number 361 and the media key variable (Kmv)362 are information obtained from one Sequence Key Block (SKB), respectively. As described above, in order to play back a piece of content, n playlists are selected by executing n (e.g., 6) SKBs 1 through SKBn. Therefore, if the Sequence Key Block (SKB) set 342 includes 6 sequence key blocks (SKB1 through SKB6), the information processing apparatus 350 performs SKB processing 6 times at step S2 to obtain 6 classification numbers and 6 media key variables (Kmv). Then, for each playback area, the information processing apparatus 350 selects a playlist corresponding to the classification number, and obtains a segment key from the segment key file by using the media key variable (Kmv). Specific processing sequences are discussed below.
As shown in fig. 5, one SKB includes header information, a basic record, and a plurality of extended records (1) to (k). The header information includes identification information and configuration information about the corresponding SKB. The basic record and the extended records (1) to (k) have substantially the same configuration, and all records include a classification number and a media key variable (Kmv).
SKB processing performed by the information processing apparatus for obtaining the classification number and the media key variable (Kmv) is described below with reference to fig. 8. One SKB is shown in (a) of fig. 8, and the configuration of the basic record is shown in (b) of fig. 8.
The information processing apparatus first selects a basic record from an SKB including the basic record and a plurality of extended records (1) to (k), and then obtains column information contained in the basic record. The column information corresponds to the sequence numbers discussed with reference to fig. 6 and 7, and the information processing apparatus selects the sequence key SK (c, r) associated with the column information specified by SKB from the sequence key file shown in fig. 7. The sequence key SK (c, r) to be selected is different depending on the information processing apparatus. In the sequence key SK (c, r), r indicates a line number and varies from 0 to 255.
As shown in fig. 8 (b), the basic record in the SKB stores data to be processed, i.e., 0 line data, 1 line data,. and 255 line data associated with the respective lines. The information processing apparatus selects data to be processed in accordance with a line number (r) of a sequence key possessed by the information processing apparatus. For example, if the column number c contained in the basic record of the SKB shown in (b) of fig. 8 is 0, the information processing apparatus obtains the sequence key SK (0, 1) from the sequence key file shown in fig. 7.
Since the sequence key SK (c, r) ═ SK (0, 1) has a line number (r) of 1, the information processing apparatus selects 1 line of data in the basic record, and performs SKB processing on the 1 line of data by using the media key (Km) obtained by MKB processing and the sequence key SK (0, 1) to obtain playlist selection information such as the classification number (variation number) 361, and information such as the media key variable (Kmv)362 to decrypt the segment key stored in the segment key file.
In this way, if the information processing apparatus successfully performs SKB processing, as shown in pattern 1 in fig. 8, a classification number (variation number) 361 and a media key variable (Kmv)362 are obtained.
As in the MKB, the SKB is sometimes also updated by the management center in order to revoke a specific device and to make the revoked device unable to obtain information by the SKB process.
Even when a revoked information processing apparatus attempts to process a specified line data using the media key (Km) and the sequence key SK (c, r) obtained by MKB processing, the apparatus fails to obtain the classification number (variation number) 361 and the media key variable (Kmv) 362. This failure is confirmed by specific inspection data. It will then be appreciated that it is not possible to obtain the classification number (variant number) and the media key variable from this record (Kmv).
Then, the information processing apparatus gives up obtaining information from the basic record, and performs processing on the extended record (1). The extension record has substantially the same data configuration as that of the basic record shown in (b) of fig. 8. The information processing apparatus selects a sequence key SK (c, r) corresponding to a column specified by an extended record (1), and performs processing on line data of the extended record (1) corresponding to a line number (r) in the selected sequence key SK (c, r) by using the selected sequence key SK (c, r) and a media key (Km) obtained by MKB processing.
If the processing of the line data has been successfully performed, as shown in pattern 1 in fig. 8, a classification number (variation number) 361 and a media key variable (Kmv)362 have been successfully obtained. However, if the acquisition of the classification number (variation number) 361 and the media key variable (Kmv)362 in the extended record (1) has failed, the process proceeds to the subsequent extended record (2). In the processing of the extended record (2), a sequence key SK (c, r) corresponding to column information specified by the extended record (2) is selected, and line data in the extended record (2) corresponding to a line number (r) in the selected sequence key SK (c, r) is processed by using the selected sequence key SK (c, r) and a media key (Km) obtained by MKB processing.
Thereafter, similarly, the extension records are sequentially processed. During execution of the process, if the media key variable (Kmv) calculated from any record becomes 0, it is determined that the information processing apparatus is a revoked apparatus and valid information, i.e., the class number (variant number) and the media key variable (Kmv), can no longer be obtained from the SKB. Unless the media key variable (Kmv) becomes 0, the process can be transferred to subsequent recording.
As described above, a plurality of records are set in each SKB, and different columns are specified by the plurality of records so that the sequence key to be used can be changed, thereby making it possible to revoke more restricted devices. More specifically, since one column corresponds to 256 rows (256 types) from 0 to 255, 1/256 of all user devices are selected as revoked devices. However, if 10 extended records are set, 11 steps (10 extended records and one basic record) are provided. With this configuration, only 1/25611May be selected as the revoked device.
The SKB processing sequence executed by the information processing apparatus is discussed below with reference to fig. 9. Now assume that the media key (Km) has been successfully obtained by the MKB process preceding this process. In step S101, the information processing apparatus obtains a column number from an SKB record (in this case, a basic record in the SKB).
Then, in step S102, based on the obtained column number (c), the information processing apparatus selects the sequence key SK (c, r) corresponding to the column (c) from the sequence key file stored in the memory of the information processing apparatus. For example, the information processing apparatus obtains the sequence key SK (c, r) associated with the column number (c) specified by the basic record of the SKB from a sequence key file such as that shown in fig. 7.
Then, in step S103, the information processing apparatus calculates a media sequence key (Kms) from the media key (Km) and the sequence key SK (c, r) obtained by the MKB process. In step S104, an SKB variable (Dv) is calculated based on the media sequence key (Kms), the column and row numbers (c, r), and other values obtained from the SKB. Calculation of SKB variable (Dv) by a preset calculation process
In step S105, the information processing apparatus calculates a media key variable (Kmv) based on the media key (Km) obtained by the MKB process and the SKB variable (Dv). The media key variable is calculated by a preset calculation process (Kmv).
Then, it is determined in step S106 whether the calculated media key variable (Kmv) is 0, that is, whether Kmv is 0. If the media key variable (Kmv) is found to be 0, the process proceeds to step S111, where the information processing apparatus determines that the apparatus has been revoked, and terminates the process. In this case, the information processing apparatus is no longer able to obtain playlist selection information such as the classification number (variation number) and information such as the media key variable (Kmv) used to decrypt the encrypted segment key stored in the segment key file. Thus, the information processing apparatus terminates the content playback process.
If it is determined in step S106 that the calculated media key variable (Kmv) is not 0, the process proceeds to step S107. In step S107, according to preset calculation processing, the check value (Dc) is calculated based on the media key variable (Kmv).
Then, in step S108, it is determined whether the check value (Dc) indicates that the value obtained from the record is invalid. If the value obtained from the record is found to be invalid, the calculated check value (Dc) contains specific code information (e.g., DEADBEEF).
If the check value (Dc) is found to contain specific code information indicating that the value obtained from the record is invalid, the process proceeds to step S112, and proceeds to the subsequent record (in this case, the extended record). Then, these steps are started from step S101.
If it is determined in step S108 that the check value (Dc) does not contain specific code information indicating that the value obtained from the record is invalid, the process proceeds to step S109. In step S109, it is determined that the media key variable (Kmv) is a valid media key variable (Kmv), and a classification number is obtained based on the media key variable (Kmv). The classification number may be obtained from a portion of the bits forming the media key variable (Kmv).
In this manner, only authorized information processing devices can obtain playlist selection information such as a classification number (variation number) and information such as a media key variable (Kmv) used to decrypt the encrypted segment keys stored in the segment key file.
Both the MKB and SKB may be set so that they can remove revoked devices, and in this case, different revocation criteria may be uniquely set for the MKB and SKB.
As described above, the information recording medium stores content divided into a plurality of playback areas, and each playback area includes segment portions each formed of a plurality of variant data obtained by encrypting the same playback data portion with different encryption keys. In the information recording medium, a Sequence Key Block (SKB) is also stored which functions as a block for storing selection information of a plurality of playlists, which is set in association with a plurality of playback areas.
Each SKB is a block that stores selection information (classification number (variation number)) for a plurality of playlists associated with different playback paths determined according to the information processing apparatus.
Therefore, each SKB stores information (classification number (variation number)) for selecting a plurality of different playlists having a sequence of play items defined by different playback paths including variation data selected from each of the segment portions, and the playback paths are determined in accordance with the information processing apparatus. Each information processing apparatus can obtain information for selecting a playlist based on a playback path including variant data selected from each segment portion. In addition, each SKB includes information for generating an encryption key used to decrypt the content data according to the playback path, i.e., a media key variable (Kmv).
4. Content playback processing basic sequence in information processing apparatus
The content playback processing basic sequence in the information processing apparatus is described below with reference to fig. 10 and 11. As described with reference to fig. 3 and 4, the content stored in the information recording medium has a fragmented portion and a non-fragmented portion. The unsegmented portion is processed by a common process, i.e., the unsegmented portion is played back by the obtained unit key (Ku). On the other hand, for playback of a segmented portion, depending on the information processing apparatus, a path for selecting different segmented data is determined, and the segmented data is selected and decrypted according to the path.
Fig. 10 illustrates the playback process performed by obtaining the unit key (Ku), and fig. 11 illustrates the playback sequence for playing back the segment, i.e., decrypting the segment data by obtaining the segment key (Kseg).
First, a playback sequence performed by obtaining the unit key (Ku) as shown in fig. 10 is discussed. The information processing apparatus 450 reads various pieces of information from the information recording medium 400, and decrypts the encrypted content based on a unit key (Ku) generated by a key generation process performed by using the read data and a device key (Kd)451 owned by the information processing apparatus 450.
The information processing apparatus 450 first reads a device key (Kd)451 stored in the memory. The device key 451 is a private key stored in the information processing device 450 having a license regarding the use of content.
Then, in step S11, by using the device key 451, the information processing device 450 decrypts the MKB 401, which is an encrypted key block stored in the information recording medium 400 in which the media key Km is stored, thereby obtaining the media key Km.
Then, in step S12, the information processing apparatus 450 performs encryption processing based on the media key Km obtained in the MKB processing in step S11 and the volume ID 402 read from the information recording medium 400, thereby generating a title key generation key Ke (embedded key). This key generation process is performed based on, for example, an Advanced Encryption Standard (AES) encryption algorithm.
Then, in step S13, unit key data processing, such as encryption processing (AES _ H), is performed based on the title key generation key Ke (embedded key) and the encrypted CPS unit key obtained from the CPS unit key file 403 read from the information recording medium 400 to obtain the title key Kt.
Then, in step S14, a unit key Ku is generated by encryption processing (AES _ H) based on the title key Kt and the license information 404 read from the information recording medium 400. In step S15, a decryption process using the unit key Ku (e.g., AES _ D) is performed on the encrypted content read from the information recording medium 400.
Then, in step S16, necessary decoding processing such as MPEG decoding, decompression, and descrambling is performed so that the content 460 can be obtained.
A decryption processing sequence for non-segmented data other than the segmented portion has been discussed. In the information recording medium, a content having a segmented portion with a plurality of variations, that is, a content having only a non-segmented portion, which is not described with reference to fig. 3 and 4, may be included. Such content can be decrypted and played back using the unit key generated in the process shown in fig. 10.
For content comprising segmented portions with multiple variations as described with reference to fig. 3 and 4, the segmentation keys are generated according to the sequence shown in fig. 11.
In fig. 11, the information processing apparatus 450 reads a device key (Kd)451 stored in a memory. The device key 451 is a private key stored in the information processing device 450 having a license regarding the use of content.
Then, in step S21, by using the device key 451, the information processing device 450 decrypts the MKB 401, which is an encrypted key block stored in the information recording medium 400 in which the media key Km is stored, thereby obtaining the media key Km.
Then, in step S22, by processing the SKB411 read from the information recording medium 400, a classification number (variation number) serving as playlist selection information and a media key variable for obtaining an encrypted segment key stored in the segment key file are obtained (Kmv).
Step S22 is the process discussed with reference to the flowchart in fig. 9, and is performed based on the sequence key SK (c, r) obtained from the sequence key file 452 and the media key (Km) obtained from the MKB 401.
Subsequently, in step S23, a volume variation unique key (Kvvu) is obtained through encryption processing or calculation processing of the volume ID 402 read from the information recording medium 400 and the media key variable (Kmv) obtained from the SKB411 in step S22. The volume variant unique key (Kvvu) is an encryption key used to decrypt the encrypted segment key corresponding to the particular playback path stored in the segment key file 412.
In the segment key file 412, a set of segment keys encrypted with different volume variant unique keys (Kvvu) according to a specific playback path is stored. Each information processing apparatus obtains a volume variation unique key (Kvvu) corresponding to a specific playback path, and can decrypt only a segment key for decrypting segment data contained in a playitem defined by the playback path.
In step S24, the information processing apparatus 450 selects a playlist including a sequence of playitems to play back from the encrypted content 405 recorded on the information recording medium 400 based on the classification number (variation number) obtained in the SKB process in step S22. As described with reference to fig. 2, the encrypted content 405 includes many playlists, and the information processing apparatus 450 selects a playlist including a sequence of playitems to be played back based on the classification number (variation number) obtained from the SKB 411.
In step S25, the segment key file 412 is processed by using the volume variant unique key (Kvvu) so that the segment key (Kseg) corresponding to the specific playback path can be obtained.
The information processing apparatus 450 must obtain the segment key Kseg for decrypting the playitem corresponding to the specific playback path from the segment key file 412. The playlist ID and the playitem ID associated with the playitem to be played back are used as information for selecting the segment key Kseg. The information processing apparatus 450 searches for data stored in the segment key file 412 based on the playlist ID and the playitem ID. As described above, IDs are assigned as identification information to all playlists and all playitems. Meanwhile, in a segment key file storing encrypted segment keys associated with respective playback paths, the segment keys are stored as encryption key data corresponding to a playlist ID and a playitem ID, so that the association between the segment keys and the playlist and playitem can be identified.
In step S25, the information processing apparatus 450 searches the data stored in the segment key file 412 based on the playlist ID and the playitem ID associated with the playitem to be played back to select the encrypted segment key corresponding to the playitem. Then, the information processing apparatus 450 decrypts the encrypted segment key data by using the volume variation unique key (Kvvu) to obtain the segment key (Kseg) corresponding to the specific playback path.
Then, in step S26, the information processing apparatus 450 decrypts the segment data by using the segment key (Kseg) to play back the content. As described with reference to fig. 4, each of the sections to be selected includes one of the variation numbers 0 to 15 defined by the specific playback path. The segment data is automatically selected by the playlist.
That is, the playlist includes a sequence of play items to be played back, and data conforming to the specific playback path can be sequentially selected by selecting a play item set in the selected playlist. The relationship between the playlist and the playitem is described below with reference to fig. 12.
Examples of various playlists stored in the information recording medium are shown in (a) of fig. 12. These playlists include different playback paths corresponding to one SKB that are applicable to the same content playback zone data. As described above, 256 playlists (#0 to #255) are set for one SKB.
For example, playlist #1 defines a play item sequence including play items [000], [016], [017], and the like. The information processing apparatus plays back the content according to the play item sequence [000], [016], [017], and the like set in the playlist # 1.
According to this content playback process, as shown in (b) of fig. 12, the playitem AVxxx can be sequentially played back. In each of the segment portions, one of a plurality of variant data can be selected and played back.
Referring back to the sequence diagram shown in fig. 11, in step S26, a playitem is obtained from the playback path defined by the playlist selected in step S25, and in each segment portion, the segment data is decrypted with the generated segment key Kseg.
In step S27, necessary decoding processing such as MPEG decoding, decompression, and descrambling is performed so that the content 460 can be obtained. The sequence of decryption processing performed on segmented data has already been discussed.
The content stored in the information recording medium includes a fragmented portion and a non-fragmented portion. The information processing apparatus decrypts the non-segmented portion by using the unit key (Ku), and decrypts the segmented portion by using the segment key. Therefore, in order to play back the content including the segmented portion, the information processing apparatus performs a combined process including the process sequence shown in fig. 10 and the process sequence shown in fig. 11.
5. Content playback processing using multiple playlists
As described above, the content is divided into a plurality of (n) playback areas corresponding to a plurality of SKBs (SKBs 1 to SKBn), and then the content is played back by sequentially applying a plurality of (n) playlists selected based on the classification numbers obtained from the SKBs. In this case, if time is required to switch the playlist, it may be difficult to play back the content seamlessly. To avoid such a situation and to achieve seamless playback operation of content, the following configuration is discussed.
Two examples of content playback processing using multiple playlists are discussed sequentially below:
(1) playback processing by executing playlist integration processing program
(2) Playback processing by executing a MOVIE object command.
(1) Playback processing by executing playlist integration processing program
The playback processing by executing the playlist integration processing program is first discussed. As shown in fig. 13, the information recording medium 500 stores therein a Sequence Key Block (SKB) set 501 including a plurality of sequence key blocks (SKB1 through SKBn).
The classification number serving as playlist designation information is obtained from each of the sequence key blocks (SKB1 through SKBn) forming the Sequence Key Block (SKB) set 501. Then, the information processing apparatus plays back the content by sequentially applying the plurality of playlists. That is, the playlist must be switched when the content is played back.
In this process, in order to play back content without switching playlists, a plurality of playlists are obtained in advance based on classification numbers determined from a plurality of corresponding sequence key blocks (SKB1 to SKBn), and the obtained plurality of playlists are integrated into a new playlist.
As shown in fig. 13, if the information recording medium 500 stores 6 sequence key blocks (SKB1 through SKB6), the information processing apparatus first obtains a class number from each sequence key block (SKB1 through SKB 6). This process is performed in accordance with the SKB process discussed with reference to fig. 9.
Then, playlists are obtained based on the classification numbers corresponding to the sequence key blocks (SKB1 through SKB 6). In the example shown in FIG. 13, 6 playlists, i.e., playlists X1 through X6, are obtained.
Then, a single integrated playlist (integrated playlists X1 to X6) is generated by applying a playlist integration handler, such as a JAVA (registered) program. As described with reference to fig. 12, each playlist includes a sequence of playitems, and the playlist integration processing program generates a new playlist by setting playitems included in a plurality of playlists to a sequence. A plurality of playlist IDs associated with a plurality of corresponding playlists are set as attribute information on the integrated playlist.
The reason for this is as follows. When a segment key is selected from the segment key file according to a specific path, the segment key must be searched by using the playlist ID and the playitem ID as indexes. The attribute information on the integrated playlists includes a plurality of playlist IDs associated with a plurality of corresponding playlists, and information on the range of playitems contained in each playlist before integration.
In the content playback process, the playitems set in the integrated playlists X1 to X6 are sequentially obtained, decrypted, and played back. The application of the integrated playlist eliminates the need to switch playlists while playing back content, thereby enabling seamless content playback operation.
The integrated playlists X1 to X6 generated by using the playlist integration processing program are set as playlist files in a directory set in the virtual file system generated according to and used for the content playback processing. When playing back content, a playlist file (integrated playlist) set in the virtual file system is used.
The playlist integration processing program may be stored in advance in an information recording medium in which the content is stored, or may be stored in an information processing apparatus to which the content is to be played back.
Fig. 14 shows a directory configuration example when the playlist integration processing program is stored in the information recording medium. The directory is divided into a management information setting part 520 and a data part 530. A plurality of sequence key blocks (SKB1 to SKBn)521 are stored in the management information setting section 520.
In the data section 530, data and programs (index file, movie object file, playlist file, clip information file, and AV stream) having a hierarchical structure such as that shown in fig. 2 are stored. A playlist integration processing program 532 (e.g., Java (registered) program) is set in the program storage section.
The playlist file 531 includes a plurality of playlists that are selected based on the classification numbers obtained from the SKBs and that correspond to playback area data divided from a piece of content.
When playing back content, the information processing apparatus reads the playlist integration processing program 532, and obtains playlists corresponding to a plurality of playback area data selected based on the classification numbers obtained from a plurality of SKBs, and then integrates these playlists into a new playlist.
The content playback application installed in the information processing apparatus performs content playback processing by using a playlist in a directory set in the virtual file system.
As shown in fig. 15, the content playback application 540 selects a data file and a program file necessary for playing back content from the information recording medium 541 on which various data files 542 such as content are recorded. Meanwhile, the content playback application 540 selects the integrated playlists X1 to X6544 generated and temporarily recorded on the local storage device 543 of the information recording medium 541, and sets a virtual file system 550. The content playback application 540 then plays back the content by performing data processing based on the virtual file system 550. The use of the virtual directory makes it possible to achieve quick access to files stored in different recording media.
The content playback application 540 shown in fig. 15 is an application program such as a movie object executed in the information processing apparatus. The content playback application 540 can process a file recorded on the information recording medium 541 or a file recorded on the local storage device 543 via the virtual file system 550. Therefore, the virtual file system 550 has a function of assimilating differences in recording media (file systems). Accordingly, the content playback application 540 can process files recorded on the recording medium by using the same Application Program Interface (API) without knowing differences in the recording medium on which the files are stored.
The content playback processing sequence in this example is described below with reference to the flowchart in fig. 16. In step S201, the information processing apparatus first processes the MKB read from the information recording medium by using the device key (Kd) stored in the memory of the information processing apparatus. It is then determined in step S202 whether the media key (Km) has been successfully obtained from the MKB. Unless the information processing apparatus 350 is a revoked apparatus, it can obtain a media key (Km) from the MKB. If it is determined in step S202 that the media key (Km) is not successfully obtained from the MKB, this means that the information processing apparatus is a revoked apparatus, and the process proceeds to step S221. In step S221, the information processing apparatus is prohibited from continuing the playback processing, and the playback processing is terminated.
If it is determined in step S202 that the media key (Km) has been successfully obtained, the process proceeds to step S203 to determine whether the content to be played back requires a Sequence Key Block (SKB). Information as to whether or not the content to be played back requires SKBs can be extracted from the recording information of the CPS unit key file corresponding to the content to be played back.
If it is found in step S203 that the content to be played back does not require the SKB, this means that all content data can be played back by decryption by the CPS unit key, and the process proceeds to step S222, in which the content is played back by the CPS unit key. This process is equivalent to the process described with reference to fig. 10.
If it is determined in step S203 that the content to be played back requires an SKB, the process proceeds to step S204. In step S204, the information processing apparatus obtains a plurality of SKBs from the information recording medium, and performs processing for each SKB. This SKB process is equivalent to the process described with reference to fig. 9, and is performed based on the sequence key SK (c, r) obtained from the sequence key file stored in the memory of the information processing apparatus and the media key (Km) obtained from the MKB.
Then, it is determined in step S205 whether the plurality of (n) media key variables have been successfully obtained (Kmv). If the acquisition of the plurality of (n) media key variables (Kmv) fails, this means that the information processing apparatus has been revoked, and the process proceeds to step S221. Then, the information processing apparatus is prohibited from continuing to execute the playback processing, and then the playback processing is terminated.
If it is determined in step S205 that the acquisition of the plurality of (n) media key variables has succeeded, the process proceeds to step S206, in which a plurality of (n) classification numbers are obtained by performing SKB processing shown in FIG. 9. As described above, the classification number may be obtained from a part of bits forming the media key variable (Kmv).
Then, in step S207, n playlists are selected based on the plurality of (n) classification numbers. As described above, the classification number obtained from the SKB is used as playlist selection information, and n playlists are selected based on a plurality of (n) classification numbers.
Then, in step S208, the playlist editing process is executed based on the playlist integration processing program. As described with reference to fig. 13, the playlist editing process integrates a plurality of playlists corresponding to classification numbers obtained from a plurality of SKBs into one playlist, and is performed based on a playlist integration handler, for example, JAVA (registration).
Then, in step S209, the playback operation regarding the playitems set in the integrated playlist is sequentially started. In step S210, the information processing apparatus searches for data stored in the segment key file based on the playlist ID and the playitem ID associated with the playitem to be played back. As described above, IDs are assigned as identification information to all playlists and all playitems. Meanwhile, in a segment key file storing encrypted segment keys associated with respective playback paths, segment keys are stored as encryption key data corresponding to a playlist ID and a playitem ID, so that the association between the segment keys and the playlist and playitem can be identified.
It is then determined in step S211 whether segment key data corresponding to the playlist ID and playitem ID associated with the playitem to be played back has been detected. If the corresponding segment key data is not detected in step S211, this means that the playitem to be played back is a playitem having no segment data, i.e., a playitem having no plurality of variant data, and the process proceeds to step S212, in which a CPS unit key is generated. Then, in step S214, the playitem is decrypted and played back by using the CPS unit key.
If it is determined in step S211 that the segment key data corresponding to the playlist ID and the playitem ID associated with the playitem have been detected, this means that the playitem is a playitem including a segment portion having a plurality of variant data, and the process proceeds to step S213, in which a segment key is generated. Then, in step S214, the playitem is decrypted and played back by using the segment key.
As described above, in step S213, a segment key may be generated as described below. Segment key data corresponding to the playlist ID and playitem ID is obtained from the segment key file. That is, encrypted segment key data corresponding to a playitem to be played back is decrypted by using the volume variation unique key (Kvvu) so that a segment key (Kseg) corresponding to a specific playback path can be obtained.
It is then determined whether all the playitems set in the integrated playlist have been played back in step S215. If there are any playitems that have not been played back, the process returns to step S209, and the process is similarly repeated. If it is determined in step S215 that all the playitems set in the integrated playlist have been played back, the content playback process is completed.
In the above-described content playback processing, the SKB processing is completed before the content playback processing is started. Then, a plurality of playlists are obtained based on the classification numbers calculated from the plurality of SKBs, and these playlists are integrated into a single playlist. Then, playback processing is performed based on the integrated playlist. With this configuration, it is possible to select, decrypt, and play back a play item according to a play item sequence set in the integrated play list, which eliminates the need to switch the play list, thereby achieving seamless content playback processing.
Fig. 17 illustrates the function of an information processing apparatus that executes the playback processing shown in fig. 16. More specifically, fig. 17 is a block diagram illustrating the functions of an information processing apparatus that performs content playback based on a single integrated playlist. The information processing apparatus includes a playlist selection information obtaining unit 611, a playlist selector 612, a playlist integration processor 613, and a content playback unit 614.
The information recording medium 600 stores therein content including a plurality of divided playback areas to which playlists are assigned, such as the content described with reference to fig. 3. The playlist selection information obtaining unit 611 obtains a classification number (variation number) serving as playlist selection information from the Sequence Key Block (SKB). The playlist includes information on a playback sequence of a playitem, which is set as the content playback unit data. That is, the playlist selection information obtaining unit 611 obtains a plurality of classification numbers X1 to Xn from a plurality of SKBs.
The playlist selector 612 obtains a plurality of playlists X1 to Xn based on the plurality of classification numbers X1 to Xn obtained from SKB by the playlist selection information obtaining unit 611. As described above, the classification number is used as identification information on the playlist.
The play list integrating processor 613 integrates the plurality of play lists selected by the play list selector 612 into integrated play lists X1 to Xn in which playback sequence information on the play items contained in the plurality of play lists is set as one play item sequence. The content playback unit 614 plays back content based on the integrated playlist.
The playlist selection information obtaining unit 611 selects a category number serving as playlist selection information, which relates to a playlist having a sequence of playitems defined by the playback path and containing variant data selected from each segment portion, from each SKB according to the corresponding content playback section. The classification number can be obtained by SKB processing as described with reference to fig. 9 using the media key (Km) obtained from the MKB and the sequence key SK (c, r).
The content playback unit 614 obtains a playitem specified by the integrated playlist generated by the playlist integration processor 613 by using a virtual file system accessible by the integrated playlist, and then plays back the content. This specific playback processing can be indicated by the flowchart shown in fig. 16 and the processing sequence charts shown in fig. 10 and 11.
(2) Playback processing by executing MOVIE object commands
The playback process by executing the movie object directory will now be described. As described with reference to fig. 2, a movie object that functions to play back a processed program is set in content stored in an information recording medium, and the movie object specifies a playlist, and the content is played back in accordance with a playitem contained in the specified playlist.
In the following example, content is played back by quickly switching playlists selected in accordance with classification numbers calculated from a plurality of (e.g., 6) SKBs using commands output from a movie object. In order to reduce the time for switching playlists, a digest number is calculated from the SKB before starting playback of the content, for example, when a disc is inserted, and the calculated digest number is set in a register of the information processing apparatus.
When playing back content, the information processing apparatus sequentially obtains the classification numbers set in the registers, and selects a playlist based on the obtained classification numbers. This eliminates the need to perform SKB processing when playing back content, thereby achieving efficient playlist switching.
As shown in fig. 18, the information processing apparatus calculates classification numbers (X1 to X6) from respective Sequence Key Block (SKB) sets 501 forming the SKB stored in the information recording medium 500 before starting playback of the content, for example, when a disc is inserted, and sets the calculated classification numbers (X1 to X6) in a register 570 of the information processing apparatus.
When the content is played back, the classification numbers (X1 to X6) set in the register 570 are sequentially obtained, and the playlist is sequentially selected based on the obtained classification numbers. This process eliminates the need to perform SKB processing when playing back content, and can efficiently switch playlists.
The processing for obtaining the classification number (variation number) from the register and the processing for sequentially playing back the playlists having the playlist IDs corresponding to the classification number are executed by the execution of the movie object command. A movie object command example is shown in fig. 19A.
The movie object command shown in fig. 19A obtains the genre number (variation number) set in the Player Status Register (PSR), and sequentially plays back the playlist having the playlist ID corresponding to the obtained genre number (variation number).
By executing these commands, efficient switching of playlists can be achieved. Accordingly, as shown in fig. 19B, the playitems located in the connected portion of the plurality of different playlists X1, X2, etc. can be seamlessly played back.
The content playback processing sequence in this example is described below with reference to the flowchart in fig. 20. In step S301, the information processing apparatus first processes the MKB read from the information recording medium by using the device key (Kd) stored in the memory of the information processing apparatus. It is then determined in step S302 whether the media key (Km) has been successfully obtained from the MKB. Unless the information processing apparatus 350 is a revoked apparatus, it can obtain a media key (Km) from the MKB. If it is determined in step S302 that the media key (Km) is not successfully obtained from the MKB, this means that the information processing apparatus is a revoked apparatus, and the process proceeds to step S321. In step S321, the information processing apparatus is prohibited from continuing the execution of the playback processing, and the playback processing is terminated.
If it is determined in step S302 that the media key (Km) has been successfully obtained, the process proceeds to step S303 to determine whether the content to be played back requires a Sequence Key Block (SKB). Information as to whether or not the content to be played back requires SKBs can be extracted from the recording information of the CPS unit key file corresponding to the content to be played back.
If it is found in step S303 that the content to be played back does not require the SKB, this means that all content data can be played back by decryption by the CPS unit key, and the process proceeds to step S322, in which the content is played back by the CPS unit key. This process is equivalent to the process described with reference to fig. 10.
If it is determined in step S303 that the content to be played back requires an SKB, the process proceeds to step S304. In step S304, the information processing apparatus obtains a plurality of SKBs from the information recording medium, and performs processing for each SKB. This SKB process is equivalent to the process described with reference to fig. 9, and is performed based on the sequence key SK (c, r) obtained from the sequence key file stored in the memory of the information processing apparatus and the media key (Km) obtained from the MKB.
Then, it is determined in step S305 whether a plurality of (n) media key variables have been successfully obtained (Kmv). If the acquisition of the plurality of (n) media key variables (Kmv) fails, this means that the information processing apparatus has been revoked, and the process proceeds to step S321. Then, the information processing apparatus is prohibited from continuing to execute the playback processing, and then the playback processing is terminated.
If it is determined in step S305 that the acquisition of the plurality of (n) media key variables has succeeded, the process proceeds to step S306, where a plurality of (n) classification numbers are obtained by performing the SKB process shown in FIG. 9. As described above, the classification number may be obtained from a part of bits forming the media key variable (Kmv).
Then, in step S307, a plurality (n) of classification numbers are set (stored) in a register. As described above, the classification number obtained from the SKB is used as playlist selection information, and n playlists can be selected based on these n classification numbers.
Then, in step S308, the classification numbers are sequentially obtained from the register, and the playlist is selected based on one of the classification numbers. In step S309, the playitems set in the selected playlist are sequentially played back.
In step S310, the information processing apparatus searches for data stored in the segment key file based on the playlist ID and the playitem ID associated with the playitem to be played back. As described above, IDs are assigned as identification information to all playlists and all playitems. Meanwhile, in a segment key file storing encrypted segment keys associated with respective playback paths, the segment keys are stored as encryption key data corresponding to a playlist ID and a playitem ID, so that the association between the segment keys and the playlist and playitem can be identified.
Then, it is determined in step S311 whether segment key data corresponding to the playlist ID and the playitem ID associated with the playitem to be played back has been detected. If the corresponding segment key data is not detected in step S311, this means that the playitem to be played back is a playitem having no segment data, i.e., a playitem having no plurality of variant data, and the process proceeds to step S312, in which a CPS unit key is generated. Then, in step S314, the playitem is decrypted and played back by using the CPS unit key.
If it is determined in step S311 that the segment key data corresponding to the playlist ID and the playitem ID associated with the playitem have been detected, this means that the playitem is a playitem including a segment portion having a plurality of variant data, and the process proceeds to step S313, in which a segment key is generated. Then, in step S314, the playitem is decrypted and played back by using the segment key.
In step S313, a segment key may be generated as described below. Segment key data corresponding to the playlist ID and playitem ID is obtained from the segment key file. That is, encrypted segment key data corresponding to a playitem to be played back is decrypted by using the volume variation unique key (Kvvu) so that a segment key (Kseg) corresponding to a specific playback path can be obtained.
It is then determined whether all the playitems set in the selected playlist have been played back in step S315. If there are any playitems that have not been played back, the process returns to step S309, and the process is similarly repeated.
If it is determined in step S315 that all of the playitems set in the selected playlist have been played back, the process proceeds to step S316 to determine whether all of the playlists corresponding to the content have been played back. If there are any playlists that have not been played back, the process returns to step S308, and the process is similarly repeated. If it is determined in step S316 that the entire playlist has been played back, the content playback process is completed.
In the above-described content playback processing, the SKB processing is completed before the content playback processing is started. Then, a classification number calculated based on the plurality of SKBs is set in a register, and a playlist is selected based on the classification number set in the register. With this configuration, the playlist can be switched by executing a command to play a movie object that functions as a playback-processed program. Accordingly, seamless content playback operation can be achieved without requiring time for switching playlists.
The functions of the information processing apparatus that performs the above-described processing are described below with reference to fig. 21. Fig. 21 is a functional block diagram illustrating an information processing apparatus that realizes seamless content playback processing by setting a classification number as playlist selection information in a register and efficiently switching a plurality of playlists through movie object command processing. The information processing apparatus includes a playlist selection information obtaining unit 651, a register 652, a playlist selector 653, and a content playback unit 654.
The information recording medium 650 has stored therein content including a plurality of divided playback areas to which playlists are assigned, such as the content described with reference to fig. 3. The playlist selection information obtaining unit 651 obtains a classification number (variant number) serving as playlist selection information from the Sequence Key Block (SKB). The playlist includes information on a playback sequence of a playitem, which is set as the content playback unit data. That is, the playlist selection information obtaining unit 651 obtains a plurality of classification numbers X1 to Xn from a plurality of SKBs.
As shown in fig. 18, the register 652 stores a plurality of play list selection information, i.e., category numbers, obtained by the play list selection information obtaining unit 651. The playlist selector 653 sequentially obtains the classification number stored in the register 652, and selects a playlist based on the classification number. The content playback unit 654 plays back the content based on the playlist selected by the playlist selector 653.
The playlist selection information obtaining unit 651 selects a classification number serving as playlist selection information concerning a playlist having a sequence of playitems defined by a playback path containing variant data selected from each of the segment portions, from each SKB in accordance with the corresponding content playback area. The classification number can be obtained by SKB processing as described with reference to fig. 9 using the media key (Km) obtained from the MKB and the sequence key SK (c, r).
The playlist selector 653 sequentially obtains a plurality of playlist selection information stored in the register 652 based on commands set to play back movie objects of the processing program such as those shown in fig. 19A, and selects a playlist based on the selection information obtained from the register 652.
6. Configuration example of information processing apparatus
An example of the hardware configuration of an information processing apparatus that performs the above-described content playback processing is described below with reference to fig. 22.
The information processing apparatus 800 includes: a Central Processing Unit (CPU)809 for performing data processing according to various programs such as an Operating System (OS) and a content recording/playback application program; a ROM 808 functioning as a storage area for storing programs and parameters; a memory 810; an input/output Interface (IF)802 for inputting and outputting a digital signal; an input/output Interface (IF)804 for inputting and outputting analog signals, and including an analog-to-digital (a/D) and digital-to-analog (D/a) converter 805; an MPEG codec 803 for encoding and decoding MPEG data; a Transport Stream (TS)/Program Stream (PS) processor 806 for performing TS/PS processing; an encryption processor 807 for performing various encryption processing operations accompanying MKB processing, SKB processing, generation of various encryption keys, encryption and decryption processing, and decryption processing of encrypted content; a recording medium 812 such as a hard disk; and a driver 811 for driving the recording medium 812 and for inputting and outputting a data recording/reproducing signal. The above blocks are connected to a bus 801.
The information processing apparatus (host) 800 is connected to a driver through a connection BUS such as an advanced technology attachment packet interface BUS (ATAPI) -BUS for inputting and outputting MKB, SKB, contents, and the like via the digital signal input/output IF 802. The MKB processing, SKB processing, encryption processing, decryption processing, and content playback processing are executed by the CPU 809 and the encryption processor 807 in accordance with the processing sequence described with reference to the above-described flowcharts and sequence diagrams. In performing these processing operations, various calculation operations defined by programs, and various algorithms such as the AES algorithm are employed.
A program for executing playback or recording processing is stored in the ROM 808, and when the program is executed, the memory 810 can be used as a storage area for parameters and data or as a work area, if necessary.
The ROM 808 or the recording medium 812 may store therein a device key (Kd) for MKB processing and a sequence key file for SKB processing.
When playing back and outputting content, for example, the playlist integration process discussed with reference to the flowchart in fig. 16 may be used to play back content. Alternatively, the process discussed with reference to the flowchart in fig. 20 may be used, and the sort numbers obtained from the SKB are preset in a register, and playlists corresponding to the sort numbers are sequentially obtained by using the movie object command. With this processing, seamless playback processing can be performed on the content playback areas associated with the plurality of playlists.
The series of processing operations described in this specification may be performed by hardware or software, or a combination thereof. If software is used, a program in which a processing sequence is recorded may be installed into a memory of a computer constructed with dedicated hardware or a general-purpose computer that can perform various processing operations.
The program may be recorded in advance in a hard disk or a ROM as a recording medium. Alternatively, the program may be temporarily or permanently stored (recorded) in a removable recording medium such as a flexible disk, a compact disc-read only memory (CD-ROM), a magneto-optical (MO) disk, a DVD, a magnetic disk, or a semiconductor memory. Such a removable recording medium may be provided as so-called "package software".
The program may be installed into the computer from the above-described removable recording medium. Alternatively, the program may be wirelessly transmitted from a download site to a computer or transmitted to the computer by wired means via a network such as a Local Area Network (LAN) or the Internet, and the computer may receive the transmitted program and install it in a recording medium such as a built-in hard disk.
The various processing operations discussed in this specification may be performed in a temporal order as described in this specification. Alternatively, the processing operations may be performed in parallel or one by one, depending on the processing capabilities of the device performing the processing operations or as desired. In this specification, a system is a logical collection of multiple processing devices, and the devices are not necessarily in the same housing.
Those skilled in the art will understand that: various modifications, combinations, sub-combinations and changes may occur depending on design requirements and other factors within the scope of the claims and their equivalents.

Claims (16)

1. An information processing apparatus that plays back content including a plurality of divided playback sections, a playlist being associated with each of the divided playback sections, wherein the playlist includes a sequence of playitems defined by a playback path having variant data selected from each of the segment sections generated by encrypting the same playback data section with a different encryption key, the apparatus comprising:
a playlist selection information obtaining unit configured to obtain a plurality of classification numbers serving as playlist selection information including information on a playback sequence of a playitem set as content playback unit data, wherein the plurality of classification numbers are obtained in accordance with the number of playback sections included in the content;
a playlist selector configured to select a plurality of playlists based on the plurality of classification numbers obtained by the playlist selection information obtaining unit;
a playlist integration processor configured to generate an integrated playlist by integrating the plurality of playlists selected by the playlist selector; and
a content playback unit configured to play back content by using the virtual file system accessed by the integrated playlist and obtaining a playitem specified by the integrated playlist generated by the playlist integration processor.
2. The information processing apparatus according to claim 1, wherein the content is recorded on the information recording medium and includes segment portions each having a plurality of variant data generated by encrypting the same playback data portion with different encryption keys, and
the playlist selection information obtaining unit selects, on the basis of each content playback area, playlist selection information corresponding to a playlist including a play item sequence defined by a playback path having variant data selected from each segment portion, the playback path being selected on the basis of the information processing apparatus.
3. The information processing apparatus according to claim 1, wherein the playlist selection information obtaining unit processes a plurality of sequence key blocks, each storing a classification number corresponding to each playback area, which functions as playlist selection information, by performing data processing based on an encryption key stored in the information processing apparatus, thereby obtaining the classification number, which functions as playlist selection information, from each of the plurality of sequence key blocks.
4. The information processing apparatus according to claim 1, wherein the playlist integration processor generates an integrated playlist in which information on playback sequences of playitems included in a plurality of playlists is set as one sequence of playitems.
5. An information processing apparatus that plays back content including a plurality of divided playback sections, a playlist being associated with each of the divided playback sections, wherein the playlist includes a sequence of playitems defined by a playback path having variant data selected from each of the segment sections generated by encrypting the same playback data section with a different encryption key, the apparatus comprising:
a playlist selection information obtaining unit configured to obtain a plurality of classification numbers serving as playlist selection information including information on a playback sequence of a playitem set as content playback unit data, wherein the plurality of classification numbers are obtained in accordance with the number of playback sections included in the content;
a register configured to store a plurality of classification numbers obtained by the playlist selection information obtaining unit;
a playlist selector configured to sequentially obtain a plurality of classification numbers stored in the register and select a playlist based on the plurality of classification numbers; and
a content playback unit configured to play back the content by using the virtual file system accessed by the integrated playlist and obtaining the playitem specified by the integrated playlist.
6. The information processing apparatus according to claim 5, wherein the content is recorded on an information recording medium and includes segment portions each having a plurality of variant data generated by encrypting the same playback data portion with different encryption keys, and
the play list selection information obtaining unit selects, on the basis of each content playback area, play list selection information corresponding to a play list including a play item sequence defined by a playback path having variant data selected from each segment portion, the playback path being selected on the basis of the information processing apparatus.
7. The information processing apparatus according to claim 5, wherein the playlist selection information obtaining unit processes a plurality of sequence key blocks, each storing a plurality of classification numbers of play list selection information corresponding to each playback area, by performing data processing based on an encryption key stored in the information processing apparatus, thereby obtaining the classification number serving as the playlist selection information from each of the plurality of sequence key blocks.
8. The information processing apparatus according to claim 5, wherein said playlist selector sequentially obtains the plurality of classification numbers stored in the register to select the playlist based on the plurality of classification numbers according to a command set to play back the movie object of the processed program.
9. An information processing method for playing back content including a plurality of divided playback sections, a playlist being associated with each of the divided playback sections, wherein the playlist includes a sequence of playitems defined by a playback path having variant data selected from each of the segment sections generated by encrypting the same playback data section with a different encryption key, the method comprising the steps of:
obtaining a plurality of classification numbers serving as play list selection information including information on a playback sequence of a play item set as content playback unit data, wherein the plurality of classification numbers are obtained in accordance with the number of playback areas included in the content;
selecting a plurality of playlists based on the obtained plurality of classification numbers;
generating an integrated playlist by integrating the selected plurality of playlists; and
playing back content by using the virtual file system accessed from the generated integrated playlist and by obtaining the playitems specified in the integrated playlist.
10. The information processing method according to claim 9, wherein the content is recorded on an information recording medium and includes segment portions each having a plurality of variant data generated by encrypting the same playback data portion with different encryption keys, and
when the playlist selection information is selected, playlist selection information corresponding to a playlist including a play item sequence defined by a playback path having variant data selected from each of the segment portions is selected according to each of the content playback areas, the playback path being selected according to the information processing apparatus.
11. The information processing method according to claim 9, wherein when the playlist selection information is selected, the plurality of sequence key blocks each storing a classification number corresponding to each playback area that functions as the playlist selection information are processed by performing data processing based on an encryption key stored in the information processing apparatus to obtain a classification number that functions as the playlist selection information from each of the plurality of sequence key blocks.
12. The information processing method according to claim 9, wherein when the integrated playlist is generated, the integrated playlist in which information on a playback sequence of the playitems included in the plurality of playlists is set as one playitem sequence is generated.
13. An information processing method for playing back content including a plurality of divided playback sections, a playlist being associated with each of the divided playback sections, wherein the playlist includes a sequence of playitems defined by a playback path having variant data selected from each of the segment sections generated by encrypting the same playback data section with a different encryption key, the method comprising the steps of:
obtaining a plurality of classification numbers serving as play list selection information including information on a playback sequence of a play item set as content playback unit data, wherein the plurality of classification numbers are obtained in accordance with the number of playback areas included in the content;
storing the obtained plurality of classification numbers in a register;
sequentially obtaining a plurality of classification numbers stored in a register to select a playlist based on the plurality of classification numbers; and
playing back content by using the virtual file system accessed from the generated integrated playlist and by obtaining the playitems specified in the integrated playlist.
14. The information processing method according to claim 13, wherein the content is recorded on an information recording medium and includes segment portions each having a plurality of variant data generated by encrypting the same playback data portion with different encryption keys, and
when the playlist selection information is selected, playlist selection information corresponding to a playlist including a play item sequence defined by a playback path having variant data selected from each of the segment portions is selected according to each of the content playback areas, the playback path being selected according to the information processing apparatus.
15. The information processing method according to claim 13, wherein when the playlist selection information is selected, the plurality of sequence key blocks each storing a digest number corresponding to each playback area that functions as the playlist selection information are processed by performing data processing based on an encryption key stored in the information processing apparatus to obtain the digest number that functions as the playlist selection information from each of the plurality of sequence key blocks.
16. The information processing method of claim 13, wherein when the playlist is selected, the plurality of classification numbers stored in the register are sequentially obtained so that the playlist is selected based on the plurality of classification numbers according to a command set to play back the movie object of the processed program.
HK07103902.4A 2005-08-01 2007-04-16 Information processing apparatus and information processing method HK1097087B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005-223458 2005-08-01
JP2005223458A JP4613739B2 (en) 2005-08-01 2005-08-01 Information processing apparatus, information processing method, information recording medium, and computer program

Publications (2)

Publication Number Publication Date
HK1097087A1 HK1097087A1 (en) 2007-06-15
HK1097087B true HK1097087B (en) 2011-01-28

Family

ID=

Similar Documents

Publication Publication Date Title
CN1909094B (en) Information processing device, information processing method
JP4784131B2 (en) Information processing apparatus, information processing method, and computer program
CN100565542C (en) Information processing device, method, and information processing and recording device, method
US8863296B2 (en) Information processing apparatus, information recording medium, information processing method, and computer program
US8151357B2 (en) Information processing apparatus, information recording medium manufacturing method, and computer program
MXPA05013184A (en) Information processing device, information recording medium, information processing method, and computer program.
US8176565B2 (en) Information processing apparatus, information processing method, and computer program
JP4770650B2 (en) Information processing apparatus, information processing method, and computer program
US8424101B2 (en) Information processing apparatus and method, information recording medium manufacturing apparatus and method, and information recording medium
RU2411597C2 (en) Data processing device, data recording medium and data processing method
HK1097087B (en) Information processing apparatus and information processing method