以下に、添付図面を参照して、本発明の情報処理装置を備えた画像処理装置の実施形態について説明し、本発明の理解に供する。尚、以下の実施形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格のものではない。又、フローチャートにおける数字の前に付されたアルファベット「S」はステップを意味する。
<画像処理装置及び情報処理装置>
以下に、本発明に係る情報処理装置(例えば、情報処理部)を備えた画像処理装置(例えば、複合機)について説明する。
図1は、本発明に係る複合機の内部の全体構成を示す概念図である。ただし、本発明に直接には関係しない各部の詳細は省略している。
本発明の複合機100は、例えば、プリンタやスキャナ単体、或いはプリンタ、コピー、スキャナ、ファックス等を備えた複合機等が該当する。尚、一例として複合機を利用して原稿のコピー機能を提供する際の複合機100の動作を簡単に説明する。
ユーザが複合機100を利用して例えば原稿Pの複写を行う場合、原稿Pを図1に示す原稿台101、或いは載置台102に配置し、原稿台101近傍に供えられた操作部103に対してコピー条件を入力し、複写の指示を行う。操作部103の構成については後述する。当該複写の指示があると、以下に示す各部(駆動部)が動作することで、印刷が行われる。
即ち、図1に示すように、本発明の複合機100は、本体104と、本体104の上方に取り付けられたプラテンカバー105を備える。本体104の上面には原稿台101が設けられており、原稿台101は、プラテンカバー105によって開閉されるようになっている。プラテンカバー105には、自動原稿給紙装置106と載置台102と排紙台107が設けられている。
自動原稿給紙装置106は、プラテンカバー105の内部に形成された原稿搬送路108と、プラテンカバー105の内部に備えられたピックアップローラ109や搬送ローラ110A、110B等で構成される。原稿搬送路108は、載置台102から、本体104に設けられた画像読取部111にて読み取りが行なわれる読取位置Xを経由して、排紙台107に通じる原稿の搬送路である。
自動原稿給紙装置106は、載置台102に載置された複数の原稿から1枚ずつ原稿をピックアップローラ109で搬送路内108に引き出し、搬送ローラ等によって引き出した原稿を、読取位置Xを通過させて、搬送ローラ110Bにより排紙台107に排紙する。読取位置Xを通過する時に原稿は画像読取部111にて読み取られる。
前記画像読取部111は、原稿台101の下方に設けられており、図2にその詳細が示されている。画像読取部111は、原稿台102を照射する主走査方向に長い光源112と、原稿台からの光を選択的に通過させるスリット113と、原稿台からの光を導くミラー114とを備える第一の移動キャリッジ115や、第一の移動キャリッジ115からの反射光を再度反射するミラー116A、116Bを備える第二の移動キャリッジ117、更にミラーで導かれた光を光学的に補正するレンズ群118、当該レンズ群118より補正された光を受光する撮像素子119、撮像素子119にて受光した光を電気信号に変換し、必要に応じて補正処理・画質処理・圧縮処理などを行う画像データ生成部120とで構成されている。
自動原稿給紙装置106上の原稿を読み取る場合には、光源112は、読取位置Xを照射できる位置に移動して発光する。光源112からの光は、原稿台101を透過して読取位置Xを通過する原稿にて反射し、スリット113、ミラー114、116A、116B、レンズ群118によって撮像素子119に導かれる。撮像素子119は、受光した光を電気信号に変換して画像データ生成部120に送信する。画像データ生成部120には、前記撮像素子119にて受光された光がR(レッド)、G(グリーン)、B(ブルー)のアナログ電気信号として入力され、ここでアナログ−デジタル変換され、即ちデジタル化される。さらに、画像データ生成部120では、順次変換されたデジタル信号を単位データとし、これら単位データを補正処理、画質処理、圧縮処理等することで複数の単位データからなる画像データを生成する。
又、画像読取部111は、自動原稿給紙装置106で搬送される原稿だけでなく、原稿台101に載置された原稿も読み取ることが可能となっている。原稿台101に載置された原稿を読み取る場合は、第一のキャリッジ114は、光源112を発光しながら副走査方向に移動し、光源112から撮像素子119までの光路長を一定にするために、第二の移動キャリッジ117は第一の移動キャリッジ115の1/2の速度で撮像素子119方向に移動する。
撮像素子119は、自動原稿給紙装置106に搬送された原稿のときと同様に、ミラー114、116A、116Bに導かれた光に基づいて原稿台101に載置された原稿からの光を電気信号に変換し、これに基づいて画像データ生成部120が画像データを生成し、記憶部120Bに記憶する。
前記記憶部120Bに記憶された画像データは、後述する画像形成部121により印刷対象となったり、通信部120Cにより、複合機100とLAN等のネットワーク120Aに接続された端末装置(パーソナルコンピュータ)、他の複合機、他の複写機、プリンタ、ファクシミリ等の端末装置へ送信されたりする。送信機能は、例えば、ファックス機能(ファクシミリ送信機能)、電子メール送信機能等である。
又、前記記憶部120Bに記憶された画像データは、データの種類に応じて、情報処理部120Dの内部に搭載されたハードディスクドライブ装置120Eの記憶媒体(ハードディスク)に記憶される。前記情報処理部120Dは、前記操作部103からの指示などに応じて、所定の画像データを前記ハードディスクドライブ装置120Eの記憶媒体に記憶させたり、当該記憶媒体からデータを読み取ったりする。又、前記ハードディスクドライブ装置120Eは、図示しないSATA(Serial Advanced Technology Attachment)ホストコントローラを介して前記情報処理部120Dと接続されており、当該SATAホストコントローラからのコマンドに応じて記憶媒体の所定のメモリ領域(セクタアドレス、LABともいう)にアクセスする。前記記憶媒体に記憶されるデータは、前記画像データの他に、上述した送信機能に使用される端末装置の送信先(アドレス、宛先)や当該アドレスに対応付けられた氏名・会社名なども記憶される。又、前記情報処理部120Dには、図示しない暗号化復号化部が設けられており、当該情報処理部120Dとハードディスクドライブ装置120Eとの間で送受信(転送、やり取り)される特定のデータを暗号化又は復号化するよう構成される。暗号化復号化の対象となるデータは、例えば、個人情報となる送信先や氏名・会社名、機密文書などの画像データである。又、暗号化復号化の対象とならないデータは、通常の原稿などの画像データである。詳細については後述する。
又、本体104の画像読取部111の下方には、画像データを印刷する画像形成部121を備えている。画像形成部121が印刷できる画像データは、前記のように画像データ生成部120にて生成されたものや、前記ネットワーク120Aに接続された前記端末から受信したものである。
画像形成部121が行う印刷方式には、電子写真方式が用いられている。即ち、感光ドラム122を帯電器123で一様に帯電させ、その後レーザ124で感光ドラム122を照射して感光ドラム122に潜像を形成し、現像器125で潜像にトナーを付着させて可視像を形成し、転写ローラにて可視像を転写媒体に転写する方式である。
尚、フルカラー画像に対応した複合機では、前記現像器(ロータリー現像器)125が、図1の紙面に対して垂直方向に構成される回転軸を中心として周方向に回転させられ、対応する色のトナーが格納された現像ユニットが感光ドラム122の対向位置に配置される。この状態で、感光ドラム122上の潜像が、現像器125が格納するトナーにより現像され、中間転写ベルト126Aに転写される。なお、現像器125は、イエロー(Y)、シアン(C)、マゼンタ(M)、ブラック(K)の各トナーをそれぞれ格納する4つの現像ユニット125(Y)、(C)、(M)、(K)を有している。前記中間転写ベルト126Aへの転写を前記各色毎に繰り返すことにより、当該中間転写ベルト126A上にフルカラー画像が形成される。
可視像が印刷される転写媒体、即ち用紙は、給紙カセット132、133、134などの給紙トレイに載置されたものである。
画像形成部121が印刷を行う際には、何れか1つの給紙トレイから転写媒体1枚を、ピックアップローラ135を用いて引き出し、引き出した転写媒体を搬送ローラ136やレジストローラ137で中間転写ベルト126Aと転写ローラ126Bの間に送り込む。
画像形成部121は、中間転写ベルト126Aと転写ローラ126Bの間に送り込んだ転写媒体に、前記中間転写ベルト126A上の可視像を転写すると、可視像を定着させるために、搬送ベルト127で定着部128(定着装置)に転写媒体を送る。定着部128は、ヒータが内蔵された加熱ローラ129と、所定の圧力で加熱ローラ129に押し当てられた加圧ローラ130とで構成されている。加熱ローラ129と加圧ローラ130の間を転写媒体が通過すると、熱と転写媒体への押圧力によって可視像が転写媒体に定着する。定着が行われた転写媒体は排紙トレイ131に排紙される。
前記手順により、複合機100はコピー機能の処理をユーザに提供する。
図3は、本発明に係る操作部の全体構成を示す概念図である。
ユーザは、前記操作部103を用いて、上述のような画像処理についての設定条件等を入力したり、入力された設定条件等を確認したりする。前記設定条件等が入力される場合、前記操作部103に備えられたタッチパネル301(操作パネル)、タッチペン302、操作キー303が用いられる。
前記タッチパネル301には、アナログ抵抗膜方式が採用され、透光性を有する上部フィルムと下部ガラス基板とがスペーサを介して重ね合わされた構成となっており、上部フィルムと下部ガラス基板との各々の対向面には、ITO(Indium Tin Oxide)等からなる透明電極層が設けられている。更に、上部フィルムがユーザにより押下されると、当該押下位置に対応する上部フィルム側の透明電極層と下部ガラス基板側の透明電極層とが接触するよう構成されている。上部フィルム又は下部ガラス基板に電圧を印加し、下部ガラス基板又は上部フィルムから押下位置に対応する電圧値を取り出すことにより、当該電圧値に対応する座標値(押下位置)を検出する。検出された押下位置が、タッチパネル上に表示された画面内の設定条件キー等の表示領域内に含まれると、当該設定条件等が入力される。
又、下部ガラス基板の下方には、LCD(Liquid Crystal Display)等の表示部が設けられており、当該表示部が、例えば、初期画面等の画面を表示することにより、タッチパネル上に特定の画面が表示される。これにより、タッチパネル301には、設定条件等を入力する機能と前記画面を表示する機能が兼ね備えられる。
又、タッチパネル301の近傍には、タッチペン302が備えられており、ユーザがそのタッチペン302の先をタッチパネル301に接触させると、当該接触位置(押下位置)に対応する座標値が、上記と同様に出力され、ユーザはタッチペン302により、表示されたキー等を押下・選択することが可能となる。
更に、タッチパネル301近傍には、所定数の操作キー303が設けられ、例えば、テンキー304、スタートキー305、クリアキー306、ストップキー307、リセットキー308、電源キー309が備えられている。
次に、図4を用いて、複合機100及び情報処理部120Dの制御系ハードウェアの構成を説明する。図4は、本発明に係る複合機100及び情報処理部120Dの制御系ハードウェアの構成を示す図である。ただし、本発明に直接には関係しない各部の詳細は省略している。
複合機100の制御回路は、CPU(Central Processing Unit)401、ROM(Read Only Memory)402、RAM(Random Access Memory)403、各駆動部に対応するドライバ404を内部バス405によって接続している。前記CPU401は、例えば、RAM403を作業領域として利用し、前記ROM402等に記憶されているプログラムを実行し、当該実行結果に基づいて前記ドライバ404と前記情報処理部120Dからのデータや指示を授受し、前記図1に示した各駆動部の動作を制御する。
又、制御回路の内部バス405には、内部インターフェイス406aも接続されており、当該内部インターフェイス406aは、情報処理部120Dの制御回路等と複合機100の制御回路とを接続する。CPU401は、前記内部インターフェイス406aを介して情報処理部120D等の制御回路からの命令信号を受信したり、情報処理部120D等の制御回路へ命令信号、データ等を送信したりする。
又、制御回路の内部バス405には、通信インターフェイス406bも接続されており、当該通信インターフェイス406bは、通信ケーブルを介して、前記ネットワーク120Aと接続されている。前記ネットワーク120Aには、複合機100とは別の装置である端末と接続されており、前記CPU401は、通信インターフェイス406bを介してネットワーク120Aに接続された当該端末に(画像)データを送信したり、当該端末からデータを受信したりする。
又、情報処理部120Dの制御回路には、内部バス407に、CPU408、ROM409、RAM410、内部インターフェイス411、ハードディスクドライブ装置120E(HDD(Hard Disk Drive))を備える。前記CPU408は、前記内部インターフェイス411を介して、前記複合機100のCPU401から指示やデータなどを受信すると、当該指示などに基づいて、SATAホストコントローラ506を介してハードディスクドライブ装置120Eに指示を送信し、データを当該ハードディスクドライブ装置120Eの記憶媒体に記憶させたり(書き込ませたり)、当該記憶媒体からデータを読み取ったり(取得したり)する。又、CPU408、ROM409、RAM410の機能も前記と同様であり、後述する各手段(図5に示す)について、前記CPU408がプログラムを実行することで当該各手段を実現する。前記ROM409には、以下に説明する各手段を実現するプログラムやデータが記憶されている。
又、前記ハードディスクドライブ装置120Eには、前記記憶媒体へのデータの送受信を制御する制御部412が設けられており、当該制御部412は、前記SATAホストコントローラを介して情報処理部120Dから受信した複数の指示(コマンド)の実行順序を、例えば、記憶媒体へのアクセス効率が高まるように変更して実行する。前記制御部412は、記憶媒体からデータを読み取る場合でも記憶媒体へデータを書き込む場合でも同様の処理をする。
<本発明の実施形態>
次に、図5、図6を参照しながら、本発明の実施形態に係る構成及び実行手順について説明する。図5は、本発明の複合機100及び情報処理部120Dの機能ブロック図である。図6は、本発明の実行手順を示すためのフローチャートである。
まず、ユーザが、複合機100の電源を投入すると、複合機100の表示受付手段501が、予め設定された初期画面(例えば、機能選択画面、図示せず)をタッチパネル301上に表示する。
ユーザは、前記機能選択画面を見ながら、当該機能選択画面内の所定のタブに表示された(電子)メール送信キーを選択すると、前記表示受付手段501が、当該メール送信キーの選択を受け付けて、メール送信機能画面をタッチパネル上に表示する(図6:S101)。
前記メール送信機能画面700には、図7(A)に示すように、メール送信機能を示す旨のメッセージ「電子メールの送信条件を入力してください。」701と、送信先(例えば、電子メールアドレス)を選択可能なアドレス帳702と、添付画像(画像データ)を選択可能なフォルダ703と、添付画像をプレビュー画像として表示させるための添付画像プレビューキー704と、OKキー705と、キャンセルキー706とが表示される。
ここで、ユーザが、前記メール送信機能画面700を見ながら、前記アドレス帳702の所定の送信先(例えば、送信先「A」702a)を選択するとともに、前記フォルダ703の所定の画像データ(例えば、画像データ「文書A」703a)を選択して、OKキー705を選択すると、前記表示受付手段501が、当該OKキー705の選択を受け付けて、機能実行手段502に通知する(図6:S102YES)。前記送信先「A」702aと前記画像データ「文書A」703aとがハードディスクドライブ装置120Eに記憶されている場合、前記通知を受けた機能実行手段502は、前記送信先「A」702aと前記画像データ「文書A」703aとを前記ハードディスクドライブ装置120Eから取得するためのアクセス要求を生成する(図6:S103)。
生成されたアクセス要求707は、図7(B)に示すように、前記送信先「A」702aを読み出す指示「読み出し」708と、当該送信先「A」702aが記憶されている前記ハードディスクドライブ装置120Eの記憶媒体508(ハードディスク)のメモリ領域に対応するセクタアドレス「0052」709と、前記画像データ「文書A」を読み出す指示「読み出し」710と、当該画像データ「文書A」のセクタアドレス「0780」711とから構成される。
前記機能実行手段502が、前記アクセス要求707を生成すると、その旨をアクセス要求判定手段503に通知し、当該通知を受けたアクセス要求判定手段503は、パーティション情報記憶手段504に予め記憶されているパーティション情報テーブルを参照する(図6:S104)。
前記パーティション情報テーブル800には、図8(A)に示すように、前記記憶媒体508のセクタアドレス801(例えば、セクタアドレスの所定の範囲を示す「0000−01FF」801a、「0600−07FF」801bなど)と、当該セクタアドレス801に記憶されたデータが平文データか暗号文データかを示すパーティション情報802(例えば、「平文」802a、「暗号文」802bなど)とが関連付けて記憶されている。
ここで、前記パーティション情報テーブル800は、前記ハードディスクドライブ装置120Eの記憶媒体508に基づいて作成されている。前記パーティション情報テーブル800のセクタアドレス801に対応する記憶媒体508のメモリ領域には、当該パーティション情報テーブル800のパーティション情報802に対応するデータ(平文データか暗号文データか)が記憶されている。
例えば、前記パーティション情報テーブル800のセクタアドレス「0000−01FF」801aに対応する記憶媒体508のメモリ領域には、個人情報保護の目的により暗号文データである前記送信先「A」702aがセクタアドレス「0052」709に記憶される。又、前記パーティション情報テーブル800のセクタアドレス「0600−07FF」801bに対応する記憶媒体508のメモリ領域には、通常のデータ、つまり平文データである前記画像データ「文書A」703aがセクタアドレス「0780」711に記憶される。
前記アクセス要求判定手段503は、前記パーティション情報テーブル800を参照すると、前記アクセス要求707に含まれるセクタアドレス(例えば、「0052」709)を取得し、取得したセクタアドレスを、前記パーティション情報テーブル800のセクタアドレス801(例えば、「0000−01FF」801a)に照合させる。当該照合の結果、前記アクセス要求判定手段503は、照合された前記パーティション情報テーブル800のセクタアドレス801に対応するパーティション情報802(例えば、「暗号文」802b)を参照し、参照したパーティション情報802により、取得したセクタアドレス(例えば、「0052」709)が平文データのセクタアドレスか暗号文データのセクタアドレスかのセクタアドレスの種類を特定する(図6:S105)。
このようなセクタアドレスの種類の特定を、前記アクセス要求判定手段503は、前記アクセス要求707に含まれる全てのセクタアドレスについて実行し、当該全てのセクタアドレスについてセクタアドレスの種類の特定をし終えると、当該全てのセクタアドレスが、平文データのセクタアドレスと暗号文データのセクタアドレスとの混在であるか、平文データ又は暗号文データのセクタアドレスのみであるかを判定する(図6:S106)。
<全てのセクタアドレスが、平文データのセクタアドレスと暗号文データのセクタアドレスとの混在である場合>
ここで、上述したように、送信先「A」702aのセクタアドレス「0052」709は、パーティション情報802の「暗号文」802bに対応する暗号文データのセクタアドレス「0000−01FF」801aであり、画像データ「文書A」703aのセクタアドレス「0780」711は、パーティション情報802の「平文」802aに対応する平文データのセクタアドレス「0600−07FF」801bである。そのため、前記アクセス要求判定手段503は、前記アクセス要求707に含まれる全てのセクタアドレスが、平文データのセクタアドレスと暗号文データのセクタアドレスとの混在であると判定する(図6:S106YES)。
前記アクセス要求判定手段503が、当該判定をすると、その旨を分割送信手段505に通知する。当該通知を受けた分割送信手段505は、前記アクセス要求707を、一のセクタアドレスを指定する一のアクセス要求である単位アクセス要求にそれぞれ分割する(図6:S107)。
上述の場合、前記アクセス要求707を、図8(B)に示すように、暗号文データの前記送信先「A」702aを読み出す指示「読み出し」803と、当該送信先「A」702aのセクタアドレス「0052」804とから構成される単位アクセス要求805(暗号文単位アクセス要求とする)と、平文データの前記画像データ「文書A」703aを読み出す指示「読み出し」806と、当該画像データ「文書A」703aのセクタアドレス「0780」807とから構成される単位アクセス要求808(平文単位アクセス要求とする)とに分割する。
そして、前記分割送信手段505は、前記アクセス要求707を2つの単位アクセス要求に分割すると、分割した単位アクセス要求毎に前記SATAホストコントローラ506に送信する(図6:S108)。
上述の場合、先ず、前記分割送信手段505は、暗号文単位アクセス要求(前記送信先「A」702aに関する単位アクセス要求)を前記SATAホストコントローラ506に送信し(図6:S108)、当該暗号文単位アクセス要求を受信したSATAホストコントローラ506は、SATAのAHCI(Advanced Host Controller Interface)規約に従って、当該暗号文単位アクセス要求に対応する一のコマンド(暗号文データに関するコマンド、暗号文コマンドとする)を発行する(図6:109)。
そして、前記SATAホストコントローラ506は、発行した暗号文コマンドを前記ハードディスクドライブ装置120Eの制御手段507に送信し、当該暗号文コマンドを受信した制御手段507は、当該暗号文コマンドに基づいて前記記録媒体508へのアクセスを実行する(図6:S110)。
ここで、前記分割送信手段505により、前記SATAホストコントローラ506は、単位アクセス要求に対応した一の暗号文コマンドを前記ハードディスクドライブ装置120Eの制御手段507に送信する。そのため、当該制御手段507は、後述するNCQ(Native Command Queuing)を実行することなく、受信した一の暗号文コマンドが指定する記憶媒体508のセクタアドレスにアクセスし、当該一のコマンドに対応する指示「読み出し」に従って、当該セクタアドレスに記憶されたデータ(ここでは、暗号化された送信先「A」)を読み出す。そして、前記制御手段507は、読み出したデータを前記SATAホストコントローラ506に送信する。当該データを受信したSATAホストコントローラ506は、先ほど受信した暗号文コマンドに対応して、その旨を暗号化復号化手段509に通知し(図6:S111YES)、当該通知を受けた暗号化復号化手段509は、当該データを復号化し(図6:S112)、復号化したデータ(送信先「A」702a)を、前記ハードディスクドライブ装置120Eに対応して、前記情報処理部120Dに予め備えられた所定のメモリ510に記憶させる。
ここで、前記暗号化復号化手段509が、AES(Advanced Encryption Standard)のCBC(Cipher Block Chaining)モードに対応する場合、前記データ(暗号化された送信先「A」)を複数のデータブロックに分割し、分割した複数のデータブロックのうち、先頭のデータブロックを、所定の初期ベクトルを利用して復号化し、前記先頭のデータブロック以外のデータブロックを、当該データブロックの直前のデータを利用して復号化する。これにより、前記データは復号化される。
尚、データの暗号化の場合は、前記暗号化復号化手段509が、前記メモリ510に記憶された暗号化されていないデータを取得して、上述したAESのCBCモードに対応する暗号化を実行し、前記SATAホストコントローラ506を介して前記ハードディスクドライブ装置120Eに送信することになる。前記初期ベクトルはどのような初期ベクトルでもよく、例えば、コマンドで指定されたセクタアドレスに対応して予め決定された初期ベクトルでも構わない。
さて、前記復号化されたデータが前記メモリ510に記憶されると、前記SATAホストコントローラ506は、その旨を前記分割送信手段505に通知する。ここで、分割された単位アクセス要求(平文単位アクセス要求)が未だに存在するため(図6:S113NO)、前記通知を受けた分割送信手段505は、前記平文単位アクセス要求を前記SATAホストコントローラ506に送信し、当該SATAホストコントローラ506への単位アクセス要求の送信を繰り返す(図6:S108)。
前記平文単位アクセス要求を受信したSATAホストコントローラ506は、前記AHCI規約に従って、当該平文単位アクセス要求に対応する一のコマンド(平文データに関するコマンド、平文コマンドとする)を発行し(図6:S109)、前記SATAホストコントローラ506は、発行した平文コマンドを前記制御手段507に送信する。当該平文コマンドを受信した制御手段507は、当該平文コマンドに対応する指示「読み出し」に従って、当該平文コマンドが指定する記憶媒体508のセクタアドレスからデータ(ここでは、平文データの画像データ「文書A」703a)を読み出し(コマンドを実行し)(図6:S110)、読み出したデータを前記SATAホストコントローラ506に送信する。当該データを受信したSATAホストコントローラ506は、先ほど受信した平文コマンドに対応して、当該データをそのまま前記メモリ510に記憶させる(図6:S111NO)。これにより、暗号文データの送信先「A」702aと平文データの画像データ「文書A」703aとが適切に前記ハードディスクドライブ装置120Eから取得される。
このように、前記機能実行手段502によるアクセス要求707に、平文データにアクセスする平文アクセス要求と暗号文データにアクセスする暗号文アクセス要求とが混在したとしても、当該アクセス要求707が複数の単位アクセス要求に分割されるため、各単位アクセス要求毎に平文データ又は暗号文データが取り扱われる。そのため、暗号文データか平文データかを判定することが出来ない(AESのCBCモードの)暗号化復号化手段509であっても、暗号文データのみ適切に復号化(又は暗号化)することが可能となる。又、前記アクセス要求に対応する複数のコマンドを受信すると当該複数のコマンドの実行順序を変更する(NCQ対応の)ハードディスクドライブ装置120Eであっても、前記アクセス要求が単位アクセス要求毎に分割されるため、暗号文データと平文データとの順序を変更するという事態も回避することが可能となり、暗号文データのみ適切に復号化(又は暗号化)することが可能となる。
さて、S113において、単位アクセス要求が順次送信された結果、送信すべき単位アクセス要求が無くなった場合(図6:S113YES)、前記分割送信手段505が、送信すべき単位アクセス要求がないことを確認して、その旨を機能実行手段502に通知する。当該通知を受けた機能実行手段502は、前記メモリ510に記憶されたデータ、つまり、送信先「A」702aと画像データ「文書A」703aとを利用して、電子メール送信機能を実行する(図6:S114)。
具体的には、前記機能実行手段502は、前記送信先「A」702aと前記画像データ「文書A」703aとを前記メモリ510から取得し、予め所定の形式で記憶された電子メールの宛先欄に当該送信先「A」702aを挿入し、当該電子メールに当該画像データ「文書A」703aを添付する。次に、前記機能実行手段502は、所定のタイトル(例えば、「文書の添付」)や日付(A年B月C日)などの付加情報を前記電子メールに挿入して、当該電子メールを作成する。そして、前記機能実行手段502が前記電子メールを作成すると、ネットワーク120Aを介して、前記送信先「A」120aに対応する端末装置に当該電子メールを送信する。これにより、電子メール送信機能が実行される。
<全てのセクタアドレスが暗号文データのセクタアドレスである場合>
次に、全てのセクタアドレスが暗号文データのセクタアドレスである場合について、説明する。
S101において、ユーザが、前記アドレス帳702の送信先「A」702aと、前記フォルダ703の暗号化された画像データ「機密文書A」703bとを選択し、OKキー705を選択すると、前記表示受付手段501が、当該OKキー705の選択を受け付け(図6:S102YES)、前記機能実行手段502は、当該送信先「A」702aと当該画像データ「機密文書A」703bとを当該ハードディスクドライブ装置120Eから取得するためのアクセス要求を生成する(図6:S103)。
生成されたアクセス要求901は、図9(A)に示すように、前記送信先「A」702aを読み出す指示「読み出し」902と、当該送信先「A」702aのセクタアドレス「0052」903と、前記画像データ「機密文書A」703aを読み出す指示「読み出し」904と、当該画像データ「機密文書A」703aのセクタアドレス「0520」905とから構成される。
前記機能実行手段502が、前記アクセス要求901を生成すると、前記アクセス要求判定手段503は、前記パーティション情報テーブル800を参照し(図6:S104)、前記アクセス要求901に含まれるセクタアドレスが平文データのセクタアドレスか暗号文データのセクタアドレスかを特定する(図6:S105)。そして、前記アクセス要求に含まれる全てのセクタアドレスが平文データのセクタアドレスか暗号文データのセクタアドレスかを特定すると、前記アクセス要求判定手段503は、当該全てのセクタアドレスが、平文データのセクタアドレスと暗号文データのセクタアドレスとの混在であるか、平文データ又は暗号文データのセクタアドレスのみであるかを判定する(図6:S106)。
上述の場合では、送信先「A」702aのセクタアドレス「0052」903は、パーティション情報802の「暗号文」802bに対応する暗号文データのセクタアドレス「0000−01FF」801aであり、画像データ「機密文書A」703bのセクタアドレス「0520」905も暗号文データのセクタアドレス「0400−05FF」である。そのため、前記アクセス要求判定手段503は、前記アクセス要求901に含まれる全てのセクタアドレスが全て暗号文データのセクタアドレスであると判定し(図6:S106NO)、その旨を同時送信手段511に通知する。当該通知を受けた同時送信手段511は、前記アクセス要求901をそのまま前記SATAホストコントローラ506に送信し(図6:S115)、当該アクセス要求901を受信したSATAホストコントローラ506は、当該アクセス要求901に応じたコマンドを発行する(図6:S116)。
ここで、前記アクセス要求901には、図9(A)に示すように、前記送信先「A」702aに関する暗号文アクセス要求906と、前記画像データ「機密文書A」703bに関する暗号文アクセス要求907とから構成される。そのため、前記SATAホストコントローラ506は、SATAのAHCI規約に従い、各アクセス要求に対応するそれぞれの暗号文コマンドを2つ同時に発行することになる。
2つの暗号文コマンドを発行したSATAホストコントローラ506は、当該2つの暗号文コマンドを前記制御手段507に送信し、当該2つの暗号文コマンドを受信した制御手段507は、各コマンド毎に指定されたセクタアドレスに基づいてコマンドの実行順序を変更し、それぞれの暗号文コマンドを実行する。
より詳細には、前記制御手段507は、受信した2つのコマンドの実行順序を、記憶媒体508へのアクセス効率が良くなる実行順序に変更する(図6:S117)。例えば、最初の暗号文コマンドに対応する送信先「A」702aのセクタアドレスが「0052」903であり、次の暗号文コマンドに対応する画像データ「機密文書A」703bのセクタアドレスが「0520」905であり、アクセス効率が良くなるセクタアドレスの順序が、「0520」から「0052」の順序である場合、前記制御手段507は、2つのコマンドの実行順序を、受信した順序(「0052」から「0520」の順序)から、アクセス効率が良くなる順序(「0520」から「0052」の順序)に変更する。これは、前記NCQに対応する。これにより、記憶媒体508へのアクセス効率が高まり、当該アクセスに要する時間を短縮させる。
そして、前記制御手段507は、アクセス効率が良くなる順序に対応して各セクタアドレスにアクセスし、各セクタアドレスに対応するコマンドの指示「読み出し」に従って、当該セクタアドレスに記憶されたデータを順次読み出す(図6:S118)。読み出されるデータの順序は、セクタアドレス「0520」905の画像データ「機密文書A」703bと、セクタアドレス「0052」903の送信先「A」702aの順序となる。
更に、前記制御手段507は、データの順序を、前記送信先「A」702aと前記画像データ「機密文書A」703bとの順序である、コマンドを受信した順序(元の順序)に変更して(図6:S119)、読み出したデータを前記SATAホストコントローラ506に順次送信する。当該データを順次受信したSATAホストコントローラ506は、先ほど受信した暗号文コマンドに対応して、その旨を暗号化復号化手段509に通知し(図6:S120YES)、当該通知を受けた暗号化復号化手段509は、順次受信されたデータを復号化する(図6:S121)。
ここで、前記暗号化復号化手段509は、順次受信された2つのデータを、データの種類(暗号文データか平文データか)を判別することなく、上述したAESのCBCモードに対応して、各データ毎に復号化することになるが、当該2つのデータは全て暗号文データであるため、適切に復号化される。つまり、前記暗号化復号化手段509が、受信したデータが暗号文データか平文データかを判定することが出来なくても、適切に暗号文データを復号化することが可能となる。そして、前記暗号化復号化手段509は、復号化した複数のデータを所定のメモリ510に記憶させる。
前記復号化されたデータが前記メモリ510に記憶されると、前記SATAホストコントローラ506は、その旨を前記同時送信手段511に通知し、当該通知を受けた同時送信手段511は、前記ハードディスクドライブ装置120Eに更にアクセスする必要がないことを確認して、その旨を機能実行手段502に通知する。当該通知を受けた機能実行手段502は、前記メモリ510に記憶されたデータ(送信先「A」702a、画像データ「機密文書A」703b)を利用して、電子メール送信機能を実行する(図6:S114)。このように、前記アクセス要求901が、全て暗号文データにアクセスする暗号文アクセス要求である場合、前記ハードディスクドライブ装置の前記NCQと、前記AESのCBCモードとを共に利用することが可能となる。
<全てのセクタアドレスが平文データのセクタアドレスである場合>
又、全てのセクタアドレスが平文データのセクタアドレスである場合について、説明する。
S101において、ユーザが、単に、複数(例えば、2つ)の画像データを確認するために、暗号化されていない2つの画像データ「文書A」703a、「文書B」703cを前記フォルダ703から選択して、添付画像プレビューキー704を選択すると、前記表示受付手段501が、当該添付画像プレビューキー704の選択を受け付け(図6:S102YES)、前記機能実行手段502は、前記2つの画像データ「文書A」703a、「文書B」703bを前記ハードディスクドライブ装置120Eから取得するためのアクセス要求を生成する(図6:S103)。
生成されたアクセス要求908は、図9(B)に示すように、前記画像データ「文書A」703aを読み出す指示「読み出し」909と、当該画像データ「文書A」703aのセクタアドレス「0780」910と、前記画像データ「文書B」703cを読み出す指示「読み出し」911と、当該画像データ「文書B」703cのセクタアドレス「0250」912とから構成される。
前記機能実行手段502が、前記アクセス要求908を生成すると、前記アクセス要求判定手段503は、前記パーティション情報テーブル800を参照し(図6:S104)、前記アクセス要求に含まれる全てのセクタアドレスが平文データのセクタアドレスか暗号文データのセクタアドレスかを特定する(図6:S105)。そして、前記アクセス要求判定手段503は、当該全てのセクタアドレスが、平文データのセクタアドレスと暗号文データのセクタアドレスとの混在であるか、平文データ又は暗号文データのセクタアドレスのみであるかを判定する(図6:S106)。
上述の場合では、画像データ「文書A」703aのセクタアドレス「0780」910は、平文データのセクタアドレス「0600−07FF」801bであり、画像データ「文書B」703cのセクタアドレス「0250」912も平文データのセクタアドレス「0200−03FF」である。そのため、前記アクセス要求判定手段503は、前記全てのセクタアドレスが平文データのセクタアドレスであると判定し(図6:S106NO)、その旨を同時送信手段511に通知する。当該通知を受けた同時送信手段511は、前記アクセス要求908をそのまま前記SATAホストコントローラ506に送信し(図6:S115)、当該アクセス要求908を受信したSATAホストコントローラ506は、当該アクセス要求908に応じたコマンドを発行する(図6:S116)。
ここで、前記アクセス要求908には、図9(B)に示すように、前記画像データ「文書A」703aに関する平文アクセス要求913と、前記画像データ「文書B」703cに関する平文アクセス要求914とから構成される。そのため、前記SATAホストコントローラ506は、SATAのAHCI規約に従い、各アクセス要求に対応するそれぞれの平文コマンドを2つ同時に発行する。
2つの平文コマンドを発行したSATAホストコントローラ506は、当該2つの平文コマンドを前記制御手段507に送信し、当該2つの平文コマンドを受信した前記制御手段507は、当該2つの平文コマンドの実行順序、つまり、受信した2つの平文コマンドの実行順序(「0780」から「0250」の順序)から、記憶媒体へのアクセス効率が良くなる実行順序(「0250」から「0780」の順序)に変更する(図6:S117)。これは、上述した前記NCQに対応する。そして、前記制御手段507は、変更された順序に対応して各セクタアドレスにアクセスし、当該セクタアドレスに記憶されたデータを順次読み出す(図6:S118)。読み出されるデータの順序は、セクタアドレス「0780」の画像データ「文書B」703cと、セクタアドレス「0780」の画像データ「文書A」703aの順序となる。
そして、前記制御手段507は、読み出したデータの順序を、コマンドを受信した順序である画像データ「文書A」703aと画像データ「文書B」703cとの順序に変更し(図6:S119)、当該データを前記SATAホストコントローラ506に順次送信し、当該データを順次受信したSATAホストコントローラ506は、先ほど受信した平文コマンドに対応して(図6:S120NO)、当該データをそのまま前記メモリ510に記憶させる。
前記データが前記メモリ510に記憶されると、前記同時送信手段511は、前記ハードディスクドライブ装置120Eに更にアクセスする必要がないことを確認して、その旨を機能実行手段502に通知する。当該通知を受けた機能実行手段502は、前記メモリ510に記憶されたデータ(画像データ「文書A」703a、画像データ「文書B」703c)を取得し、取得した画像データ「文書A」703a、画像データ「文書B」703cをプレビュー画像として前記電子メール送信機能画面700にそれぞれ表示させ、プレビュー機能が実行される(図6:S114)。これにより、前記アクセス要求908が、全て平文データにアクセスする平文アクセス要求である場合、前記ハードディスクドライブ装置120EのNCQを利用することが可能となる。
このように、本発明の情報処理部120Dでは、SATAホストコントローラ506と、SATAのNCQに対応するハードディスクドライブ装置120Eとを備え、前記セクタアドレスと、当該セクタアドレスに記憶されたデータが平文データか暗号文データかを示すパーティション情報とをパーティション情報テーブル800として関連付けて記憶するパーティション情報記憶手段504を備える。更に、当該情報処理部120Dは、前記アクセス要求が前記SATAホストコントローラ506に送信される際に、当該アクセス要求に含まれるセクタアドレスを、前記パーティション情報テーブル800のセクタアドレスに照合させることにより、当該アクセス要求に含まれる全てのセクタアドレスが平文データのセクタアドレスと暗号文データのセクタアドレスとの混在であるか、平文データ又は暗号文データのセクタアドレスのみであるかを判定するアクセス要求判定手段503を備える。そして、当該情報処理部120Dは、前記全てのセクタアドレスが平文データのセクタアドレスと暗号文データのセクタアドレスとの混在である場合、当該アクセス要求を、一のセクタアドレスを指定する一のアクセス要求である単位アクセス要求にそれぞれ分割し、分割した単位アクセス要求毎に前記SATAホストコントローラ506に送信する分割送信手段505を備える。
これにより、前記アクセス要求に含まれる全てのセクタアドレスが平文データのセクタアドレスと暗号文データのセクタアドレスとの混在である場合、つまり、前記SATAホストコントローラ506で発行される予定の複数のコマンドが、平文データに関するコマンドと暗号文データに関するコマンドとの混在である場合、アクセス要求を複数の単位アクセス要求に分割して前記SATAホストコントローラ506に送信する。そのため、前記アクセス要求に対応して、暗号化復号化手段509が受信するデータの種類が暗号文データと平文データとの混在である事態を回避することが可能となる。つまり、前記暗号化復号化手段509がデータの種類を判別する必要が無くなる。その結果、平文データと暗号文データとが混在するデータを、複数のコマンドの実行順序を変更するハードディスクドライブ装置120Eで取り扱う場合であっても、データの種類に応じて適切に暗号化又は復号化することが可能となる。
例えば、平文データに関するコマンドと暗号文データに関するコマンドとが混在する場合、本発明の情報処理部120Dでは、前記AESのCBCモードに対応する暗号化復号化手段509と、前記NCQに対応するハードディスクドライブ装置120Eとをともに利用することが可能となる。
尚、本発明の実施形態では、生成されたアクセス要求が所定のセクタアドレスにおけるデータの読み出しに関するアクセス要求であったが、他のアクセス要求、例えば、所定のセクタアドレスにおけるデータの書き込みに関するアクセス要求であっても、同様の作用効果を得ることが可能である。
又、本発明の実施形態では、生成されたアクセス要求が2つのアクセス要求から構成されるものであったが、例えば、生成されたアクセス要求がSATAのAHCI規約に対応するように、最大数32個のアクセス要求から構成されても、同様の作用効果を得ることが可能である。
又、本発明の実施形態に係る情報処理部120Dでは、複合機100の電子メール送信機能(電子メール送信サービス)に関して採用したが、例えば、コピー機能、スキャン機能、プリントボックス機能、ファックス機能などに対しても採用することが出来る。更に、本発明の実施形態では、情報処理部120Dを複合機100に適用した場合について説明したが、当該情報処理部120D(情報処理装置)を備えた各種画像処理装置、各種画像加工装置、各種画像表示装置等に適用しても、同一の作用効果を奏する。
又、本発明の実施形態では、情報処理部120Dが各手段を備えるよう構成したが、当該各手段を実現するプログラムを記憶媒体に記憶させ、当該記憶媒体を提供するよう構成しても構わない。当該構成では、前記プログラムを情報処理部120D或いは複合機100に読み出させ、その情報処理部120D或いは複合機100が前記各手段を実現する。その場合、前記記録媒体から読み出されたプログラム自体が本発明の作用効果を奏する。さらに、各手段が実行するステップをハードディスクに記憶させる方法として提供することも可能である。