Home
Patent Search
IMT Blog
REGISTER
|
SIGN IN
United States Patent Application
20020107973
Kind Code
A1
Lennon, Alison Joan ; et al.
August 8, 2002
Metadata processes for multimedia database access
Abstract
A system is described in which a media browser (101), operating as a software application on a user terminal or preferably a server for a number of users, provides a user with a single user interface that facilitates browsing and searching different metadata collections over the Internet (102). A metadata server (212) is associated with each of the metadata collections. When the metadata server (212) receives a request from the media browser (101), the metadata server (212) interprets the request and replies with a description that satisfies the request and according to a predetermined scheme. The description contains at least one link which represents a return link which represents a return request to the metadata server (212). Specifically disclosed are methods of forming a table of contents for a particular user preferably based upon media reproduction attributes, methods of right to use and quality of service control, graphical user interfaces for facilitating the browsing process, methods of interpreting metadata, methods of communicating metadata between users, and method for transferring media sessions between users.
Inventors:
Lennon; Alison Joan
(New South Wales, AU)
, Anderson; Michael Peter
(New South Wales, AU
)
, Wan; Ernest Yiu Cheong
(New South Wales, AU
)
, Yap; Sue-Ken
(New South Wales, AU
)
Correspondence Name and Address:
30 ROCKEFELLER PLAZA
FITZPATRICK CELLA HARPER & SCINTO
NEW YORK
NY
10112
US
Series Code:
986809
Filed:
November 13, 2001
U.S. Current Class:
709/231;
725/105
U.S. Class at Publication:
709/231;
725/105
Intern'l Class:
G06F 015/16
Claims
The claims defining the invention are as follows:
1. A method of interpreting metadata in a media browsing system, said method comprising the steps of: receiving a description of an item of multimedia content; reviewing the description to identify metadata associated therewith; examining said metadata to determine those (first) metadata items that conform to one of a predetermined number of known metadata standards and converting each said first metadata item to an interpretable form used in said system; examining said metadata to determine those remaining metadata items that do not conform to any of said known metadata standards, and for each said remaining metadata items: (i) assessing a syntax of said item to classify said item to one of a set of types known to said system; and (ii) converting said item according to said one type to said interpretable form.
2. A method according to claim 1 wherein for steps (i) and (ii) said types include a type that classifies said item as being a table of contents item
3. A method according to claim 1 wherein for steps (i) and (ii) said type classifies the item as an index item.
4. A method according to claim 1 wherein said interpretable form comprises attributes used by said multimedia browsing system for visual representation of said description.
5. A method according to claim 4 wherein said description is expressed in XML.
6. A method according to claim 5 wherein said receiving comprises parsing said description.
7. A method according to claim 5 wherein, for steps (i) and (ii), an href attribute is construed to be a link and represented as an xlink:href attribute and wherein if a target value of said link is a URI with one of an extension of XML or no extension, then said link is interpreted to be a link to another description, otherwise said link is interpreted to be a link to the content corresponding to said description.
8. A method according to claim 5 wherein, for steps (i) and (ii), an element is classified as a table of contents item if at least one of the element and any corresponding children thereof contains a link.
9. A method according to claim 8 wherein said link is represented using an element with the said element content containing the link target.
10. A method according to claim 8 wherein said link is represented using an attribute wherein the value of the attribute contains the link target.
11. A method according to claim 8 wherein an element not classified as a table of contents item is interpreted to be an index item.
12. A method according to claim 5 wherein: (a) if a item does not have either a visual identifier or a text identifier; and (b) if a name attribute exists; then a text identifier is created from the name attribute of said item.
13. A method according to claim 5 wherein: (a) if a item does not have either a visual identifier or a text identifier; and (b) if a name attribute does not exist; then a text identifier is created from the element name.
14. A method according to claim 5 wherein: (a) if a item does not have either a visual identifier or a text identifier; (b) if a name attribute exists; and (c) if said name attribute is one of a class of attributes that can acct as a visual identifier; then a visual identifier is created from the element name.
15. A method according to claim 14 wherein said visual identifier is formed by checking said name attribute against a list of possible visual identifier names.
16. A method according to claim 14 wherein said name attributes relates to at least one of a key frame, a thumbnail and a movie preview.
17. A method according to claim 5 wherein said converting is performed using an XSLT stylesheet.
18. A computer readable medium, having a program recorded thereon, where the program is configured to make a computer execute a procedure to interpret metadata in a media browsing system, said program comprising: code for receiving a description of an item of multimedia content; code for reviewing the description to identify metadata associated therewith; code for examining said metadata to determine those (first) metadata items that conform to one of a predetermined number of known metadata standards and converting each said first metadata item to an interpretable form used in said system; code for examining said metadata to determine those remaining metadata items that do not conform to any of said known metadata standards, and for each said remaining metadata items: (i) assessing a syntax of said item to classify said item to one of a set of types known to said system; and (ii) converting said item according to said one type to said interpretable form.
19. A computer readable medium according to claim 18 wherein for steps (i) and (ii) said types include a type that classifies said item as being a table of contents item
20. A computer readable medium according to claim 18 wherein for steps (i) and (ii) said type classifies the item as an index item.
21. A computer readable medium according to claim 18 wherein said interpretable form comprises attributes used by said multimedia browsing system for visual representation of said description.
22. A computer readable medium according to claim 25 wherein said description is expressed in XML.
23. A computer readable medium according to claim 22 wherein said code for receiving comprises code for parsing said description.
24. A computer readable medium according to claim 22 wherein said code for examining for steps (i) and (ii), is operable to construe an href attribute to be a link and represent the same as an xlink:href attribute and wherein if a target value of said link is a URI with one of an extension of XML or no extension, then said link is interpreted to be a link to another description, otherwise said link is interpreted to be a link to the content corresponding to said description.
25. A computer readable medium according to claim 22 wherein said code for examining, for steps (i) and (ii), is operable to classify an element is as a table of contents item if at least one of the element and any corresponding children thereof contains a link.
26. A computer readable medium according to claim 25 wherein said link is represented using an element with the said element content containing the link target.
27. A computer readable medium according to claim 25 wherein said link is represented using an attribute wherein the value of the attribute contains the link target.
28. A computer readable medium according to claim 25 wherein an element not classified as a table of contents item is interpreted to be an index item.
29. A computer readable medium according to claim 22 wherein said code for examining for steps (i) and (ii) is operable such that: (a) if a item does not have either a visual identifier or a text identifier; and (b) if a name attribute exists; then a text identifier is created from the name attribute of said item.
30. A computer readable medium according to claim 22 wherein said code for examining for steps (i) and (ii) is operable such that: (a) if a item does not have either a visual identifier or a text identifier; and (b) if a name attribute does not exist; then a text identifier is created from the element name.
31. A computer readable medium according to claim 22 wherein said code for examining for steps (i) and (ii) is operable such that: (a) if a item does not have either a visual identifier or a text identifier; (b) if a name attribute exists; and (c) if said name attribute is one of a class of attributes that can acct as a visual identifier; then a visual identifier is created from the element name.
32. A computer readable medium according to claim 31 wherein said visual identifier is formed by checking said name attribute against a list of possible visual identifier names.
33. A computer readable medium according to claim 31 wherein said name attributes relates to at least one of a key frame, a thumbnail and a movie preview.
34. A computer readable medium according to claim 22 wherein said code for converting is operable using an XSLT stylesheet.
35. Computer apparatus for interpreting metadata in a media browsing system, said program comprising: means for receiving a description of an item of multimedia content; means for reviewing the description to identify metadata associated therewith; first means for examining said metadata to determine those (first) metadata items that conform to one of a predetermined number of known metadata standards and converting each said first metadata item to an interpretable form used in said system; second means for examining said metadata to determine those remaining metadata items that do not conform to any of said known metadata standards, and for each said remaining metadata items: (i) assessing a syntax of said item to classify said item to one of a set of types known to said system; and (ii) converting said item according to said one type to said interpretable form.
36. Computer apparatus according to claim 35 wherein said types include a type that classifies said item as being a table of contents item
37. Computer apparatus according to claim 35 wherein said type classifies the item as an index item.
38. Computer apparatus according to claim 35 wherein said interpretable form comprises attributes used by said multimedia browsing system for visual representation of said description.
39. Computer apparatus according to claim 38 wherein said description is expressed in XML.
40. Computer apparatus according to claim 22 wherein said means for receiving comprises means for parsing said description.
41. Computer apparatus according to claim 39 wherein said means for second examining is operable to construe an href attribute to be a link and represent the same as an xlink:href attribute and wherein if a target value of said link is a URI with one of an extension of XML or no extension, then said link is interpreted to be a link to another description, otherwise said link is interpreted to be a link to the content corresponding to said description.
42. Computer apparatus according to claim 38 wherein said means for second examining is operable to classify an element is as a table of contents item if at least one of the element and any corresponding children thereof contains a link.
43. Computer apparatus according to claim 42 wherein said link is represented using an element with the said element content containing the link target.
44. Computer apparatus according to claim 42 wherein said link is represented using an attribute wherein the value of the attribute contains the link target.
45. Computer apparatus according to claim 42 wherein an element not classified as a table of contents item is interpreted to be an index item.
46. Computer apparatus according to claim 42 wherein said means for second examining is operable such that: (a) if a item does not have either a visual identifier or a text identifier; and (b) if a name attribute exists; then a text identifier is created from the name attribute of said item.
47. Computer apparatus according to claim 42 wherein said means for second examining is operable such that: (a) if a item does not have either a visual identifier or a text identifier; and (b) if a name attribute does not exist; then a text identifier is created from the element name.
48. Computer apparatus according to claim 42 wherein said means for examining is operable such that: (a) if a item does not have either a visual identifier or a text identifier; (b) if a name attribute exists; and (c) if said name attribute is one of a class of attributes that can acct as a visual identifier; then a visual identifier is created from the element name.
49. Computer apparatus according to claim 48 wherein said visual identifier is formed by checking said name attribute against a list of possible visual identifier names.
50. Computer apparatus according to claim 48 wherein said name attributes relates to at least one of a key frame, a thumbnail and a movie preview.
51. Computer apparatus according to claim 39 wherein said code for converting is operable using an XSLT stylesheet.
52. Computer apparatus according to claim 35 wherein said multimedia browsing system is implemented at least in part by said computer apparatus.
53. Computer apparatus according to claim 52 wherein said computer apparatus is formed by a server to which individual users of said multimedia browsing system connect.
54. A method of maintaining a personal information landscape for a World Wide Web user, where said personal information landscape comprises a set of at least one link to a corresponding metadata entity, said metadata entities each having at least one link to at least one of a further metadata entity and a content entity, said method comprising the steps of: (i) representing and storing each entity target of said links as an universal resource identifier (URI); (ii) representing said links in an interface from which a user can navigate through said personal information landscape using said links to metadata entities and select to reproduce the content using said links to said content entities; and (iii) enabling the user to modify said personal information landscape by adding new links to metadata entities and one of deleting or modifying existing links to metadata entities, in which modifications are stored with the said users personal information landscape.
55. A method according to claim 54 wherein said reproduction comprises at least one of playing and viewing the content.
56. A method according to claim 54 wherein step (i) further comprises representing and storing said entity target with a component identifier, where said component identifier identifying a component of the entity addressed by the URI.
57. A method according to claim 54 wherein said content entity comprises an item of digital signal content.
58. A method according to claim 57, wherein said item of digital content comprises a digital image item.
59. A method according to claim 57, wherein said item of digital content comprises a digital video item.
60. A method according to claim 57, wherein said item of digital content comprises a digital audio item.
61. A method according to claim 57, wherein said content entity comprises an item of electronic text.
62. A method according to claim 57, wherein said content entity comprises an item of electronic hypertext.
63. A method according to claim 57, wherein said content entity comprises an item of non-electronically accessible content, in which case the item of content cannot be viewed or played.
64. A method according to claim 54, wherein said metadata entities comprise XML documents.
65. A method according to claim 56, wherein said component identifier identifies a node of an XML element tree.
66. A method according to claim 56, wherein said component identifier comprises an XPointer.
67. A method according to claim 54, wherein said interface is implemented using an web browsing application.
68. A method according to claim 67, wherein functionality used to play or view said content is provided by plug-ins for said web browsing application.
69. A method according to claim 67 wherein said web browsing application comprises a generic application
70. A method according to claim 54, wherein functionality used to play or view content is provided by a plug-in specifically designed for the said interface.
71. A method of maintaining a personal information landscape for a World Wide Web user, where said personal information landscape comprises a set of at least one link to a corresponding metadata entity, wherein each said metadata entity comprises at least one link to one of a further metadata entity or to a content entity, said method comprising the steps of: (i) representing and storing each entity target of said links as an universal resource identifier (URI); (ii) representing said links in an interface from which the user can navigate through said personal information landscape using said links to metadata entities and select to play or view the content using said links to said content entities; (iii) enabling said user to search for particular entities using said metadata entities by specifying desired properties for the said entities and then performing a matching operation on said desirable properties with properties of said entities contained in the said metadata entities; (iv) enabling said user to modify said personal information landscape by at least one of adding new links to metadata entities, deleting existing links and modifying existing links metadata entities, wherein said new links and said modifications are stored with said personal information landscape.
72. A method according to claim 71 wherein step (i) further comprises representing and storing said entity target with a component identifier, where said component identifier identifies an identifiable component of the entity identified by the URI.
73. A method according to claim 71, wherein said entities being searched for comprise content entities.
74. Computer apparatus for maintaining a personal information landscape for a World Wide Web user, where said personal information landscape comprises a set of one or more links to metadata entities, said metadata entities each having at least one link to at least one of a further metadata entity and a content entity, said apparatus comprising: first means for representing and storing each entity target of said links as an universal resource identifier (URI); second means for representing said links in an interface from which the user can navigate through said personal information landscape using said links to metadata entities and select to play or view the content using said links to said content entities; third means for modifying said personal information landscape by adding new links to metadata entities and deleting or modifying existing links to metadata entities, said modifications being stored with the said users personal information landscape.
75. Computer apparatus for maintaining a personal information landscape for a World Wide Web user, where said personal information landscape comprises a set of one or more links to metadata entities, wherein each said metadata entity comprises one or more links to either a further metadata entity or to a content entity, said apparatus comprising: first means for representing and storing each entity target of said links as an universal resource identifier (URI); second means for representing said links in an interface from which the user can navigate through said personal information landscape using said links to metadata entities and select to play or view the content using said links to said content entities; third means for enabling said user to search for particular entities using said metadata entities by specifying desirable properties for the said entities and then attempting to match said desirable properties with properties of said entities contained in the said metadata entities; fourth means for modifying said personal information landscape by adding new links to metadata entities and deleting or modifying existing links metadata entities, said modifications being stored with said personal information landscape.
76. Computer apparatus according to claim 74 wherein said apparatus comprises a server to which said user operatively connects
77. A computer readable medium, having a program recorded thereon, where the program is configured to make a computer execute a procedure to maintain a personal information landscape for a World Wide Web user, where said personal information landscape comprises a set of at least one link to a corresponding metadata entity, said metadata entities each having at least one link to at least one of a further metadata entity and a content entity, said program comprising: first code for representing and storing each entity target of said links as an universal resource identifier (URI); second code for representing said links in an interface from which a user can navigate through said personal information landscape using said links to metadata entities and select to reproduce the content using said links to said content entities; and third code for enabling the user to modify said personal information landscape by adding new links to metadata entities and one of deleting or modifying existing links to metadata entities, in which modifications are stored with the said users personal information landscape.
78. A computer readable medium according to claim 77 wherein said reproduction comprises at least one of playing and viewing the content.
79. A computer readable medium according to claim 77 wherein said first code further comprises code for representing and storing said entity target with a component identifier, where said component identifier identifying a component of the entity addressed by the URI.
80. A computer readable medium according to claim 77, wherein said content entity comprises an item of digital signal content and said item of digital content comprises at least one of a digital image item, a digital video item, a digital audio item, an item of electronic text, and an item of electronic hypertext.
81. A computer readable medium according to claim 77, wherein said content entity comprises an item of non-electronically accessible content, in which case the item of content cannot be viewed or played.
82. A computer readable medium according to claim 77, wherein said metadata entities comprise XML documents.
83. A computer readable medium according to claim 79, wherein said component identifier identifies a node of an XML element tree.
84. A computer readable medium according to claim 79, wherein said component identifier comprises an XPointer.
85. A computer readable medium according to claim 77, wherein said interface is implemented using an web browsing application.
86. A computer readable medium according to claim 85, wherein functionality used to play or view said content is provided by plug-ins for said web browsing application.
87. A computer readable medium according to claim 85 wherein said web browsing application comprises a generic application
88. A computer readable medium according to claim 77, wherein functionality used to play or view content is provided by a plug-in specifically designed for the said interface.
89. A computer readable medium, having a program recorded thereon, where the program is configured to make a computer execute a procedure to maintain a personal information landscape for a World Wide Web user, where said personal information landscape comprises a set of at least one link to a corresponding metadata entity, wherein each said metadata entity comprises at least one link to one of a further metadata entity or to a content entity, said program comprising: first code for representing and storing each entity target of said links as an universal resource identifier (URI); second code for representing said links in an interface from which the user can navigate through said personal information landscape using said links to metadata entities and select to play or view the content using said links to said content entities; third code for enabling said user to search for particular entities using said metadata entities by specifying desired properties for the said entities and then performing a matching operation on said desirable properties with properties of said entities contained in the said metadata entities; fourth code for enabling said user to modify said personal information landscape by at least one of adding new links to metadata entities, deleting existing links and modifying existing links metadata entities, wherein said new links and said modifications are stored with said personal information landscape.
90. A computer readable medium according to claim 89 wherein said first code further comprises representing and storing said entity target with a component identifier, where said component identifier identifies an identifiable component of the entity identified by the URI.
91. A computer readable medium according to claim 89, wherein said entities being searched for comprise content entities.
92. A method of communicating metadata between users of a multimedia browsing service, said service including storage of a table-of-contents of metadata for items able to be browsed and selected by a corresponding user of said service, said method comprising the steps of: (a) extracting, at a first device having a corresponding first user, metadata relating to a selected media item from table-of-contents of a first user; (b) transferring said metadata for said selected item from said first device to a second device having a corresponding second user; and (c) said second device receiving said metadata and informing said media browsing service to update a table-of-contents of said second user in said storage with said metadata for said selected media item.
93. A method of communicating links to metadata between users of a media browsing service, said service including storage of a browsable table-of-contents of links to metadata for selectable items for each user of said service, said method comprising the steps of: (a) extracting, at a first device having a corresponding first user, a link to metadata relating to a selected item from a table-of-contents of said first user; (b) transferring said link to metadata for said selected item to a second user from said first device to a second device having a corresponding second user; and (c) said second device receiving said link to metadata and informing said media browsing service to update a table-of-contents of said second user in said storage with said link to metadata for said selected item.
94. A method according to claim 92 wherein said transferring comprises at least partial wireless communication between said first device and said second device.
95. A method according to claim 92 wherein said selected item is an item of digital audiovisual content.
96. A method of communicating metadata between a user device of a media browsing system and a further device not being part of said system, said method comprising the steps of: (a) extracting said metadata from a table of contents associated with said user device and reposited with said media browsing system; (b) associating said extracted metadata with an address of said media browsing system and a logon to said system and enveloping the associated components in a voucher; and (c) communicating said voucher from said user device to said further device thereby enabling a user of said further device access to said media browsing system using said logon and to thereby access from said media browsing system to media content referenced by said metadata.
97. A method according to claim 96 wherein said media browsing system comprises a computer server apparatus to which said user device and said further device are each operatively connectable.
98. A method according to claim 96, wherein said voucher substantiates a right-to-use said media content for said farther device.
99. A method according to claim 95, wherein said voucher is temporal and expires after a predetermined time period established and commenced upon formation of said voucher.
100. A method according to claim 96, wherein a right-to-use said media content of said user device is transferred to said further device.
101. A method according to claim 96, wherein a right-to-use said media content of said further device defaults to a single use.
102. A method according to claim 96, wherein a right-to-use said media content of said further device is determined using said metadata.
103. A method according to claim 102, wherein said determination is performed by said media browsing server using said metadata.
104. A method according to claim 102, wherein said determination is performed by a media browsing server associated with said media content.
105. A multimedia device comprising: means for operatively connecting said device to a multimedia browsing service, said service including storage of a table-of-contents including at least one of metadata and links to metadata for items able to be browsed and selected by a user of said device and said service; means for extracting one of metadata or a link to metadata relating to a selected media item from said table-of-contents of a user; and means for transferring said extracted metadata or link to metadata for said selected item from said device to a further device having a corresponding further user.
106. A device according to claim 105 wherein said means for transferring comprises means for wireless communication between at least one of said service and said further device.
107. A device according to claim 105 wherein said selected item is an item of digital audiovisual content and said device comprises audiovisual reproduction means.
108. A device according to claim 105 wherein said further device operatively corresponds to said device.
109. A multimedia device comprising: means for receiving at least one of metadata or link to metadata for a media item from a first device having a corresponding first user; means for operatively connecting said device to a multimedia browsing service, said service including storage of a table-of-contents including at least one of metadata and links to metadata for items able to be browsed and selected by a user of said multimedia device and said service; and means for updating said one metadata or a link to metadata relating to said media item to said table-of-contents of said user.
110. A device according to claim 109 wherein said means for receiving comprises means for wireless communication between at least one of said service and said further device.
111. A device according to claim 109 wherein said selected item is an item of digital audiovisual content and said device comprises audiovisual reproduction means.
112. A multimedia device comprising: means for extracting metadata from a table of contents associated with a user of said device and reposited with a media browsing system to which said device is operatively connectable; means for associating said extracted metadata with an address of said media browsing system and a logon to said system and enveloping the associated components in a voucher; and means for communicating said voucher from said device to a further device thereby enabling a user of said further device access to said media browsing system using said logon and to thereby access media content referenced by said metadata from said media browsing system.
113. A device according to claim 109 wherein said voucher comprises components relating to at least one of: (a) a time period by which said media content can be accessed by said further device; (b) a quality of service by which said media content can be reproduced by said further device; and (c) a number of instances by which said media content can be reproduced by said further device.
114. A device according to claim 110 wherein said components are established from said extracted metadata.
115. A computer readable medium, having a program recorded thereon, where the program is configured to make a computerised device execute a procedure to communicate metadata between users of a multimedia browsing service, said program comprising: code for operatively connecting said device to said multimedia browsing service, said service including storage of a table-of-contents including at least one of metadata and links to metadata for items able to be browsed and selected by a user of said device and said service; code for extracting one of metadata or a link to metadata relating to a selected media item from said table-of-contents of a user; and code for transferring said extracted metadata or link to metadata for said selected item from said device to a further device having a corresponding further user.
116. A computer readable medium, having a program recorded thereon, where the program is configured to make a computerised device execute a procedure to communicate metadata between users of a multimedia browsing service, said program comprising: code for receiving at least one of metadata or a link to metadata for a media item from a first device having a corresponding first user; code for operatively connecting said computerised device to said multimedia browsing service, said service including storage of a table-of-contents including at least one of metadata and links to metadata for items able to be browsed and selected by a user of said computerised device and said service; and means for updating said one metadata or link to metadata relating to said media item to said table-of-contents of said user.
117. A computer readable medium, having a program recorded thereon, where the program is configured to make a computerised device execute a procedure to communicate metadata between users of a multimedia browsing service, said program comprising: code for extracting metadata from a table of contents associated with a user of said computerised device and reposited with a media browsing system to which said computerised device is operatively connectable; code for associating said extracted metadata with an address of said media browsing system and a logon to said system and enveloping the associated components in a voucher; and code for communicating said voucher from said computerised device to a further device thereby enabling a user of said further device access to said media browsing system using said logon and to thereby access media content referenced by said metadata from said media browsing system.
118. A method of transferring a media session from a first device to a second device, said method comprising the steps of: (a) establishing a media session sourced via a media browsing server upon said first device; (b) actuating a control on said first device to: (i) transfer to said second device details of said media session; (ii) receive from second device an identification thereof known to said media browsing server; and (iii) transfer the received identification of said second device to said media browsing server; and (c) said media browsing server terminating an output of said media session to said first device and directing said output of said media session to said second device.
119. A method according to claim 115, wherein step (c) comprises modifying a quality of service of said media session dependent upon reproduction attributes of said second device.
120. A method according to claim 116, wherein said modifying alters a form of communication between said first device and said second device.
121. A method according to claim 115, wherein a quality of reproduction of said media session is limited within reproduction attributes of said second device to be no better than that of said first device.
122. A method according to claim 116 wherein, when said second device offers higher quality of reproduction of said media session, step (c) comprises a commercial transaction to enable said modifying.
123. A method according to claim 116, wherein said media session was obtained at a selected quality of service and reproduction of said media session on each said device is performed at a maximum quality of service afforded by the corresponding said device and no better than said selected quality of service.
124. A method according to claim 115, wherein said devices are selected from the group consisting of: a desktop computer, a portable computer, a mobile telephone, a mobile sound reproduction apparatus.
125. A computer readable medium, having a program recorded thereon, where the program is configured to make a first computerised device execute a procedure to transfer a media session from said first device to a second device, said program comprising: code for establishing a media session upon said first device and sourced via a media browsing server; code for transferring to said second device details of said media session; code for receiving from second device an identification of said second device known to said media browsing server; and code for transferring the received identification of said second device to said media browsing server.
126. A computer readable medium, having a program recorded thereon, where the program is configured to make a first computerised device execute a procedure to receive a media session from a second device, said program comprising: code for receiving from said second device details of a media session occurring on said second device; code for transferring to said second device an identification of said computerised device known to a media browsing server from which said media session is sourced; and code for establishing said media session upon said computerised device and sourced via said media browsing server.
127. A computer readable medium, having a program recorded thereon, where the program is configured to make a computerised media browsing server execute a procedure to transfer a media session from a first device to a second device, said program comprising: code for establishing said media session upon said first device and sourced via said media browsing server; code for receiving from first device an identification of said second device known to said media browsing server; and code for transferring said media session from said first device to said second device.
128. A computer readable medium according to claim 124 wherein said code for transferring comprises code for establishing said media session upon said second device and code for terminating said media session upon said first device.
129. A multimedia reproduction device comprising: means for establishing a media session upon said device and sourced via a media browsing server; means for transferring to a further device details of said media session; means for receiving from said further device an identification of said further device known to said media browsing server; and means for transferring the received identification of said further device to said media browsing server.
130. A multimedia reproduction device comprising: means for receiving from a further device details of a media session occurring on said further device and sourced via a media browsing server; means for transferring to said further device an identification of said multimedia reproduction device known to said media browsing server; and means for establishing said media session upon said multimedia reproduction device and sourced via said media browsing server.
131. A media browsing server comprising: means for establishing a media session upon a first multimedia reproduction device and sourced via said media browsing server; means for receiving from said first device an identification of a second multimedia reproduction device known to said media browsing server; and means for transferring said media session from said first device to said second device.
132. A media browsing server according to claim 128 wherein said means for transferring comprises means for establishing said media session upon said second device and means for terminating said media session upon said first device.
Description
FIELD OF THE INVENTION
[0001] The present invention relates generally to enabling access to electronically-accessible multimedia content and, in particular, to systems and processes by which access via browsing or searching to such content is facilitated through metadata of the content and operations associated with a user interface.
BACKGROUND
[0002] As network connectivity has continued its explosive growth, content providers are using the World Wide Web (the "Web") to provide access to their multimedia content (eg. images, video, audio, etc.). Unlike textual content, such as HTML pages, multimedia content is not directly accessible to standard Web search engines. These search engines can examine sites on the Web and extract information about the textual content of those sites. Such information is typically termed "metadata" which is data that describes or catalogues aspects of other data. The extracted information (metadata) can then provide users with access to that content using their customised metadata databases.
[0003] In the case of multimedia, content providers or distributors typically store information about the multimedia items to which they have access in metadata databases. The content providers then enable access to these databases by providing a search engine that users or customers can access from a Web site, typically the content provider/distributor's own Web site. Customers wanting to view, or maybe purchase, content that a content provider/distributor has access to, can visit the Web site and use the search engine to search the content provider/distributor's metadata database. Typically the metadata database contains visual identifiers of the content (eg. thumbnails, video abstracts, audio previews, etc) as part of the metadata. The user can then make decisions about which item(s) they may wish to purchase/use based on the metadata that is returned from their searches.
[0004] In many cases the multimedia content is digital and on-line, and potential customers can purchase the rights to use or purchase a copy of the desired multimedia item from the content provider/distributor's Web site. More often than not, this transaction is completed on the Web site and the potential customer can directly download their newly acquired content. However this model of providing access to multimedia content does not require that the content is on-line. For example, a potential customer might be able to purchase the rights to use, or a copy, of the desired content from the Web site but the content may be delivered to the potential customer by non-electronic means (ie. the postal system). Another variation is that the potential customer may be redirected from a distributor's site to the actual content provider in order to purchase and acquire a copy of the desired content. Other variations include the potential customer being directed to a physical location to purchase the content and being posted books containing the metadata associated with items to be purchased.
[0005] In all the abovementioned situations, the potential customer can only gain access to the content to which each content provider/distributor has access. If the potential customer wanted to perform a search across several different content providers/distributors, the potential customer would have to visit the Web site and use the search engine of each of the different content providers/distributors. Such actions are often time consuming and annoying because the potential customer must use a different search engine interface each time.
[0006] These problems have encouraged the development of very large metadata databases on the Web where a content distributor either purchases the rights to content or simply acts as a distributor for smaller content providers. Examples of such are the large image databases of Getty and Corbus. This approach has its own problems. Firstly, the approach does not scale because as the databases become very large, the search time increases. Further, typically all the metadata has to be structured in a similar fashion in order to contain the same metadata keys. However, such is not always desirable as different metadata may be more appropriate depending on the targeted use of the content. For example, images captured for geological purposes would require different metadata that those captured for holiday brochures. Thirdly, smaller content providers have no way to directly sell their content (ie. they are effectively forced to use the larger distributors).
[0007] It is an object of the present invention to ameliorate one or more disadvantages of the prior art.
SUMMARY OF THE INVENTION
[0008] In accordance with one aspect of the present invention there is disclosed a method of interpreting metadata in a media browsing system, said method comprising the steps of:
[0009] receiving a description of an item of multimedia content;
[0010] reviewing the description to identify metadata associated therewith;
[0011] examining said metadata to determine those (first) metadata items that conform to one of a predetermined number of known metadata standards and converting each said first metadata item to an interpretable form used in said system;
[0012] examining said metadata to determine those remaining metadata items that do not conform to any of said known metadata standards, and for each said remaining metadata items:
[0013] (i) assessing a syntax of said item to classify said item to one of a set of types known to said system; and
[0014] (ii) converting said item according to said one type to said interpretable form.
[0015] In accordance with another aspect of the present invention there is disclosed a method of maintaining a personal information landscape for a World Wide Web user, where said personal information landscape comprises a set of at least one link to a corresponding metadata entity, said metadata entities each having at least one link to at least one of a further metadata entity and a content entity, said method comprising the steps of:
[0016] (i) representing and storing each entity target of said links as an universal resource identifier (URI);
[0017] (ii) representing said links in an interface from which a user can navigate through said personal information landscape using said links to metadata entities and select to reproduce the content using said links to said content entities; and
[0018] (iii) enabling the user to modify said personal information landscape by adding new links to metadata entities and one of deleting or modifying existing links to metadata entities, in which modifications are stored with the said users personal information landscape.
[0019] In accordance with another aspect of the present invention there is disclosed a method of maintaining a personal information landscape for a World Wide Web user, where said personal information landscape comprises a set of at least one link to a corresponding metadata entity, wherein each said metadata entity comprises at least one link to one of a further metadata entity or to a content entity, said method comprising the steps of:
[0020] (i) representing and storing each entity target of said links as an universal resource identifier (URI);
[0021] (ii) representing said links in an interface from which the user can navigate through said personal information landscape using said links to metadata entities and select to play or view the content using said links to said content entities;
[0022] (iii) enabling said user to search for particular entities using said metadata entities by specifying desired properties for the said entities and then performing a matching operation on said desirable properties with properties of said entities contained in the said metadata entities;
[0023] (iv) enabling said user to modify said personal information landscape by at least one of adding new links to metadata entities, deleting existing links and modifying existing links metadata entities, wherein said new links and said modifications are stored with said personal information landscape.
[0024] In accordance with another aspect of the present invention there is disclosed a method of communicating metadata between users of a multimedia browsing service, said service including storage of a table-of-contents of metadata for items able to be browsed and selected by a corresponding user of said service, said method comprising the steps of:
[0025] (a) extracting, at a first device having a corresponding first user, metadata relating to a selected media item from table-of-contents of a first user;
[0026] (b) transferring said metadata for said selected item from said first device to a second device having a corresponding second user; and
[0027] (c) said second device receiving said metadata and informing said media browsing service to update a table-of-contents of said second user in said storage with said metadata for said selected media item.
[0028] In accordance with another aspect of the present invention there is disclosed a method of communicating metadata between a user device of a media browsing system and a further device not being part of said system, said method comprising the steps of:
[0029] (a) extracting said metadata from a table of contents associated with said user device and reposited with said media browsing system;
[0030] (b) associating said extracted metadata with an address of said media browsing system and a logon to said system and enveloping the associated components in a voucher; and
[0031] (c) communicating said voucher from said user device to said further device thereby enabling a user of said further device access to said media browsing system using said logon and to thereby access from said media browsing system to media content referenced by said metadata.
[0032] In accordance with another aspect of the present invention there is disclosed a method of transferring a media session from a first device to a second device, said method comprising the steps of:
[0033] (a) establishing a media session sourced via a media browsing server upon said first device;
[0034] (b) actuating a control on said first device to:
[0035] (i) transfer to said second device details of said media session;
[0036] (ii) receive from second device an identification thereof known to said media browsing server; and
[0037] (iii) transfer the received identification of said second device to said media browsing server; and
[0038] (c) said media browsing server terminating an output of said media session to said first device and directing said output of said media session to said second device.
[0039] Other aspects of the present invention, including apparatus and systems for implementing the methods and computer program product related thereto are also disclosed.
BRIEF DESCRIPTION OF THE DRAWINGS
[0040] One or more embodiments of the present invention will now be described with reference to the drawings and appendices in which:
[0041] FIG. 1 is a block diagram showing the operating environment of a multimedia access system;
[0042] FIG. 2 is a more detailed block diagram showing how the media browser of FIG. 1 accesses metadata databases;
[0043] FIG. 3 is a flow chart depicting the communication process between the media browser and the metadata server;
[0044] FIG. 4 shows the visual appearance of the user interface of the media browser component of the multimedia access system;
[0045] FIG. 5 is a flow chart showing the preferred browsing process of the media browser;
[0046] FIG. 6 is a flow chart showing the preferred searching process of the media browser;
[0047] FIG. 7 depicts a structured image metadata database;
[0048] FIG. 8 shows and example of XML metadata that is used by the for browsing process;
[0049] FIG. 9 is a schematic block diagram representation of a computer system upon which the media browser may operate;
[0050] FIG. 10 depicts an example implementation of the system of FIGS. 1
to 8;
[0051] FIG. 11 depicts customisation of the media browser for different devices;
[0052] FIG. 12 shows an arrangement by which the right to use multimedia content may be controlled;
[0053] FIGS. 13A, 13B and 13C illustrate methods by which metadata links may be communicated between devices;
[0054] FIG. 14 shows an arrangement by which a current media browser session may be switch from one device to another;
[0055] FIG. 15 depicts an example of how a source description can be transformed into a normalised description that is presentable by the media browser arrangement, FIG. 16 is an illustration of a preferred media browser graphical user interface;
[0056] FIGS. 17A and 17B illustrate how "breadcrumb" navigation is used in the interface of FIG. 16;
[0057] FIGS. 18A to 18D depict system user via a further modified media browser graphical user interface;
[0058] Appendix 1 is an XML source description for the example of FIG. 15; and
[0059] Appendix 2 is an XML stylesheet which may be used to transform the source description of Appendix 1 to a normalised form.
DETAILED DESCRIPTION
[0060] I. Overview
[0061] FIG. 1 shows a multimedia access system 100 in which a computer application program, hereinafter called a media browser 101, operates on a local computer 105 to form a connection to a computer network, such as the Internet 102. As illustrated, the Internet 102 has associated therewith a number of server computers 108 and 109, each of which may host a number of Web sites and for each of which there is a corresponding store 112 and 114 in which multimedia content may be retained. The local computer 105 similarly may also have an associated store 107, although such is not essential to the implementation. The media browser application 101 provides a single user interface for a user of the local computer 105 to browse and search the system 100 for multimedia items using electronically-accessible metadata. In other words, the media browser 101 operates on metadata. Any playing/viewing of multimedia content is achieved by the use of plug-in media tools and is separated from the metadata-related processing. The media browser 101 is described in more detail in Section IV below.
[0062] The described arrangements may practiced using a general-purpose computer system 900, such as that shown in FIG. 9 wherein the processes of FIG. 1 and to be described are implemented as software, such as an application program executing within the computer system 900. In particular, the method of media browsing is effected by instructions in the software that are carried out by the computer system. The software may be divided into essentially two separate parts; one part for executing the browsing and searching requests for particular metadata stores, and another part to manage the user interface between the latter and the user. These two part can be executed on separate computers in a mode known as client-server mode. The software may be stored in one or more computer readable media, including the storage devices described below, for example. The software is loaded into computers of the system from the computer readable media, and then executed by the computers. A computer readable medium having such software or computer program recorded thereon is a computer program product. The use of the computer program product in a computer preferably effects an advantageous apparatus for media browsing.
[0063] The computer system 900 comprises a computer module 901, input devices such as a keyboard 902 and mouse 903, output devices including a printer 915 and a audio-visual output device 914. A Modulator-Demodulator (Modem) transceiver device 916 is used by the computer module 901 for communicating to and from a communications network 920, for example connectable via a telephone line 921 or other functional medium. The network 920 may for example be the Internet, and/or other network systems, such as a Local Area Network (LAN) or a Wide Area Network (WAN). Collectively, the devices 901-916 may form for example either one or any of the local computer 105 or server computers 108 and 109 of FIG. 1 and are often are described as computer workstations.
[0064] The computer module 901 typically includes at least one processor unit 905, a memory unit 906, for example formed from semiconductor random access memory (RAM) and read only memory (ROM), input/output (I/O) interfaces including a audio-visual interface 907, and an I/O interface 913 for the keyboard 902 and mouse 903 and optionally a joystick (not illustrated), and an interface 908 for the modem 916. A storage device 909 is provided and typically includes a hard disk drive 910 and a floppy disk drive 911. A magnetic tape drive (not illustrated) may also be used. A CD-ROM drive 912 is typically provided as a non-volatile source of data. The components 905 to 913 of the computer module 901, typically communicate via an interconnected bus 904 and in a manner which results in a conventional mode of operation of the computer system 900 known to those in the relevant art. Examples of computers on which the described arrangements can be practised include IBM-PC's and compatibles, Sun Sparcstations or alike computer systems evolved therefrom.
[0065] Typically, the application program is resident on the hard disk drive 910 and read and controlled in its execution by the processor 905. Intermediate storage of the program and any data fetched from the network 920 may be accomplished using the semiconductor memory 906, possibly in concert with the hard disk drive 910. The audio-visual output device 914
may be used to provide a graphical user interface to the application program by which user input may be afforded via the keyboard 902 and by clicking buttons on the mouse 903 as a mouse-cursor is manoeuvred across the interface represented on the audio-visual output device 914. In some instances, the application program may be supplied to the user encoded on a CD-ROM or floppy disk and read via the corresponding drive 912 or 911, or alternatively may be read by the user from the network 920 via the modem device 916. Still further, the software can also be loaded into the computer system 900 from other computer readable medium including magnetic tape, a ROM or integrated circuit, a magneto-optical disk, a radio or infra-red transmission channel between the computer module 901
and another device, a computer readable card such as a PCMCIA card, and the Internet and Intranets including e-mail transmissions and information recorded on websites and the like. The foregoing is merely exemplary of relevant computer readable media. Other computer readable media may be practiced without departing from the scope and spirit of the invention.
[0066] Returning to FIG. 1, the metadata used by the media browser 101 can be accessed directly from the local computer 105 or from any accessible site on the Internet 102 such as the server 108. Typically the metadata for a collection of multimedia content is stored in collections (eg. repositories or databases) with each item of content having at least one corresponding metadata item. As seen in FIG. 1, each content database or store 107, 112 and 114 has associated therewith a corresponding database 106, 110 and 111 respectively, which is configured to retain metadata items to facilitate access to the content within the corresponding respective content database or store 107, 112 and 114. Hereinafter, a metadata item is also referred to as a description of its corresponding item (typically, of content) and the term metadata collection refers to collections of such descriptions.
[0067] In the preferred arrangement, the media browser 101 is able to access the metadata without having to access the content (107, 112, 114). In other words, a description is not stored as an integral part of an item of content. This means that the media browser 101 does not need to be able to directly interpret the large number of storage/transport formats for audiovisual content in order to access metadata.
[0068] The media browser 101 assumes that each description (in the databases 106, 110 and 111) has a link to its corresponding content in the content database or store (107, 112, 114). If the content is stored electronically, these links can be actuated or electronically followed (eg. 120, 115, 116) by a user or process. Alternatively links, such as the link 118, can describe a route to a non-electronic location (eg. a film archive). Non-electronic links are not active (ie. unable to be followed by a remote user or process) and hence are only informative of available content. Accordingly, with such non-electronic links, remote users may not have a capacity to preview content using the media browser 101.
[0069] The media browser 101 requires that the metadata can be expressed in a standard manner. In the preferred arrangement, the syntax and structure of individual descriptions are determined by a schema. Descriptions of different items of content can use different schemas. Typically the schema used reflects the type of content and the typical use or purpose of the content. For example, a metadata schema for geological satellite images would most likely be significantly different to a schema for digital home video.
[0070] Schema may differ in their syntactical structure and the nature of the types of description components (hereinafter called descriptors). For example, a schema for digital home video may model descriptions of this type of content to contain a digital video tape, which contains one or more scenes, each of which contain one or more clips or shots. The geological satellite image schema may simply have a number of descriptors, with a particular geological focus, which are used to describe each image. In the preferred arrangement schemas are represented using the W3C Extensible Markup Language (XML) Schema language and individual descriptions are represented as XML documents. The metadata representation is described further in Section II.
[0071] FIG. 2 shows an example of how a media browser 101 can access metadata over the Internet 102. All access to metadata is achieved using links with the target of each link being expressed as a Uniform Resource Identifier (URI). These links can be actuated either automatically by the media browser 101 or in response to a user action (eg. clicking on an item of interest).
[0072] In the case where the metadata is stored in an XML repository (collection of XML documents) 200, the media browser 101 can provide access to the metadata stored in the repository 200 using a link to an XML description of the repository 200. This description represents the structure of the repository 200 that is presented to a user of the media browser 101. The XML description is represented in the same way as a description of a multimedia item of content. In other words, the description preferably conforms to an XML schema that is accessible to the media browser 101, and which describes the structure of the repository 200. The XML description can contain links to other descriptions of particular sections of the repository 200 (in other words, the description of the repository 200 does not need to be contained within a single XML document). Ultimately the repository XML description has links to descriptions of multimedia items. Each description of a multimedia item in the repository 200 preferably contains a link 201 to a corresponding multimedia item in the corresponding content collection 202. This enables the media browser 101
to be able to retrieve these items if a user or customer selects to view or play the item based on the presented metadata.
[0073] In the case where access to a non-XML repository, here called a legacy database 210, is desired, the link described above with reference to FIG. 1 must operate through a server module called a metadata server 212. The metadata server 212 is preferably located, though not necessarily, at the site of the metadata (ie. either local or remote) and is configured and controlled by the owner of the metadata. The purpose of the metadata server 212 is to effectively translate the metadata stored in a legacy database 210 to the format required by media browser 101. In other words, the metadata server 212 should preferably provide access to one or more schemas for the metadata and dynamically generate XML descriptions that conform to these schemas. Preferably, a metadata server 212 need only provide schema definitions that describe the structure/syntax of the metadata collection, and the structure/syntax of the individual descriptions stored in the legacy database 210. These schema definitions may be contained in one or more XML Schema documents. As with the case where the remote metadata is stored in an XML repository 200, the descriptions of multimedia items, that the metadata server 212
generates, contain links to the corresponding multimedia items stored in a content collection 214 corresponding to the legacy database 210.
[0074] A link to a metadata server is also represented using a URI. The URI is composed of a network identifier component, which is a URI itself, and a query string which specifies details of the metadata server request. The request can be executed using a Hypertext Transfer Protocol (HTTP) "get" request over the Internet. Processing of the query results in descriptions of either the structure of the collection or multimedia items depending on how the metadata server 212 interprets the query string.
[0075] The descriptions that are dynamically generated by the metadata server 212 can be in response to media browser user browsing or search requests. Metadata servers are discussed further in Section III below.
[0076] II. Metadata Representation
[0077] The preferred arrangement assumes that all descriptions of multimedia items conform to a schema, and that schemas are expressed or represented using the W3C schema language, XML Schema. Individual descriptions are represented using XML document instances. XML Schema are also represented as XML documents. Therefore descriptions (eg. of multimedia items) can be stored along with their respective schemas in XML repositories or object stores. Alternatively, the descriptions can be stored in a database and effectively translated into XML documents when required.
[0078] Each description contains reference(s) to schemas to which it conforms. The reference is expressed using a URI (eg. http://somesite/schemas/DigitalVideoSchema.xsd). This means that once a media browser has access to a description it can directly access the schema or schemas to which the description conforms.
[0079] Technically, each XML element in a description (XML document) is declared to belong to a uniquely identified namespace. The XML document can then provide a hint to a processor, using the attribute schemaLocation (in the XMLSchema-instance namespace), for the location of a schema that contains definitions for a particular namespace. Hence an XML document, and thus also a description, indirectly rather than directly references one or more schemas.
[0080] In this document, the term "descriptor" is used to refer to a component, or atom, of a description. Each descriptor comprises a feature (descriptor name) and a value (description value). In some cases, the descriptor value comprises other descriptors, and thus may form a "complex descriptor". In other cases, the descriptor value is a scalar value such as a string or date (ie. simple or atomic descriptors). In all cases media browser 101 assumes that descriptors are represented with the element (tag) name being the descriptor name and the content of the element being descriptor value. For example, a simple descriptor may use the textual content of the element (ie. the text between the tags) to represent the value of the descriptor (eg. a date, text string, enumeration, etc.).
[0081] This assumption about the structure of the metadata is not unlike how many practitioners currently use markup languages. In other words, it does not require significant changes from how practitioners might represent particular metadata vocabularies.
[0082] Some examples of descriptors are now provided. In the simple descriptor, <Photographer>John Smith</Photographer>, Photographer is the name of the descriptor and John Smith is the value of the descriptor. The type of the text of a simple descriptor can be constrained using the simpleType construct of XML Schema.
[0083] In the example shown in FIG. 8, both VideoScene and Clip are complex descriptors. The value of the VideoScene descriptor is the markup that is contained within the start and end tags of the descriptor. The name of the descriptor is the tag name (ie. VideoScene). Similarly the value of the Clip complex descriptor is that markup contained between the start and end tags of the Clip descriptor. The Clip descriptor value contains two simple descriptors, Date and Location. The value of the Location descriptor is the text contained between the start and end Location tags (ie. Sydney, Australia).
[0084] In order to be able to better interpret the basic semantics of descriptions for the purposes of visually presenting descriptions in a meaningful way to users, the preferred arrangement includes a core schema which contains definitions of a number of basic attributes that description schema designers can use when they define their descriptors. An example of the definitions included in this core schema are shown below as Example A, in which only a fragment of the actual schema is shown. The definitions in this example belong to a unique media bowser namespace which is identified in the example by the prefix "mb:". It is assumed that this prefix assignment has been performed earlier in the schema using an xmlns attribute.
EXAMPLE A
[0085]
1
1. <simpleType name = `DescriptorType`> 2. <restriction base = `string`> 3. <enumeration value = `TOC`/> 4. <enumeration value = `Index`/> 5. <enumeration value = `Other`/> 6. </restriction> 7. </simpleType> 8. <attribute name = `id` type = `ID` /> 9. <attribute name = `textIdentifier` type = `string` /> 10. <attribute name = `visualIdentifier` type = `anyURI` /> 11. <attributeGroup name = `DescriptorAttributes`> 12. <attribute ref = `mb:id` /> 13. <attribute ref = `mb:textIdentifier` /> 14. <attribute ref = `mb:visualIdentifier` /> 15. <attribute name = `updateable` type = `boolean` default = `false` /> 16. </attributeGroup> 17. <attributeGroup name = `TOCDescriptorAttributes`> 18. <attributeGroup ref = `mb:DescriptorAttributes` /> 19. <attribute name = `descriptorType` type = `mb:DescriptorType` fixed = `TOC` /> 20. </attributeGroup> 21. <attributeGroup name = `IndexDescriptorAttributes`> 22. <attributeGroup ref = `mb:DescriptorAttributes` /> 23. <attribute name = `descriptorType` type = `mb:DescriptorType` fixed = `Index`/> 24. </attributeGroup>
[0086] The attribute descriptorType is used to define whether a descriptor is to be treated as part of a Table of Contents (TOC descriptor), or as part of an index (index descriptor).
[0087] A TOC descriptor is used to describe the structure of a description, and is typically a complex descriptor. A TOC descriptor is navigable in the sense that such must contain a link within either its attributes or within the attributes of its children. The target of the link can be either a further description or an item of content. A TOC descriptor is similar to an entry in a table of contents of a book in that it enables a reader to go directly to a section of the work.
[0088] Index descriptors are typically leaf nodes of a hierarchically-composed descriptor structure and are often referred to as properties (ie. the type of descriptive information that is displayed using a properties dialog in a Microsoft Windows (registered trade mark) system. Section IV below describes how the descriptorType attribute is used by the media browser.
[0089] Attributes are also used to contain visual and/or textual identifiers for a descriptor. A visual identifier (ie. visualidentifier attribute) can be the URI of a thumbnail or movie/audio track preview. A text identifier (ie. textidentifier attribute) can be used in the place of, or in addition to, a visual identifier. A text identifier typically contains a string value which describes the descriptor. In the absence of a visual identifier, the media browser can construct a visual representation based on this text value. These core attributes "drive" the user interface of the media browser. In other words, they have been included for presentation purposes.
[0090] In addition to these visualisation attributes that are defined in the core schema, the preferred arrangement uses the linking attributes of the evolving W3C XLink standard (as described at http://www.w3.org/TR/xli- nk) to provide linking semantics. XLink provides a framework for creating both basic unidirectional links, such as the HTML <A>linking element, and more complex linking structures. Simple linking elements are a common linking requirement for the preferred arrangement. These links can be used to represent links between two descriptors (ie. items of metadata) and links between descriptors (metadata) and content (eg. images, video, etc.). XLink also provides for other linking types such as extended links, locators and arc. The full list of linking types is described at http://www.w3.org/TR/xlink.
[0091] The existence of a link, using XLink, is asserted by an XLink linking element. These elements need to be recognised by applications in order to provide appropriate display or behaviour. XLink uses a namespace to accomplish link recognition. The XLink namespace used by the preferred arrangement has the URI, http://www.w3.org/1999/xlink, and is associated with the xlink prefix. This association is achieved using the xmins attribute of XML (eg. xmlns:xlink=`http://www.w3.org/1999/xlink`). XLink's namespace provides definitions of global attributes that can be used on elements that are in any arbitrary namespace. These global attributes (xlink:type, xlink:href, xlink:role, xlink:title, xlink:show, xlink:actuate, xlink:from and xlink:to) can be used to make elements recognisable as linking elements. For example, if the value of the xlink:type attribute is set to "simple" for a particular element, then that element is treated as a simple linking element and the value of the attribute, xlink:href, contains the target of that link. For the purposes of this description, definitions of the linking attributes using XML schema are included below in Example B.
EXAMPLE B
[0092]
2
1. <?xml version=`1.0`?> 2. <schema 3. xmlns = `http://www.w3.org/2001/XMLSchema` 4. xmlns:xlink = `http://www.w3.org/1999/xlink` 5. targetNamespace = `http://www.w3.org/1999/xlink` 6. attributeFormDefault = `qualified` 7. version = `1.0`> 8. <simpleType name = `LinkType`> 9. <restriction base = `string`> 10. <enumeration value = `simple`/> 11. <enumeration value = `extended`/> 12. <enumeration value = `locator`/> 13. <enumeration value = `arc`/> 14. <enumeration value = `resource`/> 15. <enumeration value = `title`/> 16. <enumeration value = `none`/> 17. </restriction> 18. </simpleType> 19. <simpleType name = `ShowType`> 20. <restriction base = `string`> 21. <enumeration value = `new`/> 22. <enumeration value = `replace`/> 23. <enumeration value = `embed`/> 24. <enumeration value = `other`/> 25. <enumeration value = `none`/> 26. </restriction> 27. </simpleType> 28. <simpleType name = `ActuateType` > 29. <restriction base = `string`> 30. <enumeration value = `onLoad`/> 31. <enumeration value = `onRequest`/> 32. <enumeration value = `other`/> 33. <enumeration value = `none`/> 34. </restriction> 35. </simpleType> 36. <attribute name = `type` type = `xlink:LinkType` default = `simple`/> 37. <attribute name = `show` type = `xlink:ShowType` default = `new`/> 38. <attribute name = `role` type = `QName` default = `resource`/> 39. <attribute name = `actuate` type = `xlink:ActuateType`/> 40. <attribute name = `href` type = `anyURI`/> 41. <attribute name = `arcrole` type = `string`/> 42. <attribute name = `title` type = `string`/> 43. <attribute name = `label` type = `NMTOKEN`/> 44. <attribute name = `from` type = `NMTOKEN`/> 45. <attribute name = `to` type = `NMTOKEN`/> 46. </schema>
[0093] A particular schema can use the core XLink and media browser attributes when declaring individual descriptors for a schema. In Example C below, the particular descriptors VideoClip, Date and Photographer are declared in a particular schema. Note that only a fragment of an actual schema is shown and reference to the media browser and XLink namespaces is assumed via the namespace prefixes mb and xlink, respectively. In XML Schema these namespace prefixes are assigned using the xmlns attribute of the XML Schema language. The media browser attributes are referenced unchanged from their definitions as seen at line 21 of Example C for TOCDescriptorAttributes. However one of the XLink attributes that are referenced, for example as seen at line 24, is further refined from its original definition. For example, the VideoClip descriptor is a simple linking element so the xlink:type attribute's value will assume the default value of "simple". With a simple link, the element (descriptor) is the link source and a single linkend must exist. This single linkend is represented using the xlink:href attribute. A value must be supplied for this attribute for the simple link to be valid (hence the use constraint for this attribute is set to "required"). Note also that the xlink:href attribute for the VideoClip descriptor will assume its default value of "resource" (ie. the target of the link should be assumed to be the item of content being described).
EXAMPLE C
[0094]
3
1. <element name = `VideoClip`> 2. <complexType> 3. <element name = `Date`> 4. <complexType> 5. <simpleContent> 6. <extension base = `date`> 7. <attributeGroup ref = `mb:IndexDescriptorAttributes`/> 8. </extension> 9. </simpleContent> 10. </complexType> 11. </element> 12. <element name = `Photographer` > 13. <complexType> 14. <simpleContent> 15. <extension base = `string`> 16. <attributeGroup ref = `mb:IndexDescriptorAttributes`- /> 17. </extension> 18. </simpleContent> 19. </complexType> 20. </element> 21. <attributeGroup ref = `mb:TOCDescriptorAttributes`/> 22. <attribute ref = `xlink:type`/> 23. <attribute ref = `xlink:role`/> 24. <attribute ref = `xlink:href` use = `required`/> 25. </complexType> 26. </element>
[0095] A description conforming to this particular schema fragment may contain the fragment of Example D:
EXAMPLE D
[0096]
4
1. <VideoClip xlink:href = `http://someSite/content/vi- deo/clip999.mpg`> 2. <Date>2000-04-18</Date> 3. <Photographer>John Smith</Photographer> 4. </VideoClip>
[0097] In the preferred arrangement, the core media browser attributes are explicitly expressed in schemas and/or descriptions. Alternative arrangements can infer these attribute values from other information in descriptions, as described below. For example, a descriptor/element may be treated as part of the TOC if it contained a link within either its attributes or within the attributes of its children. Further, descriptors which do not have descendant links may be treated as index descriptors. Similarly visual identifiers may be automatically constructed from element (descriptor) names. Methods of inferring these attribute values are described in more detail later in this section.
[0098] Clearly there are alternative ways in which the core media browser and xlink semantics can be represented. For example, using XML Schema it is possible to define a core Descriptor type and from that core type, derive TOCDescriptor and IndexDescriptor types (see Example E below). Then individual schema definitions may extend these base types to provide implementation-based descriptors such as those defined in Example C. Also, although the preferred arrangement uses XML Schema as its schema representation languages, other suitably expressive schema languages may be used.
EXAMPLE E
[0099]
5
1. <simpleType name = `DescriptorType`> 2. <restriction base = `string`> 3. <enumeration value = `TOC`/> 4. <enumeration value = `Index`/> 5. <enumeration value = `Other`/> 6. </restriction> 7. </simpleType> 8. <complexType name = `Descriptor`> 9. <attribute name = `id` type = `ID`/> 10. <attribute name = `textIdentifier` type = `string`/> 11. <attribute name = `visualIdentifier` type = `anyURI`/> 12. <attribute name = `descriptorType` type = `DescriptorType`/> 13. <attribute name = `value` type = `xsd:anyType`/> 14. <attribute ref = `xlink:href`/> 15. </complexType> 16. <complexType name = `TOCDescriptor`> 17. <restriction base = `Descriptor`> 18. <attribute name = `id` type = `ID`/> 19. <attribute name = `textIdentifier` type = `string`/> 20. <attribute name = `visualIdentifier` type = `anyURI`/> 21. <attribute name = `descriptorType` type = `DescriptorType` fixed = `TOC`/> 22. <attribute name = `value` use = `prohibited`/> 23. <attribute ref = `xlink:href`/> 24. </restriction> 25. </complexType> 26. <complexType name = `IndexDescriptor`> 27. <restriction base = `Descriptor`> 28. <attribute name = `id` type = `ID`/> 29. <attribute name = `textIdentifier` type = `string`/> 30. <attribute name = `visualIdentifier` type = `anyURI`/> 31. <attribute name = `descriptorType` type = `DescriptorType` fixed = `Index`/> 32. <attribute name = `value` type = `xsd:anyType`/> 33. <attribute ref = `xlink:href` use = `prohibited`/> 34. </restriction> 35. </complexType>
[0100] Interpretation of Metadata
[0101] In practice, not all the metadata that a user wishes to visualise using the media browser 101 will explicitly use the media browser 101 and the XLink attributes described above. On parsing a new description, the media browser 101 first attempts to identify the type of metadata that has been received, examples of which may include Dublin Core, MPEG-7 or DIG35 for images, each of these metadata standards that are known in the art. Typically, this can be achieved by examining either the root element of the description or the namespace declarations. If the media browser 101 identifies a metadata standard, then the media browser 101 uses an XSLT stylesheet to transform the incoming document tree (description) into one that explicitly uses the media browser and XLink attributes. No further processing is required. In other words, it is assumed that the transform results in a description that the media browser can present without further processing.
[0102] For all other descriptions, a check is performed to attempt to ensure that the preferred media browser attributes are present. If they are absent then the preferred implementation uses a list of rules for the creation of appropriate media browser attributes for the incoming metadata. The rules are as follows:
[0103] (i) An href attribute is assumed to represent the target of a simple link and is represented as an xlink:href attribute. If the target value of the link is a URI with an extension of XML or no extension, then a link to another description is assumed (ie. xlink:role is set to `description`), otherwise the link is assumed to be a link to the relevant content (ie. xlink:role is set to `resource`). The type of the link is assumed to be simple (ie. xlink:type is set to `simple`).
[0104] (ii) An element is classified as a TOC descriptor if either the descriptor or any of its children contains a link (ie. mb:descriptortype is set to `TOC`). The link may be represented in the original metadata as element content or an attribute. An element not classified as a TOC descriptor is assumed to be an Index descriptor.
[0105] (iii) If a descriptor does not have a visualidentifier or a textidentifer then a textIdentifer is created with a value that is obtained either from a name attribute of the descriptor, if it exists, or from the element name. In this regard, the media browser 101 preferably always displays a visualidentifier if one exists, otherwise the textidentifer is used.
[0106] (iv) If a descriptor contains an attribute having a name that indicates that it may be able to act as a visualIdentifier (e.g., keyFrame, thumbnail, preview, etc) then a visualIdentifier attribute is created using that attribute's value. This rule can be implemented by checking each attribute name against a list of possible visual Identifier names.
[0107] Whilst the above lists only four rules, it will be appreciated that alternate and/or additional rules may be developed to provided for meaningful interpretation of unknown metadata types.
[0108] However, the use of an XSLT stylesheet is a desired approach because a priori knowledge of the metadata format enables a stylesheet author to define informed transforms. For example, the value of the visualidentifier attribute may be taken directly from the value of another attribute. An example of a transform for some arbitrary video metadata that is based on a subset of known extended Dublin Core attributes to a form useable by Media Browser is shown in FIG. 15.
[0109] In FIG. 15 the source and transformed descriptions are depicted as XML element node trees with attributes shown in the boxes to the right of the corresponding node. Elements are represented using the oval shapes. So, for example, in the source description 1580, the VideoDocument element 1500 has five attributes 1502, namely DC.Title, DC.Creator, DC.Subject, DC.Type, and href. The notation {att_name} is used to denote the value of the attribute of the corresponding element in the source document with the name att_name. The avptr notation is a method of addressing into audiovisual content using XPointer fragments. For example:
[0110] http://. ./AusWild883.mpg#avptr(time::2:05.00,2:55.20)
[0111] refers to the fragment of the audio visual content AusWild883.mpg, where the fragment starts 2 minutes and 5 seconds from the start of the content, and ends at 2 minutes and 55.2 seconds.
[0112] An XSLT transform 1528 of FIG. 15 is configured with knowledge of the syntax and semantics of a source description 1580 for a video document description 1500 having a number of attributes 1502 (eg. DC.Title). For example, the shown transform assumes that the value of the DC.Identifier attribute in the set of attributes 1510 of the source Scene elements 1504, 1506, 1508, and the DC.Identifier attribute in the set of attributes 1518 of the Shot elements 1512, 1514, 1516 is just a reference identifier and does not provide additional information. For this reason, the transform uses these references as the values of the mb:id attribute. If these identifiers did carry significance to the user of the metadata then these attributes could have been transformed into index descriptors as, for example, the DC.Description attribute of the Scene element 1544. Note also that in FIG. 15 the transformed description does not maintain the initial frame granularity of the source description. In other words, the normalised description 1530 does not contain Frame description as in the source description 1500. This represents a decision made by the designer of the stylesheet 1528 which typically operates with knowledge of the media browser interface 101.
[0113] In the example of FIG. 15, it may initially appear counterproductive to transform a description that uses elements to represent structure and attributes to represent properties, into an element tree. However, concepts of what information should be represented as attributes and what information should be represented as elements often vary with media type, as described above. For this reason, transforming source metadata into an element tree is a form of normalising the metadata, and the transform 1528 thus results in a normalised description 1590 able to be processed and presented by the media browser 101.
[0114] The source description 1580 is an XML document seen in Appendix 1. The media browser 101 does not attempt to transform any relevant schema, if one exists. Consequently, the transformed description does not conform to a schema and therefore the description cannot be annotated. This is emphasised in the transformed description by setting the updateable attribute of the media browser 101 to false in the root element 1532 of the transformed description 1590. The XSLT stylesheet used to achieve the transform 1528 is seen in Appendix 2.
[0115] III. Metadata Servers
[0116] A link to a metadata server 212 is represented using a URI. An expression describing the request is appended to a URI that uniquely identifies the metadata server 212. For example, the URI: http://somesite/myMetadata/Svr?<query_string>, has an identifier component which is the part of the URI preceding the question mark symbol and a request component which carries information about the request to be sent to the metadata server 212. The identifier component is itself a URI.
[0117] The preferred arrangement interprets the link by first using the identifier part of the URI to locate the metadata server 212 on the network 102. Failure to identify the metadata server 212 results in a failed link and the media browser 101 user can be notified of the failure to detect a running process. In the preferred arrangement, the metadata server 212 must be running as a process and the process being run by the metadata server 212 cannot be initiated from the media browser 101. In alternative arrangements, the media browser 101 may be configured to initiate the one or more metadata server processes.
[0118] When an identified metadata server 212 receives a request, the server 212 interprets the request and replies with an XML description that satisfies the request. Preferably the description is sent as XML, however the description may be encoded if desired or necessary. The types and elements used in the description are preferably defined in a schema that the media browser 101 can access. Although, the descriptions are not validated against their schema by the media browser 101 in the described arrangement, the media browser 101 prefers to have access to the schema. If a schema is not available then some media browser functions may not be available. Preferably, the types and elements of the schema used by the metadata server 212 are derived using the core attributes defined above in Section II.
[0119] The requests directed at the metadata server 212 may be for metadata required for browsing or a search expression. The request can also specify various parameters that control the delivery of the XML back to the requesting media browser service.
[0120] The results of requests that are directed at a metadata server 212
are descriptions which are preferably contained in an element, either of the type, or derived from the type MetadataCollection, an example of which is provided below as Example F. The MetadataCollection type provides a means for the metadata server to explicitly return information to the requesting media browser application or service (eg. the number of items that satisfy the request and the number of items that are actually returned in the description).
EXAMPLE F
[0121]
6
1. <complexType = `MetadataCollection`> 2. <attribute name = `descriptorType` type = mb:DescriptorType fixed = `Other`/> 3. <attribute name = `requestID` type = `string`/> 4. <attribute name = `noItemsIdentified` type = `integer`/> 5. <attribute name = `noItemsReturned` type = `integer`/> 6. <attribute name = `startItemReturned` type = `integer`/> 7. </complexType>
[0122] Before details of the request syntax are described, the overall processing model for the communication performed by the media browser 101
with a metadata server 212 is described with reference to the flow chart of FIG. 3. Firstly, in step 300, the metadata server 212 is identified from the URI. The request is then sent to the identified metadata server 212 in step 301. Specifically, what occurs in the preferred arrangement is that the URI containing the metadata server request is fetched using the HTTP. In other words, steps 300 and 301 are performed as a single process. The system then waits in step 302 for a reply. A check is performed in step 303 to see if a reply has been received. If not, then the waiting period is compared with a predetermined timeout in step 304
and if the waiting period is not greater than the timeout, control passes back to step 302. If the waiting period is greater than the timeout, an error is reported to the media browser user in step 306 and the process terminates in step 310 (ie. the metadata server 212 has not been reached for some reason).
[0123] If a reply is received in step 303 the media browser 101 examines the response. If the media browser 101 cannot process the response (eg. the response is not correctly structured) then an error is reported in step 306 and the process terminates in step 310. If the response is able to be processed (ie. parsed) then it is passed to the appropriate module in the media browser 101 for further processing and the process terminates in step 310.
[0124] The request syntax will now be discussed in more detail.
[0125] Typically most legacy databases store metadata in relational databases and access these databases using Standard Query Language (SQL). On the other hand, XML documents, and hence the media browser 101, represent information (metadata) in an hierarchical fashion. The metadata server 212 request must provide a bridge between the two different representations. Although it may be simpler to implement metadata servers if the request was based on SQL, the media browser 101 uses XML-related technology. In particular, the metadata server request is based on the W3C Recommendation XPath Version 1.0, which may be found at http://www.w3.org/TR/xpath. It may also be possible to use the emerging W3C standard XQuery.
[0126] XPath provides an extremely understandable way to describe a class of nodes which are to be processed. It is declarative rather than procedural and uses a simple pattern syntax modelled after directory notation. The most common form of XPath expressions are location paths. A location path selects a set of nodes relative to a context node. A location path can be absolute (starts with a `/` to denote the root node) or relative (to a context node). For example, the expression book/author is a relative location path which selects all author children of book children of the context node. The XPath syntax is most easily understood by way of examples and examples are provided at http://www.w3.org/TR/xpat- h. A number of XPath examples are as follows:
[0127] (i) /* selects all the children of the root node
[0128] (ii) /doc/chapter[5]/section[2] selects the second section of the fifth chapter of the doc.
[0129] (iii) */para selects all the para grandchildren of the context node
[0130] (iv) para[@type="warning"] selects all the para children of the context node that have a type attribute with the value of warning.
[0131] (v) chapter[title="Introduction"] selects the chapter children of the context node that have one or more title children with string value equal to Introduction.
[0132] The location path syntax of XPath is directly useable for representing browsing requests and also for structured queries. In order to package unstructured queries (search expressions) as requests to the metadata server, Xpath's function notation is used. This requires a more detailed understanding of XPath.
[0133] The primary syntactic construct in XPath is the expression. An expression is evaluated to yield an object which is one of the following four basic types:
[0134] Node-set (an unordered collection of nodes without duplicates);
[0135] Boolean (true or false);
[0136] Number (a floating point value); and
[0137] String.
[0138] A location path, as discussed above, is a special case of an XPath expression. A location path returns the set of nodes selected by the path. The part of the location path that is enclosed by square brackets `[ ]` is called the predicate. The predicate is itself an XPath expression which returns a Boolean result which serves to filter the node set selected with respect to the defined axis (tree relationship between the nodes selected and the context node) of the location step.
[0139] An expression can also be a function call, which, optionally, takes arguments. The EBNF (Extended Backus Naur form) definition of a function call is taken from Section 3.2 of the above referenced W3C Recommendation found at http://www.w3.org/TR/xpath. An example of such an expression is:
[0140] FunctionCall::=FunctionName `(` (Argument(`,`Argument)*)?`)` Argument::=Expr
[0141] Note the production Expr is the basic construct of XPath. A core function library exists which must be implemented by XPath implementations. Each function in the library is specified using a function prototype which gives the return type, the name of the function and the type of arguments. Although no core functions exist that can be used to pass the request to perform an unstructured query, it is trivial to extend XPath by defining a user function.
[0142] Therefore, the syntax for requests is based on XPath with additional functionality to specify parameters that control the transmission of metadata to media browser. The syntax is detailed below using EBNF:
[0143] Request::=XPathExpression (`&` ParameterList)?
[0144] ParameterList::=MaximumItems? (`&` StartItem)? (`&` NumberLevels)? (`&` TransactionID)?
[0145] MaximumItems::=`maxItems=` Number
[0146] StartItem::=`startItem=` Number
[0147] NumberLevels::=`noLevels=` Number
[0148] TransactionID::=`requestID=` Nmtoken
[0149] Number::=Digit (Digit)*
[0150] The Request contains a single XPathExpression followed by an optional ParameterList. The XPathExpression matches the production LocationPath of the XPath Version 1.0 described at http://www.w3.org/TR/xpath with the exception that the predicate expression must support the following additional function call:
[0151] Function: Boolean query(unstructuredQuery)
[0152] This function can be included in a location path and can be used to request that the metadata server 212 pass the unstructured query on to a search engine associated with the database 210. For example, the location path /Lifestyles/images[query("surfing")] would therefore be interpreted by a metadata server 212 as finding all those images that are children of the Lifestyles node that satisfy the unstructured query "surfing". Note that the expression unstructuredQuery must be encoded appropriately for inclusion in the URI. Appropriate encoding is specified by the Network Working Group's Request for Comments (RFC) 2396 available from http://www.ietf.org/rfc.html.
[0153] Both Nmtoken and Digit mentioned above are defined in the XML Version 1.0 Recommendation (see http://www.w3.org/TR/1998/REC-xml-1998021- 0).
[0154] The ParameterList component of a Request is optional. ParameterList contains the optional individual productions MaximumItems, StartItem, NumberLevels and TransactionID which specify the maxItems, startItem, noLevels and requestID parameters, respectively. If any of these parameters are not specified then the media browser 101 uses a default value.
[0155] The parameter maxItems refers to the maximum number of items to be returned by the metadata server 212. So, for example, if a particular section of a collection contained a large number of items then media browser could request the first, say (n=101) items. The default value is specified by the user within the media browser 101. This parameter is automatically inserted into the Request by the media browser 101. If the user does not specify a value, a system default is used (eg. maxItems=100)
[0156] The startItem parameter allows the media browser 101 to get the next n items starting from a specified item number. The startItem parameter is useful in retrieving search results from a metadata server 212. If it is not specified in a URI, then a value of `1` is assumed by the metadata server 212.
[0157] The parameter noLevels enables the media browser 101 to define the structure of the returned description. Typically a single (hierarchical) level of description is required, however more levels may be desirable in the event of a user requesting a particular view that contains more than one level of the hierarchy (eg. scenes and clips for a video). If this parameter is not specified then a value of one (hierarchical) level is assumed.
[0158] The requestID parameter allows a request to be formulated that refers to a previous request. For example, it may be desirable to obtain the next set of items from a previous request. If a requestID is specified then the metadata server 212 will attempt to reply using the previous request that is identified by the requestID. If the request identified by the requestID is no longer available in a cache of the metadata server 212 then the processing associated with the request will have to be repeated. The requestID is a unique value for the metadata server 212 and is generated by the metadata server 212 (and may be based on a timestamp representing the receipt of the request by the metadata server 212). The requestID can be returned to the media browser 101 using an element having the type, or being derived from the type, MetadataCollection (see Example F).
[0159] Browsing Requests
[0160] In one implementation a default Request, used when initially gaining browsing entry to a metadata collection for the purposes of browsing, may be the XPathExpression, "/*" with any desired parameters formatted in a ParameterList (eg. "/*&maxItems=100&noLevels=2"). The corresponding URI would then be:
[0161] http://mySite/myMetadataSvr?/*&maxItems=100&noLevels=2
[0162] where //mySite/myMetadataSvr is the URI of the metadata server process.
[0163] On receipt of this request, the metadata server 212 invokes a procedure to satisfy the request. This procedure results in the dynamic generation of an XML description of the associated metadata collection. This description thus reflects a structure by which the associated metadata collection may be browsed. It is common for the metadata collection to be stored in a database of some form. For example, the metadata server 212 may be configured to provide category or publisher sections for the collection so that users can more readily browse the metadata. Typically these categories are reflected in the schema used to describe the database items. Alternatively, the metadata server 212 may reply to the request from the media browser 101 by simply sending a list of all the separate items in the database.
[0164] For the purpose of describing a typical scenario of use, consider an image metadata database with the following structure. The database is composed of a number of categories including Lifestyles, Sports and Animals as illustrated in FIG. 7. Whereas the Lifestyles category has no further structure (ie. it is composed of solely images), the Sports category is structured further into subcategories and the Animals category is structured further into subcategories and then image classes. It is not important how this data is actually stored for the purposes of the present description.
[0165] There is no fixed way that a metadata server 212 may implement its translation facility for its metadata collection. One possible way is described below.
[0166] The metadata server 212 generates descriptions based on an XML schema definitions of types for Categories, Subcategories, Classes and Images. Typically these schema definitions reside in a single XML Schema document. Preferably these definitions use the core attributes of the media browser 101 and the global XLink attributes (see Section II above). A basic example of such definitions is provided below in Example G of an XML Schema. Note, that the definitions can use the xlink:show attribute to direct the media browser 101 to "embed" the target of the link at the source (ie. the description fragment generated by the metadata server 212
would be simply included as the content of the link source element). Definitions may also set this attribute value to "replace", in which case the media browser 101 would replace the descriptor, which is the link source, with the description fragment served by the metadata server 212.
EXAMPLE G
XML Schema Example
[0167]
7
1. <?xml version=`1.0`?> 2. <schema 3. xmlns = `http://www.w3.org/1999/XMLSchema` 4. xmlns:mb = `http://www.cisra.com.au/MediaBrowser` 5. xmlns:xlink = `http://www.w3.org/1999/xlink` 6. xmlns:image = `http://www.somesite/ImageLibrary` 7. targetNamespace = `http://www.somesite/ImageLibrary` 8. version = `1.0`> 9. <element name = `ImageLibrary`> 10. <complexType> 11. <complexContent> 12. <extension base = `mb:MetadataCollection`> 13. <choice> 14. <element ref = `im:Category` minOccurs = `0` maxOccurs = `unbounded`/> 15. <element ref = `im:SubCategory` minOccurs = `0` maxOccurs = `unbounded`/> 16. <element ref = `im:Class` minOccurs = `0` maxOccurs = `unbounded`/> 17. <element ref = `im:Image` minOccurs = `0` maxOccurs = `unbounded`/> 18. </choice> 19. </extension> 20. </complexContent> 21. </complexType> 22. </element> 23. <element name = `Category`> 24. <complexType> 25. <choice> 26. <element ref = `im:SubCatgeory`/> 27. <element ref = `im:Image`/> 28. </choice> 29. <attributeGroup ref = `mb:TOCDescriptorAttributes`/> 30. <attribute ref = `xlink:type`/> 31. <attribute ref = `xlink:href`/> 32. <attribute ref = `xlink:role`/> 33. <attribute ref = `xlink:show`/> 34. </complexType> 35. </element> 36. <element name = `SubCategory`> 37. <complexType> 38. <choice> 39. <element ref = `im:Class`/> 40. <element ref = `im:Image`/> 41. </choice> 42. <at