(57)【要約】【課題】文字検出方法、読書補助装置及び媒体を開示する。【解決手段】該文字検出方法は、検出すべき文字対象の第１検出すべき画像を取得するステップと、該第１検出すべき画像に所定のインジケータが含まれるか否かを決定するステップと、該第１検出すべき画像に該所定のインジケータが含まれる場合、該所定のインジケータの位置を決定し、該検出すべき文字対象の第２検出すべき画像を取得するステップと、該第２検出すべき画像に該所定のインジケータが含まれるか否かを決定するステップと、該第２検出すべき画像に該所定のインジケータが含まれない場合、該所定のインジケータの位置に基づいて文字検出領域を決定するステップと、を含む。【選択図】図１
2020201924.tif 000002
【特許請求の範囲】
【請求項１】
検出すべき文字対象の第１検出すべき画像を取得するステップと、
前記第１検出すべき画像に所定のインジケータが含まれるか否かを決定するステップと、
前記第１検出すべき画像に前記所定のインジケータが含まれる場合、前記所定のインジケータの位置を決定し、前記検出すべき文字対象の第２検出すべき画像を取得するステップと、
前記第２検出すべき画像に前記所定のインジケータが含まれるか否かを決定するステップと、
前記第２検出すべき画像に前記所定のインジケータが含まれない場合、前記所定のインジケータの位置に基づいて文字検出領域を決定するステップと、を含む、文字検出方法。
【請求項２】
前記所定のインジケータの位置に基づいて前記文字検出領域を決定した後に、
前記文字検出領域における１つ又は複数の認識すべき文字行を決定するステップ、をさらに含む、請求項１に記載の文字検出方法。
【請求項３】
前記文字検出領域における１つ又は複数の認識すべき文字行を決定するステップは、
前記所定のインジケータにより指示された文字行を決定するステップ、を含む、請求項２に記載の文字検出方法。
【請求項４】
前記所定のインジケータにより指示された文字行を決定した後に、
前記所定のインジケータにより指示された文字行の上方に文字行が存在しない場合、前記所定のインジケータにより指示された文字行を認識すべき文字行として決定するステップ、をさらに含む、請求項３に記載の文字検出方法。
【請求項５】
前記所定のインジケータにより指示された文字行を決定した後に、
前記所定のインジケータにより指示された文字行の上方に文字行が存在する場合、前記所定のインジケータにより指示された文字行の上方の文字行の行数を決定するステップと、
前記所定のインジケータにより指示された文字行の上方の文字行の行数が所定数以上である場合、前記所定のインジケータにより指示された文字行から上の所定数の複数の文字行を認識すべき文字行として決定し、そうでない場合、前記所定のインジケータにより指示された文字行の上方の全ての文字行、及び前記所定のインジケータにより指示された文字行を共に認識すべき文字行として決定するステップと、をさらに含む、請求項４に記載の文字検出方法。
【請求項６】
前記所定のインジケータにより指示された文字行を決定するステップは、
前記所定のインジケータの位置と前記文字検出領域における１つ又は複数の文字行とが重なっているか否かを決定するステップと、
前記所定のインジケータの位置と前記文字検出領域における１つ又は複数の文字行とが重なっている場合、重なっている１つ又は複数の文字行のうち最も上方に位置する文字行を、前記所定のインジケータにより指示された文字行として決定するステップと、
前記所定のインジケータの位置と前記文字検出領域における文字行とが何れも重なっていない場合、前記所定のインジケータの上方に位置し、且つ前記所定のインジケータの位置に最も近い文字行を、前記所定のインジケータにより指示された文字行として決定するステップと、を含む、請求項３に記載の文字検出方法。
【請求項７】
前記文字検出領域における１つ又は複数の認識すべき文字行を決定した後に、
前記１つ又は複数の認識すべき文字行に前回の文字検出結果から認識された文字行と重複する文字行が含まれるかを決定するステップと、
前記１つ又は複数の認識すべき文字行に前回の文字検出結果から認識された文字行と重複する文字行が含まれる場合、前記１つ又は複数の認識すべき文字行から前記重複する文字行を削除するステップと、をさらに含む、請求項２に記載の文字検出方法。
【請求項８】
前記所定のインジケータの位置に基づいて文字検出領域を決定するステップは、
前記第２検出すべき画像における１つ又は複数の文字行の各文字行の位置を決定するステップと、
前記各文字行の位置に基づいて、前記第２検出すべき画像における文字を含む１つ又は複数の領域を取得するステップと、
前記所定のインジケータの位置に基づいて、前記文字を含む１つ又は複数の領域から前記文字検出領域を決定するステップと、を含む、請求項１に記載の文字検出方法。
【請求項９】
前記所定のインジケータの位置に基づいて、前記文字を含む１つ又は複数の領域から前記文字検出領域を決定するステップは、
前記文字を含む１つ又は複数の領域に前記所定のインジケータの位置の所在する領域が含まれる場合、該領域を前記文字検出領域として選択するステップ、を含む、請求項８に記載の文字検出方法。
【請求項１０】
前記所定のインジケータの位置に基づいて、前記文字を含む１つ又は複数の領域から前記文字検出領域を決定するステップは、前記文字を含む１つ又は複数の領域の何れの領域にも前記所定のインジケータの位置が含まれない場合、
前記文字を含む１つ又は複数の領域が文字を含む１つの領域のみであるとき、該領域を前記文字検出領域として選択するステップと、
前記文字を含む１つ又は複数の領域に文字を含む複数の領域が含まれるとき、前記文字を含む複数の領域のうち前記所定のインジケータの位置に最も近い第１領域及び前記所定のインジケータの位置に２番目に近い第２領域を決定するステップと、
前記第１領域及び前記第２領域の何れかが前記所定のインジケータの位置の左側に位置し、且つ前記所定のインジケータの位置が前記第１領域と前記第２領域との間に位置するとき、前記所定のインジケータの位置の左側に位置する領域を前記文字検出領域として選択し、そうでないとき、前記第１領域及び前記第２領域の何れかが前記所定のインジケータの位置の上方に位置し、且つ前記所定のインジケータの位置が前記第１領域と前記第２領域との間に位置するか否かを決定するステップと、
前記第１領域及び前記第２領域の何れかが前記所定のインジケータの位置の上方に位置し、且つ前記所定のインジケータの位置が前記第１領域と前記第２領域との間に位置するとき、前記所定のインジケータの位置の上方に位置する領域を前記文字検出領域として選択し、そうでいないとき、前記第１領域を前記文字検出領域として選択するステップと、を含む、請求項８に記載の文字検出方法。
【請求項１１】
前記第１検出すべき画像に前記所定のインジケータが含まれる場合、前記所定のインジケータの位置を決定し、前記検出すべき文字対象の第２検出すべき画像を取得するステップは、
前記第１検出すべき画像に前記所定のインジケータが含まれる場合、前記所定のインジケータの位置を決定し、前記所定のインジケータの位置を決定した時から所定の時間が経過した時に、前記検出すべき文字対象の前記第２検出すべき画像を取得するステップ、を含む、請求項１に記載の文字検出方法。
【請求項１２】
前記第１検出すべき画像に前記所定のインジケータが含まれる場合、第１音声プロンプトを出力するステップ、をさらに含む、請求項１に記載の文字検出方法。
【請求項１３】
前記第２検出すべき画像に前記所定のインジケータが含まれない場合、前記所定のインジケータの位置に基づいて文字検出領域を決定する前に、
第２音声プロンプトを出力するステップと、
前記検出すべき文字対象の第３検出すべき画像を取得するステップと、をさらに含み、
前記第３検出すべき画像の解像度は、前記第１検出すべき画像の解像度及び前記第２検出すべき画像の解像度よりも高い、請求項１に記載の文字検出方法。
【請求項１４】
前記所定のインジケータの位置に基づいて文字検出領域を決定するステップは、
前記所定のインジケータの位置に基づいて、前記第３検出すべき画像から文字検出領域を決定するステップ、を含む、請求項１３に記載の文字検出方法。
【請求項１５】
プロセッサと、
命令を含むプログラムが記憶されているメモリと、を含み、
前記命令が前記プロセッサにより実行される際に、前記プロセッサに請求項１乃至１４の何れかに記載の文字検出方法を実行させる、読書補助装置。
【請求項１６】
前記プログラムは、
前記プロセッサにより実行される際に、文字検出結果に基づいて認識すべき文字行における文字を音声に変換する命令、をさらに含む、請求項１５に記載の読書補助装置。
【請求項１７】
命令を含むプログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、
前記命令が電子機器のプロセッサにより実行される際に、前記電子機器に請求項１乃至１４の何れかに記載の文字検出方法を実行させる、記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データ処理の分野に関し、特に文字検出方法、読書補助装置及びコンピュータ読み取り可能な記憶媒体に関する。
【背景技術】
【０００２】
文字に関連するデータ処理は文字の検出及び認識を含んでもよい。現在の文字に関連するデータ処理の技術は様々な分野で広く使われているが、文字検出の正確性を向上する必要がある。
【０００３】
この部分で説明されている方法は、必ずしも以前に構想、或いは採用されている方法ではない。他の説明がない限り、この部分で説明されている方法がこの部分に含まれているという理由だけで先行技術であると見なされるべきではない。同様に、他の説明がない限り、この部分で言及されている課題が先行技術において認識されていると見なされるべきではない。
【発明の概要】
【０００４】
本開示の１つの態様では、検出すべき文字対象の第１検出すべき画像を取得するステップと、前記第１検出すべき画像に所定のインジケータが含まれるか否かを決定するステップと、前記第１検出すべき画像に前記所定のインジケータが含まれる場合、前記所定のインジケータの位置を決定し、前記検出すべき文字対象の第２検出すべき画像を取得するステップと、前記第２検出すべき画像に前記所定のインジケータが含まれるか否かを決定するステップと、前記第２検出すべき画像に前記所定のインジケータが含まれない場合、前記所定のインジケータの位置に基づいて文字検出領域を決定するステップと、を含む、文字検出方法を提供する。
【０００５】
本開示のもう１つの態様では、プロセッサと、命令を含むプログラムが記憶されているメモリと、を含み、前記命令が前記プロセッサにより実行される際に、前記プロセッサに本開示に記載の文字検出方法を実行させる、読書補助装置を提供する。
【０００６】
本開示のもう１つの態様では、命令を含むプログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、前記命令が電子機器のプロセッサにより実行される際に、前記電子機器に本開示に記載の文字検出方法を実行させる、記憶媒体を提供する。
【図面の簡単な説明】
【０００７】
図面は実施例を例示し、明細書の一部を構成するものであり、図面及び明細書の文言の説明を参照しながら実施例の例示的な態様を説明する。示される実施例は単なる例示のためのものであり、特許請求の範囲を制限するものではない。全ての図面では、同一の符号は類似の要素を示しているが、必ずしも同一の要素ではない。
【図１】本開示の例示的な実施例に係る文字検出方法を示すフローチャートである。
【図２】本開示の例示的な実施例に係る所定のインジケータであるユーザの指の指先部分又は爪を示す模式図である。
【図３】本開示の例示的な実施例に係る所定のインジケータの位置に基づいて文字検出領域を決定する方法を示すフローチャートである。
【図４】本開示の例示的な実施例に係る所定のインジケータの位置に基づいて文字を含む１つ又は複数の領域から文字検出領域を決定する例示的な方法を示すフローチャートである。
【図５Ａ】本開示の例示的な実施例に係る所定のインジケータの位置に基づいて文字検出領域を決定することを示す模式図である。
【図５Ｂ】本開示の例示的な実施例に係る所定のインジケータの位置に基づいて文字検出領域を決定することを示す模式図である。
【図５Ｃ】本開示の例示的な実施例に係る所定のインジケータの位置に基づいて文字検出領域を決定することを示す模式図である。
【図５Ｄ】本開示の例示的な実施例に係る所定のインジケータの位置に基づいて文字検出領域を決定することを示す模式図である。
【図６】本開示の様々な例示的な実施例に係る所定のインジケータの位置に基づいて文字検出領域を決定することを示す模式図である。
【図７】本開示の様々な例示的な実施例に係る所定のインジケータの位置に基づいて文字検出領域を決定することを示す模式図である。
【図８】本開示の様々な例示的な実施例に係る所定のインジケータの位置に基づいて文字検出領域を決定することを示す模式図である。
【図９】本開示の他の例示的な実施例に係る文字検出方法を示すフローチャートである。
【図１０】本開示の例示的な実施例に係る文字検出領域における１つ又は複数の認識すべき文字行を決定する方法を示すフローチャートである。
【図１１】本開示の例示的な実施例に係る文字検出領域における１つ又は複数の認識すべき文字行を決定することを示す模式図である。
【図１２】例示的な実施例に適用可能なコンピュータ装置の構成の一例を示すブロック図である。
【発明を実施するための形態】
【０００８】
本開示では、他の説明がない限り、様々な要素を説明するための「第１」、「第２」などの用語は、これらの要素の位置関係、時間的関係又は重要性の関係を限定するものではなく、単に１つの素子と他の素子とを区別するために用いられる。幾つかの例では、第１要素及び第２要素は、該要素の同一の例を表してもよいし、場合によって、文脈上の説明に基づいて、異なる例を表してもよい。
【０００９】
本開示において様々な実施例を説明するために用いられる用語は、単なる特定の例を説明するものであり、限定するものではない。文脈が明らかに他のことを示さない限り、要素の数を特に限定しない場合、該要素は１つでもよいし、複数であってもよい。また、本開示で用いられる用語「及び／又は」は、列挙された項目の何れか又は全ての可能な組み合わせを含む。
【００１０】
文字の検出及び認識では、文字を含む検出すべき対象から文字を検出する必要のある領域を正確に見つけて認識することが望ましい。文字の検出及び認識の応用では、ユーザとのインタラクティブのプロセスが含まれる場合はある。例えば、ユーザは、検出すべき対象における文字を検出、認識する必要のある領域を指示してもよい。
【００１１】
本開示の実施例は、文字検出の正確性を向上させることができる、改善された文字検出方法を提供する。以下は、図面を参照しながら本開示の文字検出方法の例示的な実施例をさらに説明する。
【００１２】
図１は本開示の例示的な実施例に係る文字検出方法を示すフローチャートである。図１に示すように、該文字検出方法は例えば以下のステップを含んでもよい。
【００１３】
ステップＳ１０１において、検出すべき文字対象の第１検出すべき画像を取得する。
【００１４】
検出すべき文字対象は、書籍、新聞、画面、メニュー、ロゴなどのユーザが文字検出を行うことを望む文字内容を含む任意の対象であってもよい。検出すべき文字対象は、例えばユーザが所定のインジケータ（指示物）を用いて指示するものであってもよい。該所定のインジケータは、例えばタッチペン、ポインタ、ユーザの指の指先又は爪などの指示特性を有する物体であってもよい。
【００１５】
検出すべき文字対象の第１検出すべき画像は、様々な方法で取得されてもよい。例えば、カメラ又はビデオカメラを用いて撮影を行うことで第１検出すべき画像を取り込んでもよいし、カメラ又は撮影機能を有する機器（例えば携帯電話、タブレットコンピュータ、ウェアラブル機器、読書補助装置など）を用いて撮影を行うことで第１検出すべき画像を取り込んでもよい。第１検出すべき画像は、他のソースからのものであってもよく、例えば他の画像取込装置からのものであってもよい。なお、第１検出すべき画像は、既存の画像であってもよく、即ち既に取り込まれて保存された画像であってもよい。本開示はこれに限定されない。
【００１６】
ステップＳ１０２において、第１検出すべき画像に所定のインジケータが含まれるか否かを決定する。
【００１７】
ユーザが所定のインジケータを用いて検出すべき文字対象を指示し、ユーザの文字検出を行いたい領域を示すことができるため、該ステップにおいて、取得された第１検出すべき画像に所定のインジケータが含まれるか否かを決定する。
【００１８】
様々な既存のアルゴリズムにより、第１検出すべき画像に所定のインジケータが含まれるか否かを決定してもよい。例えば、ＯｐｅｎＣＶのアルゴリズム、例えばＯｐｅｎＣＶにおけるＣａｓｃａｄｅＣｌａｓｓｉｆｉｅｒ関数（https://docs.opencv.org/3.2.0/d1/de5/classcv_1_1CascadeClassifier.html）を用いて、第１検出すべき画像に所定のインジケータが含まれるか否かを決定してもよい。
【００１９】
１つの例示的な実施例では、所定のインジケータはユーザの指の指先部分又は爪である。この場合は、ユーザの肌色情報をさらに用いて、第１検出すべき画像に所定のインジケータが含まれるか否かを決定してもよい。図２は本開示の例示的な実施例に係る所定のインジケータであるユーザの指の指先部分又は爪を示す模式図である。図２に示すように、検出すべき画像における所定のインジケータは、例えばユーザの指２００の指先部分２０１又は爪２０２であってもよい。検出すべき画像において決定、検出される所定のインジケータが指全体ではなく、ユーザの指の指先部分又は爪であるため、検出すべき領域は比較的に小さく、指と検出すべき文字対象との角度の変化は検出すべき画像における所定のインジケータの決定に大きな影響を与えることはない。さらに、例えばＯｐｅｎＣＶのアルゴリズムなどの既存のアルゴリズムとユーザの肌色情報とを組み合わせ、ユーザの肌色情報を用いてユーザの指の決定、検出の結果をさらに補正してもよい。以上の方法により、ユーザの指が検出すべき文字対象に垂直する必要はなく、ユーザの指と検出すべき文字対象との角が様々な異なる角度である場合でも、ユーザの指の決定と検出を実現することができる。言い換えれば、指の位置の影響を受けることなく、ユーザを正確に認識することが確保され、ユーザ体験を向上させることができる。
【００２０】
１つの例示的な実施例では、第１検出すべき画像に所定のインジケータが含まれない場合、検出すべき文字対象の検出すべき画像を再度取得してもよい。言い換えれば、検出すべき文字対象に複数の第１検出すべき画像が存在する可能性はある。この例示的な実施例では、取得された検出すべき画像に所定のインジケータが含まれるまで、ステップＳ１０１及びＳ１０２により検出すべき文字対象の検出すべき画像を繰り返し取得してもよい。
【００２１】
ステップＳ１０３において、第１検出すべき画像に所定のインジケータが含まれる場合、所定のインジケータの位置を決定し、検出すべき文字対象の第２検出すべき画像を取得する。
【００２２】
第１検出すべき画像に所定のインジケータが含まれると決定された場合、所定のインジケータの位置を決定する。上述したように、様々な既存のアルゴリズムにより、所定のインジケータの位置を決定してもよい。例えば、ＯｐｅｎＣＶのアルゴリズム、例えばＯｐｅｎＣＶにおけるＣａｓｃａｄｅＣｌａｓｓｉｆｉｅｒ関数（https://docs.opencv.org/3.2.0/d1/de5/classcv_1_1CascadeClassifier.html）を用いて、所定のインジケータの位置を決定してもよい。
【００２３】
所定のインジケータの位置が決定された後に、検出すべき文字対象の第２検出すべき画像を取得してもよい。第１検出すべき画像の取得方法と同様な方法を用いて第２検出すべき画像を取得してもよい。例えば、カメラ又はビデオカメラを用いて撮影を行うことで第２検出すべき画像を取り込んでもよいし、カメラ又は撮影機能を有する機器（例えば携帯電話、タブレットコンピュータ、ウェアラブル機器、読書補助装置など）を用いて撮影を行うことで第２検出すべき画像を取り込んでもよい。第２検出すべき画像は、他のソースからのものであってもよく、例えば他の画像取込装置からのものであってもよい。
【００２４】
１つの例示的な実施例では、所定のインジケータの位置を決定した時から所定の時間が経過した時に、検出すべき文字対象の第２検出すべき画像を取得する。例えば、所定のインジケータの位置を決定した時から１．５秒が経過した時に、検出すべき文字対象の第２検出すべき画像を取得する。所定のインジケータの位置を決定した後にすぐ検出すべき文字対象の第２検出すべき画像を取得してもよいが、応用によっては、両者の間に所定の時間間隔を空けることが有利である。例えば、ユーザがウェアラブル機器又は読書補助装置を用いて文字を検出、認識する場合、例えばユーザの指が一定の期間内で動かない可能性が高いため、例えばユーザの指などの所定のインジケータの位置の決定と、検出すべき文字対象の第２検出すべき画像の取得との間に所定の時間間隔を設定することで、画像の連続的な取得によるリソースの無駄を回避することができる。
【００２５】
ステップＳ１０４において、第２検出すべき画像に所定のインジケータが含まれるか否かを決定する。
【００２６】
第１検出すべき画像に所定のインジケータが含まれるか否かを決定する場合と同様に、様々な既存のアルゴリズムにより、第２検出すべき画像に所定のインジケータが含まれるか否かを決定してもよい。上述したように、ユーザの肌色情報をさらに用いて、第２検出すべき画像に所定のインジケータが含まれるか否かを決定してもよい。これによって、ユーザの指と検出すべき対象との角が様々な異なる角度である場合でも、ユーザの指の決定と検出を実現することができる。
【００２７】
１つの例示的な実施例では、第２検出すべき画像に所定のインジケータが含まれる場合、検出すべき文字対象の検出すべき画像を再度取得してもよい。言い換えれば、検出すべき文字対象に複数の第２検出すべき画像が存在する可能性はある。この例示的な実施例では、取得された検出すべき画像に所定のインジケータが含まれないまで、ステップＳ１０３及びＳ１０４により検出すべき文字対象の検出すべき画像を繰り返し取得してもよい。より具体的には、第２検出すべき画像に所定のインジケータが含まれる場合、該所定のインジケータの位置を決定し、検出すべき文字対象の第２検出すべき画像を再度取得してもよい。再度取得された第２検出すべき画像に所定のインジケータが依然として含まれる場合、該所定のインジケータの位置を再度決定し、再度取得された第２検出すべき画像に所定のインジケータが含まれない場合、その前に決定された所定のインジケータの位置に基づいて文字検出領域を決定する。言い換えれば、所定のインジケータが移動し、且つ移動後の所定のインジケータが依然として画像取込装置の検出領域内に位置する場合、所定のインジケータの位置を更新する。所定のインジケータが移動し、且つ移動後の所定のインジケータが画像取込装置の検出領域外に位置する場合、所定のインジケータの位置を更新せず、その前に決定された所定のインジケータの位置に基づいて文字検出領域を決定する。この例示的な実施例は、特定の応用では非常に有利である。例えば、ユーザがウェアラブル機器又は読書補助装置を用いて文字を検出、認識する場合、例えばユーザの指などのユーザにより用いられる所定のインジケータの位置が変化し、例えば小さな変位や震えが発生する可能性はある。このような場合、所定のインジケータの位置を継続的に更新することで、例えばユーザの指などの所定のインジケータが検出すべき文字対象から離れる前の位置をより正確に決定することができるため、ユーザが文字を検出、認識したい領域をより正確に決定することができる。
【００２８】
ステップＳ１０５において、第２検出すべき画像に所定のインジケータが含まれない場合、所定のインジケータの位置に基づいて文字検出領域を決定する。
【００２９】
第２検出すべき画像に所定のインジケータが含まれない場合、所定のインジケータが既に検出すべき文字対象から離れたと決定してもよい。よって、その前に決定された所定のインジケータの位置に基づいて、第２検出すべき画像から所定のインジケータの位置に関連する文字検出領域を決定してもよい。該文字検出領域は、検出すべき文字対象における所定のインジケータにより指示される文字を検出するための領域である。
【００３０】
様々な方法により所定のインジケータの位置に基づいて文字検出領域を決定してもよい。１つの例示的な実施例では、以下の方法により文字検出領域を決定してもよい。所定のインジケータが含まれない第２検出すべき画像を色情報を含む画像に変換し、該色情報を含む画像における画素はそれぞれ対応する色値を有し、画素の色値と所定の色値範囲とを比較し、所定の色値範囲内の色値を有する画素からなる少なくとも１つの画素ブロックを取得し、少なくとも１つの画素ブロックから所定のインジケータの位置を含む画素ブロックを選択し、選択された画素ブロックにおける所定のインジケータの位置に基づいて、文字検出領域を決定する。文字検出領域の決定方法は上記の方法に限定されず、例えば後述する図３に示す例示的な方法により実現されてもよい。
【００３１】
上述した本発明の例示的な実施例に係る文字検出方法では、所定のインジケータ（例えばタッチペン、ポインタ、ユーザの指など）が検出すべき文字対象から離れた後に検出すべき文字対象の画像を再度取得してもよく、該再度取得された画像には所定のインジケータにより遮蔽される文字部分が存在しない。そして、その前に決定された所定のインジケータの位置に基づいて文字検出領域を決定する。これによって、文字検出の正確性を向上させることができる。
【００３２】
以上は図１を参照しながら本開示の例示的な実施例に係る文字検出方法を説明した。以下は、図３乃至図１１を参照しながら上記の方法における各ステップの例示的な態様及びその実施例をさらに詳細に説明する。なお、上述した図１を参照しながら説明された各定義、実施例、態様及び例などは後述する例示的な実施例に適用されてもよいし、それと組み合わせられてもよい。
【００３３】
図３は本開示の例示的な実施例に係る所定のインジケータの位置に基づいて文字検出領域を決定する方法を示すフローチャートである。図４は本開示の例示的な実施例に係る所定のインジケータの位置に基づいて文字を含む１つ又は複数の領域から文字検出領域を決定する例示的な方法を示すフローチャートである。図５Ａ乃至図５Ｄは本開示の例示的な実施例に係る所定のインジケータの位置に基づいて文字検出領域を決定することを示す模式図である。図６乃至図８は本開示の様々な例示的な実施例に係る所定のインジケータの位置に基づいて文字検出領域を決定することを示す模式図である。
【００３４】
図３に示すように、ステップＳ３０１において、第２検出すべき画像における１つ又は複数の文字行の各文字行の位置を決定する。
【００３５】
該ステップにおいて、第２検出すべき画像に１つ又は複数の文字行が存在する場合、各文字行の位置を決定してもよい。各文字行の位置は、例えば検出すべき画像における該文字行を囲む仮想外枠の位置座標により表されてもよい。
【００３６】
図５Ａは検出すべき文字対象５１０の検出すべき画像を示す模式図であり、検出すべき文字対象５１０は例えば書籍又は新聞である。該検出すべき画像には、例えばユーザの指の所定のインジケータ５２０が含まれる。
【００３７】
図５Ｂは検出すべき文字対象５１０のもう１つの検出すべき画像を示す模式図であり、該検出すべき画像には所定のインジケータ５２０が含まれない。図５Ｂに示すように、検出すべき画像における１つ又は複数の文字行の各文字行の位置を決定する。図５Ｂでは、各文字行は矩形の仮想外枠により囲まれ、該仮想外枠の検出すべき画像における位置座標は対応する文字行の位置を表すことができる。例えば、文字行５３０を囲む仮想外枠の位置座標は文字行５３０の位置を表すことができる。図５Ｂでは各外枠が矩形の形状に示されているが、これは単なる一例であり、本開示はこれに限定されない。各文字行を囲む仮想外枠は他の形状を有してもよい。また、仮想外枠以外の方法を用いて文字行の位置を表してもよい。
【００３８】
ステップＳ３０２において、各文字行の位置に基づいて、第２検出すべき画像における文字を含む１つ又は複数の領域を取得する。
【００３９】
各文字行の位置が決定された後に、各文字行の位置に基づいて、第２検出すべき画像における文字を含む領域を取得してもよい。例えば、既存のテキストクラスタリング方法により、各文字行に対してクラスタリング及び合併を行うことで、文字を含む１つ又は複数の領域を取得してもよい。
【００４０】
図５Ｃは検出すべき文字対象５１０の検出すべき画像を示す模式図である。図５Ｃに示すように、決定された各文字行の位置に基づいて、検出すべき画像における文字を含む複数の領域５４１、５４２、５４３、５４４及び５４５を取得した。
【００４１】
ステップＳ３０３において、所定のインジケータの位置に基づいて、文字を含む１つ又は複数の領域から文字検出領域を決定する。
【００４２】
文字検出領域は、その前に決定された所定のインジケータの位置に基づいて、文字を含む１つ又は複数の領域から決定されてもよい。図５Ｄは検出すべき文字対象５１０の検出すべき画像を示す模式図である。図５Ｄに示すように、所定のインジケータの位置５２１に基づいて、検出すべき画像の文字を含む１つ又は複数の領域５４１、５４２、５４３、５４４及び５４５から文字検出領域５４５を決定した。
【００４３】
図３に示す例示的な方法により、決定された所定のインジケータの位置に基づいて文字検出領域を自動的に決定することができるため、文字検出の速度を向上させることができる。
【００４４】
図４は本開示の例示的な実施例に係る所定のインジケータの位置に基づいて文字を含む１つ又は複数の領域から文字検出領域を決定する例示的な方法を示すフローチャートである。
【００４５】
図４に示すように、ステップＳ４０１において、まず、文字を含む１つ又は複数の領域に所定のインジケータの位置の所在する領域が含まれるか否かを決定する。ユーザは、所定のインジケータ、例えば指を用いて検出すべき文字対象を指示することで文字検出すべき領域を決定したいが、意図しないスライドや震えなどの何らかの理由、又はユーザ自身の視覚障害（例えば弱視）により、所定のインジケータの位置は文字を含む領域に位置せず、検出すべき文字対象における他の位置に位置する可能性がある。よって、ステップＳ４０１において、まず文字を含む領域に所定のインジケータの位置の所在する領域が含まれるか否かを決定する。
【００４６】
ステップＳ４０２において、文字を含む１つ又は複数の領域に所定のインジケータの位置の所在する領域が含まれる場合、該領域を文字検出領域として選択する。言い換えれば、例えば図５Ｄにおける領域５４５に示すように、例えばユーザの指などの所定のインジケータが文字を含む領域に位置する場合、該領域を文字検出領域とする。
【００４７】
文字を含む１つ又は複数の領域の何れの領域にも所定のインジケータの位置が含まれない場合、ステップＳ４０３において、文字を含む１つ又は複数の領域が文字を含む１つの領域のみであるか否かを決定する。検出すべき文字対象における文字内容の分布に応じて、決定された文字を含む領域は複数の領域が含まれず、１つの領域のみである場合がある。よって、ステップＳ４０３において、検出すべき画像における文字を含む領域の数が１つであるか、それとも複数であるかを決定する。
【００４８】
ステップＳ４０４において、文字を含む１つ又は複数の領域が文字を含む１つの領域のみであり、即ち検出すべき画像に文字を含む領域が１つのみ存在する場合、該領域を文字検出領域として選択する。
【００４９】
ステップＳ４０５において、文字を含む１つ又は複数の領域が文字を含む複数の領域であり、即ち検出すべき画像に文字を含む領域が複数存在する場合、文字を含む複数の領域のうち所定のインジケータの位置に最も近い第１領域、及び所定のインジケータの位置に２番目に近い第２領域を決定する。
【００５０】
ここで、所定のインジケータの位置に最も近い文字を含む領域とは、領域の境界と所定のインジケータの中心との距離が他の領域の各境界と所定のインジケータの中心との対応する距離に比べて最も小さい領域を意味する。ここで、所定のインジケータの位置に２番目に近い文字を含む領域とは、検出すべき画像に文字を含む２つの領域が含まれる場合、所定のインジケータの位置に最も近い文字を含む領域以外の他の領域を意味し、検出すべき画像に文字を含む３つ以上の領域が含まれる場合、領域の境界と所定のインジケータの中心との距離が所定のインジケータの位置に最も近い領域の境界と所定のインジケータの中心との距離よりも大きく、且つ該文字を含む３つ以上の領域のうち他の領域の各境界と所定のインジケータの中心との対応する距離よりも小さい領域を意味する。
【００５１】
図６は本開示のもう１つの例示的な実施例に係る所定のインジケータの位置に基づいて文字検出領域を決定することを示す模式図である。図６に示すように、検出すべき文字対象６１０の検出すべき画像には、文字を含む複数の領域６４１、６４２、６４３、６４４及び６４５が存在する。このような場合は、文字を含む複数の領域６４１、６４２、６４３、６４４及び６４５のうち所定のインジケータ６２０の位置に最も近い第１領域６４５、及び所定のインジケータ６２０の位置に２番目に近い第２領域６４２を決定する。上述したように、所定のインジケータ６２０の位置に最も近い文字を含む領域６４５の境界と所定のインジケータ６２０の中心との距離は、他の領域６４１、６４２、６４３、６４４のそれぞれの境界と所定のインジケータ６２０の中心との対応する距離に比べて最も小さい。所定のインジケータ６２０の位置に２番目に近い文字を含む領域６４２の境界と所定のインジケータ６２０の中心との距離は、所定のインジケータ６２０の位置に最も近い領域６４５の境界と所定のインジケータ６２０の中心との距離よりも大きく、且つ他の領域６４１、６４３、６４４のそれぞれの境界と所定のインジケータ６２０の中心との対応する距離よりも小さい。
【００５２】
ステップＳ４０６において、所定のインジケータの位置に最も近い第１領域及び所定のインジケータの位置に２番目に近い第２領域の何れかが所定のインジケータの位置の左側に位置し、且つ所定のインジケータの位置が第１領域と第２領域との間に位置するか否かを決定する。
【００５３】
通常の読書習慣により、ほとんどの場合は、ユーザは書籍や新聞などの検出すべき文字対象の左から右への読書に慣れている。よって、検出すべき文字対象の検出すべき画像に文字を含む領域が複数存在している場合、所定のインジケータが該インジケータに比較的に近い２つの文字を含む領域の間に存在するか否かをさらに判定する。
【００５４】
例えば、図６に示すように、所定のインジケータ６２０の位置に最も近い第１領域６４５及び所定のインジケータ６２０の位置に２番目に近い第２領域６４２の１つ、即ち第２領域６４２が所定のインジケータ６２０の位置の左側に位置し、且つ所定のインジケータ６２０の位置が第１領域６４５と第２領域６４２との間に位置するため、所定のインジケータの位置に最も近い第１領域及び所定のインジケータの位置に２番目に近い第２領域の何れかが所定のインジケータの位置の左側に位置し、且つ所定のインジケータの位置が第１領域と第２領域との間に位置するという条件が満たされている。
【００５５】
ステップＳ４０７において、所定のインジケータの位置に最も近い第１領域及び所定のインジケータの位置に２番目に近い第２領域の何れかが所定のインジケータの位置の左側に位置し、且つ所定のインジケータの位置が第１領域と第２領域との間に位置する場合、所定のインジケータの位置の左側に位置する領域を文字検出領域として選択する。よって、所定のインジケータの位置の左側に位置する領域を文字検出領域として選択することで、ユーザの読書習慣により合致することができるため、ユーザ体験を改善することができる。
【００５６】
例えば、図６に示すように、所定のインジケータ６２０の位置に最も近い第１領域６４５及び所定のインジケータ６２０の位置に２番目に近い第２領域６４２の１つ、即ち第２領域６４２が所定のインジケータ６２０の位置の左側に位置し、且つ所定のインジケータ６２０の位置が第１領域６４５と第２領域６４２との間に位置する。この場合、所定のインジケータ６２０の位置の左側に位置する領域６４２を文字検出領域として選択し、即ち所定のインジケータ６２０の位置の左側に位置する領域を文字検出領域として優先的に選択することで、ユーザの読書習慣により合致することができる。
【００５７】
ステップＳ４０８において、所定のインジケータの位置に最も近い第１領域及び所定のインジケータの位置に２番目に近い第２領域の何れかが所定のインジケータの位置の左側に位置し、且つ所定のインジケータの位置が第１領域と第２領域との間に位置するという条件が満たさない場合、所定のインジケータの位置に最も近い第１領域及び所定のインジケータの位置に２番目に近い第２領域の何れかが所定のインジケータの位置の上方に位置し、且つ所定のインジケータの位置が第１領域と第２領域との間に位置するか否かを決定する。
【００５８】
図７は本開示のもう１つの例示的な実施例に係る所定のインジケータの位置に基づいて文字検出領域を決定することを示す模式図である。図７に示すように、検出すべき文字対象７１０の検出すべき画像には、文字を含む複数の領域７４１、７４２、７４３、７４４及び７４５が存在する。このような場合は、文字を含む複数の領域７４１、７４２、７４３、７４４及び７４５のうち所定のインジケータ７２０の位置に最も近い第１領域７４２、及び所定のインジケータ７２０の位置に２番目に近い第２領域７４１を決定してもよい。図７に示すように、第１領域７４２及び第２領域７４１の何れかが所定のインジケータ７２０の位置の左側に位置し、且つ所定のインジケータ７２０の位置が第１領域７４２と第２領域７４１との間に位置するという条件が満たさないため、所定のインジケータ７２０の位置に最も近い第１領域７４２及び所定のインジケータ７２０の位置に２番目に近い第２領域７４１の何れかが所定のインジケータ７２０の位置の上方に位置し、且つ所定のインジケータ７２０の位置が第１領域７４２と第２領域７４１との間に位置するか否かをさらに決定する。図７に示す例は明らかにこの条件を満たしている。
【００５９】
ステップＳ４０９において、所定のインジケータの位置に最も近い第１領域及び所定のインジケータの位置に２番目に近い第２領域の何れかが所定のインジケータの位置の上方に位置し、且つ所定のインジケータの位置が第１領域と第２領域との間に位置する場合、所定のインジケータの位置の上方に位置する領域を文字検出領域として選択する。よって、所定のインジケータに比較的に近く、且つ左側に位置する文字検出領域が存在しない場合、所定のインジケータの位置の上方に位置する領域を文字検出領域として優先的に選択することで、ユーザの読書習慣により合致することができるため、ユーザ体験を改善することができる。
【００６０】
例えば、図７に示すように、所定のインジケータ７２０の位置に最も近い第１領域７４２及び所定のインジケータ７２０の位置に２番目に近い第２領域７４１の１つ、即ち第２領域７４１が所定のインジケータ７２０の位置の上方に位置し、且つ所定のインジケータ７２０の位置が第１領域７４２と第２領域７４１との間に位置する。この場合、所定のインジケータ７２０の位置の上方に位置する領域７４１を文字検出領域として選択し、即ち所定のインジケータ７２０の位置の上方に位置する領域を文字検出領域として優先的に選択することで、ユーザの読書習慣により合致することができる。
【００６１】
ステップＳ４１０において、第１領域及び第２領域の何れかが所定のインジケータの位置の上方に位置し、且つ所定のインジケータの位置が第１領域と第２領域との間に位置するという条件が満たさない場合、所定のインジケータの位置に最も近い第１領域を文字検出領域として選択する。
【００６２】
図８は本開示のもう１つの例示的な実施例に係る所定のインジケータの位置に基づいて文字検出領域を決定することを示す模式図である。図８に示すように、検出すべき文字対象８１０の検出すべき画像には、文字を含む複数の領域８４１、８４２、８４３、８４４及び８４５が存在する。このような場合は、文字を含む複数の領域８４１、８４２、８４３、８４４及び８４５のうち所定のインジケータ８２０の位置に最も近い第１領域８４５、及び所定のインジケータ８２０の位置に２番目に近い第２領域８４３を決定してもよい。図８に示すように、所定のインジケータ８２０の位置に最も近い第１領域８４５及び所定のインジケータ８２０の位置に２番目に近い第２領域８４３の何れかが所定のインジケータ８２０の位置の左側に位置し、且つ所定のインジケータ８２０の位置が第１領域８４５と第２領域８４３との間に位置するという条件が満たしておらず、且つ所定のインジケータ８２０の位置に最も近い第１領域８４５及び所定のインジケータ８２０の位置に２番目に近い第２領域８４３の何れかが所定のインジケータ８２０の位置の上方に位置し、且つ所定のインジケータ８２０の位置が第１領域８４５と第２領域８４３との間に位置するという条件が満たされていない。よって、所定のインジケータ８２０の位置に最も近い第１領域８４５を文字検出領域として選択する。
【００６３】
上記の図６乃至図８に示すように、本発明の例示的な実施例では、例えば指などの所定のインジケータの位置に基づいて文字検出領域を決定する際に、左側に位置する文字を含む領域、上方に位置する文字を含む領域、所定のインジケータに比較的に近い文字を含む領域と文字検出領域として優先的に選択することで、ユーザの通常の読書習慣により合致することができるため、ユーザ体験を改善することができる。
【００６４】
図９は本開示の他の例示的な実施例に係る文字検出方法を示すフローチャートである。
【００６５】
図９に示すように、この例示的な実施例に係る文字検出方法は例えばステップＳ９０１乃至Ｓ９１４を含んでもよい。図９に示す例示的な文字検出方法では、ステップＳ９０１及びＳ９０２は、図１を参照しながら説明されたステップＳ１０１及びＳ１０２と略同様なものであるため、ここでその説明を省略する。
【００６６】
図９に示すように、本開示の他の例示的な実施例に係る文字検出方法は例えばステップＳ９０３をさらに含んでもよい。ステップＳ９０３において、第１音声プロンプトを出力する。言い換えれば、第１検出すべき画像に所定のインジケータが含まれる場合、第１音声プロンプトを出力する。例えば、所定のインジケータがユーザの指である場合、第１検出すべき画像にユーザの指が含まれるとき、第１音声プロンプトを出力する。該第１音声プロンプトは、任意のタイプのプロンプト音であってもよく、例えばカチカチという音である。
【００６７】
ステップＳ９０４において、所定のインジケータの位置を決定し、所定の時間が経過した時に検出すべき文字対象の第２検出すべき画像を取得する。例えば、該所定の時間の間隔は例えば１．５秒であってもよい。なお、具体的な応用及び／又は需要に応じて他の時間間隔を選択してもよい。
【００６８】
ステップＳ９０５において、第２検出すべき画像に所定のインジケータが含まれるか否かを決定する。第２検出すべき画像に所定のインジケータが含まない場合、後続のステップＳ９０６を実行する。第２検出すべき画像に所定のインジケータが含まれる場合、第１音声プロンプトを再度出力する。例えば、所定のインジケータがユーザの指である場合、第２検出すべき画像にユーザの指が含まれるか否かを決定する。第２検出すべき画像にユーザの指が含まない場合、後続のステップを実行する。第２検出すべき画像にユーザの指が含まれる場合、第１音声プロンプト、例えばカチカチという音を再度出力する。言い換えれば、例えばユーザの指などの所定のインジケータが検出すべき文字対象から動かさない場合、所定の時間間隔（例えば１．５秒）で第１音声プロンプト、例えばカチカチという音を継続的に出力する。該第１音声プロンプトの開始時間は、例えば指などの所定のインジケータが初めて検出された時間である。
【００６９】
図９に示すように、本開示の他の例示的な実施例に係る文字検出方法は、ステップＳ９０６をさらに含んでもよい。ステップＳ９０６において、第２音声プロンプトを出力する。言い換えれば、第２検出すべき画像に所定のインジケータが含まない場合、第２音声プロンプトを出力する。例えば、所定のインジケータがユーザの指である場合、第２検出すべき画像にユーザの指が含まないとき、第２音声プロンプトを出力する。該第２音声プロンプトは、第１音声プロンプトと同一であってもよいし、第１音声プロンプトと異なってもよい。該第２音声プロンプトは、任意のタイプのプロンプト音であってもよく、例えばカメラの焦点合わせの音である。該第２音声プロンプトにより、認識すべき対象の画像情報を取得するようにユーザに思い出せることができ、該音声プロンプト後のユーザによる画像取得プロセスの安定性を維持することができる。
【００７０】
図９に示すように、本発明の他の例示的な実施例に係る文字検出方法は、ステップＳ９０７をさらに含んでもよい。ステップＳ９０７において、検出すべき文字対象の第３検出すべき画像を取得する。１つの例示的な実施例では、検出すべき文字対象の第３検出すべき画像の解像度は、第１検出すべき画像の解像度及び第２検出すべき画像の解像度よりも高くてもよい。例えば、検出すべき文字対象の第１検出すべき画像及び第２検出すべき画像の解像度は比較的に低くてもよく、例えば第１検出すべき画像及び第２検出すべき画像はビデオカメラにより取得され、或いはカメラにより撮影されたプレビュー画像であってもよい。これによって、比較的に低い解像度を有する第１検出すべき画像及び第２検出すべき画像を処理することで所定のインジケータの位置を決定してもよい。第１検出すべき画像及び第２検出すべき画像の解像度が低いため、画像処理のためのデータ量が少ないため、文字検出の速度を向上させることができる。なお、第１検出すべき画像及び第２検出すべき画像は、プレビュー画像ではなく、ビデオカメラ又はカメラにより撮影された写真であってもよい。所定のインジケータが検出すべき文字対象から離れた後に、ステップＳ９０７において検出すべき文字対象のより高い解像度を有する第３検出すべき画像を再度取得してもよい。これに応じて、後続のステップにおいて、所定のインジケータの位置に基づいて第３検出すべき画像から文字検出領域を決定する。第３検出すべき画像の解像度がより高いため、文字検出の正確性を向上させることができる。
【００７１】
図９に示すように、本開示の他の例示的な実施例に係る文字検出方法は、ステップＳ９０８をさらに含んでもよい。ステップＳ９０８において、第３音声プロンプトを出力する。該第３音声プロンプトは、任意のタイプのプロンプト音であってもよい。例えば、該第３音声プロンプトは、第１音声プロンプト及び第２音声プロンプトと異なるプロンプト音、例えば写真撮影が成功した時のシャッター音であってもよく、該シャッター音は検出すべき文字対象の第３検出すべき画像の取得が成功したことを表す。該第３音声プロンプトは、認識の放送の前に、ユーザが待っている時の不安感を軽減させることができ、ユーザ体験を向上させることができる。
【００７２】
１つの具体的な実施例では、ステップＳ９０３乃至Ｓ９０８を実行することで、３種類の音声プロンプト、即ち第１音声プロンプト、第２音声プロンプト及び第３音声プロンプトを出力してもよい。例えば、第１検出すべき画像にユーザの指が含まれると決定された場合、即ち検出すべき文字対象に指が存在する場合、例えばカチカチ音などの第１音声プロンプトを出力してもよい。ユーザの指が検出すべき文字対象から離れない場合、所定の時間間隔（例えば１．５秒）で例えばカチカチ音などの第１音声プロンプトを継続的に出力してもよく、該カチカチ音の開始時間は指が初めて検出された時間である。第２検出すべき画像にユーザの指が含まれないと決定された場合、即ち指が検出すべき文字対象から離れた場合、例えばカメラの焦点合わせの音などの第２音声プロンプトを出力してもよい。検出すべき文字対象の第３検出すべき画像が取得された後に、例えば検出すべき文字対象の第３検出すべき画像の取得が成功したことを表すための写真撮影が成功した時のシャッター音などの第３音声プロンプトを出力してもよい。
【００７３】
図９に示すように、本開示の他の例示的な実施例に係る文字検出方法は、ステップＳ９０９をさらに含んでもよい。このステップにおいて、所定のインジケータの位置に基づいて第３検出すべき画像から文字検出領域を決定する。第３検出すべき画像の解像度がより高いため、文字検出の正確性を向上させることができる。
【００７４】
図９に示すように、本発明の他の例示的な実施例に係る文字検出方法は、ステップＳ９１０をさらに含んでもよい。このステップにおいて、文字検出領域における１つ又は複数の認識すべき文字行を決定する。多くの応用では、検出すべき文字対象に対して文字検出を行うことだけではなく、決定された文字検出領域における文字を認識することが望ましい。このため、ステップＳ９１０において、文字検出領域における１つ又は複数の認識すべき文字行を決定してもよい。
【００７５】
図９に示す例示的な方法は、ステップＳ９１１及びＳ９１２をさらに含んでもよい。Ｓ９１１において、１つ又は複数の認識すべき文字行に前回の文字検出結果から認識された文字行と重複する文字行が含まれるか否かを決定する。ステップＳ９１２において、１つ又は複数の認識すべき文字行に前回の文字検出結果から認識された文字行と重複する文字行が含まれる場合、１つ又は複数の認識すべき文字行から重複する文字行を削除する。
【００７６】
１つの例示的な実施例では、最初行フィルタリングの方法を用いて、１つ又は複数の認識すべき文字行から重複する文字行を削除してもよい。より具体的には、１つ又は複数の認識すべき文字行に前回の文字検出結果から認識された文字行と重複する文字行が含まれるか否かを決定する際に、前回の文字検出結果から認識された文字行のうち１番目の行から、１つ又は複数の認識すべき文字行の１番目の行と、前回の文字検出結果から認識された文字行の各行とを行ごとに比較する。１つ又は複数の認識すべき文字行の１番目の行と前回の文字検出結果から認識された文字行の全ての行とが異なる場合、１つ又は複数の認識すべき文字行の最後の行と、前回の文字検出結果から認識された文字行の各行とを行ごとにさらに比較し、１つ又は複数の認識すべき文字行の最後の行と前回の文字検出結果から認識された文字行の全ての行とが異なるとき、１つ又は複数の認識すべき文字行に前回の文字検出結果から認識された文字行と重複する文字行が含まれないと決定する。このような場合は、１つ又は複数の認識すべき文字行の全ての行について文字認識を行い、即ち１つ又は複数の認識すべき文字行の１番目の行から認識を行ごとに行う。
【００７７】
前回の文字検出結果から認識された文字行のうち１番目の行から、１つ又は複数の認識すべき文字行の１番目の行と、前回の文字検出結果から認識された文字行の各行とを行ごとに比較する際に、１つ又は複数の認識すべき文字行の１番目の行と前回の文字検出結果から認識された文字行の全ての行とが異なり、且つ１つ又は複数の認識すべき文字行の最後の行と、前回の文字検出結果から認識された文字行の各行とを行ごとにさらに比較する際に、１つ又は複数の認識すべき文字行の最後の行と前回の文字検出結果から認識された文字行の１行、例えばｎ番目の行と同一である場合、１つ又は複数の認識すべき文字行に前回の文字検出結果から認識された文字行と重複する文字行が含まれると決定する。このような場合は、１つ又は複数の認識すべき文字行から重複する文字行を削除し、即ち１つ又は複数の認識すべき文字行における（Ｍ−Ｎ＋１）番目の行〜最後の行を削除する。ここで、Ｍは１つ又は複数の認識すべき文字行の行数である。それに応じて、文字の認識を行う際に、１つ又は複数の認識すべき文字行から重複する文字行を削除した後に未認識の文字行が依然として存在する場合、１つ又は複数の認識すべき文字行の１番目の行から（Ｍ−Ｎ）番目の行まで行ごとに認識を行う。１つ又は複数の認識すべき文字行から重複する文字行を削除した後に未認識の文字行が存在しない場合、認識を放棄し、検出すべき文字対象の第１検出すべき画像を再取得してもよい。
【００７８】
前回の文字検出結果から認識された文字行のうち１番目の行から、１つ又は複数の認識すべき文字行の１番目の行と、前回の文字検出結果から認識された文字行の各行とを行ごとに比較する際に、１つ又は複数の認識すべき文字行の１番目の行と前回の文字検出結果から認識された文字行の１行、例えばＮ番目の行と同一である場合、１つ又は複数の認識すべき文字行に前回の文字検出結果から認識された文字行と重複する文字行が含まれると決定する。このような場合は、１つ又は複数の認識すべき文字行から重複する文字行を削除し、即ち１つ又は複数の認識すべき文字行における１番目の行〜（Ｍ−Ｎ＋１）番目の行を削除する。ここで、Ｍは１つ又は複数の認識すべき文字行の行数である。それに応じて、文字の認識を行う際に、１つ又は複数の認識すべき文字行から重複する文字行を削除した後に未認識の文字行が依然として存在する場合、１つ又は複数の認識すべき文字行の（Ｍ−Ｎ＋２）番目の行から行ごとに認識を行う。１つ又は複数の認識すべき文字行から重複する文字行を削除した後に未認識の文字行が存在しない場合、認識を放棄し、検出すべき文字対象の第１検出すべき画像を再取得してもよい。
【００７９】
例えば、前回の文字検出結果から認識された文字行の行数及び１つ又は複数の認識すべき文字行の行数が共に５行であると仮定する。まず、前回の文字検出結果から認識された文字行のうち１番目の行から、５行の認識すべき文字行の１番目の行と、前回の文字検出結果から認識された文字行の各行とを行ごとに比較する。５行の認識すべき文字行の１番目の行と前回の文字検出結果から認識された文字行の全ての行とが異なる場合、５行の認識すべき文字行に前回の文字検出結果から認識された文字行と重複する文字行が含まれないと決定する。このような場合は、５行の認識すべき文字行の全ての行について文字認識を行い、即ち５行の認識すべき文字行の１番目の行から５番目の行まで認識を行ごとに行う。
【００８０】
前回の文字検出結果から認識された文字行のうち１番目の行から、５行の認識すべき文字行の１番目の行と、前回の文字検出結果から認識された文字行の各行とを行ごとに比較する際に、５行の認識すべき文字行の１番目の行と前回の文字検出結果から認識された文字行の１行、例えば２番目の行と同一である場合、５行の認識すべき文字行に前回の文字検出結果から認識された文字行と重複する文字行が含まれると決定する。このような場合は、５行の認識すべき文字行から重複する文字行を削除し、即ち５行の認識すべき文字行における１番目の行〜４番目の行（即ち（５−２＋１）番目の行）を削除する。それに応じて、５行の認識すべき文字行の５番目の行（即ち（５−２＋２）番目の行）から行ごとに認識を行う。
【００８１】
前回の文字検出結果から認識された文字行のうち１番目の行から、５行の認識すべき文字行の１番目の行と、前回の文字検出結果から認識された文字行の各行とを行ごとに比較する際に、５行の認識すべき文字行の１番目の行と前回の文字検出結果から認識された文字行の１行、例えば１番目の行と同一である場合、５行の認識すべき文字行に前回の文字検出結果から認識された文字行と重複する文字行が含まれると決定する。このような場合は、５行の認識すべき文字行から重複する文字行を削除し、即ち５行の認識すべき文字行における１番目の行〜５番目の行（即ち（５−１＋１）番目の行）を削除する。このような場合は、１つ又は複数の認識すべき文字行から重複する文字行を削除した後に未認識の文字行が存在しないため、認識を放棄し、検出すべき文字対象の第１検出すべき画像を再取得してもよい。
【００８２】
ステップＳ９１１及びＳ９１２を実行することにより、時間的に隣接する前後２回の文字検出結果において重複する文字行を削除することでユーザのために重複する文字行を自動的に除去することができる。よって、後続の文字認識プロセスに出現する文字内容の重複する部分を低減、削除することができるため、文字の検出及び認識の効率を向上させ、ユーザ体験を向上させることができる。さらに、最初行フィルタリングの方法を用いて１つ又は複数の認識すべき文字行から重複する文字行を削除することで、重複する文字行を効率的に除去することができる。
【００８３】
認識すべき行が決定された後に、図９に示す例示的な方法は、ステップＳ９１３及びＳ９１４をさらに含んでもよい。ステップＳ９１３において、決定された１つ又は複数の認識すべき文字行における文字に対して、文字認識を行う。また、ステップＳ９１４において、認識された文字内容について音声放送を行ってもよい。これによって、特定のユーザ、例えば視覚障害及び／又は読書障害を有するユーザにとって非常に有利である。
【００８４】
図１０は本開示の例示的な実施例に係る文字検出領域における１つ又は複数の認識すべき文字行を決定する方法を示すフローチャートである。
【００８５】
図１０に示すように、ステップＳ１００１において、所定のインジケータにより指示された文字行を決定する。所定のインジケータと文字行との相互の位置関係に基づいて、該所定のインジケータにより指示された文字行を決定してもよい。例えば、１つの例示的な実施例では、所定のインジケータにより指示された文字行を決定するステップは、所定のインジケータの位置と文字検出領域における１つ又は複数の文字行とが重なっているか否かを決定するステップと、所定のインジケータの位置と文字検出領域における１つ又は複数の文字行とが重なっている場合、重なっている１つ又は複数の文字行のうち最も上方に位置する文字行を、所定のインジケータにより指示された文字行として決定するステップと、所定のインジケータの位置と文字検出領域における文字行とが何れも重なっていない場合、所定のインジケータの上方に位置し、且つ所定のインジケータの位置に最も近い文字行を、所定のインジケータにより指示された文字行として決定するステップと、を含んでもよい。場合によっては、指などの所定のインジケータの位置は、文字行に位置することではなく、上下の２つの文字行の間又は文字行の傍の空白領域に位置する可能性がある。所定のインジケータの位置と文字行との重なり関係に基づいて文字行を選択することで、ユーザが選択したい文字行をある程度決定することができるため、ユーザ体験を改善させることができる。
【００８６】
ステップＳ１００２において、所定のインジケータにより指示された文字行の上方に文字行が存在するか否かを決定する。そして、ステップＳ１００３において、所定のインジケータにより指示された文字行の上方に文字行が存在しない場合、所定のインジケータにより指示された文字行を認識すべき文字行として決定する。場合によっては、所定のインジケータにより指示された文字行の上方に文字行が存在しない可能性がある。例えば、所定のインジケータにより指示された文字行が文字検出領域における最も上方の文字行である可能性がある。よって、所定のインジケータにより指示された文字行の上方に文字行が存在しない場合、例えば所定のインジケータにより指示された文字行自身を認識すべき文字行として決定してもよい。
【００８７】
ステップＳ１００４において、所定のインジケータにより指示された文字行の上方の文字行の行数を決定する。ステップＳ１００５において、所定のインジケータにより指示された文字行の上方の文字行の行数が所定数以上であるか否かを決定する。ステップＳ１００６において、所定のインジケータにより指示された文字行の上方の文字行の行数が所定数以上である場合、所定のインジケータにより指示された文字行から上の所定数の複数の文字行を認識すべき文字行として決定する。ステップＳ１００７において、所定のインジケータにより指示された文字行の上方の文字行の行数が所定数よりも小さい場合、所定のインジケータにより指示された文字行の上方の全ての文字行、及び所定のインジケータにより指示された文字行を共に認識すべき文字行として決定する。
【００８８】
ステップＳ１００４乃至Ｓ１００７において、所定のインジケータにより指示された文字行の上方の全ての文字行を認識すべき文字行として決定するとは限らない。所定のインジケータにより指示された文字行の上方の文字行の行数が所定数以上である場合、所定のインジケータにより指示された文字行から上の所定数の複数の文字行のみを認識すべき文字行として決定する。
【００８９】
例えば、図１１は本開示の例示的な実施例に係る文字検出領域における１つ又は複数の認識すべき文字行を決定することを示す模式図である。図１１に示すように、例えば書籍や新聞１１１０などの検出すべき文字対象の検出すべき画像には、文字を含む複数の領域１１４１、１１４２、１１４３、１１４４及び１１４５が含まれている。ここで、所定のインジケータの位置１１２１に基づいて、文字を含む領域１１４５を文字検出領域として決定する。文字検出領域１１４５では、所定のインジケータの位置１１２１と文字検出領域における文字行とが何れも重なっていないため、所定のインジケータの上方に位置し、且つ所定のインジケータの位置１１２１に最も近い文字行１１５１を、所定のインジケータにより指示された文字行として決定する。所定のインジケータにより指示された文字行の上方の文字行の行数の所定数が５であると仮定する。所定のインジケータにより指示された文字行１１５１の上方の文字行の行数が５よりも大きいため、所定のインジケータにより指示された文字行１１５１から上の５行の文字行を認識すべき文字行として決定し、即ち図１１において括弧で示される文字行を認識すべき文字行として決定する。
【００９０】
以上のことから、図１０に示す文字検出領域から１つ又は複数の認識すべき文字行を決定する例示的な方法によれば、局所的認識すべき文字行を決定することができる。決定された局所的認識すべき文字行がユーザの関心を持っている文字内容である可能性が高いため、ユーザ体験を向上させることができる。一方、文字段落の１番目の行から検出及び認識を行うとは限らないため、文字内容に対する重複な検出及び認識を低減、回避することができる。
【００９１】
本開示の１つの態様は読書補助装置を含んでもよく、該読書補助装置は、該検出すべき文字対象の画像を取り込むセンサ（例えばビデオカメラ、カメラなど）と、上記の任意の方法のステップを実行する回路部を有するプロセッサチップ回路とを含む。１つの実施例では、該プロセッサチップ回路は、文字検出結果に基づいて認識すべき文字行における文字を音声に変換する回路部をさらに含んでもよい。
【００９２】
読書補助装置はソフトウェアで実現されてもよく、該読書補助装置は、プロセッサと、命令を含むプログラムが記憶されているメモリとを含み、該命令が該プロセッサにより実行される際に、該プロセッサに上記任意の方法を実行させる。１つの実施例では、該プログラムは、該プロセッサにより実行される際に文字検出結果に基づいて認識すべき文字行における文字を音声に変換する命令をさらに含んでもよい。
【００９３】
該読書補助装置によれば、視覚障害のあるユーザは、視覚正常の読者と同様に、同様な読書姿勢により通常の読み物（例えば書籍、雑誌など）を「読む」ことができる。「読む」の過程では、読書補助装置は、文字検出を行い、上述した実施例における方法により、上記実施例に係る方法により文字検出結果に基づいて認識すべき文字行における文字を音声に自動的に変換し、スピーカ又はイヤホン等の出力装置によりユーザに音声を再生してもよい。
【００９４】
本開示の１つの態様は命令を含むプログラムが記憶されているコンピュータ読み取り可能な記憶媒体を含んでもよく、該命令が電子機器のプロセッサにより実行される際に、該電子機器に上記の任意の方法を実行させる。
【００９５】
図１２を参照しながらコンピュータ装置２０００を説明し、コンピュータ装置２０００は本開示の各態様のハードウェア装置に適用可能な例である。コンピュータ装置２０００は、処理及び／又は計算を実行する任意の機器であってもよく、例えばワークステーション、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、パーソナルデジタルアシスタント、スマートフォン、オンボードコンピュータ、ウェアラブルデバイス又はその任意の組み合わせであってもよいが、これらに限定されない。１つの実施例では、上記の読書補助装置又は電子機器の全て又は少なくとも一部は、コンピュータ装置２０００、又は類似の装置若しくはシステムにより実現されてもよい。
【００９６】
コンピュータ装置２０００は、（場合によっては１つ又は複数のインタフェースを介して）バス２００２に接続され、或いはバス２００２と通信する素子を含んでもよい。例えば、コンピュータ装置２０００は、バス２００２、１つ又は複数の処理装置２００４（上記の読書補助装置に含まれる処理装置又はチップ回路を実施するために用いられてもよい）、１つ又は複数の入力装置２００６、及び１つ又は複数の出力装置２００８を含んでもよい。１つ又は複数の処理装置２００４は、任意のタイプの処理装置であってもよく、１つ又は複数の汎用プロセッサ及び／又は１つ又は複数の専用プロセッサ（例えば特定のプロセッサチップ）を含んでもよいが、これに限定されない。入力装置２００６は、コンピュータ装置２０００に情報を入力することができる任意のタイプの装置であってもよく、センサ（例えば上記の画像を取得するセンサ）、マウス、キーボード、タッチパネル、マイクロフォン、及び／又はリモコンを含んでもよいが、これに限定されない。出力装置２００８は、情報を提示することができる任意のタイプの装置であってもよく、ディスプレイ、スピーカ（例えば、上述文字から変換された音声を出力する出力装置）、ビデオ／オーディオ出力端末、バイブレータ、及び／又はプリンタを含んでもよいが、これに限定されない。コンピュータ装置２０００は、非一時的な記憶装置２０１０を含み、或いは非一時的な記憶装置２０１０に接続されてもよい。該非一時的な記憶装置２０１０（例えば上記のコンピュータ読み取り可能な記憶媒体を実施するために用いられてもよい）は、データを記憶可能な非一時的な任意の記憶装置であってもよく、ディスクドライブ、光記憶装置、固体メモリ、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ若しくは他の任意の磁気媒体、光ディスク若しくは他の任意の光学媒体、ＲＯＭ（読み出し専用メモリ）、ＲＡＭ（ランダムアクセスメモリ）、キャッシュメモリ及び／又は他の任意のメモリチップ若しくはカートリッジ、及び／又はコンピュータがデータ、命令及び／又はコードを読み取ることができる他の任意の媒体であってもよいが、これらに限定されない。非一時的な記憶装置２０１０はインタフェースから取り外すことができる。非一時的な記憶装置２０１０は、上記の方法及びステップを実現するためのデータ／プログラム（命令を含む）／コードを有してもよい。コンピュータ装置２０００は、通信装置２０１２をさらに含んでもよい。通信装置２０１２は、外部装置及び／又はネットワークと通信を行うことが可能な任意のタイプの装置又はシステムであってもよく、モデム、ネットワークカード、赤外線通信装置、無線通信装置、及び／又はチップセット、例えばブルートゥース（登録商標）装置、１３０２．１１デバイス、ＷｉＦｉデバイス、ＷｉＭａｘデバイス、セルラ通信デバイス及び／又は類似のデバイスであってもよいが、これらに限定されない。
【００９７】
コンピュータ装置２０００は、作業用記憶装置２０１４（上記の読書補助装置に含まれる記憶装置を実施するために用いられてもよい）をさらに含んでもよく、該作業用記憶装置２０１４は、処理装置２００４の作業のためのプログラム（命令を含む）及び／又はデータを記憶可能な任意の作業用記憶装置であってもよく、ランダムアクセスメモリ及び／又は読み出し専用メモリを含んでもよいが、これらに限定されない。
【００９８】
作業用記憶装置２０１４にソフトウェア要素（プログラム）があってもよく、該ソフトウェア要素は、オペレーティングシステム２０１６、１つ又は複数のアプリケーションプログラム２０１８、ドライバプログラム及び／又は他のデータ及びコードを含んでもよいが、これらに限定されない。ソフトウェア要素（プログラム）の命令の実行可能なコード又はソースコードは、非一時的なコンピュータ読み取り可能な記憶媒体（例えば上記の記憶装置２０１０）に記憶されてもよく、実行される際に作業用記憶装置２０１４に記憶されてもよい（コンバイルされ、且つ／或いはインストールされてもよい）。ソフトウェア要素（プログラム）の命令の実行可能なコード又はソースコードは遠隔地からダウンロードされてもよい。
【００９９】
図１２に示すコンピュータ装置２０００が本開示の実施形態に適用される時に、記憶装置２０１４は、本開示のフローチャートのステップを実行するためのプログラムコード及び／又は文字内容を含む認識されるべき画像を記憶してもよい。ここで、アプリケーション２０１８は、第三者により提供される光学文字認識アプリケーション（例えばＡｄｏｂｅ）、音声変換アプリケーション、編集可能な文字処理アプリケーション等を含んでもよい。入力装置２００６は、検出すべき文字対象の画像を取得するためのセンサであってもよい。出力装置２００８は例えば音声再生のためのスピーカ又はイヤホンであり、処理装置２００４は記憶装置２０１４におけるプログラムコードにより本開示の各態様の方法のステップを実行する。
【０１００】
なお、具体的な要求に応じて各種の変形を行ってもよい。例えば、カスタムハードウェアを用いてもよいし、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、又はそれらの任意の組み合せで特定の構成要素（上述のプロセッサチップ回路など）を実現してもよい。例えば、開示された方法及び装置の一部又は全部（例えば、上記のプロセッサチップ回路における各回路部）は、本開示に係る論理及びアルゴリズムに基づいて、アセンブリ言語又はハードウェアプログラミング言語（例えばＶＥＲＩＬＯＧ、ＶＨＤＬ、Ｃ＋＋等）を用いてハードウェア（例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）及び／又はプログラマブルロジックアレイ（ＰＬＡ）を含むプログラマブルロジック回路）に対してプログラミングを行うことで実現されてもよい。
【０１０１】
コンピュータ装置２０００の構成要素はネットワークに分散されてもよい。例えば、プロセッサを用いて処理を実行し、該プロセッサから離れた他のプロセッサを用いて他の処理を実行してもよい。コンピュータシステム２０００の他の構成要素も同様に分散さてもよい。従って、コンピュータ装置２０００は、複数の場所で処理を実行する分散コンピュータシステムとして解釈されてもよい。
【０１０２】
図面を参照しながら本開示の実施形態又は実施例を説明したが、上述した方法、システム及び装置は例示的な実施形態又は実施例に過ぎず、本発明の範囲はこれらの実施形態又は実施例に制限されず、添付の特許請求の範囲及びその均等物によってのみ限定される。実施形態又は実施例における各要素は、省略されてもよく、それらと同等の要素によって置き換えられてもよい。また、本開示に記載されているものとは異なる順序でステップを実行してもよい。さらに、実施形態又は実施例の各要素を様々な方法で組み合わせてもよい。なお、技術の進化に伴い、本明細書で説明されている要素は本開示の後に現れる同等の要素によって置き換えられてもよい。
【図１】
2020201924.tif 000003
【図２】
2020201924.tif 000004
【図３】
2020201924.tif 000005
【図４】
2020201924.tif 000006
【図５Ａ】
2020201924.tif 000007
【図５Ｂ】
2020201924.tif 000008
【図５Ｃ】
2020201924.tif 000009
【図５Ｄ】
2020201924.tif 000010
【図６】
2020201924.tif 000011
【図７】
2020201924.tif 000012
【図８】
2020201924.tif 000013
【図９】
2020201924.tif 000014
【図１０】
2020201924.tif 000015
【図１１】
2020201924.tif 000016
【図１２】
2020201924.tif 000017
【外国語明細書】
2020201924000001.pdf