説明

情報処理装置及び情報処理プログラム

【課題】動画と関連付ける情報として、本構成を有していない場合に比較して、動画内の画像に対する文字認識結果であって、認識精度の高い文字認識結果を用いるようにした情報処理装置を提供する。
【解決手段】情報処理装置の判定手段は、動画内で撮影されている静止画像を判定し、文字認識手段は、前記判定手段によって判定された静止画像を対象として文字認識を行い、取得手段は、前記動画に関する情報を取得し、修正手段は、前記取得手段によって取得された情報に基づいて、前記文字認識手段による文字認識結果を修正し、出力手段は、前記修正手段によって修正された文字認識結果を前記動画と関連付けて出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【0002】
文字認識に関する技術がある。これに関連する技術として、例えば、特許文献1には、映像中のテロップを高精度に検出・認識可能なテロップ情報処理装置を提供することを課題とし、テロップ候補画像作成部、テロップ文字列領域候補抽出部、テロップ文字画素抽出部、テロップ文字認識部により、映像からテロップが表示されている領域を検出し、テロップ文字を構成する画素のみを抽出して、文字認識処理で認識を行うとともに、テロップ情報作成部では、これら一連の処理の信頼性評価結果に基づいて、1つのテロップに対して存在する複数の認識結果から1つを選択し、その際、テロップ情報作成部では、テロップ文字画素抽出部におけるテロップ文字抽出処理の信頼度評価値もしくはテロップ文字認識部における文字認識処理の認識信頼度又はその両方を用いて最終的なテロップ情報を求めることが開示されている。
【0003】
また、例えば、特許文献2には、読み取った文字列が辞書に登録されているかどうか辞書引きを行って文字列を単語と認定し、品詞間の接続関係を記述した接続テーブルを利用して単語同士の妥当性を保証することによって前後関係から文字を確定し文字の読取り性能を改善するようにした単語チェック機能を持つ日本語文字認識装置を提供することを目的とし、日本語の文字を読み取り曖昧性のある文字であれば可能性の高いいくつかの候補を抽出する読取り手段と、この読取り手段により読み取られた文字列中に曖昧性のある文字があれば可能性の高いいくつかの候補を組み合わせて可能な組み合わせの文字列を展開する可能性展開手段と、この可能性展開手段により展開された可能な組み合わせの文字列に対して語切りを行う語切り手段と、この語切り手段により語切られた単語が辞書に登録されているかどうかを確認する辞書引き手段と、この辞書引き手段により辞書に登録されていると確認された単語の接続関係を品詞間の接続関係を記述した接続テーブルを参照して検定する接続検定手段とを有することが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2001−285716号公報
【特許文献2】特開平04−115384号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、動画と関連付ける情報として、本構成を有していない場合に比較して、動画内の画像に対する文字認識結果であって、認識精度の高い文字認識結果を用いるようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、動画内で撮影されている静止画像を判定する判定手段と、前記判定手段によって判定された静止画像を対象として文字認識を行う文字認識手段と、前記動画に関する情報を取得する取得手段と、前記取得手段によって取得された情報に基づいて、前記文字認識手段による文字認識結果を修正する修正手段と、前記修正手段によって修正された文字認識結果を前記動画と関連付けて出力する出力手段を具備することを特徴とする情報処理装置である。
【0007】
請求項2の発明は、前記取得手段は、前記動画内の人物を認識して、該人物に関する情報を取得し、前記修正手段は、前記取得手段によって取得された人物に関する情報に基づいて、前記文字認識結果を修正することを特徴とする請求項1に記載の情報処理装置である。
【0008】
請求項3の発明は、前記取得手段は、前記動画を識別する情報である動画識別情報又は該動画識別情報と前記判定手段によって判定された静止画像の時間的順番に基づいて、該静止画像内に含まれている可能性がある文字情報を取得し、前記修正手段は、前記取得手段によって取得された文字情報に基づいて、前記文字認識結果を修正することを特徴とする請求項1又は2に記載の情報処理装置である。
【0009】
請求項4の発明は、前記取得手段は、予め定められた時間的順番の前記静止画像に対する前記文字認識手段による文字認識結果内の人物名を抽出し、該人物名に関する情報を取得し、前記修正手段は、前記取得手段によって取得された人物名に関する情報に基づいて、前記文字認識手段による文字認識結果を修正することを特徴とする請求項1から3のいずれか一項に記載の情報処理装置である。
【0010】
請求項5の発明は、前記取得手段は、前記動画の撮影場所と撮影日時に関する情報を抽出し、該撮影場所と該撮影日時に行われた出来事に関する情報を取得し、前記修正手段は、前記取得手段によって取得された出来事に関する情報に基づいて、前記文字認識手段による文字認識結果を修正することを特徴とする請求項1から4のいずれか一項に記載の情報処理装置である。
【0011】
請求項6の発明は、前記取得手段は、前記文字認識手段による文字認識結果に対して形態素解析を行い、該形態素解析の結果の文字列又は該文字列に類似する文字列に関する情報を取得し、前記修正手段は、前記取得手段によって取得された文字列に関する情報に基づいて、前記文字認識手段による文字認識結果を修正することを特徴とする請求項1から5のいずれか一項に記載の情報処理装置である。
【0012】
請求項7の発明は、前記取得手段は、前記文字認識手段による文字認識結果内の人物名又は出来事名を抽出し、該人物名又は該出来事名が複数ある場合は、前記静止画像の時間的順番に基づいた重み付けを行い、該重み付けの結果を用いて選択した人物名又は出来事名に関する情報を取得し、前記修正手段は、前記取得手段によって取得された人物名又は出来事名に関する情報に基づいて、前記文字認識手段による文字認識結果を修正することを特徴とする請求項1から6のいずれか一項に記載の情報処理装置である。
【0013】
請求項8の発明は、コンピュータを、動画内で撮影されている静止画像を判定する判定手段と、前記判定手段によって判定された静止画像を対象として文字認識を行う文字認識手段と、前記動画に関する情報を取得する取得手段と、前記取得手段によって取得された情報に基づいて、前記文字認識手段による文字認識結果を修正する修正手段と、前記修正手段によって修正された文字認識結果を前記動画と関連付けて出力する出力手段として機能させるための情報処理プログラムである。
【発明の効果】
【0014】
請求項1の情報処理装置によれば、動画と関連付ける情報として、本構成を有していない場合に比較して、動画内の画像に対する文字認識結果であって、認識精度の高い文字認識結果を用いることができる。
【0015】
請求項2の情報処理装置によれば、動画内で撮影されている人物に関する情報に基づいて、文字認識結果を修正することができる。
【0016】
請求項3の情報処理装置によれば、動画識別情報と静止画像の時間的順番に関する情報に基づいて、文字認識結果を修正することができる。
【0017】
請求項4の情報処理装置によれば、人物名に関する情報に基づいて、文字認識結果を修正することができる。
【0018】
請求項5の情報処理装置によれば、その動画の撮影場所と撮影日時に行われた出来事に関する情報に基づいて、文字認識結果を修正することができる。
【0019】
請求項6の情報処理装置によれば、文字認識結果に対する形態素解析結果の文字列又は該文字列に類似する文字列に関する情報に基づいて、文字認識結果を修正することができる。
【0020】
請求項7の情報処理装置によれば、静止画像の時間的順番による重み付けが行われた人物名又は出来事名に関する情報に基づいて、文字認識結果を修正することができる。
【0021】
請求項8の情報処理プログラムによれば、動画と関連付ける情報として、本構成を有していない場合に比較して、動画内の画像に対する文字認識結果であって、認識精度の高い文字認識結果を用いることができる。
【図面の簡単な説明】
【0022】
【図1】本実施の形態の構成例についての概念的なモジュール構成図である。
【図2】本実施の形態の構成例についての概念的なモジュール構成図である。
【図3】本実施の形態の構成例についての概念的なモジュール構成図である。
【図4】本実施の形態(人物認識モジュール)による処理例を示すフローチャートである。
【図5】動画、スライド画像、顔領域の例を示す説明図である。
【図6】人物キーワード群テーブルのデータ構造例を示す説明図である。
【図7】本実施の形態(動画ID・ページNo認識モジュール)による処理例を示すフローチャートである。
【図8】動画ID・ページIDキーワード群テーブルのデータ構造例を示す説明図である。
【図9】本実施の形態(講演者名認識モジュール)による処理例を示すフローチャートである。
【図10】講演者名キーワード群テーブルのデータ構造例を示す説明図である。
【図11】本実施の形態(講義名特定モジュール)による処理例を示すフローチャートである。
【図12】タイムテーブルのデータ構造例を示す説明図である。
【図13】講義名キーワード群テーブルのデータ構造例を示す説明図である。
【図14】動画、スライド画像の例を示す説明図である。
【図15】本実施の形態(テキスト群整形モジュール)による処理例を示すフローチャートである。
【図16】動画、スライド画像の例を示す説明図である。
【図17】テキスト群キーワード群テーブルのデータ構造例を示す説明図である。
【図18】本実施の形態(人名抽出モジュール、講義名抽出モジュール)による処理例を示すフローチャートである。
【図19】動画、スライド画像の例を示す説明図である。
【図20】人名/講義名キーワード群テーブルのデータ構造例を示す説明図である。
【図21】動画、スライド画像の例を示す説明図である。
【図22】本実施の形態を実現した場合のシステム構成例を示す説明図である。
【図23】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0023】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。また、「Aである場合、Bをする」という意味を有する記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
【0024】
本実施の形態である情報処理装置は、動画に情報を関連付けるものであって、図1の例に示すように、動画格納モジュール100、動画読取モジュール105、スライド画像判定モジュール110、文字認識モジュール115、単語推定モジュール120、コンテキスト取得モジュール125、キーワード群選択モジュール130、キーワード群格納モジュール140、単語出力モジュール145、単語格納モジュール150を有している。
動画に情報を関連付けるとは、その情報によって動画を検索しやすいようにするためである。本実施の形態は、例えば、講義風景を撮影した動画を解析して、文字列を抽出しインデキシングしてテキストによる動画検索を可能とするシステムに利用され得るものである。より具体的には、撮影されている動画像に、スライド投影されているシーンが存在する場合に、そのスライドに含まれる文字列を抽出してインデキシングを行い検索可能とするものである。
【0025】
動画格納モジュール100は、動画読取モジュール105と接続されている。動画格納モジュール100は、動画読取モジュール105からアクセスされ、動画(動画データ)を記憶する。動画は、カラー映像、白黒映像であってもよい。また、音声が含まれていてもよい。動画の撮影内容としては、文字が含まれている静止画像が含まれており、例えば、スライド等を用いた講義、プレゼンテーション等がある。ここでの静止画像とは、撮影した映像内で、予め定められた時間以上の間、静止している部分の画像をいい、例えば、前述の講義等におけるスライドを撮影した画像が該当する。以下、静止画像をスライドともいうが、スライドに限られない。
動画読取モジュール105は、動画格納モジュール100、スライド画像判定モジュール110と接続されている。動画読取モジュール105は、動画格納モジュール100に記憶されている動画から、対象とする動画を読み取り、スライド画像判定モジュール110に渡す。
【0026】
スライド画像判定モジュール110は、動画読取モジュール105、文字認識モジュール115と接続されている。スライド画像判定モジュール110は、対象としている動画内で撮影されている静止画像を判定する。例えば、スライドの画像を動画から取り出す。具体的には、動画のフレームシーケンスに含まれており、その連続する前後のフレーム間毎に画素値の差を算出する。そして、算出された連続する前後のフレーム間毎の画素値の差と予め定められた閾値との比較結果に基づいて、そのフレームシーケンスの中で静止画像と判断される一連の複数のフレームのセットを識別する。より具体的には、フレーム間毎の画素値の差が予め定められた閾値より小さい又は以下である場合に、その部分(フレームの画像全体であってもよいし、そのフレームの画像内で前記条件を満たす部分の画像であってもよい)の画像を静止画像として判定する。このフレーム間とは、予め定められた時間以上離れているフレーム間とする。又は、フレーム間とは、隣り合ったフレーム間であるが、画素値の差が予め定められた閾値より小さい又は以下であることが、予め定められた時間以上に相当する連続するフレーム間で発生していることを検知した場合に、その部分の画像を静止画像として判定するようにしてもよい。
さらに、静止画像と判定する条件として、その静止画像が矩形であること、その静止画像内の予め定められた色(例えば、白等)の面積として、予め定められた割合より高い又は以上であること等を付け加えてもよい。
【0027】
文字認識モジュール115は、スライド画像判定モジュール110、単語推定モジュール120と接続されている。文字認識モジュール115は、スライド画像判定モジュール110によって判定された静止画像を対象として文字認識を行う。例えば、講義で用いられているスライド内の文字を認識することになる。文字認識は、既存の文字認識技術を用いればよい。
コンテキスト取得モジュール125は、キーワード群選択モジュール130と接続されている。コンテキスト取得モジュール125は、動画読取モジュール105が読み取った動画に関する情報を取得する。コンテキスト取得モジュール125が行う処理は、図2又は図3の例に示すコンテキスト取得モジュール125内のモジュールとして、後述する。
【0028】
キーワード群選択モジュール130は、単語推定モジュール120、コンテキスト取得モジュール125、キーワード群格納モジュール140と接続されている。キーワード群選択モジュール130は、コンテキスト取得モジュール125が取得した情報から、その情報に関連付けられているキーワード群をキーワード群格納モジュール140から選択する。
キーワード群格納モジュール140は、キーワード群選択モジュール130、単語出力モジュール145と接続されている。キーワード群格納モジュール140は、キーワード群選択モジュール130、単語出力モジュール145からアクセスされ、キーワード群を記憶している。キーワード群格納モジュール140が記憶しているキーワード群については、図2、図3、図6、図8、図10、図13、図17、図20等の例を用いて説明する。
【0029】
単語推定モジュール120は、文字認識モジュール115、キーワード群選択モジュール130、単語出力モジュール145と接続されている。単語推定モジュール120は、コンテキスト取得モジュール125又はキーワード群選択モジュール130によって取得された情報に基づいて、文字認識モジュール115による文字認識結果を修正する。例えば、文字認識モジュール115による文字認識結果の文字列に対して、形態素解析を行い、単語として認識された文字列を、動画に付与する単語の候補として単語出力モジュール145に渡す。また、文字認識結果である文字列内に、キーワード群選択モジュール130によって選択された各キーワードに対して、類似するキーワードがあった場合、動画に付与する単語の候補として単語出力モジュール145に渡す。
単語出力モジュール145は、単語推定モジュール120、キーワード群格納モジュール140、単語格納モジュール150と接続されている。単語出力モジュール145は、単語推定モジュール120によって修正された文字認識結果を対象としている動画と関連付けて出力する。例えば、単語推定モジュール120から受け取った単語を対象としている動画のインデキシングのために、単語格納モジュール150に格納するとともに、コンテキスト取得モジュール125が取得したコンテキスト情報と単語推定モジュール120から受け取った単語を対応させてキーワード群格納モジュール140に格納し、キーワード群格納モジュール140内の情報をアップデートする。
単語格納モジュール150は、単語出力モジュール145と接続されている。単語格納モジュール150は、対象としている動画と関連付けて、単語推定モジュール120から渡された文字認識結果を記憶する。例えば、テキストをキーワードとして動画を検索可能にするデータベース等である。
【0030】
図2は、本実施の形態の構成例についての概念的なモジュール構成図である。特に、図1の例に示したコンテキスト取得モジュール125を具体的に示したものである。なお、図1の例と同種の部位には同一符号を付し重複した説明を省略する。
動画読取モジュール105は、スライド画像判定モジュール110、コンテキスト取得モジュール125の人物認識モジュール210と接続されている。
スライド画像判定モジュール110は、動画読取モジュール105、文字認識モジュール115、コンテキスト取得モジュール125の動画ID・ページNo認識モジュール220と接続されている。
文字認識モジュール115は、スライド画像判定モジュール110、単語推定モジュール120、コンテキスト取得モジュール125の講演者名認識モジュール230と接続されている。
【0031】
コンテキスト取得モジュール125は、人物認識モジュール210、動画ID・ページNo認識モジュール220、講演者名認識モジュール230の少なくとも一つを有している。
人物認識モジュール210は、動画読取モジュール105、キーワード群選択モジュール130と接続されている。人物認識モジュール210は、対象としている動画内の人物を認識して、その人物に関する情報を取得する。例えば、動画に出現する公演者に対して顔認識を行い、顔認識の結果である顔情報(人物を特定する情報、具体的には、名前、識別情報等)をコンテキスト情報とする。詳細な処理内容については、図4から図6の例を用いて後述する。
この人物認識モジュール210による処理結果を用いる場合、単語推定モジュール120は、人物認識モジュール210によって取得された人物に関する情報に基づいて、文字認識結果を修正する。
【0032】
動画ID・ページNo認識モジュール220は、スライド画像判定モジュール110、キーワード群選択モジュール130と接続されている。動画ID・ページNo認識モジュール220は、対象としている動画を識別する情報である動画識別情報(以下、動画IDともいう)とスライド画像判定モジュール110によって判定された静止画像の時間的順番に基づいて、その動画識別情報とその時間的順番に基づいて、その静止画像内に含まれている可能性がある文字情報を取得する。例えば、対象としている動画の動画識別情報を取得し、またスライド画像判定モジュール110により抽出された画像が、その動画において何枚目なのかを判断する。「静止画像内に含まれている可能性がある文字情報」として、例えば、スライド内の文字をいう。詳細な処理内容については、図7、図8の例を用いて後述する。
この動画ID・ページNo認識モジュール220による処理結果を用いる場合、単語推定モジュール120は、動画ID・ページNo認識モジュール220によって取得された文字情報に基づいて、文字認識結果を修正する。
【0033】
講演者名認識モジュール230は、文字認識モジュール115、キーワード群選択モジュール130と接続されている。講演者名認識モジュール230は、予め定められた時間的順番の静止画像に対する文字認識モジュール115による文字認識結果内の人物名を抽出し、その人物名に関する情報を取得する。例えば、文字認識モジュール115から抽出された文字列から人名を講演者名として認識する。この場合、講演者名は通常初めのスライドに記述されるので、最初のスライド画像から抽出した人名を講演者名とする。詳細な処理内容については、図9、図10の例を用いて後述する。
この講演者名認識モジュール230による処理結果を用いる場合、単語推定モジュール120は、講演者名認識モジュール230によって取得された人物名に関する情報に基づいて、文字認識モジュール115による文字認識結果を修正する。
【0034】
キーワード群選択モジュール130は、単語推定モジュール120、人物認識モジュール210、動画ID・ページNo認識モジュール220、講演者名認識モジュール230、キーワード群格納モジュール140と接続されている。キーワード群選択モジュール130は、受け取ったコンテキスト情報の種類とその値に応じて、キーワード群格納モジュール140を検索する。人物認識モジュール210からコンテキスト情報としての人物(種別)とその値を受け取った場合、人物(種別)に該当するキーワード群を検索する。動画ID・ページNo認識モジュール220から動画ID・ページNoを受け取った場合、動画ID・ページNo(種別)に該当する動画IDのキーワード群、又は該当するページIDの前後のキーワード群を検索する。講演者名認識モジュール230からコンテキスト情報としての人名(種別)とその値を受け取った場合は、人名(種別)に該当する人名のキーワード群を検索する。
【0035】
キーワード群格納モジュール140は、キーワード群テーブル240を有している。キーワード群テーブル240は、ID欄242、コンテキストの種類欄244、コンテキストの値欄246、キーワード群欄248を有している。ID欄242は、キーワード群テーブル240内の情報を一意に識別できる符号を記憶している。コンテキストの種類欄244は、人物認識モジュール210、動画ID・ページNo認識モジュール220、講演者名認識モジュール230のいずれかから受け取った情報に対応するキーワード群を検索するのであるかを判別するためのコンテキストの種類を記憶している。コンテキストの値欄246は、そのコンテキストの値(具体的には、人物名、動画識別情報、ページ番号等)を記憶している。キーワード群欄248は、そのコンテキストに対応するキーワード群を記憶している。
単語推定モジュール120は、文字認識モジュール115から渡された認識結果の文字列と、キーワード群選択モジュール130によって選択されたキーワード群の類似度を判定し、予め定められた閾値以上のキーワードを単語候補として、単語出力モジュール145へ出力する。また、類似度を判定せずに、形態素解析等の処理によって単語として認識されたものを単語候補として、単語出力モジュール145へ出力するようにしてもよい。そして、これらの単語候補は、単語出力モジュール145によって、コンテキストの新しい値としてキーワード群格納モジュール140にフィードバックされる。
【0036】
図3は、本実施の形態の構成例についての概念的なモジュール構成図である。特に、図1の例に示したコンテキスト取得モジュール125を具体的に示したものである。なお、図1の例と同種の部位には同一符号を付し重複した説明を省略する。
動画読取モジュール105は、スライド画像判定モジュール110、講義名特定モジュール320と接続されている。
スライド画像判定モジュール110は、動画読取モジュール105、文字認識モジュール115と接続されている。
文字認識モジュール115は、スライド画像判定モジュール110、単語推定モジュール120、テキスト群整形モジュール330、人名抽出モジュール340、講義名抽出モジュール350と接続されている。
【0037】
タイムテーブル記憶モジュール310は、講義名特定モジュール320と接続されている。タイムテーブル記憶モジュール310は、曜日、場所(教室)、講義名等を記憶している。
コンテキスト取得モジュール125は、講義名特定モジュール320、テキスト群整形モジュール330、人名抽出モジュール340、講義名抽出モジュール350の少なくとも一つを有している。
講義名特定モジュール320は、動画読取モジュール105、キーワード群選択モジュール130、タイムテーブル記憶モジュール310と接続されている。講義名特定モジュール320は、対象としている動画の撮影場所と撮影日時に関する情報を抽出し、その撮影場所とその撮影日時に行われた出来事に関する情報を取得する。ここで、出来事としては、例えば講義がある。講義予定(タイムテーブル、場所と日時と講義名等を含む)から、講義に関する情報を取得する。
例えば、講義名特定モジュール320は、動画読取モジュール105で読み取られる動画の動画情報から、その動画が撮影された日時に関する情報である日時情報、撮影された場所に関する情報である場所情報を抽出する。動画が日時情報、場所情報と共に動画格納モジュール100に格納されている場合は、その日時情報、場所情報を抽出する。また、日時情報に関しては動画ファイルの記録日時から取得するようにしてもよい。場所情報に関しては、動画に含まれるメタデータからカメラのシリアル番号を抽出し、予め用意されたシリアル番号と場所情報とを対応付けたテーブルを利用することにより、場所情報を抽出するようにしてもよい。そして、その日時情報の曜日と時間から特定される講義名や授業名から、講義に関する情報を取得する。
詳細な処理内容については、図11から図14の例を用いて後述する。
この講義名特定モジュール320による処理結果を用いる場合、単語推定モジュール120は、講義名特定モジュール320によって取得された出来事に関する情報に基づいて、文字認識モジュール115による文字認識結果を修正する。
【0038】
テキスト群整形モジュール330は、文字認識モジュール115、キーワード群選択モジュール130と接続されている。テキスト群整形モジュール330は、文字認識モジュール115による文字認識結果に対して形態素解析を行い、その形態素解析の結果の文字列又はその文字列に類似する文字列に関する情報を取得する。例えば、テキスト群整形モジュール330は、文字認識モジュール115から受け取った文字列の整形を行う。整形として、形態素解析による単語抽出や予め定められた長さの文字列に切りとることを行う。詳細な処理内容については、図15から図17の例を用いて後述する。
このテキスト群整形モジュール330による処理結果を用いる場合、単語推定モジュール120は、テキスト群整形モジュール330によって取得された文字列に関する情報に基づいて、文字認識モジュール115による文字認識結果を修正する。
【0039】
人名抽出モジュール340は、文字認識モジュール115、キーワード群選択モジュール130と接続されている。人名抽出モジュール340は、文字認識モジュール115による文字認識結果内の人物名を抽出し、その人物名が複数ある場合は、静止画像の時間的順番に基づいた重み付けを行い、その重み付けの結果を用いて選択した人物名に関する情報を取得する。例えば、人名抽出モジュール340は、文字認識モジュール115から受け取った文字認識結果である文字列に対して、人名の抽出を行う。複数抽出された場合は、文字列以外に処理対象のスライド番号も受け取り、特に1枚目のスライドから抽出された人名に重み付けを行う。
この人名抽出モジュール340による処理結果を用いる場合、単語推定モジュール120は、人名抽出モジュール340によって取得された人物名に関する情報に基づいて、文字認識モジュール115による文字認識結果を修正する。
【0040】
講義名抽出モジュール350は、文字認識モジュール115、キーワード群選択モジュール130と接続されている。講義名抽出モジュール350は、文字認識モジュール115による文字認識結果内の出来事名を抽出し、その出来事名が複数ある場合は、静止画像の時間的順番に基づいた重み付けを行い、その重み付けの結果を用いて選択した出来事名に関する情報を取得する。例えば、講義名抽出モジュール350は、文字認識モジュール115から受け取った文字認識結果である文字列に対して、講義名の抽出を行う。複数抽出された場合は、文字列以外に処理対象のスライド番号をも受け取り、特に1枚目のスライドから抽出された講義名に重み付けを行う。また、スライドの上部などタイトルが表示されるような位置にある場合も重み付けを行う。人名抽出モジュール340、講義名抽出モジュール350の詳細な処理内容については、図18から図21の例を用いて後述する。
この講義名抽出モジュール350による処理結果を用いる場合、単語推定モジュール120は、講義名抽出モジュール350によって取得された出来事名に関する情報に基づいて、文字認識モジュール115による文字認識結果を修正する。
【0041】
キーワード群選択モジュール130は、単語推定モジュール120、講義名特定モジュール320、テキスト群整形モジュール330、人名抽出モジュール340、講義名抽出モジュール350、キーワード群格納モジュール140と接続されている。また、通信回線390を介して、データベースA:380、データベースB:382等と接続されている。キーワード群選択モジュール130は、受け取ったコンテキスト情報の種類とその値に応じて、キーワード群格納モジュール140を検索する。講義名特定モジュール320からコンテキスト情報としての講義名(種別)とその値を受け取った場合、講義名(種別)に該当するキーワード群を検索する。テキスト群整形モジュール330からコンテキスト情報がテキスト群(種別)とその値を受け取った場合、整形された文字列とテキスト群(種別)に該当するキーワード群とのマッチを行い、予め定められた閾値以上マッチするキーワード群を候補とする。人名抽出モジュール340、講義名抽出モジュール350からコンテキスト情報としての講義名(種別)、人名(種別)とその値を受け取った場合、講義名(種別)、人名(種別)に該当するキーワード群を検索する。また、検索対象として、キーワード群格納モジュール140内のキーワード群テーブル360以外に、データベースA:380、データベースB:382等を検索するようにしてもよい。
【0042】
キーワード群格納モジュール140は、キーワード群テーブル360を有している。キーワード群テーブル360は、ID欄362、コンテキストの種類欄364、コンテキストの値欄366、キーワード群欄368を有している。なお、キーワード群テーブル360は、図2の例に示したキーワード群テーブル240と同等のものである。ただし、キーワード群テーブル360内には、講義名特定モジュール320、テキスト群整形モジュール330、人名抽出モジュール340、講義名抽出モジュール350からのコンテキスト情報の種類に応じた情報を記憶している。
単語推定モジュール120は、文字認識モジュール115から渡された認識結果の文字列と、キーワード群選択モジュール130によって選択されたキーワード群の類似度を判定し、予め定められた閾値以上のキーワードを単語候補として、単語出力モジュール145へ出力する。また、類似度を判定せずに、形態素解析等の処理によって単語として認識されたものを単語候補として、単語出力モジュール145へ出力するようにしてもよい。そして、これらの単語候補は、単語出力モジュール145によって、コンテキストの新しい値としてキーワード群格納モジュール140にフィードバック(格納)される。
【0043】
図4は、本実施の形態(人物認識モジュール210)による処理例を示すフローチャートである。コンテキスト情報として人物を利用する場合について説明する。ここでは、既に、スライド画像判定モジュール110が、動画を解析して、スライドが投影されている画像を静止画像(又は、スライドが投影されている画像内のスライド部分を静止画像)として抽出している。
【0044】
ステップS402では、人物認識モジュール210が、動画像を解析して人物を特定する。特定する技術として顔認識技術がある。過去に認識されている顔画像に合致する場合は、その顔画像の顔情報を取得する。顔画像を認識できなかった場合は、ステップS406に進む。
ステップS404では、キーワード群選択モジュール130が、得られた顔情報を利用して、その顔情報に関連付けられている、キーワード群をキーワード群格納モジュール140から検索する。
ステップS406は、文字認識モジュール115が、静止画像を対象として文字認識を行う。
【0045】
ステップS408では、単語推定モジュール120が、文字認識結果である文字列に対して、文字列の切り出しを行う。文字認識された文字列に対して、形態素解析を行い、ステップS404のキーワード群検索で検索されたキーワードの文字列の長さになるように、文字列を切り出す。
ステップS410では、単語推定モジュール120が、形態素解析の結果、名詞として抽出された単語を抽出する。さらに、ステップS408で切り出された、文字列とキーワード群に含まれるキーワードとの類似度を算出する。この場合、同じ長さの単語同士を比較することで計算量を減らすようにしてもよい。類似度の算出は、レーベンシュタイン距離と単語の長さを利用することで求める。
【0046】
ステップS412では、単語出力モジュール145が、形態素解析の結果得られた単語と類似度計算の結果得られた単語をキーワード群格納モジュール140に格納する。
ステップS414では、単語出力モジュール145が、解析結果を出力する。これらの結果は動画を示すIDとともにインデキシングされる。
図4の例に示すフローチャートの処理は、1つの動画に含まれる静止画像に対して、文字認識した結果を修正しているが、動画に含まれるスライド一枚毎に処理をするようにしてもよい。
【0047】
より具体的に、図5を用いて説明する。図5は、動画500、スライド画像510、顔領域520の例を示す説明図である。
動画500は、対象としている動画内の一フレームの画像である。動画500には、スライド画像510、人物が撮影されている。スライド画像判定モジュール110が、動画500を静止画像として判定する。
ステップS402で、人物認識モジュール210が、顔領域520に対して顔認識を行う。例えば、人物Aであると認識できたとする。
ステップS404で、キーワード群選択モジュール130が、図6の例に示す人物キーワード群テーブル600から、コンテキストの種類が人物(コンテキストの種類欄604)であり、その値(顔認識の結果)が人物A(コンテキストの値欄606)である、キーワード群(キーワード群欄608)を抽出する。なお、人物キーワード群テーブル600は、図2の例に示したキーワード群テーブル240と同等のものである。ここでは、キーワード群欄608内の「セキュリティ、認証、暗号、アクセス」のキーワード群を抽出することになる。
【0048】
ステップS406で、文字認識モジュール115が、スライド画像510を対象として文字認識を行う。この結果、「墓本釣1こ七キュリTオとセーフティな畳右る」という文字認識結果を得たとする。このような認識結果となるのは、動画から切り出した静止画像は、紙をスキャンした画像などと比べて、解像度やコントラストが低い場合が多く、正確な文字認識が困難となる。
ステップS408で、単語推定モジュール120が、文字認識結果に対する形態素解析の結果、名詞である「セーフティ」を抽出する。
そして、ステップS404で抽出したキーワード群内の各文字列の長さを計数する。この場合は、6文字、2文字、4文字となる。そこで、文字認識結果を2文字、4文字、6文字になるように切り分ける。この結果、「墓本、本釣、釣1、1こ、こ七、七キ、・・・、七キュリTオ、・・・、ティな畳右る」となる。
【0049】
ステップS410で、単語推定モジュール120が、「七キュリTオ」(文字認識結果である文字列であり、6文字で切り分けられたもの)と「セキュリティ」(キーワード群に含まれるキーワード)とを比較した場合、「七」、「T」、「オ」の3文字が異なるのでレーベンシュタイン(Levenstein)距離は3となり、その値を単語列の長さ6で割った値である0.5を類似度とする。そして、類似度が予め定められた閾値以下の場合に、候補の文字列として、比較対象となったキーワードを単語出力モジュール145へ出力する。例えば閾値が0.5の場合「セキュリティ」が出力される。
ステップS412で、単語出力モジュール145が、形態素解析の結果得られた単語「セーフティ」と類似度計算の結果得られたキーワード「セキュリティ」をキーワード群格納モジュール140に対して格納する。つまり、「人物A」に対応する人物キーワード群テーブル600のキーワード群欄608に「セーフティ」が追加されることになる。なお、「セキュリティ」は既にあるキーワードである。
ステップS414で、単語出力モジュール145が、対象としている動画に対して、「セーフティ」と「セキュリティ」をインデキシング情報として付加する。
【0050】
図7は、本実施の形態(動画ID・ページNo認識モジュール220)による処理例を示すフローチャートである。コンテキストとして動画IDとページNoを利用する場合について説明する。ここでは、既に、スライド画像判定モジュール110が、動画を解析して、スライドが投影されている画像を静止画像(又は、スライドが投影されている画像内のスライド部分を静止画像)として抽出している。
ステップS702では、動画ID・ページNo認識モジュール220が、動画ID・ページNoを特定したか否かを判断し、特定した場合はステップS704へ進み、特定なしの場合はステップS706へ進む。動画IDとページNoの特定では、解析対象の動画に与えられた動画IDを利用する。この動画IDはその動画に予め付されていたものを利用してもよいし、動画IDと対応して動画のタイトル、撮影日時を記憶しているテーブルを用いて、動画に付されているタイトル、撮影日時から動画IDを求めてもよい。ページNoは、その動画IDの動画が解析される場合に、テキスト抽出対象として抽出された静止画像の時間的順番を示すものである。つまり、静止画像として抽出された画像の順番である。具体的には、スライドが変わると(ページめくりされると)、新しくそのスライドが静止画像として抽出されることになる。したがって、静止画像として判定されたものの時間的順番が、ここでのページNoとなる。
【0051】
ステップS704では、キーワード群選択モジュール130が、動画ID又はページNoを利用して、その動画IDとページNoに関連付けられている、キーワード群をキーワード群格納モジュール140から検索する。
例えば、キーワード群格納モジュール140内に動画ID・ページIDキーワード群テーブル800が記憶されており、静止画像を抽出した動画が、A123という動画IDであり、3ページ目の静止画像と特定した場合について説明する。なお、図8は、動画ID・ページIDキーワード群テーブル800のデータ構造例を示す説明図である。動画ID・ページIDキーワード群テーブル800は、ID欄802、コンテキストの種類欄804、コンテキストの値欄806、キーワード群欄808を有している。動画ID・ページIDキーワード群テーブル800は、キーワード群テーブル240と同等のものであるが、説明のため、コンテキストの種類欄804が動画ID・ページNoのものを示している。
キーワード群選択モジュール130が行うキーワード群検索では、得られた動画ID:A123のページNo:003に関連するキーワード群を検索する。検索方法としては複数種類ある。例えば、A123が動画IDである全てのページを検索し(動画IDだけを用いた検索)、そのキーワード群欄808を抽出するようにしてもよい。A123が動画ID、かつ、ページNoが003であるものを検索し(動画ID及びページNoを用いた検索)、そのキーワード群欄808を抽出するようにしてもよい。又は、A123が動画IDであり、ページNoが003に関連するページNo(例えば、そのページの前の予め定められたページ数等、具体的には、1ページ、2ページ、3ページ等)を検索し、そのキーワード群欄808を抽出するようにしてもよい。さらに、後に続く静止画像のページも解析した後に、前ページだけでなく、後ろのページについても検索対象(例えば、そのページの後の予め定められたページ数等、具体的には、3ページ、4ページ、5ページ等、そのページの前と後ろの予め定められたページ数等、具体的には、1ページ、2ページ、3ページ、4ページ等)とし、そのキーワード群欄808を抽出するようにしてもよい。
【0052】
ステップS706以降の処理は、図4の例のフローチャートのステップS406以降の処理と同等である。
ステップS706では、文字認識モジュール115が、静止画像を対象として文字認識を行う。
ステップS708では、単語推定モジュール120が、文字認識結果である文字列に対して、文字列の切り出しを行う。
ステップS710では、単語推定モジュール120が、形態素解析の結果、名詞として抽出された単語を抽出する。さらに、ステップS708で切り出された、文字列とキーワード群に含まれるキーワードとの類似度を算出する。
ステップS712では、単語出力モジュール145が、形態素解析の結果得られた単語と類似度計算の結果得られた単語をキーワード群格納モジュール140に格納する。
ステップS714では、単語出力モジュール145が、解析結果を出力する。
図7の例に示すフローチャートの処理は、1つの動画に含まれる静止画像に対して、文字認識した結果を修正しているが、動画に含まれるスライド一枚毎に処理をするようにしてもよい。
【0053】
図9は、本実施の形態(講演者名認識モジュール230)による処理例を示すフローチャートである。コンテキストとして講演者名を利用する場合について説明する。ここでは、既に、スライド画像判定モジュール110が、動画を解析して、スライドが投影されている画像を静止画像(又は、スライドが投影されている画像内のスライド部分を静止画像)として抽出している。
ステップS902では、講演者名認識モジュール230が、講演者名を特定したか否かを判断し、特定した場合はステップS904へ進み、特定なしの場合はステップS906へ進む。ページNoが予め定められた数(例えば、1又は2)である静止画像に対して、文字認識モジュール115により文字認識を行わせる。そして、その文字認識結果内で、予め講演者名を記憶しているテーブル(例えば、後述する講演者名キーワード群テーブル1000、講演者名キーワード群テーブル1000のコンテキストの値欄1006だけのテーブル等)内の講演者名と一致するものがあるか否かを判断する。一致するものがある場合は、講演者名を特定したことになり、一致するものがない場合は、講演者名を特定なしになる。
【0054】
ステップS904では、キーワード群選択モジュール130が、講演者名を利用して、その講演者名に関連付けられている、キーワード群をキーワード群格納モジュール140から検索する。
例えば、キーワード群格納モジュール140内に講演者名キーワード群テーブル1000が記憶されている。なお、図10は、講演者名キーワード群テーブル1000のデータ構造例を示す説明図である。講演者名キーワード群テーブル1000は、ID欄1002、コンテキストの種類欄1004、コンテキストの値欄1006、キーワード群欄1008を有している。講演者名キーワード群テーブル1000は、キーワード群テーブル240と同等のものであるが、説明のため、コンテキストの種類欄1004が講演者名のものを示している。
キーワード群選択モジュール130が行うキーワード群検索では、得られた講演者名をコンテキストの値欄1006から検索し、その講演者名に関連するキーワード群欄1008を抽出する。
【0055】
ステップS906以降の処理は、図4の例のフローチャートのステップS406以降の処理と同等である。
ステップS906では、文字認識モジュール115が、静止画像を対象として文字認識を行う。
ステップS908では、単語推定モジュール120が、文字認識結果である文字列に対して、文字列の切り出しを行う。
ステップS910では、単語推定モジュール120が、形態素解析の結果、名詞として抽出された単語を抽出する。さらに、ステップS908で切り出された、文字列とキーワード群に含まれるキーワードとの類似度を算出する。
ステップS912では、単語出力モジュール145が、形態素解析の結果得られた単語と類似度計算の結果得られた単語をキーワード群格納モジュール140に格納する。
ステップS914では、単語出力モジュール145が、解析結果を出力する。
図9の例に示すフローチャートの処理は、1つの動画に含まれる静止画像に対して、文字認識した結果を修正しているが、動画に含まれるスライド一枚毎に処理をするようにしてもよい。
【0056】
図11は、本実施の形態(講義名特定モジュール320)による処理例を示すフローチャートである。コンテキスト情報として講義名を利用する場合について説明する。
ステップS1102では、講義名特定モジュール320が、動画の撮影日時及び撮影場所を取得する。この取得方法は、講義名特定モジュール320の処理の説明で既に述べた。
ステップS1104では、講義名特定モジュール320が、撮影日時から曜日と時間を求め、場所と曜日・時間をキーとしてタイムテーブル記憶モジュール310を検索し、講義名を取得する。タイムテーブル記憶モジュール310内にはタイムテーブル1200等が記憶されている。図12は、タイムテーブル1200等のデータ構造例を示す説明図である。タイムテーブル1200は、時間割欄1202、月欄1204、火欄1206、水欄1208等を有している。タイムテーブルは、例えば学年毎に複数ある(タイムテーブル1200、1220、1240)。時間割欄1202は、講義の開始時刻と終了時刻を記憶している。月欄1204は、月曜日の講義と教室を記憶している。火欄1206は、火曜日の講義と教室を記憶している。水欄1208は、水曜日の講義と教室を記憶している。講義名特定モジュール320は、撮影日時から、該当する曜日と時間における講義名と教室を抽出し、撮影場所が教室と一致している講義名を取得する。なお、ここで、講義名を取得できたか否かを判断して、取得できた場合はステップS1106へ進み、それ以外の場合はステップS1108へ進むようにしてもよい。
【0057】
ステップS1106では、キーワード群選択モジュール130が、講義名を利用して、その講義名に関連付けられている、キーワード群をキーワード群格納モジュール140から検索する。
例えば、キーワード群格納モジュール140内に講義名キーワード群テーブル1300が記憶されており、講義名が「経済I」と特定した場合について説明する。なお、図13は、講義名キーワード群テーブル1300のデータ構造例を示す説明図である。講義名キーワード群テーブル1300は、ID欄1302、コンテキストの種類欄1304、コンテキストの値欄1306、キーワード群欄1308を有している。講義名キーワード群テーブル1300は、キーワード群テーブル240と同等のものであるが、説明のため、コンテキストの種類欄1304が講義名のものを示している。
キーワード群選択モジュール130が行うキーワード群検索では、得られた講義名をコンテキストの値欄1306から検索し、それに対応するキーワード群欄1308を抽出する。ここでは、「経済」、「市場」、「エコノミック」、「GDP」というキーワード群が抽出される。
【0058】
ステップS1108では、スライド画像判定モジュール110が、動画を解析して、スライドが投影されている画像を静止画像(又は、スライドが投影されている画像内のスライド部分を静止画像)として抽出する。例えば、スライド画像1410を静止画像として抽出した例について説明する。図14は、動画1400、スライド画像1410の例を示す説明図である。動画1400には、スライド画像1410が撮影されている。ステップS1110以降の処理は、抽出された静止画像の枚数分の繰り返し処理となる。
ステップS1110では、全ての抽出画像について処理が完了したか否かを判断し、完了した場合は処理を終了し(ステップS1199)、それ以外の場合はステップS1112へ進む。
【0059】
ステップS1112では、文字認識モジュール115が、静止画像を対象として文字認識を行う。動画1400のスライド画像1410に対する文字認識結果として、例えば、「エコソミツクキャピタルとは経済上の」であるとする。
ステップS1114では、単語推定モジュール120が、文字認識結果である文字列に対して、文字列の切り出しを行う。文字認識された文字列に対して、形態素解析を行い、ステップS1106のキーワード群検索で検索されたキーワードの文字列の長さになるように、文字列を切り出す。
前述の文字認識結果の例では、形態素解析の結果、「キャピタル」、「経済」が名詞として抽出される。ステップS1106のキーワード群検索で検索されたキーワードの文字列の長さは、「経済」、「市場」、「エコノミック」、「GDP」というキーワードであるので、2文字、3文字、6文字である。したがって、切り出した文字列は、「エコ、コソ、ソミ、ミツ、ツク、・・・、エコソミツク、コソミツクキ、・・・」となる。
【0060】
ステップS1116では、単語推定モジュール120が、形態素解析の結果、名詞として抽出された単語を抽出する。さらに、ステップS1114で切り出された、文字列とキーワード群に含まれるキーワードとの類似度を算出する。この場合、同じ長さの単語同士を比較することで計算量を減らすようにしてもよい。類似度の算出は、レーベンシュタイン距離と単語の長さを利用することで求める。
切り出された文字列とキーワード群に含まれるキーワードの類似度の算出について説明する。同じ長さの単語同士を比較することで計算量を減らし、類似度の算出はレーベンシュタイン距離と単語の長さを利用する具体例を用いる。「エコソミツク」(文字認識結果である文字列であり、6文字で切り分けられたもの)と「エコノミック」(キーワード群に含まれるキーワード)とを比較した場合、「ソ」、「ツ」の2文字が異なるのでレーベンシュタイン距離は2となり、その値を単語列の長さ6で割った値である0.3を類似度とする。そして、類似度が予め定められた閾値以下の場合に候補として、比較対象となったキーワードを単語出力モジュール145へ出力する。閾値が0.5の場合、「エコノミック」が出力される。
【0061】
ステップS1118では、単語出力モジュール145が、形態素解析の結果得られた単語「キャピタル」、「経済」と類似度計算の結果得られた「エコノミック」をキーワード群格納モジュール140に対して格納する。つまり、「経済I」に対応する講義名キーワード群テーブル1300のキーワード群欄1308に「キャピタル」が追加されることになる。なお、「経済」と「エコノミック」は既にあるキーワードである。
ステップS1120では、単語出力モジュール145が、対象としている動画に対して、「エコノミック」、「キャピタル」、「経済」をインデキシング情報として付加する。具体的には、これらのキーワードは、動画ID及びスライド画像が出現した時間とともにインデキシングされる。
図11の例に示すフローチャートの処理は、動画に含まれるスライド一枚毎の処理であるが、1つの動画に含まれる静止画像に対して、文字認識した結果を修正するようにしてもよい。
【0062】
図15は、本実施の形態(テキスト群整形モジュール330)による処理例を示すフローチャートである。コンテキスト情報としてテキスト群を利用する場合について説明する。
ステップS1502では、スライド画像判定モジュール110が、動画を解析して、スライドが投影されている画像を静止画像(又は、スライドが投影されている画像内のスライド部分を静止画像)として抽出する。例えば、スライド画像1610を静止画像として抽出した例について説明する。図16は、動画1600、スライド画像1610の例を示す説明図である。動画1600には、スライド画像1610が撮影されている。ステップS1504降の処理は、抽出された静止画像の枚数分の繰り返し処理となる。
ステップS1504では、全ての抽出画像について処理が完了したか否かを判断し、完了した場合は処理を終了し(ステップS1599)、それ以外の場合はステップS1506へ進む。
【0063】
ステップS1506では、文字認識モジュール115が、静止画像を対象として文字認識を行う。動画1600のスライド画像1610に対する文字認識結果として、例えば、「墓本釣1こ七キュリTオとセーフティな畳右る」であるとする。
ステップS1508では、テキスト群整形モジュール330が、文字認識結果に対して整形を行う。まず文字認識結果の文字列に対して形態素解析を行い、単語を抽出する。さらに、その文字認識結果に対して、予め定められた長さの文字列を抽出する。前述の例では、名詞である「セーフティ」を単語として抽出する。そして、2文字以上、6文字以下の文字列に切り出しを行う。その結果、「墓木、木釣、釣1、1こ、こ七、七キ、・・・、七キュリTオ、・・・、ティな畳右る」となる。
【0064】
ステップS1510では、キーワード群選択モジュール130が、ステップS1508で抽出された単語、予め定められた長さの文字列、又はその両方でキーワード群格納モジュール140のキーワード群を検索する。
例えば、キーワード群格納モジュール140内にテキスト群キーワード群テーブル1700が記憶されてする。なお、図17は、テキスト群キーワード群テーブル1700のデータ構造例を示す説明図である。テキスト群キーワード群テーブル1700は、ID欄1702、コンテキストの種類欄1704、キーワード群欄1708を有している。講義名キーワード群テーブル1300は、キーワード群テーブル240からコンテキストの値欄246を削除したものと同等のものである。なお、空欄であるコンテキストの値欄246と同等の欄を含めてもよい。説明のため、コンテキストの種類欄1704がテキスト群のものを示している。
この検索の場合、全ての単語、文字列がキーワード群欄1708内のキーワードとマッチする必要はなく、予め定められた数以上のマッチ、又は、マッチした数を検索したキーワード数等で割ったマッチ度数が予め定められた値以上であればよい。前述の例では、「セーフティ」がマッチしたので(テキスト群キーワード群テーブル1700内の1行目)、そのカラムに含まれるキーワード群(セキュリティ、セーフティ)を検索結果として返す。
【0065】
ステップS1512では、単語推定モジュール120が、形態素解析の結果、名詞として抽出された単語を抽出する。さらに、ステップS1510で抽出された、文字列とキーワード群に含まれるキーワードとの類似度を算出する。この場合、同じ長さの単語同士を比較することで計算量を減らすようにしてもよい。類似度の算出は、レーベンシュタイン距離と単語の長さを利用することで求める。
切り出された文字列とキーワード群に含まれるキーワードの類似度の算出について説明する。同じ長さの単語同士を比較することで計算量を減らし、類似度の算出はレーベンシュタイン距離と単語の長さを利用する具体例を用いる。「七キュリTオ」(文字認識結果である文字列であり、6文字で切り分けられたもの)と「セキュリティ」(キーワード群に含まれるキーワード)とを比較した場合、「七」、「T」、「オ」の3文字が異なるのでレーベンシュタイン距離は3となり、その値を単語列の長さ6で割った値である0.5を類似度とする。そして、類似度が予め定められた閾値以下の場合に候補として、比較対象となったキーワードを単語出力モジュール145へ出力する。閾値が0.5の場合、「セキュリティ」が出力される。
【0066】
ステップS1514では、単語出力モジュール145が、形態素解析の結果得られた単語「セーフティ」と類似度計算の結果得られた「セキュリティ」をキーワード群格納モジュール140に対して格納する。つまり、テキスト群キーワード群テーブル1700内の1行目のキーワード群欄1708に「セーフティ」、「セキュリティ」を格納するが、それらは既にあるキーワードであるので、この場合は追加されるキーワードはない。
ステップS1516では、単語出力モジュール145が、対象としている動画に対して、「セーフティ」、「セキュリティ」をインデキシング情報として付加する。具体的には、これらのキーワードは、動画ID及びスライド画像が出現した時間とともにインデキシングされる。
図15の例に示すフローチャートの処理は、動画に含まれるスライド一枚毎の処理であるが、1つの動画に含まれる静止画像に対して、文字認識した結果を修正するようにしてもよい。
【0067】
図18は、本実施の形態(人名抽出モジュール340、講義名抽出モジュール350)による処理例を示すフローチャートである。コンテキスト情報として人名又は講義名を利用する場合について説明する。
ステップS1802では、スライド画像判定モジュール110が、動画を解析して、スライドが投影されている画像を静止画像(又は、スライドが投影されている画像内のスライド部分を静止画像)として抽出する。例えば、スライド画像1910、スライド画像2110を静止画像として抽出した例について説明する。図19は、動画1900、スライド画像1910の例を示す説明図である。動画1900には、スライド画像1910が撮影されている。図21は、動画2100、スライド画像2110の例を示す説明図である。動画2100には、スライド画像2110が撮影されている。
ステップS1804では、全て(又は一部)の抽出画像について処理が完了したか否かを判断し、完了した場合はステップS1812へ進み、それ以外の場合はステップS1806へ進む。
【0068】
ステップS1806では、文字認識モジュール115が、静止画像を対象として文字認識を行う。動画1900のスライド画像1910に対する文字認識結果として、例えば、「経済II」、「山田B子」であるとする。動画2100のスライド画像2110に対する文字認識結果として、例えば、「需要とイ共給」であるとする。そして、講義名抽出モジュール350が、その文字認識結果内で、予め人名又は講義名を記憶しているテーブル(例えば、後述する人名/講義名キーワード群テーブル2000、人名/講義名キーワード群テーブル2000のコンテキストの値欄2006だけのテーブル等)内の人名又は講義名と一致するものがあるか否かを判断する。スライド画像1910には人名又は講義名があり、スライド画像2110には人名又は講義名がない。
【0069】
ステップS1808では、人名又は講義名があるか否かを判断し、ある場合はステップS1810へ進み、それ以外の場合はステップS1804へ戻る。スライド画像1910に対して、ステップS1810の処理を行うことになる。
なお、この判断で、人物名又は講義名が複数ある場合(1つの静止画像内に複数の人物名又は講義名がある場合、複数の静止画像を文字認識した結果、人物名又は講義名が複数ある場合)は、静止画像の時間的順番(前述のページNo)に基づいた重み付けを行い、その重み付けの結果を用いて人物名又は講義名を選択してもよい。例えば、重み付けとしては、最初のページNo又は最後のページNoの静止画像にある場合を1とし、他のページNoの静止画像にある場合は0とすることによって、最初のページNo又は最後のページNoにある人物名又は講義名を選択するようにしてもよい。この他に、重み付けとして、最初に出現する人物名が重要である可能性が高いので、最初のページNoの静止画像にある場合を10とし、順方向にページNoが進むに合わせて重み付けの値を1ずつ減らした値としてもよい。逆に、最後のページNoの静止画像にある場合を10とし、逆方向にページNoが戻るに合わせて重み付けの値を1ずつ減らした値としてもよい。
【0070】
ステップS1810では、キーワード群選択モジュール130が、人名、講義名、又は両方を利用して、その人名、講義名、又は両方に関連付けられている、キーワード群をキーワード群格納モジュール140から検索する。
例えば、キーワード群格納モジュール140内に人名/講義名キーワード群テーブル2000が記憶されている。なお、図20は、人名/講義名キーワード群テーブル2000のデータ構造例を示す説明図である。人名/講義名キーワード群テーブル2000は、ID欄2002、コンテキストの種類欄2004、コンテキストの値欄2006、キーワード群欄2008を有している。人名/講義名キーワード群テーブル2000は、キーワード群テーブル240と同等のものであるが、説明のため、コンテキストの種類欄2004が人名又は講義名のものを示している。
この場合、人名で検索する場合はコンテキストの種類欄2004が人名で、かつコンテキストの値欄2006が同じのものを検索する。例えば、人名で「山田B子」を検索した場合、その結果としてキーワード群欄2008に格納されている「需要」、「供給」、「市場」、「指数」が検索結果となる。
前記の処理は、全ての画像に対して行ってもよいし、一部の画像に対して行ってもよい。複数の結果が得られた場合は得られたキーワード群をマージする。
【0071】
ステップS1812では、単語推定モジュール120が、単語の推定を行う。まず各静止画像の文字認識結果である文字列に対して、形態素解析を行い、単語を抽出する。さらに、その文字認識結果に対して、予め定められた長さの文字列を抽出する。前述の例では、スライド画像2110の文字認識結果から名詞である「需要」を単語として抽出する。そして、ステップS1810のキーワード群検索で検索されたキーワードの文字列の長さは、「需要」、「供給」、「市場」、「指数」というキーワードであるので、2文字である。したがって、切り出した文字列は、「需要、要と、とイ、・・・、共給」となる。
切り出された文字列とキーワード群に含まれるキーワードの類似度の算出について説明する。この場合、同じ長さの単語同士を比較することで計算量を減らすようにしてもよい。類似度の算出はレーベンシュタイン距離と単語の長さを利用することで求める。具体的には、「共給」(文字認識結果である文字列であり、2文字で切り分けられたもの)と「供給」(キーワード群に含まれるキーワード)とを比較した場合、「供、共」の1文字が異なるのでレーベンシュタイン距離は1となり、その値を単語列の長さ2で割った値である0.5を類似度とする。そして、類似度が予め定められた閾値以下の場合に候補として、比較対象となったキーワードを単語出力モジュール145へ出力する。閾値が0.5の場合、「供給」が出力される。
【0072】
ステップS1814では、単語出力モジュール145が、形態素解析の結果得られた単語「需要」と類似度計算の結果得られた「供給」をキーワード群格納モジュール140に対して格納する。つまり、「山田B子」に対応する人名/講義名キーワード群テーブル2000のキーワード群欄2008に「需要」、「供給」を格納するが、それらは既にあるキーワードであるので、この場合は追加されるキーワードはない。
ステップS1816では、単語出力モジュール145が、対象としている動画に対して、「需要」、「供給」をインデキシング情報として付加する。具体的には、これらのキーワードは、動画ID及びスライド画像が出現した時間とともにインデキシングされる。
【0073】
図22は、本実施の形態を実現した場合のシステム構成例を示す説明図である。
動画蓄積サーバー2210A、動画蓄積サーバー2210B、情報処理サーバー2220、クライアント端末2230A、クライアント端末2230Bは、通信回線2290を介してそれぞれ接続されている。動画蓄積サーバー2210A、2210Bには、図1の例に示す動画格納モジュール100が構築されている。情報処理サーバー2220には、図1の例に示す動画読取モジュール105、スライド画像判定モジュール110、文字認識モジュール115、単語推定モジュール120、コンテキスト取得モジュール125、キーワード群選択モジュール130、キーワード群格納モジュール140、単語出力モジュール145、単語格納モジュール150が構築されている。クライアント端末2230A、2230Bは、情報処理サーバー2220内の単語格納モジュール150を検索し、該当する動画を動画蓄積サーバー2210A、2210Bから取り出して再生する。
【0074】
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図23に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバーとなり得るコンピュータ等である。つまり、具体例として、処理部(演算部)としてCPU2301を用い、記憶装置としてRAM2302、ROM2303、HD2304を用いている。HD2304として、例えばハードディスクを用いてもよい。動画読取モジュール105、スライド画像判定モジュール110、文字認識モジュール115、単語推定モジュール120、コンテキスト取得モジュール125、キーワード群選択モジュール130、単語出力モジュール145、人物認識モジュール210、動画ID・ページNo認識モジュール220、講演者名認識モジュール230、講義名特定モジュール320、テキスト群整形モジュール330、人名抽出モジュール340、講義名抽出モジュール350等のプログラムを実行するCPU2301と、そのプログラムやデータを記憶するRAM2302と、本コンピュータを起動するためのプログラム等が格納されているROM2303と、補助記憶装置であるHD2304と、キーボード、マウス、タッチパネル等に対する利用者の操作に基づいてデータを受け付ける受付装置2306と、CRT、液晶ディスプレイ等の出力装置2305と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース2307、そして、それらをつないでデータのやりとりをするためのバス2308により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
【0075】
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図23に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図23に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えばASIC等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図23に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
【0076】
なお、前述の各種の処理を組み合わせてもよい(例えば、図2、図3に例示のコンテキスト取得モジュール125内のモジュールの組み合わせ、図4、図7、図9、図11、図15、図18のフローチャートの組み合わせ等)。その場合、単語出力モジュール145は、各処理の結果を論理演算(AND演算、OR演算等)によって、選択するようにしてもよい。また、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。
【0077】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray Disc(登録商標))、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【0078】
100…動画格納モジュール
105…動画読取モジュール
110…スライド画像判定モジュール
115…文字認識モジュール
120…単語推定モジュール
125…コンテキスト取得モジュール
130…キーワード群選択モジュール
140…キーワード群格納モジュール
145…単語出力モジュール
150…単語格納モジュール
210…人物認識モジュール
220…動画ID・ページNo認識モジュール
230…講演者名認識モジュール
240…キーワード群テーブル
310…タイムテーブル記憶モジュール
320…講義名特定モジュール
330…テキスト群整形モジュール
340…人名抽出モジュール
350…講義名抽出モジュール
360…キーワード群テーブル
380…データベースA
382…データベースB
390…通信回線
2210…動画蓄積サーバー
2220…情報処理サーバー
2230…クライアント端末
2290…通信回線

