説明

画像復号プログラムおよび画像復号方法

【課題】復号画像の画質の劣化を防止する。
【解決手段】復号部150cは、復号鍵データ140aを基にして、暗号化画像データ140bから復号画像データ140cを生成する。判定部150dは、暗号化画像データ140bの画素ブロックの組から第1の相関値を求め、復号画像データ140cの画素ブロックの組から第2の相関値を求める。そして、判定部150dは、第1の相関値と第2の相関値との関係から、復号画像データ140cに色にじみが発生しているか否かを判定し、色にじみが発生している場合には、補正部150eは、復号画像データ140cを補正する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像復号プログラム等に関する。
【背景技術】
【0002】
近年、紙媒体等に印刷された印刷物からの情報漏洩を防ぐ従来技術が存在する。この従来技術では、入力画像を暗号化した暗号化画像を生成し、この暗号化画像を印刷することで印刷物から直接情報が漏洩することを防ぐ。また、印刷物から情報を読み出す場合には、印刷物に印刷された暗号化画像をスキャナ等で読み取り、この暗号化画像を復号する。
【0003】
従来技術が、暗号化画像を生成する従来の処理について説明する。図19および図20は、暗号化画像を生成する従来の処理を説明する図である。図19に示すように、従来技術では、暗号化領域指定処理を行った後に、暗号化処理を実行する。
【0004】
図19において、暗号化領域指定処理は、入力画像の領域から、暗号化対象となる領域を指定する処理である。暗号化処理は、暗号化対象となる領域を複数の画素ブロックに分割し、各画素ブロックに対して、暗号鍵を用いたスクランブル処理を実行することで、暗号化画像を生成する。例えば、暗号鍵は1または0からなるバイナリ列である。暗号処理では、ビットが「1」の場合には隣り合う画素ブロックを交換し、ビットが「0」の場合には何もしない処理を実行することで、スクランブル処理を行う。
【0005】
図20に示すように、入力画像1aに対して、暗号化領域指定処理を実行することにより、暗号化対象となる領域1bが指定される。例えば、暗号化領域指定処理では、所定のマーカーを入力画像に設定することで、領域1bを指定する。
【0006】
暗号化処理では、領域1bを複数の画素ブロックに分割し、各画素ブロックに対して、暗号鍵を用いたスクランブル処理を実行することで、暗号化画像2を生成する。従来技術では、例えば、暗号化画像を印刷し、印刷物は、情報の通知先に渡される。
【0007】
従来技術が、暗号化画像を復号する処理について説明する。図21は、暗号化画像を復号する処理を説明する図である。図21に示すように、印刷物から読み出された暗号化画像は、暗号化領域検出処理を行った後に、復号処理を実行する。
【0008】
図21において、暗号化領域検出処理は、例えば、所定のマーカーを検出することにより、暗号化された領域を検出する処理である。復号処理は、暗号化された領域を複数の画素ブロックに分割し、各画素ブロックに対して、復号鍵を用いた逆スクランブル処理を実行することで、復号画像を生成する。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開平8−172640号公報
【特許文献2】特許第4348381号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、上述した従来技術では、復号画像の画質が劣化するという問題があった。
【0011】
図22は、従来技術の問題を説明するための図である。暗号化画像のもととなる入力画像にボケや解像度不足などが存在する場合には、暗号化画像を印刷したり、スキャナやデジタルカメラで取り込んだりすると、画素ブロックの境界に、色にじみやボケが生じる。例えば、図22の暗号化画像3の拡大画像3aを参照すると、境界部分3bに色にじみが生じている。このため、暗号化画像3を復号すると、画像ブロックの境界部分に色にじみやボケが生じ、復号画像4の画質が劣化してしまう。拡大画像4aを参照すると、境界部分4bに色にじみが生じている。この色にじみは、境界部分3bの色にじみの影響によるものである。
【0012】
開示の技術は、上記に鑑みてなされたものであって、復号画像の画質の劣化を防止することができる画像復号プログラムおよび画像復号方法を提供することを目的とする。
【課題を解決するための手段】
【0013】
開示の画像復号プログラムは、コンピュータに下記の各処理を実行させる。まず、画像復号プログラムは、コンピュータに、画像の暗号化領域を複数のブロックに分割し、暗号鍵により複数のブロックをスクランブル処理することで暗号化された暗号化画像を記憶装置から取得させ、暗号化画像中のマーカーを検出することにより暗号化領域を検出する。そして、画像復号プログラムは、コンピュータに、復号鍵を用いて暗号化領域の複数のブロックを逆スクランブル処理することで復号した復号画像を生成させる。続いて、画像復号プログラムは、コンピュータに、暗号化画像の暗号化領域に含まれる隣接ブロック同士の第1の相関値、および、復号画像の前記暗号化領域に対応する領域に含まれる隣接ブロック同士の第2の相関値を求めさせる。そして、画像復号プログラムは、コンピュータに、第1の相関値および第2の相関値に基づいて、復号画像の前記暗号化領域に対応する領域に含まれるブロックの境界部分を補正するか否かを判定させる。
【発明の効果】
【0014】
本願の開示する画像復号プログラムおよび画像復号方法によれば、復号画像の画質の劣化を防止することができるという効果を奏する。
【図面の簡単な説明】
【0015】
【図1】図1は、本実施例1にかかる画像復号装置の構成を示す機能ブロック図である。
【図2】図2は、色にじみが発生していない場合の暗号化画像の画素ブロックを示す図である。
【図3】図3は、色にじみが発生していない場合の復号画像の画素ブロックを示す図である。
【図4】図4は、色にじみが発生している場合の暗号化画像の画素ブロックを示す図である。
【図5】図5は、色にじみが発生している場合の復号画像の画素ブロックを示す図である。
【図6A】図6Aは、色にじみと画素ブロック間の相関との関係を示す図である。
【図6B】図6Bは、実施例1の判定テーブルのデータ構造の一例を示す図である。
【図7】図7は、第1の相関値を求める処理を説明するための図である。
【図8】図8は、第2の相関値を求める処理を説明するための図である。
【図9】図9は、補正部の処理の一例を示す図である。
【図10】図10は、暗号化画像の画素ブロックの組の各画素値を示す図である。
【図11】図11は、復号画像の画素ブロックの組の各画素値を示す図である。
【図12】図12は、本実施例1にかかる画像復号装置の処理手順を示すフローチャートである。
【図13】図13は、本実施例2にかかる画像復号装置の構成を示す機能ブロック図である。
【図14】図14は、実施例2の判定テーブルのデータ構造の一例を示す図である。
【図15】図15は、第3の相関値を求める処理を説明するための図である。
【図16】図16は、複合判定部の処理の一例を説明するための図である。
【図17】図17は、bicubic補間を説明するための図である。
【図18】図18は、画像復号プログラムを実行するコンピュータの一例を示す図である。
【図19】図19は、暗号化画像を生成する従来の処理を説明する図(1)である。
【図20】図20は、暗号化画像を生成する従来の処理を説明する図(2)である。
【図21】図21は、暗号化画像を復号する処理を説明する図である。
【図22】図22は、従来技術の問題を説明するための図である。
【発明を実施するための形態】
【0016】
以下に、本願の開示する画像復号プログラムおよび画像復号方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例1】
【0017】
本実施例1にかかる画像復号装置について説明する。図1は、本実施例1にかかる画像復号装置の構成を示す機能ブロック図である。図1に示すようにこの画像復号装置100は、印刷物読み取り部110、入力部120、表示部130、記憶部140、制御部150を有する。
【0018】
印刷物読み取り部110は、印刷物から画像データを読み取る装置である。例えば、印刷物読み取り部110は、スキャナ等に対応する。本実施例では、印刷物に、図19、図20に示した従来技術により生成された暗号化画像が印刷されているものとする。印刷物読み取り部110は、読み取った暗号化画像データを、制御部150に出力する。
【0019】
入力部120は、各種の情報を入力する入力装置である。入力部120は、キーボード、マウス、タッチパネルに対応する。表示部130は、例えば、制御部150の処理結果を表示する装置である。表示部130は、ディスプレイ、タッチパネルに対応する。
【0020】
記憶部140は、復号鍵データ140a、暗号化画像データ140b、復号画像データ140c、判定テーブル140dを記憶する記憶装置である。記憶部140は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。
【0021】
復号鍵データ140aは、暗号化画像を復号する場合に利用される復号鍵である。例えば、復号鍵データ140aは、1または0からなるバイナリ列である。
【0022】
暗号化画像データ140bは、印刷物読み取り部110が印刷物から読み取った暗号化画像データである。復号画像データ140cは、暗号化画像データ140bを復号した復号画像データである。
【0023】
判定テーブル140dは、復号画像を補正するか否かを判定するためのテーブルである。この判定テーブル140dは、後述の判定部150dに利用される。
【0024】
ここで、判定テーブル140dのデータ構造の説明を行う前に、色にじみが発生していない場合の画素ブロック間の相関、および、色にじみが発生している場合の画素ブロック間の相関について説明する。なお、暗号化画像および復号画像の場合に分けて説明する。
【0025】
図2は、色にじみが発生していない場合の暗号化画像の画素ブロックを示す図である。図2では、一例として、暗号化画像の画素ブロック10aと画素ブロック10bとを示している。暗号化画像の各画素ブロックは、スクランブル処理を施されたものであるため、画素ブロック10a、10bの画素値の相関は低い傾向にある。このため、境界部分10cに色にじみが発生してなければ、画素10dと画素10eとの相関も低くなる。
【0026】
図3は、色にじみが発生していない場合の復号画像の画素ブロックを示す図である。図3では、一例として、復号画像の画素ブロック15aと画素ブロック10bとを示している。図3の画素ブロック10bは、図2に示した画素ブロック10bに対応するものである。復号画像の各画素ブロックは、並び順が基の状態に戻っているものなので、画素ブロック15a、10bの画素値の相関は高い傾向にある。このため、復号前の暗号化画像の境界部分10cに色にじみが発生していなければ、図3の境界部分15cの画素15dと画素10eとの相関は高くなる。
【0027】
したがって、図2、図3に示したように、暗号化画像の隣接ブロックの画素の相関が低く、かつ、復号画像の隣接ブロックの画素の相関が高い場合には、色にじみが発生していないといえる。色にじみが発生していなければ、色にじみによる画像劣化の影響は少なく、画素値の補正を行わなくてよい。
【0028】
図4は、色にじみが発生している場合の暗号化画像の画素ブロックを示す図である。図4では、一例として、暗号化画像の画素ブロック20aと画素ブロック20bとを示している。暗号化画像の各画素ブロックは、スクランブル処理を施されたものであるため、画素ブロック20a、20bの画素値の相関値は低い傾向にある。しかし、図4に示すように、境界部分20cに色にじみが発生している場合には、画素20dと画素20eとの相関は高くなる。
【0029】
図5は、色にじみが発生している場合の復号画像の画素ブロックを示す図である。図5では、一例として、復号画像の画素ブロック25aと画素ブロック20bとを示している。図5の画素ブロック20bは、図4に示した画素ブロック20bに対応するものである。復号画像の各画素ブロックは、並び順が基の状態に戻っているものなので、画素ブロック25a、20bの画素値の相関は高い傾向にあるはずである。しかし、図4の境界部分20cに色にじみが発生していれば、かかる色にじみの影響により、図5の境界部分25cの画素25dと画素20eとの相関は低くなる。
【0030】
したがって、図4、図5に示したように、暗号化画像の隣接ブロックの画素の相関が高く、かつ、復号画像の隣接ブロックの画素の相関が低い場合には、色にじみが発生しているといえる。色にじみが発生していれば、色にじみによる画像劣化の影響は大きいため、画素値の補正を行う。
【0031】
上記の図2〜図5に示した色にじみと画素ブロック間の相関との関係をまとめると、図6Aに示すものとなる。図6は、色にじみと画素ブロック間の相関との関係を示す図である。図6Aに示すように、色にじみがない場合には、暗号化画像で隣接する画素ブロック間の画素の相関は「低く」なり、かつ、復号画像で隣接する画素ブロック間の画素の相関は「高く」なる。これに対して、色にじみがある場合には、暗号化画像で隣接する画素ブロック間の画素の相関は「高く」なり、かつ、復号画像で隣接する画素ブロック間の画素の相関は「低く」なる。
【0032】
続いて、暗号化画像データ140bの隣接する画素ブロック同士の境界部分の相関、および、復号画像データ140cの隣接する画素ブロック同士の境界部分の相関を求める算出方法の一例について説明する。以下の説明において、暗号画像データ140bの隣接する画素ブロック同士の境界部分の相関の値を第1の相関値と表記する。また、復号画像データ140cの隣接する画素ブロック同士の境界部分の相関の値を第2の相関値と表記する。
【0033】
図7は、第1の相関値を求める処理を説明するための図である。ここでは、暗号化画像データの画素ブロックの組を、画素ブロック30a、30bとする。画素ブロック30aの画素30cの画素値と、画素ブロック30bの画素30dの画素値との差分の絶対値を第1の相関値として求める。すなわち、画素ブロック間の相関が「高い」ほど、第1の相関値は「小さく」なる。
【0034】
例えば、画素30cの画素値を(R1、G1、B1)とし、画素30dの画素値を(R2、G2、B2)とすると、第1の相関値V1は、式(1)に示すものとなる。
【0035】
V1=|R1−R2|+|G1−G2|+|B1−B2|・・・(1)
【0036】
図8は、第2の相関値を求める処理を説明するための図である。ここでは、復号画像データの画素ブロックの組を、画素ブロック30b、35aとする。図8の画素ブロック30bは、図7に示した画素ブロック30bと同一である。画素ブロック35aの画素35dの画素値と、画素ブロック30bの画素30dの画素値との差分の絶対値を第2の相関値として求める。すなわち、画素ブロック間の相関が「高い」ほど、第2の相関値は「小さく」なる。
【0037】
例えば、画素35dの画素値を(R3、G3、B3)とし、画素30dの画素値を(R2、G2、B2)とすると、第2の相関値V2は、式(2)に示すものとなる。
【0038】
V2=|R3−R2|+|G3−G2|+|B3−B2|・・・(2)
【0039】
図7、図8において説明したように、画素同士の相関が高い場合には、第1、2の相関値は小さくなる。また、画素同士の相関が低い場合には、第1、2の相関値は大きくなる。本実施例では、第1の相関値および第2の相関値の大小関係を利用して、色にじみによる補正を行うか否かを判定する。
【0040】
図6Bは、実施例1の判定テーブルのデータ構造の一例を示す図である。第1の相関値が第2の相関値以上の場合には、補正を行わない。第1の相関値が第2の相関値以上となる場合には、色にじみが発生していない。第1の相関値が第2の相関値以上となる場合には、図6Aの「色にじみなし」の条件に対応する。
【0041】
これに対して、第1の相関値が第2の相関値未満の場合には、補正を行う。第1の相関値が第2の相関値未満となる場合には、色にじみが発生している。第1の相関値が第2の相関値未満となる場合には、図6Aの「色にじみあり」の条件に対応する。
【0042】
図1の説明に戻る。制御部150は、入出力制御部150a、暗号化領域検出部150b、復号部150c、判定部150d、補正部150eを有する。制御部150は、例えば、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)などの集積装置に対応する。また、制御部150は、例えば、CPUやMPU(Micro Processing Unit)等の電子回路に対応する。
【0043】
入出力制御部150aは、データの入出力を制御する処理部である。例えば、入出力制御部150aは、印刷物読み取り部110から、暗号化画像データを取得し、取得した暗号化画像データを、記憶部140に格納する。また、入出力制御部150aは、暗号化画像データ140bを復号することで得られる復号画像データ140cを、表示部130に出力する。
【0044】
暗号化領域検出部150bは、暗号化画像データ140bの領域から、暗号化された領域を検出する処理部である。以下の説明において、暗号化された領域を、暗号化領域と表記する。例えば、暗号化領域検出部150bは、暗号化画像データ140bを操作し、所定のマーカーを検出する。暗号化領域検出部150bは、検出したマーカーに囲まれる領域を、暗号化領域として検出する。
【0045】
暗号化領域検出部150bは、暗号化画像データ140bと、暗号化領域の情報を、復号部150cに出力する。暗号化領域の情報には、例えば、暗号化領域の四隅の座標が含まれる。
【0046】
復号部150cは、復号鍵データ140aを用いて、暗号化画像データ140bを復号することで、復号画像データ140cを生成する処理部である。
【0047】
復号部150cの処理の一例を説明する。復号部150cは、暗号化領域の座標に基づいて、暗号化画像データ140bの暗号化領域を特定する。そして、復号部150cは、暗号化領域を複数の画素ブロックに分割する。復号部150cは、画素ブロックの組と、復号鍵データ140aのバイナリ列とを対応させ、ビットが「1」の場合には隣り合う画素ブロックを交換し、ビットが「0」の場合には交換しないという処理を実行することで、逆スクランブル処理を行う。
【0048】
このように、復号部150cは、逆スクランブル処理を行うことで、暗号化画像データ140bから復号画像データ140cを生成する。復号部150cは、生成した復号画像データ140cを記憶部140に格納する。
【0049】
判定部150dは、暗号化画像データ140b、復号画像データ140c、判定テーブル140dを基にして、復号画像データ140cの画素値を補正するか否かを判定する処理部である。判定部150dは、判定結果を補正部150eに出力する。
【0050】
判定部150dの処理の一例を説明する。判定部150dは、第1の相関値、第2の相関値を求めた後に、求めた第1、2の相関値と、判定テーブル140dとを基にして、補正するか否かを判定する。
【0051】
判定部150dは、暗号化画像データ140bの暗号化領域から、画素ブロックの組を選択し、式(1)を利用して、第1の相関値を算出する。ここでは、選択した画素ブロックの組を、図7の画素ブロック30a、30bとする。判定部150dは、画素ブロック30aの画素30cの画素値と、画素ブロック30bの画素30dの画素値との差分の絶対値を第1の相関値として求める。
【0052】
なお、判定部150dは、画素ブロック30aに含まれる各画素の画素値の平均値と、画素ブロック30bに含まれる各画素の画素値の平均値との差分の絶対値を、第1の相関値としてもよい。
【0053】
また、判定部150dは、復号画像データ140cの暗号化領域に相当する領域から、画素ブロックの組を選択し、式(2)を利用して、第2の相関値を算出する。暗号化領域に相当する領域は、復号部150cが逆スクランブル処理を行った領域に対応する。ここで、選択した画素ブロックの組を、図8の画素ブロック35a、30bとする。図8の画素ブロック30bは、図7の画素ブロック30bと同一である。判定部150dは、画素ブロック35aの画素35dの画素値と、画素ブロック30bの画素30dの画素値との差分の絶対値を第2の相関値として求める。
【0054】
なお、判定部150dは、画素ブロック35aに含まれる各画素の画素値の平均値と、画素ブロック30bに含まれる各画素の画素値の平均値との差分の絶対値を、第2の相関値としてもよい。
【0055】
判定部150dは、第1の相関値および第2の相関値を求めた後に、第1の相関値および第2の相関値との関係が、判定テーブル140dの何れの条件に当てはまるか否かにより、復号画像データ140cを補正するか否かを判定する。判定部150dは「第1の相関値≧第2の相関値」の条件に当てはまる場合には、復号画像データ140cを補正しないと判定する。これに対して、判定部は「第1の相関値<第2の相関値」の条件に当てはまる場合には、復号画像データ140cを補正すると判定する。
【0056】
補正部150eは、判定部150dの判定結果に補正する旨の情報が含まれている場合に、復号画像データ140cを補正する処理部である。例えば、補正部150eは、復号画像データ140cの画像ブロックの組を選択し、画像ブロックの境界部分の画素の画素値を、周囲の画素の画素値を用いて線形補完することで、補正する。
【0057】
図9は、補正部の処理の一例を示す図である。補正部150eは、復号画像データ140cの暗号化領域に相当する領域から、画素ブロックの組を選択する。ここでは、補正部150eは、復号画像において、補間対象の画素30eが含まれている画素ブロック30bと、補正対象の画素30eが隣接している画素ブロック35aを選択する。補正部150eは、補正対象画素30eの画素値を、画素35dの画素値と画素30dの画素値とを用いて補正する。画素35dは、画素ブロック35aに属し、1画素あけて画素30eに隣接する画素である。画素30dは、画素ブロック30bに属し、画素30eに隣接する画素である。
【0058】
補正部150eは、式(3)に基づいて、画素30eの画素値を求め、求めた画素値により、画素30eの画素値を補正する。式(3)において、画素30eの画素値は、画素値Aに対応する。画素30dの画素値は、画素値Bに対応する。画素35dの画素値は、画素値Cに対応する。
【0059】
画素値A=(2×画素値B+画素値C)/3・・・(3)
【0060】
補正部150eは、画素ブロックの組の境界部分35cに含まれる他の画素に対しても、線形補完を実行することで、画素の画素値を補正する。例えば、他の画素は、画素ブロック30bのうち、境界部分35cに含まれる画素である。補正部150eは、未選択の画素ブロックの組を順次選択し、上記処理を繰り返し実行することで、復号画像データ140cを補正する。
【0061】
次に、判定部150dの処理の一例を、実際の画素値を用いて説明する。図10は、暗号化画像の画素ブロックの組の各画素値を示す図である。図11は、復号画像の画素ブロックの組の角画素値を示す図である。
【0062】
第1の相関値を求める場合について説明する。図10では一例として、暗号化画像データ140aに含まれる画素ブロック50aと画素ブロック50bとの組を示す。なお、画素ブロックに含まれる各画素(1、1)〜(4、4)の括弧に含まれる数字は、画素値であり、左側から順に、R(Red)、G(Green)、B(Blue)に対応する。例えば、画素ブロック50aの画素(1、1)の画素値は(R=190、G=202、B=204)となる。なお、画素(1、1)は、画素の1行目、1列目を示す。
【0063】
判定部150dは、例えば、画素ブロック50aの画素(3、4)と、画素ブロック50bの画素(3、1)の画素値を、式(1)に代入することにより、第1の相関値を算出する。この場合には、第1の相関値は「108」となる。
【0064】
第2の相関値を求める場合について説明する。図11では一例として、復号画像データ140bに含まれる画素ブロック55aと画素ブロック50bとの組を示す。図11の画素ブロック50bは、図10の画素ブロック50bと同一である。なお、画素ブロックに含まれる各画素(1、1)〜(4、4)の括弧に含まれる数字は、画素値であり、左側から順に、R(Red)、G(Green)、B(Blue)に対応する。例えば、画素ブロック55aの画素(1、1)の画素値は(R=99、G=129、B=109)となる。なお、画素(1、1)は、画素の1行目、1列目を示す。
【0065】
判定部150dは、第1の相関値で着目した画像ブロック50bの画素(3、1)と、この画素(3、1)に隣接する画素ブロック55aの画素(3、4)の画素値を、式(2)に代入することにより、第2の相関値を算出する。この場合には、第2の相関値は「97」となる。
【0066】
判定部150dは、第1の相関値「108」と第2の相関値「97」とを比較すると、第1の相関値が第2の相関値よりも大きいため、復号画像データ140cを補正しないと判定する。
【0067】
ここでは一例として、判定部150dが、一組の第1の相関値、第2の相関値を求め、補正を行うか否かを判定したが、これに限定されるものではない。例えば、判定部150dは、画素ブロック50aの画素(1、4)、(2、4)、(3、4)、(4、4)と、画素ブロック50bの画素(1、4)、(2、4)、(3、4)、(4、4)とをそれぞれ比較して、複数の第1の相関値を求める。また、判定部150dは、画素ブロック55aの画素(1、4)、(2、4)、(3、4)、(4、4)と、画素ブロック50bの画素(1、4)、(2、4)、(3、4)、(4、4)とをそれぞれ比較して、複数の第2の相関値を求める。そして、判定部150dは、各組の第1の相関値、第2の相関値の大小関係をそれぞれ求め、多数決により、補正を行うか否かを判定してもよい。
【0068】
または、判定部150dは、画像ブロック50aの画素の画素値を平均化した値と、画素ブロック50bの画素の画素値を平均化した値から、第1の相関値を求める。また、判定部150dは、画像ブロック55aの画素の画素値を平均化した値と、画素ブロック50bの画素の画素値を平均化した値から、第2の相関値を求める。そして、判定部150dは、求めた第1の相関値と第2の相関値とを比較して、補正を行うか否かを判定してもよい。
【0069】
次に、本実施例1にかかる画像復号装置の処理手順について説明する。図12は、本実施例1にかかる画像復号装置の処理手順を示すフローチャートである。図12に示す処理は、例えば、印刷物から暗号化画像データを読み取ったことを契機に実行される。
【0070】
図12に示すように、画像復号装置100は、印刷物から暗号化画像を読み取り(ステップS101)、暗号化画像データ140bを取得する(ステップS102)。
【0071】
画像復号装置100は、暗号化領域を検出し(ステップS103)、復号鍵データ140aに基づいて復号画像データ140cを生成する(ステップS104)。画像復号装置100は、暗号化画像データ140bを基にして第1の相関値を算出する(ステップS105)。また、画像復号装置100は、復号画像データ140cを基にして第2の相関値を算出する(ステップS106)。
【0072】
画像復号装置100は、第1の相関値および第2の相関値を基にして、復号画像データ140cを補正するか否かを判定する(ステップS107)。画像復号装置100は、補正しない場合には(ステップS108,No)、ステップS110に移行する。
【0073】
一方、画像復号装置100は、補正する場合には(ステップS108,Yes)、復号画像データ140cを補正する(ステップS109)。そして、画像復号装置100は、復号画像データ140cを出力する(ステップS110)。
【0074】
次に、本実施例1にかかる画像復号装置100の効果について説明する。画像復号装置100は、暗号化画像データ140bから第1の相関値を求め、復号画像データ140cから第2の相関値を求める。そして、画像復号装置100は、第1の相関値と第2の相関値との関係と、判定テーブル140dとを基にして、復号画像データ140cを補正するか否かを判定する。復号画像データを補正する場合は、復号画像データ140cを補正して色にじみを補正する。このため、画像復号装置100によれば、復号画像データ140cの色にじみによる画質劣化を防止することができる。
【実施例2】
【0075】
次に、本実施例2にかかる画像復号装置について説明する。図13は、本実施例2にかかる画像復号装置の構成を示す機能ブロック図である。図13に示すように、この画像復号装置200は、印刷物読み取り部210、入力部220、表示部230、記憶部240、制御部250を有する。
【0076】
このうち、印刷物読み取り部210、入力部220、表示部230は、図1に示した印刷物読み取り部110、入力部120、表示部130に対応する。
【0077】
記憶部240は、復号鍵データ240a、暗号化画像データ240b、復号画像データ240c、判定テーブル240dを記憶する記憶装置である。記憶部240は、例えば、RAM、ROM、フラッシュメモリなどの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。
【0078】
このうち、復号鍵データ240a、暗号化画像データ240b、復号画像データ240cは、図1に示した復号鍵データ140a、暗号化画像データ140b、復号画像データ140cに対応する。
【0079】
判定テーブル240dは、復号画像を補正するか否かを判定するためのテーブルである。この判定テーブル240dは、後述の判定部250dに利用される。図14は、実施例2の判定テーブルのデータ構造の一例を示す図である。図14に示すように、この判定テーブル240dは、補正の有無と条件とを対応付ける。
【0080】
図14において、第3の相関値が第1の相関値以下の場合には、画素値の補正を行わない。これに対して、第3の相関値が第1の相関値より大きい場合には、画素値の補正を行う。ここで、第1の相関値は、暗号化画像データ240bの隣接する画素ブロック同士の境界部分の相関を示すものである。第3の相関値は、復号画像データ240cの隣接する画素ブロック同士の境界部分の相関を示すものである。なお、第3の相関値は、境界部分を挟んで所定の距離だけ離れた画素同士を比較することで求められる値である。このように、境界部分から少し離れた画素から相関値を求めることで、色にじみの影響を受けることなく、補正を行うか否かを判定することができる。
【0081】
制御部250は、入出力制御部250a、暗号化領域検出部250b、復号部250c、判定部250d、補正部250eを有する。制御部250は、例えば、ASICや、FPGAなどの集積装置に対応する。また、制御部250は、例えば、CPUやMPU等の電子回路に対応する。
【0082】
このうち、入出力制御部250a、暗号化領域検出部250b、復号部250cは、図1に示した入出力制御部150a、暗号化領域検出部150b、復号部150cに対応する。
【0083】
判定部250dは、暗号化画像データ240b、復号画像データ240c、判定テーブル240dを基にして、復号画像データ240cの画素値を補正するか否かを判定する処理部である。判定部250dは、判定結果を補正部250eに出力する。
【0084】
判定部250dの処理の一例を説明する。判定部250dは、第1の相関値、第3の相関値を求めた後に、求めた第1、3の相関値と、判定テーブル240dとを基にして、補正するか否かを判定する。ここで、第1の相関値を求める処理は、図7に示したものと同様である。
【0085】
図15は、第3の相関値を求める処理を説明するための図である。判定部250dは、復号画像データの暗号化領域に相当する領域から、画素ブロックの組を選択する。ここでは、選択した画素ブロックの組を、画素ブロック60a、30bとする。判定部250dは、画素ブロックの境界60cから1画素離れた画素60dと、画素30eとを選択する。そして、判定部250dは、画素60dの画素値と、画素30eの画素値との差分の絶対値を第3の相関値として求める。
【0086】
例えば、画素60dの画素値を(R5、G5、B5)とし、画素60eの画素値を(R6、G6、B6)とすると、第3の相関値V3は、式(4)に示すものとなる。
【0087】
V3=|R5−R6|+|G5−G6|+|B5−B6|・・・(4)
【0088】
判定部250dは、第1の相関値および第3の相関値を求めた後に、第1の相関値および第3の相関値との関係が、判定テーブル240dの何れの条件に当てはまるか否かにより、復号画像データ240cを補正するか否かを判定する。判定部250dは「第1の相関値≧第3の相関値」の条件に当てはまる場合には、復号画像データ140cを補正しないと判定する。これに対して、判定部は「第1の相関値<第3の相関値」の条件に当てはまる場合には、復号画像データ140cを補正すると判定する。
【0089】
補正部250eは、判定部250dの判定結果に補正する旨の情報が含まれている場合に、復号画像データ240cを補正する処理部である。例えば、補正部250eは、復号画像データ240cの画像ブロックの組を選択し、画像ブロックの境界部分の画素の画素値を、周囲の画素の画素値を用いて線形補完することで、補正する。
【0090】
次に、本実施例2にかかる画像復号装置200の効果について説明する。画像復号装置200は、暗号化画像データ240bから第1の相関値を求め、復号画像データ240cの画素ブロック間の境界より離れた画素同士を比較して、第3の相関値を求める。そして、画像復号装置200は、第1の相関値と第3の相関値との関係と、判定テーブル240dとを基にして、復号画像データ240cを補正するか否かを判定する。このため、画像復号装置200によれば、色にじみが発生していても、正確に、復号画像データ240cを補正するか否かを判定することができる。
【0091】
ところで、上記の実施例1の判定部150dは、第1、2の相関値を基にして、復号画像データ140cを補正するか否かを判定し、実施例2の判定部250dは、第1、3の相関値を基にして、復号画像データ240cを補正するか否かを判定していた。しかし、判定部150dの機能と、判定部250dの機能とを組み合わせてもよい。以下の説明において、判定部150dの機能と、判定部250dの機能とを組み合わせた判定部を、複合判定部と表記する。
【0092】
ここで、判定部150dの判定方法は、判定部250dのものと比較して、元の画像が複雑な絵柄の場合に適切な判定を行えるが、判定に利用する画素の位置が境界に近いために、色にじみが大きい場合には、不適切な判定を行う可能性がある。
【0093】
これに対して、判定部250dの判定方法は、判定に利用する画素の位置が境界から遠いため、色にじみが大きい場合でも適切な判定を行えるが、元の画像が複雑な絵柄の場合に、不適切な判定を行う可能性がある。
【0094】
上記点に鑑みて、複合判定部は、復号画像データの隣接する画素ブロックが平坦な場合に、第1、3の相関値を用いて、復号画像データを補正するか否かを判定する。これに対して、複合判定部は、復号画像データの隣接する画素ブロックが平坦ではなく、複雑な絵柄のばあいには、第1、2の相関値を用いて、復号画像データを補正するか否かを判定する。
【0095】
複合判定部が、復号画像データの隣接する画素ブロックが平坦であるか否かを判定する処理の一例について説明する。図16は、複合判定部の処理の一例を説明するための図である。図16では一例として、画素ブロック70a、70bを用いる。複合判定部は、画素ブロック70aの端を除いた中央部分の各画素70cの画素値の平均値と、画素ブロック70bの端を除いた中央部分の各画素70dの画素値の平均値とを求める。そして、複合判定部は、各画素70cの4つの画素値の平均値と画素70cの4つの画素との差分絶対値和と、各画素70dの4つの画素値の平均値と画素70dの4つの画素との差分絶対値和を算出し、算出した2つの差分絶対値和が両方とも閾値以下の場合には、画素ブロック70aと画素ブロック70bの境界付近は平坦であると判定する。これに対して、複合判定部は、画素70cの4つの画素値の平均値と画素70cの4つの画素との差分絶対値和と、画素70dの4つの画素値の平均値と画素70dの4つの画素との差分絶対値和を算出し、算出した2つの差分絶対値和のうちどちらか一方でも閾値より大きい場合には、画素ブロック70aと画素ブロック70bの境界付近は複雑な絵柄であると判定する。
【0096】
このような処理を複合判定部が行うことによって、元の画像が複雑な絵柄であっても、平坦な画像であっても、安定して、復号画像データを補正すべきか否かを判定することができる。
【0097】
なお、実施例1の補正部150eおよび実施例2の補正部250eは、線形補間により復号画像データを補正していたが、その他の従来技術を用いて補正してもよい。例えば、補正部150e、250eは、bicubic補間により、復号画像データを補正してもよい。図17は、bicubic補間を説明するための図である。図17に示すように、bicubic補間は、4点の画素の画素値を利用して、補間する。また、補正対象となる画素からの距離に応じて、4点の画素の画素値には重みが付与される。
【0098】
例えば、補正部150eは、画素ブロック80bの画素80cの画素値を補正する場合には、画素ブロック80aの画素80d、80eの画素値、および、画素ブロック80bの画素80f、80gの画素値にそれぞれ距離から算出される重みをかける。そして、補正部150eは、画素値に重みをかけた値の平均値を、画素80cの画素値の値とする。補正部150eは、このようなbicubic補間を、境界部分の画素に対して行うことで、復号画像データを補正してもよい。補正部250eも同様である。
【0099】
次に、図1に示した画像復号装置100と同様の機能を実現する画像復号プログラムを実行するコンピュータの一例を説明する。図18は、画像復号プログラムを実行するコンピュータの一例を示す図である。
【0100】
図18に示すように、コンピュータ500は、各種演算処理を実行するCPU501と、ユーザからのデータの入力を受け付ける入力装置502と、ディスプレイ503を有する。また、コンピュータ500は、記憶媒体からプログラム等を読取る読み取り装置504と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置505とを有する。また、コンピュータ500は、各種情報を一時記憶するRAM506と、ハードディスク装置507を有する。そして、各装置501〜507は、バス508に接続される。
【0101】
ハードディスク装置507は、復号プログラム507a、判定プログラム507b、補正プログラム507cを記憶する。CPU501は、各プログラム507a〜507cを読み出して、RAM506に展開する。復号プログラム507aは、復号プロセス506aとして機能する。判定プログラム507bは、判定プロセス506bとして機能する。補正プログラム507cは、補正プロセス506cとして機能する。
【0102】
例えば、復号プロセス506aは、復号部150cに対応する。判定プロセス506bは、判定部150dに対応する。補正プロセス506cは、補正部150eに対応する。
【0103】
なお、各プログラム507a〜507cについては、必ずしも最初からハードディスク装置507に記憶させておかなくてもよい。例えば、コンピュータ500に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ500がこれらから各プログラム507a〜507cを読み出して実行するようにしてもよい。
【0104】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0105】
(付記1)コンピュータに、
画像の暗号化領域を複数のブロックに分割し、暗号鍵により複数のブロックをスクランブル処理することで暗号化された暗号化画像を記憶装置から取得し、復号鍵を用いて前記暗号化領域の複数のブロックを逆スクランブル処理することで復号した復号画像を生成し、
前記暗号化画像の暗号化領域に含まれる隣接ブロック同士の第1の相関値、および、前記復号画像の前記暗号化領域に対応する領域に含まれる隣接ブロック同士の第2の相関値を求め、前記第1の相関値および前記第2の相関値に基づいて、前記復号画像の前記暗号化領域に対応する領域に含まれるブロックの境界部分を補正するか否かを判定し、
判定結果に基づいて、前記復号画像の境界部分を補正する
各処理を実行させることを特徴とする画像復号プログラム。
【0106】
(付記2)前記境界部分を補正するか否かを判定する処理は、更に、前記復号画像の暗号化領域に含まれる隣接ブロックの境界部分から所定距離離れた部分領域同士を比較することで、第3の相関値を求め、前記第1の相関値と前記第3の相関値に基づいて、前記復号画像の前記暗号化領域に対応する領域に含まれるブロックの境界部分を補正するか否かを判定することを特徴とする付記1に記載の画像復号プログラム。
【0107】
(付記3)前記境界部分を補正するか否かを判定する処理は、前記復号画像が平坦である場合に、前記第1の相関値と前記第2の相関値とを基にして、前記境界部分を補正するか否かを判定することを特徴とする付記2に記載の画像復号プログラム。
【0108】
(付記4)前記境界部分を補正するか否かを判定する処理は、前記復号画像が平坦ではない場合に、前記第1の相関値と前記第3の相関値とを基にして、前記境界部分を補正するか否かを判定することを特徴とする付記2または3に記載の画像復号プログラム。
【0109】
(付記5)コンピュータが実行する画像復号方法であって、
画像の暗号化領域を複数のブロックに分割し、暗号鍵により複数のブロックをスクランブル処理することで暗号化された暗号化画像を記憶装置から取得し、復号鍵を用いて前記暗号化領域の複数のブロックを逆スクランブル処理することで復号した復号画像を生成し、
前記暗号化画像の暗号化領域に含まれる隣接ブロック同士の第1の相関値、および、前記復号画像の前記暗号化領域に対応する領域に含まれる隣接ブロック同士の第2の相関値を求め、前記第1の相関値および前記第2の相関値に基づいて、前記復号画像の前記暗号化領域に対応する領域に含まれるブロックの境界部分を補正するか否かを判定し、
判定結果に基づいて、前記復号画像の境界部分を補正する
各処理を実行させることを特徴とする画像復号方法。
【0110】
(付記6)前記境界部分を補正するか否かを判定する処理は、更に、前記復号画像の暗号化領域に含まれる隣接ブロックの境界部分から所定距離離れた部分領域同士を比較することで、第3の相関値を求め、前記第1の相関値と前記第3の相関値に基づいて、前記復号画像の前記暗号化領域に対応する領域に含まれるブロックの境界部分を補正するか否かを判定することを特徴とする付記5に記載の画像復号方法。
【0111】
(付記7)前記境界部分を補正するか否かを判定する処理は、前記復号画像が平坦である場合に、前記第1の相関値と前記第2の相関値とを基にして、前記境界部分を補正するか否かを判定することを特徴とする付記6に記載の画像復号方法。
【0112】
(付記8)前記境界部分を補正するか否かを判定する処理は、前記復号画像が平坦ではない場合に、前記第1の相関値と前記第3の相関値とを基にして、前記境界部分を補正するか否かを判定することを特徴とする付記6または7に記載の画像復号方法。
【0113】
(付記9)画像の暗号化領域を複数のブロックに分割し、暗号鍵により複数のブロックをスクランブル処理することで暗号化された暗号化画像を記憶装置から取得し、復号鍵を用いて前記暗号化領域の複数のブロックを逆スクランブル処理することで復号した復号画像を生成する復号部と、
前記暗号化画像の暗号化領域に含まれる隣接ブロック同士の第1の相関値、および、前記復号画像の前記暗号化領域に対応する領域に含まれる隣接ブロック同士の第2の相関値を求め、前記第1の相関値および前記第2の相関値に基づいて、前記復号画像の前記暗号化領域に対応する領域に含まれるブロックの境界部分を補正するか否かを判定する判定部と、
前記判定部の判定結果に基づいて、前記復号画像の境界部分を補正する補正部と
を有することを特徴とする画像復号装置。
【0114】
(付記10)前記判定部は、更に、前記復号画像の暗号化領域に含まれる隣接ブロックの境界部分から所定距離離れた部分領域同士を比較することで、第3の相関値を求め、前記第1の相関値と前記第3の相関値に基づいて、前記復号画像の前記暗号化領域に対応する領域に含まれるブロックの境界部分を補正するか否かを判定することを特徴とする付記9に記載の画像復号装置。
【0115】
(付記11)前記判定部は、前記復号画像が平坦である場合に、前記第1の相関値と前記第2の相関値とを基にして、前記境界部分を補正するか否かを判定することを特徴とする付記10に記載の画像復号装置。
【0116】
(付記12)前記判定部は、前記復号画像が平坦ではない場合に、前記第1の相関値と前記第3の相関値とを基にして、前記境界部分を補正するか否かを判定することを特徴とする付記10または11に記載の画像復号装置。
【符号の説明】
【0117】
100 画像復号装置
110 印刷物読み取り部
120 入力部
130 表示部
140 記憶部
150 制御部

