本発明の実施の形態について、図面に基づいて説明する。
図1は、実施形態に係る画像処理システムのハードウェア構成の概略を示す図である。画像処理システム900は、コンピュータ100と、コンピュータ100に接続されたスキャナ106およびプリンタ107とを備える。ここで、コンピュータ100は、CPU(Central Processing Unit)101、RAM(Random Access Memory)102等の主記憶装置、HDD(Hard Disk Drive)103等の補助記憶装置、ROM(Read Only Memory)104、ディスプレイ108等の表示装置、マウス110/キーボード111等の入力装置、およびUSB(Universal Serial Bus)インターフェース105を有するコンピュータであり、USBインターフェース105には、スキャナ106およびプリンタ107が接続されている。
<第一の実施形態>
図2は、本実施形態に係る画像処理システム900の機能構成の概略を示す図である。図1に示されたコンピュータシステムは、HDD103から読み出され、RAM102に展開された画像処理プログラムをCPU101が実行することで、外部アプリケーションから入力された印刷または表示のための描画情報を受け付ける描画情報入力受付部21と、受け付けられた描画情報に基づいてデジタル画像を取得するデジタル画像生成部15と、生成されたデジタル画像の少なくとも一部を暗号化することで暗号化画像を生成する暗号化部11と、生成された暗号化画像を出力する出力部12と、暗号化部11によって暗号化される領域等を指定するための情報を含む定義情報を保持する定義情報保持部22と、定義情報保持部22から定義情報を取得する定義情報取得部23と、ユーザに対して各種設定および設定内容の確認を行うためのユーザインターフェースを提供するユーザインターフェース出力部25と、ユーザによる入力を受け付けるユーザ入力受付部26と、ユーザによって指定された定義情報を識別するための情報を保持するユーザ指定内容保持部24と、デジタル画像から定義情報を識別するための情報を取得する識別情報取得部18と、を備える画像処理システム900として機能する。
図1に示されたコンピュータシステムは、更に、暗号化された暗号化画像を復号するために、HDD103から読み出され、RAM102に展開された画像処理プログラムをCPU101が実行することで、電子ファイル等から暗号化画像を取得する暗号化画像取得部13と、取得されたデジタル画像の少なくとも一部を復号することで復号済のデジタル画像を生成する復号部14と、復号されたデジタル画像に基づいて電子データを生成する電子データ生成部501と、を備える画像処理システム900として機能する。なお、定義情報取得部23、定義情報保持部22、ユーザ指定内容保持部24、識別情報取得部18、等の定義情報を処理する各機能部は、暗号化画像の復号処理においても用いられる。
なお、本実施形態では、本発明に係るシステムを、暗号化および復号の双方の機能を備えた画像処理システムとして説明しているが、本発明に係る画像処理システムは、暗号化の機能を備えた暗号化システム、または復号の機能を備えた復号システムとして実施されてもよい。
図3は、本実施形態における画像処理プログラムの位置づけを示す図である。画像処理プログラムは、各種アプリケーションに対して、所謂プリンタドライバに相当する機能を提供する。画像処理プログラムを、コンピュータ上にこのように実装することで、ユーザに暗号化の前処理としてビットマップ形式のデジタル画像を生成させる手間をかけることなく、通常の印刷処理と同様の操作によって、電子データに基づく暗号化画像を生成することが可能である。
描画情報入力受付部21は、文書作成アプリケーションや表計算アプリケーション等、暗号化対象となり得る何らかの電子データを開いているアプリケーションから入力された描画情報を受け付ける。ここで受け付けられる描画情報は、紙媒体等への印刷やディスプレイ108等への表示に用いられる情報であり、文字コードや書式情報、描画のためのベクトルデータおよび画素情報、等を含んでよい。
デジタル画像生成部15は、描画情報入力受付部21によって受け付けられた描画情報に基づいて、画素形式によるデジタル画像を生成する。デジタル画像生成部15は、描画情報に係る電子データを紙媒体等へ印刷した場合またはディスプレイ108等へ表示した場合のイメージを、所謂ビットマップ形式のデジタル画像へ変換する。通常、文書データであれば文字コードや書式情報からなるが、この文書データを表示または印刷した場合のイメージをビットマップ形式の画像として生成することで、暗号化部11による画像の暗号化を施すことが可能となる。
暗号化部11は、デジタル画像生成部15によって生成されたデジタル画像における暗号化の対象となる部分領域を指定する暗号化領域指定部31と、指定された部分領域の画像を、暗号鍵に基づいて処理画像に変換する画像変換部32と、変換された処理画像の画素値を規則的に変換することによって、復号の際に部分領域の位置の特定に用いられる規則性を有する変換画像を生成する画素値変換部33とを有する。暗号化部11による暗号化処理の詳細については後述する。
出力部12は、暗号化部11によって生成された暗号化画像の情報を含む電子ファイルを、HDD103等の記憶装置へ出力する。但し、出力は、モニタ等の表示装置への出力であってもよいし、プリンタ107による印刷出力であってもよい。
暗号化画像取得部13は、ユーザ操作によって指定された電子ファイルから、暗号化画像を取得する。なお、暗号化画像取得部13は、スキャナ106やデジタルカメラ等、紙媒体を撮像可能な装置を用いて紙媒体を撮像することで、紙媒体上の情報を暗号化画像として取得してもよい。
復号部14は、暗号化画像取得部13によって取得された暗号化画像における復号の対象となる領域を指定する復号領域指定部(暗号化領域検出部)142と、指定された復号領域のうち画素値が規則的に変換されている暗号化位置を検出する暗号化位置検出部143と、検出された暗号化位置と復号鍵とに基づいて前記復号領域をデジタル画像に復号する逆変換部(復号部)144とを有する。復号部14による復号処理の詳細については後述する。
電子データ生成部501は、所謂OCR(Optical Character Recognition)の技術を用いて、復号部14によって復号されたデジタル画像中の文字を検出および特定することで、デジタル画像中の文字を文字コードによる文字情報として含む電子データを生成する。復号されたデジタル画像から電子データを生成することで、暗号化に使用された電子データと同一またはそれに近い電子データを得ることが出来る。なお、生成される電子データは、暗号化される前の電子データが生成されたアプリケーションと同一のアプリケーションにおいて取り扱い可能な形式の電子データであることが好ましい。また、電子データ生成部501は、文字の他に、書式や、デジタル画像に含まれる図表、イラスト、およびその配置等を検出および特定することで、暗号化される前の電子データに近い電子データをより正確に生成することが出来る。
定義情報保持部22は、デジタル画像上の位置を示す位置情報によって暗号化の対象となる部分領域を指定するための領域指定情報と、該部分領域の暗号化/復号に用いられる鍵情報(本実施形態では、暗号鍵および復号鍵として、共通鍵を用いる)と、を含む定義情報を、一意の識別情報と関連付けて、定義情報テーブルで管理する。
識別情報取得部18は、暗号化処理または復号処理に用いられる定義情報を識別するために、暗号化前のデジタル画像または復号前の暗号化画像から、これらの画像に含まれる識別情報を取得する。ここで、識別情報は、例えばバーコードや文字列、記号等として画像に含まれる。但し、識別情報は、メタデータとして電子データまたは電子ファイルに含まれてもよい。また、ユーザ指定内容保持部24は、ユーザによって指定された定義情報に関連付けられた識別情報を、設定ファイルまたはレジストリ等に保持することで、ユーザによる指定内容を保存する。
定義情報取得部23は、識別情報取得部18によってデジタル画像または暗号化画像から取得された識別情報や、ユーザ指定内容保持部24によって保持されている識別情報をキーとして定義情報テーブルを検索し、対応する定義情報を取得する。これによって、ユーザに適切な領域指定情報を選択させる手間や、適切な鍵情報を入力させる手間をかけることなく、自動的に最適な定義情報を使用して暗号化または復号を行うことが出来る。
図4は、本実施形態における定義情報テーブルの構成を示す図である。定義情報テーブルには、デジタル画像中の領域を示すための位置情報を含む領域指定情報と、暗号化/復号に用いられる鍵情報(暗号鍵/復号鍵)と、を含む定義情報が、一意の識別情報と関連付けられて記録される。領域指定情報は、デジタル画像中の暗号化領域または復号領域を指定するための位置情報等を含む情報である。暗号化領域/復号領域を指定するために用いられる情報としては、デジタル画像中の位置を示す位置情報や、サイズ情報、ベクトル情報等がある。暗号化領域/復号領域は、これらの情報の何れか一つ以上を用いて指定される。例えば、後述する暗号化処理では、矩形の暗号化領域/復号領域を指定するために、3点の位置情報を用いる。位置情報は、一般にx軸と、該x軸に直交するy軸とを用いて、cm、インチ、ピクセル等の単位を用いて表すことが出来る(図3を参照)。また、デジタル画像の幅または長さを単位として、x軸およびy軸におけるデジタル画像の端からの位置を割合(%)で示してもよい。他に、デジタル画像の全てのピクセルに対して番号を割り当て(例えば、左上のピクセルから右下のピクセルまで連番を割り当てる)、この番号を用いて位置を特定する方法等も考えられる。
また、領域指定情報が暗号化の対象となる部分領域として指定する位置は、デジタル画像生成の基礎となった電子データにおける、暗号化対象の情報が記録されている位置に対応する。例えば、文書データにおいて、社会保障番号(Social Security Number)や電子メールアドレス等の個人情報が暗号化の対象となる重要情報であった場合、生成されたデジタル画像においてこれらの情報が配置されている領域が、領域指定情報によって指定される。このため、領域指定情報は、図4に示すように、文書データの書式に従って予め用意されていてもよいし、文書データの内容に応じて暗号化の都度生成されてもよい。
図5は、本実施形態における、事前定義処理の流れを示すフローチャートである。本フローチャートに示された処理は、暗号化処理または復号処理の前に、暗号化または復号において用いられる領域指定情報および鍵情報を含む定義情報を作成し、定義情報テーブルに保存するための処理であり、ユーザによって事前定義処理を行うことを指示する操作が行われたことを契機として実行される。なお、本フローチャートに示された事前定義処理は、暗号化対象となり得る何らかの電子データを開いているアプリケーションにおいて開かれた印刷メニュー内のプリンタ一覧から画像処理プログラムが選択され、ここで定義情報の設定開始が指示されたことによって、実行されてもよい。
ステップS11からステップS13では、定義情報を設定するために用いられるサンプルデジタル画像等が読み込まれて表示され、暗号化対象領域の指定および暗号鍵の指定が行われる。はじめに、ユーザインターフェース出力部25は、ユーザによって指定されたデジタル画像を含むプレビュー画面600を生成し、ディスプレイ108に表示する(ステップS11)。
図6は、本実施形態において、領域指定のために表示される電子データのプレビュー画面600を示す図である。プレビュー画面600には、定義情報の定義に用いられるデジタル画像601が表示され、ユーザ入力受付部26は、マウス110等の入力機器を用いた範囲指定操作による、暗号化/復号の対象となる領域の指定を受け付ける(ステップS12)。本実施形態では、例えば、ディスプレイ108に表示されたデジタル画像601上の、暗号化対象の矩形領域602の左上頂点としたい位置でマウス110の主ボタンを押し込み、そのまま矩形領域602の右下頂点としたい位置までマウス操作によってディスプレイ108上のポインタ603を移動させ、主ボタンを解放することで、暗号化対象の領域を指定することが出来る。但し、暗号化対象としたい領域の選択方法は、その他の方法が用いられてもよい。
暗号化対象領域が指定されると、ユーザインターフェース出力部25は、鍵情報の入力を促すダイアログをディスプレイ108に表示する(図示は省略する)。ここで、ユーザ入力受付部26は、ユーザに新たな鍵情報(暗号鍵/復号鍵)を入力するか、以前に入力した鍵情報から選択させることで、今回指定された領域の暗号化/復号に用いる鍵情報を受け付ける(ステップS13)。
なお、本実施形態に係る領域指定情報では、ページ番号情報とページ内の位置情報とを組み合わせることで、複数ページに亘る電子データについて、ページ毎に異なる暗号化対象領域を設定することが出来る。このため、電子データが複数ページに亘る場合、ページ一覧としての所謂サムネイル604を表示することで、ユーザによる一覧性を高めることとしてもよい。また、本実施形態に係る画像処理システム900では、このプレビュー画面600で範囲が選択された状態で、次に説明する定義情報設定インターフェース700を表示させることが出来る。
ステップS14では、暗号化対象領域を調整し、決定するための定義情報設定インターフェース700が表示される。ユーザインターフェース出力部25は、プレビュー画面600において領域および暗号鍵の指定がされた状態で、ユーザによって所定の操作がなされたことを契機として、定義情報設定インターフェース700をディスプレイ108に表示する(ステップS14)。
図7は、本実施形態における、定義情報を設定するためにディスプレイ108に表示される、定義情報設定インターフェース700を示す図である。定義情報設定インターフェース700には、定義情報をユーザが識別するための定義情報の名称を入力するための名称入力欄701、暗号化モードを選択するための選択メニュー702、プレビュー画面600で選択された領域の詳細内容が表示され、またこれらの内容を調節するための領域指定情報表示欄703、プレビューの縮小画像が表示されるプレビュー欄704、プレビュー画面600に戻るためのプレビュー画面表示ボタン705、設定内容を定義情報テーブルに保存するための保存ボタン706、および設定内容を定義情報テーブルに保存して事前定義処理を終了する終了ボタン707等が表示される。
ここで、設定内容の変更、例えば領域指定情報の変更が必要な場合には、プレビュー画面表示ボタン705を選択してプレビュー画面600を再び表示させて範囲選択をし直す、または領域指定情報表示欄703に表示された内容を選択して数値の調整を行う、等の方法で、設定内容の変更を行うことが出来る。また、定義情報によって定義される電子データが複数ページに亘る電子データである場合、領域指定情報表示欄703には、各ページにおける暗号化対象の領域を示す情報が表示される。なお、単一ページ内における複数個所を暗号化対象の領域として指定することも可能である。
ステップS15では、指定された暗号化対象領域と暗号鍵とが関連付けられて、定義情報テーブルに保存される(ステップS15)。この際、定義情報保持部22は、定義情報を、一意の識別情報と関連付けて定義情報テーブルに保存する。なお、この識別情報は、定義情報保持部22によって自動的に生成されたものでもよいし、ユーザによって指定された定義情報の名称であってもよい。ユーザは、定義情報設定インターフェース700において設定内容を確認し、保存ボタン706または終了ボタン707等を選択することで事前定義を完了する。その後、本フローチャートに示された処理は終了する。
図8は、本実施形態における、定義情報指定処理の流れを示すフローチャートである。定義情報指定処理は、定義情報テーブル中の複数の定義情報から、暗号化処理または復号処理に用いられる定義情報を予め指定しておくための処理である。定義情報指定処理によって予め定義情報が指定されていることで、ユーザは、暗号化処理または復号処理の都度定義情報を選択したり、新たに領域指定情報や鍵情報を設定したりする必要なく、大量の電子データを続けて暗号化または復号することが出来る。本フローチャートに示された処理は、ユーザによって定義情報の指定を行うことを指示する操作が行われたことを契機として実行される。なお、本フローチャートに示された処理は、文書作成アプリケーションや表計算アプリケーション等、暗号化対象となり得る何らかの電子データを開いているアプリケーションにおいて開かれた印刷メニュー内のプリンタ一覧から画像処理プログラムが選択され、ここで画像処理プログラムの設定画面(所謂「プロパティ」)が呼び出されたことを契機として、実行されてよい。
はじめに、ユーザインターフェース出力部25は、事前定義処理(図5を参照)において定義された定義情報の一覧をディスプレイ108に表示する(ステップS21)。ここで、定義情報の一覧は、リスト形式やプルダウンメニュー形式等で表示され、ユーザによって所望の定義情報を選択することが可能となっている。ユーザ入力受付部26は、ユーザによって選択された所望の定義情報の指示操作を受け付ける(ステップS22)。そして、ユーザ指定内容保持部24は、受け付けられた指示操作に係る定義情報に関連付けられた識別情報(図4を参照)を、以降の暗号化処理または復号処理において自動的に適用される定義情報として保持する(ステップS23)。その後、本フローチャートに示された処理は終了する。
本実施形態では、このようにして、暗号化処理または復号処理の前に予め定義情報が設定され、実際に用いる定義情報が指定されることで、複数の電子データが続けて処理される際にも、電子データが入力される都度ユーザによって適用される定義情報が指定される必要が生じない。このため、大量の定型電子データを一括して暗号化または復号するバッチ処理等の際に、ユーザの手間を著しく軽減することが可能である。
図9は、本実施形態における暗号化処理の流れを示すフローチャートである。本フローチャートに示された処理は、ユーザが文書作成アプリケーションや表計算アプリケーション等、暗号化対象となり得る何らかの電子データを開いているアプリケーションにおいて印刷メニューを呼び出し、ここで画像処理プログラムによる出力指示を行ったことを契機として開始される。
ステップS30およびステップS31では、描画情報が受け付けられ、デジタル画像が生成される。描画情報入力受付部21は、外部アプリケーションから入力された描画情報を受け付け(ステップS30)、デジタル画像生成部15は、受け付けられた描画情報に基づいて印刷または表示イメージのビットマップデータを作成することで、デジタル画像を生成する(ステップS31)。その後、処理はステップS32へ進む。
ステップS32およびステップS33では、プレビュー画面600を出力するか否かが判定され、プレビュー画面600を出力する設定であった場合に、プレビュー画面600が出力される。ユーザインターフェース出力部25は、予め設定されていた設定内容に基づいて、図6に示すプレビュー画面600を出力するか否かを判定し(ステップS32)、出力する設定がされている場合には、ユーザに処理対象の電子データの内容および暗号化対象領域を確認させるために、ステップS31において取得した描画情報に基づくプレビュー画面600を生成し、ディスプレイ108に表示させる(ステップS33)。プレビュー画面600を出力する設定ではない場合には、処理はステップS35へ進む。
ステップS34では、定義情報テーブルに保持されている定義情報を使用するか否かが判定される。定義情報取得部23は、画像処理プログラムに関連する設定内容を参照するか、またはユーザに問合せることで、以降の暗号化処理において、定義情報テーブルから定義情報を読み出して使用するか、またはユーザから新たに入力される領域指定および鍵情報を使用するかを判定する。定義情報テーブルに保持されている定義情報を使用すると判定された場合、処理はステップS35へ進む。定義情報テーブルの定義情報を使用せずに、ユーザから新たに入力される領域指定および鍵情報を使用する場合、処理はステップS36へ進む。
ステップS35では、暗号化に用いられる定義情報が読み出される。定義情報取得部23は、暗号化に用いる領域指定情報および暗号鍵を含む定義情報を、定義情報テーブルから読み出す。ここで、定義情報取得部23は、予め定義情報指定処理(図8を参照)等で事前に指定された定義情報を示す識別情報が、ユーザ指定内容保持部24に保持されている場合、この識別情報に係る定義情報を、定義情報テーブルから取得する。事前指定がされていない場合、識別情報取得部18は、デジタル画像中に含まれる識別情報をバーコード認識やOCR等の手段で取得する。そして、定義情報取得部23は、識別情報取得部18によって取得された識別情報に係る定義情報を読み出す。識別情報は、バーコードや文字列等の形式で、デジタル画像中に含ませることが出来る。これによって、ユーザが電子ファイルや紙媒体の内容に基づいて適切な定義情報を選択することなく、暗号化を行うことが可能となる。なお、本実施形態では、デジタル画像中にイメージ(印刷または表示された場合に視認可能なイメージ)として含まれる識別情報を、バーコード認識やOCR等の手段で取得することとしているが、電子ファイル中に、描画時には通常表示されないデータ(所謂メタデータ)として識別情報を含ませることとしてもよい。
これによって、ユーザによる定義情報を指定する手間が省略され、作業効率を向上させることが出来る。特に、複数パターンの定型書式の文書類をまとめて暗号化する場合に、定型書式に応じた識別情報を、定型書式のテンプレートに含ませておくことで、非常に簡便に暗号化を行うことが可能である。なお、後述する復号処理においても識別情報を取得し、対応する定義情報を取得することとしてもよい。
また、ユーザ指定内容保持部24に保持される識別情報やデジタル画像中に含まれる識別情報を取得することが出来ず、暗号化処理において用いられる定義情報が未決定の場合には、定義情報の選択画面が表示され、ユーザに定義情報の選択を促すこととしてもよい(図8を参照)。その後、処理はステップS38へ進む。
ステップS36およびステップS37では、暗号化対象領域および暗号鍵の入力が受け付けられる。ステップS34で定義情報テーブルに保持されている定義情報を使用しないと判定された場合、ユーザ入力受付部26は、プレビュー画面600において、ユーザのマウス操作等に基づく暗号化対象領域の入力を受け付け(ステップS36)、更に、入力された暗号化対象領域の暗号化に用いる暗号鍵の入力を受け付ける(ステップS37)。暗号化対象領域および暗号鍵の入力を受け付ける処理の流れは、図5を用いて説明した事前定義処理と概ね同様である。ここで入力された暗号化対象領域および暗号鍵は、定義情報として定義情報テーブルに保存されてもよい。また、暗号化対象領域および暗号鍵を定義情報として保存する際には、自動的に保存されることとしてもよいし、保存の可否を指定するチェックボックスや、ユーザへ保存の可否を問合せるダイアログによって、ユーザの判断を受けることとしてもよい。その後、処理はステップS38へ進む。
ステップS38では、暗号化が行われる。暗号化部11は、デジタル画像の、ステップS35で読み出された領域指定情報によって示された領域またはステップS36で入力された暗号化対象領域を、ステップS35で読み出された暗号鍵またはステップS37で入力された暗号鍵に基づいて暗号化することで、暗号化画像を生成する。暗号化処理の詳細については後述する。その後、処理はステップS39へ進む。
ステップS39では、暗号化画像が出力される。出力部12は、ステップS38で生成された暗号化画像の情報を含む電子ファイルを、HDD103等の記憶装置へ出力する。なお、出力部12は、暗号化画像を、プリンタ107を用いて紙媒体へ印刷(出力)してもよい。その後、本フローチャートに示された処理は終了する。
本実施形態によれば、電子データに基づく画像の一部を暗号化することで、重要な情報の閲覧を制限しつつ、他の情報の閲覧を許可することが可能である。即ち、個人情報等の重要な情報が一部に含まれる電子データを扱う作業等において、個人情報等が記載された部分のみを暗号化し、作業に必要な情報は暗号化しないことで、個人情報等の重要な情報が含まれる文書を用いた作業を、情報漏えいを発生させることなく行うことが出来る。
なお、出力される暗号化画像には、バーコードやOCR読み取り可能な情報が付加されてもよい。ここで、暗号化画像に付加されるバーコードやOCR読み取り可能な情報は、暗号化処理に用いられた定義情報を識別可能な情報を含む情報である。付加される情報には、例えば、定義情報テーブルに保存された定義情報を識別するための一意の識別情報(図4を参照)が含まれる。これによって、ユーザが電子ファイルまたはこの電子ファイルが印刷された紙媒体の内容から、何れの定義情報を用いて暗号化処理が行われたかを判断する手間をかけることなく、暗号化された情報の復号を行うことが可能となる。
図10は、本実施形態における復号処理の流れを示すフローチャートである。本フローチャートに示された処理は、図9に示された処理等によって生成された暗号化画像の情報を含む電子ファイルの復号開始を指示する操作が、ユーザによって行われたことを契機として開始される。
ステップS41では、暗号化画像が取得される。ユーザは、図9に示された処理等によって生成された暗号化画像の情報を含む電子ファイルを指定する操作を行う。ユーザによる操作を受け付けた暗号化画像取得部13は、指定された電子ファイルをRAM102に展開することで、暗号化画像を取得する。なお、電子ファイルからではなく、暗号化画像が記録された紙媒体から暗号化画像が取得されてもよい。この場合、ユーザはスキャナ106に復号したい暗号化情報が記録された紙媒体をセットした上で、コンピュータ100のインターフェースを通じて取得開始の指示を与える操作を行う。そして、指示の入力を受け付けた暗号化画像取得部13は、スキャナ106を制御して紙媒体を撮像させ、撮像結果を暗号化画像に変換することで、暗号化画像を取得する。その後、処理はステップS42へ進む。
ステップS42およびステップS43では、ユーザに処理対象の暗号化画像の内容および復号対象領域を確認させるためのプレビュー画面600bを出力するか否かが判定され、プレビュー画面600bを出力する設定であった場合に、プレビュー画面600bが出力される。処理の詳細は図9において示したステップS32およびステップS33と同様であるため、説明を省略する。プレビュー画面600bを出力する設定がされていない場合には、処理はステップS45へ進む。
図11は、本実施形態において、復号領域指定のために表示される暗号化画像のプレビュー画面600bを示す図である。プレビュー画面600bには、復号対象の暗号化画像601bが表示され、ユーザは、マウス110等の入力機器を用いて範囲指定を行うことで、復号の対象となる領域602bを簡易に指定することが出来る。領域指定の具体的な方法は、暗号化対象領域の指定方法と概略同様であるため、説明を省略する。
ステップS44では、定義情報テーブルに保持されている定義情報を使用するか否かが判定される。処理の詳細は暗号化処理におけるステップS34と概略同様であるため、説明を省略する。定義情報テーブルに保持されている定義情報を使用すると判定された場合、処理はステップS35へ進む。定義情報テーブルの定義情報を使用せずに、ユーザから新たに入力される領域指定および鍵情報を使用する場合、処理はステップS36へ進む。
ステップS45では、復号に用いられる定義情報が読み出される。定義情報取得部23は、復号に用いる領域指定情報および復号鍵を含む定義情報を、定義情報テーブルから読み出す。定義情報を定義情報テーブルから取得する方法としては、ユーザ指定内容保持部24に保持された事前指定のないように基づく方法や、暗号化画像中に含まれる識別情報を取得する方法、選択画面を表示してユーザに選択させる方法等があり、処理の詳細は暗号化処理と概略同様であるため、説明を省略する。その後、処理はステップS48へ進む。
ステップS46およびステップS47では、復号対象領域および復号鍵の入力が受け付けられる。ユーザ入力受付部26は、プレビュー画面600bにおいて、ユーザのマウス操作等に基づく復号対象領域の入力を受け付け(ステップS46)、更に、入力された復号対象領域の復号に用いる復号鍵の入力を受け付ける(ステップS47)。復号対象領域および復号鍵の入力を受け付ける処理の流れは、図5を用いて説明した事前定義処理と概ね同様である。この際、暗号化処理と同様、入力内容は、定義情報として定義情報テーブルに保存されてもよい。その後、処理はステップS48へ進む。
但し、復号対象領域は自動選択されてもよい。復号部14は、暗号化処理の際に画素値が規則的に変換されたことによって復号領域の画像が有する規則性や、復号領域の位置を特定するために付加されたマーカー等に基づいて、暗号化画像中の復号対象領域の検出および位置特定をすることが出来る。
ステップS48およびステップS49では、復号が行われ、復号されたデジタル画像が出力される。復号部14は、暗号化画像中の、ステップS45で読み出された領域指定情報によって示された領域またはステップS46で入力された復号対象領域を、ステップS45で読み出された復号鍵またはステップS47で入力された復号鍵に基づいて復号することで、暗号化が解除されたデジタル画像を生成する(ステップS48)。復号処理の詳細については後述する。そして、出力部12は、ステップS48で生成されたデジタル画像の情報を含む電子ファイルを、HDD103等の記憶装置へ出力する(ステップS49)。その後、本フローチャートに示された処理は終了する。
なお、本フローチャートに示した処理では、復号されたデジタル画像の情報を含む電子ファイルを出力して処理を終了することとしているが、OCR等を用いることで、暗号化処理の際にアプリケーションから入力された描画情報の元となった電子データまたはこの電子データに近いデータを復元することとしてもよい。電子データ生成部501は、ステップS48で生成されたデジタル画像中の文字を検出および特定することで、デジタル画像中の文字を文字コードによる文字情報として含む電子データを生成する。暗号化前の電子データを復元することで、復号された情報を電子データとして取り扱うことが可能となり、利便性が向上する。
なお、本発明に係る画像処理システムは、電子データ暗号化システム、または電子データ復号システムとして実施されてもよい。以下に、画像処理システムを電子データ暗号化システムまたは電子データ復号システムとして実施した場合の実施形態について説明する。なお、以下に示す実施形態における電子データ暗号化システムまたは電子データ復号システムのハードウェア構成は、図1に示した画像処理システムのハードウェア構成と概略同様である。
<第二の実施形態>
図12は、本実施形態に係る電子データ暗号化システム200の機能構成の概略を示す図である。電子データ暗号化システム200は、HDD103から読み出され、RAM102に展開された電子データ暗号化プログラムをCPU101が実行することで、紙媒体を撮像してデジタル画像を取得するデジタル画像生成部15と、生成されたデジタル画像の少なくとも一部を暗号化することで暗号化画像を生成する暗号化部11と、生成された暗号化画像を出力する出力部12と、暗号化部11によって暗号化される領域を指定するための情報を保持する領域指定情報保持部16と、ユーザに対して選択肢を表示し、選択結果の入力を受け付ける領域指定情報取得部19Aと、として機能する。
デジタル画像生成部15は、電子データに基づいて、画素形式によるデジタル画像を生成する。デジタル画像生成部15は、選択された電子データを印刷した場合または表示した場合のイメージを、所謂ビットマップ形式のデジタル画像へ変換する。通常、文書データであれば文字コードや書式情報からなるが、この文書データを表示または印刷した場合のイメージをビットマップ形式の画像として生成することで、暗号化部11による画像の暗号化を施すことが可能となる。
領域指定情報保持部16は、デジタル画像上の位置を示す位置情報を含む領域指定情報を、暗号化の対象となる部分領域を指定するための領域指定情報として保持する。複数の領域指定情報は、一意の識別情報と関連付けて、領域指定情報テーブルで管理される。
図13は、本実施形態における電子データ暗号化プログラムの位置づけを示す図である。電子データ暗号化プログラムは、各種アプリケーションに対して、所謂プリンタドライバに相当する機能を提供する。電子データ暗号化プログラムを、コンピュータ上にこのように実装することで、ユーザは、通常の印刷処理と同様の操作によって、電子データに基づく印刷物を簡易に暗号化することが可能である。
図14は、本実施形態における領域指定情報テーブルの構成を示す図である。領域指定情報テーブルには、デジタル画像中の領域を示すための位置情報を含む領域指定情報が、一意の識別情報と関連付けられて記録される。領域指定情報については、第一の実施形態において説明したものと概略同様であるため、説明を省略する。
また、領域指定情報が暗号化の対象となる部分領域として指定する位置は、デジタル画像生成の基礎となった電子データにおける、暗号化対象の情報が記録されている位置に対応する。例えば、文書データにおいて、「重要事項記載欄」が暗号化の対象となる重要情報であった場合、生成されたデジタル画像においてこの「重要事項記載欄」が配置されている領域が、領域指定情報によって指定される。このため、領域指定情報は、図14に示すように、文書データの書式に従って予め用意されていてもよいし、文書データの内容に応じて暗号化の都度生成されてもよい。領域指定情報を、暗号化の都度生成する場合の処理については、第三の実施形態において説明する。
図15は、本実施形態における電子データ暗号化の流れを示すフローチャートである。本フローチャートに示された処理は、ユーザ操作に基づいて電子データ暗号化プログラムがHDD103より読み出されてRAM102に展開され、CPU101によって実行されることで開始される。
ステップS101では、デジタル画像が生成される。ユーザは、文書作成アプリケーション等を使用している状態で、アプリケーションのメニューから、印刷の出力先として、電子データ暗号化プログラムを選択し、印刷開始の指示を与える。指示の入力を受け付けたデジタル画像生成部15は、アプリケーション等から電子データを取得し、印刷または表示イメージのビットマップデータを作成することでデジタル画像を生成する。その後、処理はステップS102へ進む。
ステップS102では、領域指定情報が指定される。領域指定情報取得部19Aは、領域指定情報保持部16より領域指定情報の候補を読み出し、読み出した領域指定情報に基づいてユーザに選択させるためのインターフェースをディスプレイ108に表示する。領域指定情報取得部19Aは、ユーザの選択の入力を受け付け、ユーザの選択に係る領域指定情報を特定する。その後、処理はステップS103へ進む。
ステップS103では、暗号化が行われる。暗号化部11は、デジタル画像の、ステップS102で特定された領域指定情報によって示された領域を暗号化することで、暗号化画像を生成する。暗号化処理の詳細については後述する。その後、処理はステップS104へ進む。
ステップS104では、暗号化画像が出力される。コンピュータ100は、CPU101が電子データ暗号化プログラムを実行することで、ステップS103で生成された暗号化画像を、プリンタ107を用いて紙媒体へ印刷(出力)する。その後、本フローチャートに示された処理は終了する。
図16は、本実施形態に係る電子データ復号システム500の機能構成の概略を示す図である。電子データ復号システム500は、HDD103から読み出され、RAM102に展開された電子データ復号プログラムをCPU101が実行することで、紙媒体を撮像して紙媒体上の暗号化画像を取得する暗号化画像取得部13と、取得されたデジタル画像の少なくとも一部を復号することで復号済のデジタル画像を生成する復号部14と、復号されたデジタル画像に基づいて電子データを生成する電子データ生成部501と、として機能する。
暗号化画像取得部13は、紙媒体を撮像することで、紙媒体上の情報を暗号化画像として取得する。本実施形態では、スキャナ106およびスキャナドライバを実行するコンピュータ100が暗号化画像取得部13に相当する。但し、暗号化画像は、デジタルカメラ等、その他の紙媒体を撮像可能な装置を用いて取得されてもよい。
図17は、本実施形態における電子データ復号処理の流れを示すフローチャートである。本フローチャートに示された処理は、ユーザ操作に基づいて電子データ復号プログラムがHDD103より読み出されてRAM102に展開され、CPU101によって実行されることで開始される。
ステップS201では、暗号化画像が取得される。ユーザは、スキャナ106に復号したい暗号化情報が記録された紙媒体をセットした上で、コンピュータ100のインターフェースを通じて取得開始の指示を与える。指示の入力を受け付けた暗号化画像取得部13は、スキャナ106を制御して紙媒体を撮像させ、撮像結果を暗号化画像に変換することで、暗号化画像を取得する。その後、処理はステップS202へ進む。
ステップS202では、復号が行われる。復号部14は、暗号化画像中の、暗号化された領域を検出し、この領域を復号することで、暗号化が解除されたデジタル画像を生成する。復号処理の詳細については後述する。その後、処理はステップS203へ進む。
ステップS203では、電子データが生成される。電子データ生成部501は、ステップS202で生成されたデジタル画像中の文字を検出および特定することで、デジタル画像中の文字を文字コードによる文字情報として含む電子データを生成する。その後、本フローチャートに示された処理は終了する。
このように、復号処理においては、暗号化部分を自動的に検出し、検出された領域を復号することで、復号鍵を知るユーザのみに対して暗号化部分に記載された情報を閲覧させるようにすることが可能である。但し、暗号化処理と同様の領域情報選択インターフェースを表示し、ユーザが選択した領域情報に従って復号領域を決定することとしてもよい。ユーザによって指定された領域に、上記復号領域の自動検出処理を加味することで、復号精度を向上させることが出来る。また、復号されたデジタル画像を解析し、暗号化前の電子データを復元することで、復号された情報を電子データとして取り扱うことが可能となり、利便性が向上する。
本実施形態に拠れば、重要な情報の漏洩を防止することが可能となる。また、紙媒体に出力されることで、コピー機等を使用して複製を作成した場合には暗号化された画像の像が劣化し、複製を繰り返すと復号が不可能になるという効果を得ることが可能である。これにより、コピー機によって重要な書類が安易に複製され、重要情報が流出してしまうことを防止出来る。さらに、暗号化画像が印刷される紙媒体に、コピー機等による複製を作成すると「複写」等の像が現れる特殊な紙媒体(所謂コピー偽造防止用紙)を用いるか、このような文字が現れるための像を暗号化画像の印刷と同時に印刷することで、安易な複製を抑制したり、浮かび上がった像が重なることで暗号化画像にノイズが入り、複製からは復号出来ないようにすることが可能である。
なお、本実施形態では、暗号化システム200と復号システム500を異なるシステムとして説明しているが、本発明は、暗号化および復号の双方の機能を備えた、電子データ暗号化/電子データ復号システムとして実施されてもよい。これは、以下に説明する第二、第四の実施形態についても同様である。
<第三の実施形態>
図18は、本実施形態に係る電子データ暗号化システム200Bの機能構成の概略を示す図である。本実施形態に係る電子データ暗号化システム200Bは、上記第二の実施形態と同様、デジタル画像生成部15、暗号化部11、出力部12、および領域指定情報保持部16を備え、更に、紙媒体上に記録された識別情報を取得する識別情報取得部18、および取得された識別情報に従って関連する領域指定情報を取得する領域指定情報取得部19Bを備える。
識別情報取得部18は、デジタル画像を暗号化するための領域指定情報を識別するために、デジタル画像の基となった電子データ(電子ファイル)に含まれる識別情報を取得する。識別情報は、電子ファイルのメタデータ(ファイルヘッダ)として電子データに含まれている。図19は、暗号化の対象となる情報とともに、識別情報801がメタデータ803内に含まれる電子データ800の例を示す図である。この識別情報801は、この識別情報801が含まれる電子データ800のうち、電子データ800を基に生成されたデジタル画像804の部分領域802を暗号化する領域として指示する領域指示情報に関連付けられている。
領域指定情報取得部19Bは、識別情報取得部18によって取得された識別情報をキーとして領域指定情報保持部16に保持された領域指定情報を検索し、対応する領域指定情報を取得する。即ち、電子データに、該電子データにおける暗号化すべき部分を指定する領域指定情報の識別情報を、予めメタデータとして保持させておくことで、ユーザに適切な領域指定情報を選択させる手間をかけることなく、自動的に最適な領域指定情報が選択され、暗号化すべき部分を暗号化することが出来る。
図20は、本実施形態における電子データ暗号化の流れを示すフローチャートである。本フローチャートに示された処理は、ユーザ操作に基づいて電子データ暗号化プログラムがHDD103より読み出されてRAM102に展開され、CPU101によって実行されることで開始される。
ステップS301では、デジタル画像が生成される。処理の詳細については、先述のステップS101と概略同様であるため、説明を省略する。その後、処理はステップS302へ進む。
ステップS302では、識別情報が取得される。識別情報取得部18は、ステップS301で取得されたデジタル画像の基となった電子データのメタデータから、識別情報を取得する。その後、処理はステップS303へ進む。
ステップS303では、領域指定情報が取得される。領域指定情報取得部19Bは、ステップS302で取得した識別情報に基づいて、領域指定情報保持部16に保持された領域指定情報を検索し、対応する領域指定情報を取得する。その後、処理はステップS304へ進む。
ステップS304およびステップS305に示された処理は、上記ステップS103およびステップS104に示された処理と概略同様であるため、説明を省略する。
識別情報を取得し、対応する領域指定情報が選択されるようにすることで、ユーザによる領域指定情報を指定する手間が省略され、作業効率を向上させることが出来る。特に、複数パターンの定型書式の文書類をまとめて暗号化する場合に、定型書式に応じた識別情報を、定型書式のテンプレートのメタデータに含ませておくことで、非常に簡便に暗号化を行うことが可能である。
第二の実施形態と同様、復号処理においては、暗号化部分を自動的に検出し、検出された領域を復号することで、復号鍵を知るユーザのみに対して暗号化部分に記載された情報を閲覧させるようにすることが可能である。但し、復号処理においても識別情報を取得し、対応する復号領域を決定することとしてもよい。印刷された紙媒体にバーコード等を印刷し、バーコード認識やOCR等の技術を用いることで、紙媒体から識別情報を得ることが出来る。識別情報に従って指定された領域に、上記復号領域の自動検出処理を加味することで、復号精度を向上させることが出来る。
<第四の実施形態>
図21は、本実施形態に係る電子データ暗号化システム200Cの機能構成の概略を示す図である。本実施形態に係る電子データ暗号化システム200Cは、上記第二の実施形態と同様、デジタル画像生成部15、暗号化部11、出力部12、および領域指定情報保持部16を備え、更に、紙媒体上に記録された情報から所定のキーワードを検出するキーワード検出部10、および検出されたキーワードに対応する位置に従って関連する領域指定情報を取得する領域指定情報取得部19Cを備える。
キーワード検出部10は、デジタル画像生成部15によって生成されたデジタル画像の基となった電子データから文字列を読み取り、読み取られた文字列を、所定の文字列であるキーワードと比較することで、電子データに含まれるキーワードを検出する。ここで、キーワードとは、電子データから、暗号化すべき情報の有無、およびデジタル画像化した際の暗号化すべき情報の位置を抽出するために設定された文字列である。図22は、キーワードが含まれる電子データ1100の表示イメージを示す図である。例えば、キーワードとして、「氏名」および「住所」が設定されている場合、電子データ1100にこれらのキーワードが含まれているか否かが判定され、含まれている場合、デジタル画像化した際にこれらのキーワードが記載される位置1101の位置情報が取得される。即ち、これらのキーワードに続く文字列が、氏名や住所等の個人情報であると推定できるため、自動的に暗号化すべき情報およびこの情報が記載された領域1102を示す領域指定情報を得ることが出来る。この際、氏名であれば一般に多く用いられている人名を網羅した人名リスト、住所であれば住所リストを参照することで、検出の精度を向上させることが出来る。
本実施形態に係る領域指定情報取得部19Cは、キーワード検出手段によって検出されたキーワードに対応する領域を特定するための前記領域指定情報を生成する。一般には、キーワードに続く文字列の領域を特定するための領域指定情報である。但し、キーワードとして暗号化したい文字列そのものが設定されている場合、キーワード検出手段によって検出されたキーワードが記載された領域を示す情報が、領域指定情報となる。
図23は、本実施形態における電子データ暗号化の流れを示すフローチャートである。本フローチャートに示された処理は、ユーザ操作に基づいて電子データ暗号化プログラムがHDD103より読み出されてRAM102に展開され、CPU101によって実行されることで開始される。
ステップS401では、デジタル画像が生成される。処理の詳細については、先述のステップS101と概略同様であるため、説明を省略する。その後、処理はステップS402へ進む。
ステップS402では、キーワードが検出される。キーワード検出部10は、ステップS401で生成されたデジタル画像の基となった電子データを検索することで、所定のキーワードを検出する。その後、処理はステップS403へ進む。
ステップS403では、領域指定情報が取得される。領域指定情報取得部19Cは、ステップS402で検出されたキーワードの位置に従って、キーワードに対応する領域を特定するための領域指定情報を生成する。具体的には、キーワードが、暗号化したい情報のタイトルである場合、そのキーワードに続く情報が記載された領域を示す領域指定情報が生成される。また、キーワードが、暗号化したい情報そのものを示す場合、そのキーワードが記載された領域を示す領域指定情報が生成される。領域指定情報が領域を指定する方法としては、第二の実施形態において説明した方法と同様に、位置情報、サイズ情報、ベクトル情報等が用いられる。その後、処理はステップS404へ進む。
ステップS404およびステップS405に示された処理は、上記ステップS103およびステップS104に示された処理と概略同様であるため、説明を省略する。
近年、個人情報保護の重要性が非常に高まっているが、個人情報等の重要情報は、「氏名」「住所」「電話番号」等の特定のキーワードに続いて記載されていることが多い。本実施形態に拠れば、暗号化対象の電子データから、キーワードを検出し、対応する部分を自動的に暗号化することで、様々な書式で記載された情報を暗号化する際の作業量を低減することが出来る。
第二の実施形態と同様、復号処理においては、暗号化部分を自動的に検出し、検出された領域を復号することで、復号鍵を知るユーザのみに対して暗号化部分に記載された情報を閲覧させるようにすることが可能である。但し、復号処理においてもキーワードを検出し、対応する復号領域を決定することとしてもよい。OCRの技術を用いることで、印刷された紙媒体からキーワードを検出することが出来る。検出されたキーワードの位置情報に、上記復号領域の自動検出処理を加味することで、復号精度を向上させることが出来る。
また、上記第一から第四の実施形態において、一の電子データがデジタル画像化された際の複数の領域を、夫々異なる暗号鍵で暗号化することとしてもよい。図24は、複数の暗号鍵を使用して暗号化される電子データ1300の表示イメージを示す図である。領域1301A、1301B、1301C、1301Dがある場合に、これらの領域1301A、1301B、1301C、1301Dを、対応する暗号鍵1302A、1302B、1302C、1302Dで暗号化することで、領域ごとに閲覧権限を設定することが可能となる。
<暗号化部および復号部>
次に、上記第一の実施形態から第四の実施形態における、暗号化部および復号部による暗号化処理および復号処理の概要を説明する。
図25は、暗号化処理および復号処理の処理概要(その1)を示す図である。図25において、暗号化部11(第1乃至第3の各態様においては、それぞれ暗号化部11A、11B、11Cという。)は、入力されたデジタル画像と暗号化方法を示す暗号鍵とに基づいて、前記デジタル画像の一部を暗号化した暗号化画像を出力する。プリンタ出力部12は、暗号化部11により暗号化されたデジタル画像を紙などの印刷可能な物理的媒体に印刷する。スキャナ(カメラ)読み込み部13は、プリンタ出力部12により出力された印刷画像を、スキャナまたはカメラを用いて読み込む。
そして、復号部14(第1乃至第3の各態様においては、それぞれ復号部14A、14B、14Cという。)は、プリンタ出力部12により出力された印刷画像と入力された復号鍵とにより復号画像を得る。この入力された復号鍵が正しい場合に限り暗号化画像を適切に復号でき、暗号化部11による暗号化で隠された情報を見ることができる。
図26は、暗号化処理および復号処理の処理概要(その2)を示す図である。図26に示したように、本発明を適用した第1の態様乃至第3の態様における暗号化処理および復号処理は、暗号化部11により暗号化されたデジタル画像をプリンタやスキャナを介さずに電子文書画像のまま復号部14に入力し、復号画像を得ることも可能である。
次に、本発明を適用した第1の態様乃至第3の態様をそれぞれ説明する。まず、本発明を適用した第1の態様について説明する。
図27は、第1の態様における暗号化処理の概要を示す図である。図27において、暗号化部11Aは、暗号化領域決定部31、画像変換部32、画素値変換部33およびマーカー付加部34を備えている。
暗号化領域指定部31は、暗号化したい領域を含む入力画像から暗号化する領域を選択する。
図28は、暗号化領域を選択する例を示す図である。すなわち、暗号化領域指定部31は、図28の(A)に示すように、暗号化したい領域を含むデジタル画像(入力画像)41から暗号化する領域42を選択する。この領域42が後述する画像変換部32および画素値変換部33の処理により、図28の(B)に示したように変換画像43に変換され、デジタル画像41が変換画像43を含む暗号化画像44に変換される。
図27の説明に戻る。暗号化領域指定部31により暗号化する領域42が選択されると、画像変換部32において暗号化する領域42および暗号鍵を入力し、暗号鍵に対応する変換方法で暗号化する領域42の画像を視覚的に変換する。その際の変換パラメータは、入力の暗号鍵から得られるバイナリデータにより作成する。
図29は、暗号鍵の入力例を示す図である。図29に示した例は、暗号鍵と、暗号鍵により生成されるバイナリデータの例である。例えば、暗号鍵としての数値「1234」は、バイナリデータ「100011010010」として入力され、暗号鍵としての文字列「ango」は、バイナリデータ「01100001011011100110011101101111」として入力される。
画像変換方法として、本第1の態様では、画像を微小領域に分割して微小領域を並べ替える処理(スクランブル処理という。)による変換方法と、画像を圧縮処理することによる変換方法の2つを示す。
まず、スクランブル処理について説明する。スクランブル処理は、まず、選択された領域42の画像を一定の大きさの微小領域に分割して、次に、暗号鍵から得られるバイナリデータにより微小領域の並び替えを行なう。
図30は、画像変換部におけるスクランブル処理の一例を示す図である。図30の(A)に示したように、まず暗号化領域指定部31により選択された領域42を縦方向に分割し、暗号鍵61のバイナリ列の各ビットを分割された領域42の境界に左から順に対応させ、ビットが「1」の場合は隣り合う分割列を交換し、ビットが「0」の場合は何もしない処理を左側から順に行なう。分割境界の数に対してバイナリ列のビット数が足りない場合は、足りなくなった位置から同じバイナリ列を繰り返して領域42の右端まで交換処理を行なう。
続いて、図30の(B)に示すように、上記交換処理を行なった画像領域62を横方向に分割し、暗号鍵61のバイナリ列の各ビットを分割された画像領域62の境界に上から順番に対応させ、縦分割で行ったのと同様の交換処理を行単位で上から順に行なう。
すると、図30の(C)に示すように、各分割画像に交換処理を行った結果、元の領域42がスクランブル処理された処理画像であるスクランブル画像63が得られる。
このスクランブル処理例の拡張法として、横方向、縦方向ともに2度以上行なうこともでき、また2度目以降の交換において分割領域の大きさを変えることも可能である。さらに、横方向と縦方向で分割領域の交換に別のバイナリ列を用いることもできる。これらの拡張法は、入力画像のサイズが小さく、かつ暗号鍵のビット長が長い場合に、異なる暗号鍵から全く同じ処理画像が生成されてしまうのを防ぐ手段として特に有効である。
図31は、画像変換部におけるスクランブル処理の他の例を示す図である。図30を用いて説明したスクランブル処理とはまた別のスクランブル処理法として、図31に示したように微小領域単位で画素の交換を行う方法も可能である。すなわち、入力画像を矩形状の微小領域に分割し、分割された微小領域同士を交換する。これにより、上述の横方向と縦方向(行と列)の交換による方法よりもスクランブルの場合の数が多くなり、暗号強度を高めることができる。
図32は、スクランブル処理における微小領域の形の変形例を示す図である。さらにスクランブル処理の際の微小領域の形は、図31に示した四角形の他に、例えば図32の(A)に示したような三角形を用いることも可能である。また図32の(B)に示したように、形や大きさの異なる微小領域を共存させることもできる。
次に、画像を圧縮処理することによる変換方法について説明する。
図33は、画像変換部における圧縮処理を示す図である。入力画像41が二値画像の場合に、まず図33の(A)に示したように暗号化領域指定部31により選択された領域42の画像を圧縮して、図33の(B)に示したようなバイナリ列71を作成する。ここでの圧縮法は、ファクシミリ装置での二値画像データ転送の際に用いられるランレングス圧縮や、二値画像の標準圧縮方式であるJBIG(Joint Bi−level Image experts Group)圧縮など、あらゆる圧縮方式が適用可能である。
図34は、変換データを画像化する処理を示す図である。図33に示したような領域42の圧縮に続いて、変換圧縮データであるバイナリ列71の各ビットを、図34(B)に示したように、ビットが「0」ならば「白」、ビットが「1」ならば「黒」である指定サイズの方形に拡大して方形画像(処理画像)81を作成し、暗号化する画像の領域42に白黒の方形画像81として配列させる。
変換圧縮データ(バイナリ列71)を選択された領域42の画像内に収まるよう配列させたい場合、方形画像81のサイズは選択された領域42の圧縮率に依存してくる。例えば圧縮率が1/4以下であれば方形画像81のサイズは高々2×2ピクセルであり、1/16以下ならば高々4×4ピクセルである。
一方、予め方形画像81のサイズを指定し、かつ圧縮データを選択された領域42の画像内に収めたい場合は、最初の画像圧縮処理において方形画像81のサイズに依存した圧縮率を達成する必要がある。例えば方形を4×4ピクセルのサイズにする場合は1/16以上の圧縮率が必要となる。この場合には、選択された領域42の情報を予め落として圧縮する方法や、非可逆な圧縮方式を用いる方法が有効である。
上記の圧縮データを拡大して画像化する暗号化処理により、例えば低解像度のカメラで暗号化画像を読み取った場合でも拡大された白黒のブロックを認識できるため、暗号化画像を正しく復号できる。
図27の説明に戻る。画素値変換部33では、画像変換部32で変換された処理画像63内の画素を一定の間隔を置いて変換し、変換画像43が概ね格子状の縞模様を成すようにする。
図35は、画素値変換部における画素値変換処理の例(その1)を示す図である。画素値変換部33では、画像変換部32により領域42がスクランブルされた処理画像63の画素を、一定の間隔で変換し、暗号化画像44が全体として概ね格子状の縞模様を成すようにする。例えば図35に示したように、図35の(A)に示したスクランブル画像63を(B)に示した市松模様(チェッカー模様)画像91の有色部分で反転処理するような変換を実行することにより、(C)に示したように暗号化画像44が全体として概ね格子状の縞模様を成す変換画像92が得られる。これにより、生成される縞状の模様は、暗号化画像44を復号する際に暗号化領域内の各画素の詳細な位置を検出するために用いられる。
これらの一連の処理に関して、別の変換を実施することも可能である。例えば画素値を反転する処理は、指定の値を加算する処理であってもよい。
また、図35の(B)に示した市松模様画像91は、(A)に示したスクランブル画像63と略同サイズであるが、スクランブル画像63より小さいサイズを用いることにより、スクランブル画像63の周辺以外の中心部分のみ反転処理するようにしてもよい。
図36は、画素値変換部における画素値変換処理の例(その2)を示す図である。また、画素値を変換する領域42は、図36の(A)から(C)に示したように種々の形状を適用することが可能である。画素値変換は小領域間の境界位置を高精度に検出することを目的とした処理であるため、例えば図36の(A)のように境界部分のみ画素値変換することも考えられる。また、図36の(B)のように微小領域に対して少しずつずらしながら画素値変換を行うことで、変換と非変換の境界がより細かい間隔で現れるため、復号処理において暗号化画像44の画素位置をさらに詳細に検出できる。また、図36の(C)ように微小領域の境界が交差する部分のみに画素値変換を行えば、紙などに印刷した画像をスキャナやカメラで読み込んで復号する際の画質の劣化を最小限に抑えることができる。
ここで、微小領域の形が均一な大きさの四角形ではなく、図32に示したように三角形(図32の(A))や異なる大きさ、形が共存する場合(図32の(B))は、上述の変換例に限らず形状に応じた方法で画素値変換を行う必要があることを追記しておく。
上述したように、本発明においては、暗号化位置を表す規則的な模様を、特許文献1のように入力画像に上書きして生成するのではなく、入力画像の画素値を変換することで生成している。したがって、従来の技術のように暗号化画像の端部分の画像情報が位置検出のために犠牲にされることがなく、元の画像情報に位置検出情報を共存させる形で効率よく暗号化を行なえる。
なお、模様を構成する部分に何らかの画像情報が含まれるとその規則性が多少崩れてしまうが、後述の復号部14の処理で述べるように暗号化画像全体の統計的な性質を用いることで暗号化位置を検出することができる。
図27の説明に戻る。マーカー付加部34では、画素値変換部33で変換処理された変換画像92の四隅のうち、例えば右下以外の三箇所に位置決めマーカーを付加し暗号化画像44を作成する。
マーカー付加部34は、暗号化された領域42の位置を特定するための位置決めマーカーを、変換画像92の四隅のうち例えば右下以外の三箇所に配置する。
図37は、暗号化処理で用いる位置決めマーカーの例を示す図である。本第1の態様で用いる位置決めマーカーは、図37の(A)に示すように丸十字の形をしたものとする。位置決めマーカーの形をより広く言えば、実線の円または多角形とその周と交わる複数の線で構成されるものであればよい。このような例として、図37の(B)の位置決めマーカーのように漢字の「田」の形をしたものや、(C)の位置決めマーカーのように中心から三つの線が円周に向かって放射線状に出ているもの、(D)の位置決めマーカーのように線が途中で切れているもの、などが挙げられる。
また、位置決めマーカーの色の構成は、最も単純には背景が白で前景を黒にすればよいが、これに限らず変換画像92の色(画素値)分布に応じて適宜変更しても差し支えない。また背景と前景に決まった色を指定するのではなく、背景の色はデジタル画像41のままで前景の画素値を反転するなどして位置決めマーカーを形作る方法も考えられる。このようにすれば、位置決めマーカー部分の入力画像情報も保持されたまま画像の暗号化を行なえる。
図38は、暗号化画像の例を示す図である。以上の暗号化部11Aの処理により、最終的には図38に示すような暗号化画像44が生成される。暗号化画像44には、変換画像92と位置決めマーカー121が含まれる。
さらに、本第1の態様の暗号化方法において、画像変換部32で「微小領域を並べ替える処理(スクランブル処理)」を用いた場合は、二値画像だけでなくグレースケールやカラーの画像に対しても暗号化処理を適用できる。
図39は、グレースケールの画像を暗号化した例である。図39において、(A)に示したグレースケール画像131は、暗号化部11Aの処理により、(B)に示すように変換画像133と位置決めマーカー134を含む暗号化画像132が生成される。
次に、復号部14Aの説明を行なう。
図40は、第1の態様における復号処理の概要を示す図である。図40において、復号部14Aは、マーカー検出部141、暗号化領域検出部142、暗号化位置検出部143および画像逆変換部144を備えている。
マーカー検出部141は、一般的な画像認識技術を用いて、上述のマーカー付加部34により付加した位置決めマーカーの位置を暗号化画像から検出する。検出方法としては、パターンマッチングや図形の連結性に関する解析などが適用可能である。
暗号化領域検出部142は、マーカー検出部141により検出された3つの位置決めマーカーの位置関係に基づいて、暗号化されている画像の領域を検出する。
図41は、位置決めマーカーから暗号化領域を検出する過程を示す図である。図41の(A)に示されたように、マーカー検出部141によって暗号化画像151から少なくとも3つの位置決めマーカー152が検出されると、(B)に示すように、1つの暗号化領域153を検出することができる。すなわち、3つの位置決めマーカー152は、長方形の暗号化領域153の四隅に配置されているため、これら3つの点(位置決めマーカー152の位置)を線で結んで得られる図形はおおよそ直角三角形になる。そこで、位置決めマーカー152が3つ以上検出された場合は、3つの位置決めマーカー152の位置関係が直角三角形に近い形状で構成される領域を含み、3つの位置決めマーカー152の位置を4つの角部分のうち3つの角部分とする長方形を暗号化領域153とする。なお、検出位置決めマーカー152の数が2つ以下の場合は、対応する暗号化領域153を特定できないため、暗号化画像は存在しないとして復号処理を終了する。
図42は、暗号化領域検出処理の流れを示すフローチャートである。暗号化領域検出部142で実行される暗号化領域検出処理は、まず、ステップS1601において、マーカー検出部141によって検出された位置決めマーカー152の数を変数nに代入し、ステップS1602において、暗号化領域153の検出用フラグreg_detectに0を代入する。
そして、ステップS1603において、位置決めマーカー152の数が代入された変数nが3以上であるか否かを判断し、変数nが3以上でなければ、すなわち変数nが2以下であれば(ステップS1603:No)、本暗号化領域検出処理を含む復号処理を終了する。
他方、変数nが3以上であれば(ステップS1603:Yes)、ステップS1604において、マーカー検出部141によって検出された位置決めマーカー152のうちの3つの位置決めマーカー152を選択し、ステップS1605において、その選択した3つの位置決めマーカー152の位置関係が略直角三角形であるか否かを判断する。
選択した3つの位置決めマーカー152の位置関係が略直角三角形でなければ(ステップS1605:No)、ステップS1606において、マーカー検出部141によって検出された位置決めマーカー152の3点の組み合わせが全て終了したか否かを判断し、終了していなければ(ステップS1606:No)、ステップS1604に戻って他の3点を選択し、終了した場合(ステップS1606:Yes)、ステップS1608に進む。
他方、選択した3つの位置決めマーカー152の位置関係が略直角三角形であれば(ステップS1605:Yes)、ステップS1607において、検出用フラグreg_detectに1を代入する。
そして、ステップS1608において、検出用フラグreg_detectに1が代入されているか、すなわち、3点の位置関係が直角三角形となる3つの位置決めマーカー152を検出することができたか否かを判断し、reg_detectに1が代入されていれば(ステップS1608:Yes)、暗号化位置検出部143の処理に進み、reg_detectに1が代入されていなければ(ステップS1608:No)、本暗号化領域検出処理を含む復号処理を終了する。
図40の説明に戻る。暗号化位置検出部143は、暗号化画像151の復号を正確に行なうために、暗号化領域検出部142により検出された暗号化領域153の端の部分が規則的な画素分布を成すことを利用して、周波数解析やパターンマッチングなどにより暗号化領域153内の各画素の詳細な位置を検出する。この検出は、画素値変換部33の画素値変換(反転)処理により暗号化画像151の全体が周期的な模様を成すという性質を利用する。
一つの検出方法として、まず模様の周期(幅)を画像の横方向および縦方向に関して高速フーリエ変換(Fast Fourier Transform:FFT)などの周波数解析法で求め、その後テンプレートマッチングなどによりの境界位置(オフセット)を検出する方法が考えられる。
また、暗号化画像にエッジ検出フィルタ(ラプラシアンフィルタ等)をかけると境界部分が直線状になる性質を利用して、境界位置をハフ変換により検出することも可能である。
図43は、暗号化位置が検出された例を示す図である。暗号化されたデジタル画像41が複雑である場合は、暗号化画像44の周期性が著しく損なわれる部分が出てくる可能性もある。このような場合、模様の周期と境界位置の計算に用いる画像領域を周期性の比較的強い部分に限定して暗号化位置検出を行なう方法が有効である。
図40の説明に戻る。画像逆変換部144は、暗号化位置検出部143により検出された暗号化位置情報とユーザにより入力された復号鍵とを用いて、暗号化画像44を復号鍵に対応する方法で画像変換部32による変換処理の逆変換処理を実行し、復号画像を生成する。復号の処理手順は、暗号化処理と逆の手順で実現されるため説明を省略する。以上が本発明を適用した第1の態様についての説明である。
次に、本発明を適用した第2の態様について説明する。
図44は、第2の態様の全体イメージを示す図である。第2の態様は、暗号化処理の前に、暗号化画像183の復号の妥当性を検証するための特定のチェック用マーク182を、暗号化する領域181の任意の場所に付加して(図44の(A))暗号化を行ない(図44の(B))、暗号化画像183を復号した後に事前に付加したチェック用マーク182が復号画像184から検出されれば正しく復号されたとして復号処理を終了する(図44の(C))。チェック用マーク182が検出されない場合(図44の(D))は、暗号化位置を補正し、チェック用マーク182が検出されるまで、または指定の基準を満たすまで復号処理を繰り返す。
図45は、第2の態様における暗号化処理の概要を示す図である。図45において、暗号化部11Bは、暗号化領域決定部31、チェック用マーク付加部192、画像変換部32および画素値変換部33を備えている。
第1の態様と同様、暗号化領域指定部31は、暗号化したい領域を含む入力画像から暗号化する領域を選択する。
そして、チェック用マーク付加部192は、暗号化画像183の復号の妥当性を検証するための特定のチェック用マーク182を暗号化する領域181の任意の場所に付け加える。チェック用マーク182は、なるべく画像情報が少ない画素分布の平坦な領域に付加するのが望ましい。
指定位置にチェック用マーク182を付け加えた後、第1の態様と同様、画像変換部32において暗号化する領域181および暗号鍵を入力し、暗号鍵に対応する変換方法で暗号化する領域181の画像を視覚的に変換し、画素値変換部33では、画像変換部32で変換された処理画像内の画素を一定の間隔を置いて変換し、変換画像が概ね格子状の縞模様を成すようにする。
図46は、第2の態様における復号処理の概要を示す図である。図46において、復号部14Bは、暗号化領域検出部201、暗号化位置検出部143、画像逆変換部144、チェック用マーク検出部204および暗号化位置補正部205を備えている。
まず初めに、暗号化領域検出部201は、暗号化画像183の大まかな領域を検出する。暗号化部11Bの暗号化処理により、暗号化画像183の画素分布はおおよそ市松模様状になっているため、それぞれ横方向と縦方向に関してFFTなどの周波数解析を行なうと、縞の周期に対応する周波数のパワーが際立って強くなる。
図47は、暗号化領域の検出方法を説明するための図である。図47の(A)に示したように、暗号化画像211を周波数解析すると、(B)に示すように、ある周波数(その周波数の整数倍の周波数)のパワーが突出する領域を「周期性強」214と表現している。暗号化領域内では画素分布の周期性が強くなる傾向にあるため、これにより大まかな暗号化領域と縞模様の周期を検出することができる。
図46の説明に戻る。暗号化位置検出部143は、暗号化領域検出部201による暗号化の大まかな領域を特定した後、暗号化領域をさらに正確に検出し、同時に暗号化領域内の各画素の詳細な位置を検出する。位置検出の一例として、まず暗号化領域検出部201で求めた縞模様の周期と画素絶対値差分の分布により画素値変換の境界位置(オフセット)を求め、そこからさらに画素絶対値差分が相対的に大きい領域を絞り込む方法が考えられる。また、第1の態様の暗号化位置検出部143と同様、暗号化位置検出にハフ変換を用いることも可能である。
図48は、暗号化位置(横方向)の検出方法を説明するための図である。上述のような暗号化領域の検出処理を横方向、縦方向それぞれに行なうと、図48のように暗号化位置221が検出される。
図46の説明に戻る。画像逆変換部144は、暗号化位置情報と復号鍵を用いて第1の態様と同様の方法を行ない復号画像を生成する。
チェック用マーク検出部204は、画像逆変換部144で復号した復号画像からチェック用マークの検出を試みる。検出方法は第1の態様におけるマーカー検出処理と同様であるため説明を省略する。そして、チェック用マークが検出された場合は復号画像を出力して処理を完了する。チェック用マークが検出されない場合は暗号化位置補正部205において暗号化位置を補正し、チェック用マークが検出されるまで、または指定の基準を満たすまで復号処理(画像逆変換処理)をやり直す。
図49は、暗号化位置の検出を誤った例を示す図である。図49に示したように、暗号化画像の端を見落としてしまう場合(取りこぼしライン231)が考えられる。そこで、チェック用マーク221の検出に失敗した場合は、暗号化位置を表すラインを左右端と上下端に追加または削除して画像逆変換処理を行ない、チェック用マーク221が検出できるかどうかを各々検討する。ラインをどのように追加または削除してもチェック用マーク221を検出できない場合は、復号画像を出力せずに処理を終了する。以上が本発明を適用した第2の態様についての説明である。
次に、本発明を適用した第3の態様について説明する。本発明の第3の実施形態では、第1の態様で示した暗号化領域を特定する位置決めマーカーと、第2態様の復号画像の妥当性を判断するためのチェック用マークの両方を用いて画像の暗号化、復号を行なう。これら位置検出用の位置決めマーカーと復号画像確認用のチェック用マークの2種類を用いることで、正しい復号鍵が入力された場合の画像復号誤りを低減できる。
図50は、第3の態様における暗号化処理の概要を示す図である。図50において、暗号化部11Cは、暗号化領域決定部31、チェック用マーク付加部192、画像変換部32、画素値変換部33およびマーカー付加部34を備えている。
まず暗号化領域指定部31で暗号化する画像領域を選択し、チェック用マーク付加部192で第2の態様と同様の方法で復号検証用のチェック用マークを付け加える。チェック用マークを付加した後、画像変換部32と画素値変換部33において、第1の態様1および2と同様の方法で画像処理を行ない画像を暗号化し、マーカー付加部34で暗号化領域検出用の位置決めマーカーを第1の態様と同様の方法で付加する。これら各処理の内容は、第1の態様または第2の態様と同様であるため説明を省略する。
図51は、第3の態様における復号処理の概要を示す図である。図51において、復号部14Cは、マーカー検出部141、暗号化領域検出部142、暗号化位置検出部143、画像逆変換部144、チェック用マーク検出部204および暗号化位置補正部205を備えている。
まずマーカー検出部141において第1の態様と同様の方法で位置決めマーカーを検出し、続く暗号化領域検出部142で第1の態様と同様の方法で暗号化領域を検出する。さらに暗号化位置検出部143において、第1の態様と同様の方法で暗号化領域内の各画素の詳細な位置を検出する。また、画像逆変換部144、チェック用マーク検出部204および暗号化位置補正部205で実行される各処理手順は、第2の態様と同様であるため説明を省略する。以上が本発明を適用した第3の態様についての説明である。