【特許請求の範囲】
【請求項1】
動画内で撮影されている静止画像を判定する判定手段と、
前記判定手段によって判定された静止画像を対象として文字認識を行う文字認識手段と、
前記動画に関する情報を取得する取得手段と、
前記取得手段によって取得された情報に基づいて、前記文字認識手段による文字認識結果を修正する修正手段と、
前記修正手段によって修正された文字認識結果を前記動画と関連付けて出力する出力手段
を具備することを特徴とする情報処理装置。
【請求項2】
前記取得手段は、前記動画内の人物を認識して、該人物に関する情報を取得し、
前記修正手段は、前記取得手段によって取得された人物に関する情報に基づいて、前記文字認識結果を修正する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記取得手段は、前記動画を識別する情報である動画識別情報又は該動画識別情報と前記判定手段によって判定された静止画像の時間的順番に基づいて、該静止画像内に含まれている可能性がある文字情報を取得し、
前記修正手段は、前記取得手段によって取得された文字情報に基づいて、前記文字認識結果を修正する
ことを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記取得手段は、予め定められた時間的順番の前記静止画像に対する前記文字認識手段による文字認識結果内の人物名を抽出し、該人物名に関する情報を取得し、
前記修正手段は、前記取得手段によって取得された人物名に関する情報に基づいて、前記文字認識手段による文字認識結果を修正する
ことを特徴とする請求項1から3のいずれか一項に記載の情報処理装置。
【請求項5】
前記取得手段は、前記動画の撮影場所と撮影日時に関する情報を抽出し、該撮影場所と該撮影日時に行われた出来事に関する情報を取得し、
前記修正手段は、前記取得手段によって取得された出来事に関する情報に基づいて、前記文字認識手段による文字認識結果を修正する
ことを特徴とする請求項1から4のいずれか一項に記載の情報処理装置。
【請求項6】
前記取得手段は、前記文字認識手段による文字認識結果に対して形態素解析を行い、該形態素解析の結果の文字列又は該文字列に類似する文字列に関する情報を取得し、
前記修正手段は、前記取得手段によって取得された文字列に関する情報に基づいて、前記文字認識手段による文字認識結果を修正する
ことを特徴とする請求項1から5のいずれか一項に記載の情報処理装置。
【請求項7】
前記取得手段は、前記文字認識手段による文字認識結果内の人物名又は出来事名を抽出し、該人物名又は該出来事名が複数ある場合は、前記静止画像の時間的順番に基づいた重み付けを行い、該重み付けの結果を用いて選択した人物名又は出来事名に関する情報を取得し、
前記修正手段は、前記取得手段によって取得された人物名又は出来事名に関する情報に基づいて、前記文字認識手段による文字認識結果を修正する
ことを特徴とする請求項1から6のいずれか一項に記載の情報処理装置。
【請求項8】
コンピュータを、
動画内で撮影されている静止画像を判定する判定手段と、
前記判定手段によって判定された静止画像を対象として文字認識を行う文字認識手段と、
前記動画に関する情報を取得する取得手段と、
前記取得手段によって取得された情報に基づいて、前記文字認識手段による文字認識結果を修正する修正手段と、
前記修正手段によって修正された文字認識結果を前記動画と関連付けて出力する出力手段
として機能させるための情報処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate