(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-02
(45)【発行日】2024-09-10
(54)【発明の名称】プログラムおよびデバイス
(51)【国際特許分類】
H04N 1/00 20060101AFI20240903BHJP
H04N 1/387 20060101ALI20240903BHJP
G06V 30/412 20220101ALI20240903BHJP
H04N 1/21 20060101ALI20240903BHJP
【FI】
H04N1/00 C
H04N1/387 110
G06V30/412
H04N1/21
(21)【出願番号】P 2020150084
(22)【出願日】2020-09-07
【審査請求日】2023-07-11
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000291
【氏名又は名称】弁理士法人コスモス国際特許商標事務所
(72)【発明者】
【氏名】李 蕾
【審査官】橋爪 正樹
(56)【参考文献】
【文献】特開2017-091420(JP,A)
【文献】特開2007-201805(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/00
H04N 1/21
H04N 1/387- 1/393
G06V 30/00 -30/424
(57)【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータに、
画像読取装置から画像を取得する取得処理を実行させ、前記画像読取装置は、前記情報処理装置からスキャンコマンドを受信すると、セットされた複数の原稿を1枚ずつ読み取り、読み取った前記原稿ごとの画像を前記情報処理装置に送信し、
さらに前記コンピュータに、前記画像読取装置によって読み取られた前記原稿ごとの前記画像を受信することで、前記取得処理にて前記画像読取装置から複数の前記画像を取得した場合に、
受信した複数の前記画像を、予め設定されている分類条件で分類する分類処理と、
前記分類条件ごとに、前記分類処理にて分類された前記画像を纏めた集約画像データを生成する生成処理と、
前記生成処理にて生成された前記集約画像データを含むファイルを保存する保存処理と、
前記分類条件ごとに、前記分類処理にて分類された前記画像を、予め設定されているソート条件に従って並べ替えるソート処理と、
を実行さ
せ、
前記生成処理では、前記分類条件ごとに、前記ソート処理にて並べ替えられた前記画像を纏めた前記集約画像データを生成する、
ことを特徴とするプログラム。
【請求項2】
情報処理装置のコンピュータに、
画像読取装置から画像を取得する取得処理を実行させ、前記画像読取装置は、前記情報処理装置からスキャンコマンドを受信すると、セットされた複数の原稿を1枚ずつ読み取り、読み取った前記原稿ごとの画像を前記情報処理装置に送信し、
さらに前記コンピュータに、前記画像読取装置によって読み取られた前記原稿ごとの前記画像を受信することで、前記取得処理にて前記画像読取装置から複数の前記画像を取得した場合に、
受信した複数の前記画像を、予め設定されている分類条件で分類する分類処理と、
前記分類条件ごとに、前記分類処理にて分類された前記画像を纏めた集約画像データを生成する生成処理と、
前記生成処理にて生成された前記集約画像データを含むファイルを保存する保存処理と、
前記情報処理装置のユーザインタフェースを介して保存先の入力を受け付け、受け付けた前記保存先を、前記保存処理にて保存される前記ファイルの保存先に設定する保存先設定処理と、
を実行さ
せ、
前記保存処理では、前記生成処理にて生成された前記集約画像データを含む前記ファイルを、前記保存先設定処理にて設定された保存先に保存する、
ことを特徴とするプログラム。
【請求項3】
情報処理装置のコンピュータに、
画像読取装置から画像を取得する取得処理を実行させ、前記画像読取装置は、前記情報処理装置からスキャンコマンドを受信すると、セットされた複数の原稿を1枚ずつ読み取り、読み取った前記原稿ごとの画像を前記情報処理装置に送信し、
さらに前記コンピュータに、前記画像読取装置によって読み取られた前記原稿ごとの前記画像を受信することで、前記取得処理にて前記画像読取装置から複数の前記画像を取得した場合に、
受信した複数の前記画像を、予め設定されている分類条件で分類する分類処理と、
前記分類条件ごとに、前記分類処理にて分類された前記画像を纏めた集約画像データを生成する生成処理と、
前記生成処理にて生成された前記集約画像データを含むファイルを保存する保存処理と、
を実行さ
せ、
前記保存処理では、前記生成処理にて生成された前記集約画像データを含む前記ファイルであって、ファイル名に前記分類条件を示す分類情報を含む前記ファイルを保存する、
ことを特徴とするプログラム。
【請求項4】
請求項3に記載するプログラムにおいて、
前記保存処理では、前記生成処理にて生成された前記集約画像データを含む前記ファイルであって、ファイル名の先頭に前記分類情報を含む前記ファイルを保存する、
ことを特徴とするプログラム。
【請求項5】
請求項3または
請求項4に記載するプログラムにおいて、
前記保存処理では、前記生成処理にて生成された前記集約画像データを含む前記ファイルであって、ファイル名に前記分類情報および重複を防ぐための付加情報を含む前記ファイルを保存する、
ことを特徴とするプログラム。
【請求項6】
情報処理装置のコンピュータに、
画像読取装置から画像を取得する取得処理を実行させ、前記画像読取装置は、前記情報処理装置からスキャンコマンドを受信すると、セットされた複数の原稿を1枚ずつ読み取り、読み取った前記原稿ごとの画像を前記情報処理装置に送信し、
さらに前記コンピュータに、前記画像読取装置によって読み取られた前記原稿ごとの前記画像を受信することで、前記取得処理にて前記画像読取装置から複数の前記画像を取得した場合に、
受信した複数の前記画像を、予め設定されている分類条件で分類する分類処理と、
前記分類条件ごとに、前記分類処理にて分類された前記画像を纏めた集約画像データを生成する生成処理と、
前記生成処理にて生成された前記集約画像データを含むファイルを保存する保存処理と、
を実行さ
せ、
前記生成処理では、
前記分類条件ごとにフォルダを生成し、
前記分類処理にて分類された前記画像ごとに、前記画像を含むテンポラリファイルを前記フォルダに保存し、
受信した複数の前記画像について全て前記テンポラリファイルを保存した後、前記フォルダに保存された複数の前記テンポラリファイルを順次に読み出し、前記テンポラリファイルに含まれる前記画像を纏めた前記集約画像データを生成する、
ことを特徴とするプログラム。
【請求項7】
請求項6に記載するプログラムにおいて、
前記コンピュータに、
受信した前記画像の集約について有効か否かを設定する有効設定処理を実行させ、
前記生成処理では、
前記有効設定処理にて有効が設定されている場合、受信した複数の前記画像について全て前記テンポラリファイルに保存した後、前記フォルダに保存された複数の前記テンポラリファイルを順次に読み出し、前記テンポラリファイルに含まれる前記画像を纏めた前記集約画像データを生成し、
前記有効設定処理にて有効が設定されていない場合、受信した複数の前記画像について全て前記テンポラリファイルに保存した後、前記集約画像データを生成せず、前記テンポラリファイルを所定の保存先に保存する、
ことを特徴とするプログラム。
【請求項8】
請求項7に記載するプログラムにおいて、
前記生成処理では、
前記有効設定処理にて有効が設定されていない場合、受信した複数の前記画像について全て前記テンポラリファイルに保存した後、前記集約画像データを生成せず、フォルダ名に重複を防ぐための付加情報を含む保存用のフォルダを生成し、前記テンポラリファイルを前記保存用のフォルダに保存する、
ことを特徴とするプログラム。
【請求項9】
請求項7に記載するプログラムにおいて、
前記生成処理では、
前記有効設定処理にて有効が設定されていない場合、受信した複数の前記画像について全て前記テンポラリファイルに保存した後、前記集約画像データを生成せず、ファイル名に重複を防ぐための付加情報を含む保存用のファイル名を生成し、前記テンポラリファイルのファイル名を前記保存用のファイル名に変更して、前記テンポラリファイルを前記所定の保存先に保存する、
ことを特徴とするプログラム。
【請求項10】
ユーザインタフェースと、
コンピュータと、
を備えるデバイスであって、
前記コンピュータは、
前記ユーザインタフェースを介してスキャン指示を受け付けた場合に、複数の原稿が1枚ずつ読み取られた前記原稿ごとの画像を取得する画像取得処理と、
前記画像取得処理にて取得した複数の前記画像を、予め設定されている分類条件で分類する分類処理と、
前記分類条件ごとに、前記分類処理にて分類された前記画像を纏めた集約画像データを生成する生成処理と、
前記生成処理にて生成された前記集約画像データを含むファイルを保存する保存処理と、
前記分類条件ごとに、前記分類処理にて分類された前記画像を、予め設定されているソート条件に従って並べ替えるソート処理と、
を実行
し、
前記生成処理では、前記分類条件ごとに、前記ソート処理にて並べ替えられた前記画像を纏めた前記集約画像データを生成する、
ことを特徴とするデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に開示される技術分野は、複数の原稿を読み取り、読み取った複数の原稿の画像に基づく画像データを生成する技術に関する。
【背景技術】
【0002】
従来、複数の原稿を読み取り、読み取った複数の原稿の画像を1ページ分の領域に配置した画像データを生成する技術が知られている。例えば特許文献1には、読み取ったN個の画像を縮小し、縮小したN個の画像を、1ページをN等分した領域に配置した配置画像データを生成する、いわゆるNin1機能を有する画像処理装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
画像処理装置は、読み取った原稿の順に画像を配置する。そのため、複数の原稿の読み取り結果から日付や社名等の分類条件で分類して纏めた画像データを得ようとすると、あらかじめユーザが原稿を分類条件ごとに連続するように並べ替えてからその原稿束を画像読取装置にセットする必要がある。この原稿を並び替えてセットする作業は、ユーザにとって手間になり易い。
【0005】
本明細書は、複数の画像を抽出条件ごとに纏めた画像データを生成する場合において、ユーザの原稿セットにかかる手間を軽減するための技術を開示する。
【課題を解決するための手段】
【0006】
この課題の解決を目的としてなされたプログラムは、情報処理装置のコンピュータに、画像読取装置から画像を取得する取得処理を実行させ、前記画像読取装置は、前記情報処理装置からスキャンコマンドを受信すると、セットされた複数の原稿を1枚ずつ読み取り、読み取った前記原稿ごとの画像を前記情報処理装置に送信し、さらに前記コンピュータに、前記画像読取装置によって読み取られた前記原稿ごとの前記画像を受信することで、前記取得処理にて前記画像読取装置から複数の前記画像を取得した場合に、受信した複数の前記画像を、予め設定されている分類条件で分類する分類処理と、前記分類条件ごとに、前記分類処理にて分類された前記画像を纏めた集約画像データを生成する生成処理と、前記生成処理にて生成された前記集約画像データを含むファイルを保存する保存処理と、を実行させる、ことを特徴としている。
【0007】
本明細書に開示されるプログラムを実行することにより、情報処理装置は、読み取られた複数の原稿の画像から、予め設定されている分類条件ごとに画像を纏めた集約画像データを生成し、その集約画像データをファイルに保存する。これにより、ユーザが原稿を並べ替えることなく原稿をセットしたとしても分類条件ごとに画像が纏められてファイルが保存されるため、ユーザが事前に原稿を並べ替える手間を省くことができる。
【0008】
上記プログラムの処理を実行するデバイス、プログラムの機能を実現するための制御方法、および当該プログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
【発明の効果】
【0009】
本発明によれば、複数の画像を抽出条件ごとに纏めた画像データを生成する場合において、ユーザの原稿セットにかかる手間を軽減するための技術が実現される。
【図面の簡単な説明】
【0010】
【
図1】実施の形態にかかるスキャンシステムの概略構成図である。
【
図2】スキャン処理の手順を示すフローチャートである。
【
図3】ファイル保存設定画面の例を示す説明図である。
【
図4】分類保存処理の手順を示すフローチャートである。
【
図5】テンポラリファイルの例を示す説明図である。
【
図6】集約処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、スキャンシステムを具体化した実施の形態について、添付図面を参照しつつ詳細に説明する。本形態は、パーソナルコンピュータ(以下、「PC」とする)とそのPCに接続されるスキャナとを含むスキャンシステムを開示するものである。
【0012】
本形態のスキャンシステム100は、
図1に示すように、PC1と、スキャナ3と、を含み、これらが互いに接続されたシステムである。PC1は、少なくともスキャナ3との通信機能を備え、スキャナ3へのスキャンコマンドの送信、スキャナ3から読取結果であるスキャンデータの受信、等を行う装置である。PC1は、情報処理装置の一例であり、デバイスの一例である。PC1に代えて、例えば、スマートフォン、タブレットコンピュータであってもよい。
【0013】
本形態のPC1は、
図1に示すように、CPU11と、メモリ12と、を含むコントローラ10を備えている。また、PC1は、ユーザインタフェース(以下、「ユーザIF」とする)13と、通信インタフェース(以下、「通信IF」とする)14と、を備え、これらがコントローラ10に電気的に接続されている。なお、
図1中のコントローラ10は、PC1の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にPC1に存在する単一のハードウェアを表すとは限らない。
【0014】
CPU11は、メモリ12から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。CPU11は、コンピュータの一例である。メモリ12は、PC1を起動するための起動プログラム、スキャナ3を使用するための各種のアプリケーションプログラム(以下、「アプリ」とする)等の各種のプログラムや、画像データ、文書データ等の各種のデータが記憶される記憶領域である。メモリ12は、各種の処理が実行される際の作業領域としても利用される。
【0015】
本形態のPC1のメモリ12には、
図1に示すように、OS21と、スキャンアプリ22と、スキャナドライバ23と、が記憶されている。OS21は、例えば、Windows(登録商標)、macOS(登録商標)、Linux(登録商標)、iOS(登録商標)、Android(登録商標)である。
【0016】
スキャンアプリ22は、例えば、スキャンを実行させる装置の指定、スキャンデータの保存形式や保存場所の指定、スキャン実行の指示等のユーザの指示を受け付けるプログラムである。スキャンアプリ22は、さらに、スキャナから受信したスキャンデータに基づいて、画像の編集の指示を受け付けても良い。
【0017】
スキャナドライバ23は、スキャナ3の動作を制御するプログラムであり、スキャンに関する各種の設定を受け付ける。スキャナドライバ23は、スキャナ3のモデルに対応したプログラムであり、例えば、スキャンアプリ22にてスキャナ3でのスキャンの実行指示を受け付けた場合に、スキャンアプリ22によって起動される。スキャナドライバ23は、プログラムの一例である。スキャナドライバ23は、スキャンアプリ22の一部であっても良い。
【0018】
本形態のスキャナドライバ23は、スキャナ3から受信した複数のスキャンデータに基づいて、所定の条件に基づいて複数のスキャンデータを分類し、分類した画像を纏めた画像データを生成するNin1機能を有する。例えば、経理関係の書類などの多数の書類を管理するユーザは、各書類をスキャンして取得した画像データやコピーを作成して、管理あるいは提出する場合がある。領収書や納品書などの経理関係の書類はA4サイズ等よりも小さいものが多く、複数の書類を纏めた1つの画像データを生成する、あるいは、1枚に纏めてコピーすることで、管理が容易になる。本形態のスキャナドライバ23は、Nin1機能を実行させる指示であるNin1指示を受け付ける。なお、本形態でのNin1指示は、画像を縮小せずに纏める指示であり、Nは固定値ではなく、読み取った画像の枚数等によって決まる可変値である。
【0019】
メモリ12の一例は、PC1に内蔵されるROM、RAM、HDD等に限らず、CPU11が読み取り可能かつ書き込み可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
【0020】
ユーザIF13は、情報を報知するための画面を表示するハードウェアと、ユーザによる操作を受け付けるハードウェアと、を含む。ユーザIF13は、表示機能と操作受け付け機能とを有するタッチパネルであっても良いし、表示機能を有するディスプレイと、操作受け付け機能を有するキーボード、マウス、トラックボール等との組であっても良い。
【0021】
通信IF14は、スキャナ3等の外部装置と通信を行うためのハードウェアを含む。通信IF14の通信規格は、イーサネット(登録商標)、Wi-Fi(登録商標)、USB等である。通信IF14は、複数の通信規格に対応する複数の構成を含んでいても良い。
【0022】
本形態のスキャナ3は、PC1との通信機能と、原稿の画像を読み取ってスキャンデータを生成する画像読取機能と、を有する装置である。スキャナ3は、画像読取装置の一例である。本形態のスキャナ3は、
図1に示すように、自動原稿搬送装置(以下、「ADF」とする)31を備え、ADF31にセットされた複数枚の原稿束から原稿を1枚ずつ自動的に搬送して、連続して読み取ることができる。スキャナ3は、スキャン単機能の装置に限らず、例えば、複合機、コピー機、FAX装置であってもよい。
【0023】
次に、スキャナドライバ23による処理について説明する。なお、以下の処理は、基本的に、プログラムに記述された命令に従ったCPU11の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」等の処理は、CPU11の処理を表している。CPU11による処理は、OSのAPIを用いたハードウェア制御も含む。本明細書では、OSの記載を省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムBがハードウェアCを制御する」という趣旨の記載は、「プログラムBがOSのAPIを用いてハードウェアCを制御する」ことを指してもよい。また、プログラムに記述された命令に従ったCPU11の処理を、省略した文言で記載することがある。例えば、「CPU11が行う」のように記載することがある。また、プログラムに記述された命令に従ったCPU11の処理を、「プログラムAが行う」のようにCPUを省略した文言で記載することがある。
【0024】
なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU11が要求することなくデータを受信するという処理も、「CPUがデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「要求する」、「指示する」とは、要求していることを示す情報や、指示していることを示す情報を相手に出力することを示す概念である。また、要求していることを示す情報や指示していることを示す情報のことを、単に、「要求」、「指示」とも記載する。
【0025】
また、CPU11による、情報Aは事柄Bであることを示しているか否かを判断する処理を、「情報Aから、事柄Bであるか否かを判断する」のように概念的に記載することがある。CPU11による、情報Aが事柄Bであることを示しているか、事柄Cであることを示しているか、を判断する処理を、「情報Aから、事柄Bであるか事柄Cであるかを判断する」のように概念的に記載することがある。
【0026】
以下、本形態のスキャンシステム100において、PC1にて実行されるスキャン処理の手順について、
図2のフローチャートを参照して説明する。スキャン処理は、スキャンアプリ22等にてスキャナ3によるスキャンの実行指示を受け付けたことを契機に、PC1のCPU11にて実行される。本形態のスキャン処理は、スキャナドライバ23による処理である。
【0027】
スキャン処理では、CPU11は、スキャン設定を取得する(S101)。スキャン設定は、スキャンの実行指示を受け付ける前にスキャンアプリ22またはスキャナドライバ23にて設定されている各種のパラメータであり、ユーザの操作等に基づいて設定されている。
【0028】
本形態のスキャナドライバ23は、スキャン設定として、スキャン結果のファイル保存についての指定を受け付ける。スキャナドライバ23は、例えば、
図3に示すように、ファイル保存設定画面50をユーザIF13に表示させ、ユーザの入力を受け付ける。
図3のファイル保存設定画面50には、分類51、集約52、保存先53、のそれぞれについて、ユーザの指定を受け付ける入力欄が含まれる。
【0029】
分類51には、分類パラメータの指定を受け付ける分類設定511と、分類後の配置順を決定するソート情報を受け付けるソート設定512と、が含まれる。分類パラメータは、スキャンデータをフォルダに分類する条件を示すパラメータである。分類パラメータは、分類条件の一例である。スキャナドライバ23は、ファイル保存設定画面50にて分類パラメータの指定を受け付けた場合、分類設定511にて指定された分類パラメータに一致する文字列が含まれるスキャンデータを、その分類パラメータを含む名称のフォルダに保存する。スキャナドライバ23は、複数の分類パラメータの指定を受け付け可能であってもよい。
【0030】
分類設定511にて指定可能な分類パラメータには、例えば日付、会社名、支店名、原稿の種類、がある。日付は、書類の画像に含まれる日付の情報である。スキャナドライバ23は、日付の記載パターンを複数記憶しており、分類パラメータとして日付が選択された場合、記載パターンのいずれかに当てはまる文字列を画像中から抽出し、抽出した文字列に基づいて日付の情報を取得する。日付の記載パターンとしては、例えば、算用数字による表記として、yyyy/mm/dd、mm dd yyyy、dd-mm-yyyy、令和x年mm月dd日、があり、さらに、Jan等の文字による月表記、漢数字による表記、がある。
【0031】
また、スキャナドライバ23が保存用のフォルダ名として用いる日付の記載パターンは予め定められており、スキャナドライバ23は、スキャンデータの画像に含まれる日付の記載パターンに関わらず、特定のフォルダ名のフォルダを作成する。例えば、分類パラメータとして日付が選択された場合、スキャナドライバ23は、後述する処理によって、「2020/04/25」の文字列を含むスキャンデータも、「25-04-2020」の文字列を含むスキャンデータも、「2020-04-25」を含む名称のフォルダに保存する。保存時の記載パターンについて、ユーザの指定を受け付けても良い。
【0032】
会社名や支店名は、書類の画像に含まれる所定の固有名詞を示す文字列である。スキャナドライバ23は、分類パラメータとして使用する会社名や支店名として、具体的な名称を示す文字列の入力を受け付けて、メモリ12に登録する。スキャナドライバ23は、分類パラメータとして会社名が選択された場合、メモリ12に登録されている会社名の一覧をユーザIF13に表示し、その中から1以上の名称の選択を受け付ける。例えば、分類パラメータとして「A社」が選択された場合、スキャナドライバ23は、「A社」の文字列を含むスキャンデータを、「A社」を含む名称のフォルダに保存する。
【0033】
原稿の種類としては、例えば、請求書、領収書、納品書、Invoiceが該当する。スキャナドライバ23は、原稿の種類として利用可能な文字列を予め記憶しており、分類パラメータとして原稿の種類が選択された場合、予め備える文字列からユーザの選択を受け付ける。スキャナドライバ23は、原稿の種類として利用可能な文字列の入力を受け付けてもよく、受け付けた文字列を原稿の種類の選択肢として表示しても良い。
【0034】
ソート情報は、フォルダに分類された各スキャンデータを集約する際に、配置順を決定するための情報である。ソート情報は、ソート条件の一例である。ソート設定512にて指定可能なソート情報には、例えば支店名、時間、日付、がある。ソート情報として時間が指定されている場合、スキャナドライバ23は、スキャンデータに含まれる時間の情報に基づいて、時間順となるように各画像を配置する。スキャナドライバ23は、例えば、選択された分類パラメータと同じ情報をソート情報として選択できないように、選択された分類パラメータに応じて選択可能なソート情報を変更しても良い。
【0035】
スキャナドライバ23は、時間の記載パターンを複数記憶しており、ソート情報として時間が選択された場合、その記載パターンに当てはまる文字列を画像中から抽出し、抽出した文字列に基づいて時間の情報を取得する。時間の記載パターンとしては、例えば、hh:mm、hh時mm分、があり、さらに、午前、午後やAM、PM等を用いた12時間表記と24時間表記とがある。本形態のスキャナドライバ23は、スキャンデータの画像に含まれる時間の記載パターンに関わらず、時間順に配置する。スキャナドライバ23は、各画像を、例えば、24時間制で「hh:mm」を含む名称のテンポラリファイルとして一旦保存することで、ファイル名順にソートする。スキャナドライバ23は、時間の情報として、秒の情報をも使用しても良い。
【0036】
なお、スキャナドライバ23は、例えば、ファイル保存設定画面50にて、分類パラメータやソート情報の項目の追加指示、分類パラメータやソート情報として使用する名称等の追加指示、を受け付けても良い。スキャナドライバ23は、受け付けた情報をメモリ12に記憶して、分類パラメータ等の指定を受け付ける際に利用する。また、スキャナドライバ23は、分類設定511にて「なし」が指定された場合、分類51のチェックボックスの状態に関わらず、分類しないと決定する。
【0037】
集約52は、集約を有効とするか無効とするかの指示を受け付ける入力欄である。集約52への指示を受け付ける
図3は、有効設定処理の一例である。集約する指示を受け付けた場合、スキャナドライバ23は、キャンバスサイズの指定を受け付ける。キャンバスサイズは、複数の画像を集約して配置する1枚のキャンバスのサイズを示す情報である。キャンバスサイズは、例えば、印刷を実行する際の印刷用紙のサイズに相当する。集約を有効とする指示を受け付けた場合、スキャナドライバ23は、複数のスキャンデータを指定されたキャンバスサイズ内に配置して集約した画像データを生成する。
【0038】
保存先53は、スキャンデータに基づいて作成したファイルを保存する保存場所を示す情報を受け付ける欄である。保存先53の指定を受け付ける
図3は、保存先設定処理の一例である。なお、保存先53が指定されていない場合、スキャナドライバ23は、システムによるデフォルトの保存先やスキャナドライバ23による任意の保存先に保存するとしても良い。
【0039】
図2のスキャン処理の説明に戻る。スキャン処理では、CPU11は、S101にて取得したスキャン設定に分類パラメータの指定が含まれているか否かを判断する(S102)。分類パラメータの指定が含まれていないと判断した場合(S102:NO)、CPU11は、通常のスキャンの処理を行う(S103)。通常のスキャンとは、スキャンデータを分類せず、1枚の原稿ごとに1つの画像データを生成する処理であり、既存の技術であるので説明を省略する。
【0040】
分類パラメータの指定が含まれていると判断した場合(S102:YES)、CPU11は、スキャンコマンドを生成して、生成したスキャンコマンドをスキャナ3に送信する(S106)。
【0041】
スキャナ3は、受信したスキャンコマンドに基づいて、ADF31にセットされた原稿を1枚ずつスキャンし、スキャンデータをPC1に送信する。なお、スキャナ3は、1枚の原稿をスキャンするごとにスキャンデータを送信してもよいし、複数枚の原稿のスキャンデータを纏めて送信してもよい。スキャナ3は、ADF31にセットされた全ての原稿のスキャンが終了すると、終了情報をPC1に送信する。
【0042】
スキャナ3は、継続スキャン機能を有しても良い。継続スキャン機能を有するスキャナ3は、ADF31にセットされた全ての原稿のスキャンが終了した後、継続するか終了するかの指示を受け付ける。継続の指示を受け付けた場合、スキャナ3は、新たにADF31にセットされた原稿をさらにスキャンし、スキャンデータを継続してPC1に送信する。この場合、スキャナ3は、終了の指示を受け付けた後、終了情報をPC1に送信する。
【0043】
CPU11は、スキャナ3から終了情報を受信したか否かを判断する(S107)。終了情報を受信していないと判断した場合(S107:NO)、CPU11は、スキャナ3からスキャンデータを受信し(S108)、受信した情報を順次、テンポラリファイルとしてメモリ12に保存する(S109)。S108は、取得処理の一例である。
【0044】
CPU11は、テンポラリファイルを、例えば、ハードディスクやフラッシュメモリの所定の作業用のフォルダに保存する。これにより、所定のフォルダには、原稿1枚ごとに1つのテンポラリファイルが保存される。テンポラリファイルとして保存することで、RAMの容量による制限を受け難い。終了情報を受信したと判断した場合(S107:YES)、CPU11は、分類保存処理を実行する(S111)。
【0045】
分類保存処理は、分類設定511にて指定された分類パラメータに一致する文字列が含まれる画像のテンポラリファイルを、それぞれ1つのフォルダに保存しなおす処理である。分類保存処理の手順について、
図4のフローチャートを参照して説明する。
【0046】
分類保存処理では、CPU11は、テンポラリファイルを1つずつ読み出し(S201)、読み出したテンポラリファイルの画像に文字認識(OCR)処理を施し、画像に含まれる文字列を取得する(S202)。なお、CPU11は、OCR処理の前に、画像に含まれる文字の向きが揃うように、画像を回転させてもよい。
【0047】
そして、CPU11は、OCR処理にて取得した文字列に、分類パラメータとして指定されている文字列が含まれているか否かを判断する(S210)。分類パラメータとして日付が指定されている場合、CPU11は、S202にて取得した文字列から、日付と判断できる文字列の抽出を試行する。分類パラメータが含まれていると判断した場合(S210:YES)、CPU11は、作業用のフォルダに、抽出された分類パラメータを名称に含むフォルダが有るか否かを判断する(S211)。
【0048】
例えば、
図3に示したように、分類パラメータとして日付が指定されている場合、CPU11は、抽出された日付を示す名称のフォルダが有るか否かを判断する。この際、CPU11は、テンポラリファイルの画像に含まれる日付の記載パターンに関わらず、あらかじめ決めた記載パターンの日付をフォルダ名として用いる。例えば、このテンポラリファイルの画像に「2020年4月22日」や「22 04 2020」を示す情報が含まれていると判断した場合、CPU11は、
図5に示すように、分類用のフォルダとして、フォルダ名が「2020-04-22」であるフォルダ61が有るか否かを判断する。
【0049】
分類パラメータを名称に含むフォルダが無いと判断した場合(S211:NO)、CPU11は、分類パラメータ名のフォルダを作成する(S213)。例えば、このテンポラリファイルの画像に「2020年4月23日」や「23 04 2020」を示す情報が含まれていると判断した場合、フォルダ名が「2020-04-23」であるフォルダが無ければ、S213にてCPU11は、
図5に示すように、フォルダ62を作成する。
【0050】
また、S202にて取得した文字列に、分類パラメータとして指定されている文字列が含まれていないと判断した場合(S210:YES)、CPU11は、分類パラメータ名が含まれていないことを示す名称のフォルダ、例えば、その他フォルダ63を作成する(S214)。なお、その他フォルダ63が既に有る場合は、CPU11は、S214をスキップする。
【0051】
そして、分類パラメータを名称に含むフォルダが有ると判断した場合(S211:YES)、または、S213やS214の後、CPU11は、このテンポラリファイルを分類するフォルダを決定する(S215)。具体的には、CPU11は、S211にて有ると判断したフォルダ、または、S213やS214にて作成したフォルダを、分類用のフォルダに決定する。
【0052】
さらに、CPU11は、S202にて取得した文字列に、ソート情報として指定されている文字列が含まれているか否かを判断する(S220)。含まれていると判断した場合(S220:YES)、CPU11は、S215にて決定したフォルダに、このソート情報を示す情報を名称に含むファイルが有るか否かを判断する(S221)。
【0053】
例えば、
図3に示したように、ソート情報として時間が指定されている場合、CPU11は、テンポラリファイルから時間を示す文字列の抽出を試行し、抽出された時間を示す名称のファイルが有るか否かを判断する。この際、CPU11は、テンポラリファイルの画像に含まれる時間の記載パターンに関わらず、あらかじめ決めた記載パターンの時間をフォルダ名として用いる。
【0054】
ソート情報を名称に含むファイルが無いと判断した場合(S221:NO)、CPU11は、このテンポラリファイルを、ソート情報を含むファイル名で保存する(S222)。例えば、このテンポラリファイルの画像に「午後1時00分」を示す情報が含まれていると判断した場合であって、分類用のフォルダにファイル名が「13:00」であるファイルが無いと判断した場合、CPU11は、
図5に示すように、「13:00」ファイル73として保存する。
【0055】
ソート情報を名称に含むファイルが有ると判断した場合(S221:YES)、CPU11は、このテンポラリファイルを、ソート情報に付加情報を付加したファイル名で保存する(S223)。付加情報は、例えば、連番でもよいし、処理を実行している日時の情報でもよい。あるいは、CPU11は、付加情報について、ユーザの指定を受け付けてもよい。CPU11は、例えば、ファイル名の先頭をソート情報とし、その後に付加情報を付加する。例えば、
図5に示すように、既に「10:00」ファイル71が有る状態で、テンポラリファイルの画像に「10時」を示す情報が含まれていると判断した場合、CPU11は、「10:00-1」ファイル74として保存する。
【0056】
一方、ソート情報として指定されている文字列が含まれていないと判断した場合(S220:NO)、CPU11は、このテンポラリファイルを、連番のファイル名で保存する(S224)。CPU11は、例えば、
図5に示すように、「(1)」ファイル75として保存する。
【0057】
S222、S223、S224により、各テンポラリファイルは、分類パラメータに基づくフォルダに分類され、ソート情報に基づくファイル名で一旦保存される。フォルダによって分類されていることから、S222、S223、S224は、分類処理の一例である。また、ファイル名によって並べ替えられていることから、S222、S223、S224は、ソート処理の一例でもある。
【0058】
S222、S223、S224のいずれかの後、CPU11は、すべてのテンポラリファイルについての処理が終了したか否かを判断する(S225)。終了していないと判断した場合(S225:NO)、CPU11は、S201に戻って、次のテンポラリファイルについて処理を行う。終了したと判断した場合(S225:YES)、CPU11は、分類保存処理を終了して、スキャン処理に戻る。
【0059】
図2のスキャン処理の説明に戻る。S111の分類保存処理が終了した後、CPU11は、集約する指示を受け付けているか否かを判断する(S112)。CPU11は、集約する指示を、前述したファイル保存設定画面50の集約52にて受け付けている。集約すると判断した場合(S112:YES)、CPU11は、集約処理を実行する(S113)。集約処理は、分類して保存した複数のファイルの画像を纏めた画像データを生成する処理である。
【0060】
集約処理の手順について、
図6のフローチャートを参照して説明する。集約処理では、CPU11は、まず、集約52にて受け付けたキャンバスサイズを取得する(S301)。そして、CPU11は、分類保存処理にて作成したフォルダごとに、以下の処理を実行する。
【0061】
CPU11は、ファイル保存設定画面50の保存先53にて指定されたフォルダに、注目しているフォルダ名に含まれる分類パラメータと同じ名称のファイルが有るか否かを判断する(S302)。例えば、
図5に示したフォルダ61を対象とした処理では、CPU11は、フォルダ61の名称である「2020-04-22」の名称のファイルが有るか否かを判断する。
【0062】
分類パラメータ名のファイルが有ると判断した場合(S302:YES)、CPU11は、分類パラメータ名の後に付加情報を加えた名称をファイル名に決定する(S303)。付加情報は、例えば、連番でもよいし、処理を実行している日時の情報でもよい。あるいは、CPU11は、付加情報について、ユーザの指定を受け付けてもよい。なお、CPU11は、付加情報を分類パラメータ名の前に加えても良く、付加情報を加える位置についても、ユーザの指定を受け付けても良い。
【0063】
分類パラメータ名のファイルが無いと判断した場合(S302:NO)、CPU11は、分類パラメータ名をファイル名に決定する(S304)。分類パラメータ名は、分類情報の一例である。例えば、
図5に示したフォルダ61を対象とした処理では、CPU11は、
図7に示すように、名称に「2020-04-22」を含むPDFファイル81を生成すると決定する。
【0064】
S303またはS304の後、CPU11は、処理対象のフォルダ内の各ファイルの画像を、ファイル名順にキャンバスに配置する(S310)。各ファイルのファイル名は、分類保存処理のS222~S224にて、ソート情報に基づいて決定されている。つまり、ファイル名順に配置することで、
図7に示すように、各画像は自動的にソート情報の順番で配置される。そして、CPU11は、フォルダ内の全てのファイルの画像を配置し終わったか否かを判断する(S311)。配置し終わっていないと判断した場合(S311:NO)、CPU11は、さらに次のファイルの画像をキャンバスに配置する。
【0065】
配置し終わったと判断した場合(S311:YES)、CPU11は、キャンバスに配置されたすべての画像を集約し、集約画像データを生成する(S312)。S312は、生成処理の一例である。そして、CPU11は、生成した集約画像データを、S303またはS304にて決定したファイル名のファイルとして保存する(S313)。S313は、保存処理の一例である。これにより、時間順に画像が配置されたPDFファイル81が生成される。
【0066】
なお、1つのキャンバスにすべてのファイルの画像が入りきらない場合、CPU11は、次のページのキャンバスを作成し、複数ページを含む集約画像データを生成してもよい。また、1つのキャンバスに入るように、CPU11は、各画像を縮小してもよい。あるいは、CPU11は、フォルダ内の全てのファイルの画像が入るように、キャンバスサイズを変更してもよい。
【0067】
そして、CPU11は、分類保存処理にて作成した全てのフォルダ、つまり、すべての分類パラメータについて、集約が終了したか否かを判断する(S315)。終了していないと判断した場合(S315:NO)、CPU11は、S302に戻り、次のフォルダの処理を実行する。全てのフォルダについて処理が終了したと判断した場合(S315:YES)、CPU11は、集約処理を終了して、スキャン処理に戻る。
【0068】
これにより、例えば、
図7に示すように、分類パラメータである日付がファイル名に含まれるPDFファイル81、82と、「その他」がファイル名に含まれるPDFファイル83と、が生成される。PDFファイル83は、日付が抽出できなかった画像を集約したファイルである。日付が抽出できなかった場合でも、時間が抽出できた画像は、時間順にソートされて配置される。なお、画像ファイルは、PDFファイルに限らず、JPEG、BMP、等の形式の画像ファイルでも良い。ファイルの形式についても、ユーザの指示を受け付けてもよい。
【0069】
図2のスキャン処理の説明に戻る。S113の集約処理の後、または、集約しないと判断した場合(S112:NO)、または、S103の後、CPU11は、スキャン処理を終了する。集約しないと判断した場合には、分類保存処理のS222~S224にて生成されたフォルダに、ソート情報を名称に含むファイル名で各画像が保存された状態となる。なお、分類保存処理でファイルを保存した作業用のフォルダが、ファイル保存設定画面50の保存先53にて指定されたフォルダではない場合、CPU11は、フォルダ構成やファイル名を維持して、各ファイルを保存先53にて指定されたフォルダに移動させる。
【0070】
なお、本形態では、PC1が備えるスキャナドライバ23の処理として説明したが、例えば、スキャナ3自身が、分類機能を備えていても良い。つまり、スキャナ3が、自身のユーザIFを介して、分類パラメータを含むスキャン設定の入力を受け付けても良い。このようなスキャナ3は、自身のユーザIFを介してスキャン指示を受け付けた場合、原稿を読み取って画像を取得し、自身のユーザIFを介して受け付け済みのスキャン設定に基づいて画像データを生成する。受け付け済みのスキャン設定に分類パラメータが含まれていれば、スキャナ3は、複数の原稿を読み取った画像を分類し、分類した画像を集約した画像データを生成する。この場合、スキャナ3は、デバイスの一例であり、原稿を読み取って画像を取得する処理は、画像取得処理の一例である。
【0071】
以上、詳細に説明したように、本形態のスキャンシステム100によれば、PC1は、スキャナドライバ23によって、スキャナ3から取得した複数のスキャンデータを、予め設定されている分類パラメータに基づいて分類し、分類された画像を纏めた集約画像データを含む画像ファイルを保存する。これにより、ユーザが原稿を並べ替えることなく原稿をセットしたとしても分類パラメータごとに画像が纏められてファイルが保存されるため、ユーザが事前に原稿を並べ替える手間を省くことができる。
【0072】
さらに、本形態では、ソート情報の指定も受け付け、分類された画像をソート情報に従って並べ替えるので、ユーザが事前に原稿を並べ替える手間をより省くことができる。
【0073】
さらに、本形態では、ユーザによる保存先の指定を受け付け、指定された保存先に画像ファイルを保存するので、ユーザが画像ファイルを見失う可能性を低減できる。さらに、画像ファイルのファイル名に分類パラメータが含まれるので、ユーザがファイルを探し易い。さらに、既に同名のファイルがある場合には、自動的に付加情報を含むファイル名とするので、名称の重複を防ぐことができ、名称による不具合を回避できる。
【0074】
さらに、本形態では、集約するか否かの設定を受け付けるので、原稿ごとに別の画像データとして保存させることもできる。集約しない設定であっても、画像は分類されているため、ユーザが事前に原稿を並べ替える手間を省くことができる。
【0075】
なお、本実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本発明は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、スキャンシステム100を構成するスキャナは、1台に限らず、複数台有ってもよい。
【0076】
また、本形態では、分類のための分類パラメータは、ユーザIF13を介して受け付けたユーザによる設定を用いるとしたが、これに限らない。例えば、スキャナドライバ23に予め決められている固定のパラメータであっても良い。また、会社名等の文字列の入力を受け付けるとしたが、受け付けなくても良い。
【0077】
また、本形態では、全てのスキャンデータを受信してから分類やソートを行うとしたが、スキャンデータの受信と分類保存処理とを並行して行っても良い。例えば、スキャン処理のS101にてスキャン設定を取得した後、スキャンデータを受信するごとに分類保存処理を実行してもよい。
【0078】
また、本形態では、フォルダ名に分類パラメータを含む名称を設定するとしたが、分類パラメータを含まない名称であってもよい。ただし、分類パラメータを含む名称とすることで、フォルダに含まれている画像がわかりやすい。また、分類パラメータを含まないファイルが複数ある場合、それらをすべて同じその他フォルダに保存するとしたが、ファイルごとに異なるフォルダを作成してもよい。
【0079】
また、本形態では、画像の縮小は行わないとしたが、縮小しても良い。例えば、集約対象となった全ての画像が、指定されたキャンバスサイズに入るように、画像の縮小を行っても良い。また、キャンバスサイズは、全てのページで一律であるとしたが、可変であっても良い。つまり、画像を縮小せずキャンバスサイズを大きくして、同じ分類の全ての画像が1つのキャンバスに入るように配置しても良い。
【0080】
また、例えば、スキャナ3は、ADF31を備えていないものでも良い。その場合、ユーザは、原稿台に1枚ずつ原稿をセットしてスキャン実行指示を行う必要があるが、原稿の順序や向きを揃える必要はない。
【0081】
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
【0082】
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【0083】
1 PC
3 スキャナ
11 CPU
12 メモリ
13 ユーザIF