JP2022537170A - 認知ビデオおよび音声検索集約 - Google Patents

認知ビデオおよび音声検索集約 Download PDF

Info

Publication number
JP2022537170A
JP2022537170A JP2021574746A JP2021574746A JP2022537170A JP 2022537170 A JP2022537170 A JP 2022537170A JP 2021574746 A JP2021574746 A JP 2021574746A JP 2021574746 A JP2021574746 A JP 2021574746A JP 2022537170 A JP2022537170 A JP 2022537170A
Authority
JP
Japan
Prior art keywords
video
user
processors
program code
search
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.)
Pending
Application number
JP2021574746A
Other languages
English (en)
Other versions
JPWO2020254890A5 (ja
Inventor
ベンダー、マイケル
シュッテ、マイケル
ソード、シッダールタ
アンダーソン、イヴリン
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 JP2022537170A publication Critical patent/JP2022537170A/ja
Publication of JPWO2020254890A5 publication Critical patent/JPWO2020254890A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • 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/71Indexing; Data structures therefor; Storage structures
    • 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/73Querying
    • G06F16/735Filtering based on additional data, e.g. user or group profiles
    • 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/73Querying
    • G06F16/738Presentation of query results
    • 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
    • G06F16/784Retrieval 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 the detected or recognised objects being people
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2113Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/40Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
    • 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/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/945User interactive design; Environments; Toolboxes
    • 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/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
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/10Recognition assisted with metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

プロセッサが、クライアントを介してユーザからビデオを取得し、ビデオを、ビデオのタイムラインを含んでいる時間的ショットにセグメント化する、方法、コンピュータ・プログラム製品、およびシステム。プロセッサは、画像認識アルゴリズムを適用して、ビデオの各時間的ショット内の画像実体を識別することによって、およびユーザのユーザ・プロフィールを含んでいるデータ構造を時間的ショットに適用して、ビデオの各時間的ショット内の個人実体を識別することによって、ビデオを認知解析する。プログラム・コードは、ユーザ実体(画像実体および個人実体)を利用してビデオの検索インデックスを生成し、検索インデックスの各エントリが、特定のユーザ実体、および特定の時間的ショットへのリンクであり、このリンクが、ビデオのタイムライン内の特定のユーザ実体の位置を示す。

Description

データのソースおよび構造がより複雑化し、多様化するにつれて、特定の情報に関してこのデータを検索する能力が、より困難になる。特定のデータ形式は、標準的な方法を利用して検索されるとき、固有の制限があるため、検索に適していると見なされない。検索するのが難しいことがある形式の例は、ビデオである。これは、パラメータを明確にするのが難しく、明確になった場合でも、結果を検出するのが難しいからである。例えば、膨大なビデオ・アーカイブ内の特定の画像を見つけたいユーザは、特定の画像を見つけるために手動検索を行う必要があることがあり、ビデオ・アーカイブのサイズが大きくなるにつれて、この作業は特に困難であるか、または非効率的であるか、あるいはその両方であるということが判明する可能性がある。
1つまたは複数のビデオの検索可能なインデックスを生成するための方法の提供によって、従来技術の欠点が克服され、追加の利点がもたらされる。この方法は、例えば、1つまたは複数のプロセッサによって、クライアントを介してユーザから、1つまたは複数のプロセッサがアクセスできるリポジトリにアップロードするためのビデオを取得することと、1つまたは複数のプロセッサによって、ビデオを時間的ショット(temporal shots)にセグメント化することであって、時間的ショットがビデオのタイムラインを含む、セグメント化することと、1つまたは複数のプロセッサによって、画像認識アルゴリズムをビデオに適用し、ビデオの各時間的ショット内の画像実体を識別することによって、ビデオを認知解析(コグニティブ解析)することと、1つまたは複数のプロセッサによって、ユーザのユーザ・プロフィールを含んでいるデータ構造を時間的ショットに適用し、ビデオの各時間的ショット内の個人実体(パーソナル・エンティティ)を識別することによって、認知解析することと、1つまたは複数のプロセッサによって、ユーザ実体を利用してビデオの検索インデックスを生成することであって、ユーザ実体が画像実体および個人実体を含み、検索インデックスの各エントリが、複数のユーザ実体から選択される特定のユーザ実体と、複数の時間的ショットのうちの特定の時間的ショットへのリンクであってビデオのタイムライン内の特定のユーザ実体の位置を示すリンクと、を含む、生成することとを含む。
1つまたは複数のビデオの検索可能なインデックスを生成するためのコンピュータ・プログラム製品の提供によって、従来技術の欠点が克服され、追加の利点がもたらされる。このコンピュータ・プログラム製品は、処理回路によって読み取り可能な、方法を実行するために処理回路によって実行される命令を格納しているストレージ媒体を備える。この方法は、例えば、1つまたは複数のプロセッサによって、クライアントを介してユーザから、1つまたは複数のプロセッサがアクセスできるリポジトリにアップロードするためのビデオを取得することと、1つまたは複数のプロセッサによって、ビデオを時間的ショットにセグメント化することであって、時間的ショットがビデオのタイムラインを含む、セグメント化することと、1つまたは複数のプロセッサによって、画像認識アルゴリズムをビデオに適用し、ビデオの各時間的ショット内の画像実体を識別することによって、ビデオを認知解析することと、1つまたは複数のプロセッサによって、ユーザのユーザ・プロフィールを含んでいるデータ構造を時間的ショットに適用し、ビデオの各時間的ショット内の個人実体を識別することによって、認知解析することと、1つまたは複数のプロセッサによって、ユーザ実体を利用してビデオの検索インデックスを生成することであって、ユーザ実体が画像実体および個人実体を含み、検索インデックスの各エントリが、複数のユーザ実体から選択される特定のユーザ実体と、複数の時間的ショットのうちの特定の時間的ショットへのリンクであってビデオのタイムライン内の特定のユーザ実体の位置を示すリンクとを含む、生成することとを含む。
1つまたは複数のビデオの検索可能なインデックスを生成するためのシステムの提供によって、従来技術の欠点が克服され、追加の利点がもたらされる。このシステムは、メモリと、このメモリと通信する1つまたは複数のプロセッサと、方法を実行するためにメモリを介して1つまたは複数のプロセッサによって実行可能なプログラム命令とを備える。この方法は、例えば、1つまたは複数のプロセッサによって、クライアントを介してユーザから、1つまたは複数のプロセッサがアクセスできるリポジトリにアップロードするためのビデオを取得することと、1つまたは複数のプロセッサによって、ビデオを時間的ショットにセグメント化することであって、時間的ショットがビデオのタイムラインを含む、セグメント化することと、1つまたは複数のプロセッサによって、画像認識アルゴリズムをビデオに適用し、ビデオの各時間的ショット内の画像実体を識別することによって、ビデオを認知解析することと、1つまたは複数のプロセッサによって、ユーザのユーザ・プロフィールを含んでいるデータ構造を時間的ショットに適用し、ビデオの各時間的ショット内の個人実体を識別することによって、認知解析することと、1つまたは複数のプロセッサによって、ユーザ実体を利用してビデオの検索インデックスを生成することであって、ユーザ実体が画像実体および個人実体を含み、検索インデックスの各エントリが、複数のユーザ実体から選択される特定のユーザ実体と、複数の時間的ショットのうちの特定の時間的ショットへのリンクであってビデオのタイムライン内の特定のユーザ実体の位置を示すリンクと含む、生成することとを含む。
1つまたは複数の態様に関連する方法およびシステムも本明細書に記載され、請求される。さらに、1つまたは複数の態様に関連するサービスも本明細書に記載されており、請求され得る。
その他の特徴が、本明細書に記載された手法によって実現される。その他の実施形態および態様は、本明細書において詳細に説明され、請求される態様の一部と見なされる。
本発明の一部の実施形態では、ユーザ・プロフィールを適用することが、1つまたは複数のプロセッサによって、クライアント接続に基づいてネットワークを経由して1つまたは複数のアプリケーションに対してクライアントを介してユーザによって実行されたコンピューティング活動を監視することと、1つまたは複数のプロセッサによって、1つまたは複数のアプリケーションにおいてユーザによって実行されたコンピューティング活動を解析し、ユーザに関連する要素を含んでいるデータおよび要素とユーザの間の関係を識別することと、1つまたは複数のプロセッサによって、この解析に基づいてデータ構造を生成することであって、データ構造がユーザ・プロフィールを含んでいる、生成することとを含む。
本発明の一部の実施形態では、ユーザ・プロフィールを適用することが、1つまたは複数のプロセッサによって、複数の時間的ショットのうちの時間的ショットごとに、ビデオ内の非テキスト要素をテキスト・コンテンツに変換することと、1つまたは複数のプロセッサによって、各時間的ショットのテキスト・コンテンツ内で、ユーザに関連する要素および要素とユーザの間の関係を識別することであって、要素が個人実体を含んでいる、識別することとをさらに含む。
本発明の一部の実施形態では、この方法は、1つまたは複数のプロセッサによって、検索インデックスをインデックス作成済みのリポジトリに格納することをさらに含む。
本発明の一部の実施形態では、この方法は、1つまたは複数のプロセッサによって、検索インデックスにおいて複数のユーザ実体のうちの1つまたは複数の関連するユーザ実体を識別する検索パラメータを取得することと、1つまたは複数のプロセッサによって、関連するユーザ実体を識別することと、1つまたは複数のプロセッサによって、関連するユーザ実体についてビデオを検索することであって、この検索が、インデックス・リポジトリにアクセスし、検索インデックスを利用して、ビデオ内の関連するユーザ実体の位置を特定することを含む、検索することとをさらに含む。
本発明の一部の実施形態では、この方法は、1つまたは複数のプロセッサによって、検索に応答して検索結果を作成することをさらに含み、検索結果は、関連するユーザ実体、および関連するユーザ実体ごとに、タイムライン内の関連するユーザ実体の位置を含み、この位置は開始時間および終了時間を含む。
本発明の一部の実施形態では、検索結果を作成することは、検索パラメータとの関連性に基づいて検索結果をランク付けすることを含む。
本発明の一部の実施形態では、この方法は、1つまたは複数のプロセッサによって、検索の成果物を生成することをさらに含み、この生成することが、1つまたは複数のプロセッサによって、ビデオから時間的ショットの部分を取得することであって、この部分の各時間的ショットが、関連するユーザ実体ごとに、タイムライン内の関連するユーザ実体の位置を含む、取得することと、1つまたは複数のプロセッサによって、時間的ショットの部分を新しいビデオに組み立てることとを含む。
本発明の一部の実施形態では、この方法は、1つまたは複数のプロセッサによって、クライアントを介して、検索の成果物をユーザに提供することをさらに含む。
本発明の一部の実施形態では、この組み立てることは、検索パラメータとの関連性に基づく検索結果のランク付けに従って、時間的ショットの部分を組み立てることを含む。
本発明の一部の実施形態では、新しいビデオは、2つ以上の個別の新しいビデオを含み、検索の成果物の提供は、個別の新しいビデオの各々へのリンクを提供することを含む。
本発明の一部の実施形態では、検索パラメータの形式は、テキスト、音声、画像、およびビデオから成る群から選択される。
本発明の一部の実施形態では、画像認識アルゴリズムを適用することが、1つまたは複数のプロセッサがアクセスできる画像メタデータ・リポジトリにアクセスすることを含む。
本発明の一部の実施形態では、非テキスト要素が発話および音声を含み、要素を変換することが、発話からテキストへの変換処理アルゴリズムを適用して、テキスト・コンテンツを生成することを含む。
本発明の一部の実施形態では、非テキスト要素が、ビデオを含んでいる画像に埋め込まれたテキストを含み、要素を変換することが、埋め込まれたテキストに対して光学式文字認識プロセスを実行し、埋め込まれたテキストをテキスト・コンテンツに変換することを含み、1つまたは複数のアプリケーションが、ソーシャル・メディアWebサイトを含み、ユーザに関連する要素が、ユーザによってソーシャル・メディアWebサイトに投稿された画像および画像に関連付けられたタグを含む。
本発明の一部の実施形態では、この方法は、検索インデックスを生成する前に、1つまたは複数のプロセッサによって、ビデオの分類を決定することであって、クライアントを介してユーザからビデオを取得することが、クライアントを介してユーザから分類を取得することをさらに含む、決定することと、1つまたは複数のプロセッサによって、リポジトリ内で、ユーザによってアップロードされた別のビデオを識別することであって、別のビデオの分類が、ビデオの分類と同等である、識別することと、1つまたは複数のプロセッサによって、別のビデオの検索インデックスから、別のビデオの検索インデックスを含んでいるユーザ実体を抽出することと、1つまたは複数のプロセッサによって、別のビデオの検索インデックスを含んでいるユーザ実体についてビデオを検索することと、1つまたは複数のプロセッサによって、ビデオ内で、別のビデオの検索インデックスを含んでいるユーザ実体の部分の位置を特定することとさらに含む。
本発明の一部の実施形態では、ユーザ実体は、ユーザ実体の部分をさらに含む。
本発明の一部の実施形態では、この方法は、検索インデックスを生成する前に、1つまたは複数のプロセッサによって、クライアントのユーザ・インターフェイスにおいて、個人実体および個人実体の各リンクを表示するインターフェイスを生成することであって、このインターフェイスが入力箇所を含み、この入力箇所によってユーザがフィードバックを提供することができる、生成することと、1つまたは複数のプロセッサによって、インターフェイスを介して提供されたフィードバックをユーザから取得することと、1つまたは複数のプロセッサによって、フィードバックに基づいてユーザ実体を更新することとをさらに含む。
1つまたは複数の態様は、本明細書の最後にある特許請求の範囲において例として具体的に指摘され、明確に請求される。前述の内容、ならびに1つまたは複数の態様の目的、特徴、および長所は、添付の図面と併せて行われる以下の詳細な説明から明らかになる。
本発明の一部の実施形態の特定の態様を示すワークフローである。 本発明の一部の実施形態の特定の態様を示すワークフローである。 本発明の一部の実施形態のさまざまな態様を示す図である。 本発明の一部の実施形態の特定の態様を示すワークフローである。 本発明の一部の実施形態の特定の態様を示すワークフローである。 本発明の一部の実施形態の特定の態様を示すワークフローである。 クラウド・コンピューティング環境内で利用され得るコンピューティング・ノードの一実施形態を示す図である。 本発明の実施形態に従ってクラウド・コンピューティング環境を示す図である。 本発明の実施形態に従って抽象モデル・レイヤを示す図である。
個々の図を通じて類似する参照番号が同一の要素または機能的に類似する要素を参照している、本明細書に包含されてその一部を形成する添付の図面は、本発明の詳細な説明と共に本発明をさらに示し、本発明の原理を説明するのに役立つ。当業者によって理解されるように、添付の図面は、本発明の特定の実施形態の態様の理解を容易にするために提供され、それらの態様を説明する。本発明は、図に示された実施形態に限定されない。
当業者によって理解されるように、本出願全体を通じて参照されているプログラム・コードは、ソフトウェアとハードウェアの両方を含む。例えば、本発明の特定の実施形態におけるプログラム・コードは、固定された機能のハードウェアを含むが、他の実施形態は、説明された機能のソフトウェアベースの実装を使用している。特定の実施形態は、両方のタイプのプログラム・コードを組み合わせる。1つまたは複数のプログラムとも呼ばれるプログラム・コードの1つの例が、プログラム・モジュール42のセット(少なくとも1つ)を含んでいるプログラム/ユーティリティ40として図6に示されており、メモリ28に格納され得る。
電子データの量が増えるにつれて、このデータを検索できること、および所望のコンテンツを見つけることができることの必要性も増大する。ビデオなどの特定のデータ形式は、テキストなどの他のデータ形式よりも検索に適さないことがある。検索に適さないタイプの媒体は、検索が試みられるときのシステム全体の効率に対して、課題を提示する可能性がある。例えば、ビデオと共にビデオの所有者によってアップロードされたメタデータ内にパラメータが含まれていない可能性が高いビデオ共有プラットフォーム上のビデオ内でユーザが検索を実行する(例えば、特定の俳優が笑っている映画を見つける)ことを望むことがある。既存の方法を利用する問題を提示する別の検索は、ある期間にわたって撮影された家族のビデオのライブラリ内の、指定された地理的位置での家族の一員の特定の構成に関するクエリ(例えば、少なくとも1年にわたって保管されたビデオ内にある、特定の地理的位置で馬に乗っている特定の家族の一員を含むビデオ・クリップを見つけること)である。さまざまな困難を提示する別の検索は、プロジェクトの期間に、プロジェクト・チームによって使用されるように構成された空間内のすべての教育的コンテンツ、およびアクセスの妨げとなるものを見つける(例えば、チームの部屋内の教育的コンテンツおよびそのコンテンツを見るための必要条件を見つける)ための検索である。さらに別の検索の課題は、特定の目的のために順序付けられた結果(例えば、新しいビデオとして結果を作成する結果の順序付けを見つけること)に関する。本発明の実施形態は、提供された例におけるように、パラメータが歴史的に困難である場合に、メタデータを超えて、検索されているボリュームの内部と外部の両方のデータの認知解析を利用して、包括的な検索結果を提供する検索を可能にすることによって、これらの検索の課題およびその他の課題に直接対処する。
本発明の実施形態は、コンピュータ実装方法、コンピュータ・プログラム製品、およびコンピュータ・システムを含み、少なくとも1つの処理デバイス上で実行されるプログラム・コードが、(1)ビデオ内の実体(例えば、人、物体、要素)またはテキストを識別し、位置にタグを付け、所望のコンテンツを取り出すためのインデックス作成を可能にするために、既存の技術を統合し、(2)ビデオまたは音声を評価して機械学習し、検索を集約して所望のコンテンツを見つけるために、認知エンジン(コグニティブ・エンジン)を生成する。本発明の実施形態では、プログラム・コードが、ビデオ・データまたは音声データあるいはその両方の認知検索(コグニティブ検索)を実行する。この認知検索を実施するために、プログラム・コードは、音声データまたはビデオ・データあるいはその両方を取り込み、次の態様のうちの1つまたは複数を実行する。(1)プログラム・コードは、ビデオ内のテキストまたは画像あるいはその両方を解析し、この解析は、プログラム・コードがビデオを時間的ショットに変換すること、および発話をテキストに変換することを含むが、これらに限定されない。(2)プログラム・コードは、ユーザのソーシャル・メディア・データに基づいて、ビデオ内の位置にタグを付け、ここでプログラム・コードは、ユーザの許可を得てユーザのソーシャル・メディア・データにアクセスする。(3)プログラム・コードは、ユーザ・フィードバックおよび前述のソーシャル・メディア・データを含むが、これらに限定されない、ビデオ・コンテンツ内の、ビデオ・コンテンツに関連するメタデータを抽出する。(6)プログラム・コードは、この抽出されたメタデータを特定のビデオ・フラグメントにリンクし、検索インデックスを構築する。プログラム・コードが(ビデオ・データまたは音声データあるいはその両方を取り込むことの一部として)検索インデックスを生成した後に、取り込まれたデータは、ユーザによってより容易かつ効果的に検索され得る。ユーザによって実行された検索に応答して、プログラム・コードは、検索インデックスから実体を識別することができる。本発明の実施形態では、検索を実行するために、ユーザが、テキスト、音声、画像、またはビデオ、あるいはその組み合わせのうちの1つまたは複数を、パラメータとして提供することができる。さらに、本発明の一部の実施形態では、プログラム・コードは、ユーザによって実行された検索に応答して、検索結果として、これらの識別された実体をランク付けすることができる。
本発明の実施形態は、コンピューティングに密接に関係している。本明細書において説明されるように、本発明の実施形態の態様は、コンピューティングによって可能にされる方法を実施することによって、コンピューティングに特有の問題に対処する。本発明の実施形態は、電子データのより包括的な電子検索を可能にするために、電子データを改良する態様を含む。本発明の実施形態は、この改良された検索機能を可能にするための機械学習アルゴリズムのトレーニングを含む。本発明の一部の実施形態では、プログラム・コードは、より包括的な電子検索を可能にするためにデータのインデックスを作成する方法で、既存の方法を利用して検索するのが難しい電子データ(例えば、音声データ、ビデオ・データ)を取り込むだけでなく、プログラム・コードは、検索されているビデオ・コンテンツから抽出された関連するセクション(定義された開始時間/終了時間)を一緒につなぎ合わせることによって単一の集約されたビデオ応答を提供するために、検索応答からの順序を確立することを含むが、これに限定されない、より柔軟な形式で検索結果を提供することも行う。これらの態様、電子的なインデックス作成、検索、および結果の管理は、すべてコンピューティングに密接に関連している。プログラム・コードは、コンピューティング技術のユーザなしでは検索することができない媒体の包括的検索を可能にし、少なくともこのため、本発明の一部の実施形態の態様は、コンピューティングに密接に関連している。
本発明の実施形態は、プログラム・コードが、一部分において、さまざまなユーザに関する知識ベースおよび知識ベース内の既知の実体間の関係を含んでいるデータ構造を生成して維持することによって、ビデオ・リポジトリの検索を改良し、正確な検索結果を提供することを可能にするため、やはり、コンピューティングに密接に関連している。プログラム・コードは、モノのインターネット(IoT:Internet of Things)デバイスおよび個人向けコンピューティング・デバイス(例えば、ユーザのデジタル・ワードローブ)を含むさまざまなコンピューティング・システムの相互接続性を利用することに基づいて、データ構造のためのデータを取得する(さらに、データ構造を生成する)。したがって、本発明の実施形態の態様は、少なくとも、コンピューティングに固有のシステムに対する改良を表し、コンピューティング・インフラストラクチャを利用するか、またはこの改良を提供するための独自のコンピューティング・インターフェイスを生成するため、コンピューティングに密接に関係している。
本発明の実施形態は、電子データの特定の形式の電子検索である特定の課題に対する実用的応用を提供する。本明細書において説明されているように、本発明の実施形態では、プログラム・コードは、これらの検索困難な形式(例えば、音声、ビデオ)でデータを取り込むこと、および認知解析によってデータのインデックスを作成することに基づいて、改良された検索または改良された検索結果あるいはその両方を可能にする。本明細書において説明される認知解析は、実用的応用への、本発明の実施形態のさまざまな態様の統合の1つの例である。
本発明の一部の実施形態は、既存の電子検索に関連する方法を上回る大きな利点を提供する態様を含む。例えば、ビデオ・リポジトリを検索するための一部の既存の方法は、ビデオを再生できる速度を上げることでコンテンツのより速い閲覧を可能にすることを含む。本発明の一部の実施形態では、より速い再生メカニズムに頼ってビデオをより素早くスクロールすることで所望のコンテンツを見つけるのではなく(本発明の実施形態においてプログラム・コードによって検索され得るものと比較して限定されてしまう)、本発明の実施形態では、プログラム・コードは、ユーザが、テキスト、音声、画像、またはビデオ、あるいはその組み合わせを含むが、これらに限定されない、パラメータを使用して特定の画像についてリポジトリを検索できるように、発話または音声あるいはその両方をデータに変換することを含むが、これらに限定されない、ビデオ・リポジトリのコンテンツの認知解析を実行する。別の既存の方法は、検索において位置を特定され得るテキスト・コンテンツを提供するために、ユーザがビデオのナレーションをすることに依存する。この方法は、極端に人手が必要な作業であり、特に、ビデオ・リポジトリの潜在的なサイズを前提とする場合、制限がある。本発明の一部の実施形態は、少なくとも、プログラム・コードが、自動化された認知ビデオ/音声解析を実行し、自己学習によって画像の検索を可能にする改良されたインデックス作成を提供できるため、この方法を上回る利点を提供する。別の既存の方法は、フラグメントを個別に検索することができるように、ビデオをフラグメントに分割するが、リポジトリの全体が検索されるときに、検索者による画像の位置の特定を可能にする追加の論理が、全体としてリポジトリに存在しない。本発明の実施形態は、ビデオ・ファイルおよび音声ファイル内の発話または音声あるいはその両方をテキストに変換することによって、このフラグメント化プロセスを上回る大きな利点を提供し、そのためプログラム・コードは、このテキストを利用して、テキスト、音声、画像、またはビデオ、あるいはその組み合わせを含むが、これらに限定されない、ユーザが提供する検索パラメータに基づいて、画像を含んでいるビデオの部分の位置を特定することができる。一般に、本発明の一部の実施形態の態様は、コンテンツまたは画像を探す場合に、特定の対象または研究に関するトレーニングに使用される情報を検索するために利用される時間を削減することによって、既存の検索技術を上回る利点を提供する。この時間の削減によって、コストを減らし、生産性を改善する。
図1は、本発明の一部の実施形態の特定の態様の概要を示すワークフロー100である。これらの実施形態の態様の詳細が、図2および図4にさらに示されている。図2は、ビデオがアップロードされるワークフロー200を示しており、図4は、以前にアップロードされたコンテンツを検索することに関連するワークフロー400を示している。しかし、例示の目的で、一般的な全体的ワークフロー100が、図1として提供されている。
図1を参照すると、本発明の一部の実施形態では、少なくとも1つのプロセッサによって実行される認知エンジンを含んでいるプログラム・コードが、ビデオ・リポジトリに含まれているデータに自動的にインデックスを付与し、リポジトリ内のオブジェクトごとの検索を可能にする。リポジトリのインデックスを生成するために、プログラム・コードは、ビデオ・リポジトリのコンテンツを取り込み、既存のデータ(例えば、データ構造、社会的つながりの画像化およびタグ、ビデオ・タグ、ソーシャル・プロフィール、または画像リポジトリ、あるいはその組み合わせ)を利用して、人および物体を含むが、これらに限定されない、ビデオ内の要素を識別する(110)。本発明の実施形態では、プログラム・コードが、ソーシャル・メディア内のソーシャル・プロフィールおよびタグ付けを含むが、これらに限定されない、個人データを取り込むことに、ユーザの同意を要する。さらに、本発明の一部の実施形態では、識別された個人がユーザでない場合、プログラム・コードは、媒体内でこれらの個人を識別する前に、これらの個人からの同意を要求することができる。
本発明の一部の実施形態では、プログラム・コードは、複数のシステムの接続ならびにモノのインターネット(IoT)デバイスおよびその他のパーソナル・コンピューティング・デバイスの普及を利用することによって、この既存のデータを取得する。既存のデータを取得することに基づいて、プログラム・コードは、プログラム・コードがビデオのコンテンツのインデックス作成を知らせるために利用できる、(ビデオ・コンテンツの作成者を含む)特定のユーザまたはユーザのグループあるいはその両方のためのデータ構造を生成することができる。例えば、プログラム・コードは、検索クライアントを実行してビデオ・リポジトリを検索するために利用されるコンピューティング・デバイス上のアプリケーションの使用状況を(ユーザの許可を得て)監視することによって、特定のユーザのためのデータ構造を生成することができる。例えば、本発明の一部の実施形態では、プログラム・コードは、ユーザのデジタル・ワードローブに基づいて、特定のユーザに関連付けられたデータ構造を生成し、継続的に更新することができる。本発明の一部の実施形態では、データ構造は、データ構造を確立するときにプログラム・コードが(認知)解析できる、特定のユーザまたはユーザのグループのデジタル・ワードローブのさまざまな要素を含むことができる。当業者によって理解されているように、デジタル・ワードローブは、ユーザの一意の識別子として理解され得るデータの集合である。ユーザのデジタル・ワードローブは、ユーザが情報をやりとりするすべてのハードウェアおよびソフトウェアから成る。例えば、ユーザのデジタル・ワードローブは、ユーザが利用できるすべての物理的コンピューティング・デバイス(例えば、パーソナル・コンピューティング・デバイス、IoTデバイス、センサ、パーソナル・ヘルス・トラッカー、身体活動トラッカー、スマート・ウォッチ、デジタル・サーモスタット、スマート・テレビ、デジタル・カメラ、コンピュータ制御の運動器具、スマート家電など)から成るだけでなく、ユーザが利用するすべてのソフトウェア(例えば、ソーシャル・メディア・プラットフォーム、電子商取引アプリケーション、電子媒体のサブスクリプション、電子媒体の表示など)からも成る。さまざまなデバイスおよびアプリケーションが存在するので、当業者は、2人の個人が同じデジタル・ワードローブを所有していないことを認めるであろう。したがって、個人のデジタル・ワードローブは、個人の一意の識別子として利用されることができ、ユーザによって作成されたか、ユーザが出演しているか、あるいはその両方であるビデオのインデックスを作成するときに利用するために、パーソナル化されているだけでなく場合によってはユーザに固有な、文脈を説明されたデータを提供することにおいて、プログラム・コードを支援することができる。ユーザを識別することに加えて、デジタル・ワードローブを含んでいるデータは、このデータをユーザのデジタル・ワードローブから抽出して解析することに基づいて、パラメータおよび嗜好をユーザに適合させるように、追加のアプリケーション、ソフトウェア、イベント、経験を調整するために利用され得る。本発明の実施形態では、プログラム・コードは、ユーザのデジタル・ワードローブの要素を抽出して、データ構造を生成することができ、プログラム・コードは、このデータ構造を利用して、ビデオ・リポジトリ内のビデオ内に埋め込むデータ構造を生成し、テキストのパラメータを使用して画像を説明することを含むが、これに限定されない、ユーザによって提供されたパラメータに基づいて、特定の画像に関するビデオ・コンテンツの粒度の細かい検索を可能にすることができる。検索パラメータは、テキスト、音声、画像、またはビデオ、あるいはその組み合わせを含むことができるが、これらに限定されない。
ユーザの同意を得て(例えば、ユーザは、プログラム・コードがデジタル・ワードローブにアクセスすることに同意することができる)、特定のユーザのデジタル・ワードローブの要素は、IoTデバイスとのパーソナル・コンピューティング・デバイスの通信を介してクエリを実行するためにユーザによって利用されるパーソナル・コンピューティング・デバイスを介して、本発明の実施形態のプログラム・コードを実行している1つまたは複数のサーバによってアクセスされ得る。プログラム・コードは、ユーザの同意を得て、パーソナル・コンピューティング・デバイスまたはIoTデバイスあるいはその両方を監視することができる。当業者によって理解されているように、モノのインターネット(IoT)は、人間間の対話または人間とコンピュータの間の対話を必要とせずに、一意の識別子およびネットワークを経由してデータを転送する能力を備えている、相互に関係のあるコンピューティング・デバイス、機械的マシンおよびデジタル・マシン、物体、動物、または人、あるいはその組み合わせのシステムである。これらの通信は、能動的無線自動識別(RFID:radio-frequency identification)タグおよび受動的RFIDタグの両方を含むが、これらに限定されない、スマート・センサによって可能にされ、RFIDタグは、電磁場を利用して、物体に取り付けられたか、または物体および人に関連付けられたか、あるいはその両方であるタグを自動的に識別して追跡する。RFIDタグなどのスマート・センサは、位置、温度、および湿度を含むが、これらに限定されない、物体に関連する環境要因を追跡することができる。スマート・センサは、温度、湿度、振動、動き、光、圧力、または高度、あるいはその組み合わせを測定するために利用され得る。IoTデバイスは、歩いた距離または走った距離、カロリー消費量、ならびに場合によっては、心拍および睡眠の質などの、フィットネスに関連する指標を監視して追跡するためのスマート・センサを含んでおり、長期間のデータ追跡のためにコンピュータまたはスマートフォンと同期されたスマートウォッチを含んでいる、(ウェアラブル)デバイスまたはアプリケーションを含む、個別の活動トラッカーおよびフィットネス・トラッカーも含む。IoTデバイス内のスマート・センサが一意の識別子を持っているため、特定のセンサと通信するコンピューティング・システム(例えば、クエリを実行するためにユーザによって利用されるパーソナル・コンピューティング・デバイス)は、情報のソースを識別することができる。IoT内で、さまざまなデバイスが、互いに通信することができ、インターネットを含むさまざまな通信ネットワークを経由して、使用可能なソースからのデータにアクセスすることができる。したがって、ユーザのパーソナル・コンピューティング・デバイスとの通信に基づいて、1つまたは複数のサーバ上で実行されているプログラム・コードは、パーソナル・コンピューティング・デバイスからデジタル・ワードローブのデータを取得して、データ構造を生成および更新することができ、したがって、ビデオ・コンテンツにインデックスを付して、ビデオ・コンテンツ内のテキストによって定義された画像検索を可能にするためのデータを提供するために利用されるデータ構造を生成することができる。
本発明の一部の実施形態では、プログラム・コードは、ニューラル・ネットワークを利用して、ユーザ・データを解析し、データ構造を生成する。ニューラル・ネットワークは、生物学から発想を得たプログラミングの枠組みであり、観測データ(この場合、ユーザのデジタル・ワードローブおよびユーザ・プロフィール・データを含む、ユーザに関連するデータ)からコンピュータが学習できるようにする。この学習は、ニューラル・ネットワークにおいて学習するための一連の技術である、深層学習と呼ばれる。モジュール式ニューラル・ネットワークを含むニューラル・ネットワークは、データ・セットが、クラウド・コンピューティング・システムを含むが、これに限定されない、分散ネットワーク全体にわたることを含む、複数かつ広範囲である状況において、高速、正確、かつ効率的にパターン認識を実行することができる。最新のニューラル・ネットワークは、非線形統計データ・モデル化ツールである。これらのツールは、通常、入力と出力の間の複雑な関係をモデル化するため、およびデータ内のパターンを識別するために使用される(すなわち、ニューラル・ネットワークは、非線形統計データ・モデル化ツールまたは意思決定ツールである)。一般に、ニューラル・ネットワークを利用するプログラム・コードは、入力と出力の間の複雑な関係をモデル化し、データ内のパターンおよび属性を識別することができる。ニューラル・ネットワークの速度および効率のため、特に複数の複雑なデータ・セットを構文解析する場合、ニューラル・ネットワークおよび深層学習は、多様なソースからデータを取り込んで編成するための解決策を提供する。実際に、ニューラル・ネットワークは、リポジトリ内のビデオおよびビデオの音声コンテンツを認知解析して、音声およびビデオ・コンテンツのコンテンツまたは文脈あるいはその両方を決定する場合に、本発明の実施形態に関連する音声認識および自然言語処理における多くの問題を解決するために使用され得る。
本発明の一部の実施形態は、提供された入力に基づいて、ニューラル・ネットワークを利用して、データ構造に含めるための、ユーザの追加の属性、あるいはユーザによって作成またはアップロードされたビデオの追加の属性を予測することができる。プログラム・コードは、ニューラル・ネットワークを利用して、その後のデータを予測することができる。プログラム・コードは、初期属性をユーザ・プロフィールまたはデジタル・ワードローブから取得して(または導き出して)、ニューラル・ネットワークの入力ニューロンに入力するための値(可能性のある属性)の配列を生成する。これらの入力に応答して、ニューラル・ネットワークの出力ニューロンが、識別された属性および予測された属性を含んでいる配列を生成する。ニューラル・ネットワークは、複数のユーザのデータを同時に処理するために利用されることができ、これらのデータを処理することにおいて、プログラム・コードは、データ構造において利用するために、ユーザ間の関係を生成して予測することができる。次に、これらのデータ構造は、ビデオ内のテキストまたは画像を変換し、ビデオ内の関連する位置にタグを付け、ユーザを、関連する情報を含んでいるビデオ内の位置に向けるために、プログラム・コードによって利用され得る。
本発明の一部の実施形態では、神経形態学的プロセッサまたはトレーニング済みの神経形態学的チップが、プログラム・コードを実行する計算リソースに組み込まれ得る。本発明の実施形態において利用され得るトレーニング済みの神経形態学的チップの一例は、International Business Machines Corporationによって製造されたIBM(R)TrueNorthチップである。IBM(R)は、International Business Machines Corporation(米国ニューヨーク州アーモンク)の登録商標である。
本発明の実施形態では、プログラム・コードは、既存のリポジトリ、ソーシャル・タグ、社会的つながり(デジタル・ワードローブの要素を含む)を活用して、個別のフラグメント(例えば、ショット)内の個人および物体を識別することができる。本発明の一部の実施形態では、プログラム・コードは、ビデオをリポジトリにアップロードしたユーザからのフィードバックを要求することによって、ユーザによる、人および物体を含むが、これらに限定されない、プログラム・コードのビデオ内の要素の識別(110)の検証を要求する。本発明の一部の実施形態では、プログラム・コードは、実体の自動タグ付けをユーザに提供し、ビデオを含んでいるフラグメントごとに、タグ付けに対する確認を要求する。下で説明されるように、プログラム・コードは、ビデオを時間的ショットにセグメント化することができ、特定のフラグメントに関して、ビデオをアップロードしたユーザによるタグ付けの確認を要求することができる。アップロードしたユーザによって特定の実体の妥当性が確認された後に、プログラム・コードは、追加のフラグメントにおいて特定されたときに、この実体に自動的にタグを付けることができる。本発明の一部の実施形態では、タグ付けされている実体がユーザでない場合、プログラム・コードは、実体に自動的にタグを付ける前に、この実体からの同意を要求することができる。例えば、プログラム・コードは、実体に関する連絡先情報を要求し、この実体がコンテンツ内でタグ付けされていることを、この実体(すなわち、個人)に通知することができる。通知に応答した確認の受信時に、プログラム・コードは、この実体に自動的にタグを付けることができる。
図1に戻り、プログラム・コードは、ビデオを再生し、音声/発話からテキストへの変換を実行し、関連するタイムラインに基づいて、変換されたテキストから主要な実体を抽出する(120)。音声/発話をテキストに変換することを含む、本明細書に記載された認知解析を実行する認知エンジン(または認知エージェントあるいはその両方)を含んでいるプログラム・コードは、IBM Watson(R)を含むが、これに限定されない、既存の認知エージェントの態様を含むことができる。IBM Watson(R)は、International Business Machines Corporationの製品である。IBM Watson(R)は、International Business Machines Corporation(米国ニューヨーク州アーモンク)の登録商標である。本発明の一部の実施形態では、プログラム・コードは、IBM Watson(R)APIとインターフェイスをとって、前述の取得されたデータの認知解析を実行し、本発明の一部の実施形態では、プログラム・コードは、IBM Watson(R)Application Program Interface(API)(International Business Machines Corporationの製品)などの、既知の認知エージェントの一部であるアプリケーション・プログラミング・インターフェイス(API:application programming interfaces)とインターフェイスをとって、要素の文脈を決定し、音声およびビデオの要素を解釈する。例えば、発話からテキストへの変換機能を提供するために、IBM Watson(R)などの既存の認知エージェントの態様が利用され得る。
本発明の一部の実施形態では、プログラム・コードが、テキストから発話への変換を実行するために、ビデオの再生を利用する(120)。この変換中に、プログラム・コードは、変換されたテキストと、発話および抽出された実体に関連付けられたビデオのタイムラインとから、主要な実体を抽出することができる。
本発明の一部の実施形態では、(認知エンジンの)プログラム・コードが、関連するタイムラインと共に、テキストおよびビデオのメタデータを構築し、このメタデータをインデックス化する(130)。メタデータを構築してそれをインデックス化することによって、テキストまたは画像の所望の検索結果を提供するための情報にインデックスを作成できるようにする。本発明の一部の実施形態では、プログラム・コードが、以前の検索の集約から学習して、新しい検索のパターンを生成する。ビデオのインデックスを作成することの一部として、前述のタイムラインを作成するために、本発明の実施形態では、プログラム・コードがビデオを個別の時間的ショット(例えば、フラグメント)に変換する。この方法でビデオをセグメント化するために、プログラム・コードは、ショット遷移を含むが、これに限定されない、ビデオのセグメント化のための既存の方法を利用することができる。例えば、本発明の一部の実施形態では、プログラム・コードは、ショット・セグメント化アルゴリズムを利用して、ショット遷移が実際に発生したかどうかだけでなく、マクロ・ブロック・タイプ情報または運動ベクトル情報を使用することによって、色ヒストグラムの比較を実行して取得されたショット遷移候補間隔(shot transition candidate interval)でショット遷移が発生した正確な位置も、検出することができる。本発明の一部の実施形態では、プログラム・コードは、2つの隣接するフレーム間または特定の時間間隔だけ互いに離れた2つのフレーム間で、色ヒストグラムを使用する検出アルゴリズムをショット・セグメント化の入力に適用することによって、ショット遷移を検出することができる。ビデオのショットがセグメント化された後に、プログラム・コードは、既存の画像認識技術または画像解析技術あるいはその両方を適用して、関連する物体、実体、俳優をビデオから抽出することができる。このようにして、プログラム・コードはビデオをフラグメントにセグメント化する。
ビデオ・ファイルおよびリポジトリのインデックスを生成することに基づいて、プログラム・コードは、クエリに応答して、検索結果および推奨の両方を提供する(140)。本発明の一部の実施形態では、プログラム・コードは、検索結果を順序付け、推奨されるビデオの結果を提供する。前述したように、ユーザは、特定の物体または物体の構成(例えば、馬に乗っている特定の個人の画像)についてビデオを検索することができる(前述したように、本発明の一部の実施形態では、ビデオ媒体内の個人の存在をユーザに示す前に、プログラム・コードは、この個人の同意を要求して受信する)。プログラム・コードは、可能性のある応答画像と共にリポジトリ内の1つまたは複数のビデオ内の位置を含んでいる、結果に関する推奨を提供する。本発明の実施形態におけるプログラム・コードは、検索されているビデオ・コンテンツから抽出された関連するセクション(定義された開始時間/終了時間)を一緒につなぎ合わせることによって、単一の集約されたビデオ応答を提供するために、検索応答からの順序を確立することを含むが、これに限定されない、より柔軟な形式でも検索結果を提供する。例えば、ユーザによって提供される検索パラメータが、特定の個人の名前およびこの個人が自転車に乗っているはずであるという説明である場合、プログラム・コードは、この個人が自転車に乗っている検索されたビデオのすべてのセグメントの集約である新しいビデオを、検索結果として生成することができる。この例では、本発明の一部の実施形態では、特定の個人が、媒体内で検出されることに(電子メール、ユーザ・インターフェイスなどを介して)同意しなかった場合、プログラム・コードはこの結果を提供しない。
図2は、ビデオがアップロードされ、図3に示されている検索機能を有効にするためにプログラム・コードによって処理される、ワークフロー200を示している。図2は、本発明の一部の実施形態において、1つまたは複数のプロセッサ上で実行されているプログラム・コードが検索インデックスを構築し、1つまたは複数のビデオの検索を可能にする方法を示している。インデックスを生成するために、プログラム・コードは、1つまたは複数のビデオ内の実体(例えば、俳優、物体、撮影場所など)を抽出して識別し、これらの実体を1つまたは複数のビデオ内の時間にリンクして、検索を可能にする。本発明の一部の実施形態では、1つまたは複数のビデオのインデックスを作成するために、プログラム・コードは、1つまたは複数のビデオ内の開始時間および停止時間を、プログラム・コードによって識別された実体にリンクする(実体を含むフラグメントをカプセル化する)。図1で説明されたように、本発明の一部の実施形態では、個人である実体が、検索結果として提供されることの同意を提供するか、または保留することができる。
図2を参照すると、本発明の一部の実施形態では、1つまたは複数のプロセッサ上で実行されているプログラム・コードが、1つまたは複数のビデオを時間的ショット(例えば、フラグメント、セグメント)に変換する(210)。1つまたは複数のビデオをセグメント化するために、プログラム・コードは、既存のショット変換機能を利用することができる。例えば、本発明の一部の実施形態では、プログラム・コードは、IBM Watson(R)Media Video Enrichmentを含むが、これに限定されない、既存の技術を利用して、自動化されたビデオ・シーン検出を利用し、1つまたは複数のビデオを意味的シーン(例えば、ショット、フラグメント)に分割することができる。本発明の実施形態では、プログラム・コードは、IBM Watson(R)Media Video Enrichmentを利用して、シーンの音声およびビデオ・コンテンツを集約することによって、1つまたは複数のビデオを意味的セクションに分割することができる。本発明の実施形態では、1つまたは複数のビデオを、検索用のメタデータを提供し、実体にリンクできるフラグメントにセグメント化するために、さまざまな既存のショット変換技術が利用され得る。
1つまたは複数のビデオがフラグメントにセグメント化された後に、プログラム・コードは、フラグメントに関連付けられた画像および音声の両方から、物体、実体、俳優、位置(場所)などを含むが、これに限定されない、実体を抽出することができる(220)。したがって、ビデオ・コンテンツの検索を可能にするリンクされたメタデータは、(1)フラグメント内に埋め込まれたテキストを含んでいる画像を識別すること、(2)フラグメントと同時に発生する音声において(話された)実体を識別すること、(3)1つまたは複数のビデオをアップロードした個人のユーザ・プロフィール内の実体に基づいて、フラグメント内の実体を識別すること、または(4)前にユーザによってアップロードされたビデオ・コンテンツから、プログラム・コードによって抽出された実体を参照することに基づいて、フラグメント内の実体を識別すること、あるいはその組み合わせに基づいて、プログラム・コードによって生成される。
プログラム・コードは、フラグメント内に埋め込まれたテキストを含んでいる画像を識別することができる。本発明の一部の実施形態では、プログラム・コードは、フラグメントを含んでいる画像(例えば、フラグメント)から実体を抽出するために、既存の画像認識技術または画像解析技術あるいはその両方を利用する(225)。下で説明されるように、プログラム・コードは、抽出された実体を、1つまたは複数のビデオ内の時点(セグメント)にリンクする。本発明の実施形態において、プログラム・コードによって利用され得る画像認識アルゴリズムは、光学式文字認識(OCR:optical character recognition)、パターン・マッチングおよび勾配マッチング、顔認識、ナンバー・プレート・マッチング、またはシーン識別もしくはシーン変化検出、あるいはその組み合わせを含むが、これに限定されない。
プログラム・コードは、さまざまな機械学習技術および深層学習技術を利用して、この画像認識および画像解析を実行することもでき、機械学習方法および深層学習方法は、畳み込みニューラル・ネットワーク(CNN:convolutional neural network)を利用することを含む、画像認識に役立つ方法であることができる。これは、本発明の実施形態において利用できる学習モデルの1つの例にすぎず、例示の目的で提供され、どのような制限または要件も示唆しない。CNNは、畳み込み演算(1つの関数の形状が他の関数の形状によってどのように変更されるかを表す第3の関数を生成するための、2つの関数に対する数学演算)を入力に適用し、その結果を次の層に渡す、畳み込み層を利用することから、そのように名付けられた。CNNは、大規模な(画像)認識システムにおいて広く使用されており、セグメント化、物体検出、および物体検索において、最先端の結果を与える。CNNは、任意の数の次元であることができるが、ほとんどの既存のCNNは、2次元であり、単一の画像を処理する。これらの画像は、2次元(2D:two-dimensional)空間(長さ、幅)内にピクセルを含み、それらのピクセルは、ピクセルのどのセットが最終的な出力分類に最も良く対応するかを理解するために、2次元フィルタのセットによって処理される。3次元CNN(3D-CNN:three-dimensional CNN)は、従来の2次元CNNの拡張であり、3D-CNNは、通常、ビデオ分類に関連する問題において使用される。3D-CNNは、複数の画像(多くの場合、ビデオの連続的な画像フレーム)を受け取り、3Dフィルタを使用して、3D-CNNに提示された3Dのピクセルのセットを理解する。
プログラム・コードは、フラグメントと同時に発生する音声において、(話された)実体を識別することができる。本発明の一部の実施形態では、プログラム・コードは、発話からテキストへの変換機能を含むが、これに限定されない、1つまたは複数の認知解析ツールを利用して、ショットまたはフラグメントを含んでいる画像(例えば、フレーム)を伴う音声から実体を抽出する(227)。本明細書において説明されるように、プログラム・コードは、抽出された実体を、1つまたは複数のビデオ内の時点(セグメント)にリンクする。音声データを解析するために、プログラム・コードは、音声を処理するアプリケーション・プログラミング・インターフェイス(API)を利用することができる。さまざまなAPIは、トーン・アナライザAPI、パーソナリティ洞察API、テキストから発話への変換API、および翻訳APIを含むことができるが、これらに限定されない。
本発明の一部の実施形態では、画像から実体を抽出するプログラム・コードは、OCRを利用して画像に埋め込まれたテキストを認識することに基づいて実体を抽出するプログラム・コードを含む。ビデオ・ファイルに埋め込まれたテキストの例は、俳優、監督、技術者などの名前を公開することができる映画のクレジットを含むが、これに限定されない。プログラム・コードは、画像OCR機能を活用して、ビデオに関する関連するメタデータを抽出することができる。
本発明の一部の実施形態では、プログラム・コードは、既存の認知エージェントを利用して、1つまたは複数のビデオ内の音声(例えば、発話)において実体(個人、イベント、俳優、物体、位置など)を識別することができる。本発明の実施形態において利用され得るそのような1つの認知エージェントは、IBM Watson(R)である。例えば、本発明の一部の実施形態では、プログラム・コードは、IBM Watson(R)Application Program Interface(API)(International Business Machines Corporationの製品)などの、既知の認知エージェントの一部であるアプリケーション・プログラミング・インターフェイス(API)とインターフェイスをとって、音声において実体を識別し、この識別することは、1つまたは複数のビデオ内の音声の対象または文脈あるいはその両方を識別することを含むが、これに限定されない。例えば、本発明の実施形態において利用され得る3つのAPIは、IBM Watson(R)Natural Language Classifier(NLC)、IBM Watson(R)Natural Language Understanding、およびIBM Watson(R)Tone Analyzerを含むが、これらに限定されない。加えて、本発明の実施形態は、特定の発話を、Entity Extractionを含むテキスト解析機能に利用することができる。プログラム・コードは、音声をテキストに変換し、その後、テキストにインデックスが付与されているため、Entity Extractionを利用して、音声ドキュメントのテキスト表現から実体を抽出することができる。プログラム・コードは、本発明の実施形態では、Watson Discovery(R)と呼ばれるAPIのグループを利用することができる。Watson Discovery(R)の特定のAPIは、発明の実施形態において、プログラム・コードによって利用されることができ、音声から、感情、実体、概念、または意味役割、あるいはその組み合わせを含むが、これらに限定されない、要素を抽出するためにプログラム・コードが利用することができる、NLP機能を含んでいる。本発明の一部の実施形態では、1つまたは複数のプログラムによって利用されるAPIは、Retrieve and Rank(すなわち、ドキュメントの集合から最も関連する情報を表面化することができる、IBM Watson(R)Developer Cloudを介して利用できるサービス)、概念/視覚的洞察、トレードオフ分析、ドキュメント変換、または関係抽出、あるいはその組み合わせを含んでよいが、これに限定されない。当業者によって理解されているように、IBM Watson(R)APIおよびその他のサービスは、本発明の実施形態に統合され得る可能性のあるAPIおよび既存の技術の例を提示するため、ならびに既存の認知エンジンの統合を介するかどうかに関わらず、本発明の実施形態におけるプログラム・コードの機能を説明するためにのみ、提供されている。
プログラム・コードは、本発明の実施形態においてWatsonのコグニティブ・コンピューティングを利用して、音声認識、機械翻訳、テキストから発話への変換、および音声内の実体の認識を可能にするその他の意味的ツールを提供することによって、1つまたは複数のビデオからテキスト・コンテンツを生成することができる。テキスト・コンテンツを生成するために利用されるツールは、IBM Watson(R)Speech to Text APIエンドポイントを含んでよい。本発明の一部の実施形態においてプログラム・コードは、IBM(R)Cloud Video Platformによって媒体(ビデオ)を処理し、関連付けられた音声を生成する。プログラム・コードは、発話からテキストへの変換サービスを音声に適用することによって、音声のテキスト表現を生成する。
プログラム・コードは、1つまたは複数のビデオをアップロードした個人のユーザ・プロフィール内の実体に基づいて、フラグメント内の実体を識別することができる。図2を参照すると、本発明の一部の実施形態では、プログラム・コードは、1つまたは複数のビデオをアップロードしたユーザのユーザ・プロフィール・データを利用して実体のベースライン・リストを生成し、1つまたは複数のビデオ内のフラグメント内のこれらの実体を識別する(230)。プログラム・コードは、画像およびテキストの解析からフラグメントにリンクされたデータを、パーソナル化された実体識別で補完する(240)。本発明の一部の実施形態では、プログラム・コードは、ソーシャル・メディアのプロフィール・データまたはソーシャル・メディア内のタグあるいはその両方を含むが、これらに限定されない、使用可能なユーザ情報からデータ構造を生成し、このデータ構造を活用して、ビデオ・コンテンツにインデックスを作成し、ビデオ・コンテンツ内のテキストによって定義された画像検索を可能にするのを支援するためのデータを提供する。図1で説明されたように、プログラム・コードは、ユーザのデジタル・ワードローブのさまざまな態様にアクセスして、ベースライン・リストを抽出することができる。
プログラム・コードは、前にユーザによってアップロードされたビデオ・コンテンツからプログラム・コードによって抽出された実体を参照することに基づいて、フラグメント内の実体を識別することができる。本発明の一部の実施形態では、プログラム・コードは、1つまたは複数のビデオ内のフラグメントを認知解析し、ユーザから以前にアップロードされたビデオ内で以前に識別された実体を識別する(250)。プログラム・コードは、画像、テキスト、およびプロフィールの解析からフラグメントにリンクされたデータを、過去の実体識別で補完する(260)。本発明の一部の実施形態では、プログラム・コードは、同じアップロードしたユーザ(所有者)から前にアップロードされたビデオから過去に抽出された、同じビデオの分類および下位分類に属する実体を利用する。
本発明の一部の実施形態では、プログラム・コードは、(画像、発話からテキストへ変換された音声、ユーザ・プロフィール、および過去のビデオの認知解析から)抽出された実体、およびフラグメント(すなわち、時間的ショット)への抽出された実体のリンクのリストを、ユーザ・インターフェイスを介して、1つまたは複数のビデオをアップロードしたユーザに表示し、抽出された実体およびリンクに関するユーザからのフィードバックを求める(270)。特定の実体識別を修正するフィードバックを取得することに基づいて、プログラム・コードは、より正確な進行になるように、認知解析(例えば、認知解析において利用されるアルゴリズム)を修正する(280)。
本発明の実施形態では、プログラム・コードは、抽出された実体(画像解析、変換された音声のテキスト解析、(例えば、ユーザの同意を得た)ユーザ・プロフィール解析、または過去の実体の抽出の解析、あるいはその組み合わせに基づいて抽出された実体)を特定のビデオ・フラグメント(例えば、時間的ショット)にリンクすることに基づいて、1つまたは複数のビデオの検索インデックスを生成する(290)。各実体がリンクされたショットまたはビデオ・フラグメントあるいはその両方はそれぞれ、定義された開始時間および終了時間を含む。本発明の一部の実施形態では、実体の各リンクは、実体がリンクされたビデオのタイムライン内の開始時間および停止時間を含む。
図3は、図2のワークフローで説明された検索のための1つまたは複数のビデオのインデックス作成を可能にするさまざまな態様の図300である。図3に示されているように、認知ビデオ検索310は、検索インデックスを生成するために、実体を抽出し、実体をビデオのセグメントにリンクするプログラム・コードによって、可能にされる。実体を抽出するために、図2で説明されたように、プログラム・コードは、この例では、ビデオをアップロードした個人のソーシャル・プロフィール320、ならびに個人に関連付けられたソーシャル画像およびビデオのタグ330を含んでいる、ユーザ・プロフィールの要素を含むが、これに限定されない、外部データを利用してビデオを認知解析する。プログラム・コードは、ビデオ内のさまざまな実体を識別するために、画像メタデータ・リポジトリ340を利用して外部の知能を獲得することもできる。プログラム・コードは、ビデオ内の音声から実体を抽出するために、発話からテキストへの変換350機能を利用する。前述したように、プログラム・コードは、抽出された実体をフラグメント(ショット、個別のセグメント)にリンクできるように、ビデオ・ショットのデシメーションおよび認識370を利用してビデオをセグメント化する。本発明の実施形態では、プログラム・コードは、ビデオごとにビデオ・インデックスを生成し、このインデックスを、検索で利用するためにビデオ・インデックス・リポジトリ360に保存する。
図4は、以前にアップロードされたコンテンツの検索に関連するワークフロー400を示している。前述したように、本発明の実施形態では、プログラム・コードは、テキスト、音声、画像、またはその他のビデオ、あるいはその組み合わせのうちの1つまたは複数を検索入力として利用して、図2で説明された態様に従ってインデックスが作成されている1つまたは複数のビデオを検索することができる。実行され得る検索の種類の特定の例は、前に説明された(すなわち、特定の俳優が笑っている映画を見つける、特定の地理的位置で馬に乗っている特定の家族の一員を含むビデオ・クリップを見つける、チームの部屋内の教育的コンテンツおよびそのコンテンツを見るための必要条件を見つける)。本発明の一部の実施形態では、ユーザは、検索パラメータを、テキスト、音声、画像、またはその他のビデオ、あるいはその組み合わせのうちの1つまたは複数として、少なくとも1つの処理デバイス上で実行されているプログラム・コードに提供することによって、クエリを開始する(410)。プログラム・コードは、パラメータを取得し、提供された検索入力から関連する実体を識別し、識別された関連する実体を利用して、ビデオの結果についてインデックス作成済みのリポジトリを検索する(420)。
プログラム・コードは、2つ以上の方法で検索結果を提供することができる。本発明の一部の実施形態では、プログラム・コードは、パラメータ(例えば、検索用語)との関連性に基づいて、検索結果をランク付けする(430)。
本発明の一部の実施形態では、プログラム・コードは、異なる種類の結果を提供するように構成され得る。プログラム・コードは、構成に基づいて結果を提供する(435)。本発明の一部の実施形態では、プログラム・コードは、クエリに応答して、ランク付けされた結果をユーザに提供する(440)。プログラム・コードによって提供される結果は、特定の関連するビデオ・フラグメント(ショット)を応答に含む。本発明の一部の実施形態では、プログラム・コードは、元のビデオを物理的にフラグメント化し、クエリに応答するフラグメント(識別された実体にリンクされたフラグメント)を含むビデオ応答を作成すること、または特定の開始時間から終了時間まで再生するためにビデオを再生する間、関連するフラグメントのみを再生する特殊な論理を利用することによって、応答を生成する。本発明の一部の実施形態では、特定の検索に応答して、プログラム・コードは、検索結果内の関係および順序付けを識別する。したがって、プログラム・コードは、単一の集約されたビデオ応答をユーザに返すことができる(例えば、複数年のテレビ・シリーズのビデオ応答が、年およびエピソード別に年代順に配置され得る)。
本発明の一部の実施形態では、プログラム・コードは、新たに生成された媒体のうちの1つまたは複数を検索結果として提供する。上記の例におけるように、プログラム・コードは、パラメータ(例えば、検索用語)との関連性に基づいて、検索結果をランク付けする(430)。プログラム・コードは、検索結果を含んでいる特定の関連するビデオ・フラグメント(ショット)から、新しいビデオを生成する(445)。プログラム・コードは、新しいビデオを検索結果としてユーザに提供する(455)。本発明の一部の実施形態では、プログラム・コードは、ユーザによって利用されているコンピューティング・デバイス上のグラフィカル・ユーザ・インターフェイスに、検索結果(新しいビデオ)を自動的に再生することができる。本発明の一部の実施形態では、プログラム・コードは、単一の新しいビデオを生成するのではなく、複数の結果を生成し、それらの結果のすべてが、プログラム・コードがランク付けしてユーザに返す、ランク付けされた個別の新しいビデオである。プログラム・コードは、異なるランク付けされた結果内で一緒につなぎ合わせられた異なるフラグメント、または異なる順序で一緒につなぎ合わせられた同じフラグメントを含むビデオ、あるいはその両方を提供することができる。個別のビデオ内で、新しい媒体を生成するために一緒につなぎ合わせられたビデオ・フラグメントの順序は、検索パラメータとのフラグメントの関連性に従うことができる。本発明の一部の実施形態では、プログラム・コードは、結果をランク付けせず、検索されている元のビデオ内のタイムラインの順序での応答として、新しい媒体を生成する。
図4に示されるように、プログラム・コードは、本発明のさまざまな実施形態において、列挙された結果の種類のうちの1つまたは複数を提供することができる。
図5Aおよび5Bは、本発明の一部の実施形態においてインデックスが生成された後の、検索インデックスの生成(例えば、ビデオのアップロードのフロー500)、および検索の実行(例えば、ビデオ検索のフロー505)という、本発明の一部の実施形態における2つの異なるワークフロー500、505を示している。これらのプロセスは、図5Aおよび5Bに視覚的に分離されているが、例示の目的で、図面の同じ番号付けに含まれて提供されている。
図5Aのビデオのアップロードのフロー500で、プログラム・コードは、1つまたは複数のビデオのインデックスを作成する。図5Aに示されているように、このワークフロー500の特定の態様は、同時実行され得る。このワークフローは、本発明の一部の実施形態では、ユーザが、アップロード中に提供されたさまざまな識別子と共にビデオをアップロードするときに開始する(510)。本発明の一部の実施形態では、これらの識別子は、分類(例えば、教育)および下位分類(例えば、特定の技術、テレビ・シリーズ)を含むことができる。1つまたは複数のプロセッサ上で実行されているプログラム・コードは、アップロードされたビデオを取得し、ショット遷移を含むがこれに限定されない機能を利用して、このビデオを時間的ショットに変換する(515)。プログラム・コードは、ユーザのユーザ・プロフィール(例えば、ソーシャル・メディアのプロフィール、デジタル・ワードローブなど)が使用可能であるかどうかを判定する(520)。プロフィールが使用可能であるということの決定に基づいて、プログラム・コードは、ユーザ・プロフィールの要素(例えば、ユーザに関するソーシャル・ネットワークからの情報、ソーシャル・ネットワークのプロフィール画像、ソーシャル画像/ビデオのタグ)を利用して、ビデオのフラグメント内の実体を識別する(525)。プログラム・コードは、ユーザによって以前にアップロードされたビデオから、同じ分類または下位分類あるいはその両方の過去の実体を識別し、ビデオのフラグメントを検索して、過去の実体が存在するかどうかを決定する(530)。本発明の一部の実施形態では、プログラム・コードは、インターフェイスを介して、識別された実体(この実施形態では、ユーザ・プロフィールの要素および関連するビデオからの過去の実体を利用して識別された実体)のリストをユーザに提供し(535)、これらの識別された実体に関するフィードバックを要求する(540)。ユーザがフィードバックをプログラム・コードに提供しており、プログラム・コードが、このフィードバックに基づいて識別された実体(および場合によっては、実体を識別するために利用されるアルゴリズム)を調整する(545)。
本発明の一部の実施形態では、プログラム・コードは、プロフィールが使用可能でないということを決定し、画像認識および画像解析を利用して、ビデオ内の実体を抽出して識別し、各識別された実体をビデオのタイムライン内の場所(例えば、開始時間および終了時間)に結び付けることを含めて、抽出された実体を時間的ショットに関連付ける(522)。本発明のこの実施形態では、画像認識および画像解析を利用することは、ユーザ・プロフィールを利用して識別情報を識別するための代替手段として提示されているが、本発明の一部の実施形態では、プログラム・コードは、これらの解析の両方を実行して、ビデオ内の実体を識別し、後でインデックスを作成するために利用する。
本発明の一部の実施形態では、プログラム・コードは、ビデオ内の発話/音声をテキストに変換する(550)。図5Aに示されているように、この変換およびさまざまなその他の態様は、ユーザ・プロフィール(525)および過去の実体(530)を利用してビデオの時間的ショット内の実体を識別すること、ならびに画像認識および画像解析(522)を実行して実体を識別することを含むが、これらに限定されない、他の態様と同時に実行され得る。本発明の実施形態におけるさまざまな態様の構成に応じて、異なる態様が同時に実行されることができ、特定の態様が順序通りに実行されることができるため、この同時に発生するタイミングは、可能性のある構成の1つの例である。発話(またはその他の音声またはビデオ)をテキストに変換することに基づいて、プログラム・コードは、テキストから実体を抽出する(560)。本発明の一部の実施形態では、プログラム・コードは、プログラム・コードによって関連していると見なされた実体のみを抽出する。つまり、それらの実体は、キーワードとして識別され得るように、ビデオ内でしきい値回数出現する。本発明の一部の実施形態では、プログラム・コードは、OCRを利用して、ビデオ内に埋め込まれた関連するテキストから実体を抽出する(565)。プログラム・コードは、OCRを介してテキストから抽出された実体を、時間的ショットまたはフラグメント(すなわち、開始時間および停止時間を含む、ビデオのタイムライン上の位置)に関連付ける(570)。
ユーザ・プロフィール、過去の実体、画像認識および画像解析、ユーザ・フィードバック、自然言語処理、またはOCR、あるいはその組み合わせのうちの1つまたは複数を利用して実体を識別したことに基づいて、プログラム・コードは、実体と時間的ショットの間のリンクに基づいてビデオのインデックスを生成する(575)。したがって、各実体は、ビデオのタイムライン上でインデックスが作成される。
図5Bを参照すると、ビデオのインデックスが作成された後に、ビデオ・コンテンツが検索され得る。ビデオ検索のフロー505は、ユーザが、テキスト、音声、画像、またはビデオ、あるいはその組み合わせのうちの1つまたは複数を検索パラメータとして利用してビデオを検索することから開始する(576)。プログラム・コードは、主要な実体(例えば、俳優、物体、位置、時間など)を検索クエリから識別する(578)。プログラム・コードは、(ビデオのアップロードのフロー500によって生成された)検索インデックスに対して検索を実行する(580)。プログラム・コードは、実体に関連付けられた時間的ショットに基づいて、ビデオのタイムライン(開始時間および終了時間)と共に結果を取得し、1つまたは複数の事前に定義された要因(例えば、関連性、一致する実体の数など)に基づいて、結果をランク付けする(581)。本発明の一部の実施形態では、プログラム・コードは、IBM Watson(R)Retrieve and Rankなどのアルゴリズムを利用して、消される結果をランク付けすることができる。
本発明の一部の実施形態では、プログラム・コードは、結果の特定の順序付けが検索パラメータに対応しているということを決定する(582)。この決定に基づいて、プログラム・コードは、適用可能な順序に基づいて、結果のタイムラインを使用して、新しいビデオを生成する(585)。プログラム・コードが結果の順序を決定しない場合、プログラム・コードは、ユーザがタイムライン内の関連するビデオに直接移動するか、またはすべての結果を含む単一の結果のビデオを再生できるようにする方法で、各結果をユーザに表示する(590)。本発明の一部の実施形態では、プログラム・コードは、各結果を表示してタイムライン内の移動を可能にすること(590)に加えて、新しいビデオを生成することができる(585)。
本発明の実施形態は、コンピュータ実装方法、コンピュータ・プログラム製品、およびコンピュータ・システムを含み、少なくとも1つのプロセッサ上で実行されているプログラム・コードが、ビデオを、クライアントを介してユーザからビデオを取得し、1つまたは複数のプロセッサがアクセスできるリポジトリにアップロードする。プログラム・コードは、ビデオを時間的ショットにセグメント化し、時間的ショットはビデオのタイムラインを含む。プログラム・コードは、画像認識アルゴリズムをビデオに適用して、ビデオの各時間的ショット内の画像実体を識別することによって、ビデオを認知解析する。プログラム・コードは、ユーザのユーザ・プロフィールを含んでいるデータ構造を時間的ショットに適用し、ビデオの各時間的ショット内の個人実体を識別することによって、認知解析する。プログラム・コードは、ユーザ実体を利用してビデオの検索インデックスを生成し、ユーザ実体が画像実体および個人実体を含み、検索インデックスの各エントリが、複数のユーザ実体から選択される特定のユーザ実体と、複数の時間的ショットのうちの特定の時間的ショットへのリンクであってビデオのタイムライン内の特定の実体の位置を示すリンクと、を含む。
本発明の一部の実施形態では、プログラム・コードがユーザ・プロフィールを適用することが、プログラム・コードが、クライアント接続に基づいてネットワークを経由して1つまたは複数のアプリケーションに対してクライアントを介してユーザによって実行されたコンピューティング活動を監視することと、プログラム・コードが、1つまたは複数のアプリケーションにおいてユーザによって実行されたコンピューティング活動を解析し、ユーザに関連する要素を含んでいるデータおよび要素とユーザの間の関係を識別することと、プログラム・コードが、この解析に基づいてデータ構造を生成することであって、データ構造がユーザ・プロフィールを含んでいる、生成することとを含む。
本発明の一部の実施形態では、プログラム・コードがユーザ・プロフィールを適用することが、プログラム・コードが、複数の時間的ショットのうちの時間的ショットごとに、ビデオ内の非テキスト要素をテキスト・コンテンツに変換することと、プログラム・コードが、各時間的ショットのテキスト・コンテンツ内で、ユーザに関連する要素および要素とユーザの間の関係を識別することであって、要素が個人実体を含んでいる、識別することとを含む。
本発明の一部の実施形態では、プログラム・コードは、検索インデックスをインデックス作成済みのリポジトリに格納する。
本発明の一部の実施形態では、プログラム・コードは、検索インデックス内の複数のユーザ実体のうちの1つまたは複数の関連するユーザ実体を識別する検索パラメータを取得する。プログラム・コードは、関連するユーザ実体を識別する。プログラム・コードは、関連するユーザ実体についてビデオを検索し、この検索は、検索インデックスを利用してビデオ内の関連するユーザ実体の位置を特定するためにインデックス・リポジトリにアクセスすることを含む。
本発明の一部の実施形態では、プログラム・コードは、検索に応答して検索結果を作成し、検索結果は、関連するユーザ実体、および関連するユーザ実体ごとに、タイムライン内の関連するユーザ実体の位置を含み、この位置は開始時間および終了時間を含む。
本発明の一部の実施形態では、プログラム・コードが検索結果を作成することは、検索パラメータとの関連性に基づいて検索結果をランク付けすることを含む。
本発明の一部の実施形態では、プログラム・コードは、検索の成果物を生成すし、この生成することが、プログラム・コードが、ビデオから時間的ショットの部分を取得することであって、この部分の各時間的ショットが、関連するユーザ実体ごとに、タイムライン内の関連するユーザ実体の位置を含む、取得することと、プログラム・コードが、時間的ショットの部分を新しいビデオに組み立てることとを含む。
本発明の一部の実施形態では、プログラム・コードは、検索の成果物を、クライアントを介してユーザに提供する。
本発明の一部の実施形態では、プログラム・コードが組み立てることは、プログラム・コードが、検索パラメータとの関連性に基づく検索結果のランク付けに従って、時間的ショットの部分を組み立てることを含む。
本発明の一部の実施形態では、新しいビデオは、2つ以上の個別の新しいビデオを含み、検索の成果物の提供は、個別の新しいビデオの各々へのリンクを提供することを含む。
本発明の一部の実施形態では、検索パラメータの形式は、テキスト、音声、画像、およびビデオから成る群から選択される。
本発明の一部の実施形態では、プログラム・コードが画像認識アルゴリズムを適用することが、プログラム・コードが、1つまたは複数のプロセッサがアクセスできる画像メタデータ・リポジトリにアクセスすることを含む。
本発明の一部の実施形態では、非テキスト要素が発話および音声を含み、要素を変換することが、プログラム・コードが、発話からテキストへの変換処理アルゴリズムを適用して、テキスト・コンテンツを生成することを含む。
本発明の一部の実施形態では、非テキスト要素が、ビデオを含んでいる画像に埋め込まれたテキストを含み、プログラム・コードが要素を変換することが、プログラム・コードが光学式文字認識プロセスを埋め込まれたテキストに対して実行し、埋め込まれたテキストをテキスト・コンテンツに変換することを含む。
本発明の一部の実施形態では、検索インデックスを生成する前に、プログラム・コードはビデオの分類を決定し、プログラム・コードがクライアントを介してユーザからビデオを取得することは、プログラム・コードがクライアントを介してユーザから分類を取得することをさらに含む。プログラム・コードは、リポジトリ内で、ユーザによってアップロードされた別のビデオを識別し、別のビデオの分類は、ビデオの分類と同等である。プログラム・コードは、別のビデオの検索インデックスから、別のビデオの検索インデックスを含んでいるユーザ実体を抽出する。プログラム・コードは、別のビデオの検索インデックスを含んでいるユーザ実体について、ビデオを検索する。プログラム・コードは、ビデオ内の別のビデオの検索インデックスを含んでいるユーザ実体の部分の位置を特定する。
本発明の一部の実施形態では、ユーザ実体は、ユーザ実体の部分をさらに含む。
本発明の一部の実施形態では、検索インデックスを生成する前に、プログラム・コードは、クライアントのユーザ・インターフェイスにおいて、個人実体および個人実体の各リンクを表示するインターフェイスを生成し、このインターフェイスは、ユーザがフィードバックを提供できる入力箇所を含む。プログラム・コードは、ユーザからインターフェイスを介して提供されたフィードバックを取得する。プログラム・コードは、フィードバックに基づいてユーザ実体を更新する。
本発明の一部の実施形態では、1つまたは複数のアプリケーションがソーシャル・メディアWebサイトを含む。
本発明の一部の実施形態では、ユーザに関連する要素は、ユーザによってソーシャル・メディアWebサイトに投稿された画像および画像に関連付けられたタグを含む。
ここで図6を参照すると、クラウド・コンピューティング・ノード10であることができるコンピューティング・ノードの例の概略図が示されている。クラウド・コンピューティング・ノード10は、適切なクラウド・コンピューティング・ノードの1つの例にすぎず、本明細書に記載された本発明の実施形態の使用または機能の範囲に関して、いかなる制限を示唆することも意図されていない。いずれにせよ、クラウド・コンピューティング・ノード10は、前述した機能のいずれかを実装すること、または実行すること、あるいはその両方を行うことができる。本発明の一実施形態では、ワークフロー500、505(図5A~5B)の態様を実行するプログラム・コードならびにアップロードされたコンテンツを収納するビデオ・リポジトリおよびインデックスを収納するコンピューティング・デバイスはそれぞれ、クラウド・コンピューティング・ノード10(図6)として理解されることができ、クラウド・コンピューティング・ノード10でない場合は、クラウド・コンピューティング・ノード10の態様を含む1つまたは複数の一般的コンピューティング・ノードとして理解されることができる。
クラウド・コンピューティング・ノード10内には、他の多数の汎用または専用のコンピューティング・システム環境または構成で運用できるコンピュータ・システム/サーバ12が存在する。コンピュータ・システム/サーバ12での使用に適した既知のコンピューティング・システム、環境、または構成、あるいはその組み合わせの例は、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マイクロプロセッサ・システム、マイクロプロセッサベース・システム、セット・トップ・ボックス、プログラマブル・コンシューマ・エレクトロニクス、ネットワークPC、マイクロコンピュータ・システム、メインフレーム・コンピュータ・システム、およびこれらの任意のシステムまたはデバイスを含む分散クラウド・コンピューティング環境などを含むが、これらに限定されない。
コンピュータ・システム/サーバ12は、コンピュータ・システムによって実行されているプログラム・モジュールなどの、コンピュータ・システムによって実行可能な命令との一般的な関連において説明され得る。通常、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含むことができる。コンピュータ・システム/サーバ12は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される、分散クラウド・コンピューティング環境内で実践され得る。分散クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカルおよびリモートの両方のコンピュータ・システム・ストレージ媒体に配置され得る。
図6に示されているように、クラウド・コンピューティング・ノード10として利用され得るコンピュータ・システム/サーバ12は、汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム/サーバ12のコンポーネントは、1つまたは複数のプロセッサまたは処理ユニット16、システム・メモリ28、およびシステム・メモリ28を含むさまざまなシステム・コンポーネントをプロセッサ16に結合するバス18を含むことができるが、これらに限定されない。
バス18は、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィックス・ポート、および任意のさまざまなバス・アーキテクチャを使用するプロセッサまたはローカル・バスを含む、任意の複数の種類のバス構造のうちの1つまたは複数を表す。例として、そのようなアーキテクチャは、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカル・バス、およびPCI(Peripheral Component Interconnect)バスを含むが、これらに限定されない。
コンピュータ・システム/サーバ12は、通常、さまざまなコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム/サーバ12によってアクセスできる任意の使用可能な媒体であることができ、揮発性および不揮発性媒体、取り外し可能および取り外し不可の媒体を含む。
システム・メモリ28は、ランダム・アクセス・メモリ(RAM:random access memory)30またはキャッシュ・メモリ32あるいはその両方などの、揮発性メモリの形態でのコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム/サーバ12は、その他の取り外し可能/取り外し不可、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体をさらに含むことができる。単に例として、取り外し不可、不揮発性の磁気媒体(図示されておらず、通常は「ハード・ドライブ」と呼ばれる)に対する読み取りと書き込みを行うために、ストレージ・システム34を提供することができる。図示されていないが、取り外し可能、不揮発性の磁気ディスク(例えば、「フロッピー(R)・ディスク」)に対する読み取りと書き込みを行うための磁気ディスク・ドライブ、およびCD-ROM、DVD-ROM、またはその他の光媒体などの取り外し可能、不揮発性の光ディスクに対する読み取りと書き込みを行うための光ディスク・ドライブを提供することができる。そのような例では、それぞれを、1つまたは複数のデータ媒体インターフェイスによってバス18に接続することができる。下で詳細に示され、説明されているように、メモリ28は、本発明の実施形態の機能を実行するように構成された一連の(例えば、少なくとも1つの)プログラム・モジュールを備える少なくとも1つのプログラム製品を含むことができる。
例えば、一連の(少なくとも1つの)プログラム・モジュール42を含んでいるプログラム/ユーティリティ40がメモリ28に格納され得るが、これに限定されず、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データも格納され得る。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、その他のプログラム・モジュール、およびプログラム・データまたはこれらの組み合わせの各々は、ネットワーク環境の実装を含むことができる。プログラム・モジュール42は、通常、本明細書に記載された本発明の実施形態の機能または方法あるいはその両方を実行する。
コンピュータ・システム/サーバ12は、キーボード、ポインティング・デバイス、ディスプレイ24などの1つまたは複数の外部デバイス14、ユーザがコンピュータ・システム/サーバ12と情報をやりとりできるようにする1つまたは複数のデバイス、またはコンピュータ・システム/サーバ12が1つまたは複数の他のコンピューティング・デバイスと通信できるようにする任意のデバイス(例えば、ネットワーク・カード、モデムなど)、あるいはその組み合わせと通信することもできる。そのような通信は、入出力(I/O:Input/Output)インターフェイス22を介して行うことができる。さらに、コンピュータ・システム/サーバ12は、ローカル・エリア・ネットワーク(LAN:local area network)、一般的な広域ネットワーク(WAN:wide area network)、またはパブリック・ネットワーク(例えば、インターネット)、あるいはその組み合わせなどの1つまたは複数のネットワークと、ネットワーク・アダプタ20を介して通信することができる。図示されているように、ネットワーク・アダプタ20は、バス18を介してコンピュータ・システム/サーバ12の他のコンポーネントと通信する。図示されていないが、その他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方を、コンピュータ・システム/サーバ12と併用できるということが理解されるべきである。その例として、マイクロコード、デバイス・ドライバ、冗長プロセッシング・ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが挙げられるが、これらに限定されない。
本開示にはクラウド・コンピューティングに関する詳細な説明が含まれているが、本明細書において示された内容の実装は、クラウド・コンピューティング環境に限定されないと理解されるべきである。本発明の実施形態は、現在既知であるか、または今後開発される任意のその他の種類のコンピューティング環境と組み合わせて実装できる。
クラウド・コンピューティングは、構成可能な計算リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス提供モデルであり、管理上の手間またはサービス・プロバイダとのやりとりを最小限に抑えて、これらのリソースを迅速にプロビジョニングおよび解放することができる。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つのデプロイメント・モデルを含むことができる。
特徴は、次のとおりである。
オンデマンドのセルフ・サービス:クラウドの利用者は、サーバの時間およびネットワーク・ストレージなどの計算能力を一方的に、サービス・プロバイダとの人間的なやりとりを必要とせず、必要に応じて自動的にプロビジョニングすることができる。
幅広いネットワーク・アクセス:クラウドの能力は、ネットワークを経由して利用可能であり、標準的なメカニズムを使用してアクセスできるため、異種のシン・クライアントまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による利用を促進する。リソース・プール:プロバイダの計算リソースは、プールされ、マルチテナント・モデルを使用して複数の利用者に提供される。さまざまな物理的および仮想的リソースが、要求に従って動的に割り当ておよび再割り当てされる。場所に依存しないという感覚があり、利用者は通常、提供されるリソースの正確な場所に関して管理することも知ることもないが、さらに高い抽象レベルでは、場所(例えば、国、州、またはデータセンター)を指定できる場合がある。迅速な順応性:クラウドの能力は、迅速かつ柔軟に、場合によっては自動的にプロビジョニングされ、素早くスケールアウトし、迅速に解放されて素早くスケールインすることができる。プロビジョニングに使用できる能力は、利用者には、多くの場合、任意の量をいつでも無制限に購入できるように見える。
測定されるサービス:クラウド・システムは、計測機能を活用することによって、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザのアカウント)に適した抽象レベルで、リソースの使用を自動的に制御および最適化する。リソースの使用量は監視、制御、および報告することができ、利用されるサービスのプロバイダと利用者の両方に透明性が提供される。
サービス・モデルは、次のとおりである。
SaaS(Software as a Service):利用者に提供される能力は、クラウド・インフラストラクチャ上で稼働しているプロバイダのアプリケーションの利用である。それらのアプリケーションは、Webブラウザ(例えば、Webベースの電子メール)などのシン・クライアント・インターフェイスを介して、さまざまなクライアント・デバイスからアクセスできる。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能を含む基盤になるクラウド・インフラストラクチャを、限定的なユーザ固有のアプリケーション構成設定を行う可能性を除き、管理することも制御することもない。
PaaS(Platform as a Service):利用者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、利用者が作成または取得したアプリケーションをクラウド・インフラストラクチャにデプロイすることである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、デプロイされたアプリケーション、および場合によってはアプリケーション・ホスティング環境の構成を制御することができる。
IaaS(Infrastructure as a Service):利用者に提供される能力は、処理、ストレージ、ネットワーク、およびその他の基本的な計算リソースのプロビジョニングであり、利用者は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをデプロイして実行できる。利用者は、基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションを制御することができ、場合によっては、選択されたネットワーク・コンポーネント(例えば、ホスト・ファイアウォール)を限定的に制御できる。
デプロイメント・モデルは、次のとおりである。
プライベート・クラウド:このクラウド・インフラストラクチャは、組織のためにのみ運用される。組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
コミュニティ・クラウド:このクラウド・インフラストラクチャは、複数の組織によって共有され、関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンスに関する考慮事項)を共有している特定のコミュニティをサポートする。これらの組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
パブリック・クラウド:このクラウド・インフラストラクチャは、一般ユーザまたは大規模な業界団体が使用できるようになっており、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、データとアプリケーションの移植を可能にする標準化された技術または独自の技術(例えば、クラウド間の負荷バランスを調整するためのクラウド・バースト)によって固有の実体を残したまま互いに結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合である。
クラウド・コンピューティング環境は、ステートレス、疎結合、モジュール性、および意味的相互運用性に重点を置いたサービス指向の環境である。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを含んでいるインフラストラクチャである。
ここで図7を参照すると、例示的なクラウド・コンピューティング環境50が示されている。図示されているように、クラウド・コンピューティング環境50は、クラウドの利用者によって使用されるローカル・コンピューティング・デバイス(例えば、パーソナル・デジタル・アシスタント(PDA:personal digital assistant)または携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組み合わせなど)が通信できる1つまたは複数のクラウド・コンピューティング・ノード10を含んでいる。ノード10は、互いに通信することができる。ノード10は、1つまたは複数のネットワーク内で、本明細書において前述されたプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはこれらの組み合わせなどに、物理的または仮想的にグループ化され得る(図示されていない)。これによって、クラウド・コンピューティング環境50は、クラウドの利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のないインフラストラクチャ、プラットフォーム、またはSaaS、あるいはその組み合わせを提供できる。図7に示されたコンピューティング・デバイス54A~Nの種類は、例示のみが意図されており、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意の種類のネットワークまたはネットワーク・アドレス可能な接続(例えば、Webブラウザを使用した接続)あるいはその両方を経由して任意の種類のコンピュータ制御デバイスと通信することができると理解される。
ここで図8を参照すると、クラウド・コンピューティング環境50(図7)によって提供される機能的抽象レイヤのセットが示されている。図8に示されたコンポーネント、レイヤ、および機能は、例示のみが意図されており、本発明の実施形態がこれらに限定されないということが、あらかじめ理解されるべきである。図示されているように、次のレイヤおよび対応する機能が提供される。
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム61、RISC(Reduced Instruction Set Computer)アーキテクチャベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーク・コンポーネント66が挙げられる。一部の実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
仮想化レイヤ70は、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75などの仮想的実体を提供できる抽象レイヤを備える。
一例を挙げると、管理レイヤ80は、以下で説明される機能を提供することができる。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用される計算リソースおよびその他のリソースの動的調達を行う。計測および価格設定82は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびそれらのリソースの利用に対する請求書の作成と送付を行う。一例を挙げると、それらのリソースは、アプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティは、クラウドの利用者およびタスクの識別情報の検証を行うとともに、データおよびその他のリソースの保護を行う。ユーザ・ポータル83は、クラウド・コンピューティング環境へのアクセスを利用者およびシステム管理者に提供する。サービス・レベル管理84は、必要なサービス・レベルを満たすように、クラウドの計算リソースの割り当てと管理を行う。サービス水準合意(SLA:Service Level Agreement)計画および実行85は、今後の要求が予想されるクラウドの計算リソースの事前準備および調達を、SLAに従って行う。
ワークロード・レイヤ90は、クラウド・コンピューティング環境で利用できる機能の例を示している。このレイヤから提供され得るワークロードおよび機能の例としては、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想クラスルーム教育の配信93、データ解析処理94、セッション内の無活動期間中のセッション連続性の維持96が挙げられる。
本発明は、任意の可能な統合の技術的詳細レベルで、システム、方法、またはコンピュータ・プログラム製品、あるいはその組み合わせであることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいるコンピュータ可読ストレージ媒体を含むことができる。
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであることができるが、これらに限定されない。コンピュータ可読ストレージ媒体のさらに具体的な例の非網羅的リストは、ポータブル・フロッピー(R)・ディスク、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read-only memory)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル多用途ディスク(DVD:digital versatile disk)、メモリ・スティック、フロッピー(R)・ディスク、パンチカードまたは命令が記録されている溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組み合わせを含む。本明細書において使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が、電波またはその他の自由に伝搬する電磁波、導波管またはその他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの一過性の信号であると解釈されるべきではない。
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、または無線ネットワーク、あるいはその組み合わせ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組み合わせを備えることができる。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいは、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで記述されたソース・コードまたはオブジェクト・コードであることができる。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続することができ、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われ得る。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル論理回路、フィールドプログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をカスタマイズするためのコンピュータ可読プログラム命令を実行することができる。
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであることができる。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作の態様を実施する命令を含んでいる製品を備えるように、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組み合わせに特定の方式で機能するように指示できるものであることもできる。
コンピュータ可読プログラム命令は、コンピュータ上、その他のプログラム可能な装置上、またはその他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実施するように、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスに読み込まれることもでき、それによって、一連の動作可能なステップを、コンピュータ上、その他のプログラム可能な装置上、またはコンピュータ実装プロセスを生成するその他のデバイス上で実行させる。
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を含んでいる、命令のモジュール、セグメント、または部分を表すことができる。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生することができる。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行され得る。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組み合わせは、規定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実装され得るということにも注意する。
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、制限することを意図していない。本明細書において使用されるとき、単数形「a」、「an」、および「the」は、特に明示的に示されない限り、複数形も含むことが意図されている。「備える」または「備えている」あるいはその両方の用語は、本明細書で使用される場合、記載された機能、整数、ステップ、動作、要素、またはコンポーネント、あるいはその組み合わせの存在を示すが、1つまたは複数のその他の機能、整数、ステップ、動作、要素、コンポーネント、またはこれらのグループ、あるいはその組み合わせの存在または追加を除外していないということが、さらに理解されるであろう。
下の特許請求の範囲内のすべての手段またはステップおよび機能要素の対応する構造、材料、動作、および等価なものは、もしあれば、具体的に請求されるとき、その他の請求される要素と組み合わせて機能を実行するための任意の構造、材料、または動作を含むことが意図されている。1つまたは複数の実施形態の説明は、例示および説明の目的で提示されているが、網羅的であることは意図されておらず、開示された形態に限定されない。多くの変更および変形が可能であるということは、当業者にとって明らかであろう。さまざまな態様および実際的な適用を最も適切に説明するため、および他の当業者が、企図されている特定の用途に適しているようなさまざまな変更を伴う多様な実施形態を理解できるようにするために、実施形態が選択されて説明された。

Claims (20)

  1. 1つまたは複数のプロセッサによって、クライアントを介してユーザから、前記1つまたは複数のプロセッサがアクセスできるリポジトリにアップロードするためのビデオを取得することと、
    前記1つまたは複数のプロセッサによって、前記ビデオを時間的ショットにセグメント化することであって、前記時間的ショットが前記ビデオのタイムラインを含む、前記セグメント化することと、
    前記1つまたは複数のプロセッサによって、画像認識アルゴリズムを前記ビデオに適用し、前記ビデオの各時間的ショット内の画像実体を識別することによって、前記ビデオを認知解析することと、
    前記1つまたは複数のプロセッサによって、前記ユーザのユーザ・プロフィールを含んでいるデータ構造を前記時間的ショットに適用し、前記ビデオの各時間的ショット内の個人実体を識別することによって、認知解析することと、
    前記1つまたは複数のプロセッサによって、前記画像実体および前記個人実体を含むユーザ実体を利用して前記ビデオの検索インデックスを生成することであって、前記検索インデックスの各エントリが、複数の前記ユーザ実体から選択される特定のユーザ実体と、複数の前記時間的ショットのうちの特定の時間的ショットへのリンクであって前記ビデオの前記タイムライン内の前記特定のユーザ実体の位置を示すリンクと含む、前記生成することと、
    を含む、コンピュータ実装方法。
  2. 前記ユーザ・プロフィールを適用することが、
    前記1つまたは複数のプロセッサによって、ネットワークを経由した前記クライアントの接続に基づいて、1つまたは複数のアプリケーションに対して前記クライアントを介して前記ユーザによって実行されたコンピューティング活動を監視することと、
    前記1つまたは複数のプロセッサによって、前記1つまたは複数のアプリケーションにおいて前記ユーザによって実行された前記コンピューティング活動を解析し、前記ユーザに関連する要素を含んでいるデータおよび前記要素と前記ユーザの間の関係を識別することと、
    前記1つまたは複数のプロセッサによって、前記解析に基づいて前記データ構造を生成することであって、前記データ構造が前記ユーザ・プロフィールを含んでいる、前記生成することとを含む、請求項1に記載のコンピュータ実装方法。
  3. 前記ユーザ・プロフィールを適用することが、
    前記1つまたは複数のプロセッサによって、複数の前記時間的ショットのうちの時間的ショットごとに、前記ビデオ内の非テキスト要素をテキスト・コンテンツに変換することと、
    前記1つまたは複数のプロセッサによって、各時間的ショットの前記テキスト・コンテンツ内で、前記ユーザに関連する前記要素および前記要素と前記ユーザの間の前記関係を識別することであって、前記要素が前記個人実体を含んでいる、前記識別することとをさらに含む、請求項2に記載のコンピュータ実装方法。
  4. 前記1つまたは複数のプロセッサによって、前記検索インデックスをインデックス作成済みのリポジトリに格納することをさらに含む、請求項1に記載のコンピュータ実装方法。
  5. 前記1つまたは複数のプロセッサによって、前記検索インデックスにおいて複数の前記ユーザ実体のうちの1つまたは複数の関連するユーザ実体を識別する検索パラメータを取得することと、
    前記1つまたは複数のプロセッサによって、前記関連するユーザ実体を識別することと、
    前記1つまたは複数のプロセッサによって、前記関連するユーザ実体について前記ビデオを検索することであって、前記検索が、前記インデックス・リポジトリにアクセスし、前記検索インデックスを利用して、前記ビデオ内の前記関連するユーザ実体の位置を特定することを含む、前記検索することとをさらに含む、請求項4に記載のコンピュータ実装方法。
  6. 前記1つまたは複数のプロセッサによって、前記検索に応答して検索結果を作成することをさらに含み、前記検索結果が、前記関連するユーザ実体と、関連するユーザ実体ごとに前記タイムライン内の前記関連するユーザ実体の位置とを含み、前記位置が開始時間および終了時間を含む、請求項5に記載のコンピュータ実装方法。
  7. 前記検索結果を作成することが、前記検索パラメータとの関連性に基づいて前記検索結果をランク付けすることを含む、請求項6に記載のコンピュータ実装方法。
  8. 前記1つまたは複数のプロセッサによって、検索の成果物を生成することをさらに含み、前記生成することが、
    前記1つまたは複数のプロセッサによって、前記ビデオから前記時間的ショットの部分を取得することであって、前記部分の各時間的ショットが、関連するユーザ実体ごとに、前記タイムライン内の前記関連するユーザ実体の前記位置を含む、前記取得することと、
    前記1つまたは複数のプロセッサによって、前記時間的ショットの前記部分を新しいビデオに組み立てることとを含む、請求項7に記載のコンピュータ実装方法。
  9. 前記1つまたは複数のプロセッサによって、前記クライアントを介して、前記検索の成果物を前記ユーザに提供することをさらに含む、請求項8に記載のコンピュータ実装方法。
  10. 前記組み立てることが、前記検索パラメータとの前記関連性に基づく前記検索結果の前記ランク付けに従って、前記時間的ショットの前記部分を組み立てることを含む、請求項8に記載のコンピュータ実装方法。
  11. 前記新しいビデオが、2つ以上の個別の新しいビデオを含み、前記検索の成果物の前記提供が、前記個別の新しいビデオの各々へのリンクを提供することを含む、請求項10に記載のコンピュータ実装方法。
  12. 前記検索パラメータの形式が、テキスト、音声、画像、およびビデオから成る群から選択される、請求項5に記載のコンピュータ実装方法。
  13. 前記画像認識アルゴリズムを適用することが、前記1つまたは複数のプロセッサがアクセスできる画像メタデータ・リポジトリにアクセスすることを含む、請求項1に記載のコンピュータ実装方法。
  14. 前記非テキスト要素が発話および音声を含み、前記要素を変換することが、発話からテキストへの変換処理アルゴリズムを適用して、前記テキスト・コンテンツを生成することを含む、請求項3に記載のコンピュータ実装方法。
  15. 前記非テキスト要素が、前記ビデオを含んでいる画像に埋め込まれたテキストを含み、前記要素を変換することが、前記埋め込まれたテキストに対して光学式文字認識プロセスを実行し、前記埋め込まれたテキストを前記テキスト・コンテンツに変換することを含み、前記1つまたは複数のアプリケーションが、ソーシャル・メディアWebサイトを含み、前記ユーザに関連する前記要素が、前記ユーザによってソーシャル・メディアWebサイトに投稿された画像および前記画像に関連付けられたタグを含む、請求項3に記載のコンピュータ実装方法。
  16. 前記検索インデックスを生成する前に、前記1つまたは複数のプロセッサによって、前記ビデオの分類を決定することであって、前記クライアントを介して前記ユーザから前記ビデオを取得することが、前記クライアントを介して前記ユーザから前記分類を取得することをさらに含む、前記決定することと、
    前記1つまたは複数のプロセッサによって、前記リポジトリ内で、前記ユーザによってアップロードされた別のビデオを識別することであって、前記別のビデオの前記分類が、前記ビデオの前記分類と同等である、前記識別することと、
    前記1つまたは複数のプロセッサによって、前記別のビデオの検索インデックスから、前記別のビデオの前記検索インデックスを含んでいるユーザ実体を抽出することと、
    前記1つまたは複数のプロセッサによって、前記別のビデオの前記検索インデックスを含んでいる前記ユーザ実体について前記ビデオを検索することと、
    前記1つまたは複数のプロセッサによって、前記ビデオ内で、前記別のビデオの前記検索インデックスを含んでいる前記ユーザ実体の部分の位置を特定することとをさらに含む、請求項1に記載のコンピュータ実装方法。
  17. 前記ユーザ実体が、前記ユーザ実体の前記部分をさらに含む、請求項16に記載のコンピュータ実装方法。
  18. 前記検索インデックスを生成する前に、前記1つまたは複数のプロセッサによって、前記クライアントのユーザ・インターフェイスにおいて、前記個人実体および前記個人実体の各リンクを表示するインターフェイスを生成することであって、前記インターフェイスが、前記ユーザがフィードバックを提供できる入力箇所を含む、前記生成することと、
    前記1つまたは複数のプロセッサによって、前記インターフェイスを介して提供された前記フィードバックを前記ユーザから取得することと、
    前記1つまたは複数のプロセッサによって、前記フィードバックに基づいて前記ユーザ実体を更新することとをさらに含む、請求項1に記載のコンピュータ実装方法。
  19. 請求項1ないし18のいずれかに記載の前記方法のステップのすべてを実行するのに適している手段を備える、システム。
  20. コンピュータ・プログラムであって、前記コンピュータ・プログラムがコンピュータ・システム上で実行されたときに、請求項1ないし18のいずれかに記載の前記方法のステップのすべてを実行するための命令を含んでいる、コンピュータ・プログラム。
