DE112020005726T5 - Segmentieren von videos auf der grundlage eines gewichteten wissensgraphen - Google Patents

Segmentieren von videos auf der grundlage eines gewichteten wissensgraphen Download PDF

Info

Publication number
DE112020005726T5
DE112020005726T5 DE112020005726.7T DE112020005726T DE112020005726T5 DE 112020005726 T5 DE112020005726 T5 DE 112020005726T5 DE 112020005726 T DE112020005726 T DE 112020005726T DE 112020005726 T5 DE112020005726 T5 DE 112020005726T5
Authority
DE
Germany
Prior art keywords
frames
entities
video
relationship
knowledge graph
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE112020005726.7T
Other languages
English (en)
Inventor
Wan Wan Miao
Kun Yan Yin
Jian Gong Wang
Yan Hu
Lian Na Wang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112020005726T5 publication Critical patent/DE112020005726T5/de
Granted legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/75Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/7837Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using objects detected or recognised in the video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/809Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of classification results, e.g. where the classifiers operate on the same input data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/49Segmenting video sequences, i.e. computational techniques such as parsing or cutting the sequence, low-level clustering or determining units such as shots or scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Library & Information Science (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

System, Verfahren und Computerprogrammprodukt zum Segmentieren von Videos. Das System umfasst mindestens eine Verarbeitungskomponente, mindestens eine Speicherkomponente, ein Video, eine Extraktionskomponente und eine Grafikkomponente. Die Extraktionskomponente ist so konfiguriert, dass sie Bild- und Textdaten aus dem Video extrahiert, Entitäten in den Bilddaten ermittelt, den Entitäten in den Bilddaten mindestens eine Entitätsbeziehung zuweist, Entitäten in den Textdaten ermittelt und den Entitäten in den Textdaten mindestens eine Entitätsbeziehung zuweist. Die Grafikkomponente ist so konfiguriert, dass sie für die Entitätsbeziehungen, die den Entitäten in den Bilddaten zugewiesen wurden, einen Bild-Wissensgraphen erzeugt, für die Entitätsbeziehungen, die den mindestens zwei Entitäten in den Textdaten zugewiesen wurden, einen Text-Wissensgraphen erzeugt, und auf der Grundlage des Bild- und des Textwissensgraphen einen gewichteten Wissensgraphen erzeugt.

Description

  • HINTERGRUND
  • Die vorliegende Offenbarung betrifft ein Segmentieren von Videos und insbesondere ein Segmentieren eines Videos auf der Grundlage von Beziehungen zwischen in dem Video ermittelten Entitäten.
  • Videos umfassen zeitabhängige Bilddaten (z.B. grafische Bilder in Videoeinzelbildern), in der Regel begleitet von Audiodaten (z.B. Sprache, Musik und andere Geräusche). Diese Daten können von Text begleitet werden, beispielsweise in Form von Bildtext für Hörgeschädigte, Untertiteln, Text, der mit Hilfe von Sprache-zu-Text-Einrichtungen aus Sprachdaten extrahiert wird, Skripten, Transkripten usw. Videos können auf der Grundlage von Inhalten wie etwa Entitäten (z.B. bestimmte Personen, Tiere, unbelebte Objekte usw.) und anderen Merkmalen (z.B. Gesprächsthemen, Ort/Umgebung, Sprache, Musik usw.), die aus Bild-, Audio- und/oder Textdaten extrahiert werden, in Gruppen von Einzelbildern segmentiert werden. Beispielsweise kann ein Ort in einem Film aufgrund von für den Ort charakteristischen Inhalten (z.B. Sprache, Landschaft usw.) erkannt werden. Videoeinzelbilder, die diese Umgebung zeigen, können zu Segmenten gruppiert werden. Dies wird üblicherweise durch Segmentierung der Videoaufnahmeerkennung (video shot detection segmentation) ausgeführt. Dabei werden jedoch Szenarien im Video, die in mehr als einer Aufnahme vorkommen, oder Aufnahmen, die mehr als ein Szenario umfassen, nicht berücksichtigt.
  • KURZDARSTELLUNG
  • Die Erfindung stellt ein Verfahren nach Anspruch 1 und ein entsprechendes System und Computerprogrammprodukt nach den Ansprüchen 8 und 9 bereit.
  • Figurenliste
    • 1 ist ein Blockschaubild, das eine Videosegmentierungsumgebung gemäß einigen Ausführungsformen der vorliegenden Offenbarung veranschaulicht.
    • 2 ist ein Ablaufplan, der einen Prozess zum Segmentieren eines Videos gemäß einigen Ausführungsformen der vorliegenden Offenbarung veranschaulicht.
    • 3A ist eine schematische Darstellung, die einen Prozess zum Ermitteln von Beziehungen von Entitäten in einem Video gemäß einigen Ausführungsformen der vorliegenden Offenbarung veranschaulicht.
    • 3B ist eine schematische Darstellung, die einen Prozess zum Erzeugen eines Text-Wissensgraphen und eines Bild-Wissensgraphen gemäß einigen Ausführungsformen der vorliegenden Offenbarung veranschaulicht.
    • 3C ist eine schematische Darstellung, die einen Prozess zum Erzeugen eines gewichteten Wissensgraphen gemäß einigen Ausführungsformen der vorliegenden Offenbarung veranschaulicht.
    • 4 ist ein Blockschaltbild, das ein Computersystem gemäß einigen Ausführungsformen der vorliegenden Offenbarung veranschaulicht.
    • 5 ist eine Darstellung, die eine Cloud-Computing-Umgebung gemäß einigen Ausführungsformen der vorliegenden Offenbarung veranschaulicht.
    • 6 ist ein Blockschaubild, das einen von der Cloud-Computing-Umgebung bereitgestellten Satz von funktionellen Abstraktionsmodellschichten gemäß einigen Ausführungsformen der vorliegenden Offenbarung veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Bei Videosegmentierung handelt es sich um einen Prozess zum Gruppieren von Videoeinzelbildern in zusammenhängende Segmente. Dadurch wird ermöglicht, bestimmte Teile eines Videos zu lokalisieren (z.B. als Reaktion auf eine Benutzeranfrage). Videos können auf der Grundlage einer Aufnahmeübergangserkennung (shot transition detection) zeitlich segmentiert werden. Bei einer Videoaufnahme handelt es sich um eine Reihe von aufeinanderfolgenden Einzelbildern, die zusammenhängen und kontinuierliche Aktionen darstellen. Aufnahmeübergänge können anhand von visueller oder musikalischer Diskontinuität, Kameraaktionen usw. erkannt werden. Eine Segmentierung von Videos auf der Grundlage von Aufnahmeübergängen ist jedoch häufig ungenau, wenn es darum geht, bestimmte Szenarien/Geschichten in einem Video zu lokalisieren.
  • Beispielsweise versagen Aufnahmeübergangstechniken oftmals, wenn ein Szenario mehrere Aufnahmen umfasst oder wenn eine Aufnahme mehrere Szenarien umfasst. Ein Schulungsvideo für ein Ausgabensystem kann beispielsweise Szenarien umfassen, in denen beschrieben wird, wie ein Benutzer registriert wird, wie ein Ticket angelegt wird und wie eine Ausgabe eingegeben wird. Ein Benutzer möchte möglicherweise Anweisungen zum Eingeben einer Ausgabe finden, indem er nach einem Segment sucht, das dieses Szenario umfasst. Aktuelle automatische Segmentierungstechniken können jedoch Abschnitte des Videos ausschließen, die sich auf dieses Szenario beziehen, wenn die Segmente nur aufeinanderfolgende Einzelbilder und/oder Einzelaufnahmen umfassen. Beispielsweise kann es mehr als einen nichtaufeinanderfolgenden Satz von Einzelbildern im Video geben, die mit einem der Szenarien in Zusammenhang stehen. Wenn ein Benutzer bestehende Techniken verwendet, um nach einem Szenario zu suchen, das sich z.B. auf ein Anlegen von Tickets in einem Ausgabensystem bezieht, können daher Einzelbilder des Videos, die sich auf dieses Szenario beziehen, bei einem für das Szenario erzeugten Segment weggelassen werden.
  • Hierin werden Techniken zum Segmentieren von Videos in Szenarien beschrieben. Zu den beschriebenen Techniken gehört ein Verwenden gewichteter Wissensgraphen zum Ermitteln zusammenhängender Paare von Entitäten innerhalb aufeinanderfolgender Sätze von Einzelbildern, die in regelmäßigen Abständen (z.B. zehn Einzelbilder pro Satz) unterteilt sind. Diese Sätze von Einzelbildern werden hierin als „Bilder“ bezeichnet. Die Einzelbilder, die zusammenhängende Entitäten enthalten, werden dann in Segmente gruppiert. Beispielsweise kann ein Video 100 Einzelbilder enthalten, und die Bilder 51 bis 53 und 61 bis 70 können jeweils ein Paar zusammenhängender Entitäten, Person A und Person B, umfassen. Das Paar von zusammenhängenden Entitäten wird hier als eine „Entitätsbeziehung“ bezeichnet. In diesem Beispiel hat die Entitätsbeziehung ein Beziehungsgewicht im gewichteten Wissensgraphen, das größer ist als ein Schwellenwert für das Beziehungsgewicht. Entitätsbeziehungen, deren Gewicht größer ein Schwellenwert für das Beziehungsgewicht ist, werden hierin als „Top-Beziehungen“ bezeichnet. Da die Einzelbilder 51 bis 53 und 61 bis 70 eine Top-Beziehung umfassen, können diese Einzelbilder in ein Videosegment gruppiert werden. Einzelbilder, die andere Top-Beziehungen umfassen, können in zusätzliche Segmente gruppiert werden. Einzelbilder, die Entitätsbeziehungen umfassen, bei denen es sich nicht um Top-Beziehungen handelt, können mit Segmenten mit den nächstgelegenen verknüpften Einzelbildern verknüpft werden. Wenn beispielsweise eine Entitätsbeziehung, bei der es sich nicht um eine Top-Beziehung handelt, in den Einzelbildern 51 bis 60 enthalten ist, können diese Einzelbilder mit dem vorgenannten Segment verknüpft werden, um ein Segment zu bilden, das die Einzelbilder 51 bis 70 umfasst.
  • 1 ist ein Blockschaubild, das eine Videosegmentierungsumgebung 100 gemäß einigen Ausführungsformen der vorliegenden Offenbarung veranschaulicht. Die Videosegmentierungsumgebung 100 umfasst ein Video 110 und ein Segmentierungsmodul (segmentation module) 120 zum Segmentieren des Videos 110. Das Segmentierungsmodul 120 umfasst eine Extraktionskomponente (extraction component) 140, eine Grafikkomponente (graphing component) 150 und eine Gruppierungskomponente (grouping component) 160.
  • Das Video 110 kann in Übereinstimmung mit jedem geeigneten Dateiformatstandard codiert werden wie beispielsweise Audio Video Interleave (AVI), Waveform Audio (WAV), Animation (ANI), Audio Interchange File Format (AIFF), Graphics Interchange Format (GIF), Motion Picture Experts Group (MPEG, z.B. MPEG-4), 8-Bit Sampled Voice (8SVX) usw. Das Video 110 umfasst Einzelbilder, von denen eines oder mehrere Entitäten wie etwa Personen, Tiere und/oder unbelebte Objekte zeigen. Das Video 110 umfasst auch Textdaten in Form von Untertiteln für Hörgeschädigte, Untertiteln, Transkripten, durch einen Computer lesbaren Sprachdaten usw. Das Video 110 umfasst mindestens einen Satz aufeinanderfolgender Einzelbilder, wobei jeder Satz hierin als ein „Bild“ bezeichnet wird. Dies wird im Folgenden ausführlicher erläutert.
  • Die Extraktionskomponente 140 extrahiert Entitäten und Entitätsbeziehungen aus den Bilddaten des Videos 110. Zu Entitäten können bestimmte Personen, Tiere, unbelebte Objekte usw. gehören. Jedem Paar von Entitäten, die aus demselben Bild extrahiert wurden, wird eine Entitätsbeziehung zugewiesen. Die Extraktionskomponente 140 kann die Entitäten unter Verwenden verschiedener Bilderkennungstechniken ermitteln, beispielsweise mit auf Regionen beruhenden, faltenden neuronalen Netzen (region-based convolutional neural networks, R-CNN), skaleninvarianter Merkmalstransformation (scaleinvariant feature transform, SIFT), Techniken zur Objekterkennung in Echtzeit (real-time object detection techniques), Mustererkennung, Kanten/Konturen/Graterkennung (edge/contour/ridge detection), Histogrammanalyse usw. Es können auch ein oder mehrere Bilder vorhanden sein, die keine Entitäten umfassen. Beispielsweise können Entitäten auf der Grundlage einer Gesichtserkennung ermittelt werden. In diesen Fällen würden in Bildern, die nur Merkmale wie etwa Landschaften umfassen, keine Entitäten ermittelt.
  • Die Extraktionskomponente 140 ordnet die Entitäten den Bildern zu, aus denen sie extrahiert wurden. Zum Beispiel kann die Extraktionskomponente 140 feststellen, dass ein erstes Bild („Bild 1“) eine erste Person und einen Vogel zeigt, ein zweites Bild („Bild 2“) eine zweite Person und den Vogel zeigt und ein drittes Bild („Bild 3“) die erste Person, die zweite Person und den Vogel umfasst. Auf der Grundlage der Bilddaten können sodann die folgenden Entitätsbeziehungen hergestellt werden: erste Person/Vogel (Bilder 1 und 3), zweite Person/Vogel (Bilder 2 und 3) sowie erste Person/zweite Person (Bild 3).
  • Die Extraktionskomponente 140 ermittelt auch Entitäten und Entitätsbeziehungen in Text- und/oder Audiodaten (z.B. Sprache) aus dem Video 110. Der extrahierte Text kann Bildtext für Hörgeschädigte oder anderen dem Video zugehörigen Text umfassen (z.B. Untertitel, Transkripte usw.). Sprachdaten aus extrahierten Audioinhalten können von mindestens einer Sprache-zu-Text-Einrichtung in maschinell codierten Text umgewandelt werden (z.B. unter Verwenden von Techniken wie etwa künstliche neuronale Netzen, faltende neuronale Netzen, statistische Modellierung, verdeckte Markov-Modellen (Hidden Markov Models, HMM), gitterbasierte Analyse (lattice-based analysis), entropiebasierte Algorithmen zur Sprachsegmentierung (entropy-based speech segmentation algorithms), CMU Sphinx usw.). Die Extraktionskomponente 140 kann auch Merkmale aus Text extrahieren, der durch Umwandeln von in Einzelbildern des Videos 110 erkannten Zeichen (z.B. Buchstaben, Zahlen, Satzzeichen usw.) in maschinell codierten Text gewonnen wurde, wobei Techniken wie optische Zeichenerkennung (OCR) oder intelligente Zeichenerkennung (ICR) verwendet werden. Beispielsweise kann die Extraktionskomponente 140 Text erkennen, der auf einem Objekt wie etwa ein Gebäudeschild, ein Buchdeckel usw. aufgedruckt ist.
  • Entitäten können im Text auf verschiedene Weise ermittelt werden. Zum Beispiel kann die Extraktionskomponente 140 Schlüsselwörter wie Figurennamen ermitteln. Darüber hinaus können Texte wie etwa Bildtexte für Hörgeschädigte, Skripte usw. angeben, welche Figur (Entität) jeweils einen Teil des Textes spricht. In einigen Ausführungsformen können Entitäten in Sprachaudiodaten auch unter Verwenden von textunabhängigen und/oder textabhängigen Techniken zur Sprechererkennung (speaker recognition techniques) ermittelt werden (z.B. Frequenzschätzung, lineare prädiktive Codierung (linear predictive coding, LPC), HMMs, Gaußsche Mischungsmodelle, Musterabgleichalgorithmen (pattern matching algorithms), neuronale Netze, Matrixdarstellung, Vektorquantisierung, Entscheidungsbäume usw.).
  • Darüber hinaus ordnet die Extraktionskomponente 140 die Entitäten Videoeinzelbildern zu, die dem Text zugehörig sind, aus dem sie extrahiert wurden. Die Einzelbilder können mit Text verknüpft werden, der zu bestimmten, von bestimmten oder über bestimmte Entitäten gesprochen wird. Unter erneuter Bezugnahme auf das vorherige Beispiel mit den Bildern 1 bis 3 des Videos 110 kann das Video 110 in Abständen von 10 Einzelbildern in Bilder unterteilt werden, und Bild 3 kann die Einzelbilder 21 bis 30 umfassen. In diesem Bild können die Einzelbilder 21 bis 24 einen Text umfassen, der von der ersten Person zur zweiten Person gesprochen wird (z.B. „Hallo“), und die Einzelbilder 27 bis 29 können einen Satz über den Vogel umfassen, der von der zweiten Person zur ersten Person gesprochen wird (z.B. „Schau dir den Vogel an.“). Auf der Grundlage der Entitäten und zugehöriger Einzelbilder kann die Extraktionskomponente 140 die folgenden Entitätsbeziehungen ermitteln: erste Person/zweite Person (Einzelbilder 21 bis 24 und 27 bis 29), erste Person/Vogel (Einzelbilder 27 bis 29) und zweite Person/Vogel (Einzelbilder 27 bis 29).
  • Die Grafikkomponente 150 erzeugt Bild- und Text-Wissensgraphen auf der Grundlage der in den extrahierten Bild- und Textdaten ermittelten Entitäten und Entitätsbeziehungen. Die Grafikkomponente 150 erzeugt auch einen gewichteten Wissensgraphen auf der Grundlage der Bild- und Text-Wissensgraphen. Der gewichtete Wissensgraph umfasst jede Entitätsbeziehung für Entitäten in den Text- und Bilddaten. Die Entitätsbeziehungen werden danach gewichtet, wie oft jede Beziehung vorkommt. Unter erneuter Bezugnahme auf das vorherige Beispiel kann das Gewicht der Entitätsbeziehung erste Person/Vogel im Verhältnis zu den anderen beiden Beziehungen erhöht werden, da sie in zwei Bildern vorkommt (Bild 1 und 3). Das Gewicht der Entitätsbeziehung erste Person/Vogel kann weiterhin erhöht werden, da sie zweimal in Bild 3 vorkommt (Einzelbilder 21 bis 24 und 27 bis 29). Beispiele für Wissensgraphen werden in den 3A bis 3C veranschaulicht.
  • Die Gruppierungskomponente 160 gruppiert Videoeinzelbilder in Segmente auf der Grundlage der gewichteten Entitätsbeziehungen im gewichteten Wissensgraphen. Dazu ermittelt die Gruppierungskomponente 160 Top-Entitätsbeziehungen. Bei Top-Entitätsbeziehungen handelt es sich um Entitätsbeziehungen im gewichteten Wissensgraphen, deren Gewichte über einem Schwellenwert für das Beziehungsgewicht liegen. Bei dem Schwellenwert kann es sich um einen voreingestellten oder von einem Benutzer eingegebenen Wert handeln. In einigen Ausführungsformen kann der Schwellenwert auf der Grundlage einer gewünschten Segmentgröße und/oder Selektivität angepasst werden. Einzelbilder, die jeder Entitätsbeziehung entsprechen, deren Beziehungsgewicht über einem Schwellenwert liegt, werden zusammen in Segmente gruppiert. Einzelbilder, die nur verbleibenden Entitätsbeziehungen entsprechen, deren Beziehungsgewichte unter dem Schwellenwert liegen, werden mit den nächstgelegenen zeitlich verbundenen Einzelbildern gruppiert. Wenn es mehr als ein Segment im gleichen Abstand zu einem Einzelbild mit einer verbleibenden Entitätsbeziehung gibt, kann das Einzelbild mit dem Segment gruppiert werden, das Top-Entitätsbeziehungen mit den höchsten Gewichtungswerten hat. Beispiele für Beziehungsgewichtswerte und gruppierte Segmente werden in Bezug auf 3C ausführlicher erläutert.
  • 2 ist ein Ablaufplan, der einen Prozess 200 zum Segmentieren eines Videos gemäß einigen Ausführungsformen der vorliegenden Offenbarung veranschaulicht. Um den Prozess 200 zu veranschaulichen, jedoch ohne Ausführungsformen einzuschränken, wird 2 im Kontext der Videosegmentierungsumgebung 100 von 1 beschrieben. Wenn in 2 gezeigte Elemente mit in 1 gezeigten Elementen identisch sind, werden in beiden Figuren die gleichen Bezugsziffern verwendet.
  • Der Prozess 200 beginnt, wenn ein Video 110 empfangen wird. Dies ist im Schritt 210 dargestellt. Videoformate werden in Bezug auf 1 ausführlicher erläutert. Mindestens ein Einzelbild des Videos 110 zeigt zwei oder mehr Entitäten (z.B. Personen, Tiere, animierte Figuren usw.). Außerdem sind mindestens einem der Bilder Textdaten zugehörig, die sich auf mindestens zwei der Entitäten beziehen. In einigen Ausführungsformen stammen die Textdaten aus Bildtexten für Hörgeschädigte, Untertiteln, Skripten usw. Der Text kann auch aus Audiodaten wie etwa aufgezeichneten Dialogen oder Erzählungen stammen. Das Video 110 wird in regelmäßigen Abständen unterteilt, um Sätze von Einzelbildern zu bilden, die hierin als „Bilder“ bezeichnet werden. Die Anzahl von Einzelbildern in jedem Bild kann voreingestellt und/oder von einem Benutzer ausgewählt werden. In einigen Ausführungsformen gibt es 10 Einzelbilder pro Bild, obwohl die Bildintervalle eine beliebige Anzahl von aufeinanderfolgenden Bildern umfassen können (z.B. 24 Einzelbilder, 30 Einzelbilder, 100 Einzelbilder, 120 Einzelbilder, 240 Einzelbilder, 300 Einzelbilder, 500 Einzelbilder, 1.000 Einzelbilder usw.).
  • Text- und Bild-Wissensgraphen werden auf der Grundlage von im Video 110 ermittelten Entitäten und Entitätsbeziehungen erzeugt. Dies ist im Schritt 220 dargestellt. Entitäten und Entitätsbeziehungen werden in Text- und Bilddaten ermittelt, die von der Extraktionskomponente 140 aus dem Video 110 extrahiert wurden. Das Extrahieren von Daten und das Ermitteln von Entitäten und Entitätsbeziehungen werden in Bezug auf 1 ausführlicher erläutert. Auf der Grundlage der Entitätsbeziehungen erzeugt die Grafikkomponente 150 einen Bild-Wissensgraphen, der Entitäten, die in demselben Bild oder denselben Bildern vorkommen, miteinander verknüpft. Jedem Bild kann eine Bildnummer n zugewiesen werden, die eine ganze Zahl größer als Null sein kann (z.B. Bild 1, Bild 2, Bild 3 usw.). Jedes verknüpfte Paar von Entitäten wird hierin als „Entitätsbeziehung“ bezeichnet. Der Bild-Wissensgraph kann auch die Anzahl von Bildern angeben, in denen jede Entitätsbeziehung vorkommt. Das Erzeugen von Bild-Wissensgraphen wird in Bezug auf die 1 und 3A ausführlicher erläutert.
  • Der Text-Wissensgraph umfasst Entitäten und Entitätsbeziehungen, die in den von der Extraktionskomponente 140 extrahierten Textdaten ermittelt wurden. Beispielsweise kann eine Entitätsbeziehung im Text-Wissensgraphen erstellt werden, wenn Text, der eine Unterhaltung zwischen zwei Entitäten umfasst, aus dem Video 110 extrahiert wird. Der Text-Wissensgraph kann sowohl die Anzahl von Vorkommen jeder Entitätsbeziehung, die in den Textdaten ermittelt wurde, als auch angeben, welche Einzelbilder diesen Vorkommen zugehörig sind. Das Erzeugen von Text-Wissensgraphen wird in Bezug auf die 1 und 3B ausführlicher erläutert.
  • Anschließend wird ein gewichteter Wissensgraph erzeugt. Dies ist im Schritt 230 dargestellt. Der gewichtete Wissensgraph wird von der Grafikkomponente 150 erzeugt und umfasst Entitätsbeziehungen sowohl aus dem Bild-Wissensgraphen als auch aus dem Text-Wissensgraphen. Die Grafikkomponente 150 gewichtet jede Entitätsbeziehung auf der Grundlage der Anzahl von Bildern, in denen sie vorkommt, und/oder der Anzahl von Vorkommen in den Textdaten. Gewichtete Wissensgraphen werden in Bezug auf die 1 und 3C ausführlicher erläutert.
  • Einzelbilder, die die Top-Beziehungen aus dem gewichteten Wissensgraphen umfassen, werden zu Videosegmenten gruppiert. Dies ist im Schritt 240 dargestellt. Die Gruppierungskomponente 160 ermittelt die Top-Beziehungen im gewichteten Wissensgraphen. Bei den Top-Beziehungen handelt es sich um Entitätsbeziehungen, deren Beziehungsgewichte größer sind als ein Schwellenwert für das Beziehungsgewicht. Jedes im Schritt 240 gebildete Videosegment umfasst Einzelbilder, in denen mindestens eine Top-Beziehung ermittelt wurde. In dem in Bezug auf 1 erläuterten Beispiel, in dem das Video 110 Bilder 1, 2 und 3 hat, kann es sich bei erste Person/Vogel um eine Top-Beziehung handeln. Daher kann für die Einzelbilder 21 bis 24 und 27 bis 29 ein Segment erzeugt werden, da diese Einzelbilder die Entitätsbeziehung erste Person/Vogel umfassen. Beispiele für ein Gruppieren auf der Grundlage von Beziehungsgewichten werden in Bezug auf die 1 und 3C ausführlicher erläutert.
  • Wenn Videosegmente für die Top-Beziehungen erzeugt wurden, wird ermittelt, ob es noch Einzelbilder gibt, die nicht in ein Segment gruppiert worden sind. Dies ist im Schritt 250 dargestellt. Wenn festgestellt wird, dass es keine verbleibenden Einzelbilder gibt, kann der Prozess 200 enden. Sind jedoch noch Einzelbilder vorhanden, werden die verbleibenden Einzelbilder zu den im Schritt 240 gebildeten Segmenten hinzugefügt, die die nächstgelegenen Einzelbilder umfassen. Dies ist im Schritt 260 dargestellt. Bei den verbleibenden Einzelbildern handelt es sich um Einzelbilder, die Entitätsbeziehungen mit Beziehungsgewichten unterhalb des Schwellenwerts für das Beziehungsgewicht umfassen. Die verbleibenden Einzelbilder umfassen keine Top-Beziehungen. In einem Beispiel für ein Video 110, das Einzelbilder 1 bis 90 umfasst, kann im Schritt 240 ein Segment, das die Einzelbilder 20 bis 35 und die Einzelbilder 45 bis 90 umfasst, für Top-Beziehungen erzeugt werden. Im Schritt 250 kann festgestellt werden, dass es sich bei den Einzelbildern 36 bis 44 um verbleibende Einzelbilder handelt. Im Schritt 260 können diese Einzelbilder sodann zu dem Segment mit den Einzelbildern 20 bis 35 und 45 bis 90 hinzugefügt werden, da es die nächstgelegenen Einzelbilder umfasst. Wenn es Segmente gibt, deren Einzelbilder den gleichen Abstand zu einem oder mehreren verbleibenden Einzelbildern haben, können die verbleibenden Einzelbilder mit dem Segment gruppiert werden, das eine Entitätsbeziehung mit dem größeren Beziehungsgewicht hat. Wenn die verbleibenden Einzelbilder jeweils zu Videosegmenten hinzugefügt wurden, endet der Prozess 200.
  • Bei den 3A bis 3C handelt es sich um schematische Darstellungen, die Prozesse 300, 301 und 302 zum Erzeugen von Wissensgraphen für eine Videosegmentierung gemäß einigen Ausführungsformen der vorliegenden Offenbarung veranschaulichen. Um die Prozesse 300 bis 302 zu veranschaulichen, ohne jedoch Ausführungsformen einzuschränken, werden die 3A bis 3C im Kontext der Videosegmentierungsumgebung 100 von 1 und des Prozesses 200 von 2 beschrieben. Wenn in den 3A bis 3C gezeigte Elemente mit in den 1 und 2 gezeigten Elementen identisch sind, werden in jeder Figur die gleichen Bezugsziffern verwendet.
  • 3A ist eine schematische Darstellung, die einen Prozess 300 zum Ermitteln von Entitätsbeziehungen in einem Video 110 gemäß einigen Ausführungsformen der vorliegenden Offenbarung veranschaulicht. Die Extraktionskomponente 140 (1) extrahiert Textdaten 310 aus dem Video 110 und ermittelt Entitäten und Entitätsbeziehungen in den Daten 310. Die aus den Textdaten 310 extrahierten Entitäten sind in einer Tabelle 320 dargestellt, die Spalten 322, 324 und 326 umfasst. Die Spalte 322 umfasst Zahlen (1 bis 8), die jeweils ein Vorkommen von mindestens einer Entitätsbeziehung in den Textdaten 310 anzeigen. Die Teile des Textes 310, die die Vorkommen umfassen, sind jeweils einem oder mehreren Videoeinzelbildern zugehörig. Die Videoeinzelbilder, die den Vorkommen in der Spalte 322 entsprechen, werden durch Einzelbildnummern in der Spalte 324 ermittelt. Die Spalte 326 umfasst die Namen von Entitäten, die bei jedem Vorkommen in Entitätsbeziehungen enthalten sind. Auf der Grundlage der Tabelle 320 umfassen die aus den Textdaten 310 extrahierten Entitätsbeziehungen Sarah/Geoff (Vorkommen 1), Thuy/Geoff (Vorkommen 2, 4 und 5), Thuy/Sarah (Vorkommen 3), Thuy/Cheryl (Vorkommen 4 und 5), Cheryl/Geoff (Vorkommen 4 und 5), Barbara/Hannah (Vorkommen 6), und Danielle/William (Vorkommen 7 und 8).
  • Die Extraktionskomponente 140 extrahiert auch Bilddaten 330 aus dem Video 110. Die aus den Bilddaten 330 extrahierten Entitäten und Entitätsbeziehungen sind in einer Tabelle 340 dargestellt, die Spalten 342, 344 und 346 umfasst. Die Spalte 342 umfasst Bildnummern 1 bis 10, die jeweils einem Satz von zehn aufeinanderfolgenden Einzelbildern des Videos 110 entsprechen. Die Spalte 344 umfasst die Nummern der in jedem Bild enthaltenen Einzelbilder. Die Spalte 346 umfasst die Namen der in jedem Bild ermittelten Entitäten. Auf der Grundlage der Tabelle 340 umfassen die in den Bilddaten 330 ermittelten Entitätsbeziehungen Sarah/Geoff (Bilder 1 und 3), Sarah/Kim (Bild 1), Geoff/Kim (Bild 1), Thuy/Kim (Bild 2), Thuy/Cheryl (Bilder 4 und 5), Barbara/Ned (Bild 6), Barbara/Hannah (Bild 7), Barbara/Rita (Bild 7), Rita/Hannah (Bild 7), Danielle/William (Bild 8), Danielle/Ellen (Bilder 8 und 9) und William/Ellen (Bilder 8 und 10).
  • 3B ist eine schematische Darstellung, die einen Prozess 301 zum Erzeugen eines Text-Wissensgraphen 350 und eines Bild-Wissensgraphen 360 gemäß einigen Ausführungsformen der vorliegenden Offenbarung veranschaulicht. Techniken, die zum Durchführen des Prozesses 301 verwendet werden können, werden in Bezug auf Schritt 220 des Prozesses 200 ausführlicher erläutert. Die Bild- und Text-Wissensgraphen 350 und 360 werden von der Grafikkomponente 150 (1) auf der Grundlage der Daten aus den Tabellen 320 bzw. 340 (3A) erzeugt. Die Knoten in jedem Wissensgraphen 350 und 360 stellen Entitäten dar, und bei den Buchstaben in den Knoten handelt es sich um die Anfangsbuchstaben der in Tabelle 320 (Spalte 326) bzw. Tabelle 340 (Spalte 346) aufgelisteten Entitäten.
  • Die Kanten in jedem Wissensgraphen 350 und 360 stellen Entitätsbeziehungen dar. Informationen aus der Tabelle 320, beispielsweise Anzahlen von Vorkommen und entsprechende Einzelbilder, können mit den Kanten im Text-Wissensgraphen 350 verknüpft werden. Zum Beispiel kann die Kante, die die Entitätsbeziehung Sarah/Geoff (S/G) darstellt, mit Informationen verknüpft werden, die anzeigen, dass es ein Vorkommen der Entitätsbeziehung S/G gibt und dass das Vorkommen in den Einzelbildern 1 bis 3 zu finden ist. Ferner können die Bildnummern (Spalte 342) und entsprechende Einzelbilder (Spalte 344) in der Tabelle 340 mit den Kanten im Bild-Wissensgraphen 360 verknüpft werden. Beispielsweise kann die Entitätsbeziehung S/G mit Informationen verknüpft werden, die anzeigen, dass Sarah und Geoff beide in den Bildern 1 und 3 erscheinen, die den Einzelbildern 1 bis 10 und 21 bis 30 entsprechen. Techniken, die zum Durchführen der Prozesse 300 und 301 verwendet werden können, werden in Bezug auf die Schritte 210 und 220 des Prozesses 200 ausführlicher erläutert.
  • 3C eine schematische Darstellung, die einen Prozess 302 zum Erzeugen eines gewichteten Wissensgraphen 370 gemäß einigen Ausführungsformen der vorliegenden Offenbarung veranschaulicht. Der gewichtete Wissensgraph 370 umfasst durchgezogene Linien, die Top-Beziehungen darstellen, und gestrichelte Linien, die die verbleibenden Entitätsbeziehungen darstellen. Techniken, die zum Durchführen des Prozesses 302 verwendet werden können, werden in Bezug auf die Schritte 230 bis 260 des Prozesses 200 ausführlicher erläutert. Der gewichtete Wissensgraph 370 wird von der Grafikkomponente 150 erzeugt, die Einheiten der Sätze von Entitäten und Entitätsbeziehungen im Text-Wissensgraph 350 und im Bild-Wissensgraph 360 berechnet (3B). Dies kann durch die folgenden Gleichungen dargestellt werden: { E n t i t a ¨ t e n G e w i c h t e t e r   W G } = { E n t i t a ¨ t e n T e x t W G } { E n t i t a ¨ t e n B i l d W G } { B e z i e h u n g e n G e w i c h t e t e   W G } = { B e z i e h u n g e n T e x t W G } { B e z i e h u n g e n i m B i l d W }
    Figure DE112020005726T5_0001
    wobei „WG“ für „Wissensgraph“ steht.
  • Die Grafikkomponente 150 ermittelt das Beziehungsgewicht jeder Entitätsbeziehung auf der Grundlage der Anzahl, wie oft die Entitätsbeziehung in den Text- und Bild-Wissensgraphen 350 und 360 vorkommt. Beispielsweise kann ein Beziehungsgewicht für eine Entitätsbeziehung unter Verwenden der folgenden Gleichung berechnet werden: G e w i c h t r = i G e w i c h t r G e s a m t z a h l   d e r   B i l d e r σ p + t G e w i c h t r i = 0 n t G e w i c h t r ( 1 σ p )
    Figure DE112020005726T5_0002
    wobei Gewichtr das Beziehungsgewicht ist, iGewichtr die Anzahl der Vorkommen der Entitätsbeziehung im Bild-Wissensgraphen 360, tGewichtr die Anzahl der Vorkommen der Entitätsbeziehung im Text-Wissensgraphen 350 und σp der Einflussfaktor des Bild-Wissensgraphen 360 auf den gewichteten Wissensgraphen 370 ist. Eine Tabelle 380 umfasst die Top-Beziehungsgewichte (Spalte 382), die für Entitätsbeziehungen (Spalte 384) im gewichteten Wissensgraphen 370 berechnet werden, sowie die Videoeinzelbilder, die jede Entitätsbeziehung enthalten (Spalte 386). Die verbliebenden Entitätsbeziehungen, deren Werte von Gewichtr unterhalb eines Schwellenwerts liegen (z.B. Gewichtr = 0,05), sind in der Tabelle 380 nicht gezeigt.
  • Die Einzelbilder (Spalte 386), die den Top-Beziehungen in der Tabelle 380 entsprechen, werden durch die Gruppierungskomponente 160 (1) in Videosegmente gruppiert. In dem in 3C dargestellten Beispiel kann das Video 110 (1 und 3A) in drei Segmente unterteilt werden. Das erste Segment kann die Einzelbilder 1 bis 10 und 21 bis 50 umfassen, die die Entitäten mit Top-Beziehungen Thuy, Cheryl, Geoff und Sarah (Knoten T, C, S und G) umfassen. Das zweite Segment kann die Einzelbilder 51 bis 53 und 61 bis 70 umfassen, die die Entitäten mit Top-Beziehungen Barbara und Hannah (Knoten B und H) umfassen. Das dritte Videosegment kann die Einzelbilder 71 bis 100 umfassen, die die Entitäten mit Top-Beziehungen Danielle, William und Ellen (Knoten D, W und E) umfassen.
  • Wenn die Einzelbilder mit Top-Beziehungen gruppiert werden, kann die Gruppierungskomponente 160 feststellen, dass die Einzelbilder 11 bis 20 und 51 bis 60 übrigbleiben und nicht mit einem Segment verknüpft wurden. Die verbleibenden Einzelbilder werden dann mit Segmenten verknüpft, die die nächstgelegenen Einzelbilder umfassen. Die Einzelbilder 11 bis 20 liegen den Einzelbildern 1 bis 10 und 21 bis 50 am nächsten und können daher mit dem ersten Segment verknüpft werden. Des Weiteren liegen die Einzelbilder 51 bis 60 den Bildern 51 bis 53 und 61 bis 70 am nächsten und werden daher mit dem zweiten Segment verknüpft. Wenn jedes der Einzelbilder gruppiert wurde, umfasst das erste Segment die Einzelbilder 1 bis 50, das zweite Segment die Einzelbilder 51 bis 70 und das dritte Segment die Einzelbilder 71 bis 100.
  • 4 ist ein Blockschaltbild, das ein beispielhaftes Computersystem 400 veranschaulicht, das zum Implementieren einer oder mehrerer der hierin beschriebenen Verfahren, Hilfsprogramme, Komponenten und allen damit zusammenhängenden Funktionen verwendet werden kann (z.B. unter Verwenden einer oder mehrerer Prozessorschaltungen oder Computerprozessoren des Computers). In einigen Ausführungsformen umfassen die Hauptkomponenten des Computersystems 400 einen oder mehrere Prozessoren 402, ein Speicherteilsystem 404, eine Anschlussschnittstelle 412, eine Speicherschnittstelle 416, eine Schnittstelle für Ein/Ausgabe-Einheiten 414 und eine Netzwerkschnittstelle 418, die alle direkt oder indirekt zum Datenaustausch zwischen den Komponenten über einen Speicherbus 403, einen Ein/Ausgabe-Bus 408, eine Busschnittstelleneinheit 407 und eine Ein/Ausgabe-Busschnittstelleneinheit 410 miteinander verbunden sein können.
  • Das Computersystem 400 enthält eine oder mehrere programmierbare Universal-Zentraleinheiten (CPUs) 402-1, 402-2 und 402-N, die hier allgemein als CPU 402 bezeichnet werden. In einigen Ausführungsformen enthält das Computersystem 400 mehrere Prozessoren, wie sie für ein verhältnismäßig großes System üblich sind; in anderen Ausführungsformen kann es sich bei dem Computersystem 400 jedoch alternativ auch um ein System mit einer einzigen CPU handeln. Jede CPU 402 kann Anweisungen ausführen, die im Speicherteilsystem 404 gespeichert sind, und kann eine oder mehrere Ebenen von integriertem Cache umfassen.
  • Bei dem Speicher 404 kann es sich um einen Halbleiter-Direktzugriffsspeicher, eine Speichereinheit oder ein Speichermedium (entweder flüchtig oder nichtflüchtig) zum Speichern oder Codieren von Daten und Programmen handeln. In einigen Ausführungsformen stellt der Speicher 404 den gesamten virtuellen Speicher des Computersystems 400 dar und kann auch den virtuellen Speicher anderer Computersysteme umfassen, die mit dem Computersystem 400 verbunden oder über ein Netzwerk verbunden sind. Der Speicher 404 ist konzeptionell eine einzige monolithische Einheit, aber in anderen Ausführungsformen handelt es sich beim Speicher 404 um eine komplexere Anordnung, z.B. eine Hierarchie von Caches und anderen Speichereinheiten. Beispielsweise kann der Speicher in mehreren Ebenen von Caches vorliegen, und diese Caches können weiter nach Funktionen unterteilt sein, so dass ein Cache Befehle zwischenspeichert, während ein anderer Nicht-Befehlsdaten zwischenspeichert, die von dem Prozessor oder den Prozessoren verwendet werden. Der Speicher kann weiter verteilt und verschiedenen CPUs oder Gruppen von CPUs zugehörig sein, wie dies in verschiedenen sogenannten NUMA- (Non-Uniform Memory Access-) Computerarchitekturen bekannt ist.
  • Diese Komponenten sind so dargestellt, dass sie im Speicher 404 des Computersystems 400 enthalten sind. In anderen Ausführungsformen können sich jedoch einige oder alle diese Komponenten in verschiedenen Computersystemen befinden, und der Zugriff kann aus der Ferne erfolgen, z.B. über ein Netzwerk. Das Computersystem 400 kann virtuelle Adressiermechanismen verwenden, die es den Programmen des Computersystems 400 ermöglichen, sich so zu verhalten, als hätten sie nur Zugriff auf eine große einzelne Speichereinheit anstatt auf mehrere kleinere Speichereinheiten. Zwar ist das Segmentierungsmodul 120 als Teil des Speichers 404 dargestellt, die Komponenten des Speichers 404 sind jedoch folglich nicht notwendigerweise alle zur gleichen Zeit vollständig in der gleichen Speichereinheit enthalten. Auch wenn diese Komponenten als separate Einheiten dargestellt sind, können in anderen Ausführungsformen außerdem einige dieser Komponenten, Teile einiger dieser Komponenten oder alle diese Komponenten zusammengepackt sein.
  • In einer Ausführungsform umfasst das Segmentierungsmodul 120 Anweisungen, die im Prozessor 402 ausgeführt werden, oder Anweisungen, die von im Prozessor 402 ausgeführten Anweisungen interpretiert werden, um die Funktionen auszuführen, wie in dieser Offenbarung weiter beschrieben wird. In einer anderen Ausführungsform ist das Segmentierungsmodul 120 mittels Halbleiterbauelementen, Chips, logischen Gattern, Schaltkreisen, Schaltkreiskarten und/oder anderen physischen Hardware-Einheiten anstelle eines auf einem Prozessor beruhenden Systems oder zusätzlich zu diesem in Hardware implementiert. In einer anderen Ausführungsform umfasst das Segmentierungsmodul 120 neben Anweisungen auch Daten.
  • Zwar ist Speicherbus 403 in 4 als eine einzige Busstruktur gezeigt, die einen direkten Übertragungsweg zwischen den CPUs 402, dem Speicherteilsystem 404, einem Anzeigesystem 406, der Busschnittstelle 407 und der Ein/Ausgabe-Busschnittstelle 410 bereitstellt, der Speicherbus 403 kann jedoch in einigen Ausführungsformen mehrere verschiedene Busse oder Übertragungswege umfassen, die in verschiedenen Formen angeordnet sein können, beispielsweise Punkt-zu-Punkt-Verbindungen in hierarchischen, sternförmigen oder Netzkonfigurationen, mehrere hierarchische Busse, parallele und redundante Pfade oder jede andere geeignete Art von Konfiguration. Zwar sind die Ein/Ausgabe-Busschnittstelle 410 und der Ein/Ausgabe-Bus 408 als einzelne Einheiten dargestellt, jedoch kann das Computersystem 400 in einigen Ausführungsformen außerdem mehrere Ein/Ausgabe-Busschnittstelleneinheiten 410, mehrere Ein/Ausgabe-Busse 408 oder beides enthalten. Zwar sind mehrere Ein/Ausgabe-Schnittstelleneinheiten gezeigt, die den Ein/Ausgabe-Bus 408 von verschiedenen Übertragungswegen trennen, die zu den verschiedenen Ein/Ausgabe-Einheiten führen, jedoch können in anderen Ausführungsformen außerdem einige oder alle Ein/Ausgabe-Einheiten direkt mit einem oder mehrere Ein/Ausgabe-Systembussen verbunden werden.
  • Das Computersystem 400 kann eine Busschnittstelleneinheit 407 umfassen, um Datenaustauschvorgänge zwischen dem Prozessor 402, dem Speicher 404, einem Anzeigesystem 406 und der Ein/Ausgabe-Busschnittstelleneinheit 410 zu verarbeiten. Die Ein/Ausgabe-Schnittstelleneinheit 410 kann mit dem Ein/Ausgabe-Bus 408 verbunden sein, um Daten zu und von den verschiedenen Ein/Ausgabe-Einheiten zu übertragen. Die Ein/Ausgabe-Busschnittstelleneinheit 410 tauscht über den Ein/Ausgabe-Bus 408 mit mehreren Ein/Ausgabe-Schnittstelleneinheiten 412, 414, 416 und 418, die auch als Ein/Ausgabe-Prozessoren (IOPs) oder Ein/Ausgabe-Adapter (IOAs) bezeichnet werden, Daten aus. Das Anzeigesystem 406 kann eine Anzeigesteuereinheit umfassen. Die Anzeigesteuereinheit kann visuelle, akustische oder beide Arten von Daten an eine Anzeigeeinheit 405 übertragen. Das Anzeigesystem 406 kann mit einer Anzeigeeinheit 405 verbunden sein, beispielsweise mit einem eigenständigen Bildschirm, einem Computermonitor, einem Fernsehgerät oder mit der Anzeige eines Tablets oder einer Handheld-Einheit. In alternativen Ausführungsformen können eine oder mehrere der vom Anzeigesystem 406 bereitgestellten Funktionen in einem integrierten Schaltkreis des Prozessors 402 enthalten sein. Darüber hinaus können eine oder mehrere der von der Busschnittstelleneinheit 407 bereitgestellten Funktionen in einem integrierten Schaltkreis des Prozessors 402 enthalten sein.
  • In einigen Ausführungsformen handelt es sich bei dem Computersystem 400 um ein von mehreren Anwendern genutztes Großrechnersystem, ein Einzelnutzersystem, einen Servercomputer oder eine ähnliche Einheit, die nur eine geringe oder gar keine direkte Benutzerschnittstelle hat, aber Anforderungen von anderen Computersystemen (Clients) empfängt. Außerdem ist das Computersystem 400 in einigen Ausführungsformen als Desktop-Computer, tragbarer Computer, Laptop oder Notebook, Tablet-Computer, Taschencomputer, Telefon, Smart Phone, Netzvermittlungsstellen oder Leitwegrechner oder jede andere geeignete Art von elektronischer Einheit implementiert.
  • Es sei darauf hingewiesen, dass 4 dazu dient, die repräsentativen Hauptkomponenten eines beispielhaften Computersystems 400 darzustellen. In einigen Ausführungsformen können einzelne Komponenten jedoch eine größere oder geringere Komplexität haben als in 4 dargestellt. Andere Komponenten als die in 4 gezeigten oder zusätzliche Komponenten können vorhanden sein, und die Anzahl, Art und Konfiguration solcher Komponenten kann variieren.
  • In einigen Ausführungsformen können die hier beschriebenen Prozesse zum Speichern und Abrufen von Daten in einer Cloud-Computing-Umgebung implementiert werden, die im Folgenden in Bezug auf die 4 und 5 beschrieben wird. Zwar umfasst diese Offenbarung eine ausführliche Beschreibung von Cloud-Computing, es sollte jedoch klar sein, dass Implementierungen der hierin wiedergegebenen Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt sind. Vielmehr können Ausführungsformen der vorliegenden Erfindung in Verbindung mit einem beliebigen anderen Typ von gegenwärtig bekannter oder zu einem späteren Zeitpunkt entwickelter Datenverarbeitungsumgebung implementiert werden.
  • Cloud-Computing ist ein Dienstleistungsmodell, das einen komfortablen und bedarfsorientierten Netzwerkzugang zu einem gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungs-Ressourcen ermöglicht (z.B. Netzwerke, Netzwerk-Bandbreite, Server, Verarbeitung, Speicher, Speicherplatz, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Dienstes schnell zur Verfügung gestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Charakteristika, mindestens drei Dienstmodelle und mindestens vier Bereitstellungsmodelle umfassen.
  • Bei den Charakteristika handelt es sich um die Folgenden:
  • Bedarfsorientierte Selbstbedienung (on-demand self-service): Ein Cloud-Kunde kann je nach Bedarf einseitig Datenverarbeitungs-Ressourcen wie Server-Zeit und Netzspeicher automatisch in Anspruch nehmen, ohne dass eine menschengeführte Interaktion mit dem Anbieter des Dienstes erforderlich ist.
  • Allgemeiner Netzzugriff (broad network access): Ressourcen sind über ein Netzwerk verfügbar und über Standardmechanismen zugänglich, die eine Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
  • Ressourcen-Bündelung (resource pooling): Die Datenverarbeitungs-Ressourcen des Anbieters werden gebündelt, um mehreren Kunden zu dienen, wobei ein Multi-Tenant-Modell verwendet wird, bei dem verschiedene physische und virtuelle Ressourcen entsprechend dem Bedarf dynamisch zugewiesen und erneut zugewiesen werden. Es besteht insofern eine gewisse Unabhängigkeit vom Standort, als der Kunde im Allgemeinen keine Kontrolle über den bzw. Kenntnis vom genauen Standort der bereitgestellten Ressourcen hat, den Standort jedoch auf einer höheren Abstraktionsebene (z.B. Region, Staat oder Datenzentrum) festlegen kann.
  • Schnelle Anpassungsfähigkeit (rapid elasticity): Ressourcen können rasch und anpassungsfähig, in einigen Fällen automatisch, bereitgestellt werden, um schnell eine Erweiterungsmöglichkeit (scale out) zu bieten, und rasch wieder freigegeben werden, wodurch eine schnelle Reduzierung (scale in) geboten wird. Aus Sicht des Kunden scheinen die zur Bereitstellung verfügbaren Ressourcen oftmals unbegrenzt zu sein und können in beliebiger Menge zu einem beliebigen Zeitpunkt erworben werden.
  • Dienst für nutzungsabhängige Abrechnung (measured service): Cloud-Systeme steuern und optimieren die Ressourcen-Nutzung automatisch durch Einsatz einer Messfunktion auf einer Abstraktionsebene, die für den Typ des Dienstes (z.B. Speicherplatz, Verarbeitung, Bandbreite sowie aktive Benutzerkonten) geeignet ist. Die Ressourcen-Nutzung kann überwacht, gesteuert und aufgezeichnet werden, wobei sowohl für den Anbieter als auch für den Abnehmer des verwendeten Dienstes Transparenz gegeben ist.
  • Bei den Dienstmodellen handelt es sich um die Folgenden:
  • Software als Dienstleistung (Software as a Service, SaaS): Die für den Kunden bereitgestellte Funktionalität besteht in der Nutzung der in einer Cloud-Infrastruktur ausgeführten Anwendungen des Anbieters. Auf die Anwendungen kann von verschiedenen Client-Einheiten durch eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende eMail) zugegriffen werden. Der Kunde verwaltet bzw. steuert nicht die zugrundeliegende Cloud-Infrastruktur, darunter Netzwerk, Server, Betriebssysteme, Speicherplatz oder sogar einzelne Anwendungsmöglichkeiten, mit der möglichen Ausnahme begrenzter benutzerspezifischer Anwendungskonfigurationseinstellungen.
  • Plattform als Dienstleistung (Platform as a Service, PaaS): Die für den Kunden bereitgestellte Funktionalität besteht in der Verwendung von vom Kunden erstellten oder angeforderten Anwendungen, die unter Verwenden von vom Anbieter unterstützten Programmiersprachen und Hilfsprogrammen erzeugt werden, in der Cloud-Infrastruktur. Der Kunde verwaltet oder steuert nicht die zugrundeliegende Cloud-Infrastruktur, darunter Netze, Server, Betriebssysteme oder Speicherplatz, hat jedoch die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen der Hosting-Umgebung der Anwendung.
  • Infrastruktur als Dienstleistung (Infrastructure as a Service, laaS): Die für den Kunden bereitgestellte Funktionalität besteht in der Bereitstellung von Datenverarbeitung, Speicherplatz, Netzwerken und anderen grundlegenden Datenverarbeitungs-Ressourcen, wobei der Kunde eine beliebige Software einsetzen und ausführen kann, die Betriebssysteme und Anwendungen umfassen kann. Der Kunde verwaltet oder steuert nicht die zugrundeliegende Cloud-Infrastruktur, hat jedoch die Kontrolle über Betriebssysteme, Speicherplatz, eingesetzte Anwendungen und möglicherweise eine begrenzte Kontrolle über die Auswahl von Netzwerkkomponenten (z.B. Host-Firewalls).
  • Bei den Einsatzmodellen handelt es sich um die Folgenden:
  • Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation selbst oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
  • Gemeinschaftliche Cloud (community cloud): Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft mit gemeinsamen Interessen (z.B. Zielsetzung, Sicherheitsanforderungen, Strategie- und Konformitätsüberlegungen). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder fremden Räumen befinden.
  • Öffentliche Cloud (public cloud): Die Cloud-Infrastruktur wird der Allgemeinheit oder einer großen Industriegruppe zur Verfügung gestellt und ist im Besitz einer Organisation, die Cloud-Dienste verkauft.
  • Kombinierte Cloud (hybrid cloud): Die Cloud-Infrastruktur setzt sich aus zwei oder mehreren Clouds (privat, gemeinschaftlich oder öffentlich) zusammen, die eigenständige Einheiten bleiben, jedoch durch eine standardisierte oder firmeneigene Technologie, die die Übertragbarkeit von Daten und Anwendungen ermöglicht, miteinander verbunden sind (z.B. Cloud-Zielgruppenverteilung für eine Auslastungsverteilung zwischen Clouds.
  • Eine Cloud-Computing-Umgebung ist dienstleistungsorientiert mit Fokus auf Statusunabhängigkeit, loser Kopplung, Modularität und semantischer Interoperabilität. Den Kern des Cloud-Computing bildet eine Infrastruktur, die ein Netzwerk aus miteinander verbundenen Knoten aufweist.
  • 5 ist eine Darstellung, die eine Cloud-Computing-Umgebung 500 gemäß einigen Ausführungsformen der vorliegenden Offenbarung veranschaulicht. Wie gezeigt ist, weist die Cloud-Computing-Umgebung 500 einen oder mehrere Cloud-Computing-Knoten 510 auf, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie der elektronische Assistent (PDA, personal digital assistant) oder das Mobiltelefon 520-1, der Desktop-Computer 520-2, der Laptop-Computer 520-3 und/oder das Automobil-Computer-System 520-4 Daten austauschen können. Die Knoten 510 können miteinander Daten austauschen. Sie können physisch oder virtuell in ein oder mehrere Netzwerke wie private, gemeinschaftliche, öffentliche oder kombinierte Clouds gruppiert werden (nicht gezeigt), wie vorstehend beschrieben wurde, oder in eine Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 500, Infrastruktur, Plattformen und/oder Software als Dienstleistung anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten von in 6 gezeigten Datenverarbeitungseinheiten 520-1 bis 520-4 lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 510 und die Cloud-Computing-Umgebung 500 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z.B. unter Verwenden eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
  • 6 ist ein Blockschaubild, das einen Satz von funktionalen Abstraktionsmodellschichten 600, die durch die Cloud-Computing-Umgebung 500 bereitgestellt werden, gemäß einigen Ausführungsformen der vorliegenden Offenbarung zeigt. Es sollte von vornherein klar sein, dass die in 6 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie abgebildet ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Eine Hardware- und Software-Schicht 610 umfasst Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten gehören: Mainframe-Computer 611; auf der RISC- (Reduced Instruction Set Computer) Architektur beruhende Server 612; Server 613; Blade-Server 614; Speichereinheiten 615; und Netzwerke sowie Netzwerkkomponenten 616. In einigen Ausführungsformen umfassen Software-Komponenten eine Netzwerk-Anwendungsserver-Software 617 und eine Datenbank-Software 618.
  • Eine Virtualisierungsschicht 620 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 621; virtueller Speicher 622; virtuelle Netzwerke 623, darunter virtuelle private Netzwerke; virtuelle Anwendungen und Betriebssysteme 624; und virtuelle Clients 625.
  • In einem Beispiel stellt eine Verwaltungsschicht 630 die nachfolgend beschriebenen Funktionen bereit. Die Ressourcen-Versorgung (resource provisioning) 631 stellt dynamisches Beschaffen von Datenverarbeitungs-Ressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Die Gebührenerfassung und Preisermittlung (metering and pricing) 632 stellt eine Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie eine Abrechnung oder Rechnungsstellung für die Inanspruchnahme dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungssoftware-Lizenzen aufweisen. Die Sicherheit (security) stellt eine Identitätsüberprüfung für Cloud-Kunden und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Das Benutzerportal 633 stellt den Zugang zu der Cloud-Computing-Umgebung für Nutzer und für Systemadministratoren bereit. Die Dienstgüteverwaltung (service level management) 634 stellt eine Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die Anforderungen an die Dienstgüte erfüllt werden. Die Planung und Erfüllung der Dienstgütevereinbarung (SLA, Service Level Agreement planning and fulfillment) 635 stellt die Vorbereitung für und die Beschaffung von Cloud-Computing-Ressourcen bereit, für die gemäß einer SLA ein künftiger Bedarf vorausgesehen wird.
  • Eine Arbeitslastenschicht (workloads layer) 640 stellt Beispiele einer Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation 641; Software-Entwicklung und Lebenszyklusverwaltung 642; virtuelles Klassenzimmer 643 als Bildungsangebot; Datenanalyseverarbeitung 644; Transaktionsverarbeitung 645; und ein Segmentieren von Videos auf der Grundlage von gewichteten Wissensgraphen 646.
  • Bei der vorliegenden Offenbarung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) mit durch einen Computer lesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Offenbarung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium handelt es sich um eine physische Einheit, die Anweisungen zum Verwenden durch eine Einheit zum Ausführen von Anweisungen behalten und speichern kann. Zu Beispielen für durch einen Computer lesbare Speichermedien können eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus gehören. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. ein Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zum Speichern in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Offenbarung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter eine objektorientierte Programmiersprache wie Smalltalk, C++ o.ä. sowie prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Offenbarung durchzuführen.
  • Aspekte der vorliegenden Offenbarung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der vorliegenden Offenbarung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschalbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungseinheit bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zum Umsetzen der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungseinheit und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.

Claims (9)

  1. Verfahren, das aufweist: Empfangen eines Videos; Extrahieren von Bilddaten und Textdaten aus dem Video; Ermitteln von mindestens zwei Entitäten in den Bilddaten; Zuweisen von mindestens einer Entitätsbeziehung zu den mindestens zwei Entitäten in den Bilddaten; Ermitteln von mindestens zwei Entitäten in den Textdaten; Zuweisen von mindestens einer Entitätsbeziehung zu den mindestens zwei Entitäten in den Textdaten; Erzeugen eines Bild-Wissensgraphen für die mindestens eine Entitätsbeziehung, die den mindestens zwei Entitäten in den Bilddaten zugewiesen wurde; Erzeugen eines Text-Wissensgraphen für die mindestens eine Entitätsbeziehung, die den mindestens zwei Entitäten in den Textdaten zugewiesen wurde; und Erzeugen eines gewichteten Wissensgraphen auf der Grundlage des Bild-Wissensgraphen und des Text-Wissensgraphen.
  2. Verfahren nach Anspruch 1, wobei der gewichtete Wissensgraph Beziehungsgewichte aufweist für die mindestens eine Entitätsbeziehung, die den mindestens zwei Entitäten in den Bilddaten zugewiesen wurde, und für die mindestens eine Entitätsbeziehung, die den mindestens zwei Entitäten in den Textdaten zugewiesen wurde.
  3. Verfahren nach Anspruch 2, das außerdem aufweist: Ermitteln einer Top-Beziehung in der mindestens einen Entitätsbeziehung, die den mindestens zwei Entitäten in den Bilddaten zugewiesen wurde, und in der mindestens einen Entitätsbeziehung, die den mindestens zwei Entitäten in den Textdaten zugewiesen wurde, wobei es sich bei der Top-Beziehung um eine Entitätsbeziehung mit einem Beziehungsgewicht handelt, das größer als ein Schwellenwert für das Beziehungsgewicht ist; Auswählen von Einzelbildern des Videos, die der Top-Beziehung entsprechen; und Gruppieren der Einzelbilder in ein Videosegment.
  4. Verfahren nach Anspruch 3, das außerdem aufweist: Feststellen, dass es verbleibende Einzelbilder des Videos gibt, die die Top-Beziehung nicht umfassen; Feststellen, dass die Einzelbilder im Videosegment den verbleibenden Einzelbildern am nächsten liegen; und Gruppieren der verbleibenden Einzelbilder mit dem Videosegment.
  5. Verfahren nach Anspruch 1, wobei das Video in Bilder unterteilt wird, wobei jedes Bild einen Satz von Einzelbildern aufweist.
  6. Verfahren nach Anspruch 1, wobei es sich bei den Textdaten um Bildtexte für Hörgeschädigte handelt.
  7. Verfahren nach Anspruch 1, wobei die mindestens zwei Entitäten in den Bilddaten auf Grundlage einer Gesichtserkennung ermittelt werden.
  8. System, das Mittel aufweist, die zum Ausführen aller Schritte des Verfahrens nach einem der vorhergehenden Verfahrensansprüche geeignet sind.
  9. Computerprogramm, das Anweisungen zum Ausführen aller Schritte des Verfahrens nach einem der vorhergehenden Verfahrensansprüche aufweist, wenn das Computerprogramm in einem Computersystem ausgeführt wird.
DE112020005726.7T 2019-11-19 2020-10-20 Segmentieren von videos auf der grundlage eines gewichteten wissensgraphen Granted DE112020005726T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/688,356 2019-11-19
US16/688,356 US11093755B2 (en) 2019-11-19 2019-11-19 Video segmentation based on weighted knowledge graph
PCT/IB2020/059860 WO2021099858A1 (en) 2019-11-19 2020-10-20 Video segmentation based on weighted knowledge graph

Publications (1)

Publication Number Publication Date
DE112020005726T5 true DE112020005726T5 (de) 2022-09-29

Family

ID=75909550

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020005726.7T Granted DE112020005726T5 (de) 2019-11-19 2020-10-20 Segmentieren von videos auf der grundlage eines gewichteten wissensgraphen

Country Status (8)

Country Link
US (1) US11093755B2 (de)
JP (1) JP2023502376A (de)
KR (1) KR20220073789A (de)
CN (1) CN114746857B (de)
AU (1) AU2020387677B2 (de)
DE (1) DE112020005726T5 (de)
GB (1) GB2605723A (de)
WO (1) WO2021099858A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113453065A (zh) * 2021-07-01 2021-09-28 深圳市中科网威科技有限公司 一种基于深度学习的视频分段方法、系统、终端及介质
WO2023037283A1 (en) * 2021-09-09 2023-03-16 L&T Technology Services Limited Methods and system for extracting text from a video
JP2023178141A (ja) * 2022-06-03 2023-12-14 株式会社日立製作所 仮想空間でのシーン記録再構築装置およびシーン記録再構築方法
US11928145B1 (en) * 2022-12-09 2024-03-12 International Business Machines Corporation Creating a knowledge graph for a video
CN115878847B (zh) * 2023-02-21 2023-05-12 云启智慧科技有限公司 基于自然语言的视频引导方法、系统、设备及存储介质
CN116796008B (zh) * 2023-08-15 2024-02-13 北京安录国际技术有限公司 一种基于知识图谱的运维分析管理系统以及方法
CN117271803B (zh) * 2023-11-20 2024-01-30 北京大学 知识图谱补全模型的训练方法、装置、设备及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5635982A (en) 1994-06-27 1997-06-03 Zhang; Hong J. System for automatic video segmentation and key frame extraction for video sequences having both sharp and gradual transitions
US6961954B1 (en) 1997-10-27 2005-11-01 The Mitre Corporation Automated segmentation, information extraction, summarization, and presentation of broadcast news
US7296231B2 (en) 2001-08-09 2007-11-13 Eastman Kodak Company Video structuring by probabilistic merging of video segments
GB0406512D0 (en) 2004-03-23 2004-04-28 British Telecomm Method and system for semantically segmenting scenes of a video sequence
WO2007076893A1 (en) 2005-12-30 2007-07-12 Telecom Italia S.P.A. Edge-guided morphological closing in segmentation of video sequences
CN101719144B (zh) 2009-11-04 2013-04-24 中国科学院声学研究所 一种联合字幕和视频图像信息进行场景分割和索引的方法
US8298648B2 (en) * 2010-02-22 2012-10-30 Nike, Inc. Pad elements for apparel and other products
US8849041B2 (en) 2012-06-04 2014-09-30 Comcast Cable Communications, Llc Data recognition in content
BR112016006860B8 (pt) * 2013-09-13 2023-01-10 Arris Entpr Inc Aparelho e método para criar um único fluxo de dados de informações combinadas para renderização em um dispositivo de computação do cliente
KR102533972B1 (ko) * 2016-09-08 2023-05-17 고 수 시아 시각적 검색 플랫폼용 영상 인제스트 프레임워크
CA3038797A1 (en) * 2016-09-30 2018-04-05 Rovi Guides, Inc. Systems and methods for correcting errors in caption text
CN109325148A (zh) 2018-08-03 2019-02-12 百度在线网络技术(北京)有限公司 生成信息的方法和装置
CN109168024B (zh) 2018-09-26 2022-05-27 平安科技(深圳)有限公司 一种目标信息的识别方法及设备

Also Published As

Publication number Publication date
US11093755B2 (en) 2021-08-17
CN114746857B (zh) 2023-05-09
US20210150224A1 (en) 2021-05-20
GB202208933D0 (en) 2022-08-10
JP2023502376A (ja) 2023-01-24
AU2020387677A1 (en) 2022-04-28
AU2020387677B2 (en) 2023-02-23
KR20220073789A (ko) 2022-06-03
WO2021099858A1 (en) 2021-05-27
GB2605723A (en) 2022-10-12
CN114746857A (zh) 2022-07-12

Similar Documents

Publication Publication Date Title
DE112020005726T5 (de) Segmentieren von videos auf der grundlage eines gewichteten wissensgraphen
DE112020000548T5 (de) Audiovisuelle quellentrennung und -lokalisierung unter verwendung von generative adversarial networks
DE112018005421T5 (de) Automatisches blockieren von in einem audio-datenstrom enthaltenen sensiblen daten
DE112020000526T5 (de) System und verfahren zum inkrementellen lernen für eine objekterkennung
DE112019001533T5 (de) Erweiterung von trainingsdaten für die klassifikation von natürlicher sprache
DE112018005227T5 (de) Merkmalsextraktion mithilfe von multi-task-lernen
DE112020002110T5 (de) Ressourcenarme entitätsauflösung mit transfer learning
DE112018005167T5 (de) Aktualisieren von trainingsdaten
DE112016001902T5 (de) Schätzen von Rechenressourcen für die Ausführung von Data-Mining-Diensten
DE112020005253T5 (de) Auflösung von anaphern
US11682415B2 (en) Automatic video tagging
DE112021002867T5 (de) Defektdetektion für eine leiterplattenbaugruppe
DE112020002886T5 (de) Kontextabhängiges data-mining
DE112021004694T5 (de) Trainieren eines frage-antwort-dialogsystems zum vermeiden von gegnerischen angriffen
DE112021004353T5 (de) Verbessern von spracherkennungstranskriptionen
DE112021003262T5 (de) Erkennen von quelldatensätzen, die zu einem transferlernverfahren für eine zieldomäne passen
DE112021003583T5 (de) Sprachenübergreifendes transferlernen ohne trainingsbeispiele
DE112021005782T5 (de) Korrigieren von Antwortpannen
DE112021005230T5 (de) Erzeugen alternativer veränderlicher kennsätze
DE112020004925T5 (de) Aktualisieren und umsetzen eines dokuments aus einem audiovorgang
DE112021003680T5 (de) Deterministisch lernende videoszenenerkennung
DE112021006221T5 (de) Anpassen von wandlern rekurrenter neuronaler netzwerke zur spracherkennung
DE102021122068A1 (de) Verbessern von spracherkennungstranskriptionen
DE112019001822B4 (de) Änderung und Darstellung von Audio- und Video-Multimedia
DE112021005633T5 (de) Lernen eines abgleichens ungepaarter multimodaler merkmale für halbüberwachtes lernen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04N0021840000

Ipc: H04N0021845000

R016 Response to examination communication
R018 Grant decision by examination section/examining division