図1を参照して、この発明の各実施例が適用可能な画像形成装置の一例を必要な範囲で説明する。図1は、複写機能、プリンタ機能、スキャナ機能およびファクシミリ機能などを有する複合機(MFP:Multifunction Peripheral)を図示するが、この発明は、これらの機能を1つ以上備えた任意の画像形成装置に適用できることを予め指摘しておく。
画像形成装置10は、本体12およびその上方に配置される画像読取部14を含む。画像読取部14は、透明材によって形成される原稿載置台16を備える。原稿載置台16の上方には、ヒンジ等を介して原稿押えカバー18が開閉自在に取り付けられる。この原稿押えカバー18には、原稿載置トレイ20に載置された原稿Gを、画像読取ガラスを配置した原稿読取位置P1に対して1枚ずつ自動的に給紙するADF(原稿送り装置)22が設けられる。また、原稿載置台16の前面側には、ユーザによる入力操作を受け付けるタッチパネルおよび操作ボタン等の操作部(図示せず)が設けられる。
画像読取部14には、たとえば主走査方向(図1の紙面に直交する方向)に配列された複数のLEDを含み、副走査方向(図1の紙面に平行な方向)に移動可能な光源ユニット24、光源ユニット24の移動速度の1/2の移動速度で、副走査方向に移動可能なミラーユニット26および結像レンズおよびラインセンサ等を備える撮像部28が設けられる。
この画像読取部14は、スキャナ部を形成し、原稿表面を光源ユニット24によって露光し、原稿表面から反射した反射光をミラーユニット26によって撮像部28の結像レンズ(図示せず)に導く。そして、結像レンズによって反射光をラインセンサ(図示せず)の受光素子に結像させる。ラインセンサでは、受光素子に結像した反射光の輝度や色度が検出され、原稿表面の画像に基づく画像データが生成される。ラインセンサとしては、CCD(Charge Coupled Device)やCIS(Contact Image Sensor)等を用いる。
本体12には、制御部30および画像形成部32が設けられる。制御部30は、必要な電子回路たとえばコンピュータ(プロセサ、CPU)、ASICおよびメモリ等を備え、タッチパネル等の操作部への入力操作などに応じて、画像形成装置10の各部位に制御信号を送信し、画像形成装置10に種々の動作を実行させる。ただし、後に説明する実施例では、前処理部52やカバー画像処理部54(いずれも図4)などはASICで構成される。
画像形成部32は、よく知られているように、各色、たとえばブラック(K)、シアン(C)、マゼンタ(M)およびイエロー(Y)のプロセスユニット34、中間転写ベルト36、転写ローラ38および定着器40を含む。プロセスユニット34は、露光ユニット42によって露光される感光体ドラム44、感光体ドラム44上の静電潜像を現像する現像器46などを含む。
画像形成部32では、給紙カセット48または手差し給紙カセット50から搬送される用紙(記録紙)上にプロセスユニット34および転写ローラ38で画像を形成し、画像形成済みの用紙を排出トレイ(図示せず)に排出する。用紙上に画像を形成するための画像データとしては、スキャナ部ないし画像読取部14で読み取った画像データや、外部コンピュータから送信された画像データ等が利用される。必要に応じて、後述する書籍カバーの各部分画像データに従ってカバー画像を印刷することも可能である。
この実施例の画像形成装置10の制御部30は、たとえば図2または図3に示す書籍カバーCVRをスキャナ部14でスキャンしてその画像(カバー画像)を読み取り、そのカバー画像を、この書籍カバーCVRの各部分(表表紙、裏表紙、背表紙、袖)に区分して、それぞれの部分画像を取り出す。
<第1実施例>
図2に示す書籍カバーCVRは、縦書き書籍(書籍本文において文章を上から下へ縦に書く書籍)のものであり、この縦書き用書籍カバーCVRでは、背表紙(spine)SPを挟んで左側が表表紙(front cover)FCとなり、右側が裏表紙(back cover)BCとなる。表表紙FCおよび裏表紙BCの端部は折り返されて袖(flap)FLとなる。一般に、裏表紙BCには、たとえばバーコードのような識別コードIC、ISBNコードのような分類コードCCおよび価格表示PRが設けられている。
図3に示す書籍カバーCVRは、横書き書籍(書籍本文において文章を左から右へ横に書く書籍)のものであり、この横書き用書籍カバーCVRでは、背表紙SPを挟んで右側が表表紙FCとなり、左側が裏表紙BCとなる。識別コードIC、分類コードCCおよび価格表示PRは、図2の場合と同様に、裏表紙BCに設けられている。
図2の書籍カバーおよび図3の書籍カバーは、いずれも、横方向が長辺(第1辺)であり、その長辺に交差(直交)する縦方向が短辺(第2辺)として形成されている。
図2のような書籍カバーCVRを図1に示す原稿載置台16の上に置き、原稿読取部すなわちスキャナ部14を動作させると、図4に示すように、そのスキャナ部14からカバー画像が、RGBアナログ信号として、出力される。ただし、以下の記述においては、特に必要な場合を除き、「RGB」の語は省略する。
このカバー画像のアナログ信号は、前処理部52に入力される。前処理部52は、いずれも図示しないが、A/D変換部、シェーディング補正部、階調変換処理部などを含む。A/D変換部は、スキャナ部14から入力されるカバー画像のアナログ信号を画像データ(カバー画像ディジタル信号)に変換する。カバー画像データは、シェーディング補正部よって、スキャナ部14の照明系、結像系および撮像系で生じる歪みを取り除いた後、RGBのそれぞれに対して、階調変換処理部によってγ補正処理などの階調変換処理を施されて、カバー画像データとして出力される。カバー画像データは、一例としてASICで構成される、カバー画像処理部54に入力される。
カバー画像処理部54は、表紙分割部56および表紙判定部58を含む。表紙分割部56は、後に詳細に説明するように、カバー画像データを、左表紙、右表紙、背表紙および袖の各部分画像データに分割する。表紙判定部58は、図2のような縦書きの書籍カバーか図3のような横書きの書籍カバーかを判定して、データ出力部60から、表表紙、裏表紙、背表紙および袖のそれぞれの部分画像データを出力させる。
ここで、図5および図6を参照して、表紙分割部56を詳細に説明する。図5にはこの表紙分割部56の機能ブロック図が示されていて、図6はその動作を示すフロー図が示されている。
表紙分割部56は、カバー画像から文字領域を検出する文字領域検出部64、検出した文字領域の位置情報を利用してカバー画像における非文字領域(文字が存在しない領域)を検出する非文字領域検出部66、文字領域検出部64で検出した文字領域および非文字領域検出部66が検出した非文字領域に基づいて、カバー画像を分割すべき位置(分割位置)を決定する分割位置決定部68および分割位置決定部68で決定した分割位置で区分された左表紙画像、右表紙画像、背表紙画像および袖画像データを出力する画像分割部70を備える。
図6を参照して、最初のステップS1で、表紙分割部56は、前処理部52(図4)カバー画像データを取得する。そして、ステップS3において、文字領域検出部64によって、カバー画像データに基づいて、そのカバー画像内の文字の領域を検出する。
文字領域を検出するためには任意の方法が採用されてよいが、この第1実施例では、一例として、本件出願人の出願に係る特開2010−146185に開示されている方法を用いる。
詳しく説明すると、まず、カバー画像データにおける副走査方向に延伸する最初のラインに含まれる各画素が黒画素であるか否かを画素毎に判断し、黒画素であると判断した画素に所定のラベルを割り付ける。その後、ラベル付けを行った上記のラインに対して主走査方向に隣接するラインについて、当該ラインに含まれる各画素が黒画素であるか否かを画素毎に判断し、黒画素であると判断した画素にラベル付け済みの上記ラインで用いたラベルとは異なるラベルを割り付ける。そして、黒画素であると判断した各画素について、当該画素に対して隣接するラベル付け済みの上記ラインの画素が黒文字であるかを判断し、黒文字であると判断した場合には、黒画素が連結していると判断し、当該画素のラベルを隣接するラベル付け済みの上記ラインの画素と同じラベル(1つ上のラインのラベルと同じラベル)に変更する。その後、上記の処理を主走査方向に並ぶ各ラインについて繰り返し、同じラベルが付された画素を抽出することにより、文字の抽出を行う。
たとえば、図2に示す書籍カバーCVRのカバー画像データが入力されたものと仮定する。この場合、ステップS3での文字領域の検出を終えた段階では、図7(A)において四角形で囲った領域が文字領域として検出される。そして、文字領域検出部64は、検出した文字領域の情報(位置など)を文字領域信号として、非文字領域検出部66へ送る。
非文字領域検出部66では、ステップS5に示すように、文字領域信号すなわち文字領域の位置情報などを使って、カバー画像において縦方向に文字領域が存在しない領域(非文字領域)を求める。カバー画像において縦方向に文字領域が存在しない領域とは、図7(B)において網掛けした領域C2、C4、C6、C8およびC10のように、カバー画像の縦方向(短辺(第2辺)方向)の上端(一方端)から下端(他方端)に至るまで、文字領域が存在しない場所(文字の外接矩形間の領域)である。つまり、この非文字領域検出部66では、カバー画像の横方向(第1辺方向)において各画素が文字領域に含まれているかどうか、縦方向(第2辺方向)の上端から下端まで判定することによって、非文字領域を検出することができる。ただし、カバー画像の左右の両端に接する領域は分割位置にはなり得ないため対象としない。求めた縦方向に文字が存在しない領域の情報を非文字位置信号として分割位置決定部68へ送る。
分割位置決定部68では、ステップS7‐S19を実行して、背表紙、左右の表紙を分割する位置を決定し、その位置を分割位置信号として、表紙分割部56へ送信する。
まず、ステップS7‐S11において、背表紙の分割位置を求める。ここで、図7(B)に示す破線72がカバー画像の横方向(長辺ないし第1辺方向)の中心を示す中心線であるとする。
そして、ステップS7では、このカバー画像の横方向の中心線72に最も近い文字のある領域(ここでは、図7(B)で示す「C5」)を求める。
発明者等が実験において数多くの書籍を測定した結果、背表紙の文字の幅と背表紙の幅との間に図8のような関係があることがわかった。そこで、まず、数1を用いて、背表紙SP(図2)の幅を計算する。
[数1]
背表紙の幅=0.92×背表紙の文字の幅+9.33
そして、ステップS9において、数1に従って推定した背表紙SPの幅とC5の幅から、背表紙SPの文字の両側にある余白の幅dを、数2で計算する。
先に数1で計算した背表紙の幅は、中心線72に最も近い文字(C5)の幅に定数A(第1実施例では、図8のグラフの勾配を示す「0.92」)を掛け、さらに定数B(第1実施例では、図8のグラフの初期値を示す「9.33」)を足した値である。ただし、数1での定数Bの単位は「mm」である。したがって、背表紙の幅は、その背表紙に表示されている文字の幅(C5)より大きくなる。そこで、数2では、計算によって推定した背表紙の幅から文字幅を引き、それを2等分して、背表紙の文字幅の両側の余白dを計算する。
[数2]
d=(背表紙の幅−背表紙の文字の幅)÷2
そして、分割位置決定部68は、ステップS11で、文字領域C5の両側に余白dを足した位置を背表紙の分割位置として決定する。ただし、数2によるdの計算結果が所定の長さpmm以下(例えばp=1)以下の場合は、d=pmm(pmm相当の画素数)とする。
次に、同じく分割位置決定部68が、ステップS13およびS15において、カバー画像の縦の画素数と解像度(単位長当たりの画素数)からカバー画像の縦の長さを求める。書籍の各判型のサイズ(短辺×長辺)を示す図9の表より、カバー画像の縦の長さに最も近い長辺寸法を有する判型を調べ、ステップS11で定めた背表紙の分割位置から、その判型のもう一方の辺の長さ(短辺寸法)に相当する画素数だけずれた位置、すなわち背表紙の分割位置からその書籍の判型の短辺長さだけ離れた位置を左右の表紙と袖の分割位置とする。
たとえば、縦長に置かれた場合の新書判とB6判のように、縦の長さ(図9の表での長辺の長さ)が同じ(もしくは、類似している)場合には、背表紙から横の長さ(図9の表での短辺の長さ)に相当する画素数だけずれた位置に文字が存在する領域(ステップS3の文字領域)があるかどうかを調べる。つまり、ステップS17において、背表紙の分割位置に判型の幅(図9の表での短辺の長さ)を足した位置で分割できるかどうか判断する。
このステップS17で“YES”の場合、文字が存在しない領域に相当する判型を選択し、背表紙と袖の分割位置を決定する。
ただし、この袖の分割位置を決めるために、前述の例での新書判とB6判の短辺の長さを所定の倍率(例えば、1.5倍)で拡大した長さと、背表紙の分割位置から表紙と袖を含む長さに近い方を選択し、選択した判型の横の長さ分の画素数だけ背表紙の分割位置からずれた位置を左右の表紙と袖の分割位置とするようにしてもよい。
なお、図9に示す判型ごとのサイズを示す表は、たとえば数1や数2のような必要な設定データとともに、図示しないメモリ内に、アクセス可能に、予め記憶されているものとする。
図5の分割位置決定部68すなわち図6のステップS19から、これらの分割位置を表す分割位置信号が画像分割部70に与えられる。
画像分割部70では、ステップS21において、図7(C)に示すように、分割位置信号に基づいてカバー画像を左表紙画像、右表紙画像、背表紙画像、袖画像に分割する。
なお、候補となるサイズすべてが、背表紙の分割位置からその書籍の判型の短辺長さに相当する画素数だけずれた位置に文字が存在しない(あるいは、すべて文字が存在する)場合には、操作パネル(図示せず)上にユーザへ判型を決定できない(表紙と袖の分割位置を決定できない)ことを報告して判型を選択してもらうようにする(ステップS23)。そして、ステップS25で判型がユーザによって選択されると、先のステップS19に進み、分割位置決定部68が、各分割位置を決定して分割位置信号を画像分割部70に伝える。
この第1実施例では、カバー画像における背表紙の文字位置や判型から分割位置を推測するため、書籍の紙厚、カバーの厚み、袖の長さの左右差に影響されることなく、分割位置を正しくかつ確実に決定することができる。
この表紙分割部56で分割された各部分画像は、図4に示すように、記憶部62に一旦記憶される。ただし、左右の表紙画像は、図4の表紙判定部58にも与えられる。
ここで、図10を参照して、表紙判定部58を詳細に説明する。図10にはこの表紙判定部58の機能ブロック図が示されている。
表紙判定部58は、ここで処理したカバー画像が図2に示す縦書き用の書籍カバーのものか、図3に示す横書き用の書籍カバーのものかを判別し、カバー画像の左右どちらに表表紙、裏表紙があるかを示す表紙判定信号を送信する。
第1実施例においては、表紙判定部58は、カバー画像の内の左右の表紙画像のどちらかに含まれる可視情報の1つである識別コードIC(図2、図3)の位置を検出する識別コード認識部74と、その識別コード認識部74からの識別コード位置判定信号に応じて表紙判定信号を出力する表紙判定信号生成部76を含む。以下に、この表紙判定部58を含むカバー画像処理の動作を示す図11のフロー図とともに、表紙判定部58の動作を説明する。
図2に示す縦書き用の書籍カバーにおいても図3に示す横書き用の書籍カバーにおいても、バーコードのような識別コードICは、ともに裏表紙BCに表示される。したがって、識別コード認識部74によって識別コードICが、左表紙画像に含まれているのか、右表紙画像に含まれているのかを判別することによって、現在処理しているカバー画像が図2に示す縦書き用の書籍カバーのものか、図3に示す横書き用の書籍カバーのものかを判別することができる。
なお、図11の最初のステップS31は、図5の表紙分割部56が図6のフロー図に従ってカバー画像を各部分画像に分割することを示し、ステップS33で、識別コード認識部74が、その分割処理された左表紙画像および右表紙画像のそれぞれのデータを受け取って、識別コードを検出ないし識別する。
ステップS33において、識別コード認識部74がバーコードを認識するためには、任意の方法が用いられ得るが、この第1実施例では、たとえば、特開平8‐96059号公報に記載の方法を用いることができる。この方法では、認識対象となる画像全体に縦方向と横方法に微分処理を施し、それぞれの微分後の画像全体に膨張処理を行い、その後に縮小処理を施すことにより、残った領域が検出対象となるバーコード領域の大きさに対して、一定の割合の範囲に収まっている領域をバーコード領域として認識する。
識別コード認識部74において、このようにしてバーコードすなわち識別コードICを認識できた場合は、ステップS35において“YES”となり、続くステップS37において、識別コード認識部74は、識別コードICの位置がカバー画像の中心線72(図7(B))から左にあるか右にあるかを判定する。右側にあると判定した場合は、現在処理中のカバー画像が横書き用の書籍カバー(図3)であるので、識別コード位置判定信号として「右」を表紙判定信号生成部76へ送る。識別コードICが左側にあると判定した場合は、現在処理中のカバー画像が縦書き用の書籍カバー(図2)であるので、識別コード位置判定信号として、「左」を表紙判定信号生成部76へ送る。
「右」の識別コード位置判定信号を受けたとき、カバー画像は縦書きであるので、表紙判定信号生成部76は、データ出力部60(図4)に対して、表表紙画像は左表紙画像である旨の表紙判定信号を与える。つまり、ステップS37で“YES”と判断される。
そのため、データ出力部60は、ステップS39において、記憶部62から読み出した各部分画像データのうち、左側の表紙画像のデータを表表紙画像のデータとして出力し、右側の表紙画像のデータを裏表紙画像のデータとして出力する。ただし、背表紙画像データおよび袖画像データはそのまま出力する。
「左」の識別コード位置判定信号を受けたとき、カバー画像は横書きであるので、表紙判定信号生成部76は、データ出力部60に対して、表表紙画像は右表紙画像である旨の表紙判定信号を与える。つまり、ステップS37で“NO”と判断される。
そのため、データ出力部60は、ステップS41において、記憶部62から読み出した各部分画像データのうち、右側の表紙画像のデータを表表紙画像のデータとして出力し、左側の表紙画像のデータを裏表紙画像のデータとして出力する。ただし、背表紙画像データおよび袖画像データはそのまま出力する。
換言すれば、データ出力部60は、左表紙画像および右表紙画像のうち、識別コードICを検出できた一方を裏表紙画像として出力し、左表紙画像および右表紙画像のうち、識別コードICを検出できなかった他方を表表紙画像として出力する。
データ出力部60は、画像データを出力するときに、画像を所定の順番(たとえば、袖、表表紙、背表紙、裏表紙、袖の順)に並び変えて出力する。あるいは、ユーザの指示により、電子書籍用フォーマット(たとえば、EPUBやXMDF)に整形して出力するようにしてもよい。その場合は、所定のフォーマットに従って、表表紙画像や背表紙画像をタグ付けして(たとえば、表表紙をcoverまたはfront_cover_image、背表紙をspine_cover_image、裏表紙をback_cover_image、袖をflap_imageなど)、出力するようにしてもよい。
ただし、識別コード位置が検出できなかった場合、もしくは、2個以上の識別コード位置が検出された場合は、ステップS43(図11)において、判定不能処理を実行する。たとえば、操作パネル(図示せず)上に表紙の表裏の判定に失敗したことを表示し、ユーザに左右どちらの表紙が表表紙かを入力してもらうようにすればよい。ユーザが右に表表紙があると指定した場合は、識別コード認識部74は、識別コード位置判定信号として「左」を、ユーザが左に表表紙があると指定した場合は識別コード位置判定信号として「右」を示すように表紙判定信号生成部へ送る。
第1実施例では、上述のように袖画像を表側と裏側に区別することはしていないが、区別することも可能である。この場合は、表紙と同じように、表紙分割部で左袖画像、右袖画像に分割し、表紙判定信号に従って、表袖画像、裏袖画像を判別して出力すればよい。データ出力部60から出力するときには、たとえば、表表紙画像、表袖画像、背表紙画像、裏袖画像、裏表紙画像の順番に並び変えて出力する。
ただし、データ出力部60から出力する画像は、すべての部分画像である必要はなく、紙の書籍を電子書籍化する場合であれば、書籍本文の画像データの他、カバー画像としては、少なくとも表表紙の画像があればよい。そのためには、表紙分割部56からは少なくとも右表紙画像および左表画像を出力すればよい。この場合、データ出力部60は、表紙判定部58からの表紙判定信号に応じて、少なくとも表表紙画像のデータを出力する。裏表紙、背表紙、袖の画像データは必要ない場合がある。
さらに、この第1実施例では、表紙分割部56からの出力を一旦記憶部62に記憶し、その後この記憶部62から読み出した左表紙画像を表表紙画像または裏表紙画像として出力し、右表紙画像を裏表紙画像または表表紙画像として、データ出力部60から出力するようにしているが、必ずしも記憶部62を介在させる必要はなく、表紙判定部58からの表紙判定信号によってデータ出力部60を制御して、表紙分割部56からの各部分画像を、表表紙画像、裏表紙画像などとして直接出力するようにすることもできる。
<第2実施例>
第1実施例では、表紙判定部58は、書籍カバーに付されているバーコードのような識別コードICが左表紙画像中にあるのか、右表紙画像中にあるのかを判別して、当該書籍カバーが縦書き用(図2)であるか横書き用(図3)であるかを判定した。
これに対して、第2実施例では、図12に示すように、表紙判定部58は、ISBNコードのような分類コードを認識する分類コード認識部78を含む。この分類コード認識部78は、たとえば図6のステップS3で認識された文字領域の中で、たとえばアルファベットの「ISBN」の文字を認識し、もし「ISBN」の文字が認識できれば、その文字領域が分類コードCC(図2、図3)であると認識する。
分類コード認識部78において、このようにして分類コードCCを認識できた場合は、第1実施例の場合と同様に、図11のステップS37において、分類コード認識部78は、分類コードCCの位置がカバー画像の中心線72(図7(B))から左にあるか右にあるかを判定する。左側にあると判定した場合は、現在処理中のカバー画像が横書き用の書籍カバー(図3)であるので、分類コード位置判定信号として「左」を表紙判定信号生成部76(図12)へ送る。分類コードCCが右側にあると判定した場合は、現在処理中のカバー画像が縦書き用の書籍カバー(図2)であるので、分類コード位置判定信号として、「右」を表紙判定信号生成部76へ送る。
このような分類コード位置判定信号を受けた表紙判定信号生成部76は、先の第1実施例のステップS39またはS41の動作を実行するように、データ出力部60を制御する。つまり、分類コード位置判定信号が「左」を示すとき、ステップS39において、記憶部62から読み出した各部分画像データのうち、右側の表紙画像のデータを表表紙画像のデータとしてデータ出力部60から出力させ、左側の表紙画像のデータを裏表紙画像のデータとして出力させる。また、分類コード位置判定信号が「右」を示すとき、ステップS41において、データ出力部60は、記憶部62から読み出した各部分画像データのうち、左側の表紙画像のデータを表表紙画像のデータとして出力し、右側の表紙画像のデータを裏表紙画像のデータとして出力する。
つまり、データ出力部60は、左表紙画像および右表紙画像のうち、分類コードCCを検出できた一方を裏表紙画像として出力し、左表紙画像および右表紙画像のうち、分類コードCCを検出できなかった他方を表表紙画像として出力する。
<第3実施例>
第1実施例では、表紙判定部58は、識別コードICの位置を判定し、第2実施例では、分類コードCCの位置を判定することによって、そのときの書籍カバーが縦書き用(図2)であるか横書き用(図3)であるかを判定した。
これに対して、第3実施例では、図13に示すように、表紙判定部58は、価格表示PRを認識するための価格表示認識部80を含む。こ価格表示認識部80は、たとえば図6のステップS3で認識された文字領域の中で、たとえば記号「¥」および/または文字「円」などを認識し、もしそれらの記号および/または文字が認識できれば、その文字領域が価格表示PR(図2、図3)であると認識する。
価格表示認識部80において、このようにして価格表示PRを認識できた場合は、第1実施例や第2実施例の場合と同様に、図11のステップS37において、価格表示認識部80は、価格表示PRの位置がカバー画像の中心線72(図7(B))から左にあるか右にあるかを判定する。左側にあると判定した場合は、現在処理中のカバー画像が横書き用の書籍カバー(図3)であるので、価格表示位置判定信号として「左」を表紙判定信号生成部76(図12)へ送る。価格表示PRが右側にあると判定した場合は、現在処理中のカバー画像が縦書き用の書籍カバー(図2)であるので、価格表示位置判定信号として、「右」を表紙判定信号生成部76へ送る。
このような価格表示位置判定信号を受けた表紙判定信号生成部76は、先の第1実施例のステップS39またはS41の動作を実行するように、データ出力部60を制御する。つまり、価格表示位置判定信号が「左」を示すとき、ステップS39において、記憶部62から読み出した各部分画像データのうち、右側の表紙画像のデータを表表紙画像のデータとしてデータ出力部60から出力させ、左側の表紙画像のデータを裏表紙画像のデータとして出力させる。また、分類コード位置判定信号が「右」を示すとき、ステップS41において、記憶部62から読み出した各部分画像データのうち、左側の表紙画像のデータを表表紙画像のデータとしてデータ出力部60から出力させ、右側の表紙画像のデータを裏表紙画像のデータとして出力させる。
そのため、データ出力部60は、左表紙画像および右表紙画像のうち、価格表示PRを検出できた一方を裏表紙画像として出力し、左表紙画像および右表紙画像のうち、価格表示PRを検出できなかった他方を表表紙画像として出力する。
<第4実施例>
第1‐第3実施例では、カバー画像だけを取り扱ったが、第4実施例は、書籍本文も取り扱うので、紙の書籍を電子書籍化する場合に好適する。
図14に示すように、第4実施例のカバー画像処理部54は、スキャナ部14すなわち前処理部52からの画像データを受けるデータ分配部82を備え、このデータ分配部82が、制御部84の制御に従って、カバー画像を表紙分割部56に与え、本文画像を表紙判定部58aに与える。つまり、スキャン画像は、カバー画像だけでなく、書籍本文を読み取った本文画像を含み、第4実施例では、この本文画像に基づいて表紙判定部58aが、カバー画像が縦書き用書籍カバー(図2)のものか横書き用書籍カバー(図3)のものか判定する。
その他の表紙分割部56、データ出力部60および記憶部62は、先の第1実施例における表紙分割部56、データ出力部60および記憶部62(図4)と同様であるので、ここでは重複する説明は省略する。
第4実施例では、図示しないが、画像形成装置10(図1)の操作パネルに、メニューの1つとして、電子書籍化を実行するための「ブックスキャンモード」を選択できるように設定している。そこで、このブックスキャンモードがユーザによって選択されると、図15のステップS51で“YES”となり、ステップS53で、スキャナ部14は、カバースキャンを実行する。
ブックスキャンモードを選択した場合には、カバーの画像データを取得するカバースキャンと書籍本文の画像データを取得する本文スキャンの2段階で行われるものとする。ユーザがブックスキャンモードを選択した後に、図2または図3に示す書籍カバーCVRを原稿送り装置22(図1)にセットするようにユーザに指示する画面を操作パネルに表示し、ユーザが書籍カバーを原稿送り装置にセットしてOKボタン(図示せず)を押すと、書籍カバーの画像を読み取るためのカバースキャンが実行される(ステップS53)。そして、スキャナ部14による書籍カバーのスキャンが終了した後、書籍本文を原稿送り装置22(図1)にセットするようにユーザに指示する画面を操作パネルに表示し、ユーザが書籍本文の必要なページを原稿送り装置にセットしてOKボタン(図示せず)を押すと、書籍本文の画像を読み取るための本文スキャンが実行される(ステップS55)。
制御部84は、カバースキャンまたは本文スキャンが実行されているとき、制御信号を出力してデータ分配部82に与えるので、ステップS53で実行したカバースキャンの結果取得したカバー画像データが、データ分配部82を通して、表紙分割部56に与えられ、またステップS55で実行した本文スキャンの結果取得した本文画像データが、データ分配部82を通して、表紙判定部58aに入力される。ただし、本文画像データは、電子書籍化のために、図示しないメモリに別途記憶されて保存される。
なお、先の第1‐第3実施例においても、図15に示すようにブックスキャンモードを実行した結果としてカバー画像データを取得することは可能である。つまり、第1‐第3実施例も、紙の書籍を電子書籍にすることができる画像形成装置の一部であると考えることもできる。
表紙判定部58aは、データ分配部82から入力される本文画像データに含まれる文字の方向を判別することによって、その書籍が縦書き書籍か、横書き書籍かを判別して、表紙判定信号をデータ出力部60に与える。
表紙判定部58aは、図16に示すように、文字方向判定部86を含む。文字方向判定部86は、先の図5に示す文字領域検出部64(図6のステップS3)と同じようにして、本文画像データに含まれる文字領域を検出する。つまり、文字方向判定部86では、本文画像データを低解像度データに変換した後の画像データに含まれる文字を抽出し、各文字の外接矩形を求め、隣接する外接矩形間の距離を算出する。そして、この隣接する外接矩形間の距離に基づいて画像データの文字が縦書きであるか横書きであるかを判定する。本文が横書きの場合、隣接する外接矩形間の距離は、横方向(本文画像の短辺方向)では小さく、縦方向(本文画像の長辺方向)では大きい。本文が縦書きの場合には、逆に、横方向(本文画像の短辺方向)において隣接する外接矩形間の距離は、縦方向(本文画像の長辺方向)において隣接する外接矩形間の距離に比べて大きい。
文字方向判定部86は、このようにしてステップS57において、隣接する文字の外接矩形間の縦方向と横方向の距離を比較することによって、縦書きの書籍か、横書きの書籍かを判定し、文字方向信号を表紙判定信号生成部76に送る。
文字方向信号が縦書きを示す場合、表紙判定信号生成部76は、データ出力部60(図14)に対して、表表紙画像は左表紙画像である旨の表紙判定信号を与える。つまり、図15のステップS37で“YES”と判断される。文字方向信号が横書きを示す場合、表紙判定信号生成部76は、データ出力部60に対して、表表紙画像は右表紙画像である旨の表紙判定信号を与える。つまり、ステップS37データ“NO”が判断される。
したがって、図5のステップS59すなわち表紙分割部56で分割されている書籍カバーの各部分画像が、先の実施例と同様に、ステップS39またはステップS41において、データ出力部60から出力される。
<第5実施例>
第4実施例では、ブックスキャンモードにおいて、書籍カバーのスキャンと書籍本文の読み取りを分けて行っていたが、自動原稿送り装置22(図1)を使えば同時に読み取ることが可能である。
書籍本文および書籍カバーを同時に読み取ることは可能だが、この場合にカバー画像と本文画像のデータを区別する必要がある。また、書籍には書籍カバーの他に帯が付くことがある。帯については書籍カバーと同様の処理が可能であるが、書籍カバーおよび書籍本文と帯とを同時に読み取った場合は、帯を両者と区別する必要がある。
図17(A)に本文画像を、図17(B)にカバー画像を、図17(C)に帯画像をそれぞれ概略的に示す。書籍の紙のサイズは様々あるが、書籍本文と書籍カバー、帯では、縦と横の比率に差があるため、それを利用してそれぞれを区別する。ここでは、図17に示すように、読み取った画像の高さおよび幅の長さの短い方を短辺と呼び、長い方を長辺と呼ぶことにする。
図18に書籍カバーと書籍本文、帯をまとめて読み取り、自動的に分類するカバー判定部88を示し、図19がそれの動作を示すフロー図である。カバー判定部88は第4実施例で説明したブックスキャンモードにおいてのみ機能し、その他のモードでは処理を行わない。
カバー判定部88は、図18に示すように、スキャナ部14すなわち前処理部52からの画像データを受ける縦横比算出部90およびカバー判定信号生成部92を備える。
縦横比算出部90は、画像データの短辺と長辺の長さを取得し、短辺と長辺の比R(=短辺/長辺)を計算する。計算した値は、縦横比として、カバー判定信号生成部92へ送られる。カバー判定信号生成部92は、縦横比に基づいて、画像データがカバー、書籍本文、帯のいずれのものであるかを判定し、カバー判定信号としてカバー画像処理部54(図4、図14)へ送る。
図19を参照して説明する。この第5実施例では、前述の通り、自動原稿送り装置22を使って、書籍本文、カバー、帯を同時に読み取り、ステップS61で、スキャナ部14すなわち前処理部52から画像データを取得する。ステップS63では、縦横比算出部90が、画像データを1枚取り出し、次のステップS65において、その画像データに基づいて、取り出した画像の幅および高さを調べて短辺および長辺の長さを決め、縦横比R=短辺/長辺を計算する。縦横比Rは、次いで、カバー判定信号生成部92に送られる。
カバー判定信号生成部92は、受け取った縦横比を、ステップS67で、所定の閾値TH1(たとえば、「0.31」)と比較し、縦横比がその閾値TH1より小さい場合すなわちステップS67で“YES”と判断したとき、ステップS69において、そのときの画像データは、帯画像データであると判定し、ステップS77に進む。縦横比が所定の閾値TH1以上ならば、ステップS67で“NO”と判定し、次のステップS71で、別の所定の閾値TH2(たとえば、「0.54」)と比較し、縦横比がその閾値TH2より小さい場合すなわちステップS71で“YES”と判断したとき、ステップS73において、そのときの画像データは、カバー画像データであると判定し、ステップS77に進む。そして、縦横比が閾値TH2以上ならば、ステップS75において、そのときの画像データは本文画像データであると判定し、ステップS77に進む。
ステップS77では、すべての画像データの判定が終了したかどうかを判定する。すべての画像データの判定が終了していない場合は、ステップS63に戻る。一方、すべての画像データの判定が終了すれば、このカバー判定部88の動作が終了する。
このように、第5実施例によれば、入力画像データが帯画像データであるのか、カバー画像データであるのか、本文画像データであるのかをカバー判定部88で判断できるので、スキャナ部14によって帯、書籍カバーおよび書籍本文を同時にスキャンしても、確実にカバー画像のみを取り出すことができる。
なお、このカバー判定部88から出力されるカバー画像データは、図4や図14のカバー画像処理部54に与えられればよい。ただし、すべての画像データをカバー判定信号とともにたとえば図14に示すカバー画像処理部54に与えるようにしてもよい。この場合、カバー判定信号によってデータ分配部82を制御すれば、カバー画像データを表紙分割部56に与え、本文画像データを表紙判定部58aすなわち文字方向判定部86(図16)に与えることができる。
上述の第1実施例‐第5実施例のいずれも、各機能ブロックはASICで構成するものとして説明した。しかしながら、それらはCPU等のプロセッサを用いてソフトウェアによって実現されるものであってもよい。
すなわち、画像処理装置は、各機能を実現する、たとえば図6、図11、図15、図19などのフロー図で示すプログラムの命令を実行するCPU、上記プログラムを格納したROM、上記プログラムを展開するRAM、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えた構成であってもよい。
その意味で、この発明は、上述した機能を実現するソフトウェアである画像処理装置の制御プログラム(画像処理プログラム)や、そのプログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体などにも適用される。
ただし、このような記録媒体(プログラムメディア)としては、コンピュータに備えられるメモリ(たとえばROM、RAM等)であってもよく、あるいは、外部記憶装置としてプログラム読み取り装置が設けられ、該装置に挿入することで読み取り可能なプログラムメディアであってもよい。いずれの場合においても、格納されているプログラムはプロセッサが直接アクセスして実行させる構成であってもよく、あるいは、プログラムをコンピュータのプログラム記憶エリア(RAM等)にダウンロードし、そのプログラムを実行する方式であってもよい。この場合、ダウンロード用のプログラムは予め本体装置に格納されていることが好ましい。
上記記録媒体としては、たとえば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクや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、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。
なお、この発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。なお、通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用のプログラムは予め画像処理装置あるいはコンピュータに格納しておくか、あるいは別な記録媒体からインストールされるものであってもよい。
また、この発明は、たとえば、フラットベッドスキャナ、フィルムスキャナ、デジタルカメラなどの画像入力装置、所定のプログラムがロードされることにより上記画像処理方法など様々な処理が行われるコンピュータ、コンピュータの処理結果を表示するCRTディスプレイ、液晶ディスプレイなどの画像表示装置およびコンピュータの処理結果を紙などに出力するプリンタより構成されるコンピュータシステムによって実現されるものであってもよい。さらには、ネットワークを介してサーバーなどに接続するための通信手段としてのネットワークカードやモデムなどを備えたものであってもよい。
さらに、上述の実施例はいずれも、図1のような画像形成装置10におけるカバー画像処理装置として説明したが、画像形成装置10のような画像形成部32を持たず、スキャナ部からのカバー画像を書籍カバーの各部分画像に分割するだけの画像処理装置であってもよい。
上述の実施例で挙げた具体的な数値等は一例であり、実際の製品に応じて適宜変更することが可能である。