-
TECHNISCHES GEBIET
-
Die
vorliegende Erfindung betrifft eine Indexstruktur von Metadaten,
die zum Suchen nach Informationen über Inhalte bereitgestellt
wird, und ein Verfahren zum Bereitstellen von Indices der Metadaten
und ein Verfahren und eine Vorrichtung zum Suchen nach den Metadaten
unter Verwendung der Indexstruktur der Metadaten. Insbesondere betrifft
die vorliegende Erfindung eine Indexstruktur von Metadaten, die
Informationen über
einen Schlüssel
enthalten, von denen wenigstens ein Teil so codiert ist, dass Informationen über Inhalte effizienter
gesucht werden können,
wenn die XML-Metadaten für
die digitalen Inhalte, die im TV-Anytime-Forum, (hierin im Folgenden
als "TVA" bezeichnet), (hierin
im Folgenden als "TVA-Metadaten" bezeichnet), in
einer unabhängigen
Einheit in Fragmente unterteilt und auf einer Fragmentbasis übertragen
werden, ein Verfahren zum Bereitstellen von Indices von Metadaten,
und ein Verfahren und eine Vorrichtung zum Suchen der Metadaten
unter Verwendung der Indices von Metadaten.
-
STAND DER TECHNIK
-
Das
TV-Anytime-Forum ist eine private Standardisierungsorganisation,
die im September 1999 mit dem Ziel gegründet wurde, Standards für die Bereitstellung
von Diensten mit audiovisuellem Bezug in einer benutzerfreundlichen
Umgebung zu entwickeln, wie beispielsweise ein Personal Digital
Recorder (PDR), der eine persönliche
Speichervorrichtung mit großem
Volumen aufweist. Insbesondere ist das Ziel der Dienste, es allen
Benutzern zu ermöglichen,
verschiedene Typen von Programmen, (wie beispielsweise herkömmliche Rundfunkdienste,
interaktive Online-Dienste und dergleichen), zu einem gewünschten
Zeitpunkt und in einer gewünschten
Weise, basierend auf der persönlichen
Speichereinrichtung, anzusehen und anzuhören.
-
Das
TV-Anytime-Forum hat Arbeitsgruppen für Geschäftsmodelle, Referenzierung
von System-/Übertragungs-Schnittstellen/Inhalten,
Beschreibungen, Metadaten, Rechte-Management und Schutz und dergleichen
eingesetzt, um eine Standardisierung einzurichten. In Bezug auf
die in der vorliegenden Erfindung betroffenen Metadaten wurde der "1. Entwurf der Metadaten-Spezifikation
SP003v1.3" bis zum
Juni 2002 veröffentlicht.
-
Eine
Konfiguration des PDR wird kurz unter Bezugnahme auf 1 beschrieben.
Der PDR 100 empfängt
Audio-/Video-Signale und Metadaten über eine Reihe von Netzen,
wie beispielsweise Raumwellen, Satellitenwellen, Internet-Netze
und dergleichen von einem Anbieter 200 für die Bereitstellung
von Video-/Audio-Signalen, sammelt Seh- und Hörmuster und persönliche Vorlieben
von Benutzern, falls notwendig, und überträgt sie zum Anbieter 200 für die Bereitstellung
der Video-/Audio-Signale. Der PDR 100 umfasst eine Speichereinrichtung
mit hohem Volumen, um darin die empfangenen Video-/Audio-Signale und Metadaten
zu speichern. Der PDR 100 umfasst des Weiteren Software
zum Speichern und Wiedergeben der Video-/Audio-Signale und eine
elektronische Programmführungs-(EPG)Anwendung
zum Abrufen und Anzeigen von Metadaten für die Video-/Audiosignale.
Der Benutzer legt die Metadaten für die Video-/Audio-Daten, d.
h. Titel der Programme, Programm-Wiedergabezeiten und dergleichen, über eine
tabellarische Führungsmaske
(grid guide screen) der EPG-Anwendung fest, die in 2 gezeigt
ist, wählt
ein gewünschtes
Programm und empfängt es über das
Netz in Echtzeit oder gibt die vorher in der Speichereinrichtung
mit hohem Volumen gespeicherten Video-/Audio-Daten wieder.
-
Die
Metadaten beziehen sich auf Daten, die Inhalte beschreiben, wie
beispielsweise Titel und Programmübersichten, und werden als "Daten über Daten" definiert. In den
TVA-Metadatenspezifikationen
des TV-Anytime-Forums ist ihre Struktur unter Verwendung von XML-Schema-Sprache,
(siehe XML 1.0 von W3C), definiert, der Standard des W3C, (ein Konsortium
zur Förderung
der Standards für
XML), und die Semantik und Attribute der jeweiligen Metadatenelemente
sind ebenfalls definiert. Die TVA-Metadaten, die für Rundfunkinhalte
relevant sind, werden in einem XML-Dokument mit einem Stammknoten "TVAMain (300)" konfiguriert, wie
in 3 gezeigt. Die TVA-Metadaten, die für Programme
relevant sind, werden zum Beispiel mit Knoten, wie zum Beispiel
ProgramInformation-Tabelle, Groupinformation-Tabelle, ProgramLocation-Tabelle,
ServiceInformation-Tabelle und dergleichen, unter dem Knoten "Programmbeschreibung" konfiguriert.
-
In
dem TV-Anytime-Forum werden die TVA-Metadaten auf einer Fragmentbasis
als eine unabhängige Einheit übertragen,
um ein großes
Volumen von TVA-Metadaten in einem Datenstromformat zu übertragen. Das
Fragment-Konzept wird kurz unter Bezugnahme auf 4 beschrieben.
Die Fragmente werden erhalten, indem die TVA-Metadaten, die mit
den in 3 gezeigten XML-Dokumenten konfiguriert wurden,
in vorgegebene Baumstrukturen unterteilt werden. Zum Beispiel wird
in dem Fall, in dem die gesamten TVA-Metadaten in eine Baumstruktur
(Fragment TVAMain) mit einem oberen Knoten von "TVAMain" und vorgegebene abgeleitete Knoten
unter diesem oberen Knoten, eine Baumstruktur (Programminformationen)
mit einem oberen Knoten einer Programminformationen-Tabelle und
abgeleitete Knoten unter diesem oberen Knoten, eine Baumstruktur
(Fragment Rundfunkereignis) mit einem oberen Knoten der Rundfunkereignis-Informationen und
abgeleitete Knoten unter diesem oberen Knoten, unterteilt werden,
jede der unterteilten Baumstrukturen zu einem Fragment. Die Fragmente
können
unabhängig
von den anderen Fragmenten übertragen
werden, und auf die Fragmente kann einzeln zugegriffen werden.
-
Für den Einzelzugriff
auf die Fragmente ist es notwendig, einen Knoten zu kennen, auf
den von einem übertragenen
TVA-Metadatenfragment verwiesen wird, d. h. einen Knoten, der dem
oberen Knoten des TVA-Metadatenfragments in der gesamten Metadaten-Baumstruktur entspricht,
und relative Pfade in den TVA-Metadatenfragmenten von Schlüsseln zu
beschreiben, die in dem übertragenen
TVA-Metadatenfragment enthalten sind. Zu diesem Zweck wird XPath
verwendet, das eine Syntax für
die Beschreibung eines Pfads zu einem oder mehreren Knoten in einem
vom W3C definierten XML-Dokument ist. Der Begriff "Schlüssel" bezieht sich auf
ein spezifisches Feld der Metadaten, die zum Indexieren verwendet
werden, und bedeutet auch abgeleitete Knoten eines Knotens, auf
den von einem Fragment verwiesen wird. Felder (für Suchbedingungen), die vom
Benutzer eingegeben werden, wie zum Beispiel "Dienst-ID" und "Veröffentlichungszeit" entsprechen den
Schlüsseln.
-
Um
eine effiziente Suche nach und Zugang zu Fragmenten bereitzustellen,
ist zusätzlich
eine Indexstruktur für
die Schlüssel
erforderlich, die in den Metadatenfragmenten enthalten sind, und
des Weiteren werden Informationen über die Indexstruktur, d. h.
Indexinformationen, unabhängig
von den Metadatenfragmenten übertragen.
-
Wenn
ein Benutzer unter der vom TV-Anytime-Forum bereitgestellten Umgebung
Informationen über ein
Programm abrufen möchte,
das einer vorgegebenen Veröffentlichungszeit-Bedingung
entspricht, werden die dazu unabhängig von den Fragmenten übertragenen
Indexinformationen verwendet, um die Speicherstelle (Kennung) eines
Metadatenfragments zu identifizieren, das der gewünschten
Veröffentlichungszeit-Bedingung entspricht,
und dann wird auf Basis der Speicherstelle (Kennung) ein Zugriff
auf das relevante Metadatenfragment vorgenommen, um so die Metadaten
zu extrahieren, die der Veröffentlichungszeit-Bedingung
entsprechen.
-
Die
TV-Anytime-Spezifikation TV145, J.P.Evain, "1st Draft of
Metadata Specification SP003v1.3," TV-Anytime-Forum, 17. Konferenz, Montreal,
Kanada, Juni 2002, hierin im Folgenden als "Schlüsselindextechnik-Referenz" (key index art reference)
bezeichnet, schlägt
eine Schlüsselindex-Datenstromstruktur
für einen Metadatenfragment-Index
vor.
-
Der
Begriff eines vom TV-Anytime-Forum definierten Containers wird vor
der Beschreibung der Indexstruktur beschrieben.
-
Das
TV-Anytime-Forum definiert einen Container als einen Speicher oberster
Ebene, zu dem alle Daten, die die vorher genannten Indexinformationen
abdecken, und die Metadatenfragmente übertragen werden, was als Typ
einer Übertragung
oberster Ebene bezeichnet wird. Wenn der Container kurz beschrieben
wird, so umfasst jeder Container eine Vielzahl von Abschnitten,
wobei in jedem die Indexinformationen oder die Metadatenfragmente
gespeichert werden. Der Container kann gemäß den darin enthaltenen Informationen
in einen Index-Container und einen Daten-Container klassifiziert
werden: der Index-Container nimmt Indexinformationen-Abschnitte
auf, wie beispielsweise einen Schlüsselindexlisten-(kex_index_list)Abschnitt,
einen Schlüsselindex-(key_index)Abschnitt,
einen Unterschlüsselindex-(sub_key_index)Abschnitt,
einen Zeichenkettenspeicher-(string_repository)Abschnitt und einen
Fragmentdatenspeicher-(fragment_data_repository)Abschnitt, wogegen
ein Daten-Container Abschnitte von Metadatenfragmenten aufnimmt,
wie beispielsweise einen Elementetabellen-(elements_table)Abschnitt,
einen Zeichenkettenspeicher-(string_repository)Abschnitt und einen
Fragmentdatenspeicher-(fragment_data_repository)Abschnitt. Die vorgenannte
Klassifizierung wird auf Basis des Inhalts der Informationen vorgenommen,
die in den Containern ent halten sind. Sowohl der Index-Container
als auch der Daten-Container sind in ihrer Konfiguration identisch.
-
Unter
Bezugnahme auf den vom TV-Anytime-Forum definierten Container, wie
in 5 dargestellt, umfasst der Container ein (nicht
gezeigtes) Containerkennungs-(container_id) Datenfeld und eine große Anzahl
von Abschnitten. In jedem Abschnitt werden die in dem 'section_body' gespeicherten Inhalte
gemäß einem
codierten Wert in der 'section_id' identifiziert. Zum
Beispiel wird ein Abschnitt 10, dessen codierter Wert in 'section_id' '0X0004' beträgt, als ein Schlüsselindexlisten-(key_index_list)Abschnitt
identifiziert, ein Abschnitt 20, dessen codierter Wert
in 'section_id' '0X0005' beträgt, wird als ein Schlüsselindex-(key_index)Abschnitt
identifiziert, ein Abschnitt 30, dessen codierter Wert
in 'section_id' '0X0006' beträgt, wird als ein Unterschlüsselindex-(sub_key_index)Abschnitt
identifiziert, ein Abschnitt 40, dessen codierter Wert
in 'section_id' '0X0001' beträgt, wird als ein Elementtabellen-(element_table)Abschnitt
identifiziert, und ein Abschnitt 50, dessen codierter Wert
in 'section_id' '0X0003' beträgt, wird als ein Fragmentdatenspeicher-(fragment_data_repository)Abschnitt
identifiziert.
-
Die
TVA-Metadatenfragmente werden in dem Fragmentdaten-Speicher-(fragment_data_repository)Abschnitt 50 des
Daten-Containers gespeichert und dann übertragen. Die Kennungsinformationen
(handle_value) für
die TVA-Metadatenfragmente in dem Daten-Container sind in dem Elementtabellen-Abschnitt 40 des
Daten-Containers enthalten.
-
Folglich
wird das TVA-Metadatenfragment nur durch die Container-Kennungsinformationen (container_id)
und die Metadatenfragment-Kennungsinformationen (handle_value) des
Containers identifiziert, der das TVA-Metadatenfragment enthält.
-
Die
oben beschriebene Schlüsselindextechnik-Referenz
schlägt
die Schlüsselindexstruktur
zum Indexieren der TVA-Metadatenfragmente vor, die in dem vorgenannten
Daten-Container gespeichert sind, d. h. eine Struktur, die sich
aus dem Schlüsselindexlisten-(key_index_list)Abschnitt 10,
dem Schlüsselindex-(kex_index)Abschnitt 20 und
dem Unterschlüsselindex-(sub_key_index)Abschnitt 30 zusammensetzt.
Da die Syntax der Struktur in der oben beschrieben Schlüsselindextechnik-Referenz
im Detail beschrieben ist, wird ihre ausführliche Beschreibung weggelassen.
Hierin wird die Struktur im Folgenden unter Bezugnahme auf 6 beschrieben,
die die Struktur nach Segmenten der Indexinformationen veranschaulicht.
-
Der
Schlüsselindexlisten-(key_index_list)-Abschnitt 10,
der in der Schlüsselindexstruktur
definiert ist, stellt eine Liste aller übertragenen Schlüssel bereit.
Die Liste enthält
Schlüsselinformationen,
die jeden Schlüssel
identifizieren, sowie Identifizierungsinformationen über den
Schlüsselindex-(key_index)Abschnitt 20,
der später
zu beschreiben sein wird. Die Schlüsselinformationen umfassen
(1) Speicherstelleninformationen des Metadatenfragments, das für den Schlüssel relevant
ist, und (2) Speicherstelleninformationen des Schlüssels in
dem Metadatenfragment. Die Speicherstellen-Informationen des Metadatenfragments
werden in XPath (fagment_xpath_ptr) im TVA ausgedrückt. Die
Speicherstellen-Informationen des Schlüssels werden in XPath (key_xpath_ptr)
für den
relativen Pfad in dem relevanten Fragment der Knoten, die als der
Schlüssel
verwendet werden, in dem TVA ausgedrückt.
-
Der
XPath des Metadatenfragments ist ein Pfad zu dem Stammknoten des
XML-Dokuments der TVA-Metadaten, d. h. ein absoluter Pfad, und der
XPath der Knoten, die als die Schlüssel verwendet werden, d. h.
der XPath der Schlüssel,
stellt einen relativen Pfad des Schlüssels für das relevante Metadatenfragment dar.
Der XPath für
das Metadatenfragment und der XPath für den Schlüssel werden jeweils in einem 'fragment_xpath_ptr'-Segment 11 und
einem 'key_xpath_ptr'-Segment 12 gespeichert.
-
Des
Weiteren umfasst der Schlüsselindexlisten-(key_index_list)Abschnitt 10 die
Identifizierungsinformationen über
den Schlüsselindex-(kex_index)Abschnitt 20 jedes
Schlüssels,
der später
zu beschreiben sein wird, (d. h. die Container-Kennungsinformationen
(container_id) des Containers, in dem der Schlüsselindex-(key_index)Abschnitt 20 und
die Schlüsselindex-Kennungsinformationen
gespeichert sind). Die Container-Kennungsinformationen und die Schlüsselindex-Kennungsinformationen
werden jeweils in einem 'index_container'-Segment des Schlüsselindexlisten-(key_index_list)Abschnitts 10 und
einem 'key_index_identifier'-Segment gespeichert
und dann übertragen.
-
Der
Schlüsselindex-(key_index)Abschnitt 20,
der in der Schlüsselindexstruktur
definiert ist, stellt eine Liste von Informationen bereit, die die
Wertebereiche des Schlüssels
dar stellen, die in dem jeweiligen Unterschlüsselindex-(sub_key_index)Abschnitt 30 enthalten
sind, d. h. den höchsten
Wert des Schlüssels
von den Werten des Schlüssels
innerhalb des jeweiligen Bereichs, (hierin im Folgenden als ein 'repräsentativer
Schlüsselwert' bezeichnet), und
Identifizierungsinformationen über
den Unterschlüsselindex(sub_key_index)Abschnitt 30,
der für
jeden repräsentativen
Schlüsselwert
relevant ist, (d. h. die Container-Kennungsinformationen (container_id)
des Containers, in dem der Unterschlüsselindex-(sub_key_index)Abschnitt
und die Unterschlüsselindex-Kennungsinformationen
gespeichert sind.
-
Dementsprechend
enthält
der Schlüsselindex-Abschnitt
(key_index) 20 ein 'key_index_identifier'-Segment, um darin
die Schlüsselindex-Kennungsinformationen
zu speichern, die in dem Schlüsselindexlisten-(key_index_list)Abschnitt 10 definiert
sind, 'high_key_value'-Segmente 13,
um dann die repräsentativen Schlüsselwerte
der jeweiligen Wertebereiche des Schlüssels zu speichern, der in
dem Unterschlüsselindex-(sub_key_index)Abschnitt 30 enthalten
ist, und 'sub_index_container'-Segmente und 'sub_index_identifier'-Segmente für die Identifizierungsinformationen über den
Unterschlüsselindex-(sub_key_index)Abschnitt 30,
(d. h. für
die Container-Kennungsinformationen (container_id) des Containers,
in dem der Unterschlüsselindex-(sub_key_index)Abschnitt
und die jeweiligen Unterschlüsselindex-Kennungsinformationen
gespeichert sind. Der Unterschlüsselindex-(sub_key_index)Abschnitt 30,
der in der Schlüsselindexstruktur
definiert ist, stellt eine Liste der Werte des Schlüssels bereit.
Die Liste umfasst des Weiteren Identifizierungsinformationen über Metadatenfragmente,
die den Werten des Schlüssels
entsprechen, (d. h. die Container-Kennungsinformationen (container_id)
der Container, die die Metadatenfragmente und die Kennungsinformationen
(handle_value) der Metadatenfragmente speichern.
-
Dementsprechend
enthält
der Unterschlüsselindex-(sub_key_index)Abschnitt 30 ein 'sub_index_identifier'-Segment, um dann
die Unterschlüsselindex-Kennungsinformationen
zu speichern, die in dem Schlüsselindex-(key_index)Abschnitt 20 definiert
sind, 'key_value'-Segmente 14,
um darin die jeweiligen Wertebereiche des Schlüssels zu speichern, 'target_container'-Segmente, um dann
die jeweiligen Container-Kennungsinformationen (container_id) der
Container zu speichern, in denen die Metadatenfragmente gespeichert
sind, und 'target_handle'-Segmente, um dann
die jeweiligen Fragmentdaten-Kennungsinformationen (handle_value)
zu speichern. Die Schlüsselindexstruktur
ist leichter unter Bezugnahme auf 7 zu verstehen,
die die Indexinformationen veranschaulicht.
-
7 zeigt
den Schlüsselindexlisten-(key_index_list)Abschnitt
mit Schlüsseln,
die für
die Dienstkennung, die Veröffentlichungszeit
und die Veröffentlichungsdauer
relevant sind. Der obere Knoten des Metadatenfragments mit den Schlüsseln, die
für die
Dienstkennung, die Veröffentlichungszeit
und die Veröffentlichungsdauer
relevant sind, ist 'BroadcastEvent' 310, wie
in 3 gezeigt, was durch einen schattierten Block angegeben
wird. Dementsprechend wird der XPath '/TVAMain/ProgramDescription/Program-LocationTable/BroadcastEvent' für das 'BroadcastEvent'-Fragment in dem 'fragment_xpath_ptr'-Segment 11a gespeichert, und
die Xpaths zu den Schlüsseln
der Dienstkennung, der Veröffentlichungszeit
und der Veröffentlichungsdauer
für das 'BroadcastEvent'-Fragment, d. h. '@Serviceld' (311a in 3, 'Event/Description/PublishedTime' (311b in 3)
und 'EventDescription/PublishedDuration' (311c in 3)
sind im 'key_xpath_ptr'-Segment 12a gespeichert.
-
Die
Indexstruktur wird unter Bezugnahme auf 7 verständlicher,
die die Indexinformationen veranschaulicht.
-
7 zeigt
den Schlüsselindexlisten-(key_index_list)Abschnitt
mit Schlüsseln
für Dienstkennung,
Veröffentlichungszeit
und Veröffentlichungsdauer,
wobei ein oberer Knoten der Metadaten, der sich auf die Dienstkennung,
die Veröffentlichungszeit
und die Veröffentlichungsdauer
bezieht, 'BroadcastEvent' 310 ist,
der in 3 als schattierter Teil angegeben ist. Dementsprechend
wird der XPath für
das 'BroadcastEvent'-Fragment '/TVAMain/ProgramDescription/ProgramLocationTable/BroadcastEvent' in dem 'fragment_xpath_ptr'-Segment gespeichert,
und die jeweiligen XPaths für
Schlüssel
von Dienstkennung, Veröffentlichungszeit
und Veröffentlichungsdauer
für das 'BroadcastEvent'-Fragment, '@Serviceld' (siehe 311a von 3), 'EventDescription/PublishedTime' (siehe 311b von 3)
und 'EventDescription/PublishedDuration' (siehe 311c von 3)
werden in dem 'key_xpath_prt'-Segment gespeichert.
-
Des
Weiteren zeigt 7 den Schlüsselindex-(key_index)Abschnitt 20 und
den Unterschlüsselindex-(sub_key_index)Abschnitt 30 für die Dienstkennung,
(den XPath des Schlüssels:
@ServiceID) des Schlüsselindexlisten-(key_index_list)Abschnitts 10.
-
In
einer solchen Indexstruktur, wenn eine Suchbedingung zum Suchen
der Metadaten eingegeben wird, Speicherplatzinformationen auf einem
Feld der eingegebenen Suchbedingung in den Metadaten bestimmt werden,
und die bestimmten Speicherplatzinformationen mit den Schlüsselinformationen
in der Schlüsselindexliste
verglichen werden, um so den Schlüssel mit den bestimmten Speicherplatzinformationen
in der Schlüsselindexliste
zu suchen, wird ein Overhead verursacht, weil ein Vergleich beider
XPaths notwendig ist. Das gleiche Problem tritt ein, wenn die Schlüssel, die
relative Pfade von den Fragmenten aus den Schlüsselinformationen angeben,
in Bezug auf Speicherplatzinformationen verglichen werden. Dieses
Problem wird um so ernster, wenn Fragmente, die komplexer als die
Schlüssel
sind, in Bezug auf Speicherstelleninformationen verglichen werden.
Da der XPath des Fragments, das die Speicherstelleninformationen
aus den Schlüsselinformationen
darstellt, einen Pfad zu einem relevanten Knoten von dem Stammknoten
auf dem XML-Dokument beschreibt, sind die Übertragungskosten ineffizient
und die Interpretationskosten des XPath in dem Endgerät sind hoch.
Zum Beispiel kann der XPath des Rundfunkereignis-Fragments, das
die Speicherstelleninformationen eines Programms aus den TV-Anytime-Fragmenten
angibt, als '/TVAMain/ProgramDescription/ProgramLocationTable/BroadcastEvent' ausgedrückt werden.
Indessen kann der XPath, um einen Knoten auf dem XML-Dokument darzustellen,
auf alternative Weise ausgedrückt
werden. In dem Fall eines Rundfunkereignisses kann der XPath zusätzlich zu
der vorgenannten normalen Darstellung alternativ ausgedrückt werden,
wie beispielsweise '/TVAMain/BroadcastEvent' oder '//BroadcastEvent' und so weiter. Hierin
bedeutet '//' einen abgeleiteten
Knoten in der Struktur eines XML-Dokuments. Daher ist eine Operation
zum Überprüfen unter
Verwendung des XPath, ob Fragmente die gleichen sind, nicht einfach
eine, die einfache Zeichenketten miteinander vergleicht. Insbesondere
wird Overhead beim Analysieren/Vergleichen des relevanten Pfads
verursacht, wenn der XPath in einem abgekürzten Format ausgedrückt wird.
-
OFFENBARUNG DER ERFINDUNG
-
Dementsprechend
ist ein Gesichtspunkt der vorliegenden Erfindung, eine Indexstruktur
von Metadaten bereitzustellen, die Informationen über einen
codierten Schlüssel
enthalten, um es zu gestatten, dass Informationen über Inhalte
schneller gesucht werden können.
-
Ein
weiterer Gesichtspunkt der vorliegenden Erfindung ist es, ein Verfahren
zum Bereitstellen eines Index für
die Metadaten, das fähig
ist, die Informationen über
Inhalte schnell zu suchen, ein Verfahren zum Suchen der Metadaten
unter Verwendung des Metadaten-Index und eine Suchvorrichtung, die
denselben verwendet, bereitzustellen. Weitere Gesichtspunkte und/oder
Vorteile der vorliegenden Erfindung werden teilweise in der folgenden
Beschreibung dargelegt und werden teilweise aus der Beschreibung
ofenkundig oder können
durch Ausübung
der Erfindung erfahren werden.
-
Um
die oben genannten und/oder andere Gesichtspunkte der vorliegenden
Erfindung zu erreichen, wird eine Indexstruktur für in Fragmente
unterteilte Metadaten bereitgestellt, die eine Liste von Schlüsseln, die Feldern
der Metadaten entsprechen, und Speicherstelleninformationen zum
Definieren eines Schlüssels
umfasst, wobei wenigstens ein Teil der Speicherstelleninformationen
als ein vorgegebener Code ausgedrückt wird.
-
Die
Indexstruktur kann des Weiteren Werte des Schlüssels und Identifizierungsinformationen
der Metadaten umfassen, die den Werten des Schlüssels entsprechen. Die Indexstruktur
kann des Weiteren einen Unterabschnitt, der Wertebereiche des Schlüssels und
Identifizierungsinformationen über
einzelne der Fragmente der Metadaten enthält, die den Werten des Schlüssels entsprechen,
und einen Abschnitt umfassen, der repräsentative Schlüsselwerte
enthält,
die jeweilige Wertebereiche des Schlüssels darstellen.
-
Die
Liste kann Identifizierungsinformationen über den Abschnitt enthalten,
und der Abschnitt kann des Weiteren Identifizierungsinformationen über den
Unterabschnitt enthalten. Jeder der repräsentativen Schlüsselwerte
kann ein Wert aus dem entsprechenden Wertebereich des Schlüssels sein.
-
Ein
weiterer Teil der Speicherstelleninformationen kann als ein anderer
vorgegebener Code oder XPath ausgedrückt werden.
-
Die
Speicherstelleninformationen können
Speicherstelleninformationen eines Fragments, das den Schlüssel enthält, und
Speicherstelleninformationen des Schlüssels in dem Fragment umfassen.
-
Eines
von den Speicherstelleninformationen des Fragments und den Speicherstelleninformationen des
Schlüssels
kann als vorgegebener Code ausgedrückt werden.
-
Das
andere von den Speicherstelleninformationen des Fragments und den
Speicherstelleninformationen des Schlüssels kann als ein anderer
vorgegebener Code oder XPath ausgedrückt werden.
-
Der
vorgegebene Code kann im Voraus den Speicherstelleninformationen
zugewiesen werden, auf die häufig
Bezug genommen wird. Der vorgegebene Code kann XPath als zusätzliche
Informationen umfassen, wobei das jeweilige Fragment bzw. der Schlüssel einem
benutzerdefinierten Typ entspricht.
-
Um
die oben genannten und/oder andere Gesichtspunkte der vorliegenden
Erfindung zu erreichen, wird eine weitere Indexstruktur für in Fragmente
unterteilte Metadaten bereitgestellt, die einen Schlüsselindexlistenabschnitt
umfasst, der eine Liste der Schlüssel,
die Feldern der Metadaten entsprechen, und Speicherstelleninformationen
zum Definieren der Schlüssel,
wobei wenigstens ein Teil der Speicherstelleninformationen als ein
vorgegebener Code ausgedrückt
wird, einen Schlüsselindexabschnitt
und einen Unterschlüsselindexabschnitt
umfasst, wobei für
einen Schlüssel
der Schlüsselindexliste
der Unterschlüsselindexabschnitt Wertebereiche
des Schlüssels
und Identifizierungsinformationen über einzelne der Fragmente
der Metadaten umfasst, die den Werten des Schlüssels entsprechen, und der
Schlüsselindexabschnitt
repräsentative
Schlüsselwerte
umfasst, die die jeweiligen Wertebereiche des Schlüssels darstellen.
-
Der
repräsentative
Schlüsselwert
kann wenigstens einen von einem Höchstwert, einem Mindestwert oder
einem Zwischenwert unter den Werten in dem jeweiligen Bereich umfassen.
-
Die
Metadaten können
eine Metadatenstruktur aufweisen, wie im TVA-Forum definiert. Die
Indexstruktur kann des Weiteren einen entsprechenden Schlüsselindexabschnitt
und einen entsprechenden Unterschlüsselindexabschnitt für einen
weiteren Schlüssel
der Schlüsselindexliste
umfassen.
-
Die
Speicherstelleninformationen können
Speicherstelleninformationen eines Fragments, das die Schlüssel enthält, und
Speicherstelleninformationen der Schlüssel in dem Fragment umfassen.
Die Schlüsselindexliste
kann des Weiteren Identifizierungsinformationen über den Schlüsselindexabschnitt
enthalten, und der Schlüsselindexabschnitt
kann des Weiteren Identifizierungsinformationen über den Unterschlüsselindexabschnitt
umfassen.
-
Um
die oben genannten und/oder andere Gesichtspunkte der vorliegenden
Erfindung zu erreichen, wird eine weitere Indexstruktur für in Fragmente
unterteilte Metadaten bereitgestellt, die eine Liste von Schlüsseln, die
Feldern der Metadaten entsprechen, und Speicherstelleninformationen
zum Definieren der Schlüssel, wobei
wenigstens ein Teil der Speicherstelleninformationen als ein vorgegebener
Code ausgedrückt
wird, und Werte der Schlüssel
und Identifizierungsinformationen über die Metadaten, die den
Werten der Schlüssel
entsprechen, umfasst.
-
Die
Identifizierungsinformationen können
Identifizierungsinformationen über
die Fragmente der Metadaten enthalten, die den Werten der Schlüssel entsprechen.
-
Um
die oben genannten und/oder andere Gesichtspunkte der vorliegenden
Erfindung zu erreichen, wird ein Verfahren zum Bereitstellen einer
Indexstruktur für
in Fragmente unterteilte Metadaten bereitgestellt, wobei das Verfahren
die Bereitstellung einer Liste von Schlüsseln, die Feldern der Metadaten
entsprechen, und von Speicherstelleninformationen zum Definieren
eines Schlüssels
umfasst, wobei wenigstens ein Teil der Speicherstelleninformationen
als ein vorgegebener Code ausgedrückt wird.
-
Das
Verfahren kann des Weiteren die Bereitstellung von Werten des Schlüssels und
Identifizierungsinformationen der Metadaten umfassen, die den Werten
des Schlüssels
entsprechen.
-
Das
Verfahren kann des Weiteren die Bereitstellung eines Unterabschnitts,
der Wertebereiche des Schlüssels
und Identifizierungsinformationen über einzelne der Fragmente
der Metadaten enthält,
die den Werten des Schlüssels
entsprechen, und die Bereitstellung eines Abschnitts umfassen, der
repräsentative Schlüsselwerte
enthält,
die jeweilige Wertebereiche des Schlüssels darstellen.
-
Die
Speicherstelleninformationen können
Speicherstelleninformationen über
ein Fragment, das den Schlüssel
enthält,
und Speicherstelleninformationen des Schlüssels in dem Fragment enthalten.
-
Die
Bereitstellung der Liste kann das Bereitstellen der Liste mit einem
von den Speicherstelleninformationen des Fragments und von den Speicherstelleninformationen
des Schlüssels
enthalten, die als vorgegebener Code verschlüsselt sind.
-
Der
vorgegebener Code kann XPath als zusätzliche Informationen enthalten,
wobei das jeweilige Fragment bzw. der Schlüssel einem benutzerdefinierten
Typ entspricht.
-
Um
die oben genannten und/oder andere Gesichtspunkte der vorliegenden
Erfindung zu erreichen, wird ein weiteres Verfahren zum Bereitstellen
einer Indexstruktur für
in Fragmente unterteilte Metadaten bereitgestellt, wobei das Verfahren
die Bereitstellung eines Schlüsselindexlistenabschnitts,
der eine Liste von Schlüsseln,
die Feldern der Metadaten entsprechen, und Speicherstelleninformationen
zum Definieren der Schlüssel,
wobei wenigstens ein Teil der Speicherstelleninformationen als ein
vorgegebener Code ausgedrückt
wird, die Bereitstellung eines Schlüsselindexabschnitts und die
Bereitstellung eines Unterschlüsselindexabschnitts
umfasst, wobei für
einen Schlüssel
der Schlüsselindexliste
der Unterschlüsselindexabschnitt Wertebereiche
des Schlüssels
und Identifizierungsinformationen über einzelne der Fragmente
der Metadaten umfasst, die den Werten des Schlüssels entsprechen, und der
Schlüsselindexabschnitt
repräsentative
Schlüsselwerte
umfasst, die die jeweiligen Wertebereiche des Schlüssels darstellen.
-
Um
die oben genannten und/oder andere Gesichtspunkte der vorliegenden
Erfindung zu erreichen, wird ein weiteres Verfahren zum Bereitstellen
einer Indexstruktur für
in Fragmente unterteilte Metadaten bereitgestellt, wobei das Verfahren
die Bereitstellung einer Liste von Schlüsseln, die Feldern der Metadaten
entsprechen, und Speicherstelleninformationen zum Definieren der
Schlüssel,
wobei wenigstens ein Teil der Speicherstelleninformationen als ein
vorgegebener Code ausgedrückt
wird, und die Bereitstellung von Werten der Schlüssel und Identifizierungsinformationen über die
Metadaten, die den Werten der Schlüssel entsprechen, umfasst.
-
Die
Identifizierungsinformationen können
Identifizierungsinformationen über
die Fragmente der Metadaten enthalten, die den Werten der Schlüssel entsprechen.
-
Um
die oben genannten und/oder andere Gesichtspunkte der vorliegenden
Erfindung zu erreichen, wird ein Verfahren zum Suchen nach in Fragmente
unterteilten Metadaten bereitgestellt, wobei ein Index verwendet
wird, der eine Liste von Schlüsseln,
die Feldern der Metadaten entsprechen, und Speicherstelleninformationen
zum Definieren der Schlüssel
aufweist, wobei das Verfahren Suchen aus dem Index der Metadaten, wobei
ein Schlüssel
einer Suchbedingung eines Felds der Metadaten entspricht, wobei
wenigstens ein Teil der Speicherstelleninformationen, die den Schlüssel definieren,
als ein vorgegebener Codewert ausgedrückt wird, und Extrahieren eines
Fragments der Metadaten unter Verwendung des gesuchten Schlüssels umfasst.
-
Das
Suchen nach dem Schlüssel
kann das Bestimmen von Speicherstelleninformationen, die dem Feld
der Suchbedingung in Bezug auf die Metadaten entsprechen, und das
Suchen nach dem Schlüssel
umfassen, der den Speicherstelleninformationen in Bezug auf das
Feld der Suchbedingung entspricht.
-
Das
Extrahieren des Fragments umfasst das Suchen nach einem Wert des
Schlüssels,
der den Suchbedingungen entspricht, unter Werten des Schlüssels aus
dem Index, und das Extrahieren von Identifizierungsinformationen über das
Fragment der Metadaten, das dem Wert des Schlüssels entspricht.
-
In
Reaktion auf eine Vielzahl von Werten für den Schlüssel, der die Suchbedingung
erfüllt,
kann das Extrahieren des Fragments das Extrahieren einzelner der
Fragmente der Metadaten umfassen, die den Werten des Schlüssels entsprechen,
der die Suchbedingung erfüllt.
-
Das
Suchen nach dem Wert kann das Suchen nach einem repräsentativen
Schlüsselwert,
der die Suchbedingungen erfüllt,
unter repräsentativen
Schlüsselwerten
des Index, die Wertebereichen des Schlüssels entsprechen, und das
Suchen nach dem Wert unter einem Wertebereich umfassen, der dem
repräsentativen
Schlüsselwert
entspricht.
-
Der
Index kann einen Schlüsselindexlistenabschnitt,
der die Liste umfasst, einen Unterschlüsselindexabschnitt, der Wertebereiche
des Schlüssels
und Identifizierungsinformationen über einzelne der Fragmente der
Metadaten umfasst, die den Werten des Schlüssels entsprechen, und einen
Schlüsselindexabschnitt,
der repräsentative
Schlüsselwerte
umfasst, die die jeweiligen Wertebereiche des Schlüssels darstellen,
umfassen.
-
Die
Speicherstelleninformationen können
Speicherstelleninformationen eines Fragments der Metadaten, die
den Schlüssel
enthalten, und Speicherstelleninformationen des Schlüssels in
dem Fragment umfassen.
-
Um
die oben genannten und/oder andere Gesichtspunkte der vorliegenden
Erfindung zu erreichen, wird ein weiteres Verfahren zum Suchen nach
in Fragmente unterteilten Metadaten bereitgestellt, wobei das Verfahren
das Zugreifen auf eine Liste, die eine Vielzahl von Kombinationen
von Speicherstelleninformationen über ein Fragment und Speicherstelleninformationen,
die wenigstens einen Schlüssel
in dem Fragment definieren, wobei eines von den Speicherstelleninformationen über das
Fragment und von den Speicherstelleninformationen, die den wenigstens
einen Schlüssel
definieren, als ein vorgegebener Code ausgedrückt wird, und aus dieser Liste
das Suchen einer Kombination umfasst, die einer eingegebenen Suchbedingung
von wenigstens einem Schlüssel
der Metadaten entspricht.
-
Die
anderen Speicherstelleninformationen können als ein anderer vorgegebener
Code oder XPath ausgedrückt
werden.
-
Das
Verfahren kann des Weiteren das Extrahieren von einem oder mehreren
Fragmenten der Metadaten umfassen, die Identifizierungsinformationen über die
Metadaten entsprechen, die durch die gewählte Kombination identifiziert
werden.
-
Um
die oben genannten und/oder andere Gesichtspunkte der vorliegenden
Erfindung zu erreichen, wird eine Vorrichtung zum Suchen nach in
Fragmente unterteilten Metadaten bereitgestellt, wobei ein Index verwendet
wird, der eine Liste von Schlüsseln,
die Feldern der Metadaten entsprechen, und Speicherstelleninformationen,
die die Schlüssel
definieren, aufweist, wobei sie eine Eingabeeinheit, die eine Suchbedingung empfängt, die
ein Feld der Metadaten als einen Suchparameter aufweist, und eine
Steuereinheit, die aus dem Index der Metadaten einen Schlüssel sucht,
der der Suchbedingung entspricht, wobei wenigstens ein Teil der Speicherstelleninformationen,
die den Schlüssel
definieren, als ein vorgegebener Codewert ausgedrückt wird, und
Extrahieren eines Fragments der Metadaten unter Verwendung des gesuchten
Schlüssels
umfasst.
-
Der
vorgegebene Codewert kann XPath als zusätzliche Informationen umfassen,
wobei das jeweilige Fragment bzw. der Schlüssel einem benutzerdefinierten
Typ entspricht.
-
Die
Speicherstelleninformationen können
Speicherstelleninformationen eines Fragments der Metadaten, die
den Schlüssel
enthalten, und Speicherstelleninformationen des Schlüssels in
dem Fragment umfassen.
-
Die
Steuereinheit kann einen Wert des Schlüssels, der die Suchbedingung
erfüllt,
unter Werten des Schlüssels
aus dem Index suchen und Identifizierungsinformationen über das
Fragment der Metadaten extrahieren, die dem Schlüsselwert entsprechen.
-
Die
Vorrichtung kann des Weiteren eine Empfangseinheit, die die Metadaten
empfängt,
eine Speichereinheit, die die empfangenen Metadaten darin speichert,
und eine Ausgabeeinheit umfassen, die das Ergebnis der Suche durch
die Steuereinheit ausgibt. In Reaktion auf eine Vielzahl von Werten
des Schlüssels,
der die Suchbedingung erfüllt,
kann die Steuereinheit einzelne der Fragmente der Metadaten extrahieren,
die den Werten des Schlüssels
entsprechen, der die Suchbedingung erfüllt.
-
Die
Steuereinheit kann nach einem repräsentativen Schlüsselwert,
der die Suchbedingung erfüllt,
unter den repräsentativen
Schlüsselwerten
des Index suchen, der Wertebereichen des Schlüssels entspricht, und nach
dem Wert aus einem Bereich von Werten suchen, die dem repräsentativen
Schlüsselwert
entsprechen. Die Metadaten können
eine Metadatenstruktur aufweisen, wie sie vom TV-Anytime-Forum definiert
wird.
-
Um
die oben genannten und/oder andere Gesichtspunkte der vorliegenden
Erfindung zu erreichen, wird eine weitere Vorrichtung zum Suchen
nach in Fragmente unterteilten Metadaten bereitgestellt, wobei sie eine
Eingabeeinheit, die eine Suchbedingung von wenigstens einem Schlüssel der
Metadaten empfängt,
und eine Steuereinheit umfasst, die aus einer Liste, die eine Vielzahl
von Kombinationen von Speicherstelleninformatio nen über ein
Fragment und Speicherstelleninformationen, die wenigstens einen
Schlüssel
in dem Fragment definieren, eine Kombination auswählt, die
der Suchbedingung entspricht, wobei eines von den Speicherstelleninformationen über das
Fragment und von den Speicherstelleninformationen, die den wenigstens
einen Schlüssel
definieren, als ein vorgegebener Code ausgedrückt wird.
-
Die
anderen Speicherstelleninformationen können als ein anderer vorgegebener
Code oder XPath ausgedrückt
werden. Die Steuereinheit kann des Weiteren eines oder mehrere Fragmente
der Metadaten extrahieren, die Identifizierungsinformationen über die
Metadaten entsprechen, die durch die gewählte Kombination identifiziert
werden.
-
Um
die oben genannten und/oder andere Gesichtspunkte der vorliegenden
Erfindung zu erreichen, wird ein computerlesbares Medium, das eine
Datenstruktur zum Speichern eines Index für in Fragmente unterteilte
Metadaten enthält,
bereitgestellt, wobei der Index zum Suchen nach den Metadaten bereitgestellt
wird, und die Datenstruktur eine Liste von Schlüsseln, die Feldern der Metadaten
entsprechen, und Speicherstelleninformationen zum Definieren eines
Schlüssels
umfasst, wobei wenigstens ein Teil der Speicherstelleninformationen
als ein vorgegebener Code ausgedrückt wird.
-
Um
die oben genannten und/oder andere Gesichtspunkte der vorliegenden
Erfindung zu erreichen, wird ein weiteres computerlesbares Medium,
das eine Datenstruktur zum Speichern eines Index für in Fragmente
unterteilte Metadaten enthält,
bereitgestellt, wobei der Index zum Suchen nach den Metadaten bereitgestellt
wird, und die Datenstruktur einen Schlüsselindexlistenabschnitt umfasst,
der eine Liste von Schlüsseln, die
Feldern der Metadaten entsprechen, und Speicherstelleninformationen
zum Definieren der Schlüssel,
wobei wenigstens ein Teil der Speicherstelleninformationen als ein
vorgegebener Code ausgedrückt
wird, einen Schlüsselindexabschnitt
und einen Unterschlüsselindexabschnitt
umfasst, wobei für
einen Schlüssel
der Schlüsselindexliste
der Unterschlüsselindexabschnitt
Wertebereiche des Schlüssels
und Identifizierungsinformationen über einzelne der Fragmente
der Metadaten umfasst, die den Werten des Schlüssels entsprechen, und der
Schlüsselindexabschnitt
repräsentative
Schlüsselwerte
umfasst, die die jeweiligen Wertebereiche des Schlüssels darstellen.
-
Um
die oben genannten und/oder andere Gesichtspunkte der vorliegenden
Erfindung zu erreichen, wird ein weiteres computerlesbares Medium,
das eine Datenstruktur zum Speichern eines Index für in Fragmente
unterteilte Metadaten enthält,
bereitgestellt, wobei der Index zum Suchen nach den Metadaten bereitgestellt
wird, und die Datenstruktur eine Liste von Schlüsseln, die Feldern der Metadaten
entsprechen, und Speicherstelleninformationen zum Definieren der
Schlüssel,
wobei wenigstens ein Teil der Speicherstelleninformationen als ein
vorgegebener Code ausgedrückt
wird, und Werte der Schlüssel
und Identifizierungsinformationen über die Metadaten, die den
Werten der Schlüssel
entsprechen, umfasst.
-
Um
die oben genannten und/oder andere Gesichtspunkte der vorliegenden
Erfindung zu erreichen, wird für
jedes der oben beschriebenen Verfahren ein computerlesbares Medium
bereitgestellt, das computerausführbare
Anweisungen zum Durchführen
des bzw. der in dem Verfahren genannten Vorgänge umfasst.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die
oben genannten und anderen Gesichtspunkte und Merkmale der vorliegenden
Erfindung werden aus der folgenden Beschreibung von bevorzugten
Ausführungsformen
in Zusammenhang mit den folgenden begleitenden Zeichnungen offenkundig:
-
1 ist
eine schematische Darstellung, die das Konzept eines allgemeinen
PDR veranschaulicht;
-
2 zeigt
eine tabellarische Führungsmaske
in einer allgemeinen EPG-Anwendung;
-
3 ist
ein Blockschaltbild, das eine Struktur von allgemeinen Metadaten
veranschaulicht, die vom TV-Anytime-Forum definiert wurden;
-
4 ist
eine schematische Darstellung, die ein Konzept eines allgemeinen,
vom TV-Anytime-Forum definierten
Fragments veranschaulicht;
-
5 ist
eine schematische Darstellung, die ein Konzept eines allgemeinen,
vom TV-Anytime-Forum definierten
Containers veranschaulicht;
-
6 ist
ein Blockschaltbild, das eine Indexstruktur von Metadaten unter
Verwendung des herkömmlichen
Schlüsselschemas
veranschaulicht;
-
7 ist
ein Blockschaltbild, das eine Indexstruktur von Metadaten und einen
Suchprozess unter Verwendung des herkömmlichen Schlüsselschemas
veranschaulicht;
-
8 ist
ein Blockschaltbild, das eine Indexstruktur von Metadaten gemäß einer
Ausführungsform
der vorliegenden Erfindung veranschaulicht;
-
9 ist
eine schematische Darstellung, die die Indexstruktur von Metadaten
und einen Suchprozess gemäß einer
Ausführungsform
der vorliegenden Erfindung veranschaulicht;
-
10 ist
ein Ablaufdiagramm, das ein Verfahren zum Bereitstellen von Indices
für Metadaten
gemäß einer
Ausführungsform
der vorliegenden Erfindung veranschaulicht;
-
11 ist
ein Ablaufdiagramm, das ein Verfahren zum Suchen nach Metadaten
gemäß einer
Ausführungsform
der vorliegenden Erfindung veranschaulicht; und
-
12 ist
eine schematische Darstellung, die eine Vorrichtung zum Suchen nach
den Metadaten gemäß einer
Ausführungsform
der vorliegenden Erfindung veranschaulicht.
-
BESTER MODUS ZUM AUSFÜHREN DER
ERFINDUNG
-
Hierin
werden im Folgenden eine Indexstruktur von Metadaten, die zum Suchen
nach Informationen über
Inhalte bereitgestellt wird, und ein Verfahren zum Bereitstellen
von Indices der Metadaten und ein Verfahren und eine Vorrichtung
zum Suchen nach den Metadaten unter Verwendung der Indexstruktur
der Metadaten ausführlich
unter Bezugnahme auf die begleitenden Zeichnungen beschrieben.
-
Die
Ausführungsformen
werden in dieser Spezifikation aus Beschreibungsgründen auf
der Basis von TVA-Metadaten beschrieben; dies ist jedoch nicht so
zu interpretieren oder zu verstehen, dass der Schutzumfang der vorliegenden
Erfindung begrenzt wird.
-
8 zeigt
eine Indexstruktur von Metadaten zum Suchen nach den Metadaten gemäß einer
Ausführungsform
der vorliegenden Erfindung, wobei die Indexstruktur Informationen
zum Definieren eines Schlüssels enthält, um TVA-Metadatenfragmente
zu indexieren, die in dem Daten-Container gespeichert sind, wie
oben beschrieben. Hierin werden im Folgenden ein Schlüsselindexlisten-(key_index_list)Abschnitt 110,
ein Schlüsselindex-(key_index)Abschnitt 120 und
ein Unterschlüsselindex-(sub_key_index)Abschnitt 130 beschrieben, und
die Indexstruktur, die codierte Schlüsselinformationen enthält, die
durch die Syntax definiert sind, werden dann beschrieben.
-
Die
Syntax, die die Indexstruktur der Metadaten gemäß einer Ausführungsform
der vorliegenden Erfindung definiert und insbesondere die codierten
Schlüsselinformationen
enthält,
unterscheidet sich im Konzept von der Syntax, die in einer herkömmlichen
Schlüsselindextechnik-Referenz
definiert ist, dadurch, dass sie Strukturen umfasst, die für ein Codierungskonzept
der Schlüsselinformationen
neu eingeführt
wurden, wie beispielsweise fragment_descriptor () und key_descriptor(),
und Strukturen des Schlüsselindexlisten-(key_index_list)Abschnitts 110,
des Schlüsselindex-(key_index)Abschnitts 120 und
des Unterschlüsselindex-(sub_key_index)Abschnitts 130 umstrukturiert.
-
Der
Schlüsselindexlisten-(key_index_list)Abschnitt 110 umfasst
Schlüsselinformationen,
die entsprechende Schlüssel
und Identifizierungsinformationen über den Schlüsselindex-(key_index)Abschnitt 120 definieren,
der später
zu beschreiben sein wird.
-
Die
Schlüsselinformationen
dienen dazu, die Schlüssel
zu definieren, d. h. Speicherstelleninformationen in den Metadaten,
die vorgegebene Felder der Metadaten, die die Schlüssel bilden,
aufweisen. Die Schlüsselinformationen
umfassen Speicherstelleninformationen eines Metadatenfragments,
zu dem die Felder, welche die Schlüssel bilden, in den Metadaten
gehören,
(hierin im Folgenden als "Speicherstelleninformationen eines
Fragments" bezeichnet,
die als XPath des Fragments in TVA ausgedrückt werden (fragment_xpath_ptr)), und
Speicherstelleninformationen von Feldern, die die Schlüssel bilden,
die innerhalb des jeweiligen Metadatenfragments liegen, (hierin
im Folgenden zum Beispiel als "Speicherstelleninformationen
eines Schlüssels" bezeichnet, das
heißt,
ein XPath für
einen relativen Pfad des Knotens in dem relevanten Fragment, das
als XPath des Schlüssels
in TVA ausgedrückt
wird (d. h. key_xpath_ptr).
-
1. Schlüsselindexlisten (key_index_list)
Abschnitt
-
Der
Schlüsselindexlisten
(key_index_list) Abschnitt stellt eine Liste aller übertragenen
Schlüssel
bereit.
-
In
einer Ausführungsform
der vorliegenden Erfindung wird ein 'fragment_xpath_ptr', der Speicherstelleninformationen des
Fragments in dem herkömmlichen
Schlüsselindexlisten
(key_index_list) Abschnitt angibt, (ausgedrückt als XPath des Fragments
im TVA), durch einen fragment_descriptor() ersetzt. Tabelle
1
- key_index_count: gibt die Anzahl aller übertragenen
Schlüssel
an, d. h. die Anzahl von Indices für das gesamte XML-Dokument.
- fragment_descriptor(): entspricht der XPath-Speicherstelle eines
bzw. mehrerer Zielfragmente, die indexiert werden sollen. Gemäß einer
Ausführungsform
der vorliegenden Erfindung werden die Speicherstelleninformationen
des Fragments als ein vorgegebener Code ausgedrückt, wie in der folgenden Tabelle
3 für den
Standard-Fragmenttyp gezeigt. Der Typ des Fragments ist nicht auf
den Standard-Fragmenttyp von Tabelle 3 be grenzt, und das Fragment
kann so beliebig wie möglich
geformt sein, sofern seine Form XPath des Fragments zum Definieren
der Schlüssel
angeben kann.
- key_descriptor(): entspricht Xpaths der Schlüssel in der XPath-Speicherstelle
des Zielfragments, das indexiert werden soll. Wo die Speicherstelleninformationen
des Schlüssels
als ein vorgegebener Code ausgedrückt werden, kann ähnlich wie
beim oben beschriebenen Fragmenttyp der Standard-Schlüsseltyp
beschrieben werden. Wie oben unter Bezugnahme auf den fragment_descriptor()
beschrieben, ist der Schlüsseltyp
nicht auf den Standard-Schlüsseltyp
begrenzt.
- index_container(): identifiziert den Container, in dem ein spezifizierter
Schlüsselindex-(key_index)Abschnitt vorhanden
ist.
- key_index_identifier(): identifiziert den Schlüsselindex-(key_index)Abschnitt
in dem Container, der durch den index_container spezifiziert wird.
Der Schlüsselindex-(key_index)Abschnitt
kann in einer eindeutigen Weise in einer Kombination des index_container
und des key_index identifiziert werden.
-
2. Fragment-Descriptor (fragment_descriptor)
-
Der 'fragment_descriptor()' stellt eine Struktur
zum Codieren spezifischer Bits bereit, (die in frei wählbare Bits,
wie beispielsweise 8 Bits, 16 Bits und so weiter, codiert werden
können),
in Bezug auf den häufig verwendeten
Standard-Fragmenttyp bereit und gleichzeitig eine Struktur, die
fähig ist,
XPath als zusätzliche Informationen
in Bezug auf den vom Benutzer definierten Metadatenfragmenttyp zu
beschreiben. Das heißt, wenn
der fragment_descriptor '0xFF' ist, gibt er ein
benutzerdefiniertes Fragment an, und somit wird XPath für das relevante
benutzerdefinierte Fragment sofort beschrieben. Tabelle
2
- fragment_type:
stellt den Typ von Fragmenten dar, die indexiert werden sollen.
Codierte Werte werden den häufig
verwendeten Standard-Fragmenttypen zugewiesen. Wenn der fragment_type
einen codierten Wert von 0xFF aufweist, wird der fragment_xpath_ptr
als zusätzliche
Information hinzugefügt.
-
Tabelle
3 veranschaulicht codierte Werte für Speicherstelleninformationen
der häufig
verwendeten Fragmenttypen, wenn eine Suche im TV-Anytime durchgeführt wird.
Die Standard-Fragmenttypen und die codierten Werte in dieser Ausführungsform
sind jedoch nicht auf diejenigen begrenzt, die in Tabelle 3 veranschaulicht
sind, sondern können
in Übereinstimmung
mit Anwendungsmöglichkeiten
erweitert werden. Tabelle 3
Wert | Beschreibung |
0x00 | Nicht
bezeichnet |
0x01 | Programminformationen-Fragment |
0x02 | Gruppeninformationen-Fragment |
0x03 | Vorspann/Abspann-Informationen-Fragment |
0x04 | Programmbewertungs-Fragment |
0x05 | Segmentinformationen-Fragment |
0x06 | Dienstinformationen-Fragment |
0x07 | Rundfunkereignis-Fragment |
0xFF | Benutzerdefiniertes
Fragment |
0x08
0x0E 0x10–0xFF | Reserviert |
-
3. Schlüssel-Deskriptor (key_descriptor)
-
Der 'key_descriptor()' stellt eine Struktur
zum Codieren von Speicherstelleninformationen von Schlüsseln, die
eine hohe Verwendungshäufigkeit
aufweisen, in spezifische Bits bereit, wenn eine Suche durchgeführt wird,
und gleichzeitig eine Struktur zum Be schreiben des Schlüsseltyps,
der vom Benutzer im XPath definiert worden ist. Wenn der key_descriptor
zum Beispiel '0xFF' ist, gibt er einen
benutzerdefinierten Schlüssel an.
Somit wird der XPath als zusätzliche
Information für
den benutzerdefinierten Schlüssel
beschrieben. Tabelle
4
- key_type: stellt den Typ von Schlüsseln dar,
die indexiert werden sollen. Codierte Werte werden zu Speicherstelleninformationen
der Standard-Schlüsseltypen
zugewiesen, die häufig
verwendet werden, wenn eine Suche durchgeführt wird. Wenn der key_type
einen codierten Wert von '0xFF' aufweist, wird der
key_xpath als zusätzliche
Information hinzugefügt.
- key_xpath_ptr: bezieht sich auf den relativen Pfad, der mit
dem Fragment-XPath des Knotens zusammenhängt, der als der Schlüssel verwendet
wird.
-
Obwohl
die codierten Werte für
die Standardschlüssel
nicht spezifiziert worden sind, ist klar, dass die codierten Werte
für die
Standard-Schlüsseltypen
eine Struktur aufweisen können,
die der Codierung der Fragmenttypen von Tabelle 3 ähnlich ist.
-
Da
die Definitionen des Schlüsselindex-(key_index)Abschnitts
und des Unterschlüsselindex-(sub_key_index)Abschnitts
die gleichen sind wie diejenigen, die in der Schlüsselindextechnik-Referenz definiert
sind, wird ihre ausführliche
Beschreibung weggelassen.
-
4. Schlüsselindex-(key_index)Abschnitt
-
-
5. Unterschlüsselindex-(sub_key_index)Abschnitt
-
-
Hierin
wird im Folgenden die Metadatenstruktur, die durch die oben beschriebene
Syntax definiert wird, unter Bezugnahme auf 8 erörtert, in
der die Metadaten als Segmente der Indexinformationen ausgedrückt werden.
-
Der
Schlüsselindexlisten-(key_index_list)Abschnitt 110,
der in der Indexstruktur definiert ist, stellt eine Liste aller übertragenen
Schlüssel
bereit. Die Liste enthält
Schlüsselinformationen,
die jeden Schlüssel
definieren, (d. h. Speicherstelleninformationen des Fragments (fragment_descriptor)
und/oder Speicherstelleninformationen der Schlüssel (key_descriptor); die
Speicherstelleninformationen des Fragments oder die Speicherstelleninformationen
des Schlüssels
können
selektiv codiert werden, oder sie können ab hängig von den Ausführungsformen
der vorliegenden Erfindung gleichzeitig codiert werden), und Identifizierungsinformationen über den
Schlüsselindex-(key_index)Abschnitt 120,
der später
zu beschreiben sein wird. Der XPath des Metadatenfragments ist ein
Pfad für
den Stammknoten des XML-Dokuments der TVA-Metadaten, d. h. ein absoluter
Pfad auf die gleiche Weise wie in der herkömmlichen Indexstruktur, und
der XPath des Knotens, der als der Schlüssel verwendet wird, d. h.
der XPath des Schlüssels,
stellt einen relativen Pfad für
den Schlüssel
des Metadatenfragments dar. Der XPath des Metadatenfragments und
der XPath des Schlüssels
stellen in Kombination die Speicherstelleninformationen des Schlüssels für das gesamte
XML-Dokument dar.
-
In
der vorliegenden Ausführungsform
werden der codierte Wert, der dem XPath für das Metadatenfragment entspricht,
(d. h. die Speicherstelleninformationen der Fragmentgruppe), und
der codierte Wert, der dem XPath des Schlüssels entspricht, (das heißt, die
Speicherstelleninformationen des Schlüssels), jeweils in dem 'fragment_descriptor'-Segment 111 und dem 'key_descriptor'-Segment 112 gespeichert.
-
Wie
oben beschrieben, wird da, wo die Speicherstelleninformationen des
Fragments unter den Schlüsselinformationen
vom Standard-Fragmenttyp sind, der häufig verwendet wird, ein codierter
Wert (fragment_descriptor) bereitgestellt, der den XPath für das Metadatenfragment
(fragment_xpath_ptr) mit einem vorgegebenen Code ausdrückt. Als
häufig
verwendete Standard-Fragmenttypen gibt es zum Beispiel Programminformationen
(ProgramInformation), Programmgruppeninformationen (GroupInformation),
Vor-/Abspann-Informationen
(CreditInformation), Programmbewertung (ProgramReview), SegmentInformationen (SegmentInformation),
Rundfunkereignis (BroadcastEvent), Dienstinformationen (ServiceInformation)
und dergleichen. Wenn der XPath des Metadatenfragments für diese
Fragmenttypen einfach als ein codierter Wert ausgedrückt werden
kann, kann der Overhead bei der Suche nach den Metadaten reduziert
werden.
-
Daher
wird in der Indexstruktur gemäß der vorliegenden
Ausführungsform
der XPath des Standard-Metadatenfragments in einen vorgegebenen
codierten Wert codiert und dann gespeichert. Des Weiteren werden
nicht alle codierten Werte den Fragmenten zugewiesen, und einige
der codierten Werte, (z. B. '0XFF') werden den Metadatenfragmenten
zugewiesen, die vom Benutzer definiert wurden, um es dem Benutzer
dadurch zu gestatten, zusätzliche
Speicherstelleninformationen über
die Metadatenfragmente mit tels des XPath zu definieren. Diesbezüglich wird
zum Beispiel ein zusätzlicher
Bereich ('fragment_xpath_ptr'), mit dem der XPath
für das
Metadatenfragment bezeichnet werden kann, bereitgestellt.
-
In
der Ausführungsform,
in der Fragmente in Übereinstimmung
mit Tabelle 3 codiert sind, weisen die Speicherstelleninformationen über das
Metadatenfragment unter den Schlüsselinformationen
solche codierte Werte wie '0x01', '0x02' und '0x03' auf. Die Speicherstelleninformationen über das
Metadatenfragment, das in '0x02' codiert ist, gibt
den XPath des Programminformationen-(ProgramInformation) Fragments' an. Wo die Speicherstelleninformationen über das
Metadatenfragment '0xFF' lauten, bedeutet
dies des Weiteren das vom Benutzer definierte Metadatenfragment,
und somit wird ein zusätzlicher
Bereich zum Aktivieren des XPath des zu bezeichnenden Metadatenfragments
bereitgestellt.
-
Obwohl
die oben genannte Ausführungsform
nur in Bezug auf das Metadatenfragment beschrieben worden ist, kann
dieselbe in Bezug auf den bzw. die Schlüssel für das Metadatenfragment angewendet
werden. Das heißt,
statt des herkömmlichen
XPath für
die Schlüssel
können
codierte Werte für
die häufig
verwendeten Schlüssel
angegeben und verwendet werden. Wenn der codierte Wert außerdem eine
vorgegebenen Wert umfasst, kann der Benutzer außerdem den XPath für den Schlüssel angeben.
Die Codierung des XPath des vorgenannten Metadatenfragments und
die Codierung des XPath des Schlüssels
können
gleichzeitig oder unabhängig
voneinander verwendet werden.
-
Des
Weiteren umfasst der Schlüsselindexlisten-(key_index_list)Abschnitt 110 die
Identifizierungsinformationen über
den Schlüsselindex-(key_index)Abschnitt 120 jedes
Schlüssels,
der später
zu beschreiben sein wird, (d. h. die Containerkennungs-Informationen
(container_id) des Containers, in dem der Schlüsselindex-(key_index)Abschnitt 120 gespeichert
ist, und die Schlüsselindex-Kennungsinformationen).
Die Containerkennungs-Informationen und die Schlüsselindex-Kennungsinformationen
werden jeweils in einem 'index_container'-Segment und einem 'key_index_identifier'-Segment in dem Schlüsselindexlisten-(key_index_list)Abschnitt 110 gespeichert.
-
Da
der Schlüsselindex-(key_index)Abschnitt 120 und
der Unterschlüsselindex-(sub_key_index)Abschnitt 130 die
gleichen sind, wie in der Schlüsselindextechnik-Referenz beschrieben,
wird ihre Beschreibung weggelassen.
-
Die
Indexstruktur, die die codierten Schlüsselinformationen enthält, wird
ausführlich
unter Bezugnahme auf 9 beschrieben, die die Indexinformationen
gemäß einer
Ausführungsform
der vorliegenden Erfindung veranschaulicht.
-
9 zeigt
den Schlüsselindexlistenabschnitt 110,
in dem der XPath des 'BroadcastEvent'-Fragments für die Dienstkennung
in '0x07' codiert ist. Hierin
sind der Schlüsselindex-(key_index)Abschnitt 120 und
der Unterschlüsselindex-(sub_key_index)Abschnitt 130 die
gleichen wie unter Bezugnahme auf 7 beschrieben.
-
Die
oben beschriebene Indexstruktur ist sehr effektiv, wenn die Schlüssel verwendet
werden, die sich auf die häufig
verwendeten Fragmenttypen, z. B. ProgramInformation, GroupInformation
und BroadcastEvent und so weiter beziehen, wodurch der gesamte Overhead
in der Vorrichtung zum Suchen von Metadaten reduziert wird.
-
10 veranschaulicht
ein Verfahren zum Bereitstellen eines Index von Metadaten, die eine
Struktur gemäß einer
Ausführungsform
der vorliegenden Erfindung aufweisen, wie oben beschrieben.
-
Indices
der Metadaten gemäß einer
Ausführungsform
der vorliegenden Erfindung können
durch den Anbieter 200 generiert werden, der zum Beispiel
audiovisuelle Signale bereitstellt.
-
Informationen über Inhalte,
das heißt
Metadaten, werden zuerst auf einer Fragment-Basis verarbeitet, wie oben beschrieben
(S100). Wenigstens ein Teil der Informationen (Speicherstelleninformationen
des Fragments oder Speicherstelleninformationen des Schlüssels) über die
Felder, die in den Metadatenindex aufgenommen werden, das heißt, Informationen über den
Schlüssel,
(zum Beispiel Speicherstelleninformationen des Fragments und Speicherstelleninformationen
des Schlüssels)
wird codiert (S200). Mit anderen Worten, wo Speicherstelleninformationen
des Metadatenfragments, zu dem Felder gehören, die Schlüssel bilden,
oder Speicherstelleninformationen des Schlüssels vom Standard-Fragmenttyp
oder dem Standard-Schlüsseltyp sind,
von denen beide codiert werden können,
werden die Speicherstelleninformationen des Metadatenfragments oder
die Speicherstelleninformationen des Schlüssels, d. h. der XPath des
Metadatenfragments oder der XPath des Schlüssels, in den vorgegebenen
Codewert codiert, (zum Beispiel wird das 'Rundfunkereignis-(BroadcastEvent)Fragment
in 9 in '0x07' codiert). Wo die
Speicherstelleninformationen des Metadatenfragments oder die Speicherstelleninformationen
des Schlüssels
nicht durch den codierten Wert identifiziert werden, können die
Schlüsselinformationen,
die mit XPath ausgedrückt
werden, wie in der herkömmlichen Technik
verwendet werden.
-
Ein
Schlüssel
wird durch Verwendung von Informationen bereitgestellt, die das
Fragment bilden, zum Beispiel Informationen über eine 'Servicekennung' (S300). Dann wird ein Unterschlüsselindex-(sub_key_index)Abschnitt 130 für den Schlüssel bereitgestellt,
wie oben vorgegeben (S400). Der Unterschlüsselindex-(sub_key_index)Abschnitt 130 umfasst
Segmente 114, die Wertebereiche des Schlüssels und Metadatenfragment-Identifizierungsinformationen
aufweisen, die den Werten des Schlüssels entsprechen, (das heißt, die
Containerkennungs-Informationen (container_id) und Fragmentdatenkennungs-Informationen (handle_value),
die jeweils in dem 'target_container'-Segment und dem 'target_container'_Segment von 8 gespeichert
werden.
-
Ein
Schlüsselindex-(key_index)Abschnitt 120,
der repräsentative
Schlüsselwerte
aufweist, die jeweilige Wertebereiche des Schlüssel darstellen, wird bereitgestellt
(S500). Zum Beispiel ist ein repräsentativer Schlüsselwert,
(z. B. 509), der einen vorgegebenen Bereich angibt, (z. B. 500–509), der
Dienstkennung enthalten. Der Schlüsselindex-(key_index)Abschnitt 120 nimmt
darin Identifizierungsinformationen für den Unterschlüsselindex-(sub_key_index)Abschnitt 130 auf,
wobei die Identifizierungsinformationen die Containerkennungs-Informationen
(container_id) des Containers, in dem der Unterschlüsselindex-(sub_key_index)Abschnitt 130 gespeichert
ist, und die Unterschlüsselindex-Kennungsinformationen
umfassen, wie in 8 gezeigt.
-
Ein
Schlüsselindexlisten-(key_index_list)Abschnitt 110,
der Schlüsselinformationen,
das heißt,
Speicherstelleninformationen des Fragments und Speicherstelleninformation
des Schlüssels,
wie oben angegeben, auf Basis des Schlüssels anordnet, wird bereitgestellt
(S600). Wenn zu diesem Zeitpunkt die im Schritt S200 codierten Speicherstellen informationen
des Fragments oder die codierten Speicherstelleninformationen des
Schlüssels
vorhanden sind, werden die oben genannten Speicherstelleninformationen
als ein codierter Code ausgedrückt,
wenn der Schlüsselindexlisten-(key_index_list)Abschnitt 110 bereitgestellt
wird. Mit anderen Worten. Das 'Rundfunkereignis-(BroadcastEvent)'Fragment in 9 wird
zum Beispiel als '0x07
ausgedrückt.
Wo die Speicherstelleninformationen des Fragments oder die Speicherstelleninformationen
des Schlüssels
nicht durch einen codierten Wert differenziert werden können, können die
im XPath ausgedrückten Schlüsselinformationen
wie in der herkömmlichen
Technik verwendet werden.
-
Der
Schlüsselindexlisten-(key_index_list)Abschnitt 110 umfasst
zusätzlich
zu den Schlüsselinformationen
des Weiteren Identifizierungsinformationen über den Schlüsselindex-(key_index)Abschnitt 120.
-
Die
oben beschriebenen Schritte können
in anderen Ausführungsformen
der vorliegenden Erfindung in umgekehrter Reihenfolge ablaufen,
und der Schritt S500 der Bereitstellung des Schlüsselindex-(key_index)Abschnitts 120,
der darin die repräsentativen
Schlüsselwerte
enthält,
kann abhängig
von der bzw. den Ausführungsformen
weggelassen werden.
-
Hierin
wird im Folgenden ein Verfahren zum Suchen nach Metadaten, die eine
Suchbedingung erfüllen,
unter Verwendung des Metadatenindex mit einer Struktur gemäß einer
Ausführungsform
der oben beschriebenen vorliegenden Erfindung unter Bezugnahme auf 11 beschrieben.
-
Eine
Suchbedingung wird zum Beispiel durch einen Benutzer eingegeben
(S1100), und Speicherstelleninformationen von Metadaten in Bezug
auf ein Feld der eingegebenen Suchbedingung werden ermittelt (S1210).
Ein Schlüssel,
der den Speicherstellen des Felds entspricht, wird in dem Schlüsselindexlisten-(key_index_list)Abschnitt 110 gesucht
(S1300), wobei wenigstens ein Teil der Speicherstelleninformationen,
d. h. Speicherstelleninformationen eines Fragments, das den Schlüssel enthält, oder
Speicherstelleninformationen des Schlüssels in dem Fragment, mit
einem vorgegebenen Code definiert wird, und die betreffenden Metadaten
unter Verwendung des gesuchten Schlüssel extrahiert werden (S1400).
-
Der
Schritt des Extrahierens der betreffenden Metadaten, S1400, umfasst
die Schritte des Suchens nach einem repräsentativen Schlüsselwert,
der die Suchbedingung im Vergleich des repräsentativen Schlüsselwerts
und des Wertebereichs des Schlüssels
der Suchbedingung in dem Schlüsselindex-(key_index)Abschnitt 120 erfüllt, und
des Durchsuchens des Unterschlüsselindex-(sub_key_index)Abschnitts 130 nach
einem Segment 114, das die Werte des Schlüssels in
dem Bereich enthält,
der durch den gesuchten repräsentativen
Schlüsselwert
dargestellt wird (S1410), des Suchens nach einem Wert des Schlüssels, der
die Suchbedingung in dem Segment 114 des gesuchten Unterschlüsselindex-(sub_key_index)Abschnitts 130 erfüllt (S1420),
und des Extrahierens der betreffenden Metadaten unter Verwendung
der Identifizierungsinformationen des Metadatenfragments, das dem
gesuchten Wert des Schlüssels
entspricht, wodurch das Metadatenfragment, das der Suchbedingung
entspricht, extrahiert wird. Es ist klar, dass zum Beispiel unter
Bezugnahme auf 2 und 9, in denen
eine Suchbedingung, die einem Schlüssel der 'Dienstkennung' in dem Bereich von 507–514 entspricht,
eingegeben ist, die repräsentativen
Schlüsselwerte
509 und 519 gesucht werden, Werte aus den jeweiligen Wertebereichen
des Schlüssels
gesucht werden, und Fragmente, die der Suchbedingung entsprechen,
unter Verwendung der Identifizierungsinformationen über die
Fragmente extrahiert werden, die den Werten des Schlüssels entsprechen.
-
Die
Speicherstelleninformationen des Fragments beziehen sich auf einen
absoluten Pfad des Metadatenfragments, dessen Schlüssel wie
oben beschrieben zu indexieren sind, das heißt, den XPath des Metadatenfragments
(fragment_xpath_ptr), und die Speicherstelleninformationen des Schlüssels beziehen
sich auf einen relativen Pfad des Schlüssels für das Metadatenfragment (relativer
Pfad in der XPath-Speicherstelle des Fragments), das heißt, den
XPath (key_descriptor) der Knoten, die als Schlüssel verwendet werden.
-
In
den Schritten S1410, S1420 und S1430 laufen die Schritte des Suchens
nach dem betreffenden Schlüsselindex-(key_index)Abschnitt 120 und
dem Unterschlüsselindex-(sub_key_index)Abschnitts 130 und des
Extrahierens des betreffenden Fragments unter Verwendung der Identifizierungsinformationen
jeweils des Schlüsselindex-(key_index)Abschnitts 120,
des Unterschlüsselindex-(sub_key_index)Abschnitts
und des Metadatenfragments ab.
-
12 stellt
eine Vorrichtung zum Suchen nach den Metadaten gemäß einer
Ausführungsform
der vorliegenden Erfindung dar. Die Vorrichtung führt ein
Verfahren zum Suchen nach den Metadaten gemäß der vorliegenden Erfindung
durch, das unter Bezugnahme auf 11 beschrieben
wird.
-
Die
Vorrichtung 1000 umfasst eine Eingabeeinheit 1100,
die es einem Benutzer gestattet, eine Suchbedingung einzugeben,
eine Empfangseinheit 1200, die Inhalte, Metadaten über Inhalte
oder einen Index der Metadaten empfängt, eine Speichereinheit 1300,
die darin die empfangenen Inhalte, die Metadaten über die Inhalte
oder den Index der Metadaten speichert, eine Steuereinheit 1400,
die Speicherstelleninformationen der Metadaten ermittelt, die dem
Feld der Suchbedingung entsprechen, die über die Eingabeeinheit 1100 eingegeben
wurde, den Schlüssel
sucht, der den vorgegebenen Code als Speicherstelleninformationen
enthält,
wobei wenigstens ein Teil der Speicherstelleninformationen als der
vorgegebene Code definiert ist, und die betreffenden Metadaten unter
Verwendung des gesuchten Schlüssels
extrahiert, und eine Ausgabeeinheit 1500, die das Ergebnis
der Suche durch die Steuereinheit 1400 ausgibt.
-
Die
Steuereinheit 1400 vergleicht die Suchbedingung, die über die
Eingabeeinheit 1100 eingegeben wurde, mit dem Wert des
Schlüssels,
der in dem Metadatenindex enthalten ist, der in der Speichereinheit 1300 gespeichert
ist.
-
Von
den Schritten zum Suchen nach den Metadaten gemäß einer Ausführungsform
der vorliegenden Erfindung werden der Schritt des Ermittelns von
Speicherstelleninformationen des Felds einer eingegebenen Suchbedingung
in den Metadaten (S1210), der Schritt des Suchens nach dem Schlüssel, der
den vorgegebenen Code als Speicherstelleninformationen enthält, wobei
wenigstens ein Teil der Speicherstelleninformationen als der vorgegebene
Code definiert ist (S1300), und der Schritt des Extrahierens der
betreffenden Metadaten unter Verwendung des gesuchten Schlüssels (S1400)
in der Steuereinheit 1400 durchgeführt. Diese Schritte wurden
unter Bezugnahme auf 11 beschrieben.
-
Die
vorliegende Erfindung schlägt
eine Indexstruktur, die eine vereinfachte Indexierung für Metadatenfragmente
für die
rasche Suche nach Metadatenfragmenten in der Umge bung bereitstellt,
in der die Metadaten auf Fragmentbasis strukturiert sind, ein Verfahren
zum Suchen nach den Indexinformationen und eine Vorrichtung zum
Suchen nach den Indexinformationen vor.
-
INDUSTRIELLE ANWENDBARKEIT
-
Gemäß der vorliegenden
Erfindung ist eine rasche Suche nach Metadaten verfügbar und
der Overhead der Vorrichtung zum Suchen nach den Metadaten wird
reduziert, wodurch sich die Suchzeit verkürzt und die Effizienz der Vorrichtung
zum Suchen nach den Metadaten erhöht. Es ist jedoch klar, dass,
obwohl veranschaulichende, nicht-begrenzende Ausführungsformen
der vorliegenden Erfindung die oben beschriebenen Nachteile und
andere, oben nicht beschriebene Nachteile überwindet, die vorliegende
Erfindung die oben beschriebenen Nachteile nicht überwinden
muss, und veranschaulichende, nicht-begrenzende Ausführungsformen
der vorliegenden Erfindung gegebenenfalls keines der oben genannten
Probleme überwinden.
Es ist ebenfalls klar, dass ein System, das die vorliegende Erfindung
nutzt, auch einen permanenten oder Wechselspeicher enthält, wie
beispielsweise Magnet- und Bildplatten, RAM, ROM, ein Trägerwellenmedium
usw., auf denen der Prozess und Datenstrukturen der vorliegenden
Erfindung gespeichert und verteilt werden können. Die Operationen können ebenfalls
verteilt werden, wie beispielsweise per Herunterladen über ein
Netzwerk wie das Internet.
-
Obwohl
die vorliegende Erfindung in Verbindung mit der in den Zeichnungen
gezeigten bevorzugten Ausführungsform
beschrieben worden ist, ist diese rein veranschaulichend. Dem Fachmann
ist klar, dass verschiedene Modifizierungen und Entsprechungen ausgeführt werden
können.
Daher soll der Umfang der vorliegenden Erfindung nur über die
Ansprüche
im Anhang definiert werden.