JP6870541B2 - 制御プログラム及び情報処理装置 - Google Patents

制御プログラム及び情報処理装置 Download PDF

Info

Publication number
JP6870541B2
JP6870541B2 JP2017166933A JP2017166933A JP6870541B2 JP 6870541 B2 JP6870541 B2 JP 6870541B2 JP 2017166933 A JP2017166933 A JP 2017166933A JP 2017166933 A JP2017166933 A JP 2017166933A JP 6870541 B2 JP6870541 B2 JP 6870541B2
Authority
JP
Japan
Prior art keywords
scan data
characteristic information
document
scan
processing module
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
JP2017166933A
Other languages
English (en)
Other versions
JP2019047252A (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 JP2017166933A priority Critical patent/JP6870541B2/ja
Priority to US16/115,655 priority patent/US10397442B2/en
Publication of JP2019047252A publication Critical patent/JP2019047252A/ja
Application granted granted Critical
Publication of JP6870541B2 publication Critical patent/JP6870541B2/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/46Colour picture communication systems
    • H04N1/56Processing of colour picture signals
    • H04N1/58Edge or detail enhancement; Noise or error suppression, e.g. colour misregistration correction
    • 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/00681Detecting the presence, position or size of a sheet or correcting its position before scanning
    • H04N1/00742Detection methods
    • H04N1/00758Detection methods using a prescan
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/403Edge-driven scaling; Edge-based scaling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/77Retouching; Inpainting; Scratch removal
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • 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/00681Detecting the presence, position or size of a sheet or correcting its position before scanning
    • H04N1/00684Object of the detection
    • H04N1/00724Type of sheet, e.g. colour of paper or transparency
    • 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/00681Detecting the presence, position or size of a sheet or correcting its position before scanning
    • H04N1/00763Action taken as a result of detection
    • H04N1/00774Adjusting or controlling
    • H04N1/00779Adjusting settings, e.g. mode, feeding rate or type of paper
    • 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/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/3872Repositioning or masking
    • H04N1/3873Repositioning or masking defined only by a limited number of coordinate points or parameters, e.g. corners, centre; for trimming
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10008Still image; Photographic image from scanner, fax or copier
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20192Edge enhancement; Edge preservation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Facsimiles In General (AREA)
  • Facsimile Scanning Arrangements (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

本発明は、原稿から読み取ったスキャンデータを処理する制御プログラム等に関する。
下記特許文献には、読み取る原稿のサイズを自動で検知するスキャナについて記載されている。
特開2015−226179号公報
ところで、スキャンデータを画像処理して原稿の画像を自動で抽出すると、抽出した原稿の外周部分に不要なデータが含まれる虞がある。例えば、抽出した原稿の外周部分には、スキャナのカバーの内側の画像が入り込む場合がある。その結果、抽出した画像に対する画像処理を精度良く実行できない問題がある。そこで、原稿の画像を自動で抽出した場合において、抽出した画像を対象に画像処理を精度良く実行できることを課題とする。
上記課題を解決するために、実施例に開示する制御プログラムは、ユーザインタフェースを備えた情報処理装置のコンピュータが読み取り可能な制御プログラムであって、前記コンピュータを、前記ユーザインタフェースを介して設定パラメータを受け付ける受付手段と、前記設定パラメータに基づいて、複数の画像処理のうち、いずれの画像処理を施したスキャンデータを出力するか判断する判断手段と、第1スキャンデータを取得する第1取得手段と、前記第1取得手段が取得した前記第1スキャンデータを対象にクリッピング処理を実行するクリッピング処理実行手段と、して機能させ、前記クリッピング処理は、原稿の読み取りにより作成される原稿スキャンデータと、前記原稿の外縁の外側の読み取りにより作成される外側スキャンデータとを含む前記第1スキャンデータから、前記原稿スキャンデータを含み、前記外側スキャンデータを含まない第2スキャンデータを作成する処理であり、前記コンピュータを、前記クリッピング処理実行手段が作成した前記第2スキャンデータを対象にふち補正処理を実行するふち補正処理実行手段として機能させ、前記ふち補正処理は、前記第2スキャンデータのふちを補正した第3スキャンデータを作成する処理であり、前記コンピュータを、前記ふち補正処理実行手段が作成した前記第3スキャンデータを対象に、前記第3スキャンデータの特性を示す特性情報を取得する特性情報取得処理を実行する特性情報取得処理実行手段として機能させ、前記コンピュータを、前記クリッピング処理及び前記特性情報取得処理を施してあり、かつ、前記ふち補正処理を施していないスキャンデータを出力すると、前記判断手段が前記設定パラメータに基づいて判断した場合に、前記クリッピング処理実行手段が作成した前記第2スキャンデータを対象として、特定処理を実行する特定処理実行手段として機能させ、前記特定処理は、前記第2スキャンデータを対象とした処理であり且つ前記特性情報取得処理実行手段が取得した前記特性情報に基づいた処理であることを特徴とする。
実施例に開示する制御プログラムにより、ふち補正を施した第3スキャンデータを対象に特性情報を取得し、その特性情報を用いることで、原稿の画像を自動で抽出した場合であっても、抽出した画像を対象に画像処理を精度良く実行できる。
スキャンシステム1のブロック図である。 画像の読み取りの作動状態を示すシーケンス図である。 画像の読み取りの作動状態を示すシーケンス図である。 画像の読み取りの処理の流れを示す図である。 白紙検知処理を実行する場合の処理の流れを示す図である。 傾いた原稿75の画像を読み取ったスキャンデータD1を示す模式図である。 ふちの補正前原稿スキャンデータ71Bを示す模式図である。 ふちの補正後原稿スキャンデータ71Cを示す模式図である。 原稿ふち補正を実行するパラメータが設定されている場合における画像の読み取りの処理の流れを示す図である。 スケール変換処理を実行する場合の処理の流れを示す図である。
<スキャンシステムの構成>
図1に、本願に係る実施形態として例示されるスキャンシステム1のブロック図を示す。スキャンシステム1は、PC(本発明の情報処理装置の一例)10、スキャナ(本発明の情報処理装置の一例)50、ルータ56を備える。
PC10は、CPU(本発明のコンピュータ及びコントローラの一例)12、メモリ14、LCD(本発明のユーザインタフェースの一例)16、入力インタフェース(本発明のユーザインタフェースの一例)18、ネットワークインタフェース20を主に備えている。これらの構成要素は、バス22を介して互いに通信可能とされている。なお、「インタフェース」は、「I/F」と記載しても良い。
CPU12は、メモリ14内のアプリケーションプログラム26、スキャナドライバ(本発明の制御プログラムの一例)28、オペレーティングシステム(以下、「OS」と略す)32に従って処理を実行する。アプリケーションプログラム26は、例えば、スキャナ50でスキャンされたスキャンデータD1に対して、公知のOCR技術で利用される文字認識処理を実行するためのプログラムであり、具体的には、Adobe Photoshop(登録商標)などの画像編集ソフトである。
また、スキャナドライバ28は、スキャナ50のデバイスドライバであり、スキャナ50の作動を制御する。スキャナドライバ28は、DSM28A、ドライバメイン処理モジュール28B、ドライバUIモジュール28D、ドライバ画像処理モジュール28Eを有している。DSM28Aは、データソースマネージャーであり、TWAIN規格に準拠した通信を行うスキャナドライバ28において、アプリケーションプログラム26とのデータの入出力を行うインタフェースとして機能するプログラムである。なお、上記したスキャナドライバ28の構成は一例であり、スキャナドライバ28の種類等に応じて適宜変更される。例えば、スキャナドライバ28がTWAIN規格以外(例えば、WIA規格)のドライバである場合、スキャナドライバ28は、DSM28Aを備えなくとも良い。この場合、後述するDSM28Aが行う処理は、OS32が代わりに実行しても良い。
ドライバメイン処理モジュール28B、ドライバUIモジュール28D、ドライバ画像処理モジュール28Eは、スキャナドライバ28に含まれる処理モジュールであり、各種の処理を実行する。ドライバメイン処理モジュール28Bは、スキャナ50とのデータの送受信や、スキャナ50に対する命令を実行する。ドライバUIモジュール28Dは、設定画面の表示等を行う。ドライバ画像処理モジュール28Eは、スキャンデータD1に対する画像処理を実行する。
また、OS32は、アプリケーションプログラム26、スキャナドライバ28に利用される基本的な機能を提供するプログラムである。なお、以下の説明では、アプリケーションプログラム26等を実行するCPU12のことを、単にプログラム名でも記載する場合がある。例えば、「アプリケーションプログラム26が」という記載は、「アプリケーションプログラム26を実行するCPU12が」ということを意味する場合がある。
また、メモリ14は、データ記憶領域34を備える。データ記憶領域34は、アプリケーションプログラム26等の実行に必要なデータなどを記憶する領域である。なお、メモリ14は、RAM、ROM、フラッシュメモリ、HDD、CPU12が備えるバッファなどが組み合わされて構成されている。
メモリ14は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non−transitoryな媒体である。non−transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non−transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non−transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。後述するスキャナ50のメモリ54についても同様である。
LCD16は、PC10の各種機能を表示する。入力I/F18は、キーボード,マウス等を含み、ユーザ操作を入力するためのインタフェースである。ネットワークI/F20は、ルータ56を介して、スキャナ50のネットワークインタフェース51に接続されている。これにより、PC10はスキャナ50との間で情報の送受信を行う。
スキャナ50は、原稿に印刷された画像を読み取ってスキャンデータD1を生成する装置であり、上記したネットワークI/F51の他に、CPU52、メモリ54、読取インタフェース55、入力インタフェース57、LCD58等を備えている。これらの構成要素は、バス59を介して互いに通信可能とされている。
CPU52は、メモリ54内のプログラム61に従って処理を実行する。メモリ54は、RAM、ROMなどが組み合わされて構成されている。また、メモリ54は、データ記憶領域54Aを備える。データ記憶領域54Aは、プログラム61の実行に必要なデータなどを記憶する領域である。
プログラム61は、スキャナ50を統括的に制御するプログラムであり、デバイスメイン処理モジュール65、デバイス画像処理モジュール66を有する。スキャナ50は、PC10によって制御され、読み取ったスキャンデータD1をPC10へ送信する。CPU52は、デバイスメイン処理モジュール65やデバイス画像処理モジュール66に従って、スキャンデータD1の生成処理やスキャンデータD1に対する画像処理を実行する。デバイスメイン処理モジュール65やデバイス画像処理モジュール66の詳細については後述する。読取I/F55は、例えば、CCDやCISなどの画像を読み取るデバイスである。入力I/F57は、液晶ディスプレイや各種スイッチ等を含み、ユーザ操作を入力するためのインタフェースである。LCD58は、スキャナ50の各種機能を表示する。
<画像の読み取りの作動シーケンス>
次に、ユーザがPC10を操作してスキャナ50によって画像の読み取りを行った場合のスキャンシステム1の作動シーケンスについて説明する。図2、図3は、画像読み取りの作動シーケンスの一例を示している。
本明細書のシーケンスチャートは、基本的に、プログラムに記述された命令に従ったCPU12、52の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」「設定」等の処理は、CPU12、52の処理を表している。CPU12による処理は、OS32を介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、CPU12が要求することなくデータを受信するという処理も、「CPU12がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。
まず、PC10の入力インタフェース18を介した操作入力に従って、アプリケーションプログラム26が起動する(S101)。アプリケーションプログラム26は、スキャナドライバ28のDSM28Aを介してドライバメイン処理モジュール28Bに対しスキャナ50との接続を命令する(S103,S105)。ドライバメイン処理モジュール28Bは、ルータ56を介してスキャナ50への接続要求を送信する(S107)。
スキャナ50のデバイスメイン処理モジュール65は、PC10のドライバメイン処理モジュール28Bから接続要求を受信すると、接続を確立するための応答をする(S109)。これにより、PC10とスキャナ50との通信が確立される。ドライバメイン処理モジュール28Bは、デバイスメイン処理モジュール65との通信が確立すると、デバイスメイン処理モジュール65に対してデバイス能力値の要求を送信する(S111)。
ここでいうデバイス能力値は、スキャナ50で実行可能な複数の処理の各々を示す値であり、例えば、原稿サイズに関する能力値である。原稿サイズに関する情報は、スキャナ50で読み取り可能な原稿サイズに関する情報及び、読取対象の原稿サイズをユーザ操作により指定することなく、当該原稿のサイズを自動的に検知する処理(以下、「原稿検知処理」と記載する)(本発明のクリッピング処理の一例)を実行可能であるかを示す情報である。
また、例えば、デバイス能力値は、スキャナが作成可能なスキャンデータの色のスケールに関する能力値を含んでよい。色のスケールは、例えば、ビットマップ画像データにおける1ピクセルに対して設定可能な色数を示す値であり、24bit(166777216色)のカラースケール,8bit(256色)のグレースケール,1bit(2色:白と黒)のモノクロスケール等である。色のスケールのことを色深度ともいう。そして、色のスケールに関する能力値は、スキャナが作成するスキャンデータの色のスケールを示すパラメータとして設定可能な値を示す情報、スキャナがスキャン原稿に含まれる色数を自動的に検知する処理(以下、「スケール検知処理」と記載する)(本発明の特性情報取得処理の一例)を実行可能であるかを示す情報、及び、検知した色数に適した色のスケールを自動的に決定する処理を実行可能であるかを示す情報を含んでよい。
また、例えば、デバイス能力値は、白原稿の検知処理に関する能力値を含んでよい。原稿が読み取られる際に、白紙の原稿、つまり、白原稿が読み取られる場合がある。白原稿の検知処理に関する能力値は、原稿の読み取りにより作成されたスキャンデータが、白原稿のスキャンデータを含むか否かを検知する処理(以下、「白紙検知処理」と記載する)(本発明の特性情報取得処理の一例)を実行可能であるかを示す情報を含んでよい。なお、スキャナ50は、原稿検知処理,スケール検知処理,白紙検知処理の何れも実行可能である。
デバイスメイン処理モジュール65は、ドライバメイン処理モジュール28Bからデバイス能力値の要求を受信すると、自身のデバイス能力値を示す値を送信する(S113)。ドライバメイン処理モジュール28Bは、デバイスメイン処理モジュール65からデバイス能力値を受信すると、スキャナドライバ28のドライバUIモジュール28Dに対して設定画面の表示を命令する(S115)。この設定画面は、デバイスメイン処理モジュール65から受信したデバイス能力値に基づいて表示されるものであり、画像の読み取りにおいてスキャナ50で実行可能な処理に対する設定を受け付けるものである。
具体的には、原稿検知処理を実行するか否かを指示する設定操作、及び、原稿サイズを指示する設定操作に従ってパラメータを受け付けるための設定画面が、原稿サイズに関する能力値に基づいて表示される。また、スケール検知処理を実行するか否かを指示する設定操作、及び、色のスケールを指示する設定操作に従ってパラメータを受け付けるための設定画面が、色のスケールに関する能力値に基づいて表示される。また、白紙検知処理を実行するか否かを指示する設定操作に従ってパラメータを受け付けるための設定画面が、白原稿の検知処理に関する能力値に基づいて表示される。
ドライバUIモジュール28Dは、ドライバメイン処理モジュール28Bからの命令に応じて、PC10のLCD16に設定画面を表示する(S117)。ドライバUIモジュール28Dは、表示された設定画面の「OK」ボタンが操作されると、「OK」ボタンが操作されるまでの、ユーザによる、入力インタフェース18を介した設定操作に従って、画像の読み取りにおける設定値(以下、「スキャンパラメータ」という場合がある)(本発明の設定パラメータの一例)をメモリ14に記憶させる(本発明の受付手段の一例)。CPU12が設定操作に従ってパラメータをメモリ14に記憶することを「パラメータを受け付ける」もしくは「パラメータを設定する」と記載してもよい。LCD16に表示された設定画面のボタンを押下する操作は、設定操作の一例である。スキャンパラメータは設定操作によって直接的に指示されるパラメータであってもよい。例えば、解像度「600dpi」を指示する設定操作に従って、解像度「600dpi」というパラメータをメモリ14に記憶させてもよい。スキャンパラメータは、設定操作によって間接的に指示されるパラメータであってもよい。例えば、「高品質」を指示する設定操作に従って、解像度「600dpi」というパラメータをメモリ14に記憶させてもよい。また、後述するように、スキャンパラメータを受け付ける方法は、LCD16に表示した設定画面を用いた方法に限らず、例えば、スキャンパラメータを記載した設定ファイルを読み込む方法でも良い。
なお、スキャンパラメータは、原稿サイズに関するパラメータとして、原稿検知処理の実行の有無を示すパラメータ,ユーザ操作により原稿サイズが設定された場合に設定された原稿サイズを示すパラメータを含む。また、スキャンパラメータは、色のスケールに関するパラメータとして、スケール検知処理の実行の有無を示すパラメータ,ユーザ操作により色のスケールが設定された場合に設定された色のスケールを示すパラメータを含む。また、スキャンパラメータは、白原稿の検知処理に関するパラメータとして、白紙検知処理の実行の有無を示すパラメータを含む。
そして、ドライバUIモジュール28Dは、パラメータの受け付けを終了すると、受け付けたスキャンパラメータをドライバメイン処理モジュール28Bに出力し、ドライバメイン処理モジュール28Bに対してスキャンパラメータの記憶を命令する(S121)。ドライバメイン処理モジュール28Bは、ドライバUIモジュール28Dから受信したスキャンパラメータを、例えば、メモリ14のデータ記憶領域34に記憶する。
次に、ドライバUIモジュール28Dは、ユーザからスキャンの開始命令を受け付ける(S123)。ドライバUIモジュール28Dは、例えば、上記したS117で表示した設定画面に対して、ユーザからスキャンを開始することを示す操作を受け付けると、ドライバメイン処理モジュール28Bへスキャンの開始命令を出力する(S125)。
ドライバメイン処理モジュール28Bは、ドライバUIモジュール28Dからスキャン開始命令を受け取ると、まず、上記したS121で記憶したスキャンパラメータ、即ち、設定画面において受け付けたスキャンパラメータを、デバイスメイン処理モジュール65へ送信する(S127)。この際、ドライバメイン処理モジュール28Bは、例えば、ユーザから受け付けたスキャンパラメータのうち、スキャナ50側で実行する処理に係わるスキャンパラメータをデバイスメイン処理モジュール65へ送信する。
次に、ドライバメイン処理モジュール28Bは、デバイスメイン処理モジュール65へスキャンの開始命令を送信する(S129)。デバイスメイン処理モジュール65は、S129においてドライバメイン処理モジュール28Bからスキャンの開始命令を受信すると、読取I/F55を駆動して原稿の画像を読み取る処理を実行する(S131)。
デバイスメイン処理モジュール65は、読取I/Fが原稿を読み取って出力したデータに基づいて作成されたスキャンデータD1に対する画像処理をデバイス画像処理モジュール66へ命令する(S133)。デバイスメイン処理モジュール65は、読み取ったスキャンデータD1と、S127で受信したスキャンパラメータとを、デバイス画像処理モジュール66へ出力する(S133)。デバイス画像処理モジュール66は、受け取ったスキャンパラメータに基づいてスキャンデータD1に対する画像処理を実行する(S134)。デバイス画像処理モジュール66は、画像処理後のスキャンデータD1をデバイスメイン処理モジュール65へ出力する(S135)。
デバイスメイン処理モジュール65は、デバイス画像処理モジュール66によって画像処理が終了したスキャンデータD1を、ドライバメイン処理モジュール28Bへ送信する(S137)。デバイスメイン処理モジュール65は、例えば、デバイス画像処理モジュール66から1ライン分のスキャンデータD1を受け取ると、受け取ったスキャンデータD1をドライバメイン処理モジュール28Bに送信する。即ち、デバイスメイン処理モジュール65は、1ラインの画像処理が完了するごとにスキャンデータD1を送信する。なお、デバイスメイン処理モジュール65は、1ラインごとにスキャンデータD1を送信する構成に限らない。例えば、デバイスメイン処理モジュール65は、1枚の原稿の画像処理が終了するごとにスキャンデータD1を送信しても良い。あるいは、デバイスメイン処理モジュール65は、全ての原稿の画像を読み取った後に、まとめてスキャンデータD1を送信しても良い。
また、デバイスメイン処理モジュール65は、ドライバメイン処理モジュール28Bへ送信するスキャンデータD1を圧縮処理し、データ量を削減しても良い。この場合、例えば、ドライバメイン処理モジュール28Bは、デバイスメイン処理モジュール65から受信した圧縮されたスキャンデータD1を解凍し、解凍したスキャンデータD1をその後の処理に用いる。
次に、図3に示すように、ドライバメイン処理モジュール28Bは、スキャナドライバ28のモジュールであるドライバ画像処理モジュール28Eに対してスキャンデータD1の画像処理を命令する(S139)。ドライバメイン処理モジュール28Bは、図2のS137でデバイスメイン処理モジュール65から受信したスキャンデータD1を、ドライバ画像処理モジュール28Eに出力する(S139)。また、ドライバメイン処理モジュール28Bは、図2のS121で記憶したスキャンパラメータをドライバ画像処理モジュール28Eへ出力する(S139)。この際、ドライバメイン処理モジュール28Bは、設定画面で受け付けたスキャンパラメータのうち、PC10側の画像処理に係わるスキャンパラメータをドライバ画像処理モジュール28Eへ出力する。
ドライバ画像処理モジュール28Eは、ドライバメイン処理モジュール28Bから受け取ったスキャンパラメータに基づいてスキャンデータD1を画像処理し(S141)、処理後のスキャンデータD1をドライバメイン処理モジュール28Bへ出力する(S143)。
一方で、アプリケーションプログラム26は、ドライバメイン処理モジュール28Bへ定期的なスキャンデータD1の問い合わせを実行する(S145)。アプリケーションプログラム26は、例えば、図2のS125においてドライバUIモジュール28Dからドライバメイン処理モジュール28Bに対してスキャンの開始命令が出力された後、ドライバメイン処理モジュール28Bへ定期的にスキャンデータD1を問い合わせる(S145)。アプリケーションプログラム26は、S145において、スキャナ50から受信したスキャンデータD1の転送準備が完了したか否かをドライバメイン処理モジュール28Bに定期的に問い合わせる。なお、アプリケーションプログラム26は、ドライバメイン処理モジュール28Bに対して定期的な問い合わせを実行せず、ドライバメイン処理モジュール28BからスキャンデータD1が出力されるまで待機する構成でも良い。
アプリケーションプログラム26は、S145の問い合わせに対応する応答をドライバメイン処理モジュール28Bから受け取ると(S147)、ドライバメイン処理モジュール28Bに対してスキャンデータD1の出力を命令する(S149)。ドライバメイン処理モジュール28Bは、アプリケーションプログラム26からスキャンデータD1の出力命令を受け取ると、スキャンデータD1をアプリケーションプログラム26へ出力する(S151)。
アプリケーションプログラム26は、ドライバメイン処理モジュール28Bから受け取ったスキャンデータD1に対して所定の処理を実行する(S157)。ここでいう所定の処理とは、例えば、ユーザから要求された処理であり、スキャンデータD1を印刷する処理である。あるいは、アプリケーションプログラム26は、スキャンデータD1をPC10(メモリ14)へ記憶する処理、スキャンデータD1をLCD16へ表示する処理、スキャンデータD1の画像処理、他のアプリケーションプログラムにスキャンデータD1を転送する処理、サーバにスキャンデータD1を転送する処理などを実行しても良い。
アプリケーションプログラム26は、S157の処理を完了させると、DSM28Aを介して、ドライバメイン処理モジュール28Bへ切断命令を出力する(S159、S161)。アプリケーションプログラム26は、DSM28Aを介してドライバメイン処理モジュール28Bに対し、デバイスメイン処理モジュール65(スキャナ50)との通信の接続を切断するように命令する(S159、S161)。ドライバメイン処理モジュール28Bは、アプリケーションプログラム26からの命令に応じて、デバイスメイン処理モジュール65との通信を切断する(S163)。このようにして、スキャンシステム1は、PC10のアプリケーションプログラム26の制御に基づいたスキャナ50による画像の読み取り処理を終了する。
<画像の読み取り処理について>
次に、上記した作動シーケンスにおける画像の読み取り処理の一例について説明する。本実施形態のスキャンシステム1は、様々なサイズの原稿の画像を読み取ることが可能となっている。スキャンシステム1は、上記したスキャンパラメータとして、原稿サイズの自動検知を実行することを示すパラメータが設定された場合、PC10側において原稿サイズの検知処理を実行する。スキャンシステム1は、大きさの異なる原稿について、その原稿のサイズよりも大きな画像をスキャナ50でスキャンデータD1として生成し、PC10においてそのスキャンデータD1から原稿の画像を切り出す処理を行う。
詳述すると、図4は、画像の読み取り処理の一例を示している。図4に示す例では、スキャンパラメータには、原稿サイズを自動で検知し、原稿の画像を自動で抽出することを示すパラメータが設定されている。また、スキャンパラメータには、読み取り原稿の色を自動検知することを示すパラメータが設定されている。また、スキャンパラメータには、白紙検知を実行することを示すパラメータが設定されている。また、以下の説明では、スキャナ50の読み取り可能な原稿サイズのうち、最大のサイズがA4サイズであり、実際に読み取りを行う原稿のサイズがハガキサイズである場合について説明する。この場合、スキャナ50は、A4サイズよりも小さいハガキサイズの原稿を、読み取り可能な最大のサイズであるA4サイズの原稿として画像の読み取りを実行する。
まず、スキャナ50は、図4に示すように、ハガキサイズの原稿の原稿スキャンデータ71を、A4サイズのスキャンデータD1として読み取る。スキャナ50は、原稿スキャンデータ71の外縁の外側に外側スキャンデータ73を付加したスキャンデータD1を生成する。この外側スキャンデータ73は、A4サイズとして足りない部分に対応しており、例えば、スキャナ50の原稿を読み取る読み取り台において、原稿を背面側から抑える原稿カバーを読み取った画像である。例えば、原稿カバーの内側(原稿側)には、グレー色が塗られている。この場合、スキャナ50は、原稿の背景色であるグレー色を、原稿スキャンデータ71の周囲の外側スキャンデータ73として読み取り、原稿スキャンデータ71の外周に付加する。
スキャナ50は、原稿スキャンデータ71に外側スキャンデータ73を付加したスキャンデータD1を、PC10へ送信する。この送信処理は、図2に示すS137に対応する。PC10側では、上記したようにドライバ画像処理モジュール28EによってスキャンデータD1に対する画像処理を行う(図3のS141)。本実施形態のスキャナ50は、PC10側で原稿サイズを検知する場合、即ち、外側スキャンデータ73を原稿スキャンデータ71に付加したスキャンデータD1をPC10へ送信する場合、色のスケールの最も大きい24bitカラーのスキャンデータD1をPC10へ送信する。これにより、PC10側の原稿を検知する原稿検知処理(S201)において、色の識別によって外側スキャンデータ73を容易に検知することができる。また、後述するスケール変換処理(S207)において、色要素の数を適切に削減して最適化することができる。換言すれば、本実施形態のスキャンシステム1では、仮に、スキャンパラメータの色のスケールの設定としてモノクロが設定された場合であっても、原稿サイズを自動検知する設定であれば、PC10からスキャナ50へ24bitカラーのスキャンデータD1を要求することとなる。なお、スキャナ50からPC10へ送信するスキャンデータD1は、24bitカラーのスキャンデータD1に限らない。例えば、PC10側で8ビットのグレースケールのスキャンデータD1に基づいて、外側スキャンデータ73を検知可能であれば、スキャナ50からPC10へグレースケールのスキャンデータD1を送信しても良い。
まず、ドライバ画像処理モジュール28Eは、図3のS141の画像処理として、スキャンデータD1から原稿スキャンデータ71を検知する原稿検知処理を実行する(図4に示すS201)。ドライバ画像処理モジュール28Eは、外側スキャンデータ73の色(例えば、グレー色)に基づいてスキャンデータD1の画像を処理し、スキャンデータD1に含まれる外側スキャンデータ73を検知する。外側スキャンデータ73の色は、例えば、上記した図2におけるスキャナ50のデバイス能力値の取得処理(S111、S113)において、デバイスメイン処理モジュール65からドライバメイン処理モジュール28Bへ送信される。ドライバ画像処理モジュール28Eは、例えば、この取得処理で得た外側スキャンデータ73の色に該当し、且つスキャンデータD1の外周部分に配置された画像を、外側スキャンデータ73の画像として検知する。ドライバ画像処理モジュール28Eは、スキャンデータD1のうち検知した外側スキャンデータ73を除く部分を、原稿スキャンデータ71として抽出する画像処理を行う。尚、画像データを抽出する画像処理のことを、画像データを切り取る画像処理ともいう。
次に、ドライバ画像処理モジュール28Eは、S201で抽出した原稿スキャンデータ71、即ち、画像を読み取った原稿に対して、白紙原稿に基づくスキャンデータであるか否かを判断する白紙検知処理を実行する(S203)。ドライバ画像処理モジュール28Eは、例えば、抽出した原稿スキャンデータ71が全て白色である場合、白紙の原稿であると検知する。なお、ドライバ画像処理モジュール28Eは、S203で白紙を検知した場合、ドライバメイン処理モジュール28Bやアプリケーションプログラム26を介してユーザへ白紙を検知したことを示す通知をしても良い(本発明の特定処理の一例)。あるいは、ドライバ画像処理モジュール28Eは、S203で白紙を検知した場合、スキャンデータD1の中から白紙に該当する原稿スキャンデータ71のみを除去し、白紙以外の原稿スキャンデータ71を処理後のスキャンデータD1としてドライバメイン処理モジュール28Bへ出力しても良い(本発明の特定処理の一例)。
次に、ドライバ画像処理モジュール28Eは、S201で抽出した原稿スキャンデータ71に含まれる色要素の数、即ち、色のスケールを検知する(S205)。色のスケールの検知方法としては、公知の画像処理方法を用いることができる。ドライバ画像処理モジュール28Eは、例えば、原稿スキャンデータ71に含まれる色要素の数に基づいて、原稿スキャンデータ71が、24bitのカラー画像、8bitのグレースケール画像、あるいはモノクロ画像のいずれの色のスケールの画像であるかを判断する。
次に、ドライバ画像処理モジュール28Eは、S205で検知した色のスケールに基づいて、原稿スキャンデータ71の色のスケールを変換するスケール変換処理を実行する(S207)。例えば、ドライバ画像処理モジュール28Eは、S205において、原稿スキャンデータ71の色のスケールがモノクロである、即ち、原稿スキャンデータ71に白色と黒色しか含まれていないことを検知すると、S207においてカラーの原稿スキャンデータ71をモノクロの原稿スキャンデータ71Aに変換する。これにより、スキャナ50から受信したカラーの原稿スキャンデータ71を最適な色のスケールに変換し色要素の数を削減することで、原稿スキャンデータ71のデータ量を削減することができる。ドライバ画像処理モジュール28Eは、色のスケールを変換した原稿スキャンデータ71Aを出力する。この出力処理は、上記した図3のS143の処理に対応する。従って、ドライバ画像処理モジュール28Eは、色のスケールを変換した原稿スキャンデータ71Aを、画像処理後のスキャンデータD1としてドライバ画像処理モジュール28Eに出力する(S143)。
ここで、スキャナ50側で原稿サイズの検知を実行する場合について説明する。スキャナ50は、例えば、原稿の主走査方向の長さを、読取I/F55の画像データに基づいて検知する。また、スキャナ50は、例えば、原稿の副走査方向の長さを、物理的な用紙センサによって検知する。原稿の主走査方向の長さのことを原稿の幅ともいう。原稿の主走査方向の長さのことを原稿の高さともいう。ここでいう物理的な用紙センサとは、例えば、ローラ型のセンサであり、画像の読み取り時に原稿の上を副走査方向へと回転しながら移動し、原稿の端部の段差に基づいて原稿の高さを検知するものである。このような用紙センサによる原稿サイズの検知では、センサの検知精度によっては数ミリ程度の誤差が生じる虞がある。これに対し、本実施形態のスキャンシステム1では、PC10側の画像処理によって原稿サイズを検知し、原稿スキャンデータ71を抽出することで原稿スキャンデータ71を精度良く抽出できる。
また、原稿の原稿スキャンデータ71に外側スキャンデータ73を付加した場合、外側スキャンデータ73を付加したスキャンデータD1に対して白紙検知処理(S203)やスケール検知処理(S205)を実行すると、精度良く白紙検知等を実行できない虞がある。これは、例えば、外側スキャンデータ73としてグレー色を付加すると、仮に、原稿スキャンデータ71が白紙であったとしても、スキャンデータD1には、白色を示す原稿スキャンデータ71とグレー色を示す外側スキャンデータ73の2色が含まれることとなる。その結果、白紙検知処理において、スキャンデータD1にグレー色が含まれるため、白紙であることを精度良く検知できなくなる虞がある。また、スケール検知処理において、グレー色を示すデータが原稿スキャンデータ71に含まれると検知してしまうなど、原稿の色のスケールを精度良く検知できなくなる虞がある。これに対し、本実施形態のスキャンシステム1では、原稿検知処理(S201)によって外側スキャンデータ73を取り除いた原稿スキャンデータ71を用いて、白紙検知処理(S203)やスケール検知処理(S205)を実行する。これにより、白紙検知や色のスケールの検知の検知精度を向上することができる。
尚、上記した図4に示す例では、PC10側で原稿サイズの検知や原稿スキャンデータ71の抽出を実行したが、例えば、スキャンパラメータとして原稿サイズを設定された場合には、PC10側で原稿検知処理を実行する必要がなくなる。この場合、白紙検知処理(S203)やスケール検知処理(S205)をスキャナ50側で実行しても良い。これにより、ユーザによってスキャンパラメータに指定された原稿サイズに基づいて画像処理を実行し、PC10側での不要な原稿検知処理を実行しないことで、読み取り処理の高速化を図ることができる。
<原稿ふち補正処理と白紙検知処理について>
次に、上記した作動シーケンスにおける画像の読み取り処理の一例として、PC10側で原稿ふち補正処理を実行する場合について説明する。なお、以下の説明では、上記した図4と同様の内容についてはその説明を適宜省略する。図5は、原稿ふち補正処理を行う場合の処理手順を示している。図5に示す例では、スキャンパラメータには、原稿サイズを自動で検知し、原稿の画像を自動で抽出することを示すパラメータが設定されている。また、スキャンパラメータには、読み取り原稿の色として24bitカラーが設定されている。また、スキャンパラメータには、白紙検知を実行することを示すパラメータが設定されている。また、スキャンパラメータには、原稿ふち補正を実行しないことを示すパラメータが設定されている。以下の説明では、スキャナ50の読み取り可能な原稿サイズのうち、最大のサイズがA4サイズであり、実際に読み取りを行う原稿サイズがハガキサイズの場合について説明する。
スキャナ50は、上記した図4の場合と同様に、ハガキサイズの原稿の原稿スキャンデータ71を、A4サイズのスキャンデータD1として読み取る。スキャナ50は、原稿スキャンデータ71の外縁の外側に外側スキャンデータ73を付加したスキャンデータD1を生成する。スキャナ50は、原稿スキャンデータ71に外側スキャンデータ73を付加したスキャンデータD1(本発明の第1スキャンデータの一例)を、PC10へ送信する(本発明の第1取得手段の一例)。PC10側では、上記したようにドライバ画像処理モジュール28EによってスキャンデータD1に対する画像処理を行う(図3のS141)。
詳述すると、まず、ドライバメイン処理モジュール28Bは、例えば、スキャナ50から受信したスキャンデータD1をメモリ14のデータ記憶領域34へ記憶する。ドライバメイン処理モジュール28Bは、メモリ14に記憶したスキャンデータD1を読み出してドライバ画像処理モジュール28Eへ出力する。
ドライバ画像処理モジュール28Eは、ドライバメイン処理モジュール28Bから受け取ったスキャンデータD1を対象に、画像処理を行う(図3のS141)。ドライバ画像処理モジュール28Eは、S209において、ドライバメイン処理モジュール28Bから受け取ったスキャンデータD1に対して原稿検知処理、及び原稿ふち補正処理を実行する。
ここで、スキャン時に原稿が傾いていたり、あるいは原稿の外周の一部が破けていたりすると、S209で抽出した原稿スキャンデータ71の外周部分に外側スキャンデータ73と同じ色の画像が含まれる場合がある。図6は、一例として、傾いた原稿75の画像を読み取った場合を示している。図6に破線で示す原稿スキャンデータ71は、原稿75の画像としてスキャンデータD1から抽出される部分を示している。原稿75は、この原稿スキャンデータ71として抽出される範囲に対して傾いた状態となっている。このようなスキャンデータD1では、原稿スキャンデータ71として画像を切り取る範囲内に原稿75を背面側から抑える原稿カバーの画像、即ち、外側スキャンデータ73と同じ色の画像が入り込むこととなる。
図7は、原稿スキャンデータ71を抽出した後の状態を示している。図7に示すように、原稿スキャンデータ71の一部には、外側スキャンデータ73と同じ色の背景スキャンデータ77が含まれている。背景スキャンデータ77の色は、原稿カバーの内側の色であり、例えばグレー色である。原稿ふち補正処理では、この原稿スキャンデータ71に張り込んだ背景スキャンデータ77を、原稿75の色に合うように補正する。
詳述すると、原稿ふち補正処理では、例えば、原稿スキャンデータ71に入り込んだ背景スキャンデータ77を、元々の原稿75の中で占める割合の大きい色であり、且つ、薄い色を用いて補正する。図8は、一例として、白色によって背景スキャンデータ77を塗りつぶして原稿スキャンデータ71を原稿ふち補正した状態を示している。図8に示す破線は、傾いた原稿75の領域を示す仮想線である。図8に示すように、背景スキャンデータ77を白色で塗りつぶすことで、傾いた原稿75の外側には、外側スキャンデータ73と同じ色の画像がなくなる。
以下の説明では、図7に示す原稿ふち補正前の原稿スキャンデータ71を、補正前原稿スキャンデータ71B(本発明の第2スキャンデータの一例)と称して説明する。また、図8に示す原稿ふち補正後の原稿スキャンデータ71を、補正後原稿スキャンデータ71C(本発明の第3スキャンデータの一例)と称して説明する。図5に示すように、ドライバ画像処理モジュール28Eは、S209において、補正前原稿スキャンデータ71B及び補正後原稿スキャンデータ71Cの両方を生成する。詳述すると、ドライバ画像処理モジュール28Eは、S209において、まず、ドライバメイン処理モジュール28Bから受け取ったスキャンデータD1(外側スキャンデータ73を付加された原稿スキャンデータ71)から、補正前原稿スキャンデータ71Bを抽出する処理、即ち、原稿検知処理を実行する。ドライバ画像処理モジュール28Eは、抽出した補正前原稿スキャンデータ71Bをメモリ14に記憶させる。なお、ドライバ画像処理モジュール28Eは、原稿検知処理を実行したことに応じて、ドライバメイン処理モジュール28Bが記憶したスキャンデータD1をメモリ14から削除しても良い。図5の処理において、スキャンデータD1は、原稿検知処理を実行した後では不要となる。このため、スキャンデータD1が不要となった時点でメモリ14から削除することで、メモリ14の記憶領域が不要に圧迫されることを抑制できる。
次に、ドライバ画像処理モジュール28Eは、メモリ14から補正前原稿スキャンデータ71Bを読み出し、読み出した補正前原稿スキャンデータ71Bを対象に、原稿ふち補正処理を実行する(S209)。ドライバ画像処理モジュール28Eは、例えば、補正前原稿スキャンデータ71Bの外周部分の一定範囲内(外縁から内側に数ミリなど)に、外側スキャンデータ73と同色の画像、即ち、グレー色の画像があるか否かを検知する。ドライバ画像処理モジュール28Eは、一定範囲内で検知したグレー色の画像、即ち、背景スキャンデータ77(図7参照)を、所定の補正色(例えば、白色)で塗り潰す。ドライバ画像処理モジュール28Eは、例えば、補正前原稿スキャンデータ71Bのうち、外周部分の一定範囲を除く画像において最も広い領域を占める色であり、且つ、薄めの色を補正色として決定する。ドライバ画像処理モジュール28Eは、検知したグレー色の画像を、決定した補正色によって塗りつぶし、補正後原稿スキャンデータ71Cを作成する。ドライバ画像処理モジュール28Eは、作成した補正後原稿スキャンデータ71Cをメモリ14に記憶する。
上記したように、ドライバ画像処理モジュール28Eは、原稿検知処理によって作成しメモリ14に記憶した補正前原稿スキャンデータ71Bを対象に、原稿ふち補正処理を実行する(S209)。即ち、ドライバ画像処理モジュール28Eは、原稿検知処理の結果を利用してふち補正処理を実行する。これにより、原稿ふち補正処理において、スキャンデータD1から補正前原稿スキャンデータ71Bを改めて作成する必要がなくなり、画像処理の簡易化や高速化を図ることができる。
ドライバ画像処理モジュール28Eは、S209において、補正前原稿スキャンデータ71B及び補正後原稿スキャンデータ71Cを作成した後、白紙検知処理を実行する(S203)。例えば、補正後原稿スキャンデータ71Cの画像全体が全て白色である場合、ドライバ画像処理モジュール28Eは、補正後原稿スキャンデータ71Cを用いて白地検知処理を実行することで、白紙原稿である情報(本発明の特性情報の一例)を検知する。この場合、ドライバ画像処理モジュール28Eは、例えば、白紙の原稿スキャンデータ71を破棄する。
ここで、図5に示す例では、スキャンパラメータには、原稿ふち補正を実行しないことを示すパラメータが設定されている。例えば、ユーザは、原稿75の外縁の近くに文字等が印刷されていると、その外縁の近くの文字等が原稿ふち補正によって塗りつぶされて消されるのを回避するため、原稿ふち補正処理を実行しないことを示す設定操作を行う場合がある。一方で、白紙検知処理において、原稿スキャンデータ71の中に、外側スキャンデータ73と同一色(グレー色)が含まれていると、白紙であることを精度良く検知できなくなる虞がある。そこで、本実施形態のスキャナドライバ28では、ユーザによって原稿ふち補正処理を実行しないことを示すパラメータが設定されたとしても、原稿ふち補正を実行した補正後原稿スキャンデータ71Cを作成し、補正後原稿スキャンデータ71Cを用いて白地検知処理を実行する。これにより、白紙検知処理の検知精度を向上させることが可能となる。
例えば、ドライバ画像処理モジュール28Eは、図5に示すS203において補正後原稿スキャンデータ71Cを用いて白紙検知処理を実行し、補正後原稿スキャンデータ71Cが白紙でないことを検知すると、補正前原稿スキャンデータ71Bを出力する(S143)。即ち、ドライバ画像処理モジュール28Eは、ユーザが望む原稿ふち補正を実行していない補正前原稿スキャンデータ71Bを、出力データとして出力する。これにより、ユーザが望む補正前原稿スキャンデータ71Bを出力できるとともに、白紙検知処理の検知精度を向上できる。なお、ドライバ画像処理モジュール28Eは、白地検知処理を実行したことに応じて、メモリ14に記憶した補正後原稿スキャンデータ71Cを削除しても良い。これにより、補正後原稿スキャンデータ71Cが不要となった時点でメモリ14から削除することで、メモリ14の記憶領域が不要に圧迫されることを抑制できる。
なお、上記した図5に示す例では、スキャンパラメータとして、原稿ふち補正を実行しないことを示すパラメータが設定されている場合について説明した。これに対し、仮に、スキャンパラメータとして、原稿ふち補正を実行することを示すパラメータが設定されている場合、即ち、ユーザが、原稿ふち補正後の補正後原稿スキャンデータ71Cの出力を望む場合、ドライバ画像処理モジュール28Eは、補正後原稿スキャンデータ71Cを出力する。図9は、スキャンパラメータとして原稿ふち補正を実行することを示すパラメータが設定された場合を示している。図9に示すように、ドライバ画像処理モジュール28Eは、補正後原稿スキャンデータ71Cを対象に白紙検知処理(S203)を実行し、白紙原稿でなければ、補正後原稿スキャンデータ71Cを出力する(S143)。これにより、ユーザが原稿ふち補正を望む場合に、希望する補正後原稿スキャンデータ71Cを出力し、アプリケーションプログラム26による各種処理を実行できる。
<原稿ふち補正処理とスケール検知処理について>
次に、スキャンパラメータとして、読み取り原稿の色を自動検知することを示すパラメータが設定された場合について説明する。図10は、原稿色を自動検知する場合の一例を示している。図10に示す例では、スキャンパラメータには、原稿サイズを自動で検知することを示すパラメータが設定されている。また、スキャンパラメータには、読み取り原稿の色を自動で検知することを示すパラメータが設定されている。また、スキャンパラメータには、白紙検知を実行しないことを示すパラメータが設定されている。また、スキャンパラメータには、原稿ふち補正を実行しないことを示すパラメータが設定されている。なお、以下の説明では、上記した図5と同様の内容についてはその説明を適宜省略する。
まず、スキャナ50は、原稿スキャンデータ71の外縁の外側に外側スキャンデータ73を付加したスキャンデータD1を生成し、スキャンデータD1をPC10へ送信する(S137)。PC10側のドライバ画像処理モジュール28Eは、S209において、メモリ14に記憶されたスキャンデータD1に対して原稿検知処理、及び原稿ふち補正処理を実行する。ドライバ画像処理モジュール28Eは、原稿検知処理を実行し、スキャンデータD1から補正前原稿スキャンデータ71Bを作成し、メモリ14へ記憶する。また、ドライバ画像処理モジュール28Eは、原稿ふち補正処理を実行し、補正前原稿スキャンデータ71Bから補正後原稿スキャンデータ71Cを作成し、メモリ14へ記憶する。なお、ドライバ画像処理モジュール28Eは、原稿検知処理を実行後、メモリ14からスキャンデータD1を削除しても良い。
次に、ドライバ画像処理モジュール28Eは、S205において、メモリ14から読み出した補正後原稿スキャンデータ71Cを対象に、スケール検知処理を実行し、補正後原稿スキャンデータ71Cの色のスケールを検知する(S205)。ドライバ画像処理モジュール28Eは、S205で検知した色のスケールに基づいて、補正前原稿スキャンデータ71Bの色のスケールを変換するスケール変換処理を実行する(S207)。即ち、ドライバ画像処理モジュール28Eは、スケール検知処理に補正後原稿スキャンデータ71Cを用いる一方で、スケール変換処理に補正前原稿スキャンデータ71Bを用いる。これは、例えば、原稿がモノクロである場合に、ドライバ画像処理モジュール28Eは、原稿の外縁にグレー色の背景スキャンデータ77が含まれる補正前原稿スキャンデータ71Bを用いてスケール検知処理(S205)を実行すると、モノクロの原稿を8bitのグレースケール画像の原稿と誤って判断する虞があるからである。
そこで、本実施形態のドライバ画像処理モジュール28Eは、スケール検知処理において、原稿ふち補正後の補正後原稿スキャンデータ71Cを用いることで、色のスケールの検知精度を向上できる。そして、ドライバ画像処理モジュール28Eは、ユーザが望んだ原稿ふち補正を実行していない補正前原稿スキャンデータ71Bに対してスケール変換処理を実行し、変換後の補正前原稿スキャンデータ71Dを、出力データとして出力する(S143)。これにより、ユーザが望む補正前原稿スキャンデータ71Dを出力できるとともに、スケール変換処理を精度よく実行できる。なお、ドライバ画像処理モジュール28Eは、スケール検知処理(S205)を実行したことに応じて、その後の処理に不要な補正後原稿スキャンデータ71Cをメモリ14から削除しても良い。これにより、メモリ14の記憶領域が不要に圧迫されることを抑制できる。
また、上記した図10に示す例では、スキャンパラメータとして、原稿ふち補正を実行しないことを示すパラメータが設定されている場合について説明した。これに対し、仮に、スキャンパラメータとして、原稿ふち補正を実行することを示すパラメータが設定されている場合、図9の場合と同様に、ドライバ画像処理モジュール28Eは、補正後原稿スキャンデータ71Cを対象に各種処理を行う。具体的には、ドライバ画像処理モジュール28Eは、補正後原稿スキャンデータ71Cを対象に、スケール変換処理(S207)を実行する。そして、ドライバ画像処理モジュール28Eは、色のスケールを変換した補正後原稿スキャンデータ71Cを出力する。これにより、ユーザが原稿ふち補正を望む場合に、原稿ふち補正後の画像を出力し、アプリケーションプログラム26による各種処理を実行できる。
因みに、メモリ14は、記憶装置の一例である。LCD16、入力I/F18は、ユーザインタフェースの一例である。PC10は、情報処理装置の一例である。スキャンパラメータは、設定パラメータの一例である。ドライバメイン処理モジュール28Bは、第1取得手段の一例である。ドライバUIモジュール28Dは、受付手段の一例である。ドライバ画像処理モジュール28Eは、判断手段、クリッピング処理実行手段、ふち補正処理実行手段、特性情報取得処理実行手段、所定処理実行手段の一例である。スキャンデータD1は、第1スキャンデータの一例である。補正前原稿スキャンデータ71Bは、第2スキャンデータの一例である。補正後原稿スキャンデータ71Cは、第3スキャンデータの一例である。
<実施例の効果>
上記した実施形態によれば、以下の効果を奏する。
前記特性情報取得処理実行手段は、前記第3スキャンデータに含まれる色要素の数を前記特性情報として取得するスケール検知処理、及び前記第3スキャンデータが白原稿に基づくスキャンデータであるか否かの情報を前記特性情報として取得する白紙検知処理のうち、少なくとも一方の処理を実行する。これにより、スケール検知処理や白紙検知処理を精度よく実行できる。
前記ふち補正処理実行手段は、前記ふち補正処理として、前記第2スキャンデータの外周部分の画像であって、且つ前記外側スキャンデータと同一色の画像を検知し、検知した画像を前記原稿スキャンデータに基づく原稿色に補正する処理を実行する。これにより、原稿の傾きなどによって第2スキャンデータに入り込んだ不要なデータをなくすことができる。
前記特定処理実行手段は、前記判断手段により前記クリッピング処理、前記特性情報取得処理、及び前記ふち補正処理を施したスキャンデータを出力すると判断した場合に、前記ふち補正処理実行手段が作成した前記第3スキャンデータを対象として、第2特定処理を実行し、前記第2特定処理は、前記第3スキャンデータを対象として、前記特性情報取得処理実行手段が取得した前記特性情報に基づいた処理である。これにより、ユーザの望むふち補正後のスキャンデータを出力することが可能となる。
前記情報処理装置は、記憶装置を備え、前記第1取得手段は、取得した前記第1スキャンデータを前記記憶装置に記憶させ、前記クリッピング処理実行手段は、前記記憶装置から前記第1スキャンデータを読み出し、読み出した前記第1スキャンデータを対象に前記第2スキャンデータを作成し、作成した前記第2スキャンデータを前記記憶装置に記憶させ、前記ふち補正処理実行手段は、前記記憶装置から読み出した前記第2スキャンデータを対象に前記ふち補正処理を実行し、前記第3スキャンデータを前記記憶装置に記憶させ、前記特性情報取得処理実行手段は、前記記憶装置から読み出した前記第3スキャンデータを対象に前記特性情報を取得する。これにより、ふち補正処理実行手段は、クリッピング処理実行手段により作成した第2スキャンデータを利用することで、処理の効率化、高速化を図ることができる。
前記クリッピング処理実行手段は、前記クリッピング処理を実行したことに応じて、前記記憶装置から前記第1スキャンデータを削除する。これにより、第1スキャンデータが不要となった時点で記憶装置から削除することで、記憶装置の記憶領域が不要に圧迫されることを抑制できる。
前記特性情報取得処理実行手段は、前記特性情報取得処理を実行したことに応じて、前記記憶装置から前記第3スキャンデータを削除する。これにより、第3スキャンデータが不要となった時点で記憶装置から削除することで、記憶装置の記憶領域が不要に圧迫されることを抑制できる。
前記特性情報取得処理実行手段は、前記第3スキャンデータが白原稿に基づくスキャンデータであるか否かの情報を前記特性情報として取得する白紙検知処理であり、前記特定処理は、前記第3スキャンデータが白原稿に基づくスキャンデータであることを、前記特性情報が示す場合に、白原稿に基づく前記第3スキャンデータを破棄する処理である。これにより、白原稿のスキャンデータを削除することで、不要なデータが出力等されることを抑制できる。
前記特定処理は、前記第2スキャンデータを対象に、前記特性情報取得処理実行手段が取得した前記特性情報に基づいた画像処理を施した第4スキャンデータを作成する処理であり、前記コンピュータを、前記特定処理で作成した前記第4スキャンデータを出力する出力手段として機能させる。これにより、ユーザの望む画像処理を施したスキャンデータを出力することができる。
また、本発明は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。
具体的には、例えば、上記実施形態では、PC10のスキャナドライバ28が、原稿検知処理、白紙検知処理、スケール検知処理、スケール変換処理、原稿ふち補正処理などを実行したが、スキャナ50のプログラム61がこれらの処理の一部又は全部を実行しても良い。この場合、スキャナ50は、本願の情報処理装置の一例である。また、プログラム61は、本願の制御プログラムの一例である。
また、上記実施形態では、CPU12によってPC10側の処理が実行される例を説明したが、これに限らない。PC10は、図5に示す原稿ふち補正処理などを、CPU12に限らず、ASICや他の論理集積回路により実行しても良いし、CPU等やASIC、他の論理集積回路を協働させて実行しても良い。
また、上記実施形態では、ドライバ画像処理モジュール28Eは、スキャンデータD1、補正前原稿スキャンデータ71B、補正後原稿スキャンデータ71Cを作成するとメモリ14へ記憶したが、メモリ14へ記憶しなくとも良い。
10 PC、16 LCD、18 入力I/F、28 スキャナドライバ、28B ドライバメイン処理モジュール、28D ドライバUIモジュール、28E ドライバ画像処理モジュール、50 スキャナ、61 プログラム。

Claims (10)

  1. ユーザインタフェースを備えた情報処理装置のコンピュータが読み取り可能な制御プログラムであって、
    前記コンピュータを、
    前記ユーザインタフェースを介して設定パラメータを受け付ける受付手段と、
    前記設定パラメータに基づいて、複数の画像処理のうち、いずれの画像処理を施したスキャンデータを出力するか判断する判断手段と、
    第1スキャンデータを取得する第1取得手段と、
    前記第1取得手段が取得した前記第1スキャンデータを対象にクリッピング処理を実行するクリッピング処理実行手段と、して機能させ、前記クリッピング処理は、原稿の読み取りにより作成される原稿スキャンデータと、前記原稿の外縁の外側の読み取りにより作成される外側スキャンデータとを含む前記第1スキャンデータから、前記原稿スキャンデータを含み、前記外側スキャンデータを含まない第2スキャンデータを作成する処理であり、
    前記コンピュータを、
    前記クリッピング処理実行手段が作成した前記第2スキャンデータを対象にふち補正処理を実行するふち補正処理実行手段として機能させ、前記ふち補正処理は、前記第2スキャンデータのふちを補正した第3スキャンデータを作成する処理であり、
    前記コンピュータを、
    前記ふち補正処理実行手段が作成した前記第3スキャンデータを対象に、前記第3スキャンデータの特性を示す特性情報を取得する特性情報取得処理を実行する特性情報取得処理実行手段として機能させ、
    前記コンピュータを、
    前記クリッピング処理及び前記特性情報取得処理を実行し、かつ、前記ふち補正処理を実行しないと、前記判断手段が前記設定パラメータに基づいて判断した場合に、前記クリッピング処理実行手段が作成した前記第2スキャンデータを対象として、第1所定処理を実行する所定処理実行手段として機能させ、前記第1所定処理は、前記第2スキャンデータを対象とした処理であり且つ前記特性情報取得処理実行手段が取得した前記特性情報に基づいた処理であることを特徴とする制御プログラム。
  2. 前記特性情報取得処理実行手段は、
    前記第3スキャンデータに含まれる色要素の数を前記特性情報として取得するスケール検知処理、及び前記第3スキャンデータが白原稿に基づくスキャンデータであるか否かの情報を前記特性情報として取得する白紙検知処理のうち、少なくとも一方の処理を、前記特性情報取得処理として実行することを特徴とする請求項1に記載の制御プログラム。
  3. 前記ふち補正処理実行手段は、
    前記ふち補正処理として、前記第2スキャンデータの外周部分の画像であって、且つ前記外側スキャンデータと同一色の画像を検知し、検知した画像を前記原稿スキャンデータに基づく原稿色に補正する処理を実行することを特徴とする請求項1又は請求項2に記載の制御プログラム。
  4. 前記所定処理実行手段は、
    前記判断手段が前記設定パラメータに基づいて、前記クリッピング処理、前記特性情報取得処理、及び前記ふち補正処理を実行すると判断した場合に、前記ふち補正処理実行手段が作成した前記第3スキャンデータを対象として、第2所定処理を実行し、
    前記第2所定処理は、前記第3スキャンデータを対象として、前記特性情報取得処理実行手段が取得した前記特性情報に基づいた処理であることを特徴とする請求項1乃至請求項3の何れか1項に記載の制御プログラム。
  5. 前記情報処理装置は、
    記憶装置を備え、
    前記第1取得手段は、
    取得した前記第1スキャンデータを前記記憶装置に記憶させ、
    前記クリッピング処理実行手段は、
    前記記憶装置から前記第1スキャンデータを読み出し、読み出した前記第1スキャンデータを対象に前記第2スキャンデータを作成し、作成した前記第2スキャンデータを前記記憶装置に記憶させ、
    前記ふち補正処理実行手段は、
    前記記憶装置から読み出した前記第2スキャンデータを対象に前記ふち補正処理を実行し、前記第3スキャンデータを前記記憶装置に記憶させ、
    前記特性情報取得処理実行手段は、
    前記記憶装置から読み出した前記第3スキャンデータを対象に前記特性情報を取得することを特徴とする請求項1乃至請求項4の何れか1項に記載の制御プログラム。
  6. 前記クリッピング処理実行手段は、前記クリッピング処理を実行したことに応じて、前記記憶装置から前記第1スキャンデータを削除することを特徴とする請求項5に記載の制御プログラム。
  7. 前記特性情報取得処理実行手段は、前記特性情報取得処理を実行したことに応じて、前記記憶装置から前記第3スキャンデータを削除することを特徴とする請求項5又は請求項6に記載の制御プログラム。
  8. 前記特性情報取得処理実行手段は、
    前記第3スキャンデータが白原稿に基づくスキャンデータであるか否かの情報を前記特性情報として取得する白紙検知処理を、前記特性情報取得処理として実行し
    前記所定処理実行手段は、
    前記第3スキャンデータが白原稿に基づくスキャンデータであることを、前記特性情報が示す場合に、白原稿に基づく前記第3スキャンデータに対応する前記第2スキャンデータを破棄する処理を、前記第1所定処理として実行し、
    前記コンピュータを、
    前記第1所定処理において破棄した前記第2スキャンデータ以外の前記第2スキャンデータを出力する出力手段として機能させることを特徴とする請求項1乃至請求項7の何れか1項に記載の制御プログラム。
  9. 前記特性情報取得処理実行手段は、
    前記第3スキャンデータに含まれる色要素の数を前記特性情報として取得するスケール検知処理を、前記特性情報取得処理として実行し、
    前記所定処理実行手段は、
    前記第2スキャンデータを対象に、前記特性情報取得処理実行手段が取得した前記特性情報に基づいて色のスケールを変換するスケール変換処理を、前記第1所定処理として実行し、
    前記コンピュータを、
    前記スケール変換処理により変換した後の前記第2スキャンデータを出力する出力手段として機能させることを特徴とする請求項1乃至請求項8の何れか1項に記載の制御プログラム。
  10. ユーザインタフェースと、
    コントローラと、
    を備えた情報処理装置であって、
    前記コントローラは、
    前記ユーザインタフェースを介して設定パラメータを受け付ける受付手段と、
    前記設定パラメータに基づいて、複数の画像処理のうち、いずれの画像処理を施したスキャンデータを出力するか判断する判断手段と、
    第1スキャンデータを取得する第1取得手段と、
    前記第1取得手段が取得した前記第1スキャンデータを対象にクリッピング処理を実行するクリッピング処理実行手段と、を有し、前記クリッピング処理は、原稿の読み取りにより作成される原稿スキャンデータと、前記原稿の外縁の外側の読み取りにより作成される外側スキャンデータとを含む前記第1スキャンデータから、前記原稿スキャンデータを含み、前記外側スキャンデータを含まない第2スキャンデータを作成する処理であり、
    前記コントローラは、
    前記クリッピング処理実行手段が作成した前記第2スキャンデータを対象にふち補正処理を実行するふち補正処理実行手段を有し、前記ふち補正処理は、前記第2スキャンデータのふちを補正した第3スキャンデータを作成する処理であり、
    前記コントローラは、
    前記ふち補正処理実行手段が作成した前記第3スキャンデータを対象に、前記第3スキャンデータの特性を示す特性情報を取得する特性情報取得処理を実行する特性情報取得処理実行手段を有し、
    前記コントローラは、
    記クリッピング処理及び前記特性情報取得処理を実行し、かつ、前記ふち補正処理を実行しないと、前記判断手段が前記設定パラメータに基づいて判断した場合に、前記クリッピング処理実行手段が作成した前記第2スキャンデータを対象として、第1所定処理を実行する所定処理実行手段を有し、前記第1所定処理は、前記第2スキャンデータを対象として、前記特性情報取得処理実行手段が取得した前記特性情報に基づいた処理であることを特徴とする情報処理装置。
JP2017166933A 2017-08-31 2017-08-31 制御プログラム及び情報処理装置 Active JP6870541B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017166933A JP6870541B2 (ja) 2017-08-31 2017-08-31 制御プログラム及び情報処理装置
US16/115,655 US10397442B2 (en) 2017-08-31 2018-08-29 Image processing apparatus performing edge correction process on scan data and acquiring characteristic information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017166933A JP6870541B2 (ja) 2017-08-31 2017-08-31 制御プログラム及び情報処理装置

Publications (2)

Publication Number Publication Date
JP2019047252A JP2019047252A (ja) 2019-03-22
JP6870541B2 true JP6870541B2 (ja) 2021-05-12

Family

ID=65435850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017166933A Active JP6870541B2 (ja) 2017-08-31 2017-08-31 制御プログラム及び情報処理装置

Country Status (2)

Country Link
US (1) US10397442B2 (ja)
JP (1) JP6870541B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6859903B2 (ja) * 2017-08-31 2021-04-14 ブラザー工業株式会社 スキャナドライバ、情報処理装置、及び、スキャンシステム
JP2020095116A (ja) * 2018-12-11 2020-06-18 コニカミノルタ株式会社 画像形成装置、画像形成システム、画像形成システムの制御方法及びプログラム
JP2022083319A (ja) * 2020-11-24 2022-06-03 セイコーエプソン株式会社 画像読取システム、画像読取制御装置、画像読取装置、画像読取方法およびプログラム
JP2024072210A (ja) * 2022-11-15 2024-05-27 シャープ株式会社 画像形成装置及びテストシートの読取方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4914186B2 (ja) * 2006-11-20 2012-04-11 株式会社Pfu 外部デバイス設定装置、外部デバイス設定方法、および外部デバイス
JP2012049908A (ja) * 2010-08-27 2012-03-08 Brother Ind Ltd 画像処理装置およびプログラム
JP5978717B2 (ja) * 2012-03-30 2016-08-24 ブラザー工業株式会社 情報処理装置、情報処理方法、およびプログラム
JP5975932B2 (ja) * 2013-04-24 2016-08-23 キヤノン株式会社 画像処理装置及び画像処理方法
JP2015012437A (ja) * 2013-06-28 2015-01-19 株式会社ニコン デジタルカメラ
JP5482945B1 (ja) * 2013-08-07 2014-05-07 富士ゼロックス株式会社 画像処理装置及びプログラム
JP6229415B2 (ja) * 2013-09-30 2017-11-15 ブラザー工業株式会社 画像処理装置およびコンピュータプログラム
JP2015226179A (ja) 2014-05-28 2015-12-14 Necプラットフォームズ株式会社 原稿サイズ検出装置、画像読取装置、及び原稿サイズ検出方法
JP6332081B2 (ja) * 2015-03-02 2018-05-30 京セラドキュメントソリューションズ株式会社 読取装置及びこれを備えた画像形成装置
JP6700721B2 (ja) * 2015-11-04 2020-05-27 キヤノン株式会社 画像読取装置、画像読取方法

Also Published As

Publication number Publication date
US10397442B2 (en) 2019-08-27
JP2019047252A (ja) 2019-03-22
US20190068839A1 (en) 2019-02-28

Similar Documents

Publication Publication Date Title
JP6870541B2 (ja) 制御プログラム及び情報処理装置
US20120154853A1 (en) Image processing apparatus, method, and program
US9069514B2 (en) Image processing apparatus, including conversion process judging, connectable to server via network
JP2019220055A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
JP6175905B2 (ja) 情報処理装置、情報処理方法、システムおよびプログラム
JP6879131B2 (ja) スキャンシステム、情報処理装置、及び、スキャナドライバ
JP6397183B2 (ja) 画像処理装置及び方法とプログラム
JP6874606B2 (ja) 制御プログラム、情報処理装置、及びスキャンシステム
JP6399915B2 (ja) 画像読取装置、情報処理方法及びプログラム
JP6859903B2 (ja) スキャナドライバ、情報処理装置、及び、スキャンシステム
JP2011254471A (ja) 画像処理装置、画像プレビュー方法
US20260075152A1 (en) Scanner excluding blank page data from scan data based on information outputted from trained machine learning model
JP7180363B2 (ja) 制御プログラム、情報処理装置、及びスキャンシステム
JP7159825B2 (ja) 制御プログラム、情報処理装置、及びスキャンシステム
JP4821547B2 (ja) データ処理装置
JP2016175263A (ja) 装置、プログラム及び方法
JP2022061279A (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP7651998B2 (ja) プログラム
JP7375538B2 (ja) プログラムおよび情報処理装置
JP6485051B2 (ja) 画像処理システム、画像処理装置およびプログラム
US20260019510A1 (en) Scanner outputting target object based on scan data processed by trained machine learning model
JP2023157146A (ja) プリンタ、及びプログラム
JP5593684B2 (ja) 画像読込制御装置、画像読込装置、画像読込システム、及びプログラム
JP4813953B2 (ja) 画像形成装置
JP2026049888A (ja) スキャナ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210210

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: 20210316

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210329

R150 Certificate of patent or registration of utility model

Ref document number: 6870541

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150