The present invention contains subject matter related to Japanese Patent Application JP 2007-097857 filed in the Japanese Patent Office on Apr. 3, 2007, the entire contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to information processing apparatuses, information recording media, information processing methods, and computer programs. Particularly, the present invention relates to an information processing apparatus which performs processing of obtaining content information, such as a music title and a work title, which corresponds to content stored in an information recording medium, and relates to the information recording medium, an information processing method, and a computer program.
2. Description of the Related Art
In recent years, a service for obtaining information on a title of music stored in a CD (Compact Disc), for example, from an external server connected via a network has been utilized. In this service, for example, TOC (table of contents) information, which is so-called content information recorded in advance in a music CD, may be transmitted to a server, and the server may provide for users with content information such as a music title which has been registered in accordance with the TOC. Note that, as the related art, Japanese Patent No. 3104628 discloses a configuration for obtaining content information on the basis of information recorded on a disc.
In recent years, DVDs (Digital Versatile Discs) and BDs (Blu-ray Discs: registered trademark) have been used as recording media for recording content such as music and movies. Such DVDs and BDs can store a large amount of data when compared with CDs. However, in a case where management information such as TOC information stored in a CD is utilized, specific data is not necessarily uniquely specified. Furthermore, although an ISRC (International Standard Recording Code) or a cataloging number of the TOC is used as an identification signal in Japanese Patent No. 3104628, the ISRC and the cataloging number are arbitrarily recorded in a CD, that is, the ISRC and the cataloging number are not necessarily recorded in a CD. The ISRC and the cataloging number are inserted when an authoring process is performed on the CD, and may be mistakenly recorded twice or more at the time of the authoring process.
To address these problems, it is desirable to provide an information processing apparatus which uniquely and reliably specifies content and which realizes processing of obtaining content information, and to provide an information processing method, and a computer program.
According to an embodiment of the present invention, there is provided an information processing apparatus that obtains pieces of content information relating to content recorded in an information recording medium. The information processing apparatus includes a content identifier generation unit configured to read a content certificate which is recorded in the recording medium and which corresponds to the content stored in the information recording medium, and generate a content identifier by combining hash values which correspond to the content and which are included in data stored in the content certificate, a data transmitting unit configured to transmit the content identifier generated using the content identifier generation unit to a content information provision server, a data receiving unit configured to receive, from the content information provision server, the pieces of content information relating to the content which is specified on the basis of the content identifier, and a data outputting unit configured to output the pieces of content information received using the data receiving unit.
The content certificate may include content hash table digests generated as digest values on the basis of the hash values which are recorded in a content hash table and which are generated on the basis of hash units included as configuration data in the content recorded in the information recording medium. The content identifier generation unit may obtain the content hash table digests recorded in the content certificate and concatenate the obtained content hash table digests to generate the content identifier.
The content certificate may include the content hash table digests generated on a clip-by-clip basis, a clip being a unit of reproduction of the content recorded in the information recording medium. The content identifier generation unit may obtain the content hash table digests on a clip-by-clip basis recorded in the content certificate and concatenate the obtained content hash table digests in clip order so that the content identifier is generated.
The content certificate may be recorded in each of a plurality of recording layers in the information recording medium so that a plurality of content certificates are included in the information recording medium. The content identifier generation unit may obtain content hash table digests recorded in the plurality of content certificates for individual recording layers, and concatenate the obtained content hash table digests in clip order and in layer order to generate the content identifier.
The content identifier generation unit may generate the content identifier by combining the hash values included in the data of the content certificate and a content certificate identifier (CCID) including a combination of the following pieces of data recorded in the content certificate, that is, (a) an applicant identifier which is an identifier used to specify a provider of the content recorded in the information recording medium or a disc manufacturer which is a manufacturer of the information recording medium, and (b) a content sequence number which is an identifier corresponding to the applicant identifier and the content recorded in the information recording medium.
The content identifier generation unit may record the content identifier generated on the basis of the data included in the content certificate recorded in the information recording medium so as to correspond to the content recorded in the information recording medium in a storage unit as history data. The data transmitting unit may transmit the content identifier history data recorded in the storage unit to the content information provision server. The data receiving unit may receive, from the content information provision server, pieces of content information relating to recommendation content specified on the basis of the content identifier history data.
The content certificate may include the content certificate identifier, pieces of data including content hash table digests, and a digital signature assigned thereto, and the content identifier generation unit checks validity of the digital signature recorded in the content certificate so as to check validities of the content certificate and the content, and only when it is determined that the content certificate and the content are valid, that is, the content is not falsified, obtains the data from the content certificate, and generates the content identifier on the basis of the obtained data.
According to another embodiment of the present invention, there is provided an information processing apparatus serving as a server that receives a content identifier from a client apparatus and that provides a client apparatus with pieces of content information relating to the received content identifier. The information processing apparatus includes a data receiving unit configured to receive, from the client apparatus, the content identifier generated using hash values which correspond to content stored in the information recording medium and which are pieces of data recorded in the content certificate which is recorded in the information recording medium loaded in the client apparatus, a database which includes content identifiers and pieces of content information which relate to pieces of content corresponding to the content identifiers, a data retrieving unit configured to obtain the pieces of content information relating to the content which is specified on the basis of the content identifier received using the data receiving unit, and a data transmitting unit configured to transmit the pieces of content information obtained using the data retrieving unit to the client apparatus.
The content certificate may include content hash table digests generated as digest values on the basis of the hash values which are recorded in a content hash table and which are generated on the basis of hash units included as configuration data in the content recorded in the information recording medium. The data receiving unit may receive the content identifier generated by concatenating the content hash table digests. The data retrieving unit may search the database for the pieces of content information relating to the content specified on the basis of the content identifier generated by concatenating the content hash table digests, and obtain the pieces of content information relating to the content specified on the basis of the content identifier from the database.
The content hash table digests may be recorded in the content certificate on a clip-by-clip basis, a clip being a unit of reproduction of content recorded in the information recording medium. The data receiving unit may receive the content identifier generated by concatenating the content hash table digests on a clip-by-clip basis. The data retrieving unit recognizes individual clips included in the content identifier and performs retrieving processing on the database on the basis of results of recognition.
The data receiving unit may receive the content identifier generated using the hash values included in the data of the content certificate and a content certificate identifier (CCID) including a combination of the following pieces of data recorded in the content certificate, that is, (a) an applicant identifier which is an identifier used to specify a provider of the content recorded in the information recording medium or a disc manufacturer which is a manufacturer of the information recording medium, and (b) a content sequence number which is an identifier corresponding to the applicant identifier and the content recorded in the information recording medium.
The information processing apparatus may further includes a usage history database that stores pieces of history data corresponding to content identifiers transmitted from client apparatuses. The data retrieving unit may analyze a user's preference by comparing the content identifier transmitted from the client apparatus with data stored in the usage history database, selects recommendation content in accordance with the user's preference, and obtain pieces of content information relating to the selected recommendation content from the database. The data transmitting unit may transmit the pieces of content information obtained using the data retrieving unit to the client apparatus.
The data retrieving unit may perform processing of selecting the recommendation content which matches the user's preference in accordance with a collaborative filtering algorithm.
According to still another embodiment, there is provided an information processing method for obtaining pieces of content information relating to content recorded in an information recording medium. The information processing method includes the steps of reading a content certificate which is recorded in the recording medium and which corresponds to the content stored in the information recording medium, and generating a content identifier by combining hash values which correspond to the content and which are included in data stored in the content certificate, transmitting the generated content identifier to a content information provision server, receiving, from the content information provision server, the pieces of content information relating to the content which is specified on the basis of the content identifier, and outputting the received pieces of content information.
The content certificate may include content hash table digests generated as digest values on the basis of the hash values which are recorded in a content hash table and which are generated on the basis of hash units included as configuration data in the content recorded in the information recording medium. The content hash table digests recorded in the content certificate may be obtained and concatenated so that the content identifier is generated.
The content certificate may include the content hash table digests generated on a clip-by-clip basis, a clip being a unit of reproduction of the content recorded in the information recording medium. The content hash table digests recorded in the content certificate on a clip-by-clip basis may be obtained and concatenated in clip order so that the content identifier is generated.
The content certificate may be recorded in each of a plurality of recording layers in the information recording medium so that a plurality of content certificates are included in the information recording medium. Content hash table digests recorded in the plurality of content certificates for individual recording layers may be obtained and concatenated in clip order and in layer order so that the content identifier is generated.
The content identifier my be generated by combining the hash values included in the data of the content certificate as data and a content certificate identifier (CCID) including a combination of the following pieces of data recorded in the content certificate, that is, (a) an applicant identifier which is an identifier used to specify a provider of the content recorded in the information recording medium or a disc manufacturer which is a manufacturer of the information recording medium, and (b) a content sequence number which is an identifier corresponding to the applicant identifier and the content recorded in the information recording medium.
The information processing method may further includes the steps of recording the content identifier generated on the basis of the data included in the content certificate recorded in the information recording medium so as to correspond to the content recorded in the information recording medium in a storage unit as history data, transmitting the content identifier history data recorded in the storage unit to the content information provision server, and receiving, from the content information provision server, pieces of content information relating to recommendation content specified on the basis of the content identifier history data.
The content certificate may include the content certificate identifier, pieces of data including content hash table digests, and a digital signature assigned thereto. Validity of the digital signature recorded in the content certificate may be checked so as to check validities of the content certificate and the content, and only when it is determined that the content certificate and the content are valid, that is, the content is not falsified, the data may be obtains from the content certificate and the content identifier may be generated on the basis of the obtained data.
According to a further embodiment of the present invention, there is provided an information processing method of an information processing apparatus serving as a server that receives a content identifier from a client apparatus and that provides a client apparatus with pieces of content information relating to the received content identifier. The information processing method includes the steps of receiving, from the client apparatus, the content identifier generated using hash values which correspond to content stored in the information recording medium and which are pieces of data recorded in the content certificate which is recorded in the information recording medium loaded in the client apparatus, searching a database which includes content identifiers and pieces of content information which relate to pieces of content corresponding to the content identifiers for the pieces of content information relating to the content which is specified on the basis of the received content identifier, and transmitting the obtained pieces of content information to the client apparatus.
The content certificate may include content hash table digests generated as digest values on the basis of the hash values which are recorded in a content hash table and which are generated on the basis of hash units included as configuration data in the content recorded in the information recording medium. The content identifier generated by concatenating the content hash table digests may be received, and the database is searched for the pieces of content information relating to the content specified on the basis of the content identifier generated by concatenating the content hash table digests, and the pieces of content information relating to the content specified on the basis of the content identifier may be obtained from the database.
The content hash table digests may be recorded in the content certificate on a clip-by-clip basis, a clip being a unit of reproduction of content recorded in the information recording medium. The content identifier generated by concatenating the content hash table digests on a clip-by-clip basis may be received, and the content identifier may be recognized as individual clips and retrieving processing may be performed on the database on the basis of results of recognition.
The content identifier generated using the hash values included in the data of the content certificate and a content certificate identifier (CCID) including a combination of the following pieces of data recorded in the content certificate may be received, that is, (a) an applicant identifier which is an identifier used to specify a provider of the content recorded in the information recording medium or a disc manufacturer which is a manufacturer of the information recording medium, and (b) a content sequence number which is an identifier corresponding to the applicant identifier and the content recorded in the information recording medium.
The information processing method may further include the steps of analyzing a user's preference by comparing the content identifier transmitted from the client apparatus with pieces of history data which are included in a usage history database and which correspond to content identifiers transmitted from client apparatuses, selecting recommendation content in accordance with the user's preference, and obtaining pieces of content information relating to the selected recommendation content from the database, and transmitting the obtained pieces of content information to the client apparatus.
Processing of selecting the recommendation content in accordance with the user's preference may be performed in accordance with a collaborative filtering algorithm.
According to a still further embodiment of the present invention, there is provided a computer program that causes an information processing apparatus to perform processing of obtaining pieces of content information relating to content recorded in an information recording medium. The computer program includes the steps of reading a content certificate which is recorded in the recording medium and which corresponds to the content stored in the information recording medium, and generating a content identifier by combining hash values which correspond to the content and which are included in data stored in the content certificate, transmitting the generated content identifier to a content information provision server, receiving, from the content information provision server, the pieces of content information relating to the content which is specified on the basis of the content identifier, and outputting the received pieces of content information.
According to a further embodiment of the present invention, there is provided a computer program that causes an information processing apparatus serving as a server that receives a content identifier from a client apparatus and that provides a client apparatus with pieces of content information relating to the received content identifier to perform information processing. The computer program includes the steps of receiving, from the client apparatus, the content identifier generated using hash values which correspond to content stored in the information recording medium and which are pieces of data recorded in the content certificate which is recorded in the information recording medium loaded in the client apparatus, searching a database which includes content identifiers and pieces of content information which relate to pieces of content corresponding to the content identifiers for the pieces of content information relating to the content which is specified on the basis of the received content identifier, and transmitting the obtained pieces of content information to the client apparatus.
Note that the computer program according to the present invention is a computer readable program which is provided for, for example, a computer system capable of executing various program codes, using a recording medium or a communication medium. Since the computer program is a computer readable program, processing is performed in the computer system on the basis of the program.
Other features and advantages of the present invention will become apparent in the following detailed written description and the accompanying drawings. Note that the “system” described herein means a configuration in which a plurality of apparatuses are logical integrated, and is not limited to a configuration in which a plurality of apparatuses having own configurations are stored in one case.
Accordingly, in this configuration, hash values, i.e., content hash table digests are obtained from a content certificate corresponding to content recorded in an information recording medium, a content identifier is generated on the basis of the content hash table digests, and the generated content identifier is transmitted to a server. Furthermore, the server specifies the content in accordance with the received content identifier, obtains pieces of content information relating to the content, such as a music title, a work title, and a CD jacket picture, and provides an information processing apparatus with the pieces of content information. With this configuration, the content is uniquely specified and a configuration for performing service provision processing which functions as content information obtaining processing is realized.
An information processing apparatus, an information processing method, and a computer program according to the present invention will be described in detail hereinafter with reference to the accompanying drawings. Note that the description is made in the following order.
1. An outline of an example of a system configuration to which the present invention is applied
2. Pieces of data stored in an information recording medium
3. An example of processing of obtaining content information using hash values
4. An example of processing of obtaining content information using hash values and a content certificate identifier (CCID)
5. Recommendation content information provision processing on the basis of a user's preference
6. A configuration of an information processing apparatus
1. An Outline of an Example of a System Configuration to which the Present Invention is Applied
Referring to
The information recording medium 12 stores content such as music or a movie therein. A user 10 inserts the information recording medium 12 into the information processing apparatus 11 so that the content is reproduced. When the user 10 tries to obtain various pieces of content information stored in the information recording medium 12, the user uses the information processing apparatus 11 to transmit specific content identification information through a network 14 to a content information provision server 13. Examples of the various pieces of content information include, in the case of a piece of music, a music title, an artist name, and a picture image of a CD jacket, and in the case of a movie, a title of a movie, a director's name, actors' names, and a picture image of a poster.
The content information provision server 13 includes a database which stores various pieces of content information relating to content therein. In accordance with the content identification information transmitted from the information processing apparatus 11, the content information provision server 13 obtains pieces of content information (such as a music title and a work title) corresponding to content from the database, and the obtained pieces of content information are transmitted to the information processing apparatus 11. The information processing apparatus 11 displays the pieces of content information transmitted from the content information provision server 13 on a display unit. The user 10 views the pieces of content information relating to the content displayed on the display unit, and confirms the pieces of content information relating to the content stored in the information recording medium 12 which is loaded in the information processing apparatus 11.
As described above, in a case where a system in which a user transmits content identification information and obtains pieces of content information from a server is employed for a CD, TOC (Table of Contents) information recorded in the CD is transmitted to the server, and the server obtains pieces of content information corresponding to the TOC information and provides the user with the obtained pieces of content information. However, since the TOC information is not necessarily unique, it is possible that identical pieces of TOC information corresponding to different pieces of content information exist in a database. In this case, the user may not obtain the pieces of content information relating to the content.
The present invention realizes a configuration capable of obtaining pieces of content information from the server by utilizing content hash table digests which are pieces of data included in the content certificate (CC) recorded in the information recording medium.
The content hash table digests are generated on the basis of content hash values generated in accordance with configuration data of the content recorded in the information recording medium. An embodiment employing a BD (Blu-ray Disc: registered trademark) as the information recording medium will be described hereinafter. A content certificate issued in accordance with an AACS (Advanced Access Content System), which is a content management system, is stored in the BD in which the content is recorded, and processing of obtaining the pieces of content information is performed using the content hash table digests included in the content certificate. Note that the recording medium used in this embodiment is not limited to a BD, and any information recording medium may be employed as long as the information recording medium has a configuration in which a content certificate corresponding to content stored in the information recording medium is recorded in the information recording program.
The content 101 represents a piece of music or a movie, for example. The content 101 may be a plurality of pieces of content 101. The content certificate 102 corresponds to the content 101 recorded in the information recording medium 100 and proves that the content 101 is valid content which is approved by the management system (such as the AACS). A digital signature generated in accordance with the management system (such as the AACS) is attached to the content certificate 102 so that validity of the content certificate 102 is checked.
The content revocation list (CRL) 103 is used to detect illegal content. That is, the content revocation list (CRL) 103 is a list of pieces of illegally copied content, for example, which have been illegally distributed. In a case where the content 101 included in the information recording medium 100 is reproduced, the information processing apparatus (reproducing apparatus) 11 refers to the content revocation list (CRL) 103 before executing a content reproducing application. When it is determined that an ID of the content 101 included in the information recording medium 100 does not coincide with any of IDs of the pieces of content included in the content revocation list (CRL) 103, the reproduction of the content 101 is permitted.
Referring to
The content certificate 102 includes, for example, content hash table digests 201 which are used to check whether the content 101 recorded in the information recording medium 100 is valid. In addition, the content certificate 102 includes an applicant ID 202 which serves as an identifier used to specify a provider of the content recorded in the information recording medium or specify a disc manufacturer which is a manufacturer of the information recording medium, and further includes a content sequence number 203 which serves as an identifier corresponding to the content recorded in the recording medium. Furthermore, a digital signature 204 generated in accordance with the content management system (AACS, for example) is attached to the content certificate 102.
The content hash table digests registered in the content certificate 102 will be further described with reference to
The content hash table digests (#0) to (#N) denote digest values of hash units which are registered in a content hash table shown in (b) of
The content hashes are hash values generated in accordance with corresponding hash units (192 KB, for example) which are selected from a plurality of data portions included in the content shown in (c) of
Furthermore, hash values are newly calculated in accordance with pieces of data corresponding to the hash values registered in the content hash table. The newly calculated hash values are registered as content hash table digests in the content certificate 102 shown in (a) of
The content hash table shown in (b) of
The content certificate 102 includes the content hash table digests which are used to detect falsification of the content hash table which is, in turn, used to detect falsification of the content as described above, and the applicant ID 202 serving as an identifier used to specify a provider of the content recorded in the information recording medium or specify a disc manufacturer which is a manufacturer of the information recording medium as described above. The content certificate 102 further includes a content sequence number 203 serving as an identifier which corresponds to the content recorded in the information recording medium and which corresponds to the application ID. An entire data configuration of the content certificate 102 is shown in
Pieces of data included in the content certificate 102 will be described. The content certificate 102 includes the following pieces of data.
(a) Certificate Type: data indicating a kind of digital certificate
(b) Total_Number_of_HashUnits: the total number of hash units generated on the basis of the content
(c) Total_Number_of_Layers: the total number of layers of the information recording medium
(d) Layer_Number: a layer number corresponding to the content certificate
(e) Number_of_HashUnits: the number of hash units in the layers corresponding to the content
(f) Number_of_Digests: the number of Clip AV streams in the layers
(g) Applicant ID: an identifier (ID) uniquely assigned to individual licensed content providers or individual disc manufacturers
(h) Content Sequence Number: content identifier (ID) uniquely assigned to individual pieces of content by licensed content providers or disc manufacturers
(i) Minimum CRL Version: an earliest version of CRL (content revocation list) which can be referenced
(j) Length_Format_Specific_Section: the number of bytes of data having a specific format (the content certificate can be used in different formats)
(k) Hash_Value_of_MC_Manifest_File: a hash value used to detect falsification of a “Managed Copy Manifest File”
(l) Hash_Value_of_BDJ_Root_Cert: a hash value used to detect falsification of a “BD-J Root Certificate”
(m) Num_of_CPS_Unit: the number of the CPS units set in the content recorded in the information recording medium
(n) Hash_Value_of_CPS_Unit_Usage_File: a hash value of a CPU-unit-usage-control-information file
(o) Content Hash Table Digest: a hash value of a portion corresponding to one of clip AV streams in the content hash table
(p) Signature Data: a digital signature generated in accordance with a management system (AACS, for example) for the content certificate
The pieces of data listed above are merely examples and are stored in the content certificate. The content certificate is stored, in accordance with the management system (AACS), in the BD in which the corresponding content is stored. Among the pieces of data listed above,
are generated in accordance with the management system (AACS). The other pieces of data may be generated by the content providers or the disc manufacturers.
Each of the content hash table digests 201 described with reference to
Furthermore, the applicant ID 202, which serves as an identifier used to specify a provider of the content recorded in the information recording medium or specify a disc manufacturer which is a manufacturer of the information recording medium as described with reference to
Since the content certificate includes digest values generated in accordance with the content hash table used to check the validity of the content, and receives the signature assigned by the management system before being issued, data included in the content certificate cannot be changed. Furthermore, the content certificate ID is assigned in accordance with the management system to data which is unique to the content and which has digest values of the content hash table corresponding to the content. Accordingly, content certificates having identical content certificate IDs correspond to common content (content hash table).
In addition to the content, pieces of management information such as the content certificate described above are included in the information recording medium.
The clip AV streams, which are entities of the pieces of content data, correspond to clips each of which is a unit of content reproduction. When one of the clips is selected, reproduction is performed on a clip-by-clip basis. The hash values included in the content hash table described above and the content hash table digests recorded in the content certificate are managed by the corresponding clips each of which is a unit of content reproduction. A management configuration for each clip will be described with reference to
Each of the clips includes hash units (HUs) as pieces of configuration data.
A configuration shown in
Content hash tables and content certificates including the corresponding content hash tables are provided for individual layers. The content hash tables and the content certificates provided for individual layers are stored in the AACS directory 251 shown in
The clip #0 includes three hash units (HU #0 to HU #2) as shown in
Specifically, data “Hash_Value #0” recorded in the content hash table “ContentHash000.tbl” included in the layer 0 corresponds to a hash value calculated on the basis of the hash unit (HU #0) included in the clip #0. Data “Hash_Value #1” corresponds to a hash value calculated on the basis of the hash unit (HU #1) included in the clip #0. Data “Hash_Value #2” corresponds to a hash value calculated on the basis of the hash unit (HU #2) included in the clip #0.
Furthermore, the clip #1 recorded in the layer 0 and the layer 1 includes three hash units (HU #0 to HU #2). Hash values are calculated for the individual hash units and are recorded in the content hash tables in the layer 0 and the layer 1.
Specifically, data “Hash_Value #3” recorded in the content hash table “ContentHash000.tbl” included in the layer 0 corresponds to a hash value calculated on the basis of the hash unit (HU #0) included in the clip #1. Data “Hash_Value #4” corresponds to a hash value calculated on the basis of the hash unit (HU #1) included in the clip #1. The hash unit (HU #2) of the clip #1 is included in the layer 1, and therefore, a hash value for the hash unit (HU #2) is recorded as data “Hash_Value #0” in the content hash table “ContentHash001.tbl” included in the layer 1.
Furthermore, the clip #2 recorded in the layer 0 and the layer 1 includes three hash units (HU #0 to HU #2). Hash values are calculated for the individual hash units and are recorded in the content hash tables in the layer 0 and the layer 1.
Specifically, data “Hash_Value #5” recorded in the content hash table “ContentHash000.tbl” included in the layer 0 corresponds to a hash value calculated on the basis of the hash unit (HU #0) included in the clip #2. Data “Hash_Value #1” recorded in the content hash table “ContentHash001.tbl” included in the layer 1 corresponds to a hash value calculated on the basis of the hash unit (HU #1) included in the clip #2. Data “Hash_Value #2” recorded in the content hash table “ContentHash001.tbl” included in the layer 1 corresponds to a hash value calculated on the basis of the hash unit (HU #2) included in the clip #2.
Furthermore, the clip #3 recorded only in the layer 1 includes two hash units (HU #0 and HU #1). Hash values are calculated for the individual hash units and are recorded in the content hash table in the layer 1.
Specifically, data “Hash_Value #3” recorded in the content hash table “ContentHash001.tbl” included in the layer 1 corresponds to a hash value calculated on the basis of the hash unit “HU #0” included in the clip #3. Data “Hash_Value #4” recorded in the content hash table “ContentHash001.tbl” included in the layer 1 corresponds to a hash value calculated on the basis of the hash unit (HU #1) included in the clip #3.
As described above, the content certificates are provided for individual layers as files. Digest values calculated in accordance with data recorded in the content hash table “ContentHash000.tbl” corresponding to the layer 0 are recorded in the content certificate “Content000.cer” corresponding to the layer 0.
For example, as shown in
The content hash table digest #0 corresponding to the clip #0 is a digest value generated on the basis of the three content hash values “Hash_Value #0” to “Hash_Value #2” corresponding to the hash units “HU #0” to “HU #2” included in the clip #0 in the layer 0. Specifically, a hash value obtained by SHA-1 using the three content hash values “Hash_Value #0” to “Hash_Value #2” is recorded as the content hash table digest #0 in the content certificate “Content000.cer”, for example.
The content hash table digest #1 recorded in the content certificate “Content000.cer” for the layer 0 is a digest value generated on the basis of the two content hash values “Hash_Value #3” and “Hash_Value #4” corresponding to the hash units “HU #0” to “HU #1” included in the clip #1 in the layer 0.
The content hash table digest #2 recorded in the content certificate “Content000.cer” for the layer 0 is a digest value generated on the basis of the content hash value “Hash_Value #5” corresponding to the hash unit “HU #0” included in the clip #2 in the layer 0.
On the other hand, in the content certificate “Content001.cer” for the layer 1, digest values generated on the basis of information registered in the content hash table for the layer 1 are registered. A content hash table digest #1′ is a digest value generated on the basis of the content hash value “Hash_Value #0” which is recorded in the content hash table “ContentHash001.tbl” for the layer 1 and which corresponds to the hash unit “HU #2” of the clip #1 in the layer 1, and is recorded in the content certificate “Content001.cer” for the layer 1.
A content hash table digest #2′ is a digest value generated on the basis of the two content hash values “Hash_Value #1” and “Hash_Value #2” which are recorded in the content hash table “ContentHash001.tbl” for the layer 1 and which correspond to the hash units “HU #1” and “HU #2”, respectively, of the clip #2 in the layer 1, and is recorded in the content certificate “Content001.cer” for the layer 1.
A content hash table digest #3′ is a digest value generated on the basis of the two content hash values “Hash_Value #3” and “Hash_Value #4” which are recorded in the content hash table “ContentHash001.tbl” for the layer 1 and which correspond to the hash units “HU #0” and “HU #1”, respectively, of the clip #3 in the layer 1, and is recorded in the content certificate “Content001.cer” for the layer 1.
As described above, each of the content hash table digests recorded in the content certificates for the individual layers is generated from a corresponding one of the clips included in the corresponding layers. When a clip is recorded in a plurality of layers, content hash table digests generated from an identical clip are stored in corresponding content certificates provided for individual layers. The content hash table digests are unique values generated so as to correspond to the clips each of which is a unit of content reproduction.
Referring to
When obtaining the pieces of content information such as a music title and a work name from the content information provision server (BDDB) 310, the client apparatus (reproducing apparatus) 320 reads a content certificate (CC) 322 recorded in an information recording medium 321, obtains content hash table digests recorded in the content certificate (CC) 322, and generates a unique value (content ID) corresponding to the content from which the content hash table digests are generated in accordance with the obtained content hash table digests.
As described above, the content hash table digests are unique values generated so as to correspond to clips each of which is a unit of content reproduction. Accordingly, for example, a value generated by connecting one or more content hash table digests included in content is usable as a unique ID, that is, a content ID which is used to distinguish the content.
The client apparatus (reproducing apparatus) 320 generates a content ID on the basis of content hash table digests 323 obtained from the content certificate (CC) 322 and transmits the generated content ID to the content information provision server 310. For example, it is assumed that three content hash table digests, that is, a content hash table digest denoted by data “aaaa”, a content hash table digest #1 denoted by data “bbbb”, and a content hash table digest #2 denoted by data “cccc” are registered in the content certificate (CC) 322, the three content hash table digests are concatenated to generate a content ID “X=aaaabbbbcccc”. The content ID “X=aaaabbbbcccc” is transmitted to the content information provision server 310.
The content information provision server (BDDB) 310 includes a database 311 which stores pieces of content information therein. The database 311 includes various pieces of content information, such as a music title, a work title, and a CD jacket picture, which relate to the content and which are specified by a content ID. The pieces of content information are obtained from the database 311 on the basis of the content ID transmitted from the client apparatus 320. The obtained pieces of content information are transmitted to the client apparatus (reproducing apparatus) 320.
The client apparatus (reproducing apparatus) 320 receives pieces of content information 324 from the content information provision server (BDDB) 310, and displays the received pieces of content information 324, such as a director's name, an actors' name, a genre, a music title, a work title, and a CD jacket picture on a display unit of the client apparatus (reproducing apparatus) 320.
As described above, the content certificate (CC) corresponding to the content is recorded in the information recording medium 321. The content hash table digests included in the content certificate are unique identifiers used to specify the corresponding clips each of which is a unit of content reproduction. The client apparatus (reproducing apparatus) 320 generates the content ID on the basis of the content hash table digests and obtains the pieces of content information corresponding to the content on the basis of the content ID.
Note that, as shown in
Processing of generating a content ID by concatenating content hash table digests recorded in a plurality of content certificates in a scattered manner will be described with reference to
Note that the content hash table digest #0a is generated on the basis of a hash unit included in a clip #0, the content hash table digests #1a and #1b are generated on the basis of hash units included in a clip #1, the content hash table digests #2a and #2b are generated on the basis of hash units included in a clip #2, and the content hash table digest #3b is generated on the basis of a hash unit included in a clip #3.
The three content hash table digests #0a to #2a are thus recorded in the content certificate 401 for the layer 0, and the three content hash table digests #1b to #3b are recorded in the content certificate 402 for the layer 1. These content hash table digests are arranged in clip order and in layer order and are concatenated using the client apparatus. Specifically, when it is assumed that a “content hash table digest #n” is denoted by “CHTD #n”, the content hash table digests are arranged in the following order: “CHTD #0a”, “CHTD #1a”, “CHTD #1b”, “CHTD #2a”, “CHTD #2b”, “CHTD #3a”. The six content hash table digests are thus arranged in clip order and in layer order so that a content ID (hash ID) 403 is generated. The client apparatus transmits the generated single content ID (hash ID) 403 to the content information provision server (BDDB).
The content information provision server receives the content ID (hash ID) 403 generated by concatenating the content hash table digests corresponding to the clips, and performs matching processing on content IDs which correspond to pieces of content and which are stored in the content information provision server so that, among the content IDs stored in the content information provision server, a content ID (hash ID) 403 which matches the received content ID is obtained. The content information provision server transmits to the client apparatus pieces of content information such as a music title and a work title corresponding to content specified by the content ID (hash ID) 403 which matches one of the content IDs stored in the content information provision server.
Note that since the content ID (hash ID) 403 is generated by concatenating the content hash table digests corresponding to individual clips, the content information provision server performs the matching processing on the content hash table digests on a clip-by-clip basis.
In a configuration shown in
Referring to
In step S102, the reproducing apparatus as the client apparatus reads the content certificate, extracts content hash table digests recorded in the content certificate, and generates a content ID (hash ID) by concatenating the content hash table digests generated on a clip-by-clip basis. Note that in a case where the medium has a plurality of layers therein, and therefore, a plurality of content certificates for individual layers are recorded in the medium, concatenating processing is performed on the content hash table digests as described with reference to
In step S103, the client apparatus transmits the generated content ID (hash ID) to the server. As described above with reference to
In step S104, the server performs matching processing of retrieving one of the content IDs (hash IDs) (hereinafter referred to as a “first content ID”) registered in the database (DB) which matches the received content ID (hash ID) (hereinafter referred to as a “second content ID”). In step S105, the server transmits, among the pieces of content information (metadata) stored in the database, pieces of content information (metadata) corresponding to the first content ID (hash ID) to the client apparatus. In step S106, the client apparatus receives the pieces of content information (metadata) from the server and outputs or displays the pieces of content information (metadata) in a display apparatus, for example. Note that the pieces of content information (metadata) include a music title, a work title, a CD jacket picture, a performer, a director, a release year, a genre, and cover art.
Next, an example of processing of obtaining pieces of content information using a content ID including not only the content hash table digests recorded in the content certificate as described above but also other pieces of identification information recorded in the content certificate will be described.
A combination of the applicant ID 421 and the content sequence number 422 (that is, “Applicant ID (2B)”+“Content Sequence Number (4B)”) is referred to as a content certificate ID (CCID) (“Content Certificate ID (6B)”).
The content certificate ID (CCID) is a unique ID for the content certificate (CC). The content certificate corresponds to the content recorded in the information recording medium, and therefore, the specific content is selected from among pieces of content recorded in the information recording medium on the basis of the content certificate ID.
An embodiment in which the content certificate ID stored in the content certificate is included in configuration data of the content ID in addition to the content hash table digests described above will be described hereinafter as an example.
As shown in
Note that processing of generating the content ID 441 using the content certificate ID (CCID) 431 and the hash ID 432 is realized by processing of concatenating the pieces of data, for example. In addition, although the single content certificate is shown in
Referring to
In step S202, the reproducing apparatus, that is, the client apparatus reads the content certificate, obtains an applicant ID and a content sequence number recorded in the content certificate, and generates a content certificate ID (CCID). Furthermore, the reproducing apparatus generates a hash ID using content hash table digests and generates a content ID (CCID+hash ID) on the basis of the CCID and the hash ID. Note that, in a case where a medium having a plurality of layers are employed and therefore a plurality of content certificates for the layers are recorded in the medium, a content ID is generated using applicant IDs, content sequence numbers, and content hash table digests included in the plurality of content certificates.
In step S203, the client apparatus transmits the generated content ID (CCID+hash ID) to the server. The server includes a database having pieces of content information (metadata) corresponding to content IDs (CCID+hash ID).
In step S204, the server performs matching processing of retrieving one of the content IDs (CCID+hash ID) (hereinafter referred to as a “first content ID”) registered in the database (DB) which matches the received content ID (CCID+hash ID) (hereinafter referred to as a “second content ID”). In step S205, the server transmits, among the pieces of content information (metadata) stored in the database, pieces of content information (metadata) corresponding to the first content ID (CCID+hash ID) to the client apparatus. In step S206, the client apparatus receives the pieces of content information (metadata) from the server and outputs or displays the pieces of content information (metadata) in a display apparatus, for example.
Note that the pieces of content information (metadata) include a music title, a work title, a CD jacket picture, a performer, a director, a release year, a genre, and cover art.
In this processing example, the content ID is generated using not only the content hash table digests but also the content certificate ID (CCID) generated on the basis of the applicant ID and the content sequence number. Accordingly, the ID matching processing is performed comparatively strictly and matching accuracy is improved.
Note that the applicant ID included in the data constituting the content certificate ID (CCID) is an identifier used to specify a provider of the content recorded in the information recording medium or a disc manufacturer which is a manufacturer of the information recording medium. Accordingly, for example, different manufacturers may provide different applicant IDs to a single piece of content, and therefore, a plurality of content certificate IDs (CCIDa and CCIDb, for example) may be provided for the single piece of content.
Accordingly, when the content information provision server specifies content in accordance with a content ID including a CCID so as to transmit pieces of content information corresponding to the content, processing should be performed taking this condition, that is, the condition in which a plurality of content IDs are provided for a single piece of content, into consideration. An example of this processing will be described with reference to
In step S301 of
Furthermore, in step S303, the server compares the first content ID (CCIDa+hash ID) read from the disc A 501 with the second content ID (CCIDb+hash ID) read from the disc B 502. In this comparison processing, only data portions corresponding to the hash IDs of the disc A 501 and the disc B 502 are compared with each other so that it is determined whether the hash ID of the disc A 501 matches the hash ID of the disc B 502. Basically, when pieces of content included in discs are identical, the hash IDs for the pieces of content included in the discs are also identical even when stampers and disc manufacturers are different.
When the hash ID included in the first content ID (CCIDa+hash ID) read from the disc A 501 and the hash ID included in the second content ID (CCIDb+hash ID) read from the disc B 502 coincide with each other, it is determined that the CCIDa, the CCIDb, and the hash IDs which are pieces of data constituting the content IDs correspond to identical content. Then, in step S304, the relationship between the content IDs and pieces of content information is constructed as shown in step S304.
Specifically, it is determined that
(1) content ID (CCIDa),
(2) content ID (CCIDb),
(3) content ID (CCIDa+hash ID),
(4) content ID (CCIDb+hash ID), and
(5) content ID (hash ID)
correspond to identical content, and a database is configured such that pieces of content information corresponding to the content are extracted on the basis of any of the content IDs.
Since the database is thus constituted, when receiving any of the various content IDs (1) to (5) from the client apparatus, the server properly selects the pieces of content information corresponding to the content and provides the client apparatus with the pieces of content information.
An example of processing of selecting content in accordance with a user's preference and transmitting pieces of content information corresponding to the selected content to the client server from the content information provision server will now be described.
Referring to
In step S402, the reproducing apparatus, that is, the client apparatus, reads the content certificate and generates a content ID on the basis of pieces of data recorded in the content certificate. Note that, in this example, the content ID is selected from among the following three IDs:
(1) a hash ID generated using content hash table digests,
(2) a combination of a content certificate ID (CCID) including an applicant ID and a content sequence number and a hash ID, and
(3) a content certificate ID (CCID).
The client apparatus records the generated content ID in a local database included in the reproducing apparatus. The local database included in the reproducing apparatus is used to successively store therein content IDs corresponding to pieces of content which have been reproduced using the reproducing apparatus as pieces of history information corresponding to pieces of reproducing time and data.
In step S403, the client apparatus transmits content ID history information representing the content ID thus registered in the local database included in the reproducing apparatus to a server. The server includes a content information database used to store therein pieces of content information (metadata) corresponding to content IDs (CCID+hash ID) and further includes a usage history database used to store therein pieces of content ID history information transmitted from various client apparatuses. For example, as shown in
In step S404, the server selects one of the pieces of content ID history information which have been registered, the one having a high matching rate with respect to the content ID history information transmitted from the client apparatus, from the usage history database shown in
The collaborative filtering algorithm will be described with reference to
Referring back to
In step S405, the server obtains pieces of content information (metadata) corresponding to selected recommendation content from the content information database and transmits the pieces of content information (metadata) to the client apparatus. In step S406, the client apparatus outputs or displays the pieces of content information (metadata) transmitted from the server in the display apparatus, for example. Note that the pieces of content information (metadata) include a music title, a work title, a CD jacket picture, a performer, a director, a release year, a genre, and cover art.
In this processing example, since content which is estimated that a user desires to use is determined on the basis of pieces of history data corresponding to content IDs transmitted from a client apparatus and pieces of content information corresponding to the estimated content are transmitted to the client apparatus, a user's preference is properly determined and processing of providing the client apparatus with pieces of content information corresponding to proper content in accordance with the user's preference is realized.
Referring to
Referring to
The content ID generation unit 803 reads the content certificate 811 which corresponds to the content and which is recorded in the information recording medium 810 and generates a content ID by combining hash values which correspond to content and which are included in the content certificate. Specifically, the content ID generation unit 803 generates the content ID by obtaining content hash table digests and a content certificate ID (CCID). Specifically, as described above, the content ID generation unit 803 generates a content ID using any one of the following IDs:
(1) a hash ID generated using the content hash table digests
(2) a combination of the content certificate ID (CCID) including an applicant ID and a content sequence number and the hash ID, and
(3) the content certificate ID.
Note that, as described above, the content ID generation unit 803 checks a digital signature recorded in the content certificate 811. When it is determined that the content certificate 811 is not falsified, that is, the content certificate 811 a valid certificate, the content ID generation unit 803 obtains data stored in the content certificate 811 to generate the content ID.
The data transmitting/receiving unit 801 transmits the content ID generated using the content ID generation unit 803 to a content information provision server, and receives pieces of content information relating to content specified on the basis of the content ID from the content information provision server. The pieces of content information are transmitted through the data transmitting/receiving unit 801 to the data output unit 806. The data output unit 806 displays the pieces of content information in the display unit.
Specifically, the data transmitting/receiving unit 801 receives the pieces of content information such as a music title, a work title, and a CD jacket picture relating to the content stored in the information recording medium 810 from the content information provision server. The data output unit 806 displays these pieces of content information in the display unit.
Note that, as described above with reference to
Referring now to
As shown in
When the data transmitting/receiving unit 903 receives, from the client apparatus, a content ID generated using pieces of data included in the content certificate recorded in the information recording medium, for example, a content ID selected from the following IDs:
(1) a hash ID generated using content hash table digests
(2) a combination of a content certificate ID (CCID) including an applicant ID and a content sequence number and a hash ID, and
(3) the content certificate ID, the data retrieving unit 902 searches the content information database 911 for pieces of content information relating to content specified on the basis of the content certificate ID and obtains the pieces of content information from the content information database 911. Furthermore, the data transmitting/receiving unit 903 transmits the pieces of content information obtained using the data retrieving unit 902 to the user device.
The data retrieving unit 902 obtains, from the content information database 911, as the pieces of content information, pieces of data such as a music title, a work title, and a CD jacket picture, which relate to the content recorded in the information recording medium loaded in the user device. The data transmitting/receiving unit 903 transmits the pieces of content information to the user device.
When receiving content IDs from client apparatuses, the server records the content IDs on a user-by-user basis (on a client-by-client basis) in the usage history database 912. Furthermore, as described with reference to
The present invention is described with reference to the embodiment described above. However, it should be understood by those skilled in the art that various modifications, and substitutions may occur insofar as they are within the scope of the invention. That is, the embodiments are merely examples and the present invention is not limited to them. An outline of the present invention will be understood with reference to claims.
Note that the series of processes described herein may be executed using hardware, software, or a combination of hardware and software. In a case where the series of processes is executed using software, a program including a processing sequence is installed in a memory included in dedicated hardware of a computer to execute the series of processes, or the program is installed in a general computer capable of executing various processes to execute the series of processes. For example, the program may be recorded in a recording medium in advance. The program may be installed into the computer from the recording medium, and in addition, the program may be downloaded via a LAN (Local Area Network) or the Internet using a network to the computer. The computer receives the program thus transmitted and installs the program in a recording medium such as an incorporated hard disc.
The various processes described herein may be executed in a time-series manner in an order of the descriptions of the processes. Alternatively, the various processed may be executed in parallel or individually according to processing capability of an apparatus which executes the processes or as needed. The “system” described herein means a configuration in which a plurality of apparatuses are logical integrated, and is not limited to a configuration in which a plurality of apparatuses having own configurations are stored in one case.
Number | Date | Country | Kind |
---|---|---|---|
2007-097857 | Apr 2007 | JP | national |