(57)【要約】【課題】  高精度な２値化を行うことが可能な２値化回路を提供する。【解決手段】  ２値化回路に，入力画像から２値化を行う着目画素を抽出する抽出部１０６と，着目画素ごとにサンプリング領域を指定する領域指定部１０８と，サンプリング領域に属する画素の輝度信号から２以上のサンプリング値を検出する検出部１１０と，２以上のサンプリング値の平均値に基づいて前記着目画素を２値化するための閾値を算出する算出部１１４と，閾値に基づいて前記着目画素を２値化する２値化部１１６とを備え，上記サンプリング領域を，着目画素を含む該着目画素の近傍の領域であって，かつ，着目画素ごとに異なる領域に設定する。【選択図】    図１
2006042031.tif 000002
【特許請求の範囲】
【請求項１】
入力画像から２値化を行う着目画素を抽出する抽出部と；
前記着目画素ごとにサンプリング領域を指定する領域指定部と；
前記サンプリング領域に属する画素の輝度信号から２以上のサンプリング値を検出する検出部と；
前記２以上のサンプリング値の平均値に基づいて前記着目画素を２値化するための閾値を算出する算出部と；
前記閾値に基づいて前記着目画素を２値化する２値化部と；を備え，
前記サンプリング領域は，前記着目画素を含む該着目画素の近傍の領域であって，かつ，前記着目画素ごとに異なる領域であることを特徴とする２値化回路。
【請求項２】
前記抽出部は，前記入力画像を構成する各画素を順次着目画素として前記入力画像から抽出し，
前記算出部は，前記着目画素の隣接画素の２値化の値に基づいて，前記着目画素の２値化の値が前記隣接画素の２値化の値と相違し難くなるように前記閾値を変化させることを特徴とする，請求項１に記載の２値化回路。
【請求項３】
前記算出部は，前記着目画素の隣接画素の２値化の値に基づいて，前記隣接画素の２値化の値が０ならば前記閾値を前記平均値よりも大きい値に設定し，前記隣接画素の２値化の値が１ならば前記閾値を前記平均値よりも小さい値に設定するように前記閾値を変化させることを特徴とする，請求項２に記載の２値化回路。
【請求項４】
前記検出部は，前記サンプリング領域に属する画素の輝度信号の最大値および最小値を検出し，前記最大値および最小値を前記サンプリング値とすることを特徴とする，請求項１に記載の２値化回路。
【請求項５】
前記検出部は，前記サンプリング領域内に属する全ての画素の輝度信号を前記サンプリング値とすることを特徴とする，請求項１に記載の２値化回路。
【請求項６】
前記検出部は，前記サンプリング領域内に二次元配列された画素の列または行ごとに輝度信号の平均値を検出し，前記列または行ごとに検出された複数の平均値を前記サンプリング値とすることを特徴とする，請求項１に記載の２値化回路。
【請求項７】
前記検出部は，前記サンプリング領域内に二次元配列された画素の列または行ごとに輝度信号の最大値および最小値を検出し，前記列または行ごとに検出された複数の最大値および最小値を前記サンプリング値とすることを特徴とする，請求項１に記載の２値化回路。
【請求項８】
前記着目画素の輝度信号または色差信号の一部を，前記２値化部によって２値化された前記着目画素の２値化の値と置き換えるコード付加部をさらに備えることを特徴とする，請求項１に記載の２値化回路。
【請求項９】
前記コード付加部は，前記着目画素の輝度信号または色差信号の一部を，前記２以上のサンプリング値間の差の状態を示す値と置き換えることを特徴とする，請求項８に記載の２値化回路。
【請求項１０】
入力画像から２値化を行う着目画素を抽出する抽出ステップと；
前記着目画素ごとにサンプリング領域を指定する領域指定ステップと；
前記サンプリング領域に属する画素の輝度信号から２以上のサンプリング値を検出する検出ステップと；
前記２以上のサンプリング値の平均値に基づいて前記着目画素を２値化するための閾値を算出する算出ステップと；
前記閾値に基づいて前記着目画素を２値化する２値化ステップと；を含み，
前記サンプリング領域は，前記着目画素を含む該着目画素の近傍の領域であって，かつ，前記着目画素ごとに異なる領域であることを特徴とする画像処理方法。
【請求項１１】
前記抽出ステップは，前記入力画像を構成する各画素を順次着目画素として前記入力画像から抽出し，
前記算出ステップは，前記着目画素の隣接画素の２値化の値に基づいて，前記着目画素の２値化の値が前記隣接画素の２値化の値と相違し難くなるように前記閾値を変化させることを特徴とする，請求項１０に記載の画像処理方法。
【請求項１２】
前記算出ステップは，前記着目画素の隣接画素の２値化の値に基づいて，前記隣接画素の２値化の値が０ならば前記閾値を前記平均値よりも大きい値に設定し，前記隣接画素の２値化の値が１ならば前記閾値を前記平均値よりも小さい値に設定するように前記閾値を変化させることを特徴とする，請求項１１に記載の画像処理方法。
【請求項１３】
前記検出ステップは，前記サンプリング領域に属する画素の輝度信号の最大値および最小値を検出し，前記最大値および最小値を前記サンプリング値とすることを特徴とする，請求項１０に記載の画像処理方法。
【請求項１４】
前記検出ステップは，前記サンプリング領域内に属する全ての画素の輝度信号を前記サンプリング値とすることを特徴とする，請求項１０に記載の画像処理方法。
【請求項１５】
前記検出ステップは，前記サンプリング領域内に二次元配列された画素の列または行ごとに輝度信号の平均値を検出し，前記列または行ごとに検出された複数の平均値を前記サンプリング値とすることを特徴とする，請求項１０に記載の画像処理方法。
【請求項１６】
前記検出ステップは，前記サンプリング領域内に二次元配列された画素の列または行ごとに輝度信号の最大値および最小値を検出し，前記列または行ごとに検出された複数の最大値および最小値を前記サンプリング値とすることを特徴とする，請求項１０に記載の画像処理方法。
【請求項１７】
前記着目画素の輝度信号または色差信号の一部を，前記２値化部によって２値化された前記着目画素の２値化の値と置き換えるコード付加ステップをさらに含むことを特徴とする，請求項１０に記載の画像処理方法。
【請求項１８】
前記コード付加ステップは，前記着目画素の輝度信号または色差信号の一部を，前記２以上のサンプリング値間の差の状態を示す値と置き換えることを特徴とする，請求項１７に記載の画像処理方法。
【請求項１９】
画像処理装置をして：
入力画像から２値化を行う着目画素を抽出する抽出処理と；
前記着目画素ごとにサンプリング領域を指定する領域指定処理と；
前記サンプリング領域に属する画素の輝度信号から２以上のサンプリング値を検出する検出処理と；
前記２以上のサンプリング値の平均値に基づいて前記着目画素を２値化するための閾値を算出する算出処理と；
前記閾値に基づいて前記着目画素を２値化する２値化処理と；を実行せしめ，
前記サンプリング領域は，前記着目画素を含む該着目画素の近傍の領域であって，かつ，前記着目画素ごとに異なる領域であることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，２値化回路，画像処理方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
従来，ファクシミリ装置やプリンタ，カメラ，ビデオカメラなどの画像処理装置では，入力されたカラー画像を２値画像に変換して出力することが行われている。画像の２値化を行う２値化回路としては，２値化を行う対象フレームより１つ前のフレームにおける画像信号の最大値及び最小値から閾値を求め，フレーム毎にその閾値に基づいて２値化を行う２値化回路が提供されている（例えば，特許文献１参照）。上記２値化回路によると，フレーム間での明るさに変動があった場合などには，前フレームから求められた閾値は対象フレームに対しては適切でない可能性が高く，精度の高い２値化を行うことは難しい。
【０００３】
上記問題を解決するために，前フレームの最大値及び最小値ではなく，対象フレームのライン毎にそのラインにおける画像信号の最大値及び最小値に基づいて閾値を求める２値化回路が提供されている（例えば，特許文献２参照）。上記構成によれば，フレーム間の明るさの差は２値化の精度に影響を及ぼさない。また，縦方向のシェーディングの影響を受けずに２値化を行うことができる。また，横方向のシェーディングに対しては，ラインを複数の領域に分割し，分割した領域ごとに閾値を検出することによって影響を抑えている。
【０００４】
【特許文献１】特開昭５９−６１３８３号公報
【特許文献２】特開２０００−１７２７７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし，近年では，例えばカメラで撮影された画像から２次元バーコードを読み取ることも行われており，そのような場合には正確な２値化を行うことが必要不可欠である。従って，さらに高精度な２値化を行うことができる２値化回路が希求されている。
【０００６】
そこで，本発明は，このような問題に鑑みてなされたもので，その目的とするところは，より高精度な２値化を行うことが可能な２値化回路，画像処理方法およびコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために，本発明のある観点によれば，入力画像から２値化を行う着目画素を抽出する抽出部と，着目画素ごとにサンプリング領域を指定する領域指定部と，サンプリング領域に属する画素の輝度信号から２以上のサンプリング値を検出する検出部と，２以上のサンプリング値の平均値に基づいて着目画素を２値化するための閾値を算出する算出部と，閾値に基づいて着目画素を２値化する２値化部とを備える２値化回路が提供される。上記サンプリング領域は，着目画素を含む該着目画素の近傍の領域であって，かつ，着目画素ごとに異なる領域であることを特徴とする。
【０００８】
上記発明によれば，抽出部によって画像から抽出された着目画素ごとに，その画素を含む近傍の領域が領域指定部によってサンプリング領域に指定される。着目画素ごとに指定されたサンプリング領域から，着目画素の２値化に利用される閾値を算出するためのサンプリング値が検出部によって検出される。検出されたサンプリング値の平均値に基づいて算出部によって閾値が算出され，算出された閾値に基づいて２値化部によって着目画素が２値化される。すなわち，２値化を行う対象の着目画素ごとに，その画素の２値化の閾値算出に最適な領域が指定される。従って，２値化の閾値は各着目画素に最適な値となり，正確な２値化が望める。なお，着目画素の近傍の領域とは，例えば着目画素に接している周囲の画素（８画素）を含む領域や，さらにその周囲の画素をも含む領域等，任意に設定可能である。また，サンプリング領域内に属する画素の中でも，着目画素に近い画素の輝度信号が着目画素から離れた画素の輝度信号よりも閾値に影響を与えるように重み付けを行っても良い。
【０００９】
上記抽出部は，入力画像を構成する各画素を順次着目画素として入力画像から抽出し，上記算出部は，着目画素の隣接画素の２値化の値に基づいて，着目画素の２値化の値が隣接画素の２値化の値と相違し難くなるように閾値を変化させるように構成されてもよい。かかる構成によれば，隣接画素の２値化の値と相違し難くなるように設定された閾値を超えないかぎり，着目画素はその隣接画素と等しい値で２値化される。
【００１０】
上記算出部は，着目画素の隣接画素の２値化の値に基づいて，隣接画素の２値化の値が０ならば閾値を平均値よりも大きい値に設定し，隣接画素の２値化の値が１ならば閾値を平均値よりも小さい値に設定するように閾値を変化させるように構成されてもよい。かかる構成によれば，隣接画素の２値化の値が０の場合には着目画素の値も０になりやすく，反対に隣接画素の２値化の値が１の場合には着目画素の値も１になりやすい。
【００１１】
上記検出部は，サンプリング領域に属する画素の輝度信号の最大値および最小値を検出し，最大値および最小値をサンプリング値とするように構成されてもよい。
【００１２】
上記検出部は，サンプリング領域内に属する全ての画素の輝度信号をサンプリング値とするように構成されてもよい。
【００１３】
上記検出部は，サンプリング領域内に二次元配列された画素の列または行ごとに輝度信号の平均値を検出し，列または行ごとに検出された複数の平均値をサンプリング値とするように構成されてもよい。
【００１４】
上記検出部は，サンプリング領域内に二次元配列された画素の列または行ごとに輝度信号の最大値および最小値を検出し，列または行ごとに検出された複数の最大値および最小値をサンプリング値とするように構成されてもよい。かかる構成によれば，サンプリング領域内で輝度の高い部分と低い部分とに偏りがある場合でも，サンプリング領域内の適正な平均値を算出部が算出できる。
【００１５】
上記２値化回路は，着目画素の輝度信号または色差信号の一部を，２値化部によって２値化された着目画素の２値化の値と置き換えるコード付加部をさらに備えるように構成されてもよい。かかる構成によれば，例えば輝度信号または色差信号の下位ビットを２値化の値に置き換えることによって，２値化回路から上記下位ビットが置き換えられた輝度信号または色差信号を取得した画像処理装置などは，入力画像の輝度や色にほとんど影響を与えることなく画像を表示，外部機器への出力等ができるとともに，同時に入力画像の２値データを取得できる。
【００１６】
上記コード付加部は，着目画素の輝度信号または色差信号の一部を，２以上のサンプリング値間の差の状態を示す値と置き換えるように構成されてもよい。２値化された値の信頼性はサンプリング値間の差の状態によって変わるため，かかる構成によれば，２値化回路は，２値化された値の信頼性を輝度信号とともに出力できる。
【００１７】
上記課題を解決するために，本発明の別の観点によれば，入力画像から２値化を行う着目画素を抽出する抽出ステップと，着目画素ごとにサンプリング領域を指定する領域指定ステップと，サンプリング領域に属する画素の輝度信号から２以上のサンプリング値を検出する検出ステップと，２以上のサンプリング値の平均値に基づいて着目画素を２値化するための閾値を算出する算出ステップと，閾値に基づいて着目画素を２値化する２値化ステップとを含む画像処理方法が提供される。上記サンプリング領域は，着目画素を含む該着目画素の近傍の領域であって，かつ，着目画素ごとに異なる領域であることを特徴とする。
【００１８】
また，画像処理装置をして上記画像処理方法に従った処理を実行せしめるコンピュータプログラムも提供される。
【発明の効果】
【００１９】
以上説明したように本発明によれば，より高精度な２値化を行うことが可能な２値化回路，画像処理方法およびコンピュータプログラムを提供できるものである。
【発明を実施するための最良の形態】
【００２０】
以下に添付図面を参照しながら，本発明の好適な実施の形態について詳細に説明する。なお，本明細書及び図面において，実質的に同一の機能構成を有する構成要素については，同一の符号を付することにより重複説明を省略する。
【００２１】
（第１実施形態）
第１実施形態では，本発明にかかる２値化回路を，撮影した静止画または動画の処理を行う画像処理装置１００に備えられる２値化回路１０４に適用して説明する。画像処理装置１００としては，カメラ，ビデオカメラ，カメラを備える携帯端末等を例示できる。なお，本発明にかかる２値化回路は，本実施形態には限定されず，例えば紙等の記録媒体から記録されている文字や画像を読み取って２値化を行うファクシミリ装置，複写機，ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ），バーコード読み取り機などや，ネットワーク上のサーバからダウンロード等して取得したり，ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）やＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等の外部記録媒体から読み込んだ静止画，動画を２値化するパーソナルコンピュータ，映像再生装置など，２値化を行う画像処理装置に備えられ，入力画像を２値化するものであれば適用可能である。
【００２２】
まず，図１に基づいて，本実施形態にかかる２値化回路１０４の構成について説明する。２値化回路１０４は，画像処理装置１００が備えるカメラ部１０２から入力された画像の２値化を行う。カメラ部１０２は，例えば，被写体の画像を取り込む光学ブロック，取り込まれた画像を電気信号に変換するＣＣＤ，電気信号の画像情報をデジタル信号に変換（Ａ／Ｄ変換）するとともにＡＦ（Ａｕｔｏ  Ｆｏｃｕｓ），ＡＥ（Ａｕｔｏ  Ｅｘｐｏｓｕｒｅ），ＡＷＢ（Ａｕｔｏ  Ｗｈｉｔｅ  Ｂａｌａｎｃｅ）などのカメラ信号処理を施すカメラ信号処理部などを備える。また，カメラ信号処理部は，デジタル信号に変換した画像情報を，輝度信号と色差信号とに分離する。２値化回路１０４には，カメラ信号処理部によって分離された輝度信号が入力され，２値化回路１０４は入力された輝度信号を２値化して出力する。
【００２３】
２値化回路１０４は，例えば，抽出部１０６，領域指定部１０８，検出部１１０，サンプリング値格納部１１２，算出部１１４，２値化部１１６などを備える。
【００２４】
抽出部１０６は，入力画像から２値化を行う着目画素を抽出する機能を有する。具体的には，画像（動画の場合にはフレーム）中の各画素に対応する輝度信号をカメラ信号処理部から順次入力され，入力された輝度信号から着目画素に対応する輝度信号を抽出する。本実施形態において，画像処理装置１００は，例えばカメラ部によって撮影された画像から二次元コードを読み出すため等に，撮影された画像を構成する全ての画素を２値化する。従って，抽出部１０６は，画像中の全ての画素を順次着目画素として抽出するために，カメラ信号処理部から順次入力される輝度信号を入力された順に抽出する。なお，撮影された画像中から２値化を行いたい部分をユーザが指定する場合などには，抽出部１０６は，指定された画素を着目画素とし，対応する輝度信号を抽出してもよい。
【００２５】
領域指定部１０８は，着目画素ごとにサンプリング領域を指定する機能を有する。領域指定部１０８は，抽出部１０６によって順次抽出される着目画素の近傍を順次サンプリング領域に指定する。従って，領域指定部１０８によって指定されるサンプリング領域は，着目画素ごとに異なる領域である。なお，着目画素の近傍の領域とは，例えば着目画素に接している周囲の画素（８画素）を含む領域や，さらにその周囲の画素をも含む領域等，任意に設定可能である。本実施形態では，着目画素を中心とした周囲の２４個の画素が含まれる領域を近傍の領域とし，領域指定部は，着目画素を含む２５画素がサンプリング領域に含まれるようにサンプリング領域を指定する。
【００２６】
ここで，図２を参照して，抽出部１０６によって抽出される着目画素と，領域指定部１０８によって指定されるサンプリング領域との関係について説明する。抽出部１０６は，カメラ部１０２から順次入力される輝度信号に従って，画像の左上の画素から右下の画素までを矢印２００の方向に沿って順次着目画素として抽出する。領域指定部１０８は，上述の通り各着目画素を中心とした周囲の２４画素が含まれるようにサンプリング領域を指定する。図示の例によると，第１着目画素２０２のサンプリング領域は第１領域２１２であり，第１着目画素の隣接画素である第２着目画素２０２のサンプリング領域は第２領域２１４である。また，着目画素の抽出および領域指定は画像の右下に進み，第３着目画素２０６のサンプリング領域は第３領域２１６であり，その隣接画素である第４着目画素２０８のサンプリング領域は第４領域２１８である。このように，隣り合う画素であっても画素ごとにサンプリング領域は異なる。すなわち，画素ごとに，その画素を２値化するために最適なサンプリング領域が領域指定部１０８によって指定される。
【００２７】
図１に戻り，２値化回路１０４の構成の説明を続ける。検出部１１０は，サンプリング領域に属する画素の輝度信号から２以上のサンプリング値を検出する機能を有する。具体的には，サンプリング領域に属する画素に対応する輝度信号を取得し，着目画素を２値化するための閾値算出の要素となる２以上のサンプリング値を複数の輝度信号から検出する。本実施形態では，検出部１１０は，サンプリング領域内に二次元配列された画素の列ごとに輝度信号の最大値および最小値を検出し，列ごとに検出された複数の最大値および最小値をサンプリング値とする。つまり，本実施形態においてサンプリング領域に含まれる画素は，着目画素を中心とした周囲の２５画素（着目画素を含む）であるため，検出部１１０は，二次元配列された２５画素に対し，列方向の５画素ごとに輝度信号の最大値および最小値を検出し，検出された５つの最大値と５つの最小値をサンプリング値とする。列方向に最大値および最小値を検出することによって，後述のように必要なメモリを減らすことができる。
【００２８】
なお，検出部１１０は，サンプリング領域に属する画素の輝度信号の最大値および最小値を検出し，最大値および最小値をサンプリング値としてもよい。また，サンプリング領域内に属する全ての画素の輝度信号をサンプリング値としてもよい。また，サンプリング領域内に二次元配列された画素の列または行ごとに輝度信号の平均値を検出し，列または行ごとに検出された複数の平均値をサンプリング値としてもよい。また，サンプリング領域内に二次元配列された画素の列または行ごとに輝度信号の最大値および最小値を検出し，列または行ごとに検出された複数の最大値および最小値を前記サンプリング値としてもよい。
【００２９】
サンプリング値格納部１１２には，検出部１１０によって検出されたサンプリング値が格納される。本実施形態では，サンプリング領域に属する画素の列ごとの最大値および最小値がサンプリング値格納部１１２に格納される。
【００３０】
算出部１１４は，２以上のサンプリング値の平均値に基づいて着目画素を２値化するための閾値を算出する機能を有する。具体的には，算出部１１４は，サンプリング値１１２に格納されている複数のサンプリング値を読み出して平均値を求める。算出部１１４は，求めた平均値を閾値として２値化部１１６に提供してもよい。本実施形態では，算出部１１４は，平均値をそのまま閾値とするのではなく，着目画素の隣接画素の２値化の値にもとづいて閾値を変化させる。具体的には，算出部１１４は，着目画素の２値化の値が隣接画素の２値化の値と相違し難くなるように閾値を変化させる。すなわち，隣接画素の２値化の値が０ならば閾値をサンプリング値の平均値よりも大きい値に設定して着目画素の２値化の値が１になり難くし，隣接画素の２値化の値が１ならば閾値を上記平均値よりも小さい値に設定して着目画素の２値化の値が０になり難くする。
【００３１】
算出部１１４が上記の如く着目画素の隣接画素の２値化の値にもとづいて閾値を設定することを，本実施形態においてヒステリシスを考慮して設定するという。ヒステリシスとは，一般に，入力の方向性前歴に依存して入力値に対応する出力値が異なる特性であり，物質や系の状態がそれまでたどってきた経過に依存することをいう。本実施形態では，着目画素の２値化の値が隣接画素の２値化の値に依存することをヒステリシスと称する。具体的には，例えば隣接画素の２値化の値が０である場合，つまり，隣接画素を２値化した結果黒になった場合には，その画素に隣接する着目画素は，明らかに１に２値化すべき（つまり白にすべき）ほどの高い輝度でない限り，隣接画素と同じく０に２値化して黒にした方が２値化後の画像にノイズが出にくい。従って，着目画素が明らかに白または黒にするべきほどの高いまたは低い輝度を有しない限り，着目画素の２値化の値は，隣接画素の２値化の値に依存して０または１になるように設定され，そのように設定することをヒステリシスを考慮して設定するという。
【００３２】
算出部１１４が上記ヒステリシスを考慮して閾値を算出した結果，具体的には上述のとおり隣接画素の２値化の値によって閾値を変化させた結果，隣接画素の２値化の値が０であれば着目画素の２値化の値も０になり易く，反対に，隣接画素の２値化の値が１であれば着目画素も１になり易い。
【００３３】
２値化部１１６は，閾値に基づいて着目画素を２値化する機能を有する。具体的には，２値化部１１６は，抽出部１０６から着目画素の輝度信号を取得し，算出部１１６から閾値を取得し，両者を比較して，輝度信号が閾値よりも大きい値であれば輝度信号を１に２値化し，輝度信号が閾値よりも小さい値であれば輝度信号を０に２値化する。輝度信号と閾値が同値である場合に０と１のどちらに２値化するかは任意に設定可能である。
【００３４】
以上，２値化回路１０４の構成について説明した。次に，図３に基づいて，本実施形態にかかる２値化回路１０４による２値化処理を詳細に説明する。
【００３５】
図３の符号３０２，３０４，３０６，３０８，３１０は，それぞれシフトレジスタ（ラインメモリ）である。まず，カメラ部１０２から２値化回路１０４に入力された輝度信号は，第１レジスタ３０２，第２レジスタ３０４，第３レジスタ３０６，第４レジスタ３０８および第５レジスタ３１０に順次格納される。第１〜第５レジスタは，各々が画像（フレーム）の１ライン分の画素の輝度信号（８ビット）を格納できる。従って，例えば１ラインが４００画素である場合には，第１から第５レジスタにそれぞれ４００画素分の８ビットの輝度信号が格納される。なお，図３では，説明の便宜上，入力画像の１ラインを１０画素とし，各レジスタは１ライン分の１０個の輝度信号を格納する。各レジスタには，説明のために，格納されている輝度信号に対応する画素の番号を記してある。なお，画素の番号は，画像の左上から右下に向かって順番に付したものである。
【００３６】
図示のように，輝度信号はまず第１レジスタに入力され，後続の輝度信号の入力に従って第１レジスタ内の次のポジションに順次移動する。１ライン分の輝度信号が入力された段階で，そのラインの最初の輝度信号は第１レジスタの最終部３２０に達する。さらに次の輝度信号，つまり次ラインの最初の輝度信号が第１レジスタに入力されると，第１レジスタの最終部３２０に格納されている輝度信号は第１レジスタから出力され，第２レジスタ３０４に入力される。同様に，輝度信号は第２レジスタ内を移動した後に第３レジスタに入力され，その後第４レジスタ，第５レジスタへと移動する。
【００３７】
各レジスタが画像の１ライン分の輝度信号を格納し，上記のように輝度信号が順次移動する結果，各レジスタのそれぞれの最終部３２０から同時に出力される輝度信号は，各ライン内の同位置（例えば，各ラインの左端や，各ラインの左から３番目など）の画素に対応する輝度信号となる。すなわち，２次元配列された画素の列を構成する各画素に対応する輝度信号が各レジスタから同時に出力される。本実施形態では，着目画素を中心として，５行×５列の合計２５個の画素をサンプリング領域に指定する。上記の如く第１〜第５の５個のシフトレジスタを用いることによって，列を構成する５個の輝度信号を同時に各レジスタから出力させることができる。
【００３８】
各レジスタから輝度信号が出力されたタイミングで，抽出部１０６は，第３レジスタ３０６から出力された輝度信号を，着目画素の輝度信号として抽出し，第６レジスタ３２２に格納する。第６レジスタ３２２は，着目画素の輝度信号を格納しておくためのシフトレジスタである。
【００３９】
抽出部１０６が第３レジスタから出力された輝度信号を着目画素の輝度信号として抽出するのとほぼ同じタイミングで，検出部１１０が第１〜第５レジスタから各々出力された５つの輝度信号から，最大値および最小値をサンプリング値として検出し，各々の値をサンプリング値格納部１１２の一例である第７レジスタ３２６または第８レジスタ３２８に格納する。第７レジスタ３２６は，最大値を格納しておくためのシフトレジスタであり，第８レジスタ３２８は，最小値を格納しておくためのシフトレジスタである。本実施形態において５行×５列の画素をサンプリング領域とするため，第７レジスタ３２６および第８レジスタ３２８には，それぞれ５列分の５個の最大値または最小値を格納することが可能である。
【００４０】
なお，領域指定部１０８によるサンプリング領域の指定は，検出部１１０がサンプリング値を検出するのとほぼ同時に行われる。本実施形態ではサンプリング領域を５行×５列の画素を含む領域とし，列数と同数の５つのシフトレジスタを用いるため，各レジスタから同時に出力される輝度信号の全てがサンプリング領域に含まれる。従って，領域指定部１０８は，同時に出力される５つ全ての輝度信号からサンプリング値を検出部１１０に検出させればよい。本実施形態における５行×５列の画素を含むサンプリング領域に対してシフトレジスタを６つ以上用いる場合には，領域指定部１０８は，各レジスタから同時に出力される６つの輝度信号からサンプリング領域に含ませる５つの輝度信号を指定し，指定した５つの輝度信号からサンプリング値を検出部１１０に検出させる。
【００４１】
算出部１１４は，第７レジスタ３２６に格納されている５個の最大値の平均値，および第８レジスタ３２８に格納されている５個の最小値の平均値をそれぞれ算出する。すなわち，列ごとに検出された最大値の５列分の平均値，および，列ごとに検出された最小値の５列分の平均値を算出する。算出部１１４は，求めた最大値の平均値および最小値の平均値の２つの値の平均値をさらに算出し，ヒステリシスを考慮して閾値を算出する。
【００４２】
比較器３１６は，第６レジスタ３２２から着目画素の輝度信号を入力され，算出部１１４から閾値を入力される。比較器３１６内の２値化部１１６は，閾値と輝度信号を比較し，輝度信号が閾値よりも大きい場合には着目画素の輝度信号を１に２値化し，小さい場合には０に２値化する。
【００４３】
上記の２値化の処理を，図中に付与した画素番号に基づいて説明する。図３で，第１レジスタ３０２の最終部３２０には，現在，画素番号５１の画素に対応する輝度信号（以下，単に画素番号ｎと省略する。）が格納されている。すなわち，画素番号５０が第１レジスタ３０２から出力され，第２レジスタ３０４に入力されたところである。画素番号５０が第１レジスタ３０２から出力されるのと同時に，画素番号４０が第２レジスタ３０４から出力され，画素番号３０が第３レジスタ３０６から出力され，画素番号２０が第２レジスタ３０８から出力され，画素番号１０が第１レジスタ３１０から出力される。
【００４４】
上記画素番号の輝度信号が各レジスタから出力されるタイミングで，第３レジスタ３０６から出力された画素番号３０は抽出部１０６によって抽出されて第６レジスタ３２２に格納される。なお，第６レジスタ３２２には，上記と同様の処理によって既に画素番号２９および２８が格納されている。
【００４５】
画素番号３０が第６レジスタ３２２に格納されるのとほぼ同じタイミングで，各レジスタから出力された５個の輝度信号から最大値および最小値が検出される。符号３２４は，検出される対象となる輝度信号を画素番号によって示している。つまり，同時に出力された画素番号５０，４０，３０，２０，１０の中から，最大値および最小値が検出される。検出された最大値および最小値は，それぞれ第７レジスタ３２６または第８レジスタ３２８に格納される。なお，同様の処理により，第７レジスタ３２６または第８レジスタ３２８には，符号３２４で示したそれぞれの画素番号の最大値または最小値が既に格納されている。つまり，符号３２４で示した５行×５列分の列ごとの最大値または最小値がそれぞれ格納されている。
【００４６】
ところで，符号３２４の二次元配列を参照すると，５行×５列の輝度信号の中心は，画素番号２８である。すなわち，画素番号２８を中心とした２５個の画素から検出されたサンプリング値が第７レジスタ３２６および第８レジスタ３２８に格納されていることになる。
【００４７】
上記第７レジスタ３２６および第８レジスタ３２８に格納されているサンプリング値に基づいて閾値の算出が行われ，算出された閾値が比較器３１６に入力される。比較器３１６には，閾値が入力されるのとほぼ同時に第６レジスタ３２２から出力された画素番号２８が入力される。閾値は，上述の通り画素番号２８を中心とした２５個の画素から検出されたサンプリング値に基づいて算出されたものであり，画素番号２８を２値化するために指定されたサンプリング領域から算出された閾値に該当するため，第６レジスタから比較器３１６に入力された画素番号２８を２値化するための閾値として適したものである。
【００４８】
上述のように列ごとに輝度信号の最大値および最小値（つまり，サンプリング値）を検出してそれぞれをシフトレジスタ（サンプリング値格納部１１２）に格納しておくことによって，サンプリング領域内の全ての輝度信号を閾値の算出のために格納しておく必要が無いため，２値化に必要なメモリを減らすことができる。
【００４９】
以上，２値化回路１０４による２値化処理を詳細に説明した。なお，２値化対象の輝度信号は，８ビット全てを利用して閾値と比較してもよいが，上位６ビットのみを利用する等，１部分を利用してもよい。次に，図４および図５に基づいて，本実施形態にかかる２値化回路１０４における２値化処理のフローについて説明する。
【００５０】
まず，ステップＳ１０２で，２値化回路１０４に輝度信号が入力される（Ｓ１０２）。入力された輝度信号は，上述のとおりシフトレジスタに入力される（Ｓ１０４）。シフトレジスタに入力された輝度信号から，着目画素の抽出とサンプリング領域の指定が行われる（Ｓ１０６）。サンプリング領域が指定されると，指定されたサンプリング領域からサンプリング値が検出される（Ｓ１０８）。その後サンプリング値に基づいて閾値が算出され（Ｓ１１０），算出された閾値と着目画素の輝度信号との比較が行われる（Ｓ１１２）。比較の結果に基づいて着目画素の輝度信号が２値化され（Ｓ１１４），２値化されたデータが出力される（Ｓ１１６）。
【００５１】
次に，算出部１１４が行う閾値の算出処理について図５を参照して説明する。まず，算出部１１４は，サンプリング値の平均値を算出する（Ｓ２０２）。平均値を閾値としてもよいが，本実施形態ではヒステリシスを考慮して閾値を算出するため，算出部１１４はステップＳ２０４で，着目画素の隣接画素の２値化の値を取得する（Ｓ２０４）。
【００５２】
隣接画素とは，例えば，現在の着目画素の直前に抽出部１０６によって抽出されて２値化が行われた現在の着目画素のとなりの画素である。または，着目画素の上の画素，つまり，着目画素が属するラインより１ライン上の同位置の画素であって，既に２値化処理が行われた画素であってもよい。ただし，隣接画素は上述の着目画素のとなり又は上の画素には限られず，着目画素を２値化する時点で既に２値化処理が行われている画素であって，着目画素に接している画素のいずれかまたは複数を隣接画素とすることもできる。
【００５３】
ステップＳ２０６で，隣接画素の２値化の値が０である場合には，ステップＳ２０８に進み，算出部１１４は，サンプリング値の平均値よりも大きい値を閾値とする（Ｓ２０８）。一方，ステップＳ２０６で，隣接画素の２値化の値が０である場合には，ステップＳ２１０に進み，算出部１１４は，サンプリング値の平均値よりも小さい値を閾値とする（Ｓ２０８）。
【００５４】
図６Ａを参照して上記ヒステリシスについて詳細に説明する。輝度信号４０８は，着目画素の輝度信号がとりうる値を示しており，出力信号４１６および出力信号４１８は，隣接画素の２値化の値に基づいて輝度信号４０８の各値を２値化した結果の出力信号（０または１）を示す。後述のように，出力信号４１６は隣接画素の２値化の値が１であった場合の出力信号であり，出力信号４１８は隣接画素の２値化の値が０であった場合の出力信号である。
【００５５】
輝度信号４０８を２値化するための閾値は，ヒステリシスを考慮しない場合にはサンプリング値の平均値４０４である。従って，平均値４０４を閾値とした場合には，平均値４０４よりも大きい値をもつ輝度信号は一律で１に２値化され，平均値４０４よりも小さい値をもつ輝度信号は一律で０に２値化される。ヒステリシスを考慮した場合には，Ａの範囲に属する輝度信号は，隣接画素の２値化の値に依存して２値化される。 
【００５６】
第１閾値４０２は，隣接画素の２値化の値が０である場合の着目画素の２値化のための閾値であり，図示のようにサンプリング値の平均値４０４よりもＢ値分大きい値に設定される。第２閾値４０６は，隣接画素の２値化の値が１である場合の着目画素の２値化のための閾値であり，図示の通りサンプリング値の平均値４０４よりもＣ値分小さい値に設定される。
【００５７】
Ａの範囲に属する輝度信号は，平均値４０４よりもＣ値分小さい値からＢ値分大きい値までのいずれかの値の輝度信号である。従って，閾値が第１閾値４０２に設定された場合には，Ａの範囲に属する全ての輝度信号は，第１閾値４０２よりも小さい値となるため，０に２値化される。一方，閾値が第２閾値４０６に設定された場合には，Ａの範囲に属する全ての輝度信号は，第２閾値４０６よりも大きい値となるため，１に２値化される。
【００５８】
Ａの範囲に属しない輝度信号は，隣接画素の２値化の値に依存することはなく，常に０または１のどちらか一方の値に２値化される。具体的には，第１閾値４０２と同値の輝度信号４１４よりも大きい（または以上の）値の輝度信号は，第１閾値４０２および第２閾値４０６のどちらに閾値が設定された場合でも，１で２値化される。また，第２閾値４０６と同値の輝度信号４１２よりも小さい（または以下の）値の輝度信号は，第１閾値４０２および第２閾値４０６のどちらに閾値が設定された場合でも，０で２値化される。
【００５９】
従って，着目画素の輝度信号４０８の２値化後の出力信号は，隣接画素の２値化の値が０である場合には，閾値が第１閾値４０２に設定される結果，Ａの範囲に属する輝度信号は全て０に２値化され，出力信号４１８になる。一方，隣接画素の２値化の値が１である場合には，閾値が第２閾値４０６に設定される結果，Ａの範囲に属する輝度信号は全て１に２値化され，出力信号４１６になる。
【００６０】
隣接画素を着目画素の直前に２値化された画素とした場合の輝度信号と２値化出力信号の関係を図６Ｂに示した。出力信号４１０が０である間は，閾値は第１閾値４０２に設定されている。そのため，輝度信号が平均値４０４よりも大きい値であっても第１閾値４０２と同値（符号４２２）以上にならない限り，出力信号は０のままである。輝度信号が符号４２２の値よりも大きい値となると，出力信号は１になり（符号４２０），出力信号が１である間は閾値は第２閾値４０６に設定される。そのため，輝度信号が平均値４０４よりも小さい値であっても第２閾値４０６と同値（符号４２６）以下にならない限り，出力信号は１のままである。輝度信号が符号４２６の値よりも小さい値となると，出力信号は０となる（符号４２４）。
【００６１】
なお，平均値よりもどの程度大きい値（図６ＡのＢ値）または小さい値（図６ＡのＣ値）とするかは適宜設定可能である。例えば，画像処理装置１００が，撮影した画像を２値化することによって撮影画像に含まれる二次元コードを読み取る場合には，２値化後の画像を外部の二次元コード認識装置などに送信する。２値化後の画像を受信した二次元コード認識装置は，予め設定されている規則等に基づいて２値化後の画像から二次コードを読み出す。二次元コード認識装置が二次元コードの読み出しに失敗した場合には，２値化回路１０４による画像の２値化の処理が適切でないことが分かるため，二次元コード認識装置は読み出しに失敗した画素等の情報を画像処理装置１００に提供する。画像処理装置１００は，二次元コード認識装置から取得した情報を２値化回路１０４の算出部に提供し，算出部１０４は，その情報に応じてサンプリング値の平均値から閾値までの幅（図６ＡのＢ値，Ｃ値）を修正する。
【００６２】
以上，２値化回路１０４における２値化処理のフローについて説明した。第１実施形態にかかる２値化回路１０４によれば，着目画素ごとに異なるサンプリング領域が設定され，さらにヒステリシスが考慮されて，着目画素を２値化するための閾値が算出される。従って，各着目画素に最適な閾値が設定されるため，高精度な２値化を行うことができる。
【００６３】
（第２実施形態）
次に，第２実施形態にかかる２値化回路５０４について説明する。なお，第１実施形態にかかる２値化回路１０４と同様の機能を有するものについては，同一の符号を付与することにより，説明を省略する。
【００６４】
２値化回路５０４は，第１実施形態にかかる２値化回路１０４にコード付加部５０２が追加されて構成される。コード付加部５０２は，着目画素の輝度信号または色差信号の一部を，２値化部１１６によって２値化された着目画素の２値化の値と置き換える機能を有する。
【００６５】
具体的には，コード付加部５０２は，カメラ部５０２から８ビットの輝度信号を順次入力され，２値化部１１６から着目画素の輝度信号を２値化した値（０または１）を順次取得して，例えば輝度信号の下位１ビットを対応する２値化後の値に置き換える。または，カメラ部５０２から８ビットの輝度信号とともに８ビットの色差信号を順次入力され，２値化部１１６から着目画素の輝度信号を２値化した値（０または１）を順次取得して，例えば色差信号の下位１ビットを対応する輝度信号の２値化後の値に置き換える。上記構成によれば，２値化回路５０４は，入力画像の輝度や色にほとんど影響を与えることのない程度に変更した輝度信号または色差信号を，２値化の値とともに出力できる。かかる信号を取得したカメラ等の画像処理装置は，撮影した画像を輝度や色にほとんど変更を加えることなく表示することができるとともに，撮影した画像の２値データを外部機器等に出力できる。
【００６６】
また，コード付加部５０４は，着目画素の輝度信号または色差信号の一部を，２以上のサンプリング値間の差の状態を示す値と置き換える機能を有しても良い。具体的には，コード付加部５０２は，カメラ部１０２から８ビットの輝度信号を順次入力され，２値化部１１６から２値化の閾値算出に用いたサンプリング値を順次取得して，例えば輝度信号の下位ビットを，対応するサンプリング値間の差の状態を示す値に置き換える。サンプリング値間の差の状態を示す値とは，サンプリング値が２つ（例えばサンプリング領域の輝度信号の最大値および最小値）である場合には，その差の値であってもよいし，差が大きいか小さいかを表す値であってもよい。また，サンプリング値間の差の状態を示す値ではなくて，２値化に用いた閾値であってもよい。
【００６７】
２値化された値の信頼性はサンプリング値間の差の状態によっても変わるため，上記構成によれば，２値化された値の信頼性を輝度信号や色差信号とともに外部機器等に出力できる。
【００６８】
２値化回路５０４の２値化の処理フロー等は第１実施形態にかかる２値化回路１０４とほぼ同様であるため，説明を省略する。
【００６９】
以上，添付図面を参照しながら本発明の好適な実施形態について説明したが，本発明は係る例に限定されないことは言うまでもない。当業者であれば，特許請求の範囲に記載された範疇内において，各種の変更例または修正例に想到し得ることは明らかであり，それらについても当然に本発明の技術的範囲に属するものと了解される。
【産業上の利用可能性】
【００７０】
本発明は，入力された画像の処理を行う画像処理装置に適用可能であり，特に入力された画像を高精度に２値化する必要のある画像処理装置に適用可能である。
【図面の簡単な説明】
【００７１】
【図１】本発明の第１の実施形態にかかる２値化回路を示すブロック図である。
【図２】同実施の形態における着目画素とサンプリング領域の関係を示す説明図である。
【図３】同実施の形態における２値化回路の処理を説明するための説明図である。
【図４】同実施の形態における２値化処理のフローチャートである。
【図５】同実施の形態における閾値算出処理のフローチャートである。
【図６Ａ】同実施の形態におけるヒステリシスを説明するための説明図である。
【図６Ｂ】同実施の形態におけるヒステリシスを説明するための説明図である。
【図７】本発明の第２の実施形態にかかる２値化回路を示すブロック図である。
【符号の説明】
【００７２】
１００      画像処理装置
１０２      カメラ部
１０４，５０４      ２値化回路
１０６      抽出部
１０８      領域指定部
１１０      検出部
１１２      サンプリング値格納部
１１４      算出部
１１６      ２値化部
２０２，２０４，２０６，２０８      着目画素
２１２，２１４，２１６，２１８      サンプリング領域
５０２      コード付加部
【図１】
2006042031.tif 000003
【図２】
2006042031.tif 000004
【図３】
2006042031.tif 000005
【図４】
2006042031.tif 000006
【図５】
2006042031.tif 000007
【図６Ａ】
2006042031.tif 000008
【図６Ｂ】
2006042031.tif 000009
【図７】
2006042031.tif 000010