JP4915465B2 - スキャナ装置 - Google Patents

スキャナ装置 Download PDF

Info

Publication number
JP4915465B2
JP4915465B2 JP2010111310A JP2010111310A JP4915465B2 JP 4915465 B2 JP4915465 B2 JP 4915465B2 JP 2010111310 A JP2010111310 A JP 2010111310A JP 2010111310 A JP2010111310 A JP 2010111310A JP 4915465 B2 JP4915465 B2 JP 4915465B2
Authority
JP
Japan
Prior art keywords
data
page
storage device
partial data
partial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010111310A
Other languages
English (en)
Other versions
JP2011239345A (ja
Inventor
浩一 次村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2010111310A priority Critical patent/JP4915465B2/ja
Priority to US13/072,536 priority patent/US8564823B2/en
Priority to EP11160048.2A priority patent/EP2387221B1/en
Priority to CN201110084136.1A priority patent/CN102244704B/zh
Publication of JP2011239345A publication Critical patent/JP2011239345A/ja
Application granted granted Critical
Publication of JP4915465B2 publication Critical patent/JP4915465B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32128Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title attached to the image data, e.g. file header, transmitted message header, information on the same page or in the same computer file as the image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00347Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with another still picture apparatus, e.g. hybrid still picture apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • H04N1/2104Intermediate information storage for one or a few pictures
    • H04N1/2112Intermediate information storage for one or a few pictures using still video cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • H04N1/2104Intermediate information storage for one or a few pictures
    • H04N1/2158Intermediate information storage for one or a few pictures using a detachable storage unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32267Methods relating to embedding, encoding, decoding, detection or retrieval operations combined with processing of the image
    • H04N1/32283Hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3212Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to a job, e.g. communication, capture or filing of an image
    • H04N2201/3216Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to a job, e.g. communication, capture or filing of an image of a job size, e.g. a number of images, pages or copies, size of file, length of message

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Facsimiles In General (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Storing Facsimile Image Data (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

本明細書では、スキャン対象物を表わす元データを用いて、文書データを生成するスキャナ装置を開示する。
例えば、特許文献1には、スキャンされた紙情報を用いて、PDFの文書データを生成するスキャナ装置が開示されている。このスキャナ装置は、PDFの文書データからハッシュ値を生成し、ハッシュ値からタイムスタンプトークンを生成する。さらに、スキャナ装置は、タイムスタンプトークンを文書データに埋め込むことによって、タイムスタンプ付きの文書データを生成する。
特開2008−141692号公報 特表2002−515240号公報
上記の特許文献1には、ハッシュ値を生成するための具体的な手法について、何ら開示されていない。本明細書では、スキャナ装置の内部記憶装置の記憶容量が比較的に少ない場合でも、ダイジェスト値(特許文献1の例ではハッシュ値)を迅速に算出し得る技術を提供する。
本明細書では、外部記憶装置を利用するスキャナ装置を開示する。スキャナ装置は、内部記憶装置と、スキャンされたスキャン対象物を表わす1ページ分以上の元データを生成する元データ生成部と、1ページ分以上の元データを用いて、ダイジェスト値を算出し、1ページ分以上の元データとダイジェスト値とを用いて、外部記憶装置内に文書データを生成する文書データ生成部と、を備える。文書データ生成部は、書込処理実行部と、変更部と、算出処理実行部と、を備える。
書込処理実行部は、1ページ分以上の元データのうちの1ページ分の元データを構成する複数の部分データのそれぞれについて、当該部分データを少なくとも外部記憶装置に書き込むための書込処理を実行する。書込処理実行部は、(A1)書込処理の対象の部分データである第1種の対象部分データのための書込処理において、内部記憶装置内の空き容量が不足しない場合には、内部記憶装置及び外部記憶装置の両方に第1種の対象部分データを書き込み、(A2)第1種の対象部分データのための書込処理において、内部記憶装置内の空き容量が不足する場合には、外部記憶装置のみに第1種の対象部分データを書き込む。変更部は、複数の部分データのための複数の書込処理が終了した後に、複数の部分データのうちの特定の部分データを変更する。特定の部分データは、複数の部分データのうちの他の部分データよりも先に書込処理が実行される部分データである。算出処理実行部は、変更後の特定の部分データを含む複数の部分データのそれぞれを順次用いて、ダイジェスト値を算出するための算出処理を順次実行する。算出処理実行部は、(B1)算出処理の対象の部分データである第2種の対象部分データが、内部記憶装置及び外部記憶装置の両方に記憶されている場合には、内部記憶装置に記憶されている第2種の対象部分データを用いて、算出処理を実行し、(B2)第2種の対象部分データが、外部記憶装置のみに記憶されている場合には、外部記憶装置に記憶されている第2種の対象部分データを用いて、算出処理を実行する。
本技術では、1ページ分の元データを構成する複数の部分データが外部記憶装置に書き込まれるために、スキャナ装置は、外部記憶装置内の複数の部分データを用いて算出処理を実行することができる。ただし、外部記憶装置内のデータを用いて処理を実行するのに要する時間は、通常、内部記憶装置内のデータを用いて処理を実行するのに要する時間よりも長くなる。従って、本技術では、内部記憶装置内の部分データを用いて算出処理を実行することができるように、スキャナ装置は、外部記憶装置のみならず、内部記憶装置にも部分データを書き込む。
ただし、本技術では、スキャナ装置は、複数の部分データのための複数の書込処理が終了した後に、他の部分データよりも先に書込処理が実行される特定の部分データを変更する。従って、特定の部分データが変更されるまで、即ち、複数の部分データのための複数の書込処理が終了するまで、スキャナ装置は、複数の部分データを用いて算出処理を実行することができない。例えば、非常に大きい記憶容量を有する内部記憶装置を利用すれば、算出処理が実行される前に、複数の部分データの全てを同時的に内部記憶装置内で保持することができる。ただし、内部記憶装置の記憶容量が比較的に少ない場合には、複数の部分データの全てを内部記憶装置に書き込むことができない可能性がある。従って、本技術では、スキャナ装置は、内部記憶装置の空き容量が不足しない場合には、外部記憶装置及び内部記憶装置の両方に部分データを書き込むが、内部記憶装置の空き容量が不足する場合には、外部記憶装置のみに部分データを書き込む。即ち、スキャナ装置は、内部記憶装置の記憶容量が比較的に少ない場合でも、内部記憶装置の空き容量に応じて、内部記憶装置に部分データを書き込むことができる。このために、スキャナ装置は、内部記憶装置内の部分データを用いて算出処理を実行し得るために、ダイジェスト値を迅速に算出し得る。本技術によると、内部記憶装置の記憶容量が比較的に少ない場合でも、ダイジェスト値を迅速に算出し得る。
なお、上記のスキャナ装置の機能を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記憶媒体も新規で有用である。
通信システムの構成を示す。 PDFファイルの構成を示す。 PDFファイル生成処理のフローチャートを示す。 対象ページのスキャン処理のフローチャートを示す。 RAM及びUSBメモリの記憶内容が変化する様子を示す。 対象ページまでの中間ハッシュ値算出処理のフローチャートを示す。 中間ハッシュ値算出処理の内容を説明するための図を示す。
(システムの構成)
図面を参照して実施例を説明する。図1に示すように、通信システム2は、PC6と、PC6の周辺機器である多機能機10と、を備える。PC6と多機能機10とは、ネットワークケーブル4を介して、相互に通信可能である。
(多機能機10の構成)
多機能機10は、印刷機能及びスキャン機能を含む多機能を実行可能である。多機能機10は、操作部12と、表示部14と、USBインターフェイス16と、ネットワークインターフェイス18と、制御部20と、印刷実行部60と、スキャン実行部70と、を備える。各部12〜20,60,70は、バス線11に接続されている。操作部12は、複数のキーによって構成されている。ユーザは、操作部12を操作することによって、様々な情報を多機能機10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。USBインターフェイス16には、ユーザが持ち運び可能な外部メモリであるUSBメモリ8が装着される。ネットワークインターフェイス18には、ネットワークケーブル4が接続される。
制御部20は、CPU22と、ROM24と、RAM26と、を備える。CPU22は、ROM24に格納されているプログラムに従って、様々な処理を実行する。CPU22が上記のプログラムに従って処理を実行することによって、元データ生成部30、文書データ生成部40、及び、特定処理実行部50の各機能が実現される。なお、文書データ生成部40は、書込処理実行部42、変更部44、算出処理実行部46、及び、署名値生成部48を備える。RAM26は、CPU22が直接的にアクセス可能なメインメモリであり、制御部20によって取得又は生成される様々なデータを記憶する。なお、RAM26は、最大のデータサイズを有する1ページ分のJPEG(Joint Photographic Experts Group)データを記憶するための記憶容量よりも大きい記憶容量を有する。なお、上記の「最大のデータサイズを有する1ページ分のJPEGデータ」は、スキャン実行部70がスキャン可能な最大の高さ及び幅のサイズを有する1ページ分のスキャン対象物を、スキャン実行部70が実行可能な最大のスキャン解像度でスキャンすることによって生成されるJPEGデータを意味する。スキャン対象物の「高さ」及び「幅」については、後で詳しく説明する。なお、別の実施例では、RAM26は、最大のデータサイズを有する1ページ分のJPEGデータを記憶するための記憶容量よりも小さい記憶容量を有していてもよい。
印刷実行部60は、インクジェット方式、レーザ方式等の印刷機構を備える。PC6から送信される印刷のためのデータ(以下では「印刷データ」と呼ぶ)がネットワークインターフェイス18によって受信されると、印刷実行部60は、受信済みの印刷データに従って印刷処理を実行する。スキャン実行部70は、透明板と、自動原稿搬送装置(ADF(Auto Document Feeder))と、スキャン機構と、を備える。スキャン機構は、第1の方向に沿って並んでいる複数個のイメージセンサを備える。各イメージセンサは、CCDイメージセンサ(Charge Coupled Device Image Sensor)であってもよいし、CIS(Contact Image Sensor)であってもよい。スキャン機構は、複数個のイメージセンサが並ぶ方向(上記の第1の方向)に直交する第2の方向に移動可能である。スキャン機構は、スキャン機構自身が第2の方向に移動することによって、透明板に載置されたスキャン対象物(例えば原稿)をスキャンすることができる。また、スキャン機構は、スキャン機構自身が静止した状態で、自動原稿搬送装置によって上記の第2の方向に搬送される原稿をスキャンすることができる。なお、以下では、透明板に載置されたスキャン対象物に対するスキャンのことを「移動スキャン」と呼び、自動原稿搬送装置によって搬送される原稿に対するスキャンのことを「静止スキャン」と呼ぶ。
(制御部20によって生成されるPDF(Portable Document Format)ファイルの構成)
多機能機10の制御部20は、スキャンされたスキャン対象物(例えば原稿等の紙媒体)を表わすJPEGデータを生成し、JPEGデータを用いてハッシュ値を生成し、JPEGデータとハッシュ値とを用いて、USBメモリ8内にPDFファイルを生成する。図2に示されるように、PDFファイル100は、最初のデータ100aと、最後のデータ100bと、1ページ分以上のPDFデータ110,120と、を含む。最初のデータ100aは、ヘッダを含む。最後のデータ100bは、フッタと、後述の図3のS28で生成される署名値と、多機能機10に予めインストールされている証明書と、を含む。証明書は、当該証明書に関する証明書情報と、署名値を復号化するための公開鍵と、を含む。証明書情報は、証明書の発行元(認証局(CA))を示す情報、証明書の発行先(即ち多機能機10)を示す情報、証明書の発行日時を示す情報等を含む。
1ページ目のPDFデータ110は、1ページ目の開始データ112と、1ページ目のJPEGデータ114と、1ページ目の終了データ116と、を含む。開始データ112は、開始データ112に続いてJPEGデータ114が記述されることを示す文字列を含む。終了データ116は、1ページ目のJPEGデータ114の高さ情報及び幅情報を含む。なお、「JPEGデータ114の高さ情報」、「JPEGデータ114の幅情報」は、それぞれ、JPEGデータ114の元のスキャン対象物の高さ、幅に対応する。より具体的に言うと、「JPEGデータ114の高さ情報」は、JPEGデータ114の元のスキャン対象物の高さ方向に沿ったJPEGデータ114の画素数である。また、「JPEGデータ114の幅情報」は、JPEGデータ114の元のスキャン対象物の幅方向に沿ったJPEGデータ114の画素数である。即ち、元のスキャン対象物の高さが大きい程(さらには高さ方向のスキャン解像度が高い程)、JPEGデータ114の高さ情報(高さ方向の画素数)も大きくなり、元のスキャン対象物の幅が大きい程(さらには幅方向のスキャン解像度が高い程)、JPEGデータ114の幅情報(幅方向の画素数)も大きくなる。
なお、上記の移動スキャン及び静止スキャンのどちらの場合であっても、スキャン対象物の幅方向は、スキャン機構を構成する複数個のイメージセンサが並ぶ方向(上記の第1の方向)である。また、上記の移動スキャンの場合には、スキャン対象物の高さ方向は、スキャン機構の移動方向(上記の第2の方向)である。上記の静止スキャンの場合には、スキャン対象物の高さ方向は、自動原稿搬送装置によって搬送される原稿の搬送方向(上記の第2の方向)である。
1ページ目のJPEGデータ114は、1ページ目のJPEGヘッダ114aと、複数の部分JPEGデータ114b〜114dと、1ページ目のJPEGフッタ114e(即ち1ページ目のJPEG最終データ114e)と、を含む。JPEGヘッダ114aは、SOI(Start Of Image)マーカと、高さ情報と、を含む。この高さ情報は、1ページ目の終了データ116に含まれる高さ情報(即ち1ページ目のJPEGデータ114の高さ情報)と同様である。JPEGフッタ114eは、EOI(End Of Image)マーカを含む。また、各部分JPEGデータ114b〜114dは、スキャンによって生成されるRGBのビットマップ形式のスキャンデータを変換することによって得られるデータである。なお、SOIマーカとEOIマーカとの間の各データは、「セグメント」と呼ばれることもある。従って、各部分JPEGデータ114b〜114dのことを「各セグメント」と呼ぶこともできる。なお、2ページ目以降のPDFデータ120は、1ページ目のPDFデータ110と同様の構成を有する。
(多機能機10が実行する処理)
次いで、USBメモリ8内にPDFファイル100を生成するための処理の内容について説明する。ユーザによって所定の操作が実行されると、制御部20は、図3に示されるPDFファイル生成処理を実行する。上記の所定の操作は、USBメモリ8をUSBインターフェイス16に装着すること、スキャン対象物を透明板又は自動原稿搬送装置に載置すること、所望のスキャン解像度を指定すること、及び、操作部12に含まれるスキャン実行キーを操作することを含む。
図3のS10に示されるように、文書データ生成部40(図1参照)は、まず、最初のデータ100a(図2参照)をRAM26内に生成する。S10では、さらに、書込処理実行部42(図1参照)は、RAM26内に生成された最初のデータ100aを、USBメモリ8に書き込む。S10では、さらに、算出処理実行部46(図1参照)は、最初のデータ100aを用いて、ハッシュ値を算出する。なお、本実施例では、算出処理実行部46は、ハッシュ関数としてSHA(Secure Hash Algorithm)−1を利用するが、MD4、MD5等の他のハッシュ関数を利用してもよい。また、以下では、図3のS28で最終的に算出されるハッシュ値のことを「最終ハッシュ値」と呼び、最終ハッシュ値を生成するためにS28よりも前の処理で算出されるハッシュ値のことを「中間ハッシュ値」と呼ぶ。なお、制御部20は、S10で中間ハッシュ値が算出されると、最初のデータ100aをRAM26から消去する。
次いで、S12において、文書データ生成部40は、対象ページの開始データをRAM26内に生成する。1回目のS12では、対象ページは、1ページ目である。従って、1回目のS12では、文書データ生成部40は、1ページ目の開始データ112(図2参照)を生成する。なお、以下では、対象ページが1ページ目である場合を例として、S12〜S24の処理の内容を説明する。S12では、さらに、書込処理実行部42は、RAM26内に生成された開始データ112を、USBメモリ8に書き込む。S12では、さらに、算出処理実行部46は、S10で算出された中間ハッシュ値と、1ページ目の開始データ112と、を用いて、新たな中間ハッシュ値を算出する。この結果、最初のデータ100aの先頭から1ページ目の開始データ112の最後までの中間ハッシュ値が算出される。なお、制御部20は、S12で中間ハッシュ値が算出されると、1ページ目の開始データ112をRAM26から消去する。
(対象ページのスキャン処理)
続いて、S14において、制御部20は、対象ページ(即ち1ページ目)のスキャン処理を実行する。S14では、制御部20は、まず、予め決められた第1のサイズの記憶容量を有する記憶領域(以下では「JPEGデータ生成用領域」と呼ぶ)をRAM26内に確保する。S14では、さらに、制御部20は、1ページ目のスキャン対象物に対するスキャンをスキャン実行部70に実行させる。なお、スキャン実行部70は、スキャンによって得られるRGBのビットマップ形式のスキャンデータを一時的に格納するためのバッファ(図示省略)を備える。バッファは、上記の第1のサイズの記憶容量(RAM26内に確保されるJPEGデータ生成用領域の記憶容量)よりも小さい第2のサイズの記憶容量を有する。バッファの記憶容量である第2のサイズが比較的に小さいために、バッファには、1ページ分のスキャンデータの全てを格納することができず、1ページ分のスキャンデータのうちの一部である部分スキャンデータが格納される。バッファ内の部分スキャンデータは、RAM26内のJPEGデータ生成用領域に書き込まれる。これにより、バッファを解放することができ、バッファに次の部分スキャンデータが格納される。部分スキャンデータがJPEGデータ生成用領域に格納されると、図4のS40の処理が実行される。
対象ページ(即ち1ページ目)の最初の部分スキャンデータがJPEGデータ生成用領域に格納された場合には、S40において、元データ生成部30は、まず、1ページ目のJPEGヘッダ114a(図2参照)をJPEGデータ生成用領域内に生成する。この段階では、1ページ目のスキャン対象物に対するスキャンが終了していないために、1ページ目のJPEGデータ114の高さ情報が未定である。従って、元データ生成部30は、予め決められた仮の高さ情報を含むJPEGヘッダ114aを生成する。S40では、さらに、元データ生成部30は、JPEGデータ生成用領域に格納された部分スキャンデータを、JPEG形式のデータ(即ち部分JPEGデータ114b(図2参照))に変換する。なお、部分JPEGデータ114bも、JPEGデータ生成用領域内に生成される。
次いで、S42において、書込処理実行部42は、RAM26の空き容量が不足しているのか否かを判断する。具体的に言うと、書込処理実行部42は、RAM26内のJPEGデータ生成用領域以外の領域のうちの未使用の領域の容量(即ち空き容量)が、所定のサイズ(例えば書き込まれる対象のデータのサイズ(例えばJPEGヘッダ114a及び部分JPEGデータ114bの合計サイズ)よりも大きいのか否かを判断する。
RAM26の空き容量が不足していない場合(S42でNOの場合)には、S44において、書込処理実行部42は、S40で生成されたJPEGヘッダ114aを、RAM26内のJPEGデータ生成用領域以外の特定の領域に書き込む。次いで、書込処理実行部42は、部分JPEGデータ114bを上記の特定の領域に書き込む。なお、JPEGヘッダ114aが書き込まれるRAM26内の第1の領域と、部分JPEGデータ114bが書き込まれるRAM26内の第2の領域と、が隣接するように、S44の書込処理が実行される。各データ114a,114bを格納するRAM26内の各領域が隣接するように書込処理が実行されることにより、後述の図6のS62でRAM26内の各データ114a,114bにアクセスする際のアクセス効率が向上する。S44の書込処理により、図5のRAM26に示されるように、各データ114a,114bが書き込まれる。S44を終えると、S46に進む。なお、RAM26の空き容量が不足している場合(S42でYESの場合)には、RAM26への書込処理(S44の処理)は実行されずに、S46に進む。
S46では、書込処理実行部42は、S40で生成されたJPEGヘッダ114a及び部分JPEGデータ114bを、USBメモリ8に書き込む。S46の書込処理でも、S44の書込処理と同様に、各データ114a,114bを格納するUSBメモリ8内の各領域が隣接するように書き込まれる。これにより、後述の図6のS64でUSBメモリ8内の各データ114a,114bにアクセスする際のアクセス効率が向上する。なお、後述の他の各データ114c,114d,114eについても、各データを格納する各領域が隣接するように、S44及びS46の書込処理が実行される。S46の書込処理により、図5のUSBメモリ8に示されるように、各データ114a,114bが書き込まれる。なお、図示省略しているが、S46を終えると、元データ生成部30は、部分スキャンデータ、JPEGヘッダ114a、及び、部分JPEGデータ114bを、JPEGデータ生成用領域から消去する。これにより、JPEGデータ生成用領域が解放され、JPEGデータ生成用領域に新たな部分スキャンデータが格納される。
次いで、S48において、元データ生成部30は、1ページ目のスキャン対象物に対するスキャンが終了したのか否かを判断する。1ページ目のスキャン対象物を表わす最後の部分スキャンデータは、ページの最後であることを示す情報を含む。このような情報を含む部分スキャンデータに対してS40〜S46の処理が実行された場合には、元データ生成部30は、S48でYESと判断し、対象ページのスキャン処理を終了する。
一方において、1ページ目のスキャン対象物に対するスキャンが終了していない場合(S48でNOの場合)には、元データ生成部30は、S40以降の処理を再び実行する。これにより、元データ生成部30は、部分JPEGデータ114c,114d(図2参照)を順次生成する。また、書込処理実行部42は、部分JPEGデータ114c,114dを少なくともUSBメモリ8に順次書き込む(空き容量が不足していない場合にはRAM26にも書き込む)。なお、1ページ目の最後の部分スキャンデータがJPEGデータ生成用領域に格納された場合には、元データ生成部30は、S40において、部分JPEGデータ114dのみならず、1ページ目のJPEGフッタ114eも生成する。この場合、書込処理実行部42は、S44及びS46において、部分JPEGデータ114dのみならず、1ページ目のJPEGフッタ114eも書き込む。
1ページ目のスキャン処理が終了した段階では、図5のUSBメモリ8に示されるように、1ページ目のJPEGデータ114を構成する全てのデータ114a〜114eが、USBメモリ8に書き込まれる。ただし、RAM26には、全てのデータ114a〜114eが書き込まれるとは限らない。図4のS42でRAM26の空き容量が不足していると判断され、RAM26にデータ114a等が書き込まれない可能性があるからである。RAM26の空き容量が不足する状況について、次に説明する。
(印刷処理)
上述したように、RAM26は、最大のデータサイズを有する1ページ分のJPEGデータを記憶するための記憶容量よりも大きい記憶容量を有する。従って、制御部20によって図3のPDFファイル生成処理のみが実行されている状態では、通常、RAM26に十分な空き容量が確保されているために、図4のS42でNOと判断され、1ページ目のJPEGデータ114を構成する全てのデータ114a〜114eがRAM26に書き込まれる。ただし、図3のPDFファイル生成処理が実行されている間に、例えば、PC6から多機能機10に印刷データが送信される可能性がある。この場合、特定処理実行部50(図1参照)は、図3のPDFファイル生成処理と同時的に(PDFファイル生成処理に並行して)、図示省略の印刷処理を実行する。
印刷処理において、特定処理実行部50は、印刷データをRAM26に書き込む。例えば、1ページ目のJPEGヘッダ114aから部分JPEGデータ114cまでがRAM26に書き込まれた状態で印刷処理が開始される場合には、図5のRAM26に示すように、特定処理実行部50は、RAM26に印刷データ200を書き込む。この結果、RAM26の空き容量が少なくなり、図4のS42の処理において、RAM26の空き容量が不足していると判断され得る。
また、例えば、印刷データのサイズが比較的に大きい場合には、特定処理実行部50が印刷データをRAM26に書き込むべき際に、RAM26の空き容量が不足する可能性がある。また、例えば、特定処理実行部50が受信済みの印刷データを、印刷に適した特定の形式のデータ(例えばCMYK画像データ)に変換する処理を実行する際に、RAM26の空き容量が不足する可能性がある。印刷処理のためのデータ(印刷データ、上記の特定の形式のデータ等)をRAM26に書き込むべき際に、RAM26の空き容量が不足すると、特定処理実行部50は、図4のS44でRAM26に書き込まれたデータ(例えばJPEGヘッダ114a等)をRAM26から消去し、RAM26を解放する。
なお、特定処理実行部50は、図4のS44でRAM26に書き込まれたデータをRAM26から消去する際に、古いデータ(先に生成されたデータ)を優先的に消去する。例えば、JPEGヘッダ114aから部分JPEGデータ114cまでがRAM26に書き込まれている状態では、特定処理実行部50は、JPEGヘッダ114aを最初に消去し、その消去によっても空き容量の不足が解消されない場合には、部分JPEGデータ114bをさらに消去し、その消去によっても空き容量の不足が解消されない場合には、部分JPEGデータ114cをさらに消去する。上述したように、各データ114a,114b,114cを格納するRAM26内の各領域が隣接するように、RAM26への書込処理(図4のS44)が実行される。従って、古いデータ(例えばデータ114a)を優先的に消去すれば、RAM26内に残る各データ(例えばデータ114b,114c)は、連続(隣接)する。このために、後述の図6のS62でRAM26内の各データにアクセスする際のアクセス効率が向上する。
また、JPEGヘッダ114aが優先的に消去されると、以下の効果も奏する。即ち、後述の図3のS18では、JPEGヘッダ114aに対して、高さ情報の変更処理が実行されるが、JPEGヘッダ114a以外の種類の部分JPEGデータ114b,114cに対して、高さ情報の変更処理が実行されない。図3のS18の変更処理を実行する必要があるJPEGヘッダ114aが優先的に消去されるために、図3のS18の変更処理を実行せずに済み、処理の迅速化を実現し得る。
特定処理実行部50は、消去したデータ(例えばJPEGヘッダ114a、部分JPEGデータ114b)が書き込まれていたRAM26内の領域に、印刷処理のためのデータ(印刷データ、上記の特定の形式のデータ等)を書き込む。これにより、図5のRAM26に示すように、RAM26に印刷処理のためのデータ202が書き込まれる。このような状態でも、図4のS42の処理において、RAM26の空き容量が不足していると判断され得る。
(高さ情報の変更処理)
図3のS14の対象ページ(即ち1ページ目)のスキャン処理が終了すると、図3のS16に進む。上述したように、図4のS40で生成される1ページ目のJPEGヘッダ114aに含まれる高さ情報は、仮の高さ情報である。図3のS16〜S20では、変更部44(図1参照)は、JPEGヘッダ114a内の仮の高さ情報を変更する処理を実行する。
S16では、変更部44は、1ページ目の高さ情報がRAM26内に存在するのか否かを判断する。1ページ目のJPEGヘッダ114aがRAM26に存在する場合には、変更部44は、S16でYESと判断し、S18に進む。一方において、例えば、1ページ目のスキャン処理(図4参照)が実行されている間に、上記の特定処理実行部50が、1ページ目のJPEGヘッダ114aをRAM26から消去する可能性がある(図5のRAM26参照)。この場合、1ページ目のJPEGヘッダ114aがRAM26に存在しないために、変更部44は、S16でNOと判断し、S18をスキップしてS20に進む。
S18では、変更部44は、RAM26内の1ページ目のJPEGヘッダ114aに含まれる仮の高さ情報を、1ページ目のJPEGデータ114の実際の高さ情報に変更する。なお、変更部44は、スキャン実行部70のスキャンの実行結果に基づいて、実際の高さ情報(各部分JPEGデータ114b〜114dの高さ方向の合計画素数)を得ることができる。具体的には、スキャン実行部70のスキャンによって、スキャン方向(イメージセンサの移動方向、ADFの原稿の搬送方向)における1ページ目のスキャン対象物の先端位置及び後端位置が検出され、変更部44は、当該先端位置及び後端位置に基づいて、実際の高さ情報を算出する。また、S20では、変更部44は、USBメモリ8内の1ページ目のJPEGヘッダ114aに含まれる仮の高さ情報を、1ページ目のJPEGデータ114の実際の高さ情報に変更する。
(中間ハッシュ値算出処理)
S20を終えると、S22において、算出処理実行部46は、対象ページ(即ち1ページ目)までの中間ハッシュ値算出処理を実行する。図6に示されるように、S60において、算出処理実行部46は、中間ハッシュ値を算出するための対象のデータ(以下では「対象部分データ」と呼ぶ)が、RAM26内に存在するのか否かを判断する。なお、対象部分データは、1ページ目のJPEGデータ114を構成する各データ114a〜114eのうち、中間ハッシュ値を算出するために未だに利用されていない最も古いデータ(最も先に生成されたデータ)である。例えば、1ページ目までの中間ハッシュ値算出処理において、1回目のS60〜S66の処理が実行される場合には、対象部分データは、1ページ目のJPEGヘッダ114aであり、2回目のS60〜S66の処理が実行される場合には、対象部分データは、部分JPEGデータ114bである。
1回目のS60では、算出処理実行部46は、RAM26内に1ページ目のJPEGヘッダ114aが存在するのか否かを判断する。1回目のS60でYESの場合、S62において、算出処理実行部46は、RAM26内の1ページ目のJPEGヘッダ114aを取得する(読み込む)。一方において、1回目のS60でNOの場合、S64において、算出処理実行部46は、USBメモリ8内の1ページ目のJPEGヘッダ114aを取得する(読み込む)。より具体的に言うと、S64では、算出処理実行部46は、USBメモリ8内の1ページ目のJPEGヘッダ114aをRAM26に一時的に書き込む。
次いで、1回目のS66では、算出処理実行部46は、図3のS12で算出された中間ハッシュ値と、S62又はS64で取得された1ページ目のJPEGヘッダ114aと、を用いて、新たな中間ハッシュ値を算出する。この結果、最初のデータ100a(図2参照)の先頭から1ページ目のJPEGヘッダ114aの最後までの中間ハッシュ値が算出される。1回目のS66を終えると、S68において、算出処理実行部46は、RAM26及びUSBメモリ8に書き込まれた対象ページ(即ち1ページ目)のJPEGデータ114のサイズを用いて、対象ページの処理が終了したのか否かを判断する。具体的には、1ページ目のJPEGデータ114までの中間ハッシュ値算出処理(図6)では、算出処理実行部46は、S62又はS64で取得された各対象部分データの合計のサイズが、1ページ目のJPEGデータ114のサイズよりも小さい場合に、S68でNOと判断し、前者のサイズが後者のサイズに一致する場合に、S68でYESと判断する。なお、別の実施例では、算出処理実行部46は、S62又はS64で取得された対象部分データの数(即ちS62又はS64が実行された回数)が、1ページ目のJPEGデータ114を構成する複数のデータ114a〜114eの数(即ち図4のS46が実行された回数)よりも小さい場合には、S68でNOと判断し、前者の数が後者の数に一致する場合に、S68でYESと判断してもよい。S68でNOの場合、算出処理実行部46は、S60〜S66の処理を再び実行する。
2回目のS60では、算出処理実行部46は、RAM26内に部分JPEGデータ114bが存在するのか否かを判断する。算出処理実行部46は、2回目のS60でYESの場合には、RAM26内の部分JPEGデータ114bを取得し(S62)、2回目のS60でNOの場合には、USBメモリ8内の部分JPEGデータ114bを取得する。次いで、2回目のS66では、算出処理実行部46は、1回目(即ち前回)のS66で算出された中間ハッシュ値と、S62又はS64で取得された部分JPEGデータ114bと、を用いて、新たな中間ハッシュ値を算出する。この結果、最初のデータ100a(図2参照)の先頭から部分JPEGデータ114bの最後までの中間ハッシュ値が算出される。
上記と同様に、3回目以降のS60〜S66の処理が実行される。この結果、最初のデータ100a(図2参照)の先頭から1ページ目のJPEGフッタ114eの最後までの中間ハッシュ値が算出される。この場合、S68でYESと判断され、対象ページ(即ち1ページ目)までの中間ハッシュ値算出処理が終了する。なお、図示省略しているが、中間ハッシュ値算出処理が終了すると、制御部20は、RAM26内に存在する全てのJPEGデータを消去する。これにより、RAM26が解放され、次の対象ページ(2ページ目)のJPEGデータをRAM26に書き込むことができる。
なお、算出処理実行部46は、図6のS62を経てS66を実行する場合(RAM26内の対象部分データを用いる場合)には、図6のS64を経てS66を実行する場合(USBメモリ8内の対象部分データを用いる場合)と比べて、中間ハッシュ値を迅速に算出することができる。図6のS64では、USBメモリ8内の対象部分データをRAM26に一時的に書き込むための処理が必要であり、当該処理に時間を要するからである。中間ハッシュ値を迅速に算出するために、図6の中間ハッシュ値算出処理では、算出処理実行部46は、対象部分データがRAM26及びUSBメモリ8の両方に記憶されている場合(S60でYESの場合)に、RAM26内の対象部分データを優先的に用いて、中間ハッシュ値を算出する。
例えば、図7の(A)に示すように、1ページ目のJPEGデータ114を構成する全てのデータ114a〜114eがRAM26及びUSBメモリ8の両方に記憶されている状態では、算出処理実行部46は、図7の(A)に示す番号の順序で、RAM26内の各データ114a〜114eを順次用いて、中間ハッシュ値を順次算出する。
また、例えば、図7の(B)に示すように、1ページ目のJPEGデータ114を構成する一部のデータ114cのみがRAM26及びUSBメモリ8の両方に記憶されている状態では、算出処理実行部46は、図7の(B)に示す番号の順序で、RAM26又はUSBメモリ8内の各データ114a〜114eを順次用いて、中間ハッシュ値を順次算出する。即ち、図7の(B)の例では、算出処理実行部46は、まず、USBメモリ8内の各データ114a,114bを順次用いて、中間ハッシュ値を順次算出し、次いで、RAM26内のデータ114cを用いて、中間ハッシュ値を算出し、次いで、USBメモリ8内の各データ114d,114eを順次用いて、中間ハッシュ値を順次算出する。
図3のS22の対象ページ(即ち1ページ目)までの中間ハッシュ値算出処理が終了すると、S24に進む。S24では、文書データ生成部40は、1ページ目の終了データ116(図2参照)をRAM26内に生成する。S24では、さらに、書込処理実行部42は、RAM26内に生成された終了データ116を、USBメモリ8に書き込む。S24では、さらに、算出処理実行部46は、S22で算出された中間ハッシュ値(最初のデータ100a(図2参照)の先頭から1ページ目のJPEGフッタ114eの最後までの中間ハッシュ値)と、1ページ目の終了データ116と、を用いて、新たな中間ハッシュ値を算出する。この結果、最初のデータ100aの先頭から1ページ目の終了データ116の最後までの中間ハッシュ値が算出される。なお、制御部20は、S24で中間ハッシュ値が算出されると、1ページ目の終了データ116をRAM26から消去する。
続いて、S26において、制御部20は、全ページのスキャン対象物に対するスキャンが終了したのか否かを判断する。具体的に言うと、制御部20は、RAM26内のJPEGデータ生成用領域に新たな部分スキャンデータが格納されている場合には、S26でNOと判断し、JPEGデータ生成用領域に新たな部分スキャンデータが格納されていない場合には、S26でYESと判断する。
S26でNOの場合には、制御部20は、対象ページを2ページ目として、2回目のS12〜S24の処理を再び実行する。2回目のS12〜S24の処理は、1回目のS12〜S24の処理と同様である。2回目のS12〜S24の処理の結果、図2に示される2ページ目の開始データ122、2ページ目のJPEGデータ124、及び、2ページ目の終了データ126が、USBメモリ8に書き込まれる。さらに、最初のデータ100aの先頭から2ページ目の終了データ126の最後までの中間ハッシュ値が算出される。
S26でYESの場合には、S28において、文書データ生成部40は、PDFファイル100のフッタをRAM26内に生成する。S28では、さらに、算出処理実行部46は、最後のS24(例えばスキャン対象物の全ページ数が「2」である場合には2回目のS24)で算出された中間ハッシュ値と、PDFファイル100のフッタと、を用いて、最終ハッシュ値を算出する。この結果、最初のデータ100aの先頭からフッタの最後までの最終ハッシュ値が算出される。S28では、さらに、署名値生成部48(図1参照)は、最終ハッシュ値を予め決められた秘密鍵で暗号化することによって、署名値(即ち署名済みハッシュ値)を生成する。S28では、さらに、文書データ生成部40は、PDFファイル100のフッタと、署名値と、予め決められた証明書と、を含む最後のデータ100b(図2参照)を生成する。なお、署名値及び証明書は、最終ハッシュ値を算出するための対象(ハッシュ化の対象)ではない。S28では、さらに、書込処理実行部42は、最後のデータ100bを、USBメモリ8に書き込む。これにより、USBメモリ8内に図2に示されるPDFファイル100が完成する。
(外部装置の処理)
ユーザは、PDFファイル100を含むUSBメモリ8を持ち運ぶことができる。ユーザは、多機能機10以外の外部装置(例えばPC6)のUSBインターフェイスにUSBメモリ8を装着することにより、USBメモリ8内のPDFファイル100を外部装置の表示部に表示させることができる。この際に、外部装置は、最初のデータ100aの先頭から、最後のデータ100b内のフッタの最後までのハッシュ値(以下では「第1のハッシュ値」と呼ぶ)を算出することができる。また、外部装置は、最後のデータ100bに含まれる署名値を、最後のデータ100bに含まれる公開鍵で復号化することよって、ハッシュ値(以下では「第2のハッシュ値」と呼ぶ)を生成することができる。外部装置は、第1のハッシュ値と第2のハッシュ値とを比較することによって、PDFファイル100に対する改ざんの有無を判断することができる。例えば、外部装置は、第1のハッシュ値と第2のハッシュ値とが一致しない場合に、PDFファイル100が改ざんされた可能性があることを示すメッセージを表示部に表示させる。ユーザは、当該メッセージを見ることによって、PDFファイル100が改ざんされた可能性があることを知ることができる。
実施例の通信システム2について詳しく説明した。多機能機10は、図3のS14の対象ページのスキャン処理(図4参照)において、1ページ分のJPEGデータ114を構成する複数のデータ114a〜114eを少なくともUSBメモリ8に書き込む(図4のS46)。従って、多機能機10は、USBメモリ8内の複数のデータ114a〜114eを用いて、中間ハッシュ値を算出することができる。ただし、上述したように、USBメモリ8内のデータ114a等を用いて中間ハッシュ値を算出する場合には、比較的に長時間を要する。従って、本実施例では、多機能機10は、RAM26内のデータ114a等を用いて中間ハッシュ値を算出することができるように、USBメモリ8のみならず、RAM26にもデータ114a等を書き込む(図4のS44)。
ただし、多機能機10は、図3のS18及びS20において、1ページ目のJPEGヘッダ114a内の仮の高さ情報を、実際の高さ情報に変更する。上述したように、1ページ目のJPEGデータ114の実際の高さ情報は、1ページ目のスキャン対象物のスキャンが終了するまで未定である。従って、多機能機10は、1ページ目のスキャン処理(図3のS14)が終了した後に、1ページ目のJPEGヘッダ114aに含まれる高さ情報を変更する。しかも、1ページ目のJPEGデータ114を構成する各データ114a〜114eのうち、中間ハッシュ値を生成するために最初に利用されるべきデータは、JPEGヘッダ114aである。従って、多機能機10は、1ページ目のJPEGヘッダ114aに含まれる高さ情報が変更されるまで、即ち、1ページ目のスキャン処理(図3のS14)が終了するまで、1ページ目のJPEGデータ114を構成する各データ114a〜114eを用いて、中間ハッシュ値を算出することができない。ただし、多機能機10のRAM26の記憶容量は、比較的に少ないために(PC6等よりも少ないために)、例えば、印刷処理が同時的に実行される状況では、各データ114a〜114eの全てをRAM26に書き込むことができない可能性がある(図5のRAM26参照)。
従って、多機能機10は、RAM26の空き容量が不足しない場合(図4のS42でNOの場合)には、USBメモリ8及びRAM26の両方にデータ114a等を書き込むが、RAM26の空き容量が不足する場合(図4のS42でYESの場合)には、USBメモリ8のみにデータ114a等を書き込む。即ち、多機能機10は、RAM26の空き容量が不足しない限り、RAM26にデータ114a等を書き込むことができ、この結果、RAM26の記憶容量が比較的に少ない場合でも、RAM26内のデータ114a等を用いて、中間ハッシュ値を算出することができる。本実施例の技術によると、RAM26に各データ114a〜114eが書き込まれない構成(即ちUSBメモリ8への書込処理しか実行されない構成)と比べると、中間ハッシュ値を迅速に算出し得る。この結果、最終ハッシュ値及び署名値も迅速に算出し得るために、PDFファイル100を迅速に生成し得る。
実施例の各要素と本発明の各要素との対応関係を記載しておく。多機能機10が「スキャナ装置」の一例である。USBメモリ8、RAM26、USBインターフェイス16が、それぞれ、「外部記憶装置」、「内部記憶装置」、「装着部」の一例である。1ページ目及び2ページ目のJPEGデータ114,124(図2参照)が、「1ページ分以上の元データ」の一例である。例えば、1ページ目のJPEGデータ114、当該JPEGデータ114を構成する複数のデータ114a〜114eが、それぞれ、「1ページ分の元データ」、「複数の部分データ」の一例である。図3のS28で算出される最終ハッシュ値が、「ダイジェスト値」の一例である。図4のS44及びS46で書き込まれる対象のデータ、図6のS62及びS64で取得される対象部分データが、それぞれ、「第1種の対象部分データ」、「第2種の対象部分データ」の一例である。JPEGヘッダ114a、高さ情報が、それぞれ、「特定の部分データ」、「サイズ情報」の一例である。また、印刷処理、印刷処理のためのデータが、それぞれ、「特定の処理」、「特定のデータ」の一例である。
(変形例1)上記の実施例では、算出処理実行部46は、ハッシュ化を利用することによって「ダイジェスト値」を生成するが、その代わりに、他のダイジェスト化の手法を利用してもよい。一般的に言うと、「ダイジェスト値」を算出するための手法は、1ページ分以上の元データから得られる値であって、1ページ分以上の元データの合計データサイズよりも小さいデータサイズを有する値を生成するためのあらゆるダイジェスト化の手法を含む。
(変形例2)上記の実施例では、文書データ生成部40は、PDFの「文書データ」を生成するが、その代わりに、PDF以外の形式以外の形式(例えばXPS形式)の「文書データ」を生成してもよい。また、上記の実施例では、元データ生成部30は、JPEG形式の「元データ」を生成するが、その代わりに、JPEG形式以外の形式(例えば、TIFF、BMP形式)の「元データ」を生成してもよい。
(変形例3)上記の実施例では、USBメモリ8を「外部記憶装置」として利用しているが、それに代えて、「外部記憶装置」は、多機能機10に内蔵されるハードディスクであってもよいし、多機能機10に装着されるCD、DVD、フロッピー(登録商標)ディスク等のメディアであってもよいし、多機能機10と別体に構成される外部装置(例えばサーバ)内の記憶装置であってもよい。
(変形例4)上記の実施例では、特定処理実行部50は、例えば、図5のRAM26に示されるように、印刷処理のためのデータをRAM26に書き込むべき際に、各データ114a〜114cのうち、JPEGヘッダ114aを優先的に消去する。この構成に代えて、特定処理実行部50は、JPEGヘッダ114a以外の種類の部分JPEGデータ114b,114cを優先的に消去してもよい。
(変形例5)上記の実施例では、図5のRAM26に示されるように、特定処理実行部50は、RAM26内の空き容量が不足する場合に、個々のデータ114a〜114eを単位として、データの消去を実行する。即ち、特定処理実行部50は、図4のS44でRAM26に書き込まれる個々のデータの単位で、データの消去を実行する。これに代えて、特定処理実行部50は、各データ114a〜114eよりも小さい単位又は大きい単位で、データの消去を実行してもよい。例えば、特定処理実行部50は、RAM26内の空き容量が不足する場合に、データ114aのうちの一部のデータのみを消去し、その消去によっても空き容量の不足が解消されない場合には、データ114aのうちの他のデータをさらに消去してもよい。また、例えば、特定処理実行部50は、RAM26内の空き容量が不足する場合に、データ114aとデータ114bとを同時的に消去し、その消去によっても空き容量の不足が解消されない場合には、データ114cとデータ114dとを同時的に消去してもよい。一般的に言うと、「1ページ分の元データのうちの一部のデータ」は、「部分データ」と同じ単位であってもよいし、異なる単位であってもよい。
(変形例6)上記の実施例では、図6のS62又はS64で取得されるデータの単位は、図4のS44でRAM26に書き込まれる個々のデータの単位と同じである。これに代えて、算出処理実行部46は、各データ114a〜114eよりも小さい単位又は大きい単位で、図6のS62,S64の取得処理を実行してもよい。本変形例の構成も、「複数の部分データを順次用いて、・・・算出処理を順次実行する」という構成に含まれる。
(変形例7)上記の実施例では、印刷処理が「特定の処理」の一例であるが、「特定の処理」は、他の処理であってもよい。例えば、特定処理実行部50は、外部装置からのアクセスに応じて、WEBページを示すデータを生成し、当該データを外部装置に送信する処理(「特定の処理」の一例)を実行してもよい。本変形例では、WEBページを示すデータが「特定のデータ」の一例である。
(変形例8)上記の実施例では、図3のS18及びS20において、変更部44は、1ページ分の元データのヘッダ内の高さ情報を変更するが、それに代えて、幅情報、スキャン解像度、トータルデータサイズ等の他の情報を変更してもよい。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:通信システム、USBメモリ8、10:多機能機、20:制御部、26:RAM、100:PDFファイル、114:1ページ目のJPEGデータ、114a〜114e:1ページ目のJPEGデータを構成する各データ、124:2ページ目のJPEGデータ

Claims (7)

  1. 外部記憶装置を利用するスキャナ装置であって、
    内部記憶装置と、
    スキャンされたスキャン対象物を表わす1ページ分以上の元データを生成する元データ生成部と、
    前記1ページ分以上の元データを用いて、ダイジェスト値を算出し、前記1ページ分以上の元データと前記ダイジェスト値とを用いて、前記外部記憶装置内に文書データを生成する文書データ生成部と、を備え、
    前記文書データ生成部は、
    前記1ページ分以上の元データのうちの1ページ分の元データを構成する複数の部分データのそれぞれについて、当該部分データを少なくとも前記外部記憶装置に書き込むための書込処理を実行する書込処理実行部であって、
    (A1)前記書込処理の対象の部分データである第1種の対象部分データのための前記書込処理において、前記内部記憶装置内の空き容量が不足しない場合には、前記内部記憶装置及び前記外部記憶装置の両方に前記第1種の対象部分データを書き込み、
    (A2)前記第1種の対象部分データのための前記書込処理において、前記内部記憶装置内の空き容量が不足する場合には、前記外部記憶装置のみに前記第1種の対象部分データを書き込む、前記書込処理実行部と、
    前記複数の部分データのための複数の前記書込処理が終了した後に、前記複数の部分データのうちの特定の部分データを変更する変更部であって、前記特定の部分データは、前記複数の部分データのうちの他の部分データよりも先に前記書込処理が実行される部分データである、前記変更部と、
    変更後の前記特定の部分データを含む前記複数の部分データのそれぞれを順次用いて、前記ダイジェスト値を算出するための算出処理を順次実行する算出処理実行部であって、
    (B1)前記算出処理の対象の部分データである第2種の対象部分データが、前記内部記憶装置及び前記外部記憶装置の両方に記憶されている場合には、前記内部記憶装置に記憶されている前記第2種の対象部分データを用いて、前記算出処理を実行し、
    (B2)前記第2種の対象部分データが、前記外部記憶装置のみに記憶されている場合には、前記外部記憶装置に記憶されている前記第2種の対象部分データを用いて、前記算出処理を実行する、前記算出処理実行部と、を備える
    スキャナ装置。
  2. 前記特定の部分データは、前記1ページ分の元データのうち、ヘッダ部分を含む部分データである、請求項1に記載のスキャナ装置。
  3. 前記変更部は、1ページ分の前記スキャン対象物に対するスキャンが終了した後に、前記特定の部分データに含まれる前記ヘッダ部分内に、前記1ページ分の前記スキャン対象物のスキャン方向に沿ったサイズに関するサイズ情報を書き込むことによって、前記特定の部分データを変更する、請求項2に記載のスキャナ装置。
  4. 前記1ページ分の元データを構成する前記複数の部分データのための前記複数の書込処理が開始されてから終了するまでの間に、前記書込処理とは異なる特定の処理が実行されるべき際に、前記特定の処理のための特定のデータを前記内部記憶装置に書き込んで、前記特定の処理を実行する特定処理実行部をさらに備える、請求項1から3のいずれか1項に記載のスキャナ装置。
  5. 前記特定処理実行部は、前記特定のデータを前記内部記憶装置に書き込むべき際に、前記内部記憶装置内の空き容量が不足すると、前記内部記憶装置内の部分領域であって、前記1ページ分の元データのうちの一部のデータが既に書き込まれている前記部分領域に、前記特定のデータを書き込む、請求項4に記載のスキャナ装置。
  6. 前記文書データ生成部は、さらに、前記ダイジェスト値を暗号化することによって、署名値を生成する署名値生成部を備え、
    前記文書データ生成部は、前記1ページ分以上の元データと前記署名値とを含む前記文書データを、前記外部記憶装置内に生成する、請求項1から5のいずれか一項に記載のスキャナ装置。
  7. 前記外部記憶装置が装着される装着部をさらに備える、請求項1から6のいずれか1項に記載のスキャナ装置。
JP2010111310A 2010-05-13 2010-05-13 スキャナ装置 Active JP4915465B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2010111310A JP4915465B2 (ja) 2010-05-13 2010-05-13 スキャナ装置
US13/072,536 US8564823B2 (en) 2010-05-13 2011-03-25 Scanner device
EP11160048.2A EP2387221B1 (en) 2010-05-13 2011-03-28 Scanner device
CN201110084136.1A CN102244704B (zh) 2010-05-13 2011-03-30 扫描仪装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010111310A JP4915465B2 (ja) 2010-05-13 2010-05-13 スキャナ装置

Publications (2)

Publication Number Publication Date
JP2011239345A JP2011239345A (ja) 2011-11-24
JP4915465B2 true JP4915465B2 (ja) 2012-04-11

Family

ID=44168293

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010111310A Active JP4915465B2 (ja) 2010-05-13 2010-05-13 スキャナ装置

Country Status (4)

Country Link
US (1) US8564823B2 (ja)
EP (1) EP2387221B1 (ja)
JP (1) JP4915465B2 (ja)
CN (1) CN102244704B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5293693B2 (ja) * 2010-06-30 2013-09-18 ブラザー工業株式会社 スキャナ装置
JP5293694B2 (ja) * 2010-07-20 2013-09-18 ブラザー工業株式会社 スキャナ装置
JP7297607B2 (ja) * 2019-09-04 2023-06-26 キヤノン株式会社 画像処理装置及びその制御方法、並びにプログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5926550A (en) 1997-03-31 1999-07-20 Intel Corporation Peripheral device preventing post-scan modification
JP3559713B2 (ja) 1997-10-27 2004-09-02 キヤノン株式会社 印刷処理装置、及び、印刷処理方法、並びに、処理プログラムが格納された記憶媒体
JP3997085B2 (ja) 2001-12-28 2007-10-24 キヤノン株式会社 画像生成装置
US20050190399A1 (en) 2004-01-30 2005-09-01 Seiko Epson Corporation Image output device and image output system
US20060081714A1 (en) * 2004-08-23 2006-04-20 King Martin T Portable scanning device
US7812986B2 (en) * 2005-08-23 2010-10-12 Ricoh Co. Ltd. System and methods for use of voice mail and email in a mixed media environment
JP4443441B2 (ja) * 2005-03-02 2010-03-31 シャープ株式会社 データ登録システム及び画像形成装置
JP4718419B2 (ja) 2006-01-27 2011-07-06 株式会社リコー 画像形成装置及びファイル管理方法
JP2008022373A (ja) 2006-07-13 2008-01-31 Canon Inc 改竄検知情報生成装置、撮像装置、改竄検知情報生成方法、プログラムおよび記憶媒体
JP4321564B2 (ja) 2006-08-10 2009-08-26 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置
US7885988B2 (en) * 2006-08-24 2011-02-08 Dell Products L.P. Methods and apparatus for reducing storage size
JP4543067B2 (ja) * 2006-09-19 2010-09-15 シャープ株式会社 画像処理装置、画像形成装置、画像読取装置、画像処理システム、画像処理方法、コンピュータプログラム、及び記録媒体
JP2008141692A (ja) 2006-12-05 2008-06-19 Ricoh Co Ltd 画像処理装置、タイムスタンプ付き画像データ作成方法、タイムスタンプ付き画像データ作成プログラム
US8103108B2 (en) * 2007-05-01 2012-01-24 Sharp Kabushiki Kaisha Image processing apparatus, image forming apparatus, image processing system, and image processing method
US8184912B2 (en) * 2007-06-06 2012-05-22 Sharp Kabushiki Kaisha Image processing apparatus, image forming apparatus, image processing system, and image processing method
US8050505B2 (en) * 2007-08-01 2011-11-01 Sharp Kabushiki Kaisha Image processing apparatus, image processing system, image processing method, and image forming apparatus
JP4399486B2 (ja) * 2007-09-27 2010-01-13 シャープ株式会社 画像処理装置、外部記憶装置、画像形成装置、画像送信装置、画像読取装置、画像処理システム、画像処理方法、プログラムおよびその記録媒体
JP5513018B2 (ja) 2008-06-27 2014-06-04 キヤノン電子株式会社 周辺装置及び画像読取装置
US8447989B2 (en) * 2008-10-02 2013-05-21 Ricoh Co., Ltd. Method and apparatus for tamper proof camera logs
US8484176B2 (en) * 2009-09-08 2013-07-09 Ricoh Co., Ltd. Multi-provider forms processing system with retry upon failure
US8417966B1 (en) * 2010-05-28 2013-04-09 Adobe Systems Incorporated System and method for measuring and reporting consumption of rights-protected media content

Also Published As

Publication number Publication date
US8564823B2 (en) 2013-10-22
EP2387221A1 (en) 2011-11-16
US20110279873A1 (en) 2011-11-17
CN102244704B (zh) 2014-07-09
EP2387221B1 (en) 2015-10-14
JP2011239345A (ja) 2011-11-24
CN102244704A (zh) 2011-11-16

Similar Documents

Publication Publication Date Title
EP2490433B1 (en) Controlling device
US8179547B2 (en) Code information printing apparatus, printing method, restoration apparatus, and restoration method
JP2007081451A (ja) 画像処理方法、画像処理装置、プログラムコード及び記憶媒体
US20110268355A1 (en) Image processing apparatus, image processing method, and computer-readable medium
JP2006303563A (ja) 画像処理装置
JP4915465B2 (ja) スキャナ装置
JP2014011696A (ja) 画像処理装置およびコンピュータプログラム
JP5293694B2 (ja) スキャナ装置
CN102300025A (zh) 图像形成装置和pdf生成方法
KR20110005549A (ko) 부가정보 추가 문서를 생성하는 방법 및 이를 수행하는 화상형성장치
US20140240727A1 (en) Image processing apparatus, image processing method, and storage medium
JP4380614B2 (ja) データ記憶装置、画像形成装置、およびデータ記憶装置の制御方法
JP2008160418A (ja) 画像処理装置、画像処理方法、画像処理プログラム並びに記憶媒体
JP5293693B2 (ja) スキャナ装置
JP4144878B2 (ja) データ処理装置及びデータ処理方法並びにコンピュータプログラム
JP4323995B2 (ja) データ処理装置及びその制御方法
US8358445B2 (en) Image reading apparatus, control method therefor, and storage medium
JP2010206399A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
US8363241B2 (en) Apparatus, method, and computer-program product for processing image
JP2009147705A (ja) 画像処理装置、画像処理方法、及びプログラム
JP4803242B2 (ja) 画像処理装置および画像処理プログラム
JP5633615B2 (ja) 制御装置及びコンピュータプログラム
JP4096650B2 (ja) プリンタドライバ、コンピュータ可読媒体及びイメージデータ変換装置
JP2006050060A (ja) 画像処理装置
JP2019185209A (ja) 画像処理装置、及び画像処理方法

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111227

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120109

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4915465

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150