(57)【特許請求の範囲】
【請求項１】
コンピュータにより実行される方法であって、
メモリ及び少なくとも１つのプロセッサを有する機械によって、ビデオコンテンツの一部分がテキストを有すると識別する段階であって、
前記ビデオコンテンツのフレームに対して連結成分分析を行って、前記フレーム内の連結成分を検出する段階と、
前記連結成分を複数のテキスト行にまとめる段階と、
前記複数のテキスト行から少なくとも１つのテキスト行を除去するために、水平及び垂直投影を用いて前記複数のテキスト行を精細化する段階と、
前記複数のテキスト行の前記少なくとも１つのサイズに基づいて、前記複数のテキスト行の少なくとも１つをフィルタ除去して、フィルタ済みのテキスト行セットを形成する段階と、
前記複数のテキスト行の前記少なくとも１つをフィルタ除去することにより形成された前記フィルタ済みのテキスト行セットを二値化する段階と、
前記テキスト行の少なくとも１つにおける成分の形状及び前記テキスト行の少なくとも１つにおける成分の位置のうちの少なくとも１つに基づいて、前記二値化されたフィルタ済みのテキスト行セットから前記テキスト行の少なくとも１つをフィルタ除去して、テキストを有する前記ビデオコンテンツの一部分を形成する段階と、
を含む段階と、
前記ビデオコンテンツの前記識別された部分内の前記テキストを識別する段階と、
前記識別されたテキストのカテゴリを判定する段階と、
前記識別されたテキスト及び前記判定されたカテゴリに基づいて、前記ビデオコンテンツに対応する付加情報を判定する段階と、
メディアコンテンツデバイス上のソフトウエアアプリケーションに、前記付加情報を用いた機能であって、前記判定されたカテゴリに対応する機能を実行させる段階と、
を含む方法。
【請求項２】
前記ビデオコンテンツが少なくとも１つの所定の条件を満たすか否かを判定する段階をさらに含み、
前記ビデオコンテンツの一部分がテキストを有すると識別する段階を実行することは、前記ビデオコンテンツが前記少なくとも１つの所定の条件を満たすという判定が条件とされる、請求項１に記載の方法。
【請求項３】
前記少なくとも１つの所定の条件は、最低レベルの明瞭性、最低レベルのコントラスト、及び複数のフレームにわたる最低レベルのコンテンツ安定性のうちの少なくとも１つを含む、請求項２に記載の方法。
【請求項４】
前記付加情報をメディアコンテンツデバイス上に表示させる段階をさらに含む、請求項１に記載の方法。
【請求項５】
前記ビデオコンテンツに関連して又は前記ビデオコンテンツの識別された視聴者に関連して、前記付加情報を格納する段階をさらに含む、請求項１に記載の方法。
【請求項６】
前記付加情報をメディアコンテンツデバイス上のソフトウェアアプリケーションに提供する段階をさらに含む、請求項１に記載の方法。
【請求項７】
前記付加情報は、統一資源位置指定子（ＵＲＬ）、ユーザアカウントの識別、メタデータタグ、又は電話番号のうちの少なくとも１つを含む、請求項６に記載の方法。
【請求項８】
前記メディアコンテンツデバイスは、テレビ、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、又はスマートフォンのうちの１つを含む、請求項６に記載の方法。
【請求項９】
前記ビデオコンテンツに関連して又は前記ビデオコンテンツの識別された視聴者に関連して、前記識別されたテキストを格納する段階をさらに含む、請求項１に記載の方法。
【請求項１０】
テキストを有する前記ビデオコンテンツの一部分を識別する段階は、
前記ビデオコンテンツのフレームをグレースケールに変換する段階と、
前記フレームに対してエッジ検出を実行する段階と、
前記フレームに対してダイレーションを実行して、前記フレーム内の垂直エッジを連結する段階と、
前記フレームを二値化する段階と、
をさらに含む、請求項１に記載の方法。
【請求項１１】
前記ビデオコンテンツの前記識別された部分内のテキストを識別する段階は、前記ビデオコンテンツの前記識別された部分に対して光学文字認識を行う段階を含む、請求項１に記載の方法。
【請求項１２】
前記識別されたテキストの前記カテゴリを判定する段階は、
前記識別されたテキストを構文解析して、前記識別されたテキストの複数のセグメントを判定する段階と、
前記複数のセグメントの少なくとも１つと前記カテゴリとの間の格納済みの関連性に基づいて前記カテゴリを判定する段階と、
を含む、請求項１に記載の方法。
【請求項１３】
前記ビデオコンテンツは、テレビ番組、非エピソード映画、ウェビソード、ビデオ共有ウェブサイト用のユーザ生成コンテンツ、又はコマーシャルの一部分を含む、請求項１に記載の方法。
【請求項１４】
メモリ及び少なくとも１つのプロセッサを有する機械と、
前記機械上の少なくとも１つのモジュールと、
を備えたシステムであって、
前記少なくとも１つのモジュールは、
ビデオコンテンツの一部分がテキストを有すると識別する段階であって、
前記ビデオコンテンツのフレームに対して連結成分分析を行って、前記フレーム内の連結成分を検出する段階と、
前記連結成分を複数のテキスト行にまとめる段階と、
前記複数のテキスト行から少なくとも１つのテキスト行を除去するために、水平及び垂直投影を用いて前記複数のテキスト行を精細化する段階と、
前記複数のテキスト行の前記少なくとも１つのサイズに基づいて、前記複数のテキスト行の少なくとも１つをフィルタ除去して、フィルタ済みのテキスト行セットを形成する段階と、
前記複数のテキスト行の前記少なくとも１つをフィルタ除去することにより形成された前記フィルタ済みのテキスト行セットを二値化する段階と、
前記テキスト行の少なくとも１つにおける成分の形状及び前記テキスト行の少なくとも１つにおける成分の位置のうちの少なくとも１つに基づいて、前記二値化されたフィルタ済みのテキスト行セットから前記テキスト行の少なくとも１つをフィルタ除去して、テキストを有する前記ビデオコンテンツの一部分を形成する段階と、
を含む段階と、
前記ビデオコンテンツの前記識別された部分内の前記テキストを識別する段階と、
前記識別されたテキストのカテゴリを判定する段階と、
前記識別されたテキスト及び前記判定されたカテゴリに基づいて、前記ビデオコンテンツに対応する付加情報を判定する段階と、
メディアコンテンツデバイス上のソフトウエアアプリケーションに、前記付加情報を用いた機能であって、前記判定されたカテゴリに対応する機能を実行させる段階と、
を含む演算を実行するように構成されるシステム。
【請求項１５】
前記演算は、
前記ビデオコンテンツが少なくとも１つの所定の条件を満たすか否かを判定する段階と、
前記ビデオコンテンツが前記少なくとも１つの所定の条件を満たすという判定に応答して、前記ビデオコンテンツの一部分がテキストを有すると識別する段階と、
をさらに含む、請求項１４に記載のシステム。
【請求項１６】
前記少なくとも１つの所定の条件は、最低レベルの明瞭性、最低レベルのコントラスト、及び複数のフレームにわたる最低レベルのコンテンツ安定性のうちの少なくとも１つを含む、請求項１５に記載のシステム。
【請求項１７】
前記演算は、前記付加情報をメディアコンテンツデバイス上のソフトウェアアプリケーションに提供する段階をさらに含む、請求項１４に記載のシステム。
【請求項１８】
少なくとも１つのプロセッサによって実行されると、前記少なくとも１つのプロセッサに、以下を含む一連の演算を実行させる命令セットを有形で具現化する非一時的機械可読ストレージデバイスであって、前記演算は、
ビデオコンテンツの一部分がテキストを有すると識別する段階であって、
前記ビデオコンテンツのフレームに対して連結成分分析を行って、前記フレーム内の連結成分を検出する段階と、
前記連結成分を複数のテキスト行にまとめる段階と、
前記複数のテキスト行から少なくとも１つのテキスト行を除去するために、水平及び垂直投影を用いて前記複数のテキスト行を精細化する段階と、
前記複数のテキスト行の前記少なくとも１つのサイズに基づいて、前記複数のテキスト行の少なくとも１つをフィルタ除去して、フィルタ済みのテキスト行セットを形成する段階と、
前記複数のテキスト行の前記少なくとも１つをフィルタ除去することにより形成された前記フィルタ済みのテキスト行セットを二値化する段階と、
前記テキスト行の少なくとも１つにおける成分の形状及び前記テキスト行の少なくとも１つにおける成分の位置のうちの少なくとも１つに基づいて、前記二値化されたフィルタ済みのテキスト行セットから前記テキスト行の少なくとも１つをフィルタ除去して、テキストを有する前記ビデオコンテンツの一部分を形成する段階と、
を含む段階と、
前記ビデオコンテンツの前記識別された部分内の前記テキストを識別する段階と、
前記識別されたテキストのカテゴリを判定する段階と、
前記識別されたテキスト及び前記判定されたカテゴリに基づいて、前記ビデオコンテンツに対応する付加情報を判定する段階と、
メディアコンテンツデバイス上のソフトウエアアプリケーションに、前記付加情報を用いた機能であって、前記判定されたカテゴリに対応する機能を実行させる段階と、
を含むストレージデバイス。
【請求項１９】
前記付加情報は、統一資源位置指定子（ＵＲＬ）を含み、前記メディアコンテンツデバイス上の前記ソフトウエアアプリケーションに、前記ＵＲＬが前記メディアコンテンツデバイス上のブラウザ上にロードされることを含む前記機能を実行させる請求項１に記載の方法。
【請求項２０】
前記付加情報は、電話番号を含み、前記メディアコンテンツデバイス上の前記ソフトウエアアプリケーションに、前記メディアコンテンツデバイスに前記電話番号に発呼することのプロンプトを提供させることを含む前記機能を実行させる請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（優先権の主張）
本出願は、引用により内容全体が本明細書に組み込まれている２０１４年５月２８日出願の米国特許出願番号第１４／２８９，１４２号への優先権の利益を主張する。
【０００２】
（技術分野）
本出願は、一般に、データ処理の技術分野に関し、種々の実施形態において、ビデオ内のテキストを検出する方法及びシステムに関する。
【背景技術】
【０００３】
テレビ番組、映画、及びコマーシャル等のビデオコンテンツは、テキストを含む場合がある。このテキストは、視聴者に役立つ情報を提供することができる。しかしながら、視聴者は、テキストを利用するという点では限られた選択肢を有する。例えば、視聴者は通常、後で使用するためにテキストを書き留める以外の選択肢はほとんどない。
【０００４】
本開示の一部の実施形態は、例示的に示されており、同様の参照番号が類似する要素を示す添付の図面に限定されるものではない。
【図面の簡単な説明】
【０００５】
【図１】一部の例示的な実施形態による、テキスト検出システムを示すブロック図である。
【図２】一部の例示的な実施形態による、テキスト検出システムの機能を実施することができる環境を示すブロック図である。
【図３Ａ】一部の例示的な実施形態による、ビデオコンテンツのフレーム内のテキストを検出して解釈する段階を示す図である。
【図３Ｂ】一部の例示的な実施形態による、ビデオコンテンツのフレーム内のテキストを検出して解釈する段階を示す図である。
【図３Ｃ】一部の例示的な実施形態による、ビデオコンテンツのフレーム内のテキストを検出して解釈する段階を示す図である。
【図３Ｄ】一部の例示的な実施形態による、ビデオコンテンツのフレーム内のテキストを検出して解釈する段階を示す図である。
【図３Ｅ】一部の例示的な実施形態による、ビデオコンテンツのフレーム内のテキストを検出して解釈する段階を示す図である。
【図３Ｆ】一部の例示的な実施形態による、ビデオコンテンツのフレーム内のテキストを検出して解釈する段階を示す図である。
【図３Ｇ】一部の例示的な実施形態による、ビデオコンテンツのフレーム内のテキストを検出して解釈する段階を示す図である。
【図３Ｈ】一部の例示的な実施形態による、ビデオコンテンツのフレーム内のテキストを検出して解釈する段階を示す図である。
【図３Ｉ】一部の例示的な実施形態による、ビデオコンテンツのフレーム内のテキストを検出して解釈する段階を示す図である。
【図４】一部の例示的な実施形態による方法を示すフローチャートである。
【図５】一部の例示的な実施形態による方法を示すフローチャートである。
【図６】一部の例示的な実施形態による方法を示すフローチャートである。
【図７】一部の例示的な実施形態によるモバイルデバイスを示すブロック図である。
【図８】一部の例示的な実施形態による、本明細書で説明する方法論を実施可能な例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【０００６】
ビデオ内のテキストを検出する例示的な方法及びシステムが開示される。以下の説明では、説明目的で、例示的な実施形態の完全な理解をもたらすために多くの具体的な詳細が記載されている。しかしながら、当業者であれば、本実施形態は、これらの具体的詳細がなくても実施可能であることは明らかであろう。
【０００７】
本明細書に開示するように、テキスト検出システムは、ビデオコンテンツ内にオーバーレイ表示されたテキストを効果的に認識するように構成及び使用することができる。テキストは、情報又は情報ソースに関係すると分析されて識別することができ、限定ではないが、統一資源位置指定子（ＵＲＬ）、ユーザアカウントの識別（例えばＴｗｉｔｔｅｒ（登録商標）ハンドル）、メタデータタグ（例えばハッシュタグ）、及び電話番号を含む。この分析の結果は（例えば、識別されたテキスト、情報、及び／又は情報ソースは）、データベース内に格納すること及び／又はメディアコンテンツデバイス上のソフトウェアアプリケーションに提供することができる。
【０００８】
一部の実施形態において、ビデオコンテンツの一部分がテキストを有すると識別される。ビデオコンテンツの識別された部分内のテキストを識別することができる。識別されたテキストのカテゴリを判定することができる。
【０００９】
一部の実施形態において、ビデオコンテンツが少なくとも１つの所定の条件を満たすか否かが判定され、ビデオコンテンツが所定の条件を満たすという判定に応じて、ビデオコンテンツの一部分がテキストを有すると識別される。一部の実施形態において、所定の条件は、最低レベルの明瞭性、最低レベルのコントラスト、及び複数のフレームにわたる最低レベルのコンテンツ安定性のうちの少なくとも１つを含む。
【００１０】
一部の実施形態において、識別されたテキスト及び判定されたカテゴリに基づいて、ビデオコンテンツに対応する付加情報が判定される。付加情報は、メディアコンテンツデバイス上に表示させることができる。付加情報は、ビデオコンテンツに関連して又はビデオコンテンツの識別された視聴者に関連して格納することができる。付加情報は、メディアコンテンツデバイス上のソフトウェアアプリケーションに提供することができる。付加情報は、統一資源位置指定子（ＵＲＬ）、ユーザアカウント識別、メタデータタグ、及び電話番号のうちの少なくとも１つを含むことができる。メディアコンテンツデバイスは、テレビ、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、及びスマートフォンのうちの１つを含むことができる。識別されたテキストは、ビデオコンテンツに関連して又はビデオコンテンツの識別された視聴者に関連して格納することができる。
【００１１】
一部の実施形態において、テキストを有するビデオコンテンツの部分を識別する段階は、ビデオコンテンツのフレームをグレースケールに変換する段階と、フレームに対してエッジ検出を実行する段階と、フレームに対してダイレーションを実行してフレーム内の垂直エッジを連結する段階と、フレームを二値化する段階と、フレームに対して連結成分分析を実行してフレーム内の連結成分を検出する段階と、連結成分を複数のテキスト行にまとめる段階と、水平及び垂直投影を用いて複数のテキスト行を精細化する段階と、複数のテキスト行の少なくとも１つのサイズに基づいて、複数のテキスト行の少なくとも１つをフィルタ除去して、フィルタ済みのテキスト行セットを形成する段階と、フィルタ済みのテキスト行セットを二値化する段階と、テキスト行の少なくとも１つにおける成分の形状及びテキスト行の少なくとも１つにおける成分の位置のうちの少なくとも１つに基づいて、二値化されたフィルタ済みのテキスト行セットからテキスト行の少なくとも１つをフィルタ除去して、テキストを有するビデオコンテンツの一部分を形成する段階と、を含む。一部の実施形態において、複数のテキスト行の少なくとも１つのサイズに基づいて複数のテキスト行の少なくとも１つをフィルタ除去する段階は、処理から省略することができる。例えば、テキスト行の全てが所定の基準を満たすと判定される場合、このフィルタリング段階は省くことができる。
【００１２】
一部の実施形態において、ビデオコンテンツの識別された部分内のテキストを識別する段階は、ビデオコンテンツの識別された部分に対して光学文字認識を実行する段階を含む。
【００１３】
一部の実施形態において、識別されたテキストのカテゴリを判定する段階は、識別されたテキストを構文解析して、識別されたテキストの複数のセグメントを判定する段階と、複数のセグメントの少なくとも１つとカテゴリとの間の格納済みの関係に基づいてカテゴリを判定する段階と、を含む。
【００１４】
一部の実施形態において、ビデオコンテンツは、テレビ番組、非エピソード映画、ウェビソード、ビデオ共有ウェブサイト用のユーザ生成コンテンツ、又はコマーシャルの一部分を含む。
【００１５】
本明細書に開示する方法又は実施形態は、１又は２以上のモジュール（例えば、ハードウェアモジュール又はソフトウェアモジュール）を有するコンピュータシステムとして実装可能である。このようなモジュールは、コンピュータシステムの１又は２以上のプロセッサによって実行可能である。本明細書に開示する方法又は実施形態は、１又は２以上のプロセッサによって実行されると、１又は２以上のプロセッサに命令を実行させる、機械可読媒体上に格納された命令として具現化することができる。
【００１６】
図１は、例示的な実施形態によるテキスト検出システム１００を示すブロック図である。一部の実施形態において、テキスト検出システム１００は、コンテンツ選択モジュール１１０と、テキスト検出モジュール１２０と、テキスト認識モジュール１３０と、テキスト解釈モジュール１４０と、情報モジュール１５０と、１又は２以上のデータベース１６０と、を備える。
【００１７】
一部の実施形態において、テキスト検出モジュール１２０は、ビデオコンテンツの一部分がテキストを有すると識別するように構成される。ビデオコンテンツの一部分がテキストを有すると識別する段階は、ビデオコンテンツ内のテキストの場所を識別する段階を含むことができる。ビデオコンテンツの一部分がテキストを有すると識別するための技術については、本開示において以下で議論することにする。ビデオコンテンツは、テレビ番組、非エピソード映画、ウェビソード、ビデオ共有ウェブサイト（例えば、ＹｏｕＴｕｂｅ（登録商標））用のユーザ生成コンテンツ、又はコマーシャルの一部分を含むことができる。他のタイプのビデオコンテンツも、本開示の範囲内である。ビデオコンテンツは、ビデオコンテンツの１又は２以上のフレームを含むことができる。
【００１８】
ビデオコンテンツの一部分がテキストを有すると識別することなどによって、ビデオコンテンツのフレームを処理する段階は、計算的に及び費用的に高価となり得る。本開示は、この費用を軽減するための技術を紹介する。一部の実施形態において、コンテンツ選択モジュール１１０は、テキストを含む可能性が高いフレームを識別するために、フレームの事前分析を実行するように構成される。次に、本明細書に開示するテキスト検出機能は、識別されたこれらのフレームに対して実行することができるが、テキストを含む可能性が低いと判定されたフレームは、テキスト検出処理から省くことができ、これにより費用を削減する。上述の事前分析は、全域（global）及び局所コントラスト、ぼけ、全域及び局所の動き、及びフレームの他の特徴の分析を含むことができる。人間がテキストを容易に読み取るためには、テキストは、通常、一定のサイズであり、良好なコントラスト（例えば、黒地に白、白地に黒、明対暗、その他）を有し、複数のフレームにわたってほとんど静止している。また、ビデオコンテンツの製作者からの意図は、人々がテキストを見て読み取ることなので、一般的には、テキストから眼をそらす動き等の、画像内の余計な局所又は全域の動きは存在しない。これらのガイドラインは、本明細書で説明するテキスト検出技術でさらに分析するための有力候補を識別するために用いることができる。
【００１９】
一部の実施形態において、コンテンツ選択モジュール１１０は、ビデオコンテンツが少なくとも１つの所定の条件を満たすか否かを判定するように構成される。テキスト検出モジュール１２０は、ビデオコンテンツの１又は２以上の部分がテキストを有すると識別するために、コンテンツ選択モジュール１１０によって肯定的判定が為されたビデオコンテンツに対しては自己の動作を実行することができるが、否定的判定が為されたビデオコンテンツは、このような動作から省くことができる。一部の実施形態において、所定の条件は、最低レベルの明瞭性、最低レベルのコントラスト、及び複数のフレームにわたる最低レベルのコンテンツ安定性のうちの少なくとも１つを含む。他の所定の条件も、本開示の範囲内である。
【００２０】
テキストを含む可能性が高いフレームが識別されると、複数のフレームにわたって平均化することなどによって、残りの動き及びノイズを除去するためにこれらのフレームを使用することができる。一部の実施形態において、連続フレームの補間によって解像度を上げることができ、これにより、テキストのより良好な識別が可能になる。
【００２１】
多くの文字言語では、特定の構成的方向が支配的である。例えば、ラテン文字では、これらの方向は水平及び垂直線である。この概念をテキスト検出モジュール１２０によって利用して、対象領域を更に狭めることができる。また、フレーム内のテキストの有無の判定に関して本明細書で議論した同じルール及び条件（例えば、コントラスト、ぼけ、動き）をここで用いて、フレーム内の対象領域を識別することができる。
【００２２】
一部の実施形態において、テキスト認識モジュール１３０は、ビデオコンテンツの識別された部分内のテキストを識別するように構成される。ビデオコンテンツの識別された部分内のテキストを識別する段階は、ビデオコンテンツの識別された部分に対してＯＣＲを実行する段階を含むことができる。ビデオコンテンツの識別された部分内のテキストを識別する他の技術も同様に本開示の範囲内である。
【００２３】
一部の実施形態において、テキスト認識モジュール１３０は、識別されたテキストのカテゴリを判定するように構成される。カテゴリの例は、限定ではないが、ＵＲＬ、ユーザアカウント識別、メタデータタグ、及び電話番号を含む。他のタイプのカテゴリも同様に本開示の範囲内である。識別されたテキストのカテゴリを判定する段階は、識別されたテキストを構文解析して、識別されたテキストの複数のセグメントを判定する段階と、次に、セグメントの少なくとも１つとカテゴリとの間の格納済みの関連性に基づいてカテゴリを判定する段階と、を含むことができる。関連性は、データベース１６０内に格納することができる。一部の実施形態において、関連性は、テキストのセグメントが対応するカテゴリを判定するためのルールを含むことができる。１つの実施例において、テキスト「ｗｗｗ.ｅｘａｍｐｌｅｗｅｂｓｉｔｅ．ｃｏｍ」を、テレビ番組のビデオコンテンツの上に表示することができる。テキスト認識モジュール１３０は、「ｗｗｗ.」又は「．ｃｏｍ」の使用に基づいて、このテキストがウェブサイトを指していると判定することができ、或いは、テキスト「ｗｗｗ.ｅｘａｍｐｌｅｗｅｂｓｉｔｅ．ｃｏｍ」が、データベース１６０内に格納された同じテキスト（例えば、「ｗｗｗ.ｅｘａｍｐｌｅｗｅｂｓｉｔｅ．ｃｏｍ」）又は類似するテキスト（例えば、「ｅｘａｍｐｌｅｗｅｂｓｉｔｅ．ｃｏｍ」）に一致することに基づいて、このテキストがウェブサイトを指していると判定することができる。一部の実施形態において、テキスト認識モジュール１３０は、対応するテキスト及びカテゴリのルックアップテーブルへのアクセスに基づいて、カテゴリを判定することができる。識別されたテキストは、ビデオコンテンツに関連して又はビデオコンテンツの識別された視聴者に関連して格納することができる。次に、以下で更に詳細に議論するように、格納されたテキストは、アクセスして読み出して、さらなる処理で使用することができる。
【００２４】
一部の実施形態において、情報モジュール１５０は、識別されたテキスト及び判定されたカテゴリに基づいて、ビデオコンテンツに対応する付加情報を判定するように構成される。付加情報は、統一資源位置指定子（ＵＲＬ）、ユーザアカウントの識別（例えばＴｗｉｔｔｅｒ（登録商標）ハンドル）、メタデータタグ（例えばハッシュタグ）、及び電話番号のうちの少なくとも１つを含むことができる。付加情報は、ビデオコンテンツに関連して又はビデオコンテンツの識別された視聴者に関連して格納することができる。付加情報の履歴（例えばリンク及び参照）をデータベース１６０内に又はメディアコンテンツデバイス上に保持して、ユーザ（例えば視聴者）が、付加情報を用いてフォローアップ及び／又はさらなる調査を行うことができるようにする。一部の実施形態において、メディアコンテンツデバイスは、ビデオコンテンツ及び／又はオーディオコンテンツ等のメディアコンテンツを再生するように構成された何らかの電子デバイスを含むことができる。メディアコンテンツデバイスの例は、限定ではないが、テレビ、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、スマートフォン、ゲーム用デバイス、及び／又はオーディオ、ビデオ、及び／又は他のマルチメディアコンテンツを受信して表示する能力がある他のデバイスを含む。
【００２５】
付加情報は、メディアコンテンツデバイス上のソフトウェアアプリケーションに提供することができる。付加情報はまた、メディアコンテンツデバイス上に表示させることもできる。例えば、リンクに対応するテキストの検出に応答して、リンクを自動的にソフトウェアアプリケーション（例えばブラウザ）にロードして、ビデオコンテンツ又はビデオコンテンツ内の検出されたテキストに対応するページ（例えばウェブページ）を表示することができる。別の実施例では、識別されたテキスト、判定されたカテゴリ、及び／又は判定された付加情報に基づいて、特定のキーワードに関するインターネット検索又は特定のサービス検索を自動的に実行することができる。例えば、テレビ番組（又は何らかの他のビデオコンテンツ）のエンドクレジットで検出される名前に応答して、検出された名前を用いて検索を自動的に実行して、これらの名前に対応する人々（例えば、俳優、女優、他の寄与者）についての情報を集めることができる。一部の実施形態において、キーワード又は記号等の検出されたテキスト又は判定された付加情報に関して取るべきアクションを識別するために、特定の予め定義された指示を使用することができる。例えば上記の例において、ビデオコンテンツのエンドクレジットで検出された用語「キャスト」は、用語「キャスト」に続いて検出された名前に関する文脈（context）及び意味を与えるために用いることができる。その後、判定された文脈及び意味に対応する１又は２以上の動作を実行することができる。検出されたテキストがビデオコンテンツのキャストメンバーの名前に対応するという判定に基づいて、名前を、サービス（例えばＩＭＤｂ（登録商標））を用いて検索することができる。検索は、名前に対応する付加情報、例えば俳優／女優の名前に対応する架空のキャラクタ等を提示することができる。検出されたテキスト、判定されたカテゴリ、判定された付加情報の１又は２以上のいずれかの組合せは、対応するビデオコンテンツに関連して及び／又は対応するビデオコンテンツの対応する視聴者等のユーザに関連して、データベース１６０に格納することができる。
【００２６】
図２は、例示的な実施形態による、テキスト検出システム１００の機能を実施することができる環境２００を示すブロック図である。テキスト検出システム１００は、本明細書に開示するテキスト検出機能をビデオコンテンツプロバイダ２１０、第１メディアコンテンツデバイス２２０又は第２メディアコンテンツデバイス２４０等のメディアコンテンツデバイス、及び／又はメディアチューナ／プレーヤデバイス２３０に提供するように構成することができる。
【００２７】
ビデオコンテンツプロバイダ２１０は、ビデオコンテンツをメディアコンテンツデバイスに提供するように構成されたコンピュータシステムを備えることができる。一部の実施形態において、ビデオコンテンツプロバイダ２１０は、ビデオコンテンツの放送局（例えば、ケーブルテレビ放送局、衛星ラジオ放送局、ウェブ放送局）を含む。前述のように、ビデオコンテンツは、テレビ番組、非エピソード映画、ウェビソード、ビデオ共有ウェブサイト用のユーザ生成コンテンツ、又はコマーシャルを含むことができる。他のタイプのビデオコンテンツも本開示の範囲内である。
【００２８】
一部の実施形態において、第１メディアコンテンツデバイス２２０及び第２メディアコンテンツデバイス２４０は、ビデオコンテンツを再生するように構成される。一部の実施形態において、第１メディアコンテンツデバイス２２０は、スマートテレビを含む。従って、第１メディアコンテンツデバイス２２０は、インターネットベースのオンデマンドメディアコンテンツの再生を可能にするために１又は２以上のスマートＴＶアプリケーション２２２（例えば、Ｎｅｔｆｌｉｘ（登録商標）又はＨｕｌｕ（登録商標））を含むことができる。他の構成も本開示の範囲内である。一部の実施形態において、第２メディアコンテンツデバイス２４０は、様々な方法で第１メディアコンテンツデバイス２２０と同時に使用することができる。一部の実施形態において、第２メディアコンテンツデバイス２４０は、第１メディアコンテンツデバイス２２０を制御するためのリモートコントロールとして使用することができる。一部の実施形態において、第２メディアコンテンツデバイス２４０は、第１メディアコンテンツデバイス２２０上に提示されているビデオコンテンツに対応する付加情報を表示するために使用することができる。
【００２９】
１つの実施例において、ユーザは、第２メディアコンテンツデバイス２４０を保持しながら第１メディアコンテンツデバイス上でテレビコマーシャルを視聴することができる。テレビコマーシャルはテキストを含むことがあり、本明細書に開示するように、このテキストをテキスト検出システム１００によって検出して解釈することができる。テキスト検出システムは、テレビコマーシャルに対応するＵＲＬ（例えば、コマーシャルで宣伝されている製品のウェブサイト）等の検出されたテキストに基づいて、付加情報を判定することができる。テキスト検出システム１００は、第２メディアコンテンツデバイス２４０上への表示又はそこでのさらなる処理のために、第２メディアコンテンツデバイス２４０に付加情報を提供することができる。ＵＲＬを含む付加情報の例では、第２メディアコンテンツデバイス２４０のウェブブラウザ上でＵＲＬを開くことができるので、ユーザが、コマーシャルの製品についての付加情報を閲覧できる。一部の実施形態では、ビデオコンテンツ内で電話番号をテキスト検出システム１００によって検出することができ、次にテキスト検出システム１００は、この電話番号にかけたいか否かをユーザに尋ねるためのプロンプトをユーザのモバイルデバイス（例えばスマートフォン）上に自動的に提供することができる。他の実施例及び構成も本開示の範囲内である。
【００３０】
一部の実施形態において、メディアコンテンツデバイスは、メディアチューナ／プレーヤデバイス２３０を利用することができ、このデバイス２３０は、コンテンツプロバイダ（例えば、ケーブル又は衛星テレビプロバイダ、ウェブテレビプロバイダ、地上波又は衛星ラジオ局、オンライン音楽サービス、その他）からビデオ及び／又はオーディオコンテンツのストリームを受信して、メディアコンテンツデバイスのディスプレイによって利用可能なストリーム及び出力情報（例えば、デジタル又はアナログ）を処理することによってコンテンツのストリームを再生して、メディアコンテンツデバイスを利用するユーザにビデオ及び／又はオーディオコンテンツを提示又は再生するように構成される。メディアチューナ／プレーヤデバイス２３０の例は、限定ではないが、セットトップユニット（例えばケーブルボックス）及びデジタルメディアプレーヤ（例えば、Ａｐｐｌｅ  ＴＶ（登録商標）プレーヤ又はＲｏｋｕ（登録商標）プレーヤ）を含む。一部の実施形態において、メディアチューナ／プレーヤデバイス２３０は、これのサービスを利用しているメディアコンテンツデバイスとは別体でその外部とすることができる。他の実施形態において、メディアチューナ／プレーヤデバイス２３０は、これのサービスを利用しているメディアコンテンツデバイス内に組み込むことができる。
【００３１】
本明細書に開示するデバイス及びシステムは、他のデバイス及びシステムと様々な方法で通信することができる。一部の実施形態において、デバイス及びシステムは、１又は２以上のネットワークを介して通信することができる。使用可能なネットワークの例は、限定ではないが、有線ネットワーク、無線ネットワーク（例えば、モバイルネットワーク又はＷｉ−Ｆｉネットワーク）、無線又は電気通信ネットワーク、衛星ネットワーク、ケーブルネットワーク等を含む。一部の実施形態において、ネットワークは、プライベートネットワーク（例えば、ケーブルテレビネットワーク又は衛星ラジオネットワーク）、公衆ネットワーク（例えば、無線（ｏｖｅｒ  ｔｈｅ  ａｉｒ）放送チャンネル又はインターネット）等を構成する１又は２以上の部分を含むことができる。デバイスとシステムとの間の他の構成及び情報通信方法も本開示の範囲内である。
【００３２】
一部の実施形態において、検出されたテキスト、判定されたカテゴリ、及び／又は判定された付加情報は、ユーザアカウントに関連してデータベース１６０内に格納することができる。各ユーザアカウントは、特定のメディアコンテンツデバイス、特定の人物、及び／又は特定の人物グループに関連付けること及びこれらに対応することができる。例えば、１つのユーザアカウントは、家族のリビングルームの特定のテレビに対応することができる。別の実施例では、別のユーザアカウントは、特定の１人の家族員がどのメディアコンテンツデバイスを使用しているかを問わず、この家族員に対応することができる。この点において、「ユーザアカウント」及び「ユーザのアカウント」という用語は、指定されたユーザのアカウント、指定されたユーザの指定されたグループ（例えば家族員）のアカウント、或いは１又は２以上の指定されたデバイス（例えば家族のキッチンのＴＶ）のアカウントを指すことができ、特許請求の範囲に明確に列挙されていない限り、１人の特定のユーザに属するアカウントのみに限定されると解釈されるべきではない。
【００３３】
各ユーザアカウントは、ユーザアカウントに対応するメディアコンテンツデバイス上に提示されたビデオコンテンツ内でどんなテキストが検出されたか、及び／又はユーザアカウントに対応する人物が視聴したビデオコンテンツ内でどんなテキストが検出されたかの履歴を含むことができる。さらに、各ユーザアカウントは、検出されたテキストに対応するカテゴリ及び／又は付加情報の履歴を含むことができる。これらの履歴の１又は２以上のいずれの組合せも、後で参照するためにユーザがアクセスして見ることができ、或いは、検出されたテキストに対応する付加情報を、対応するユーザアカウントに関連するユーザに提示するのに用いるために、ソフトウェアアプリケーションが自動的にアクセスすることができる。例えば、ユーザは、第１メディアコンテンツデバイス２２０上でテレビ番組を見ることができる。テレビ番組中に、テレビ番組のウェブサイトのＵＲＬを含むテキストが表示されることがある。ＵＲＬは、テキスト検出システム１００によって検出されて、ユーザに関連して格納することができる。テレビ番組終了後の数日後に、ユーザは、第２メディアコンテンツデバイス２４０上のウェブブラウザを使用することができ、テキスト検出システム１００は、ウェブブラウザにテレビ番組のウェブサイトのＵＲＬを自動的にロードさせることができる。他の実施例及び構成も本開示の範囲内である。
【００３４】
一部の実施形態において、テキスト検出システム１００、又はこれの構成要素（例えばモジュール及び／又はデータベース）の１又は２以上のいずれの組合せは、ビデオコンテンツプロバイダ２１０、第１メディアコンテンツデバイス２２０、メディアチューナ／プレーヤデバイス２３０、及び第２メディアコンテンツデバイス２４０のうちのいずれか１つの上に常駐すること又はこれらに組み込むことができる。一部の実施形態では、テキスト検出システム１００の構成要素の全ては、ビデオコンテンツプロバイダ２１０、第１メディアコンテンツデバイス２２０、メディアチューナ／プレーヤデバイス２３０、及び第２メディアコンテンツデバイス２４０のうちの１つに実装することができる。他の実施形態では、テキスト検出システム１００の様々な構成要素は、異なるデバイス及びシステムにわたって分散させることができる（例えば、テキスト検出モジュール１２０はビデオコンテンツプロバイダ２１０内に組み込まれ、テキスト認識モジュール１３０、テキスト解釈モジュール１４０、及び情報モジュール１５０は、第２メディアコンテンツデバイス２４０内に組み込まれる）。他の構成も本開示の範囲内である。
【００３５】
一部の実施形態において、テキスト検出システム１００又はこれの構成要素の一部は、前述のメディアコンテンツデバイス２２０、２４０、又はメディアプレーヤ／チューナデバイス２３０等のクライアントデバイス内に組み込むことができる。一部の実施形態において、テキスト検出システム１００又はこれの構成要素の一部は、サーバシステム内に組み込むことができ、この場合、ブロードキャストフィードはリアルタイムに分析され、次にクライアントデバイスは、抽出された情報を識別方法（例えば、フィンガープリンティング、ウォーターマーキング）を用いて読み出す。
【００３６】
１つの例示的な実施形態において、第２スクリーンデバイス（例えば、タブレット又はスマートフォン）は、オーディオフィンガープリンティングを用いて、ユーザがＴＶで視聴中の番組を識別して、次にこの番組に関連する情報を第２スクリーンデバイスに対して引き出すことができる。この情報は、番組のオープニングクレジット上のテキストオーバーレイを用いて集めることができる。このような情報の例は、ソーシャルメディアリンク（例えば、Ｆａｃｅｂｏｏｋ（登録商標）又はＴｗｉｔｔｅｒ（登録商標）リンク）を含むことができる。しかしながら、他のタイプの情報も本開示の範囲内である。
【００３７】
図３Ａ−３Ｉは、一部の例示的な実施形態による、ビデオコンテンツ３１０のフレーム３００内のテキスト３２０を検出して解釈する様々な段階を示している。図３Ａ−３Ｈの各段階は、テキストを有するビデオコンテンツ部分を識別する段階に対応し、図３Ｉは、ビデオコンテンツの識別された部分内のテキストを識別して、識別されたテキストのカテゴリを判定する段階に対応する。
【００３８】
図３Ａは、異なる場所に様々なテキスト３２０を有するビデオコンテンツ３１０のフレーム３００を示している。一部の実施形態では、フレーム３００は、グレースケールに変換することができる。次に、変換されたフレーム３００に対してエッジ検出を実行することができる。エッジ検出とは、デジタル画像内で画像の明るさが激しく変化する又は途切れる地点を識別することを目的とする一連の数学的方法の名称である。一部の実施形態において、ソーベル（Ｓｏｂｅｌ）フィルタ又は演算子をエッジ検出に使用することができる。ソーベル（Ｓｏｂｅｌ）演算子は、離散微分演算子であり、画像強度関数の勾配の近似値を計算する。画像の各地点において、ソーベル（Ｓｏｂｅｌ）演算子の結果は、対応する勾配ベクトル又はこのベクトルのノルムのいずれかである。
【００３９】
一部の実施形態において、フレーム３００に対してダイレーションを実行して、フレーム３００内の垂直エッジを連結することができる。二値画像に対するダイレーションの基本的な作用は、フォアグラウンド画素の領域の境界を徐々に拡大することである。従って、フォアグラウンド画素の範囲のサイズは大きくなるが、これらの領域内のホールは小さくなる。
【００４０】
一部の実施形態において、次にフレーム３００は二値化することができる。フレームは、Ｏｔｓｕの手法を用いて二値化することができる。Ｏｔｓｕの手法を用いて、クラスタリングベースの画像閾値化又はグレーレベル画像の二値画像への変換を自動的に実行する。アルゴリズムは、閾値化される画像が２つのクラスの画素又は二峰性（bi-modal）ヒストグラム（例えばフォアグラウンド及びバックグラウンド）を含むことを前提としており、次にこれらの合成された広がり（クラス内分散）が最小になるように、これら２つのクラスを分離する最適な閾値を計算する。
【００４１】
一部の実施形態において、次に、フレーム３００に対して連結成分分析を実行して、フレーム３００内の連結成分を検出することができる。連結成分分析は、グラフ理論のアルゴリズム的応用であり、所与のヒューリスティックに基づいて、連結成分の部分集合に一意にラベル付けを行う。連結成分分析は、二値デジタル画像内の連結領域を検出するためにコンピュータ・ビジョンで用いられるが、より高い次元を有するカラー画像及びデータを処理することもできる。関連する入力データから、頂点及び連結エッジを含むグラフが作成される。頂点は、比較ヒューリスティックによって要求される情報を含み、エッジは、連結された「隣接部」を示す。アルゴリズムがグラフを横断して、隣接部の連結性及び相対値に基づいて、頂点にラベル付けを行う。ラベル付け段階の後、グラフを部分集合に分割することができ、その後、元の情報を回復して処理することができる。
【００４２】
図３Ｂは、連結成分分析が実行された後のフレーム３００を示している。図３Ｂにおいて、検出された連結成分の周囲に境界ボックス３３０が配置されている。図３Ｃでは、連結成分をテキスト行３４０にまとめることができる。図３Ｄでは、テキスト行３４０を、水平投影を用いて精細化することができ、図３Ｅでは、テキスト行３４０を、垂直投影を用いて精細化することができる。この精細化は、複数のテキスト行を細分化するのを助け、テキストである可能性が低い行を取り除くことができる。行への二値画像の投影は、行をビンに分割して、各ビンに直交する行の上にあるｌ画素の数を見つけることによって取得することができる。投影には多くの有用な情報が保持されるので、投影は、画像のコンパクト表現である。垂直方向及び水平方向それぞれにおいて各ビンのｌ画素の数を見つけることによって、水平及び垂直投影を取得することができる。
【００４３】
図３Ｆにおいて、テキスト行３４０は、これらのエッジ情報に基づいて、テキストを含む可能性がある範囲を表す。この処理においてこれまでに識別されたテキスト行３４０の１又はそれ以上は、これらのサイズに基づいてフィルタ除去することができる。これらのフィルタ除去されたテキスト行は、テキスト（又は有効なテキスト）を含む可能性が低い。これにより、テキストである可能性が高い行のフィルタ済みセットを形成することができる。図３Ｇは、フレーム３００の２０個の様々なテキスト行３４０を示している。これらの２０個の様々なテキスト行３４０は、これらのエッジ情報に基づいて、テキストを含む可能性がある範囲を表す。図３Ｈでは、テキスト行３４０が二値化されており、結果として得られた二値化の成分が文字である可能性が低いことに基づいて（二値化の結果、ほとんどが黒い画像になる）、テキスト行のうちの１７個がフィルタ除去されている。テキスト行３４０はまた、これらの対応する成分の形状及び／又は位置に基づいてフィルタ除去することもでき、これによりテキストを有するビデオコンテンツ３１０の一部分を形成する。
【００４４】
図３Ｉは、テキストを有するビデオコンテンツ３１０の一部分として１つのテキスト行３４０を示している。テキスト行３４０は、二値化することができ、これによりテキスト行３４０の二値化バージョン３５０を形成する。二値化バージョン３５０内のテキストは、二値化バージョン３５０に対してＯＣＲを実行することによって識別することができる。次に、識別されたテキストを構文解析して、複数のテキストセグメントを判定することができる。結果として得られた図３Ｉの表にあるテキストセグメントは、ａｆ（ＯＣＲはＭＴＶロゴの一部分を「ａｆ」と解釈した）、ＮＥＷＳ、ＴＷＥＥＴ、ＵＳ、＠ＭＴＶＮＥＷＳ、ＷＩＴＨ、ＹＯＵＲ、ＪＯ、ＢＲＯＳ、ＱＵＥＳＴＩＯＮＳ、＃ＡＳＫＪＯＮＡＳを含む。テキストセグメントとカテゴリとの間の格納済みの関連性に基づいて、各テキストセグメントに関して、対応するカテゴリを判定することができる。例えば、「＠」の使用と「ハンドル」というカテゴリ（例えば、Ｔｗｉｔｔｅｒ（登録商標）ハンドル）との間には格納済みの関連性がある可能性がある。結果として、「＠ＭＴＶＮＥＷＳ」は、「ハンドル」と識別することができる。同様に、「＃」の使用と「ハッシュタグ」というカテゴリとの間にも格納済みの関連性がある可能性がある。結果として、「＃ＡＳＫＪＯＮＡＳ」は、「ハッシュタグ」と識別することができる。これらの関連性は、適切なカテゴリを判定するための文法又は構文規則（例えば、「ｗｗｗ.」の使用はＵＲＬを示す）を含むことができ、及び／又はカテゴリが判定されるテキストの全て（又はほとんど）を含むことができる。（例えば、テキスト「ｗｗｗ.ｅｘａｍｐｌｅｗｅｂｓｉｔｅ．ｃｏｍ」が格納されており、カテゴリを判定すべきテキストが、この格納済みのテキストと比較され、これが一致しており同じカテゴリを割り当てる必要があるか否か判定することができる）。
【００４５】
一部の実施形態において、テキストのカテゴリの判定を用いて、テキスト検出システム１００によって実行されるさらなる動作を決定することができる。例えば、ビデオコンテンツ内のテキストがＵＲＬと識別されて分類されると、テキスト検出システム１００は、カテゴリがＵＲＬであるという判定に基づいて、メディアコンテンツデバイス上へのＵＲＬのロードを行うことができる。別の実施例では、ビデオコンテンツ内のテキストが電話番号と識別されて分類されると、テキスト検出システム１００は、カテゴリが電話番号であるという判定に基づいて、ユーザがこの電話番号にかけるためのプロンプトを生じさせることができる。他の実施例及び構成も本開示の範囲内である。
【００４６】
付加情報は、サーバ側（例えば、ビデオコンテンツプロバイダ２１０）又はクライアント側（例えば、第１メディアコンテンツデバイス２２０又は第２メディアコンテンツデバイス２４０）のいずれかでフェッチ及び集約することができる。一部の実施形態では、対応するアプリケーションを開始することができる。検出されたテキストから抽出された付加情報は、アプリケーションに提供することができる（例えば、ビデオコンテンツ内のテキストから抽出されたＴｗｉｔｔｅｒ（登録商標）ハンドルを、Ｔｗｉｔｔｅｒ（登録商標）アプリケーションに提供することができる）。
【００４７】
場合によっては、識別されたテキスト及び／又はこれの対応する付加情報は、何らかの意味ある使用に対応しない可能性がある。例えば、ビデオコンテンツ内で識別されたテキストに基づいて、（例えば付加情報として）特定のＵＲＬを判定することができる。しかしながら、ウェブブラウザ内へのＵＲＬのロードによって、対応するページが生じないことがある（例えば、ＵＲＬが存在しない又は何らかの関連するコンテンツも有さない場合がある）。一部の実施形態において、識別されたテキスト及び／又はこれの対応する付加情報が、有用性の所定の閾値を満たさない（例えば、ＵＲＬがウェブブラウザによって見つからない場合）という判定に応答して又はそうでなければこれに基づいて、検出されたテキスト及び／又は付加情報の修正（例えば、テキストの異なる綴り及び／又は記号の組合せ）を、テキスト検出システム１００によって無作為に又は体系的に試行することができる。これらの修正は、限定ではないが、識別されたテキスト及び／又は付加情報に属さなかったテキストを事前に引き出すか又は他の方法で使用するテキスト検出システム１００に対処するためのサブストリングを含むことができる。
【００４８】
一部の実施形態において、テキスト認識（例えばＯＣＲ）段階は、識別されたテキスト及び／又はこれの対応する付加情報が有用性の所定の閾値を満たさないという判定に応答して又はそうでなければこれに基づいて、繰り返すことができる。このテキスト認識段階は、可能性の高い他の記号、文字、及び／又は数値の組合せ、又は構文解析で起こり得るエラーを発見するために繰り返すことができる。一部の実施形態において、先のテキスト認識段階の実行中にＯＣＲ結果を補正するために先に辞書が使用された場合、この辞書機能なしでテキスト認識段階の実行の繰り返しを行うことができる。なぜならば、いくつかの文字の組合せは意図的に辞書の言葉に近いものとすることができるからである（例えば、文字を見かけが類似する数字に置き換える、「Ｅ」を「３」に、「Ｉ」を「１」に、等）。
【００４９】
一部の実施形態において、ＵＲＬ、ハンドル、又は他の付加情報を、使用のためにソフトウェアアプリケーションに提供する前に、テキスト検出システム１００は、付加情報に対して検証処理を実行して、テキスト認識が正しく実行されるように保証することができる。例えば、テキスト検出システム１００は、Ｆａｃｅｂｏｏｋ（登録商標）ＵＲＬ又はＴｗｉｔｔｅｒ（登録商標）ハンドルが正式なものであること又は検証済みのアカウントに対応することを確認するためにチェックを行うことができる。テキスト検出システム１００は、付加情報をソフトウェアアプリケーションに提供するための条件として検証を用いることができる。他の実施例及び構成も本開示の範囲内である。
【００５０】
一部の実施形態において、テキスト検出システム１００は、現在のテキスト認識処理に訂正を加える又は他の方法で作用するために、以前に検出して認識／識別した用語（又は他のテキスト）の格納済みの履歴を用いるように構成することができる。
【００５１】
図４は、一部の例示的な実施形態による方法４００を示すフローチャートである。方法４００の動作は、システム又はシステム（例えば、図１のテキスト検出システム１００）のモジュールによって実行することができる。動作４１０において、ビデオコンテンツが少なくとも１つの所定の条件を満たすか否かを判定することができる。一部の実施形態において、所定の条件は、最低レベルの明瞭性、最低レベルのコントラスト、及び複数のフレームにわたる最低レベルのコンテンツ安定性のうちの少なくとも１つを含む。ビデオコンテンツが所定の条件を満たさないと判定されると、方法４００は、本明細書に開示するテキスト検出手法をビデオコンテンツに対して実行することなく終了することができる。ビデオコンテンツが所定の条件を満たすと判定されると、動作４２０において、ビデオコンテンツの一部分がテキストを有すると識別することができる。動作４３０において、ビデオコンテンツの識別された部分内のテキストを識別することができる。動作４４０において、識別されたテキストのカテゴリを判定することができる。動作４５０において、識別されたテキスト及び判定されたカテゴリに基づいて、ビデオコンテンツに対応する付加情報を判定することができる。付加情報は、統一資源位置指定子（ＵＲＬ）、ユーザアカウントの識別、メタデータタグ、及び電話番号のうちの少なくとも１つを含むことができる。動作４６０において、付加情報をメディアコンテンツデバイスに提供することができる。付加情報は、メディアコンテンツデバイス上のソフトウェアアプリケーションに提供することができる。付加情報は、メディアコンテンツデバイス上に表示させることができる。付加情報は、ビデオコンテンツに関連して又はビデオコンテンツの識別された視聴者に関連して格納することができる。識別されたテキストは、ビデオコンテンツに関連して又はビデオコンテンツの識別された視聴者に関連して格納することができる。方法４００の動作は、本明細書に開示する何らかの他の機能を組み込むことができることを理解されたい。
【００５２】
図５は、一部の例示的な実施形態による方法５００を示すフローチャートである。方法５００の動作は、システム又はシステムのモジュールによって実行することができる（例えば、図１のテキスト検出システム１００）。方法５００は、テキストを有するビデオコンテンツの一部分を識別するために使用することができる。動作５０２において、ビデオコンテンツのフレームをグレースケールに変換することができる。動作５０４において、フレームに対してエッジ検出を実行することができる。動作５０６において、フレームに対してダイレーションを実行して、フレーム内の垂直エッジを連結することができる。動作５０８において、フレームを二値化することができる。動作５１０において、フレームに対して連結成分分析を実行して、フレーム内の連結成分を検出することができる。動作５１２において、連結成分を複数のテキスト行にまとめることができる。動作５１４において、水平及び垂直投影を用いて、複数のテキスト行を精細化することができる。動作５１６において、複数のテキスト行の少なくとも１つのサイズに基づいて、複数のテキスト行の少なくとも１つをフィルタ除去して、フィルタ済みのテキスト行セットを形成することができる。一部の実施形態において、動作５１６は、方法５００から省くことができる。例えば、テキスト行の全てが所定の基準を満たすと判定される場合、このフィルタリング動作５１６は行わないことができる。動作５１８において、フィルタ済みのテキスト行セット（又はフィルタリング動作５１６が実行されない場合は、単に精細化されたセット）を二値化することができる。動作５２０において、テキスト行の少なくとも１つにある成分の形状及びテキスト行の少なくとも１つにある成分の位置のうちの少なくとも１つに基づいて、二値化されたフィルタ済みのテキスト行セットからテキスト行の少なくとも１つをフィルタ除去して、テキストを有するビデオコンテンツの一部分を形成することができる。方法５００の動作は、本明細書に開示する何らかの他の機能を組み込むことができることを理解されたい。
【００５３】
図６は、一部の例示的な実施形態による方法６００を示すフローチャートである。方法６００の動作は、システム又はシステムのモジュールによって実行することができる（例えば、図１のテキスト検出システム１００）。動作６１０において、ビデオコンテンツの識別された部分（例えば、テキストを有すると識別された部分）に対してＯＣＲを実行して、識別された部分内のテキストを識別することができる。動作６２０において、識別されたテキストを構文解析して、識別されたテキストの複数のセグメントを判定することができる。動作６３０において、複数のセグメントの少なくとも１つとカテゴリとの間の格納済みの関連性に基づいて、カテゴリを判定することができる。方法６００の動作は、本明細書に開示する何らかの他の機能を組み込むことができることを理解されたい。
【００５４】
例示的なモバイルデバイス
図７は、例示的な実施形態によるモバイルデバイス７００を示すブロック図である。モバイルデバイス７００は、プロセッサ７０２を含むことができる。プロセッサ７０２は、モバイルデバイス７００にとって適切な様々な異なるタイプの市販のプロセッサのいずれか（例えば、ＸＳｃａｌｅアーキテクチャマイクロプロセッサ、Ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ  ｗｉｔｈｏｕｔ  Ｉｎｔｅｒｌｏｃｋｅｄ  Ｐｉｐｅｌｉｎｅ  Ｓｔａｇｅｓ（ＭＩＰＳ）アーキテクチャプロセッサ、又は他のタイプのプロセッサ）とすることができる。ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリ、又は他のタイプのメモリ等のメモリ７０４が、通常、プロセッサ７０２からアクセス可能である。メモリ７０４は、オペレーティングシステム（ＯＳ）７０６、並びにＬＢＳをユーザに提供することができるモバイル位置対応のアプリケーションのようなアプリケーションプログラム７０８を格納するように適合することができる。プロセッサ７０２は、直接又は適切な中間ハードウェアを介してディスプレイ７１０に、及びキーパッド、タッチパネルセンサ、マイクロフォン等の１又は２以上の入出力（Ｉ／Ｏ）デバイス７１２に接続することができる。同様に、一部の実施形態において、プロセッサ７０２は、アンテナ７１６とインタフェースするトランシーバ７１４に接続することができる。トランシーバ７１４は、モバイルデバイス７００の性質に応じて、セルラーネットワーク信号、無線データ信号、又は他のタイプの信号を、アンテナ７１６を介して送信及び受信の両方を行うように構成することができる。さらに、一部の実施形態において、ＧＰＳ受信機７１８もまた、アンテナ７１６を利用してＧＰＳ信号を受信することができる。
【００５５】
モジュール、構成要素、及びロジック
特定の実施形態について、本明細書ではロジック、又は多くの構成要素、モジュール、又は機構を含むものとして説明する。モジュールは、ソフトウェアモジュール（例えば、機械可読媒体上又は伝送信号内に具現化されたコード）又はハードウェアモジュールのいずれかを構成することができる。ハードウェアモジュールとは、一定の動作を実行する能力がある有形のユニットで、特定の物理的方法で構成又は配置することができる。例示的な実施形態において、１又は２以上のコンピュータシステム（例えば、スタンドアロン、クライアント、又はサーバコンピュータシステム）、或いはコンピュータシステムの１又は２以上のハードウェアモジュール（例えば、プロセッサ又はプロセッサグループ）は、本明細書で説明するような特定の動作を実行するように動作するハードウェアモジュールと同様にソフトウェア（例えば、アプリケーション又はアプリケーション部分）によって構成することができる。
【００５６】
種々の実施形態において、ハードウェアモジュールは、機械的に又は電子的に実装することができる。例えば、ハードウェアモジュールは、特定の動作を実行するように永続的に構成された（例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）又は特定用途向け集積回路（ＡＳＩＣ）のような専用プロセッサとして）専用回路構成又はロジックを含むことができる。ハードウェアモジュールはまた、特定の動作を実行するようにソフトウェアによって一時的に構成されたプログラム可能ロジック又は回路構成（例えば、汎用プロセッサ又は他のプログラム可能プロセッサ内に包含されるものとして）も含むことができる。専用の永続的に構成された回路構成で、或いは一時的に構成された回路構成で（例えば、ソフトウェアによる構成）ハードウェアモジュールを機械的に実装するという決定は、コスト及び時間を考慮することによって決定することができる点を理解されたい。
【００５７】
従って、用語「ハードウェアモジュール」は、特定の方法で動作するために及び／又は本明細書で説明する特定の動作を実行するために、エンティティが物理的に構築された、永続的に構成された（例えば、組み込まれた）、又は一時的に構成された（例えば、プログラムされた）もののいずれであれ、有形のエンティティを包含すると理解されるべきである。ハードウェアモジュールが一時的に構成された（例えばプログラムされた）実施形態を考慮すれば、ハードウェアモジュールの各々をどの時点においても構成又はインスタンス化する必要はない。例えば、ハードウェアモジュールが、ソフトウェアを用いて構成された汎用プロセッサを備える場合、汎用プロセッサは、異なる時点で、それぞれ異なるハードウェアモジュールとして構成することができる。従って、ソフトウェアは、例えば、ある時点において特定のハードウェアモジュールを構築するように、及び異なる時点において異なるハードウェアモジュールを構築するようにプロセッサを構成することができる。
【００５８】
ハードウェアモジュールは、他のハードウェアモジュールに情報を提供し、そこから情報を受け取ることができる。従って、本明細書に記載のハードウェアモジュールは、通信可能に結合されるとみなすことができる。複数のこのようなハードウェアモジュールが同時に存在する場合、通信は、ハードウェアモジュールを接続する信号伝送を通じて（例えば、適切な回路及びバス上で）実現することができる。複数のハードウェアモジュールが異なる時点で構成又はインスタンス化される実施形態では、このようなハードウェアモジュール間の通信は、例えば、複数のハードウェアモジュールがアクセス権を有するメモリ構造への情報の格納及び読み出しを通じて行うことができる。例えば、あるハードウェアモジュールが動作を実行して、自己が通信可能に結合されたメモリデバイスにこの動作の出力を格納することができる。その後、別のハードウェアモジュールが、後の時点でメモリデバイスにアクセスして、格納された出力を読み出して処理することができる。また、ハードウェアモジュールは、入力又は出力デバイスとの通信を開始することもでき、リソース（例えば情報の集合）に基づいて動作することができる。
【００５９】
本明細書で説明する例示的な方法の種々の動作は、関連する動作を実行するように（例えば、ソフトウェアによって）一時的に構成された又は永続的に構成された、１又は２以上のプロセッサによって少なくとも部分的に実行することができる。一時的又は永続的に構成されたかにかかわらず、このようなプロセッサは、１又は２以上の動作又は機能を実行するように動作するプロセッサ実施のモジュールを構築することができる。本明細書で言及するモジュールは、一部の例示的な実施形態において、プロセッサ実装モジュールを含むことができる。
【００６０】
同様に、本明細書で説明する方法は、少なくとも部分的にプロセッサ実装とすることができる。例えば、方法の動作の少なくとも一部は、１又は２以上のプロセッサ又はプロセッサ実装のモジュールによって実行することができる。動作の一部の実行は、単一の機械内に常駐するだけでなく、多くの機械にわたって配備された１又は２以上のプロセッサの間で分散させることができる。一部の例示的な実施形態において、１又は２以上のプロセッサは、単一の場所（例えば、ホーム環境、オフィス環境の中、又はサーバファームとして）に配置することができるが、別の実施形態では、多くの場所にわたってプロセッサを分散することができる。
【００６１】
また、１又は２以上のプロセッサは、「クラウドコンピューティング」環境で又は「ｓｏｆｔｗａｒｅ  ａｓ  ａ  ｓｅｒｖｉｃｅ（ＳａａＳ）」として、関連動作の実行をサポートするように動作することもできる。例えば、動作の少なくとも一部は、コンピュータのグループ（プロセッサを含む機械の例として）によって実行することができ、これらの動作には、ネットワークを介して、及び１又は２以上の適切なインタフェース（例えばＡＰＩ）を介してアクセス可能である。
【００６２】
例示的な実施形態は、デジタル電子回路構成において、又はコンピュータハードウェア、ファームウェア、ソフトウェアにおいて、又はこれらの組合せにおいて実施可能である。例示的な実施形態は、データ処理装置、例えば、プログラム可能プロセッサ、コンピュータ、又は複数のコンピュータによって実行するために又はこれらの動作を制御するために、情報キャリア内、例えば機械可読媒体内に有形で具現化されたコンピュータプログラムのようなコンピュータプログラム製品を用いて実施することができる。
【００６３】
コンピュータプログラムは、コンパイル又は翻訳言語を含む何らかの形式のプログラミング言語で記述することができ、スタンドアロンプログラムとして、又はモジュール、サブルーチン、又はコンピュータ環境で使用するのに適した他のユニットとして、を含む様々な形式で導入することができる。コンピュータプログラムは、１つのコンピュータ上で、或いは１つの場所にある又は複数の場所にわたって分散され通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように導入することができる。
【００６４】
例示的な実施形態において、動作は、入力データに対して作用して出力を生成することによって機能を実行するために、コンピュータプログラムを実行する１又は２以上のプログラム可能プロセッサによって実行することができる。また、方法の動作は、専用論理回路構成（例えば、ＦＰＧＡ又はＡＳＩＣ）によって実行することができ、さらに例示的な実施形態の装置は、専用論理回路構成として実装することができる。
【００６５】
コンピューティングシステムは、クライアント及びサーバを含むことができる。クライアント及びサーバは、一般に、相互に離れており、通常は通信ネットワークを介して相互作用する。クライアント及びサーバの関係は、それぞれのコンピュータ上で実行され、相互にクライアント−サーバ関係を有するコンピュータプログラムによって生じる。プログラム可能コンピューティングシステムを備える実施形態では、ハードウェア及びソフトウェアの両方のアーキテクチャが考慮に値することは理解されるであろう。具体的には、永続的に構成されたハードウェア（例えばＡＳＩＣ）で、一時的に構成されたハードウェア（例えばソフトウェア及びプログラム可能プロセッサの組合せ）で、又は永続的に構成された及び一時的に構成されたハードウェアの組合せで特定の機能を実施するかどうかの選択は、設計上の選択となり得る。以下に、種々の例示的な実施形態において導入可能なハードウェア（例えば機械）及びソフトウェアのアーキテクチャを示す。
【００６６】
図８は、例示的な実施形態による、本明細書で議論する方法論の任意の１又は２以上を機械に実行させるための命令８２４をその中で実施可能なコンピュータシステム８００の例示的な形態の機械のブロック図である。代替的な実施形態において、機械は、スタンドアロンデバイスとして動作し、又は他の機械に接続（例えば、ネットワーク接続）することができる。ネットワーク配置において、機械は、サーバ−クライアントネットワーク環境ではサーバ又はクライアント機械として、或いはピアツーピア（又は分散）ネットワーク環境ではピア機械として動作することができる。機械は、パーソナルコンピュータ（ＰＣ）、タブレットＰＣ、セットトップボックス（ＳＴＢ）、携帯情報端末（ＰＤＡ）、携帯電話、ウェブアプライアンス、ネットワークルータ、スイッチ又はブリッジ、或いはその機械によって行われるべき動作を指定する命令（シーケンシャル又はそれ以外）を実行する能力があるいずれかの機械とすることができる。さらに、唯一の機械のみが示されているが、「機械」という用語は、本明細書で議論する方法論の任意の１又は２以上を実行するための命令セット（又は複数セット）を個別に又は共同で実行する何らかの機械の集合を含むと解釈するべきである。
【００６７】
例示的なコンピュータシステム８００は、プロセッサ８０２（例えば、中央処理ユニット（ＣＰＵ））、グラフィックス処理ユニット（ＧＰＵ）、又はその両方）と、メインメモリ８０４と、スタティックメモリ８０６と、を含み、これらはバス８０８を介して相互に通信する。コンピュータシステム８００は、ビデオディスプレイユニット８１０（例えば、液晶ディスプレイ（ＬＣＤ）又はブラウン管（ＣＲＴ））をさらに含むことができる。コンピュータシステム８００はまた、英数字入力デバイス８１２（例えばキーボード）と、ユーザインタフェース（ＵＩ）ナビゲーション（又はカーソル制御）デバイス８１４（例えばマウス）と、ディスクドライブユニット８１６と、信号発生装置８１８（例えばスピーカ）と、ネットワークインタフェースデバイス８２０と、も含むことができる。
【００６８】
ディスクドライブユニット８１６は、本明細書で説明する方法論又は機能の任意の１又は２以上を具現化する又はこれらによって利用されるデータ構造及び命令の１又は２以上のセット８２４（例えばソフトウェア）が格納された機械可読媒体８２２を含む。命令８２４はまた、完全に又は少なくとも部分的に、メインメモリ８０４内及び／又はプロセッサ８０２内に、コンピュータシステム８００によるこの命令の実行中に常駐することもでき、メモリ８０４及びプロセッサ８０２が、機械可読媒体を構成することもできる。命令８２４はまた、完全に又は少なくとも部分的に、スタティックメモリ８０６内に常駐することもできる。
【００６９】
例示的な実施形態では、機械可読媒体８２２が単一の媒体であるように示されているが、「機械可読媒体」という用語は、１又は２以上の命令８２４又はデータ構造を格納する単一媒体又は複数媒体（例えば、集中又は分散データベース、及び／又は関連するキャッシュ及びサーバ）を含むことができる。「機械可読媒体」という用語はまた、機械によって実行するための命令を格納し、エンコードし、又は伝送する能力があり、本実施形態の方法論の任意の１又は２以上を機械に実行させ、又はこのような命令によって利用され又はこれに関連するデータ構造を格納し、エンコードし、又は伝送する能力がある何らかの有形媒体を含むと解釈すべきである。従って、「機械可読媒体」という用語は、限定ではないが、固体メモリ、並びに光学及び磁気媒体を含むと解釈すべきである。機械可読媒体の具体的な例は、不揮発性メモリを含み、例として半導体メモリデバイス（例えば、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、及びフラッシュメモリデバイス）、内部ハードディスク及びリムーバブルディスク等の磁気ディスク、光磁気ディスク、及びコンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）及びデジタル多用途ディスク（又はデジタルビデオディスク）読み取り専用メモリ（ＤＶＤ−ＲＯＭ）ディスクを含む。
【００７０】
さらに、命令８２４は、伝送媒体を用いて通信ネットワーク８２６上で送受信することができる。命令８２４は、ネットワークインタフェースデバイス８２０及び多くの公知の転送プロトコルのいずれか１つ（例えばＨＴＴＰ）を用いて伝送することができる。通信ネットワークの例は、ＬＡＮ、ＷＡＮ、インターネット、携帯電話ネットワーク、ＰＯＴＳネットワーク、及び無線データネットワーク（例えばＷｉＦｉ及びＷｉＭＡＸネットワーク）を含む。「伝送媒体」という用語は、機械によって実行するための命令を格納し、エンコードし、又は伝送する能力がある何らかの無形媒体を含むと解釈すべきであり、このようなソフトウェアの通信を円滑にするためのデジタル又はアナログ通信信号又は他の無形媒体を含む。
【００７１】
特定の例示的な実施形態を参照しながら実施形態について説明してきたが、本開示のより広い精神及び範囲から逸脱することなく、これらの実施形態には種々の修正及び変更を加えることができる点は明らかになるであろう。従って、明細書及び図面は、限定的ではなく例示的な意味でとらえるものとする。これの一部分を成す添付図面は、限定ではなく例証として、主題を実施することができる特定の実施形態を示している。例証する実施形態については、当業者が本明細書に開示された教示を実施できるようにするために十分詳細に説明する。他の実施形態を利用してそこから導出することができるので、本開示の範囲から逸脱することなく構造上及び論理的な置換え及び変更を加えることができる。従って、この詳細な説明は、限定的な意味でとらえるものではなく、種々の実施形態の範囲は、添付の特許請求の範囲、並びにこのような特許請求の範囲が享受する均等物の全範囲によってのみ定義される。
【００７２】
本明細書では特定の実施形態について示して説明してきたが、同じ目的を達成すると予想されるいずれの配置も、ここに示した特定の実施形態に置き換えることができる点を理解されたい。本開示は、種々の実施形態のありとあらゆる適応又は変形を網羅するものである。上記の説明を再検討することで、本明細書に特には記載されていない上記の実施形態の組合せ及び他の実施形態が当業者には明らかになるであろう。
【符号の説明】
【００７３】
１００  テキスト検出システム
１１０  コンテンツ選択モジュール
１２０  テキスト検出モジュール
１３０  テキスト認識モジュール
１４０  テキスト解釈モジュール
１５０  情報モジュール
１６０  データベース
【図１】
0006626843.tif 000002
【図２】
0006626843.tif 000003
【図３Ａ】
0006626843.tif 000004
【図３Ｂ】
0006626843.tif 000005
【図３Ｃ】
0006626843.tif 000006
【図３Ｄ】
0006626843.tif 000007
【図３Ｅ】
0006626843.tif 000008
【図３Ｆ】
0006626843.tif 000009
【図３Ｇ】
0006626843.tif 000010
【図３Ｈ】
0006626843.tif 000011
【図３Ｉ】
0006626843.tif 000012
【図４】
0006626843.tif 000013
【図５】
0006626843.tif 000014
【図６】
0006626843.tif 000015
【図７】
0006626843.tif 000016
【図８】
0006626843.tif 000017