JP2021574746A 2019-06-19 2020-05-21 認知ビデオおよび音声検索集約 Pending JP2022537170A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/445,570 2019-06-19
US16/445,570 US11341186B2 (en) 2019-06-19 2019-06-19 Cognitive video and audio search aggregation
PCT/IB2020/054841 WO2020254890A1 (en) 2019-06-19 2020-05-21 Cognitive video and audio search aggregation

Publications (2)

Publication Number Publication Date
JP2022537170A true JP2022537170A (ja) 2022-08-24
JPWO2020254890A5 JPWO2020254890A5 (ja) 2022-10-18

Family

ID=74038045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021574746A Pending JP2022537170A (ja) 2019-06-19 2020-05-21 認知ビデオおよび音声検索集約

Country Status (6)

Country Link
US (1) US11341186B2 (ja)
JP (1) JP2022537170A (ja)
CN (1) CN113811884A (ja)
DE (1) DE112020002228T5 (ja)
GB (1) GB2600281B (ja)
WO (1) WO2020254890A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11386144B2 (en) * 2019-09-09 2022-07-12 Adobe Inc. Identifying digital attributes from multiple attribute groups within target digital images utilizing a deep cognitive attribution neural network
US11032226B1 (en) * 2019-12-04 2021-06-08 Caastle, Inc. Systems and methods for rapid electronic messaging testing and positional impact assessment in a prospect electronic messaging series
US11076192B1 (en) * 2020-01-16 2021-07-27 International Business Machines Corporation Identifying and calibrating internet of things (IOT) devices to enhance content consumption experience
US11275724B2 (en) * 2020-03-27 2022-03-15 International Business Machines Corporation Automated feedback validation
US11682204B2 (en) * 2020-07-27 2023-06-20 International Business Machines Corporation Recognition assistant
US11729476B2 (en) * 2021-02-08 2023-08-15 Sony Group Corporation Reproduction control of scene description
US20220321970A1 (en) * 2021-03-03 2022-10-06 Voodle, Inc. Dynamic Real-Time Audio-Visual Search Result Assembly
US11682415B2 (en) * 2021-03-19 2023-06-20 International Business Machines Corporation Automatic video tagging
US11947586B2 (en) 2021-06-29 2024-04-02 Oracle International Corporation Video processing optimization and content searching
CN113823323B (zh) * 2021-09-30 2023-12-12 深圳万兴软件有限公司 一种基于卷积神经网络的音频处理方法、装置及相关设备
US11899673B2 (en) * 2021-12-20 2024-02-13 Sony Group Corporation User interface for cognitive search in content
WO2023235780A1 (en) * 2022-06-01 2023-12-07 Apple Inc. Video classification and search system to support customizable video highlights

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009181216A (ja) * 2008-01-29 2009-08-13 Toshiba Corp 電子機器および画像処理方法
US20140328570A1 (en) * 2013-01-09 2014-11-06 Sri International Identifying, describing, and sharing salient events in images and videos
US20150134668A1 (en) * 2013-11-14 2015-05-14 Dragan Popovich Index of Video Objects
US10609454B2 (en) * 2015-07-31 2020-03-31 Promptu Systems Corporation Natural language navigation and assisted viewing of indexed audio video streams, notably sports contests
CN105893510A (zh) 2016-03-30 2016-08-24 北京格灵深瞳信息技术有限公司 一种视频结构化系统及其目标搜索方法
US10049663B2 (en) * 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
CN107590150A (zh) 2016-07-07 2018-01-16 北京新岸线网络技术有限公司 基于关键帧的视频分析实现方法及装置
US10083347B2 (en) * 2016-07-29 2018-09-25 NTech lab LLC Face identification using artificial neural network
US10560734B2 (en) * 2016-08-01 2020-02-11 Microsoft Technology Licensing, Llc Video segmentation and searching by segmentation dimensions
WO2018176017A1 (en) 2017-03-24 2018-09-27 Revealit Corporation Method, system, and apparatus for identifying and revealing selected objects from video
US10311308B2 (en) * 2017-03-31 2019-06-04 International Business Machines Corporation Image processing to identify selected individuals in a field of view
US10552471B1 (en) * 2017-04-21 2020-02-04 Stripe, Inc. Determining identities of multiple people in a digital image
US10178294B2 (en) * 2017-05-25 2019-01-08 International Business Machines Corporation Controlling a video capture device based on cognitive personal action and image identification
US10541001B2 (en) * 2017-12-27 2020-01-21 Facebook, Inc. Video highlights
US10979669B2 (en) * 2018-04-10 2021-04-13 Facebook, Inc. Automated cinematic decisions based on descriptive models
US11244162B2 (en) * 2018-10-31 2022-02-08 International Business Machines Corporation Automatic identification of relationships between a center of attention and other individuals/objects present in an image or video