【特許請求の範囲】
【請求項1】
コンピュータに、
画像の暗号化領域を複数のブロックに分割し、暗号鍵により複数のブロックをスクランブル処理することで暗号化された暗号化画像を記憶装置から取得し、復号鍵を用いて前記暗号化領域の複数のブロックを逆スクランブル処理することで復号した復号画像を生成し、
前記暗号化画像の暗号化領域に含まれる隣接ブロック同士の第1の相関値、および、前記復号画像の前記暗号化領域に対応する領域に含まれる隣接ブロック同士の第2の相関値を求め、前記第1の相関値および前記第2の相関値に基づいて、前記復号画像の前記暗号化領域に対応する領域に含まれるブロックの境界部分を補正するか否かを判定し、
判定結果に基づいて、前記復号画像の境界部分を補正する
各処理を実行させることを特徴とする画像復号プログラム。
【請求項2】
前記境界部分を補正するか否かを判定する処理は、更に、前記復号画像の暗号化領域に含まれる隣接ブロックの境界部分から所定距離離れた部分領域同士を比較することで、第3の相関値を求め、前記第1の相関値と前記第3の相関値に基づいて、前記復号画像の前記暗号化領域に対応する領域に含まれるブロックの境界部分を補正するか否かを判定することを特徴とする請求項1に記載の画像復号プログラム。
【請求項3】
前記境界部分を補正するか否かを判定する処理は、前記復号画像が平坦である場合に、前記第1の相関値と前記第2の相関値とを基にして、前記境界部分を補正するか否かを判定することを特徴とする請求項2に記載の画像復号プログラム。
【請求項4】
前記境界部分を補正するか否かを判定する処理は、前記復号画像が平坦ではない場合に、前記第1の相関値と前記第3の相関値とを基にして、前記境界部分を補正するか否かを判定することを特徴とする請求項2または3に記載の画像復号プログラム。
【請求項5】
コンピュータが実行する画像復号方法であって、
画像の暗号化領域を複数のブロックに分割し、暗号鍵により複数のブロックをスクランブル処理することで暗号化された暗号化画像を記憶装置から取得し、復号鍵を用いて前記暗号化領域の複数のブロックを逆スクランブル処理することで復号した復号画像を生成し、
前記暗号化画像の暗号化領域に含まれる隣接ブロック同士の第1の相関値、および、前記復号画像の前記暗号化領域に対応する領域に含まれる隣接ブロック同士の第2の相関値を求め、前記第1の相関値および前記第2の相関値に基づいて、前記復号画像の前記暗号化領域に対応する領域に含まれるブロックの境界部分を補正するか否かを判定し、
判定結果に基づいて、前記復号画像の境界部分を補正する
各処理を実行させることを特徴とする画像復号方法。
【請求項6】
前記境界部分を補正するか否かを判定する処理は、更に、前記復号画像の暗号化領域に含まれる隣接ブロックの境界部分から所定距離離れた部分領域同士を比較することで、第3の相関値を求め、前記第1の相関値と前記第3の相関値に基づいて、前記復号画像の前記暗号化領域に対応する領域に含まれるブロックの境界部分を補正するか否かを判定することを特徴とする請求項5に記載の画像復号方法。
【請求項7】
前記境界部分を補正するか否かを判定する処理は、前記復号画像が平坦である場合に、前記第1の相関値と前記第2の相関値とを基にして、前記境界部分を補正するか否かを判定することを特徴とする請求項6に記載の画像復号方法。
【請求項8】
前記境界部分を補正するか否かを判定する処理は、前記復号画像が平坦ではない場合に、前記第1の相関値と前記第3の相関値とを基にして、前記境界部分を補正するか否かを判定することを特徴とする請求項6または7に記載の画像復号方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2013−12054(P2013−12054A)
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願番号】特願2011−144558(P2011−144558)
【出願日】平成23年6月29日(2011.6.29)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】