(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024007207
(43)【公開日】2024-01-18
(54)【発明の名称】プログラムおよびスキャナ
(51)【国際特許分類】
G06V 30/14 20220101AFI20240111BHJP
H04N 1/00 20060101ALI20240111BHJP
【FI】
G06V30/14 340A
H04N1/00 127B
H04N1/00 L
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022108521
(22)【出願日】2022-07-05
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000291
【氏名又は名称】弁理士法人コスモス国際特許商標事務所
(72)【発明者】
【氏名】武田 啓佑
(72)【発明者】
【氏名】津谷 誠司
【テーマコード(参考)】
5B029
5C062
【Fターム(参考)】
5B029BB02
5B029CC21
5B029CC25
5C062AA05
5C062AB02
5C062AB20
5C062AB23
5C062AB38
5C062AB42
5C062AC05
5C062AC22
5C062AC24
5C062AC30
5C062AC38
5C062AC58
5C062AE08
5C062AF07
(57)【要約】 (修正有)
【課題】スキャンデータに基づいてテキスト付きの画像データを出力する場合の、処理の無駄を減らすことが期待できるプログラム及びスキャナを提供する。
【解決手段】PCと、スキャナとが、互いに通信可能に接続されスキャナシステムにおいて、PCは、スキャナからスキャンデータを取得S124し、取得したスキャンデータに基づいて、スキャンデータに対応する原稿に文字が含まれるか否かを判定S131し、取得したスキャンデータに基づいて第1データと第2データとを生成S135し、生成した第2データに基づいて、スキャンデータに対応する原稿に含まれる文字を特定し、生成した第1データに、特定された文字を関連付けたテキスト付きPDFデータを出力S138する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータに、
スキャナで1枚分の原稿が読み取られたデータであるスキャンデータを取得する取得処理を実行させ、前記スキャナは、複数枚の原稿を1枚ずつ読み取り、読み取った前記スキャンデータを前記情報処理装置に送信することが可能であり、
さらに前記コンピュータに、
前記取得処理にて取得された前記スキャンデータに基づいて、前記スキャンデータに対応する原稿に文字が含まれるか否かを判定する判定処理を実行させ、
さらに前記コンピュータに、
前記判定処理にて文字が含まれると判定された場合、
前記取得処理にて取得された前記スキャンデータに基づいて、第1の画像データと、前記第1の画像データよりもデータ量が少ない第2の画像データと、を生成する生成処理と、
前記生成処理にて生成された前記第2の画像データに基づいて、前記取得処理にて取得された前記スキャンデータに対応する原稿に含まれる文字を特定する特定処理と、
前記生成処理にて生成された前記第1の画像データに、前記特定処理にて特定された前記文字を関連付けたテキスト付きの画像データを出力する出力処理と、
を実行させ、
前記判定処理にて文字が含まれないと判定された場合、
前記取得処理にて取得された前記スキャンデータについて、前記生成処理、前記特定処理、および前記出力処理を実行させない、
ことを特徴とするプログラム。
【請求項2】
請求項1に記載するプログラムにおいて、
前記コンピュータに、
前記判定処理にて文字が含まれないと判定された場合、
前記生成処理、前記特定処理、および前記出力処理を実行させず、前記取得処理にて取得された前記スキャンデータに基づく第3の画像データを生成し、前記テキスト付きの画像データとは異なるデータフォーマットの画像データとして、生成された前記第3の画像データを出力する生成出力処理を実行させる、
ことを特徴とするプログラム。
【請求項3】
請求項1に記載するプログラムにおいて、
前記コンピュータに、
前記取得処理にて取得された前記スキャンデータのうち、前記出力処理にて前記テキスト付きの画像データが出力されなかった前記スキャンデータの数をカウントするカウント処理と、
前記カウント処理でのカウント結果を報知する報知処理と、
を実行させる、
ことを特徴とするプログラム。
【請求項4】
請求項1に記載するプログラムにおいて、
前記コンピュータに、
文字を含まない原稿を出力対象とするか否かの設定を受け付ける設定画面を、前記情報処理装置のユーザインタフェースに表示させ、前記設定画面を介して入力された前記設定を記憶する設定処理を実行させ、
さらに前記コンピュータに、
前記判定処理にて文字が含まれると判定された場合、
前記生成処理、前記特定処理、および前記出力処理を実行させ、
前記判定処理にて文字が含まれないと判定された場合、
文字を含まない原稿を出力対象とする前記設定が記憶されていれば、前記生成処理、前記特定処理、および前記出力処理を実行させず、前記取得処理にて取得された前記スキャンデータに基づく画像データを出力する設定出力処理を実行させ、
文字を含まない原稿を出力対象としない前記設定が記憶されていれば、前記生成処理、前記特定処理、前記出力処理、および前記設定出力処理を実行させない、
ことを特徴とするプログラム。
【請求項5】
請求項1に記載するプログラムにおいて、
前記コンピュータに、
前記判定処理にて文字が含まれないと判定された場合、
文字を含まない原稿を出力対象とするか否かの選択を、前記情報処理装置のユーザインタフェースを介して受け付ける選択処理を実行させ、
前記選択処理にて文字を含まない原稿を出力対象とする前記選択を受け付けた場合に、前記生成処理、前記特定処理、および前記出力処理を実行させず、前記取得処理にて取得された前記スキャンデータに基づく画像データを出力する選択出力処理を実行させ、
前記選択処理にて文字を含まない原稿を出力対象としない前記選択を受け付けた場合に、前記生成処理、前記特定処理、前記出力処理、および前記選択出力処理を実行させない、
ことを特徴とするプログラム。
【請求項6】
請求項5に記載するプログラムにおいて、
前記コンピュータに、
前記判定処理にて文字が含まれないと判定され、かつ文字を含まない原稿を出力対象とするか否かの選択結果が記憶されていない場合、前記選択処理を実行させ、前記選択処理では、文字を含まない原稿を出力対象とするか否かの前記選択結果を記憶し、
前記選択処理にて文字を含まない原稿を出力対象とする前記選択を受け付けた場合に、前記生成処理、前記特定処理、および前記出力処理を実行させず、前記選択出力処理を実行させ、
前記選択処理にて文字を含まない原稿を出力対象としない前記選択を受け付けた場合に、前記生成処理、前記特定処理、前記出力処理、および前記選択出力処理を実行させず、
さらに前記コンピュータに、
前記判定処理にて文字が含まれないと判定され、かつ文字を含まない原稿を出力対象とするか否かの前記選択結果が記憶されている場合、前記選択処理を実行させず、
文字を含まない原稿を出力対象とする前記選択結果が記憶されている場合に、前記生成処理、前記特定処理、および前記出力処理を実行させず、前記選択出力処理を実行させ、
文字を含まない原稿を出力対象としない前記選択結果が記憶されている場合に、前記生成処理、前記特定処理、前記出力処理、および前記選択出力処理を実行させない、
ことを特徴とするプログラム。
【請求項7】
請求項5に記載するプログラムにおいて、
前記選択処理では、
前記判定処理にて判定対象となった前記スキャンデータに示される画像を、前記情報処理装置の前記ユーザインタフェースを用いて表示し、文字を含まない原稿を出力対象とするか否かの前記選択を受け付ける、
ことを特徴とするプログラム。
【請求項8】
請求項1から請求項7のいずれか1つに記載するプログラムにおいて、
前記出力処理では、
前記テキスト付きの画像データとして、サーチャブルPDFデータを出力する、
ことを特徴とするプログラム。
【請求項9】
請求項1から請求項7のいずれか1つに記載するプログラムにおいて、
前記生成処理では、
前記取得処理にて取得された前記スキャンデータがカラースキャンデータであった場合に、前記第1の画像データとしてカラー画像データを生成し、前記第2の画像データとしてモノクロ画像データを生成する、
ことを特徴とするプログラム。
【請求項10】
ユーザインタフェースと、
読み取りデバイスと、
コンピュータと、
を備えるスキャナであって、
前記コンピュータは、
セットされた原稿を前記読み取りデバイスに1枚ずつ読み取らせ、読み取った1枚分のスキャンデータを出力する読取処理を実行し、前記読み取りデバイスは、複数枚の原稿を1枚ずつ読み取ることが可能であり、
さらに前記コンピュータは、
前記読取処理にて前記読み取りデバイスから出力された前記スキャンデータに基づいて、前記スキャンデータに対応する原稿に文字が含まれるか否かを判定する判定処理を実行し、
さらに前記コンピュータは、
前記判定処理にて文字が含まれると判定された場合、
前記読取処理にて前記読み取りデバイスから出力された前記スキャンデータに基づいて、第1の画像データと、前記第1の画像データよりもデータ量が少ない第2の画像データと、を生成する生成処理と、
前記生成処理にて生成された前記第2の画像データに基づいて、前記読取処理にて前記読み取りデバイスから出力された前記スキャンデータに対応する原稿に含まれる文字を特定する特定処理と、
前記生成処理にて生成された前記第1の画像データに、前記特定処理にて特定された前記文字を関連付けたテキスト付きの画像データを出力する出力処理と、
を実行し、
前記判定処理にて文字が含まれないと判定された場合、
前記読取処理にて前記読み取りデバイスから出力された前記スキャンデータについて、前記生成処理、前記特定処理、および前記出力処理を実行しない、
ことを特徴とするスキャナ。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書に開示される技術分野は、原稿を読み取り、読み取ったスキャンデータに基づいてテキスト付きの画像データを出力する技術に関する。
【背景技術】
【0002】
従来、原稿を読み取り、読み取ったスキャンデータに基づいてテキスト付きの画像データを出力する技術が知られている。例えば特許文献1には、複合機が原稿を読み取り、読み取ったスキャンデータを外部端末に送信し、外部端末に組み込まれたプログラムが、複合機から受信したスキャンデータの文字領域から複数の部分領域を抽出するとともに各部分領域の位置を検出し、さらに各部分領域に関する画像データをクラウドサーバに送信し、クラウドサーバから各部分領域に関するOCR処理の処理結果であるテキストデータを受け取り、受け取った各テキストデータを対応する部分領域の検出位置に配置することで、透明テキスト付きのPDF(あるいはサーチャブルPDF)データを生成する構成が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
複数枚の原稿からなる原稿束の各原稿を1枚ずつ読み取り、読み取ったスキャンデータに基づいてテキスト付きの画像データを出力する際、その原稿束に読み取りが不要な用紙が紛れ込んでいる場合がある。そのような用紙についてテキスト付きの画像データを出力することになると、処理の無駄が生じることから、改善の余地がある。
【課題を解決するための手段】
【0005】
この課題の解決を目的としてなされたプログラムは、情報処理装置のコンピュータに、スキャナで1枚分の原稿が読み取られたデータであるスキャンデータを取得する取得処理を実行させ、前記スキャナは、複数枚の原稿を1枚ずつ読み取り、読み取った前記スキャンデータを前記情報処理装置に送信することが可能であり、さらに前記コンピュータに、前記取得処理にて取得された前記スキャンデータに基づいて、前記スキャンデータに対応する原稿に文字が含まれるか否かを判定する判定処理を実行させ、さらに前記コンピュータに、前記判定処理にて文字が含まれると判定された場合、前記取得処理にて取得された前記スキャンデータに基づいて、第1の画像データと、前記第1の画像データよりもデータ量が少ない第2の画像データと、を生成する生成処理と、前記生成処理にて生成された前記第2の画像データに基づいて、前記取得処理にて取得された前記スキャンデータに対応する原稿に含まれる文字を特定する特定処理と、前記生成処理にて生成された前記第1の画像データに、前記特定処理にて特定された前記文字を関連付けたテキスト付きの画像データを出力する出力処理と、を実行させ、前記判定処理にて文字が含まれないと判定された場合、前記取得処理にて取得された前記スキャンデータについて、前記生成処理、前記特定処理、および前記出力処理を実行させない、ことを特徴としている。
【0006】
本明細書に開示されるプログラムを実行することにより、情報処理装置は、文字を含むと判定された原稿のスキャンデータについては、スキャンデータに基づいて第1の画像データと第2の画像データとの2種類の画像データを生成し、原稿に含まれる文字を特定し、テキスト付きの画像データを出力する。すなわち、情報処理装置は、文字を含むと判定された原稿のスキャンデータに基づいて、マルチストリーム処理を実行する。一方、情報処理装置は、文字を含まないと判定された原稿のスキャンデータについては、マルチストリーム処理を実行しない。文字を含まないと判定された原稿のスキャンデータから文字が特定される可能性は低く、このスキャンデータに基づくテキスト付きの画像データを出力する必要性は低い。情報処理装置は、必要性の低い処理である、文字を含まないと判定された原稿のスキャンデータについてのマルチストリーム処理を実行しないので、処理の無駄が省かれる。
【0007】
上記プログラムの処理を実行する情報処理装置、プログラムの機能を実現するための制御方法、および当該プログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
【発明の効果】
【0008】
本明細書に開示される技術によれば、スキャンデータに基づいてテキスト付きの画像データを出力する場合の、処理の無駄を減らすことが期待できる技術が実現される。
【図面の簡単な説明】
【0009】
【
図1】第1の形態にかかるスキャンシステムの概略構成図である。
【
図2】スキャン処理の手順を示すフローチャートである。
【
図4】テキストなし処理の手順を示すフローチャートである。
【
図6】第2の形態にかかるスキャナの概略構成図である。
【発明を実施するための形態】
【0010】
以下、第1の形態について、添付図面を参照しつつ詳細に説明する。本形態は、スキャナと接続可能なパーソナルコンピュータ(以下、「PC」とする)にて実行されるプログラムを開示するものである。
【0011】
本形態のスキャンシステム100は、
図1に示すように、PC1と、スキャナ3と、を含み、これらが互いに通信可能に接続されたシステムである。PC1は、通信機能を備え、スキャナ3へのスキャンコマンドの送信、スキャナ3から読取結果であるスキャンデータの受信、等を行う。PC1は、情報処理装置の一例である。PC1に代えて、例えば、スマートフォン、タブレットコンピュータであってもよい。
【0012】
本形態のPC1は、
図1に示すように、CPU11と、メモリ12と、を含むコントローラ10を備えている。また、PC1は、ユーザインタフェース(以下、「ユーザIF」とする)13と、通信インタフェース(以下、「通信IF」とする)14と、を備え、これらがコントローラ10に電気的に接続されている。なお、
図1中のコントローラ10は、PC1の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にPC1に存在する単一のハードウェアを表すとは限らない。
【0013】
CPU11は、メモリ12から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。CPU11は、コンピュータの一例である。メモリ12は、各種のプログラムや各種のデータが記憶されている。メモリ12は、各種の処理が実行される際の作業領域としても利用される。CPU11が備えるバッファも、メモリの一例である。なお、メモリ12の一例は、PC1に内蔵されるROM、RAM、HDD等に限らず、CPU11が読み取り可能かつ書き込み可能なストレージ媒体、例えば、CD-ROM、DVD-ROM等の記録媒体であっても良い。
【0014】
ユーザIF13は、ユーザに情報を報知するための画面を表示するハードウェアと、ユーザによる操作を受け付けるハードウェアと、を含む。ユーザIF13は、表示機能と操作受け付け機能とを有するタッチパネルを含んでも良いし、表示機能を有するディスプレイと、操作受け付け機能を有するキーボード、マウス、トラックボール等との組み合わせであっても良い。
【0015】
通信IF14は、スキャナ3等の外部装置と通信を行うためのハードウェアを含む。通信IF14の通信規格は、イーサネット(登録商標)、Wi-Fi(登録商標)、USB等である。スキャナ3との通信方式は、有線通信であっても、無線通信であっても良い。また、PC1は、複数の通信規格に対応する複数の通信IF14を備えていてもよい。
【0016】
PC1のメモリ12には、
図1に示すように、オペレーティングシステム(以下、「OS」とする)21と、スキャンプログラム22と、が記憶されている。スキャンプログラム22は、プログラムの一例である。OS21は、例えば、Windows(登録商標)、macOS(登録商標)、Linux(登録商標)、iOS(登録商標)、Android(登録商標)である。
【0017】
スキャンプログラム22は、スキャナ3に対応するプログラムであり、スキャナ3にて読み取られたデータであるスキャンデータを取得して、そのスキャンデータに基づく画像データを生成し、生成した画像データをファイルに保存する処理を実行する。スキャンプログラム22は、スキャン設定の指示やスキャン実行の指示等のユーザの指示を受け付ける機能を有する。スキャンプログラム22は、スキャン設定の指示として、例えば、スキャンを実行させるスキャナの指定、読み取り機能に関する各種の設定、スキャナから受信したスキャンデータに基づく画像データの保存形式や保存場所の指定、を受け付け可能である。
【0018】
本形態のスキャナ3は、PC1との通信機能と、原稿の画像を読み取ってスキャンデータを生成する画像読取機能と、を有する装置である。スキャナ3は、
図1に示すように、自動原稿搬送装置(以下、「ADF」とする)31を備え、ADF31にセットされた1枚以上の原稿束から各原稿を1枚ずつ自動的に搬送して、連続して読み取ることができる。スキャナ3は、ADF31に複数枚の原稿からなる原稿束がセットされた場合でも、原稿を1枚ずつ読み取って、読み取った原稿ごとのスキャンデータを生成して、PC1に送信する。なお、スキャナ3は、スキャン単機能の装置に限らず、例えば、複合機、コピー機、FAX装置であってもよい。
【0019】
続いて、本形態のスキャンシステム100において、PC1にて実行されるスキャン処理の手順について、
図2のフローチャートを参照して説明する。スキャン処理は、スキャンプログラム22の起動指示を受け付けたことを契機に、PC1のCPU11にて実行される。以下の説明における処理およびフローチャートの各処理ステップは、基本的に、スキャンプログラム22等のプログラムに記述された命令に従った、CPU11による処理を示す。
【0020】
スキャン処理では、CPU11は、ユーザの指示を受け付けるためのトップ画面をユーザIF13に表示させ、ユーザの指示を受け付ける(S101)。本形態のスキャンプログラム22は、トップ画面では、ユーザの指示として、例えば、スキャン設定の設定指示と、スキャンの実行指示と、プログラムの終了指示と、を受け付ける。
【0021】
ユーザの指示としてスキャン設定の設定指示を受け付けた場合(S101:スキャン設定)、CPU11は、スキャン設定を受け付ける設定画面をユーザIF13に表示させる(S111)。本形態のスキャンプログラム22は、スキャン設定として、スキャナ3から受信したスキャンデータに基づく画像データの保存に関する設定、スキャナ3における読み取り機能に関する設定、などを受け付け可能である。
【0022】
スキャンプログラム22は、例えば、
図3に示すように、ユーザIF13にスキャン設定画面50を表示させ、表示中のスキャン設定画面50へのユーザの入力を受け付ける。スキャン設定画面50は、設定画面の一例である。スキャン設定画面50には、例えば、複数のラジオボタン群51~54と、OKボタン55と、が含まれる。各ラジオボタン群51~54は、カラー設定、ページ設定、フォーマット設定、テキストを含まない原稿の処理に関する設定、について、それぞれが選択肢である複数のボタンから、それぞれ択一的な選択を受け付ける。
【0023】
ラジオボタン群51は、色情報を含むカラー画像データを生成するか、色情報を含まないモノクロ画像データを生成するか、の選択を受け付ける。ラジオボタン群52は、1つのファイルに複数ページ分の画像データを保存可能なマルチページ保存形式で保存するか、1つのファイルに1ページ分の画像データのみを保存するシングルページ保存形式で保存するか、の選択を受け付ける。
【0024】
ラジオボタン群53は、保存するファイルフォーマットの選択を受け付ける。ラジオボタン群53には、例えば、テキスト付きPDFでの保存の選択を受け付けるボタン531と、テキストなしPDFでの保存の選択を受け付けるボタン532と、その他の選択を受け付けるボタン533と、が含まれる。ボタン531は、スキャナ3にて読み取られたスキャンデータに基づいて、テキストデータと画像データとを含むデータである、テキスト付きPDFデータとして保存する指定を受け付けるボタンである。ボタン532は、テキストデータを含まないPDFデータとして保存する指定を受け付けるボタンである。
【0025】
テキスト付きPDFデータは、例えば、サーチャブルPDFデータであり、テキスト付きの画像データの一例である。サーチャブルPDFデータは、例えば、スキャンデータに基づく画像データの前面に、テキストデータを含む透明レイヤを重ね合わせた画像データである。テキスト付きの画像データとしては、サーチャブルPDFデータに限らず、テキストと画像とが関連付けられたデータフォーマットであれば良く、例えば、個々のテキストの位置情報を含まないテキストデータを含むものであっても良い。
【0026】
ラジオボタン群54は、ラジオボタン群53のボタン531によってテキスト付きPDFでの保存が選択された場合に、選択可能となるボタン群である。ラジオボタン群54は、スキャンデータをテキスト付きPDFデータとして保存する場合であって、読み取った原稿の画像にテキストが含まれないと判定された場合に、そのスキャンデータに基づく画像データを出力対象とするか否かの指定を受け付ける。具体的には、スキャンプログラム22は、テキストを含まない原稿の画像を出力しない指示と、テキストを含まない原稿の画像を出力する指示と、1つずつ確認する指示と、のいずれかの選択を受け付ける。
【0027】
ラジオボタン群54を設けることで、本形態のスキャンプログラム22は、テキストを含む原稿のスキャンデータをテキスト付きPDFデータとして出力するとともに、テキストを含まない原稿のスキャンデータについても画像データとして出力して欲しい、というユーザの要望に応えることができる。スキャンプログラム22は、テキストを含まない原稿のスキャンデータに基づく画像データを、例えば、テキストを含む原稿と同様に、テキスト付きPDFデータとして出力してもよいし、テキストを含む原稿とは別に、別フォーマットのデータとして出力してもよい。また、ラジオボタン群54では、さらに、テキストを含まない原稿のスキャンデータに基づく画像データの出力形式の指定を受け付け可能であっても良い。
【0028】
CPU11は、スキャン設定画面50にてOKボタン55への操作を受け付けるまで(S112:NO)、ラジオボタン群51~54への操作を受け付けて、受け付けた操作に基づいてスキャン設定画面50を変更して表示する。OKボタン55への操作を受け付けた場合(S112:YES)、CPU11は、その時点で選択されているスキャン設定をメモリ12に記憶する(S113)。S111~S113は、設定処理の一例である。S113の後、CPU11は、S101に戻ってトップ画面を表示させ、ユーザの指示を受け付ける。
【0029】
トップ画面にて、ユーザの指示として、スキャンの実行指示を受け付けた場合(S101:スキャン実行)、CPU11は、まず、記憶されているスキャン設定をメモリ12から読み出す(S121)。スキャン設定には、前述したスキャン設定画面50にて受け付けた設定が含まれる。
【0030】
なお、本明細書では、以下、スキャン設定の保存するファイルフォーマットとして、「テキスト付きPDF」が選択されている場合の処理について説明する。他のフォーマットが選択された場合の処理は、従来と同様のものであり、本明細書では説明を省略する。
【0031】
CPU11は、カウンタを初期値として0に設定する(S122)。カウンタは、この後にスキャナ3から受信するスキャンデータのうち、原稿にテキストが含まれていないと判定されたスキャンデータの数を示す値となる。
【0032】
そして、CPU11は、読み出したスキャン設定に基づいて、通信IF14を介して、スキャナ3にスキャンの実行を指示するスキャンコマンドを送信する(S123)。スキャナ3は、受信したスキャンコマンドに基づいて、セットされている原稿の画像を読み取り、スキャンデータを生成して、生成したスキャンデータをPC1に送信する。CPU11は、通信IF14を介して、スキャナ3からスキャンデータを受信することで、スキャンデータを取得する(S124)。S124は、取得処理の一例である。
【0033】
CPU11は、取得したスキャンデータに、文字が含まれる可能性の高い領域であるテキスト領域が有るか否かを判定し(S131)、テキスト領域が含まれると判定されたか否かを判断する(S132)。S131とS132は、判定処理の一例である。つまり、CPU11は、取得したスキャンデータに基づいて、そのスキャンデータに対応する原稿にテキスト領域が有るか否かを判定する。
【0034】
具体的には、CPU11は、例えば、複数の短い細線が含まれる領域がある場合に、テキスト領域が有ると判定しても良い。CPU11は、例えば、取得したスキャンデータが白紙原稿のスキャンデータであると判断した場合や、写真画像のみを含むと判断した場合には、テキスト領域が無いと判定しても良い。S131では、CPU11は、OCR処理を行わない。なお、S131の処理は、スキャンプログラム22自身が行っても良いし、他のプログラムに行わせて、スキャンプログラム22は、その判定結果に基づいてS132の判断を行っても良い。
【0035】
スキャンデータにテキスト領域が含まれると判断した場合(S132:YES)、CPU11は、スキャンデータに基づいて、いわゆるマルチストリーム処理を実行する。具体的には、CPU11は、まず、スキャンデータに基づいて、第1データと第2データとの2種類の画像データを生成する(S135)。S135は、生成処理の一例である。第1データは、スキャンデータに基づいて生成される出力用の画像データであり、第2データは、透明レイヤを生成するための画像データであって、第1データよりもデータ量が少ない画像データである。第1データは、第1の画像データの一例であり、第2データは、第2の画像データの一例である。
【0036】
CPU11は、S135にて、例えば、スキャンデータに基づいて第1データとしてPDFデータを生成するとともに、OCR処理が可能な程度にデータ量を減らした第2データを生成する。例えば、取得したスキャンデータが、色情報を含むカラースキャンデータであった場合、第1データはカラー画像データであって、第2データはモノクロ画像データであっても良い。また、例えば、スキャンデータが色情報を含まないモノクロスキャンデータであった場合、第1データはグレースケール画像データであって、第2データは二値画像データであっても良い。
【0037】
そして、CPU11は、S135にて生成した第2データに対してOCR処理を実行することで、文字を特定する情報である文字情報の取得を試行する(S136)。S136は、特定処理の一例である。なお、OCR処理は、スキャンプログラム22自身が行っても良いし、他のプログラムに行わせて、スキャンプログラム22は、その結果を受け取っても良い。そして、CPU11は、OCR処理によって取得された文字情報を配置した透明レイヤを生成する(S137)。
【0038】
CPU11は、S135にて生成した第2データに対して実行するS136~S137の処理を、第1データの生成とは別の手順の流れとして実行する。第1データを生成する手順と、第2データを生成してS136~S137を実行する手順と、の2つの手順を含む処理は、マルチストリーム処理と呼ばれる。なお、CPU11は、第1データの生成手順と第2データの手順とを並行して実行しても良いし、順に実行しても良い。
【0039】
さらに、CPU11は、S135にて生成した第1データと、S137にて生成した透明レイヤと、を重ね合わせて、テキスト付きPDFデータとして出力する(S138)。S138は、出力処理の一例である。なお、画像データを生成した後、CPU11は、その画像データに対応するスキャンデータを削除しても良い。
【0040】
S138では、CPU11は、前述したスキャン設定画面50(
図3参照)にてシングルページ保存形式での保存が選択されている場合、生成したテキスト付きPDFデータを1つのファイルとして保存する。また、スキャン設定画面50にてマルチページ保存形式での保存が選択されている場合、CPU11は、生成したテキスト付きPDFデータを、メモリ12に一旦記憶する。
【0041】
マルチページ保存形式での保存が選択されている場合、CPU11は、全ての原稿のスキャンが終了したことを示す情報をスキャナ3から受信したら、記憶されているテキスト付きPDFデータを、1つのファイルとして保存する。なお、スキャナ3は、スキャンコマンドに基づいてスキャンを開始した後、ADF31にセットされた原稿束に含まれる全ての原稿のスキャンを終了したと判断した場合、PC1にスキャン終了を示す情報を送信する。
【0042】
一方、S131の判定結果に基づいて、テキスト領域が含まれないと判断した場合(S132:NO)、CPU11は、S135~S138のマルチストリーム処理を実行せず、テキストなし処理を実行する(S139)。テキストなし処理の手順について、
図4のフローチャートを参照して説明する。
【0043】
テキストなし処理では、CPU11は、メモリ12に記憶しているスキャン設定のうち、テキストを含まない原稿の設定を取得する。つまり、CPU11は、前述したスキャン設定画面50(
図3参照)のラジオボタン群54にて、「全て出力しない」と「1つずつ確認する」と「全て出力する」とのいずれが選択されたかを判断する(S201)。
【0044】
スキャン設定が「1つずつ確認する」であると判断した場合(S201:確認する)、CPU11は、まず、選択結果が記憶されているか否かを判断する(S211)。選択結果は、後述する確認画面にて受け付けたユーザの選択を示す情報であり、初回のテキストなし処理では、記憶されていない。
【0045】
選択結果が記憶されていないと判断した場合(S211:NO)、CPU11は、確認画面をユーザIF13に表示させて、ユーザの選択を受け付ける(S212)。S212は、選択処理の一例である。スキャンプログラム22は、例えば、
図5に示すように、確認画面60をユーザIF13に表示させる。確認画面60には、例えば、プレビュー画像61と、ラジオボタン群62と、OKボタン63と、チェックボックス64と、が含まれる。
【0046】
プレビュー画像61は、今回のテキストなし処理の処理対象のスキャンデータのイメージを示す画像である。処理対象のスキャンデータは、スキャン処理のS131にて判定対象となったスキャンデータであって、テキストが含まれていないと判定されたスキャンデータである。テキストを含まない原稿を出力対象とするか否かを選択する際に、スキャンデータのイメージ画像を表示することで、ユーザが選択し易くなる。
【0047】
ラジオボタン群62は、処理対象のスキャンデータに基づく画像データを出力するか否かのユーザの選択を択一的に受け付ける。テキスト付きPDFデータでの保存を想定した原稿であっても、テキストを含まない原稿が混在している可能性がある。テキストを含まない原稿のスキャンデータが有った場合に、そのスキャンデータに基づく画像データを出力対象とするか否かを選択できることで、ユーザの所望する画像データを出力できる可能性が高まる。なお、スキャンプログラム22は、ラジオボタン群62にて保存する選択を受け付けた場合に、保存形式の指定も受け付け可能であっても良い。
【0048】
チェックボックス64は、この確認画面60での選択結果を記憶する指示を受け付ける欄である。チェックボックス64にチェックが入っていた場合、CPU11は、ラジオボタン群62にて受け付けた今回の選択をメモリ12に記憶して、以後のテキストなし処理でも同じ選択を適用する。例えば、原稿束にテキストを含まない原稿が複数含まれていた場合、テキストなしのスキャンデータがある度に確認画面60を表示して、出力対象とするか否かをユーザに選択させると、操作が煩雑になる可能性がある。チェックボックス64へのチェックによって、最初に受け付けた選択結果をその後のスキャンデータでも利用することを指定できるので、操作がシンプルになる。なお、スキャンプログラム22は、チェックボックス64での指定に基づいて選択結果を記憶する場合、その1ジョブ内のみで記憶し、ジョブの終了時には消去しても良いし、不揮発性の記憶領域に記憶して、次のジョブでも利用するとしても良い。
【0049】
CPU11は、確認画面60にてOKボタン63への操作を受け付けるまで(S213:NO)、ユーザの操作を受け付けて、受け付けた操作に基づいて確認画面60を変更して表示する。OKボタン63への操作を受け付けた場合(S213:YES)、CPU11は、選択結果を記憶する指示が含まれるか否かを判断する(S214)。つまり、CPU11は、OKボタン63への操作を受け付けた際に、チェックボックス64にチェックが入っているか否かを判断する。
【0050】
選択結果を記憶する指示が含まれると判断した場合(S214:YES)、CPU11は、この確認画面60のラジオボタン群62にて受け付けたユーザの選択を、選択結果としてメモリ12に記憶する(S215)。S215を実行することで、次回のテキストなし処理では、CPU11は、S211にてYESと判断して、確認画面60を表示させることなく今回の選択結果を適用する。
【0051】
S215の後、または、既に選択結果が記憶されていたと判断した場合(S211:YES)、または、選択結果を記憶する指示が含まれないと判断した場合(S214:NO)、CPU11は、ユーザの選択結果が「出力する」であるか「出力しない」であるかを判断する(S216)。選択結果が「出力しない」であると判断した場合(S216:出力しない)、CPU11は、今回の処理対象のスキャンデータに基づく画像データの生成や出力を行わない。
【0052】
確認画面60での選択結果が「出力する」であると判断した場合(S216:出力する)、または、スキャン設定が「全て出力する」であると判断した場合(S201:出力する)、CPU11は、処理対象のスキャンデータに基づいて第3データを生成し(S221)、テキストなしPDFとして出力する(S222)。第3データは、第3の画像データの一例であり、S221とS222とは、生成出力処理の一例である。S201にて出力すると判断して実行した場合のS221とS222とは、設定出力処理の一例である。S216にて出力すると判断して実行した場合のS221とS222とは、選択出力処理の一例である。
【0053】
CPU11は、S221にて、第3データとして、例えば、スキャンデータに基づくPDFデータを生成する。また、S222では、CPU11は、前述したスキャン設定画面50(
図3参照)にて、シングルページ保存形式での保存が選択されている場合、生成したPDFデータを1つのファイルとして保存する。また、スキャン設定画面50にてマルチページ保存形式での保存が選択されている場合、CPU11は、生成したPDFデータを、テキスト付きPDFデータと区別して、メモリ12に一旦記憶する。
【0054】
マルチページ保存形式での保存が選択されている場合、CPU11は、スキャナ3からスキャン終了を示す情報を受信したら、記憶しているテキスト無しのPDFデータを纏めて、テキスト付きPDFデータのファイルとは別のファイルとして保存する。なお、マルチページ保存形式での保存が選択されている場合であっても、CPU11は、テキスト無しのPDFデータについては、各PDFデータをそれぞれ1つのファイルに保存するとしても良い。
【0055】
本形態のスキャンプログラム22によれば、CPU11は、テキストを含まないと判定された原稿のスキャンデータに基づいて、マルチストリーム処理を実行しない。つまり、CPU11は、2種類の画像データを生成する処理やOCR処理を実行せずに、テキスト付きPDFデータとは別のデータフォーマットの画像データを出力する。従って、テキスト付きPDFデータの出力が指定されている原稿束に、テキストを含まない原稿が混在していた場合でも、その原稿に基づく画像データを少ない処理負担で残すことができる。
【0056】
S222の後、または、スキャン設定が「全て出力しない」であると判断した場合(S201:出力しない)、または、確認画面60での選択結果が「出力しない」であると判断した場合(S216:出力しない)、カウンタをカウントアップする(S231)。S231は、カウント処理の一例である。カウンタは、スキャン処理のS122にて初期化した値であり、今回のスキャンにて読み取られたスキャンデータのうち、原稿にテキストが含まれていないと判定されたことで、テキスト付きPDFデータとして出力されなかったスキャンデータの数を示す情報である。
【0057】
S231の後、CPU11は、テキストなし処理を終了して、スキャン処理に戻る。スキャン設定での設定または確認画面60での選択が「出力しない」である場合、CPU11は、スキャンデータに基づく画像データの生成や出力を行わない。つまり、この場合、CPU11は、受信したスキャンデータを単に削除する。
【0058】
図2のスキャン処理の説明に戻る。S138の後、または、S139のテキストなし処理の後、CPU11は、スキャナ3からさらに情報を受信し、受信した情報がスキャン終了を示す情報であるか否かを判断する(S141)。スキャン終了を示す情報ではないと判断した場合(S141:NO)、つまり、次の原稿のスキャンデータを受信した場合(S124)、CPU11は、新たに受信したスキャンデータに基づいて、S131~S139の処理を実行する。
【0059】
スキャン終了を示す情報を受信したと判断した場合(S141:YES)、CPU11は、カウンタが0を示しているか否かを判断する(S143)。カウンタが0ではない、すなわち、今回のスキャンによって読み取られたスキャンデータに、テキスト領域を含まないと判定されたスキャンデータが含まれていたと判断した場合(S143:NO)、CPU11は、例えば、ユーザIF13に、カウンタの値を報知させる(S144)。S144は、報知処理の一例である。
【0060】
カウンタの値は、テキストなし処理を実行した回数であり、テキスト付きPDFデータを出力しなかったスキャンデータの数である。スキャンの対象となった原稿のスキャンデータのうち、テキスト付きPDFデータを出力しなかったスキャンデータがある場合、スキャンしたページ数と、テキスト付きPDFデータとして出力されるページ数と、が異なることになり、ユーザが困惑する可能性がある。本形態では、テキスト付きPDFデータとして出力しなかったスキャンデータの数をカウントし、そのカウント結果を報知するので、ユーザの困惑が軽減される。なお、スキャンプログラム22は、カウンタが0であっても報知しても良いし、テキスト付きPDFデータとして出力しなかったページのページ番号を報知しても良い。
【0061】
S144の後、または、カウンタが0であり、全てのページについてテキスト付きPDFデータを出力したと判断した場合(S143:YES)、または、トップ画面にてプログラムの終了指示を受け付けた場合(S101:終了)、CPU11は、スキャン処理を終了する。
【0062】
以上、詳細に説明したように、本形態PC1は、スキャンプログラム22を実行することで、テキストを含むと判定された原稿のスキャンデータについては、スキャンデータに基づいてマルチストリーム処理を実行し、テキスト付きPDFデータを出力する一方、テキストを含まないと判定された原稿のスキャンデータについては、マルチストリーム処理を実行せず、テキスト付きPDFデータを出力しない。テキストを含まないと判定されたスキャンデータについては、たとえOCR処理を行ったとしてもテキストが特定される可能性は低く、テキスト付きPDFデータを出力する必要性は低い。本形態のスキャンプログラム22は、テキストを含まないと判定されたスキャンデータについて、必要性の低いマルチストリーム処理を行わないので、処理の無駄が省かれる。
【0063】
さらに、本形態のスキャンプログラム22によれば、テキストを含むと判定されたスキャンデータのみに基づいてテキスト付きPDFデータを出力し、テキストを含まないと判定されたスキャンデータは、テキスト付きPDFデータとして出力する対象から自動的に取り除かれる。従って、ユーザがあらかじめ原稿束を確認して、テキストを含まない原稿を原稿束から取り除く作業の手間が軽減されている。
【0064】
続いて、第2の形態について、添付図面を参照しつつ詳細に説明する。本形態は、スキャン結果に基づく画像データを生成する機能を備えたスキャナを開示するものである。本形態は、スキャナが画像データの生成を行う点で、スキャナはスキャンデータを送信するのみであって、PCにて画像データを生成する第1の形態とは異なる。第1の形態と同様の構成や処理については、第1の形態と同じ符号を付して説明を省略する。
【0065】
本形態のスキャナ7は、
図6に示すように、CPU71と、メモリ72と、を含むコントローラ70を備えている。また、スキャナ7は、ユーザIF73と、通信IF74と、読み取りデバイス75と、を備え、これらがコントローラ70に電気的に接続されている。なお、
図6中のコントローラ70は、スキャナ7の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にスキャナ7に存在する単一のハードウェアを表すとは限らない。
【0066】
CPU71は、メモリ72から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。CPU71は、コンピュータの一例である。メモリ72は、各種のプログラムや各種のデータが記憶されている。メモリ72は、各種の処理が実行される際の作業領域としても利用される。CPU71が備えるバッファも、メモリの一例である。なお、メモリ72の一例は、スキャナ7に内蔵されるROM、RAM、HDD等に限らず、CPU71が読み取り可能かつ書き込み可能なストレージ媒体、例えば、CD-ROM、DVD-ROM等の記録媒体であっても良い。
【0067】
ユーザIF73は、ユーザに情報を報知するための画面を表示するハードウェアと、ユーザによる操作を受け付けるハードウェアと、を含む。ユーザIF73は、表示機能と操作受け付け機能とを有するタッチパネルを含んでも良いし、表示機能を有するディスプレイと、操作受け付け機能を有する操作ボタン、テンキー等との組み合わせであっても良い。通信IF74は、外部装置と通信を行うためのハードウェアを含む。スキャナ7は、複数の通信規格に対応する複数の通信IF74を備えていてもよい。
【0068】
読み取りデバイス75は、ADF751を備える。スキャナ7は、ADF751にセットされた1枚以上の原稿束から原稿を1枚ずつ自動的に搬送して、連続して読み取る機能を有している。
【0069】
スキャナ7のメモリ72には、
図6に示すように、OS81と、本体プログラム82と、が記憶されている。本体プログラム82は、読み取りデバイス75によって原稿の画像を読み取ることで取得されたスキャンデータに基づいて、画像データを生成する処理を実行する。
【0070】
スキャナ7は、ユーザIF73を介して、スキャン設定の設定指示や、スキャンの実行指示を受け付け可能である。スキャナ7は、スキャン設定の設定指示を受け付けると、第1の形態のPC1におけるスキャン設定画面50(
図3参照)と類似した画面を、ユーザIF73に表示させ、ユーザによる設定指示を受け付け可能である。そして、スキャナ7は、ユーザの設定指示に基づいて、ファイルフォーマットの情報を含むスキャン設定をメモリ72に記憶する。
【0071】
また、スキャナ7は、スキャンの実行指示を受け付けると、ADF751にセットされた原稿束の原稿を1枚ずつ搬送し、読み取りデバイス75に各原稿の画像を読み取らせる。読み取りデバイス75は、搬送される原稿を読み取ったスキャンデータをコントローラ70に出力する。読み取りデバイス75がコントローラ70にスキャンデータを出力する処理は、読取処理の一例である。そして、コントローラ70のCPU71は、本体プログラム82によって、第1の形態のPC1におけるスキャン処理(
図2参照)のS131以降と同様の処理を実行する。
【0072】
具体的には、CPU71は、読み取りデバイス75から出力されたスキャンデータに基づいて、その原稿にテキストが含まれるか否かを判定する。テキストが含まれると判定された場合、CPU71は、マルチストリーム処理を実行する。すなわち、CPU71は、第1データと第2データとの2種類の画像データを生成し、データ量の少ない第2データに対してOCR処理を実行する。さらに、CPU71は、OCR処理の結果を含む透明レイヤを重ねたテキスト付きPDFデータを生成して、出力する。
【0073】
一方、テキストが含まれないと判定された場合、CPU71は、マルチストリーム処理を実行しない。この場合、CPU71は、
図4に示したテキストなし処理と同様の処理を実行し、テキスト付きPDFデータを生成しない。具体的には、CPU71は、メモリ72に記憶されているスキャン設定、または、確認画面にて受け付けた選択結果、に基づいて、テキストを含まないと判定されたスキャンデータに基づく画像データを生成するか否かを決定する。さらに、生成すると決定した場合には、CPU71は、テキストなしPDFデータを生成して、出力する。
【0074】
なお、コントローラ70は、生成したテキスト付きPDFデータやテキストなしPDFデータをファイルに保存しても良い。さらに、コントローラ70は、生成したファイルをメモリ72に記憶しても良いし、外部装置に送信しても良い。
【0075】
以上、詳細に説明したように、本形態のスキャナ7は、本体プログラム82を実行することで、第1の形態のPC1と同様に、テキストを含まないと判定されたスキャンデータに対するマルチストリーム処理を行わないことから、処理の無駄を省くことができる。
【0076】
なお、第1および第2の形態は単なる例示にすぎず、本発明を何ら限定するものではない。従って、本発明は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、PC1に接続されるスキャナは、1台に限らず、複数台有ってもよい。
【0077】
また、第1および第2の形態では、テキストが含まれていないと判定されたスキャンデータについて、出力するか否かの設定や選択を受け付けるとしたが、受け付けなくても良い。つまり、スキャンプログラム22または本体プログラム82は、テキストが含まれていないと判定されたスキャンデータについては、画像データの生成や出力を行わないとしても良いし、全て別フォーマットのファイルに出力するとしても良い。
【0078】
また、テキスト付きPDFデータとテキストなしPDFデータとが混在したファイルを生成可能であれば、同一のファイルに異なるデータ形式の画像データを含むファイルを生成しても良い。その場合でも、スキャンプログラム22または本体プログラム82は、テキストが含まれていないと判定されたスキャンデータについて、マルチストリーム処理を実行せず、テキスト付きPDFデータを生成しない。
【0079】
また、
図3に示したスキャン設定画面50や、
図5に示した確認画面60は、いずれも一例であり、これに限らない。例えば、画面中の各文言、各種のボタンの配置や形状、指定可能な項目の種類や数、は変更可能である。また、確認画面60中のプレビュー画像61やチェックボックス64は、無くても良い。つまり、スキャンプログラム22または本体プログラム82は、スキャン設定画面50にて確認する設定を受け付けている場合には、テキストが含まれていないと判定したスキャンデータについて、毎回確認するとしても良い。
【0080】
また、第1および第2の形態では、スキャンプログラム22または本体プログラム82は、テキストが含まれていないと判定したスキャンデータをカウントし、カウント結果を報知するとしたが、カウントやカウンタの報知はしなくても良い。例えば、単に、テキストが含まれていないと判定したスキャンデータの有無のみを報知しても良い。
【0081】
また、例えば、スキャナ3は、ADF31を備えていないものでも良い。その場合、ユーザは、原稿台に1枚ずつ原稿をセットしてスキャン実行指示を行う必要がある。その場合でも、スキャナ3は、スキャン終了の指示を受け付けるまで、ユーザの指示に基づいてスキャンを実行して、PC1にスキャンデータを送信し、PC1は、第1の形態と同様に、スキャン処理を実行すれば良い。また、ADF751を備えないスキャナ7であっても良く、その場合でも、スキャナ7は、ユーザの指示に基づいてスキャンを実行する。
【0082】
また、第1および第2の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。
【0083】
また、第1および第2の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、第1および第2の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【0084】
1 PC
3、7 スキャナ
11、71 CPU
13、73 ユーザIF
75 読み取りデバイス