(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024134607
(43)【公開日】2024-10-04
(54)【発明の名称】情報処理方法、情報処理装置、および情報処理プログラム
(51)【国際特許分類】
G06F 21/75 20130101AFI20240927BHJP
【FI】
G06F21/75
【審査請求】有
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023044880
(22)【出願日】2023-03-22
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】花谷 嘉一
(57)【要約】
【課題】機密漏洩抑制のためのデータ加工に関する計算量の削減を図る。
【解決手段】本実施形態の情報処理方法は、コンピュータによって実行される情報処理方法であって、マップ上の所定方向に沿って位置座標ごとに配置された複数のデータ値の群からなる元データの加工規則をマップにおける位置座標ごとに規定した加工パタンを用いて、元データを加工した加工済データを生成する加工ステップを含む。
【選択図】
図2
【特許請求の範囲】
【請求項1】
コンピュータによって実行される情報処理方法であって、
マップ上の所定方向に沿って位置座標ごとに配置された複数のデータ値の群からなる元データの加工規則を前記マップにおける位置座標ごとに規定した加工パタンを用いて、前記元データを加工した加工済データを生成する加工ステップ、
を含む情報処理方法。
【請求項2】
前記加工パタンは、
前記位置座標ごとに、前記元データにおけるデータ値を、前記加工済データにおける加工後のデータ値に加工するための前記加工規則を定めたパタンである、
請求項1に記載の情報処理方法。
【請求項3】
前記加工パタンは、
前記位置座標ごとに、前記元データにおけるデータ値をそのまま用いることを表す維持符号、削除対象であることを表す削除符号、または解析対象外であることを表す解析対象外符号、の何れかを規定したパタンである、
請求項2に記載の情報処理方法。
【請求項4】
前記加工パタンは、
前記元データにおける解析対象領域の形状に対して相似する形状の領域内の前記位置座標に前記維持符号が規定され、
前記維持符号が規定された領域の外周に前記解析対象外符号または前記削除符号が規定されたパタンである、
請求項3に記載の情報処理方法。
【請求項5】
前記加工ステップは、
前記加工規則の少なくとも一部の異なる複数の前記加工パタンの内、前記元データに応じた1つの前記加工パタンを用いて前記加工済データを生成する、
請求項2に記載の情報処理方法。
【請求項6】
前記加工ステップは、
前記加工規則の少なくとも一部の異なる複数の前記加工パタンの内、
前記元データのデータサイズに一致するデータサイズの1つの前記加工パタンを用いて前記加工済データを生成する、
請求項2に記載の情報処理方法。
【請求項7】
前記加工規則の異なる複数の前記加工パタンを出力部に出力する出力制御ステップを含み、
前記加工ステップは、
出力された複数の前記加工パタンの内の選択された1つの前記加工パタンを用いて前記加工済データを生成する、
請求項2に記載の情報処理方法。
【請求項8】
前記加工ステップで前記元データの加工に用いる前記加工パタンを出力部に出力する出力制御ステップを備える、
請求項2に記載の情報処理方法。
【請求項9】
前記所定方向は、
前記マップ上の第1の方向、および前記第1の方向に交差する第2の方向、を含むK次元の方向(Kは2以上の整数)である、
請求項1に記載の情報処理方法。
【請求項10】
前記所定方向は、
前記マップ上の1次元の方向である、
請求項1に記載の情報処理方法。
【請求項11】
前記元データにおける解析対象領域内の複数のデータ値の少なくとも一部のデータ値の前記位置座標を前記解析対象領域内における他の前記位置座標に置換する座標置換ステップを有し、
前記加工ステップは、
前記座標置換ステップによって前記位置座標を置換されたシャッフル済データを、前記加工パタンを用いて加工した前記加工済データを生成する、
請求項1に記載の情報処理方法。
【請求項12】
マップ上の所定方向に沿って位置座標ごとに配置された複数のデータ値の群からなる元データの加工規則を前記マップにおける位置座標ごとに規定した加工パタンを用いて、前記元データを加工した加工済データを生成する加工部、
を備える情報処理装置。
【請求項13】
マップ上の所定方向に沿って位置座標ごとに配置された複数のデータ値の群からなる元データの加工規則を前記マップにおける位置座標ごとに規定した加工パタンを用いて、前記元データを加工した加工済データを生成する加工ステップ、
をコンピュータに実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理方法、情報処理装置、および情報処理プログラムに関する。
【背景技術】
【0002】
元データの解析を解析機関に依頼することが行われている。また、元データの機密漏洩抑制のために、元データを加工した上で解析機関に依頼することが行われている。例えば、元データを複数のデータに分割し、複数の解析機関の各々に一部のデータのみを開示して解析依頼することが行われている。また、ウェハ上に配置された解析対象領域であるチップ範囲をエッジ検出により検出し、検出したチップ範囲の外周のデータを削除する加工を施した上で、解析依頼することが行われている。
【0003】
しかし、従来では、機密漏洩抑制のためのデータ加工に関する計算量の増大が問題となる場合があった。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【非特許文献1】花谷嘉一、他1名、”安全性と有用性を両立する半導体ウェハマップのデータマスキングの検討“、SCIS 2022、2022年1月18日
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明が解決しようとする課題は、機密漏洩抑制のためのデータ加工に関する計算量の削減を図ることができる、情報処理方法、情報処理装置、および情報処理プログラムを提供することである。
【課題を解決するための手段】
【0007】
実施形態の情報処理方法は、コンピュータによって実行される情報処理方法であって、マップ上の所定方向に沿って位置座標ごとに配置された複数のデータ値の群からなる元データの加工規則を前記マップにおける位置座標ごとに規定した加工パタンを用いて、前記元データを加工した加工済データを生成する加工ステップ、を含む。
【図面の簡単な説明】
【0008】
【
図6】情報処理装置が実行する情報処理の流れのフローチャート。
【
図7】加工部が実行する加工処理の流れのフローチャート。
【
図11A】シャッフル済データの加工処理の説明図。
【
図11B】シャッフル済データの加工処理の説明図。
【
図11C】シャッフル済データの加工処理の説明図。
【
図11D】シャッフル済データの加工処理の説明図。
【
図12】情報処理装置が実行する情報処理の流れのフローチャート。
【
図13】座標置換部が実行するシャッフル処理の流れのフローチャート。
【発明を実施するための形態】
【0009】
以下に添付図面を参照して、情報処理装置、情報処理方法、および情報処理プログラムを詳細に説明する。
【0010】
(第1の実施形態)
図1は、本実施形態の情報処理システム1の一例を示す模式図である。
【0011】
情報処理システム1は、情報処理装置10と、解析装置12と、を備える。情報処理装置10と、解析装置12とは、ネットワークNなどの無線または有線の通信網を介して通信可能に接続されている。
【0012】
情報処理装置10は、専用または汎用コンピュータである。情報処理装置10は、元データの解析を、解析装置12に依頼する装置である。元データの詳細は後述する。
【0013】
解析装置12は、専用または汎用コンピュータである。解析装置12は、情報処理装置10から受信したデータを解析する解析装置である。情報処理システム1は、複数の解析装置12を備えた構成であってもよい。複数の解析装置12は、例えば、それぞれ、互いに異なる企業、個人、または団体によって管理されている。
【0014】
図2は、情報処理装置10の機能的構成の一例を示すブロック図である。
【0015】
情報処理装置10は、処理部20と、記憶部22と、通信部24と、UI(ユーザ・インターフェース)部26と、を備える。処理部20と、記憶部22と、通信部24と、UI部26とは、バス28を介してデータまたは信号を授受可能に接続されている。
【0016】
なお、記憶部22と、通信部24と、UI部26と、の少なくとも1つと、処理部20とを、ネットワークNを介して接続してもよい。すなわち、記憶部22と、通信部24と、UI部26と、の少なくとも1つを、情報処理装置10に対してネットワークNを介して接続された外部装置に設けてもよい。また、処理部20に含まれる後述する機能部の少なくとも1つを、該外部装置に設けた構成としてもよい。外部装置は、例えば、外部サーバなどである。
【0017】
記憶部22は、各種データを記憶する。本実施形態では、記憶部22は、加工パタン情報22Aを記憶する。加工パタン情報22Aの詳細は後述する。また、記憶部22は、後述する処理部20による加工結果である加工済データや各種のパラメータ等を記憶してよい。加工済データの詳細は後述する。
【0018】
記憶部22は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。なお、記憶部22は、情報処理装置10の外部に設けられた記憶装置であってもよい。また、記憶部22は、記憶媒体であってもよい。具体的には、記憶媒体は、プログラムや各種情報を、LAN(Local Area Network)やインターネットなどを介してダウンロードして記憶または一時記憶したものであってもよい。また、記憶部22を、複数の記憶媒体から構成してもよい。
【0019】
通信部24は、ネットワークNを介して複数の解析装置12の各々および外部装置と通信する。例えば、通信部24は、各種の情報を解析装置12へ送信、または各種の情報を解析装置12から受信する。
【0020】
UI部26は、ユーザによる操作入力を受付ける機能、および、各種の情報を出力する機能を備える。
【0021】
例えば、UI部26は、ディスプレイと、入力部と、を含む。ディスプレイは、各種の情報を表示する。ディスプレイは、例えば、公知の有機EL(Electro-Luminescence)ディスプレイ、LCD(Liquid Crystal Display、投影装置などである。入力部は、ユーザからの各種指示を受付ける。入力部10Eは、例えば、キーボード、マウス、タッチパネル、マイクロフォン、などである。なお、UI部26を、入力機構と出力機構とを備えたタッチパネルで構成してもよい。また、UI部26は、更に、音声を出力するスピーカを含む構成であってもよい。
【0022】
処理部20は、取得部20Aと、特定部20Bと、加工部20Cと、出力制御部20Dと、を備える。取得部20A、特定部20B、加工部20C、および出力制御部20Dの少なくとも1つは、例えば、1または複数のプロセッサにより実現される。例えば、上記各部は、CPU(Central Processing Unit)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のIC(Integrated Circuit)などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
【0023】
取得部20Aは、複数の元データを取得する。
【0024】
元データとは、解析対象のデータである。言い換えると、元データは、解析装置12に解析を依頼する対象の元となるデータである。
【0025】
解析対象とは、例えば、解析する対象となる物品である。物品は、例えば、電化製品、車両、電化製品または車両などに搭載される部品などであるが、これらに限定されない。部品は、例えば、電子回路、シリコンウェハ、などであるが、これらに限定されない。なお、解析対象は、物品に限定されず、予め定められた分類規則に応じて分類されたデータの群であってもよい。本実施形態では、解析対象が、複数のチップを搭載したシリコンウェハである場合を想定して説明する。
【0026】
元データは、マップ上の所定方向に沿って位置座標ごとに配置された複数のデータ値の群からなる。マップとは、元データの解析対象のデータの単位であり、元データに含まれるデータ値を1次元空間またはK次元空間に配置した状態を意味する。Kは1以上の整数である。データ値とは、位置座標の各々の状態を表す状態値である。
【0027】
本実施形態では、マップが二次元空間に配置された二次元マップである形態を一例として説明する。このため、本実施形態では、マップ上のデータ値の配列方向である所定方向が、マップ上の第1の方向、および第1の方向に交差する第2の方向、を含むK次元の方向(本実施形態ではK=2)である形態を一例として説明する。第1の方向をx軸方向、第2の方向をx軸方向に直交するy軸方向であるものとして説明する。すなわち、本実施形態では、元データに含まれるデータ値が、二次元空間によって表されるマップの互いに直交するx座標およびy座標によって表される位置座標ごとに配置されている形態を一例として説明する。また、本実施形態では、マップが、解析対象であるシリコンウェハの板面に沿った二次元マップである形態を一例として説明する。また、本実施形態では、マップが二次元平面に沿った正方形状である形態を一例として説明する。なお、マップの形状は正方形状に限定されない。
【0028】
図3Aおよび
図3Bは、元データ35Dinの一例の説明図である。
図3Aは、取得部20Aで取得した複数の元データDinの各々のデータ形式の一例を示す模式図である。
図3Bは、元データDinの各々をマップM上に配置して示したイメージ図である。
【0029】
図3Aおよび
図3Bには、元データDin0~元データDin{N-1}までのN個の元データDinを一例として示す。Nは、1以上の整数であり、取得部20Aが処理対象の単位として取得する元データDinの数に相当する。すなわち、取得部20Aは、N個の元データDin={Din0,…,Din{N-1}}を処理対象として取得する。また、本実施形態では、取得部20Aは、2次元の位置座標の各々に配置されたデータ値からなる元データDin、すなわち二次元データの元データDinを取得する形態を一例として説明する。
【0030】
図3Aには、元データDinの識別情報であるIDと、該IDによって識別される元データDinを構成する複数のデータと、を対応付けたデータ構成を一例として示す。
図3A中、横軸に沿って付与された0、1,2,3,4,5,6,7,・・・,Num-1の数字は、元データDinに含まれる各データ値に付与した番号であり、各位置座標のデータ値の識別番号に相当する。Numは、元データDinに含まれるデータ値のデータ数である。元データDinを構成するデータ値のデータ数は、データサイズと称して説明する場合がある。例えば、元データDinが、x座標が0,1,…,n-1、y座標が0,1,…,n-1なる正方形状である場合、Num=n*n-1となる。
【0031】
例えば、元データDinを構成する複数のデータの各々は、((x,y),v_Din_j)によって表される。xはx座標値、yはy座標値、を表す。v_Din_jは、該位置座標(x,y)に規定されたデータ値を表す。また、x座標が0,1,…,n-1、y座標が0,1,…,n-1なる正方形状である場合、((x,y),v_Din_{x+ny})と表記できる。
【0032】
本実施形態では、元データDinに含まれるデータ値が、解析対象領域30A、解析対象外領域30B、の何れかを表すデータ値である場合を一例として説明する。
【0033】
解析対象領域30Aとは、マップMにおける、解析対象となるデータ値の配置された領域である。本実施形態では、解析対象領域30Aが、シリコンウェハを表すマップMにおける、チップの配置された領域を表す場合を一例として説明する。
【0034】
また、本実施形態では、元データDinには、マップMにおける解析対象領域30A内の位置座標の各々のデータ値として、解析対象領域30A内の位置座標の各々に配置されたチップの状態を表す値が規定されている場合を説明する。チップの状態を表す値としては、例えば、チップの検査結果を表すデータ値がある。本実施形態では、元データDinの解析対象領域30A内の位置座標の各々には、チップの状態を表すデータ値として、検査結果を表すデータ値が規定されている場合を想定して説明する。チップの検査結果を表すデータ値は、例えば、良品であることを表す「0」、または不良品であることを表す「1」である。
【0035】
なお、チップの検査結果を表すデータ値は、「0」、「1」に限定されない。また、解析対象領域30A内の位置座標の各々のデータ値は、チップの検査結果を表すデータ値に限定されない。
【0036】
解析対象外領域30Bとは、マップMにおける解析対象外となるデータ値の配置された領域である。本実施形態では、解析対象外領域30Bが、シリコンウェハを表すマップMにおける、チップの配置されていない領域を表す場合を一例として説明する。具体的には、マップMにおける解析対象外領域30B内の位置座標の各々には、解析対象外を表すデータ値「-1」が規定されている場合を想定して説明する。なお、解析対象外を表すデータ値は「-1」に限定されない。
【0037】
このため、本実施形態では、元データDinの位置座標(x,y)の各々に規定された状態を表す状態値であるデータ値v_Din_jとして、良品を表す「0」、不良品を表す「1」、および解析対象外を表す「-1」の何れかが規定されている場合を想定して説明する。
【0038】
すなわち、本実施形態では、元データDinに含まれるデータ((x,y),v_Din_j=0)によって表される該位置座標(x,y)のデータ値は、チップの状態「良品」を表す。また、元データDinに含まれるデータ((x,y),v_Din_j=1)によって表される該位置座標(x,y)のデータ値は、チップの状態「不良品」を表す。また、((x,y),v_Din_j=-1)によって表される該位置座標(x,y)のデータ値は、チップの状態「解析対象外」を表す。なお、これらのデータ形式は一例であり、他のデータ形式であってよい。
【0039】
取得部20Aは、外部の他の情報処理装置等からネットワークNを介して処理対象となる複数の元データDinの群を取得する。また、取得部20Aは、記憶部22に記憶されている処理対象となる複数の元データDinの群を読取ることで、複数の元データDinを取得してもよい。出力制御部20Dは、取得部20Aで取得した複数の元データDinを、処理対象の単位として特定部20Bへ出力する。なお、取得部20Aが取得する処理対象となる複数の元データDinの群に含まれる元データDinは、互いにデータサイズおよび解析対象領域30Aのデータ数が同じであるものとする。
【0040】
本実施形態では、取得部20Aは、
図3Aおよび
図3Bに示す複数の元データDin0~元データDin{N-1}の群を処理単位として取得する形態を想定して説明する。
【0041】
【0042】
特定部20Bは、取得部20Aで取得した複数の元データDinの加工に用いる加工パタンPdを特定する。特定部20Bは、取得部20Aで取得した処理対象の複数の元データDinの群に対して、1つの加工パタンPdを特定する。
【0043】
加工パタンPdとは、元データDinの加工規則をマップMにおける位置座標ごとに規定したパタンである。処理部20は、元データDinに含まれる位置座標の各々のデータ値を加工パタンPdに示される加工規則に沿って加工することで、加工済データDoutを生成する。加工パタンPdは、この加工規則を予め規定したパタンである。
【0044】
詳細には、加工パタンPdは、マップMの位置座標ごとに、状態値として、元データDinにおけるデータ値を、該元データDinを加工した加工済データDoutにおける加工後のデータ値に加工するための加工規則を定めたパタンである。
【0045】
特定部20Bは、記憶部22に記憶されている加工パタン情報22Aから加工パタンPdを特定する。
【0046】
図4Aおよび
図4Bは、加工パタン情報22Aの一例の説明図である。
図4Aは、複数の加工パタンPdの各々のデータ形式の一例を示す模式図である。
図4Bは、加工パタンPd各々をマップM上に配置して示したイメージ図である。
【0047】
加工パタン情報22Aとは、加工規則の少なくとも一部の異なる複数の加工パタンPdが登録された情報である。
【0048】
図4Aに示すように、加工パタン情報22Aには、加工パタンPdのIDと、対応するIDによって識別される加工パタンPdの、データサイズ、削除段数、および該データサイズのデータ数のデータと、が対応付けて登録されている。加工パタン情報22Aには、データサイズおよび削除段数の少なくとも一方の異なる複数の加工パタンPdが登録されている。
【0049】
図4A中、IDは、加工パタンPdの識別情報を表す。
図4Aおよび
図4Bには、加工パタンPdのIDとして、Pd1~Pd3を一例として示す。なお、加工パタン情報22Aには、4以上の加工パタンPdが登録されていてよい。
【0050】
加工パタン情報22Aに表されるデータサイズとは、加工パタンPdのデータサイズである。
【0051】
削除段数とは、元データDinにおける解析対象領域30Aのデータ値を該加工パタンPdによって削除および解析対象外領域を表す符号への置換の少なくとも一方を行う段数を表す。削除段数「1」は、元データDinのマップMの外周に沿って1段(1位置座標分)のデータ値、および、元データDinにおける解析対象領域30Aの外周に沿って該外周から解析対象領域30Aの内側に向かって1段分(1位置座標分に相当)のデータ値を、削除または解析対象外を表す符号に置換することを表す。削除段数「2」は、元データDinのマップMの外周に沿って2段(1位置座標分)のデータ値、および、元データDinにおける解析対象領域30Aの外周に沿って該外周から解析対象領域30Aの内側に向かって2段分(2位置座標分に相当)のデータ値を、削除または解析対象外を表す符号に置換することを表す。
【0052】
なお、加工パタン情報22Aは、削除する段数および解析対象外領域を表す符号へ置換する段数の各々を規定した形態であってもよい。本実施形態では、削除段数は、削除および解析対象外領域を表す符号への置換の少なくとも一方を行う段数を表す形態を一例として説明する。
【0053】
図4A中、横軸に沿って付与された0、1,2,3,4,5,6,7,・・・の数字は、加工パタンPdに含まれる各値に付与した番号であり、各位置座標の値の識別番号に相当する。mは、加工パタンPdに含まれる位置座標ごとの値のデータ数、すなわち加工パタンPdのデータサイズに一致する。
【0054】
例えば、加工パタンPdを構成する複数の値の各々は、((x1_j,y1_j),v_j,(x2_j,y2_j))によって表される。(x1_j,y1_j)は元データDinにおける位置座標であり、x座標およびy座標を表す。(x2_j,y2_j)は、加工済データDoutにおける位置座標であり、x座標およびy座標を表す。v_jは、元データDinの(x1_j,y1_j)のデータ値の加工規則を表す。
【0055】
すなわち、((x1_j,y1_j),v_j,(x2_j,y2_j))は、元データDinにおける位置座標(x1_j,y1_j)のデータ値を、加工規則v_jに応じて加工し、加工済データDoutにおける位置座標(x2_j,y2_j)に設定することを意味する。詳細は後述するが、本実施形態では、加工パタンPdにおける各番号に示される(x1_j,y1_j)と(x2_j,y2_j)の値は、元データDinと加工済データDoutの間で同じ位置座標を表すものとなる。このため、元データDinにおける位置座標(x1_j,y1_j)のデータ値は、加工規則v_jによって加工され、加工済データDoutにおける(x1_j,y1_j)と同じ位置座標(x2_j,y2_j)に設定されることとなる。
【0056】
本実施形態では、加工パタンPdは、位置座標ごとに、元データDinにおけるデータ値をそのまま用いることを表す維持符号「2」、削除対象であることを表す削除符号「-2」、または解析対象外であることを表す解析対象外符号「-1」、の何れかの加工規則を規定したパタンである形態を一例として説明する。すなわち、上記加工規則v_jには、本実施形態では、「2」「-2」「-1」の何れかの符号が予め規定されている。
【0057】
このため、例えば、加工パタンPdにおける値((x1_j,y1_j),v_j=-2,(x2_j,y2_j))は、元データDinの位置座標(x1_j,y1_j)のデータ値を削除し、加工済データDoutにおける位置座標(x2_j,y2_j)に何も設定しないことを意味する。また、加工パタンPdにおける((x1_j,y1_j),v_j=-1,(x2_j,y2_j))は、元データDinの位置座標(x1_j,y1_j)のデータ値を、解析対象外を表す値「-1」に置換し、加工済データDoutにおける位置座標(x2_j,y2_j)に設定することを意味する。また、加工パタンPdにおける((x1_j,y1_j),v_j=2,(x2_j,y2_j))は、元データDinの位置座標(x1_j,y1_j)のデータ値を、加工済データDoutにおける位置座標(x2_j,y2_j)にそのまま設定することを意味する。
【0058】
なお、これらのデータ形式はあくまでも一例であり、加工パタンPdのデータ形式は、別のデータ形式でもよい。また、維持符号、削除符号、および解析対象符号などの加工規則の各々を表す符号は、「2」、「-2」、「-1」に限定されない。
【0059】
図4Bに示すように、本実施形態では、加工パタンPdには、元データDinにおける解析対象領域30Aの形状に対して相似する形状の領域内の位置座標に維持符号「2」が規定されている。詳細には、加工パタンPdにおける維持符号の規定された領域32Aは、元データDinにおける解析対象領域30A(
図3B参照)の形状に対して相似する形状とされている。
【0060】
また、本実施形態では、加工パタンPdには、維持符号「2」が規定された領域32Aの外周に解析対象外符号「-1」または削除符号「-1」が規定されている。
【0061】
このため、本実施形態では、加工パタンPdは、加工対象となる元データDinに含まれる解析対象領域30Aの形状を維持するように、加工規則を表す符号が予め定められている形態を一例として説明する。なお、加工パタンPdにおける設定対象符号の規定された領域32Aの形状と、元データDinの解析対象領域30Aの形状とは、相似形である形態に限定されない。
【0062】
【0063】
特定部20Bは、取得部20Aで取得した複数の元データDinの群に応じた1の加工パタンPdを加工パタン情報22Aから特定する。
【0064】
詳細には、特定部20Bは、取得部20Aで取得した複数の元データDinのデータサイズに一致するデータサイズの1または複数の加工パタンPdを加工パタン情報22Aから取得する。上述したように、取得部20Aは、処理対象の複数の元データDinとして、同じデータサイズおよび解析対象領域30Aのデータ数が同じ複数の元データDinを取得する。このため、特定部20Bは、取得部20Aで取得した複数の元データDinの内の1つの元データDinのデータサイズ(データ数)を計測すればよい。そして、特定部20Bは、計測したデータサイズに一致するデータサイズの1または予め定めた数の複数の加工パタンPdを加工パタン情報22Aから取得する。特定部20Bは、取得した1または複数の加工パタンPdから、任意の1の加工パタン情報22Aを元データDinの加工に用いる加工パタンPdとして特定する。
【0065】
また、特定部20Bは、取得部20Aで取得した複数の元データDinの群のデータサイズに一致するデータサイズの1または複数の加工パタンPdを加工パタン情報22Aから取得する。そして、出力制御部20Dは、特定部20Bが取得した1または複数の加工規則の異なる加工パタンPdの一覧をUI部26へ出力する。例えば、
図4Bに示す複数の加工パタンPdを表す表示画面がUI部26へ表示される。ユーザは、UI部26を視認しながらUI部26を操作することで、所望の1の加工パタンPdを選択する。
【0066】
特定部20Bは、UI部26へ出力した1または複数の加工パタンPdの内、ユーザによるUI部26の操作指示によって選択された1つの加工パタンPdを、複数の元データDinの加工に用いる加工パタンPdとして特定する。
【0067】
また、特定部20Bは、UI部26から削除段数を表す情報を取得する。例えば、出力制御部20Dは、加工パラメータの入力を促す画面をUI部26へ表示する。ユーザは、UI部26を操作することで、所望の削除段数を表す値を入力する。特定部20Bは、UI部26から削除段数を表す情報を取得する。そして、特定部20Bは、取得部20Aで取得した複数の元データDinのデータサイズおよびUI部26から取得した削除段数に対応する加工パタンPdを加工パタン情報22Aから選択する。特定部20Bは、選択した加工パタンPdを、元データDinの加工に用いる加工パタンPdとして特定する。
【0068】
また、特定部20Bは、取得部20Aで取得した複数の元データDinのデータサイズおよびUI部26から取得した削除段数に対応する加工パタンPdを加工パタン情報22Aから取得する。そして、特定部20Bは、取得した加工パタンPDの一覧をUI部26へ出力する。そして、特定部20Bは、ユーザによるUI部26の操作指示によって選択された1つのPdを、複数の元データDinの加工に用いる加工パタンPdとして特定してもよい。
【0069】
なお、出力制御部20Dは、特定部20Bで特定された1の加工パタンPdを、取得部20Aで取得した複数の元データDinの加工に用いる加工パタンPdとしてUI部26へ更に出力してもよい。また、出力制御部20Dは、取得部20Aが複数の元データDinを取得したときに、該取得した複数の元データDinをUI部26へ表示してもよい。そして、出力制御部20Dは、削除段数の入力を促すメッセージまたは加工パタン情報22Aに登録されている複数の加工パタンPdの一覧をUI部26へ表示してもよい。
【0070】
次に、加工部20Cについて説明する。
【0071】
加工部20Cは、取得部20Aで取得した元データDinを、特定部20Bで特定した加工パタンPdを用いて加工し、加工済データDoutを生成する。
【0072】
詳細には、加工部20Cは、取得部20Aで取得した複数の元データDinの各々ごとに、元データDinの各位置座標のデータ値を、特定した加工パタンPdにおける同じ位置座標に規定された加工規則を表す符号に応じて加工し、該位置座標に順次配置することで、加工済データDoutを生成する。
【0073】
具体的には、加工部20Cは、取得部20Aで取得した複数の元データDinの各々ごとに、含まれる位置座標(x,y)の各々について、加工パタンPdにおける該位置座標(x,y)と同じ位置座標(x1_j,y1_j)を含む値((x1_j,y1_j),v_j,(x2_j,y2_j))を特定する。そして、加工部20Cは、元データDinにおける該位置座標(x1_j,y1_j)のデータ値を、特定した値に含まれるv_jによって表される加工規則に沿って加工し、加工済データDoutにおける位置座標(x2_j,y2_j)に設定する。
【0074】
加工部20Cは、これらの処理を、取得部20Aで取得した複数の元データDinの各々における位置座標の各々毎に行うことで、元データDinを加工パタンPdに応じて加工した加工済データDoutを生成する。
【0075】
図5A~
図5Dは、加工部20Cによる元データDinの加工処理の一例の説明図である。
【0076】
図5Aは、
図3Aおよび
図3Bに示す元データDin0を、
図4Aおよび
図4Bに示す加工パタンPd1を用いて加工し、加工済データDout0を生成する加工処理の一例の説明図である。
【0077】
図5Bは、
図3Aおよび
図3Bに示す元データDin1を、
図4Aおよび
図4Bに示す加工パタンPd1を用いて加工し、加工済データDout1を生成する加工処理の一例の説明図である。
【0078】
図5Cは、
図3Aおよび
図3Bに示す元データDin{N-1}を、
図4Aおよび
図4Bに示す加工パタンPd1を用いて加工し、加工済データDout{N-1}を生成する加工処理の一例の説明図である。
【0079】
図5Dは、元データDin0~元データDin{N-1}について加工パタンPdを用いて生成された加工済データDout0~加工済データDout{N-1}の各々のデータ構成の一例の模式図である。
【0080】
図5Dに示すように、加工部20Cが、加工パタンPdを用いてN個の元データDin(元データDin0~元データDin{N-1})を加工することで、N個の加工済データDout0~Dout{N-1}が生成される。各加工済データDoutは、識別子IDに対応するm個のデータからなる。加工済データDoutを構成する複数のデータの各々は、元データDinと同様に、((x,y),v_Din_j)によって表される。xはx座標値、yはy座標値、を表す。v_Din_jは、該位置座標(x,y)に規定されたデータ値を表す。
【0081】
加工部20Cが加工パタンPdを用いて元データDinを加工することで、加工済データDoutの各位置座標には、元データDinにおけるデータ値と同じ値、解析対象外「-1」、の何れかのデータ値が規定された状態となる。また、元データDinにおけるデータ値と同じ値の設定された位置座標には、良品を表す「0」または不良品を表す「1」の何れかが規定された状態となる。また、元データDinにおける加工パタンPdによって削除符号「-2」の規定された位置座標のデータは削除され、加工済データDoutには含まれない状態となる。
【0082】
このように、本実施形態の加工部20Cは、加工パタンPdを用いて元データDinを加工することで加工済データDoutを生成する。このため、加工部20Cは、元データDinにおける解析対象領域30Aの外周を特定する外周特定処理、および特定した外周に応じて元データDinに含まれるデータ値の一部を削除する削除処理、を段階的に行うことなく、加工パタンPdを用いた1工程の処理により、加工済データDoutを生成することができる。
【0083】
このため、本実施形態の処理部20は、機密漏洩抑制のためのデータ加工に関する計算量の削減を図ることができる。
【0084】
出力制御部20Dは、各種の情報を出力する。
【0085】
例えば、上述したように、出力制御部20Dは、取得部20Aで取得した複数の元データDinを、UI部26へ表示する。また、出力制御部20Dは、特定部20Bが取得した1または複数の加工規則の異なる加工パタンPdの一覧をUI部26へ表示する。また、出力制御部20Dは、特定部20Bで特定された1の加工パタンPdを、取得部20Aで取得した複数の元データDinの加工に用いる加工パタンPdとしてUI部26へ表示してもよい。また、出力制御部20Dは、取得部20Aが複数の元データDinを取得したときに、該取得した複数の元データDinをUI部26へ表示してもよい。そして、出力制御部20Dは、削除段数の入力を促すメッセージまたは加工パタン情報22Aに登録されている複数の加工パタンPdの一覧をUI部26へ表示してもよい。
【0086】
また、出力制御部20Dは、加工部20Cによって加工された加工済データDoutを、記憶部22へ記憶してもよい。このとき、出力制御部20Dは、加工済データDoutの加工に用いた加工パタンPdに関する情報や加工済データDoutの加工元の元データDinを対応付けて記憶部22へ記憶してもよい。加工パタンPdに関する情報は、例えば、加工済データDoutの加工に用いた加工パタンPd、加工パタンPdの特定に用いたデータサイズおよび削除段数、等の情報である。
【0087】
また、出力制御部20Dは、加工部20Cによって加工された加工済データDoutを、通信部24を介して所定の宛先によって識別される解析装置12へ送信してもよい。所定の宛先は、例えば、ユーザによるUI部26の操作などによって入力されればよい。また、所定の宛先は、予め記憶部22に記憶されていてもよい。
【0088】
また、出力制御部20Dは、ユーザによるUI部26への操作指示によって解析装置12への加工済データDoutの送信指示が入力されたときに、記憶部22に記憶されている加工済データDoutを所定の宛先の解析装置12へ送信してもよい。
【0089】
次に、本実施形態の情報処理装置10で実行する情報処理の流れの一例を説明する。
【0090】
図6は、本実施形態の情報処理装置10が実行する情報処理の流れの一例を示すフローチャートである。
【0091】
取得部20Aは、処理対象の複数の元データDinを取得する(ステップS100)。
【0092】
特定部20Bは、記憶部22に記憶されている加工パタン情報22Aから、ステップS100で取得した元データDinに応じた1つの加工パタンPdを特定する(ステップS102)。
【0093】
上述したように、特定部20Bは、例えば、ステップS100で取得した元データDinのデータサイズを計測する。また、特定部20Bは、UI部26から削除段数を表す情報を取得する。そして、特定部20Bは、計測したデータサイズおよび取得した削除段数に対応する加工パタンPdを加工パタン情報22Aから取得する。特定部20Bは、取得した加工パタンPDの一覧をUI部26へ出力し、ユーザによるUI部26の操作指示によって選択された1つのPdを、複数の元データDinの加工に用いる加工パタンPdとして特定する。なお、特定部20Bは、計測したデータサイズおよび取得した削除段数に対応する加工パタンPdが加工パタン情報22Aに登録されていない場合には、エラー情報をUI部26へ出力し、処理を終了してもよい。
【0094】
次に、加工部20Cが、ステップS100で取得した複数の元データDinについて、1の元データDinごとに、ステップS104の加工処理を実行する。
【0095】
例えば、加工部20Cは、ステップS100で取得した複数の元データDinの群から、処理対象とする1つの元データDinを読み出し、読出した元データDinを該群から削除する。そして、加工部20Cは、1つの元データDinを読み出すごとに、読み出した元データDinについてステップS104の加工処理を実行する。そして、加工部20Cは、該群に元データDinが無くなるまで繰り返し処理を実行することで、ステップS100で取得した複数の元データDinの各々ごとに、ステップS104の加工処理を実行する。
【0096】
加工部20Cによる加工処理の詳細は後述する。
【0097】
出力制御部20Dは、ステップS104の加工処理によって生成された複数の加工済データDoutを出力する(ステップS106)。例えば、出力制御部20Dは、複数の加工済データDoutを記憶部22、UI部26、および解析装置12の少なくとも1つへ出力する。そして、本ルーチンを終了する。
【0098】
次に、加工部20Cが実行する加工処理(
図6のステップS104)の詳細な流れを説明する。
【0099】
図7は、加工部20Cが実行する加工処理の流れの一例を示すフローチャートである。
図7のフローチャートは、
図6のステップS104の加工処理の詳細を表すフローチャートである。
【0100】
加工部20Cは、
図5のステップS100で取得部20Aが取得した複数の元データDinの内、加工処理を未処理の1つの元データDinを読出す(ステップS200)。また、加工部20Cは、特定部20Bによって特定された加工パタンPdを取得する(ステップS202)。
【0101】
そして、加工部20Cは、ステップS200で読出した元データDinにおける加工対象の位置座標(x,y)として、初期値(0,0)を設定する(ステップS204)。
【0102】
加工部20Cは、加工対象の位置座標におけるyの値がn-1以下であるか否かを判断する(ステップS206)。上述したように、nは、元データDinに含まれるデータ値のデータ数である。このため、加工部20Cは、ステップS206の判断により、ステップS200で読出した元データDinにおけるy軸方向の最後の位置座標のデータまで加工処理済であるか否を判断する。ステップS206で否定判断すると(ステップS206:No)、本ルーチンを終了する。ステップS206で肯定判断すると(ステップS206:Yes)、ステップS208へ進む。
【0103】
次に、加工部20Cは、加工対象の位置座標におけるxの値がn-1以下であるか否かを判断する(ステップS208)。上述したように、nは、元データDinに含まれるデータ値のデータ数である。このため、加工部20Cは、ステップS208の判断により、ステップS200で読出した元データDinにおけるx軸方向の最後の位置座標のデータまで加工処理済であるか否を判断する。
【0104】
ステップS208で否定判断すると(ステップS208:No)、ステップS210へ進む。ステップS210では、加工部20Cは、加工対象の位置座標(x,y)に、(0,y+1)を設定し、加工対象の位置座標であるx軸方向の位置を0に初期化し、y軸方向の位置を1つカウントアップし(ステップS210)。上記ステップS206へ戻る。
【0105】
ステップS208で肯定判断すると(ステップS208:Yes)、ステップS212へ進む。
【0106】
ステップS212では、加工部20Cは、加工対象の位置座標(x,y)に対する加工パタンPdの加工規則が削除符号であるか否かを判断する(ステップS212)。詳細には、加工部20Cは、加工対象の位置座標(x,y)について、ステップS202で取得した加工パタンPdにおける該位置座標(x,y)と同じ位置座標(x1_j,y1_j)を含む値((x1_j,y1_j),v_j,(x2_j,y2_j))を特定する。そして、加工部20Cは、特定したv_jによって表される加工規則が削除符号「-2」であるか否かを判断する。
【0107】
削除符号「-2」であると判断した場合(ステップS212:Yes)、加工部20Cは、加工済データDoutにおける該位置座標(x,y)と同じ位置座標(x2_j,y2_j)に何も設定しない(ステップS214)。このため、元データDinにおける、加工パタンPdに削除符号の規定された位置座標のデータ値は、加工済データDoutには含まれず削除された状態となる。
【0108】
次に、加工部20Cは、加工対象の位置座標(x,y)に、(x+1,y)を設定し、加工対象の位置座標であるx軸方向の位置を1つカウントアップし(ステップS216)、上記ステップS208へ戻る。
【0109】
一方、ステップS212で否定判断すると(ステップS212:No)、ステップS218へ進む。
【0110】
ステップS218では、加工部20Cは、加工対象の位置座標(x,y)に対する加工パタンPdの加工規則が解析対象外符号であるか否かを判断する(ステップS218)。詳細には、加工部20Cは、加工対象の位置座標(x,y)について、ステップS202で取得した加工パタンPdにおける該位置座標(x,y)と同じ位置座標(x1_j,y1_j)を含む値((x1_j,y1_j),v_j,(x2_j,y2_j))を特定する。そして、加工部20Cは、特定したv_jによって表される加工規則が解析対象外符号「-1」であるか否かを判断する。
【0111】
解析対象外符号「-1」であると判断した場合(ステップS218:Yes)、加工部20Cは、加工済データDoutにおける該位置座標(x,y)と同じ位置座標(x2_j,y2_j)に、解析対象外を表すデータ値「-1」を設定する(ステップS220)。このため、元データDinにおける、加工パタンPdに解析対象外符号の規定された位置座標のデータ値は「―1」に加工され、加工済データDoutの該位置座標に設定される。そして、上記ステップS216へ進む。
【0112】
一方、ステップS218で否定判断すると(ステップS218:No)、ステップS222へ進む。
【0113】
ステップS222では、加工部20Cは、加工対象の位置座標(x,y)に対する加工パタンPdの加工規則が維持符号であるか否かを判断する(ステップS222)。詳細には、加工部20Cは、加工対象の位置座標(x,y)について、ステップS202で取得した加工パタンPdにおける該位置座標(x,y)と同じ位置座標(x1_j,y1_j)を含む値((x1_j,y1_j),v_j,(x2_j,y2_j))を特定する。そして、加工部20Cは、特定したv_jによって表される加工規則が維持符号「2」であるか否かを判断する。
【0114】
維持符号「2」であると判断した場合(ステップS222:Yes)、加工部20Cは、加工済データDoutにおける該位置座標(x,y)と同じ位置座標(x2_j,y2_j)に、元データDinにおける該位置座標(x,y)に規定されていたデータ値を設定する(ステップS224)。このため、元データDinにおける、加工パタンPdに維持符号の規定された位置座標のデータ値は、値をそのまま維持したまま、加工済データDoutの該位置座標に設定される。そして、上記ステップS216へ進む。
【0115】
一方、上記ステップS222で否定判断した場合(ステップS222:No)、加工部20Cは、出力制御部20Dを介してUI部26へエラーを出力し、加工済データDoutを生成せずに本ルーチンを終了する。
【0116】
以上説明したように、本実施形態の情報処理装置10は、加工部20Cを備える。加工部20Cは、マップM上の所定方向に沿って位置座標ごとに配置された複数のデータ値の群からなる元データDinの加工規則をマップMにおける位置座標ごとに規定した加工パタンPdを用いて、元データDinを加工した加工済データDoutを生成する。
【0117】
また、本実施形態の情報処理方法は、コンピュータによって実行される情報処理方法であって、マップM上の所定方向に沿って位置座標ごとに配置された複数のデータ値の群からなる元データDinの加工規則をマップMにおける位置座標ごとに規定した加工パタンPdを用いて、元データDinを加工した加工済データDoutを生成する加工ステップを含む。
【0118】
このように、本実施形態の加工部20Cは、加工パタンPdを用いて元データDinを加工することで加工済データDoutを生成する。このため、加工部20Cは、元データDinにおける解析対象領域30Aの外周を特定する外周特定処理、および特定した外周に応じて元データDinに含まれるデータ値の一部を削除する削除処理、を段階的に行うことなく、加工パタンPdを用いた1工程の処理により、加工済データDoutを生成することができる。
【0119】
このため、本実施形態の情報処理装置10および情報処理方法は、機密漏洩抑制のためのデータ加工に関する計算量の削減を図ることができる。また、上記情報処理装置10における情報処理をコンピュータに実行させるための情報処理プログラムは、情報処理装置10および情報処理方法と同様に、機密漏洩抑制のためのデータ加工に関する計算量の削減を図ることができる。
【0120】
従って、本実施形態の情報処理装置10、情報処理方法、および情報処理プログラムは、機密漏洩抑制のためのデータ加工に関する計算量の削減を図ることができる。
【0121】
また、本実施形態では、加工パタンPdには、元データDinにおける解析対象領域30Aの形状に対して相似する形状の領域内の位置座標に維持符号「2」が規定されている(
図4B参照)。詳細には、加工パタンPdにおける維持符号の規定された領域32Aは、元データDinにおける解析対象領域30A(
図3B参照)の形状に対して相似する形状とされている。
【0122】
このため、本実施形態では、解析装置12による加工済データDoutを用いた解析時に、加工部20Cにより削除された削除箇所の特定を不可能とすることができる。このため、本実施形態の情報処理装置10は、上記効果に加えて、元データDinの推測が困難な加工済データDoutを生成することができる。
【0123】
また、本実施形態の情報処理装置10は、加工パタンPdに表される加工規則に沿って元データDinを加工した加工済データDoutを生成する。加工規則は、例えば、上述したように、元データDinにおけるデータ値をそのまま用いることを表す維持符号「2」、削除対象であることを表す削除符号「-2」、または解析対象外であることを表す解析対象外符号「-1」、の何れかである。このため、加工部20Cは、加工規則の種類に応じた回数(上記実施形態では3回)の条件比較により、元データDinを加工した加工済データDoutを生成することができる。このため、本実施形態の情報処理装置10は、従来の加工方法に比べて加工処理時の条件比較の回数を削減することができる。
【0124】
なお、上記実施形態では、元データDinのデータ値v_Din_jが、良品を表す「0」、不良品を表す「1」、および解析対象外を表す「-1」の何れかが規定されている場合を想定して説明した。また、上記実施形態では、加工規則が、元データDinにおけるデータ値をそのまま用いることを表す維持符号「2」、削除対象であることを表す削除符号「-2」、または解析対象外であることを表す解析対象外符号「-1」、の何れかである場合を一例として説明した。しかし、加工規則を表す符号の種類はこれらに限定されない。例えば、データ値の種類および加工規則を表す符号の種類を調整することで、上記条件比較の回数の更なる低減を図ることができる。
【0125】
例えば、元データDinのデータ値v_Din_jとして、良品を表す「1」、不良品を表す「-1」、および解析対象外を表す「0」の何れかが規定されている場合を想定する。また、加工規則が、元データDinにおけるデータ値をそのまま用いることを表す維持符号「1」、削除対象であることを表す削除符号「2」、または解析対象外であることを表す解析対象外符号「0」、の何れかである場合を想定する。
【0126】
この場合、上記ステップS212~S226の処理に替えて、以下の処理を実行すればよい。詳細には、加工部20Cは、v_Din_j×v_j=v_tmp_jとして、v_j=2のときに、xに1を加算してステップS208へ戻る。v_j=2を満たさない場合には、加工済データDoutにおける該位置座標(x,y)と同じ位置座標(x2_j,y2_j)に、v_tmp_jをデータ値として設定し、xに1を加算してステップS208へ戻ればよい。
【0127】
なお、v_jは、元データDinのデータ値v_Din_jに対応するデータ加工規則を表す。v_jが維持符号「1」であるときv_tmp_jはv_Din_jと同一の値となりデータが維持され、v_jが解析対象外符号「0」であるときv_tmp_jは解析対象外を表す「0」となり、v_jが削除対象であることを表す削除符号「2」であるときv_tmp_jの値は加工済データDoutから削除される。
【0128】
データ値の種類および加工規則を表す符号の種類を上記のように調整することで、加工部20Cは、元データDinにおける1つの位置座標のデータについて、1回の条件比較を行うことで、加工済データDoutを生成することができる。
【0129】
(変形例1)
上記実施形態では、マップMが二次元空間に配置された二次元マップである形態を一例として説明した。このため、上記実施形態では、マップM上のデータ値の配列方向である所定方向が、マップ上の第1の方向、および第1の方向に交差する第2の方向、を含むK次元の方向(本実施形態ではK=2)である形態を一例として説明した。そして、第1の方向をx軸方向、第2の方向をx軸方向に直交するy軸方向であるものとして説明した。
【0130】
しかし、マップMは一次元マップであってもよい。すなわちマップM上のデータ値の配列方向である所定方向が、マップ上の一次元の方向であってよい。具体的には、マップMにおけるデータ値の配列方向は、該マップMの一次元の方向に沿った、例えばx軸方向であってよい。
【0131】
この場合、元データDinに含まれるデータ値は、一次元空間によって表されるマップMのx軸方向に沿ったx座標によって表される位置座標ごとに配置される。また、加工パタンPdもまた、一次元空間によって表されるものすればよい。
【0132】
情報処理装置10の処理部20は、上記実施形態のx座標およびy座標によって表される位置座標に替えて、x座標によって表される位置座標を用いる点以外は、上記実施形態同様にして、元データDinから加工済データDoutを生成すればよい。
【0133】
情報処理装置10が一次元の元データDinおよび加工パタンPdを用いた場合についても、上記実施形態と同様の効果が得られる。
【0134】
また、本変形例では、x座標によって表される位置座標を用いるため、x座標およびy座標によって表される位置座標を用いる場合に比べて、データ加工に関する計算量の更なる削減を図ることができる。
【0135】
(第2の実施形態)
上記実施形態では、加工パタンPdを用いて元データDinを加工することで加工済データDoutを生成する形態を説明した。本実施形態では、元データDinのデータ値の位置座標を解析対象領域30A内における他の位置座標に置換したシャッフル済データを、加工パタンPdを用いて加工することで加工済データDoutを生成する形態を説明する。
【0136】
なお、本実施形態において、上記実施形態と同様の構成については上記実施形態と同じ符号を付与し、詳細な説明を省略する。
【0137】
図1は、本実施形態の情報処理システム1Bの一例を示す模式図である。情報処理システム1Bは、情報処理装置10に替えて情報処理装置10Bを備える点以外は、上記実施形態の情報処理システム1と同様である。
【0138】
図8は、情報処理装置10Bの機能的構成の一例を示すブロック図である。
【0139】
情報処理装置10Bは、処理部21と、記憶部22と、通信部24と、UI部26と、を備える。情報処理装置10Bは、処理部20に替えて処理部21を備える点以外は、上記実施形態の情報処理装置10と同様の構成である。
【0140】
処理部21は、取得部20Aと、特定部20Bと、加工部21Cと、出力制御部20Dと、座標置換部21Eと、を備える。処理部21は、更に座標置換部21Eを備える点、および加工部20Cに替えて加工部21Cを備える点以外は、上記実施形態の処理部20と同様である。
【0141】
座標置換部21Eは、座標置換処理を行う。座標置換処理とは、元データDinにおける解析対象領域30A内の複数のデータ値の少なくとも一部のデータ値の位置座標を、該解析対象領域30A内における他の位置座標に置換する処理である。言い換えると、座標置換処理とは、元データDinにおける解析対象領域30Aのデータを該解析対象領域30A内でシャッフルすることで、少なくとも一部の位置座標を他の位置座標に置換する処理である。元データDinまたは元データDinに追加処理にデータ値を追加した追加済元データDin1における解析対象領域30Aは、状態値であるデータ値v_Din1_jとして、良品を表す「0」または不良品を表す「1」の規定された位置座標の領域である。
【0142】
座標置換部21Eは、置換関数Rpを用いて元データDinに対して座標置換処理を行う。
【0143】
【0144】
置換関数Rpは、例えば、全射かつ単射な写像を表す関数である。例えば、置換関数Rpは、{0,…,nv-1}→{0,…,nv-1}によって表される。nvは、元データDinにおける解析対象領域30A内のデータ数である。
【0145】
図9Aに示すように、例えば、置換関数Rpは、データ値の規定された例えば0~4の各々の位置座標を、他の位置座標に置換するための関数である。なお、置換関数Rpは、疑似ランダム置換を表す関数であってもよい。本実施形態では、置換関数Rpが全射かつ単射な写像を表す関数である形態を一例として説明する。
【0146】
図9Bは、元データDinおよび置換関数Rpによる置換前後の位置座標の一例の説明図である。例えば、元データDinに含まれる解析対象領域30A内の位置座標の各々に、0~23の番号を付与した場合を想定する。そして、置換関数Rpが、
図9Bに示すように、置換関数Rpにおける「in」の欄に表される位置座標の番号を、置換関数Rpにおける「out」の欄に表される位置座標の番号に置換するための関数である場合を想定する。この場合、座標置換部21Eが該置換関数Rpを用いて元データDinに対して座標置換処理を行うことで、元データDinの解析対象領域30A内における「in」の欄に表される番号の位置座標に規定されたデータ値が、対応する「out」の欄に表される番号の位置座標のデータ値となるようにシャッフルされることとなる。
【0147】
座標置換部21Eは、元データDinの各位置座標のデータ値を特定することで、解析対象領域30Aを特定する。例えば、座標置換部21Eは、元データDinの各位置座標について、解析対象領域30Aを表すデータ値として良品であることを表す「0」、または不良品であることを表す「1」の設定されている位置座標の領域を、解析対象領域30Aとして特定する。
【0148】
そして、座標置換部21Eは、元データDinにおける解析対象領域30A内のデータ数nvを算出する。
【0149】
なお、取得部20Aで取得した複数の元データDinのデータサイズおよび解析対象領域30Aを構成するデータ数は同じであるものとする。このため、座標置換部21Eは、取得部20Aで取得した複数の元データDinの内の1つの元データDinについて、解析対象領域30Aおよび解析対象領域30Aを構成するデータ数nvを算出すればよい。
【0150】
次に、座標置換部21Eは、取得部20Aで取得した複数の元データDinに対して用いる1つの置換関数Rpを選択する。例えば、座標置換部21Eは、解析対象領域30Aを構成するデータ数nvを用いて、{0,…,nv-1}→{0,…,nv-1}によって表される置換関数の集合から、ランダムに置換関数Rpを選択する。
【0151】
そして、座標置換部21Eは、取得部20Aで取得した複数の元データDinについて、1つの元データDinごとに、座標置換処理を実行する。
【0152】
詳細には、座標置換部21Eは、元データDinにおける解析対象領域30A内の座標未置換の1の位置座標を選択する。そして、座標置換部21Eは、元データDinにおける選択した該位置座標のデータ値を、該位置座標を置換関数Rpにより置換した置換後の位置座標に設定する。これらの処理を、座標置換部21Eは、元データDinにおける解析対象領域30A内の全ての位置座標について行うことで、シャッフル済データDin_shuffledを生成する。
【0153】
【0154】
図10Aは、
図3Aおよび
図3Bに示す元データDin0を、
図9Bに示す置換関数Rpを用いて座標置換することで、シャッフル済データDin0_shuffledを生成する座標置換処理の一例の説明図である。
【0155】
図10Bは、
図3Aおよび
図3Bに示す元データDin1を、
図9Bに示す置換関数Rpを用いて座標置換することで、シャッフル済データDin1_shuffledを生成する座標置換処理の一例の説明図である。
【0156】
図10Bは、
図3Aおよび
図3Bに示す元データDin{N-1}を、
図9Bに示す置換関数Rpを用いて座標置換することで、シャッフル済データDin{N-1}_shuffledを生成する座標置換処理の一例の説明図である。
【0157】
図10Dは、元データDin0~元データDin{N-1}について、置換関数Rpを用いて生成されたシャッフル済データDin0_shuffled~Din{N-1}_shuffledの各々のデータ構成の一例の模式図である。
【0158】
図10Dに示すように、座標置換部21Eが同一の置換関数Rpを用いてN個の元データDin(元データDin0~元データDin{N-1})を加工することで、N個のシャッフル済データDin0_shuffled~シャッフル済データDin{N-1}_shuffledが生成される。各シャッフル済データDin_shuffledは、識別子IDに対応するNum個のデータからなる。シャッフル済データDin_shuffledを構成する複数のデータの各々は、元データDinと同様に、((x,y),v_Din_j)によって表される。xはx座標値、yはy座標値、を表す。v_Din_jは、該位置座標(x,y)に規定されたデータ値を表す。
【0159】
このように、座標置換部21Eが置換関数Rpを用いて元データDinにおける解析対象領域30A内のデータ値の位置座標をシャッフルすることで、シャッフル済データDin_shuffledが生成される。
【0160】
座標置換部21Eは、生成したシャッフル済データDin_shuffledを加工部21Cへ出力する。
【0161】
加工部21Cは、元データDinに替えて、座標置換部21Eから受付けたシャッフル済データDin_shuffledを加工パタンPd用いて加工する点以外は、上記実施形態と同様にして、加工済データDoutを生成する。
【0162】
図11A~
図11Dは、加工部20Cによるシャッフル済データDin_shuffledの加工処理の一例の説明図である。
【0163】
図11Aは、
図10Aに示すシャッフル済データDin0_shuffledを、
図4Aおよび
図4Bに示す加工パタンPd1を用いて加工し、加工済データDout0を生成する加工処理の一例の説明図である。
【0164】
図11Aは、
図10Bに示すシャッフル済データDin1_shuffledを、
図4Aおよび
図4Bに示す加工パタンPd1を用いて加工し、加工済データDout1を生成する加工処理の一例の説明図である。
【0165】
図11Cは、
図10Cに示すシャッフル済データDin{N-1}_shuffledを、
図4Aおよび
図4Bに示す加工パタンPd1を用いて加工し、加工済データDout{N-1}を生成する加工処理の一例の説明図である。
【0166】
図11Dは、シャッフル済データDin0_shuffled~シャッフル済データDin{N-1}_shuffledについて加工パタンPdを用いて生成された加工済データDout0~加工済データDout{N-1}の各々のデータ構成の一例の模式図である。
【0167】
図11Dに示すように、加工部21Cが、加工パタンPdを用いてN個のシャッフル済データDin0_shuffled~シャッフル済データDin{N-1}_shuffledを加工することで、N個の加工済データDout0~Dout{N-1}が生成される。各加工済データDoutは、識別子IDとm個のデータからなる。加工済データDoutを構成する複数のデータの各々は、元データDinと同様に、((x,y),v_Din_j)によって表される。xはx座標値、yはy座標値、を表す。v_Din_jは、該位置座標(x,y)に規定されたデータ値を表す。
【0168】
加工部21Cが加工パタンPdを用いて元データDinから生成されたシャッフル済データDin_shuffledを加工することで、加工済データDoutの各位置座標には、シャッフル済データDin_shuffledにおけるデータ値と同じ値、解析対象外「-1」、の何れかのデータ値が規定された状態となる。また、シャッフル済データDin_shuffledにおけるデータ値と同じ値の設定された位置座標には、良品を表す「0」または不良品を表す「1」の何れかが規定された状態となる。また、シャッフル済データDin_shuffledにおける加工パタンPdによって削除符号「-2」の規定された位置座標のデータは削除され、加工済データDoutには含まれない状態とな
る。
【0169】
このように、本実施形態の加工部21Cは、加工パタンPdを用いて、元データDinをから生成されたシャッフル済データDin_shuffled加工することで加工済データDoutを生成する。このため、加工部21Cは、元データDinにおける解析対象領域30Aの外周を特定する外周特定処理、および特定した外周に応じて元データDinに含まれるデータ値の一部を削除する削除処理、を段階的に行うことなく、加工パタンPdを用いた1工程の処理により、加工済データDoutを生成することができる。また、本実施形態の処理部21では、元データDinから生成したシャッフル済データDin_shuffledを加工処理に用いるため、秘匿性および機密性の更に向上した加工済データDoutを生成することができる。
【0170】
なお、座標置換部21Eは、元データDinを一次元データに変換した上で上記座標置換処理を行い、一次元データであるシャッフル済データDin_shuffledを加工部21Cへ出力してもよい。この場合、加工部21Cは、例えば、一次元データであるシャッフル済データDin_shuffledを二次元データに変換した上で、上記加工処理を行えばよい。
【0171】
また、座標置換部21Eは、元データDinを一次元データに変換せず二次元データのままとして上記座標置換処理を行い、二次元データであるシャッフル済データDin_shuffledを加工部21Cへ出力してもよい。
【0172】
また、座標置換部21Eは、元データDinを一次元データに変換した上で上記座標置換処理を行い、一次元データであるシャッフル済データDin_shuffledを二次元データに変換した上で、加工部21Cへ出力してもよい。
【0173】
次に、本実施形態の情報処理装置10Bで実行する情報処理の流れの一例を説明する。
【0174】
図12は、本実施形態の情報処理装置10Bが実行する情報処理の流れの一例を示すフローチャートである。
【0175】
取得部20Aは、処理対象の複数の元データDinを取得する(ステップS300)。特定部20Bは、記憶部22に記憶されている加工パタン情報22Aから、ステップS300で取得した元データDinに応じた1つの加工パタンPdを特定する(ステップS302)。ステップS300およびステップS302の処理は、上記実施形態のステップS100およびステップS102と同様である(
図6参照)。
【0176】
次に、座標置換部21Eが、ステップS300で取得した複数の元データDinについてシャッフル処理を実行する(ステップS304)。シャッフル処理の詳細は後述する。ステップS304の処理によって、複数の元データDinの各々に対応する複数のシャッフル済データDin_shuffledが生成される。
【0177】
次に、加工部21Cが、ステップS304で生成された複数のシャッフル済データDin_shuffledについて、1つのシャッフル済データDin_shuffledごとに加工処理を実行する(ステップS306)。ステップS306の処理は、元データDinに替えてシャッフル済データDin_shuffledを用いる点以外は、上記実施形態のステップS104(
図6参照)と同様である。
【0178】
そして、出力制御部20Dは、ステップS306の加工処理によって生成された複数の加工済データDoutを出力する(ステップS308)。例えば、出力制御部20Dは、複数の加工済データDoutを記憶部22、UI部26、および解析装置12の少なくとも1つへ出力する。そして、本ルーチンを終了する。
【0179】
なお、上述したように、ステップS306の処理は、元データDinに替えてシャッフル済データDin_shuffledを用いる点以外は、上記実施形態のステップS104(
図6、
図7のステップS200~ステップS226参照)と同様である。
【0180】
本実施形態では、上記実施形態と同様に、シャッフル済データDin_shuffledのデータ値v_Din_jが、良品を表す「0」、不良品を表す「1」、および解析対象外を表す「-1」の何れかが規定されている場合を想定して説明した。また、本実施形態では、加工規則が、維持符号「2」、削除符号「-2」、または解析対象外符号「-1」、の何れかである場合を一例として説明した。しかし、加工規則を表す符号の種類はこれらに限定されない。上記実施形態と同様に、例えば、データ値の種類および加工規則を表す符号の種類を調整することで、上記条件比較の回数の更なる低減を図ることができる。
【0181】
例えば、シャッフル済データDin_shuffledのデータ値v_Din_jとして、良品を表す「1」、不良品を表す「-1」、および解析対象外を表す「0」の何れかが規定されている場合を想定する。また、加工規則が、シャッフル済データDin_shuffledにおけるデータ値をそのまま用いることを表す維持符号「1」、削除対象であることを表す削除符号「2」、または解析対象外であることを表す解析対象外符号「0」、の何れかである場合を想定する。
【0182】
この場合、上記ステップS212~S226の処理に替えて、以下の処理を実行すればよい。詳細には、加工部21Cは、v_Din_j×v_j=v_tmp_jとして、v_j=2のときに、xに1を加算してステップS208へ戻る。v_j=2を満たさない場合には、加工済データDoutにおける該位置座標(x,y)と同じ位置座標(x2_j,y2_j)に、v_tmp_jをデータ値として設定し、xに1を加算してステップS208へ戻ればよい。
【0183】
次に、座標置換部21Eが実行するシャッフル処理(
図12のステップS304)の詳細な流れを説明する。
【0184】
図13は、座標置換部21Eが実行するシャッフル処理の流れの一例を示すフローチャートである。
図13のフローチャートは、
図12のステップS304のシャッフル処理の詳細を表すフローチャートである。
【0185】
座標置換部21Eは、取得部20AがステップS300(
図12参照)で取得した複数の元データDinを取得する(ステップS400)。
【0186】
そして、座標置換部21Eは、ステップS400で取得した元データDinにおける解析対象領域30A内のデータ数nvを算出する(ステップS402)。
【0187】
次に、座標置換部21Eは、ステップS402で算出したデータ数nvを用いて、{0,…,nv-1}→{0,…,nv-1}によって表される置換関数の集合から、ランダムに置換関数Rpを選択する。
【0188】
そして、座標置換部21Eは、ステップS400で取得した複数の元データDinについて、1つの元データDinごとに、ステップS404で選択した置換関数Rpを用いた座標置換処理(ステップS406~ステップS410)を行う。
【0189】
詳細には、座標置換部21Eは、ステップS400で取得した複数の元データDinの内、未処理の1つの元データDinを処理対象として読出す(ステップS406)。
【0190】
そして、座標置換部21Eは、処理対象の元データDinにおける座標未置換の位置座標ごとに、ステップS408およびステップS410の処理を実行する。
【0191】
ステップS406では、座標置換部21Eは、元データDinにおける解析対象領域30A内の座標未置換の1の位置座標を選択する。そして、座標置換部21Eは、元データDinにおける選択した該位置座標のデータ値を、シャッフル済データDin_shuffledにおける、該位置座標を置換関数Rpにより置換した置換後位置座標に設定する(ステップS410)。これらの処理を、座標置換部21Eは、元データDinにおける解析対象領域30A内の全ての位置座標について行うことで、シャッフル済データDin_shuffledを生成する。
【0192】
そして、座標置換部21Eは、複数の元データDinの各々毎に生成したシャッフル済データDin_shuffledを加工部21Cへ出力する。
【0193】
以上説明したように、本実施形態の情報処理装置10Bでは、座標置換部21Eが、元データDinにおける解析対象領域30A内の複数のデータ値の少なくとも一部のデータ値の位置座標を解析対象領域30A内における他の位置座標に置換する。加工部21Cは、座標置換部21Eによって位置座標を置換されたシャッフル済データDin_shuffledを、加工パタンPdを用いて加工した加工済データDoutを生成する。
【0194】
このため、本実施形態の情報処理装置10Bは、上記実施形態の効果に加えて、秘匿性および機密性の更に向上した加工済データDoutを提供することができる。
【0195】
また、本実施形態の情報処理装置10Bの座標置換部21Eは、置換関数Rpを用いて、取得部20Aで取得した複数の元データDinの各々について、元データDinにおける解析対象領域30A内のデータ値の位置座標を該解析対象領域30A内の他の位置座標に置換したシャッフル済データDin_shuffledを生成する。すなわち、本実施形態の座標置換部21Eは、取得部20Aで取得した複数の元データDinに対して、同じ置換関数Rpを用いて座標置換処理を行うことで、シャッフル済データDin_shuffledを生成する。
【0196】
このため、取得部20Aで取得した複数の元データDin間の距離L1および距離L2と、座標置換処理により生成した複数のシャッフル済データDin_shuffled間の距離L1および距離L2とが、一致するものとなる。なお、L1距離は、データのクラスタリング時に用いられる値であり、データの特徴量間のマンハッタン距離である。なお、距離L2は、データのクラスタリング時に用いられる値であり、データの特徴量間のユークリッド距離である。距離L2は、データの特徴量間の最短距離である。
【0197】
そして、本実施形態の情報処理装置10Bでは、加工部21Cが、シャッフル済データDin_shuffledを、加工パタンPdを用いて加工した加工済データDoutを生成する。
【0198】
このため、本実施形態の情報処理装置10Bは、データ間の距離に基づくデータ分析手法への影響を軽減しつつ、且つ、機密情報の推測困難な加工済データDoutを提供することができる。
【0199】
次に、上記実施形態および変形例における情報処理装置10および情報処理装置10Bの、ハードウェア構成の一例を説明する。
【0200】
図14は、上記実施形態および変形例に係る情報処理装置10および情報処理装置10Bの一例のハードウェア構成図である。
【0201】
情報処理装置10および情報処理装置10Bは、CPU86などの制御装置と、ROM(Read Only Memory)88やRAM(Random Access Memory)90やHDD(ハードディスクドライブ)92などの記憶装置と、各種機器とのインターフェースであるI/F部82と、出力情報などの各種情報を出力する出力部80と、ユーザによる操作を受付ける入力部94と、各部を接続するバス96とを備えており、通常のコンピュータを利用したハードウェア構成となっている。
【0202】
情報処理装置10および情報処理装置10Bでは、CPU86が、ROM88からプログラムをRAM90上に読み出して実行することにより、上記各部がコンピュータ上で実現される。
【0203】
なお、情報処理装置10および情報処理装置10Bで実行される上記各処理を実行するためのプログラムは、HDD92に記憶されていてもよい。また、情報処理装置10で実行される上記各処理を実行するためのプログラムは、ROM88に予め組み込まれて提供されていてもよい。
【0204】
また、情報処理装置10および情報処理装置10Bで実行される上記処理を実行するためのプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM、CD-R、メモリカード、DVD(Digital Versatile Disk)、フレキシブルディスク(FD)等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されるようにしてもよい。また、情報処理装置10および情報処理装置10Bで実行される上記処理を実行するためのプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、情報処理装置10および情報処理装置10Bで実行される上記処理を実行するためのプログラムを、インターネットなどのネットワーク経由で提供または配布するようにしてもよい。
【0205】
なお、上記には、本発明の実施形態および変形例を説明したが、上記実施形態および変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0206】
10、10B 情報処理装置
20C、21C 加工部
20D 出力制御部
21E 座標置換部