(57)【要約】【課題】符号列の付加による画像の劣化を抑制する。【解決手段】配置部２０は、付加対象ビット列の各ビット値を、文書画像中の、該ビット値のビット位置に対応する領域に配置する。制限部２２は、第１ビット列と、第２ビット列と、が予め定められた位置関係で付加対象ビット列中に存在し、且つ、復号可能条件が満足される場合に、付加対象ビット列中に存在する第２ビット列の各ビット値の配置を制限する。【選択図】図１０
2010154084.tif 000002
【特許請求の範囲】
【請求項１】
処理対象符号列の符号の画像を、処理対象画像中の、該符号の位置に対応する領域に配置する配置手段と、
第１符号列と、該第１符号列に対応する第２符号列と、が予め定められた位置関係で前記処理対象符号列中に存在し、且つ、前記処理対象符号列中に存在する第１符号列の符号の画像が前記配置手段によって配置された後の画像から該符号が符号復号装置により復号可能であるか否かに関する条件が満足される場合に、前記処理対象符号列中に存在する第２符号列の符号の画像の前記配置手段による配置を制限する制限手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
符号付き画像中の各領域の画像を解析する画像解析手段と、
処理対象符号列の各符号を、該符号の位置に対応する前記領域の画像の解析結果に基づいて復号する第１復号手段と、
前記第１復号手段が復号できなかった符号が存在し、且つ、前記第１復号手段により復号された符号列中に前記第１符号列が存在している場合において、前記第１復号手段が復号できなかった符号と、前記第１復号手段により復号された符号列中に存在する前記第１符号列と、が予め定められた位置関係を有している場合に、前記第１復号手段が復号できなかった符号を、前記第２符号列の符号に基づいて復号する第２復号手段と、
を含むことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
処理対象符号列の符号の画像を、処理対象画像中の、該符号の位置に対応する領域に配置する配置手段、
第１符号列と、該第１符号列に対応する第２符号列と、が予め定められた位置関係で前記処理対象符号列中に存在し、且つ、前記処理対象符号列中に存在する第１符号列の符号の画像が前記配置手段によって配置された後の画像から該符号が符号復号装置により復号可能であるか否かに関する条件が満足される場合に、前記処理対象符号列中に存在する第２符号列の符号の画像の前記配置手段による配置を制限する制限手段、
としてコンピュータを機能させるプログラム。
【請求項４】
処理対象画像中の各領域の画像を解析する画像解析手段、
処理対象符号列の各符号を、該符号の位置に対応する前記領域の画像の解析結果に基づいて復号する第１復号手段、
前記第１復号手段が復号できなかった符号が存在し、且つ、前記第１復号手段により復号された符号列中に第１符号列が存在している場合において、前記第１復号手段が復号できなかった符号と、前記第１復号手段により復号された符号列中に存在する第１符号列と、が予め定められた位置関係を有している場合に、前記第１復号手段が復号できなかった符号を、前記第１符号列に対応する第２符号列の符号に基づいて復号する第２復号手段、
としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、及びプログラムに関する。
【背景技術】
【０００２】
情報を画像として付加する技術がある。例えば、符号列の符号の画像を、処理対象画像に付加しておき、処理対象画像に付加された画像から、上記符号列を復号して抽出する技術が知られている。
【０００３】
なお、下記特許文献１には、情報を圧縮してから符号化する技術が開示されている。
【特許文献１】特開２００７−４９５８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明の目的は、符号列の付加による画像の劣化を抑制する画像処理装置、及びプログラムを提供することである。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、請求項１の画像処理装置は、処理対象符号列の符号の画像を、処理対象画像中の、該符号の位置に対応する領域に配置する配置手段と、第１符号列と、該第１符号列に対応する第２符号列と、が予め定められた位置関係で前記処理対象符号列中に存在し、且つ、前記処理対象符号列中に存在する第１符号列の符号の画像が前記配置手段によって配置された後の画像から該符号が符号復号装置により復号可能であるか否かに関する条件が満足される場合に、前記処理対象符号列中に存在する第２符号列の符号の画像の前記配置手段による配置を制限する制限手段と、を含むことを特徴とする。
【０００６】
上記課題を解決するために、請求項２の画像処理装置は、請求項１の画像処理装置において、符号付き画像中の各領域の画像を解析する画像解析手段と、処理対象符号列の各符号を、該符号の位置に対応する前記領域の画像の解析結果に基づいて復号する第１復号手段と、前記第１復号手段が復号できなかった符号が存在し、且つ、前記第１復号手段により復号された符号列中に前記第１符号列が存在している場合において、前記第１復号手段が復号できなかった符号と、前記第１復号手段により復号された符号列中に存在する前記第１符号列と、が予め定められた位置関係を有している場合に、前記第１復号手段が復号できなかった符号を、前記第２符号列の符号に基づいて復号する第２復号手段と、を含むことを特徴とする。
【０００７】
また、請求項３のプログラムは、処理対象符号列の符号の画像を、処理対象画像中の、該符号の位置に対応する領域に配置する配置手段、第１符号列と、該第１符号列に対応する第２符号列と、が予め定められた位置関係で前記処理対象符号列中に存在し、且つ、前記処理対象符号列中に存在する第１符号列の符号の画像が前記配置手段によって配置された後の画像から該符号が符号復号装置により復号可能であるか否かに関する条件が満足される場合に、前記処理対象符号列中に存在する第２符号列の符号の画像の前記配置手段による配置を制限する制限手段、としてコンピュータを機能させることを特徴とする。
【０００８】
また、請求項４のプログラムは、処理対象画像中の各領域の画像を解析する画像解析手段、処理対象符号列の各符号を、該符号の位置に対応する前記領域の画像の解析結果に基づいて復号する第１復号手段、前記第１復号手段が復号できなかった符号が存在し、且つ、前記第１復号手段により復号された符号列中に第１符号列が存在している場合において、前記第１復号手段が復号できなかった符号と、前記第１復号手段により復号された符号列中に存在する第１符号列と、が予め定められた位置関係を有している場合に、前記第１復号手段が復号できなかった符号を、前記第１符号列に対応する第２符号列の符号に基づいて復号する第２復号手段、としてコンピュータを機能させることを特徴とする。
【０００９】
なお、上記プログラムは、インターネットなどの通信ネットワークを介して提供されてもよいし、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどのコンピュータ読み取り可能な各種情報記録媒体に格納されて提供されてもよい。
【００１０】
また、上記プログラムは、コンピュータ読み取り可能な情報記録媒体に記憶されてもよい。情報記録媒体としては、例えば、磁気テープ、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＭＤ、ＤＶＤ−ＲＯＭ、ＩＣカードなどを用いることができる。
【発明の効果】
【００１１】
請求項１，３の発明では、符号列の付加による画像の劣化が抑制される。
【００１２】
請求項２の発明では、画像に付加された符号列の復号精度が維持されつつ、符号列の付加による画像の劣化が抑制される。
【００１３】
請求項４の発明では、画像に付加された符号列の復号精度が維持される。
【発明を実施するための最良の形態】
【００１４】
［１．ハードウェア構成］
本発明の実施形態について図面を参照しながら説明する。図１は、本発明の実施形態に係る画像処理装置２のハードウェア構成を示す図である。図１に示すように、画像処理装置２は、制御部４と、主記憶部６と、補助記憶部８と、操作部１０と、画像形成部１２と、画像読取部１４と、を含む公知のコンピュータシステムである。各部は、バス１６によりデータ授受可能に接続される。また、画像処理装置２は、図示しないディスプレイや通信インタフェース等も含む。
【００１５】
制御部４は例えばマイクロプロセッサである。制御部４は、主記憶部６に記憶されるプログラムに従って情報処理を実行する。
【００１６】
主記憶部６は、例えばＲＡＭである。主記憶部６には上記プログラムが格納される。また主記憶部６には情報処理の過程で必要となる各種データが格納される。
【００１７】
本実施形態の場合、主記憶部６には、図２に示すテーブルが格納される。図２は、このテーブルの一例を示す。同図に示すように、第１ビット列フィールドと、第２ビット列フィールドと、を含む。第１ビット列フィールドには、第１ビット列（第１符号列）が格納され、第２ビット列フィールドには、第２ビット列（第２符号列）が格納される。第１ビット列と、第２ビット列と、は関連づけられている。また、第１ビット列及び第２ビット列は、“０”又は“１”のビット値の列である。
【００１８】
補助記憶部８は例えばハードディスクである。補助記憶部８には各種データが格納される。例えば、文書や、ユーザに関するユーザ情報（社員番号など）などが格納される。
【００１９】
操作部１０は、ユーザが操作入力を行うためのユーザインタフェースである。操作部１０は、例えばキーボードやマウスである。
【００２０】
画像形成部１２は、例えばプリンタである。画像形成部１２は、ユーザの指示を受けて、補助記憶部８に記憶される文書を紙媒体に印刷する。
【００２１】
画像読取部１４は、例えばスキャナである。画像読取部１４は、文書をスキャンして該文書の画像（ビットマップデータ）を取得する。
【００２２】
この画像処理装置２では、ユーザの印刷指示操作を受け付けると、補助記憶部８に記憶される文書の画像（文書画像）が媒体に印刷される。この画像処理装置２では、媒体に文書画像が印刷される際にユーザ情報がビット列（図３（ａ）参照）に変換され、各ビット値を表すビット画像も媒体に印刷される。
【００２３】
図４は、文書画像が印刷された媒体の一例の示す図である。同図に示すように、媒体には、文書画像に加え、ビット値“１”に対応するビット画像「／」や、ビット値“０”に対応するビット画像「＼」も、印刷されている。
【００２４】
以下、ビット画像による文書画像の劣化を抑制するための技術について説明する。
【００２５】
［２．画像処理装置で実行される処理１］
図５は、画像処理装置２で実行される処理の一例を示す図である。この処理は、制御部４が、主記憶部６に記憶される上記プログラムに従って動作することにより実行される。本実施形態の場合、この処理は、上記印刷指示操作が行われた場合に実行される。
【００２６】
制御部４は、印刷指示操作を行ったユーザのユーザ情報を符号化し、該ユーザ情報を表すビット列（図３（ａ）参照）を生成する（Ｓ１０１）。以下、Ｓ１０１のステップで生成されるビット列を「付加対象ビット列」と呼ぶ。
【００２７】
なお、図３（ａ）において各ビット値の上に付された番号（以下、「ビット番号」と記載する）は、そのビット値のビット位置を表している。以下、ビット番号が「ｉ」のビット位置のことを、ビット位置Ｐｉと記載する。例えば、Ｐ１は、ビット番号が「１」のビット位置のことを表す。また、ビット位置Ｐｉのビット値のことを、ビット値Ｂｉと記載する。
【００２８】
また、制御部４は、印刷対象となる文書の文書画像（例えば、ビットマップデータ）を生成する（Ｓ１０２）。文書画像が、「処理対象画像」に相当する。
【００２９】
そして、制御部４は、図６に示すようにして、付加対象ビット列の各ビット値Ｂｉを表すビット画像を文書画像に配置する（Ｓ１０３）。以下、「ビット値Ｂｉを表すビット画像を文書画像に配置すること」を、「ビット値Ｂｉを文書画像に配置する」と記載する。各ビットＢｉを文書画像に配置することにより、制御部４は、「符号付き文書画像」を生成する。
【００３０】
なお、画像処理装置２では、各ビット値Ｂｉの配置される文書画像の領域（以下、「ブロック領域」と記載する）が予め設定されている。図７は、各ブロック領域を示す図である。点線で囲まれたマスの一つ一つがブロック領域を示す。マスの中の番号は、各ブロック領域の番号（以下、「領域番号」と記載する）を示す。以下、領域番号が「ｉ」のブロック領域のことを、ブロック領域Ａｉと記載する。各ビット値Ｂｉは、ブロック領域Ａｉに配置されることとなる。
【００３１】
図６について説明する。まず、制御部４は、ビット位置ＰｉにフラグＸが設定されているか否かを判定する（Ｓ２０１）。最初は、ビット位置Ｐ１にフラグＸが設定されているか否かを判定する。
【００３２】
ビット位置ＰｉにフラグＸが設定されていない場合（Ｓ２０１のＮ）、制御部４（配置手段）は、ビット値Ｂｉをブロック領域Ａｉに配置する（Ｓ２０２）。
【００３３】
そして、制御部４は、ビット値Ｂｉが、ビット値Ｂｅであるか否かを判定する（Ｓ２０３）。すなわち、ビット値Ｂｉが、付加対象ビット列の最後列のビット値であるか否かを判定する。「ｅ」は、付加対象ビット列の最後列のビット値の番号を示す。
【００３４】
ビット値Ｂｉが、ビット値Ｂｅである場合（Ｓ２０３のＹ）、処理が終了される。すなわち、制御部４は、Ｓ１０４のステップに進む。
【００３５】
一方、ビット値Ｂｉが、ビット値Ｂｅでない場合（Ｓ２０３のＮ）、制御部４は、ビット値Ｂｉからビット値Ｂｉを含むＮ（例えば、Ｎ＝３）個前のビット値Ｂｉ−Ｎ＋１からビット値Ｂｉまでのビット列が第１ビット列に等しいか否かを判定する（Ｓ２０４）。
【００３６】
ビット値Ｂｉ−Ｎ＋１からビット値Ｂｉまでのビット列がいずれかの第１ビット列に等しい場合（Ｓ２０４のＹ）、復号可能条件が満足されるか否かを判定する（Ｓ２０５）。そして、復号可能条件が満足される場合（Ｓ２０５のＹ）、制御部４は、Ｓ２０６のステップに進む。以下、ビット値Ｂｉ−Ｎ＋１からビット値Ｂｉまでのビット列に等しい第１ビット列を、「注目第１ビット列」と記載する。
【００３７】
ここで、復号可能条件とは、注目第１ビット列に含まれるいずれのビット値Ｂｘもブロック領域Ａｘに配置された後の画像（以下、符号付きブロック画像）からビット値Ｂｘを復号できる可能性が高い場合に満足する条件である。復号可能条件が満足されるか否かの判定は、以下のようにして行う。
【００３８】
例えば、ブロック領域Ａｘに含まれる文字画像と、ビット値Ｂｘのビット画像と、が重なっている度合いを示す重なり度Ｌを算出する。例えば、「ビット値Ｂｘのビット画像の二値画像における有意画素の数Ｎ１」を、「ブロック領域Ａｘの二値画像における有意画素の数（文字部分の画素の数）Ｎ２と、Ｎ１と、の和（＝Ｎ１＋Ｎ２）」と、「符号付きブロック画像の二値画像における有意画素の数Ｎ３」と、の差Ｎ４（＝Ｎ１＋Ｎ２−Ｎ３）で除算した値（Ｎ１／Ｎ４）を重なり度Ｌとして算出する。そして、重なり度Ｌが小さい場合、すなわち、重なり度Ｌが予め定められた値ＴＨ（例えば、１．５）以下である場合、制御部４は、Ｓ２０５のステップに進む。この場合、重なり度ＬがＴＨ以下である場合に、復号可能条件が満足されることとなる。
【００３９】
また、例えば、制御部４は、符号付きブロック画像を実際に解析し、符号付きブロック画像からビット画像の検出を試みる。そして、符号付きブロック画像からビット値Ｂｘのビット画像が実際に検出できた場合に、制御部４は、Ｓ２０５のステップに進む。この場合、符号付きブロック画像からビット値Ｂｘのビット画像が検出できた場合に、復号可能条件が満足されることとなる。なお、制御部４は、符号付きブロック画像を解析する前に、符号付きブロック画像に対して予め定められた画像処理を行っておいてもよい。例えば、符号付きブロック画像に対してぼかし処理を行っておくようにしてもよい。また、例えば、符号付きブロック画像をフィルタリングして、符号付きブロック画像にノイズを追加しておくようにしてもよい。
【００４０】
Ｓ２０６のステップでは、制御部４は、付加対象ビット列を参照し、注目第１ビット列の位置と所定関係を有する位置に、注目第１ビット列に関連づけられた第２ビット列（以下、「注目第２ビット列」と記載する）が存在しているか否かを判定する（Ｓ２０６）。注目第１ビット列の位置と所定関係を有する位置に注目第２ビット列が存在している場合（Ｓ２０６のＹ）、制御部４は、Ｓ２０７のステップに進む。
【００４１】
本実施形態の場合、制御部４は、注目第１ビット列よりも後ろに注目第２ビット列が存在するか否かを判定する。より正確には、制御部４は、注目第１ビット列の最後列のビット位置（この場合、ビット位置Ｐｉ）から所定距離離れた位置に注目第２ビット列が存在するか否かを判定する。
【００４２】
具体的には、制御部４は、ビット値Ｂｉ＋１からビット値Ｂｉ＋Ｍまでのビット列中に注目第２ビット列が存在するか否かを判定する。ここで、Ｍは、予め定められた１以上の整数（例えば、「３」）である。そして、ビット値Ｂｉ＋１からビット値Ｂｉ＋Ｍまでのビット列中に注目第２ビット列が存在する場合（Ｓ２０６のＹ）、制御部４は、Ｓ２０７のステップに進む。例えば、図３（ｂ）によれば、「Ｍ＝Ｎ＝３」である場合、Ｓ２０４のステップで第１ビット列「１０１」がビット値Ｂ２からビット値Ｂ４までのビット列に等しいと判定され、その後、Ｓ２０６のステップでは、ビット値Ｂ５からビット値Ｂ８までのビット列中に注目第２ビット列「１０」が存在しているか否かが判定されることとなる。図３（ｂ）では、ビット値Ｂ５からビット値Ｂ８までのビット列「１００・・・」中に注目第２ビット列「１０」が存在している。そのため、制御部４は、Ｓ２０７に進むこととなる。なお、ビット値Ｂｉ＋１からビット値Ｂｉ＋Ｍまでのビット列中に注目第２ビット列が複数存在する場合、最初に注目第２ビット列を検出した時点でＳ２０７に進む。
【００４３】
Ｓ２０７のステップでは、制御部４は、注目第２ビット列が位置するビット位置にフラグＸを設定する。そして、制御部４は、Ｓ２０８のステップで、「ｉ」を「１」だけインクリメントし、Ｓ２０１以降のステップを繰り返す。
【００４４】
なお、ビット位置ＰｉにフラグＸが設定されている場合（Ｓ２０１のＹ）、ビット値Ｂｉ−Ｎ＋１からビット値Ｂｉまでのビット列中にいずれの第１ビット列も存在しない場合（Ｓ２０４のＮ）、復号可能条件が満足されない場合（Ｓ２０５のＮ）、及び、ビット値Ｂｉ＋１からビット値Ｂｉ＋Ｍまでのビット列中に注目第２ビット列が存在していない場合も（Ｓ２０６のＮ）、制御部４は、Ｓ２０８のステップに進み、Ｓ２０１以降のステップを繰り返す。図６の処理によれば、例えば、図３（ｂ）の場合、ビット値Ｂ５のビット画像と、ビット値Ｂ６のビット画像と、はそれぞれ、領域Ａ５、領域Ａ６に配置されないこととなる。つまり、領域Ａ５と領域Ａ６にはビット画像が配置されないこととなる。
【００４５】
こうして、図４に示す符号付き文書画像が生成される。
【００４６】
符号付き文書画像を生成すると、制御部４は、符号付き文書画像を出力する（Ｓ１０４）。本実施形態の場合、制御部４は、符号付き文書画像を媒体に印刷する。
【００４７】
以上のように、画像処理装置２では、付加対象ビット列中に、いずれかの第１ビット列と、その第１ビット列に関連づけられた第２ビット列と、が所定の位置関係で存在していれば、その第２ビット列のビット値が文書画像に配置されなくなる。そのため、第２ビット列の各ビット値の配置による文書画像の劣化が抑制される。
【００４８】
［３．画像処理装置で実行される処理２］
図８は、画像処理装置２で実行される他の処理の一例を示す図である。この処理は、制御部４が、主記憶部６に記憶される上記プログラムに従って動作することにより実行される。本実施形態の場合、この処理は、符号付き文書画像が印刷された媒体の読取指示が行われた場合に実行される。
【００４９】
本実施形態の場合、制御部４は、画像読取部１４に媒体をスキャンさせた上で、スキャンの結果に基づいて、符号付き文書画像を取得する（Ｓ３０１）。
【００５０】
そして、Ｓ３０２〜Ｓ３０５に示す処理を、全ブロック領域について実行する。
【００５１】
すなわち、制御部４は、ブロック領域Ａｉの画像を解析する（Ｓ３０２）。
【００５２】
そして、制御部４は、Ｓ３０３〜Ｓ３０５のステップで、Ｓ３０２のステップでの解析結果に基づき、ビット位置Ｐｉのビット値Ｂｉを復号する。
【００５３】
すなわち、制御部４は、Ｓ３０２での解析結果に基づき、ブロック領域Ａｉにいずれかのビット画像が配置されているか否かを判定する（Ｓ３０３）。言い換えれば、制御部４は、Ｓ３０２の解析結果に基づき、ビット画像の検出を試みる。
【００５４】
そして、制御部４は、ブロック領域Ａｉにいずれかのビット画像が配置されていると判定した場合（Ｓ３０３のＹ）、すなわち、ビット画像を検出できた場合、ブロック領域Ａｉに配置されていると判定したビット画像が表すビット値を復号し（Ｓ３０４）、このビット値をビット値Ｂｉとして設定する。ブロック領域Ａｉにいずれかのビット画像が配置されていると判定した場合（Ｓ３０３のＹ）、制御部４は、Ｓ３０２の解析結果からビット値Ｂｉを復号できたということになる。
【００５５】
一方、制御部４は、ブロック領域Ａｉにいずれのビット画像も配置されていないと判定した場合（Ｓ３０３のＮ）、ビット位置ＰｉにフラグＺを設定する（Ｓ３０５）。ブロック領域Ａｉにいずれのビット画像も配置されていないと判定した場合（Ｓ３０３のＮ）、結果的に制御部４は、Ｓ３０２の解析結果からはビット値Ｂｉが復号できなかったということになる。
【００５６】
Ｓ３０２〜Ｓ３０５に示す処理により、図３（ｃ）に示すビット列Ｘが生成される。なお、図３（ｃ）に示すビット列Ｘは、ブロック領域Ａ５とＡ６にビット画像が配置されていない場合のビット列Ｘを示す。
【００５７】
［４．画像処理装置で実行される処理３］
図９は、ビット列Ｘが生成された場合に画像処理装置２で実行される処理の一例を示す図である。この処理は、制御部４が、主記憶部６に記憶される上記プログラムに従って動作することにより実行される。
【００５８】
制御部４は、ビット位置Ｐｉが最後列のビット位置ＰＥであるか否かを判定する（Ｓ４０１）。最初は、制御部４は、ビット位置Ｐ１がビット位置ＰＥであるか否かを判定する。
【００５９】
ビット位置Ｐｉがビット位置ＰＥである場合（Ｓ４０１のＹ）、制御部４は処理を終了する。ビット位置Ｐｉがビット位置ＰＥでない場合（Ｓ４０１のＮ）、制御部４は、Ｓ４０２のステップに進む。
【００６０】
Ｓ４０２のステップでは、制御部４は、ビット列Ｘを参照し、ビット位置Ｐｉ以前にいずれかの第１ビット列が存在するか否かを判定する。本実施形態の場合、制御部４は、第１ビット列ごとに、該第１ビット列がビット位置Ｐｉ以前に存在するか否かを判定することにより、いずれかの第１ビット列がビット位置Ｐｉ以前に存在するか否かを判定する。
【００６１】
例えば、ある第１ビット列Ｙがビット位置Ｐｉ以前に存在するか否かを判定する場合、ビット値Ｂｉ−Ｎ＋１からビット値ＢｉまでのＮビットのビット列が第１ビット列Ｙと等しいか否かを判定する。ビット値Ｂｉ−Ｎ＋１からビット値ＢｉまでのＮビットのビット列が第１ビット列Ｙと等しい場合、第１ビット列Ｙがビット位置Ｐｉ以前に存在するということになる。
【００６２】
ビット位置Ｐｉ以前にいずれの第１ビット列も存在しない場合（Ｓ４０２のＮ）、制御部４は、「ｉ」を１だけインクリメントして（Ｓ４０６）、Ｓ４０１のステップに戻る。
【００６３】
一方、ビット位置Ｐｉ以前にいずれかの第１ビット列が存在する場合（Ｓ４０２のＹ）、制御部４は、ビット位置Ｐｉ以前に存在する第１ビット列（以下、注目第１ビット列）と予め定められた位置関係を有するビット位置に、フラグＺが設定されているか否かを判定する。本実施形態の場合、制御部４は、ビット位置Ｐｉ＋１からビット位置Ｐｉ＋Ｍまでの各ビット位置についてフラグＺが設定されているか否かを判定することにより、ビット位置Ｐｉ＋１からビット位置Ｐｉ＋Ｍまでのビット列のうちからフラグＺが連続して設定されているビット列を特定する（Ｓ４０３）。
【００６４】
そして、制御部４は、Ｓ４０３のステップで特定されたビット列のビット長が、注目第１ビット列に関連付けて記憶される第２ビット列（以下、注目第２ビット列）のビット長に等しいか否かを判定する（Ｓ４０４）。
【００６５】
Ｓ４０３のステップで特定されたビット列のビット長が、注目第２ビット列のビット長と等しくない場合（Ｓ４０４のＮ）、制御部４は、「ｉ」を１だけインクリメントして（Ｓ４０６）、Ｓ４０１のステップに戻る。
【００６６】
一方、Ｓ４０３のステップで特定されたビット列のビット長が、注目第２ビット列のビット長に等しい場合（Ｓ４０４のＹ）、制御部４は、Ｓ４０３のステップで特定されたビット列の各ビット値を、注目第２ビット列の各ビット値に基づいて復号する（Ｓ４０５）。すなわち、制御部４は、Ｓ４０３のステップで特定されたビット列の各ビット値として、注目第２ビット列の各ビット値を設定する。こうして、制御部４は、付加対象ビット列を復元する。
【００６７】
例えば、「ｉ＝４」の場合、制御部４は、Ｓ４０２のステップで、ビット位置Ｐ４以前に注目第１ビット列「１０１」が存在していると判定することとなる。また、制御部４は、Ｓ４０３のステップで、ビット位置Ｐ５とビット位置Ｐ６とを含むビット列を特定することとなる。この場合、Ｓ４０３のステップで特定されたビット列のビット長と、注目第２ビット列「１０」のビット長と、は共に「２」であるので、制御部４は、Ｓ４０５のステップで、ビット位置Ｐ５とビット位置Ｐ６の各々のビット値を、注目第２ビット列の各ビットに基づいて復号することとなる。その結果、図３（ｃ）に示すビット列Ｘから、図３（ａ）に示す付加対象ビット列が復元される。
【００６８】
なお、Ｓ４０５のステップの後、制御部４は、Ｓ４０６のステップに進む。
【００６９】
以上のように、この画像処理装置２では、故意にビット値が文書画像に配置されなくても、そのビット値が復号されることとなる。そのため、付加対象符号列の復号の精度が維持される。
【００７０】
［５．機能ブロック１］
図１０は、画像処理装置２で実現される機能のうち、注目第２ビット列の配置の制限に関する機能を示す機能ブロック図である。同図に示すように、画像処理装置２では、配置部２０と、制限部２２と、を含む。制限部２２は、第１判定部２４と、第２判定部２６と、第３判定部２８と、を含む。これらの機能は、制御部４が上記プログラムに従って動作することにより実現される。
【００７１】
［配置部］
配置部２０は、制御部４を主として実現される。配置部２０は、付加対象ビット列のビット値Ｂｉのビット画像を、文書画像中の、該ビット値Ｂｉのビット位置Ｐｉに対応するブロック領域Ａｉに配置する（図６のＳ２０２）。
【００７２】
［制限部］
制限部２２は、制御部４を主として実現される。制限部２２は、いずれかの第１ビット列と、該第１ビット列に関連付けられた第２ビット列と、が予め定められた位置関係で付加対象ビット列中に存在し、且つ、上記復号可能条件が満足される場合に、付加対象ビット列中に存在する第２ビット列（注目第２ビット列）の各ビット値のビット画像の配置部２０による配置を制限する（図６のＳ２０４乃至Ｓ２０７、Ｓ２０１）。
【００７３】
［第１判定部］
すなわち、まず、第１判定部２４が、付加対象ビット列中にいずれかの第１ビット列が存在するか否かを判定する（図６のＳ２０４）。
【００７４】
［第２判定部］
付加対象ビット列中にいずれかの第１ビット列が存在すると第１判定部２４が判定した場合、第２判定部２６が、上記復号可能条件が満足されるか否かを判定する（図６のＳ２０５）。
【００７５】
［第３判定部］
また、付加対象ビット列中にいずれかの第１ビット列が存在すると第１判定部２４が判定した場合、第３判定部２８が、付加対象ビット列中に存在すると判定された第１ビット列（以下、注目第１ビット列）に関連付けられた第２ビット列（以下、注目第２ビット列）が、注目第１ビット列の位置と予め定められた関係を有する位置に存在しているか否かを判定する（図６のＳ２０６）。
【００７６】
そして、上記復号可能条件が満足されると第２判定部２６が判定し、注目第２ビット列が注目第１ビット列の位置と予め定められた関係を有する位置に存在していると第３判定部２８が判定した場合に、制限部２２は、注目第２ビット列の各ビット値のビット画像の配置部２０による配置を制限する（図６のＳ２０７及びＳ２０１）。
【００７７】
ところで、以上では、第１判定部２４が付加対象ビット列中に存在するいずれかの第１ビット列（すなわち、注目第１ビット列）を先に見つけた後で、第３判定部２８が、注目第１ビット列に関連付けられた第２ビット列（すなわち、注目第２ビット列）が、注目第１ビット列の位置と予め定められた関係を有する位置に存在するか否かを判定するようにしている。
【００７８】
しかしながら、第３判定部２８がいずれかの第２ビット列が付加対象ビット列中に存在するか否かを先に判定するようにしてもよい。こうした上で、いずれかの第２ビット列が付加対象ビット列中に存在すると第３判定部２８により判定された場合に、第１判定部２４が、付加対象ビット列中に存在すると第３判定部２８により判定された第２ビット列（すなわち、注目第２ビット列）に関連付けられた第１ビット列（すなわち、注目第１ビット列）が、注目第２ビット列の位置と予め定められた関係を有する位置に存在するか否かを判定するようにしてもよい。
【００７９】
［６．機能ブロック２］
図１１は、画像処理装置２で実現される機能のうち、符号つき文書画像からの付加対象ビット列の復号に関する機能を示す機能ブロック図である。同図に示すように、画像処理装置２では、画像解析部３０と、第１復号部３２と、第２復号部３４と、を含む。第２復号部３４は、第１判定部３６と、第２判定部３８と、を含む。これらの機能は、制御部４が上記プログラムに従って動作することにより実現される。
【００８０】
［画像解析部］
画像解析部３０は、制御部４を主として実現される。画像解析部３０は、符号付き文書画像中の各ブロック領域の画像を解析する（図８のＳ３０２）。
【００８１】
［第１復号部］
第１復号部３２は、制御部４を主として実現される。第１復号部３２は、付加対象ビット列の各ビット値Ｂｉを、該ビット値Ｂｉのビット位置Ｐｉに対応するブロック領域Ａｉの画像の解析結果に基づいて復号する。
【００８２】
本実施形態の場合、第１復号部３２は、あるビット位置Ｐｘのビット値Ｂｘを復号する場合、ブロック領域Ａｘの画像の解析結果に基づき、ブロック領域Ａｉにいずれかのビット画像が配置されているか否かを判定する（図８のＳ３０３）。
【００８３】
第１復号部３２は、ブロック領域Ａｉにいずれかのビット画像が配置されていると判定した場合、ブロック領域Ａｉに配置されているビット画像が表すビット値を、ビット値Ｂｘとして設定する（図８のＳ３０４）。こうして、第１復号部３２は、ビット位置Ｐｘのビット値Ｂｘを復号する。なお、この場合、第１復号部３２は、ビット位置Ｐｘのビット値Ｂｘを復号できたということになる。
【００８４】
一方、第１復号部３２は、ブロック領域Ａｉにいずれのビット画像も配置されていないと判定した場合、ビット位置ＰｘにフラグＺを設定する（図８のＳ３０５）。この場合、第１復号部３２は、制御部４は、ブロック領域Ａｘの画像の解析結果から、ビット値Ｂｘが復号できなかったということになる。
【００８５】
［第２復号部］
第２復号部３４は、制御部４を主として実現される。第２復号部３４は、第１復号部３２が復号できなかったビット値が存在し、且つ、第１復号部３２により復号されたビット列中にいずれかの第１ビット列が存在している場合において、第１復号部３２が復号できなかったビット値と、第１復号部３２により復号されたビット列中に存在する第１ビット列（すなわち、注目第１ビット列）と、が予め定められた位置関係を有している場合に、第１復号部３２が復号できなかったビット値を、注目第１ビット列に関連づけられた第２ビット列（すなわち、注目第２ビット列）の符号に基づいて復号する（図９参照）。
【００８６】
［第１判定部］
すなわち、まず、第１判定部３６が、第１復号部３２により復号されたビット列中に、いずれかの第１ビット列が存在するか否かを判定する（図９のＳ４０２）。
【００８７】
［第２判定部］
第２判定部３８は、第１復号部３２により復号されたビット列中にいずれかの第１ビット列が存在すると第１判定部３６が判定した場合、第１復号部３２により復号されたビット列中に存在する第１ビット列（以下、注目第１ビット列）と予め定められた位置関係を有する位置に、第１復号部３２が復号できなかったビット値Ｂｘが存在するか否かを判定する（図９のＳ４０３）。
【００８８】
そして、注目第１ビット列と予め定められた位置関係を有する位置に第１復号部３２が復号できなかったビット値Ｂｘが存在すると第２判定部３８が判定した場合、第２復号部３４は、注目第１ビット列に関連づけられた第２ビット列（すなわち、注目第２ビット列）のビット値に基づいて、ビット値Ｂｘを復号することとなる（図９のＳ４０５）。
【００８９】
ところで、以上では、第１判定部３６が、第１復号部３２により復号されたビット列中に存在する第１ビット列（以下、注目第１ビット列）を先に見つけた後で、第２判定部３８が、注目第１ビット列と予め定められた位置関係を有する位置に、第１復号部３２が復号できなかったビット値Ｂｘが存在するか否かを判定するようにしている。
【００９０】
しかしながら、第２判定部３８が、第１復号部３２が復号できなかったビット値Ｂｘが存在するか否かを先に判定するようにしてもよい。こうした上で、第１復号部３２が復号できなかったビット値Ｂｘが存在すると第２判定部３８が判定した場合に、第１判定部３６が、第１復号部３２により復号されたビット列であって、ビット値Ｂｘと予め定められた位置関係を有するビット列中にいずれかの第１ビット列が存在するか否かを判定するようにしてもよい。この場合、第２復号部３４は、第１復号部３２により復号されたビット列であって、ビット値Ｂｘと予め定められた位置関係を有するビット列中にいずれかの第１ビット列が存在すると第１判定部３６が判定した場合に、該ビット列中に存在する第１ビット列（すなわち、注目第１ビット列）に関連付けられた第２ビット列（すなわち、注目第２ビット列）の各ビット値に基づいて、ビット値Ｂｘを復号することとなる。
【００９１】
［７．その他］
なお、本発明は、以上に説明した実施形態に限定されるものではない。
【００９２】
例えば、ビット画像は、図４に示す「／」や「＼」だけに限らない。例えば、ビット画像は、図１２に示すような、ドットコードの画像であってもよい。
【図面の簡単な説明】
【００９３】
【図１】本発明の実施形態に係る画像処理装置のハードウェア構成を示す図である。
【図２】テーブルの一例を示す図である。
【図３】ビット列の一例を示す図である。
【図４】符号付き文書画像の一例を示す図である。
【図５】本発明の実施形態に係る画像処理装置で実行される処理を示すフローチャート図である。
【図６】本発明の実施形態に係る画像処理装置で実行される処理を示すフローチャート図である。
【図７】ブロック領域を説明するための図である。
【図８】本発明の実施形態に係る画像処理装置で実行される処理を示すフローチャート図である。
【図９】本発明の実施形態に係る画像処理装置で実行される処理を示すフローチャート図である。
【図１０】本発明の実施形態に係る画像処理装置で実現される機能ブロック図である。
【図１１】本発明の実施形態に係る画像処理装置で実現される機能ブロック図である。
【図１２】ビット画像の一例を示す図である。
【符号の説明】
【００９４】
２  画像処理装置、４  制御部、６  主記憶部、８  補助記憶部、１０  操作部、１２  画像形成部、１４  画像読取部、１６  バス、２０  配置部、２２  制限部、２４，３６  第１判定部、２６，３８  第２判定部、２８  第３判定部、３０  画像解析部、３２  第１復号部、３４  第２復号部。
【図１】
2010154084.tif 000003
【図２】
2010154084.tif 000004
【図３】
2010154084.tif 000005
【図４】
2010154084.tif 000006
【図５】
2010154084.tif 000007
【図６】
2010154084.tif 000008
【図７】
2010154084.tif 000009
【図８】
2010154084.tif 000010
【図９】
2010154084.tif 000011
【図１０】
2010154084.tif 000012
【図１１】
2010154084.tif 000013
【図１２】
2010154084.tif 000014