(57)【要約】【課題】入力画像に生じた輝度のムラを抑制する。【解決手段】画像処理装置１０において、ブロック分割部１１は、入力画像２０における少なくとも一部の領域を複数のブロックに分割する。ブロック分類部１２は、白画素のみを含む白ブロックにおける輝度値の分散と、白画素と黒画素のうち少なくとも黒画素を含む黒ブロックにおける輝度値の分散とに基づいて、入力画像２０の各ブロックを白ブロックと黒ブロックとに分類する。輝度補正部１３は、入力画像２０の黒ブロック内の各画素の輝度値を、この黒ブロックの近傍に位置する１つ以上の白ブロック内の各画素の平均輝度値に基づいて補正する。【選択図】図１
2012010142.tif 000002
【特許請求の範囲】
【請求項１】
入力画像における少なくとも一部の領域を複数のブロックに分割するブロック分割部と、
白画素のみを含む白ブロックにおける輝度値の分散と、白画素と黒画素のうち少なくとも黒画素を含む黒ブロックにおける輝度値の分散とに基づいて、前記入力画像の各ブロックを白ブロックと黒ブロックとに分類するブロック分類部と、
前記入力画像の黒ブロック内の各画素の輝度値を、当該黒ブロックの近傍に位置する１つ以上の白ブロック内の各画素の平均輝度値に基づいて補正する輝度補正部と、
を有することを特徴とする画像処理装置。
【請求項２】
前記ブロック分類部は、前記入力画像のブロックにおける輝度値の分散が所定の分類しきい値より大きい場合には、当該ブロックを黒ブロックに分類し、当該ブロックにおける輝度値の分散が前記分類しきい値以下である場合には、当該ブロックを白ブロックに分類することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記ブロック分類部は、白ブロックにおける輝度値の分散としてあらかじめ決められた第１のブロック内分散値と、黒ブロックにおける輝度値の分散としてあらかじめ決められた、前記第１のブロック内分散値より大きい第２のブロック内分散値とを用いて、前記入力画像のブロックが白ブロックである確率、または、当該ブロックが黒ブロックである確率の少なくとも一方を計算し、算出された確率に基づいて、当該ブロックを白ブロックまたは黒ブロックのどちらかに分類することを特徴とする請求項１記載の画像処理装置。
【請求項４】
前記輝度補正部は、白画素の輝度値の分散としてあらかじめ決められた第１の分散値と、黒画素の輝度値の分散としてあらかじめ決められた、前記第１の分散値より大きい第２の分散値とを用いるとともに、補正対象の黒ブロックの近傍に位置する１つ以上の白ブロック内の各画素の平均輝度値を当該黒ブロック内の白画素の平均輝度値として設定することで、前記入力画像の黒ブロックの各画素が白画素である確率、または、当該黒ブロックの各画素が黒画素である確率の少なくとも一方を計算し、算出された確率に基づいて、当該黒ブロック内の各画素の輝度値を補正することを特徴とする請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
前記輝度補正部は、前記入力画像の白ブロック内の全画素の輝度値を階調上の最高値に補正することを特徴とする請求項１〜４のいずれか１項に記載の画像処理装置。
【請求項６】
画像処理装置が、
入力画像における少なくとも一部の領域を複数のブロックに分割し、
白画素のみを含む白ブロックにおける輝度値の分散と、白画素と黒画素のうち少なくとも黒画素を含む黒ブロックにおける輝度値の分散とに基づいて、前記入力画像の各ブロックを白ブロックと黒ブロックとに分類し、
前記入力画像の黒ブロック内の各画素の輝度値を、当該黒ブロックの近傍に位置する１つ以上の白ブロック内の各画素の平均輝度値に基づいて補正する、
ことを特徴とする画像処理方法。
【請求項７】
コンピュータに、
入力画像における少なくとも一部の領域を複数のブロックに分割し、
白画素のみを含む白ブロックにおける輝度値の分散と、白画素と黒画素のうち少なくとも黒画素を含む黒ブロックにおける輝度値の分散とに基づいて、前記入力画像の各ブロックを白ブロックと黒ブロックとに分類し、
前記入力画像の黒ブロック内の各画素の輝度値を、当該黒ブロックの近傍に位置する１つ以上の白ブロック内の各画素の平均輝度値に基づいて補正する、
処理を実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
近年、紙媒体などの印刷物に印刷された秘密情報の漏洩を防止することが望まれている。そして、印刷された秘密情報の漏洩を防止する技術として、秘密情報を視覚的に暗号化した状態で印刷物に印刷することが考えられている。例えば、入力画像に対して、画像内の一部を暗号化するとともに、暗号化された領域の四隅などにマーカを付加する処理を行う暗号化装置がある。画像の暗号化は、例えば、入力画像の暗号化対象領域内の画素の位置を、それぞれ複数画素からなるブロックを単位として並べ替えることで行われる。
【０００３】
暗号化装置によって処理された画像は、例えば紙媒体に印刷される。印刷された画像は、カメラなどの読み取り装置によって読み取られてデジタル画像に変換され、復号装置に供給される。復号装置は、入力されたデジタル画像内のマーカの位置を基に、暗号化された領域を特定する。復号装置は、特定された領域の画像を復号して原画像を復元する。
【０００４】
一方、カメラによって撮像された画像の画質を補正する技術として、ホワイトバランス調整が知られている。ホワイトバランス調整機能を有するカメラの例としては、撮像された画像をある大きさのブロックに分割するとともに、同じ画像をより小さいブロックにも分割し、それぞれの大きさのブロックを用いて２種類のホワイトバランス補正値を算出し、各ホワイトバランス調整値を感度に応じて加重加算するものがあった。また、他の例としては、撮像された画像を複数のブロックに分割し、白色領域と判定されたブロック数が多くなれば、ホワイトバランス調整が収束したか否かを判定する各色信号間の収束判定幅を小さくするものがあった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−３０１０４４号公報
【特許文献２】特開２００７−３００３２０号公報
【特許文献３】特開２００１−１６９３０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、印刷物に印刷された画像を読み取り装置によって読み取る際には、読み取り装置と印刷物との角度や照明の当たり具合などの環境条件によっては、読み取り後のデジタル画像上に輝度ムラが発生する場合があるという問題があった。特に、読み取り装置としてカメラを用いて印刷物を撮像した場合には、カメラと印刷物とが離れていることから、環境条件が一定になりにくい。このため、カメラによって撮像された画像には、輝度ムラが発生しやすい。
【０００７】
さらに、白黒画像、特に２値画像を暗号化して印刷物に印刷した場合には、印刷物から暗号化された画像を読み取る際に上記の輝度ムラが発生すると、暗号化された画像を復号した際の画質が劣化するという問題がある。暗号化された画像を読み取って得られたデジタル画像においては、環境条件によって輝度が高くなった領域と輝度が低くなった領域は、それぞれ別の範囲にある程度集中する。しかし、暗号化された領域内のブロックは、復号時に並べ替えられる。このため、暗号化された領域に輝度ムラがある場合には、環境条件によって輝度が高くなった画素と輝度が低くなった画素とが、暗号化された領域内でそれぞれ拡散される。
【０００８】
従って、復号化された画像においては、例えば、本来は一様な明るさの白である領域が、明るさが極端に異なる画素が散在する状態、すなわちノイズが発生した状態となる。輝度ムラに起因して発生したノイズは白黒画像上で目立ちやすいことから、復号化された画像の画質を劣化させる大きな原因になる。
【０００９】
本発明はこのような点に鑑みてなされたものであり、撮像画像に生じた輝度のムラを抑制することが可能な画像処理装置、画像処理方法および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、画像処理装置が提供される。この画像処理装置は、入力画像における少なくとも一部の領域を複数のブロックに分割するブロック分割部と、白画素のみを含む白ブロックにおける輝度値の分散と、白画素と黒画素のうち少なくとも黒画素を含む黒ブロックにおける輝度値の分散とに基づいて、前記入力画像の各ブロックを白ブロックと黒ブロックとに分類するブロック分類部と、前記入力画像の黒ブロック内の各画素の輝度値を、当該黒ブロックの近傍に位置する１つ以上の白ブロック内の各画素の平均輝度値に基づいて補正する輝度補正部と、を有する。
【００１１】
また、上記目的を達成するために、上記の画像処理装置と同様の処理を行う画像処理方法、および、上記と同様の処理をコンピュータに実行させる画像処理プログラムが提供される。
【発明の効果】
【００１２】
上記の画像処理装置、画像処理方法および画像処理プログラムによれば、入力画像に生じた輝度のムラを抑制することができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施の形態に係る画像処理装置の構成例を示す図である。
【図２】暗号化画像の印刷および読み取りを行うシステムの構成例を示す図である。
【図３】画像処理装置における暗号化画像の生成手順を説明する図である。
【図４】携帯電話機における暗号化画像の復号手順を説明する図である。
【図５】復号後の画像における画質劣化について説明する図である。
【図６】携帯電話機のハードウェア構成例を示す図である。
【図７】携帯電話機が備える処理機能を示すブロック図である。
【図８】ラベリングについて説明する図である。
【図９】暗号化画像の統計的性質を示す図である。
【図１０】撮像された暗号化画像におけるブロックの例を示す図である。
【図１１】携帯電話機で実行される暗号化画像の表示処理の全体の処理手順を示すフローチャートである。
【図１２】ブロック分類処理の第１の処理例を示すフローチャートである。
【図１３】ブロック分類処理の第２の処理例を示すフローチャートである。
【図１４】画質補正処理の手順を示すフローチャートである。
【図１５】ラベリング処理の第１の処理例を示すフローチャートである。
【図１６】ラベリング処理の第２の処理例を示すフローチャートである。
【図１７】第３の実施の形態に係るコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１４】
以下、実施の形態を図面を参照して詳細に説明する。
〔第１の実施の形態〕
図１は、第１の実施の形態に係る画像処理装置の構成例を示す図である。
【００１５】
図１に示す画像処理装置１０に入力される画像（入力画像２０）は、カメラやスキャナなどの読み取り装置によって印刷物から読み取られた画像である。この入力画像２０には、読み取りの際の環境条件によって輝度のムラが発生する場合がある。特に、カメラによる撮像では、カメラと印刷物とが離間するため、印刷物への光の当たり具合が一様になりにくく、撮像画像に輝度ムラが発生しやすい。画像処理装置１０は、このような環境条件によって入力画像２０に生じた輝度ムラを抑制し、入力画像２０の画質を向上させる処理を行う。
【００１６】
この画像処理装置１０は、ブロック分割部１１、ブロック分類部１２および輝度補正部１３を備えている。ブロック分割部１１は、入力画像２０における少なくとも一部の領域を、複数のブロックに分割する。ここで、ブロックは、互いに隣接する複数の画素からなる。ブロックに分割される領域は、例えば、入力画像２０の領域のうち、暗号化画像２１が配置された領域とされる。暗号化画像２１は、原画像を暗号鍵を用いて視覚的に暗号化することで得られた画像である。特に、暗号化画像２１としては、原画像をブロックに分割した後、ブロックを復号鍵に基づいて並べ替えることで得られたものであってよい。ただし、並べ替えの単位とされたブロックと、ブロック分割部１１によって分割されるブロックとは、必ずしも同じものでなくてもよい。
【００１７】
ブロック分類部１２は、ブロック分割部１１によって分割された各ブロックを、白画素のみを含む白ブロックと、それ以外のブロックである黒ブロックとに分類する。図１において、ブロックＷ１〜Ｗ６は、白ブロックに分類されたブロック（以下、単に白ブロックと呼ぶ）であり、ブロックＢ１〜Ｂ３は、黒ブロックに分類されたブロック（以下、単に黒ブロックと呼ぶ）である。
【００１８】
ブロック分類部１２は、白ブロックにおける輝度値の統計的性質と黒ブロックにおける輝度値の統計的性質とに基づいて、分割された各ブロックを白ブロックと黒ブロックとに分類する。具体的には、ブロック分類部１２は、白ブロックにおける輝度値の分散と、黒ブロックにおける輝度値の分散とに基づいて、各ブロックを分類する。
【００１９】
読み取り装置によって読み取られた入力画像２０においては、ボケが発生した場合や、撮像素子の解像度が低い場合には、黒画素のにじみが発生しやすい。これに対して、ボケが発生した場合でも、白画素は白のままである。このため、黒画素を含むブロックでは、黒画素を含まないブロックと比較して、輝度値の分散が大きくなる傾向がある。さらに、黒画素と白画素の両方を含むブロックでは、黒画素を含まないブロックと比較して、輝度値の分散は明らかに大きくなる。
【００２０】
ブロック分類部１２は、黒ブロックにおける輝度値の分散と白ブロックにおける輝度値の分散との間の違いを利用することで、ブロックを白ブロックと黒ブロックのどちらかに精度よく分類できる。ブロック分類部１２は、例えば、入力画像２０のブロック内の画素の輝度値の分散を計算し、算出された分散を所定のしきい値と比較する。ブロック分類部１２は、算出された分散がしきい値より大きい場合には、このブロックを黒ブロックに分類し、算出された分散がしきい値以下である場合には、このブロックを白ブロックに分類する。
【００２１】
あるいは、ブロック分類部１２は、入力画像２０のブロックが白ブロックである確率、または、このブロックが黒ブロックである確率の少なくとも一方を計算し、算出された確率に基づいてブロックを分類してもよい。ブロック分類部１２は、このような確率の計算の際に、白ブロックにおける輝度値の分散としてあらかじめ決められた第１のブロック内分散値と、黒ブロックにおける輝度値の分散としてあらかじめ決められた、第１のブロック内分散値より大きい第２のブロック内分散値とを用いる。これにより、前述した統計的性質の違いが確率の計算に反映されるようになり、ブロックを高精度に分類できる。
【００２２】
輝度補正部１３は、入力画像２０の領域のうちブロック分割を行った領域について、輝度ムラが抑制されるように各画素の輝度値を補正する。ここで、白ブロックは白画素のみを含むことから、白ブロック内の各画素の平均輝度値は、黒ブロック内の各画素の平均輝度値と比較して、読み取り装置による読み取りの際に明るさが減少した度合いを正確に表すと考えられる。そこで、輝度補正部１３は、補正対象の黒ブロック内の各画素の輝度値を、この黒ブロックの近傍に位置する１つ以上の白ブロック内の各画素の平均輝度値に基づいて補正する。これにより、黒ブロック内の各画素の輝度値を、輝度ムラが抑制されるように精度よく補正できるようになる。
【００２３】
黒ブロック内の各画素の輝度値を補正する際には、黒ブロックにできるだけ近い白ブロックを選択して、選択した白ブロック内の各画素の平均輝度値を求めることが望ましい。図１の例では、黒ブロックＢ２に対して、白ブロックＷ１〜Ｗ６が隣接している。そこで、輝度補正部１３は、黒ブロックＢ２内の各画素の輝度値を、白ブロックＷ１〜Ｗ６における各画素の平均輝度値に基づいて補正する。
【００２４】
輝度補正部１３は、例えば、補正対象の黒ブロックの各画素が白画素である確率、または、この黒ブロックの各画素が黒画素である確率の少なくとも一方を計算し、算出された確率に基づいて、この黒ブロック内の各画素の輝度値を補正する。この確率の計算の際、輝度補正部１３は、白画素の輝度値の分散としてあらかじめ決められた第１の分散値と、黒画素の輝度値の分散としてあらかじめ決められた、第１の分散値より大きい第２の分散値とを用いるとともに、補正対象の黒ブロックの近傍に位置する１つ以上の白ブロック内の各画素の平均輝度値を、この黒ブロック内の白画素の平均輝度値として設定する。これにより、白画素と黒画素のそれぞれの統計的性質の違いと、近傍の白ブロック内の輝度値に基づく正確な明るさ減少度合いとが、確率の計算に反映されるようになる。従って、黒ブロック内の各画素の輝度値を、輝度ムラが抑制されるように精度よく補正できるようになる。
【００２５】
なお、輝度補正部１３によって輝度値が補正された暗号化画像２１は、例えば、復号鍵を用いてブロックが並べ替えられることで復号される。この場合には、復号後の画像において、輝度ムラに起因するノイズの発生が抑制され、復号後の画像の画質が向上する。
【００２６】
次に、上記の画像処理装置１０の処理機能を備えた装置の例として、撮像装置を挙げる。以下の第２の実施の形態では、撮像装置の例として、撮像部が搭載された携帯電話機について説明する。
【００２７】
〔第２の実施の形態〕
図２は、暗号化画像の印刷および読み取りを行うシステムの構成例を示す図である。
図２に示す画像暗号化装置１００は、印刷物２００に印刷する画像のデータを生成する。印刷物２００は、例えば、紙媒体である。画像暗号化装置１００にはプリンタ１１０が接続されており、プリンタ１１０は、画像暗号化装置１００から受信した画像データに基づいて、印刷物２００に対して画像を印刷する。
【００２８】
画像暗号化装置１００は、印刷物２００に印刷する画像の少なくとも一部の領域を、暗号化した状態に変化させることができる。以下、印刷物２００に印刷された画像のうち、暗号化された状態の画像を、暗号化画像２１０と呼ぶ。
【００２９】
印刷物２００に印刷された暗号化画像２１０は、読み取り装置によって読み取られ、デジタル画像に変換される。本実施の形態では、読み取り装置の例として、撮像機能付きの携帯電話機３００が用いられる。なお、読み取り装置としては、例えば、携帯電話機に限らない各種の撮像装置や、スキャナなどが用いられてもよい。
【００３０】
携帯電話機３００は、暗号化画像２１０を撮像してデジタル画像を生成し、デジタル画像内の暗号化画像２１０の領域を復号して、原画像を復元する。復元された原画像は、例えば、携帯電話機３００のモニタに表示される。
【００３１】
以下の説明では、まず、暗号化画像２１０の生成手順とその復号手順について説明した後、復号された画像の画質劣化という問題点について説明する。さらに、携帯電話機３００において実行される、復号された画像の画質劣化を抑制する処理について説明する。
【００３２】
まず、図３は、画像処理装置における暗号化画像の生成手順を説明する図である。
画像暗号化装置１００は、まず、入力画像２２０内に暗号化の対象とする領域（暗号化対象領域２２１）を指定する（ステップＳ１１）。ここで、入力画像２２０は、各画素が輝度データのみを有する白黒画像である。ただし、入力画像２２０の各画素が採りうる値は、最低値に近い値と最高値に近い値の２値であることが好ましい。なぜなら、暗号化対象領域２２１に含まれる文字、図形、絵などの画像は、その背景に対するコントラストが大きい方が、復号化されたときに人間が識別しやすいからである。なお、暗号化対象領域２２１は、画像暗号化装置１００を操作するオペレータの入力操作に応じて設定されてもよい。
【００３３】
次に、画像暗号化装置１００は、暗号化対象領域２２１を、それぞれ同じ数の画素からなるブロックに分割する（ステップＳ１２）。ブロックは、例えば、８画素×８画素の矩形領域とされる。
【００３４】
次に、画像暗号化装置１００は、暗号鍵に基づいて決定される規則に従って、暗号化対象領域２２１内のブロックを並べ替えることで、暗号化対象領域２２１の画像を暗号化画像２１０に変換する（ステップＳ１３）。例えば、暗号化対象領域２２１に文字が含まれていた場合には、ブロックが並べ替えられることで、暗号化対象領域２２１内の文字を人間が読み取ることができなくなる。なお、暗号鍵を用いたブロックの並べ替えの方法としては種々考えられるが、例えば、暗号鍵に基づいて決定される位置のブロックを、暗号鍵に基づいて決定される別の位置のブロックと入れ替える方法を適用できる。
【００３５】
また、画像暗号化装置１００は、暗号化対象領域２２１内のブロックを並べ替えた後に、復号の際に暗号化対象領域２２１あるいはブロックの位置の目印になる情報を入力画像２２０に付加してもよい。本実施の形態では、例として、画像暗号化装置１００は、暗号化対象領域２２１の四隅に領域識別マーカ２２２を付加する。領域識別マーカ２２２は、復号化時に暗号化対象領域２２１を特定する際に使用される情報である。なお、領域識別マーカ２２２が付加される位置やその形状は、復号側装置が暗号化対象領域２２１を認識できるようなものであれば、特に限定されるものではない。
【００３６】
さらに、画像暗号化装置１００は、並べ替え後の各ブロックの所定位置に、ブロック識別マーカ２２３を付加する。ブロック識別マーカ２２３は、復号化時に各ブロックの位置を特定する際に使用される情報である。図３の例では、ブロック識別マーカ２２３は、各ブロック２２４の左上の複数画素を、輝度値０に変換することで付加される。また、ブロック識別マーカ２２３は、必ずしもすべてのブロックに対して付加されなくてもよい。例えば、ブロック識別マーカ２２３は、少なくとも、黒画素を１つも含まないブロックに対して付加されればよい。なお、ブロック識別マーカ２２３が付加される位置やその形状は、復号側装置が認識できるようなものであれば、特に限定されるものではない。
【００３７】
画像暗号化装置１００は、入力画像２２０に対してその内部の暗号化対象領域２２１を暗号化して得られた画像２２０ａのデータを、プリンタ１１０に送信し、画像２２０ａを印刷物２００に印刷させる（ステップＳ１４）。これにより、印刷物２００に暗号化画像２１０が印刷される。
【００３８】
図４は、携帯電話機における暗号化画像の復号手順を説明する図である。
携帯電話機３００の撮像部は、印刷物２００に印刷された画像を撮像し、撮像画像２３０を得る（ステップＳ２１）。この撮像画像２３０には、暗号化画像２１０が含まれる。
【００３９】
携帯電話機３００は、撮像画像２３０に対して画像処理を行い、暗号化画像２１０の四隅に付加された領域識別マーカ２２２を検出する（ステップＳ２２）。携帯電話機３００は、領域識別マーカ２２２の位置に基づいて、暗号化画像２１０の領域（前述の暗号化対象領域２２１）を特定する。このとき、携帯電話機３００は、特定した暗号化対象領域２２１の歪みを補正する処理を行ってもよい。
【００４０】
さらに、携帯電話機３００は、特定した暗号化対象領域２２１の内部から、ブロック識別マーカ２２３を検出し、ブロック識別マーカ２２３の位置に基づいて、暗号化対象領域２２１をブロックに分割する（ステップＳ２３）。なお、ブロック識別マーカ２２３は、暗号化対象領域２２１の歪み補正処理に利用されてもよい。
【００４１】
携帯電話機３００は、復号鍵に基づいて決定される規則に従ってブロックを並べ替えることで、暗号化対象領域２２１の画像を復号し、原画像に戻す（ステップＳ２４）。携帯電話機３００は、撮像画像２３０に対してその内部の暗号化対象領域２２１を復号して得られた復号画像２３１を、例えば、自装置のモニタに表示させる。また、携帯電話機３００は、復号画像２３１のデータを、記録媒体に記録したり、あるいは、他の装置に送信してもよい。
【００４２】
次に、復号後の画像に生じる問題点について説明する。図５は、復号後の画像における画質劣化について説明する図である。
以下の説明では、例として、暗号化対象領域内の原画像には、輝度が最高値である白色の背景上に、輝度が最低値である黒色の文字が描かれているものとする。このような原画像が暗号化されて印刷物に印刷された状態でも、印刷物の表面の色が白ければ、印刷された暗号化画像も白または黒の画素から構成されることに変わりはない。
【００４３】
ところが、印刷物に印刷された画像を撮像装置によって撮像する際には、撮像装置と印刷物との角度や照明の当たり具合などの環境条件によっては、撮像によって得られた撮像画像２３０上に輝度ムラが発生する場合がある。特に、カメラによって印刷物が撮像される場合には、通常、カメラと印刷物との間が離間していることから、環境条件が一定になりにくく、輝度ムラが発生しやすいと言える。
【００４４】
環境条件によって輝度ムラが生じた場合には、通常、撮像画像上の一部に比較的明るい領域が集中し、それとは別の領域に比較的暗い領域が集中する。図５の左側に示す撮像画像２３０の例では、撮像画像２３０の右下の領域が明るく、左上の領域が暗い。ここで、撮像画像２３０の暗号化対象領域２２１に含まれる画素のうち、暗号化される前の原画像では背景であった画素（以下、背景画素と呼ぶ）の輝度値は、本来は最高値であるはずである。しかしながら、輝度ムラが生じた場合、一部の背景画素の輝度値は低下する。特に、暗号化対象領域２２１の最も明るい領域（図５の左図では右下の領域）に配置された背景画素の輝度値はほぼ最高値となるが、最も暗い領域（図５の左図では左上の領域）に配置された背景画素の輝度値は、最高値から大きく低下した値となる。
【００４５】
このような状態から、撮像画像２３０の暗号化対象領域２２１が復号されると、暗号化対象領域２２１内のブロックが復号鍵に応じて入れ替えられる。このとき、図５の右側に示す復号画像２３１のように、輝度値にそれぞれ差が生じた背景画素は、暗号化対象領域２２１の全体に拡散する。このため、暗号化対象領域２２１が復号された復号画像２３１では、文字領域を除く背景領域において、輝度値の異なる画素が散在する状態となり、復号画像２３１の画質が低下してしまう。特に、背景領域において、輝度値が低下した領域の中に極端に明るい画素が点在する場合には、極端に明るい画素が目立つようになり、復号画像２３１を視認した視認者が画質劣化を感じやすくなる。
【００４６】
そこで、本実施の形態の携帯電話機３００は、暗号化対象領域２２１内のブロックを入れ替える前に、画質補正処理を行う。画質補正処理により、撮像画像の輝度ムラを抑制し、復号化後の画像においてノイズが目立たなくなるようにする。また、画質補正の際には、各ブロックにおける輝度値の分散に基づいて、暗号化対象領域２２１内の画像から黒画素を含まない白ブロックを抽出し、白ブロック以外のブロックである黒ブロックの輝度値を、黒ブロックの周囲の白ブロックの輝度値を基に補正する。
【００４７】
図６は、携帯電話機のハードウェア構成例を示す図である。
携帯電話機３００は、制御部３０１、ＲＡＭ（Random Access Memory）３０２、フラッシュメモリ３０３、メモリインタフェース（Ｉ／Ｆ）３０４、無線通信インタフェース（Ｉ／Ｆ）３０５、音声処理部３０６、マイクロフォン３０６ａ、スピーカ３０６ｂ、表示処理部３０７、モニタ３０７ａ、入力部３０８およびカメラモジュール３０９を備えている。
【００４８】
制御部３０１は、携帯電話機３００内の各ブロックを統括的に制御する。この制御部３０１は、例えば、ＣＰＵ（Central Processing Unit）を備え、フラッシュメモリ３０３などに記憶されたプログラムをＣＰＵが実行することで各種の処理を実行する。制御部３０１は、例えば、無線通信インタフェース３０５を通じた通話処理や、カメラモジュール３０９から得られた撮像画像を利用した暗号化画像の復号処理、復号対象とする画像の画質補正処理などを実行する。なお、制御部３０１では、このような処理機能が複数のハードウェアとして実装されていてもよい。
【００４９】
ＲＡＭ３０２には、制御部３０１に実行させるプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ３０２には、制御部３０１による処理に必要な各種データが格納される。
【００５０】
フラッシュメモリ３０３には、制御部３０１が実行するプログラムや、制御部３０１の処理に必要なデータが記憶される。なお、このフラッシュメモリ３０３と同様の機能を果たす記憶媒体として、他の種類の不揮発性記憶媒体が用いられてもよい。
【００５１】
メモリインタフェース３０４には、可搬型メモリ３０４ａが挿抜可能に接続される。可搬型メモリ３０４ａは、例えば、フラッシュメモリである。メモリインタフェース３０４は、可搬型メモリ３０４ａと制御部３０１との間でデータを送受信する。
【００５２】
無線通信インタフェース３０５は、図示しない無線ネットワークに対して無線接続するインタフェース回路である。この無線通信インタフェース３０５には、例えば、ＲＦ（Radio Frequency）回路や、送受信信号の変復調回路などが設けられている。
【００５３】
音声処理部３０６は、マイクロフォン３０６ａからの音声信号をデジタル信号に変換し、所定のフォーマットにエンコードして制御部３０１に出力する。また、制御部３０１からの音声信号をデコードしてアナログ信号に変換し、スピーカ３０６ｂに出力して再生させる。
【００５４】
表示処理部３０７は、制御部３０１から出力された表示情報を基に映像信号を生成し、モニタ３０７ａに出力して表示させる。モニタ３０７ａは、例えば、ＬＣＤ（Liquid Crystal Display）である。
【００５５】
入力部３０８は、入力キーなどを具備して、ユーザの操作入力に応じた制御信号を制御部３０１に出力する。
カメラモジュール３０９は、カメラとしての機能を実現するハードウェアであり、制御部３０１の制御の下で動作する。カメラモジュール３０９は、印刷物２００などの被写体からの光を受け付けるレンズなどの光学機構、レンズを通じて入射された光を受光する撮像素子、および、撮像素子から出力されたアナログ画像信号をデジタル化するデジタル化回路を備える。さらに、カメラモジュール３０９は、デジタル化回路から出力されたデジタル画像信号に基づくＡＦ（Auto Focus）、ＡＥ（Auto Exposure）制御処理、デジタル画像信号に対する圧縮符号化処理や各種のフォーマット変換処理などを実行する処理回路を備える。
【００５６】
図７は、携帯電話機が備える処理機能を示すブロック図である。
図７に示すように、携帯電話機３００は、撮像制御部３２１、ブロック分割部３２２、画質補正部３２３、画像復号部３２４および画像出力制御部３２５を備えている。また、画質補正部３２３は、ブロック分類部３３１、劣化パラメータ算出部３３２およびラベリング部３３３を備えている。また、携帯電話機３００のＲＡＭ３０２には、撮像画像データ２４０、補正画像データ２５０およびブロック情報２６０が一時的に記憶される。
【００５７】
図７に示した各処理機能の処理は、例えば、制御部３０１が所定のアプリケーションプログラムを実行することで実現される。例えば、入力部３０８に対するユーザの入力操作により携帯電話機３００が「画像復号モード」に設定されると、画像復号アプリケーションプログラムが制御部３０１によって実行され、これによって図７に示す各処理機能が起動する。なお、図７に示す処理機能が実行する処理の少なくとも一部は、例えば、専用の処理回路によって実現されてもよい。
【００５８】
撮像制御部３２１は、入力部３０８に対するユーザによる操作入力に応じて、カメラモジュール３０９に撮像動作を実行させ、カメラモジュール３０９から撮像画像データ２４０を取得してＲＡＭ３０２に格納する。撮像制御部３２１は、例えば、カメラモジュール３０９に１枚の静止画像を撮像させてもよいが、本実施の形態では、カメラモジュール３０９に動画像を撮像させ、得られた複数枚のフレームからブレの少ないフレームを抽出する。
【００５９】
撮像制御部３２１は、例えば、カメラモジュール３０９に動画像を撮像させ、順次得られるフレームのデータからコントラストを算出する。そして、撮像制御部３２１は、コントラストの値があらかじめ決められた一定値以上であるときに、対応するフレームのデータを撮像画像データ２４０としてＲＡＭ３０２に格納する。あるいは、撮像制御部３２１は、カメラモジュール３０９に一定時間だけ動画像を撮像させ、得られた複数枚のフレームのデータのうち、コントラストが最も高いフレームのデータを、撮像画像データ２４０としてＲＡＭ３０２に格納してもよい。
【００６０】
ここで、ＲＡＭ３０２に格納された撮像画像データ２４０に基づいて生成される画像を、“撮像画像”と呼ぶ。ここで言う撮像画像は、図４，図５に示した撮像画像２３０に対応する。
【００６１】
ブロック分割部３２２は、得られた撮像画像をブロックに分割する。本実施の形態では、ブロック分割部３２２は、図４のステップＳ２２，Ｓ２３で説明したように、撮像画像に付与された領域識別マーカ２２２およびブロック識別マーカ２２３を検出し、検出した各マーカに基づいてブロック分割を行う。この処理によれば、ブロック分割部３２２は、撮像画像から、暗号化の際に位置の入れ替えが行われたブロックを認識する。
【００６２】
また、ＲＡＭ３０２には、分割された各ブロックについての情報を含むブロック情報２６０が格納される。ブロック情報２６０には、例えば、ブロックの座標範囲を示す座標情報２６１、ブロックが後述する白ブロックか黒ブロックかを識別するブロック種別２６２、ブロックの明るさが撮像時にどれだけ劣化したかを示す劣化パラメータ２６３などの情報が、ブロックごとに格納される。なお、後述するように、劣化パラメータ２６３は、ブロック種別２６２が白ブロックを表す場合にのみ格納されてもよい。
【００６３】
ブロック分割部３２２は、分割した各ブロックについての座標情報２６１をブロック情報２６０に登録する。座標情報２６１は、例えば、対応するブロック内の画素の輝度値を撮像画像データ２４０および補正画像データ２５０から読み出す際に、それぞれ画質補正部３２３および画像復号部３２４によって参照される。また、座標情報２６１は、例えば、対応するブロック内の画素の輝度値を補正画像データ２５０に書き込む際に、画質補正部３２３および画像復号部３２４によって参照される。
【００６４】
また、ブロック分割部３２２は、撮像画像をブロックに分割した後、各ブロックの左上に付与されたブロック識別マーカ２２３を消去する。ブロック分割部３２２は、例えば、撮像画像上の画素のうち、ブロック識別マーカ２２３の周囲に位置する画素の輝度値を基に補間演算を行い、ブロック識別マーカ２２３の各画素の輝度値を、補間演算により算出された輝度値で置換する。このような輝度値の置換によって、撮像画像データ２４０が更新される。
【００６５】
なお、ブロック識別マーカ２２３を消去する処理は、例えば、画像復号部３２４に入力される補正画像データ２５０に対して行われてもよい。この場合、画質補正部３２３は、各ブロックの画素のうちブロック識別マーカ２２３に含まれる画素の輝度値を、処理から除外する。
【００６６】
画質補正部３２３は、撮像時の環境条件によって撮像画像に生じた輝度ムラを抑制する画質補正処理を行う。画質補正部３２３は、最終的に、輝度ムラが抑制されるように輝度値が補正された補正画像データ２５０を生成する。なお、以下の説明では、画質補正部３２３によって輝度値が補正された、補正画像データ２５０に基づく画像を、“補正画像”と呼ぶ。
【００６７】
本実施の形態では、画質補正部３２３内の少なくともラベリング部３３３での処理に先立って、補正画像データ２５０の記憶領域がＲＡＭ３０２にあらかじめ用意される。補正画像データ２５０の記憶領域には、撮像画像の各画素に対応する記憶領域が設けられている。画質補正部３２３は、補正画像データ２５０の記憶領域に対して、各画素についての補正後の輝度値を書き込む。補正画像データ２５０の記憶領域に対して各画素の輝度値を書き込む処理を、“ラベリング”と呼ぶ。
【００６８】
ここで、図８は、ラベリングについて説明する図である。
ＲＡＭ３０２に記憶された撮像画像データ２４０は、撮像画像の各画素の輝度値を含む。本実施の形態では、撮像画像の各画素の輝度値は、０〜２５５の値をとる。一方、ＲＡＭ３０２に生成された補正画像データ２５０は、撮像画像の各画素に対応する記憶領域を有する。画質補正部３２３は、補正画像データ２５０内の各画素の記憶領域に対して、補正後の輝度値として０〜２５５のいずれかの数値（ラベル）を書き込む。このようにラベルを書き込む処理を、ラベリングと呼ぶ。画質補正部３２３は、補正画像データ２５０内の全画素の記憶領域に対して輝度値を書き込むことで、画質補正処理を終了する。
【００６９】
また、画質補正部３２３は、補正画像データ２５０内の各画素に書き込む数値の演算の際に、撮像画像データ２４０内の輝度値を参照する。ここで、撮像画像データ２４０と補正画像データ２５０とがそれぞれ個別に領域に記憶されることで、画質補正部３２３は、撮像画像データ２４０に含まれる補正前の輝度値を参照しながら、補正画像データ２５０に対して補正後の輝度値を書き込んでいくことが可能になる。
【００７０】
以下、図７に戻って説明する。画質補正部３２３において、ブロック分類部３３１は、ブロック分割部３２２によって分割された各ブロックが白ブロック、黒ブロックのどちらであるかを判定し、判定結果をブロック種別２６２としてブロック情報２６０に登録する。白ブロックとは、ブロック内に、原画像に記述された文字の領域に対応する黒の画素を全く含まないブロックであり、黒ブロックとは、白ブロック以外のブロックである。ブロック分類部３３１は、後述するように、ブロック内の各画素の輝度値の分散を基に、ブロックが白ブロックか黒ブロックかを判別する。
【００７１】
劣化パラメータ算出部３３２は、撮像画像の各ブロックについての劣化パラメータを算出する。劣化パラメータとは、各ブロックについて、撮像時に明るさがどれだけ減少したかを表すパラメータであり、補正後の輝度値の算出時に利用されるものである。後述するように、黒ブロックの劣化パラメータは、その周囲に存在する白ブロックの輝度値に基づいて算出される。このような処理により、黒ブロック内の画素の輝度値は、周囲の白ブロックの明るさに応じて補正されるようになる。なお、劣化パラメータ算出部３３２は、白ブロックの劣化パラメータを、ブロック情報２６０に劣化パラメータ２６３として登録する。
【００７２】
ラベリング部３３３は、劣化パラメータ算出部３３２によって算出された劣化パラメータに基づいて、補正画像の各画素の輝度値を算出し、算出した輝度値を補正画像データ２５０の記憶領域にラベリングする。ラベリング部３３３は、例えば、劣化パラメータを基に、黒ブロック内の各画素が、原画像において文字領域に含まれない白画素である確率と、文字領域に含まれる黒画素である確率とを計算する。そして、ラベリング部３３３は、各確率の計算結果を基に、黒ブロック内の各画素についての補正後の輝度値を算出する。
【００７３】
画像復号部３２４は、図４のステップＳ２４で説明したように、補正画像のブロックを復号鍵に基づいて並べ替えることで、補正画像に含まれる暗号化画像２１０を復号し、原画像を復元する。
【００７４】
画像出力制御部３２５は、画像復号部３２４によって原画像が復元された画像のデータを表示処理部３０７に伝送し、原画像が復元された画像をモニタ３０７ａに表示させる。なお、画像出力制御部３２５は、例えば、原画像が復元された画像のデータを、フラッシュメモリ３０３または可搬型メモリ３０４ａに記録してもよい。あるいは、画像出力制御部３２５は、原画像が復元された画像のデータを、無線通信インタフェース３０５を通じてネットワーク上の他の装置に送信してもよい。
【００７５】
次に、画質補正部３２３によって実行される画質補正処理について、詳しく説明する。まず、ブロック分類部３３１におけるブロック分類処理について説明する。
＜ブロック分類処理＞
図９は、暗号化画像の統計的性質を示す図である。
【００７６】
図９に示すグラフ４０１，４０２，４０２ａ，４０２ｂは、それぞれ暗号化画像２１０の輝度値のヒストグラムの例を示す。グラフ４０１は、画像暗号化装置１００において暗号化処理が行われた直後における、暗号化画像２１０の輝度値のヒストグラムである。グラフ４０１に示すように、画像暗号化装置１００によって生成される暗号化画像２１０は、文字領域に含まれる輝度値“０”の黒画素と、背景領域に含まれる輝度値“２５５”の白画素とからなる。
【００７７】
次に、グラフ４０２は、携帯電話機３００によって撮像された撮像画像上の暗号化画像２１０の輝度値のヒストグラムである。ただし、ここでは、撮像時において暗号化画像２１０の全体に一様な明るさの照明が照射されているものと仮定する。
【００７８】
グラフ４０２に示すように、撮像画像上の暗号化画像２１０では、白画素の輝度値の分散はあまり変化しないものの、黒画素の輝度値の分散は大きくなる傾向にある。例えば、静止していない状態やフォーカスが合っていない状態で撮像が行われた場合、撮像画像にはボケが生じる。ボケが生じた場合でも、白画素は白いままであるので、白画素の輝度値の分散は、グラフ４０１の場合とほとんど変わらず、小さい。
【００７９】
これに対して、ボケが生じた場合、黒画素の領域、すなわち暗号化画像２１０の文字領域は、にじんだ状態となる。特に、文字領域と背景領域とのエッジでは、輝度値が大きく低下する黒画素もある。さらに、撮像素子の解像度が低い場合にも、文字領域はにじみやすくなる。このようなにじみが発生することで、黒画素の輝度値の分散は、白画素の輝度値の分散より大きくなる。
【００８０】
次に、暗号化画像２１０が明るく撮像された場合（例えば露出オーバーの場合）と暗く撮像された場合（例えば露出アンダーの場合）とを比較する。ただし、グラフ４０２の場合と同様に、撮像時において暗号化画像２１０の全体に一様な明るさの照明が照射されているものと仮定する。
【００８１】
暗号化画像２１０が明るく撮像された場合には、白画素については、いわゆる白飛びの状態になる。このため、グラフ４０２ａに示すように、ほぼすべての白画素の輝度値は２５５となり、白画素の輝度値の分散はグラフ４０１，４０２の場合と同様に小さい。一方、黒画素の輝度値は、グラフ４０２の場合と比較して平均的に高くなるものの、黒画素の輝度値の分散は、グラフ４０２の場合と同様に白画素の輝度値の分散より大きくなる。
【００８２】
また、暗号化画像２１０が暗く撮像された場合には、グラフ４０２ｂに示すように、白画素の輝度値は低くなるが、それぞれの白画素の輝度値は一様に低下するため、白画素の輝度値の分散は大きくなりにくい。一方、黒画素の輝度値は、グラフ４０２の場合と比較して平均的に低くなる。しかしながら、黒画素の輝度値の分散は、白画素の輝度値の分散より大きくなる。
【００８３】
次に、上記のグラフ４０１，４０２，４０２ａ，４０２ｂを参考にして、暗号化画像２１０内の各ブロックの統計的性質について考える。文字領域の黒画素を含まない白ブロックにおける各画素の輝度値の統計的性質は、グラフ４０２，４０２ａ，４０２ｂに示した、白画素の輝度値の統計的性質と同じであると考えることができる。
【００８４】
一方、黒ブロックには、黒画素のみを含むブロックと、黒画素と白画素とが混在するブロックの２種類がある。黒画素のみを含む黒ブロックにおける各画素の輝度値の統計的性質は、グラフ４０２，４０２ａ，４０２ｂに示した、黒画素の輝度値の統計的性質と同じであると考えることができる。従って、黒ブロックにおける輝度値の分散は、白ブロックにおける輝度値の分散より大きい。また、黒画素と白画素とが混在する黒ブロックでは、白画素のみを含む白ブロックの場合と比較して輝度値の分散が大きくなることは明らかである。
【００８５】
このように、白ブロックにおける輝度値の分散より黒ブロックにおける輝度値の分散の方が大きくなるという性質は、撮像時の環境条件によって暗号化画像２１０に輝度ムラが生じている場合でも同様に現れる。なぜなら、輝度ムラは、白画素の明るさに対しても黒画素の明るさに対しても同じように影響するので、輝度ムラが発生した場合には、白画素の輝度値の分散も、黒画素の輝度値の分散も、同じように大きくなるからである。
【００８６】
そこで、ブロック分類部３３１は、白ブロックおよび黒ブロックのそれぞれにおける輝度値の分散の違いに基づいて、ブロック分割部３２２によって分割されたブロックが白ブロックか黒ブロックかを判定する。以下、ブロック分類部３３１によるブロック分類処理の例を２種類挙げる。
【００８７】
［ブロック分類処理の第１の処理例］
ブロック分類処理の第１の処理例では、ブロック分類部３３１は、分割されたブロックごとに輝度値の分散σb2を算出し、算出された分散σb2を、あらかじめ決められたしきい値γと比較する。ブロック分類部３３１は、着目ブロックにおける輝度値の分散σb2がしきい値γより大きい場合、着目ブロックは黒ブロックであると判定する。一方、ブロック分類部３３１は、着目ブロックにおける輝度値の分散σb2がしきい値γ以下である場合、着目ブロックは白ブロックであると判定する。このような処理により、白ブロック、黒ブロックのそれぞれについての統計的性質の違いに基づいて、着目ブロックが白ブロックと黒ブロックのどちらであるかを高精度に判定できる。
【００８８】
［ブロック分類処理の第２の処理例］
ブロック分類処理の第２の処理例では、ブロック分類部３３１は、前述した輝度値の分散の違いを利用して、着目ブロックが白ブロックである確率を算出し、算出された確率の値に応じて、着目ブロックが白ブロックであるか黒ブロックであるかを判定する。ブロック分類部３３１は、例えば、白ブロックおよび黒ブロックのそれぞれに含まれる各画素の輝度値が正規分布に従って分布すると定義した統計モデルを用いて、着目ブロックが白ブロックである確率、黒ブロックである確率をそれぞれ求める。この統計モデルにおいて、黒ブロックにおける輝度値の分散を白ブロックにおける輝度値の分散より大きく設定することで、着目ブロックが白ブロック、黒ブロックのどちらかであるかの判定精度を高める。
【００８９】
まず、着目ブロックｂが白ブロック（ｋ＝ｗ＿ｂｌｏｃｋ）または黒ブロック（ｋ＝ｂ＿ｂｌｏｃｋ）から生起される確率（ｐ｜ｋ）は、例えば、次の式（１）のように定義される。式（１）は、白ブロックおよび黒ブロックのそれぞれに含まれる各画素の輝度値が正規分布に従って分布すると定義した統計モデルによって、確率（ｐ｜ｋ）を表したものである。
【００９０】
【数１】
2012010142.tif 000003
【００９１】
式（１）において、ｘiは、ブロックｂに含まれる画素のうち座標ｉの画素の輝度値であり、μbは、ブロックｂに含まれる各画素の輝度値の平均値である。また、σ12（ｋ）は、白ブロック内または黒ブロック内の輝度値の分散であり、事前に設定される値である。黒ブロックについての確率（ｐ｜ｋ＝ｂ＿ｂｌｏｃｋ）を算出する際に設定される分散σ12（ｋ＝ｂ＿ｂｌｏｃｋ）は、白ブロックについての確率（ｐ｜ｋ＝ｗ＿ｂｌｏｃｋ）を算出する際に設定される分散σ12（ｋ＝ｗ＿ｂｌｏｃｋ）より、大きな値とされる。
【００９２】
また、白ブロックの発生頻度と黒ブロックの発生頻度はそれぞれ１／２であると仮定して、白ブロックまたは黒ブロックの発生確率ｐ（ｋ）を、次の式（２）のように定義する。
ｐ（ｋ）＝１／２                                                    ・・・（２）
式（１）と式（２）とを基にして、着目ブロックｂが白ブロックまたは黒ブロックである確率ｐ（ｋ｜ｂ）は、ベイズ（Bayes）の定理を用いて次の式（３）によって求められる。なお、式（３）のＺは、式（４）のように定義される。
【００９３】
【数２】
2012010142.tif 000004
【００９４】
ブロック分類部３３１は、各ブロックについて、式（３）に従って白ブロックである確率ｐ（ｋ＝ｗ＿ｂｌｏｃｋ｜ｂ）を計算する。式（３）の計算の際、ブロック分類部３３１は、前述したように、分散σ12（ｋ＝ｂ＿ｂｌｏｃｋ）として、分散σ12（ｋ＝ｗ＿ｂｌｏｃｋ）より大きな値を設定する。
【００９５】
ブロック分類部３３１は、算出した確率ｐ（ｋ＝ｗ＿ｂｌｏｃｋ｜ｂ）が所定のしきい値（例えば“０．７”）を超えた場合に、着目ブロックを白ブロックと判定する。一方、ブロック分類部３３１は、算出された確率ｐ（ｋ＝ｗ＿ｂｌｏｃｋ｜ｂ）がしきい値以下である場合に、着目ブロックを黒ブロックと判定する。
【００９６】
なお、ブロック分類部３３１は、例えば、式（３）に従って、各ブロックが黒ブロックである確率ｐ（ｋ＝ｂ＿ｂｌｏｃｋ｜ｂ）を計算してもよい。この場合、ブロック分類部３３１は、算出された確率ｐ（ｋ＝ｂ＿ｂｌｏｃｋ｜ｂ）が所定のしきい値（例えば“０．３”）以下の場合に、着目ブロックを白ブロックと判定する。一方、ブロック分類部３３１は、算出された確率ｐ（ｋ＝ｂ＿ｂｌｏｃｋ｜ｂ）がしきい値を超えた場合に、着目ブロックを黒ブロックと判定する。
【００９７】
以上の処理により、白ブロック、黒ブロックのそれぞれについての統計的性質の違いに基づいて、着目画素が白ブロックと黒ブロックのどちらであるかを高精度に判定できる。
別の例として、ブロック分類部３３１は、各ブロックについて式（３）に従って黒ブロックである確率ｐ（ｋ＝ｂ＿ｂｌｏｃｋ｜ｂ）を計算し、算出された値をしきい値と比較することで、着目ブロックが白ブロックか黒ブロックかを判定してもよい。
【００９８】
ブロック分類部３３１は、着目ブロックが白ブロックか黒ブロックかを示す判定結果を、ブロック種別２６２としてＲＡＭ３０２に記録する。
＜劣化パラメータ算出処理＞
ブロックの分類処理が終了した後、ラベリング部３３３は、劣化パラメータ算出部３３２によって算出された劣化パラメータに基づいて、補正画像の各画素の輝度値を算出し、算出した輝度値を補正画像データ２５０の記憶領域にラベリングする。劣化パラメータとは、各ブロックについて、撮像時に明るさがどれだけ減少したかを表すパラメータである。劣化パラメータ算出部３３２は、以下に示す手順に従って劣化パラメータを算出する。
【００９９】
まず、白ブロックの劣化パラメータμb’（ｋ＝ｗ＿ｂｌｏｃｋ）は、次の式（５）によって求められる。劣化パラメータ算出部３３２は、式（５）に従って算出した劣化パラメータμb’（ｋ＝ｗ＿ｂｌｏｃｋ）を、ブロック情報２６０における対応するブロックのエントリに、劣化パラメータ２６３として登録する。
μb’（ｋ＝ｗ＿ｂｌｏｃｋ）＝μb                                    ・・・（５）
ここで、図１０は、撮像された暗号化画像におけるブロックの例を示す図である。この図１０を用いて、黒ブロックの劣化パラメータの算出方法について説明する。なお、図１０では、ブロックの位置がわかりやすくなるように、ブロック識別マーカ２２３が残った状態の暗号化画像２１０を示している。
【０１００】
図１０において、実線で囲んだブロックが黒ブロックであり、点線で囲んだブロックが白ブロックである。前述のように、白ブロックは、白画素のみを含むブロックである。このため、撮像された暗号化画像２１０における白ブロックの輝度平均値（すなわち、白ブロックの劣化パラメータ）は、黒画素と白画素とが混在し得る黒ブロックの輝度平均値と比較して、撮像時に明るさがどれだけ減少したかをより正確に表す指標となる。
【０１０１】
そこで、劣化パラメータ算出部３３２は、黒ブロックの近傍に存在する白ブロックの輝度値を用いて、黒ブロックの劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）を求める。具体的には、劣化パラメータ算出部３３２は、黒ブロックの近傍の１つ以上の白ブロックにおける平均輝度値を、黒ブロックの劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）とする。
【０１０２】
このような黒ブロックの劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）は、あらかじめ算出された白ブロックの劣化パラメータμb’（ｋ＝ｗ＿ｂｌｏｃｋ）（すなわち、ブロック情報２６０に登録された劣化パラメータ２６３）を用いて、次の式（６）によって求めることもできる。
【０１０３】
【数３】
2012010142.tif 000005
【０１０４】
なお、式（６）において、ｎは、劣化パラメータの算出時に利用する、黒ブロックの近傍に存在する白ブロックを示し、ｍは、劣化パラメータの算出時に利用する白ブロックの数を示す。
【０１０５】
劣化パラメータ算出部３３２は、例えば、ブロック情報２６０を参照して、黒ブロックを１つずつ選択するとともに、選択した黒ブロックの近傍に存在する白ブロックを選択する。劣化パラメータ算出部３３２は、選択した白ブロックの劣化パラメータμb’（ｋ＝ｗ＿ｂｌｏｃｋ）をブロック情報２６０から読み込み、式（６）に従って黒ブロックの劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）を算出する。
【０１０６】
劣化パラメータ算出部３３２は、黒ブロックの劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）を算出する際には、黒ブロックにできるだけ近い位置に存在する白ブロックを選択することが望ましい。さらに、このとき、複数の白ブロックが選択されることが望ましい。例えば、劣化パラメータ算出部３３２は、黒ブロックの周囲に隣接する８個のブロックから、白ブロックを選択する。このとき、劣化パラメータ算出部３３２は、黒ブロックの上下左右に隣接する白ブロックを優先的に選択してもよい。図１０の例では、処理対象の黒ブロック２１２ａの右側に隣接するブロックは黒ブロックである。このため、劣化パラメータ算出部３３２は、黒ブロック２１２ａの右側の隣接ブロックの代わりに、黒ブロック２１２ａの右上および右下にそれぞれ隣接する白ブロック２１２ｂ，２１２ｃを選択する。
【０１０７】
また、例えば、黒ブロックの劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）を算出する際に選択される白ブロックの最低数が、あらかじめ決められていてもよい。黒ブロックに隣接する８個のブロックから最低数の白ブロックが選択できない場合には、黒ブロックに隣接するブロックのさらに周囲から白ブロックが選択されてもよい。
【０１０８】
＜ラベリング処理＞
ラベリング部３３３は、劣化パラメータ算出部３３２によって算出された劣化パラメータに基づいて、補正画像の各画素の輝度値を算出し、算出した輝度値を補正画像データ２５０の記憶領域にラベリングする。ラベリング部３３３は、補正画像の画素のうち、白ブロックに含まれる画素については、すべて輝度値“２５５”を設定する。一方、ラベリング部３３３は、補正画像の画素のうち、黒ブロックに含まれる画素については、前述の劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）に応じて、補正後の輝度値を決定する。以下、ラベリング部３３３による、黒ブロックに含まれる画素についてのラベリング処理の例を２種類挙げる。
【０１０９】
［ラベリング処理の第１の処理例］
ラベリング処理の第１の処理例では、ラベリング部３３３は、黒ブロック内の各画素の白らしさおよび黒らしさをそれぞれ確率として計算する。より具体的には、ラベリング部３３３は、黒ブロック内の各画素が、白画素（すなわち、印刷前の暗号化画像において背景領域に含まれていた画素）である確率と、黒画素（すなわち、印刷前の暗号化画像において文字領域に含まれていた画素）である確率とをそれぞれ求める。ラベリング部３３３は、これらの各確率を、黒ブロック内の白画素の輝度値が正規分布に従うと定義した統計モデルと、黒ブロック内の黒画素の輝度値が正規分布に従うと定義した統計モデルとの少なくとも一方を用いて計算する。
【０１１０】
ラベリング部３３３は、劣化パラメータ算出部３３２によって算出された、黒ブロックの劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）の値に応じて、次の２通りの方法によって確率を求める。
【０１１１】
［１］劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）が“２５５”以上である場合
ラベリング部３３３は、確率計算の際に、近傍の白ブロックにおける平均輝度値（すなわち、劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ））を基に、黒ブロック内の白画素、黒画素それぞれの平均輝度値を推定し、確率計算に用いる正規分布の統計モデルに対して設定する。ところが、劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）が“２５５”以上である場合には、黒ブロックの近傍に対して比較的強い光が照射され、いわゆる白飛びが発生している可能性がある。この場合、黒ブロックの近傍の白ブロック内の各画素の輝度値は飽和した状態であることがあり得るため、ラベリング部３３３は、黒ブロックの明るさが撮像前の元の画像よりどれだけ強いかを、劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）から正確に知ることはできない。従って、ラベリング部３３３は、劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）を基に黒ブロック内の黒画素の平均輝度値を推定することができない。ただし、黒ブロック内の白画素の平均輝度値は、“２５５”であると推定できる。
【０１１２】
そこで、劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）が２５５以上である場合、ラベリング部３３３は、着目画素が白画素である確率ｐ（ｋ＝ｗ＿ｐｉｘｅｌ｜ｘi）を、白画素が正規分布に従うと定義した統計モデルを用いて算出する。確率ｐ（ｋ＝ｗ＿ｐｉｘｅｌ｜ｘi）は、例えば下記の式（７）のように定義できる。この式（７）によれば、白画素の平均輝度値および分散は設定されるものの、黒画素の平均輝度値および分散が設定されずに（すなわち、黒画素が正規分布に従うと定義した統計モデルが使用されずに）、確率が計算される。さらに、ラベリング部３３３は、下記の式（８）に従い、着目画素が黒画素である確率ｐ（ｋ＝ｂ＿ｐｉｘｅｌ｜ｘi）を、“１”から確率ｐ（ｋ＝ｗ＿ｐｉｘｅｌ｜ｘi）を減算することによって算出する。
【０１１３】
【数４】
2012010142.tif 000006
【０１１４】
式（７）において、α，βは、それぞれ経験的に得られた値であればよく、例えばα＝０．１、β＝１とされる。また、黒ブロックにおける白画素の輝度値の分散σ22（ｋ＝ｗ＿ｐｉｘｅｌ）は、式（１）を用いて白ブロックについての確率（ｐ｜ｋ＝ｗ＿ｂｌｏｃｋ）を算出する際に設定される分散σ12（ｋ＝ｗ＿ｂｌｏｃｋ）と同じ値であってよい。
【０１１５】
ラベリング部３３３は、式（７）および式（８）の計算結果を基に、着目画素についての補正後の輝度値を決定して、補正画像データ２５０内の対応する記憶領域にラベリングする。ラベリング部３３３は、例えば、着目画素が白画素である確率よりも黒画素である確率の方が高い場合には、着目画素の輝度値を“０”とし、着目画素が黒画素である確率よりも白画素である確率の方が高い場合には、着目画素の輝度値を“２５５”とする。
【０１１６】
ここで、上記式（７）および式（８）を用いた確率の計算例を示す。下記の例では、黒ブロック内において互いに隣接する画素Ａ１および画素Ａ２について、それぞれ白画素か黒画素かを判定する。この例では、黒ブロック内の白画素の分散σ22（ｋ＝ｗ＿ｐｉｘｅｌ）を“１００”と設定する。
【０１１７】
まず、画素Ａ１の輝度値が“２５０”であるものとすると、画素Ａ１が白画素である確率および黒画素である確率は、それぞれ次の式（９）、式（１０）のように求められる。
【０１１８】
【数５】
2012010142.tif 000007
【０１１９】
ラベリング部３３３は、式（９）、式（１０）の計算結果から、画素Ａ１は白画素であると判定し、補正画像データ２５０内の画素Ａ１に対応する記憶領域に対して、輝度値“２５５”をラベリングする。
【０１２０】
一方、画素Ａ１に隣接する画素Ａ２の輝度値が“３０”であるものとすると、画素Ａ２が白画素である確率および黒画素である確率は、それぞれ次の式（１１）、式（１２）のように求められる。
【０１２１】
【数６】
2012010142.tif 000008
【０１２２】
ラベリング部３３３は、式（１１）、式（１２）の計算結果から、画素Ａ２は黒画素であると判定し、補正画像データ２５０内の画素Ａ２に対応する記憶領域に対して、輝度値“０”をラベリングする。
【０１２３】
［２］劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）が“２５５”未満である場合
劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）が“２５５”未満である場合には、撮像時に黒ブロック内の明るさが減少したと考えられる。この場合、劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）は、黒ブロック内の白画素の平均輝度値と一致すると推定できる。一方、黒ブロック内の黒画素の平均輝度値は、“０”であると推定できる。
【０１２４】
ラベリング部３３３は、上記のように推定した白画素、黒画素の各平均輝度値を、正規分布の統計モデルに設定することで、着目画素が白画素である確率ｐ（ｋ＝ｗ＿ｐｉｘｅｌ｜ｘi）と、着目画素が黒画素である確率ｐ（ｋ＝ｂ＿ｐｉｘｅｌ｜ｘi）とをそれぞれ算出する。着目画素が白画素または黒画素である確率ｐ（ｋ｜ｘi）は、例えば、ベイズの定理を用いて式（１３）のように定義される。なお、式（１３）におけるＺは、式（１４）のように定義される。
【０１２５】
【数７】
2012010142.tif 000009
【０１２６】
また、式（１３）、式（１４）における確率ｐ（ｘi｜ｋ）は、次の式（１５）によって求められる。式（１５）は、着目画素が白画素（ｋ＝ｗ＿ｂｌｏｃｋ）または黒画素（ｋ＝ｂ＿ｂｌｏｃｋ）から生起される確率ｐ（ｘi｜ｋ）を、白画素および黒画素の各輝度値が正規分布に従って分布すると定義した統計モデルによって表したものである。
【０１２７】
【数８】
2012010142.tif 000010
【０１２８】
ラベリング部３３３は、式（１５）の計算時において、黒ブロック内の白画素の平均輝度値μ（ｋ＝ｗ＿ｐｉｘｅｌ）を、劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）の値とし、黒ブロック内の黒画素の平均輝度値μ（ｋ＝ｂ＿ｐｉｘｅｌ）を“０”とする。これにより、近傍の白ブロックの明るさに応じて、確率ｐ（ｋ｜ｘi）が算出されるようになる。
【０１２９】
また、ラベリング部３３３は、式（１５）の計算時において、黒ブロック内の白画素の分散σ22（ｋ＝ｗ＿ｐｉｘｅｌ）より、黒ブロック内の黒画素の分散σ22（ｋ＝ｂ＿ｐｉｘｅｌ）の値を大きく設定する。これにより、確率ｐ（ｋ＝ｗ＿ｐｉｘｅｌ｜ｘi）および確率ｐ（ｋ＝ｂ＿ｐｉｘｅｌ｜ｘi）が、図９において説明した、白画素と黒画素との統計的性質の違いに応じて計算されるようになり、各確率の算出精度が向上する。
【０１３０】
白画素の分散σ22（ｋ＝ｗ＿ｐｉｘｅｌ）は、例えば、式（１）を用いて白ブロックについての確率（ｐ｜ｋ＝ｗ＿ｂｌｏｃｋ）を算出する際に設定される分散σ12（ｋ＝ｗ＿ｂｌｏｃｋ）と同じ値であってよい。同様に、黒画素の分散σ22（ｋ＝ｂ＿ｐｉｘｅｌ）は、例えば、式（１）を用いて黒ブロックについての確率（ｐ｜ｋ＝ｂ＿ｂｌｏｃｋ）を算出する際に設定される分散σ12（ｋ＝ｂ＿ｂｌｏｃｋ）と同じ値であってよい。
【０１３１】
なお、式（１３）におけるｐ（ｋ）は、例えば、式（２）と同様に“１／２”とされればよい。また、式（１５）におけるβは、経験的に得られた値であればよく、例えば“１”とされる。
【０１３２】
ラベリング部３３３は、式（１３）を用いた確率ｐ（ｋ＝ｗ＿ｐｉｘｅｌ｜ｘi）および確率ｐ（ｋ＝ｂ＿ｐｉｘｅｌ｜ｘi）の各計算結果から、着目画素についての補正後の輝度値を決定して、補正画像データ２５０内の対応する記憶領域にラベリングする。劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）が“２５５”以上である場合と同様に、ラベリング部３３３は、例えば、着目画素が白画素である確率よりも黒画素である確率の方が高い場合には、着目画素の輝度値を“０”とし、着目画素が黒画素である確率よりも白画素である確率の方が高い場合には、着目画素の輝度値を“２５５”とする。
【０１３３】
以上の式（１３）〜式（１５）を用いたラベリング処理によれば、黒ブロック内の各画素についての輝度補正値が、黒ブロックの近傍の白ブロックにおける平均輝度値に応じて計算されるとともに、白画素と黒画素のそれぞれの統計的性質の違いに応じて計算される。従って、黒ブロックに生じた輝度ムラの影響が抑制されるように、黒ブロックの各画素の輝度値が補正される。
【０１３４】
ここで、上記式（１３）〜式（１５）を用いた確率の計算例を示す。下記の例では、黒ブロック内に存在する画素Ｂについて白画素か黒画素かを判定する。この例では、黒ブロック内の白画素の分散σ22（ｋ＝ｗ＿ｐｉｘｅｌ）を“２５”と設定し、黒ブロック内の黒画素の分散σ22（ｋ＝ｂ＿ｐｉｘｅｌ）を、白画素の分散σ22（ｋ＝ｗ＿ｐｉｘｅｌ）より大きい“１００”と設定する。また、黒ブロック内の白画素の平均輝度値μ（ｋ＝ｗ＿ｐｉｘｅｌ）（すなわち、劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ））が“２００”であるものとする。
【０１３５】
画素Ｂの輝度値が“１９７”であるものとすると、画素Ｂが白画素である確率は、式（１６）のように求められる。
【０１３６】
【数９】
2012010142.tif 000011
【０１３７】
また、画素Ｂが黒画素である確率は、式（１７）のように求められる。
【０１３８】
【数１０】
2012010142.tif 000012
【０１３９】
ここで、式（１６）、式（１７）におけるＺは、次の式（１８）のように求められる。
Ｚ＝ｅｘｐ（−３．５８）＋ｅｘｐ（−３９２．００）＝０．０２７８  ・・・（１８）
従って、画素Ｂが白画素である確率は“１”、画素Ｂが黒画素である確率は“０”と算出される。ラベリング部３３３は、式（１６）〜式（１８）の計算結果から、画素Ｂは白画素であると判定し、補正画像データ２５０内の画素Ｂに対応する記憶領域に対して、輝度値“２５５”をラベリングする。
【０１４０】
なお、以上説明したラベリング処理の第１の処理例において、ラベリング部３３３は、例えば、式（７）および式（８）の計算結果、または、式（１３）の計算結果から、期待値を計算することで、黒ブロック内の着目画素のついての補正後の輝度値を決定してもよい。具体的には、ラベリング部３３３は、補正後の輝度値ｘi’を、次の式（１９）に従って算出する。なお、式（１９）は、劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）がどのような値であっても利用可能である。また、ラベリング部３３３は、式（１９）を用いて補正後の輝度値を計算する場合には、式（８）または式（１３）を用いた、着目画素が黒画素である確率ｐ（ｋ＝ｂ＿ｐｉｘｅｌ｜ｘi）の計算を行わなくてもよい。
ｘi’＝２５５×ｐ（ｋ＝ｗ＿ｐｉｘｅｌ｜ｘi）＋０×ｐ（ｋ＝ｂ＿ｐｉｘｅｌ｜ｘi）
・・・（１９）
式（１９）を用いて輝度値が計算された場合、黒ブロック内の文字領域のエッジ付近の輝度値が、“０”と“２５５”との間の中間値を採り得るようになる。この場合、文字領域のエッジが滑らかにつながっているように見えるという効果が得られる。
【０１４１】
［ラベリング処理の第２の処理例］
ラベリング処理の第２の処理例では、ラベリング部３３３は、劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）が“２５５”未満である場合に、黒ブロック内の各画素の輝度値を、劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）を基に補正する。具体的には、ラベリング部３３３は、黒ブロック内の各画素の補正後の輝度値ｘi’を、次の式（２０）に従って算出する。ただし、ラベリング部３３３は、式（２０）の計算によって輝度値が２５５を超えた場合には、補正後の輝度値を“２５５”に制限する。
ｘi’＝ｘi×２５５／μb’（ｋ＝ｂ＿ｂｌｏｃｋ）                    ・・・（２０）
式（２０）によれば、黒ブロック内の各画素の輝度値は、撮像時に明るさが劣化した度合いに応じて、輝度値が本来の値に戻るように増加する。換言すると、各画素の輝度値は、撮像時における明るさの減少量を補うように補正される。明るさの劣化度合いは、黒ブロックの近傍の白ブロックにおける画素の平均輝度値を基に高精度に計算されることから、式（２０）により、黒ブロック内の各画素の輝度値は、撮像前の本来の輝度値に精度よく近づくように補正される。これにより、黒ブロックに生じた輝度ムラの影響が抑制される。また、式（２０）を用いて輝度値が計算された場合には、上記の式（１９）を用いた場合と同様に、文字領域のエッジが滑らかにつながっているように見えるという効果が得られる。
【０１４２】
なお、ラベリング処理の第２の処理例においては、ラベリング部３３３は、劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）が“２５５”以上である場合には、前述のラベリング処理の第１の処理例と同様の手順で、ラベリングを行う。
【０１４３】
次に、上記の携帯電話機３００における処理を、フローチャートを用いて説明する。まず、図１１は、携帯電話機で実行される暗号化画像の表示処理の全体の処理手順を示すフローチャートである。
【０１４４】
［ステップＳ１０１］撮像制御部３２１は、カメラモジュール３０９に画像を撮像させ、カメラモジュール３０９から撮像画像データ２４０を取得して、ＲＡＭ３０２に記憶する。
【０１４５】
撮像制御部３２１は、例えば、カメラモジュール３０９に動画像を撮像させ、フレームのデータを順次取得する。撮像制御部３２１は、フレームのデータを取得する度にそのデータからコントラストを算出し、コントラストの値があらかじめ決められた一定値以上であるときに、フレームのデータを撮像画像データ２４０としてＲＡＭ３０２に格納する。あるいは、撮像制御部３２１は、カメラモジュール３０９に一定時間だけ動画像を撮像させ、得られた複数枚のフレームのデータのうち、コントラストが最も高いフレームのデータを、撮像画像データ２４０としてＲＡＭ３０２に格納してもよい。
【０１４６】
［ステップＳ１０２］ブロック分割部３２２は、撮像画像のうち暗号化画像２１０の領域（暗号化対象領域２２１に対応）を、ブロックに分割する。ブロック分割処理については、図４のステップＳ２２，Ｓ２３において説明した通りである。ブロック分割部３２２は、分割した各ブロックについての座標情報２６１をブロック情報２６０に登録する。
【０１４７】
また、ブロック分割部３２２は、撮像画像をブロックに分割した後、各ブロックの左上に付与されたブロック識別マーカ２２３を補間演算によって消去し、撮像画像データ２４０を、ブロック識別マーカ２２３が消去されたデータによって更新する。さらに、ブロック分割部３２２は、撮像画像データ２４０から、暗号化画像２１０の領域に含まれない画素の輝度値を読み出し、ＲＡＭ３０２上の補正画像データ２５０における対応する画素の記憶領域にラベリングする。なお、暗号化画像２１０の領域に含まれない画素のラベリング処理は、後述するステップＳ１０８の実行前であればどの時点で実行されてもよく、また、このラベリング処理は、ラベリング部３３３または画像復号部３２４によって実行されてもよい。
【０１４８】
［ステップＳ１０３］ブロック分類部３３１は、ブロック情報２６０を参照して、未処理のブロックを１つ選択する。
［ステップＳ１０４］ブロック分類部３３１は、選択したブロックが白ブロックか黒ブロックかを判定するブロック分類処理を実行する。ブロック分類処理の詳細については、後の図１２、図１３において説明する。
【０１４９】
［ステップＳ１０５］ブロック分類部３３１は、撮像画像における全ブロックについてブロック分類処理を行ったか否かを判定する。ブロック分類部３３１は、未処理のブロックがある場合にはステップＳ１０３を実行する。一方、ブロック分類部３３１は、全ブロックを処理済みである場合には、その旨をラベリング部３３３に通知する。これにより、ステップＳ１０６の処理が実行される。
【０１５０】
［ステップＳ１０６］ラベリング部３３３および劣化パラメータ算出部３３２による画質補正処理が実行される。画質補正処理により、撮像時に環境条件によって生じた、暗号化画像２１０における輝度ムラが抑制される。この画質補正処理の詳細については、後の図１４において説明する。ステップＳ１０６の処理が終了したとき、補正画像データ２５０における全画素の記憶領域に輝度値がラベリングされた状態となる。
【０１５１】
［ステップＳ１０７］画像復号部３２４は、ブロック情報２６０の座標情報２６１を参照して、補正画像データ２５０から暗号化画像２１０の輝度値をブロックごとに読み出す。画像復号部３２４は、図４のステップＳ２４で説明したように、暗号化画像２１０内のブロックを、復号鍵に基づいて決定される規則に従って並べ替える。これによって、暗号化画像２１０が復号されて、原画像が復元される。画像復号部３２４は、補正画像データ２５０における暗号化画像２１０の領域の輝度値を、復号された画像の輝度値に書き替える。
【０１５２】
［ステップＳ１０８］画像出力制御部３２５は、暗号化画像２１０の領域の輝度値が書き替えられた補正画像データ２５０を読み出して表示処理部３０７に供給する。これにより、原画像が復元された画像がモニタ３０７ａに表示される。
【０１５３】
なお、以上の図１１の処理では、ステップＳ１０２において分割されたブロックは、画質補正部３２３によって白ブロックまたは黒ブロックと判別する単位として使用されるとともに、画像復号部３２４によって並べ替えを行う単位としても使用される。しかしながら、画質補正部３２３によって白ブロックまたは黒ブロックと判別するブロック（第１のブロックと呼ぶ）と、画像復号部３２４によって並べ替えを行うブロック（第２のブロックと呼ぶ）とは、それぞれ別の方法で分割されたものであってもよい。
【０１５４】
例えば、第１のブロックの画素数は、第２のブロックの画素数より大きく設定されても、あるいは小さく設定されてもよい。また、例えば、第１のブロックは、第２のブロックのうち、互いに接する複数の第２のブロックであってもよい。
【０１５５】
撮像画像から第１のブロックを分割する方法と、補正画像から第２のブロックを分割する方法との間に、互いに関連性がない場合には、画像復号部３２４は、ステップＳ１０７において第２のブロックの並べ替えを行う前に、補正画像を第２のブロックに分割する処理を行う。この場合、ブロック分割部３２２によって撮像画像が第１のブロックに分割された後、撮像画像データ２４０は、ブロック識別マーカ２２３に対応するデータが残った状態のままとされる。そして、ブロック識別マーカ２２３は、画像復号部３２４によって、第２のブロックの分割が行われる前に撮像画像データ２４０から検出されて、歪み補正および第２のブロックの分割の各処理に用いられる。
【０１５６】
図１２は、ブロック分類処理の第１の処理例を示すフローチャートである。この図１２の処理は、図１１のステップＳ１０４において実行されるものである。
［ステップＳ１２１］ブロック分類部３３１は、図１１のステップＳ１０３で選択したブロック内の各画素の輝度値を撮像画像データ２４０から読み出し、輝度値の分散σb2を算出する。
【０１５７】
［ステップＳ１２２］ブロック分類部３３１は、ステップＳ１２１で算出した分散σb2を、あらかじめ決められたしきい値γと比較する。ブロック分類部３３１は、輝度値の分散σb2がしきい値γより大きい場合には、ステップＳ１２３の処理を実行し、輝度値の分散σb2がしきい値γ以下である場合には、ステップＳ１２４の処理を実行する。
【０１５８】
［ステップＳ１２３］ブロック分類部３３１は、ステップＳ１０３で選択したブロックは黒ブロックであると判定し、ブロック情報２６０の対応するブロックのエントリに、黒ブロックであることを示すブロック種別２６２を登録する。この後、図１１のステップＳ１０５の処理に戻る。
【０１５９】
［ステップＳ１２４］ブロック分類部３３１は、ステップＳ１０３で選択したブロックは白ブロックであると判定し、ブロック情報２６０の対応するブロックのエントリに、白ブロックであることを示すブロック種別２６２を登録する。この後、図１１のステップＳ１０５の処理に戻る。
【０１６０】
図１３は、ブロック分類処理の第２の処理例を示すフローチャートである。この図１３の処理は、図１１のステップＳ１０４において実行されるものである。
［ステップＳ１３１］ブロック分類部３３１は、図１１のステップＳ１０３で選択したブロック内の各画素の輝度値を撮像画像データ２４０から読み出し、式（３）に従って、選択したブロックが白ブロックである確率ｐ（ｋ＝ｗ＿ｂｌｏｃｋ｜ｂ）を計算する。式（３）の計算の際、ブロック分類部３３１は、黒ブロックの分散σ12（ｋ＝ｂ＿ｂｌｏｃｋ）として、白ブロックの分散σ12（ｋ＝ｗ＿ｂｌｏｃｋ）より大きな値を設定する。なお、これらの分散σ12（ｋ＝ｂ＿ｂｌｏｃｋ）および分散σ12（ｋ＝ｗ＿ｂｌｏｃｋ）としては、あらかじめ決められた値が用いられる。
【０１６１】
［ステップＳ１３２］ブロック分類部３３１は、ステップＳ１３１で算出した確率ｐ（ｋ＝ｗ＿ｂｌｏｃｋ｜ｂ）を所定のしきい値（例えば“０．７”）と比較する。ブロック分類部３３１は、確率ｐ（ｋ＝ｗ＿ｂｌｏｃｋ｜ｂ）がしきい値を超えている場合、ステップＳ１３３の処理を実行し、確率ｐ（ｋ＝ｗ＿ｂｌｏｃｋ｜ｂ）がしきい値以下である場合、ステップＳ１３４の処理を実行する。
【０１６２】
［ステップＳ１３３］ブロック分類部３３１は、ステップＳ１０３で選択したブロックは白ブロックであると判定し、ブロック情報２６０の対応するブロックのエントリに、白ブロックであることを示すブロック種別２６２を登録する。この後、図１１のステップＳ１０５の処理に戻る。
【０１６３】
［ステップＳ１３４］ブロック分類部３３１は、ステップＳ１０３で選択したブロックは黒ブロックであると判定し、ブロック情報２６０の対応するブロックのエントリに、黒ブロックであることを示すブロック種別２６２を登録する。この後、図１１のステップＳ１０５の処理に戻る。
【０１６４】
図１４は、画質補正処理の手順を示すフローチャートである。この図１４の処理は、図１１のステップＳ１０６において実行されるものである。
［ステップＳ１４１］ラベリング部３３３は、ブロック情報２６０のブロック種別２６２を基に、未選択の白ブロックを１つ選択する。
【０１６５】
［ステップＳ１４２］ラベリング部３３３は、補正画像データ２５０内の各画素の記憶領域のうち、ステップＳ１４１で選択した白ブロック内の各画素の記憶領域に対して、輝度値２５５をラベリングする。
【０１６６】
［ステップＳ１４３］劣化パラメータ算出部３３２は、ステップＳ１４１で選択された白ブロック内の各画素の輝度値を撮像画像データ２４０から読み出し、式（５）に従って、白ブロックの劣化パラメータμb’（ｋ＝ｗ＿ｂｌｏｃｋ）を算出する。劣化パラメータ算出部３３２は、算出した劣化パラメータμb’（ｋ＝ｗ＿ｂｌｏｃｋ）を、ブロック情報２６０における対応するブロックのエントリに、劣化パラメータ２６３として登録する。
【０１６７】
［ステップＳ１４４］ラベリング部３３３は、撮像画像におけるすべての白ブロックについてステップＳ１４１〜Ｓ１４３の処理を行ったか否かを判定する。ラベリング部３３３は、未処理の白ブロックがある場合には、ステップＳ１４１の処理を実行する。一方、ラベリング部３３３は、全白ブロックを処理済みである場合には、ステップＳ１４５の処理を実行する。
【０１６８】
［ステップＳ１４５］ラベリング部３３３は、ブロック情報２６０のブロック種別２６２を基に、未選択の黒ブロックを１つ選択する。
［ステップＳ１４６］劣化パラメータ算出部３３２は、ブロック情報２６０の座標情報２６１およびブロック種別２６２を基に、ステップＳ１４４で選択された黒ブロックの近傍に存在する１つ以上の白ブロックを選択する。劣化パラメータ算出部３３２は、選択した１つ以上の白ブロックの劣化パラメータμb’（ｋ＝ｗ＿ｂｌｏｃｋ）をブロック情報２６０から読み出し、式（６）に従って、黒ブロックの劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）を算出する。
【０１６９】
なお、劣化パラメータ算出部３３２は、選択した１つ以上の白ブロック内の各画素の輝度値を撮像画像データ２４０から読み出し、読み出した輝度値の平均値を計算することで、黒ブロックの劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）を算出してもよい。
【０１７０】
［ステップＳ１４７］ラベリング部３３３は、ステップＳ１４５で選択した黒ブロック内の画素を１つ選択する。
［ステップＳ１４８］ラベリング部３３３は、ステップＳ１４６で算出した劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）を基に、ステップＳ１４７で選択した画素についての補正後の輝度値を算出し、補正画像データ２５０における対応する画素の記憶領域にラベリングする。このステップＳ１４８の処理の詳細については、後の図１５、図１６において説明する。
【０１７１】
［ステップＳ１４９］ラベリング部３３３は、ステップＳ１４５で選択した黒ブロック内のすべての画素についてラベリング処理を行ったか否かを判定する。ラベリング部３３３は、未処理の画素がある場合には、ステップＳ１４７の処理を実行し、全画素を処理済みである場合には、ステップＳ１５０の処理を実行する。
【０１７２】
［ステップＳ１５０］ラベリング部３３３は、撮像画像におけるすべての黒ブロックについてステップＳ１４５〜Ｓ１４９の処理を行ったか否かを判定する。ラベリング部３３３は、未処理の黒ブロックがある場合には、ステップＳ１４５の処理を実行する。一方、ラベリング部３３３は、全黒ブロックを処理済みである場合には、その旨を画像復号部３２４に通知する。これにより、図１１のステップＳ１０７の処理が実行される。
【０１７３】
図１５は、ラベリング処理の第１の処理例を示すフローチャートである。この図１５の処理は、図１４のステップＳ１４８の処理に対応する。
［ステップＳ１６１］ラベリング部３３３は、図１４のステップＳ１４６で算出した劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）が、“２５５”以上であるか否かを判定する。ラベリング部３３３は、劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）が“２５５”以上である場合には、ステップＳ１６２の処理を実行し、劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）が“２５５”より小さい場合には、ステップＳ１６３の処理を実行する。
【０１７４】
［ステップＳ１６２］ラベリング部３３３は、図１４のステップＳ１４７で選択した画素の輝度値を撮像画像データ２４０から読み込む。ラベリング部３３３は、読み込んだ輝度値を基に、選択した画素が白画素である確率ｐ（ｋ＝ｗ＿ｐｉｘｅｌ｜ｘi）および黒画素である確率ｐ（ｋ＝ｂ＿ｐｉｘｅｌ｜ｘi）を、それぞれ式（７）、式（８）に従って計算する。この計算では、ラベリング部３３３は、ステップＳ１４５で選択した黒ブロックにおける黒画素の平均輝度値を“２５５”と設定する。
【０１７５】
［ステップＳ１６３］ラベリング部３３３は、図１４のステップＳ１４７で選択した画素の輝度値を撮像画像データ２４０から読み込む。ラベリング部３３３は、読み込んだ輝度値を基に、選択した画素が白画素である確率ｐ（ｋ＝ｗ＿ｐｉｘｅｌ｜ｘi）および黒画素である確率ｐ（ｋ＝ｂ＿ｐｉｘｅｌ｜ｘi）を、式（１３）〜式（１５）を用いて計算する。
【０１７６】
この計算において、ラベリング部３３３は、ステップＳ１４５で選択した黒ブロックにおける白画素の平均輝度値を、ステップＳ１４６で算出した劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）の値とし、黒画素の平均輝度値を“０”と設定する。また、ラベリング部３３３は、黒ブロック内の黒画素の分散σ22（ｋ＝ｂ＿ｐｉｘｅｌ）として、黒ブロック内の白画素の分散σ22（ｋ＝ｗ＿ｐｉｘｅｌ）より大きな値を設定する。
【０１７７】
［ステップＳ１６４］ラベリング部３３３は、ステップＳ１６２またはステップＳ１６３において算出した確率を基に、式（１９）に従って期待値を計算する。なお、実際には、ラベリング部３３３は、ステップＳ１６２およびステップＳ１６３のそれぞれにおいて、選択した画素が白画素である確率ｐ（ｋ＝ｗ＿ｐｉｘｅｌ｜ｘi）のみを算出することで、式（１９）に従って期待値を計算することが可能である。
【０１７８】
［ステップＳ１６５］ラベリング部３３３は、ステップＳ１６４で算出した期待値を、図１４のステップＳ１４７で選択した画素の輝度値として、補正画像データ２５０の対応する画素の記憶領域にラベリングする。この後、ラベリング部３３３は、図１４のステップＳ１４９の処理を実行する。
【０１７９】
なお、ラベリング部３３３は、ステップＳ１６４，Ｓ１６５の代わりに、ステップＳ１６２またはステップＳ１６３において算出した確率を基に次のようにして画素の輝度値を決定してもよい。ラベリング部３３３は、選択した画素が白画素である確率ｐ（ｋ＝ｗ＿ｐｉｘｅｌ｜ｘi）が、黒画素である確率ｐ（ｋ＝ｂ＿ｐｉｘｅｌ｜ｘi）以上である場合には、画素の輝度値を“２５５”と決定して、補正画像データの対応する画素の記憶領域にラベリングする。一方、ラベリング部３３３は、選択した画素が白画素である確率ｐ（ｋ＝ｗ＿ｐｉｘｅｌ｜ｘi）が、黒画素である確率ｐ（ｋ＝ｂ＿ｐｉｘｅｌ｜ｘi）未満である場合には、画素の輝度値を“０”と決定して、補正画像データの対応する画素の記憶領域にラベリングする。
【０１８０】
図１６は、ラベリング処理の第２の処理例を示すフローチャートである。この図１６の処理は、図１４のステップＳ１４８の処理に対応する。
［ステップＳ１７１］ラベリング部３３３は、図１４のステップＳ１４６で算出した劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）が、“２５５”以上であるか否かを判定する。ラベリング部３３３は、劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）が“２５５”以上である場合には、ステップＳ１７２の処理を実行し、劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）が“２５５”より小さい場合には、ステップＳ１７５の処理を実行する。
【０１８１】
［ステップＳ１７２］ラベリング部３３３は、図１５のステップＳ１６２と同様の手順で、図１４のステップＳ１４７で選択した画素が白画素である確率ｐ（ｋ＝ｗ＿ｐｉｘｅｌ｜ｘi）および黒画素である確率ｐ（ｋ＝ｂ＿ｐｉｘｅｌ｜ｘi）を、それぞれ式（７）、式（８）に従って計算する。
【０１８２】
［ステップＳ１７３］ラベリング部３３３は、ステップＳ１７２で算出した確率を基に、式（１９）に従って期待値を計算する。なお、実際には、ラベリング部３３３は、ステップＳ１７２において、選択した画素が白画素である確率ｐ（ｋ＝ｗ＿ｐｉｘｅｌ｜ｘi）のみを算出することで、式（１９）に従って期待値を計算することが可能である。
【０１８３】
［ステップＳ１７４］ラベリング部３３３は、ステップＳ１７３で算出した期待値を、図１４のステップＳ１４７で選択した画素の輝度値として、補正画像データ２５０の対応する画素の記憶領域にラベリングする。この後、ラベリング部３３３は、図１４のステップＳ１４９の処理を実行する。
【０１８４】
なお、ラベリング部３３３は、ステップＳ１７３，Ｓ１７４の代わりに、ステップＳ１７２において算出した確率を基に次のようにして画素の輝度値を決定してもよい。ラベリング部３３３は、選択した画素が白画素である確率ｐ（ｋ＝ｗ＿ｐｉｘｅｌ｜ｘi）が、黒画素である確率ｐ（ｋ＝ｂ＿ｐｉｘｅｌ｜ｘi）以上である場合には、画素の輝度値を“２５５”と決定して、補正画像データの対応する画素の記憶領域にラベリングする。一方、ラベリング部３３３は、選択した画素が白画素である確率ｐ（ｋ＝ｗ＿ｐｉｘｅｌ｜ｘi）が、黒画素である確率ｐ（ｋ＝ｂ＿ｐｉｘｅｌ｜ｘi）未満である場合には、画素の輝度値を“０”と決定して、補正画像データの対応する画素の記憶領域にラベリングする。
【０１８５】
［ステップＳ１７５］ラベリング部３３３は、図１４のステップＳ１４７で選択した画素の輝度値を撮像画像データ２４０から読み込む。ラベリング部３３３は、読み込んだ輝度値と、ステップＳ１４６で算出した劣化パラメータμb’（ｋ＝ｂ＿ｂｌｏｃｋ）とを基に、式（２０）に従って補正後の輝度値を計算する。
【０１８６】
［ステップＳ１７６］ラベリング部３３３は、ステップＳ１７５で算出した輝度値を、補正画像データの対応する画素の記憶領域にラベリングする。この後、ラベリング部３３３は、図１４のステップＳ１４９の処理を実行する。
【０１８７】
以上の図１１〜図１６で説明した処理によれば、携帯電話機３００のブロック分類部３３１は、ステップＳ１０４において、白ブロックにおける輝度値の分散より黒ブロックにおける輝度値の分散の方が大きいという統計的性質を利用して、ブロックが白ブロックか黒ブロックかを判定する。これにより、白ブロックおよび黒ブロックを高精度に判定できる。
【０１８８】
また、携帯電話機３００のラベリング部３３３は、白ブロックの各画素の輝度値を“２５５”に補正する。一方、ラベリング部３３３は、黒ブロックの各画素の輝度値を、黒ブロックの近傍の白ブロック内の画素の平均輝度値を基に補正する。
【０１８９】
白ブロックは白画素のみを含むブロックであることから、白ブロック内の画素の平均輝度値は、この平均輝度値が輝度値の最高値（上記の例では“２５５”）より小さい場合には、撮像時における明るさの劣化度合いを正確に表すと考えられる。このことから、ラベリング部３３３は、黒ブロックの近傍の白ブロックにおける画素の平均輝度値を基に、黒ブロックの各画素の輝度値を撮像時に劣化した分だけ増加させる。このような輝度値の補正により、輝度ムラの影響が抑制されるように、黒ブロックの明るさが補正される。
【０１９０】
以上のようなブロック分類処理および画質補正処理により、画像復号部３２４によって復号された画像において、輝度ムラに起因するノイズが目立たなくなり、復号後の画像の画質が向上する。
【０１９１】
〔第３の実施の形態〕
図１７は、第３の実施の形態に係るコンピュータのハードウェア構成例を示す図である。
【０１９２】
第２の実施の形態で示した携帯電話機３００の処理機能は、例えば、図１７に示すようなコンピュータ５００によって実現することもできる。図１７に示すコンピュータ５００は、ＣＰＵ５０１によって装置全体が制御されている。ＣＰＵ５０１には、バス４１０を介して、ＲＡＭ５０２と複数の周辺機器が接続されている。
【０１９３】
ＲＡＭ５０２は、コンピュータ５００の主記憶装置として使用される。ＲＡＭ５０２には、ＣＰＵ５０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ５０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。
【０１９４】
バス４１０に接続されている周辺機器としては、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）５０３、グラフィック処理装置５０４、入力インタフェース５０５、光学ドライブ装置５０６、ネットワークインタフェース５０７および通信インタフェース５０８がある。
【０１９５】
ＨＤＤ５０３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ５０３は、コンピュータ５００の二次記憶装置として使用される。ＨＤＤ５０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【０１９６】
グラフィック処理装置５０４には、モニタ５０４ａが接続されている。グラフィック処理装置５０４は、ＣＰＵ５０１からの命令に従って、画像をモニタ５０４ａの画面に表示させる。モニタ５０４ａとしては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【０１９７】
入力インタフェース５０５には、例えば、キーボード５０５ａとマウス５０５ｂとが接続されている。入力インタフェース５０５は、キーボード５０５ａやマウス５０５ｂから送られてくる信号をＣＰＵ５０１に送信する。なお、マウス５０５ｂは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【０１９８】
光学ドライブ装置５０６は、レーザ光などを利用して、光ディスク５０６ａに記録されたデータの読み取りを行う。光ディスク５０６ａは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク５０６ａには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【０１９９】
ネットワークインタフェース５０７は、ネットワーク５２０に接続されている。ネットワークインタフェース５０７は、ネットワーク５２０を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【０２００】
通信インタフェース５０８は、通信ケーブルを介してカメラ５０８ａと接続されている。カメラ５０８ａは、撮像素子によって画像を撮像する装置であり、例えば、図６に示したカメラモジュール３０９と同様の機構や回路を備える。通信インタフェース５０８は、カメラ５０８ａによって撮像された撮像画像のデータをＣＰＵ５０１に送信する。なお、通信インタフェース５０８としては、例えば、ＵＳＢ（Universal Serial Bus）インタフェースなどがある。
【０２０１】
以上のハードウェア構成によって、図７に示した撮像制御部３２１、ブロック分割部３２２、画質補正部３２３、画像復号部３２４および画像出力制御部３２５の処理を実現することができる。この場合、各処理ブロックの処理は、ＣＰＵ５０１が所定のプログラムを実行することで実現される。また、撮像制御部３２１は、カメラ５０８ａによって撮像された撮像画像のデータを取得する。また、画像出力制御部３２５は、暗号化画像の領域が復号化された画像を、モニタ５０４ａに表示させる。
【０２０２】
なお、コンピュータ５００は、例えば、ブロック分割部３２２が処理する撮像画像データを、ネットワーク５２０上の他の装置から受信してもよい。あるいは、コンピュータ５００は、例えば、ブロック分割部３２２が処理する撮像画像データを、光ディスク５０６ａなどの可搬型記録媒体から読み込んでもよい。これらのどちらの場合でも、コンピュータ５００は、図７の撮像制御部３２１の処理機能を有していなくてもよい。
【０２０３】
さらに、コンピュータ５００は、例えば、暗号化画像の領域が復号化された画像のデータを、ネットワーク５２０上の他の装置へ送信してもよい。あるいは、コンピュータ５００は、例えば、暗号化画像の領域が復号化された画像のデータを、光ディスク５０６ａなどの可般型記憶媒体に書き込んでもよい。
【０２０４】
なお、コンピュータ５００が備える上記処理機能の処理内容を記述したプログラムは、コンピュータ５００で読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、ＨＤＤ５０３などの磁気記憶装置、光ディスク５０６ａ、光磁気記録媒体、半導体メモリなどがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０２０５】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータからコンピュータ５００にそのプログラムを転送することもできる。
【０２０６】
プログラムを実行するコンピュータ５００は、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、ＨＤＤ５０３などの自己の記憶装置に格納する。そして、コンピュータ５００は、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータ５００は、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータ５００は、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０２０７】
また、上記の処理機能の少なくとも一部を、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現することもできる。
【０２０８】
以上の各実施の形態に関し、さらに以下の付記を開示する。
（付記１）  入力画像における少なくとも一部の領域を複数のブロックに分割するブロック分割部と、
白画素のみを含む白ブロックにおける輝度値の分散と、白画素と黒画素のうち少なくとも黒画素を含む黒ブロックにおける輝度値の分散とに基づいて、前記入力画像の各ブロックを白ブロックと黒ブロックとに分類するブロック分類部と、
前記入力画像の黒ブロック内の各画素の輝度値を、当該黒ブロックの近傍に位置する１つ以上の白ブロック内の各画素の平均輝度値に基づいて補正する輝度補正部と、
を有することを特徴とする画像処理装置。
【０２０９】
（付記２）  前記ブロック分類部は、前記入力画像のブロックにおける輝度値の分散が所定の分類しきい値より大きい場合には、当該ブロックを黒ブロックに分類し、当該ブロックにおける輝度値の分散が前記分類しきい値以下である場合には、当該ブロックを白ブロックに分類することを特徴とする付記１記載の画像処理装置。
【０２１０】
（付記３）  前記ブロック分類部は、白ブロックにおける輝度値の分散としてあらかじめ決められた第１のブロック内分散値と、黒ブロックにおける輝度値の分散としてあらかじめ決められた、前記第１のブロック内分散値より大きい第２のブロック内分散値とを用いて、前記入力画像のブロックが白ブロックである確率、または、当該ブロックが黒ブロックである確率の少なくとも一方を計算し、算出された確率に基づいて、当該ブロックを白ブロックまたは黒ブロックのどちらかに分類することを特徴とする付記１記載の画像処理装置。
【０２１１】
（付記４）  前記ブロック分類部は、白ブロック内の画素の輝度値が正規分布に従うことを定義した統計モデルと、黒ブロック内の画素の輝度値が正規分布に従うことを定義した統計モデルとを用いて、前記入力画像のブロックが白ブロックである確率、または、当該ブロックが黒ブロックである確率の少なくとも一方を算出することを特徴とする付記３記載の画像処理装置。
【０２１２】
（付記５）  前記輝度補正部は、白画素の輝度値の分散としてあらかじめ決められた第１の分散値と、黒画素の輝度値の分散としてあらかじめ決められた、前記第１の分散値より大きい第２の分散値とを用いるとともに、補正対象の黒ブロックの近傍に位置する１つ以上の白ブロック内の各画素の平均輝度値を当該黒ブロック内の白画素の平均輝度値として設定することで、前記入力画像の黒ブロックの各画素が白画素である確率、または、当該黒ブロックの各画素が黒画素である確率の少なくとも一方を計算し、算出された確率に基づいて、当該黒ブロック内の各画素の輝度値を補正することを特徴とする付記１〜４のいずれか１つに記載の画像処理装置。
【０２１３】
（付記６）  前記輝度補正部は、白画素の輝度値が正規分布に従うことを定義した統計モデルと、黒画素の輝度値が正規分布に従うことを定義した統計モデルとを用いて、前記入力画像の黒ブロックの各画素が白画素である確率、または、当該黒ブロックの各画素が黒画素である確率の少なくとも一方を計算することを特徴とする付記５記載の画像処理装置。
【０２１４】
（付記７）  前記輝度補正部は、前記入力画像の黒ブロック内の各画素の輝度値を、当該黒ブロックの各画素が白画素である確率に基づく期待値に補正することを特徴とする付記５または６記載の画像処理装置。
【０２１５】
（付記８）  前記輝度補正部は、前記入力画像の黒ブロック内の各画素の輝度値を、当該黒ブロックの近傍に位置する１つ以上の白ブロック内の各画素の平均輝度値に基づく明るさの減少量を補うように補正することを特徴とする付記１〜４のいずれか１つに記載の画像処理装置。
【０２１６】
（付記９）  前記輝度補正部は、前記入力画像の白ブロック内の全画素の輝度値を階調上の最高値に補正することを特徴とする付記１〜８のいずれか１つに記載の画像処理装置。
【０２１７】
（付記１０）  前記ブロック分割部は、前記入力画像のうち原画像が暗号化された暗号化画像の領域をブロックに分割することを特徴とする付記１〜９のいずれか１つに記載の画像処理装置。
【０２１８】
（付記１１）  前記輝度補正部によって輝度値が補正された各ブロックを、復号鍵に基づいて並べ替えることで、前記暗号化画像を復号する復号処理部をさらに有することを特徴とする付記１０記載の画像処理装置。
【０２１９】
（付記１２）  画像処理装置が、
入力画像における少なくとも一部の領域を複数のブロックに分割し、
白画素のみを含む白ブロックにおける輝度値の分散と、白画素と黒画素のうち少なくとも黒画素を含む黒ブロックにおける輝度値の分散とに基づいて、前記入力画像の各ブロックを白ブロックと黒ブロックとに分類し、
前記入力画像の黒ブロック内の各画素の輝度値を、当該黒ブロックの近傍に位置する１つ以上の白ブロック内の各画素の平均輝度値に基づいて補正する、
ことを特徴とする画像処理方法。
【０２２０】
（付記１３）  コンピュータに、
入力画像における少なくとも一部の領域を複数のブロックに分割し、
白画素のみを含む白ブロックにおける輝度値の分散と、白画素と黒画素のうち少なくとも黒画素を含む黒ブロックにおける輝度値の分散とに基づいて、前記入力画像の各ブロックを白ブロックと黒ブロックとに分類し、
前記入力画像の黒ブロック内の各画素の輝度値を、当該黒ブロックの近傍に位置する１つ以上の白ブロック内の各画素の平均輝度値に基づいて補正する、
処理を実行させることを特徴とする画像処理プログラム。
【符号の説明】
【０２２１】
１０  画像処理装置
１１  ブロック分割部
１２  ブロック分類部
１３  輝度補正部
２０  入力画像
２１  暗号化画像
【図１】
2012010142.tif 000013
【図２】
2012010142.tif 000014
【図３】
2012010142.tif 000015
【図４】
2012010142.tif 000016
【図５】
2012010142.tif 000017
【図６】
2012010142.tif 000018
【図７】
2012010142.tif 000019
【図８】
2012010142.tif 000020
【図９】
2012010142.tif 000021
【図１０】
2012010142.tif 000022
【図１１】
2012010142.tif 000023
【図１２】
2012010142.tif 000024
【図１３】
2012010142.tif 000025
【図１４】
2012010142.tif 000026
【図１５】
2012010142.tif 000027
【図１６】
2012010142.tif 000028
【図１７】
2012010142.tif 000029