(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-29
(45)【発行日】2022-07-07
(54)【発明の名称】混合組版された文字を認識する方法、装置、チップ回路及びコンピュータプログラム製品
(51)【国際特許分類】
G06V 30/14 20220101AFI20220630BHJP
G06T 7/60 20170101ALI20220630BHJP
【FI】
G06V30/14
G06T7/60 150S
(21)【出願番号】P 2020219402
(22)【出願日】2020-12-28
【審査請求日】2020-12-28
(31)【優先権主張番号】201911393558.X
(32)【優先日】2019-12-30
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】518149224
【氏名又は名称】ネクストブイピーユー (シャンハイ) カンパニー リミテッド
(74)【代理人】
【識別番号】100205936
【氏名又は名称】崔 海龍
(74)【代理人】
【識別番号】100132805
【氏名又は名称】河合 貴之
(72)【発明者】
【氏名】陳 凌奇
(72)【発明者】
【氏名】蔡 海蛟
(72)【発明者】
【氏名】馮 ▲きん▼鵬
(72)【発明者】
【氏名】周 驥
【審査官】千葉 久博
(56)【参考文献】
【文献】特開2011-186945(JP,A)
【文献】特開2006-227768(JP,A)
【文献】米国特許出願公開第2019/0266435(US,A1)
【文献】米国特許出願公開第2019/0266431(US,A1)
【文献】中国特許出願公開第110555433(CN,A)
【文献】中国特許出願公開第110516554(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/14
G06T 7/60
(57)【特許請求の範囲】
【請求項1】
ピクチャから文字の段落を含む1つまたは複数のバウンディングボックスを検出することと、
バウンディングボックス毎の幾何学的特性に基づいて、横組みおよび縦組みを含む前記バウンディングボックスの文字組版方向を確定することと、
前記バウンディングボックスの文字組版方向に基づいて、前記
バウンディングボックスを前記文字組版方向に対応する文字認識ネットワークに入力することによって、前記バウンディングボックス内の文字を認識することと、を含
み、
前記バウンディングボックスの文字組版方向を確定することは、
前記バウンディングボックス内の各空白画素行を確定することと、
隣接する空白画素行を組み合わせることによって、前記バウンディングボックスの水平方向の各文字間隔行の高さを確定することと、
前記各文字間隔行の高さに応じて前記バウンディングボックスの文字組版方向を確定することと、を含み、
および/または、
前記バウンディングボックス内の各空白画素列を確定することと、
隣接する空白画素列を組み合わせることによって、前記バウンディングボックスの垂直方向の各文字間隔列の幅を確定することと、
前記各文字間隔列の幅に応じて前記バウンディングボックスの文字組版方向を確定することと、を含む、コンピュータにより実現される、混合組版された文字を認識するための方法。
【請求項2】
請求項1に記載の方法において、
前記バウンディングボックスの文字組版方向を確定することは、前記ピクチャから前記バウンディングボックスの領域を切り出すことと、
前記バウンディングボックスのアスペクト比を計算することと、
前記アスペクト比が第1の閾値以下であるか否かを判定することと、
前記アスペクト比が前記第1の閾値以下であるとの判定に応じて、前記バウンディングボックスの文字組版方向が横組みであると判定することと、を含む。
【請求項3】
請求項2に記載の方法において、
前記バウンディングボックスの文字組版方向を確定することは、前記アスペクト比が前記第1の閾値よりも大きいという判定に応じて、前記アスペクト比が前記第1の閾値よりも大きい第2の閾値以上であるか否かを判定することと、
前記アスペクト比が前記第2の閾値以上であるという判定に応じて、前記バウンディングボックスの文字組版方向が縦組みであると判定することとをさらに含む。
【請求項4】
請求項
1に記載の方法において、
前記各文字間隔行の高さによって前記バウンディングボックスの文字組版方向を確定することは、すべての文字間隔行の高さの合計と前記バウンディングボックスの高さとの間の行占有率を確定することと、
すべての文字間隔行の高さの合計と前記バウンディングボックスの高さとの間の行占有率が第3の閾値以上であるか否かを判定することと、
前記行占有率が前記第3の閾値以上であるとの判定に応答して、前記バウンディングボックスの文字組版方向が横組みであると判定することとを含む。
【請求項5】
請求項
1に記載の方法において、
前記バウンディングボックスの文字組版方向を前記各文字間隔行の高さによって確定することは、隣接する文字間隔行の位置に基づいて隣接する前記文字間隔行間の文字行の高さを確定することと、
前記バウンディングボックス内のすべての文字行の高さの離散性を確定することと、
すべての文字行の高さの離散性が第5の閾値以下であるか否かを判定することと、
全ての文字行の高さの離散性が前記第5の閾値以下であるとの判定に応答して、前記バウンディングボックスの文字組版方向が横組みであると判定することとを含む。
【請求項6】
請求項
1に記載の方法において、
前記バウンディングボックス内の各空白画素行を確定することは、前記バウンディングボックス内の各画素行の平均階調値を計算することと、
前記バウンディングボックス内の各画素行の平均階調値が白色画素の階調値に基本的に等しいか否かを判定することと、
前記画素行の平均階調値が白色画素の階調値と基本的に等しいことに応答して、前記画素行が空白画素行であると確定することと、を含む。
【請求項7】
請求項
1に記載の方法において、
前記バウンディングボックス内の各空白画素行を確定することは、前記バウンディングボックス内の各画素行の階調値離散性を計算することと、
前記バウンディングボックス内の各画素行の階調値離散性が基本的にゼロであるか否かを判定することと、
前記画素行の階調値離散性が基本的にゼロであるという判定に応答して、前記画素行が空白画素行であると確定することと、を含む。
【請求項8】
請求項
4に記載の方法において、
すべての文字間隔行の高さの合計と前記バウンディングボックスの高さとの間の行占有率が第3の閾値以上であるか否かを判定することは、各文字間隔行の高さが第4の閾値以上であるか否かを判定することをさらに含み、
前記バウンディングボックスの文字組版方向が横組みであることを確定することは、各文字間隔行の高さがいずれも前記第4の閾値以上であると判定することに応じて、前記バウンディングボックスの文字組版方向が横組みであると確定することをさらに含む。
【請求項9】
請求項1に記載の方法において、
前記バウンディングボックスの文字組版方向を確定することは、前記バウンディングボックス内の各空白画素行を確定することと、
隣接する空白画素行を組み合わせることによって、前記バウンディングボックスの水平方向の各文字間隔行の高さを確定し、且つすべての文字間隔行の高さの合計と前記バウンディングボックスの高さとの間の行占有率を確定することと、
前記バウンディングボックス内の各空白画素列を確定することと、
隣接する空白画素列を組み合わせることによって、前記バウンディングボックスの垂直方向の各文字間隔列の幅を確定し、且つ全ての文字間隔列の幅の合計と前記バウンディングボックスの幅との間の列占有率を確定することと、
全ての文字間隔列の幅の合計と前記バウンディングボックスの幅との間の列占有率が全ての文字間隔行の高さの合計と前記バウンディングボックスの高さとの間の行占有率以上であるか否かを判定することと、
全ての文字間隔列の幅の合計と前記バウンディングボックスの幅との間の列占有率が全ての文字間隔行の高さの合計と前記バウンディングボックスの高さとの間の行占有率以上であるという判定に応答して、前記バウンディングボックスの文字組版方向が縦組みであると判定することと、
全ての文字間隔列の幅の合計と前記バウンディングボックスの幅との間の列占有率が、全ての文字間隔行の高さの合計と前記バウンディングボックスの高さとの間の行占有率よりも小さいと判定されたことに応答して、前記バウンディングボックスの文字組版方向が横組みであると判定することを含む。
【請求項10】
請求項1に記載の方法において、
前記バウンディングボックスの文字組版方向を確定することは、前記バウンディングボックス内の各空白画素行を確定することと、
隣接する空白画素行を組み合わせることによって、前記バウンディングボックスの水平方向の各文字間隔行の高さを確定し、全ての文字間隔行の高さの合計を確定し、全ての文字間隔行の高さの合計と前記バウンディングボックスの高さとに基づいて全ての文字行の高さの合計を確定し、全ての文字行の高さの合計と前記バウンディングボックスの高さとの間の行占有率を確定することと、
前記バウンディングボックス内の各空白画素列を確定することと、
隣接する空白画素列を組み合わせることによって、前記バウンディングボックスの垂直方向の各文字間隔列の幅を確定し、全ての文字間隔列の幅の合計を確定し、全ての文字間隔列の幅の合計と前記バウンディングボックスの幅とに基づいて全ての文字列の幅の合計を確定し、且つ全ての文字列の高さの合計と前記バウンディングボックスの幅との間の列占有率を確定することと、
全ての文字行の高さの合計と前記バウンディングボックスの高さとの間の行占有率が、全ての文字列の高さの合計と前記バウンディングボックスの幅との間の列占有率以上であるか否かを判定することと、
全ての文字行の高さの合計と前記バウンディングボックスの高さとの間の行占有率が、全ての文字列の高さの合計と前記バウンディングボックスの幅との間の列占有率以上であるという判定に応答して、前記バウンディングボックスの文字組版方向が横組みであると確定されることと、
全ての文字行の高さの合計と前記バウンディングボックスの高さとの間の行占有率が、全ての文字列の高さの合計と前記バウンディングボックスの幅との間の列占有率よりも小さいとの判定に応答して、前記バウンディングボックスの文字組版方向が縦組みであると判定することを含む。
【請求項11】
コンピュータプログラムコードが格納されたメモリと、
前記コンピュータプログラムコードを実行することによって、請求項1から請求項
10のいずれか一項に記載の方法を実行するように配置されたプロセッサと、
を含む混合組版された文字を認識する装置。
【請求項12】
コンピュータ
読み取り可能な記憶媒体であって、
請求項1から請求項10のいずれか一項に記載の方法を実行するためのプログラムコード
が記憶されている。
【請求項13】
電源投入時に請求項1から請求項12のいずれか一項に記載の方法を実行するように配置された回路ユニットを含むチップ回路。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ピクチャ処理の分野に関し、より具体的には、混合組版された文字を認識する方法、その方法を実現する装置、チップ回路、およびコンピュータプログラム製品に関する。
【背景技術】
【0002】
従来の文字検出および認識技術は、通常、例えば横組みや縦組みなどの単一の文字組版方向に基づいている。例えば、中国大陸又は欧米で出版された書籍については、文字組版方向は通常横組みであり、これらの書籍に対する文字認識過程は、横組み文字を利用してニューラルネットワークモデルを訓練して対応する認識モデルを生成することを含み、一方、香港・マカオ・台湾地区又は日本で出版された書籍については、文字の組版方向は通常縦方向に組版されており、これらの出版物に対する文字認識過程は、縦方向に組版された文字を利用してニューラルネットワークを訓練し、対応する認識モデルを生成することを含む。したがって、書籍文字認識や説明書認識のようなほとんどの応用場面では、単一組版の文字を用いてニューラルネットワークを訓練することでニーズを満たすことができる。
【0003】
しかし、別の場合では、例えば新聞や雑誌などの混合組版された出版物にとって、単一の組版を使用した訓練モデルは正常に機能できない。
図1は、混合組版された新聞ピクチャ100の概略図である。
図1に示すように、ピクチャ100には、横方向に組み版された複数の文字段落(ボックス110に示す文字段落)と、縦方向に組み版された複数の文字段落(ボックス120、130、140に示す文字段落)とが含まれる。
【0004】
この場合、単一組版の訓練モデルは正常に機能できない。例えば、横組みの文字訓練を用いて得られた認識モデルは、ボックス120、130、140に示されるように縦組みの文字を認識する場合、認識率が非常に低く、文の意味が完全に間違っている。
【発明の概要】
【0005】
上記の課題に対して、本発明は、横組みと縦組みの2種類の文字の組版方向を含むピクチャ中の文字を認識することができる混合組版された文字を認識する方案を提供する。
【0006】
本発明の一側面によると、混合組版された文字を認識する方法を提供する。この方法は、ピクチャから文字の段落を含む1つまたは複数のバウンディングボックスを検出することと、バウンディングボックス毎の幾何学的特性に基づいて、横組みおよび縦組みを含む前記バウンディングボックスの文字組版方向を確定することと、前記バウンディングボックスの文字組版方向に基づいて、前記ウンディングボックスを前記文字組版方向に対応する文字認識ネットワークに入力することによって、前記バウンディングボックス内の文字を認識することとを含む。
【0007】
本発明の他の側面によると、混合組版された文字を認識する装置を提供する。この装置はコンピュータプログラムコードが格納されたメモリと、前記コンピュータプログラムコードを実行することによって、上記のような方法を実行するように配置されたプロセッサとを含む。
【0008】
本発明の他の側面によると、コンピュータ読み取り可能な記憶媒体を提供する。このコンピュータ読み取り可能な記憶媒体に実行される時に上記のような方法を実行するコンピュータプログラムコードが格納された。
【0009】
本発明の他の側面によると、電源投入時に上記のような方法を実行するように配置された回路ユニットを含むチップ回路を提供する。
【0010】
本発明の態様を利用することにより、混合組版された文字における各部分の組版方向を正確に確定することができ、それにより、異なる認識モデルを用いてこれらの部分の文字認識を行うことができ、文字認識の精度をすることができる。
【図面の簡単な説明】
【0011】
【
図1】混合組版された新聞ピクチャを示す概略図である。
【
図2】本発明の一実施例による混合組版された文字を識別するための方法を示すフローチャートである。
【
図3】本発明の一実施例によるバウンディングボックスの文字組版方向を確定するためのステップを示す概略図である。
【
図4】本発明の一実施例によるバウンディングボックスの文字組版方向を確定するためのステップを示す概略図である。
【
図5】本発明の別の実施例によるバウンディングボックスの文字組版方向を確定するためのステップを示す概略図である。
【
図6】本発明の実施例を実施するための例示的な装置の概略ブロック図である。
【発明を実施するための形態】
【0012】
以下、本発明の目的、特徴および利点をよりよく理解するために、図面に結合して本発明の各実施例について詳細に説明する。図面に示される実施例は、本発明の保護範囲を限定することを意図するものではなく、単に本発明の技術方案の本質的な精神を説明することを理解するべきである。
【0013】
以下の説明では、開示されたさ各発明の実施例を説明する目的から、各発明の実施例を完全に理解するために、何らかの具体的な詳細を記載する。但し、当業者は実施例がこれらの具体的な詳細のうちの1つまたは複数なしに実施されてもよいことを認識するべきである。他の場合では、実施例の説明を不必要に曖昧にすることを避けるために、本出願に関連する周知のデバイス、構造、および技術は詳細に示されないか、または記載されない可能性がある。
【0014】
文脈で特に必要とされない限り、明細書および請求の範囲を通して、「備える」という言葉とそのバリエーション、例えば「含む」や「有する」などの用語は、オープンで包括的な意味と理解するべきであり、すなわち、「含むが、これらに限定されない」と解釈されるべきである。
【0015】
明細書全体にわたる「一つ実施例」または「一実施例」への言及は、実施例に説明される特定の特点、構造、または特徴が少なくとも1つの実施例に含まれることを意味する。そのため、明細書全体の各箇所での「一つの実施例では」または「一実施例では」の表現は、必ずしもすべてが同じ実施例を指しているわけではない。また、特定の特点、構造、または特徴が1つまたは複数の実施例で任意の方法で組み合わせることができる。
【0016】
また、説明書と請求項で用いられる第1、第2、第3、第4などの用語は、明確な説明のために個々の対象を区別するだけであり、その説明された対象の大きさやその他の順序などを限定するものではない。
【0017】
図2は本発明の実施例による混合組版された文字を識別するための方法200を示すフローチャートである。方法200の操作対象は、例えば、
図1に示される新聞ピクチャ100であってもよく、ピクチャ100は、横方向に組版された1つ以上の文字段落(ボックス110に示される文字段落)と、縦方向に組版された1つ以上の文字段落(ボックス120、130、140に示される文字段落)とを含む。
【0018】
まず、ステップ210で、文字の段落を含む1つまたは複数のバウンディングボックスがピクチャ100から検出される。ここで、バウンディングボックスとは、各種バウンディングボックス(bounding box)アルゴリズムを用いてピクチャから対象物を検出する過程で得られる対象物の領域をいう。検出されるバウンディングボックスのサイズは、使用されるバウンディングボックス・アルゴリズムおよび検出される対象物の特性に依存して異なってもよく、例えば、最小バウンディングボックスは、通常、1行の文字または1列の文字のみを含む。ここで、バウンディングボックスとは、検出されるピクチャをレイアウト分析し、レイアウト分析の結果に基づいて、隣接する最小バウンディングボックス近傍を連結することによって形成されるバウンディングボックスを指し、このバウンディングボックスは通常、1つの段落を含むので、ここでは段落バウンディングボックスとも呼んでもいい。バウンディングボックスは、レイアウト解析の結果に依存して、1つの最小バウンディングボックス(即ち1行の文字または1列の文字)のみを含んでもよく、複数の最小バウンディングボックスを含んでもいいことに注意してください。当業者は、本発明において、本発明の範囲を制限することなく、様々な既知または将来開発されるバウンディングボックス・アルゴリズムを使用して、文字の段落の検出を行うことができることを理解することができる。
【0019】
一実施例では、ステップ210は、ピクチャ100内の文字応答領域を取得するために、ピクチャ100を文字検出ニューラルネットワークに入力することを含む。ここで、文字応答領域とは、ピクチャ中の背景部分に対応するピクチャ中の文字が含まれる部分を指し、ピクチャ100の文字応答領域を得るとは、ピクチャ100中の文字部分と背景部分とを区別するようにピクチャ100を分割することを指す。一実施例では、テクスチャベースの方法を利用して、ピクチャの文字応答領域を取得することができる。テクスチャベースの方法の原理は、文字は独特のテクスチャ特性を持つ物体であり、文字のこのテクスチャ特性を浮き彫りすることでピクチャ中の文字部分と背景部分を分割することができるというものである。テクスチャベースの方法によって得られた文字応答領域は、基本的に背景部分と明確に区別することができるが、背景部分との交差部分にはぼやけが存在し、2つの部分間のコントラストが文字部分を正確に切り出すのに十分でない場合がある。
【0020】
したがって、ピクチャ100の文字応答領域を取得した後、ステップ210は、最小バウンディングボックスを取得するように、文字応答領域に対して平滑化処理、二値化処理、および近傍連結処理を実行することをさらに含むことができる。前述したように、最小バウンディングボックスのサイズは通常、1行または1列の文字のみを含むようになる。
【0021】
最小バウンディングボックスを取得した後、ステップ210は、ピクチャ100をレイアウト分析し、レイアウト分析の結果に基づいて最小バウンディングボックスに基づいてバウンディングボックスを生成することをさらに含むことができる。例えば、最小バウンディングボックスの周囲の空白領域がいずれも大きければ、当該最小バウンディングボックスは相対的に独立していると考えられ、単独で本明細書で説明する1つのバウンディングボックスを構成することができる。結果として生じるバウンディングボックスは、例えば、
図1に示されるバウンディングボックス110、120、130、140であってもよく、その中、バウンディングボックス140にとって、レイアウト分析の結果(例えば、バウンディングボックス140の周囲の空白領域のサイズ)から、バウンディングボックス140が1列の文字のみを含むこと、すなわち、バウンディングボックスを構成する最小のバウンディングボックスに相当することが確定される。
【0022】
上記ではテクスチャベースの方法を例に説明したが、本発明はこれに限定されるものではなく、文字応答領域を取得する方法は、例えば、連結領域ベースの方法、またはテクスチャベースの方法と連結領域ベースの方法との結合などをさらに含むことができ、これについては本明細書では詳細に説明しない。
【0023】
次に、方法200は、バウンディングボックスの文字組版方向を、当該バウンディングボックス毎の幾何学的特性に基づいて確定し、すなわち、バウンディングボックス内の文字段落が横組みされているか縦組みされているかを確定するステップ220をさらに含む。いくつかの実施例では、バウンディングボックスの幾何学的特性は、バウンディングボックスの縦横比(またはアスペクト比)を含むことができる。別の実施例では、バウンディングボックスの幾何学的特性は、バウンディングボックス内の文字の段落の特性を含むことができる。より具体的には、バウンディングボックス内の文字段落の特性は、例えば、バウンディングボックス内の文字段落の文字特性と、(例えば、文字行の高さ、文字行の占有率、文字列の幅、文字列の占有率、または、文字行の占有率と文字列の占有率との関係など)および/または文字間隔特性(例えば、文字間隔行の高さ、文字間隔行の占有率、文字間隔列の幅、文字間隔列の占有率、または文字間隔行の占有率と文字間隔列の占有率との関係など)を含む。以下では、バウンディングボックスの文字組版方向を確定するための本発明によるステップ220のいくつかの実施例について、
図3~
図5を用いて詳細に説明する。
【0024】
図3は本発明の一実施例によるバウンディングボックスの文字組版方向を確定するためのステップ220を示す概略図である。
【0025】
図3に示すように、ステップ220は、ステップ210で得られた1つのバウンディングボックスの領域がピクチャ100から切り取られるサブステップ302を含むことができる。以下、
図1に示すバウンディングボックス110を例に説明する。
【0026】
次に、サブステップ304において、バウンディングボックス110のアスペクト比kが計算され、その後、サブステップ306において、アスペクト比kが第1の閾値th1以下であるか否かが判定される。ここで、第1の閾値th1は、横組みのバウンディングボックスを判定するための閾値条件であり、経験的な値であってもよく統計的な値であってもよく、刊行物の仕様等の規制に基づいて予め設定された値であってもよい。
【0027】
バウンディングボックス110のアスペクト比kは、以下のように簡単に計算されることができる。
k=h/w、ここで、hはバウンディングボックス110の高さ、wは
図1に示すようにバウンディングボックス110の幅である。高さhおよび幅wは、例えば画素単位であってもよい。
【0028】
サブステップ306の判定結果が“はい”である場合、すなわち、アスペクト比kが第1の閾値th1以下であると判定された場合、サブステップ308において、バウンディングボックス110の文字組版方向が横組みであると確定される。この場合、サブステップ306の判定結果が“いいえ”である場合は、バウンディングボックス110の文字組版方向が縦組み(図示せず)であると判定してもよい。
【0029】
または、代替方法として、バウンディングボックス110の文字組版方向は、第2の閾値th2によってさらに確定されてもよい。
図3に示すように、サブステップ306の判定結果が“いいえ”である場合、すなわち、アスペクト比kが第1の閾値th1よりも大きいと判定された場合、ステップ220は、アスペクト比kが第1の閾値th1よりも大きい第2の閾値th2以上であるか否かをさらに判定するサブステップ310をさらに含むことができる。ここで、第2の閾値th2は、縦組みのバウンディングボックスを判定するための閾値条件であり、経験的な値であってもよく、統計的な値であってもよく、或いは刊行物の仕様等の規制に基づいて予め設定された値であってもよい。
【0030】
サブステップ310の判定結果が“はい”である場合、すなわち、アスペクト比kが第2の閾値th2以上であると判定された場合、サブステップ312において、バウンディングボックス110の文字組版方向が縦組みであると判定される。
【0031】
図3に示す実施例では、バウンディングボックスの文字組版方向は、バウンディングボックスの縦横比に基づいて確定され、これは横組みされた文字段落は通常、高さよりも幅が大きく、縦組みされた文字段落は通常、高さが幅よりも大きいという仮説または経験に基づく。しかし、このような仮説や経験が必ずしも成り立たない場合が多いため、バウンディングボックスの縦横比だけでは組版方向を決めることができない場合もある。このような場合、
図3の実施例では、誤った検出結果が出力され、他のアルゴリズムによって訂正する必要がある。したがって、本発明は、以下
図4および
図5を結合して示すように、バウンディングボックス内の文字段落の特性によって文字の組版方向を確定する方法も提供する。
図4または
図5に示される方法は、文字組みの方向を確定するために単独で使用されてもよく、または
図3に示される方法の補足として使用されてもよく、すなわち、サブステップ310の判断が“いいえ”である(即ちバウンディングボックスのアスペクト比kが第1の閾値th1よりも大きく第2の閾値th2よりも小さい)場合に、バウンディングボックスの文字組みの方向を確定するためにさらに使用されてもよい。
【0032】
図4は本発明の別の実施例によるバウンディングボックスの文字組版方向を確定するためのステップ220を示す概略図である。
【0033】
図4に示すように、ステップ220は、バウンディングボックス110内の各空白画素行を確定するサブステップ314を含む。ここで、空白(blank)画素行とは、文字ストロークが出現しない画素行、すなわち背景色の画素行であり、必ずしも白色(white)画素からなるものではない。しかし、新聞や雑誌、書籍の多くでは背景色が白であることが多いため、白を背景色とする判断基準の適用性も大きい。以下に、それぞれ背景色が既知色と未知色の場合の具体的な実現形態を示す。
【0034】
一実施例では、ピクチャ100の背景色は、基本的に白色であり(
図1に示すように)、サブステップ314は、バウンディングボックス110内の各画素行の平均階調値を算出し、バウンディングボックス110内の各画素行の平均階調値が白色画素の階調値と基本的に等しいか否かを判定し、1つの画素行の平均階調値が白色画素の階調値と基本的に等しい場合に、その画素行が空白画素行であると判定することをさらに含む。
【0035】
具体的には、例えば、白と黒との間を対数関係に基づいていくつかのレベル(例えば256レベル)に分割することができ、当該レベルを階調レベルと呼ばれ、その中、白画素の階調値を255とし、黒画素の階調値を0とする。次に、バウンディングボックス110内の各画素行の全ての画素の階調値を合計して、当該画素行の幅(すなわち当該画素行の画素数)で除算した平均値を当該画素行の平均階調値とする。
【0036】
1つの画素行の平均階調値が白色画素の階調値に基本的に等しい(または非常に近い)場合(例えば、[250,255]の範囲内にある)、その画素行は空白画素行であると判定される、すなわち、その画素行は文字行と文字行との間にあると判定される。
【0037】
ここで、サブステップ314については、ピクチャ100自体がグレースケールピクチャである場合を想定して説明するが、ピクチャ100がグレースケールピクチャでない場合には、サブステップ314の前に、ピクチャ100(またはバウンディングボックス110)をグレースケールピクチャに変換するプロセスも含まれるので、ここでは説明しない。
【0038】
また、サブステップ314については、
図100の背景色が白色であることを例に説明したが、当業者は、上述したサブステップ314の実行プロセスは、背景色が既知の他の任意の色である場合にも拡張されてもいいと理解するべきである。例えば、識別しようとする多数のピクチャが同じ背景色(例えば黒)を有する場合、上述のサブステップ314の実行プロセスは、各画素行の平均階調値を黒画素の階調値と比較することに等しく置き換えてもよい。
【0039】
さらに、前述のサブステップ314の実行は、前述の画素レベルの分割方式および2つの極値画素(例えば、白および黒)の階調値の設定方式に限定されるものではなく、他の任意の同等の置換方式を採用することもできることを当業者は理解することができる。
【0040】
別の実施例では、空白画素行は、画素行の平均階調値ではなく、画素行の階調値離散性に基づいて確定される。具体的には、サブステップ314は、バウンディングボックス110内の各画素行の階調値の離散性を計算することと、各画素行の階調値の離散性が基本的にゼロに等しいか否かを判定することと、1つの画素行の階調値の離散性が基本的にゼロに等しいと判定された場合、その画素行が空白画素行であると判定することとをさらに含むことができる。本明細書では、階調値離散性は、階調値の分散または平均二乗偏差などを含むことができる。しかしながら、当業者であれば、本発明はこれに限定されるものではなく、階調値離散性は、階調値分布の均一度を具現することができる任意の特性値をさらに含むことができることを理解することができる。
【0041】
このような実現形態によれば、背景色を事前に知ることなく、また想定することなく、画素行が空白画素行であるか否かを判断することができ、より適用性が高い。
【0042】
図3に戻ると、サブステップ314において、バウンディングボックス110内の各画素行が空白の画素行であるか否かが確定された後、サブステップ316において、隣接する空白の画素行を組み合わせて、バウンディングボックスの水平方向の各文字間隔行の高さを確定し、すべての文字間隔行の高さの合計とバウンディングボックス110の高さhとの間の行占有率r
rを確定することができる。ここで、
図1に示されているように、文字間隔行101(
図1では1つの文字間隔行101のみが例示的に示されている)とは、バウンディングボックス110内のテキスト段落内の隣接するテキスト行の間の空白の間隔を指し、その文字間隔行101は通常複数の隣接する空白の画素行から構成され、行占有率r
rは、バウンディングボックス110内のテキスト段落内のすべての文字間隔行101の高さの合計(例えば、空白画素行の画素数の合計)と、バウンディングボックス110の高さh(例えば、画素単位の高さ)との間の比である。
【0043】
次に、サブステップ318において、行占有率rrが第3の閾値th3以上であるか否かが判定されることができ、サブステップ318の判定結果が“はい”である場合、すなわち、行占有率rrが第3の閾値th3以上であると判定された場合、サブステップ320において、バウンディングボックス110の文字組版方向が横組みであると判定されることができる。
【0044】
さらに、文字間隔行の高さの合計とバウンディングボックスの高さとの間の行占有率rrを考慮することに加えて、サブステップ318において、各文字間隔行の高さが第4の閾値th4以上であるか否かを判定することもでき、そして、サブステップ318の判定結果が“はい”である場合、すなわち、行占有率rrが第3の閾値th3以上であり、且つ各文字間隔行の高さいずれも第4の閾値th4以上であると判定された場合、サブステップ320において、バウンディングボックス110の文字組版方向が横組みであると判定される。
【0045】
すなわち、横組みの文字に対して、通常、文字間隔行の行占有率と自身の高さが大きいので、この2つの要因による二重検定は、検出の精度をさらに高めることができる。
【0046】
上述した実施例のサブステップ316~320において、バウンディングボックスの文字組版方向は、文字間隔行のサイズおよび行占有率に基づいて確定される。しかしながら、上述したサブステップ316~320は、文字行のサイズおよび行占有率を用いて文字の組版方向を確定することにも等しく置き換えてもいい。具体的には、サブステップ316において、すべての文字間隔行の高さの合計が確定された後、すべての文字間隔行の高さの合計とバウンディングボックス110の高さhとの両方に基づいて、すべての文字行の高さの合計が確定され、すべての文字行の高さの合計とバウンディングボックス110の高さhとの間の行占有率が計算されてもよい。この場合、文字間隔を利用した行占有率とは異なり、サブステップ318において、計算された文字行の行占有率があるの閾値以下であるか否かが判定され、文字行の行占有率がの閾値以下であると判定された場合、バウンディングボックスの文字組版方向が横組みであると判定される。
【0047】
または、他の実施例では、バウンディングボックス110内の文字行の高さの離散性に基づいて、サブステップ316~320と並列に、または追加的に、バウンディングボックスの文字組版方向を確定または検証することができる。具体的には、隣接する文字間隔行の間の文字行の高さは、隣接する文字間隔行の位置に基づいて確定されてもよい、バウンディングボックス110内のすべての文字行の高さの離散性を確定し、全ての文字行の高さの離散性が第5の閾値th5以下であるか否かを判定し、全ての文字行の高さの離散性が第5の閾値th5以下であると判定された場合に、バウンディングボックス110の文字組版方向が横組みであると判定する。
【0048】
さらに、当業者は、バウンディングボックス110内の文字の組版方向を文字の段落の特性に基づいて確定することは、上述した態様の変形または組み合わせをさらに含むことができることを理解することができる。例えば、バウンディングボックス110の文字組版方向は、文字行の高さの離散性と同様に、バウンディングボックス110内のすべての文字間隔行の高さの離散性によって確定または検証されてもよい。また、例えば、バウンディングボックス110の文字組版方向は、文字行の高さのばらつきと文字間隔行の高さのばらつきとの両方によって確定されてもよく、ここでは説明を省略する。
【0049】
一方、サブステップ318での判定結果が“いいえ”である場合、すなわち、行占有率rrが第3の閾値th3よりも小さいと判定された場合には、バウンディングボックス110の文字組版方向が横組みであると判定されることができる。
【0050】
代替的に、または追加的に、バウンディングボックスの文字組版方向は、文字間隔列の幅および列占有率を計算することによって確定されてもよい。具体的に、
図4に示すように、ステップ220は、バウンディングボックス110内の各空白画素列を確定するサブステップ322を含む。ここで、空白画素行と同様に、空白(blank)画素列とは、文字ストロークが出現しない画素列、すなわち背景色の画素列であり、必ずしも白色(white)画素からなるものではない。しかし、新聞や雑誌、書籍の多くでは背景色が白であることが多いため、白を背景色とする判断基準の適用性も大きい。以下に、それぞれ背景色が既知色と未知色の場合の具体的な実現形態を示す。ここで、空白画素列の確定する方法は、上述したサブステップ314における空白画素行を確定する方法と同様である。
【0051】
一実施例では、ピクチャ100の背景色は、基本的に白色であり(
図1に示すように)、サブステップ322は、バウンディングボックス110内の各画素列の平均階調値を算出し、バウンディングボックス110内の各画素列の平均階調値が白色画素の階調値と基本的に等しいか否かを判定し、1つの画素列の平均階調値が白色画素の階調値と基本的に等しい場合に、その画素列が空白画素列であると判定することをさらに含む。ここでも、ピクチャ100がグレースケールピクチャであることが同様に想定され、ピクチャ100がグレースケールピクチャではない場合、サブステップ322の前に、ピクチャ100(またはバウンディングボックス110)をグレースケールピクチャに変換するプロセスも含まれ、ここでは説明を省略する。
【0052】
具体的には、上述したように、白画素と黒画素との間の階調レベルを設定することができる。次に、バウンディングボックス110内の各画素列の全ての画素の階調値を合計し、当該画素列の高さ(すなわち当該画素列の画素数)で除算した平均値を当該画素列の平均階調値とする。
【0053】
1つの画素列の平均階調値が白画素の階調値に基本的に等しい(または非常に近い)場合には、その画素列が空白画素列であると判定され、すなわち、その画素列が文字列の間にあると判定される。
【0054】
以上は、サブステップ322については、
図100の背景色が白色であることを例に説明したが、当業者は、上述したサブステップ322の実行プロセスは、背景色が既知の他の任意の色である場合にも拡張されてもいいと理解するべきである。例えば、識別しようとする多数のピクチャが同じ背景色(例えば黒)を有する場合、上述のサブステップ322の実行プロセスは、各画素列の平均階調値を黒画素の階調値と比較することに等しく置き換えてもよい。
【0055】
さらに、前述のサブステップ322の実行は、前述の画素レベルの分割方式および2つの極値画素(例えば、白および黒)の階調値の設定方式に限定されるものではなく、他の任意の同等の置換方式を採用することもできることを当業者も理解することができる。
【0056】
別の実施例では、空白画素列は、画素列の平均階調値ではなく、画素列の階調値の離散性に基づいて確定される。具体的には、サブステップ322は、バウンディングボックス110内の各画素列の階調値の離散性を計算することと、各画素列の階調値の離散性が基本的にゼロに等しいか否かを判定することと、1つの画素列の階調値の離散性が基本的にゼロに等しいと判定された場合、その画素列が空白画素列であると判定することとをさらに含むことができる。
【0057】
このような実現形態によれば、背景色を事前に知ることなく、また想定することなく、画素列が空白画素列であるか否かを判断することができ、より適用性が高い。
【0058】
図4に戻ると、サブステップ322において、バウンディングボックス110内の各画素列が空白の画素列であるか否かが確定された後、サブステップ324において、隣接する空白の画素列を組み合わせて、バウンディングボックスの垂直方向の各文字間隔列の幅を確定し、すべての文字間隔列の幅の合計とバウンディングボックス110の幅wとの間の列占有率r
cを確定することができる。ここで、
図1に示されているように、文字間隔列102(
図1では1つの文字間隔列102のみが例示的に示されている)とは、バウンディングボックス110内のテキスト段落内の隣接するテキスト列の間の空白の間隔を指し、その文字間隔列102は通常複数の隣接する空白の画素列から構成され、列占有率r
cは、バウンディングボックス110内のテキスト段落内のすべての文字間隔列102の幅の合計(例えば、空白画素列の画素数の合計)と、バウンディングボックス110の幅w(例えば、画素単位の幅)との比である。
【0059】
次に、サブステップ326において、行占有率rcが第6の閾値th6以上であるか否かが判定されることができ、サブステップ326の判定結果が“はい”である場合、すなわち、行占有率rcが第6の閾値th6以上であると判定された場合、バウンディングボックス110の文字組版方向が縦組みであると判定されることができる。
【0060】
また、列占有率rcを考慮することに加えて、サブステップ326において、各文字間隔列の幅が第7の閾値th7以上であるか否かを判定することもでき、そして、サブステップ326の判定結果が“はい”である場合、すなわち、列占有率rcが第6の閾値th6以上であり、かつ、各文字間隔列の幅が第7の閾値th7以上であると判定された場合、サブステップ328において、バウンディングボックス110の文字組版方向が縦組みであると判定される。
【0061】
すなわち、横組みの文字に対して、通常、文字間隔行の列占有率と自身の幅が大きいので、この2つの要因による二重検定は、検出の精度をさらに高めることができる。
【0062】
上述した実施例のサブステップ324~328において、バウンディングボックスの文字組版方向は、文字間隔列のサイズおよび列占有率に基づいて確定される。しかしながら、上述したサブステップ314~328は、文字列のサイズおよび列占有率を用いて文字の組版方向を確定することにも等しく置き換えてもいい。具体的には、サブステップ324において、すべての文字間隔列の幅の合計が確定された後、すべての文字間隔列の幅の合計とバウンディングボックス110の幅wとの両方に基づいて、すべての文字列の幅の合計が確定され、すべての文字列の幅の合計とバウンディングボックス110の幅wとの間の列占有率が計算されてもよい。この場合、文字間隔を利用した列占有率とは異なり、サブステップ326において、計算された文字列の列占有率があるの閾値以下であるか否かが判定され、文字列の列占有率がの閾値以下であると判定された場合、バウンディングボックスの文字組版方向が縦組みであると判定される。
【0063】
または、他の実施例では、バウンディングボックス110内の文字列の幅の離散性に基づいて、サブステップ314~328と並列に、または追加的に、バウンディングボックスの文字組版方向を確定または検証することができる。具体的には、隣接する文字間隔列の間の文字列の幅は、隣接する文字間隔列の位置に基づいて確定されてもよい、バウンディングボックス110内のすべての文字列の幅の離散性を確定し、全ての文字列の幅の離散性が第8の閾値th8以下であるか否かを判定し、全ての文字列の幅の離散性が第8の閾値th8以下であると判定された場合に、バウンディングボックス110の文字組版方向が縦組みであると判定する。
【0064】
さらに、当業者は、バウンディングボックス110内の文字の組版方向を文字の段落の特性に基づいて確定することは、上述した態様の変形または組み合わせをさらに含むことができることを理解することができる。例えば、バウンディングボックス110の文字組版方向は、文字列の幅の離散性と同様に、バウンディングボックス110内のすべての文字間隔列の幅の離散性によって確定または検証されてもよい。また、例えば、バウンディングボックス110の文字組版方向は、文字列の幅のばらつきと文字間隔列の幅のばらつきとの両方によって確定されてもよく、ここでは説明を省略する。
【0065】
なお、
図3ではサブステップ314~328の順序で説明されているが、当業者は、本発明が上記の特定の順序に限定されないことを理解することができることを注意してください。他の実施例では、ステップ220の実行プロセスは、サブステップ314~320のみを含むか、または、サブステップ322~328のみを含むか、または、サブステップ322~328をサブステップ314~320の前に実行することができ、これらは本発明の範囲に影響を与えない。
【0066】
第3の閾値th3、第4の閾値th4、第5の閾値th5、第6の閾値th6、第7の閾値th7、第8の閾値th8、およびその他の閾値も、第1の閾値th1および第2の閾値th2と同様に、経験値または統計値であってもよく、出版物の仕様などの規制に従って予め設定された値であってもよい。
【0067】
しかしながら、ある場合に、これらの閾値を事前に確定することができない可能性がある。このような状況に対して、本発明は、バウンディングボックスの文字の組版方向を確定することができる更なる方法を提供する。
図5は本発明の別の実施例によるバウンディングボックスの文字組版方向を確定するためのステップ220を示す概略図である。
【0068】
図4に示す実施例のサブステップ314および316と同様に、
図5に示す実施例では、サブステップ330および332において、バウンディングボックス110内の各空白画素行およびすべての文字間隔行の行占有率r
rがそれぞれ確定される。
【0069】
図4に示す実施例のサブステップ322および324と同様に、
図5に示す実施例では、サブステップ334および336において、バウンディングボックス110内の各空白画素列およびすべての文字間隔列の列占有率r
cがそれぞれ確定される。
【0070】
図4に示された実施例とは異なり、
図5に示された実施例では、サブステップ338において、列占有率r
cが行占有率r
r以上であるか否かが確定される。
【0071】
サブステップ338の判定結果が”はい”である場合、すなわち、列占有率rcが行占有率rr以上である場合には、サブステップ340において、バウンディングボックス110の文字組版方向が縦組みであると判定される。
【0072】
一方、サブステップ338での判定結果が“いいえ”である場合、すなわち、列占有率rcが行占有率rrより小さい場合には、サブステップ342でバウンディングボックス110の文字組版方向が横組みであると判定される。
【0073】
同様に、
図5に示される実施例は、文字行の行占有率と文字列の列占有率との間の関係を利用して、バウンディングボックスの文字組版方向を確定することにも等しく置き換えられる。具体的には、サブステップ332において、文字間隔行の高さの合計を確定した後、文字間隔行の高さの合計とバウンディングボックスの高さhとに基づいてバウンディングボックス内の文字行の高さの合計を確定し、文字行の高さの合計とバウンディングボックスの高さhとの間の行占有率を計算することができる。サブステップ336において、文字間隔列の幅の合計を確定した後、文字間隔列の幅の合計とバウンディングボックスの幅wとに基づいてバウンディングボックス内の文字列の幅の合計を確定し、文字列の幅の合計とバウンディングボックスの幅wとの間の列占有率を計算することができる。この場合、サブステップ328において、文字行の行占有率が文字列の列占有率以上であるか否かが判定され、文字行の行占有率が文字列の列占有率以上である場合にはバウンディングボックスが横組みであると判定され、文字行の行占有率が文字列の列占有率よりも小さい場合にはバウンディングボックスが縦組みであると判定される。
【0074】
以上では、本発明によるバウンディングボックスの文字組版方向を確定するための異なる実施例を
図3~
図5に結合して説明したが、これらの実施形態は独立して実施されてもよく、いくつかの形態を組み合わせて実施されてもよいことに注意する必要がある。例えば、
図4または
図5に示される方法は、バウンディングボックスの文字の組版方向を確定するために単独で使用されてもよく、またはバウンディングボックスの文字の組版方向を確定するために
図3に示される方法と組み合わせて使用されてもよい。すなわち、
図3はバウンディングボックスのアスペクト比に基づいて予備確定し、アスペクト比に基づいて確定できない場合(
図3のサブステップ310の判定結果が“いいえ”の場合)には、
図4または
図5に示す方法を用いてさらに確定する。
図1に示されるボックス110、120、130、140を例にとると、バウンディングボックス130、140の文字組版方向は、
図3に示される方法に基づいて縦組みであると判断することができ、一方、ボックス110、120については、バウンディングボックス110の文字組版方向は横組みであり、バウンディングボックス120の文字組版方向は縦組みであると、
図4または
図5に示される方法に結合して判断する必要がある。
【0075】
図2に戻ると、バウンディングボックスの文字組版方向がステップ220で確定された後、ステップ230で、バウンディングボックスの文字組版方向に基づいて、バウンディングボックスを、それの文字組版方向に対応する文字認識ネットワークに入力されることによって、その中の文字を認識する。
【0076】
例えば、バウンディングボックス110の文字組版方向は、ステップ220で横組みであることが確定されるので、バウンディングボックス110のスライスは、ステップ230で横組みのOCR(光学文字認識)ネットワークに入力されることによって、その中の文字を認識する。
【0077】
別の例として、バウンディングボックス120、130、140の文字組版方向は、ステップ220において縦組みであることが確定されるため、バウンディングボックス120、130、140のスライスは、ステップ230において縦組みのOCRネットワークにそれぞれ入力されることによって、その中の文字を認識する。
【0078】
上記方案によって、文字段落を含むバウンディングボックスの幾何学的特性(例えば、バウンディングボックスのアスペクト比及び/又は文字段落の特性(例えば、文字特性又は文字間隔特性)に基づいて、混合組版の文字組版方向を確定することにより、単一モデルを使用する場合に比べて認識精度を向上させることができる。また、混合組版の文字組版方向を確定した後も、単一組版文字を用いて訓練した認識モデルに基づいて認識することができ、混合組版された文字を用いて直接訓練することによる計算の複雑さを回避することができる。
【0079】
図6は本発明の実施例を実施するための例示的な装置600の概略ブロック図である。装置600は、例えば、文字認識を行うためのデスクトップ・コンピュータやポータブル・コンピュータなどであってもよい。図示するように、装置600は、読出し専用メモリ(ROM)620に記憶されたコンピュータプログラム命令または記憶ユニット680からランダムアクセスメモリ(RAM)630にロードされたコンピュータプログラム命令に従って、様々な適切な動作および処理を実行することができる1つまたは複数の中央処理ユニット(CPU)610(図中には1つのみが概略的に示されている)を含んでもいい。RAM630には、装置600の操作に必要な様々なプログラムおよびデータも記憶されていてもよい。CPU610、ROM620およびRAM630は、バス640を介して互いに接続されている。入出力(I/O)インターフェース650もバス640に接続されている。
【0080】
装置600内の複数の部品は、I/Oインターフェース650に接続され、例えばキーボード、マウス等の入力ユニット660と、例えば様々なタイプのディスプレイ、スピーカ等の出力ユニット670と、例えば磁気ディスク、光ディスク等の記憶ユニット680と、例えばネットワークカード、モデム、無線通信トランシーバなどの通信ユニット690を含む。通信ユニット690は、装置600がインターネットなどのコンピュータネットワークおよび/または様々な電気通信ネットワークを介して他の装置と情報/データを交換することを可能にする。
【0081】
上述した方法200は、例えば、装置600の処理ユニット610によって実行されてもよい。例えば、いくつかの実施例では、方法200は、例えば記憶ユニット680のような機械可読媒体に物理的に組み込まれたコンピュータソフトウェアプログラムとして実現されてもよい。ある実施例では、コンピュータプログラムの一部または全部がROM620および/または通信ユニット690を介して装置600にロードおよび/またはインストールされることができる。コンピュータプログラムがRAM630にロードされて、CPU610によって実行されると、上述した方法600の1つまたは複数の操作が実行されることができる。さらに、通信ユニット690は、有線または無線の通信機能をサポートすることができる。
【0082】
本発明に従って混載された文字を認識するための方法200および装置600について、添付の図面に結合して説明した。しかしながら、当業者は、装置600が
図6に示されたすべての部品を含む必要はなく、本発明に記載された機能を実行するために必要な部品のうちのいくつかのみを含んでもよく、これらの構成要素の接続方式が図に示された形態に限定されないことを理解することができる。例えば、装置600が例えば携帯電話だどの携帯デバイスである場合、装置600は、
図6とは異なる構成を有してもいい。
【0083】
本発明は、方法、装置、チップ回路、および/またはコンピュータ・プログラム製品として実現することができる。コンピュータプログラム製品は、本発明の様々な態様を実行するためのコンピュータ読み取り可能なプログラム命令を搭載したコンピュータ読み取り可能な記憶媒体を含んでもいい。チップ回路は、本発明の様々な態様を実行するための回路ユニットを含んでもいい。
【0084】
コンピュータ読み取り可能な記憶媒体は、命令実行デバイスによって使用される命令を保持および記憶することができる有形デバイスであってもよい。コンピュータ読み取り可能な記憶媒体は、例えば、電気記憶装置、磁気記憶装置、光学記憶装置、電磁記憶装置、半導体記憶装置、または上述の任意の適切な組み合わせであってもよいが、これらに限定されるものではない。コンピュータ読み取り可能な記憶媒体のより具体的な例(網羅しないリスト)は、ノートブックコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、消去可能プログラマブル読出し専用メモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読出し専用メモリ(CDーROM)、デジタル多機能ディスク(DVD)、メモリスティック、フロッピーディスク、機械的符号化装置、例えば命令が記憶されたパンチカードまたは溝内突起構造、および上記の任意の適切な組み合わせを含む。本願に使用されるコンピュータ読み取り可能な記憶媒体は、電波または自由に伝搬する他の電磁波、導波路または他の伝送媒体を介して伝搬する電磁波(例えば、光ファイバケーブルを介した光パルス)、または電気配線を介して伝送される電気信号などの瞬時信号そのものとは解釈されない。
【0085】
本明細書で説明されるコンピュータ読み取り可能なプログラム命令は、コンピュータ読み取り可能な記憶媒体から各計算/処理装置に、または例えばインターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、および/または無線ネットワークなどのネットワークを介して外部コンピュータまたは外部記憶装置にダウンロードしてもいい。ネットワークは、銅線伝送ケーブル、光ファイバ伝送、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、および/またはエッジサーバを含んでもいい。各計算/処理装置内のネットワークアダプタカードまたはネットワークインターフェースは、各計算/処理装置内のコンピュータ読み取り可能な記憶媒体に記憶するように、ネットワークからコンピュータ読み取り可能なプログラム命令を受信し、そのコンピュータ読み取り可能なプログラム命令を転送する。
【0086】
本発明の操作を実行するためのコンピュータプログラム命令は、アセンブル命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械関連命令、マイクロコード、ファームウェア命令、状態設定データ、または1つ以上のプログラミング言語の任意の組み合わせで書かれたソースコードまたはオブジェクトコードであってもよい、前記プログラミング言語は、Smalltalk、C++などのオブジェクト指向プログラミング言語と、「C」言語または同様のプログラミング言語などの従来の手続き型プログラミング言語とを含む。コンピュータ読み取り可能なプログラム命令は、ユーザコンピュータ上で完全に実行され、ユーザコンピュータ上で部分的に実行され、独立したソフトウェアパッケージとして、部分的にユーザコンピュータ上で実行され、部分的にリモートコンピュータ上で実行され、または完全にリモートコンピュータまたはサーバ上で実行されてもいい。リモートコンピュータに係わる場合、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介してユーザコンピュータに接続することができ、または(例えば、インターネットサービスプロバイダを利用してインターネットを介して接続する)外部コンピュータに接続することができる。いくつかの実施例では、コンピュータ読み取り可能なプログラム命令を実行することができる例えばプログラム可能論理回路、フィールドプログラム可能ゲートアレイ(FPGA)、またはプログラム可能論理アレイ(PLA)などの電子回路を、コンピュータ読み取り可能なプログラム命令の状態情報を利用してカスタマイズすることによって、本発明の様々な態様が実現される。
【0087】
ここで、本発明の様々な態様は、本発明の実施例による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャートおよび/またはブロック図を参照して説明される。フローチャートおよび/またはブロック図の各ブロック、ならびにフローチャートおよび/またはブロック図における各ブロックの組み合わせは、コンピュータ読み取り可能なプログラム命令によって実現されてもよいことが理解されるべきである。
【0088】
これらのコンピュータ読み取り可能なプログラム命令は、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理デバイスの処理ユニットに提供することができ、このようにして、コンピュータまたは他のプログラム可能なデータ処理装置の処理ユニットを介してこれらの命令が実行されると、フローチャートおよび/またはブロック図の1つまたは複数のブロックに規定された機能/動作を実現する装置が生成されるような機械が製造される。これらのコンピュータ読み取り可能なプログラム命令は、コンピュータ読み取り可能な記憶媒体に格納してもよく、これらの命令は、コンピュータ、プログラム可能なデータ処理装置、および/または他のデバイスを特定の方法で動作させ、したがって、命令を記憶するコンピュータ読み取り可能な媒体は、フローチャートおよび/またはブロック図の1つまたは複数のブロックに規定された機能/動作の様々な態様を実現する命令を含む製造品を備える。
【0089】
コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイス上で実行される命令が、フローチャートおよび/またはブロック図の1つまたは複数のブロックに規定された機能/動作を実行するように、コンピュータ実現プロセスを生成するために、一連の操作ステップをコンピュータ、他のプログラム可能なデータ処理装置、または他のデバイス上で実行されるように、コンピュータ読み取り可能なプログラム命令は、コンピュータ、他のプログラム可能なデータ処理デバイス、または他のデバイス上にロードされてもよい。
【0090】
図面中のフローチャートおよびブロック図は、本発明の複数の実施例によるシステム、方法、およびコンピュータ・プログラム製品の実現可能なのアーキテクチャ、機能、および操作を示している。この点において、フローチャートまたはブロック図中の各ブロックは、所定の論理機能を実現するための1つまたは複数の実行可能な命令を含む一つのモジュール、セグメント、または命令の一部を表してもよい。いくつかの代替実現では、ブロックに記載された機能は、添付の図面に記載された順序とは異なる順序で発生してもいい。例えば、2つの連続したブロックは、実際には基本的に並列に実行されてもよく、場合によっては、係わる機能に応じて逆の順序で実行されてもよい。ブロック図および/またはフローチャート中の各ブロック、ならびにブロック図および/またはフローチャート中のブロックの組み合わせは、規定の機能または動作を実行する専用ハードウェアベースのシステムによって実現されてもよく、または専用ハードウェアとコンピュータ命令との組み合わせによって実現されてもよいことにも注意してください。
【0091】
本発明のいくつかの実施例によれば、ピクチャから文字の段落を含む1つまたは複数のバウンディングボックスを検出することと、バウンディングボックス毎の幾何学的特性に基づいて、横組みおよび縦組みを含む前記バウンディングボックスの文字組版方向を確定することと、前記バウンディングボックスの文字組版方向に基づいて、前記ウンディングボックスを前記文字組版方向に対応する文字認識ネットワークに入力することによって、前記バウンディングボックス内の文字を認識することと、を含む混合組版された文字を認識するための方法を提供する。
【0092】
本発明のいくつかの実施例によれば、ピクチャから文字の段落を含む1つまたは複数のバウンディングボックスを検出することは、前記ピクチャを文字検出ニューラルネットワークに入力することによって、前記ピクチャ内の文字応答領域を取得することと、前記文字応答領域に対して平滑化処理、二値化処理、および近傍連結処理を実行することによって、最小バウンディングボックスを得ることと、前記ピクチャのレイアウト解析を行い、レイアウト解析の結果に応じて、前記最小バウンディングボックスに基づいて前記バウンディングボックスを生成することと、を含む。
【0093】
本発明のいくつかの実施例によれば、前記バウンディングボックスの文字組版方向を確定することは、前記ピクチャから前記バウンディングボックスの領域を切り出すことと、前記バウンディングボックスのアスペクト比を計算することと、前記アスペクト比が第1の閾値以下であるか否かを判定することと、前記アスペクト比が前記第1の閾値以下であるとの判定に応じて、前記バウンディングボックスの文字組版方向が横組みであると判定することと、を含む。 本発明のいくつかの実施例によれば、前記バウンディングボックスの文字組版方向を確定することは、前記アスペクト比が前記第1の閾値よりも大きいという判定に応じて、前記アスペクト比が前記第1の閾値よりも大きい第2の閾値以上であるか否かを判定することと、前記アスペクト比が前記第2の閾値以上であるという判定に応じて、前記バウンディングボックスの文字組版方向が縦組みであると判定することとをさらに含む。
【0094】
本発明のいくつかの実施例によれば、前記バウンディングボックスの文字組版方向を確定することは、前記バウンディングボックス内の各空白画素行を確定することと、前記バウンディングボックス内の前記空白画素行によって前記バウンディングボックスの文字組版方向を確定することとを含む。
【0095】
本発明のいくつかの実施例によれば、前記バウンディングボックス内の前記空白画素行によって前記バウンディングボックスの文字組版方向を確定することは、隣接する空白画素行を組み合わせることによって、前記バウンディングボックスの水平方向の各文字間隔行の高さを確定することと、前記各文字間隔行の高さに応じて前記バウンディングボックスの文字組版方向を確定することとを含む。
【0096】
本発明のいくつかの実施例によれば、前記各文字間隔行の高さによって前記バウンディングボックスの文字組版方向を確定することは、すべての文字間隔行の高さの合計と前記バウンディングボックスの高さとの間の行占有率を確定することと、すべての文字間隔行の高さの合計と前記バウンディングボックスの高さとの間の行占有率が第3の閾値以上であるか否かを判定することと、前記行占有率が前記第3の閾値以上であるとの判定に応答して、前記バウンディングボックスの文字組版方向が横組みであると判定することとを含む。
【0097】
本発明のいくつかの実施例によれば、前記バウンディングボックスの文字組版方向を前記各文字間隔行の高さによって確定することは、隣接する文字間隔行の位置に基づいて隣接する前記文字間隔行間の文字行の高さを確定することと、前記バウンディングボックス内のすべての文字行の高さの離散性を確定することと、すべての文字行の高さの離散性が第5の閾値以下であるか否かを判定することと、全ての文字行の高さの離散性が前記第5の閾値以下であるとの判定に応答して、前記バウンディングボックスの文字組版方向が横組みであると判定することとを含む。
【0098】
本発明のいくつかの実施例によれば、前記バウンディングボックス内の各空白画素行を確定することは、前記バウンディングボックス内の各画素行の平均階調値を計算することと、前記バウンディングボックス内の各画素行の平均階調値が白色画素の階調値に基本的に等しいか否かを判定することと、前記画素行の平均階調値が白色画素の階調値と基本的に等しいことに応答して、前記画素行が空白画素行であると確定することと、を含む。
【0099】
本発明のいくつかの実施例によれば、前記バウンディングボックス内の各空白画素行を確定することは、前記バウンディングボックス内の各画素行の階調値離散性を計算することと、前記バウンディングボックス内の各画素行の階調値離散性が基本的にゼロであるか否かを判定することと、前記画素行の階調値離散性が基本的にゼロであるという判定に応答して、前記画素行が空白画素行であると確定することと、を含む。
【0100】
本発明のいくつかの実施例によれば、すべての文字間隔行の高さの合計と前記バウンディングボックスの高さとの間の行占有率が第3の閾値以上であるか否かを判定することは、各文字間隔行の高さが第4の閾値以上であるか否かを判定することをさらに含み、且つ前記バウンディングボックスの文字組版方向が横組みであると確定することは、各文字間隔行の高さがいずれも前記第4の閾値以上であると判定することに応じて、前記バウンディングボックスの文字組版方向が横組みであると確定することをさらに含む。
【0101】
本発明のいくつかの実施例によれば、前記バウンディングボックスの文字組版方向を確定することは、前記バウンディングボックス内の各空白画素列を確定することと、前記バウンディングボックス内の前記空白画素列によって前記バウンディングボックスの文字組版方向を確定することとを含む。
【0102】
本発明のいくつかの実施例によれば、前記バウンディングボックス内の前記空白画素列によって前記バウンディングボックスの文字組版方向を確定することは、隣接する空白画素列を組み合わせることによって、前記バウンディングボックスの垂直方向の各文字間隔列の幅を確定することと、前記各文字間隔列の幅に応じて前記バウンディングボックスの文字組版方向を確定することとを含む。
【0103】
本発明のいくつかの実施例によれば、前記各文字間隔列の幅によって前記バウンディングボックスの文字組版方向を確定することは、すべての文字間隔列の幅の合計と前記バウンディングボックスの幅との間の列占有率を確定することと、すべての文字間隔列の幅の合計と前記バウンディングボックスの幅との間の列占有率が第6の閾値以上であるか否かを判定することと、全ての文字間隔列の幅の合計と前記バウンディングボックスの幅との間の列占有率が前記第6の閾値以上であるとの判定に応答して、前記バウンディングボックスの文字組版方向が縦組みであると判定することとを含む。
【0104】
本発明のいくつかの実施例によれば、前記バウンディングボックスの文字組版方向を前記各文字間隔列の幅によって確定することは、隣接する文字間隔列の位置に基づいて隣接する前記文字間隔列間の文字列の幅を確定することと、前記バウンディングボックス内のすべての文字列の幅の離散性を確定することと、すべての文字列の幅の離散性が第8の閾値以下であるか否かを判定することと、全ての文字列の幅の離散性が前記第8の閾値以下であるとの判定に応答して、前記バウンディングボックスの文字組版方向が縦組みであると判定することとを含む。
【0105】
本発明のいくつかの実施例によれば、前記最小バウンディングボックス内の各空白画素列を確定することは、前記バウンディングボックス内の各画素列の平均階調値を計算することと、前記バウンディングボックス内の各画素列の平均階調値が白色画素の画素値に基本的に等しいか否かを判定することと、前記画素列の平均階調値が白色画素の画素値と基本的に等しいことに応答して、前記画素列が空白画素列であると判定することと、を含む。
【0106】
本発明のいくつかの実施例によれば、前記バウンディングボックス内の各空白画素列を確定することは、前記バウンディングボックス内の各画素列の階調値離散性を計算することと、前記バウンディングボックス内の各画素列の階調値離散性が基本的にゼロであるか否かを判定することと、前記画素列の階調値離散性が基本的にゼロであるという判定に応答して、前記画素列が空白画素列であると判定することと、を含む。
【0107】
本発明のいくつかの実施例によれば、前記列占有率が第6の閾値以上であるか否かを判定することは、各文字間隔列の幅が第7の閾値以上であるか否かを判定することをさらに含み、且つ、前記バウンディングボックスの文字組版方向が縦組みであることを判定することは、各文字間隔列の幅がいずれも前記第7の閾値以上であると判定されたことに応じて、前記バウンディングボックスの文字組版方向が縦組みであると判定することをさらに含む。
【0108】
本発明のいくつかの実施例によれば、前記バウンディングボックスの文字組版方向を確定することは、前記バウンディングボックス内の各空白画素行を確定することと、隣接する空白画素行を組み合わせることによって、前記バウンディングボックスの水平方向の各文字間隔行の高さを確定し、且つすべての文字間隔行の高さの合計と前記バウンディングボックスの高さとの間の行占有率を確定することと、前記バウンディングボックス内の各空白画素列を確定することと、隣接する空白画素列を組み合わせることによって、前記バウンディングボックスの垂直方向の各文字間隔列の幅を確定し、且つ全ての文字間隔列の幅の合計と前記バウンディングボックスの幅との間の列占有率を確定することと、全ての文字間隔列の幅の合計と前記バウンディングボックスの幅との間の列占有率が全ての文字間隔行の高さの合計と前記バウンディングボックスの高さとの間の行占有率以上であるか否かを判定することと、全ての文字間隔列の幅の合計と前記バウンディングボックスの幅との間の列占有率が全ての文字間隔行の高さの合計と前記バウンディングボックスの高さとの間の行占有率以上であるという判定に応答して、前記バウンディングボックスの文字組版方向が縦組みであると判定することと、全ての文字間隔列の幅の合計と前記バウンディングボックスの幅との間の列占有率が、全ての文字間隔行の高さの合計と前記バウンディングボックスの高さとの間の行占有率よりも小さいと判定されたことに応答して、前記バウンディングボックスの文字組版方向が横組みであると判定することを含む。
【0109】
本発明のいくつかの実施例によれば、前記バウンディングボックスの文字組版方向を確定することは、前記バウンディングボックス内の各空白画素行を確定することと、隣接する空白画素行を組み合わせることによって、前記バウンディングボックスの水平方向の各文字間隔行の高さを確定し、全ての文字間隔行の高さの合計を確定し、全ての文字間隔行の高さの合計と前記バウンディングボックスの高さとに基づいて全ての文字行の高さの合計を確定し、全ての文字行の高さの合計と前記バウンディングボックスの高さとの間の行占有率を確定することと、前記バウンディングボックス内の各空白画素列を確定することと、隣接する空白画素列を組み合わせることによって、前記バウンディングボックスの垂直方向の各文字間隔列の幅を確定し、全ての文字間隔列の幅の合計を確定し、全ての文字間隔列の幅の合計と前記バウンディングボックスの幅とに基づいて全ての文字列の幅の合計を確定し、且つ全ての文字列の高さの合計と前記バウンディングボックスの幅との間の列占有率を確定することと、全ての文字行の高さの合計と前記バウンディングボックスの高さとの間の行占有率が、全ての文字列の高さの合計と前記バウンディングボックスの幅との間の列占有率以上であるか否かを判定することと、全ての文字行の高さの合計と前記バウンディングボックスの高さとの間の行占有率が、全ての文字列の高さの合計と前記バウンディングボックスの幅との間の列占有率以上であるという判定に応答して、前記バウンディングボックスの文字組版方向が横組みであると確定されることと、全ての文字行の高さの合計と前記バウンディングボックスの高さとの間の行占有率が、全ての文字列の高さの合計と前記バウンディングボックスの幅との間の列占有率よりも小さいとの判定に応答して、前記バウンディングボックスの文字組版方向が縦組みであると判定することを含む。
【0110】
本発明のいくつかの実施例によれば、コンピュータプログラムコードが格納されたメモリと、前記コンピュータプログラムコードを実行することによって、上記方法を実行するように配置されたプロセッサとを含む混合組版された文字を認識する装置を提供する。
【0111】
本発明のいくつかの実施例によれば、実行される時に上記方法を実行するコンピュータプログラムコードが格納されたコンピュータ読み取り可能な記憶媒体を提供する。
【0112】
本発明のいくつかの実施例によれば、電源投入時に上記の方法を実行するように配置された回路ユニットを含むチップ回路を提供する。
【0113】
以上、本発明の各実施例について説明したが、上記の説明は例示的であり、網羅的ではなく、開示された各実施例に限定されるものではない。説明された各実施例の範囲および精神を逸脱することなく、当業者にとって多くの修正および変更は自明である。本明細書で使用される用語の選択は、各実施例の原理、実際の応用、または市場の技術に対する技術的改良を最もよく解釈することと、または本技術分野の他の当業者が本願で開示された各実施例を理解できるようにすることを目的とする。