≪実施形態1≫
本発明の実施形態について、図面に基づいて説明すると以下の通りである。
以下では、一例として、本発明の文字列検知装置を、画像を再生して表示するDVDプレーヤーに搭載した場合について説明する。
なお、本発明の文字列検知装置は、DVDプレーヤーに限定されず、画像を処理することが可能なあらゆる画像処理装置に適用することが可能である。例えば、これに限定されないが、デジタルビデオレコーダー/プレーヤー、ブルーレイディスクレコーダー/プレーヤー、デジタルビデオカメラ、デジタルカメラ、デジタルテレビ、パーソナルコンピュータ(PC)、携帯電話、プリンタ、スキャナ、複合機、ファクシミリ装置など、静止画または動画、あるいは、その両方を処理することが可能な各種画像処理装置に適用することが可能である。なお、静止画データおよび動画データをともに、ここでは画像と称する。
本発明の文字列検知装置は、複雑な背景を持つ画像であっても、その中から精度良く、かつ、低負荷処理で効率良く、指定の文字列を検知することが可能な文字列検知装置である。以下、本発明の文字列検知装置としてのDVDプレーヤーの構成を説明する。
〔DVDプレーヤー1の構成〕
図1は、本発明の実施形態におけるDVDプレーヤー1の要部構成を示すブロック図である。
図1に示すとおり、本実施形態のDVDプレーヤー(画像処理装置)1は、制御部10、記憶部11、表示部12、操作部13、一時記憶部14、および、これらの各部でデータの送受信を行うための共通の信号線としてのバス15を備える構成となっている。
表示部12は、DVDプレーヤー1が処理する画像を表示したり、ユーザがDVDプレーヤー1を操作するための操作画面をGUI(Graphical User Interface)画面として表示したりするものである。表示部12は、例えば、LCD(液晶ディスプレイ)、有機ELディスプレイなどの表示装置で構成される。
操作部13は、ユーザがDVDプレーヤー1に指示信号を入力し、操作するためのものである。
DVDプレーヤー1は、バス15を介して直接データ送受信を行うことが可能な表示部12および操作部13を備えていてもよいが、このような構成に限定されない。
本実施形態では、表示部12は、デジタルテレビで実現されており、バス15を介して制御部10と接続するDVDプレーヤー1の外部インターフェース(図示せず)は、HDMI(High Definition Multimedia Interface)端子およびHDMIケーブルを介して、デジタルテレビとしての表示部12と接続している。これにより、DVDプレーヤー1は、自装置が再生する画像を表示部12(デジタルテレビ)に出力し、表示させることができる。
また、本実施形態では、操作部13は、一例として、上記デジタルテレビおよび当該DVDプレーヤー1に共通のリモコンとして実現されていてもよい。操作部13に設けられたボタン(十字キー、決定キー、文字入力キーなど)に対応する信号は、そのボタンが押下されたときに、赤外線信号として操作部13の発光部から出力され、DVDプレーヤー1または上記デジタルテレビの本体に設けられた受光部を介してDVDプレーヤー1またはデジタルテレビに入力される。DVDプレーヤー1の受光部(図示せず)を介して受信された信号は、バス15を介して制御部10に供給され、制御部10が上記信号に応じた動作を行う。
制御部10は、記憶部11から一時記憶部14に読み出されたプログラムを実行することにより、各種の演算を行うと共に、DVDプレーヤー1が備える各部を、バス15を介して統括的に制御するものである。
本実施形態では、制御部10は、機能ブロックとして、特徴量抽出部22、一次検知部23、候補領域特定部24、画素プロット部25、クラスタリング部26、代表色決定部27、クラスタ選択部28、クリッピング部29、二次検知部30、および、文字列判定部31を備える構成である。これらの各機能ブロックは、DVDプレーヤー1を本発明の文字列検知装置として機能させるためのものである。
また、DVDプレーヤー1は画像処理装置であるので、制御部10は、DVDプレーヤー1を画像処理装置として機能させるための機能ブロックとして、動画再生部20、および、静止画生成部21を備えている。上記構成は、画像処理装置が基本的に備えている機能ブロックの一例であって、本発明の文字列検知装置の構成を限定するものではなく、画像処理装置の機能に応じて適宜設計されるものである。
上述した制御部10の各機能ブロック(20〜31)は、CPU(central processing unit)が、ROM(read only memory)等で実現された記憶装置に記憶されているプログラムをRAM(random access memory)等で実現された一時記憶部14に読み出して実行することで実現できる。
上述の機能ブロックのうち、特徴量抽出部22、一次検知部23、および、候補領域特定部24が、本発明の文字列検知装置における一次検知機能として機能する。画素プロット部25、クラスタリング部26、および、代表色決定部27が、色分析機能として機能する。クラスタ選択部28、クリッピング部29、および、二次検知部30が、二次検知機能として機能する。
さらに、本実施形態のDVDプレーヤー1は、図示しない文字評価装置を搭載することも可能である。文字評価装置は、本発明の文字列検知装置が検知し得るあらゆる文字を分析して評価するための文字評価機能を備えている。文字評価装置が評価して得られた文字の情報を用いて、文字列検知装置は、画像に含まれる文字列を検知することが可能となる。具体的には、文字評価装置は、文字の形状特性および文字の言語的特性に基づいて、文字を分析し、その文字がどのくらい誤検知され難いのか(どのくらい正しく検知され易いのか)という観点から評価を行って、「誤検知のされ難さ」を表す評価値を求める。評価値は、図示しない文字情報記憶部において文字ごとに予め記憶される。
文字評価装置が求めた評価値によって、本発明の文字列検知装置は、文字の誤検知され難さを文字ごとに予め把握することが可能となる。これにより、文字列検知装置は、指定されたキーワード中の誤検知され難い文字から順に検索を行うことが可能となり、従来と比較して精度良くかつ効率的に文字列検知処理を実現することができる。
ここで、誤検知とは、本来文字ではない背景領域に、目的の文字が含まれていると誤って検知してしまうこと、別の文字を目的の文字と誤って検知してしまうこと、本来目的の文字であるのに目的の文字を検知し損なうことなどを指している。こうした誤検知は、文字の形状がシンプルなもの、異表記文字があるものに起こり易い。例えば、その文字に文字らしき特徴的な形が少なかったり(数字の“1”、長音を表す“ー”など)、漢字の部首など様々な文字の要素の一部としてよく使われる文字であったり(“口”、“日”など)、別の文字であるのに形状が似ているような文字同士であったり(カタカナの“ニ”と漢数字の“二”、カタカナの“ロ”と漢字の“口”、通常の“つ”と促音を表す“っ”など)、逆に、1つの意味で表記が複数ある文字であったり(“沢”と“澤”、“A”と“a”など)すると、誤検知の可能性は高まる。
以上のことから、「誤検知のされ難さ」とは、文字の形状が複雑であること、類似形状の文字がないこと、異表記文字がないことなどによって評価できると言える。ただし、これに限定されず、その他の文字形状の特徴、その他の文字特性を、誤検知のされ難さの評価に用いてもよい。
記憶部11は、制御部10が実行する制御プログラムおよびOSプログラム、ならびに、制御部10が、DVDプレーヤー1が有する各種機能(例えば、画像処理機能、一次検知機能、色分析機能、二次検知機能、文字評価機能など)を実行するときに読み出す各種の固定データを記憶するものである。本実施形態では、記憶部11には、例えば、画像記憶部40、キーワード記憶部41、および、文字情報記憶部42が含まれており、各種の固定データを記憶する。記憶部11は、例えば、内容の書き換えが可能な不揮発性メモリである、EPROM(Erasable ROM)、EEPROM(Electrically EPROM)、フラッシュメモリなどで実現される。なお、内容の書き換えが不要な情報を記憶する記憶部としては、上述したとおり、記憶部11とは別の、図示しない、読出し専用の半導体メモリであるROM(Read Only Memory)などで実現されてもよい。
画像記憶部40は、DVDプレーヤー1が画像処理装置として処理する対象となる画像のデータを記憶するものである。本実施形態では、画像記憶部40は、静止画および動画をいずれも画像として記憶することができる。
キーワード記憶部41は、ユーザによって指定されたキーワードを記憶するものである。この指定されたキーワードを画像から検知するために、文字列検知装置は、文字列検知処理(一連の一次検知機能、色分析機能、および、二次検知機能を含む)を実行する。このとき、制御部10の各部は、キーワード記憶部41を参照して、指定されたキーワードを読み出す。キーワード記憶部41のデータ構造については後に詳述する。
文字情報記憶部42は、文字列検知装置が文字列検知処理を実行する際に利用する文字の情報をデータベース化して記憶するものである。文字情報記憶部42が記憶する文字データベースは、文字ごとに、文字を一意に識別するための文字コード、および、その文字の特徴情報(モデル)を対応付けて格納する。この文字データベースのデータ構造については後に詳述する。
一時記憶部14は、DVDプレーヤー1が実行する各種処理の過程で、演算に使用するデータおよび演算結果等を一時的に記憶するいわゆるワーキングメモリであり、RAM(Random Access Memory)などで実現される。より具体的には、静止画生成部21は、画像処理を実行するとき、処理対象となる画像を、一時記憶部14が備える図示しない画像メモリに展開し、これにより、制御部10の各部が画像について画素単位で詳細な解析を行うことができる。あるいは、一次検知機能、色分析機能および二次検知機能を実現する各部が実行した実行結果もこの一時記憶部14に一時的に格納される。
図2は、本発明のDVDプレーヤー1、表示部12(デジタルテレビ)、および、操作部13(リモコン)の外観と、ユーザが目的のキーワード(文字列)を入力する様子を説明する図である。図2に示す例では、DVDプレーヤー1は、ユーザが文字列検知装置を操作するための操作画面を表示部12に出力し、表示させる。図2に示す例では、表示部12は、ユーザが検索したい文字列を、操作部13を操作して入力できるようなGUI画面を表示する。
ユーザは、操作部13を操作することにより、処理対象の動画(または静止画)から見つけたい文字列を文字列検知装置に対して入力することができる。図2は、目的の文字列として、キーワード「エース」が入力された例を示している。
図示しないDVDプレーヤー1の入力制御部は、例えば、操作部13のユーザ操作によってキーワードが入力されて、操作部13の決定ボタンなどが押下されると、入力されたキーワード(例えば、「エース」)を受け付けて、キーワード記憶部41に格納する。
図3は、キーワード記憶部41に保持されるキーワードのデータ構造の一例を示す図である。図3に示すとおり、表示制御部は、取得したキーワードの各文字をキーワードの並びの順に格納する。例えば、キーワード「エース」の場合、「エ」はこのキーワードの中で、1文字目であるので、表示制御部は、文字「エ」を格納し、さらに、当該文字に文字順序「1」の情報を対応付けて記憶する。「ー」、「ス」の各文字についても同様に、文字順序「2」、「3」を対応付けて記憶する。
ここで、DVDプレーヤー1が文字評価装置を備えている場合には、文字評価装置が「エ」、「ー」、「ス」の3文字を評価して、「誤検知のされ難さ」が高い順に優先順位、すなわち、検索順序を付与することが好ましい。図3に示す例では、上記3文字のうち、最も他の文字と間違え難い「ス」が、優先順位「1」、他の文字と間違えられる可能性がある「エ」が、優先順位「2」、さらに高確率であらゆる図形、文字と間違えられる可能性がある「−」が、優先順位「3」と決定されているものとする。
このように、決定された優先順位を、図3に示すように、入力された各文字に対応付けて格納しておけば、一次検知部23、および、二次検知部30は、優先順位に基づいて、文字の検知を実行することができ、間違え難い文字からより確実に文字検知を行うことで、精度良くかつ効率良く指定文字を検知することが可能となる。
さらに、図3に示すとおり、キーワード記憶部41において、検知が完了した文字には、「検知済」であることを示すフラグを格納するフィールドが確保されていてもよい。
〔DVDプレーヤー1の機能構成〕
制御部10の動画再生部20は、画像記憶部40に記憶されている動画を読み出して、外部出力用の処理を施し、動画を再生するものである。
動画を再生・表示する旨の指示が入力された場合、動画再生部20が処理した動画は、一旦図示しない画像メモリに格納され、フレームごとに、図示しない表示制御部の制御の下、表示部12に出力される。
動画から所定の文字列を検知する旨の指示が入力された場合、動画再生部20が処理した動画は、静止画生成部21に出力される。
なお、画像記憶部40に記憶されている静止画を表示する旨の指示が入力された場合には、上記表示制御部は、画像記憶部40から静止画を読み出して、表示部12に出力する。
静止画生成部21は、動画の各フレームから、文字列検知処理が実行される対象となるフレームを抽出して、処理対象の静止画を生成するものである。静止画生成部21は、動画に含まれるすべてのフレームをそれぞれ静止画にしてもよいが、本実施形態では、所定秒間隔、または、所定フレーム間隔で、処理対象となる静止画を抜き出す処理を実行する。
なお、静止画から所定の文字列を検知する旨の指示が入力された場合、図示しない表示制御部が指定された静止画を画像記憶部40から読み出して特徴量抽出部22に出力する。
特徴量抽出部22は、静止画生成部21が生成した静止画、または、上記表示制御部が読み出した静止画から、文字列検知処理に使用する特徴量を抽出するものである。本発明の文字列検知装置が用いる特徴量は、文字列検知装置が、文字の形状を、文字ごとに識別できるものであれば何でもよい。
ただし、一次検知部23および二次検知部30は、上記特徴量を既知のモデル特徴量と比較することにより、文字の検知を実現するものである。したがって、文字情報記憶部42に記憶されている文字ごとのモデルの特徴量と、特徴量抽出部22が抽出する文字の特徴量とは同じ手法で抽出された同じ種類の特徴量であることが好ましい。なお、画像から文字の特徴量を検出する技術としては、例えば、非特許文献1に記載のコーナー検出技術、輪郭線(エッジ)検出技術を用いることが考えられるが、特徴量抽出部22の構成は、これに限定されない。あるいは、文字の特徴量とは、文字の画像であってもよい。
図4は、静止画生成部21が生成した静止画の一例を示す図である。図5は、静止画生成部21によって生成された静止画から、特徴量抽出部22が抽出した特徴量を反映した特徴量データの一例を示す図である。本実施形態では、一例として、特徴量抽出部22は、図4に示す静止画の各画素値に基づいて、上述の輪郭線検出技術などを用いて、急峻な色の変化が生じている領域(エッジ)と、そうでない領域とを2値で表したエッジの特徴量データを得る。
特徴量抽出部22は、図5のように得られたエッジの特徴量データを、一次検知部23に供給する。
一次検知部23は、指定されたキーワードが画像に含まれているか否かを比較的簡単な手順(低負荷処理)により判断するものである。一次検知部23が実現する一次検知機能の目的は、「指定されたキーワードが画像に含まれていない」、または、「指定されたキーワードが画像に含まれている可能性が高い」の判断を、低負荷処理によって高速に行うことにある。したがって、本実施形態では、一次検知部23は、指定されたキーワードのうちの少なくとも1文字が、画像に含まれている可能性の有無を判断する。
具体的には、一次検知部23は、特徴量抽出部22によって抽出された特徴量データと、指定キーワードの1文字の特徴情報(モデル)とを比較して、上記特徴量データの中から「ス」の特徴が表れている領域を検知する。一次検知部23は、例えば、指定キーワード「エース」のうち、優先順位が1番目の文字である「ス」の検知を行うことが好ましい。「エース」のうち、最も誤検知され難い「ス」が含まれている可能性がなければ、「指定されたキーワードが画像に含まれていない」と正確に判断することができるので、一次検知機能の目的を達成するのには、優先順位が1番目の1文字について検知処理を行うだけで十分と言える。
本実施形態では、文字情報記憶部42に、文字ごとのモデルが格納されている。
図6は、本実施形態におけるDVDプレーヤー1の文字情報記憶部42に記憶されている文字データベースの一例を示す図である。
文字情報記憶部42には、文字ごとに、文字を一意に識別するための文字コード、および、その文字の特徴情報(モデル)が対応付けて記憶されている。本実施形態では、低負荷処理の一次検知機能で利用する一次モデルと、より精度良く文字列検知を行うための二次検知機能で利用する二次モデルとが、1つの文字に対して関連付けられている。一次検知部23は、低負荷処理の一次検知を行うため、文字情報記憶部42に記憶されている一次モデルを用いて、特徴量データから目的の文字を検知する。
一次モデルは、二次モデルと比較して、情報量が少ないが、そのために、一次検知部23が実行する文字検知処理を比較的低負荷処理で実現することを可能にしている。具体的には、一次モデルは、二次モデルと異なり、その文字においてエッジがあるべき位置を指定する情報(黒丸)の数が少ない。また、エッジがあるべきでない位置を指定する情報(白丸)を採用していない。
このように、二次モデルと比較して条件が緩い一次モデルを利用するので、一次検知部23が行う文字検知は処理負荷が低くなる一方、おおまかな処理であるので精度はさほど高くない。したがって、実際には、目的の文字でないものも、その文字の可能性があるとして検知してしまう可能性もある。しかし、少ない特徴数(緩い条件)で文字検知を行うことにより、画像中に目的の文字が存在するにもかかわらず見落としてしまうということを削減することができ、むしろ一次検知の目的に適った構成と言える。
図7の(a)〜(c)は、複雑背景を含む画像における文字認識の問題について説明する図である。
図7の(a)に示すとおり、複雑な背景に文字(例えば「ス」)が重畳している場合、文字「ス」の背景には、文字「ス」を構成するエッジ以外のエッジが検出されることがある。このような画像から、文字「ス」を検知するために、最初から二次モデルとの比較を行うと、以下の弊害がある。すなわち、二次モデルには、図7の(b)に示すとおり、エッジがあるべきでない位置を指定する情報(白丸)が含まれている。一方、複雑背景上の文字「ス」の周囲には、図7の(c)に示すとおり、モデルではエッジがあるべきでないとされる位置にもエッジが検出されている(網点塗りの丸)。したがって、二次モデルを用いると、本来は文字「ス」が含まれているはずの図7の(a)の画像は、背景にエッジが検出されてしまったことが悪影響となり、「ス」ではない、と誤った検索結果が出力されてしまうという不都合がある。
しかしながら、上述したとおり、一次検知部23が実行する一次検知機能は、条件の緩い一次モデルを用いることにより、「ス」が存在する可能性の有無を高速で判断し、「ス」を見落とすことを回避することができる。
つまり、一次検知機能は、指定キーワードが存在する可能性を探ることが目的であるため、多少誤検出しても問題なく、したがって、後述の二次検知機能と比較して処理を簡単化することは処理効率の観点から好ましいことである。二次モデルより少ない特徴数の一次モデルを用いて検知対象文字の存在有無を判定するのはこのためである。
また、一次検知機能を実行する時点では、指定キーワードが画像のどのあたりに存在するのか全く未知であるので、画像全体に対して適用される。このため、上述の通り、一次検知機能の処理を簡単化することによる処理時間短縮の効果は大きい。特に、フルHDサイズ(1920ピクセル×1080ピクセル)の画像のように、サイズが大きい画像の場合には、処理効率の効果はより一層大きい。
なお、図6に示す文字データベースにおいて、「誤検知のされ難さ」を示す優先度指数が文字ごとにあらかじめ格納されていてもよい。図6に示す例では、数値が高いほど誤検知され難い文字であることを示す。この優先度指数は、図示しない上述の文字評価装置によって、予め求められているものである。したがって、一次検知部23は、指定キーワードの各文字について、優先順位を把握することができ、優先順位の高い文字から検知を行うといった判断ができるようになる。
図8は、一次検知部23が特徴量データに対して一次検知機能を実行した実行結果の一例を示す図である。
一次検知部23は、文字情報記憶部42に記憶されている「ス」の一次モデルを取得して、取得した一次モデルと一致する特徴を持つ領域、すなわち、「ス」“らしき”文字が、特徴量データ(図5)の中に1つ以上存在するか否かを判断する。特徴量データの中に「ス」“らしき”文字(候補文字)を検知できなければ、一次検知部23は、「指定されたキーワード(エース)が画像に含まれていない」と判断することができる。また、候補文字を検知できれば、「指定されたキーワードが画像に含まれている可能性が高い」と判断することができる。
例えば、図8に示すとおり、一次検知部23は、「ス」の一次モデルと、図5に示す特徴量データとを比較して、「ス」の一次モデルに合致する候補文字の候補文字位置80および候補文字位置81を検知する。
一次検知部23は、検知した候補文字位置の情報を候補領域特定部24に供給する。ここで、候補文字位置が1つも特定できなかった場合には、文字「ス」は、この画像には含まれていないと判断する。これにより、最後に文字列の判定を行う文字列判定部31は、「この画像に『エース』は含まれていない」を最終的な判定結果として出力することができる。
候補領域特定部24は、一次検知部23によって検知された「ス」“らしき”文字の候補文字位置を手がかりとして、指定キーワード(ここでは、「エース」)が含まれている可能性の高い領域、すなわち、候補領域を特定するものである。
図9は、候補領域特定部24が、候補文字位置に基づいて候補領域を特定した結果の一例を示す図である。
本実施形態では、一次検知部23によって、「ス」“らしき”文字の候補文字位置が特定されると、そこが「ス」であると仮定して、指定キーワード「エース」がどのように配置され得るかを予測して、それを包括するような候補領域を特定する。
例えば、候補領域特定部24は、文字は、縦一列または横一列に配置されること、および、文字「ス」は、指定キーワード「エース」の3番目の文字であることを考慮して、候補文字位置80の上、下、左、および、右の隣、2文字分の領域を網羅する候補領域90を特定する。候補文字位置80に文字「ス」があるとすれば、また、その「ス」が、指定キーワード「エース」を構成する文字であるとすれば、文字「エ」および「ー」は、候補領域90に含まれる可能性が高い。このため、候補領域90の中で、文字列「エース」を検知するための二次検知機能を実行すれば、少ない処理量で高確率で目的の文字列を検知することができる。
なお、一次検知部23によって、候補文字位置が複数特定された場合には、候補領域特定部24は、2つ目以降の候補文字位置81についても同様に候補領域91を特定する。
さらに、候補領域特定部24は、指定キーワードの言語特性に応じて、候補領域をさらに絞り込んでもよい。例えば、指定キーワード「エース」の言語は、日本語であり、日本語は、特殊な場合を除いて通常左から右へ、または、上から下へ文字を読み進める言語である。候補領域特定部24は、この言語特定を考慮して、候補文字位置80について、候補領域92を特定してもよい。これにより、候補領域をさらに絞り込むことが可能となる。
以上のとおり、候補領域特定部24が、指定キーワードが含まれている可能性のある領域を、画像全体から、上記候補領域に絞り込むことにより、下流工程では、文字列検知処理の対象領域を大幅に削減することができる。そのため、候補領域特定部24の構成は、処理の効率化および処理負荷の低減に大きく貢献するものである。
なお、「ス」“らしき”文字が傾いて検知された場合には、候補領域特定部24は、傾いて特定された候補文字位置に合わせて、傾いた矩形を候補領域として特定してもよい。
また、候補領域特定部24が候補領域を特定する方法は、上記に限定されない。候補領域特定部24は、文字数に関係なく、候補文字位置から一定の範囲を候補領域として特定してもよいし、候補領域の形状を、円形、楕円形、長方形などの適宜の形状で定義してもよい。
上記の構成によれば、一次検知機能を実行することが可能となり、低負荷処理で高速に目的の文字列が含まれているか否かを判断するとともに、含まれていると判断された場合には、目的の文字列が含まれている可能性が高い候補領域を、画像全体から絞り込むことができる。
候補領域特定部24によって特定された候補領域は、次に、色分析機能を実行する各部(例えば、画素プロット部25)に供給される。色分析機能とは、画像を構成する各画素の色を分析するものである。色分析機能による色の分析結果は、二次検知機能を実行する各部が、高負荷処理となる二次検知機能を、精度良くかつ効率良く実行するために利用される。
図10は、候補領域特定部24によって特定された候補領域に基づいてトリミングされた結果の一例を示す図である。
下流工程の各部は、静止画(各画素が色情報を有する)と、特徴量データとを処理するので、候補領域特定部24は、静止画をトリミングしたトリミング画像70と、特徴量データをトリミングしたトリミングデータ71とを画素プロット部25に供給する。
あるいは、候補領域特定部24は、候補領域の座標情報を画素プロット部25に供給してもよい。この場合、画素プロット部25は、座標情報に基づいて候補領域を、静止画および特徴量データから特定することができる。
下流工程の各部は、画像全体でなく、図10に示されるようなサイズの小さいトリミング後の情報を処理するだけでよくなり、結果として、以降の処理を精度良くかつ効率良く実行することができる。
画素プロット部25は、候補領域特定部24が特定した候補領域の各画素を、任意の色空間に投影するものであり、投影により、上記候補領域の色分布情報を取得するものである。具体的には、画素プロット部25は、候補領域の各画素の色情報を取得して、その色情報が、上記色空間における座標系のどの座標位置に対応するのかを特定して、画素ごとに座標情報を得る。
図11は、画素プロット部25が色空間に候補領域の各画素をプロットして得た色分布情報のイメージ図である。図11に示す色分布情報は、視覚的に理解し易いように説明のために図示したものであって、画素プロット部25は、実際にはこのようなイメージ図を生成する必要はない。ただし、色の分析結果を事前にユーザに提示するために、このようなイメージ図を生成し出力することは、ユーザが色の分析結果を直感的に理解できるため好ましい。
図11に示す例では、画素プロット部25は、任意の色空間として、CIE−L*a*b*カラースペースを用いて、そこに、各画素(の色情報)をプロットする。ここで、色空間としては、均等知覚色空間の標準化のために推奨されているので、上記CIE−L*a*b*カラースペースを用いることが好ましい。しかし、本発明の文字列検知装置は、上記に限定されず、既知のあらゆる色空間に基づいて、画素をプロットしてもよい。例えば、RGBカラースペース、CMYカラースペース、HSBカラースペースなどを用いることができる。また、3次元空間だけでなく、CIE−xy色度図などの2次元グラフ上に画素をプロットしてもよい。
画素プロット部25が色空間に各画素をプロットすると、候補領域がどのような色分布を有しているのかが判明する。詳細には、「点(画素)が多く集中している箇所」、「点の集中度合い(分散)」などを求めることができる。
このように、画素プロット部25は、候補領域内の各画素の色情報に基づいて、候補領域内の色の分布を分析する。画素プロット部25が生成した候補領域の色分布情報は、クラスタリング部26に供給される。
クラスタリング部26は、画素プロット部25によって得られた候補領域の色分布情報に基づいて、候補領域内の各画素を、色が類似する画素の集まりごとにクラスタを定義するものである。本実施形態では、一例として、クラスタリング部26は、まず、上記色空間を予め定められたいくつかのブロックに区分し、点が集中している上位何ブロックかを特定する。点を多く含む上位ブロックが隣接する場合などは、ブロック同士をグループ化してもよい。そして、クラスタリング部26は、ブロックごとに予め定められている中心座標を、球(クラスタ)の中心と定める。グループ化されたブロックにおいては、各ブロックの中心座標の平均座標を、球の中心と定めてもよい。そして、クラスタリング部26は、球の半径rを0から徐々に増加させてシミュレートを行い、球内に属する点の数の増加率が一定以下になった時点での半径rを当該球の半径rと定義する。この結果、球の中心と半径rとが定義されることによって、色空間においてクラスタが定義される。
これにより、画素間の距離が第1閾値(例えば、球の直径2r)より小さい画素群からなるクラスタが1または複数定義される。すなわち、色空間における距離が近い、類似色の画素同士の集まりに対して、クラスタがそれぞれ定義される。
図11では、クラスタリング部26が、点が集中する空間に対して3つのクラスタ85〜87を定義した例を示す。
クラスタリング部26が定義したクラスタの情報(例えば、球の中心座標および半径)は、代表色決定部27に供給される。
代表色決定部27は、クラスタリング部26によって生成されたクラスタのそれぞれについて、代表色を決定するものである。代表色の決定方法はいくつか考えられる。例えば、代表色決定部27は、生成されたクラスタ内のすべての色情報の平均値を、当該クラスタの代表色Cとして決定する。あるいは、クラスタの中心座標をそのまま代表色として決定しても良い。
ここで、取得したいくつかのクラスタのうち、少なくとも1つは、指定キーワードの文字列を構成する画素が属するクラスタがあると考えられる。よって、クラスタごとに決定された代表色の中に、文字列の色(あるいは、それに近い色)が含まれていると考えることができる。
クラスタ選択部28は、クラスタリング部26によってクラスタが複数作成された場合に、「指定キーワードの文字列を構成する画素が存在するクラスタ」である尤度を評価して、文字列の色が含まれている可能性の高いクラスタを選択するものである。
文字列色のクラスタである尤度は、例えば、以下のようにして評価できる。自然の背景または実物被写体を写す領域と比較して、文字、図形などは単一色で構成されていることが多く、文字列色のクラスタ内の色分布は、他のクラスタと比較して、ばらつきが極端に少ないと予想される。そこで、クラスタ選択部28は、各クラスタの分散を求め、分散が小さいクラスタから順に文字列検知処理が実施されるよう、クラスタを選択する。あるいは、各クラスタに、処理順序を付与する。
これにより、下流の工程における各部は、クラスタ選択部28によって定められた順にクラスタを処理することができる。つまり、文字列色のクラスタである可能性が高いものから順に文字列検知処理が実施されるので、文字列検知処理の効率が向上する。
クリッピング部29は、候補領域において、クラスタ選択部28によって選択されたクラスタに属する画素の領域のみが残るように、その他の領域の画素を取り除くものである。
図12は、クリッピング部29が特定したクリッピング領域を示すマップ情報の一例を示す図である。図13は、図12のマップ情報に基づいてクリッピングされた後のクリッピングデータの一例を示す図である。
図12は、クリッピング部29が、候補領域(図10のトリミング画像70)において、クラスタ85に属する画素の領域を特定したマップ情報72である。マップ情報72において、斜線領域がクラスタ85の(残すべき)領域を示し、それ以外が切り落とすべき領域を示している。
クリッピング部29は、図10に示すトリミングデータ71から、図12に示すマップ情報72の斜線領域以外の領域を切り落とすことで、クラスタ85の画素に基づくエッジ特徴のみが残された図13に示すようなクリッピングデータ73を得ることできる。
上述したとおり、生成されたクラスタのうちのいずれかは検索文字列についての色味を有したクラスタであるので、色ごとに分類されたクラスタを個々に処理することで、おおよそ文字列色についてのみのエッジ特徴を得ることができる。
下流の工程の各部は、このようにして得られた、余計な色のエッジ特徴が削ぎ落とされたクリッピングデータ73に基づいて文字を検索することが可能となる。結果として、元々ある複雑背景の情報は削ぎ落とされているので、複雑背景の悪影響を受けることなく、精度良く文字列検知処理が実行されることになる。
クリッピング部29が生成したクリッピングデータ73は、二次検知部30に供給される。
二次検知部30は、指定されたキーワードが画像に含まれているか否かを判断するものである。具体的には、クリッピング部29が生成したクリッピングデータ73を、文字情報記憶部42に記憶されているモデルと照合して、指定されたキーワードの文字列を文字ごとに検知するものである。
二次検知部30が実施する二次検知機能においては、誤検知することなく指定キーワードを検知することが必要である。そこで、本実施形態では、二次検知部30は、文字情報記憶部42に記憶されている、より詳細な情報を含む二次モデル(図6)を用いてクリッピングデータ73との照合を行う。
二次モデルは、一次モデルと比較して、文字列検知を精度良く行うために豊富な情報量を有している。情報量が多い二次モデルを用いた照合は高負荷処理ではあるものの、本発明の文字列検知装置においては、これまでの上流工程で、処理範囲が画像全体から、図12に示す斜線の領域にまで絞り込まれている。このため、短時間で精度の良い文字列検知処理を実現することが可能である。
なお、二次検知部30は、指定キーワードを検知する際、文字ごとに定められた優先順位にしたがって、目的の文字列を文字ごとに検知することが好ましい。例えば、指定キーワードが「エース」であり、「エ」、「ー」、「ス」の3文字に対して、それぞれ、優先順位「2」、「3」、「1」が付与されているとする。この場合、二次検知部30は、まず、「ス」の二次モデルとクリッピングデータ73との照合を行い、「ス」を検知し、同様に、「エ」、「ー」の順に文字の検知を行う。
上述したとおり、優先順位は、「誤検知のされ難さ」に基づいて決定されているものである。したがって、二次検知部30は、間違え難い文字からより確実に文字検知を行うことで、精度良くかつ効率良く指定文字を検知することが可能となる。なお、本実施形態では、優先順位は、図示しない文字評価装置が文字ごとに評価した「誤検知のされ難さ」に基づいて決定されるものとしたが、これに限定されない。ユーザが、キーワードを入力する際、自己の判断で優先順位を指定し、文字列検知装置に設定しておく構成であってもよい。
さらに、二次検知部30は、1つ以上の文字の検知に成功した後は、検知済の文字と、これから検知しようとする文字との文字の並びに基づいて、文字同士の位置関係を予測し、検知対象領域を検知済の文字の近隣領域に絞り込んで、文字列検知処理を実行することが好ましい。
詳細には、検知済文字が文字列中のn番目の文字であり、次に検索する文字が文字列中の(n+1)番目の文字である場合には、二次検知部30は、検知対象領域を、さらに絞り込むことができる。具体的には、上記検知済文字の右側および下側の所定の大きさの領域に限定することができる。また、二次検知部30は、次に検索する文字が文字列中の(n−1)番目の文字である場合には、上記検知済文字の左側および上側の所定の大きさの領域に限定することができる。
上記構成によれば、クリッピングデータ73の全領域から順に目的の文字を検索する場合と比べて、さらに検索範囲を絞り込むことができるので、処理時間をさらに短縮することができる。
具体例を用いて説明すると以下の通りである。二次検知部30が、優先順位1番目の文字「ス」を検知した後、次に、文字「エ」を検索するとする。図3の文字順序によれば、検知済文字「ス」が3番目であるの対し、次に検索する「エ」は1番目である。したがって、「エ」は、「ス」の近隣領域(日本語では、特に、左か上)に存在する可能性が高い。
そこで、二次検知部30は、「エ」を検索する対象領域を、上記検知済文字「ス」の近隣領域に限定する。例えば、図14に示すように、「ス」の左側の所定の大きさの領域に限定する(破線枠内網点領域)。所定の大きさとは、例えば、図14に示すように、検知済文字の領域のサイズをh×hとすると、その右隣の3h×3hの大きさの領域に限定することなどが考えられる。
図15に示す例では、検知済文字(例えば「ス」)の左の領域(1)において、目的の文字(例えば「エ」)が検知される。このように、検知対象領域を限定すれば、クリッピングデータ73で定義された領域を頭から順次検索する場合と比較して、はるかに短時間かつ低負荷で、目的の文字「エ」、「ー」を検知することができる。
なお、検知済文字(例えば「ス」)の左の領域(1)に目的の文字(例えば「エ」)が見つからなかった場合には、次に見つかる可能性のある上の領域(2)、右の領域(3)、下の領域(4)というように、順次検知対象領域を広げていき、検索を続ければよい。しかし、それでも見つからなかった場合には、最終的には、クリッピングデータ73で定義された全領域を対象に戻して再検索すればよい。
上記構成によれば、二次検知部30における文字列検知処理の処理効率を飛躍的に向上させることが可能となる。
なお、二次検知部30は、n番目の検知済文字に対し、次に検索する文字の文字順序が、(n±2)番目、(n±3)番目、(n±4)番目、・・・などのように、検知済文字と次に検索する文字との距離が長くなるにつれて、その位置関係を予測し、位置関係に合わせて検知対象領域をさらに広げてもよい。
例えば、指定キーワードが「エース攻略」であって、「略」を検知し、次に「エ」を検知するような場合には、「エ」を検索するための領域を、検知済文字「略」の領域のサイズをh×hとすると、その左隣の5h×5hの大きさの領域に限定することなどが考えられる。
このような場合でも、クリッピングデータ73の定義領域全体を検知対象領域とする場合に比べて、検知対象領域の面積を大幅に限定することができ、処理負荷の低減および処理時間の短縮を実現することができる。
さらに、二次検知部30は、クリッピングデータ73から得られた特徴量から、エッジが密集している帯状の領域を検出し、それが水平方向に延びる帯領域であれば文字は横書きである可能性が高いとして、左右の領域を上下の領域よりも優先的に検索するようにし、垂直方向に延びる帯領域であれば文字は縦書きである可能性が高いとして、上下の領域を左右の領域よりも優先的に検索するようにしてもよい。
上記構成によれば、二次検知部30における処理効率をさらに向上させることが可能となる。
以上のように、二次検知部30は、優先順位にしたがって、指定キーワードを文字ごとに検知する。二次検知部30は、図3に示すとおり、指定キーワードの文字を検知できたら、検知できた文字に対応付けられている検知済フラグを立てる。
文字列判定部31は、二次検知部30の文字検知結果に応じて、画像に指定キーワードが含まれているか否かを判定するものである。本実施形態では、文字列判定部31は、図3に示すキーワード記憶部41を参照し、キーワードの文字すべてについて検知済フラグが立ったことによって、処理した静止画において指定キーワードが検知されたと判断する。
文字列判定部31は、二次検知部30によってすべての指定キーワードの全文字が検知された場合、文字列を検知できた旨を通知する成功メッセージを、表示部12に表示させるなどして、ユーザに文字列検知の通知を行う。二次検知部30によって指定キーワードの全文字が検知されなかった場合、文字列を検知できなかった旨を通知する失敗メッセージを、表示部12に表示させてもよい。
なお、文字列判定部31は、二次検知部30が文字列を検知した静止画が、動画の一部であった場合には、文字列が検知された静止画に対応する、上記動画における再生位置を、上記成功メッセージとともにユーザに通知してもよい。
さらに、文字列判定部31は、個々に検知された各文字の位置関係を把握して、検知された文字列は確かに指定キーワードであるのか否かについて、最終的に検証することが好ましい。
本実施形態では、指定キーワードは、文字の並び順ではなく、優先順位にしたがって、例えば、「ス」、「エ」、「ー」の順に個々に検知される。そのため、検知された各文字は、実際には、指定キーワード「エース」とは異なる単語である可能性もある。そこで、文字列判定部31は、検知された各文字「ス」、「エ」、「ー」が、一定の方向に「エ」、「ー」、「ス」の順に並んでいるのか否かを判断する。
文字列判定部31は、文字の並びが「エース」とは異なる場合、例えば、「スエー」であった場合には、検知された各文字は、指定キーワードの文字ではないと判断し、画像に指定キーワードが含まれていないと最終的に判断する。
さらに、文字列判定部31によれば、指定キーワードの1文字1文字が異なる色(異なるクラスタに分類されるほどに離れた色)で彩色されている場合についても、指定キーワードの有無を判定することができる。
例えば、「エ」、「ー」、「ス」の各文字の画素が、それぞれ、赤、青、黄の異なるクラスタに属している場合、二次検知部30は、1つのクラスタからまとめてすべての文字を検知することはできない。二次検知部30は、「ス」を黄のクラスタから、「エ」を赤のクラスタから、「ー」を青のクラスタから、それぞれ別々に検知する。
そこで、文字列判定部31は、別々のクラスタから検知された各文字「ス」、「エ」、「ー」が、一定の方向に「エ」、「ー」、「ス」の順に並んでいるのか否かを判断する。
文字列判定部31は、文字の並びが「エース」となっている場合にのみ、指定キーワード「エース」が検知されたと判定することができる。
〔文字列検索処理フロー〕
図16は、DVDプレーヤー1における画像処理および文字列検知処理の流れを示すフローチャートである。ここでは、DVDプレーヤー1が備える文字列検知装置は、動画の中から指定されたキーワードを検索し、目的のキーワードが検知された再生位置を出力するものとする。
まず、文字列検知装置に対して、文字列を検知する旨の指示とともに、検索したい目的の文字列(例えば、キーワード「エース」など)が入力される。キーワードは、1字であっても、複数の文字であってもよい。また、文字ごとに、ユーザによる優先順位指定が行われてもよい。さらに、処理対象となる動画がここで指定されてもよい。
キーワードが入力されると(S101においてYES)、図示しない表示制御部は、入力されたキーワードを、キーワード記憶部41に記憶する(S102)。ここで、上記表示制御部は、文字の並びにしたがって取得した文字ごとに文字順序を対応付けて同じくキーワード記憶部41に格納する。また、ユーザによって優先順位が指定された場合には、優先順位も文字に対応付けて同じくキーワード記憶部41に記憶する。優先順位は、図示しない文字評価装置が、図6に示す文字の優先度指数、すなわち、「誤検知のされ難さ」に基づいて決定することで付与されてもよい(S103)。
動画再生部20は、指定された動画を画像記憶部40から読み出し、再生位置tを初期化(t=0にセット)して(S104)、動画の再生を開始する(S105)。
本実施形態では、処理効率の観点から、動画の全フレームに対して文字列検知処理を実行せず、所定秒間隔(例えば、tx秒間隔)で抜き出したフレームを、検知対象フレームとする。
動画再生部20が動画を再生し、再生位置tが、検知対象フレームに到達するまでは(S106においてNO)、動画再生部20は、動画の再生を進める(S111)。再生位置tが、動画の最終フレームに到達しない限りは動画の再生を進めることができる(S112においてNO)。そして、再生位置tが進むうちに、再生位置tが、検知対象フレームに到達すると(S106においてYES)、静止画生成部21が、到達した検知対象フレームの静止画を生成する(デコード処理)(S107)。
続いて、特徴量抽出部22は、生成された静止画から特徴量を抽出する(S108)。上記特徴量は、例えば、非特許文献1に記載のコーナー検出技術、輪郭線(エッジ)検出技術などを用いて得られる情報であって、文字列検知装置が文字形状を識別することが可能な情報である。本実施形態では、例えば、図5に示す特徴量データを生成する。
特徴量抽出部22の下流の各部(23〜31)は、検知対象フレームに対して文字列検知処理を実行する(S109)。例えば、指定キーワード「エース」が検知対象フレームに含まれているか否かを判断する。文字列検知処理の流れの詳細は、図17を参照しながら後述する。S109にて、文字列判定部31は、当該検知対象フレームについて、指定されたキーワードが検知されたか否かを判断する(S110)。
ここで、指定キーワードの文字列が動画内の検知対象フレームにおいて検知された場合(S110においてYES)、文字列判定部31は、キーワードの検知に成功した旨の成功メッセージと、そのキーワードが検知されたフレームに対応する検知再生位置とを表示部12に出力する(S213)。
一方、検知対象フレームにおいて指定キーワードの文字列が検知されなかった場合には(S110においてNO)、動画再生部20は、動画の再生をさらに進める(S110)。動画再生部20は、再生位置tが、動画の最終フレームに到達しない限りは動画の再生を進めることができる(S112においてNO)。そして、次の検知対象フレームに到達すれば(S106においてYES)、その検知対象フレームについて、上述の文字列検知処理を繰り返す。
そして、文字列が検知されないままに、最後に、再生位置tが最終フレームに到達し、動画の再生が終了した場合には(S110においてNO、S112においてYES)、文字列判定部31は、文字列検知処理の結果を出力する。具体的には、動画中に指定キーワード「エース」が1回も検知されなかった場合、文字列判定部31は、検知に失敗した旨の失敗メッセージを表示部12に出力する。
なお、文字列の検知に成功しても、動画再生が終了するまで文字列検知を続行してもよい。この場合、文字列が検知されたフレーム以降も、文字列検知装置の制御部10は、所定秒(tx秒)間隔で、検知対象フレームについて文字列検知処理を実行し、キーワード「エース」が検知されたフレームの再生位置を記憶していけばよい。
〔文字列検索処理フロー−詳細〕
図17および図18は、DVDプレーヤー1の文字列検知装置が実行する文字列検知処理の流れを示すフローチャートである。図16に示すS108において、特徴量抽出部22が検知対象フレーム(静止画)の特徴量データ(図5)を抽出すると、文字列検知装置の制御部10は、S109の文字列検知処理を開始する。
まず、一次検知部23は、キーワード記憶部41を参照し、入力されたキーワードの文字のうち、優先順位が最上位の文字を目的文字として取得する。図3に示す例では、文字「ス」が、目的文字として取得される。そして、一次検知部23は、文字情報記憶部42を参照し、優先順位が1番目の「ス」の文字の一次モデルを取得する(S201)。
そして、一次検知部23は、検知対象フレームから抽出された特徴量データ(図5)と、文字情報記憶部42に記憶されている「ス」の一次モデル(図6)とを照合して、上記検知対象フレームに対し目的文字「ス」の検知を行う(S202)。
一次検知部23が、目的文字(ここでは「ス」)が上記検知対象フレームに存在しないと判断した場合には(S203においてNO)、一次検知部23は、「当該検知対象フレームから指定されたキーワードを検知できない」と判断して、その判断結果を文字列判定部31に対して出力する(S204)。そして、この検知対象フレームに対する文字列検知処理を終了する。一方、一次検知部23が、目的文字が上記検知対象フレームに存在すると判断した場合には(S203においてYES)、「当該検知対象フレームに指定されたキーワードが含まれている可能性がある」と判断する(S205)。一次検知部23は、特徴量データ上で検知された、1以上の「ス」“らしき”文字を候補文字として特定する(例えば、図8の候補文字位置80、および、候補文字位置81)。そして、特定した候補文字位置を、候補領域特定部24に供給する。
続いて、候補領域特定部24は、一次検知部23によって特定された候補文字位置に基づいて、詳細に目的の文字列を検索する対象領域となる候補領域を特定する(S206)。例えば、図9の候補領域90および候補領域91を特定する。候補領域特定部24は、候補領域を1つ特定してもよいし、複数特定してもよい。
S201〜S206の一次検知機能が終了すると、候補領域特定部24から出力されたn個の候補領域は、色分析機能を実行する各部に引き渡される。そして、変数iが初期化され(S207)、ここから色分析機能が開始される。ここで、iは、1からnまでの整数であり、nは、候補領域特定部24によって特定された候補領域の総数を表す。
画素プロット部25は、i番目の候補領域(例えば、図10のトリミング画像70)を取得して、この領域の各画素を、各画素の色情報に基づいて、色空間に投影する(S208)。そして、クラスタリング部26は、色空間における距離が近い(色が類似する)画素同士の集まりを、球(中心座標、および、半径)で定義した、クラスタを生成する(S209)。クラスタリング部26は、クラスタを1つ生成してもよいし、複数生成してもよい。例えば、図11に示すとおり、クラスタ85〜87を生成する。
ここで、変数jが初期化される(S210)。jは、1からmまでの整数であり、mは、クラスタリング部26によって生成されたクラスタの総数を表す。
続いて、代表色決定部27は、j番目のクラスタを取得して、該クラスタの代表色を決定する。本実施形態では、代表色決定部27は、クラスタに属する画素の色情報の平均値を代表色Cjとして決定する(S211)。代表色決定部27は、1つのクラスタについて代表色Cを決定すると、jを1つインクリメントし(S212)、未処理のクラスタが存在する場合には(S213においてYES)、S211の処理を繰り返す。一方、代表色決定部27が、全てのクラスタについて代表色Cを決定すると(S213においてNO)、制御部10は、二次検知機能の実行に移行する。具体的には、色分析機能の各部は、定義された各クラスタの情報(球の中心座標、球の半径、球の色分布情報、および、代表色の座標など)を、二次検知機能を実行する各部に引き渡す。ここで、jは、再び初期化され(S214)、クラスタごとに二次検知機能が開始される。
ここで、クラスタ選択部28は、クラスタの分散に基づいて、クラスタの処理順序を決定してもよい。例えば、クラスタ選択部28は、クラスタ内画素の分散が小さいものから順に処理されるように処理順序を決定する。
クリッピング部29は、j番目のクラスタを取得して、クラスタ内の画素群の領域を特定する(S215)。クリッピング部29は、例えば、図12のマップ情報72を生成する。ここで、クリッピング部29は、上記j番目のクラスタ内に属する画素群よりも、さらに、当該クラスタの代表色Cjから一定距離(ΔCx;第2閾値)内にある画素群(Cj±ΔCx)に範囲を少し広げて、クリッピングで残す領域を広げてもよい。これにより、本来目的の文字列が存在する箇所を、誤って文字列が存在しないと判断することを防ぐことが可能となる。さらに、クリッピング部29は、文字列の検知結果に応じて、ΔCxの値を調節してもよい。クリッピング部29は、文字列が検知されなかった場合には、ΔCxの値を段階的に大きくして、クリッピングで残す領域を広げてもよい。あるいは、文字列が検知された場合に、ΔCxの値を段階的に小さくして、クリッピングで残す領域を狭めても問題なく検知されるのか検証してもよい。
クリッピング部29は、生成したマップ情報72にしたがって、特定された画素群のみを残すようにクリッピングする(S216)。例えば、クリッピング部29のクリッピング処理によって、図10に示すトリミングデータ71は、図13に示すクリッピングデータ73のように、不要な複雑背景のエッジ情報が削ぎ落とされた状態になる。
続いて、二次検知部30は、クリッピング部29によって得られたクリッピングデータ73に対して二次検知を実行し、指定キーワードが含まれているか否かを判断する。まず、二次検知部30は、変数kを初期化して(S217)、文字ごとに照合を行う。ここで、kは、1からpまでの整数であり、pは、指定キーワードの文字数を表す。本実施形態では、二次検知部30は、文字の優先順位にしたがって、目的文字の二次検知を実行する。
二次検知部30は、優先順位がk番目の文字を検知すべき目的文字として決定し、該目的文字の二次モデル(図6)を文字情報記憶部42から取得する(S218)。そして、二次検知部30は、取得した二次モデルと、クリッピングデータ73とを照合する(S219)。ここで、二次検知部30は、目的文字の特徴に合致する特徴をクリッピングデータ73内に見出した場合(S220においてYES)、その文字の検知済フラグ(図3)を立てて、kを1つインクリメントする(S221)。
そして、未処理の文字がある場合(S222においてYES)、S218以降の二次検索を繰り返す。一方、すべての文字が検知された場合(S220においてYES、S222においてNO)、二次検知部30は、「指定された文字列が検知できた」と判断して、その判断結果を文字列判定部31に対して出力する(S223)。なお、ここで、文字列判定部31は、さらに、二次検知部30が検知したすべての文字の配置を考慮して、その配置が、指定キーワードの文字の並びと対応しない場合には、二次検知部30が全ての文字を検知しても、指定キーワードは検知されなかったと最終的に判断してもよい。
一方、S219の照合の結果、目的文字の特徴に合致する特徴をクリッピングデータ73内に見出せなかった場合(S220においてNO)、処理対象のクラスタは文字色のクラスタではなかったと考えられる。
クラスタ選択部28は、jを1つインクリメントし(S224)、未処理のクラスタが存在する場合には(S225においてYES)、その、jを1つインクリメントされたクラスタを選択して、クリッピング部29に引き渡す。これにより、新しいクラスタについて、S215以降の処理が繰り返される。一方、未処理のクラスタが存在しない場合には(S225においてNO)、その候補領域のすべてのクラスタについて検知処理が実施されたが目的の文字列は検知できなかったことになる。
色分析機能を実行する各部(例えば、画素プロット部25)は、iを1つインクリメントし(S226)、未処理の候補領域が存在する場合には(S227においてYES)、その、iを1つインクリメントされた候補領域を選択して、S208以降の処理を繰り返す。一方、未処理の候補領域が存在しない場合には(S227においてNO)、静止画内に認められた全ての候補領域において、目的の文字列は検知できなかったことになる。そこで、二次検知部30は、「当該検知対象フレームから指定されたキーワードを検知できない」と判断して、その判断結果を文字列判定部31に対して出力する(S228)。
以上の文字列検知処理によって出力された結果に基づいて、文字列判定部31は、図16に示すとおり、検知対象フレームから指定されたキーワードが検知されたのか否かを判定することができる。
以上で述べた文字列検知装置の構成および文字列検知方法によれば、文字列検知装置は、検知対象となる画像の領域を、色が類似する画素群ごとに分類して、その類似色ごとに得られた特徴量と、目的文字のモデルとを照合する。
分類したいくつかのクラスタの中に少なくとも1つは、文字列色に該当するものが含まれているはずである。そして、文字色のクラスタについて得られた特徴量は、余分な情報が含まれない文字そのものの特徴量を示していると考えられる。したがって、このような文字色のクラスタから得られた特徴量を利用することにより、複雑な背景または柄などの影響を受けることなく、文字の照合を精度良く行うことが可能となる。
さらに、本発明の文字列検知装置は、簡単に高速な照合を行う一次検知部23と、詳細に正確な照合を行う二次検知部30とを備える構成である。
上記構成によれば、低負荷処理による簡単な一次検知処理によって、まず、「対象の静止画に指定キーワードは含まれない」または「指定キーワードが含まれている可能性がある」の何れかを高速に判断することができる。このため、「対象の静止画に指定キーワードは含まれない」と判断された場合には、指定キーワードが含まれている見込みのない静止画に対して、高負荷処理の二次検知処理が実行されることがなくなるため、無駄な処理を省いて文字列検知処理全体の効率化を図ることができる。
また、「指定キーワードが含まれている可能性がある」と判断された場合には、目的の文字“らしき”候補文字が検知された領域周辺に、指定キーワードが含まれていると考えることができる。そのため、候補文字が検知された領域に基づいて、二次検知の対象領域を静止画全体から絞り込むことができる。したがって、高負荷処理の二次検知は、静止画全体ではなく、指定キーワードが含まれている可能性の高い絞り込まれた領域に対して実行するだけでよくなる。結果として、無駄な処理を省いて文字列検知処理全体の効率化を図ることができる。
さらに、本発明の文字列検知装置は、指定キーワードを検知する際、誤検知され難い文字から順に、文字を検索することができる。誤検知され難い文字は、誤検知され易い文字と比較して、少ない候補の中から正しく、早く検知される可能性が高い。したがって、キーワード中の文字の並びにしたがって順次検索する場合と比べて、短時間・低負荷処理で、より精度よく、より効率的に目的の文字列を画像から検知することができる。
さらに、本発明の文字列検知装置によれば、文字ごとの特徴量を用いて1字1字照合するため、複数文字の文字列画像や特徴量をサンプルとして保存しておく必要がない。つまり、横書き、縦書きの両方のサンプルを容易しておく必要がないため、文字情報記憶部42における省メモリ化を実現することが可能となる。また、処理時間も従来の構成に比べて有利である。
〔変形例〕
なお、本発明の文字列検知装置は、複雑背景下での指定キーワード文字列の検知だけでなく、検知した指定文字列に続く、任意の文字列の認識にも応用することができる。例えば、テレビ番組あるいはCM中からのURL等の検知および認識する技術への応用が考えられる。具体的には、URLに一般に含まれる「http」または「www」などの文字列を指定のキーワード文字列として、文字列検知装置に登録する。文字列検知装置が本発明の文字列検知処理を実行して、上記キーワード文字列を検知できた場合に、続いて、「http」または「www」に続く文字列を認識する文字認識機能を備えるように文字列検知装置を構成する。このとき、文字列検知処理において文字の色情報を取得できているため、文字認識処理を実行する際には、「http」または「www」に続く画像領域から、この色情報およびこれに類似する色情報を持つ画素のみを抽出して、文字認識処理を実行することができる。つまり、文字認識処理時には、文字色は既知であり、その上、認識すべき対象領域は、ごく一部に絞られている状態である。このように、本発明の文字列検知装置は、複雑背景下での文字の検知精度および検知効率を向上させるだけでなく、文字の認識精度および認識効率も向上させることができる。
なお、上述の実施形態では、二次検知部30は、指定キーワードの文字ごとに指定された優先順位の順に、目的の文字を検知していく構成であった。しかしながら、本発明の文字列検知装置の構成はこれに限定されない。例えば、二次検知部30は、優先順位が1番目の目的文字を画像から検知すると、次に検索する文字を、指定キーワードにおける文字の並びにおいて、検知済みの文字の両隣の文字とし、その両隣の二つの文字のうち、優先順位が上の文字から検索していくという構成であってもよい。文字の並びにおいて検知済みの文字の両隣の文字は、上記画像において、検知済みの文字に最も近い位置に配置されていると考えられる。よって、上記画像における検知済みの文字の位置を基準にして、これらの文字を優先的に検索することで、早い段階で、より正しく、目的の文字列の有無を検知することができる。さらに、両隣のうち、優先順位が上の(すなわち、誤検知され難い)文字から優先的に検索するので、精度はより向上する。
なお、上述の実施形態では、文字同士を照合するにあたり、文字のエッジ特徴を利用する構成について述べたが、本発明の文字列検知装置の構成はこれに限定されない。例えば、本発明の文字列検知装置の一次検知部23および二次検知部30は、テンプレートマッチングの技術、または、文字の円形度、文字の線の長さなどの特徴量を用いて文字の照合を行ってもよい。
また、簡易でかつ高速な文字検知を実施する一次検知部23は、優先順位が1番の候補文字を検知する際、対象となる静止画全体の解像度を下げて照合することが好ましい。解像度を下げて、すなわち、複数画素を1画素にして、テンプレートマッチング(または特徴量の照合)を行えば、さらに低負荷処理にて、さらに高速に判定を実施することが可能となる。
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
最後に、DVDプレーヤー1(文字列検知装置)の各ブロック、特に、制御部10に属する各部(20〜31)は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、文字列検知装置は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである文字列検知装置の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記文字列検知装置に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、文字列検知装置を通信ネットワークと接続可能に構成し、上記プログラムコードを、通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
そこで、二次検知部30は、「エ」を検索する対象領域を、上記検知済文字「ス」の近隣領域に限定する。例えば、図14に示すように、「ス」の左側の所定の大きさの領域に限定する(破線枠内網点領域)。所定の大きさとは、例えば、図14に示すように、検知済文字の領域のサイズをh×hとすると、その左隣の3h×3hの大きさの領域に限定することなどが考えられる。
ここで、指定キーワードの文字列が動画内の検知対象フレームにおいて検知された場合(S110においてYES)、文字列判定部31は、キーワードの検知に成功した旨の成功メッセージと、そのキーワードが検知されたフレームに対応する検知再生位置とを表示部12に出力する(S113)。
そして、文字列が検知されないままに、最後に、再生位置tが最終フレームに到達し、動画の再生が終了した場合には(S110においてNO、S112においてYES)、文字列判定部31は、文字列検知処理の結果を出力する(S114)。具体的には、動画中に指定キーワード「エース」が1回も検知されなかった場合、文字列判定部31は、検知に失敗した旨の失敗メッセージを表示部12に出力する。