(57)【要約】【課題】スキャンデータに基づく画像の回転処理を適切に行う。【解決手段】モノクロスケールのスキャンデータの作成が要求され、かつ、画像の回転処理を要する所定の処理の実行が要求されている場合に、グレースケールのスキャンデータの作成を指示するスキャン指示が出力される。そして、スキャン指示の出力に応じて取得されたグレースケールのスキャンデータに対して、画像の回転処理が実行され、回転処理が実行されたグレースケールのスキャンデータが、２値のスキャンデータに変換される。このように、グレースケールのスキャンデータに対して、画像の回転処理を行うことで、処理に要する時間を短縮することが可能となり、好適に画像の回転処理を行うことができる。【選択図】図１
2019149747.tif 000002
【特許請求の範囲】
【請求項１】
操作部を備える画像処理装置のコンピュータが読み取り可能な制御プログラムであって、
前記コンピュータを、
前記操作部を介して、スキャン処理の設定値を受け付ける受付手段と、
前記受付手段が受け付けた設定値が、２値のスキャンデータの作成を要求するものであり、かつ、画像の回転処理を要する所定の処理の実行を要求するものである場合に、グレースケールのスキャンデータの作成を指示するスキャン指示を出力する指示出力手段と、
前記指示出力手段によるスキャン指示の出力に応じて取得したグレースケールのスキャンデータに対して、当該スキャンデータに基づく画像の回転処理を実行する第１回転処理実行手段と、
前記第１回転処理実行手段による回転処理が実行されたグレースケールのスキャンデータを、２値のスキャンデータに変換する第１変換手段と、
前記第１変換手段により変換された２値のスキャンデータを出力する出力手段と、
して機能させることを特徴とする制御プログラム。
【請求項２】
前記第１回転処理実行手段は、
グレースケールのスキャンデータに含まれる１画素の容量毎のデータをコピーすることで、当該スキャンデータに基づく画像の回転処理を実行することを特徴とする請求項１に記載の制御プログラム。
【請求項３】
前記指示出力手段は、
前記受付手段が受け付けた設定値が、２値のスキャンデータの作成を要求するものであり、かつ、前記所定の処理の実行を要求するものである場合であっても、前記受付手段が受け付けた設定値が、予め設定された設定解像度以上のスキャンデータの作成を要求するものであることと、予め設定された設定サイズ以上の原稿のスキャンデータの作成を要求するものであることとの少なくとも一方を条件として、２値のスキャンデータの作成を指示するスキャン指示を出力し、
前記コンピュータを、
前記指示出力手段によるスキャン指示の出力に応じて取得した２値のスキャンデータに対して、当該スキャンデータに基づく画像の回転処理を実行する第２回転処理実行手段と、
して機能させ、
前記出力手段は、
前記第２回転処理実行手段による回転処理が実行された２値のスキャンデータを出力することを特徴とする請求項１又は２に記載の制御プログラム。
【請求項４】
前記指示出力手段は、
前記受付手段が受け付けた設定値が、２値のスキャンデータの作成を要求するものであり、かつ、前記所定の処理の実行を要求するものである場合であっても、前記画像処理装置のメモリの空き容量が設定量以下であることを条件として、２値のスキャンデータの作成を指示するスキャン指示を出力し、
前記コンピュータを、
前記指示出力手段によるスキャン指示の出力に応じて取得した２値のスキャンデータに対して、当該スキャンデータに基づく画像の回転処理を実行する第２回転処理実行手段と、
して機能させ、
前記出力手段は、
前記第２回転処理実行手段による回転処理が実行された２値のスキャンデータを出力することを特徴とする請求項１又は２に記載の制御プログラム。
【請求項５】
前記受付手段が受け付けた設定値が、予め設定された設定解像度以上のスキャンデータの作成を要求するものであることと、予め設定された設定サイズ以上の原稿のスキャンデータの作成を要求するものであることとの少なくとも一方を条件として、
前記コンピュータを、
前記指示出力手段によるスキャン指示の出力に応じて取得したグレースケールのスキャンデータに対して、前記所定の処理を実行する所定処理実行手段と、
前記所定処理実行手段による処理が実行されたグレースケールのスキャンデータを、２値のスキャンデータに変換する第２変換手段と、
前記第２変換手段により変換された２値のスキャンデータに対して、当該スキャンデータに基づく画像の回転処理を実行する第３回転処理実行手段と、
して機能させ、
前記出力手段は、
前記第３回転処理実行手段による回転処理が実行された２値のスキャンデータを出力することを特徴とする請求項１又は２に記載の制御プログラム。
【請求項６】
前記画像処理装置のメモリの空き容量が設定量以下であることを条件として、
前記コンピュータを、
前記指示出力手段によるスキャン指示の出力に応じて取得したグレースケールのスキャンデータに対して、前記所定の処理を実行する所定処理実行手段と、
前記所定処理実行手段による処理が実行されたグレースケールのスキャンデータを、２値のスキャンデータに変換する第２変換手段と、
前記第２変換手段により変換された２値のスキャンデータに対して、当該スキャンデータに基づく画像の回転処理を実行する第３回転処理実行手段と、
して機能させ、
前記出力手段は、
前記第３回転処理実行手段による回転処理が実行された２値のスキャンデータを出力することを特徴とする請求項１又は２に記載の制御プログラム。
【請求項７】
操作部と、
制御部と、
を備える画像処理装置であって、
前記制御部を、
前記操作部を介して、スキャン処理の設定値を受け付ける受付手段と、
前記受付手段が受け付けた設定値が、２値のスキャンデータの作成を要求するものであり、かつ、画像の回転処理を要する所定の処理の実行を要求するものである場合に、グレースケールのスキャンデータの作成を指示するスキャン指示を出力する指示出力手段と、
前記指示出力手段によるスキャン指示の出力に応じて取得したグレースケールのスキャンデータに対して、当該スキャンデータに基づく画像の回転処理を実行する第１回転処理実行手段と、
前記第１回転処理実行手段による回転処理が実行されたグレースケールのスキャンデータを、２値のスキャンデータに変換する第１変換手段と、
前記第１変換手段により変換された２値のスキャンデータを出力する出力手段と、
して機能させることを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スキャンデータに基づく画像の回転処理を実行可能な画像処理装置のコンピュータが読み取り可能な制御プログラム等に関する。
【背景技術】
【０００２】
下記特許文献に記載されているように、スキャンデータに基づく画像を回転させる回転処理を行う技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−６３４８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本願は、スキャンデータに基づく画像の回転処理に要する時間を短縮することを課題とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、実施例に開示する制御プログラムは、操作部を備える画像処理装置のコンピュータが読み取り可能な制御プログラムであって、前記コンピュータを、前記操作部を介して、スキャン処理の設定値を受け付ける受付手段と、前記受付手段が受け付けた設定値が、２値のスキャンデータの作成を要求するものであり、かつ、画像の回転処理を要する所定の処理の実行を要求するものである場合に、グレースケールのスキャンデータの作成を指示するスキャン指示を出力する指示出力手段と、前記指示出力手段によるスキャン指示の出力に応じて取得したグレースケールのスキャンデータに対して、当該スキャンデータに基づく画像の回転処理を実行する第１回転処理実行手段と、前記第１回転処理実行手段による回転処理が実行されたグレースケールのスキャンデータを、２値のスキャンデータに変換する第１変換手段と、前記第１変換手段により変換された２値のスキャンデータを出力する出力手段と、して機能させることを特徴とする。
【０００６】
上記課題を解決するために、実施例に開示する画像処理装置は、操作部と、制御部と、を備える画像処理装置であって、前記制御部を、前記操作部を介して、スキャン処理の設定値を受け付ける受付手段と、前記受付手段が受け付けた設定値が、２値のスキャンデータの作成を要求するものであり、かつ、画像の回転処理を要する所定の処理の実行を要求するものである場合に、グレースケールのスキャンデータの作成を指示するスキャン指示を出力する指示出力手段と、前記指示出力手段によるスキャン指示の出力に応じて取得したグレースケールのスキャンデータに対して、当該スキャンデータに基づく画像の回転処理を実行する第１回転処理実行手段と、前記第１回転処理実行手段による回転処理が実行されたグレースケールのスキャンデータを、２値のスキャンデータに変換する第１変換手段と、前記第１変換手段により変換された２値のスキャンデータを出力する出力手段と、して機能させることを特徴とする。
【発明の効果】
【０００７】
実施例に開示する制御プログラム及び画像処理装置では、２値のスキャンデータの作成が要求され、かつ、画像の回転処理を要する所定の処理の実行が要求されている場合に、グレースケールのスキャンデータの作成を指示するスキャン指示が出力される。そして、スキャン指示の出力に応じて取得されたグレースケールのスキャンデータに対して、画像の回転処理が実行され、回転処理が実行されたグレースケールのスキャンデータが、２値のスキャンデータに変換される。このように、グレースケールのスキャンデータに対して、画像の回転処理を行うことで、処理に要する時間を短縮することが可能となり、好適に画像の回転処理を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】スキャンシステム１のブロック図である。
【図２】トリミング処理の実行を示す図である。
【図３】付足処理の実行を示す図である。
【図４】サイズ検知処理の実行を示す図である。
【図５】モノクロスケールのスキャンデータに基づく画像の回転処理の実行を示す図である。
【図６】グレースケールのスキャンデータに基づく画像の回転処理の実行を示す図である。
【図７】スキャナドライバ３０のフローチャートを示す図である。
【図８】スキャナドライバ３０のフローチャートを示す図である。
【図９】スキャナドライバ３０のフローチャートを示す図である。
【図１０】スキャナドライバ３０のフローチャートを示す図である。
【図１１】スキャナドライバ３０のフローチャートを示す図である。
【図１２】スキャナドライバ３０のフローチャートを示す図である。
【図１３】スキャナドライバ３０のフローチャートを示す図である。
【発明を実施するための形態】
【０００９】
＜スキャンシステムの構成＞
図１に、本願に係る実施形態として例示されるスキャンシステム１のブロック図を示す。スキャンシステム１は、ＰＣ（本発明の画像処理装置の一例）１０、スキャナ５０を備える。
【００１０】
ＰＣ１０は、ＣＰＵ（コンピュータ及び制御部の一例）１２、メモリ１４、ＬＣＤ１６、入力Ｉ／Ｆ（操作部の一例）１８、ネットワークＩ／Ｆ２０を主に備えている。これらの構成要素は、バス２２を介して互いに通信可能とされている。
【００１１】
ＰＣ１０は、スキャナ５０と、ネットワークＩ／Ｆ２０及びネットワーク５２を通じて通信可能となっている。通信の方式としては、例えば、有線ＬＡＮ、ＵＳＢ、Ｗｉ−Ｆｉ（登録商標）やＢｌｕｅｔｏｏｔｈ（登録商標）を採用できる。なお、スキャナ５０は、ＰＣ１０との間で各種の情報や指示信号を送受信し、ＰＣ１０による制御に基づいて、スキャンデータを作成する。
【００１２】
ＣＰＵ１２は、メモリ１４内のスキャナドライバ（制御プログラムの一例）３０、アプリケーション３２に従って処理を実行する。スキャナドライバ３０は、スキャナ５０のデバイスドライバであり、スキャナ５０の作動を制御する。また、アプリケーション３２は、例えば、スキャナ５０により作成されたスキャンデータに対して、任意の画像処理を実行するためのプログラムであり、具体的には、Ａｄｏｂｅ  Ｐｈｏｔｏｓｈｏｐ（登録商標）などの画像編集ソフトである。ちなみに、スキャナドライバ３０及び、アプリケーション３２は、例えば、ＴＷＡＩＮ規格に従ったプログラムである。
【００１３】
なお、以下の説明では、スキャナドライバ３０等を実行するＣＰＵ１２のことを、単にプログラム名でも記載する場合がある。例えば、「スキャナドライバ３０が」という記載は、「スキャナドライバ３０を実行するＣＰＵ１２が」ということを意味する場合がある。
【００１４】
また、メモリ１４は、データ記憶領域（メモリの一例）３４を備える。データ記憶領域３４は、スキャナドライバ３０等の実行に必要なデータなどを記憶する領域である。なお、メモリ１４は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ＨＤＤ、ＣＰＵ１２が備えるバッファなどが組み合わされて構成されている。
【００１５】
メモリ１４は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００１６】
ＬＣＤ１６は、ＰＣ１０の各種機能を表示する。入力Ｉ／Ｆ１８は、キーボード，マウス等を含み、ユーザ操作を入力するためのインタフェースである。
【００１７】
＜スキャンシステムの作動＞
本明細書でのスキャンシステム１の作動の説明において、基本的に、プログラムに記述された命令に従ったＣＰＵ１２の処理を示す。すなわち、以下の説明における「判断」「抽出」「選択」「算出」「決定」「特定」「取得」「受付」「制御」「設定」等の処理は、ＣＰＵ１２の処理を表している。ＣＰＵ１２による処理は、ＯＳ３６を介したハードウェア制御も含む。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、ＣＰＵ１２が要求することなくデータを受信するという処理も、「ＣＰＵ１２がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「命令」「応答」「要求」等の文言を、「命令」「応答」「要求」等を示す情報そのものという意味で記載してもよい。
【００１８】
スキャンシステム１では、通常、ＰＣ１０において、入力Ｉ／Ｆ１８を介して、スキャン処理の設定値が入力され、入力された設定値に従ったスキャン指示が、スキャナ５０に送信されることで、スキャナ５０により、ユーザの意図に従ったスキャン処理が実行される。ＰＣ１０においてスキャナ５０によるスキャン処理に対して設定されるスキャン処理の設定値として、トリミング処理に関する設定値、付足処理に関する設定値、原稿向き自動補正処理（以下、「向き補正処理」と記載する）に関する設定値、原稿サイズに関する設定値、スキャンデータの色のスケールに関する設定値、スキャンデータの解像度に関する設定値などがある。
【００１９】
トリミング処理に関する設定値は、スキャンデータに基づく画像の任意の縁部を除去する処理の実行の有無を指定する値であり、ＯＮとＯＦＦとがある。また、トリミング処理に関する設定値は、画像からの除去領域を指定する情報を含む。このトリミング処理は、画像を回転させる処理（以下、「回転処理」と記載する）と、画像から除去領域を除去する処理（以下、「除去処理」と記載する）とにより構成される処理となっており、スキャナドライバ３０によって実行される。
【００２０】
具体的に、図２（ａ）に示すように、スキャンデータに基づく画像１００のうちの左右の領域（斜線で示される領域）が、除去領域１０２ａ，ｂとして設定されている場合について説明する。なお、スキャンデータは、左右方向に延びるライン（点線１０４）毎のデータによって構成されている。つまり、画像１００の画像データは、行単位のデータによって構成されている。そこで、スキャナドライバ３０は、スキャナ５０からスキャンデータを取得すると、行単位のデータの除去により、除去領域１０２をトリミングするべく、スキャンデータに基づく画像１００を反時計回りに９０度回転させる回転処理を実行する。これにより、図２（ｂ）に示すように、９０度回転された画像１１０において、除去領域１０２ａは下縁に位置する。この際、その画像１１０の画像データの最後尾に、除去領域１０２ａを示す行単位の画像データが位置する。このため、スキャナドライバ３０は、画像１１０の画像データから、最後尾に位置する行単位の画像データを除去する。これにより、画像１１０から除去領域１０２ａを除去する除去処理が実行される。
【００２１】
続いて、スキャナドライバ３０は、除去領域１０２ａが除去された画像を反時計回りに１８０度回転させる回転処理を実行する。これにより、図２（ｃ）に示すように、１８０度回転された画像１２０において、除去領域１０２ｂは下縁に位置する。この際、その画像１２０の画像データの最後尾に、除去領域１０２ｂを示す行単位の画像データが位置する。このため、スキャナドライバ３０は、画像１２０の画像データから、最後尾に位置する行単位の画像データを除去する。これにより、画像１２０から除去領域１０２ｂを除去する除去処理が実行され、図２（ｄ）に示すように、スキャンデータに基づく画像１００から、除去領域１０２ａ，ｂが除去された画像１３０が得られる。
【００２２】
また、付足処理に関する設定値は、スキャンデータに基づく画像の任意の縁部に余白画像を付加する処理の実行の有無を指定する値であり、ＯＮとＯＦＦとがある。また、付足処理に関する設定値は、余白画像を付加する位置を指定する情報を含む。この付足処理は、回転処理と、スキャンデータに基づく画像に余白画像を付加する処理（以下、「付加処理」と記載する）とにより構成される処理となっており、スキャナドライバ３０によって実行される。
【００２３】
具体的に、図３（ａ）に示すように、スキャンデータに基づく画像１４０の左右の縁部に、余白画像１４２ａ，ｂを付加する付足処理が設定されている場合について説明する。この画像１４０においても、スキャンデータは、左右方向に延びるライン（点線１４４）毎のデータによって構成されている。つまり、画像１４０の画像データは、行単位のデータによって構成されている。そこで、スキャナドライバ３０は、スキャナ５０からスキャンデータを取得すると、スキャンデータに基づく画像１４０の右縁部に、余白画像１４２ｂを行単位のデータとして付加するべく、画像１４０を反時計回りに９０度回転させる回転処理を実行する。これにより、図３（ｂ）に示すように、９０度回転された画像１５０において、余白画像１４２ａを付加する位置が下縁となる。このため、スキャナドライバ３０は、画像１５０の画像データの最後尾に、余白画像１４２ａの行単位の画像データを付加する。これにより、画像１５０に余白画像１４２ａを付加する付加処理が実行される。
【００２４】
続いて、スキャナドライバ３０は、余白画像１４２ａが付加された画像を反時計回りに１８０度回転させる回転処理を実行する。これにより、図３（ｃ）に示すように、１８０度回転された画像１６０において、余白画像１４２ｂを付加する位置が下縁となる。このため、スキャナドライバ３０は、画像１６０の画像データの最後尾に、余白画像１４２ｂの行単位の画像データを付加する。これにより、画像１６０に余白画像１４２ｂを付加する付加処理が実行され、図３（ｄ）に示すように、スキャンデータに基づく画像１４０に、余白画像１４２ａ，ｂが付加された画像１７０が得られる。
【００２５】
また、向き補正処理に関する設定値は、スキャンデータに基づく画像の向きを自動で補正する処理の実行の有無を指定する値であり、ＯＮとＯＦＦとがある。この向き補正処理は、文字認識処理（以下、「ＯＣＲ処理」と記載する）と、回転処理とにより構成される処理となっており、スキャナドライバ３０によって実行される。
【００２６】
具体的には、スキャナドライバ３０は、スキャナ５０からスキャンデータを取得すると、ＯＣＲ処理により、スキャンデータに基づく画像に含まれる文字の向きを特定する。そして、スキャナドライバ３０は、特定された文字の向きが正常となるように、回転処理を実行する。つまり、例えば、スキャンデータに基づく画像に含まれる文字の向きが正常な状態から上下方向に１８０度回転している場合に、スキャナドライバ３０は、スキャンデータに基づく画像を上下方向に１８０度回転させる回転処理を行う。これにより、上下方向に反転していない画像が得られる。
【００２７】
また、原稿サイズに関する設定値は、スキャン処理の対象となる原稿のサイズを指定する値であり、手動設定と自動設定とがある。手動設定では、Ａ４，Ｂ５等の通常のカット紙の用紙サイズから、ユーザにより任意のものが設定される。ちなみ、スキャナ５０は、最大でＡ４サイズの原稿をスキャン可能なデバイスとされている。一方、自動設定では、スキャナ５０にセットされている原稿のサイズを自動的に検知する処理（以下、「サイズ検知処理」と記載する）が実行される。このサイズ検知処理は、原稿以外の領域（以下、「原稿外領域」と記載する）を特定する処理と、トリミング処理とにより構成される処理となっており、スキャナドライバ３０によって実行される。
【００２８】
具体的に、原稿サイズに関する設定値として自動設定が設定されており、例えば、Ｂ５サイズの原稿がスキャナ５０にセットされている場合について説明する。このような場合に、スキャナドライバ３０は、スキャナ５０でスキャン可能な最大の原稿サイズ、つまり、Ａ４サイズでのスキャン指示をスキャナ５０に送信する。そして、スキャナドライバ３０は、スキャナ５０からＡ４サイズの原稿のスキャンデータを取得する。
【００２９】
なお、スキャナ５０では、原稿を読み取る読み取り台において、原稿を背面側から抑える原稿カバーが所定の色に着色されている。このため、スキャンデータに基づく画像２００では、図４（ａ）に示すように、原稿に相当する画像２０２の周囲に、原稿カバーの色を読み取った画像が、原稿の外側の画像（斜線で示される画像）２０４として存在する。そこで、スキャナドライバ３０は、スキャンデータに基づいて、原稿カバーに着色されている色の画像データを、原稿の外側の画像２０４の画像データとして特定する。これにより、原稿外領域が特定される。
【００３０】
そして、原稿外領域が特定されると、スキャナドライバ３０は、上述したトリミング処理と同様の処理に従って、スキャンデータに基づく画像２００から原稿外領域の画像２０４を除去する。つまり、図４（ｂ）に示すように、スキャンデータに基づく画像２００において、原稿外領域の画像２０４の一部の画像２０８が下縁に位置する。この際、その画像２００の画像データの最後尾に、画像２０８を示す行単位の画像データが位置する。このため、スキャナドライバ３０は、画像２００の画像データから、最後尾に位置する行単位の画像データを除去する。これにより、画像２００から原稿外領域の画像２０４の一部の画像２０８を除去する除去処理が実行される。
【００３１】
次に、スキャナドライバ３０は、画像２０８が除去された画像を反時計回りに９０度回転させる回転処理を実行する。これにより、図４（ｃ）に示すように、９０度回転された画像２１０において、原稿外領域の画像２０４の一部の画像２１２が下縁に位置する。このため、スキャナドライバ３０は、画像２１０の画像データから、最後尾に位置する行単位の画像データを除去する。これにより、画像２１０から原稿外領域の画像２０４の一部の画像２１２を除去する除去処理が実行される。
【００３２】
続いて、スキャナドライバ３０は、画像２１２が除去された画像を反時計回りに９０度回転させる回転処理を実行する。これにより、図４（ｄ）に示すように、９０度回転された画像２１６において、原稿外領域の画像２０４の一部の画像２１８が下縁に位置する。このため、スキャナドライバ３０は、画像２１６の画像データから、最後尾に位置する行単位の画像データを除去する。これにより、画像２１６から原稿外領域の画像２０４の一部の画像２１８を除去する除去処理が実行される。
【００３３】
さらに、スキャナドライバ３０は、画像２１８が除去された画像を反時計回りに９０度回転させる回転処理を実行する。これにより、図４（ｅ）に示すように、９０度回転された画像２２０において、原稿外領域の画像２０４の一部の画像２２２が下縁に位置する。このため、スキャナドライバ３０は、画像２２０の画像データから、最後尾に位置する行単位の画像データを除去する。これにより、画像２２０から原稿外領域の画像２０４の一部の画像２２２を除去する除去処理が実行され、図４（ｆ）に示すように、スキャンデータに基づく画像２００から、原稿外領域の画像２０４が除去された画像２０２、つまり、原稿に相当する画像が得られる。
【００３４】
また、スキャンデータの色のスケールに関する設定値は、ビットマップ画像データにおける１ピクセルに対して設定可能な色数を示す値であり、２４ｂｉｔ（１６６７７７２１６色）のカラースケール，８ｂｉｔ（２５６色）のグレースケール，１ｂｉｔ（２色：白と黒）のモノクロスケールである。また、スキャンデータの解像度に関する設定値は、スキャン処理時の読取精度を指定する値であり、３００ｄｐｉ，５００ｄｐｉ等である。
【００３５】
このような設定値が、ＰＣ１０では、スキャナ５０によるスキャン処理に対して設定可能とされている。そして、ユーザ操作により、入力Ｉ／Ｆ１８を介して、各種設定値が入力されると、スキャナドライバ３０が、入力された各種設定値を受け付け、受け付けた各種設定値に応じたスキャン指示を、スキャナ５０に送信する。ただし、スキャンデータの色のスケールに応じて、回転処理に要する時間が長くなったり、回転処理におけるメモリ容量を圧迫するといった問題が存在する。そこで、回転処理が必要な特定の処理、つまり、トリミング処理，向き補正処理等の実行が設定されている場合において、入力された設定値と異なるスキャン指示が送信される場合がある。
【００３６】
具体的に、まず、２値のスキャンデータ、つまり、モノクロスケールのスキャンデータに対する回転処理について説明する。この説明では、図５（ａ）に示す画像３００を、反時計回りに９０度回転させる回転処理について説明する。なお、図５において、１枡が１ビットを示しており、図５に示す画像３００は、モノクロスケールのスキャンデータに基づく画像であるため、１枡、つまり、１ビットで１画素となる。また、１枡毎の数字は画像データを模式的に示している。そして、１行目の各画素に対する回転処理について説明する。
【００３７】
ＰＣ１０での処理は、一般的に、１バイト単位、つまり、８ビット単位で実行される。このため、画像３００での１行目の各画素に対する回転処理では、８ビット、つまり、８画素の画像データが、図５（ｂ）に示すように、特定される。そして、８画素の画像データのうちの１個の画素の画像データ（ここでは、左端の画素３０２の画像データ）が特定される。つまり、モノクロスケールのスキャンデータでは、１画素が１ビットであるため、ＰＣ１０の８ビット単位の処理の実行により、まず、８画素（８ビット）の画像データが特定され、それら８画素の画像データから１画素（１ビット）の画像データが特定される。このように、１ビット毎の画像データへのアクセスは、一般的に、ビットアクセスと呼ばれる。
【００３８】
次に、図５（ｃ）に示すように、回転処理により移動させるべき画素、つまり、画像３００の中央を中心として、画素３０２を反時計回りに９０度回転させた位置にある画素３０６に、画素３０２の画像データがコピーされる。これにより、画素３０２の画像データに対する回転処理が完了する。そして、残りの７個の画素の各々の画像データに対して、画素３０２の画像データに対する回転処理と同様の回転処理が実行されることで、１行目の各画素に対する回転処理が完了する。さらに、２行目以降の各画素の画像データに対する回転処理が、１行目の各画素の画像データに対する回転処理と同様に実行されることで、画像３００を反時計回りに９０度回転させた画像３１０が得られる。
【００３９】
次に、グレースケールのスキャンデータに対する回転処理について説明する。この説明では、図６（ａ）に示す画像３２０を、反時計回りに９０度回転させる回転処理について説明する。なお、図６において、１枡が１ビットを示しており、図６に示す画像３２０は、グレースケールのスキャンデータに基づく画像であるため、８枡、つまり、８ビットで１画素となる。そして、１行目の各画素に対する回転処理について説明する。
【００４０】
１行目の複数の画素のうちの先頭の８ビット、つまり、８枡の画像データが特定されることで、左端の画素３２２が特定される。つまり、グレースケールのスキャンデータでは、１画素が８ビットであるため、ＰＣ１０の８ビット単位の処理の実行により、ビットアクセスを行うことなく、１画素（８ビット）の画像データが特定される。
【００４１】
次に、図６（ｂ）に示すように、回転処理により移動させるべき画素、つまり、画像３２０の中央を中心として、画素３２２を反時計回りに９０度回転させた位置にある画素３２６に、画素３２２の画像データがコピーされる。これにより、画素３２２の画像データに対する回転処理が完了する。そして、残りの７個の画素の各々の画像データに対して、画素３２２の画像データに対する回転処理と同様の回転処理が実行されることで、１行目の各画素に対する回転処理が完了する。さらに、２行目以降の各画素の画像データに対する回転処理が、１行目の各画素の画像データに対する回転処理と同様に実行されることで、画像３２０を反時計回りに９０度回転させた画像３３０が得られる。
【００４２】
このように、モノクロスケールのスキャンデータに対する回転処理では、ビットアクセスを行う必要があり、グレースケールのスキャンデータに対する回転処理では、ビットアクセスを行う必要がない。また、画像を構成する画素の数は非常に多い。このため、画素毎にビットアクセスを行っていては、回転処理に要する時間が長くなる。このようなことに鑑みて、回転処理が必要な処理（以下、「要回転処理」と記載する）、つまり、トリミング処理，付足処理，向き補正処理，サイズ検知処理の設定値がＯＮにされている場合に、ユーザ設定により、色のスケールに関する設定値がモノクロスケールに設定されていても、スキャナドライバ３０は、グレースケールでのスキャン指示をスキャナ５０に送信する。
【００４３】
これにより、スキャナドライバ３０は、グレースケールのスキャンデータを受信し、受信したグレースケールのスキャンデータに基づいて、要回転処理を実行する。つまり、スキャナドライバ３０は、グレースケールのスキャンデータに対して、トリミング処理，付足処理，向き補正処理，サイズ検知処理の何れかを実行する。これにより、回転処理を含む要回転処理の実行に要する時間を短縮することが可能となる。ただし、ユーザ設定により、色のスケールに関する設定値はモノクロスケールに設定されている。つまり、ユーザは、モノクロスケールのスキャンデータを望んでいる。このため、要回転処理が終了した後に、スキャナドライバ３０は、グレースケールのスキャンデータをモノクロスケールのスキャンデータに変換する。そして、スキャナドライバ３０は、モノクロスケールのスキャンデータに変換したスキャンデータをアプリケーション３２に出力する。これにより、スキャナドライバ３０による処理が完了する。
【００４４】
ただし、グレースケールのスキャンデータは、当然、モノクロスケールのスキャンデータと比較して、データ量が多い。このため、データ量の抑制を図るべき状況では、グレースケールのスキャンデータに対する回転処理より、モノクロスケールのスキャンデータに対する回転処理を実行することが好ましい。そこで、データ量の抑制を図るべき状況では、スキャナドライバ３０は、ユーザ設定に応じて、モノクロスケールでのスキャン指示をスキャナ５０に送信する。つまり、要回転処理の設定値がＯＮに設定されており、かつ、色のスケールに関する設定値がモノクロスケールに設定されている場合であっても、データ量の抑制を図るべき状況では、スキャナドライバ３０は、ユーザ設定に応じて、モノクロスケールでのスキャン指示をスキャナ５０に送信する。
【００４５】
そして、スキャナドライバ３０は、モノクロスケールのスキャンデータを受信し、受信したモノクロスケールのスキャンデータに基づいて、要回転処理を実行する。これにより、処理時間の短縮を図ることはできないが、データ量の抑制を図ることが可能となる。なお、データ量の抑制を図るべき状況として、スキャナ５０から送信されるスキャンデータのデータ量が多くなると想定される場合と、ＰＣ１０のメモリの空き容量が少ない場合とが考えられる。このため、ユーザによるスキャン処理の設定値が、予め設定された設定解像度以上のスキャンデータの作成を要求するものである場合、及び、予め設定されたサイズ以上の原稿のスキャンデータの作成を要求するものである場合に、スキャナ５０から送信されるスキャンデータのデータ量が多くなると想定し、スキャナドライバ３０は、モノクロスケールでのスキャン指示をスキャナ５０に送信する。また、ＰＣ１０のデータ記憶領域３４の空き容量が設定量以下である場合に、スキャナドライバ３０は、モノクロスケールでのスキャン指示をスキャナ５０に送信する。
【００４６】
ただし、向き補正処理ではＯＣＲ処理を行う必要があり、サイズ検知処理では原稿外領域の特定処理を行う必要がある。そして、ＯＣＲ処理及び原稿外検知処理では、モノクロスケールのスキャンデータに基づいて各処理を適切に実行できない虞がある。これは、モノクロスケールのスキャンデータでは、色数が少ないため、文字の検知および、原稿外領域の特定を行い難いためである。このため、要回転処理が向き補正処理およびサイズ検知処理である場合には、データ量の抑制を図るべき状況であっても、スキャナドライバ３０は、モノクロスケールでのスキャン指示でなく、グレースケールのスキャン指示をスキャナ５０に送信する。つまり、要回転処理がトリミング処理および付足処理である場合にのみ、データ量の抑制を図るべき状況において、スキャナドライバ３０は、モノクロスケールでのスキャン指示をスキャナ５０に送信する。
【００４７】
以上のことを纏めると、トリミング処理若しくは付足処理の設定値がＯＮに設定されており、かつ、色のスケールに関する設定値がモノクロスケールに設定されている場合であっても、データ量の抑制を図るべき状況では、スキャナドライバ３０は、モノクロスケールでのスキャン指示をスキャナ５０に送信する。そして、スキャナドライバ３０は、モノクロスケールのスキャンデータを受信し、受信したモノクロスケールのスキャンデータに基づいて、トリミング処理、若しくは、付足処理を実行する。これにより、データ量の抑制を図ることができる。なお、トリミング処理、若しくは、付足処理が実行されたスキャンデータは、モノクロスケールであり、ユーザはモノクロスケールのスキャンデータを望んでいるため、スキャンデータの色スケールの変換を行う必要はない。このため、スキャナドライバ３０は、トリミング処理、若しくは、付足処理を実行すると、各処理を実行したスキャンデータをアプリケーション３２に出力する。これにより、スキャナドライバ３０による処理が完了する。
【００４８】
また、向き補正処理若しくはサイズ検知処理の設定値がＯＮに設定されており、かつ、色のスケールに関する設定値がモノクロスケールに設定されている場合には、データ量の抑制を図るべき状況であっても、スキャナドライバ３０は、グレースケールのスキャン指示をスキャナ５０に送信する。そして、スキャナドライバ３０は、グレースケールのスキャンデータを受信し、受信したグレースケールのスキャンデータに基づいて、ＯＣＲ処理、若しくは、原稿外領域の特定処理を実行する。これにより、ＯＣＲ処理、若しくは、原稿外領域の特定処理を適切に実行することができる。
【００４９】
そして、ＯＣＲ処理もしくは原稿外領域の特定処理が実行された後に、向き補正処理では回転処理が実行され、サイズ検知処理ではトリミング処理が実行される。そして、回転処理およびトリミング処理は、処理速度の短縮を目的としなければ、モノクロスケールのスキャンデータに対して実行することができる。また、スキャナドライバ３０がグレースケールのスキャン指示を送信した目的は、ＯＣＲ処理および原稿外領域の特定処理の適切な実行であり、処理速度の短縮でない。さらに言えば、ＰＣ１０は、データ量の抑制を図るべき状況下にある。
【００５０】
このため、スキャナドライバ３０は、ＯＣＲ処理、若しくは、原稿外領域の特定処理を実行すると、各処理が実行されたスキャンデータ、つまり、グレースケールのスキャンデータを、モノクロスケールのスキャンデータに変換する。そして、スキャナドライバ３０は、モノクロスケールのスキャンデータに基づいて、要回転処理が向き補正処理であれば、回転処理を実行し、要回転処理がサイズ検知処理であれば、トリミング処理を実行する。これにより、回転処理、若しくは、トリミング処理が実行される期間だけでも、データ量の抑制を図ることができる。そして、スキャナドライバ３０は、回転処理、若しくは、トリミング処理を実行すると、各処理を実行したスキャンデータをアプリケーション３２に出力する。これにより、スキャナドライバ３０による処理が完了する。
【００５１】
なお、要回転処理の設定値がＯＦＦにされている場合において、スキャナドライバ３０は、設定値に従ったスキャン指示をスキャナ５０に送信し、従来のスキャンシステムで実行される処理と同じ処理が実行される。また、要回転処理の設定値がＯＮにされていても、ユーザ設定により、色のスケールに関する設定値がモノクロスケール以外のスケール、つまり、カラースケール若しくはグレースケールに設定されている場合において、スキャナドライバ３０は、設定値に従ったスキャン指示をスキャナ５０に送信し、従来のスキャンシステムで実行される処理と同じ処理が実行される。
【００５２】
＜スキャナドライバの処理＞
上述したＰＣ１０からスキャナ５０へのスキャン指示の送信，および、スキャン指示の送信に応じて取得されたスキャンデータに対する各種処理の実行は、ＣＰＵ１２においてスキャナドライバ３０が実行されることによって行われる。以下に、図７乃至図１２を用いて、スキャナドライバ３０のフローが実行される際の処理を説明する。本処理は、スキャナドライバ３０が起動し、スキャン処理の設定に関するユーザ操作が入力された後に、スキャン処理の実行を指示するユーザ操作が入力された場合に実行される処理である。
【００５３】
まず、スキャナドライバ３０は、要回転処理に関する設定値がＯＮに設定されているか否かを判断する（Ｓ１００：図７参照）。この際、要回転処理に関する設定値がＯＦＦに設定されている場合（Ｓ１００：ＮＯ）に、従来処理と同じ処理が実行される（Ｓ１０２）。なお、従来処理とは、スキャン処理の設定に従い、スキャン処理の実行とスキャンデータに基づく画像の画像処理を行うことである。そして、本フローが終了する。
【００５４】
また、要回転処理に関する設定値がＯＮに設定されている場合（Ｓ１００：ＹＥＳ）に、スキャナドライバ３０は、色のスケールに関する設定値がモノクロスケールに設定されているか否かを判断する（Ｓ１０４）。この際、色のスケールに関する設定値がモノクロスケール以外に設定されている場合（Ｓ１０４：ＮＯ）に、従来処理と同じ処理が実行される（Ｓ１０２）。そして、本フローが終了する。
【００５５】
また、色のスケールに関する設定値がモノクロスケールに設定されている場合（Ｓ１０４：ＹＥＳ）に、スキャナドライバ３０は、要回転処理が向き補正処理であるか否かを判断する（Ｓ１０６）。この際、要回転処理が向き補正処理である場合（Ｓ１０６：ＹＥＳ）に、スキャナドライバ３０は、データ量の抑制を図るべき状況であるか否かを判断する（Ｓ１０８）。そして、データ量の抑制を図るべき状況でない場合（Ｓ１０８：ＮＯ）に、速度優先向き補正処理実行サブルーチンが実行される（Ｓ１１０）。
【００５６】
速度優先向き補正処理実行サブルーチンでは、スキャナドライバ３０は、グレースケールでのスキャン指示をスキャナ５０に送信する（Ｓ１４０：図８参照）。そして、スキャナドライバ３０は、グレースケールのスキャンデータを取得する（Ｓ１４２）。続いて、スキャナドライバ３０は、グレースケールのスキャンデータに基づいてＯＣＲ処理を実行する（Ｓ１４４）。そして、スキャナドライバ３０は、ＯＣＲ処理の処理結果に基づいて、スキャンデータに基づく画像に含まれる文字の方向を検知する（Ｓ１４６）。次に、スキャナドライバ３０は、検知した文字の方向を利用して回転処理を実行する（Ｓ１４８）。続いて、スキャナドライバ３０は、回転処理を実行したグレースケールのスキャンデータを、モノクロスケールのスキャンデータに変換する（Ｓ１５０）。そして、スキャナドライバ３０は、モノクロスケールに変換したスキャンデータをアプリケーション３２に出力する（Ｓ１５２）。これにより、速度優先向き補正処理実行サブルーチンが終了し、本フローが終了する。
【００５７】
また、Ｓ１０８（図７参照）でデータ量の抑制を図るべき状況である場合（Ｓ１０８：ＹＥＳ）に、メモリ優先向き補正処理実行サブルーチンが実行される（Ｓ１１２）。メモリ優先向き補正処理実行サブルーチンでは、スキャナドライバ３０は、グレースケールでのスキャン指示をスキャナ５０に送信する（Ｓ１６０：図９参照）。そして、スキャナドライバ３０は、グレースケールのスキャンデータを取得する（Ｓ１６２）。続いて、スキャナドライバ３０は、グレースケールのスキャンデータに基づいてＯＣＲ処理を実行する（Ｓ１６４）。そして、スキャナドライバ３０は、ＯＣＲ処理の処理結果に基づいて、スキャンデータに基づく画像に含まれる文字の方向を検知する（Ｓ１６６）。次に、スキャナドライバ３０は、ＯＣＲ処理を実行したグレースケールのスキャンデータを、モノクロスケールのスキャンデータに変換する（Ｓ１６８）。続いて、スキャナドライバ３０は、Ｓ１６６で検知した文字の方向を利用して回転処理を実行する（Ｓ１７０）。そして、スキャナドライバ３０は、回転処理を実行したスキャンデータをアプリケーション３２に出力する（Ｓ１７２）。これにより、メモリ優先向き補正処理実行サブルーチンが終了し、本フローが終了する。
【００５８】
また、Ｓ１０６（図７参照）で要回転処理が向き補正処理でない場合（Ｓ１０６：ＮＯ）に、スキャナドライバ３０は、要回転処理がサイズ検知処理で有るか否かを判断する（Ｓ１１４）。この際、要回転処理がサイズ検知処理である場合（Ｓ１１４：ＹＥＳ）に、スキャナドライバ３０は、データ量の抑制を図るべき状況であるか否かを判断する（Ｓ１１６）。そして、データ量の抑制を図るべき状況でない場合（Ｓ１１６：ＮＯ）に、速度優先サイズ検知処理実行サブルーチンが実行される（Ｓ１１８）。
【００５９】
速度優先サイズ検知処理実行サブルーチンでは、スキャナドライバ３０は、グレースケールでのスキャン指示をスキャナ５０に送信する（Ｓ１８０：図１０参照）。そして、スキャナドライバ３０は、グレースケールのスキャンデータを取得する（Ｓ１８２）。続いて、スキャナドライバ３０は、グレースケールのスキャンデータに基づいて原稿外領域の検知処理を実行する（Ｓ１８４）。そして、スキャナドライバ３０は、原稿外領域の検知処理の処理結果に基づいて、トリミング処理を実行する（Ｓ１８６）。続いて、スキャナドライバ３０は、トリミング処理を実行したグレースケールのスキャンデータを、モノクロスケールのスキャンデータに変換する（Ｓ１９０）。そして、スキャナドライバ３０は、モノクロスケールに変換したスキャンデータをアプリケーション３２に出力する（Ｓ１９４）。これにより、速度優先サイズ検知処理実行サブルーチンが終了し、本フローが終了する。
【００６０】
また、Ｓ１１６（図７参照）でデータ量の抑制を図るべき状況である場合（Ｓ１１６：ＹＥＳ）に、メモリ優先サイズ検知処理実行サブルーチンが実行される（Ｓ１２０）。メモリ優先サイズ検知処理実行サブルーチンでは、スキャナドライバ３０は、グレースケールでのスキャン指示をスキャナ５０に送信する（Ｓ２００：図１１参照）。そして、スキャナドライバ３０は、グレースケールのスキャンデータを取得する（Ｓ２０２）。続いて、スキャナドライバ３０は、グレースケールのスキャンデータに基づいて原稿外領域の検知処理を実行する（Ｓ２０４）。そして、スキャナドライバ３０は、原稿外領域の検知処理を実行したグレースケールのスキャンデータを、モノクロスケールのスキャンデータに変換する（Ｓ２０６）。次に、スキャナドライバ３０は、原稿外領域の検知処理の処理結果に基づいて、トリミング処理を実行する（Ｓ２０８）。そして、スキャナドライバ３０は、トリミング処理を実行したスキャンデータをアプリケーション３２に出力する（Ｓ２１４）。これにより、メモリ優先サイズ検知処理実行サブルーチンが終了し、本フローが終了する。
【００６１】
また、Ｓ１１４（図７参照）で要回転処理がサイズ検知処理でない場合（Ｓ１１４：ＮＯ）に、スキャナドライバ３０は、データ量の抑制を図るべき状況であるか否かを判断する（Ｓ１２２）。そして、データ量の抑制を図るべき状況でない場合（Ｓ１２２：ＮＯ）に、速度優先トリミングｏｒ付足処理実行サブルーチンが実行される（Ｓ１２４）。
【００６２】
速度優先トリミングｏｒ付足処理実行サブルーチンでは、スキャナドライバ３０は、グレースケールでのスキャン指示をスキャナ５０に送信する（Ｓ２２０：図１２参照）。そして、スキャナドライバ３０は、グレースケールのスキャンデータを取得する（Ｓ２２２）。続いて、スキャナドライバ３０は、グレースケールのスキャンデータに基づいてトリミング処理、若しくは、付足処理を実行する（Ｓ２２６）。そして、スキャナドライバ３０は、トリミング処理、若しくは、付足処理を実行したグレースケールのスキャンデータを、モノクロスケールのスキャンデータに変換する（Ｓ２２８）。そして、スキャナドライバ３０は、モノクロスケールに変換したスキャンデータをアプリケーション３２に出力する（Ｓ２３０）。これにより、速度優先トリミングｏｒ付足処理実行サブルーチンが終了し、本フローが終了する。
【００６３】
また、Ｓ１２２（図７参照）でデータ量の抑制を図るべき状況である場合（Ｓ１２２：ＹＥＳ）に、メモリ優先トリミングｏｒ付足処理実行サブルーチンが実行される（Ｓ１２６）。メモリ優先トリミングｏｒ付足処理実行サブルーチンでは、スキャナドライバ３０は、モノクロスケールでのスキャン指示をスキャナ５０に送信する（Ｓ２４０：図１３参照）。そして、スキャナドライバ３０は、モノクロスケールのスキャンデータを取得する（Ｓ２４２）。続いて、スキャナドライバ３０は、モノクロスケールのスキャンデータに基づいてトリミング処理、若しくは、付足処理を実行する（Ｓ２４６）。そして、スキャナドライバ３０は、トリミング処理、若しくは、付足処理を実行したモノクロスケールのスキャンデータをアプリケーション３２に出力する（Ｓ２４８）。これにより、メモリ優先トリミングｏｒ付足処理実行サブルーチンが終了し、本フローが終了する。
【００６４】
なお、Ｓ１４０，Ｓ１６０，Ｓ１８０，Ｓ２００，Ｓ２２０，Ｓ２４０を実行するＣＰＵ１２は、指示出力手段の一例である。Ｓ１４８，Ｓ１８６，Ｓ２２６を実行するＣＰＵ１２は、第１回転処理実行手段の一例である。Ｓ１５０，Ｓ１９０，Ｓ２２８を実行するＣＰＵ１２は、第１変換手段の一例である。Ｓ１５２，Ｓ１７２，Ｓ１９４，Ｓ２１４，Ｓ２３０，Ｓ２４８を実行するＣＰＵ１２は、出力手段の一例である。Ｓ１６４，Ｓ２０４を実行するＣＰＵ１２は、所定処理実行手段の一例である。Ｓ１６８，Ｓ２０６を実行するＣＰＵ１２は、第２変換手段の一例である。Ｓ１７０，Ｓ２０８を実行するＣＰＵ１２は、第３回転処理実行手段の一例である。Ｓ２４６を実行するＣＰＵ１２は、第２回転処理実行手段の一例である。
【００６５】
また、本発明は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。具体的には、例えば、上記実施形態では、ＰＣ１０においてスキャン処理の設定値を受け付け、ＰＣ１０がスキャナ５０にスキャン指示を出力しているが、スキャナ５０においてスキャン処理の設定値を受け付け、スキャナ５０のスキャン指示に従ってスキャナ５０がスキャン処理を実行してもよい。
【００６６】
また、上記実施形態では、ＣＰＵ１２によって図７乃至図１３に示す処理が実行される例を説明したが、これら処理は、ＣＰＵ１２に限らず、ＡＳＩＣや他の論理集積回路により実行されてもよいし、これら処理が、ＣＰＵ等やＡＳＩＣ、他の論理集積回路が協働することにより実行されてもよい。
【符号の説明】
【００６７】
１０：ＰＣ、１２：ＣＰＵ、１８：入力Ｉ／Ｆ、３０：スキャナドライバ、５０：スキャナ
【図１】
2019149747.tif 000003
【図２】
2019149747.tif 000004
【図３】
2019149747.tif 000005
【図４】
2019149747.tif 000006
【図５】
2019149747.tif 000007
【図６】
2019149747.tif 000008
【図７】
2019149747.tif 000009
【図８】
2019149747.tif 000010
【図９】
2019149747.tif 000011
【図１０】
2019149747.tif 000012
【図１１】
2019149747.tif 000013
【図１２】
2019149747.tif 000014
【図１３】
2019149747.tif 000015