Also Published As

Publication number Publication date
CN113811884A (zh) 2021-12-17
DE112020002228T5 (de) 2022-02-17
US11341186B2 (en) 2022-05-24
WO2020254890A1 (en) 2020-12-24
US20200401621A1 (en) 2020-12-24
GB2600281A (en) 2022-04-27
GB2600281B (en) 2024-01-03

Similar Documents

Publication Publication Date Title
JP2022537170A (ja) 認知ビデオおよび音声検索集約
JP7123122B2 (ja) 認知的洞察を使用したビデオ・シーンの移動
US9704185B2 (en) Product recommendation using sentiment and semantic analysis
US10679047B2 (en) System and method for pose-aware feature learning
US11062086B2 (en) Personalized book-to-movie adaptation recommendation
US20170034107A1 (en) Annotating content with contextually relevant comments
US11263208B2 (en) Context-sensitive cross-lingual searches
US10169342B1 (en) Filtering document search results using contextual metadata
US11126682B1 (en) Hyperlink based multimedia processing
US10579666B2 (en) Computerized cognitive recall assistance
US20180217986A1 (en) Automated extraction tools and their use in social content tagging systems
US11630755B2 (en) Request flow log retrieval
US11620334B2 (en) Commercial video summaries using crowd annotation
US10795549B2 (en) Generating a graphical user interface to navigate video content
US11093743B2 (en) Intelligent personalization of operations of an image capturing device
US11558471B1 (en) Multimedia content differentiation
US11804245B2 (en) Video data size reduction
US11675828B2 (en) Visual representation coherence preservation
CN113919446A (zh) 多媒体资源的模型训练及相似度确定方法和装置
US11010935B2 (en) Context aware dynamic image augmentation
US11526544B2 (en) System for object identification
US11520839B2 (en) User based network document modification
US20230161775A1 (en) Non-textual hashtag creation for non-textual content
US20230222236A1 (en) Composite analysis content privacy
US20200394532A1 (en) Detaching Social Media Content Creation from Publication

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220909

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221021

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231114

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20231214

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240214

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240510