(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024160958
(43)【公開日】2024-11-15
(54)【発明の名称】ビデオ分割に基づいてビデオを検索する方法{METHOD FOR SEARCHING VIDEO BASED ON VIDEO SEGMENTATION}
(51)【国際特許分類】
G06F 16/783 20190101AFI20241108BHJP
H04N 21/83 20110101ALI20241108BHJP
【FI】
G06F16/783
H04N21/83
【審査請求】有
【請求項の数】22
【出願形態】OL
(21)【出願番号】P 2024071213
(22)【出願日】2024-04-25
(31)【優先権主張番号】10-2023-0058130
(32)【優先日】2023-05-04
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】522357781
【氏名又は名称】アクションパワー コーポレイション
(74)【代理人】
【識別番号】110002789
【氏名又は名称】弁理士法人IPX
(72)【発明者】
【氏名】イ・チング
【テーマコード(参考)】
5B175
5C164
【Fターム(参考)】
5B175DA04
5B175FB02
5B175HB03
5C164MB01P
5C164SB01S
5C164SB31S
5C164SD01S
(57)【要約】 (修正有)
【課題】動画の検索性能を大いに向上させ、ユーザーの検索時間をさらに短縮させ、今まで存在しなかったテキスト・動画間の関係を決めることで、より簡単且つ正確に動画検索を行うビデオを用いたデータベースを構築する方法を提供する。
【解決手段】方法は、ビデオを取得する段階、取得したビデオの各々のフレームから、画像の表現(Representation)を抽出する段階、取得したビデオの各々のフレームから、テキストの表現(Representation)を抽出する段階、取得したビデオの複数のフレームにおける画像の表現及びテキストの表現に基づき、取得したビデオの複数のフレームの中から重要フレームを決定する段階及び決定した重要フレームに関連する複数の表現(Representation)に係るデータベースを生成する段階を含む。
【選択図】
図18
【特許請求の範囲】
【請求項1】
コンピューティング装置により実行される、ビデオを用いたデータベースを構築する方法であって、
前記ビデオを取得する段階;
前記取得されたビデオの各々のフレームから、画像の表現(Representation)を抽出する段階;
前記取得されたビデオの各々のフレームから、テキストの表現(Representation)を抽出する段階;
前記取得されたビデオの複数のフレームにおける複数の画像の複数の表現及び複数のテキストの複数の表現に基づき、前記取得されたビデオの複数のフレームの中から重要フレームを決定する段階;及び
前記決定された重要フレームに関連する複数の表現(Representation)に係るデータベースを生成する段階
を含む、
方法。
【請求項2】
請求項1において、
前記画像の表現を抽出するためのモデルと、前記テキストの表現を抽出するためのモデルとのうち少なくとも1つは、画像・テキスト間の対照学習(Contrastive learning)に基づいて学習されたモデルである、
方法。
【請求項3】
請求項1において、
前記方法は、
前記取得されたビデオにおいて決定された複数の重要フレームの間の区間において、音声認識(STT)を行いSTTテキスト情報を生成する段階;及び
前記STTテキスト情報に係る表現(Representation)を抽出する段階
をさらに含む、
方法。
【請求項4】
請求項3において、
前記決定された重要フレームに関連する複数の表現に係るデータベースは、
各々の重要フレームから抽出された画像の表現とテキストの表現;及び
前記複数の重要フレームの間の区間において生成されたSTTテキスト情報から抽出された表現
を含む、
方法。
【請求項5】
請求項4において、
前記決定された重要フレームに関連する複数の表現に係るデータベースを生成する段階は、
前記複数の重要フレームの間の区間において生成されたSTTテキスト情報から抽出された表現を、前記複数の重要フレームのうち、時系列において一番先に位置する重要フレームに係る表現として決定する段階を含む、
方法。
【請求項6】
請求項5において、
前記決定された重要フレームに関連する複数の表現に係るデータベースは、
第1重要フレームに関連する複数の表現;及び
前記第1重要フレーム以降の第2重要フレームに関連する複数の表現
を含み、
前記第1重要フレームに関連する複数の表現は、
前記第1重要フレームから抽出されたテキストの表現;
前記第1重要フレームから抽出された画像の表現;及び
前記第1重要フレームと前記第2重要フレームの間の区間から抽出されたSTTテキスト情報に係る表現
を含む、
方法。
【請求項7】
請求項4において、
前記方法は、
前記決定された重要フレームに関連する複数の表現に係るデータベースを基に、最終検索データベースを生成する段階
をさらに含む、
方法。
【請求項8】
請求項7において、
前記最終検索データベースは、
前記ビデオに係る情報を含むメタデータ;
前記重要フレームに含まれた静的な画像情報を示す画像の表現;
前記重要フレームに含まれた静的なテキスト情報を示すテキストの表現;及び
前記複数の重要フレームの間の区間に係る複数の動的な情報が含まれているSTTテキスト情報に係る表現
を含む、
方法。
【請求項9】
請求項1において、
前記取得されたビデオの各々のフレームからテキストの表現を抽出する段階は、
各々のフレームに係る字幕情報と、各々のフレームの画像に対してテキスト認識を行って取得されたテキスト情報とのうち少なくとも1つに基づき、テキストの表現を抽出する段階を含む、
方法。
【請求項10】
請求項1において、
前記取得されたビデオの各々のフレームは、画像表現及びテキスト表現を含む静的表現ベクター(static Representation vector)として表現され、
前記取得されたビデオの複数のフレームの中から重要フレームを決定する段階は、
時系列において一番直近のタイミングで決定された1つ以上の重要フレームの静的表現ベクターと、候補フレームの静的表現ベクターとの間の類似度の計算に基づき、前記候補フレームを重要フレームとして決定する段階
を含む、
方法。
【請求項11】
コンピューティング装置により実行される、ビデオ検索の方法であって、
ビデオに係る検索情報を取得する段階;
前記検索情報に係る表現(Representation)を抽出する段階;及び
前記検索情報から抽出された表現と、前記ビデオにおいて決定された複数の重要フレームにおける複数の表現との比較に基づき、前記検索情報に関連する重要フレームを決定する段階
を含み、
各々の重要フレームの複数の表現は、各々の重要フレームの画像から抽出された表現、及び各々の重要フレームのテキストから抽出された表現を含む
方法。
【請求項12】
請求項11において、
前記各々の重要フレームの複数の表現は、各々の重要フレームに係るSTTテキスト情報に係る表現をさらに含む、
方法。
【請求項13】
請求項12において、
前記各々の重要フレームに係るSTTテキスト情報の表現は、
前記各々の重要フレームと以降の重要フレームとの間の区間に係るSTTテキスト情報の表現を含む
方法。
【請求項14】
請求項12において、
前記方法は、
前記検索情報に関連する重要フレームに係る情報を提供する段階
をさらに含み、
前記検索情報に関連する重要フレームに係る情報は、
前記関連する重要フレームと、前記関連する重要フレームの次の重要フレームとの間の区間と対応するビデオ情報
を含む、
方法。
【請求項15】
請求項14において、
前記検索情報に関連する重要フレームに係る情報を提供する段階は、
前記STTテキスト情報に基づき、前記検索情報と対応するタイムスタンプ(timestamp)を提供する段階
をさらに含む、
方法。
【請求項16】
コンピューティング装置により実行される、ビデオを要約する方法であって、
前記ビデオを取得する段階;
前記取得されたビデオの各々のフレームから、画像の表現(Representation)を抽出する段階;
前記取得されたビデオの各々のフレームから、テキストの表現(Representation)を抽出する段階;
前記取得されたビデオの複数のフレームにおける複数の画像の複数の表現及び複数のテキストの複数の表現に基づき、前記取得されたビデオの複数のフレームの中から重要フレームを決定する段階;及び
前記決定された重要フレームに関連する複数の表現(Representation)に基づき、前記ビデオの要約情報を生成する段階
を含む、
方法。
【請求項17】
コンピューター可読保存媒体に保存されたコンピュータープログラムであって、前記コンピュータープログラムは、1つ以上のプロセッサーにおいて実行される場合、前記1つ以上のプロセッサーに、ビデオを用いたデータベースを構築するための以下の動作を実行させるが、前記動作は:
前記ビデオを取得する動作;
前記取得されたビデオの各々のフレームから、画像の表現(Representation)を抽出する動作;
前記取得されたビデオの各々のフレームから、テキストの表現(Representation)を抽出する動作;
前記取得されたビデオの複数のフレームにおける複数の画像の複数の表現及び複数のテキストの複数の表現に基づき、前記取得されたビデオの複数のフレームの中から重要フレームを決定する動作;及び
前記決定された重要フレームに関連する複数の表現(Representation)に係るデータベースを生成する動作
を含む、
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項18】
請求項17において、
前記動作は、
前記取得されたビデオにおいて決定された複数の重要フレームの間の区間において、音声認識(STT)を行いSTTテキスト情報を生成する動作;及び
前記STTテキスト情報に係る表現(Representation)を抽出する動作
をさらに含む、
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項19】
請求項18において、
前記決定された重要フレームに関連する複数の表現に係るデータベースは、
各々の重要フレームから抽出された画像の表現とテキストの表現;及び
前記複数の重要フレームの間の区間において生成されたSTTテキスト情報から抽出された表現
を含む、
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項20】
請求項19において、
前記動作は、
前記決定された重要フレームに関連する複数の表現に係るデータベースを基に、最終検索データベースを生成する動作
をさらに含む、
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項21】
請求項17において、
前記取得されたビデオの各々のフレームからテキストの表現を抽出する動作は、
各々のフレームに係る字幕情報と、各々のフレームの画像に対してテキスト認識を行って取得されたテキスト情報とのうち少なくとも1つに基づき、テキストの表現を抽出する動作を含む
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項22】
請求項17において、
前記取得されたビデオの各々のフレームは、画像表現及びテキスト表現を含む静的表現ベクター(static Representation vector)として表現され、
前記取得されたビデオの複数のフレームの中から重要フレームを決定する動作は、
時系列において一番直近のタイミングで決定された1つ以上の重要フレームの静的表現ベクターと、候補フレームの静的表現ベクターとの間の類似度の計算に基づき、前記候補フレームを重要フレームとして決定する動作を含む
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項23】
コンピューティング装置であって、
少なくとも1つのプロセッサー;及び
メモリー
を含み、
前記少なくとも1つのプロセッサーは、
ビデオを取得し;
前記取得されたビデオの各々のフレームから、画像の表現(Representation)を抽出し;
前記取得されたビデオの各々のフレームから、テキストの表現(Representation)を抽出し;
前記取得されたビデオの複数のフレームにおける複数の画像の複数の表現及び複数のテキストの複数の表現に基づき、前記取得されたビデオの複数のフレームの中から重要フレームを決定し;且つ
前記決定された重要フレームに関連する複数の表現(Representation)に係るデータベースを生成するように構成される、
装置。
【請求項24】
請求項23において、
前記少なくとも1つのプロセッサーは、
前記取得されたビデオにおいて決定された複数の重要フレームの間の区間において、音声認識(STT)を行いSTTテキスト情報を生成し;且つ
前記STTテキスト情報に係る表現(Representation)を抽出するように
追加で構成される、
装置。
【請求項25】
請求項24において、
前記決定された重要フレームに関連する複数の表現に係るデータベースは、
各々の重要フレームから抽出された画像の表現とテキストの表現;及び
前記複数の重要フレームの間の区間において生成されたSTTテキスト情報から抽出された表現
を含む、
装置。
【請求項26】
請求項25において、
前記少なくとも1つのプロセッサーは、
前記決定された重要フレームに関連する複数の表現に係るデータベースを基に、最終検索データベースを生成するように追加で構成される、
装置。
【請求項27】
請求項23において、
前記少なくとも1つのプロセッサーは、
各々のフレームに係る字幕情報と、各々のフレームの画像に対してテキスト認識を行って取得されたテキスト情報とのうち少なくとも1つに基づき、テキストの表現を抽出するように構成される、
装置。
【請求項28】
請求項23において、
前記取得されたビデオの各々のフレームは、画像表現及びテキスト表現を含む静的表現ベクター(static Representation vector)として表現され、
前記少なくとも1つのプロセッサーは、
時系列において一番直近のタイミングで決定された1つ以上の重要フレームの静的表現ベクターと、候補フレームの静的表現ベクターとの間の類似度の計算に基づき、前記候補フレームを重要フレームとして決定するように構成される、
装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ビデオを分割(segmentation)する方法に係り、より具体的には、ビデオにおける重要地点を決定し、それに基づいてビデオを分割する技術に関する。
【背景技術】
【0002】
テキストのみによるビデオ(video)検索には限界がある。また、テキストを使って(イメージ、image)を検索する方法を、連続する(serial)画像の集合体であるビデオを検索する方法にそのまま利用するには適さない。なお、画像・テキスト間の表現(representation)ベクターの類似度を比較する従来の方法を用いると、画像とテキストの間の類似度を求めることができるが、動画は画像に時系列に係る情報(Time Sequence)が含まれているため、映像において正確な時間を検索できず、テキストと映像の間の類似度を求めることが困難であるという問題がある。
【0003】
例えば、ポータルサイトにおいてテキストを使って画像を検索すると、動画を検索した結果に対しより正確な結果が得られる。つまり、テキストを使った画像検索は上手く機能するが、それに対し、動画検索は上手く機能しないという限界がある。例えば、従来の画像・テキスト間の検索方法を用いて動画を検索するとしたら、動画は、一般的に60fpsであるため、1時間の映像1本だけでも、60×60×60、つまり、216,000枚の画像における表現ベクターと検索テキストの表現ベクターを比較しなければならない。これは、とても多くのリソースと長い検索時間を要するものである。さらに他の例を挙げると、インターネットで講義を受講する場合、ユーザーは、「ラグランジュ変換」について説明する部分を検索したいときに、特定のサイト(例えば、大学の公開講座のウェブサイト)において「ラグランジュ変換」の検索を行うことが可能である。「ラグランジュ変換」を検索したとき、検索の結果として、複数の講義のコンテンツが現れ、ユーザーはそのうちどれが探していたコンテンツであるかを識別することが難しく、全体の講義を確認したり、細部タイトルを調べなければならず、ユーザーが細部講義言リストを見たとしても、実際の検索結果が含まれているコンテンツがどれなのかは、分からないという問題点が存在する。
つまり、ユーザーが特定の内容について説明する映像を探すために、ポータルサイト(例えば、YouTube(登録商標)、Google)においてテキストを使った検索を行う場合も、所望の映像に関する適切な結果を得ることはとても難しい。
【0004】
大韓民国登録特許第10-1940289号(2019.01.14)は、内容に基づく動画検索システムについて開示している。
【先行技術文献】
【特許文献】
【0005】
大韓民国登録特許第10-1940289号
【発明の概要】
【発明が解決しようとする課題】
【0006】
本開示は、ビデオを用いたデータベースを構築する方法を提供することを目的とする。例えば、本開示は、ビデオの各々のフレームから画像及びテキストの表現(Representation)を抽出し、重要フレームを決定し、決定された重要フレームに関連する複数の表現(Representation)に係るデータベースを生成する方法を提供することを目的とする。
【0007】
しかし、本開示が解決しようとする技術的課題は、前述の技術的課題に限られるわけではなく、以下に説明 する内容から、当業者にとって自明な範囲内において、多様な技術的課題が含まれることが可能である。
【課題を解決するための手段】
【0008】
前述の課題を実現するための本開示の一実施例に基づき、コンピューティング装置により実行される、ビデオを活用してデータベースを構築する方法が開示される。上記方法は、上記ビデオを取得する段階;上記取得されたビデオの各々のフレームから、画像の表現(Representation)を抽出する段階;上記取得されたビデオの各々のフレームから、テキストの表現(Representation)を抽出する段階;上記取得されたビデオの複数のフレームにおける画像の表現及びテキストの表現に基づき、上記取得されたビデオの複数のフレームの中から重要フレームを決定する段階;及び上記決定された重要フレームに関連する複数の表現(Representation)に係るデータベースを生成する段階を含むことが可能である。
【0009】
一実施例において、上記画像の表現を抽出するためのモデルと、上記テキストの表現を抽出するためのモデルとのうち少なくとも1つは、画像・テキスト間の対照学習(Contrastive learning)に基づいて学習されたモデルであることが可能である。
一実施例において、上記方法は、上記取得されたビデオにおいて決定された複数の重要フレームの間の区間において、音声認識(STT)を行いSTTテキスト情報を生成する段階;及び上記STTテキスト情報に係る表現(Representation)を抽出する段階をさらに含むことが可能である。
【0010】
一実施例において、上記決定された重要フレームに関連する複数の表現に係るデータベースは、各々の重要フレームから抽出された画像の表現とテキストの表現;及び上記複数の重要フレームの間の区間において生成されたSTTテキスト情報から抽出された表現を含むことが可能である。
【0011】
一実施例において、上記決定された重要フレームに関連する複数の表現に係るデータベースを生成する段階は、上記複数の重要フレームの間の区間において生成されたSTTテキスト情報から抽出された表現を、上記複数の重要フレームのうち、時系列において一番先に位置する重要フレームに関連する表現として決定する段階を含むことが可能である。
【0012】
一実施例において、上記決定された重要フレームに関連する複数の表現に係るデータベースは、第1重要フレームに関連する複数の表現;及び上記第1重要フレーム以降の第2重要フレームに関連する複数の表現を含み、上記第1重要フレームに関連する複数の表現は、上記第1重要フレームから抽出されたテキストの表現;上記第1重要フレームから抽出された画像の表現;及び上記第1重要フレームと上記第2重要フレームの間の区間から抽出されたSTTテキスト情報に係る表現を含むことが可能である。
【0013】
一実施例において、上記方法は、上記決定された重要フレームに関連する複数の表現に係るデータベースを基に、最終検索データベースを生成する段階をさらに含むことが可能である。
【0014】
一実施例において、上記最終検索データベースは、上記ビデオに係る情報を含むメタデータ;上記重要フレームに含まれた静的な画像情報を示す画像の表現;上記重要フレームに含まれた静的なテキスト情報を示すテキストの表現;及び上記複数の重要フレームの間の区間に係る複数の動的な情報が含まれているSTTテキスト情報に係る表現を含むことが可能である。
【0015】
一実施例において、上記取得されたビデオの各々のフレームからテキストの表現を抽出する段階は、各々のフレームに係る字幕情報と、各々のフレームの画像に対してテキスト認識を行って取得されたテキスト情報とのうち少なくとも1つに基づき、テキストの表現を抽出する段階を含むことが可能である。
【0016】
一実施例において、上記取得されたビデオの各々のフレームは、画像表現及びテキスト表現を含む静的表現ベクター(static Representation vector)として表現され、上記取得されたビデオの複数のフレームの中から重要フレームを決定する段階は、時系列において一番直近のタイミングで決定された1つ以上の重要フレームの静的表現ベクターと、候補フレームの静的表現ベクターとの間の類似度の計算に基づき、上記候補フレームを重要フレームとして決定する段階を含むことが可能である。
前述の課題を実現するための本開示の一実施例に基づき、コンピューティング装置により実行されるビデオ検索方法が開示される。上記方法は、ビデオに係る検索情報を取得する段階;上記検索情報に係る表現(Representation)を抽出する段階;及び上記検索情報から抽出された表現と、上記ビデオにおいて決定された複数の重要フレームにおける複数の表現との比較に基づき、上記検索情報に関連する重要フレームを決定する段階を含み、各々の重要フレームの複数の表現は、各々の重要フレームの画像から抽出された表現、及び各々の重要フレームのテキストから抽出された表現を含むことが可能である。
【0017】
一実施例において、上記各々の重要フレームの複数の表現は、各々の重要フレームに係るSTTテキスト情報に係る表現をさらに含むことが可能である。
【0018】
一実施例において、上記各々の重要フレームに係るSTTテキスト情報の表現は、上記各々の重要フレームと以降の重要フレームとの間の区間に係るSTTテキスト情報の表現を含むことが可能である。
【0019】
一実施例において、上記方法は、上記検索情報に関連する重要フレームに係る情報を提供する段階をさらに含み、上記検索情報に関連する重要フレームに係る情報は、上記関連する重要フレームと、上記関連する重要フレームの次の重要フレームとの間の区間と対応するビデオ情報を含むことが可能である。
【0020】
一実施例において、上記検索情報に関連する重要フレームに係る情報を提供する段階は、上記STTテキスト情報において上記検索情報と対応するタイムスタンプ(timestamp)を提供する段階をさらに含むことが可能である。
【0021】
前述の課題を実現するための本開示の一実施例に基づき、コンピューティング装置により実行されるビデオを要約する方法が開示される。上記方法は、上記ビデオを取得する段階;上記取得されたビデオの各々のフレームから、画像の表現(Representation)を抽出する段階;上記取得されたビデオの各々のフレームから、テキストの表現(Representation)を抽出する段階;上記取得されたビデオの複数のフレームにおける画像の表現及びテキストの表現に基づき、上記取得されたビデオの複数のフレームの中から重要フレームを決定する段階;及び上記決定された重要フレームに関連する複数の表現(Representation)に基づき、上記ビデオの要約情報を生成する段階を含むことが可能である。
前述のような課題を実現するための本開示の一実施例に基づき、コンピューター可読保存媒体に保存されたコンピュータープログラムが開示される。上記コンピュータープログラムは、1つ以上のプロセッサーにおいて実行される場合、上記1つ以上のプロセッサーに、ビデオを用いたデータベースを構築するための以下の動作を実行させるが、上記動作は:上記ビデオを取得する動作;上記取得されたビデオの各々のフレームから、画像の表現(Representation)を抽出する動作;上記取得されたビデオの各々のフレームから、テキストの表現(Representation)を抽出する動作;上記取得されたビデオの複数のフレームにおける画像の表現及びテキストの表現に基づき、上記取得されたビデオの複数のフレームの中から重要フレームを決定する動作;及び上記決定された重要フレームに関連する複数の表現(Representation)に係るデータベースを生成する動作を含むことが可能である。
【0022】
一実施例において、上記動作は、上記取得されたビデオにおいて決定された複数の重要フレームの間の区間において、音声認識(STT)を行いSTTテキスト情報を生成する動作;及び上記STTテキスト情報に係る表現(Representation)を抽出する動作をさらに含むことが可能である。
一実施例において、上記決定された重要フレームに関連する複数の表現に係るデータベースは、各々の重要フレームから抽出された画像の表現とテキストの表現;及び上記複数の重要フレームの間の区間において生成されたSTTテキスト情報から抽出された表現を含むことが可能である。
【0023】
一実施例において、上記動作は、上記決定された重要フレームに関連する複数の表現に係るデータベースを基に、最終検索データベースを生成する動作をさらに含むことが可能である。
【0024】
一実施例において、上記取得されたビデオの各々のフレームからテキストの表現を抽出する動作は、各々のフレームに係る字幕情報と、各々のフレームの画像に対してテキスト認識を行って取得されたテキスト情報とのうち少なくとも1つに基づき、テキストの表現を抽出する動作を含むことが可能である。
【0025】
一実施例において、上記取得されたビデオの各々のフレームは、画像表現及びテキスト表現を含む静的表現ベクター(static Representation vector)として表現され、上記取得されたビデオの複数のフレームの中から重要フレームを決定する動作は、時系列において一番直近のタイミングで決定された1つ以上の重要フレームの静的表現ベクターと、候補フレームの静的表現ベクターとの間の類似度の計算に基づき、上記候補フレームを重要フレームとして決定する動作を含むことが可能である。
前述の課題を解決するための本開示の一実施例に基づくコンピューティング装置が開示される。上記装置は、少なくとも1つのプロセッサー;及びメモリーを含み、上記少なくとも1つのプロセッサーは、ビデオを取得し;上記取得されたビデオの各々のフレームから、画像の表現(Representation)を抽出し;上記取得されたビデオの各々のフレームから、テキストの表現(Representation)を抽出し;上記取得されたビデオの複数のフレームにおける画像の表現及びテキストの表現に基づき、上記取得されたビデオの複数のフレームの中から重要フレームを決定し;且つ上記決定された重要フレームに関連する複数の表現(Representation)に係るデータベースを生成するように構成されることが可能である。
【0026】
一実施例において、上記少なくとも1つのプロセッサーは、上記取得されたビデオにおいて決定された複数の重要フレームの間の区間において、音声認識(STT)を行いSTTテキスト情報を生成し;且つ上記STTテキスト情報に係る表現(Representation)を抽出するように追加で構成されることが可能である。
一実施例において、上記決定された重要フレームに関連する複数の表現に係るデータベースは、各々の重要フレームから抽出された画像の表現とテキストの表現;及び上記複数の重要フレームの間の区間において生成されたSTTテキスト情報から抽出された表現を含むことが可能である。
【0027】
一実施例において、上記少なくとも1つのプロセッサーは、上記決定された重要フレームに関連する複数の表現に係るデータベースを基に、最終検索データベースを生成するように追加で構成されることが可能である。
一実施例において、上記少なくとも1つのプロセッサーは、各々のフレームに係る字幕情報と、各々のフレームの画像に対してテキスト認識を行って取得されたテキスト情報とのうち少なくとも1つに基づき、テキストの表現を抽出するように構成されることが可能である。
【0028】
一実施例において、上記取得されたビデオの各々のフレームは、画像表現及びテキスト表現を含む静的表現ベクター(static Representation vector)として表現され、上記少なくとも1つのプロセッサーは、時系列において一番直近のタイミングで決定された1つ以上の重要フレームの静的表現ベクターと、候補フレームの静的表現ベクターとの間の類似度の計算に基づき、上記候補フレームを重要フレームとして決定するように構成されることが可能である。
【発明の効果】
【0029】
本開示は、動画の検索性能を大いに向上させられる効果がある。また、本開示は、1本の長い映像コンテンツにおいて、検索テキストに係る部分を正確に検索することで、ユーザーの検索時間をさらに短縮することが可能である。また、本開示は、決定された重要フレームに関連する複数の表現(Representation)に係るデータベースを構築することで、今まで存在しなかったテキスト・動画間の関係を決めることが可能であり、それを通じ、より簡単且つ正確に動画検索を行うことが可能である。
【0030】
また、本開示は、重要フレームと対応する区間(例えば、当該重要フレームから次の重要フレームまでの区間)を決定したうえで、当該区間のSTT結果に応じて的確(pinpoint)な結果を提供するため、ビデオ検索を行う過程において、全ての画像を比較することがないため、リソースの節約につながることが可能である。
【0031】
一方、本開示の効果は、前述の効果に限られるわけではなく、以下に説明する内容から、当業者にとって自明な範囲内において、多様な効果が含まれることが可能である。
【図面の簡単な説明】
【0032】
【
図1】本開示の一実施例におけるコンピューティング装置のブロック構成図である。
【
図2】本開示の一実施例における、神経回路網を示す概念図である。
【
図3】本開示の一実施例における、画像・テキスト間の対照学習の方法を説明するための図面である。
【
図4】本開示の一実施例における、画像・テキスト間の対照学習によって学習されたモデルを用いて、画像・テキスト間の類似度を調べる動作を説明するための図面である。
【
図5】本開示の一実施例における、画像・テキスト間の対照学習によって学習されたモデルを用いて、テキスト又は画像と対応する画像を検索する動作を説明するための図面である。
【
図6】本開示の一実施例における、ビデオを用いたデータベースを構築するための複数のモジュールのブロック構成図である。
【
図7】本開示の一実施例における、ビデオからフレーム別に画像、テキスト表現を抽出する動作を、概略的に示す図面である。
【
図8】本開示の一実施例における、時間tのフレームの静的表現ベクターと、重要フレームの静的表現のデータベースに保存されている複数の重要フレームのうち最近の静的表現ベクターとを比較する動作を、概略的に示す図面である。
【
図9】本開示の一実施例における、最初のフレームと2つ目のフレームの静的表現ベクターを保存する動作を、概略的に示す図面である。
【
図10】本開示の一実施例における、時間t-mからt+kまでの複数のフレームの中から重要フレームが決定される動作を、概略的に示す図面である。
【
図11】本開示の一実施例における、重要フレームの時間に係る情報に基づき、STTテキスト情報に係る表現(Representation)を抽出する動作を、概略的に示す図面である。
【
図12】本開示の一実施例における、最終検索データベースの構成要素である、重要フレーム別の最終表現ベクター(Representation Vector)を、概略的に示す図面である。
【
図13】本開示の一実施例における最終検索データベースを概略的に示す図面である。
【
図14】本開示の一実施例における、ビデオを検索するための複数のモジュールのブロック構成図である。
【
図15】本開示の一実施例における、検索テキスト表現(Representation)と最終検索DBとの比較によって、類似度の高い上位の結果を決定する動作を説明するための図面である。
【
図16】本開示の一実施例における、最終検索結果に基づき、関連する映像の複数の重要フレームの中から、類似度の高いいくつかの重要フレームが決定される動作を、説明するための図面である。
【
図17】本開示の一実施例における、ユーザーがターゲットフレームの候補のうち、少なくともいずれか1つを選択する場合、ターゲットフレームに係る区間のSTTテキスト情報のうち、検索テキストがあるタイムスタンプを提供する動作を、説明するための図面である。
【
図18】本開示の一実施例における、ビデオを用いたデータベースを構築する方法のフローチャートである。
【
図19】本開示の一実施例における、ビデオを検索する方法のフローチャートである。
【
図20】本開示の一実施例における、ビデオを要約する方法のフローチャートである。
【
図21】本開示の実施例を具現化できる例示的なコンピューティング環境に係る簡略かつ一般的な概略図である。
【発明を実施するための形態】
【0033】
多様な実施例について以下に図面を参照用いて説明する。本明細書において多様な説明が本開示に対する理解を容易にするために示される。しかし、かかる実施例がかかる具体的な説明がなくても実施されることが可能であることは自明である。
【0034】
本明細書において、「コンポーネント」、「モジュール」、「システム」等の用語は、コンピューター関連エンティティ、ハードウェア、ファームウェア、ソフトウェア、ソフトウェアとハードウェアとの組み合わせ、又はソフトウェアの実行を指す。例えば、コンポーネントは、プロセッサー上で実行される処理手順(procedure)、プロセッサー、オブジェクト、実行スレッド、プログラム、及び/又はコンピューターになり得るが、これらに限定されるものではない。例えば、コンピューティング装置で実行されるアプリケーションとコンピューティング装置は、両方ともコンポーネントになり得る。1つ以上のコンポーネントは、プロセッサー及び/又は実行スレッドの中に常駐することが可能である。1つのコンポーネントは、1つのコンピューターの中でローカル化されることが可能である。1つのコンポーネントは、2つ以上のコンピューターに配分されることが可能である。また、このようなコンポーネントは、その内部に保存されている多様なデータ構造を有する多様なコンピューター可読媒体において実行することが可能である。コンポーネントは、例えば1つ以上のデータパケットを含む信号(例えば、ローカルシステムや分散システムにおいて他のコンポーネントと相互作用する1つのコンポーネントからのデータ及び/又は信号を用いて、他のシステムと、インターネットのようなネットワークを介して伝送されるデータ)を用いてローカル及び/又は遠隔処理等を通じて通信することが可能である。
【0035】
なお、用語「又は」は、排他的な「又は」ではなく、内包的な「又は」を意味する意図で使われる。つまり、特に特定されておらず、文脈上明確ではない場合、「Xは、A又はBを利用する」は、自然な内包的置換のうち1つを意味するものとする。つまり、XがAを利用したり;XがBを利用したり;又はXがA及びBの両方を利用する場合、「XはA又はBを利用する」は、これらのいずれにも当てはまるとすることが可能である。また、本明細書における「及び/又は」という用語は、取り挙げられた複数の関連アイテムのうち、1つ以上のアイテムの可能なすべての組み合わせを指し、含むものと理解されるべきである。
【0036】
また、述語としての「含む(含める)」及び/又は修飾語としての「含む(含める)」という用語は、当該特徴及び/又は構成要素が存在することを意味するものと理解されるべきである。ただし、述語としての「含む(含める)」及び/又は修飾語として「含む(含める)」という用語は、1つ以上の他のさらなる特徴、構成要素及び/又はこれらのグループの存在又は追加を排除しないものと理解されるべきである。また、特に数が特定されていない場合や、単数の形を示すことが文脈上明確でない場合、本明細書と請求範囲において単数は、一般的に「1つ又はそれ以上」を意味するものと解釈されるべきである。
【0037】
そして、「A又はBのうち少なくとも1つ」という用語については、「Aだけを含む場合」、「Bだけを含む場合」、「AとBの組み合わせの場合」を意味するものと解釈されるべきである。
【0038】
当業者は、さらに、ここに開示されている実施例に係るものとして説明された多様な例示的論理的ブロック、構成、モジュール、回路、手段、ロジック及びアルゴリズム段階が、電子ハードウェア、コンピューターソフトウェア、又はその両方の組み合わせによって実現されることが可能であることを認識すべきである。ハードウェアとソフトウェアとの相互交換性を明確に例示するために、多様な例示的コンポーネント、ブロック、構成、手段、ロジック、モジュール、回路及び段階が、それらの機能性の側面で一般的に上述された。そのような機能性がハードウェアとして実装されるか或いはソフトウェアとして実装されるかは、全般的なシステムに係る特定のアプリケーション(application)及び設計制限によって決まる。熟練した技術者は、個々の特定アプリケーションのために多様な方法で説明された機能性を実現することが可能である。ただし、そのような実現に係る決定が本開示内容の領域を逸脱するものと解釈されてはならない。
【0039】
ここに示す実施例に係る説明は、本開示の技術分野において通常の知識を持つ者が本発明を利用したり、又は実施できるように提供される。このような実施例に対する多様な変形は、本開示の技術分野において通常の知識を持つ者には明確に理解できるものである。ここに定義された一般的な原理は、本開示の範囲を逸脱することなく他の実施例に適用されることが可能である。従って、本発明はここに示す実施例だけに限定されるものではない。本発明はここに示す原理及び新規な特徴と一貫する最広義の範囲で解釈されるべきである。
【0040】
本開示において、ネットワーク関数、人工神経回路網及びニューラルネットワーク(neural network)は、相互置換可能に用いることが可能である。
【0041】
図1は、本開示の一実施例におけるコンピューティング装置のブロック構成図である。
【0042】
図1に図示されたコンピューティング装置(100)の構成は、簡略化して示した例示に過ぎない。本開示の一実施例において、コンピューター装置(100)には、コンピューター装置(100)のコンピューティング環境を実装するための他の構成が含まれることが可能であり、開示されている構成のうち一部だけでコンピューター装置(100)を構成することも可能である。
【0043】
コンピューター装置(100)は、プロセッサー(110)、メモリー(130)、ネットワーク部(150)を含むことができる。
【0044】
本開示の一実施例において、プロセッサー(100)は、1つ以上のコアで構成されることが可能であり、コンピューティング中央処理装置(CPU:central processing unit)、汎用グラフィック処理装置(GPGPU:general purpose graphics processing unit)、テンサー処理装置(TPU:tensor processing unit)等のデータ分析、ディープラーニングのためのプロセッサーを含むことができる。プロセッサー(110)は、メモリー(130)に保存されたコンピュータープログラムを読み取り、本開示の一実施例における機械学習のためのデータ処理を実行することができる。本開示の一実施例に基づき、プロセッサー(110)は、ニューラルネットワークの学習のための演算を行うことができる。プロセッサー(110)は、ディープラーニング(DL:deep learning)において、学習のための入力データの処理、入力データからのフィーチャーの抽出、誤差計算、逆伝播(backpropagation)を利用したニューラルネットワークの重みの更新等のニューラルネットワークの学習のための計算を実行することができる。
【0045】
プロセッサー(110)のCPUとGPGPUとTPUとのうち、少なくとも1つが、ネットワーク関数の学習を処理できる。例えば、CPUとGPGPUとがともにネットワーク関数の学習やネットワーク関数を利用したデータの分類を行うことができる。なお、本開示の一実施例において、複数のコンピューティング装置のプロセッサーを一緒に使ってネットワーク関数の学習やネットワーク関数を利用したデータ分類を行うことができる。また、本開示の一実施例における、コンピューティング装置において実行されるコンピュータープログラムは、CPU、GPGPU又はTPUで実行可能なプログラムになり得る。
【0046】
本開示の一実施例において、メモリー(130)は、プロセッサー(110)が生成したり、決定した任意の形態の情報及びネットワーク部(150)が受信した任意の形態の情報を保存することができる。
【0047】
本開示の一実施例において、メモリー(130)は、フラッシュメモリータイプ(flash memory type)、ハードディスクタイプ(hard disk type)、マルチメディアカードマイクロタイプ(multimedia card micro type)、カードタイプのメモリー(例えばSD又はXDメモリー等)、ラム(Random Access Memory、RAM)、SRAM(Static Random Access Memory)、ロム(Read-Only Memory、ROM)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、PROM(Programmable Read-Only Memory)、磁気メモリー、磁気ディスク、光ディスクのうち少なくとも1つのタイプの保存媒体を含むことができる。コンピューティン装置(100)は、インターネット(internet)上で前記メモリー(130)の保存機能を実行するウェブストレージ(web storage)と連携して動作することも可能である。前述のメモリーに係る記述は、例示に過ぎず、本開示はこれらに限定されない。
【0048】
本開示の一実施例におけるネットワーク部(150)は、公衆電話交換網(PSTN:Public Switched Telephone Network)、xDSL(x Digital Subscriber Line)、RADSL(Rate Adaptive DSL)、MDSL(Multi Rate DSL)、VDSL(Very High Speed DSL)、UADSL(Universal Asymmetric DSL)、HDSL(High Bit Rate DSL)及び近距離通信網(LAN)等のような多様な有線通信システムを使用することが可能である。
また、本明細書におけるネットワーク部(150)は、CDMA(Code Division Multi Access)、TDMA(Time Division Multi Access)、FDMA(Frequency Division Multi Access)、OFDMA(Orthogonal Frequency Division Multi Access)、SC-FDMA(Single Carrier-FDMA)及びその他のシステムのような多様な無線通信システムを利用することが可能である。
【0049】
本開示におけるネットワーク部(150)は、有線及び無線等のような通信の様態を問わずに構成されることができ、短距通信網(LAN: Local Area Network), 個人通信網(PAN:Personal Area Network)、広域通信網(WAN:Wide Area Network)等の多様な通信網になり得る。また、前記ネットワークは、公知のワールドワイドウェブ(WWW:World Wide Web)になり得る他、赤外線(IrDA:Infrared Data Association)又は、ブルートゥース(登録商標)(Bluetooth)のように、短距離通信に利用される無線伝送技術を利用することもできる。
本明細書において説明された技術は、前記のネットワークだけでなく、他のネットワークで使われることもできる。
【0050】
図2は、本開示の一実施例において、ネットワーク関数を示す概略図である。
【0051】
本明細書の全体を通して、演算モデル、神経回路網、ネットワーク関数、ニューラルネットワーク(neural network)は、同一の意味で用いることができる。神経回路網は、一般的にノードと呼ばれる相互連結された計算単位の集合で構成されることが多い。このようなノードは、ニューロン(neuron)と称することもできる。神経回路網は、少なくとも1つ以上のノードを含めて構成される。神経回路網を構成するノード(またはニューロン)は1つ以上のリンクによって相互連結されることが可能である。
【0052】
神経回路網において、リンクを介して繋がっている1つ以上のノードは、相対的に入力ノード及び出力ノードの関係を形成することができる。入力ノード及び出力ノードの概念は相対的なものであり、あるノードに対して出力ノードとなる任意のノードは、他のノードとの関係においては入力ノードになり得るが、その逆も成立する。前述のように、入力ノードと出力ノードとの関係はリンクを中心にして成立することができる。1つの入力ノードに1つ以上の出力ノードがリンクを介して繋がることができ、その逆も成立する。
【0053】
1つのリンクを介して繋がっている入力ノード及び出力ノードの関係において、出力ノードのデータは入力ノードに入力されたデータに基づきその値が決められることが可能である。ここで入力ノードと出力ノードとを相互連結するノードは加重値(weight)を持つことができる。加重値は可変的なものになり得るが、神経回路網が所望の機能を行うために、利用者またはアルゴリズムによって変わることが可能である。例えば、1つの出力ノードに1つ以上の入力ノードが各リンクによって相互連結されている場合、出力ノードは前記出力ノードに繋がっている入力ノードに入力された値及び各入力ノードに対応するリンクに設定された加重値に基づき出力ノードの値を決定することができる。
【0054】
前述のように、神経回路網は、1つ以上のノードが1つ以上のリンクを介して相互連結され神経回路網の中で入力ノードと出力ノードの関係を形成する。神経回路網において、ノードとリンクの数及びノードとリンクとの間の相関関係、各リンクに付与された加重値の値によって、神経回路網の特性が決まることが可能である。例えば、同数のノード及びリンクが存在し、リンクの加重値の値がそれぞれ異なる2つの神経回路網が存在する場合、その2つの神経回路網を、相異なるものと認識することができる。
【0055】
神経回路網は、1つ以上のノードの集合で構成することができる。神経回路網を構成するノードの部分集合は、レイヤー(layer)を構成できる。神経回路網を構成する複数のノードのうち一部は、第1入力ノードからの距離に基づき、1つのレイヤー(layer)を構成することができる。例えば、第1入力ノードからの距離がnであるノードの集合は、nレイヤーを構成することができる。第1入力ノードからの距離は、第1入力ノードから当該ノードに到達するために経由しなければならないリンクの最小限の数を基に定義することができる。しかし、このようなレイヤーの定義は、説明のために任意に取り挙げたものであり、神経回路網の中におけるレイヤーの構成は、前述の説明と異なる方法で定義されることができる。例えば、ノードのレイヤーは、最終出力ノードからの距離を基に定義することもできる。
【0056】
第1入力ノードは、神経回路網の中のノードのうち、他のノードとの関係においてリンクを経由せずにデータが直接入力される1つ以上のノードを意味することができる。または、神経回路網のネットワークの中で、リンクを基準にしたノード間の関係において、リンクを介して繋がっている他の入力ノードを持たないノードを意味することができる。これと同様に、最終出力ノードは、神経回路網の中のノードのうち、他のノードとの関係において、出力ノードを持たない1つ以上のノードを意味することができる。また、ヒドンノードは、第1入力ノード及び最終出力ノードではないノードで、神経回路網を構成するノードを意味することができる。
【0057】
本開示の一実施例による神経回路網は、入力レイヤーのノードの数が、出力レイヤーのノードと同数で、入力レイヤーからヒドンレイヤーへと進むにつれ、ノードの数が一度減ってから、再び増加する形の神経回路網になり得る。本開示の一実施例による神経回路網は、入力レイヤーのノードの数が、出力レイヤーのノードの数より少なく、入力レイヤーからヒドンレイヤーへと進むにつれ、ノードの数が減少していく形の神経回路網になり得る。また、本開示の他の一実施例による神経回路網は、入力レイヤーのノードの数が、出力レイヤーのノードの数より多く、入力レイヤーからヒドンレイヤーへと進むにつれ、ノードの数が増加していく形の神経回路網になり得る。本開示の他の一実施例における神経回路網は、上述の神経回路網を組み合わせた形の神経回路網になり得る。
【0058】
ディープニューラルネットワーク(DNN:deep neural network、深層神経回路網)は、入力レイヤーと出力レイヤー以外に複数のヒドンレイヤーを含む神経回路網を意味することができる。ディープニューラルネットワークを利用するとデータの潜在的な構造(latent structures)を把握することができる。つまり、写真、文章、ビデオ、音声、音楽の潜在的な構造(例えば、ある物が写真に映っているか、文章の内容と感情はどのようなものなのか、音声の内容と感情はどのようなものなのか等)を把握することができる。ディープニューラルネットワークは、畳み込みニューラルネットワーク(CNN:convolutional neural network)、リカレントニューラルネットワーク(RNN;:recurrent neural network)、オートエンコーダー(auto encoder)、GAN(Generative Adversarial Networks)、制限ボルツマンマシン(RBM:restricted boltzmann machine)、深層信頼ネットワーク(DBN:deep belief network)、Qネットワーク、Uネットワーク、シャムネットワーク、敵対的生成ネットワーク(GAN:Generative Adversarial Network)等を含むことができる。前述のディープニューラルネットワークは、例示に過ぎず本開示はこれらに限定されない。
【0059】
本開示の一実施例において、ネットワーク関数は、オートエンコーダー(autoencoder)を含むこともできる。オートエンコーダーは、入力データに類似した出力データを出力するための人工神経回路網の一種になり得る。オートエンコーダーは、少なくとも1つのヒドンレイヤーを含むことができ、奇数個のヒドンレイヤーが入出力レイヤーの間に配置されることができる。各レイヤーのノード数は、入力レイヤーのノード数から、ボトルネックレイヤー(エンコード)という中間レイヤーに向かって減っていき、ボトルネックレイヤーから出力レイヤー(入力レイヤーと対称を成す)に向かって、縮小と対称する形で、拡張することもできる。オートエンコーダーは、非線形次元減少を行うことができる。入力レイヤー及び出力レイヤーの数は、入力データの前処理後に次元に対応することができる。オートエンコーダー構造において、エンコーダーに含まれたヒドンレイヤーのノードの数は、入力データから遠くなるほど減っていく構造を持つことができる。ボトルネックレイヤー(エンコーダーとデコーダーの間に位置する、ノードの数が最も少ないレイヤー)のノードの数が少なすぎる場合、十分な量の情報が伝わらない可能性があるため、特定の数以上(例えば、入力レイヤーの半分以上等)に維持されることもあり得る。
【0060】
ニューラルネットワークは、教師あり学習(supervised learning)、教師なし学習(unsupervised learning)、半教師あり学習(semi supervised learning)、または、強化学習(reinforcement learning)のうち、少なくともいずれか1つの方式で学習されることができる。ニューラルネットワークの学習は、ニューラルネットワークが特定の動作を行うための知識をニューラルネットワークに提供する過程になり得る。
【0061】
ニューラルネットワークは、出力のエラーを最小化する方向で学習されることが可能である。ニューラルネットワークの学習において、繰り返し学習データをニューラルネットワークに入力させ、学習データに関するニューラルネットワークの出力とターゲットのエラーを計算し、エラーを減らすための方向としてニューラルネットワークのエラーをニューラルネットワークの出力レイヤーから入力レイヤーの方向へ逆伝播(back propagation)してニューラルネットワークの各ノードの加重値を更新するプロセスが行われる。教師あり学習の場合、個々の学習データに正解がラベリングされている学習データを使い(つまり、ラベリングされた学習データ)、教師なし学習の場合は、個々の学習データに正解がラベリングされていない場合がある。つまり、例えばデータ分類に関する教師あり学習における学習データは、学習データの各々にカテゴリがラベリングされたデータになり得る。ラベリングされた学習データがニューラルネットワークに入力され、ニューラルネットワークの出力(カテゴリ)と学習データのラベルを比較することでエラー(error)を計算することが可能である。他の例として、データ分類に関する教師なし学習の場合、入力である学習データをニューラルネットワークの出力と比較することでエラーを計算することが可能である。計算されたエラーは、ニューラルネットワークにおいて逆方向(つまり、出力レイヤーから入力レイヤー方向)へ逆伝播され、逆伝播を通じてニューラルネットワークの各レイヤーの各ノードの連結加重値を更新することが可能である。更新される各ノードの連結加重値は、学習率(learing rate)によって変化量が決まることが可能である。入力データに対するニューラルネットワークの計算とエラーの逆伝播は、学習のサイクル(epoch)を構成することができる。学習率は、ニューラルネットワークの学習のサイクルの反復回数によって適用方式が変わることが可能である。例えば、ニューラルネットワークの学習初期においては、学習率を高くしてニューラルネットワークが早く一定のレベルの性能を確保するようにすることで効率を高め、学習の後半においては学習率を低くして精度を上げることが可能である。
【0062】
ニューラルネットワークの学習において、一般的に学習データは実際のデータ(つまり、学習されたニューラルネットワークを利用して処理しようとするデータ)の部分集合であることが可能であり、そのため学習データに係るエラーは減少するが、実際のデータに係るエラーは増加する学習サイクルが存在し得る。過剰適合(over fitting)は、このように学習データについて過度に学習したため、実際のデータにおいてエラーが増加する現象である。例えば、黄色い猫を見て猫を学習したニューラルネットワークが、黄色以外の色の猫を見ると猫であることを認識できない現象が過剰適合の一種になり得る。過剰適合は、マシンラーニングアルゴリズムのエラーを増加させる原因になり得る。このような過剰適合を防ぐために、多様な最適化方法を適用できる。過剰適合を防ぐためには、学習データを増加させる方法、正則化(regulaization)、学習の過程でネットワークのノードの一部を非活性化するドロップアウト(drop out)、バッチ正規化レイヤー(batch normalization layer)の活用等の方法を適用できる。
【0063】
図3は、本開示の一実施例における、画像・テキスト間の対照学習(Image-Text Contrastive Learning)方法を説明するための図面であり、
図4は、本開示の一実施例における、画像・テキスト間の対照学習(Image-Text Contrastive Learning)によって学習されたモデルを用いて、画像・テキスト間の類似度を調べる動作を説明するための図面であり、
図5は、本開示の一実施例における、画像・テキスト間の対照学習(Image-Text Contrastive Learning)によって学習されたモデルを用いて、テキスト又は画像と対応する画像を検索する動作を説明するための図面である。
【0064】
本開示の一実施例によると、以下において説明される、ビデオ分割(Video Segmentation又はVideo Timestamping)は、ビデオを重要場面ごとに分割する技術である。それに基づき、ビデオを検索する技術もあるが、現在はテキストのみを用いてビデオを検索することが可能である。一例として、以下において説明される表現(例えば、画像・テキスト間の対照学習を行うときに用いられる表現ベクター(representation vector))を用いて、画像を使ってテキストを検索する方法又は入力画像に似た画像を探す方法等に基づき、ビデオ検索を行うことも可能である。画像・テキスト間の対照学習によって学習されたモデルとしては、一番代表的なものとしてCLIP(Contrastive Language-Image Pretraining)がある。
【0065】
本開示の一実施例によると、画像・テキスト間の対照学習は、表現(Representation)を用いた学習であることが可能である。画像・テキスト間の対照学習は、1)表現マップの生成に基づきモデルを学習させる段階、2)表現マップを用いて画像と対応するテキストを検索する段階、3)表現マップを用いてテキスト又は画像と対応する画像を検索する段階を含むことが可能である。なお、表現マップとは、フィルター、エンコーダー又はモデルを用いて、RAWデータから、特定の次元のベクター、行列又はテンソル(Tensor)に変換された結果を意味する。
【0066】
まず、1)表現マップの生成に基づきモデルを学習させる段階は、
図3を用いて説明する。
図3の(a)は、テキストを、エンコーダーを用いてテンソル(表現マップ)に変換する過程である。
図3の(a)において、T
1は、最初のRAWテキストデータ(「Pepper the aussie pup」)が変換された結果であり、ベクター、行列、テンソル等として表現されることが可能である。
図3の(a)のように、T
1~T
NのN個のデータの表現をN次元表現マップと言う。また、対照学習(Constrative Learning)は、テキストの表現マップと画像の表現マップとの間の類似度に基づき、モデルを学習させる方法である。例えば、
図3の(b)において、N個のテキストとN個の画像とのうち、関連度が最も高い組み合わせ(pair)同士で同一の参照番号が付されるように配置(T
1-I
1、T
2-I
2、... T
N-I
N)することが可能であり、参照番号が近いテキスト又は画像同士(代表的に、T
1とI
1、T
2とI
2、... T
NとI
N)は類似度が高い、とモデルが学習されることが可能である。一例として、T
1は、「Pepper the aussie pup」というテキスト、I
1は、「Pepper the aussie pup」と対応する画像であり、「The photo of the Pepper the aussie pup」というテキストは、T
1と類似しているため参照番号2が付され、T
2と対応するテキストである場合、T
1-I
1 間の類似度はとても高く、T
2-I
1間の類似度も非常に高い、と学習されることが可能である。類似度を計算する方法として、コサイン類似度(cosine similarity)が用いられることが可能である。コサイン類似度の結果に基づき、最も関連性の高い画像とテキストの表現の間の類似度が高くなるように、関連性の少ない画像とテキストの表現の間の類似度が低くなるようにモデルを学習させることが可能である。なお、コサイン類似度の公式は、数1のように表現されることが可能である。
【0067】
【0068】
次に、2)表現マップを用いて、画像と対応するテキストを検索する段階は、
図4を用いて説明する。
図4は、画像・テキスト間の対照学習によって学習されたモデルを用いて、画像・テキスト間の類似度を調べる方法を説明するための図面である。表現マップを用いて画像と対応するテキストを検索する段階は、テキスト例(plane、car、dog、...、bird)を表現ベクターに変換し、入力された画像を表現ベクターに変換し、変換された2つの表現ベクターを相互比較することで、最も画像に近い(=関連性の高い)テキストを探す方式で行われることが可能である。
【0069】
続いて、3)表現マップを用いて、テキスト又は画像と対応する画像を検索する段階は、
図5を用いて説明する。
図5の(a)は、保有している(予め保存された)画像で、
図3を用いて前述した通り、対照学習によって学習された表現DBを構築する方法であり、
図5の(b)は、入力された画像と表現DBの間の類似度を比較する方法であり、
図5の(c)は、類似度が最も高い画像を提供する方法である。なお、表現マップを用いてテキスト又は画像と対応する画像を検索する段階においては、持っている複数の画像を表現(representation)に変換して保存(例えば、
図3を参照して前述した画像・テキスト間の対照学習モデルを用いて表現ベクターに変換して保存)しており、画像が入力されると、入力された画像を変換(例えば、
図3を用いて前述した画像・テキスト間の対照学習モデルを用いて表現ベクターに変換)し、2つの表現ベクターを相互比較し、入力画像に近い画像を見つけることが可能である。
【0070】
説明を容易にするために、
図5の(a)、(b)、(c)においては、入力されるデータのタイプが画像である場合についてのみ説明しているが、テキストが入力される場合においてもその動作は類似している。一例として、以下において、入力テキスト「puppy」が入力された場合における、最も類似度が高い画像を検索する過程を簡単に説明する。(a)段階において、既に保有している複数の画像を表現ベクターに変換し、表現DBを構築することが可能である。(b)段階において、(a)段階において複数の画像を表現ベクターに変換するときに用いたモデル(例えば、CLIPのように画像・テキスト間の対照学習によって学習されたモデル)と同一のモデルを用いて、入力テキスト「puppy」を表現ベクターに変換することが可能である。(c)段階において、「puppy」を変換した表現ベクターを(a)の表現DBと比べて、類似度が最も高い画像を、最終結果として出力することが可能である。
【0071】
画像・テキスト間の対照学習によって学習されたモデルであるCLIP(Contrastive Language-Image Pretrained model)は、画像・テキスト間の情報を全て持っているが、かかるモデルによる表現抽出方法ではない、一般的な表現(representation)(又は、特徴(feature))抽出方法は、テキストで画像検索を行うとき、性能が落ちるという問題点が存在する。一例として、一般的なモデルによる画像表現(representation)の抽出過程においては、関連テキスト(text)に係る情報が全くなく、テキスト表現(text representation)の抽出過程においては、関連画像(image)に係る情報が全くない。従って、一般的なテキストによる画像検索方法は、画像を説明するテキスト(例えば、画像情報の中のテキスト、画像の中のモノや人間に係るテキスト情報等)と検索テキストの間の類似度のみで検索を行うため、検索性能が非常に落ちるという問題点が発生する。つまり、画像・テキスト間の対照学習によって学習されたモデルではないモデルによると、テキストで画像検索を行うときに性能が低下し、当然ながら動画検索性能もまた非常に落ちる。
【0072】
また、他の問題として、画像・テキスト間の対照学習によって学習されたCLIPのようなモデルが用いられる場合も、時系列的な流れを含む連続する画像である「動画」を検索する場合は、性能が低下する。本開示は、かかる問題点を解決するために、画像・テキスト間の対照学習により予め学習されたモデル(例えば、CLIP)に基づき、テキスト又は画像表現(text or image representation)を抽出し、抽出された表現に基づき、動画検索を行うことが可能である。以下に、
図7乃至
図10を用いて、より詳しく説明する。
【0073】
本開示の一実施例によると、音声認識(STT or ASR;Speech To Text,or Automatic Speech Recognition)は、音声をテキストに変換する文字起こし技術である。言い換えると、音声認識(STT)は、音声と対応する(文法的且つ表記法的に正しい)テキストを生成する技術である。かかる音声認識(STT)の入力(Input)は、音声信号、音声信号を変換したスペクトログラム(spectrogram)又は音声特徴(feature)のうち、少なくともいずれか1つを含むことが可能である。また、音声認識(STT)の出力(Output)は、文字列形式のテキストである。一方、音声認識(STT)モデルは、神経回路網モデルを含む多様な形態のモデルとして具現化されることが可能である。また、音声認識(STT)モデルは、具現化の方式によって、モジュール化された方式とモジュール化されていない方式のend-to-end(e2e)方式に分けられる。ここで、モジュール化された方式は、音響モデル(音声信号がどのような形態に表現されるかを示すモデル)、言語モデル(与えられた文章や単語に基づき、単語に発生確率を付与するモデル)、発音辞書等に分けて、音声認識を行うという伝統的な方式のモデル(例えば、Kaldi toolkit基盤のASRのうち一部のモデル、Hybrid-ASRモデル等)等を含むことが可能であるが、これらに限定されない。一方、モジュール化されていない方式は、e2eモデル(例えば、transformer-based encoder decoderモデル等)を意味し、下位モジュールを設けずに多くのデータを学習させ、モデルを生成することが可能である。一方、デコーディング(Decoding)手法は、ビームサーチ(Beam Search)手法が代表的なものであり、ビームサーチ手法は、状況に応じて最も正解に近い単語を1つだけ予測するのではなく、あらゆる可能性を踏まえることができ、文章全体を考慮し最適解を見つけ出す方法である。
【0074】
本開示は、ビデオを分割(segmentation)する方法に関するものである。具体的に、本開示は、テキスト表現(Text Representation)、画像表現(Image Representation)、STTテキスト表現(STT Text Representation)を用いてビデオにおける重要地点を決定し、それに基づいてビデオを分割する方法に関するものである。
【0075】
また、本開示は、フレーム別の静的な画像情報と静的なテキスト情報を用いて重要フレームを決定し、重要フレームの間の区間に対してはSTTを行ってSTTテキスト情報を抽出することが可能である。かかる過程を通じ、本開示は、重要フレーム別に、静的な画像表現(representation)情報、静的なテキスト表現(representation)情報、次の重要フレームまでの区間に係るSTT textの表現(representation)情報を決定し、ここにビデオのタイトル等のメタ情報を合わせ、複数のビデオに係る表現(representation)データベース(DB)を構築することが可能である。これにより、動画検索を行うとき、入力テキストからの表現(representation)ベクター抽出を行い、抽出された表現ベクターについて、表現(representation)データベース(DB)との類似度を比較する方法で検索を行えば、映像における詳細内容まで考慮した、より正確な動画検索が行われることが可能である。
【0076】
すなわち、本開示は、フレーム別の画像及びテキストの表現ベクター(representation vector)の変化を計算することで重要フレームを決定し、重要フレームにより分けられている複数の区間に対してSTT結果テキストから抽出した表現(representation)と、映像のメタデータを合わせて、複数の映像に係る表現データベース(representation DB)を構築することが特徴である。
【0077】
図6は、本開示の一実施例における、ビデオを用いたデータベースを構築するための複数のモジュールのブロック構成図である。
【0078】
図6を参照すると、本開示の一実施例によると、コンピューティング装置(100)は、関連映像決定モジュール(10)、入力モジュール(20)、重要フレーム決定モジュール(30)及び検索DB生成モジュール(40)を含むことが可能である。一方、このようなコンピューティング装置(100)に含まれることのできる複数のモジュールは、プロセッサー(110)により制御されたり、又はプロセッサー(110)の動作により実行されることが可能である。また、ビデオを用いたデータベースを構築するためにコンピューティング装置(100)に含まれることの可能なモジュールは、以上で説明した複数のモジュールに限定されるわけではなく、さらに他のモジュールが含まれることが可能である。以下において、ビデオを用いたデータベースを構築するための例示としての複数のモジュールについて、より具体的に説明する。
【0079】
なお、以下において言及される「表現(Representation)」とは、エンコーダー等、表現(representation)から特徴を抽出できるモジュールによって抽出された「表現ベクター(representation vector)」を意味するものとする。つまり、静的表現データベース(Static Representation DB)又は最終検索データベースに、一連のベクターが保存されているのである。
【0080】
本開示の一実施例によると、関連映像決定モジュール(10)は、検索テキストに係る複数の映像を決定することが可能である。検索テキストに係る関連映像においては、既存の動画検索方法に類似した方法が用いられることが可能である。例えば、キーワードやメタデータ中心のテキストに基づく検索によってユーザーが検索したテキストに係る複数の映像(以下、「(複数の)関連映像」)が決定されることが可能である。関連映像決定モジュール(10)は、関連映像を決定する過程を直接行うことも可能であるが、これに限らず、ユーチューブ(Youtube)又はグーグル(Google)のようなサードパーティー(Third Party)を介して関連映像を決定することも可能である。また、実施例によっては、関連映像は予め決定され、以下の入力モジュール(20)に入力されることも可能である。例えば、B2Bに用いられる場合、顧客が自身が保有している全ての講義映像を関連映像として決定し、顧客の端末を介して関連映像決定モジュール(10)に伝達し、これを以下の入力モジュール(20)に入力することで、複数の関連映像の表現データベース(Representation DB)が構築されることも可能である。
【0081】
本開示の一実施例によると、入力モジュール(20)は、上記関連映像決定モジュール(10)において決定された複数の関連映像の入力を受けることが可能である。一例として、複数の関連映像は、複数のフレームに分割され、入力モジュール(20)は、映像ごとにSTTを行うオーディオ(例えば、音声信号又はスペクトログラム等)を抽出することが可能である。また、入力モジュール(20)は、各々の映像別に、関連する各種メタデータを抽出することが可能である。一例として、メタデータには、時間情報、ビデオURL、ビデオの長さ、ビデオのタイトル、ビデオの拡張子、要約情報、ビデオの提供者(例えば、YouTube(登録商標)の映像である場合、映像をアップロードしたアカウントと関連する情報)等が含まれることが可能である。
【0082】
本開示の一実施例によると、重要フレーム決定モジュール(30)は、i)上記取得されたビデオの各々のフレームから、画像の表現(Representation)を抽出することが可能である。また、重要フレーム決定モジュール(30)は、ii)上記取得されたビデオの各々のフレームから、テキストの表現(Representation)を抽出することが可能である。また、重要フレーム決定モジュール(30)は、iii)上記取得されたビデオの複数のフレームにおける複数の画像の複数の表現及び複数のテキストの複数の表現に基づき、上記取得されたビデオの複数のフレームの中から重要フレームを決定することが可能である。
【0083】
なお、画像の表現を抽出するためのモデルと、上記テキストの表現を抽出するためのモデルとのうち少なくとも1つは、画像・テキスト間の対照学習に基づいて学習されたモデルであることが可能である。画像・テキスト間の対照学習に基づいて学習されたモデルは、画像・テキスト間の類似度について、予め大規模のデータを使い対照学習によって学習されたモデルである。つまり、画像表現(image representation)を抽出するモデルが、当該画像と関連するテキストに係る情報を、すでに学習している状態である。同様に、テキスト表現(text representation)を抽出するモデルが、当該テキストと関連する画像に係る情報を、すでに学習している状況である。一例として、画像表現(Image representation)を抽出するときにのみCLIP(Contrastive Language-Image Pretraining)が用いられるのではなく、テキスト表現(text representation)を抽出するときにも関連映像の複数のフレームに係るOCR済みCLIP(Contrastive Language-Image Pretraining)が用いられることが可能である。従って、テキスト検索を行うときに、関連する画像又は関連するテキストの検索がより適切に行われることが可能である。また、画像表現(image representation)は、画像・テキスト間の対照学習(Contrastive learning)に基づいて学習されたモデルが、画像(image)を入力として受け取って出力したベクター(vector)であり、テキスト表現(text representation)は、画像・テキスト間の対照学習(Contrastive learning)に基づいて学習されたモデルがテキスト(text)を入力として受け取って出力したベクター(vector)である。
【0084】
一実施例において、重要フレーム決定モジュール(30)は、画像の表現を抽出するための画像表現抽出モジュール(31)を含むことが可能である。画像表現抽出モジュール(31)は、上記取得されたビデオの各々のフレームから、画像の表現(Representation)を抽出することが可能である。例えば、画像表現抽出モジュール(31)は、フィルター又はエンコーダー、ネットワークモデル等であることが可能であり、特定の次元のベクター、行列又はテンソル(tensor)等を抽出することが可能である。一例として、画像表現抽出モジュール(31)は、ViT(Vision Transformers)、ResNet、CLIP(Contrastive Language-Image Pretraining)等を含むことが可能である。なお、画像表現(Image Representation)には、当該フレームと対応する画像(Image)の色相情報、図形情報、オブジェクト(Object)情報等、画像に係る各種パターン(pattern)に係る情報が含まれることが可能である。
【0085】
さらに、一実施例において、重要フレーム決定モジュール(30)は、テキストの表現を抽出するためのテキスト表現抽出モジュール(32)を含むことが可能である。テキスト表現抽出モジュール(32)は、上記取得されたビデオの各々のフレームから、テキストの表現(Representation)を抽出することが可能である。例えば、テキスト表現抽出モジュール(32)は、フィルターやエンコーダー、ネットワークモデル等であることが可能であり、特定の次元のベクター、行列又はテンソル(tensor)等を抽出することが可能である。また、テキスト表現抽出モジュール(32)は、CLIP、OCRモデルとNLPモデル又はTransformerエンコーダー等を含むことが可能である。なお、テキスト表現(Text Representation)には、当該フレームと対応するテキスト(Text)の意味に係る情報等、テキストに係る各種パターンに係る情報が含まれることが可能である。また、テキスト表現抽出モジュール(32)は、各々のフレームに係る字幕情報と、各々のフレームの画像に対してテキスト認識(OCR)を行って取得されたテキスト情報とのうち、少なくとも1つに基づき、テキストの表現を抽出することも可能である。
【0086】
図7は、本開示の一実施例における、ビデオからフレーム別に画像、テキスト表現を抽出する動作を、概略的に示す図面である。
例示として、
図7を参照すると、画像表現抽出モジュール(31)は、ビデオの各々のフレーム(例えば、Frame1、Frame2、...、FrameN)から画像の表現を抽出することが可能である。また、テキスト表現抽出モジュール(32)は、ビデオの各々のフレーム(例えば、Frame1、Frame2、...、FrameN)から、テキストの表現を抽出することが可能である。ビデオ(動画)は、フレーム画像が連続するデータであるため、各々のフレーム画像ごとに、画像表現(Image Representation)及びテキスト表現(Text Representation)で構成される「静的表現ベクター(static Representation vector)」が生成されることが可能である。「静的表現ベクター(static Representation vector)」は、各々のフレームそのものにおいて取得される複数の静的な(static)情報(例えば、画像表現及びテキスト表現)で構成されることが可能である。一例として、動画が60fps(frame per sec)であり、長さ1時間の映像である場合は、60×60×60 フレーム(frame)と対応する静的表現ベクター(static Representation vector)が生成されることが可能である。
【0087】
一実施例において、重要フレーム決定モジュール(30)は、iii)上記取得されたビデオの複数のフレームにおける複数の画像の複数の表現及び複数のテキストの複数の表現に基づき、上記取得されたビデオの複数のフレームの中から、重要フレームを決定することが可能である。ここで、上記取得されたビデオの各々のフレームは、画像表現及びテキスト表現を含む静的表現ベクター(static Representation vector)として表現されることが可能である。
【0088】
また、重要フレーム決定モジュール(30)は、時系列において一番直近のタイミングで決定された1つ以上の重要フレームの静的表現ベクターと、候補フレームの静的表現ベクターの間の類似度の計算に基づき、上記候補フレームを重要フレームとして決定することが可能である。例えば、重要フレーム決定モジュール(30)は、時系列において一番直近のタイミングで決定された1つ以上の重要フレームの静的表現ベクターと、候補フレームの静的表現ベクターとの比較によって大きく変わる場合、重要フレームとして決定し、保存することで、重要フレームに関連する複数の表現(Rgepresentation)に係るデータベース(static Representation DB)を生成することが可能である。一例として、重要フレーム決定モジュール(30)は、類似度点数(similarity score)を計算することで、大きく変わるか否かを決定することが可能であり、類似度点数(similarity score)を計算する方法としては、コサイン(cosine)類似度(数1を参照)が用いられることが可能であるが、これに限定されない。
【0089】
図8は、本開示の一実施例における時間tのフレームの静的表現ベクターと、重要フレーム静的表現データベース(static Representation DB)に保存されている複数の重要フレームのうち直近の静的表現ベクターとを比較する動作を、概略的に示す図面であり、
図9は、本開示の一実施例における、最初のフレーム及び2つ目のフレームの静的表現ベクターの保存動作を、概略的に示す図面であり、
図10は、本開示の一実施例における、時間t-mからt+kまでの複数のフレームの中から、重要フレームが決定される動作を、概略的に示す図面である。
【0090】
例示として、
図8を参照すると、重要フレーム決定モジュール(30)は、時間tのフレームの静的表現ベクター(static Representation vector)と、重要フレームに関連する複数の表現(Representation)に係るデータベース(static Representation DB)に保存されている重要フレームとのうち、直近(例えば、3つのフレーム)の静的表現ベクター(static Representation vector)との比較を行うことが可能である。
【0091】
より具体的には、
図9を参照すると、重要フレーム決定モジュール(30)は、最初のフレームの静的表現ベクター(static Representation vector)は、比較なしに、「重要フレームに関連する複数の表現(Representation)に係るデータベース(static Representation DB)」に保存することが可能である。また、重要フレーム決定モジュール(30)は、2つ目のフレームの静的表現ベクター(static Representation vector)から、「重要フレームに関連する複数の表現(Representation)に係るデータベース(static Representation DB)」において直近に保存された複数の静的表現ベクターと比較してから、保存することが可能である。
【0092】
また、
図10を用いて、第1時間(時間t-m)、第2時間(時間t)、第3時間(時間t+k)の表現(Representation)に基づき、重要フレームを決定する過程について説明する。例えば、重要フレーム決定モジュール(30)は、第1時間(時間t-m)のフレームの静的表現ベクター(static Representation vector)と、重要フレームに関連する複数の表現(Representation)に係るデータベース(static Representation DB)に保存されていた、予め設定された数(例えば、3つのフレーム)の重要な静的表現ベクター(static Representation vector)との間の類似度を計算することが可能である。重要フレーム決定モジュール(30)は、第1時間(時間t-m)のフレームの静的表現ベクター(static Representation vector)と、重要フレームに関連する複数の表現(Representation)に係るデータベース(static Representation DB)に保存されていた、予め設定された数(例えば、3つのフレーム)の重要な静的表現ベクター(static Representation vector)との類似度がしきい値未満であることから、第1時間(時間t-m)のフレームは、重要フレームとして決定することが可能である。また、重要フレーム決定モジュール(30)は、重要フレームとして決定された第1時間(時間t-m)のフレームの静的表現ベクター(static Representation vector)を、重要フレームに関連する複数の表現(Representation)に係るデータベース(static Representation DB)に保存することが可能である。
【0093】
実施例において、重要フレーム決定モジュール(30)は、第2時間(時間t)のフレームの静的表現ベクター(static Representation vector)と、重要フレームに関連する複数の表現(Representation)に係るデータベース(static Representation DB)に保存されていた、予め設定された数(例えば、3つのフレーム)の重要な静的表現ベクター(static Representation vector)との間の類似度を計算することが可能である。一例として、重要フレームに関連する複数の表現(Representation)に係るデータベース(static Representation DB)に保存されていた、予め設定された数(例えば、3つのフレーム)の重要フレームは、第1時間(時間t-m)と、その前の2つの重要フレームを含むことが可能である。一方、重要フレーム決定モジュール(30)は、第2時間(時間t)のフレームの静的表現ベクター(static Representation vector)が、予め設定された数(例えば、3つのフレーム)の重要な静的表現ベクター(static Representation vector)との類似度が高く、第2時間(時間t)のフレームは、重要フレームとして決定せず、重要フレームに関連する複数の表現(Representation)に係るデータベース(static Representation DB)に保存されないことが可能である。
【0094】
例えば、重要フレーム決定モジュール(30)は、第3時間(時間t+k)のフレームの静的表現ベクター(static Representation vector)と、重要フレームに関連する複数の表現(Representation)に係るデータベース(static Representation DB)に保存されていた、予め設定された数(例えば、3つのフレーム)の重要な静的表現ベクター(static Representation vector)との間の類似度を計算することが可能である。一例として、重要フレームに関連する複数の表現(Representation)に係るデータベース(static Representation DB)に保存されていた、予め設定された数(例えば、3つのフレーム)の重要フレームは、第1時間(時間t-m)と、その前の2つの重要フレームを含むことが可能である。重要フレーム決定モジュール(30)は、第3時間(時間t+k)のフレームの静的表現ベクター(static Representation vector)と、直前に保存された予め設定された数(例えば、3つのフレーム)の重要な静的表現ベクター(static Representation vector)との類似度がしきい値未満であることから、第3時間(時間t+k)のフレームは、重要フレームとして決定することが可能である。また、重要フレーム決定モジュール(30)は、重要フレームとして決定された第3時間(時間t+k)のフレームの静的表現ベクター(static Representation vector)を、重要フレームに関連する複数の表現(Representation)に係るデータベース(static Representation DB)に保存することが可能である。
【0095】
図8乃至
図10を用いて説明された前述の動作によって、重要フレーム決定モジュール(30)は、1本のビデオに含まれた各々のフレームに係る類似度の比較を行い、しきい値未満であるフレームを重要フレームとして決定し、決定されたフレームの静的表現ベクター(static Representation vector)を基に、「重要フレームに関連する複数の表現(Representation)に係るデータベース(static Representation DB)」を生成することが可能である。
【0096】
本開示の一実施例によると、検索DB生成モジュール(40)は、取得されたビデオに含まれたオーディオに対して音声認識(STT)を行うSTTモジュール(41)を含むことが可能である。STTモジュール(41)は、取得されたビデオにおいて決定された複数の重要フレームの間の区間において、音声認識(STT)を行い、STTテキスト情報を生成することが可能である。STTモジュール(41)は、複数のビデオに含まれたオーディオに対して音声認識(STT)を行い、STT結果であるSTTテキスト情報を生成することが可能である。より高い性能の音声認識(STT)を行うために、STTモジュール(41)は、音声強調(Speech Enhancement)、ノイズフィルターリング、音声区間検出(VAD)、話者分離(Speaker diarization)等の前処理(又は、実施例によっては後処理)を行うことが可能である。また、STTモジュール(41)は、音声認識(STT)を行ってから、誤り検出(error detection)、訂正(correction)、文章符号の挿入等の後処理を行うことも可能である。STTモジュール(41)は、取得されたビデオに字幕データが含まれている場合、字幕データをSTTテキスト情報の代わりに活用することも可能である。
【0097】
図11は、本開示の一実施例における、重要フレームにおける時間に係る情報に基づき、STTテキスト情報に係る表現(Representation)を抽出する動作を、概略的に示す図面である。
実施例において、検索DB生成モジュール(40)は、STTテキスト情報に係る表現(Representation)を抽出するSTT表現抽出モジュール(42)を含むことが可能である。STT表現抽出モジュール(42)、STTテキスト情報を、「重要フレームに関連する複数の表現(Representation)に係るデータベース(static Representation DB)」に記録されている複数の重要フレームにおける時間に係る情報に基づいて分割し、分割された単位で、STTテキスト情報に係る表現(Representation)を抽出することが可能である。例えば、STT表現抽出モジュール(42)は、前述の各々のフレーム(Frame)別のテキスト表現(Text Representation)抽出モジュールと同一のモジュールであることが可能である。一例として、STT表現抽出モジュール(42)は、フィルターやエンコーダー、ネットワークモデル等になることが可能であり、特定の次元のベクター、行列又はテンソル(tensor)等を抽出することが可能である。STT表現抽出モジュールは、CLIP、NLPモデル、Transformerエンコーダー等を含むことが可能である。
【0098】
一方、STTテキスト情報から抽出された表現(STT Text Representation)は、画像表現(Image Representation)やテキスト表現(Text Representation)とは違って、重要フレームの間の「区間」において発話されたテキスト(Text)の意味に係る情報が含まれるため、区間に係る動的な情報(つまり、時系列的情報)が含まれることが可能である。
【0099】
本開示の一実施例によると、重要フレームに関連する複数の表現(Representation)に係るデータベース(static Representation DB)は、各々の重要フレームから抽出された画像の表現とテキストの表現及び上記複数の重要フレームの間の区間において生成されたSTTテキスト情報から抽出された表現を含むことが可能である。検索DB生成モジュール(40)は、上記複数の重要フレームの間の区間において生成されたSTTテキスト情報から抽出された表現を、上記複数の重要フレームのうち、時系列において一番先に位置する重要フレームに係る表現として決定することが可能である。
【0100】
すなわち、重要フレームに関連する複数の表現(Representation)に係るデータベース(static Representation DB)は、第1重要フレームに関連する複数の表現と、上記第1重要フレーム以降の第2重要フレームに関連する複数の表現とを含むことが可能である。ここで、上記第1重要フレームに関連する複数の表現は、上記第1重要フレームから抽出されたテキストの表現、上記第1重要フレームから抽出された画像の表現及び上記第1重要フレームと上記第2重要フレームの間の区間から抽出されたSTTテキスト情報に係る表現を含むことが可能である。例示として、
図11を参照すると、第1重要フレーム(t-m重要フレーム)と第2重要フレーム(t+k重要フレーム)の場合、第1時間(t-m)乃至第2時間(t+k)区間の発話(speech)に係るSTTテキスト情報から抽出された表現は、第1時間(t-m)のフレームと対応する表現(Representation)として扱われることが可能である。例えば、
図11において、最も右のSTTテキスト情報から抽出された表現(STT Text Representation)は、後述する
図12の最終検索データベースにおいて、第1時間(t-m)に紐づけられて保存されることが可能である。
【0101】
図12は、本開示の一実施例における、最終検索データベースの構成要素である重要フレーム別の最終表現ベクター(Representation Vector)を概略的に示す図面であり、
図13は、本開示の一実施例における、最終検索データベースを概略的に示す図面である。
【0102】
一実施例において、検索DB生成モジュール(40)は、上記決定された重要フレームに関連する複数の表現に係るデータベースを基に、最終検索データベースを生成する、最終検索DB生成モジュール(43)を含むことが可能である。一例として、上記最終検索データベースは、上記ビデオに係る情報を含むメタデータ、上記重要フレームに含まれた静的な画像情報を示す画像の表現、上記重要フレームに含まれた静的なテキスト情報を示すテキストの表現及び上記複数の重要フレームの間の区間に係る複数の動的な情報が含まれているSTTテキスト情報に係る表現を含むことが可能である。
すなわち、最終検索DB生成モジュール(43)は、既存の「重要フレームに関連する複数の表現(Representation)に係るデータベース(static Representation DB)」に、STTモジュール(41)及びSTT表現抽出モジュール(42)によって取得されたSTTテキスト情報に係る表現と入力モジュール(20)において取得されたビデオに係る情報を含むメタデータを用いて複数の関連映像全部に係る最終検索データベースを生成することが可能である。例示として
図12を参照すると、最終検索DB生成モジュール(43)は、複数の関連映像全てについて、複数の重要フレームの時間帯別に、最終表現ベクター(Representation vector)を生成することが可能である。なお、1本の映像に係る最終表現ベクター(Representation vector)は、多数(例えば、重要フレームが多数である場合)であることが可能であり、最終検索データベースには、関連映像全てに係る複数の最終表現ベクターが含まれることが可能である。
【0103】
一実施例に基づく
図13を参照すると、関連ビデオ(映像)には、関連映像1、関連映像2、関連映像3が含まれることが可能である。関連映像1には、重要フレームがA、Bの2つ存在し、関連映像2には重要フレームがCの1つ存在し、関連映像3には重要フレームがD、Eの2つ存在する場合の最終検索データベースは、
図13に示すように表現されることが可能である。なお、複数の関連映像の場合、最初のフレームは、無条件に重要フレームとして決定され、その間において複数の重要フレームが決定されることで区間が形成されるが、
図13に示す、前述の重要フレームA、B、C、D、Eが含まれた最終検索データベースにおいて、最初フレームは省略されていることが可能である。例えば、関連映像3における重要フレームDのタイムスタンプ(time stamp)が03:27であり、その次の重要フレームであるEのタイムスタンプ(time stamp)が07:54であり、関連映像3の全長が12:30であることが可能である。このとき、関連映像3の最初のフレーム(=time stamp 00:00)と対応する区間は、00:00~03:27、関連映像3の重要フレームD(=time stamp 03:27)と対応する区間は、03:27~07:54、関連映像3の重要フレームE(=time stamp 07:54)と対応する区間は、07:54~12:30になる。これに基づき、以下において「ビデオ検索方法」を説明する。
【0104】
図14は、本開示の一実施例における、ビデオを検索するための複数のモジュールのブロック構成図である。
【0105】
本開示の一実施例によると、コンピューティング装置(100)は、検索テキスト抽出モジュール(50)及び検索結果提供モジュール(60)を含むことが可能である。一方、このようなコンピューティング装置(100)に含まれることのできる複数のモジュールは、プロセッサー(110)により制御されたり、又はプロセッサー(110)の動作により実行されることが可能である。また、ビデオ検索について、コンピューティング装置(100)に含まれることのできるモジュールは、以上で説明した複数のモジュールに限定されるわけではなく、追加のモジュールが含まれることが可能である。以下において、ビデオを検索するための例示としての複数のモジュールについて、より具体的に説明する。
【0106】
本開示の一実施例によると、検索テキスト抽出モジュール(50)は、取得されたビデオに係る検索情報に係る表現(Representation)を抽出することが可能である。検索情報は、ユーザーの端末を介して取得されたテキスト情報を含むことが可能である。検索テキスト抽出モジュール(50)は、前述のテキスト表現抽出モジュール(32)及びSTT表現抽出モジュール(42)において用いられたモデルであることが可能である。すなわち、検索テキスト抽出モジュール(50)は、フィルターやエンコーダー、ネットワークモデル等であることが可能であり、特定の次元のベクター、行列又はテンソル(tensor)等を抽出することが可能である。また、検索テキスト抽出モジュール(50)には、CLIP、NLPモデル、Transformerエンコーダー等が含まれることが可能である。
【0107】
図14及び以後説明する例示においては、テキストを入力として受け取る場合を取り挙げて説明しているが、実施例によっては、入力が画像の形態であることも可能であり、その場合には、検索テキスト抽出モジュール(50)の代わりに、検索画像抽出モジュールが用いられることが可能である。検索画像抽出モジュールは、前述の画像表現抽出モジュール(31)において用いられたモデルであることが可能である。すなわち、検索画像抽出モジュールは、フィルターやエンコーダー、ネットワークモデル等であることが可能であり、特定の次元のベクター、行列又はテンソル(tensor)等を抽出することが可能である。また、検索画像抽出モジュールには、CLIP、NLPモデル、Transformerエンコーダー等に含まれることが可能である。
【0108】
図15は、本開示の一実施例における検索テキスト表現(Representation)と最終検索DBとの比較によって、類似度の高い上位の結果を決定する動作を説明するための図面であり、
図16は、本開示の一実施例における、最終検索結果に基づき、関連する映像の複数の重要フレームの中から、類似度の高いいくつかの重要フレームが決定される動作を説明するための図面であり、
図17は、本開示の一実施例における、ユーザーがターゲットフレームの候補のうち、少なくともいずれか1つを選択する場合、ターゲットフレームに係る区間のSTTテキスト情報のうち、検索テキストがあるタイムスタンプを提供する動作を、説明するための図面である。
【0109】
本開示の一実施例によると、検索結果提供モジュール(60)は、上記検索情報から抽出された表現と、上記ビデオにおいて決定された複数の重要フレームにおける複数の表現との比較に基づき、上記検索情報に関連する重要フレームを決定することが可能である。ここで、各々の重要フレームの複数の表現は、各々の重要フレームの画像から抽出された表現、各々の重要フレームのテキストから抽出された表現、各々の重要フレームに係るSTTテキスト情報に係る表現を含むことが可能である。このとき、上記各々の重要フレームに係るSTTテキスト情報の表現は、上記各々の重要フレームと、それ以降の重要フレームとの間の区間に係るSTTテキスト情報の表現を含むことが可能である。
【0110】
実施例において、検索結果提供モジュール(60)は、検索情報に関連する重要フレームに係る情報を提供することが可能である。上記検索情報に関連する重要フレームに係る情報は、上記関連する重要フレームと、上記関連する重要フレームの次の重要フレームとの間の区間と対応するビデオ情報を含むことが可能である。一例として、検索テキスト抽出モジュール(50)において、検索情報から抽出された表現(Representation)を最終検索データベースと比較し、類似度を計算することが可能である。ユーザーが、画像で検索する場合には、検索画像抽出モジュールによって検索画像から抽出された画像表現(image representation)が、最終検索データベースと比較され、類似度が計算されることが可能である。また、検索結果提供モジュール(60)は、類似度が高い順に並べられ、しきい値以上の重要フレームに係る情報を、ユーザーの端末に提供することが可能である。
【0111】
例示として
図15を参照すると、ビデオに係る検索情報が「ラグランジュ変換」である場合、検索結果提供モジュール(60)は、検索テキスト抽出モジュール(50)から抽出された検索情報に係るテキスト表現ベクター(text representation vector)と、最終検索データベースに保存されている複数の関連映像の重要フレーム別の最終表現ベクター(representation vector)との関係から、類似度を計算することが可能である。類似度は、前述の各種の表現(representation)抽出モジュールと同様に、コサイン(cosine)類似度(数1を参照)が用いられることが可能であるが、これに限定されない。検索結果提供モジュール(60)は、検索情報(「ラグランジュ変換」)と最終データベースに含まれた重要フレーム別の複数の最終表現ベクター(representation vector)と、それぞれ類似度演算を行った結果として、映像1-フレームAについては0.03、映像1-フレームBについては0.9、映像2-フレームCについては0.001、映像3-フレームDについては0.2、映像3-フレームEについては0.1と、類似度計算結果を抽出することが可能である。その後、検索結果提供モジュール(60)は、類似度が高い順に並べて、映像1-フレームB、映像3-フレームD、映像3-フレームEの順に、重要フレームに係る情報をユーザーの端末に提供することが可能である。
【0112】
また、検索結果提供モジュール(60)は、
図16に示すように、最終検索結果に基づき、複数の関連映像重要フレームのうち、類似度が高い重要フレーム(以下、ターゲットフレーム候補)を提供することが可能である。検索結果提供モジュール(60)は、ユーザーの端末に複数のターゲットフレーム候補を提供することが可能である。また、検索結果提供モジュール(60)は、それらの中から、ユーザーが1つ(=ターゲットフレーム)を決定すると、ターゲットフレームと対応する映像全体と、対応するタイムスタンプ(timestamp)を提供することが可能である。実施例によっては、
図17に示すように、ターゲットフレームと対応する区間(例えば、当該関連映像のターゲットフレームから次の重要フレームまでの区間)において、STT結果テキストを用いて、本当の検索テキストがある位置のタイムスタンプ(time stamp)がピンポイント(pinpoint)された状態で、ユーザーに提供されることも可能である。すなわち、ユーザーが、ターゲットフレーム候補B、D、Eのうち、関連映像1のフレームBを選択した場合、検索結果提供モジュール(60)は、ターゲットフレームBと対応する区間(05:02~08:23)のSTTテキスト情報のうち、検索情報があるタイムスタンプ(06:24)をピンポイント(pinpoint)して提供することも可能である。
【0113】
本開示の一実施例によると、コンピューティング装置(100)は、i)関連映像を直接決定し、ビデオ検索を行うことが可能である。例えば、アクションパワーにおいて、ユーチューブ(Youtube)のような動画共有プラットフォームを直接運営する場合、この実施例に当てはまると考えることが可能である。コンピューティング装置(100)は、動画共有プラットフォームにアップロードされた映像について、すぐに重要フレームに関連する複数の表現に係るデータベースを基に、最終検索データベースを生成し、構築しておけば、検索情報(検索テキスト)入力時に、これを基に迅速に検索を行うことが可能である。一方、プラットフォームを直接運営しない場合、検索情報(検索テキスト)が入力されると、これについて、サードパーティー(例えば、Google、YouTube(登録商標)等)を用いて一次的に関連映像を決定し、コンピューティング装置(100)は、複数の関連映像について、重要フレームに関連する複数の表現に係るデータベースを基に、最終検索データベースを構築することが可能である。
【0114】
また、コンピューティング装置(100)は、ii)関連映像がすでに決定されている場合においても、ビデオ 検索を行うことが可能である。例えば、B2Bでサービスを提供する場合、すなわち、B2Bの顧客から(例えば、メガスタディー等のインターネット講義の提供者)関連映像の提供を受ける場合が、この実施例に当てはまると考えることが可能である。実施例において、予め顧客(例えば、メガスタディー等のインターネット講義提供者)の端末又はサーバから全ての映像を関連映像として取得することが可能であり、他の実施例においては、ユーザーがテキストを検索すると、B2Bの顧客(例えば、メガスタディー等のインターネット講義の提供者)側から、1次的にフィルターリングし、関連映像を決定し、コンピューティング装置(100)は、決定された複数の関連映像について重要フレームに関連する複数の表現に係るデータベースを基に、最終検索データベースを構築し、検索を行うことも可能である。
【0115】
本開示の一実施例によると、前述のビデオ検索方法を放送局において活用することが可能である。例えば、放送局でバラエティー番組の映像等を編集する過程において、過去の資料等が活用される場合があるが、このとき、活用したい動画をすぐに探すことが難しく、PDたちが直接過去の資料を確認する必要がある。一例として、複数の過去のビデオにおいて、特定の場面(例えば、『無限挑戦』というバラエティー番組で、サッカー選手のティエリ・アンリが水を入れたボールをヘディングする場面)を探す場合、「ビデオ検索方法」が用いられることが可能である。コンピューティング装置(100)は、当該番組(例えば、無限挑戦)における全ての映像を関連映像とし、重要フレームに関連する複数の表現に係るデータベースを基に、最終検索データベースを構築することが可能である。コンピューティング装置(100)は、検索情報として「サッカー選手のティエリ・アンリが水を入れたボールをヘディングする場面」を取得する場合、構築された最終検索データベースによって、当該番組(例えば、無限挑戦)において、当該映像の当該場面を迅速に提供することが可能である。
【0116】
本開示の一実施例によると、前述のビデオ検索方法を、自然ドキュメンタリーの検索にも活用できる。自然ドキュメンタリーのように、セリフが少ない場合は、テキスト中心の現在のビデオ検索方式では、よりさらに検索が難しくなる可能性がある。コンピューティング装置(100)は、画像表現(image representation)にも用いられるため、発話音声が含まれていない映像に係る検索にも活用されることが可能である。例えば、National Geographicの映像において「ライオンがシカを襲う場面」について検索したい場合、National Geographicに係る複数の映像を関連映像とし、最終検索データベースを構築し、探している場面を検索することが可能である。
【0117】
本開示の一実施例によると、コンピューティング装置(100)は、前述のビデオを用いたデータベースを構築する方法とビデオ検索方法の動作を、「ビデオ要約」にも活用することが可能である。例えば、コンピューティング装置(100)は、重要フレームタイムスタンプ(timestamp)を基準に、その周辺における一定の区間の STT結果に対し重みを与え、ビデオ要約を行うことが可能である。
【0118】
図18は、本開示の一実施例における、ビデオを用いたデータベースを構築する方法のフローチャートである。
【0119】
図18に示す、ビデオを用いたデータベースを構築する方法は、前述のコンピューティング装置(100)によって行われることが可能である。従って、以下において省略されている内容だとしても、コンピューティング装置(100)について説明された内容は、ビデオを用いたデータベースを構築する方法に関する説明においても、同様に当てはまることが可能である。
【0120】
図18を参照すると、本開示の一実施例におけるビデオを用いたデータベースを構築する方法は、上記ビデオを取得する段階(S110)、上記取得されたビデオの各々のフレームから、画像の表現(Representation)を抽出する段階(S120)、上記取得されたビデオの各々のフレームから、テキストの表現(Representation)を抽出する段階(S130)、上記取得されたビデオの複数のフレームにおける画像の表現及びテキストの表現に基づき、上記取得されたビデオの複数のフレームの中から重要フレームを決定する段階(S140)、上記決定された重要フレームに関連する複数の表現(Representation)に係るデータベースを生成する段階(S150)等を含むことが可能である。
【0121】
段階S110は、上記ビデオを取得する段階である。
段階S120は、上記取得されたビデオの各々のフレームから、画像の表現(Representation)を抽出する段階である。
【0122】
段階S130は、上記取得されたビデオの各々のフレームから、テキストの表現(Representation)を抽出する段階である。上記S130は、各々のフレームに係る字幕情報と、各々のフレームの画像に対してテキスト認識を行って取得されたテキスト情報とのうち少なくとも1つに基づき、テキストの表現を抽出する段階を含むことが可能である。
段階S140は、上記取得されたビデオの複数のフレームにおける、画像の表現及びテキストの表現に基づき、上記取得されたビデオの複数のフレームの中から、重要フレームを決定する段階である。
【0123】
段階S150は、上記決定された重要フレームに関連する複数の表現(Representation)に係るデータベースを生成する段階である。ここで、上記決定された重要フレームに関連する複数の表現に係るデータベースは、各々の重要フレームから抽出された画像の表現とテキストの表現;及び上記複数の重要フレームの間の区間において生成されたSTTテキスト情報から抽出された表現を含むことが可能である。
【0124】
本開示の一実施例によると、上記方法は、上記取得されたビデオにおいて決定された複数の重要フレームの間の区間において、音声認識(STT)を行いSTTテキスト情報を生成する段階;及び上記STTテキスト情報に係る表現(Representation)を抽出する段階をさらに含むことが可能である。
【0125】
また、上記方法は、上記決定された重要フレームに関連する複数の表現に係るデータベースを基に、最終検索データベースを生成する段階を含むことが可能である。ここで、上記最終検索データベースは、上記ビデオに係る情報を含むメタデータ;上記重要フレームに含まれた静的な画像情報を示す画像の表現;上記重要フレームに含まれた静的なテキスト情報を示すテキストの表現;及び上記複数の重要フレームの間の区間に係る複数の動的な情報が含まれているSTTテキスト情報に係る表現を含むことが可能である。
【0126】
図19は、本開示の一実施例における、ビデオを検索する方法のフローチャートである。
【0127】
図19に示すビデオ検索方法は、前述のコンピューティング装置(100)によって行うことが可能である。従って、以下において省略されている内容だとしても、コンピューティング装置(100)について説明された内容は、ビデオ検索方法に係る説明においても、同様に当てはまることが可能である。
【0128】
図19を参照すると、本開示の一実施例におけるビデオ検索方法は、ビデオに係る検索情報を取得する段階(S210)、上記検索情報に係る表現(Representation)を抽出する段階(S220)及び上記検索情報から抽出された表現と、上記ビデオにおいて決定された複数の重要フレームにおける複数の表現との比較に基づき、上記検索情報に関連する重要フレームを決定する段階(S230)等を含むことが可能である。
【0129】
段階S210は、ビデオに係る検索情報を取得する段階である。実施例によって、ビデオに係る検索情報は、テキスト又は画像であることが可能である。
段階S220は、上記検索情報に係る表現(Representation)を抽出する段階である。
【0130】
段階S230は、上記検索情報から抽出された表現と、上記ビデオにおいて決定された複数の重要フレームにおける複数の表現との比較に基づき、上記検索情報に関連する重要フレームを決定する段階である。ここで、各々の重要フレームの複数の表現は、各々の重要フレームの画像から抽出された表現、及び各々の重要フレームのテキストから抽出された表現を含むことが可能である。
【0131】
本開示の一実施例によると、上記方法は、上記各々の重要フレームの複数の表現は、各々の重要フレームに係るSTTテキスト情報に係る表現をさらに含むことが可能である。ここで、上記各々の重要フレームに係るSTTテキスト情報の表現は、上記各々の重要フレームと以降の重要フレームとの間の区間に係るSTTテキスト情報の表現を含むことが可能である。
【0132】
また、上記方法は、上記検索情報に関連する重要フレームに係る情報を提供する段階をさらに含み、上記検索情報に関連する重要フレームに係る情報は、上記関連する重要フレームと、上記関連する重要フレームの次の重要フレームとの間の区間と対応するビデオ情報を含むことが可能である。
【0133】
図20は、本開示の一実施例における、ビデオを要約する方法のフローチャートである。
【0134】
図20に示すビデオを要約する方法は、前述のコンピューティング装置(100)によって行われることが可能である。従って、以下において省略されている内容だとしても、コンピューティング装置(100)について説明された内容は、ビデオを要約する方法に関する説明においても、同様に当てはまることが可能である。
【0135】
図20を参照すると、本開示の一実施例におけるビデオを要約する方法は、上記ビデオを取得する段階(S310)、上記取得されたビデオの各々のフレームから、画像の表現(Representation)を抽出する段階(S320)、上記取得されたビデオの各々のフレームから、テキストの表現(Representation)を抽出する段階(S330)、上記取得されたビデオの複数のフレームにおける画像の表現及びテキストの表現に基づき、上記取得されたビデオの複数のフレームの中から重要フレームを決定する段階(S340)及び上記決定された重要フレームに関連する複数の表現(Representation)に基づき、上記ビデオの要約情報を生成する段階(S350)等を含むことが可能である。
【0136】
段階S310は、上記ビデオを取得する段階である。
段階S320は、上記取得されたビデオの各々のフレームから、画像の表現(Representation)を抽出する段階である。
【0137】
段階S330は、上記取得されたビデオの各々のフレームから、テキストの表現(Representation)を抽出する段階である。
【0138】
段階S340は、上記取得されたビデオの複数のフレームにおける、画像の表現及びテキストの表現に基づき、上記取得されたビデオの複数のフレームの中から、重要フレームを決定する段階である。
【0139】
段階S350は、上記決定された重要フレームに関連する複数の表現(Representation)に基づき、上記ビデオの要約情報を生成する段階である。
【0140】
上述の説明において、段階S110乃至S150、段階S210乃至S230、段階S310乃至S350は、本願の具現化の例によって、さらに細かい段階に分けられたり、一部の段階が統合され、段階の数が少なくなることも可能である。また、一部の段階は、必要に応じて省略される場合もあり、段階の順番が変更される場合もある。
【0141】
本開示の一実施例に基づき、データ構造を保存したコンピューター可読保存媒体が開示される。
【0142】
データ構造は、データに効率的なアクセスおよび修正を可能にするデータの組織、管理、保存を意味することができる。データ構造は、特定の問題(例えば、最短時間でデータ検索、データ保存、データ修正)を解決するためのデータ組織を意味することができる。データ構造は、特定のデータ処理機能をサポートするように設計されたデータ要素間の物理的または論理的な関係と定義することもできる。データ要素間の論理的な関係は、ユーザーが考えるデータ要素間の連結関係を含むことができる。データ要素間の物理的な関係は、 コンピューター可読保存媒体(例えば、ハードディスク)に物理的に保存されているデータ要素間の実際の関係を含むことができる。データ構造は具体的にデータの集合、データ間の関係、データに適用できる関数またはコマンドを含むことができる。効果的に設計されたデータ構造により、コンピューティング装置はコンピューティング装置のリソースを最小限に使用しながら計算を行うことができる。具体的にコンピューティング装置は効果的に設計されたデータ構造を通じて演算、読み取り、挿入、削除、比較、交換、検索の効率性を高めることができる。
【0143】
データ構造はデータ構造の形態によって線形データ構造と非線形データ構造に区分されることができる。線形データ構造は、一つのデータの後に一つのデータだけが連結される構造である可能性がある。線形データ構造はリスト(List)、スタック(Stack)、キュー(Queue)、デッキ(Deque)を含むことができる。リストは、内部的に順序が存在する一連のデータセットを意味することが可能である。リストは連結リスト(Linked List)を含むことができる。連結リストはそれぞれのデータがポインタを持って一列に連結されている方式でデータが連結されたデータ構造でありうる。連結リストでポインタは、次や以前のデータとの連結情報を含むことができる。連結リストは形態によって単一連結リスト、二重連結リスト、円形連結リストで表現できる。スタックは制限的にデータにアクセスできるデータリスト構造である可能性がある。スタックは、データ構造の片端でのみデータを処理(例えば、挿入または削除)できる線形データ構造である可能性がある。スタックに保存されたデータは、遅く入るほど早く出てくるデータ構造(LIFO-Last in First Out)である可能性がある。キューは制限的にデータにアクセスできるデータ羅列構造であり、スタックとは異なり遅く保存されたデータほど遅く出てくるデータ構造(FIFO-FirstinFirstOut)であることができる。デッキはデータ構造の両端でデータを処理できるデータ構造になり得る。
【0144】
非線形データ構造は、一つのデータの後に複数のデータが連結される構造である可能性がある。非線形データ構造はグラフ(Graph)データ構造を含むことができる。グラフデータ構造は頂点(Vertex)と幹線(Edge)で定義でき、幹線は互いに異なる二つの頂点を連結する線を含むことができる。グラフデータ構造ツリー(Tree)データ構造を含むことができる。ツリーデータ構造はツリーに含まれる複数の頂点のうち、互いに異なる2つの頂点を連結させる経路が一つのデータ構造になり得る。すなわち、グラフデータ構造でループ(loop)を形成しないデータ構造になり得る。
【0145】
本明細書にかけて、演算モデル、 神経回路網、ネットワーク関数、ニューラルネットワークは同じ意味で使用できる。(以下ではニューラルネットワークで統一して記述する。) データ構造はニューラルネットワークを含むことができる。そして、ニューラルネットワークを含むデータ構造は、コンピューター可読保存媒体に保存されることができる。ニューラルネットワークを含むデータ構造はまた、ニューラルネットワークに入力されるデータ、ニューラルネットワークの加重値、ニューラルネットワークのハイパーパラメータ、ニューラルネットワークから獲得したデータ、ニューラルネットワークの各ノードまたはレイヤーに関連する活性関数、ニューラルネットワークの学習のための損失関数を含むことができる。ニューラルネットワークを含むデータ構造は、前記開示された構成のうち任意の構成要素を含むことができる。すなわち、ニューラルネットワークを含むデータ構造は、ニューラルネットワークに入力されるデータ、ニューラルネットワークの加重値、ニューラルネットワークのハイパーパラメータ、ニューラルネットワークから獲得したデータ、ニューラルネットワークの各ノードまたはレイヤーに関連する活性関数、ニューラルネットワークのトレーニングのための損失関数など、全部またはこれらの任意の組み合わせを含んで構成されることができる。前述した構成以外にも、ニューラルネットワークを含むデータ構造は、ニューラルネットワークの特性を決定する任意の他の情報を含むことができる。また、データ構造は、ニューラルネットワークの演算過程で使用されたり発生するすべての形態のデータを含むことができ、前述の事項に制限されるわけではない。コンピューター可読保存媒体は、コンピューター可読記録媒体および/またはコンピューター可読伝送媒体を含むことができる。ニューラルネットワークは、一般的にノードと呼ばれる相互接続された計算単位の集合で構成されることができる。このようなノードはニューロン(neuron)と呼ばれることができる。ニューラルネットワークは、少なくとも1つ以上のノードを含んで構成される。
【0146】
データ構造は、ニューラルネットワークに入力されるデータを含むことができる。ニューラルネットワークに入力されるデータを含むデータ構造は、コンピューター可読保存媒体に保存されることができる。ニューラルネットワークに入力されるデータは、ニューラルネットワークの学習過程で入力される学習データおよび/または学習が完了したニューラルネットワークに入力される入力データを含むことができる。ニューラルネットワークに入力されるデータは、前処理(pre-processing)を経たデータおよび/または前処理対象となるデータを含むことができる。前処理はデータをニューラルネットワークに入力させるためのデータ処理過程を含むことができる。したがって、データ構造は前処理対象となるデータおよび前処理で発生するデータを含むことができる。前述のデータ構造は例示に過ぎず、本開示はこれに限定されない。
【0147】
データ構造は、ニューラルネットワークの加重値を含むことができる。(本明細書で加重値、パラメータは同じ意味で使用できる。) そして、神経回路網の加重値を含むデータ構造はコンピューター可読保存媒体に保存されることができる。ニューラルネットワークは、複数の加重値を含むことができる。加重値は可変的であり、ニューラルネットワークが望む機能を遂行するために、ユーザーまたはアルゴリズムによって可変することができる。例えば、一つの出力ノードに一つ以上の入力ノードがそれぞれのリンクによって相互接続された場合、出力ノードは前記出力ノードと連結された入力ノードに入力された値及びそれぞれの入力ノードに対応するリンクに設定されたパラメータに基づいて出力ノード値を決定することができる。前述のデータ構造は例示に過ぎず、本開示はこれに限定されない。
【0148】
制限ではなく例として、加重値は神経回路網学習過程で可変する加重値および/または神経回路網学習が完了した加重値を含むことができる。ニューラルネットワーク学習過程で可変される加重値は、学習サイクルが始まる時点の加重値および/または学習サイクルの間に可変される加重値を含むことができる。ニューラルネットワーク学習が完了した加重値は、学習サイクルが完了した加重値を含むことができる。したがって、ニューラルネットワークの加重値を含むデータ構造は、ニューラルネットワーク学習過程で可変される加重値および/またはニューラルネットワーク学習が完了した加重値を含むデータ構造を含むことができる。したがって、上述した加重値および/または各加重値の組み合わせは、神経回路網の加重値を含むデータ構造に含まれるものとする。前述のデータ構造は例示に過ぎず、本開示はこれに限定されない。
【0149】
ニューラルネットワークの加重値を含むデータ構造は、直列化(serialization)過程を経た後、コンピューター可読保存媒体(例えば、メモリ、ハードディスク)に保存されることができる。直列化は、データ構造を同一または他のコンピューティングデバイスに保存し、後で再構成して使用できる形態に変換する過程である可能性がある。コンピューティングデバイスは、データ構造を直列化し、ネットワークを介してデータを送受信することができる。直列化されたニューラルネットワークの加重値を含むデータ構造は、逆直列化(deserialization)を通じて同じコンピューティング装置または他のコンピューティング装置で再構成されることができる。ニューラルネットワークの加重値を含むデータ構造は、シリアル化に限定されるものではない。さらに、神経回路網の加重値を含むデータ構造は、コンピューティング装置の資源を最小限に使用しながら演算の効率を高めるためのデータ構造(例えば、非線形データ構造で B-Tree、Trie、m-way search tree、AVLtree、Red-Black Tree)を含むことができる。前述の事項は例示に過ぎず、本開示はこれに限定されない。
【0150】
データ構造は、ニューラルネットワークのハイパーパラメータ(Hyper-parameter)を含むことができる。そして、ニューラルネットワークのハイパーパラメータを含むデータ構造は、コンピューター可読保存媒体に保存されることができる。ハイパーパラメータは、ユーザーによって可変される変数である可能性がある。ハイパーパラメータは、例えば、学習率(learning rate)、コスト関数(cost function)、学習サイクル反復回数、加重値初期化(例えば、加重値初期化対象となる加重値の範囲設定)、Hidden Unit個数(例えば、ヒドゥンレイヤーの個数、ヒドゥンレイヤーのノード数)を含むことができる。前述のデータ構造は例示に過ぎず、本開示はこれに限定されない。
【0151】
図21は、本開示の実施例が具現化されることのできる例示的なコンピューティング環境に係る簡略で一般的な概略図である。
【0152】
本開示が一般的にコンピューティング装置により具現化されることができると前述されているが、当業者であれば本開示が一つ以上のコンピューター上で実行されることのできるコンピューター実行可能命令及び/またはその他のプログラムモジュールと結合して及び/またはハードウェアとソフトウェアの組み合わせとして具現化されることができるということをよく理解できるだろう。
【0153】
一般的に、本明細書におけるモジュールは、特定のタスクを実行したり特定の抽象的なデータ類型を実装するルーティン、プログラム、コンポーネント、データ構造、その他等々を含む。また、当業者なら本開示の方法がシングルプロセッサーまたはマルチプロセッサーコンピューターシステム、ミニコンピューター、メインフレームコンピューターはもちろん、パーソナルコンピューター、ハンドヘルド(handheld)コンピューティング装置、マイクロプロセッサー基盤、またはプログラム可能な家電製品、その他等々(これらは、それぞれ1つ以上の関連する装置と繋がって動作することができる)をはじめとする、他のコンピューターシステムの構成によって実施されることができることをよく理解できるだろう。
【0154】
本開示において説明された実施例は、さらに、あるタスクが通信ネットワークを通じて繋がっている遠隔処理装置によって実行される分散コンピューティング環境で実施されることができる。分散コンピューティング環境において、プログラムモジュールは、ローカルや遠隔メモリー保存装置の両方に位置することができる。
コンピューターは、多様なコンピューター可読媒体を含む。コンピューターによってアクセス可能な媒体はいずれもコンピューター可読媒体になり得るが、このようなコンピューター可読媒体は揮発性及び非揮発性媒体、一時的(transitory)及び非一時的(non-transitory)媒体、移動式及び非-移動式媒体を含む。制限ではなく例として、コンピューター可読媒体は、コンピューター可読保存媒体及びコンピューター可読伝送媒体を含むことができる。コンピューター可読保存媒体は、コンピューター可読命令、データ構造、プログラムモジュール又はその他のデータのような情報を保存する任意の方法又は技術により実装される揮発性及び非揮発性媒体、一時的及び非-一時的媒体、移動式及び非移動式媒体を含む。コンピューター可読保存媒体は、RAM、ROM、EEPROM、フラッシュメモリーまたはその他のメモリー技術、CD-ROM、DVD(digital video disk)またはその他の光ディスク保存装置、磁気カセット、磁気テープ、磁気ディスク保存装置またはその他の磁気保存装置、またはコンピューターによってアクセスされることができ、情報を保存するのに使われることのできる任意のその他の媒体を含むが、これに限定されない。
【0155】
コンピューター可読伝送媒体は、通常、搬送波(carrier wave)またはその他の伝送メカニズム(transport mechanism)のような被変調データ信号(modulated data signal)にコンピューター可読命令、データ構造、プログラムモジュールまたはその他のデータ等を実装し、すべての情報伝達媒体を含む。被変調データ信号という用語は、信号の中で情報をエンコードするように、その信号の特性のうち1つ以上を設定または変更した信号を意味する。制限ではなく例として、コンピューター可読伝送媒体は、有線ネットワークまたは直接配線接続(direct-wired connection)のような有線媒体、そして音響、RF、赤外線、その他の無線媒体のような無線媒体を含む。前述の媒体のいずれかによる任意の組み合わせもまたコンピューター可読伝送媒体の範囲に含まれるものとする。
【0156】
コンピューター(1102)を含む本開示の多様な側面を実現する例示的な環境(1100)が示されており、コンピューター(1102)は、処理装置(1104)、システムメモリー(1106)、システムバス(1108)を含む。システムバス(1108)は、システムメモリー(1106)(これに限定されない)をはじめとするシステムコンポーネントを処理装置(1104)につなげる。処理装置(1104)は、多様な商用プロセッサーのうち任意のプロセッサーになり得る。デュエルプロセッサーとその他のマルチプロセッサーアーキテクチャもまた処理装置(1104)として利用されることができる。
システムバス(1108)は、メモリーバス、周辺装置バス、そして多様な商用バスアーキテクチャの中から、任意のものを使用するローカルバスにさらに相互連結されることのできる複数の類型のバス構造のうちいずれかになり得る。システムメモリー(1106)は、読み取り専用メモリー(ROM)(1110)やランダムアクセスメモリー(RAM)(1112)を含む。基本的な入出力システム(BIOS)は、ROM、EPROM、EEPROM等の非揮発性メモリー(1110)に保存され、このBIOSは、起動中の時等にコンピューター(1102)の中の複数の構成要素間の情報のやりとりをサポートする基本的なルーティンを含む。RAM(1112)は、またデータをキャッシュするための静的RAM等の高速RAMを含むことができる。
【0157】
コンピューター(1102)においては、また、内蔵型ハードディスクドライブ(HDD)(1114)(例えば、EIDE、SATA)―この内蔵型ハードディスクドライブ(1114)はまた適切なシャシー(図示は省略)の中で外付け型の用途で構成されることができる―、磁気フロッピーディスクドライブ(FDD)(1116)(例えば、移動式ディスケット(1118)から読み取ったりそれに書き込むためのものである)及び光ディスクドライブ(1120)(例えば、CD-ROMディスク(1122)を読み取ったり、DVD等のその他の高容量光媒体から読み取ったり、それに書き込むためのものである)を含む。ハードディスクドライブ(1114)、磁気ディスクドライブ(1116)及び光ディスクドライブ(1120)は、それぞれハードディスクドライブインターフェース(1124)、磁気ディスクドライブインターフェース(1126)及び光ドライブインターフェース(1128)によってシステムバス(1108)に繋がることができる。外付け型ドライブの実装のためのインターフェース(1124)は、例えば、USB(Universal Serial Bus)やIEEE1394インターフェース技術のうち、少なくとも1つまたはその両方を含む。
これらのドライブ及びこれらに係るコンピューター可読媒体は、データ、データ構造、コンピューターで実行可能な命令、その他等々の非揮発性保存を提供する。コンピューター(1102)の場合、ドライブ及び媒体は、任意のデータを適切なデジタル形式に保存することに対応する。前述におけるコンピューター可読保存媒体に係る説明が、HDD、移動式磁気ディスク及びCDまたはDVD等の移動式光媒体について触れているが、当業者ならジップドライブ(zip drive)、磁気カセット、フラッシュメモリーカード、カートリッジ、その他等々のコンピューターにより読み取り可能な他の類型の保存媒体もまた例示的な運営環境で使われることができ、さらに、このような媒体のうち任意のある媒体が、本開示の方法を実行するためのコンピューターで実行可能な命令を含むことができることをよく理解できるだろう。
【0158】
運営システム(1130)、1つ以上のアプリケーションプログラム(1132)、その他のプログラムモジュール(1134)及びプログラムデータ(1136)をはじめとする多数のプログラムモジュールが、ドライブ及びRAM(1112)に保存されることができる。運営システム、アプリケーション、モジュール及び/またはデータの全部またはその一部分がまたRAM(1112)にキャッシュされることができる。本開示が商業的に利用可能な様々な運営システムまたは複数の運営システムの組み合わせにより実装されることができることをよく理解できるだろう。
【0159】
ユーザーは、1つ以上の有線・無線の入力装置、例えば、キーボード(1138)及びマウス(1140)等のポインティング装置を通じてコンピューター(1102)に命令及び情報を入力することができる。その他の入力装置(図示は省略)としてはマイク、IRリモコン、ジョイスティック、ゲームパッド、スタイラスペン、タッチスクリーン、その他等々があり得る。これら及びその他の入力装置が、よくシステムバス(1108)に繋がっている入力装置インターフェース(1142)を通じて処理装置(1104)に繋がることがあるが、並列ポート、IEEE1394直列ポート、ゲームポート、USBポート、IRインターフェース、その他等々のその他のインターフェースによって繋がることができる。
【0160】
モニター(1144)または他の類型のディスプレイ装置も、ビデオアダプター(1146)等のインターフェースを通じてシステムバス(1108)に繋がる。モニター(1144)に加えて、コンピューターは一般的にスピーカー、プリンター、その他等々のその他の周辺出力装置(図示は省略)を含む。
【0161】
コンピューター(1102)は、有線及び/または無線通信による(複数の)遠隔コンピューター(1148)等の1つ以上の遠隔コンピューターへの論理的接続を利用し、ネットワーク化された環境で動作することができる。(複数の)遠隔コンピューター(1148)は、ワークステーション、サーバーコンピューター、ルーター、パーソナルコンピューター、携帯用コンピューター、マイクロプロセッサー基盤の娯楽機器、ピア装置またはその他の通常のネットワークノードになることができ、一般的にコンピューター(1102)について述べられた構成要素のうち、多数またはその全部を含むが、簡略化するために、メモリー保存装置(1150)のみ図示されている。図示されている論理的接続は、近距離通信網(LAN)(1152)及び/または、より大きいネットワーク、例えば、遠距離通信網(WAN)(1154)における有線・無線の接続を含む。このようなLAN及びWANのネットワーキング環境は、オフィスや会社では一般的なもので、イントラネット等の全社的コンピューターネットワーク(enterprise-wide computer network)を容易にし、これらはすべて全世界のコンピューターネットワーク、例えば、インターネットに繋がることができる。
【0162】
LANネットワーキング環境で使われるとき、コンピューター(1102)は、有線及び/または無線通信ネットワークインターフェース、または、アダプター(1156)を通じてローカルネットワーク(1152)に繋がる。アダプター(1156)は、LAN(1152)への有線または無線通信を容易にすることができ、このLAN(1152)は、また無線アダプター(1156)と通信するためにそれに設置されている無線アクセスポイントを含む。WANネットワーキング環境で使われるとき、コンピューター(1102)は、モデム(1158)を含むことができたり、WAN(1154)上の通信サーバーに繋がったり、またはインターネットを通じる等、WAN(1154)を通じて通信を設定するその他の手段を持つ。内蔵型又は外付け型、そして、有線または無線装置になり得るモデム(1158)は、直列ポートインターフェース(1142)を通じてシステムバス(1108)に繋がる。ネットワーク化された環境において、コンピューター(1102)について説明されたプログラムモジュールまたはその一部分が、遠隔メモリー/保存装置(1150)に保存されることができる。図示されたネットワーク接続が例示的なものであり、複数のコンピューター間で通信リンクを設定する他の手段が使われることができるということは容易に理解できることである。
【0163】
コンピューター(1102)は、無線通信で配置されて動作する任意の無線装置またはユニット、例えば、プリンター、スキャナー、デスクトップ及び/または携帯用コンピューター、PDA(portable data assistant)、通信衛星、無線で検出可能なタグに係る任意の装備または場所及、及び電話と通信する動作をする。これは、少なくともWi-Fi及びブルートゥース(登録商標)無線技術を含む。従って、通信は、従来のネットワークのように予め定義された構造であったり、単純に少なくとも2つの装置の間でのアドホック通信(ad hoc communication)になり得る。
【0164】
Wi-Fi(Wireless Fidelity)は、有線で繋がっていなくても、インターネット等への接続を可能にする。Wi-Fiは、このような装置、例えば、コンピューターが室内及び室外で、つまり基地局の通話圏内のどこからでもデータを送受信できるようにするセル電話のような無線技術である。Wi-Fiネットワークは、安全で信頼性があり、高速である無線接続を提供するためにIEEE802.11(a、b、g、その他)という無線技術を使う。コンピューターを互いに、インターネット及び有線ネットワーク(IEEE802.3またはイーサネットを使う)に接続するためにWi-Fiが使われることができる。Wi-Fiネットワークは、非認可2.4や5GHzの無線帯域において、例えば、11Mbps(802.11a)または54Mbps(802.11b)のデータレートで動作したり、両帯域(デュエル帯域)を含む製品において動作することができる。
【0165】
本開示の技術分野における通常の知識を持つ者は情報及び信号が任意の多様な異なる技術及び手法を利用して示されることができることを理会できる。例えば、前記の説明において参照できるデータ、指示、命令、情報、信号、ビット、シンボル及びチップは、電圧、電流、電磁気派、磁場等または粒子、光学場等または粒子、またはこれらの任意の組み合わせによって示されることができる。
【0166】
本開示の技術分野において通常の知識を持つ者は、ここに開示された実施例に係る説明で取り挙げられた多様な例示的な論理ブロック、モジュール、プロセッサー、手段、回路、アルゴリズム段階が電子ハードウェア、(利便性のために、ここでは「ソフトウェア」と称される)多様な形のプログラムまたは設計コード、またはこれらすべての結合により実装されることができることを理解できるだろう。ハードウェア及びソフトウェアのこのような相互互換性を明確に説明するために、多様な例示的なコンポーネント、ブロック、モジュール、回路、及び段階がこれらの機能に着目して前記で一般的に説明された。このような機能がハードウェアやソフトウェアで実装されるかどうかは、特定のアプリケーションおよび全体システムに対して付与される設計上の制限によって決まる。本開示の技術分野において通常の知識を持つ者は、個々の特定のアプリケーションについて多様な手法で説明された機能を実現することができるが、このような実現の決定は、本開示の範囲を逸脱するものと解釈されてはならない。
【0167】
ここに示された多様な実施例は、方法、装置、または標準プログラミング及び/またはエンジニアリング技術を使った製造物品(article)によって実現できる。用語「製造物品」は、任意のコンピューターで可読な装置からアクセス可能なコンピュータープログラム、キャリアー、または媒体(media)を含む。例えば、コンピューターで可読保存媒体は、磁気保存装置(例えば、ハードディスク、フロッピーディスク、磁気ストリップ等)、光学ディスク(例えば、CD、DVD等)、スマートカード及びフラッシュメモリー装置(例えば、EEPROM、カード、スティック、キードライブ等)を含むが、これらに限定されるものではない。また、ここに示されている多様は保存媒体は、情報を保存するための1つ以上の装置及び/または他の機械可読媒体を含む。
【0168】
示されたプロセスにおける複数の段階の特定の順番または階層構造は、例示的なアプローチの一例であることを理解すべきである。設計上の優先順位に基づき、本開示の範囲内で、プロセスにおける段階の特定の順番または階層構造が再配列されることができることを理解すべきである。添付の方法請求項は、サンプルとしての順番で、多様な段階のエレメントを提供するが、示された特定の順番または階層構造に限定されることを意味するわけではない。
【0169】
示された実施例に関する説明は、任意の本開示の技術分野において通常の知識を持つ者が、本開示を利用したりまたは実施できるように提供される。このような実施例に対する多様な変形は、本開示の技術分野において通常の知識を持つ者には明確に理解できるものであり、ここに定義された一般的な原理は、本開示の範囲を逸脱することなく他の実施例に適用されることができる。従って、本開示はここに示す実施例によって限定されるものではなく、ここに示す原理及び新規な特徴と一貫する最広義の範囲で解釈されるべきである。
【手続補正書】
【提出日】2024-06-20
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピューティング装置により実行される、ビデオを用いたデータベースを構築する方法であって、
前記ビデオを取得する段階;
前記取得されたビデオの各々のフレームから、画像に係るパターン(pattern)に係る情報を含む、画像の表現ベクター(Representation vector)を抽出する段階;
前記取得されたビデオの各々のフレームから、テキストに係るパターンに係る情報を含む、テキストの表現ベクター(Representation vector)を抽出する段階;
前記取得されたビデオの各々のフレームを、前記画像の表現ベクターと前記テキストの表現ベクターとを含む静的表現ベクター(static Representation vector)として表現する段階、
前記取得されたビデオの複数のフレームにおける前記静的表現ベクターの間の類似度に基づき、前記取得されたビデオの複数のフレームの中から重要フレームを決定する段階;及び
前記決定された重要フレームに関連する複数の表現ベクター(Representation vector)に係るデータベースを生成する段階を含む、
方法。
【請求項2】
請求項1において、
前記画像の表現ベクターを抽出するためのモデルと、前記テキストの表現ベクターを抽出するためのモデルとのうち少なくとも1つは、画像・テキスト間の対照学習(Contrastive learning)に基づいて学習されたモデルである、
方法。
【請求項3】
請求項1において、
前記方法は、前記取得されたビデオにおいて決定された複数の重要フレームの間の区間において、音声認識(STT)を行いSTTテキスト情報を生成する段階;及び
前記STTテキスト情報に係る表現ベクター(Representation vector)を抽出する段階をさらに含む、
方法。
【請求項4】
請求項3において、
前記決定された重要フレームに関連する複数の表現ベクターに係るデータベースは、
各々の重要フレームから抽出された画像の表現ベクターとテキストの表現ベクター;及び
前記複数の重要フレームの間の区間において生成されたSTTテキスト情報から抽出された表現ベクターを含む、
方法。
【請求項5】
請求項4において、
前記決定された重要フレームに関連する複数の表現ベクターに係るデータベースを生成する段階は、
前記複数の重要フレームの間の区間において生成されたSTTテキスト情報から抽出された表現ベクターを、前記複数の重要フレームのうち、時系列において一番先に位置する重要フレームに係る表現として決定する段階を含む、
方法。
【請求項6】
請求項5において、
前記決定された重要フレームに関連する複数の表現ベクターに係るデータベースは、
第1重要フレームに関連する複数の表現ベクター;及び
前記第1重要フレーム以降の第2重要フレームに関連する複数の表現ベクターを含み、
前記第1重要フレームに関連する複数の表現ベクターは、
前記第1重要フレームから抽出されたたテキストの表現ベクター;
前記第1重要フレームから抽出された画像の表現ベクター;及び
前記第1重要フレームと前記第2重要フレームの間の区間から抽出されたSTTテキスト情報に係る表現ベクターを含む、
方法。
【請求項7】
請求項4において、
前記方法は、前記決定された重要フレームに関連する複数の表現ベクターに係るデータベースを基に、最終検索データベースを生成する段階をさらに含む、
方法。
【請求項8】
請求項7において、
前記最終検索データベースは、前記ビデオに係る情報を含むメタデータ;
前記重要フレームに含まれた静的な画像情報を示す画像の表現ベクター;前記重要フレームに含まれた静的なテキスト情報を示すテキストの表現ベクター;及び
前記複数の重要フレームの間の区間に係る複数の動的な情報が含まれているSTTテキスト情報に係る表現ベクターを含む、
方法。
【請求項9】
請求項1において、
前記取得されたビデオの各々のフレームからテキストの表現ベクターを抽出する段階は、 各々のフレームに係る字幕情報と、各々のフレームの画像に対してテキスト認識を行って取得されたテキスト情報とのうち少なくとも1つに基づき、テキストの表現ベクターを抽出する段階を含む、
方法。
【請求項10】
請求項1において、
前記取得されたビデオの複数のフレームの中から重要フレームを決定する段階は、
時系列において一番直近のタイミングで決定された1つ以上の重要フレームの静的表現ベクターと、候補フレームの静的表現ベクターとの間の類似度の計算に基づき、前記候補フレームを重要フレームとして決定する段階を含む、
方法。
【請求項11】
コンピューティング装置により実行される、ビデオ検索の方法であって、
ビデオに係る検索情報を取得する段階;
前記検索情報に係る表現ベクター(Representation vector)を抽出する段階;及び
前記検索情報から抽出された表現ベクターと、前記ビデオにおいて決定された複数の重要フレームにおける複数の表現ベクターとの比較に基づき、前記検索情報に関連する重要フレームを決定する段階を含み、
各々の重要フレームの複数の表現ベクターは、各々の重要フレームの画像から抽出された表現ベクター、及び各々の重要フレームのテキストから抽出された表現ベクターを含む
方法。
【請求項12】
請求項11において、
前記各々の重要フレームの複数の表現ベクターは、各々の重要フレームに係るSTTテキスト情報に係る表現ベクターをさらに含む、
方法。
【請求項13】
請求項12において、
前記各々の重要フレームに係るSTTテキスト情報の表現ベクターは、
前記各々の重要フレームと以降の重要フレームとの間の区間に係るSTTテキスト情報の表現ベクターを含む
方法。
【請求項14】
請求項12において、
前記方法は、
前記検索情報に関連する重要フレームに係る情報を提供する段階をさらに含み、
前記検索情報に関連する重要フレームに係る情報は、
前記関連する重要フレームと、前記関連する重要フレームの次の重要フレームとの間の区間と対応するビデオ情報を含む、
方法。
【請求項15】
請求項14において、
前記検索情報に関連する重要フレームに係る情報を提供する段階は、
前記STTテキスト情報に基づき、前記検索情報と対応するタイムスタンプ(timestamp)を提供する段階をさらに含む、
方法。
【請求項16】
コンピューティング装置により実行される、ビデオを要約する方法であって、
前記ビデオを取得する段階;
前記取得されたビデオの各々のフレームから、画像の表現ベクター(Representation vector)を抽出する段階;
前記取得されたビデオの各々のフレームから、テキストの表現ベクター(Representation vector)を抽出する段階;
前記取得されたビデオの複数のフレームにおける複数の画像の複数の表現ベクター及び複数のテキストの複数の表現ベクターに基づき、前記取得されたビデオの複数のフレームの中から重要フレームを決定する段階;及び
前記決定された重要フレームに関連する複数の表現ベクター(Representation vector)に基づき、前記ビデオの要約情報を生成する段階を含む、
方法。
【請求項17】
コンピューター可読保存媒体に保存されたコンピュータープログラムであって、前記コンピュータープログラムは、1つ以上のプロセッサーにおいて実行される場合、前記1つ以上のプロセッサーに、ビデオを用いたデータベースを構築するための以下の動作を実行させるが、前記動作は:
前記ビデオを取得する動作;
前記取得されたビデオの各々のフレームから、画像に係るパターン(pattern)に係る情報を含む、画像の表現ベクター(Representation vector)を抽出する動作;
前記取得されたビデオの各々のフレームから、テキストに係るパターンに係る情報を含む、テキストの表現ベクター(Representation vector)を抽出する動作;
前記取得されたビデオの各々のフレームを、前記画像の表現ベクターと前記テキストの表現ベクターとを含む静的表現ベクター(static Representation vector)として表現する動作;
前記取得されたビデオの複数のフレームにおける前記静的表現ベクターの間の類似度に基づき、前記取得されたビデオの複数のフレームの中から重要フレームを決定する動作;及び
前記決定された重要フレームに関連する複数の表現ベクター(Representation vector)に係るデータベースを生成する動作を含む、
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項18】
請求項17において、
前記動作は、前記取得されたビデオにおいて決定された複数の重要フレームの間の区間において、音声認識(STT)を行いSTTテキスト情報を生成する動作;及び
前記STTテキスト情報に係る表現ベクター(Representation vector)を抽出する動作をさらに含む、
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項19】
請求項18において、
前記決定された重要フレームに関連する複数の表現ベクターに係るデータベースは、各々の重要フレームから抽出された画像の表現ベクターとテキストの表現ベクター;及び
前記複数の重要フレームの間の区間において生成されたSTTテキスト情報から抽出された表現ベクターを含む、
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項20】
請求項19において、前記動作は、前記決定された重要フレームに関連する複数の表現ベクターに係るデータベースを基に、最終検索データベースを生成する動作をさらに含む、
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項21】
請求項17において、
前記取得されたビデオの各々のフレームからテキストの表現ベクターを抽出する動作は、
各々のフレームに係る字幕情報と、各々のフレームの画像に対してテキスト認識を行って取得されたテキスト情報とのうち少なくとも1つに基づき、テキストの表現ベクターを抽出する動作を含む
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項22】
請求項17において、
前記取得されたビデオの複数のフレームの中から重要フレームを決定する動作は、
時系列において一番直近のタイミングで決定された1つ以上の重要フレームの静的表現ベクターと、候補フレームの静的表現ベクターとの間の類似度の計算に基づき、前記候補フレームを重要フレームとして決定する動作を含む
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項23】
コンピューティング装置であって、
少なくとも1つのプロセッサー;及びメモリーを含み、
前記少なくとも1つのプロセッサーは、
ビデオを取得し;
前記取得されたビデオの各々のフレームから、画像に係るパターン(pattern)に係る情報を含む、画像の表現ベクター(Representation vector)を抽出し;
前記取得されたビデオの各々のフレームから、テキストに係るパターンに係る情報を含む、テキストの表現ベクター(Representation vector)を抽出し;
前記取得されたビデオの各々のフレームを、前記画像の表現ベクターと前記テキストの表現ベクターとを含む静的表現ベクターとして表現し;
前記取得されたビデオの複数のフレームにおける前記静的表現ベクターの間の類似度に基づき、前記取得されたビデオの複数のフレームの中から重要フレームを決定し;且つ
前記決定された重要フレームに関連する複数の表現ベクター(Representation vector)に係るデータベースを生成するように構成される、
装置。
【請求項24】
請求項23において、
前記少なくとも1つのプロセッサーは、
前記取得されたビデオにおいて決定された複数の重要フレームの間の区間において、音声認識(STT)を行いSTTテキスト情報を生成し;且つ
前記STTテキスト情報に係る表現ベクター(Representation vector)を抽出するように追加で構成される、
装置。
【請求項25】
請求項24において、
前記決定された重要フレームに関連する複数の表現ベクターに係るデータベースは、
各々の重要フレームから抽出された画像の表現ベクターとテキストの表現ベクター;及び
前記複数の重要フレームの間の区間において生成されたSTTテキスト情報から抽出された表現ベクターを含む、装置。
【請求項26】
請求項25において、
前記少なくとも1つのプロセッサーは、
前記決定された重要フレームに関連する複数の表現ベクターに係るデータベースを基に、最終検索データベースを生成するように追加で構成される、
装置。
【請求項27】
請求項23において、
前記少なくとも1つのプロセッサーは、
各々のフレームに係る字幕情報と、各々のフレームの画像に対してテキスト認識を行って取得されたテキスト情報とのうち少なくとも1つに基づき、テキストの表現ベクターを抽出するように構成される、
装置。
【請求項28】
請求項23において、
前記少なくとも1つのプロセッサーは、
時系列において一番直近のタイミングで決定された1つ以上の重要フレームの静的表現ベクターと、候補フレームの静的表現ベクターとの間の類似度の計算に基づき、前記候補フレームを重要フレームとして決定するように構成される、
装置。
【手続補正書】
【提出日】2024-10-11
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピューティング装置により実行される、ビデオを用いたデータベースを構築する方法であって、
前記ビデオを取得する段階;
前記取得されたビデオの各々のフレームから、画像に係るパターン(pattern)に係る情報を含む、画像の表現ベクター(Representation vector)を抽出する段階;
前記取得されたビデオの各々のフレームから、テキストに係るパターンに係る情報を含む、テキストの表現ベクター(Representation vector)を抽出する段階;
前記取得されたビデオの各々のフレームを、前記画像の表現ベクターと前記テキストの表現ベクターとを含む静的表現ベクター(static Representation vector)として表現する段階、
前記取得されたビデオの複数のフレームにおける前記静的表現ベクターの間の類似度に基づき、前記取得されたビデオの複数のフレームの中から重要フレームを決定する段階;及び
前記決定された重要フレームに関連する複数の表現ベクター(Representation vector)に係るデータベースを生成する段階を含み、ここで、
前記各々の重要フレームの複数の表現ベクターは、各々の重要フレームに係る音声認識(STT)テキスト情報に係る表現ベクターをさらに含む、
方法。
【請求項2】
請求項1において、
前記画像の表現ベクターを抽出するためのモデルと、前記テキストの表現ベクターを抽出するためのモデルとのうち少なくとも1つは、画像・テキスト間の対照学習(Contrastive learning)に基づいて学習されたモデルである、
方法。
【請求項3】
請求項1において、
前記方法は、前記取得されたビデオにおいて決定された複数の重要フレームの間の区間において、前記STTを行いSTTテキスト情報を生成する段階;及び
前記STTテキスト情報に係る前記表現ベクター(Representation vector)を抽出する段階をさらに含み、ここで、
前記決定された重要フレームに関連する複数の表現ベクターに係るデータベースは、
各々の重要フレームから抽出された画像の表現ベクターとテキストの表現ベクター;及び
前記複数の重要フレームの間の区間において生成されたSTTテキスト情報から抽出された表現ベクターを含む、
方法。
【請求項4】
請求項3において、
前記決定された重要フレームに関連する複数の表現ベクターに係るデータベースを生成する段階は、
前記複数の重要フレームの間の区間において生成されたSTTテキスト情報から抽出された表現ベクターを、前記複数の重要フレームのうち、前記区間において時系列において一番先に位置する重要フレームに係る表現として決定する段階を含む、
方法。
【請求項5】
請求項4において、
前記決定された重要フレームに関連する複数の表現ベクターに係るデータベースは、
第1重要フレームに関連する複数の表現ベクター;及び
前記第1重要フレーム以降の第2重要フレームに関連する複数の表現ベクターを含み、
前記第1重要フレームに関連する複数の表現ベクターは、
前記第1重要フレームから抽出されたたテキストの表現ベクター;
前記第1重要フレームから抽出された画像の表現ベクター;及び
前記第1重要フレームと前記第2重要フレームの間の区間から抽出されたSTTテキスト情報に係る表現ベクターを含む、
方法。
【請求項6】
請求項3において、
前記方法は、前記決定された重要フレームに関連する複数の表現ベクターに係るデータベースを基に、最終検索データベースを生成する段階をさらに含み、
前記最終検索データベースは、前記ビデオに係る情報を含むメタデータ;
前記重要フレームに含まれた静的な画像情報を示す画像の表現ベクター;前記重要フレームに含まれた静的なテキスト情報を示すテキストの表現ベクター;及び
前記複数の重要フレームの間の区間に係る複数の動的な情報が含まれているSTTテキスト情報に係る表現ベクターを含む、
方法。
【請求項7】
請求項1において、
前記取得されたビデオの各々のフレームからテキストの表現ベクターを抽出する段階は、 各々のフレームに係る字幕情報と、各々のフレームの画像に対してテキスト認識を行って取得されたテキスト情報とのうち少なくとも1つに基づき、テキストの表現ベクターを抽出する段階を含む、
方法。
【請求項8】
請求項1において、
前記取得されたビデオの複数のフレームの中から重要フレームを決定する段階は、
時系列において一番直近のタイミングで決定された1つ以上の重要フレームの静的表現ベクターと、候補フレームの静的表現ベクターとの間の類似度の計算に基づき、前記候補フレームを重要フレームとして決定する段階を含む、
方法。
【請求項9】
コンピューティング装置により実行される、ビデオ検索の方法であって、
ビデオに係る検索情報を取得する段階;
前記検索情報に係る表現ベクター(Representation vector)を抽出する段階;及び
前記検索情報から抽出された表現ベクターと、前記ビデオにおいて決定された複数の重要フレームにおける複数の表現ベクターとの比較に基づき、前記検索情報に関連する重要フレームを決定する段階を含み、
各々の重要フレームの複数の表現ベクターは、各々の重要フレームの画像から抽出された表現ベクター、及び各々の重要フレームのテキストから抽出された表現ベクターを含み、ここで
前記各々の重要フレームの複数の表現ベクターは、各々の重要フレームに係るSTTテキスト情報に係る表現ベクターをさらに含む、
方法。
【請求項10】
請求項9において、
前記各々の重要フレームに係るSTTテキスト情報の表現ベクターは、
前記各々の重要フレームと以降の重要フレームとの間の区間に係るSTTテキスト情報の表現ベクターを含む
方法。
【請求項11】
請求項9において、
前記方法は、
前記検索情報に関連する重要フレームに係る情報を提供する段階をさらに含み、
前記検索情報に関連する重要フレームに係る情報は、
前記関連する重要フレームと、前記関連する重要フレームの次の重要フレームとの間の区間と対応するビデオ情報を含む、
方法。
【請求項12】
請求項11において、
前記検索情報に関連する重要フレームに係る情報を提供する段階は、
前記STTテキスト情報に基づき、前記検索情報と対応するタイムスタンプ(timestamp)を提供する段階をさらに含む、
方法。
【請求項13】
コンピューター可読保存媒体に保存されたコンピュータープログラムであって、前記コンピュータープログラムは、1つ以上のプロセッサーにおいて実行される場合、前記1つ以上のプロセッサーに、ビデオを用いたデータベースを構築するための以下の動作を実行させるが、前記動作は:
前記ビデオを取得する動作;
前記取得されたビデオの各々のフレームから、画像に係るパターン(pattern)に係る情報を含む、画像の表現ベクター(Representation vector)を抽出する動作;
前記取得されたビデオの各々のフレームから、テキストに係るパターンに係る情報を含む、テキストの表現ベクター(Representation vector)を抽出する動作;
前記取得されたビデオの各々のフレームを、前記画像の表現ベクターと前記テキストの表現ベクターとを含む静的表現ベクター(static Representation vector)として表現する動作;
前記取得されたビデオの複数のフレームにおける前記静的表現ベクターの間の類似度に基づき、前記取得されたビデオの複数のフレームの中から重要フレームを決定する動作;及び
前記決定された重要フレームに関連する複数の表現ベクター(Representation vector)に係るデータベースを生成する動作を含み、ここで、
前記各々の重要フレームの複数の表現ベクターは、各々の重要フレームに係るSTTテキスト情報に係る表現ベクターをさらに含む、
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項14】
請求項13において、
前記動作は、前記取得されたビデオにおいて決定された複数の重要フレームの間の区間において、前記STTを行いSTTテキスト情報を生成する動作;及び
前記STTテキスト情報に係る表現ベクター(Representation vector)を抽出する動作をさらに含み、ここで、
前記決定された重要フレームに関連する複数の表現ベクターに係るデータベースは、
各々の重要フレームから抽出された画像の表現ベクターとテキストの表現ベクター;及び
前記複数の重要フレームの間の区間において生成されたSTTテキスト情報から抽出された表現ベクターを含む、
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項15】
請求項14において、前記動作は、前記決定された重要フレームに関連する複数の表現ベクターに係るデータベースを基に、最終検索データベースを生成する動作をさらに含み、
前記最終検索データベースは、前記ビデオに係る情報を含むメタデータ;
前記重要フレームに含まれた静的な画像情報を示す画像の表現ベクター;前記重要フレームに含まれた静的なテキスト情報を示すテキストの表現ベクター;及び
前記複数の重要フレームの間の区間に係る複数の動的な情報が含まれているSTTテキスト情報に係る表現ベクターを含む、
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項16】
請求項13において、
前記取得されたビデオの各々のフレームからテキストの表現ベクターを抽出する動作は、
各々のフレームに係る字幕情報と、各々のフレームの画像に対してテキスト認識を行って取得されたテキスト情報とのうち少なくとも1つに基づき、テキストの表現ベクターを抽出する動作を含む
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項17】
請求項13において、
前記取得されたビデオの複数のフレームの中から重要フレームを決定する動作は、
時系列において一番直近のタイミングで決定された1つ以上の重要フレームの静的表現ベクターと、候補フレームの静的表現ベクターとの間の類似度の計算に基づき、前記候補フレームを重要フレームとして決定する動作を含む
コンピューター可読保存媒体に保存されたコンピュータープログラム。
【請求項18】
コンピューティング装置であって、
少なくとも1つのプロセッサー;及びメモリーを含み、
前記少なくとも1つのプロセッサーは、
ビデオを取得し;
前記取得されたビデオの各々のフレームから、画像に係るパターン(pattern)に係る情報を含む、画像の表現ベクター(Representation vector)を抽出し;
前記取得されたビデオの各々のフレームから、テキストに係るパターンに係る情報を含む、テキストの表現ベクター(Representation vector)を抽出し;
前記取得されたビデオの各々のフレームを、前記画像の表現ベクターと前記テキストの表現ベクターとを含む静的表現ベクターとして表現し;
前記取得されたビデオの複数のフレームにおける前記静的表現ベクターの間の類似度に基づき、前記取得されたビデオの複数のフレームの中から重要フレームを決定し;且つ
前記決定された重要フレームに関連する複数の表現ベクター(Representation vector)に係るデータベースを生成するように構成され、ここで、
前記各々の重要フレームの複数の表現ベクターは、各々の重要フレームに係るSTTテキスト情報に係る表現ベクターをさらに含む、
装置。
【請求項19】
請求項18において、
前記少なくとも1つのプロセッサーは、
前記取得されたビデオにおいて決定された複数の重要フレームの間の区間において、前記STTを行いSTTテキスト情報を生成し;且つ
前記STTテキスト情報に係る表現ベクター(Representation vector)を抽出するように追加で構成され、
前記決定された重要フレームに関連する複数の表現ベクターに係るデータベースは、
各々の重要フレームから抽出された画像の表現ベクターとテキストの表現ベクター;及び
前記複数の重要フレームの間の区間において生成されたSTTテキスト情報から抽出された表現ベクターを含む、
装置。
【請求項20】
請求項19において、
前記少なくとも1つのプロセッサーは、
前記決定された重要フレームに関連する複数の表現ベクターに係るデータベースを基に、最終検索データベースを生成するように追加で構成され、
前記最終検索データベースは、前記ビデオに係る情報を含むメタデータ;
前記重要フレームに含まれた静的な画像情報を示す画像の表現ベクター;前記重要フレームに含まれた静的なテキスト情報を示すテキストの表現ベクター;及び
前記複数の重要フレームの間の区間に係る複数の動的な情報が含まれているSTTテキスト情報に係る表現ベクターを含む、
装置。
【請求項21】
請求項19において、
前記少なくとも1つのプロセッサーは、
各々のフレームに係る字幕情報と、各々のフレームの画像に対してテキスト認識を行って取得されたテキスト情報とのうち少なくとも1つに基づき、テキストの表現ベクターを抽出するように構成される、
装置。
【請求項22】
請求項19において、
前記少なくとも1つのプロセッサーは、
時系列において一番直近のタイミングで決定された1つ以上の重要フレームの静的表現ベクターと、候補フレームの静的表現ベクターとの間の類似度の計算に基づき、前記候補フレームを重要フレームとして決定するように構成される、
装置。