(57)【要約】【課題】  高速に画像の傾きの検出や補正を行なうことができる画像処理装置を提供する。【解決手段】  文書画像に等間隔にドットを打ったものをプリントし、印刷物とする。当該印刷物をスキャナにより読込み、画像データを得る（Ｓ２０１）。複数の傾きのそれぞれに対応する、ドットを検出する複数のフィルタの各々で処理を行ない、一致度を算出する（Ｓ２０３）。一致度が最も高いものを傾き角度とする（Ｓ２０５）。【選択図】        図６
2006222878.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一方向にドットが打たれた印刷物を読取ることにより取得された画像データを入力する入力手段と、
前記ドットが第１の傾き角度で配列されていることを検出する第１のフィルタを用いて、前記入力された画像データを処理する第１の処理手段と、
前記ドットが第２の傾き角度で配列されていることを検出する第２のフィルタを用いて、前記入力された画像データを処理する第２の処理手段と、
前記第１および第２の処理手段により得られた画像データに基づいて、前記画像の傾き角度を検出する検出手段とを備えた、画像処理装置。
【請求項２】
前記第１および第２のフィルタは、少なくとも２つのドットの位置関係が所定の位置関係であるかを判定するためのフィルタである、請求項１に記載の画像処理装置。
【請求項３】
前記検出手段は、
前記第１および第２の処理手段により得られた画像データに基づいて、フィルタが示す傾き角度と画像の傾き角度との一致度を算出する算出手段をさらに備え、
前記算出手段により算出された一致度に基づいて、前記画像の傾き角度を検出する、請求項１または２に記載の画像処理装置。
【請求項４】
前記検出手段により前記画像の傾き角度を検出した後に、より精度の高い傾き角度の検出を行なうことのできるフィルタを用いて前記画像の傾き角度を検出することを特徴とする、請求項１〜３のいずれかに記載の画像処理装置。
【請求項５】
前記第１および第２のフィルタは、少なくとも２方向のドットの位置関係が所定の位置関係であるかを判定するためのフィルタである、請求項１〜４のいずれかに記載の画像処理装置。
【請求項６】
前記検出された傾き角度に基づいて、前記画像の傾きを補正する補正手段をさらに備えた、請求項１〜５のいずれかに記載の画像処理装置。
【請求項７】
前記印刷物は、前記印刷物の方向を検出するためのドットが打たれており、
前記方向を検出するためのドットをフィルタにより検出することで、前記画像の方向を検出することを特徴とする、請求項１〜６のいずれかに記載の画像処理装置。
【請求項８】
前記検出された画像の方向に基づいて、前記画像を回転させる回転手段をさらに備えた、請求項７に記載の画像処理装置。
【請求項９】
前記ドットが第３の傾き角度で配列されていることを検出する第３のフィルタを用いて、前記入力された画像データを処理する第３の処理手段をさらに備え、
前記検出手段は、前記第１から第３のフィルタを用いて、それぞれの傾き一致度を算出し、前記それぞれの傾き一致度に基づいて、前記画像の傾き角度がどのフィルタに近いものであるかを判定することで検出を行なう、請求項１〜８のいずれかに記載の画像処理装置。
【請求項１０】
少なくとも一方向にドットが打たれた印刷物を読取ることにより取得された画像データを入力する入力手段と、
前記入力された画像データから、少なくとも２つのドットの相対的な位置関係を判定する判定手段と、
前記判定手段の判定結果に基づいて、前記画像の傾き角度を整数比で近似する近似手段と、
前記近似された整数比を用いて前記画像の傾きを補正する補正手段とを備えた、画像処理装置。
【請求項１１】
少なくとも一方向にドットが打たれた印刷物を読取ることにより取得された画像データを入力する入力ステップと、
前記ドットが第１の傾き角度で配列されていることを検出する第１のフィルタを用いて、前記入力された画像データを処理する第１の処理ステップと、
前記ドットが第２の傾き角度で配列されていることを検出する第２のフィルタを用いて、前記入力された画像データを処理する第２の処理ステップと、
前記第１および第２の処理ステップにより得られた画像データに基づいて、前記画像の傾き角度を検出する検出ステップとを備えた、画像処理方法。
【請求項１２】
少なくとも一方向にドットが打たれた印刷物を読取ることにより取得された画像データを入力する入力ステップと、
前記入力された画像データから、少なくとも２つのドットの相対的な位置関係を判定する判定ステップと、
前記判定ステップの判定結果に基づいて、前記画像の傾き角度を整数比で近似する近似ステップと、
前記近似された整数比を用いて前記画像の傾きを補正する補正ステップとを備えた、画像処理方法。
【請求項１３】
少なくとも一方向にドットが打たれた印刷物を読取ることにより取得された画像データを入力する入力ステップと、
前記ドットが第１の傾き角度で配列されていることを検出する第１のフィルタを用いて、前記入力された画像データを処理する第１の処理ステップと、
前記ドットが第２の傾き角度で配列されていることを検出する第２のフィルタを用いて、前記入力された画像データを処理する第２の処理ステップと、
前記第１および第２の処理ステップにより得られた画像データに基づいて、前記画像の傾き角度を検出する検出ステップとをコンピュータに実行させる、画像処理プログラム。
【請求項１４】
少なくとも一方向にドットが打たれた印刷物を読取ることにより取得された画像データを入力する入力ステップと、
前記入力された画像データから、少なくとも２つのドットの相対的な位置関係を判定する判定ステップと、
前記判定ステップの判定結果に基づいて、前記画像の傾き角度を整数比で近似する近似ステップと、
前記近似された整数比を用いて前記画像の傾きを補正する補正ステップとをコンピュータに実行させる、画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は画像処理装置、画像処理方法、および画像処理プログラムに関し、特に、画像の傾きの検出や補正を行なうことができる画像処理装置、画像処理方法、および画像処理プログラムに関する。
【背景技術】
【０００２】
ＭＦＰ（Multi Function Peripheral）や、レーザービームプリンタなどに代表される画像形成装置の分野において、文書画像の背景に地紋パターンとしてデータを埋め込む「文書用電子透かし」の技術の開発が行なわれている。
【０００３】
データを地紋パターンとして埋め込んだプリントアウトをスキャナでスキャンし、データを検出するためには、スキャン時の原稿の傾きに対応する必要があった。
【０００４】
このような原稿の傾きへの対処に関する技術として、以下の特許文献１は、電子透かしとして埋め込んだ３種類のドットの関係を基に、傾きを検出する方法を開示している。  また特許文献２は、文書画像用の傾き検出及び補正方法であって、文書画像の複数方向に対する積分値を算出し、その積分値の極値を傾き方向として検出する際、テストする角度を２ステップ（最初は狭く、次に広く）にすることで、高速に傾きを検出する方法を開示している。
【特許文献１】特開２００４−１２８８４５号公報
【特許文献２】特開平３−１４４８６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は高速に傾きの検出や補正を行なうことができる画像処理装置、画像処理方法、および画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するためこの発明のある局面に従うと、画像処理装置は、少なくとも一方向にドットが打たれた印刷物を読取ることにより取得された画像データを入力する入力手段と、ドットが第１の傾き角度で配列されていることを検出する第１のフィルタを用いて、入力された画像データを処理する第１の処理手段と、ドットが第２の傾き角度で配列されていることを検出する第２のフィルタを用いて、入力された画像データを処理する第２の処理手段と、第１および第２の処理手段により得られた画像データに基づいて、画像の傾き角度を検出する検出手段とを備える。
【０００７】
好ましくは第１および第２のフィルタは、少なくとも２つのドットの位置関係が所定の位置関係であるかを判定するためのフィルタである。
【０００８】
好ましくは検出手段は、第１および第２の処理手段により得られた画像データに基づいて、フィルタが示す傾き角度と画像の傾き角度との一致度を算出する算出手段をさらに備え、算出手段により算出された一致度に基づいて、画像の傾き角度を検出する。
【０００９】
好ましくは画像処理装置は、検出手段により画像の傾き角度を検出した後に、より精度の高い傾き角度の検出を行なうことのできるフィルタを用いて画像の傾き角度を検出することを特徴とする。
【００１０】
好ましくは第１および第２のフィルタは、少なくとも２方向のドットの位置関係が所定の位置関係であるかを判定するためのフィルタである。
【００１１】
好ましくは画像処理装置は、検出された傾き角度に基づいて、画像の傾きを補正する補正手段をさらに備える。
【００１２】
好ましくは印刷物は、印刷物の方向を検出するためのドットが打たれており、画像処理装置は、方向を検出するためのドットをフィルタにより検出することで、画像の方向を検出することを特徴とする。
【００１３】
好ましくは画像処理装置は、検出された画像の方向に基づいて、画像を回転させる回転手段をさらに備える。
【００１４】
好ましくは画像処理装置は、ドットが第３の傾き角度で配列されていることを検出する第３のフィルタを用いて、入力された画像データを処理する第３の処理手段をさらに備え、検出手段は、第１から第３のフィルタを用いて、それぞれの傾き一致度を算出し、それぞれの傾き一致度に基づいて、画像の傾き角度がどのフィルタに近いものであるかを判定することで検出を行なう。
【００１５】
この発明の他の局面に従うと画像処理装置は、少なくとも一方向にドットが打たれた印刷物を読取ることにより取得された画像データを入力する入力手段と、入力された画像データから、少なくとも２つのドットの相対的な位置関係を判定する判定手段と、判定手段の判定結果に基づいて、画像の傾き角度を整数比で近似する近似手段と、近似された整数比を用いて画像の傾きを補正する補正手段とを備える。
【００１６】
この発明の他の局面に従うと画像処理方法は、少なくとも一方向にドットが打たれた印刷物を読取ることにより取得された画像データを入力する入力ステップと、ドットが第１の傾き角度で配列されていることを検出する第１のフィルタを用いて、入力された画像データを処理する第１の処理ステップと、ドットが第２の傾き角度で配列されていることを検出する第２のフィルタを用いて、入力された画像データを処理する第２の処理ステップと、第１および第２の処理ステップにより得られた画像データに基づいて、画像の傾き角度を検出する検出ステップとを備える。
【００１７】
この発明の他の局面に従うと画像処理方法は、少なくとも一方向にドットが打たれた印刷物を読取ることにより取得された画像データを入力する入力ステップと、入力された画像データから、少なくとも２つのドットの相対的な位置関係を判定する判定ステップと、判定ステップの判定結果に基づいて、画像の傾き角度を整数比で近似する近似ステップと、近似された整数比を用いて画像の傾きを補正する補正ステップとを備える。
【００１８】
この発明の他の局面に従うと画像処理プログラムは、少なくとも一方向にドットが打たれた印刷物を読取ることにより取得された画像データを入力する入力ステップと、ドットが第１の傾き角度で配列されていることを検出する第１のフィルタを用いて、入力された画像データを処理する第１の処理ステップと、ドットが第２の傾き角度で配列されていることを検出する第２のフィルタを用いて、入力された画像データを処理する第２の処理ステップと、第１および第２の処理ステップにより得られた画像データに基づいて、画像の傾き角度を検出する検出ステップとをコンピュータに実行させる。
【００１９】
この発明の他の局面に従うと画像処理プログラムは、少なくとも一方向にドットが打たれた印刷物を読取ることにより取得された画像データを入力する入力ステップと、入力された画像データから、少なくとも２つのドットの相対的な位置関係を判定する判定ステップと、判定ステップの判定結果に基づいて、画像の傾き角度を整数比で近似する近似ステップと、近似された整数比を用いて画像の傾きを補正する補正ステップとをコンピュータに実行させる。
【発明の効果】
【００２０】
この発明の１つの局面に従うと、少なくとも一方向にドットが打たれた印刷物を読取ることにより取得された画像データを入力し、ドットが所定の傾き角度で配列されていることを検出するフィルタを用いて、入力された画像データを処理し、得られた画像データに基づいて、画像の傾き角度を検出することができるため、高速に傾きの検出を行なうことができる画像処理装置、画像処理方法、および画像処理プログラムを提供することが可能である。
【００２１】
また、この発明の別の局面に従うと、少なくとも一方向にドットが打たれた印刷物を読取ることにより取得された画像データを入力し、少なくとも２つのドットの相対的な位置関係を判定し、その判定結果に基づいて、画像の傾き角度を整数比で近似し、近似された整数比を用いて画像の傾きを補正することができるため、高速に傾きの補正を行なうことができる画像処理装置、画像処理方法、および画像処理プログラムを提供することが可能である。
【発明を実施するための最良の形態】
【００２２】
［第１の実施の形態］
図１は、本発明の第１の実施の形態における画像処理装置の構成を示すブロック図である。
【００２３】
図を参照して画像処理装置は、ＰＣ（パーソナルコンピュータ）３０１と、表示装置として動作するモニタ３０３と、ユーザの入力装置として動作するマウス３０５およびキーボード３０７と、データやプログラムを記憶する外部記憶装置３０９と、画像などを出力するプリンタ３１１と、原稿から画像を読取るスキャナ３１３とから構成される。
【００２４】
ＰＣ３０１内のメモリには、ドット埋め込み処理ソフト３０１ａと、傾き検出／補正処理ソフト３０１ｂとが記録されており、これらソフトウェア（プログラム）に従いコンピュータが動作する。
【００２５】
図２は、図１のＰＣ３０１の内部をより詳細に説明する図である。
【００２６】
図を参照してＰＣ３０１内には、入出力インタフェース４０３と、ＣＰＵおよびメモリ４０５と、記憶装置４０１とが含まれる。
【００２７】
記憶装置４０１内には、ＯＳ（Operating System）４０９と、演算処理部４０７とが含まれている。なお記憶装置４０１の一部は、外部記憶装置としてもよい。
【００２８】
キーボード３０７やマウス３０５からのユーザ指示４２１、およびスキャナ３１３からのスキャン画像４２７は、入出力インタフェース４０３を介して、ＰＣ３０１に入力される。また、ＰＣ３０１から入出力インタフェース４０３を介してモニタ３０３やプリンタ３１１にデータが送られることにより、画像データ表示４２３やプリントアウト４２５が実行される。
【００２９】
この画像処理装置でプリントアウトが行なわれる時には、傾きの検出用のデータとして、１方向（または２方向）に等間隔にドットがプリントされる。スキャナでプリント物の読込みが行なわれる時には、そのドットを元に傾きが検出され、必要に応じて傾きの補正が行なわれる。
【００３０】
図３は、図１の画像処理装置のドット埋め込み処理ソフト３０１ａ、および傾き検出／補正処理ソフト３０１ｂが実行する処理を示すフローチャートである。
【００３１】
図を参照して、ステップＳ１０１で文書画像を作成し、それをプリントアウトする前に、画像データに対して所定のドットを等間隔に打つ。その画像データをプリントアウトすることで、ドットがプリントされた印刷物Ｐが得られる。
【００３２】
ステップＳ１０３で、印刷物Ｐをスキャナ３１３によりスキャンし、そのスキャン画像に基づいて印刷物（およびスキャンにより得られた画像データ）の傾きが検出される。
【００３３】
図４は、画像データに対して埋め込むドットの具体例を示す図である。
【００３４】
図を参照して、ここではドットは横方向に８画素間隔に等間隔に打たれるものとしている。（縦方向には任意の間隔でよいが、ここでは８画素間隔に打つものとしている。）
図５は、図４のドットが埋め込まれた印刷物の具体例を示す図である。
【００３５】
図４のようなドットをプリントアウトすると、例えば６００ｄｐｉのプリンタの場合、ドットは８／６００ｉｎｃｈ（約０．３２ｍｍ）間隔と、小さな間隔でプリントされる。このため、ドットの打たれた箇所は図５のように一見グレー（灰色）に見える。
【００３６】
ドットをプリントする箇所は、この例では図５（Ａ）のように印刷物の全面とするが、図５（Ｂ）のように印刷物の一部分にプリントするだけでもよい。
【００３７】
次に、傾き検出処理（図３のステップＳ１０３）の詳細を説明する。
【００３８】
図６は、傾き検出処理（図３のステップＳ１０３）の詳細を示すフローチャートである。
【００３９】
ステップＳ２０１で、図５に示される印刷物をスキャナ３１３によりスキャンすることで、スキャン画像を得る。ステップＳ２０３で、傾き検知フィルタ処理を行ない、傾き一致度を算出する。ステップＳ２０３の処理は、フィルタの数だけ繰り返し行なわれる。
【００４０】
ステップＳ２０５で、傾き一致度が最も高いフィルタに対応する傾き角度を、その印刷物の傾き角度とする。
【００４１】
図７は、図６のステップＳ２０１で得られたスキャン画像の具体例を示す図である。
【００４２】
ここでは、ドットを埋め込んだときの解像度と同じ６００ｄｐｉでスキャンを行なうものとする。このとき得られたスキャンデータは、真っ白な画素が「２５５」、真っ黒な画素が「０」の数値を有するものとする。
【００４３】
図８〜２０は、図６のステップＳ２０３で用いられる傾き検知フィルタの具体例を示す図である。
【００４４】
ここでは、Ａ１〜Ａ１３の１３種類のフィルタを用いるものとしている。
【００４５】
スキャンデータに対するフィルタ処理では、フィルタの黒で示される画素とグレーで示される画素の計２画素を対象として、最大値で、黒で示される画素を置き換える処理を、順次全画素に対して行なう。次に、フィルタ処理後の各画素値を「２５５」から引いた値（すなわち、どれだけ黒いかを示す値）を全画素分加算し、保存しておく。ここでは、この数値を「傾き一致度」と呼ぶものとする。
【００４６】
このフィルタ処理では、スキャン画像の、フィルタ処理に用いる２画素の位置の双方にドットが存在すると、ドットが黒く残るが、存在しないと白く消えてしまう（背景と同じ色になる）という性質を有する。
【００４７】
従って、フィルタ処理後、画像がどれだけ黒くなったかが、フィルタの２画素の位置間隔にどれだけ類似したドットが存在したかを示すことになる。
【００４８】
この性質を利用し、図８のフィルタＡ１を傾けたことに相当するフィルタを、図９〜図２０（フィルタＡ２〜Ａ１３）のように用意し、それぞれ同様のフィルタ処理を順次行ない、傾き一致度を算出する。
【００４９】
例えば、図７のドットの実際の傾きに近い、図９（フィルタＡ２）のフィルタ処理後の画像を図２１に示し、かなり違った傾きの図２０（フィルタＡ１３）のフィルタ処理後の画像を図２２に示す。
【００５０】
これらから分かるとおり、実際の傾きに近いフィルタで処理を行なった後の画像（図２１）ではドットが残るものの、傾きとは異なったフィルタで処理を行なった後の画像（図２２）では、ドットが消失する。すなわち、フィルタにマッチしたドットが打たれた画像においてはドットが残るが、マッチしていなければドットは消失する。
【００５１】
図２３は、図７の画像にＡ１〜Ａ１３のフィルタ処理を行なった結果を示す図である。
【００５２】
図を参照して、傾き一致度が最も高い（フィルタ処理後にドットが最も多く残った）ものは、Ａ２のフィルタ処理である。この場合のグレー画素の位置（図９参照）は、黒画素に対して、（Ｘ，Ｙ）＝（８，−１）となる（なお、ここでは黒画素を原点とし、右方向をＸの正方向、下方向をＹの正方向としている）。
【００５３】
すなわち、Ｘ方向に８進んだときに、Ｙ方向に−１だけ傾いていたことが分かるので、その比を元に傾きを求めると、ｔａｎ−１（−１／８）＝−７．１３°と算出できる。
【００５４】
なお、図２３で検出できる傾き角度は、プラスマイナス４５°程度の範囲であり、−７．１３°と１７２．８７°の傾き角度の違いを検出することはできず、両者ともに−７．１３°と検出することになる。
【００５５】
［第２の実施の形態］
第２の実施の形態における画像処理装置の構成は、第１の実施の形態におけるそれと同じであるため、ここでの説明を繰返さない。
【００５６】
第２の実施の形態においては、第１の実施の形態よりも更に正確に角度を検出することとしている。第１の実施の形態では、８画素間隔のフィルタ（図８〜図２０）を適応して、傾きを算出することとした。
【００５７】
しかし、図２３から分かるように、傾き検出を行なうことができる角度である「０°」の次は「７．１３°」となっており、比較的粗い間隔で検出しているにすぎない。そこで、第２の実施の形態では、傾き角度を更に正確に検出することとしている。
【００５８】
８画素ごとに等間隔にプリントされたドットは、８画素の整数倍である例えば１６画素ごとにも等間隔にプリントされているという性質を利用する。
【００５９】
図２３では、Ａ２のフィルタについて最も傾き一致度が高く、おおよそ−７．１３°の傾きであると検出できた。そこで、更に正確に検出するために、フィルタＡ２に対応する角度−７．１３°の近傍だけ、１６画素間隔のフィルタを適応して詳細な検出を行なう。
【００６０】
図２４〜２８は、第２の実施の形態において用いられる１６画素間隔のフィルタの具体例を示す図である。
【００６１】
ここでは、用いるフィルタをＢ１〜Ｂ５と呼んでいる。以下、第１の実施の形態で説明した図８〜２０に例示されるフィルタをフィルタＡと総称し、図２４〜２８に例示されるフィルタをフィルタＢと総称する。
【００６２】
図２９は、第２の実施の形態における傾き検出処理（図３のステップＳ１０３）の詳細を示すフローチャートである。
【００６３】
ステップＳ３０１で、印刷物をスキャナ３１３によりスキャンすることで、スキャン画像を得る。ステップＳ３０３で、第１の実施の形態で説明した傾き検知フィルタ処理（ここでは、「傾き検知フィルタ処理（Ａ）」という。）を行ない、傾き一致度を算出する。ステップＳ３０３の処理は、フィルタＡの数だけ繰り返し行なわれる。
【００６４】
ステップＳ３０５で、傾き一致度が最も高いフィルタに対応する傾き角度を、その印刷物の仮の傾き角度とする。
【００６５】
ステップＳ３０７で、図２４〜２８で例示した傾き検知フィルタ処理（ここでは、「傾き検知フィルタ処理（Ｂ）」という。）を行ない、傾き一致度を算出する。ステップＳ３０７の処理は、対応するフィルタＢの数だけ繰り返し行なわれる。
【００６６】
ステップＳ３０９で、傾き一致度が最も高いフィルタに対応する傾き角度を、その印刷物の傾き角度とする。
【００６７】
図３０は、フィルタＡとＢとの対応関係を示す図である。
【００６８】
ここでは、フィルタＡを用いた処理を行なった結果、図２３に示されるようにフィルタＡ２による傾き一致度が最大であり、仮の傾き角度として、−７．１３°が算出された場合を想定している。ここで、その近傍の角度に対応するフィルタＢであるフィルタＢ１〜Ｂ５を用い、その５種類のフィルタのいずれに最も傾き一致度が高くなるか調べることで、傾きをより正確に検出することが出来る。
【００６９】
このように、画素間隔の狭いフィルタ（フィルタＡ）でおおよその角度を検出した後、画素間隔の広いフィルタ（フィルタＢ）でより詳細な角度を検出するという複数ステップを取ることで、トータルの演算処理の回数を減らすことが出来、また角度検出を高速に行なうことができるという効果がある。
【００７０】
また、さらに正確な傾き角度を得る必要がある場合には、フィルタＢのサイズをさらに大きくすればよい。すなわち、フィルタＢのサイズは、プリントされたドットの間隔の整数倍にすればよいが、その倍率を大きくすればよい。
【００７１】
例えば、３２画素の間隔のフィルタで検出を行なえば、さらに正確な傾き角度を得ることが出来る。
【００７２】
なお、８画素間隔のフィルタ→１６画素間隔のフィルタ、のような複数ステップを取る代わりに、最初から１６画素間隔のフィルタを用いて検出を行なうことも可能である。
【００７３】
［第３の実施の形態］
第３の実施の形態においては、画像データに対して２方向に等間隔に並ぶドットを埋め、そのドットを元に、傾きを検知することとしている。ここでは、図４のように上下左右に８画素間隔でドットをプリントするものとする。その場合、２方向に等間隔にドットがプリントされている性質を利用し、図３１〜３３のようなフィルタにて処理を行なう。
【００７４】
ここで図３１のフィルタＣ１が傾き角度０°に相当するフィルタであり、第１の実施の形態と同様に、図３２、図３３のような傾いた場合に相当するフィルタ群を用いて検出を行なう。
【００７５】
これらのフィルタは、第１の実施の形態と同様に、黒画素とグレー２画素の計３画素の内、最大値で黒画素を置き換える処理を行なうものとする。
【００７６】
図２３の表を用いて傾き角度を検出できる点は、第１の実施の形態と同様である。
【００７７】
第１の実施の形態と異なる点は、３画素を用いたフィルタであるため、２画素を用いたフィルタに比べて、スキャン時のノイズに強いという点である。
【００７８】
これを、図３４のスキャン画像の概念図を用いて説明する。ここで図３４は、ノイズと書いた１画素を除き、縦横方向にドットが連続してプリントされていることを示すものとする。
【００７９】
このスキャン画像に対し、第１の実施の形態の２画素を用いたフィルタを適応した場合には、傾き角に一致する図１０のフィルタＡ３を適応すると、図３５のように４画素がグレーで残る。
【００８０】
傾き角に一致しない図８のフィルタＡ１を適応しても、図３６のように１画素グレーで残ってしまう。しかし、第３の実施の形態での３画素を用いたフィルタを適応した場合には、傾き角に一致する図３３のフィルタＣ３を適応することで、図３７のように４画素がグレーで残るが、傾き角に一致しない図３１のフィルタＣ１を適応すると、図３８のようにグレーで残る画素は存在せず、ノイズ画素は結果に影響を及ぼしていない。従って、本実施の形態のフィルタの方がノイズに強いことが分かる。
【００８１】
［第４の実施の形態］
図３９および４０は、第４の実施の形態で用いられるフィルタを示す図である。
【００８２】
図４のようなドットを打つものと仮定して、上下左右に８画素間隔でドットが連続してプリントされているという性質を利用すると、図３９、４０のように５画素を用いたフィルタを使用することで、更にノイズに強い処理を行なうことも出来る。
【００８３】
ここで、図３９は傾き角度０°に相当するフィルタであり、図４０のように傾いたフィルタ群を用意することで、検出処理を行なうことが出来る。
【００８４】
［第５の実施の形態］
本実施の形態においては、画像の傾きを高速に補正する画像処理装置を提供することとしている。本実施の形態における画像処理装置の構成は、図１および２に示されるものと同じであるため、ここでの説明を繰返さない。
【００８５】
ここでは、図４１のように少なくとも２画素においてドットをプリントした結果、スキャン時の画像が図４２のように得られた場合を、例として示す。
【００８６】
比較のため、従来の傾き補正方法を、最初に記載する。
【００８７】
当初ドットは図４１に示されるように配置されていていたが、それが傾いて図４２に示されるように、灰色で示される画素の位置が、黒で示される画素の位置から右方向に＋７、下方向に−２の位置に移動して（ずれて）いるので、傾き角度は、ｔａｎ−１（−３／７）=−２３．２°と算出できる。傾き補正を行なうための補正式は、以下の通りとなる。
【００８８】
【数１】
2006222878.tif 000003
【００８９】
ここで、（Ｘ，Ｙ）は傾き補正後の座標値、（Ｘ’，Ｙ’）は傾き補正前の座標値であり、Ｘ及びＸ’は右方向に正、Ｙ及びＹ’は下方向に正、角度は時計回りを正方向とする。
【００９０】
上記の式においては、ｃｏｓ（−２３．２°）やｓｉｎ（−２３．２°）は小数値になるため、傾き補正には時間がかかるという問題がある。
【００９１】
そこで、図４１、４２に示される画素配置に基づき、ｓｉｎとｃｏｓを次のように、整数比に近似することで、高速に傾き補正を行なうことができる。すなわち図４１、４２を参照してグレーのドットは、スキャン時にＹ方向に−３画素ずれていることになる。また、黒で示される画素と灰色で示される画素との間の間隔は、元は８画素である（図４１）。従って、図４２において傾き角のｓｉｎは、ｓｉｎ≒−３／８と近似することができる。
【００９２】
同様に図４１、４２を参照して、グレーのドットは、スキャン時にＸ方向に−１画素ずれていることになる。また、黒で示される画素と灰色で示される画素との間の間隔は、元は８画素であり、Ｘ方向に長さ８画素だったものが、Ｘ方向に７画素の間隔になっている。従って傾き角のｃｏｓは、ｃｏｓ≒７／８と近似することができる。
【００９３】
そうすると、傾き補正式は、
【００９４】
【数２】
2006222878.tif 000004
【００９５】
と表され、割り算の余りを切り捨てれば、全て整数演算ができる。
【００９６】
上述の傾き補正は、図４１のようなドットを例えば、紙の上部にプリントすることにより行なうことも出来るし、第１〜４の実施の形態における処理で傾きを検出した後の補正処理として行なうことも出来る。
【００９７】
第１の実施の形態におけるフィルタ処理の結果を利用して、傾き補正を行なう場合には、図８〜２０のフィルタＡ１〜Ａ１３それぞれに対して、図４３のように、ｓｉｎとｃｏｓを近似することが出来る。
【００９８】
なお、上記式（２）における行列である、
【００９９】
【数３】
2006222878.tif 000005
【０１００】
は、行列式が５８／６４（＝７／８×７／８−３／８×（−３／８））であり、傾き補正後、画像が全体的に伸びて大きくなることが分かる。すなわち、図４２で見ると、ドット間の距離である７２＋３２＝５８の平方根を、８で近似していることを意味している。従って、全体的な画像の伸び縮みが問題にならない場合に、この傾き補正を適応することが好ましい。
【０１０１】
なお、ｓｉｎとｃｏｓの近似における分母（上の例では８）を大きく取れば、ｓｉｎとｃｏｓはかなりの精度で近似できるようになり、全体的な伸び縮みの影響は小さくなる。すなわち、検出フィルタの画素間隔を大きくとることにより、全体的な伸び縮みの影響を小さくすることが出来る。
【０１０２】
このようにして、本実施の形態においては、傾きのｓｉｎやｃｏｓを整数比で近似することで、高速に傾きを補正することが可能である。
【０１０３】
［第６の実施の形態］
第６の実施の形態においては、画像の天地判別および補正を行ない、３６０°全方向への傾きを検出および補正することとしている。本実施の形態における画像処理装置の構成は、図１および２に示されるものと同じであるため、ここでの説明を繰返さない。
【０１０４】
ここでは、第１の実施の形態での図４のドットの代わりに、ドットが追加された図４４のドットをプリントするものとする。図４４では図４のドットに対して、図４４の太線で示される１つのセル（２４画素×２４画素のセル）内に、１画素だけドットを追加している。
【０１０５】
図４５は、第６の実施の形態において画像処理装置が実行する傾き検出処理を示すフローチャートである。
【０１０６】
図を参照して、ステップＳ４０１で文書画像を作成し、そのデータに対して図４４のドットを付与する。ドットが打たれた画像データをプリントすることで、印刷物Ｐを得る。印刷物Ｐをスキャンし、ステップＳ４０３で第１の実施の形態の方法により画像の傾き（±４５°の範囲）を検出する。ステップＳ４０５で第５の実施の形態の方法により傾きを補正する。
【０１０７】
ステップＳ４０７で、図４４の太線で示される１つのセル内に、１画素だけ追加されたドットから画像の方向（０°、９０°、１８０°、２７０°の何れであるか）を検出する。ステップＳ４０９で、検出結果に基づいて０〜３６０°の範囲で、画像の傾きを検出する。
【０１０８】
図４６は、第６の実施の形態において画像処理装置が実行する傾き補正処理を示すフローチャートである。
【０１０９】
図を参照して、ステップＳ５０１〜Ｓ５０７での処理は、図４５のステップＳ４０１〜Ｓ４０７での処理と同様である。ステップＳ５０９において、ステップＳ５０７で検出された方向に応じて画像を回転させることで、本来の方向の画像を得る。
【０１１０】
図４４のドットは、図４とほぼ同じであるため、第１の実施の形態の方法でプラスマイナス４５°の角度内で傾きを検出でき、第５の実施の形態の方法で傾きを補正できる。
【０１１１】
この補正後の画像に対して、図４７のフィルタを用いた方向検出処理を行なう。
【０１１２】
すなわち、図４７の黒で示される位置の４画素の画素値を合計し、ある閾値（例えば１００）以下なら、ドット位置と判定し、その場合には図４７のグレーで示される４箇所の画素値をそれぞれ別々に加算し、保存する。すなわち、４箇所のグレーで示される画素の画素値をそれぞれ、左上の画素値はデータａ、右上の画素値はデータｂ、左下の画素値はデータｃ、右下の画素値はデータｄにそれぞれ加算する。
【０１１３】
このようにドット位置と判断されるたびに、ａ，ｂ，ｃ，ｄに値を加算していき、最終的にａ，ｂ，ｃ，ｄのどの値が最も小さいかを調べる。これにより、４箇所のグレー位置のどこにドットがうたれていたかを、統計的に調べたことになり、その結果に応じて、図４８の通り、０°、９０°、１８０°、２７０°のいずれに画像が回転していたかが検出される。たとえば、左下のデータｃが、ａ，ｂ，ｃ，ｄの最小値の場合には、統計的に図４８の「２７０°」のパターンが多かったと判断できるので、画像は２７０°回転していたと検出できる。
【０１１４】
ここで、回転角度を把握したい場合には以下の処理を行なえばよい。
【０１１５】
例えば第１の実施の形態による方法で、傾き角−７．１３°と判定され、第６の実施の形態における方法で２７０°回転と判定されれば、２７０−７．１３＝２６２．８７°の回転角度と検出できる。
【０１１６】
また、補正が必要な場合には、第５の実施の形態の方法で−７．１３°傾きを補正した後、画像を２７０°回転することにより、補正を行なうことができる。
【０１１７】
このように、本実施の形態においては等間隔のドットに加え、更に０，９０，１８０，２７０度画像が回転していた時に異なって見える位置にドットを打ち、天地判別を行なうことで、３６０°全方向の回転角度を検出し、補正することが可能である。
【０１１８】
［第７の実施の形態］
第７の実施の形態においては、第１の実施の形態と比較して検出角度の精度を上げることができる画像処理装置を提供することとしている。
【０１１９】
本実施の形態においては、図６のステップＳ２０５において、傾き一致度が最も高いフィルタを選び、その隣のフィルタの傾き一致度を考慮することで、傾き角度を求めることとしている。
【０１２０】
この原理を、図４９を用いて説明する。最初に傾き一致度の最大値を算出し、フィルタＡ２が選ばれたものとする。次に隣のフィルタＡ３、Ａ１の傾き一致度を比較する。ここでは、フィルタＡ３に対する傾き一致度は、「３６３６６１８」であり、フィルタＡ１に対する傾き一致度は、「３４８０５３５」である。従って、フィルタＡ２が選ばれたものの、実際の傾き角はフィルタＡ３に近いものであることがわかる。すなわち、傾き一致度のピークがどの位置にあるかを推察するものである。
【０１２１】
図５０を参照して、フィルタＡ１〜Ａ３に対応する傾き角である、０°、−７．１３°、−１４．０°のそれぞれの間の間隔を１としたとき、それぞれの傾き角から±１／４の位置を定義する。図５０において定義された位置は、−１．７８°、−５．３５°、−８．８５°、−１２．３°であり、それぞれの位置は、Ａ２に近いＡ１、Ａ１に近いＡ２、Ａ３に近いＡ２、Ａ２に近いＡ３、を示すこととなる。
【０１２２】
このような考えに基づき、図４９の「傾き角度（拡張）」に示されるように、検出する傾き角度を細分化し、検出精度の向上を図る。上記例では、傾き一致度の比較からフィルタＡ２が選ばれるものの、それはフィルタＡ３に近いものと考えられるため、傾き角度は−８．８５°と判定できる。これにより、第１の実施の形態よりも２倍の精度の検出が可能である。
【０１２３】
［第８の実施の形態］
なお、上記実施の形態では画像処理装置をＰＣなどで構成することとしたが、ＭＦＰ（Multi Function Peripheral）で画像処理装置を構成することとしてもよい。
【０１２４】
図５１は、そのようなＭＦＰの構成を示すブロック図である。
【０１２５】
図５１に示されるＭＦＰは、図３に示されるフローチャートの処理を実行することで、第１〜第７の実施の形態と同様の傾き検知処理や補正処理を行なう。
【０１２６】
ＭＦＰは、原稿の読取を行なうスキャン部２０１と、装置全体の制御を行なう制御部２０３と、データを作成するデータ作成部２０５と、ネットワークを介したデータの送受信を行なうデータ送受信部２０７およびネットワークＩ／Ｆ部２１１と、プリントエンジンなどを備え用紙に画像を記録する印刷出力部２１３と、データを記憶する記憶部２１５と、ユーザからの操作を受付ける操作パネル部２０９とを備えている。
【０１２７】
［実施の形態における効果］
このようにして本実施の形態によると、等間隔にプリントしたドットを利用し、傾きを検出することができる。また、フィルタ処理を採用することにより、高速に傾きを検知することができるという効果がある。さらに、第５の実施の形態によると、検出された傾きを整数比で近似し、高速に傾き補正を行なうことができる。
【０１２８】
これにより、ドットをドキュメントの一部にプリントしておくことで、コピーやスキャン時の画像の傾きを自動的に補正することが可能となる。
【０１２９】
また、本実施の形態によると、等間隔に埋めたドット以外にはフィルタが反応しないため、画像中に別の意図のドットを打つことができる。これにより、例えば電子透かしとしてのビットを表すドットを打つことができる。また、ノイズ（意図せずプリントされた余計なドット）に強いという効果がある。
【０１３０】
なお上記実施の形態においては、電子透かしとしての判定を必要としないため、処理が高速であるという効果があるが、電子透かしの判定を行なってもよい。
【０１３１】
また、本実施の形態では画像データにドットを打ち、それに基づいて傾き検出および補正を行なうため、文書データ（文字など）が含まれていない画像においても、傾き検出や補正を行なうことができるという特徴がある。
【０１３２】
なお、上述の例ではプリンタとスキャナが一緒になった装置を画像処理装置の具体例としてあげたが、プリンタとスキャナとは別体でもよい。この場合、プリンタを備えた画像処理装置によってドットを含む画像のプリントが行なわれ、それにより得られた印刷物を、スキャナを備えた画像処理装置によって読取り、傾きの検出や補正を行なうこととなる。
【０１３３】
また、上記ではドットの例として１画素からなるものを挙げたが、複数画素から構成されるドットを印刷物に付与し、これにより検出を行なってもよい。また、周期性を持つものであれば、一定の形状を有するドットを用いてもよいし、繰返し模様の中にドットを埋め込むことも可能である。
【０１３４】
なお、上述の実施の形態におけるフローチャートやブロック図での処理を実行するプログラムを提供することもできるし、そのプログラムをＣＤ−ＲＯＭ、フレキシブルディスク、ハードディスク、ＲＯＭ、ＲＡＭ、メモリカードなどの記録媒体に記録してユーザに提供することにしてもよい。また、プログラムはインターネットなどの通信回線を介して、装置にダウンロードするようにしてもよい。
【０１３５】
なお、上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１３６】
【図１】本発明の第１の実施の形態における画像処理装置の構成を示すブロック図である。
【図２】図１のＰＣ３０１の内部をより詳細に説明する図である。
【図３】図１の画像処理装置のドット埋め込み処理ソフト３０１ａ、および傾き検出／補正処理ソフト３０１ｂが実行する処理を示すフローチャートである。
【図４】画像データに対して埋め込むドットの具体例を示す図である。
【図５】図４のドットが埋め込まれた印刷物の具体例を示す図である。
【図６】傾き検出処理（図３のステップＳ１０３）の詳細を示すフローチャートである。
【図７】図６のステップＳ２０１で得られたスキャン画像の具体例を示す図である。
【図８】傾き検知フィルタの具体例を示す図である。
【図９】傾き検知フィルタの具体例を示す図である。
【図１０】傾き検知フィルタの具体例を示す図である。
【図１１】傾き検知フィルタの具体例を示す図である。
【図１２】傾き検知フィルタの具体例を示す図である。
【図１３】傾き検知フィルタの具体例を示す図である。
【図１４】傾き検知フィルタの具体例を示す図である。
【図１５】傾き検知フィルタの具体例を示す図である。
【図１６】傾き検知フィルタの具体例を示す図である。
【図１７】傾き検知フィルタの具体例を示す図である。
【図１８】傾き検知フィルタの具体例を示す図である。
【図１９】傾き検知フィルタの具体例を示す図である。
【図２０】傾き検知フィルタの具体例を示す図である。
【図２１】図９（フィルタＡ２）のフィルタ処理後の画像を示す図である。
【図２２】図２０（フィルタＡ１３）のフィルタ処理後の画像を示す図である。
【図２３】図７の画像にＡ１〜Ａ１３のフィルタ処理を行なった結果を示す図である。
【図２４】１６画素間隔のフィルタの具体例を示す図である。
【図２５】１６画素間隔のフィルタの具体例を示す図である。
【図２６】１６画素間隔のフィルタの具体例を示す図である。
【図２７】１６画素間隔のフィルタの具体例を示す図である。
【図２８】１６画素間隔のフィルタの具体例を示す図である。
【図２９】第２の実施の形態における傾き検出処理（図３のステップＳ１０３）の詳細を示すフローチャートである。
【図３０】フィルタＡとＢとの対応関係を示す図である。
【図３１】第３の実施の形態における傾き角度０°に相当するフィルタを示す図である。
【図３２】図３１のフィルタを傾けたフィルタを示す図である。
【図３３】図３１のフィルタを傾けたフィルタを示す図である。
【図３４】スキャン画像の概念を示す図である。
【図３５】図３４のスキャン画像に対し、フィルタＡ３を適応した場合を示す図である。
【図３６】図３４のスキャン画像に対し、フィルタＡ１を適応した場合を示す図である。
【図３７】図３４のスキャン画像に対し、フィルタＣ３を適応した場合を示す図である。
【図３８】図３４のスキャン画像に対し、フィルタＣ１を適応した場合を示す図である。
【図３９】第４の実施の形態で用いられるフィルタを示す図である。
【図４０】第４の実施の形態で用いられるフィルタを示す図である。
【図４１】２画素においてドットをプリントした結果を示す図である。
【図４２】スキャンにより得られた画像を示す図である。
【図４３】フィルタＡ１〜Ａ１３それぞれに対して、ｓｉｎとｃｏｓを近似した状態を示す図である。
【図４４】第６の実施の形態においてプリントするドットを示す図である。
【図４５】第６の実施の形態において画像処理装置が実行する傾き検出処理を示すフローチャートである。
【図４６】第６の実施の形態において画像処理装置が実行する傾き補正処理を示すフローチャートである。
【図４７】第６の実施の形態において用いられるフィルタを示す図である。
【図４８】第６の実施の形態において画像の回転を判定する処理を示す図である。
【図４９】第７の実施の形態において傾き角度を判断する処理を示す図である。
【図５０】第７の実施の形態の原理を示す図である。
【図５１】画像形成装置の構成を示すブロック図である。
【符号の説明】
【０１３７】
３０１  ＰＣ、３０１ａ  ドット埋め込み処理ソフト、３０１ｂ  傾き検出／補正処理ソフト、３０９  外部記憶装置、３１１  プリンタ、３１３  スキャナ、４０１  記憶装置、４０３  入出力インタフェース、４０５  ＣＰＵ／メモリ、４０７  演算処理部、Ａ１〜Ａ２０，Ｂ１〜Ｂ５，Ｃ１〜Ｃ３，Ｄ１，Ｄ２  フィルタ。
【図１】
2006222878.tif 000006
【図２】
2006222878.tif 000007
【図３】
2006222878.tif 000008
【図４】
2006222878.tif 000009
【図５】
2006222878.tif 000010
【図６】
2006222878.tif 000011
【図７】
2006222878.tif 000012
【図８】
2006222878.tif 000013
【図９】
2006222878.tif 000014
【図１０】
2006222878.tif 000015
【図１１】
2006222878.tif 000016
【図１２】
2006222878.tif 000017
【図１３】
2006222878.tif 000018
【図１４】
2006222878.tif 000019
【図１５】
2006222878.tif 000020
【図１６】
2006222878.tif 000021
【図１７】
2006222878.tif 000022
【図１８】
2006222878.tif 000023
【図１９】
2006222878.tif 000024
【図２０】
2006222878.tif 000025
【図２１】
2006222878.tif 000026
【図２２】
2006222878.tif 000027
【図２３】
2006222878.tif 000028
【図２４】
2006222878.tif 000029
【図２５】
2006222878.tif 000030
【図２６】
2006222878.tif 000031
【図２７】
2006222878.tif 000032
【図２８】
2006222878.tif 000033
【図２９】
2006222878.tif 000034
【図３０】
2006222878.tif 000035
【図３１】
2006222878.tif 000036
【図３２】
2006222878.tif 000037
【図３３】
2006222878.tif 000038
【図３４】
2006222878.tif 000039
【図３５】
2006222878.tif 000040
【図３６】
2006222878.tif 000041
【図３７】
2006222878.tif 000042
【図３８】
2006222878.tif 000043
【図３９】
2006222878.tif 000044
【図４０】
2006222878.tif 000045
【図４１】
2006222878.tif 000046
【図４２】
2006222878.tif 000047
【図４３】
2006222878.tif 000048
【図４４】
2006222878.tif 000049
【図４５】
2006222878.tif 000050
【図４６】
2006222878.tif 000051
【図４７】
2006222878.tif 000052
【図４８】
2006222878.tif 000053
【図４９】
2006222878.tif 000054
【図５０】
2006222878.tif 000055
【図５１】
2006222878.tif 000056