1. Field of the Invention
The present invention is directed to searching for items in a database and, more particularly, to searching for information about a digital versatile disc based on the contents of the discs.
2. Description of the Related Art
One common task in data mining and pattern recognition is to extract specific records from a large database given a finite set of qualifiers. The technique used to accomplish this task are selected from among many available techniques based upon characteristics of the data being searched and the data that provides the search key(s). Some types of data have been searched for decades, e.g., census data, tax return data, data obtained from intelligence gathering, etc. However, as new sets of data are generated, the techniques used must be selected or modified for that particular set of data.
Digital video or versatile discs (DVDs) were first produced in late 1996 and by the end of 1997 there were fewer than 700 different DVDs available. By the end of 2000, there were over 10,000 different DVD available for Region 1 (U.S., Canada and U.S. Territories) and 15,000 in all regions. As of Dec. 4, 2001, there were over 15,000 in Region 1 alone. As a result of this recent, fast growth in records that could be stored in a DVD database, the unique characteristics of searching for DVD data are only now being identified. On the other hand there is a significant need for the information that could be stored in a DVD database, at least by owners of DVD changers, because the vast majority of existing DVDs do not store a title in text format.
Following is a list of some of the information which can be stored as text on a DVD, including the title of the DVD. The abbreviations for this information are used in the description of the invention.
DVD Video Specifications for Read-Only Disc Part 3, Version 1.12 July 2000
VMGI—Video Manager Information.
VMGI_MAT—Video Manager Information Management Table
TT_SRPT_SA—Start Address of Title Search Pointer Table
VTS_Ns—Number of Video Title Sets
TT_SRPT—Title Search Pointer Table
TT_SRPT_Ns—Number of Title Search Pointers
TT_SRP—Title Search Pointer
PTT_Ns—Part_of_Titles
VTSN—Video Title Set number
VTS_TTN—Video Title Set Title number
VTSI—Video Title Set Information
VTS_PTT_SRPT_SA—Start Address of Video Title Set Part_of_Titles Search Pointer
VTS_PGCIT_SA—Start Address of Program Chain Information Table
VTS_PTT_SRPT—Video Title Set Part_of_Titles Search Pointer
TTU_SA—Start Address of Title Unit
TTU_SRP—Title Unit Search Pointer
PTT_SRP—Part_of_Titles Search Pointer
PGCN—Program Chain Number
PGN—Program Number
VTS_PGCIT—Video Title Set Program Chain Information Table
VTS_PGCI_SRP—Video Title Set Program Chain Information Search Pointer
VTS_PGCI_SA—Start Address of Video Title Set Program Chain Information
VTS_PGCI—Video Title Set Program Chain Information
PGCI—Program Chain Information
PGCI_GI—Program Chain Information General Information
PGC_CNT—Program Chain Contents
C_PBIT_SA—Start Address of Cell Playback Information Table
PGC_PGMAP_SA—Start Address of PGC_PGMAP
C_PBIT—Cell Playback Information Table
C_PBI—Cell Playback Information
C_PBTM—Cell Playback Time
Now that DVD changers holding 100 discs or more are becoming available, the same problem experienced with CD changers holding hundreds of discs is being experienced. It is difficult for a user to identify a desired disc without supplemental information stored in a searchable database. A simple list of titles is a bare minimum and it is desirable to have additional information, including information that cannot be obtained from the discs themselves, such as a description, synopsis, rating, genre, performers, directors and other production staff, cover art, etc. Systems displaying such information stored in databases, such as TUNEBASE from Escient are known for CDs and can be adapted for DVDs. However, it is desirable to avoid manual operations required to select information in a database containing 10,000 to 15,000 or more records, particularly when there are often several similar records, such as when a DVD title is released several times in a special edition, directors cut, etc.
It is an aspect of the present invention to provide a method and system for automatically identifying DVDs using a database of available DVDs.
Another aspect of the present invention is to provide a method of locating information in a database using an iterative process starting with a unique identifier and using increasingly less specific search keys, until a predefined least specific information is used.
A further aspect of the present invention is to use hash coding of data on which such searches are based.
Yet another aspect of the present invention is to provide a method for extracting the unique data from the DVD consisting of the number of titles, chapters per title and frames per chapter.
The above aspects can be attained by a method of finding at least one record in a database corresponding to a digital versatile disc, including receiving unique information about an unidentified digital versatile disc, including at least one of a title of the unidentified digital versatile disc, a volume name of the unidentified digital versatile disc, time stamp information for creation of a master of the unidentified digital versatile disc, a number of titles on the unidentified digital versatile disc, a number of chapters per title on the unidentified digital versatile disc, and a number of frames per chapter on the unidentified digital versatile disc; and identifying possibly matching records in a database of information about digital versatile discs using the unique information from the unidentified digital versatile disc.
The above aspects can also be attained by a method of searching for a match in a database, including obtaining a unique search key based on hash coding of uniquely identifying information from data to be matched with a record in the database; using the unique search key to search for a matching record in the database; obtaining a non-unique search key based on hash coding of non-uniquely identifying information from the data to be matched, if no match is found using the unique search key; using the non-unique search key to search for at least one possibly matching record in the database; and repeating the obtaining and using of non-unique search keys based on hash coding of progressively less specific information from the data to be matched, each time no possibly matching records are found, until predefined least specific information is used.
These together with other aspects and advantages which will be subsequently apparent, reside in the details of construction and operation as more fully hereinafter described and claimed, reference being had to the accompanying drawings forming a part hereof, wherein like numerals refer to like parts throughout.
The present invention may be implemented in many different ways depending on the location of the database(s) to be searched relative to the source of the search key(s) used to locate information in the database. In the embodiment described below, the search keys are obtained from a DVD containing at least one video and the information defined by the DVD Specifications for Read-Only Disc: Part 3 Video Specifications Version 1.12 which are listed above. Both a local database stored in a device in close proximity to the disc and a remote database accessed via a communication network may be searched. However, aspects of the invention may be useful in many other situations, including a database that is stored only locally or remotely, or distributed over a network. Furthermore, the source of the search keys is not limited to DVDs with video content, but other sources of search keys, even manual input, could be used.
A block diagram of an exemplary system to which the present invention can be applied is illustrated in
Nonvolatile memory 20 may be used to store only discs that have been identified or may also store a database of popular discs. However, even if the entire database for a region were stored in nonvolatile memory 20 which might require so much memory that it would be unlikely, some way of updating the database would be required as new discs are released. Although a data DVD could be used to distribute updates, in the preferred embodiment, local device 10 includes communication device 32 to access remote database 34 via network 36 to automatically obtain the most recent updated information without shipping costs or requiring manual operations by users. As a result, nonvolatile memory 20 is only required to be large enough to store a single user's collection of DVDs which is likely to be at most in the hundreds, rather than tens of thousands.
Regardless of whether the database being searched is stored locally or remotely, the method illustrated in
After the above information is obtained, for each title search pointer (TT_SRP) CPU 16 finds 50 the Part_of_Titles (PTT_Ns), video title set number (VTSN) and video title set title number (VTS_TTN). The VTSN is used to open 52 corresponding video title set information (VTSI) which contains a video title set information management table (VTSI_MAT). Using the VTSI_MAT, CPU 16 finds 54 the video title set Part_of_Titles search pointer (VTS_PTT_SRPT). Next, the VTS_TTN is used 56 to find the corresponding title unit search pointer (TTU_SRP) in the VTS_PTT_SRPT. The TTU_SRP includes a start address of title unit (TTU_SA) that is used 58 to find the Part_of_Titles search pointer (PTT_SRP).
With this information, the PTT_SRP is used to find 60 a program chain number (PGCN) and a program number (PGN). Next, the video title set program chain information table (VTS_PGCIT) is obtained 62 from the VTSI_MAT. The PGN obtained using the PTT_SRP is used 64 to find the video title set program chain information search pointer (VTS_PGCI_SRP). The VTS_PGCI_SRP is used to find 66 the start address of video title set program chain information (VTS_PGCI_SA) for video title set program chain information (VTS_PGCI). From the VTS_PGCI program chain information general information (PGCI_GI) is obtained from which the program chain program map start address (PGC_PGMAP_SA) can be found 68 for the program chain program map (PGC_PGMAP). The PGN is used 70 to find the entry cell number (EN_CN) in the PGC_PGMAP. Next, the start address of cell playback information table (C_PBIT_SA) is found 72 in the PGC_GI from the VTS_PGCI. In the first entry of the C_PBIT, cell playback information (C_PBI) is found 74. The cell playback time (C_PBTM) is obtained 76 from the (C_PBI). This is used to initialize a cumulative number to which is added 78 the C_PBTM in each cell C_PBI from one to the EN_CN to get the cell start playback time in frames for the EN_CN.
The next PTT_SRP is found 80 and used to obtain the corresponding PGCN and PGN. If it is determined 82 that the PGCN in the next PTT_SRP is the same as the previous PTT_SRP, the following steps are performed. Otherwise, the total cell playback time is obtained as described in the next paragraph. First, the cell start playback time in frames is obtained 84 for the PGN. If it is determined 86 that the next PTT_SRP is a new PGCN or if this is the last PTT_SRP in this title unit (TTU), the number of cells is found 88 from the program chain contents (PGC_CNT) from the PGC_GI in the VTS_PGCI.
The total cell playback time in frames is obtained 90 for all the cells in this PGC by adding all the C_PBTMs for each cell. The total cell playback time is added 92 to the total cell playback time in frames minus the cell start playback time for the last cell in this VTS_PGCI to calculate the frame offset for this PTT_SRP. If it is determined 94 that all Part_of_Titles frame offsets have not been calculated, processing returns to step 60. If they have all been calculated, processing returns 96 to step 50 for the next TT_SRP.
With the information obtained using the procedure in
In the preferred embodiment an iterative process is used to find a matching database in the record as quickly and accurately as possible using the method illustrated in
If it is determined 108 that there is at least one possible match, the procedure illustrated in
If it is determined 108 that no match is found, the search is repeated with progressively less specific information. Prior to the second search, it will be determined 118 that the least specific information has not been used. Therefore, a second (non-unique) search key is generated 120 based on non-uniquely identifying information to search 122 the database for at least one possibly matching record. In the preferred embodiment, the second search key is generated by concatenating a predetermined number of characters of the volume name and hash coded time stamp information that may be generated using the MD5 algorithm. Corresponding second identifying keys stored in the database records are compared 122 to identify possibly matching records. If at least one possible match is found 124, the procedure illustrated in
If no match is found using the second search key, a third search key is generated 120 using from the number of chapters and frames per chapter of the first title with the largest number of chapters on the unidentified DVD. Preferably, the hash code for the third search key is generated using the MD5 algorithm. Corresponding third identifying keys stored in the database records are compared 122 to identify possibly matching records. If at least one possibly matching record is found, the best matching record is selected and it is determined whether the best matching record corresponds to the unidentified DVD. If a match is found, the local and remote databases are updated as described above.
If no match is found using the third search key, a fourth search key is generated 120 using a hash code that is less unique than the hash code used in the third search key, but also uses the number of chapters and frames per chapter of the first title with the largest number of chapters on the unidentified DVD. Preferably, the hash code used in the fourth search key will permit the number of frames per chapter to vary by as many as 100 frames. Any known technique for generating fuzzy search keys may be used. Corresponding fourth identifying keys stored in the database records are compared 122 to identify possibly matching records. If at least one possibly matching record is found, the best matching record is selected and it is determined whether the best matching record corresponds to the unidentified DVD. If a match is found, the local and remote databases are updated as described above.
If the fourth search key does not produce a match, a fifth search key is generated 120 based on the title of the unidentified DVD stored in the VTSI for comparison 122 with the titles stored in the database. Fuzzy matching techniques may be used to match the titles. If at least one possibly matching record is found 124, the best matching record is determined using the procedure illustrated in
The many features and advantages of the invention are apparent from the detailed specification and, thus, it is intended by the appended claims to cover all such features and advantages of the invention that fall within the true spirit and scope of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation illustrated and described, and accordingly all suitable modifications and equivalents may be resorted to, falling within the scope of the invention.
This is a continuation application of U.S. patent application Ser. No. 10/002,627, filed on Dec. 5, 2001 now U.S. Pat. No. 6,983,289. U.S. patent application Ser. No. 10/002,627 is herein incorporated by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
4870568 | Kahle et al. | Sep 1989 | A |
5019899 | Boles et al. | May 1991 | A |
5132949 | Choi | Jul 1992 | A |
5206949 | Cochran et al. | Apr 1993 | A |
5337347 | Halstead-Nussloch et al. | Aug 1994 | A |
5388259 | Fleischman et al. | Feb 1995 | A |
5446891 | Kaplan et al. | Aug 1995 | A |
5475835 | Hickey | Dec 1995 | A |
5483598 | Kaufman et al. | Jan 1996 | A |
5488725 | Turtle et al. | Jan 1996 | A |
5616876 | Cluts | Apr 1997 | A |
5642337 | Oskay et al. | Jun 1997 | A |
5659732 | Kirsch | Aug 1997 | A |
5679911 | Moriyama et al. | Oct 1997 | A |
5689484 | Hirasawa | Nov 1997 | A |
5721827 | Logan et al. | Feb 1998 | A |
5727129 | Barrett et al. | Mar 1998 | A |
5740549 | Reilly et al. | Apr 1998 | A |
5751672 | Yankowski | May 1998 | A |
5781897 | Chen et al. | Jul 1998 | A |
5862223 | Walker et al. | Jan 1999 | A |
5884298 | Smith, II et al. | Mar 1999 | A |
5903816 | Broadwin et al. | May 1999 | A |
5918223 | Blum et al. | Jun 1999 | A |
5929857 | Dinallo et al. | Jul 1999 | A |
5959945 | Kleiman | Sep 1999 | A |
5987454 | Hobbs | Nov 1999 | A |
6005565 | Legall et al. | Dec 1999 | A |
6012112 | Brase et al. | Jan 2000 | A |
6031795 | Wehmeyer | Feb 2000 | A |
6034925 | Wehmeyer | Mar 2000 | A |
6035329 | Mages et al. | Mar 2000 | A |
6061306 | Buchheim | May 2000 | A |
6104334 | Allport | Aug 2000 | A |
6112240 | Pogue et al. | Aug 2000 | A |
6128255 | Yankowski | Oct 2000 | A |
6131129 | Ludtke et al. | Oct 2000 | A |
6131130 | Van Ryzin | Oct 2000 | A |
6138175 | deCarmo | Oct 2000 | A |
6154773 | Roberts et al. | Nov 2000 | A |
6161132 | Roberts et al. | Dec 2000 | A |
6201176 | Yourlo | Mar 2001 | B1 |
6230192 | Roberts et al. | May 2001 | B1 |
6247022 | Yankowski | Jun 2001 | B1 |
6260059 | Ueno et al. | Jul 2001 | B1 |
6272078 | Yankowski | Aug 2001 | B2 |
6304523 | Jones et al. | Oct 2001 | B1 |
6356914 | deCarmo et al. | Mar 2002 | B1 |
6377518 | Auwens et al. | Apr 2002 | B1 |
6388957 | Yankowski | May 2002 | B2 |
6388958 | Yankowski | May 2002 | B1 |
6434597 | Hachiya et al. | Aug 2002 | B1 |
6505160 | Levy et al. | Jan 2003 | B1 |
6535869 | Housel, III | Mar 2003 | B1 |
6654735 | Eichstaedt et al. | Nov 2003 | B1 |
6829368 | Meyer et al. | Dec 2004 | B2 |
6941275 | Swierczek | Sep 2005 | B1 |
6941325 | Benitez et al. | Sep 2005 | B1 |
6983289 | Commons et al. | Jan 2006 | B2 |
7302574 | Conwell et al. | Nov 2007 | B2 |
7349552 | Levy et al. | Mar 2008 | B2 |
7415129 | Rhoads | Aug 2008 | B2 |
7461136 | Rhoads | Dec 2008 | B2 |
7587602 | Rhoads | Sep 2009 | B2 |
7590259 | Levy et al. | Sep 2009 | B2 |
20010052028 | Roberts et al. | Dec 2001 | A1 |
20020033844 | Levy et al. | Mar 2002 | A1 |
20020164004 | Tamura et al. | Nov 2002 | A1 |
20020178410 | Haitsma et al. | Nov 2002 | A1 |
20030023852 | Wold | Jan 2003 | A1 |
20030031260 | Tabatabai et al. | Feb 2003 | A1 |
20030033321 | Schrempp et al. | Feb 2003 | A1 |
20030037010 | Schmelzer | Feb 2003 | A1 |
20030046283 | Roberts | Mar 2003 | A1 |
20030086341 | Wells et al. | May 2003 | A1 |
20030135488 | Amir et al. | Jul 2003 | A1 |
20030195863 | Marsh | Oct 2003 | A1 |
20040034441 | Eaton et al. | Feb 2004 | A1 |
20060026162 | Salmonsen et al. | Feb 2006 | A1 |
20060167903 | Smith et al. | Jul 2006 | A1 |
20070106405 | Cook et al. | May 2007 | A1 |
20100005104 | DiMaria et al. | Jan 2010 | A1 |
Number | Date | Country |
---|---|---|
0367585 | May 1990 | EP |
0936531 | Aug 1999 | EP |
1197020 | Nov 2007 | EP |
WO-9120082 | Dec 1991 | WO |
WO-9705616 | Feb 1997 | WO |
WO-9721291 | Jun 1997 | WO |
WO-9802820 | Jan 1998 | WO |
WO-0120609 | Mar 2001 | WO |
WO-0211123 | Feb 2002 | WO |
WO-0246968 | Jun 2002 | WO |
WO-03012695 | Feb 2003 | WO |
WO-2007103583 | Sep 2007 | WO |
WO-2007103583 | Sep 2007 | WO |
Number | Date | Country | |
---|---|---|---|
20050019008 A1 | Jan 2005 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10002627 | Dec 2001 | US |
Child | 10917686 | US |