(57)【要約】【課題】  情報処理装置を提供すること。【解決手段】  情報処理装置１１２は、それぞれマスク処理対象を判定するための１以上の規則に基づいて、入力データ中のマスク処理対象に該当する箇所を判定する判定手段２４０と、マスク処理対象に該当する箇所各々の範囲情報に基づいて、重複している複数のマスク処理対象の箇所を統合し、マスク適用する１以上の範囲を決定する統合手段２６０と、マスク適用する１以上の範囲を示す画面を表示する表示処理手段２７２と、上記画面を介したマスク適用を解除する範囲の選択に応答して、マスク適用する１以上の範囲の中から選択された範囲を削除する解除手段２７４とを含む。【選択図】  図６
2018026037.tif 000002
【特許請求の範囲】
【請求項１】
それぞれマスク処理対象を判定するための１以上の規則に基づいて、入力データ中のマスク処理対象に該当する箇所を判定する判定手段と、
前記マスク処理対象に該当する箇所各々の範囲情報に基づいて、重複している複数のマスク処理対象の箇所を統合し、マスク適用する１以上の範囲を決定する統合手段と、
前記マスク適用する１以上の範囲を示す画面を表示する表示処理手段と、
前記画面を介したマスク適用を解除する範囲の選択に応答して、前記マスク適用する１以上の範囲の中から選択された範囲を削除する解除手段と
を含む、情報処理装置。
【請求項２】
前記１以上の規則は、前記マスク処理対象としてマスク適用対象を判定するための複数の規則を含み、前記統合手段は、互いに重複している複数のマスク適用対象の箇所の範囲を併合して、マスク適用する一の範囲を生成することを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記１以上の規則は、前記マスク処理対象としてマスク適用対象を判定するための規則と、前記マスク処理対象としてマスク除外対象を判定するための規則とを含み、前記統合手段は、前記マスク適用対象の箇所の範囲から、前記マスク除外対象の箇所と重複している範囲を除外して、マスク適用する一の範囲を生成することを特徴とする、請求項１または２に記載の情報処理装置。
【請求項４】
前記統合手段は、前記マスク適用する１以上の範囲を決定するために、前記マスク処理対象の箇所各々の範囲情報に基づいて、連続している複数のマスク処理対象の箇所をさらに統合する、請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
前記１以上の規則は、特定の言語の構成単位をマスク処理対象として指定する規則、特定の品詞に該当する言語の構成単位をマスク処理対象として指定する規則、特定のキーワードに隣接する言語の構成単位をマスク処理対象として指定する規則、特定のパターンにマッチした言語の構成単位をマスク処理対象として指定する規則を含む、請求項１〜４のいずれか１項に記載の情報処理装置。
【請求項６】
前記１以上の規則は、少なくとも第１の規則および第２の規則を含み、前記統合手段は、
前記第１の規則に基づき判定されたマスク処理対象の箇所の第１のリストと、前記第２の規則に基づき判定されたマスク処理対象の第２のリストとの入力を受ける手段と、
前記第１のリストの先頭から順に統合先要素Ｍおよび着目要素Ａを設定し、前記第２のリストの先頭から着目要素Ｂ／Ｘを設定する手段と、
前記統合先要素Ｍ、前記着目要素Ａおよび前記着目要素Ｂ／Ｘの開始位置および終了位置の関係に基づいて、前記第１のリスト中への前記第２のリストの要素の挿入、前記第１のリストの要素の開始位置および終了位置の少なくとも一方の変更、前記第１のリストの要素の削除および前記第２のリストの要素の破棄を含む一群の操作のうちの少なくとも１つを行うことによって統合する手段と、
行った操作に応じて前記統合先要素Ｍ、前記着目要素Ａおよび前記着目要素Ｂ／Ｘの少なくとも１つを進める手段と
を含む、請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記画面は、前記入力データを表示する表示領域上に前記マスク適用する１以上の範囲を半透過的に表すプレビュー画面であり、前記プレビュー画面は、前記マスク適用する１以上の範囲を半透過的に示す際のマスクの色の選択を受け付ける色選択受付手段を含む、請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
前記画面を介した印刷続行の指示を受け付ける指示受付手段と、
前記印刷続行の指示に応答して、確定された前記マスク適用する１以上の範囲にマスク処理を施した描画結果を描画する描画処理手段と
を含む、請求項１〜７のいずれか１項に記載の情報処理装置。
【請求項９】
前記情報処理装置は、要求元から印刷処理の要求を受け付け、マスク適用済み印刷処理の要求を実プリンタドライバに発行する仮想プリンタドライバを含み、前記判定手段、前記統合手段、前記表示処理手段および前記解除手段の一部または全部は、前記仮想プリンタドライバ内にまたは前記仮想プリンタドライバと連携するソフトウェア・モジュール内に実装される、請求項１〜８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記マスク処理対象に該当する箇所が判定される前記入力データは、印刷対象のデータであり、前記解除手段により前記選択された範囲が削除された後のマスク適用する１以上の範囲に基づいて、マスク処理を適用した印刷対象のデータの印刷処理要求がなされる、請求項１〜９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記１以上の規則は、入力データに含まれる文字列が予め登録された人名又は組織名を示す文字列に一致するか否かの規則を含む、請求項１〜１０のいずれか１項に記載の情報処理装置。
【請求項１２】
コンピュータを、
それぞれマスク処理対象を判定するための１以上の規則に基づいて、前記入力データ中のマスク処理対象に該当する箇所を判定する判定手段と、
前記マスク処理対象の箇所各々の範囲情報に基づいて、重複している複数のマスク処理対象の箇所を統合し、マスク適用する１以上の範囲を決定する統合手段、
前記マスク適用する１以上の範囲を示す画面を表示する表示処理手段、および
前記画面を介したマスク適用を解除する範囲の選択に応答して、前記マスク適用する１以上の範囲の中から選択された範囲を削除する解除手段
として機能させるためのプログラム。
【請求項１３】
要求元から出力要求を受け付ける受付手段と、
それぞれマスク処理対象を判定するための１以上の規則に基づいて、出力要求にかかる入力データ中のマスク処理対象に該当する箇所を判定する判定手段と、
前記マスク処理対象の箇所各々の範囲情報に基づいて、重複している複数のマスク処理対象の箇所を統合し、マスク適用する１以上の範囲を決定する統合手段と、
前記マスク適用する１以上の範囲を示す画面を表示する表示処理手段と、
前記画面を介したマスク適用を解除する範囲の選択に応答して、前記マスク適用する１以上の範囲の中から選択された範囲を削除する解除手段と、
前記マスク適用する範囲にマスク処理を施した描画結果を出力先へ出力する出力手段と
を含む、情報処理システム。
【請求項１４】
情報処理装置が実行する情報処理方法であって、前記情報処理装置が、
それぞれマスク処理対象を判定するための１以上の規則に基づいて、入力データ中のマスク処理対象に該当する箇所を判定するステップと、
前記判定するステップで判定されたマスク処理対象の箇所各々の範囲情報に基づいて、重複している複数のマスク処理対象の箇所を統合し、マスク適用する１以上の範囲を決定するステップと、
前記決定するステップで決定された前記マスク適用する１以上の範囲を示す画面を表示するステップと、
前記画面を介したマスク適用を解除する範囲の選択に応答して、前記マスク適用する１以上の範囲の中から選択された範囲を削除するステップと
を実行する、情報処理方法。
【請求項１５】
前記１以上の規則は、少なくとも第１の規則および第２の規則を含み、前記決定するステップは、
前記第１の規則に基づき判定されたマスク処理対象の箇所の第１のリストと、前記第２の規則に基づき判定されたマスク処理対象の第２のリストとの入力を受けるサブステップと、
前記第１のリストの先頭から順に統合先要素Ｍおよび着目要素Ａを設定し、前記第２のリストの先頭から着目要素Ｂ／Ｘを設定するサブステップと、
前記統合先要素Ｍ、前記着目要素Ａおよび前記着目要素Ｂ／Ｘの開始位置および終了位置の関係に基づいて、前記第１のリスト中への前記第２のリストの要素の挿入、前記第１のリストの要素の開始位置および終了位置の少なくとも一方の変更、前記第１のリストの要素の削除および前記第２のリストの要素の破棄を含む一群の操作のうちの少なくとも１つを行うことによって統合するサブステップと、
行った操作に応じて前記統合先要素Ｍ、前記着目要素Ａおよび前記着目要素Ｂ／Ｘの少なくとも１つを進めるサブステップと
を含む、請求項１４に記載の情報処理方法。
【請求項１６】
前記画面を介した印刷続行の指示を受け付けるステップと、
前記印刷続行の指示に応答して、確定された前記マスク適用する１以上の範囲にマスク処理を施した描画結果を描画するステップと
を含む、請求項１４または１５に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、プログラムおよび情報処理方法に関する。
【背景技術】
【０００２】
従来、テキスト中の個人情報を秘匿して出力することを可能とするプログラムが提供されている。このプログラムによれば、辞書等に基づいてテキストからマスク適用対象に該当する箇所を判定し、判定されたマスク適用対象の箇所をマスクした状態でテキストを出力することができる。このとき、判定されたマスク適用対象の箇所をマスク画像に置き換えて表示するプレビュー画面において、表示されたマスク適用対象の箇所の中にユーザの意図と異なる部分がある場合にマスクを解除できるように編集操作が可能であることが望ましい。
【０００３】
マスク判定に際して、複数の規則が用いられることがある。例えば、マスク対象を判定するための規則が複数ある場合がある。特開２０１３−０７３２７７号公報（特許文献１）は、辞書を用いてマスク処理する文字列を検出するためのマスク対象範囲を、マスク対象外となりうる汎用的な文字列とマスク対象となりうる汎用的な文字列とを利用して限定する構成を開示する。
【０００４】
編集操作においては、ユーザは、解除しようとするマスク適用対象の箇所をプレビュー画面上で選択することによって、解除指定することになる。しかしながら、上述したようにマスク適用対象を判定するための規則が複数ある場合、その際に結果として得られるマスク適用対象の範囲が重複してしまうことに起因し、以下のような不充分な点が生じる。すなわち、複数の規則に基づく判定結果がプレビュー画面上にそのまま表示されていると、ユーザは、解除しようとするマスク適用対象の箇所について重複した数だけ解除操作を行わなければならず、ユーザにとって煩雑となる。また、解除操作を行ったにもかかわらずその範囲にマスクが残ることは、ユーザの直観に反し、操作のわかり易さを阻害する。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、上記点に鑑みてなされたものであり、本発明は、１以上の規則に基づいて判定されたマスク適用対象の箇所を確認するための画面上で、編集操作の単位としてのマスク適用対象の範囲に一致するように重複が解消された状態でマスク適用される範囲を表示することが可能な、情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明では、上記課題を解決するために、下記特徴を有する情報処理装置を提供する。本情報処理装置は、それぞれマスク処理対象を判定するための１以上の規則に基づいて、入力データ中のマスク処理対象に該当する箇所を判定する判定手段と、マスク処理対象に該当する箇所各々の範囲情報に基づいて、重複している複数のマスク処理対象の箇所を統合し、マスク適用する１以上の範囲を決定する統合手段と、上記マスク適用する１以上の範囲を示す画面を表示する表示処理手段と、画面を介したマスク適用を解除する範囲の選択に応答して、上記マスク適用する１以上の範囲の中から選択された範囲を削除する解除手段とを含む。
【発明の効果】
【０００７】
上記構成により、１以上の規則に基づいて判定されたマスク適用対象の箇所を確認するための画面上で、編集操作の単位としてのマスク適用対象の範囲と一致するように重複が解消された状態でマスク適用される範囲を表示することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態による印刷システムのネットワーク環境を示す図。
【図２】本実施形態によるクライアント端末のハードウェア構成図。
【図３】本実施形態によるクライアント端末のソフトウェア構成図。
【図４】本実施形態によるクライアント端末を実現するためのソフトウェア・パッケージの構成を示す図。
【図５】本実施形態によるクライアント端末のソフトウェア・パッケージ導入後のソフトウェア構成図。
【図６】本実施形態によるクライアント端末上に実現されるマスク印刷処理に関連する機能ブロック図。
【図７】特定の実施形態によるマスク対象判定部のより詳細な機能ブロック図。
【図８】本実施形態によるマスク対象判定からプレビュー表示までの処理を示すフローチャート。
【図９】（Ａ）マスク処理の対象となる文書および（Ｂ）該文書から抽出されるテキストデータを例示する図。
【図１０】図９（Ａ）に示す文書から得られる（Ａ）マスク適用範囲リストおよび（Ｂ）中間データを例示する図。
【図１１】本実施形態によるマスク処理プラグインにより提供されるプレビュー表示画面を例示する図。
【図１２】本実施形態による併合処理部が実行するマスク適用対象の併合処理を示すフローチャート（１／２）。
【図１３】本実施形態による併合処理部が実行するマスク適用対象の併合処理を示すフローチャート（２／２）。
【図１４】本実施形態によるマスク適用対象リストの併合処理において行われる、範囲情報に応じたマスク適用対象リストの要素に対する各処理操作を説明する図（１／３）。
【図１５】本実施形態によるマスク適用対象リストの併合処理において行われる、範囲情報に応じたマスク適用対象リストの要素に対する各処理操作を説明する図（２／３）。
【図１６】本実施形態によるマスク適用対象リストの併合処理において行われる、範囲情報に応じたマスク適用対象リストの要素に対する各処理操作を説明する図（３／３）。
【図１７】本実施形態による除外処理部が実行するマスク適用対象からのマスク除外対象の除外処理を示すフローチャート（１／２）。
【図１８】本実施形態による除外処理部が実行するマスク適用対象からのマスク除外対象の除外処理を示すフローチャート（２／２）。
【図１９】本実施形態によるマスク適用対象からのマスク除外対象の除外処理において行われる、範囲情報に応じたマスク適用対象リストの要素に対する各処理操作を説明する図（１／３）。
【図２０】本実施形態によるマスク適用対象からのマスク除外対象の除外処理において行われる、範囲情報に応じたマスク適用対象リストの要素に対する各処理操作を説明する図（２／３）。
【図２１】本実施形態によるマスク適用対象からのマスク除外対象の除外処理において行われる、範囲情報に応じたマスク適用対象リストの要素に対する各処理操作を説明する図（３／３）。
【発明を実施するための形態】
【０００９】
以下、本実施形態をもって説明するが、実施形態は、後述する実施形態に限定されるものではない。なお、本実施形態では、情報処理システムとして、印刷システム１００を一例に説明するが、情報処理システムは、これに限定されるものではない。
【００１０】
図１は、本実施形態による印刷システム１００のネットワーク環境を示す図である。印刷システム１００は、医療機関やオフィスなどに配置される複数のクライアント端末１１２，１１４，１１６，１１８と、ＭＦＰ（Multi-Function Peripheral）１２２、レーザプリンタ１２４，１２６、インクジェットプリンタ１２８などのプリンタと、例えば文書管理システム１１０とを含み構成されている。以下、上記ＭＦＰ１２２およびレーザプリンタ１２４，１２６、インクジェットプリンタ１２８を、単にプリンタとして総称する。
【００１１】
文書管理システム１１０、クライアント端末１１２〜１１８およびプリンタ１２２〜１２８は、ネットワーク１３０を介して、ＴＣＰ／ＩＰプロトコルに基づくパケット通信により相互に通信を行っている。上記ネットワーク１３０は、特に限定されるものではないが、１０００Ｂａｓｅ−ＴＸのイーサネット（登録商標）などの有線ネットワークや、ＩＥＥＥ８０２．１１などの規格の無線ネットワークを含んで構成することができる。
【００１２】
文書管理システム１１０は、印刷システム１００で取り扱われる文書を管理する情報管理システムである。文書管理システム１１０は、例えば、患者の診療情報や患者氏名などの医療情報を管理する医療情報システムなどの情報管理システムであってよい。なお、一例として医療情報システムを例示して説明を続けるが、印刷システム１００においてどのような文書管理システムを構成するかは、管理者等が適宜決定するものであり、文書管理システムが設けられない場合もあり得る。
【００１３】
本実施形態において、クライアント端末１１２〜１１８は、例えば文書管理システム１１０から取得した文書、あるいは、クライアント端末１１２〜１１８上で作成した文書の印刷要求を、出力先のプリンタに対し発行することができる。
【００１４】
以下、図２を参照しながら、クライアント端末１１２〜１１８のハードウェア構成について説明する。図２は、本実施形態によるクライアント端末（以下、代表してクライアント端末１１２について説明する。）のハードウェア構成図である。クライアント端末１１２は、典型的には、汎用コンピュータ装置として構成される。
【００１５】
図２に示すクライアント端末１１２は、ＣＰＵ（Central Processing Unit）１２と、ＣＰＵ１２とメモリとの接続を担うノースブリッジ１４と、サウスブリッジ１６とを含む。サウスブリッジ１６は、上記ノースブリッジ１４と専用バスまたはＰＣＩバスを介して接続され、ＰＣＩバスやＵＳＢなどのＩ／Ｏとの接続を担う。
【００１６】
ノースブリッジ１４には、ＣＰＵ１２の作業領域を提供するＲＡＭ（Random Access Memory）１８と、映像信号を出力するグラフィックボード２０とが接続される。グラフィックボード２０には、映像出力インタフェースを介してディスプレイ５０に接続される。
【００１７】
サウスブリッジ１６には、ＰＣＩ（Peripheral Component Interconnect）２２、ＬＡＮポート２４、ＩＥＥＥ１３９４ポート２６、ＵＳＢポート２８、補助記憶装置３０、オーディオ入出力３２、シリアルポート３４が接続される。補助記憶装置３０は、ＨＤＤやＳＳＤなどであり、クライアント端末１１２を制御するためのオペレーティング・システム、後述する機能部を実現するためのプログラムや各種システム情報や各種設定情報を格納する。ＬＡＮポート２４は、クライアント端末１１２を有線および無線でネットワークに接続させるインタフェース機器である。
【００１８】
ＵＳＢポート２８には、キーボード５２およびマウス５４などの入力装置が接続されてもよい。本実施形態によるクライアント端末１１２は、補助記憶装置３０からプログラムを読み出し、ＲＡＭ１８が提供する作業空間に展開することにより、ＣＰＵ１２の制御の下、後述する各機能部および各処理を実現する。なお、文書管理システム１１０およびプリンタ１２２〜１２８については、特に説明を行わないが、同様に、ＣＰＵおよびＲＡＭ等などのハードウェアや、特定の用途に応じたハードウェアを備えている。
【００１９】
以下、図３〜図５を参照しながら、本実施形態によるクライアント端末１１２のソフトウェア構成について説明する。図３は、後述するソフトウェア・パッケージが導入される前のクライアント端末１１２のソフトウェア構成を示す。図４は、後述するソフトウェア・パッケージの構成を示す。図５は、図４に示すソフトウェア・パッケージが導入された後のクライアント端末１１２のソフトウェア構成を示す。
【００２０】
図３に示すクライアント端末１１２は、文書管理クライアント・アプリケーション２０２と、実プリンタドライバ２０４と、プラットフォーム２１０と、プラットフォームＡＰＩ（Application Programming Interface）２１８と、アプリケーション（プラグイン）２２０とを含み構成される。
【００２１】
文書管理クライアント・アプリケーション２０２は、文書管理システム１１０にアクセスし、管理されている文書を検索、閲覧および印刷出力するためのアプリケーションである。文書管理クライアント・アプリケーション２０２は、ユーザからの所定の文書に対する印刷指示を受け付け、所定のプリンタドライバに印刷処理要求を発行することができる。文書管理クライアント・アプリケーション２０２を一例に示すが、一般的な文書作成アプリケーションなど他のアプリケーションであってもよい。
【００２２】
実プリンタドライバ２０４は、印刷処理要求に応答して、プリンタ１２２（以下、代表してプリンタ１２２を用いて説明する。）が印刷できる形式の実印刷データを生成し、プリンタ１２２に対し出力する。実印刷データとしては、ＲＡＷ形式のデータを一例として挙げることができる。また、実プリンタドライバ２０４は、印刷処理要求に応答して、所定形式の電子文書を生成して出力するよう構成されてもよい。
【００２３】
アプリケーション（プラグイン）２２０は、１以上のプラグイン２２２を含むことができる。プラグイン２２２は、プラットフォーム２１０上で動作するソフトウェアである。プラグイン２２２は、プラットフォームＡＰＩ２１８を介して、プラットフォーム２１０の各種機能を利用することができる。
【００２４】
プラットフォームＡＰＩ２１８は、プラグイン２２２がプラットフォーム２１０の各種機能を利用するためのインタフェースを提供する。プラットフォームＡＰＩ２１８は、プラットフォーム２１０がプラグイン２２２からの要求を受信するために設けられた、予め定義されたインタフェースであり、複数の関数やクラスなどを含み構成される。
【００２５】
プラットフォーム２１０は、表示制御部２１２と、設定部２１４と、通信部２１６とを含み構成される。表示制御部２１２は、例えば文書管理クライアント・アプリケーション２０２やプラグイン２２２などからの要求に応じて、ディスプレイの表示を制御する。設定部２１４は、プラグイン２２２に対する設定を行う。通信部２１６は、文書管理システム１１０などの外部システムとの通信を行う。
【００２６】
クライアント端末１１２は、プラグイン２２２が共通に利用する機能をプラットフォーム２１０に集約することによって、処理を集約している。なお、図３に示すソフトウェア構成は、一例であり、図３に示されるような態様で構成されることは必須ではなく、種々の態様で構成することができることは言うまでもない。
【００２７】
図４（Ａ）は、特定の実施形態によるクライアント端末１１２を実現するためのソフトウェア・パッケージの構成を示す。図４（Ａ）に示すソフトウェア・パッケージ２３０は、仮想プリンタドライバ２３２と、マスク処理プラグイン２３４とを含み構成される。なお、ソフトウェア・パッケージ２３０には、文書登録プラグインなどの１以上の他のプラグインが含まれてもよい。
【００２８】
仮想プリンタドライバ２３２は、一つのプリンタドライバとして動作し、アプリケーションから印刷処理要求を受け取り、本実施形態によるマスク処理など適宜処理を施した上で、実プリンタドライバ２０４に対し印刷処理要求を発行する。
【００２９】
マスク処理プラグイン２３４は、印刷処理要求にかかる文書に含まれる保護すべき情報をマスク（墨消し）処理する機能を有するソフトウェア・モジュールである。マスク処理プラグイン２３４、および、マスク処理プラグイン２３４によるマスク処理については、詳細を後述する。
【００３０】
図４（Ｂ）は、好適な実施形態によるクライアント端末１１２を実現するためのソフトウェア・パッケージの構成を示す。図４（Ｂ）に示すソフトウェア・パッケージ２３０は、仮想プリンタドライバ２３２と、マスク処理プラグイン２３４と、さらに、文書化プリンタドライバ２３６とを含み構成される。文書化プリンタドライバ２３６は、文書管理システム１１０に登録する形式の電子文書データを生成し、出力するプリンタドライバである。電子文書の形式としては、特に限定されるものではないが、ＰＤＦ（Portable Document Format）形式を挙げることができる。
【００３１】
図５は、本実施形態によるクライアント端末のソフトウェア・パッケージ導入後のソフトウェア構成図である。本実施形態によるソフトウェア・パッケージ２３０が導入された後のクライアント端末１１２は、図５に示すような構成となる。図５に示すクライアント端末１１２は、図３に示すクライアント端末１１２に対し、図４（Ｂ）に示すソフトウェア・パッケージ２３０に含まれるソフトウェア・モジュールが導入された状態を表している。
【００３２】
より具体的には、図５に示すクライアント端末１１２は、図３に示すクライアント端末１１２と比較すると、さらに、仮想プリンタドライバ２３２と、マスク処理プラグイン２３４と、文書化プリンタドライバ２３６とが追加されている。また、マスク処理プラグイン２３４は、プラットフォーム２１０上で動作するソフトウェアとして組み込まれた構成を有している。
【００３３】
以下、図６〜図１１を参照しながら、印刷要求にかかる文書に含まれる保護すべき情報をマスク処理しながら印刷出力するマスク印刷処理について、より詳細に説明する。図６は、本実施形態によるクライアント端末１１２上に実現されるマスク印刷処理に関連する機能ブロックを示す図である。
【００３４】
図６には、マスク印刷処理に関連する機能ブロックとして、文書管理クライアント・アプリケーション２０２と、仮想プリンタドライバ２３２と、マスク処理プラグイン２３４と、実プリンタドライバ２０４とが示されている。図６には、さらに、プリンタ１２２が示されており、図６中の破線は、クライアント端末１１２上の機能ブロックと、プリンタ１２２との間のネットワーク境界を示している。
【００３５】
なお、図６において、上記機能ブロックは、クライアント端末１１２上で稼働するものとする。また、一例として、実プリンタドライバ２０４を介してプリンタ１２２から印刷出力する場合について説明するが、文書化プリンタドライバ２３６から電子文書データを出力する態様であっても同様である。
【００３６】
文書管理クライアント・アプリケーション２０２は、文書管理システム１１０で管理されている文書を検索、閲覧および印刷出力するためのアプリケーションであり、以下の説明において、一例として、印刷要求元のアプリケーションとなる。
【００３７】
仮想プリンタドライバ２３２は、クライアント端末１１２のオペレーティング・システム上で、通常のプリンタデバイスと同様に認識される。このため、ユーザは、アプリケーションの印刷ダイアログなどのプリンタ一覧から、仮想プリンタドライバ２３２を選択し、印刷出力を指示することができる。ユーザが、アプリケーション２０２上で、仮想プリンタドライバ２３２を指定して所定の文書の印刷を指示すると、印刷要求元アプリケーション２０２は、仮想プリンタドライバ２３２に対し、アプリケーションデータに基づく印刷処理要求を発行する。
【００３８】
仮想プリンタドライバ２３２は、印刷要求元アプリケーション２０２から印刷処理要求を受け付けると、アプリケーションデータを、機種依存しない中間データに変換する。仮想プリンタドライバ２３２は、さらに、中間データからテキストデータを抽出し、マスク処理プラグイン２３４に引き渡す。なお、中間データは、プリンタの機種に依存しない印刷データであり、一例としては、ＸＰＳ（XML Paper Specification）形式を挙げることができる。ＸＰＳファイルは、中身として、文書を構成する文章、画像およびそれらの文書内の位置情報を含んでいる。
【００３９】
仮想プリンタドライバ２３２は、マスク処理プラグイン２３４からマスクすべき対象をマスクしたマスク描画結果を受け取り、その結果に基づき、実プリンタドライバ２０４に対し、マスク適用済み文書の印刷処理要求を発行する。実プリンタドライバ２０４は、プリンタ１２２に対し、印刷処理指令を発行する。仮想プリンタドライバ２３２は、本実施形態において、印刷要求元アプリケーション２０２から印刷処理要求を受け付ける受付手段、および、マスク処理を施したマスク描画結果を実プリンタドライバ２０４などの出力先へ出力する出力手段を構成する。
【００４０】
マスク処理プラグイン２３４は、各種規則に基づいて、渡されたテキストデータからマスク処理対象に該当する箇所を判定し、その結果を併合処理、除外処理し、重複や連続のないマスク適用範囲リストを生成する。マスク処理プラグイン２３４は、マスク適用した最終的な描画結果を作成し、仮想プリンタドライバ２３２に返却する。その際に、マスク処理プラグイン２３４は、マスク適用した結果を事前確認するためのプレビュー画面に表示し、ユーザによるマスク解除などの編集操作やユーザからの印刷継続の指示を受け付ける。
【００４１】
マスク処理プラグイン２３４は、このような保護すべき情報のマスク処理を施すための一連のモジュールを含み構成される。マスク処理プラグイン２３４は、より具体的には、マスク対象判定部２４０と、マスク対象統合部２６０と、プレビュー処理部２７０と、マスク描画処理部２８０とを含み構成される。
【００４２】
マスク対象判定部２４０は、それぞれマスク処理対象を判定するための１以上の規則に基づいて、印刷出力すべき文書のデータ中のマスク処理対象に該当する箇所を判定する。ここで、判定されるマスク処理対象には、マスク適用すべきマスク適用対象およびマスク適用から除外すべきマスク除外対象が含まれ得る。したがって、上述した１以上の規則には、マスク処理対象としてマスク適用対象を判定するための規則およびマスク処理対象としてマスク除外対象を判定するための規則が含まれ得る。マスク対象判定部２４０は、本実施形態において判定手段を構成する。
【００４３】
図７は、特定の実施形態によるマスク対象判定部２４０のより詳細な機能ブロック図を示す。図７に示すように、特定の実施形態において、マスク対象判定部２４０は、単語種別による判定処理部２４２と、キーワード隣接語による判定処理部２４６と、形態素個別指定による判定処理部２５０と、パターンマッチングによる判定処理部２５４とを含み構成される。
【００４４】
単語種別による判定処理部２４２は、形態素辞書２４４を用いて、テキストデータに含まれる特定の品詞（詳細品詞）に該当する言語の構成単位（形態素）をマスク処理対象として判定する。図７に示す例では、単語種別による判定処理部２４２は、マスク適用対象を要素として含むマスク適用対象リストを出力する。判定処理部２４２により、例えば、人名や組織名などの固有名詞がマスク処理対象として判定される。
【００４５】
キーワード隣接語による判定処理部２４６は、キーワード辞書２４８を用いて、テキストデータに含まれる特定のキーワードに隣接する言語の構成単位（例えば、単語や単語列）をマスク処理対象として判定する。図７に示す例では、キーワード隣接語による判定処理部２４６は、マスク適用対象を要素として含むマスク適用対象リストを出力する。判定処理部２４６により、例えば、「○○医師」や「医師：○○」のように、特定のキーワードに隣接する人名や組織名などの固有名詞などがマスク処理対象として判定される。
【００４６】
形態素個別指定による判定処理部２５０は、適用語・除外語形態素辞書２５２を用いて、テキストデータに含まれる特定の言語の構成単位（形態素）をマスク処理対象として判定する。なお、適用語・除外語形態素辞書２５２には、事前指定されたマスク適用すべき適用語およびマスク適用を除外すべき除外語が、品詞としてではなく個々登録されているものとする。図７に示す例では、形態素個別指定による判定処理部２５０は、適用語に対応するマスク適用対象を要素として含むマスク適用対象リストと、除外語に対応するマスク除外対象を要素として含むマスク除外対象リストとを出力する。
【００４７】
パターンマッチングによる判定処理部２５４は、適用語・除外語パターン辞書２５６を用いて、テキストデータに含まれる特定のパターンにマッチした言語の構成単位（単語や単語列）をマスク処理対象として判定する。図７に示す例では、パターンマッチングによる判定処理部２５４は、適用語に対応するマスク適用対象を要素として含むマスク適用対象リストと、除外語に対応するマスク除外対象を要素として含むマスク除外対象リストとを出力する。
【００４８】
なお、図７に示す詳細な機能ブロックは、一例であり、図７に示した一部の判定処理部を設けなくともよいし、別の規則に基づく判定処理部を含むことを妨げるものではない。
【００４９】
ここで、再び図６を参照する。マスク対象判定部２４０の複数の判定処理部２４２，２４６，２５０，２５４で生成されたマスク適用対象リストおよびマスク除外対象リストは、それぞれ、マスク対象統合部２６０に引き渡される。
【００５０】
ここで、マスク適用対象リストおよびマスク除外対象リストを構成する各要素は、マスク処理対象の範囲を規定する範囲情報を含む。範囲情報は、例えば、テキストデータ上での開始位置、および、終了位置または長さを含む。なお、終了位置および長さは、開始位置を用いて相互に変換可能である。
【００５１】
マスク対象統合部２６０は、マスク処理対象に該当する箇所各々の範囲情報に基づいて、重複している複数のマスク処理対象の箇所を統合し、マスク適用する１以上の範囲を決定し、統合されたマスク適用範囲リストを生成する。マスク対象統合部２６０は、本実施形態による統合手段を構成する。
【００５２】
マスク対象統合部２６０は、より具体的には、併合処理部２６２と、除外処理部２６４とを含み構成される。併合処理部２６２は、互いに連続ないし重複している複数のマスク適用対象の箇所の範囲を併合して、マスク適用する一の範囲を生成する。ここで、範囲が重複するとは、少なくとも１文字以上の共通した部分を有することをいう。範囲が連続するとは、範囲が重ならないが、ちょうど切れ目なく連続する場合をいう。除外処理部２６４は、マスク適用対象の箇所の範囲から、マスク除外対象の箇所と重複している範囲を除外して、マスク適用する一の範囲を生成する。併合処理部２６２による併合処理および除外処理部２６４による除外処理については、それぞれ、詳細を後述する。
【００５３】
なお、説明する実施形態では、マスク対象統合部２６０は、連続ないし重複している複数のマスク処理対象の箇所を統合するものとして説明するが、これに限定されるものではない。例えば、重複している複数のマスク処理対象の箇所を統合し、連続しているに過ぎない複数のマスク処理対象の箇所を統合しない態様であってもよい。範囲がちょうど切れ目なく連続する場合であっても、別々の領域として考えた方が望ましい場合があるためである。
【００５４】
プレビュー処理部２７０は、マスク適用結果を事前確認するためのプレビュー画面の表示制御を行う。プレビュー画面上で、ユーザは、現時点でマスク適用される予定の範囲を事前確認し、表示されたマスク適用範囲中にユーザの意図と異なる部分がある場合にマスクを解除できるような編集操作をすることができる。
【００５５】
プレビュー処理部２７０は、より具体的には、事前結果表示処理部２７２と、マスク対象解除部２７４とを含み構成される。事前結果表示処理部２７２は、マスク対象判定部２４０により抽出されて、マスク対象統合部２６０により統合整理されて得られた結果（統合されたマスク適用範囲リスト）に基づいて、マスク適用する１以上の範囲を示すプレビュー画面を表示する。マスク対象解除部２７４は、上記プレビュー画面を介したマスク適用を解除する範囲の選択に応答して、統合されたマスク適用範囲リストの中から、選択された範囲を削除する。事前結果表示処理部２７２およびマスク対象解除部２７４は、それぞれ、本実施形態における表示処理手段および解除手段を構成する。
【００５６】
上記プレビュー画面は、ユーザによる印刷続行の指示を受け付ける。プレビュー画面上でユーザによる印刷続行の指示に応答して、プレビュー処理部２７０は、マスク描画処理部２８０に対し、確定されたマスク適用範囲リストを引き渡す。
【００５７】
マスク描画処理部２８０は、ユーザからのプレビュー画面を介した印刷続行の指示に応答して、プレビュー処理部２７０からの確定されたマスク適用範囲リストに基づいて、実際にマスク処理を施した結果を描画し、マスク描画結果を仮想プリンタドライバ２３２に返却する。マスク描画処理部２８０は、本実施形態における描画処理手段を構成する。
【００５８】
描画結果を受け取った仮想プリンタドライバ２３２は、マスク済みの描画結果に基づき、実プリンタドライバ２０４に対し印刷処理要求を発行する。また、仮想プリンタドライバ２３２は、実プリンタドライバ２０４に代え、または共に、文書化プリンタドライバ２３６に対し、電子文書化要求を発行してもよい。
【００５９】
実プリンタドライバ２０４は、仮想プリンタドライバ２３２からの印刷処理要求に応答して、実印刷データを生成し、プリンタ１２２に対し出力する。文書化プリンタドライバ２３６の場合も同様に、文書化プリンタドライバ２３６は、仮想プリンタドライバ２３２からの文書化要求に応答して、電子文書データを生成し、ファイルシステム上の所定の領域に書き出すことができる。
【００６０】
なお、実プリンタドライバ２０４のみ、文書化プリンタドライバ２３６のみ、またはこれらの両方、のいずれの態様で出力要求を行うかは、例えば仮想プリンタドライバの設定画面上で設定できるよう構成することができる。実プリンタドライバ２０４および文書化プリンタドライバ２３６の両方に対し同時に出力要求を可能とすることにより、印刷出力した電子文書を再利用することが可能となる。例えば、同じ症例を何度も出力する場合が想定されるが、そのような場合に備えて、既に患者名などの固有名詞を塗りつぶした状態の電子文書データを保存しておいて、後日、再度印刷出力することが可能となる。
【００６１】
また、説明する実施形態では、文書管理クライアント・アプリケーション２０２、実プリンタドライバ２０４、仮想プリンタドライバ２３２およびマスク処理プラグイン２３４は、クライアント端末１１２上で稼働するものとして説明した。しかしながら、これに限定されるものではなく、他の実施形態では、シンクライアントなどに対しデスクトップ環境を提供するターミナル・サーバ上に上記機能ブロックを構成してもよい。さらに他の実施形態では、実プリンタドライバ２０４、仮想プリンタドライバ２３２およびマスク処理プラグイン２３４をプリントサーバ上に導入し、文書管理クライアント・アプリケーション２０２が稼働するクライアント端末１１２に、ポイントアンドプリント等の技術により、仮想プリンタドライバ２３２がインストールされる態様としてもよい。
【００６２】
さらに、説明する実施形態では、仮想プリンタドライバ２３２と連携する外部のマスク処理プラグイン２３４として実装されるものとして説明した。しかしながら、実装方法は、特に限定されるものではなく、マスク対象判定部２４０、マスク対象統合部２６０、プレビュー処理部２７０およびマスク描画処理部２８０の一部または全部が仮想プリンタドライバ２３２内に実装されてもよいし、さらに、これらの一部がクラウドサービスとして提供されてもよい。
【００６３】
例えば、マスク対象判定部２４０の機能がクラウドサービスとして提供される場合は、クライアント端末１１２は、テキストデータをクラウドサービスのＡＰＩに渡して１以上のマスク適用対象リストおよびマスク除外対象リストを取得し、クライアント端末側でリストの統合で行ってもよい。あるいは、マスク対象判定部２４０およびマスク対象統合部２６０の機能をクラウドサービスとして提供する場合は、クライアント端末１１２は、テキストデータをクラウドサービスのＡＰＩに渡して、統合されたマスク適用範囲リストを取得してもよい。
【００６４】
さらに、上述した実施形態では、情報処理システムとして、印刷システム１００を一例に説明したが、情報処理システムは、これに限定されるものではなく、事前にマスク処理結果の確認およびマスク処理結果に対する編集操作が発生するような処理を担う、如何なる情報処理システムとして構成することができる。
【００６５】
以下、図８〜図１１を参照しながら、本実施形態によるマスク対象判定からプレビュー表示までの処理について、より詳細に説明する。図８は、本実施形態によるマスク対象判定からプレビュー表示までの処理を示すフローチャートである。以下、図９（Ａ）に示すような文書に対しマスク処理を行うものとして説明する。なお、図８に示す処理は、マスク処理プラグイン２３４が実行する処理に対応する。
【００６６】
図８に示す処理は、ステップＳ１００から開始され、ステップＳ１０１では、マスク処理プラグイン２３４は、仮想プリンタドライバ２３２から、中間データから抽出されたテキストデータを取得する。中間データから抽出されるテキストデータは、図９（Ｂ）に示すように、典型的には、中間データから抽出した文字列を改行なしに連結して構成された１つの長い文字列データとなる。この文字列データ上で、マスク処理対象の範囲の開始位置、長さ、終了位置が定義される。
【００６７】
ステップＳ１０２では、マスク処理プラグイン２３４は、マスク対象判定部２４０により、複数の規則に基づいて、取得したテキストデータからマスク対象を判定する。ステップＳ１０３では、マスク処理プラグイン２３４は、マスク対象統合部２６０により、複数の規則に基づいて得られた複数のマスク処理対象リストを統合する。
【００６８】
特定の実施形態において、統合されたマスク適用範囲リストは、図１０（Ａ）に示すようなデータ構造体として得られる。なお、統合前のマスク適用対象リストやマスク除外対象リストも同様のデータ構造体として得られる。図１０（Ａ）では、統合されたマスク適用範囲リストの各要素が、ＫＥＹ＿ＩＮＦＯ構造体として構成されており、各ＫＥＹ＿ＩＮＦＯ構造体には、開始位置（StartIndex）および文字列長（Length）が含まれる。各ＫＥＹ＿ＩＮＦＯ構造体は、各マスク適用範囲に対応付けられる。
【００６９】
ステップＳ１０４では、マスク処理プラグイン２３４は、統合されたマスク適用範囲リストの各要素に対応した、中間データ中のテキスト描画要素を特定する。ここでは、ＫＥＹ＿ＩＮＦＯ構造体で示されるテキストデータ上の範囲の文字列を中間データ中から検索することによって、該当するテキスト描画要素が特定される。図１０（Ｂ）に示すようなＸＰＳ形式の中間データである場合は、テキスト描画要素は、Ｇｌｙｐｈｓ要素として中間データ中に存在する。
【００７０】
ステップＳ１０５では、マスク処理プラグイン２３４は、統合されたマスク適用範囲リストの各要素に対応した文字列の左上座標（Ｘ，Ｙ）、幅Ｗおよび高さＨを取得する。ここで、文字列の左上Ｘ座標は、図１０（Ｂ）に示す中間データにおいて、該当Ｇｌｙｐｈｓ要素のＯｒｉｇｉｎＸの値を補正して求めることができ、ここで補正とは、文字間に間が空いているためその分を計算することをいう。左上座標Ｙは、該当Ｇｌｙｐｈｓ要素のＯｒｉｇｉｎＹから求めることができる。例えば、「○島太郎」に対応したＧｌｙｐｈｓ要素について見ると、該要素のＯｒｉｇｉｎＸおよびＯｒｉｇｉｎＹは、全体「医院長：○島太郎」の左上座標を表すことになる。そこで、マスク対象の文字列分ずらす補正をすることで、文字列「○島太郎」の左上座標を求めることができる。幅Ｗは、該当Ｇｌｙｐｈｓ要素の文字列数とフォント情報から計算することができる。高さＨも同様に、該当Ｇｌｙｐｈｓ要素のフォント情報から計算することができる。
【００７１】
ステップＳ１０６では、マスク処理プラグイン２３４は、統合されたマスク適用範囲リストの各要素に対応した文字列の属性値（Ｘ，Ｙ，Ｗ，Ｈ）を中間データの形式の単位（ＸＰＳ形式であれば、ミリインチ変換）で補正する。ステップＳ１０７では、マスク処理プラグイン２３４は、統合されたマスク適用範囲リストの各要素に対応した文字列の補正された属性値（Ｘ，Ｙ，Ｗ，Ｈ）に、マスクに余裕を持たせるためにマージンを設定する。
【００７２】
ステップＳ１０８では、マスク処理プラグイン２３４は、統合されたマスク適用範囲リストの各要素に対応した文字列の最終的な属性値（Ｘ，Ｙ，Ｗ，Ｈ）に基づいて半透過の矩形を生成し、中間データに合成し、ステップＳ１０９で本処理を終了する。この合成された中間データに基づいてプレビューが表示される。
【００７３】
なお、実際の印刷データを生成する際は、統合されたマスク適用範囲リストの各要素に対応した文字列の属性値（Ｘ，Ｙ，Ｗ，Ｈ）に基づいて黒塗りの矩形が中間データ自体に描画され、得られたマスク済み中間データに基づいて印刷処理要求が行われることになる。
【００７４】
図１１は、本実施形態によるマスク処理プラグイン２３４により提供されるプレビュー表示画面３００を例示する。プレビュー表示画面３００は、投入されたジョブを一覧表示するジョブ一覧３０２と、ジョブ一覧３０２で選択されたジョブに含まれる各ページのサムネイルを表示するページ一覧３０６と、ページ一覧３０６で選択されたページのマスク適用後の印刷プレビューを表示する印刷プレビュー表示領域３１０とを含み構成される。
【００７５】
プレビュー表示画面３００を表示している間に次ジョブが投入されると、ジョブ一覧３０２に追加される。ジョブ一覧３０２は、一定間隔で更新されており、さらに、更新ボタン３０４がクリックされると、手動で更新される。このように、複数のジョブが投入されても利用可能な仕組みとすることが好ましい。
【００７６】
図１１に示すプレビュー表示画面３００では、マスク適用後の印刷プレビュー表示領域３１０において、マスク適用対象として判定された情報の箇所が半透過の矩形で墨消しされた状態で示されている。このマスク部分３１０ａは、黒塗りとしてもよいが、好ましくは、原文をユーザに確認できるように半透過でハイライト表示する態様とすることができる。また、マスク適用対象の文字列自体に色がついている場合も想定されるので、好適な実施形態では、マスク適用する範囲を半透過的に示す際のマスクの色（例えば、薄赤や淡青）を、地の文字色と被らないように選択可能とすることができる。好適な実施形態によるプレビュー表示画面３００には、マスクを表示する色の選択を受け付ける色選択ボタン３２０，３２２が設けられている。
【００７７】
また、好ましい実施形態では、プレビュー表示画面３００は、予測結果においてマスク適用対象を解除する解除手段を備える。マスク部分３１０ａには、マウスによりフォーカスをあててクリックすることで、それを選択することができる。そして、例えばマスク部分３１０ａに対するダブルクリックや削除キーの押下や右クリックメニューでのアイテム選択、画面上に別途設けた削除ボタンの押下などの操作に応答して、そのマスク適用を解除することができる。プレビュー表示画面３００は、さらに、予測結果に含まれる情報の削除設定を追加する追加手段を備えてもよい。例えば、ユーザは、図１１に示す画面上で、マスクされていない領域または文字列をドラッグにより範囲指定し、マスク適用対象として追加することができる。
【００７８】
図１１に示すプレビュー表示画面３００は、印刷ボタン３２４を有し、印刷ボタン３２４の押下を検出したことに応答して、マスク適用範囲リストを確定し、描画結果が仮想プリンタドライバ２３２に渡される。
【００７９】
上述した実施形態によれば、出力または文書化前に、ユーザは目視でマスク状態を確認し、必要に応じてはマスク処理の内容を修正することで、保護すべき情報を確実に削除した状態で出力することができるようになる。
【００８０】
以下、図１２〜図１６を参照しながら、本実施形態によるマスク対象統合部２６０の併合処理部２６２が実行する併合処理について、より詳細に説明する。図１２および図１３は、本実施形態による併合処理部２６２が実行するマスク適用対象の併合処理を示すフローチャートである。また、図１４〜図１６は、マスク適用対象リストの併合処理において行われる、範囲情報に応じたマスク適用対象リストの要素に対する各処理操作を説明する図である。
【００８１】
なお、以下に説明する併合処理では、２つの規則に基づいて生成されたマスク適用対象の第１リストおよび第２リストを併合し、新たなリストを生成する代わりに、第１リスト自体に統合結果を格納する。このように既に存在する一方のリストに統合することにより、併合処理に要するメモリの消費容量を削減することができる。しかしながら、これに限定されるものではなく、他の実施形態では、新たなリストを生成してもよい。
【００８２】
ここで、与えられる２つのリストの各要素は、開始位置（StartIndex）および文字列長（Length）から計算される、開始位置（StartIndex）および終了位置（EndIndex）のペアを含むものとする。単一のリストの中では、マスク適用対象の範囲は、重なったり、あるいは連続したりすることもあり得るが、開始位置は、事前に昇順に並んでいるものとする。あるいは、必要に応じて、各リストが開始位置順にソートされるものとする。ここで、位置は、文字間を示しており、ある要素の終了位置と次の要素の開始位置が等しい場合は、２つの要素の範囲は「連続」することになる。
【００８３】
図１２に示す処理は、統合すべき２つのマスク適用対象リストの入力を受けたことに応答して、ステップＳ２００から開始される。ステップＳ２０１では、併合処理部２６２は、第１リストの併合先要素Ｍおよび着目要素Ａ、並びに第２リストの着目要素Ｂを初期設定する。初期状態では、第１リストの先頭から順に、先頭要素が併合先要素Ｍとなり、その次の要素が着目要素Ａとなる。そして、第２リストの先頭要素が着目要素Ｂとなる。併合先要素Ｍは、併合処理において、統合先要素を構成する。
【００８４】
ステップＳ２０２以降、併合先要素Ｍ、着目要素Ａおよび着目要素Ｂの開始位置および終了位置の関係に基づいて、第１リスト中への第２リストの要素の挿入、第１リストの要素の開始位置および終了位置の少なくとも一方の変更、第１リストの要素の削除および第２リストの要素の破棄を含む一群の操作のうちの少なくとも１つを行うことによって、併合処理が行われる。併合処理中、併合先要素Ｍ、着目要素Ａおよび着目要素Ｂが適宜、先頭から順に後方へ進められることになる。
【００８５】
以下、図１２を参照しながら、ステップＳ２０２以降の処理について、より詳細に説明する。ステップＳ２０２では、併合処理部２６２は、第１リストおよび第２リストのいずれかに要素の残りがあるか否かを判定する。ステップＳ２０２で、第１リストおよび第２リストのいずれにも残りがないと判定された場合（ＮＯ）は、ステップＳ２２１へ処理が分岐され、ステップＳ２２１で本処理が終了される。一方、第１リストおよび第２リストのいずれかに残りがあると判定された場合（ＹＥＳ）は、ステップＳ２０３へ処理が分岐される。このステップＳ２０２は、いずれかのリストが残っているかぎり処理が継続されることを規定しており、第１リストまたは第２リストの一方にしか要素が残っていなくとも、そのリスト自体に重複や連続がある可能性があるため、処理は継続される。
【００８６】
ステップＳ２０３では、併合処理部２６２は、第２リストの残りがあり、かつ、第２リストの着目要素Ｂの開始位置が第１リストの併合先要素Ｍの開始位置以前にあるか（Ｂ開始位置≦Ｍ開始位置）否かを判定する。ステップＳ２０３で、第２リストの残りが有り、かつ、着目要素Ｂが併合先要素Ｍと同時または先に開始する場合（ＹＥＳ）は、ステップＳ２０４へ処理が分岐される。
【００８７】
ステップＳ２０４では、併合処理部２６２は、第２リストの着目要素Ｂの終了位置が第１リストの併合先要素Ｍの開始位置より前にあるか（Ｂ終了位置＜Ｍ開始位置）否かを判定する。ステップＳ２０４で、図１４（Ａ）に示すように、着目要素Ｂが併合先要素Ｍより先に終わり、かつ、連続しない場合（ＹＥＳ）は、ステップＳ２０５へ処理が分岐される。その場合、併合処理部２６２は、図１４（Ａ）に示すように、ステップＳ２０５で、着目要素Ｂを第１リストの併合先要素Ｍの前に挿入し、ステップＳ２０９で、着目要素Ｂを次の要素に進めて、ステップＳ２０２へ処理を戻す。
【００８８】
一方、ステップＳ２０４で、第２リストの着目要素Ｂの終了位置が第１リストの併合先要素Ｍの開始位置より前にないと判定された場合（ＮＯ）は、ステップＳ２０６へ処理が分岐される。この場合は、着目要素Ｂが併合先要素Ｍと連続するか、一部重なるか、または併合先要素Ｍの全体を覆うことになる。
【００８９】
ステップ２０６では、併合処理部２６２は、第２リストの着目要素Ｂの終了位置が第１リストの併合先要素Ｍの終了位置より前にあるか（Ｂ終了位置＜Ｍ終了位置）否かを判定する。図１４（Ｂ）に示すように、着目要素Ｂが併合先要素Ｍと連続するかまたは一部重なる場合は、ステップＳ２０６で、着目要素Ｂの終了位置が併合先要素Ｍの終了位置より前にあると判定されるので（ＹＥＳ）、ステップＳ２０７へ処理が分岐される。この場合、併合処理部２６２は、図１４（Ｂ）に示すように、ステップＳ２０７で、着目要素Ｂの開始位置を併合先要素Ｍの新たな開始位置として設定し、着目要素Ｂを併合先要素Ｍに併合し、ステップＳ２０９で、着目要素Ｂを次の要素に進める。そして、ステップＳ２０２へ処理が戻される。
【００９０】
一方、図１４（Ｃ）に示すように、着目要素Ｂが併合先要素Ｍの全体を覆う場合は、ステップＳ２０６で、着目要素Ｂの終了位置が併合先要素Ｍの終了位置以降にあると判定されるため（ＮＯ）、ステップＳ２０８へ処理が進められる。この場合、併合処理部２６２は、図１４（Ｃ）に示すように、ステップＳ２０８で、着目要素Ｂの開始位置および終了位置を併合先要素Ｍの新たな開始位置および終了位置として設定し、ステップＳ２０９で、着目要素Ｂを次の要素に進める。この場合、併合先要素Ｍが着目要素Ｂで置き換えられることになる。そして、ステップＳ２０２へ処理が戻される。
【００９１】
一方、ステップＳ２０３で、第２リストの残りがないか、または、第２リストの着目要素Ｂが第１リストの併合先要素Ｍより後に開始する場合（ＮＯ）は、ステップＳ２１０へ処理が分岐される。
【００９２】
ステップＳ２１０では、併合処理部２６２は、第１リストに要素の残りがあり、かつ、第１リストにおいて併合先要素Ｍが着目要素Ａより先に始まり（常にそうである）、かつ、着目要素Ａの開始位置が併合先要素Ｍの終了位置以前にあるか（Ａ開始位置≦Ｍ終了位置）否かを判定する。ステップＳ２１０で、第１リストの残りがあり、かつ、併合先要素Ｍと着目要素Ａとが連続または重なる場合は、第１リストにおいて着目要素Ａの開始位置が併合先要素Ｍの終了位置以前にあると判定されるため（ＹＥＳ）、ステップＳ２１１へ処理が分岐される。
【００９３】
ステップＳ２１１では、併合処理部２６２は、さらに、着目要素Ａの終了位置が併合先要素Ｍの終了位置以前であるか（Ａ終了位置≦Ｍ終了位置）否かを判定する。ステップＳ２１１で、図１５（Ａ）に示すように、着目要素Ａが併合先要素Ｍと同時か先に終わる場合（ＹＥＳ）は、ステップＳ２１３へ処理が分岐される。この場合、図１５（Ａ）に示すように、併合処理部２６２は、ステップＳ２１３で、着目要素Ａを削除し、着目要素Ａを次の要素に進めて、ステップＳ２０２に処理を戻す。この場合、着目要素Ａが併合先要素Ｍに併合されることになる。
【００９４】
一方、図１５（Ｂ）に示すように、着目要素Ａが併合先要素Ｍの後ろにはみ出る場合は、ステップＳ２１１で、着目要素Ａの終了位置が併合先要素Ｍの終了位置より後ろにあると判定されるため（ＮＯ）、ステップＳ２１２へ処理が分岐される。この場合、併合処理部２６２は、図１５（Ｂ）に示すように、ステップＳ２１２で、着目要素Ａの終了位置を併合先要素Ｍの新たな終了位置として設定し、着目要素Ａを併合先要素Ｍに併合し、ステップＳ２１３で、着目要素Ａを削除し、着目要素Ａを次の要素に進める。そして、ステップＳ２０２に処理が戻される。
【００９５】
一方、ステップＳ２１０で、第１リストの残りがないか、または、着目要素Ａが併合先要素Ｍと連続も重ならず後にくる場合（ＮＯ）は、ポイントＡを介して、図１３に示すステップＳ２１４へ処理が分岐される。ステップＳ２１４では、併合処理部２６２は、第２リストの残りがあり、かつ、第２リストの着目要素Ｂの開始位置が第１リストの併合先要素Ｍの終了位置以前にあるか（Ｂ開始位置≦Ｍ終了位置）否かを判定する。
【００９６】
ステップＳ２１４で、第１リストの残りがあり、かつ、併合先要素Ｍが着目要素Ｂより先に始まり（ステップＳ２０３でＮＯ）、かつ、併合先要素Ｍと着目要素Ｂが連続するか重なる場合は、着目要素Ｂの開始位置が併合先要素Ｍの終了位置より以前にあると判定されるため（ＹＥＳ）、ステップＳ２１５へ処理が分岐される。
【００９７】
ステップＳ２１５では、併合処理部２６２は、さらに、着目要素Ｂの終了位置が併合先要素Ｍの終了位置以前にあるか（Ｂ終了位置≦Ｍ終了位置）否かを判定する。ステップＳ２１５で、図１５（Ｃ）に示すように、着目要素Ｂが併合先要素Ｍと同時か先に終わると判定された場合（ＹＥＳ）は、ステップＳ２１７へ分岐される。この場合、併合処理部２６２は、図１５（Ｃ）に示すように、着目要素Ｂを次の要素に進めて、ポイントＢを介して、図１２に示すステップＳ２０２へ処理を戻す。この場合、着目要素Ｂが併合先要素Ｍに併合されることになる。
【００９８】
一方、ステップＳ２１５で、図１６（Ａ）に示すように、着目要素Ｂが併合先要素Ｍの後ろにはみ出ると判定された場合（ＮＯ）は、ステップＳ２１６へ処理が分岐される。この場合、併合処理部２６２は、図１６（Ａ）に示すように、ステップＳ２１６で、着目要素Ｂの終了位置を併合先要素Ｍの新たな終了位置として設定し、着目要素Ｂを併合先要素Ｍに併合し、ステップＳ２１７で、着目要素Ｂを次の要素に進める。そして、ポイントＢを介してステップＳ２０２へ処理が戻される。
【００９９】
一方、ステップＳ２１４で、第２リストに残りがないか、または、併合先要素Ｍと着目要素Ｂが連続も重なりもしないと判定された場合（ＮＯ）は、ステップＳ２１８へ処理が分岐される。ステップＳ２１８では、併合処理部２６２は、第１リストの残りがあるか否かを判定する。ステップＳ２１８で、第１リストの残りがあると判定された場合（ＹＥＳ）は、ステップＳ２１９へ処理が分岐される。これは、第１リストの残りがあり、かつ、併合先要素Ｍが、着目要素Ａより先に、第２リストに残りが有る場合はさらに着目要素Ｂより先に始まり、かつ、いずれとも重ならない場合である。この場合、図１６（Ｂ）に示すように、併合処理部２６２は、ステップＳ２１９で、併合先要素Ｍおよび着目要素Ａをそれぞれ次の要素に先に進めて、ポイントＢを介して、図１２に示すステップＳ２０２へ処理を戻す。
【０１００】
一方、ステップＳ２１８で、第１リストの残りがないと判定された場合（ＮＯ）は、ステップＳ２２０へ処理が分岐される。これは、第１リストの残りがなく、かつ、併合先要素Ｍが、着目要素Ｂより先に始まり、かつ、併合先要素Ｍと着目要素Ｂとが重ならない場合である。この場合、図１６（Ｃ）に示すように、併合処理部２６２は、ステップＳ２２０で、着目要素Ｂを併合先要素Ｍの後ろに挿入し、併合先要素Ｍおよび着目要素Ｂをそれぞれ次に進めて、ポイントＢを介して、図１２に示すステップＳ２０２へ処理を戻す。
【０１０１】
なお、初期状態で第１リストが空のときは、第２リストの先頭要素を第１リストにコピーして併合先要素Ｍとし、その状態から開始すればよい。また、３以上のリストを併合する場合は、２つのリストの統合を繰り返せばよい。
【０１０２】
以下、図１７〜図２１を参照しながら、本実施形態による除外処理について、より詳細に説明する。図１７および図１８は、本実施形態による除外処理部２６４が実行するマスク適用対象からのマスク除外対象の除外処理を示すフローチャートである。また、図１９〜図２１は、マスク適用対象からのマスク除外対象の除外処理において行われる、範囲情報に応じたマスク適用対象リストの要素に対する各処理操作を説明する図である。
【０１０３】
なお、以下に説明する除外処理では、上述した併合処理と同様に、ある規則に基づいて生成されたマスク適用対象の第１リストから、別の規則に基づいて生成されたマスク除外対象の第２リストの各要素に該当する範囲を除外し、新たなリストを生成する代わりに第１リスト自体に統合結果を格納する。第１リストに重複や連続するものがあれば、併合処理と同様にこれらは併合される。このように既に存在するリストに統合することにより、除外処理に要するメモリの消費容量を削減することができる。しかしながら、これに限定されるものではなく、他の実施形態では、新たなリストを生成してもよい。
【０１０４】
図１７に示す処理は、統合すべきマスク適用対象リストおよびマスク除外対象リストの入力を受けたことに応答して、ステップＳ３００から開始される。ステップＳ３０１では、除外処理部２６４は、第１リストの除外先要素Ｍおよび着目要素Ａ、並びに第２リストの着目要素Ｘを初期設定する。初期状態では、第１リストの先頭から順に、先頭要素が除外先要素Ｍとなり、その次の要素が着目要素Ａとなる。そして、第２リストの先頭要素が着目要素Ｘとなる。除外先要素Ｍは、除外処理において、統合先要素を構成する。
【０１０５】
ステップＳ３０２以降、除外先要素Ｍ、着目要素Ａおよび着目要素Ｘの開始位置および終了位置の関係に基づいて、第１リストの要素の開始位置および終了位置の少なくとも一方の変更、第１リストの要素の削除および第２リストの要素の破棄を含む一群の操作のうちの少なくとも１つを行うことによって、統合処理が行われる。統合処理中、除外先要素Ｍ、着目要素Ａおよび着目要素Ｘが適宜、先頭から順に後ろに進められることになる。
【０１０６】
以下、図１７を参照しながら、ステップＳ３０２以降の処理について、より詳細に説明する。ステップＳ３０２では、除外処理部２６４は、第１リストおよび第２リストのいずれかに残りがあるか否かを判定する。ステップＳ３０２で、第１リストおよび第２リストのいずれにも残りがないと判定された場合（ＮＯ）は、ステップＳ３２１へ処理が分岐され、ステップＳ３２１で本処理が終了される。一方、第１リストおよび第２リストのいずれかに残りがあると判定された場合（ＹＥＳ）は、ステップＳ３０３へ処理が分岐される。併合処理と同様に、第１リスト自体に重複や連続がある可能性があるため、処理は継続される。
【０１０７】
ステップＳ３０３では、除外処理部２６４は、第１リストの残りがあり、かつ、第１リストの着目要素Ａの開始位置が除外先要素Ｍの終了位置前にあるか（Ａ開始位置≦Ｍ開始位置）否かを判定する。ステップＳ３０３で、第１リストの残りが有り、かつ、第１リストにおいて除外先要素Ｍが着目要素Ａより先に始まり（常にそうである）、かつ、除外先要素Ｍと着目要素Ａが連続または重なると場合（ＹＥＳ）は、ステップＳ３０４へ処理が分岐される。
【０１０８】
ステップＳ３０４では、除外処理部２６４は、第１リストの着目要素Ａの終了位置が除外先要素Ｍの終了位置以前にあるか（Ａ終了位置≦Ｍ終了位置）否かを判定する。ステップＳ３０４で、図１９（Ａ）に示すように、着目要素Ａが除外先要素Ｍと同時か先に終わる場合（ＹＥＳ）は、ステップＳ３０６へ処理が分岐される。その場合、除外処理部２６４は、図１９（Ａ）に示すように、ステップＳ３０６で、着目要素Ａを削除し、着目要素Ａを次の要素に進めて、ステップＳ３０２へ処理を戻す。
【０１０９】
一方、ステップＳ３０４で、図１９（Ｂ）に示すように、着目要素Ａが除外先要素Ｍの後ろにはみ出る場合（ＮＯ）は、ステップＳ３０５へ処理が分岐される。この場合、除外処理部２６４は、図１９（Ｂ）に示すように、ステップＳ３０５で、着目要素Ａの終了位置を除外先要素Ｍの新たな終了位置として設定し、着目要素を除外先要素Ｍに併合し、ステップＳ３０６で、着目要素Ａを削除し、着目要素Ａを次の要素に進めて、ステップＳ３０２に処理を戻す。
【０１１０】
一方、ステップＳ３０３で、第１リストの残りがないか、または、第１リストの着目要素Ａの開始位置が除外先要素Ｍの終了位置の後にある場合（ＮＯ）には、ステップＳ３０７へ処理が分岐される。ステップＳ３０７では、除外処理部２６４は、第２リストの残りがあり、かつ、第２リストの着目要素Ｘの開始位置が第１リストの除外先要素Ｍの開始位置以前にあるか否かを判定する。ステップＳ３０７で、着目要素Ｘが除外先要素Ｍと同時か先に始まると判定された場合（ＹＥＳ）は、ステップＳ３０８へ処理が分岐される。
【０１１１】
ステップＳ３０８では、除外処理部２６４は、第２リストの着目要素Ｘの終了位置が第１リストの除外先要素Ｍの開始位置よりも前にくるか否かを判定する。ステップＳ３０８で、着目要素Ｘが除外先要素Ｍより先に終わり、連続しない場合（ＹＥＳ）は、ステップＳ３０９へ処理が分岐される。この場合、除外処理部２６４は、図１９（Ｃ）に示すように、ステップＳ３０９で、着目要素Ｘを次に進めて、ステップＳ３０２へ処理を戻す。
【０１１２】
ステップＳ３０８で、着目要素Ｘの終了位置が除外先要素Ｍの開始位置よりも前にないと判定された場合（ＮＯ）は、ステップＳ３１０へ処理が分岐される。ステップＳ３１０では、除外処理部２６４は、さらに、着目要素Ｘの終了位置が除外先要素Ｍの終了位置よりも前にあるか否かを判定する。ステップＳ３１０で、着目要素Ｘが除外先要素Ｍと連続するか、一部と重なると判定された場合（ＹＥＳ）は、ステップＳ３１１へ処理が分岐される。この場合、除外処理部２６４は、図２０（Ａ）に示すように、ステップＳ３１１で、着目要素Ｘの終了位置を除外先要素Ｍの新たな開始位置として設定し、除外先要素Ｍから着目要素Ｘとの重複範囲を除外し、着目要素Ｘを次の要素に進める。そして、ステップＳ３０２に処理が戻される。
【０１１３】
これに対し、ステップＳ３１０で、着目要素Ｘが除外先要素Ｍの全体を覆うと判定された場合（ＮＯ）は、ステップＳ３１２へ処理が分岐される。この場合、除外処理部２６４は、図２０（Ｂ）に示すように、ステップＳ３３１２で、除外先要素Ｍを削除し、除外先要素Ｍおよび着目要素Ａをそれぞれ次の要素に進めて、ステップＳ３１３へ処理を進める。ステップＳ３１３では、除外処理部２６４は、除外先要素Ｍがあるか否かを判定し、除外先要素Ｍがあれば（ＹＥＳ）、ステップＳ３０２に処理を戻し、なければ、ポイントＥを介して、図１８に示すステップＳ３２１へ処理を進め、本処理を終了する。
【０１１４】
一方、ステップＳ３０７で、第２リストの残りがないか、または、着目要素Ｘの開始位置が除外先要素Ｍの開始位置の後にある場合（ＮＯ）は、ポイントＣを介して、図１８に示すステップＳ３１４へ処理が分岐される。
【０１１５】
ステップＳ３１４では、除外処理部２６４は、第２リストの残りがあり、かつ、着目要素Ｘの開始位置が除外先要素Ｍの終了位置より先にあるか否かを判定する。ステップＳ３１４で、第２リストの残りが有り、かつ除外先要素Ｍが着目要素Ｘより先に始まり、かつ除外先要素Ｍと着目要素Ｘが重なる場合（ＹＥＳ）は、ステップＳ３１５へ処理が分岐される。
【０１１６】
ステップＳ３１５では、除外処理部２６４は、除外先要素Ｍの終了位置が着目要素Ｘの終了位置以前にくるか否かを判定する。ステップＳ３１５で、除外先要素Ｍが着目要素Ｘと同時か先に終わる場合（ＹＥＳ）は、ステップＳ３１６へ処理が分岐される。この場合、図２０（Ｃ）に示すように、着目要素Ｘの開始位置を除外先要素Ｍの新たな終了位置として設定し、除外先要素Ｍから着目要素Ｘとの重複範囲を除外し、除外先要素Ｍと着目要素Ａをそれぞれ次に進める。ステップＳ３１７では、除外処理部２６４は、除外先要素Ｍがあるか否かを判定し、除外先要素Ｍがあれば（ＹＥＳ）、ポイントＤを介してステップＳ３０２に処理を戻し、なければ（ＮＯ）ポイントＥを介して、ステップＳ３２１へ処理を進め、本処理を終了する。
【０１１７】
一方、ステップＳ３１５で、除外先要素Ｍが着目要素Ｘの後ろにはみ出る場合（ＮＯ）は、ステップＳ３１８へ処理が分岐される。この場合、図２１（Ａ）に示すように、着目要素Ｘの開始位置を除外先要素Ｍの新たな終了位置とし、着目要素Ｘの終了位置を開始位置、除外先要素Ｍの終了位置を終了位置とする新たな除外先要素Ｍを現在の除外先要素Ｍの直後に挿入し、着目要素Ｘを次に進める。そして、ステップＳ３０２に処理が戻される。図２１（Ａ）は、第１リストの旧除外先要素Ｍが、第２リストの旧着目要素Ｘによって、２つの要素に分割された結果を示す。
【０１１８】
一方、ステップＳ３１４で、第２リストの残りがないか、あるいは、図２１（Ｂ）に示すように、除外先要素Ｍの終了位置が着目要素Ｘの開始位置以前にあると判定された場合（ＮＯ）は、ステップＳ３１９へ処理が分岐される。ステップＳ３１９では、除外処理部２６４は、図２１（Ｂ）に示すように、除外先要素Ｍおよび着目要素Ａをそれぞれ次に進める。ステップＳ３２０では、除外処理部２６４は、除外先要素Ｍがあるか否かを判定し、除外先要素Ｍがあれば（ＹＥＳ）、ポイントＤを介してステップＳ３０２に処理を戻し、なければ（ＮＯ）、ポイントＥを介して、ステップＳ３２１へ処理を進め、本処理を終了する。
【０１１９】
以上説明したように、上述までの実施形態によれば、１以上の規則に基づいて判定されたマスク適用対象の箇所を確認するための画面上で、編集操作の単位としてのマスク適用対象の範囲に一致するように重複が解消された状態でマスク適用される範囲を表示することが可能な、情報処理装置、プログラム、情報処理システムおよび情報処理方法を提供することができる。
【０１２０】
上記実施形態によれば、複数の規則に基づいて生成されたマスク処理対象リストが併合され、範囲が重複したりあるいは連続したりすることのないよう前処理した上でプレビュー画面が表示されることになる。このため、内部で保持するマスク対象の範囲と、プレビュー画面でユーザに見えるマスク対象の範囲が一致し、ユーザが行ったマスク解除操作がそのままプレビュー表示に反映されるようになり、直観的でわかりやすい編集操作をユーザに提供することができる。
【０１２１】
なお、上記機能部は、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）、などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ＲＯＭ、ＥＥＰＲＯＭ、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ブルーレイディスク、ＳＤカード、ＭＯなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
【０１２２】
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【０１２３】
１２…ＣＰＵ、１４…ノースブリッジ、１６…サウスブリッジ、１８…ＲＡＭ、２０…グラフィックボード、２４…ＬＡＮポート、２６…ＩＥＥＥ１３９４ポート、２８…ＵＳＢポート、３０…補助記憶装置、３２…オーディオ入出力、３４…シリアルポート、５０…ディスプレイ、５２…キーボード、５４…マウス、１００…印刷システム、１１０…文書管理システム、１１２，１１４，１１６，１１８…クライアント端末、１２２，１２４，１２６，１２８…プリンタ、１３０…ネットワーク、２０２…文書管理クライアント・アプリケーション、２０４…実プリンタドライバ、２１０…プラットフォーム、２１２…表示制御部、２１４…設定部、２１６…通信部、２１８…プラットフォームＡＰＩ、２２０…アプリケーション、２２２…プラグイン、２３０…ソフトウェア・パッケージ、２３２…仮想プリンタドライバ、２３４…マスク処理プラグイン、２３６…文書化プリンタドライバ、２４０…マスク対象判定部、２４２…単語種別による判定処理部、２４４…形態素辞書、２４６…キーワード隣接語による判定処理部、２４８…キーワード辞書、２５０…形態素個別指定による判定処理部、２５２…適用語・除外語形態素辞書、２５４…パターンマッチングによる判定処理部、２５６…適用語・除外語パターン辞書、２６０…マスク対象統合部、２６２…併合処理部、２６４…除外処理部、２７０…プレビュー処理部、２７２…事前結果表示処理部、２７４…マスク対象解除部、２８０…マスク描画処理部、３００…プレビュー表示画面、３０２…ジョブ一覧、３０４…更新ボタン、３０６…ページ一覧、３１０…印刷プレビュー、３２０，３２２…色選択ボタン、３２４…印刷ボタン
【先行技術文献】
【特許文献】
【０１２４】
【特許文献１】特開２０１３−０７３２７７号公報
【図１】
2018026037.tif 000003
【図２】
2018026037.tif 000004
【図３】
2018026037.tif 000005
【図４】
2018026037.tif 000006
【図５】
2018026037.tif 000007
【図６】
2018026037.tif 000008
【図７】
2018026037.tif 000009
【図８】
2018026037.tif 000010
【図９】
2018026037.tif 000011
【図１０】
2018026037.tif 000012
【図１１】
2018026037.tif 000013
【図１２】
2018026037.tif 000014
【図１３】
2018026037.tif 000015
【図１４】
2018026037.tif 000016
【図１５】
2018026037.tif 000017
【図１６】
2018026037.tif 000018
【図１７】
2018026037.tif 000019
【図１８】
2018026037.tif 000020
【図１９】
2018026037.tif 000021
【図２０】
2018026037.tif 000022
【図２１】
2018026037.tif 000023