(57)【要約】  特定の範囲に含まれるデータに関する分類処理において生じる遅延の影響を低減する。データ処理装置（１４００）は、データ集合に含まれるデータのうち、第１の範囲に含まれない上記データを、特定の例外データに補正するとともに、上記第１の範囲に含まれる上記データと、補正後の上記データとを、異なるカテゴリに分類するデータ分類手段（１４０１）と、上記データを上記カテゴリに分類した結果を保持するカテゴリ保持手段（１４０２）と、を備える。
2016136197.tif 000002
【特許請求の範囲】
【請求項１】
データ集合に含まれるデータのうち、第１の範囲に含まれない前記データを、特定の例外データに補正するとともに、前記第１の範囲に含まれる前記データと、補正後の前記データとを、異なるカテゴリに分類するデータ分類手段と、
前記データをカテゴリに分類した結果を保持するカテゴリ保持手段と、を備える
データ処理装置。
【請求項２】
前記データ分類手段は、
前記第１の範囲に含まれる前記データを、前記第１の範囲に含まれる複数のカテゴリからなる第１のカテゴリに分類し、
前記第１の範囲に含まれない前記データを、前記第１の範囲に含まれない１以上の前記例外データのいずれかに補正するとともに、当該補正後の前記データを、前記第１のカテゴリとは異なる１以上のカテゴリからなる第２のカテゴリに分類し、
前記カテゴリ保持手段は、前記第１のカテゴリに関する分類結果と、前記第２のカテゴリに関する分類結果とを保持する
請求項１に記載のデータ処理装置。
【請求項３】
前記データ分類手段は、
前記第１の範囲に含まれない前記データのうち、少なくとも一部の前記データを、当該データが表す値に基づいて、前記第１の範囲に含まれない１以上の前記例外データのいずれかに補正するとともに、
前記例外データに補正された前記データを、前記第２のカテゴリのうち、前記例外データ毎に異なるカテゴリに分類する、
請求項２に記載のデータ処理装置。
【請求項４】
前記データ分類手段は、
前記第１の範囲の上限よりも大きいと判定された前記データのうち、少なくとも一部のデータを、前記第１の範囲の上限よりも大きい前記例外データである上限例外データに補正するとともに、前記補正された上限例外データを、前記第２のカテゴリに含まれる第３のカテゴリに分類する処理と、
前記第１の範囲の下限よりも小さいと判定された前記データのうち、少なくとも一部のデータを、前記第１の範囲の下限よりも小さい前記例外データである下限例外データに補正するとともに、前記補正された下限例外データを、前記第２のカテゴリに含まれる第４のカテゴリに分類する処理と、の少なくとも何れかを実行する
請求項３に記載のデータ処理装置。
【請求項５】
前記データ分類手段は、前記データ集合に含まれるそれぞれの前記データについて、
当該データと前記上限例外データとの最小値を算出することにより、当該データを前記算出した最小値に補正する処理と、
当該データと前記下限例外データとの最大値を算出することにより、当該データを前記算出した最大値に補正する処理と、
の少なくともいずれかを実行することにより、前記第１の範囲に含まれない前記データを、前記上限例外データあるいは上記下限データに補正する、
請求項４に記載のデータ処理装置。
【請求項６】
前記データ分類手段は、前記データ集合に含まれるそれぞれの前記データについて、
当該データと、前記上限例外データとに対する最小値を取得する命令を実行することにより、当該データと前記上限例外データとの最小値を算出し、当該データを前記算出した最小値に補正する処理と、
当該データと前記下限例外データとに対する最大値を取得する命令を実行することにより、当該データと前記上限例外データとの最大値を算出し、当該データを前記算出した最大値に補正する処理と、の少なくともいずれか一方を実行する
請求項４又は請求項５に記載のデータ処理装置。
【請求項７】
前記データ分類手段は、前記データ集合に含まれるそれぞれの前記データについて、
比較命令を実行することにより、前記データと、前記第１の範囲の上限との大小を比較する処理を実行し、当該比較処理の結果に基づいて、条件付き移動命令を実行することにより、前記データが前記第１の範囲の上限よりも大きい場合に、前記データを前記上限例外データに補正する処理と、
比較命令を実行することにより、前記データと、前記第１の範囲の下限との大小を比較する処理を実行し、当該比較処理の結果に基づいて、条件付き移動命令を実行することにより、前記データが前記第１の範囲の下限よりも小さい場合に、前記データを前記下限例外データに補正する処理と、の少なくともいずれか一方を実行する、
請求項４乃至請求項６のいずれかに記載のデータ処理装置。
【請求項８】
前記データ分類手段が、単一の命令により複数の演算処理を並列実行可能なＳＩＭＤ命令を実行可能である場合において、
前記データ分類手段は、前記データ集合に含まれる特定数の前記データについて、ＳＩＭＤ命令を実行することにより、当該特定数の前記データをカテゴリに分類する処理を並列に実行する
請求項６又は請求項７に記載のデータ処理装置。
【請求項９】
情報処理装置が、
データ集合に含まれるデータのうち、第１の範囲に含まれない前記データを、特定の例外データに補正するとともに、前記第１の範囲に含まれる前記データと、補正後の前記データとを、異なるカテゴリに分類し、
前記データを前記カテゴリに分類した結果を保持する
データ処理方法。
【請求項１０】
データ集合に含まれるデータのうち、第１の範囲に含まれない前記データを、特定の例外データに補正するとともに、前記第１の範囲に含まれる前記データと、補正後の前記データとを、異なるカテゴリに分類する処理と、
前記データを前記カテゴリに分類した結果を保持する処理と、をコンピュータに実行させる
コンピュータ・プログラムが記憶された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを特定の範囲に分類可能な技術に関する。
【背景技術】
【０００２】
近年、様々なデータ処理（例えば、画像処理、音声処理、その他統計処理等）において、データを分類する分類計算が用いられている。分類計算は、例えば、データの集合であるデータ列に含まれる各データを、所定の範囲に区切られた区分（カテゴリ等）に分類する計算である。代表的な分類計算として、例えば、ヒストグラム計算が知られている。ヒストグラム計算は、データ列に含まれるデータに関して、各区分に属する要素がいくつあるか（個数）を数え上げる計算である。このような分類計算を含むデータ処理においては、処理を高速化あるいは効率化可能な技術（例えば、並列処理等）が求められている。【０００３】
上記したような分類計算に関連する技術が、例えば、以下の各特許文献に開示されている。【０００４】
特許文献１（特開２００９−０２０７８１号公報）は、演算対象のデータが所定の上下限の範囲内に収まるよう制限する処理（リミット処理）を実行し、当該リミット処理が実行されたデータに関するヒストグラムを算出する技術を開示する。【０００５】
特許文献２（特開２０１３−００８２７０号公報）は、並列的に入力されるデータのヒストグラムを算出する演算装置に関する技術を開示する。特許文献２に開示された技術は、入力データに対してＮ（Ｎは自然数）個の演算装置が並列に処理を実行し、当該処理の結果に基づいてＮ個のセレクタが、Ｍ個（Ｍは自然数）のヒストグラムのカウント対象を選択する。そして、Ｍ個のカウンタが上記セレクタによる選択結果を計数することにより、ヒストグラムが算出される。【０００６】
また、データに関する処理を高速化する技術に関して、演算処理装置（プロセッサ等）が用意するＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）命令を用いて、データ処理を並列に実行する技術が、以下の各特許文献に開示されている。【０００７】
例えば、特許文献３（特開２０１０−２７２１０７号公報）は、ＳＩＭＤ演算機能を利用して格子演算を行う技術を開示する。特許文献３に開示された技術は、格子における特定の節点の数に応じて、ダミーの節点を導入する。特許文献３に開示された技術は、特定の節点に対する一つ前の節点と、導入したダミー節点とを用いて、特定の節点に関する演算を実行する。【０００８】
特許文献４（特開平１１−１２６２５５号公報）に開示された技術は、入力画像を走査線単位で処理可能なＳＩＭＤ型演算器を用いて、入力画像の画素を複数の階調度範囲に分類し、各階調毎のヒストグラムを算出する。係る技術は、算出したヒストグラムに基づいて入力画像に対する階調度変換処理を実行する。【０００９】
また、上記分類計算には直接関係しないものの、データ処理に関連する技術として、特許文献５が存在する。特許文献５に開示された技術は、反復処理における計算結果が所定の限界値を超えた場合にエラーが発生したと判定し、エラーが生じた計算結果を、反復処理における過去の計算結果を用いて補正する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００９−０２０７８１号公報
【特許文献２】特開２０１３−００８２７０号公報
【特許文献３】特開２０１０−２７２１０７号公報
【特許文献４】特開平１１−１２６２５５号公報
【特許文献５】国際公開第２０１４／０３３９４１号
【発明の概要】
【発明が解決しようとする課題】
【００１１】
データ処理（例えば、上記した分類処理）においては、データの集合のうち、処理対象となるデータがある特定の範囲に限られる場合がある。より具体的には、例えば、ある閾値により定められた範囲に含まれるデータに対して、所定のデータ処理が実行される場合がある。このような場合、データ集合に含まれるデータが当該範囲に含まれるか否かを判定する範囲判定処理が実行される。係る判定処理に伴う条件分岐の発生に起因して、データ処理において遅延（例えば、コンピュータ・プログラムの実行遅延等）が生じるという問題がある。【００１２】
また、係る判定処理の結果に応じて、当該特定の範囲に含まれるデータに対して実行される処理と、含まれないデータに対して実行される処理とが異なる場合がある。この場合、全てのデータに対して同じ処理を並列に実行することが困難である。上記したような遅延の発生や、並列処理の困難性に伴い、特定の範囲に含まれるデータに関する分類処理の処理効率が低下する虞がある。【００１３】
これに対して、例えば、特許文献１に開示された技術は、演算対象のデータが所定の範囲内に収まるか否かを判定することから、条件分岐が発生し、データ処理において遅延が生じる可能性がある。また、特許文献２、特許文献３、特許文献４に開示された技術はいずれも、入力されたデータに演算対象の範囲外であるデータが含まれることを想定していない。よって、上記各特許文献に開示された技術は、いずれも上記したような問題を解決するには不十分である。【００１４】
本発明は上記のような事情を鑑みてなされたものである。即ち、本発明は、ある範囲に含まれるデータを対象とした分類処理に関する遅延の影響を低減可能な、データ処理装置等を提供することを主たる目的の一つとする。
【課題を解決するための手段】
【００１５】
上記の目的を達成すべく、本発明の一態様に係るデータ処理装置は、以下の構成を備える。即ち、本発明の一態様に係るデータ処理装置は、データ集合に含まれるデータのうち、第１の範囲に含まれない上記データを、特定の例外データに補正するとともに、上記第１の範囲に含まれる上記データと、補正後の上記データとを、異なるカテゴリに分類するデータ分類手段と、上記データを上記カテゴリに分類した結果を保持するカテゴリ保持手段と、備える。【００１６】
また、本発明の一態様に係るデータ処理方法は、以下の構成を備える。即ち、本発明の一態様に係るデータ処理方法は、情報処理装置が、データ集合に含まれるデータのうち、第１の範囲に含まれない上記データを、特定の例外データに補正するとともに、上記第１の範囲に含まれる上記データと、補正後の上記データとを、異なるカテゴリに分類し、上記データを上記カテゴリに分類した結果を保持する構成を有する。【００１７】
また、同目的は、上記構成を有するデータ処理装置、並びに対応するデータ処理方法を、コンピュータによって実現するコンピュータ・プログラム、及び、そのコンピュータ・プログラムが記憶されている、コンピュータ読み取り可能な記録媒体等によっても達成される。
【発明の効果】
【００１８】
本発明によれば、ある範囲に含まれるデータを対象とした分類処理に関する遅延の影響を低減可能である。
【図面の簡単な説明】
【００１９】
【図１】図１は、本発明の第１の実施形態に係るデータ処理装置の機能的な構成を例示するブロック図である。
【図２】図２は、本発明の第１の実施形態に係るデータ処理装置の動作の概要を例示するフローチャートである。
【図３】図３は、本発明の第１の実施形態に係るデータ処理装置を構成する記憶部に記憶されたデータの具体例を示す図である。
【図４】図４は、入力データに対するカテゴリ分類の具体例を表す図である。
【図５】図５は、本発明の第１の実施形態に係るデータ処理装置が実行するカテゴリ分類処理の具体例を表す図である。
【図６】図６は、本発明の第１の実施形態に係るデータ処理装置の具体的な動作を例示するフローチャート（１／３）である。
【図７】図７は、本発明の第１の実施形態に係るデータ処理装置の具体的な動作を例示するフローチャート（２／３）である。
【図８】図８は、本発明の第１の実施形態に係るデータ処理装置の具体的な動作を例示するフローチャート（３／３）である。
【図９】図９は、本発明の第２の実施形態に係るデータ処理装置の機能的な構成を例示するブロック図である。
【図１０】図１０は、本発明の第２の実施形態に係るデータ処理装置の動作の概要を例示するフローチャートである。
【図１１】図１１は、本発明の第２の実施形態に係るデータ処理装置を構成する記憶部に記憶されたデータの具体例を示す図である。
【図１２】図１２は、本発明の第３の実施形態に係るデータ処理装置の機能的な構成を例示するブロック図である。
【図１３】図１３は、本発明の第３の実施形態に係るデータ処理装置の具体的な動作を例示するフローチャートである。
【図１４】図１４は、本発明の第４の実施形態に係るデータ処理装置の機能的な構成を例示するブロック図である。
【図１５】図１５は、本発明の各実施形態にデータ処理装置、あるいは、その構成要素を実現可能なハードウェアの構成を例示する図である。
【図１６】図１６は、データの分類処理を実行する装置の機能的な構成を例示するブロック図である。
【発明を実施するための形態】
【００２０】
以下、本発明を実施する形態について図面を参照して詳細に説明する。以下の各実施形態に記載されている構成は単なる例示であり、本発明の技術範囲はそれらには限定されない。
【００２１】
まず、本発明の各実施形態に関する説明に先立って、本発明の理解を容易にするため、本発明に関する技術的背景等について説明する。
【００２２】
データ集合（例えば入力データ）のうち、ある特定の範囲に含まれるデータに対して、なんらかのデータ処理（例えば、ヒストグラム算出等）が実行される場合を想定する。例えば、ヒストグラムの算出を想定した場合、係るヒストグラムの算出処理は、例えば、図１６に例示するような構成により実行可能である。図１６は、演算処理部（例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のプロセッサ）と、記憶部（メモリ）を有する装置（例えば、コンピュータ等の情報処理装置）の機能的な構成を例示するブロック図である。図１６においては、説明の便宜上、記憶部に含まれるデータ（入力データ列、及びヒストグラム配列）と、演算処理部において実行されるヒストグラム算出処理とが模式的に例示されている。
【００２３】
図１６に示すようなヒストグラム算出処理においては、入力データがある範囲に含まれるか否かを判定する、範囲判定処理が実行される。より具体的には、範囲判定処理は、入力データが所定の閾値により定められた範囲に収まっているか否かを判定する。そして、係る範囲判定処理の結果、範囲内（閾値内）に含まれると判定された入力データについて、ヒストグラム算出処理が実行される。
【００２４】
図１６に例示するようなヒストグラム計算に限定されず、例えば、特定の範囲に含まれる入力データのみに対して分類処理を行うような分類計算では、図１６に例示するような処理と同様の範囲判定処理が実行される場合がある。そして、係る範囲判定処理において入力データが所定の閾値内であるか否かが判定された後に、分類計算が実行される。
【００２５】
例えば、係る分類計算がコンピュータ等の情報処理装置により実行される場合を想定する。この場合、係る範囲判定処理は、例えば、当該情報処理装置において実行されるコンピュータ・プログラムにおいて、条件分岐処理として実装される。より具体的には、係る条件分岐処理は、例えば、各種プログラミング言語における条件文（ＩＦ文）や、条件分岐命令を用いて実装される。この場合、係る条件分岐処理は、例えば、情報処理装置を構成するプロセッサにおいて実行される、条件分岐命令を用いて実現される場合がある。プロセッサがパイプライン化されている場合、条件分岐命令が実行されることで、条件の判断を保留中のパイプラインがストールする可能性がある。これにより、プログラムの実行が遅延する可能性がある。
【００２６】
より具体的には、プロセッサにおける条件分岐命令は、一般的にジャンプ命令（以下「ＪＭＰ命令」と記載する場合がある）等と総称され、条件比較を行った結果に基づいて、特定のアドレスにジャンプする命令である。係るＪＭＰ命令には、例えば、オペランドが「０（ゼロ）」の場合にジャンプする「ＪＥ」命令や、オペランドの比較結果が大きい場合にジャンプする「ＪＧ」命令等が含まれる。
【００２７】
これらのＪＭＰ命令が実行された場合、プロセッサは新しいアドレスに分岐した後、新たな命令を取得（フェッチ）し、当該取得した命令を実行する。即ち、この場合、プロセッサは、分岐前までに実行されていたパイプライン処理を停止して、新たな処理の実行を開始する可能性がある。この場合、パイプライン処理がストールすることから、データ処理に遅延が生じる。なお、上記説明したジャンプ命令等は、プロセッサ毎に具体的な命令の形式等が異なる場合があるものの、周知の技術であることから、詳細な説明は省略する。
【００２８】
上記したような分類処理は、あるデータに関する範囲判定処理の結果に応じて、当該データに対する、ある特定の演算処理（例えばヒストグラム算出等）を行うか否かを決定する。これにより、データ毎に当該演算処理が実行されるか否かが異なる場合があることから、全てのデータに対して、同じ演算を実行することができない場合がある。したがって、入力データが、例えば並列処理可能なデータ構造（配列等）により与えられた場合でも、係るデータに対してＳＩＭＤ演算命令を適用できない場合がある。ここで、ＳＩＭＤ演算命令は、一つの命令で、配列等の並列処理可能なデータ構造（ベクトルデータ）に含まれる複数のデータに対して、並列に演算処理を実行可能な命令である。ＳＩＭＤ命令自体は周知の技術であることから、詳細な説明を省略する。
【００２９】
以上をまとめると、上記した分類処理においては、入力データに対する範囲判定処理が実行される場合がある。この場合、範囲判定処理における条件分岐の実行により、遅延が生じる可能性がある。また、係る分類処理においては、各データに対する範囲判定処理の結果に基づいて、各データに対する分類処理の実行要否が判断される。これにより、全ての入力データに対して同じ演算を実行できない場合がある。即ち、全ての入力データに対して、同じ処理を（例えばＳＩＭＤ命令を用いて）並列に実行できない場合がある。
【００３０】
そこで、以下の各実施形態を用いて説明する本発明は、上記したような分類処理において、条件分岐命令の実行に伴う遅延の影響を低減可能であり、また、各データに対して同じ処理を並列に実行可能な技術を実現する。
【００３１】
以下、本発明の各実施形態におけるデータ処理装置等について詳細に説明する。なお、以下の各実施形態におけるデータ処理装置は、１以上の専用のハードウェア装置、あるいは、情報処理装置等を用いて実現可能である。以下の各実施形態におけるデータ処理装置は単体のハードウェア装置として実現されてもよく、複数のハードウェア装置（あるいは情報処理装置）等から構成されるシステムとして実現されてもよい。係るデータ処理装置を実現可能なハードウェア構成（例えば図１５）については後述する。なお、係るデータ処理装置は、周知の仮想化基盤技術を用いた、仮想的な情報処理装置（仮想コンピュータ等）を用いて実現されてもよい。
【００３２】
＜第１の実施形態＞
本発明の第１の実施形態に係るデータ処理装置について、図面を参照して詳細に説明する。図１は、本実施形態におけるデータ処理装置の機能的な構成を例示するブロック図である。
【００３３】
図１を参照すると、本発明の第１の実施形態におけるデータ処理装置１００は、演算処理部１０１と、記憶部１０２と、入力部１０３とを備える。データ処理装置１００を構成するこれらの構成要素の間は、適切な通信方法（例えば、通信バスや通信ネットワーク等）により、相互に通信可能に接続されていてもよい。以下、それぞれの構成要素について概要を説明する。
【００３４】
演算処理部１０１は、例えば、後述する記憶部１０２に記憶されたデータに対して各種演算処理を実行可能な、専用又は汎用のプロセッサ（ＣＰＵ等）である。演算処理部１０１は、例えば、記憶部１０２に記憶されたソフトウェア・プログラム（コンピュータ・プログラム、以下単に「プログラム」と称する場合がある）を実行可能であってもよい。なお、係るプログラムは、記憶部１０２に限定されず、データ処理装置の内外の装置（不図示）に保持されてもよい。この場合、必要に応じて演算処理部１０１が当該プログラムを読み出して実行する。
【００３５】
記憶部１０２は、各種のデータを記憶可能な記憶デバイス（メモリ）である。係る記憶部１０２は、半導体記憶装置等により実現された揮発性あるいは不揮発性のメモリデバイスにより実現されてもよい。なお、記憶部１０２は、上記に限定されず、その他の適切な記憶デバイス（例えば、磁気記憶デバイス、光磁気記憶デバイス、光記憶デバイス、等）により実現可能である。
【００３６】
入力部１０３は、データ処理装置１００に対して各種のデータを入力可能な入力装置である。係る入力部１０３は、データ処理装置１００の構成に応じて、適切な入力装置を用いて実現可能である。即ち、入力部１０３は、例えば、ネットワークを介して各種のデータを入力可能なネットワークデバイスでもよい。また、入力部１０３は、例えば、データ処理装置１００のユーザが直接データを入力可能な、インタフェース装置であってもよい。また、入力部１０３は、例えば、各種の記憶媒体を介してデータを入力可能な、記憶媒体の読み込みデバイスであってもよい。本実施形態においては、入力部１０３を介して、処理対象のデータ集合である入力データがデータ処理装置１００に入力され、係る入力データが記憶部１０２に保持（記憶）される。
【００３７】
上記のように構成された本実施形態におけるデータ処理装置１００は、入力データをある特定の範囲（カテゴリ）に分類する分類処理を実行する。より具体的には、本実施形態におけるデータ処理装置１００においては、演算処理部１０１が、記憶部１０２に記憶されたデータ（入力データ）に対し、分類処理を実行する。この場合、演算処理部１０１は、プログラムを実行することにより、係る分類処理を実行してもよい。これに限定されず、演算処理部１０１は、予め組み込まれたロジック等により、係る分類処理を実行してもよい。
【００３８】
以下、本実施形態におけるデータ処理装置１００の動作について図面を参照して説明する。
【００３９】
図２は、本実施形態におけるデータ処理装置１００の動作の概要を例示するフローチャートである。図２に例示するように、データ処理装置１００の主要な動作は、大別して、例外値計算ステップ（ステップＳ２０２）と、カテゴリ計算ステップ（ステップＳ２０４）と、カテゴリ処理ステップ（ステップＳ２０５）とを含む。なお、図２に例示するフローチャートにおける各処理の実行順序は、処理結果に影響を与えない範囲で変更されてもよい。各ステップにおける処理については、後述する。
【００４０】
図３は、本実施形態におけるデータ処理装置１００における、記憶部１０２に記憶されたデータの一部を模式的に示す説明図である。図３に例示するように、記憶部１０２には、入力データ配列３０１、及び、拡張カテゴリ配列３０２が、それぞれ連続した記憶領域に配置される。なお、係る連続した記憶領域は、記憶領域を構成するアドレス等が物理的に連続した記憶領域であってもよく、論理的に連続した記憶領域であってもよい。
【００４１】
入力データ配列３０１は、分類計算対象であるｍ個（ｍは自然数）のデータ集合（入力データ）を保持する配列である。以下、入力データ配列３０１を、「入力データ配列Ｘ」と表し、入力データ配列Ｘの要素を、入力データｘと表す場合がある。特に、入力データ配列のｉ番目の要素（ｉは０以上の整数）をｘ［ｉ］と表す場合がある。
【００４２】
拡張カテゴリ配列３０２は、ある閾値により定められた範囲（以下、「閾値範囲」と称する場合がある）内のデータを、ｎ個（ｎは自然数）のカテゴリに分類した結果を保持する配列である。拡張カテゴリ配列３０２は、これに加えて、閾値範囲の上限以上、あるいは閾値範囲の下限未満の入力データ（即ち、閾値範囲外のデータ）を他のカテゴリに分類した結果を保持する。拡張カテゴリ配列３０２は、閾値範囲内のデータを分類した結果と、閾値範囲外のデータを分類した結果とを、連続した領域に保持してもよい。なお、入力データ配列３０１及び拡張カテゴリ配列３０２は、必ずしも配列構造に限らず、データに連続してアクセス可能な、適切なデータ構造を用いて実現（実装）されてよい。なお、閾値範囲は、例えば、データ処理装置１００に予め設定されてもよく、データ処理装置１００において実行されるプログラムに設定されてもよく、入力等として与えられてもよい。
【００４３】
以下、データ処理装置１００の動作について詳細に説明する。なお、以下においては、図４及び図５に示す具体例を用いて、データ処理装置の動作について説明する。
【００４４】
まず、図４及び図５に示す具体例においては、入力データｘの値が、特定の閾値範囲内（下限値「ｍｉｎ＿ｘ」以上、上限値「ｍａｘ＿ｘ」未満）である場合に、係る入力データｘを特定のカテゴリに分類することを想定する。以下、閾値の下限値「ｍｉｎ＿ｘ」を「最小閾値」、閾値の上限値「ｍａｘ＿ｘ］を「最大閾値」と称する場合がある。以下においては、閾値範囲内の入力データｘは、値の幅（範囲）がｈであるカテゴリに分類されることを想定する。図４及び図５に示す具体例においては、説明の便宜上、閾値の下限値「ｍｉｎ＿ｘ」は、「ｍｉｎ＿ｘ  ＝  ０」であり、閾値の上限値「ｍａｘ＿ｘ」は、「ｍａｘ＿ｘ  ＝  １００」であり、値の幅（範囲）「ｈ＝１０」であることを想定する。この場合、入力データｘは、閾値０以上１０未満、１０以上２０未満といったように、値の幅（範囲）が１０である１０個のカテゴリに分類される。
【００４５】
図５は、本実施形態におけるデータ処理装置１００が図４に例示する分類処理を実行する場合に、各入力データｘが分類されるカテゴリの具体例を示す図である。上記したように、拡張カテゴリ配列（図５における「拡張カテゴリ配列Ｙ」）は、閾値範囲内のデータに対する分類結果に加えて、閾値範囲外の入力データに対する分類結果を保持可能な配列である。拡張カテゴリ配列は、これらのデータを連続して保持してもよい。
【００４６】
図５に示す具体例において、拡張カテゴリ配列Ｙの０番目の要素は、閾値範囲の下限値未満の入力データを保持する。即ち、拡張カテゴリ配列Ｙの０要素目は、閾値範囲の下限値（ｍｉｎ＿ｘ）未満の入力データが分類されるカテゴリを表す。以下、係るカテゴリを、「第４のカテゴリ」と称する場合がある。
【００４７】
また、図５に示す具体例において、拡張カテゴリ配列Ｙの１番目から１０番目の要素は、閾値範囲に含まれる入力データ（閾値範囲内のデータ）を保持する。即ち、拡張カテゴリ配列Ｙの１要素目から１０要素目は、閾値範囲内のデータが分類される各カテゴリ（１０個のカテゴリ分類）を表す。以下、係るカテゴリを「第１のカテゴリ」あるいは「閾値内カテゴリ」と称する場合がある。なお、図５に示す具体例においては、第１のカテゴリに１０のカテゴリが含まれるが、本実施形態はこれには限定されない。第１のカテゴリがいくつのカテゴリを含むかは、適宜定められてよい。
【００４８】
更に、図５に示す具体例において、拡張カテゴリ配列Ｙの１１番目の要素は、閾値範囲の上限値以上の入力データを保持する。即ち、拡張カテゴリ配列Ｙの１１番目の要素は、特定の上限値（ｍａｘ＿ｘ）以上の入力データが分類されるカテゴリを表す。以下、係るカテゴリを「第３のカテゴリ」と称する場合がある。また、上記説明した第４のカテゴリと、第３のカテゴリとを併せて「第２のカテゴリ」あるいは「閾値外カテゴリ」と称する場合がある。係る「第２のカテゴリ」（閾値外カテゴリ）は、特定の閾値範囲外のデータが分類されるカテゴリである。本実施形態において、第３のカテゴリ、第４のカテゴリに含まれるカテゴリの数は、適宜定められてよい。
【００４９】
図６乃至図８は、それぞれ、図２における例外値計算ステップ（ステップＳ２０２）、カテゴリ計算ステップ（ステップＳ２０４）、及び、カテゴリ処理ステップ（ステップＳ２０５）の詳細な処理を例示したフローチャートである。以降、図２、並びに、図６乃至図８に例示するフローチャートを参照して、データ処理装置１００における処理の流れを説明する。
【００５０】
まず、入力部１０３が、入力データを受け付ける（ステップＳ２０１）。入力部１０３は、受け付けた入力データを記憶部１０２に提供し、記憶部１０２が係る入力データを、入力データ配列（例えば図３の３０１）として保持してもよい。
【００５１】
次に、データ処理装置１００（特には、演算処理部１０１）は、入力データに対する最大例外値「ｍａｘ＿ｅｘ」と、最小例外値「ｍｉｎ＿ｅｘ」とを計算する（例外値計算ステップ（ステップＳ２０２））。
【００５２】
最大例外値（以下「上限例外データ」と記載する場合がある）は、入力データｘが閾値範囲に含まれない場合、特には入力データｘが最大閾値「ｍａｘ＿ｘ」以上である場合に、当該入力データが補正される値である。最小例外値（以下「下限例外データ」と記載する場合がある）は、入力データｘが閾値範囲に含まれない場合、特には入力データが最小閾値「ｍｉｎ＿ｘ」未満である場合に、当該入力データが補正される値である。これらの入力データの補正については、ステップＳ２０４におけるカテゴリ計算ステップにおいて説明する。
【００５３】
ステップＳ２０２において、演算処理部１０１は、最大例外値（ｍａｘ＿ｅｘ）を、最大閾値「ｍａｘ＿ｘ」以上で「最大閾値＋ｈ」（「＋」は加算記号、「ｈ」は各カテゴリの値の範囲）未満の値となるよう計算する。また、演算処理部１０１は、最小例外値「ｍｉｎ＿ｅｘ」を、最小閾値「ｍｉｎ＿ｘ」未満で、「最小閾値−ｈ」（「−」は減算記号）以上の値となるよう計算する。より具体的には、演算処理部１０１は、例えば、「ｍａｘ＿ｅｘ＝ｍａｘ＿ｘ＋ｈ／２」（［／］は除算記号）、「ｍｉｎ＿ｅｘ＝ｍｉｎ＿ｘ−ｈ／２」という計算により、「ｍａｘ＿ｅｘ」及び「ｍｉｎ＿ｅｘ」を算出する（図６に例示するステップＳ６０１、Ｓ６０２）。
【００５４】
図５に示す具体例においては、「ｍａｘ＿ｅｘ」は、「ｍａｘ＿ｅｘ＝１０５」と算出され、「ｍｉｎ＿ｅｘ」は、「ｍｉｎ＿ｅｘ＝−５」と算出される。
【００５５】
次に、演算処理部１０１は、入力データ配列Ｘの全ての要素に対して繰り返し処理（ループ処理）を実行することにより、入力データ配列Ｘの全要素について分類計算を行う（ステップＳ２０３ａ乃至ステップＳ２０３ｂ）。係るループ処理においては、全入力データに対して、カテゴリ計算ステップ（ステップＳ２０４）と、カテゴリ処理ステップ（ステップＳ２０５）とが実行される。
【００５６】
カテゴリ計算ステップ（ステップＳ２０４）において、演算処理部１０１は、ｘ［ｉ］（入力データ配列Ｘのｉ番目の要素）が分類される、拡張カテゴリ配列Ｙにおける分類先（カテゴリ）を計算する。
【００５７】
演算処理部１０１は、まず、ｘ［ｉ］が最大例外値ｍａｘ＿ｅｘ以上である場合、係るｘ［ｉ］を最大例外値「ｍａｘ＿ｅｘ」に補正する（図７に例示するステップＳ７０１）。演算処理部１０１は、ｘ［ｉ］と、最大例外値「ｍａｘ＿ｅｘ」との最小値を算出するＭＩＮ演算を実行することにより、係る補正処理を実行する。演算処理部１０１は、例えば、各入力データに対して、係るＭＩＮ演算を実行することで、入力データと、最大例外値「ｍａｘ＿ｅｘ」との最小値を取得することができる。この場合、演算処理部１０１は、各入力データに対して、同じ演算処理を実行可能である。
【００５８】
同様に、演算処理部１０１は、ｘ［ｉ］が最小例外値「ｍｉｎ＿ｅｘ」未満の場合、ｘ［ｉ］を最小例外値「ｍｉｎ＿ｅｘ」に補正する（図７に例示するステップＳ７０２）。演算処理部１０１は、ｘ［ｉ］と最小例外値「ｍｉｎ＿ｅｘ」との最大値を算出するＭＡＸ演算を実行することにより、係る補正処理を実行する。演算処理部１０１は、例えば、各入力データに対して係るＭＡＸ演算を実行することで、入力データと、最小例外値「ｍｉｎ＿ｅｘ」との最大値を取得することができる。この場合、演算処理部１０１は、各入力データに対して、同じ演算処理を実行可能である。以下、上記補正後の入力データを、「ａ」と記載する。
【００５９】
上記したＭＡＸ演算、及びＭＩＮ演算は、例えば、それぞれの演算に対応する、汎用プロセッサにおいて利用可能な演算命令により実現可能である。係る演算命令は、例えば、比較的少ないマシンサイクル（１乃至数サイクル）により実行され、パイプライン処理が可能である。これにより、係る演算命令を用いた場合、条件分岐命令の実行に起因する遅延を低減することが可能である。本実施形態においては、例えば、上記演算処理部１０１により実行されるプログラムは、係る演算命令を直接使用するようにプログラミングされてもよい。また、コンパイラ等が上記各演算命令を使用するように、係るプログラムの実行コードを生成してもよい。なお、上記演算命令を使用する方法は、例えば、周知のプロセッサ毎に選択可能な事項であるので、詳細な説明を省略する。
【００６０】
次に、演算処理部１０１は、補正後の入力データ「ａ」に対して、「（ａ＋ｈ）／ｈ」という演算を実行する。これにより、演算処理部１０１は、拡張カテゴリ配列Ｙに対する配列のインデックス（ｉｎｄｅｘ）を計算する（図７に例示するステップＳ７０３）。なお、この場合、演算処理部１０１は、例えば、「（ａ＋ｈ）／ｈ」の演算結果から小数点以下を切り捨てた整数値を、拡張カテゴリ配列Ｙに対するインデックスとして用いる。
【００６１】
以上の処理により、入力データのうち、特定の閾値の範囲内に含まれる入力データは、拡張カテゴリ配列Ｙの１要素目から１０要素目（第１のカテゴリ）のいずれかに分類される。また、最小閾値未満の入力データは、拡張カテゴリ配列Ｙの０要素目に分類される（即ち、係る入力データは第４のカテゴリに分類される）。また、最大閾値以上の入力データは、拡張カテゴリ配列Ｙの１１要素目に分類される（即ち、係る入力データは第３のカテゴリに分類される）。この場合、拡張カテゴリ配列Ｙにおいて、第１のカテゴリに分類されたデータと、第３のカテゴリあるいは第４のカテゴリに分類されたデータとは、隣接した領域に連続して配置されてもよい。
【００６２】
次にステップＳ２０５（カテゴリ処理ステップ）において、演算処理部１０１は、ステップＳ２０４において計算された拡張カテゴリ配列Ｙに対する配列のインデックス（ｉｎｄｅｘ）を用いて、拡張カテゴリ配列Ｙの要素ｙ［ｉｎｄｅｘ］に対する演算処理を実行する。より具体的には、演算処理部１０１は、拡張カテゴリ配列Ｙの要素ｙ［ｉｎｄｅｘ］に対して、ある特定の演算ｆ（ｙ［ｉｎｄｅｘ］）を実行する（図８に例示するステップＳ８０１）。上記において、要素ｙ［ｉｎｄｅｘ］は、拡張カテゴリ配列Ｙのｉｎｄｅｘ番目の要素を表す。また、ｆ（ｙ［ｉｎｄｅｘ］）は、要素ｙ［ｉｎｄｅｘ］に対して、演算ｆを実行することを表す。例えば、係る演算ｆがヒストグラム演算である場合、演算処理部１０１は、ｙ［ｉｎｄｅｘ］の値をインクリメント（加算）する処理を行う。
【００６３】
以上の処理を行うことで、データ処理装置１００は、入力データに対して分類計算を実行可能である。即ち、上記した分類計算の結果、閾値範囲内のデータに関する分類結果は、拡張カテゴリ配列Ｙの１から１０番目の要素に保持される。また、閾値範囲外のデータに関する分類結果は、拡張カテゴリ配列Ｙの０番目の要素と、１１番目の要素（最終要素）とに保持される。なお、上記に限定されず、閾値範囲内のデータと、閾値範囲外のデータとが配置される拡張カテゴリ配列Ｙの要素は、適宜定められてよい。
【００６４】
次に、本実施形態におけるデータ処理装置１００が奏する効果について説明する。本実施形態におけるデータ処理装置１００は、所定の閾値により定められた範囲以外のカテゴリ分類結果を保持可能な拡張カテゴリ配列を有する。そして、データ処理装置１００は、入力データに対して特定の演算（例えば、ＭＡＸ演算やＭＩＮ演算等）を実行することにより、特定の閾値により定められた範囲外（閾値範囲外）の入力データを補正する。より具体的には、データ処理装置１００は、閾値範囲外の入力データを、閾値範囲外のある特定の近傍値（例えば、上記した最大例外値あるいは最小例外値）に補正する。そして、データ処理装置１００は、当該補正された入力データを、拡張カテゴリ配列における特定の要素（例えば、第０要素と最終要素、等）に配置することで、当該入力データに関するカテゴリを分類する。これにより、本実施形態におけるデータ処理装置１００は、特定の閾値範囲に含まれる入力データを分類する分類計算に際して、条件分岐命令を（明示的は）用いることなく分類先のカテゴリを判定可能である。よって、本実施形態におけるデータ処理装置１００は、条件分岐命令による遅延を低減可能である。以上より、本実施形態におけるデータ処理装置１００によれば、特定の範囲に含まれるデータを対象とした分類処理に関する遅延の影響を低減可能である。
【００６５】
＜第１の実施形態の変形例＞
上記第１の実施形態の変形例について説明する。本変形例におけるデータ処理装置１００の構成は、上記第１の実施形態と同様としてよい。
【００６６】
上記第１の実施形態におけるデータ処理装置１００は、閾値範囲の上限以上の入力データを、最大例外値（「上限例外データ」）に補正し、閾値範囲の下限未満の入力データを、最小例外値（「下限例外データ」）に補正する。
【００６７】
本変形例におけるデータ処理装置１００は、例えば、設定や外部から与えられたパラメータ等に応じて、以下の処理を実行する。即ち、本変形例におけるデータ処理装置１００は、閾値範囲の上限以上の入力データを最大例外値（「上限例外データ」）に補正する処理と、閾値範囲の下限未満の入力データを最小例外値（「下限例外データ」）に補正する処理とのいずれかを実行する。
【００６８】
例えば、入力データの下限値が閾値範囲に含まれることが分かっている場合を想定する。この場合、データ処理装置１００は、閾値範囲の上限以上の入力データを最大例外値（「上限例外データ」）に補正する処理を実行すればよい。同様に、例えば、入力データの上限値が閾値範囲に含まれることが分かっている場合を想定する。この場合、データ処理装置１００は、閾値範囲の下限未満の入力データを最小例外値（「下限例外データ」）に補正する処理を実行すればよい。即ち、データ処理装置１００は、入力データの集合に含まれるデータのうち、ある閾値範囲に含まれないデータを、特定の例外データ（例えば、最大例外値又は最小例外値）に補正する。そして、データ処理装置１００は、閾値範囲内のデータと、補正後のデータとを異なるカテゴリに分類する。
【００６９】
これにより、本変形例におけるデータ処理装置１００は、上記第１の実施形態と同様、条件分岐命令を（明示的には）用いることなく、入力データを分類するカテゴリを判定可能である。よって、本実施形態におけるデータ処理装置１００は、条件分岐命令による遅延を低減可能である。
【００７０】
＜第２の実施形態＞
次に、本発明の第２の実施形態について図面を参照して説明する。以下においては、上記第１の実施形態と同様の構成については同様の参照符号を付すことにより、詳細な説明を省略する。
【００７１】
図９は、本実施形態におけるデータ処理装置９００の機能的な構成を例示する図である。本実施形態におけるデータ処理装置９００は、演算処理部９０１においてＳＩＭＤ演算命令を実行可能であり、係るＳＩＭＤ演算命令を用いて分類計算を実行する。なお、演算処理部９０１は、上記第１の実施形態における演算処理部１０１と同様の構成を有してもよい。データ処理装置９００を構成するその他の構成要素（入力部１０３及び記憶部１０２）は、上記第１の実施形態と同様としてよいので、詳細な説明を省略する。
【００７２】
図１１は、本実施形態におけるデータ処理装置９００における、記憶部１０２に記憶されたデータの一部を例示する図である。記憶部１０２は、上記第１の実施形態と同様、入力データ配列（図１１の１１０１）と、拡張カテゴリ配列（図１１の１１０３）とを保持する。また、記憶部１０２は、入力データ配列の各要素が分類（配置）される拡張カテゴリ配列における要素（カテゴリ）を表す情報を、インデックス配列（図１１の１１０２）に保持する。記憶部１０２において、入力データ配列１１０１、インデックス配列１１０２、及び、拡張カテゴリ配列１１０３は、それぞれ連続した記憶領域に配置されてもよい。この場合、係る連続した記憶領域は、記憶領域を構成するアドレス等が物理的に連続した領域であってもよく、論理的に連続した領域であってもよい。
【００７３】
図１０は、本実施形態におけるデータ処理装置９００の動作を例示するフローチャートである。図１０を参照すると、本実施形態におけるデータ処理装置の動作は、大別して例外値計算ステップＳ９０２と、カテゴリ計算ステップＳ９０４と、カテゴリ処理ステップＳ９０６と、を含む。図１０に例示するフローチャートにおける各処理の実行順序は、処理結果に影響を与えない範囲で変更されてもよい。
【００７４】
カテゴリ計算ステップＳ９０４は、例えば、ループ処理等により、全入力データに対して実行される。また、カテゴリ処理ステップＳ９０６は、例えば、上記カテゴリ計算ステップＳ９０４とは別のループ処理等により、全入力データに対して実行される。なお、カテゴリ処理ステップＳ９０６は、特定のカテゴリ（例えば、上記第１の実施形態における第１のカテゴリ）に分類されたデータに関してのみ実行されてもよい。
【００７５】
例外値計算ステップＳ９０２、カテゴリ計算ステップＳ９０４、カテゴリ処理ステップＳ９０６は、それぞれ、上記第１の実施形態における例外値計算ステップ（ステップＳ２０２）、カテゴリ計算ステップ（ステップＳ２０４）、カテゴリ処理ステップ（ステップＳ２０５）と等しいか、略等しい処理としてよい。
【００７６】
図１０に例示するように、本実施形態においては、カテゴリ計算ステップＳ９０４と、カテゴリ処理ステップＳ９０６とについて、別々に繰り返し処理が実行される。即ち、カテゴリ計算ステップＳ９０４と、カテゴリ処理ステップＳ９０６とは、別々のループで処理される（図１０に例示するステップＳ９０３ａ乃至Ｓ９０３ｂ、及び、ステップＳ９０５ａ乃至Ｓ９０５ｂ）。このため、カテゴリ計算ステップＳ９０４における演算結果（カテゴリ分類の結果）をカテゴリ処理ステップＳ９０６に仲介するデータとして、図１１に例示するような、インデックス配列１１０２が用いられる。係るインデックス配列１１０２は、入力データ配列１１０１と同じサイズである。
【００７７】
演算処理部９０１は、カテゴリ計算ステップＳ９０４を含むループにおいて、全入力データそれぞれに対して同様の演算を行う。これにより、演算処理部９０１は、入力データに含まれる各データに対して、並列に演算を実行可能である。
【００７８】
本実施形態における演算処理部９０１は、上記したようにＳＩＭＤ演算命令を実行可能であり、図１０に例示するステップＳ９０３ａ乃至Ｓ９０３ｂにおける繰り返し処理を、ＳＩＭＤ命令を用いて並列に実行する。より具体的には、本実施形態における演算処理部９０１は、上記説明したＭＡＸ演算、ＭＩＮ演算等を含む分類計算を、ＳＩＭＤ命令を用いて実行する。
【００７９】
演算処理部９０１は、例えば、入力データ配列（１１０１）のうち、特定数の要素に対してＳＩＭＤ命令を用いて並列に分類計算を実行し、係る分類計算の結果をインデックス配列（１１０２）に格納する。より具体的には、演算処理部９０１は、例えば、入力データ（入力データ配列１１０１の全要素）について、特定数毎に分類計算を並列して実行し、係る分類計算の結果をインデックス配列に格納する。この場合、インデックス配列１１０２のｉ番目（ｉは０以上の整数）の要素には、入力データ配列１１０１のｉ番目の要素に対する分類処理の結果が格納される。上記特定数は、例えば、SIMD命令が一度に処理可能な要素の数等に基づいて定められてもよい。
【００８０】
なお、カテゴリ処理ステップＳ９０６における演算処理がＳＩＭＤ命令を用いて実行可能である場合、演算処理部９０１は、当該演算処理を並列に実行してもよい。
【００８１】
次に、本実施形態におけるデータ処理装置９００が奏する効果について説明する。本実施形態におけるデータ処理装置９００は、上記第１の実施形態と同様、所定の閾値範囲外のカテゴリ分類結果を保持する拡張カテゴリ配列を有する。そして、データ処理装置９００は、特定の演算（ＭＡＸ演算やＭＩＮ演算等）を実行することにより、閾値範囲外の入力データを、閾値範囲外の近傍値（例えば、最大例外値あるいは最小例外値）に補正する。そして、データ処理装置９００は、例えば、拡張カテゴリ配列における特定の要素（例えば、第０要素及び最終要素）に係る補正後の入力データを配置することで、当該入力データに関するカテゴリを分類する。本実施形態におけるデータ処理装置は、上記分類計算に関する処理を、ＳＩＭＤ演算命令を用いて実行することにより、ＳＩＭＤ演算命令を使った並列処理を実現できる。即ち、本実施形態におけるデータ処理装置は、ＳＩＭＤ演算命令を用いて、分類計算を並列に実行可能であることから、特定の範囲に含まれるデータに対する分類処理を効率的に実行可能である。また、データ処理装置９００は、上記第１の実施形態におけるデータ処理装置１００と同様の構成を有することから、上記第１の実施形態と同様の効果を奏する。
【００８２】
＜第３の実施形態＞
次に、本発明の第２の実施形態について図面を参照して説明する。以下においては、上記各実施形態と同様の構成については同様の参照符号を付すことにより、詳細な説明を省略する。
【００８３】
図１２は、本実施形態におけるデータ処理装置１２００の機能的な構成を例示する図である。本実施形態におけるデータ処理装置１２００は、上記各実施形態におけるデータ処理装置（１００、９００）と、演算処理部１２０１の動作の一部のみが相違し、他の構成要素は同様である。以下、係る相違について説明する。なお、データ処理装置１２００における他の構成要素（記憶部１０２及び入力部１０３）は、上記各実施形態と同様としてよいので、詳細な説明を省略する。
【００８４】
本実施形態におけるデータ処理装置１２００（特には演算処理部１２０１）は、上記第１の実施形態におけるデータ処理装置と、カテゴリ計算ステップ（図２のステップＳ２０４）における動作が相違する。以下、係る相違について、図４及び図５に例示する具体例と、本実施形態におけるカテゴリ計算ステップ（ステップＳ２０４）の処理を示すフローチャート（図１３）とを用いて説明する。なお、図１３に例示したフローチャートにおける各ステップは、演算結果に影響を与えない範囲で、実行順序を変更してもよい。
【００８５】
カテゴリ計算ステップ（ステップＳ２０４）において、演算処理部１２０１は、入力データ配列Ｘの要素ｘ［ｉ］が拡張カテゴリ配列Ｙのどのカテゴリに分類されるか計算を行う。ｘ［ｉ］は、上記第１の実施形態と同様、入力データ配列Ｘにおけるｉ番目の要素を表す。
【００８６】
まず、演算処理部１２０１は、ｘ［ｉ］が最大閾値「ｍａｘ＿ｘ」以上である場合、係るｘ［ｉ］を最大例外値「ｍａｘ＿ｅｘ」に補正する（図１３におけるステップＳ１３０１）。演算処理部１２０１は、係る補正処理を、例えば、以下のように実行する。まず、演算処理部１２０１は、比較演算命令（例えば、ＣＭＰ命令や、ＣＭＰＧＥ命令等）を用いてｘ［ｉ］と最大閾値「ｍａｘ＿ｘ」との比較演算を行う。そして、演算処理部１２０１は、条件付き移動命令（例えば、ＣＭＯＶＧＥ命令や、ＣＭＯＶＬ命令等）を実行する。これにより、演算処理部１２０１は、比較演算命令による比較結果に基づいて、ｘ［ｉ］が最大閾値「ｍａｘ＿ｘ」と等しいか大きい場合、ｘ［ｉ］に最大例外値「ｍａｘ＿ｅｘ」を代入する。
【００８７】
次に、演算処理部１２０１は、ｘ［ｉ］が最小閾値ｍｉｎ＿ｘ以下である場合、係るｘ［ｉ］を最小例外値ｍｉｎ＿ｅｘに補正する（図１３におけるステップＳ１３０２）。演算処理部１２０１は、係る補正処理を、例えば、以下のように実行する。まず、演算処理部１２０１は、比較演算命令（例えば、ＣＭＰ命令）により最小閾値ｍｉｎ＿ｘとｘ［ｉ］との比較演算を実行する。そして、演算処理部１２０１は、条件付き移動命令（例えば、ＣＭＯＶＧＥ命令）を実行する。これにより、演算処理部１２０１は、比較演算命令による比較結果に基づいて、最小閾値「ｍｉｎ＿ｘ」がｘ［ｉ］と等しいか大きい場合、ｘ［ｉ］に最小例外値「ｍｉｎ＿ｅｘ」を代入する。
【００８８】
なお、上記比較演算命令は、例えば、引数として設定されたデータを比較する命令である。また、上記条件付き移動命令は、例えば、比較演算命令の結果に応じて、引数として設定されたデータの移動（転送）を行う命令である。これらの命令は周知のプロセッサ毎に選択可能であることから、詳細な説明を省略する。
【００８９】
次に、演算処理部１２０１は、上記補正後のｘ［ｉ］（即ち「ａ」）に対して、上記第１の実施形態と同様、「（ａ＋ｈ）／ｈ」という演算を実行する。これにより、演算処理部１２０１は、拡張カテゴリ配列Ｙに対する配列インデックス（ｉｎｄｅｘ）を計算する（図１３におけるステップＳ１３０３）。
【００９０】
上記処理により、演算処理部１２０１は、全ての入力データのうち、ある入力データが閾値の範囲内であれば、当該入力データを、拡張カテゴリ配列Ｙの１要素目から１０要素目のいずかに分類する。また、ある入力データが最小閾値未満であれば、演算処理部１２０１は、当該入力データを拡張カテゴリ配列Ｙの０要素目に分類する。また、ある入力データが最大閾値以上であれば、演算処理部１２０１は、当該入力データを拡張カテゴリ配列Ｙの１１要素目に分類する。
【００９１】
上記のように動作する本実施形態におけるデータ処理装置１２００は、上記各実施形態と同様の効果を奏する。また、本実施形態におけるデータ処理装置１２００は、ＭＡＸ演算あるいはＭＩＮ演算が用意されていないプロセッサにおいても、比較演算命令と、条件付き移動命令とを組み合わせることにより、条件分岐命令を明示的に用いることなく、分類計算を実行可能である。これにより、本実施形態におけるデータ処理装置１２００は、条件分岐命令による遅延を低減可能である。
【００９２】
＜第４の実施形態＞
次に、本発明の第４の実施形態について、図面を参照して説明する。図１４は、本実施形態におけるデータ処理装置１４００の機能的な構成を例示するブロック図である。
【００９３】
図１４に例示するように、本実施形態におけるデータ処理装置１４００は、データ分類部１４０１と、カテゴリ保持部１４０２とを有する。データ処理装置１４００を構成するこれらの構成要素の間は、適切な通信手段（例えば、通信バスや通信ネットワーク等）により、通信可能に接続されていてもよい。以下、それぞれの構成要素について説明する。
【００９４】
データ分類部１４０１は、データ集合に含まれるデータのうち、第１の範囲に含まれないデータを特定の例外データに補正するとともに、第１の範囲に含まれるデータと、補正後のデータとを、異なるカテゴリに分類する処理を実行する。係る特定の例外データは、例えば、上記第１の実施形態における最大例外値（上限例外データ）、又は、最小例外値（下限例外データ）であってもよい。
【００９５】
データ分類部１４０１は、例えば、ＣＰＵ等の演算処理装置により構成され、特定のプログラム（コンピュータ・プログラム）を実行することにより、上記分類処理を実行してもよい。上記に限定されず、データ分類部１４０１には、係る分類処理を実行するロジック等が予め組み込まれていてもよい。データ分類部１４０１は上記分類処理の結果を、カテゴリ保持部１４０２に格納してもよい。係るデータ分類部１４０１は、例えば、上記各実施形態における演算処理部（１０１、９０１、１２０１）と同様としてもよい。なお、上記データ集合は、データ処理装置１４００に対する入力データであってもよい。
【００９６】
カテゴリ保持部１４０２は、データを上記カテゴリに分類した結果を保持する。係るカテゴリ保持部１４０２は、例えば、各種の記憶装置（メモリ）等により構成され、上記データ分類部１４０１から渡された分類結果を、連続した記憶領域に保持してもよい。なお、係るカテゴリ保持部１４０２は、例えば、上記各実施形態における記憶部１０２と同様としてもよい。
【００９７】
上記のように構成されたデータ処理装置１４００は、特定の範囲（第１の範囲）に含まれるデータと、含まれないデータとの双方に対するカテゴリ分類結果を保持可能なカテゴリ保持部１４０２を有する。また、データ処理装置１４００は、データ集合に含まれるデータのうち、第１の範囲に含まれないデータを補正する。以上から、データ処理装置１４００は、第１の範囲に含まれるデータと、第１の範囲に含まれないデータとの双方に対して、ともに同様のカテゴリ分類処理を実行することができる。即ち、データ処理装置１４００は、第１の範囲に含まれないデータについても、同様のカテゴリ分類処理を実行可能である。これにより、データ処理装置１４００は、特定の範囲に含まれるか否かの判定に伴う遅延の影響を低減可能である。以上より、本実施形態におけるデータ処理装置１４００によれば、特定の範囲に含まれるデータに関する分類処理において生じる遅延の影響を低減可能である。
【００９８】
＜ハードウェア及びソフトウェア・プログラム（コンピュータ・プログラム）の構成＞
以下、上記説明した各実施形態におけるデータ処理装置を実現可能なハードウェア構成について説明する。以下の説明において、上記各実施形態において説明したデータ処理装置（１００、９００、１２００、及び、１４００）をまとめて、単に「データ処理装置」と称する。またデータ処理装置の各構成要素を、単に「データ処理装置の構成要素」と称する。
【００９９】
上記各実施形態において説明したデータ処理装置は、１つ又は複数の専用のハードウェア装置により構成してもよい。その場合、上記各図に示した各構成要素は、一部又は全部を統合したハードウェア（処理ロジックを実装した集積回路等）として実現されてもよい。
【０１００】
例えば、データ処理装置を専用のハードウェア装置により実現する場合、係るデータ処理装置の構成要素は、それぞれの機能を提供可能な回路構成（ｃｉｒｃｕｉｔｒｙ）を用いて実現されてもよい。係る回路構成には、例えば、集積回路、ＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  ａ  Ｃｈｉｐ）、あるいはそれらを用いて実装されたチップセット等が含まれる。この場合、例えば、データ処理装置の構成要素が保持するデータは、ＳｏＣとして統合されたＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）領域やフラッシュメモリ領域に記憶されてもよい。また、この場合、データ処理装置の各構成要素を接続する通信回線としては、周知の通信バスを採用してもよい。また、各構成要素を接続する通信回線はバス接続に限らず、それぞれの構成要素間をピアツーピアで接続してもよい。
【０１０１】
データ処理装置を複数のハードウェア装置により構成する場合、それぞれのハードウェア装置の間は、適切な通信方法（有線、無線、またはそれらの組み合わせ）により通信可能に接続されていてもよい。
【０１０２】
また、上述したデータ処理装置は、図１５に例示するような汎用のハードウェアと、係るハードウェアによって実行される各種ソフトウェア・プログラム（コンピュータ・プログラム）とによって構成されてもよい。この場合、データ処理装置は、１以上の数のハードウェア装置及びソフトウェア・プログラムにより構成されてもよい。
【０１０３】
図１５における演算装置１５０１は、汎用のＣＰＵ（中央処理装置：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やマイクロプロセッサ等の演算処理装置である。演算装置１５０１は、例えば後述する不揮発性記憶装置１５０３に記憶された各種ソフトウェア・プログラムを記憶装置１５０２に読み出し、係るソフトウェア・プログラムに従って処理を実行してもよい。例えば、上記各実施形態におけるデータ処理装置の動作は、演算装置１５０１により実行されるソフトウェア・プログラムを用いて実現可能である。
【０１０４】
記憶装置１５０２は、演算装置１５０１から参照可能な、ＲＡＭ等のメモリ装置であり、ソフトウェア・プログラムや各種データ等を記憶する。なお、記憶装置１５０２は、揮発性のメモリ装置であってもよい。上記各実施形態における記憶部１０２、及び、カテゴリ保持部１４０２は、記憶装置１５０２を用いて実現可能である。
【０１０５】
不揮発性記憶装置１５０３は、例えば磁気ディスクドライブや、フラッシュメモリによる半導体記憶装置のような、不揮発性の記憶装置である。不揮発性記憶装置１５０３は、各種ソフトウェア・プログラムやデータ等を記憶可能である。
【０１０６】
ネットワークインタフェース１５０６は、通信ネットワークに接続するインタフェース装置であり、例えば有線及び無線のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）接続用インタフェース装置等を採用してもよい。
【０１０７】
ドライブ装置１５０４は、例えば、後述する記録媒体１５０５に対するデータの読み込みや書き込みを処理する装置である。
【０１０８】
記録媒体１５０５は、例えば光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な記録媒体である。
【０１０９】
入出力インタフェース１５０７は、外部装置との間の入出力を制御する装置である。
【０１１０】
例えば、上記第１の実施形態における入力部１０３は、上記ネットワークインタフェース１５０６、ドライブ装置１５０４、入出力インタフェース１５０７のいずれか一つ、またはこれらの組み合わせを用いて実現可能である。
【０１１１】
上述した各実施形態を例に説明した本発明におけるデータ処理装置は、例えば、図１５に例示するハードウェア装置に対して、上記各実施形態において説明した機能（動作）を実現可能なソフトウェア・プログラムを供給することにより、実現されてもよい。より具体的には、例えば、係る装置に対して供給したソフトウェア・プログラムを、演算装置１５０１が実行することによって、本発明が実現されてもよい。この場合、係るハードウェア装置で稼働しているオペレーティングシステムや、データベース管理ソフト、ネットワークソフト等のミドルウェアなどが各処理の一部を実行してもよい。なお、演算装置１５０１は、並列に処理可能なプロセス、スレッド、タスク等の適切なソフトウェア・プログラムを用いて、上記各実施形態において説明した動作を実現してもよい。
【０１１２】
上記各ソフトウェア・プログラムは記録媒体１５０５に記録されてもよい。この場合、上記各ソフトウェア・プログラムは、上記通信装置等の出荷段階、あるいは運用段階等において、適宜ドライブ装置１５０４を通じて不揮発性記憶装置１５０３に格納されるよう構成されてもよい。
【０１１３】
なお、上記の場合において、上記データ処理装置への各種ソフトウェア・プログラムの供給方法は、出荷前の製造段階、あるいは出荷後のメンテナンス段階等において、適当な治具を利用して当該装置内にインストールする方法を採用してもよい。また、各種ソフトウェア・プログラムの供給方法は、インターネット等の通信回線を介して外部からダウンロードする方法等のように、現在では一般的な手順を採用してもよい。
【０１１４】
そして、このような場合において、本発明は、係るソフトウェア・プログラムを構成するコード、あるいは係るコードが記録されたところの、コンピュータ読み取り可能な記録媒体によって構成されると捉えることができる。この場合、係る記録媒体は、ハードウェア装置と独立した媒体に限らず、ＬＡＮやインターネットなどにより伝送されたソフトウェア・プログラムをダウンロードして記憶又は一時記憶した記憶媒体を含む。
【０１１５】
また、上述したデータ処理装置、あるいは、当データ処理装置の構成要素は、図１５に例示するハードウェア装置を仮想化した仮想化環境と、当該仮想化環境において実行される各種ソフトウェア・プログラム（コンピュータ・プログラム）とによって構成されてもよい。この場合、図１５に例示するハードウェア装置の構成要素は、当該仮想化環境における仮想デバイスとして提供される。なお、この場合も、図１５に例示するハードウェア装置を物理的な装置として構成した場合と同様の構成にて、本発明を実現可能である。
【０１１６】
以上、本発明を、上述した模範的な実施形態に適用した例として説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態に記載した範囲には限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、係る変更又は改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。更に、上述した各実施形態、あるいは、係る変更又は改良を加えた新たな実施形態を組み合わせた実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、請求の範囲に記載した事項から明らかである。
【０１１７】
上記の各実施形態の一部又は全部は、以下の付記のようにも記載されうる。なお、以下の付記は本発明をなんら限定するものではない。
【０１１８】
（付記１）
データ集合に含まれるデータのうち、第１の範囲に含まれない上記データを、特定の例外データに補正するとともに、上記第１の範囲に含まれる上記データと、補正後の上記データとを、異なるカテゴリに分類するデータ分類手段と、
上記データを上記カテゴリに分類した結果を保持するカテゴリ保持手段と、を備える
データ処理装置。
【０１１９】
（付記２）
上記データ分類手段は、
上記第１の範囲に含まれる上記データを、上記第１の範囲に含まれる複数のカテゴリからなる第１のカテゴリに分類するとともに、
上記第１の範囲に含まれない上記データを、上記第１の範囲に含まれない１以上の上記例外データのいずれかに補正するとともに、当該補正後の上記データを、上記第１のカテゴリとは異なる１以上のカテゴリからなる第２のカテゴリに分類し、
上記カテゴリ保持手段は、上記第１のカテゴリに関する分類結果と、上記第２のカテゴリに関する分類結果とを保持する
付記１に記載のデータ処理装置。
【０１２０】
（付記３）
上記データ分類手段は、
上記第１の範囲に含まれない上記データのうち、少なくとも一部の上記データを、当該データが表す値に基づいて、上記第１の範囲に含まれない１以上の上記例外データのいずれかに補正するとともに、
上記例外データに補正された上記データを、上記第２のカテゴリのうち、上記例外データ毎に異なるカテゴリに分類する、
付記２に記載のデータ処理装置。
【０１２１】
（付記４）
上記データ分類手段は、
上記第１の範囲の上限よりも大きいと判定された上記データのうち、少なくとも一部のデータを、上記第１の範囲の上限よりも大きい上記例外データである上限例外データに補正するとともに、上記補正された上限例外データを、上記第２のカテゴリに含まれる第３のカテゴリに分類し、
上記第１の範囲の下限よりも小さいと判定された上記データのうち、少なくとも一部のデータを、上記第１の範囲の下限よりも小さい上記例外データである下限例外データに補正するとともに、上記補正された下限例外データを、上記第２のカテゴリに含まれる第４のカテゴリに分類する、
付記３に記載のデータ処理装置。
【０１２２】
（付記５）
上記データ分類手段は、上記データ集合に含まれるそれぞれの上記データについて、
当該データと上記上限例外データとの最小値を算出することにより、当該データを上記算出した最小値に補正する処理と、
当該データと上記下限例外データとの最大値を算出することにより、当該データを上記算出した最大値に補正する処理と、
の少なくとも何れかを実行することにより、上記第１の範囲に含まれない上記データを、上記上限例外データあるいは上記下限データに補正する、
付記４に記載のデータ処理装置。
【０１２３】
（付記６）
上記データ分類手段は、上記データ集合に含まれるそれぞれの上記データについて、
当該データと、上記上限例外データとに対する最小値を取得する命令を実行することにより、当該データと上記上限例外データとの最小値を算出し、当該データを上記算出した最小値に補正する処理と、
当該データと上記下限例外データとに対する最大値を取得する命令を実行することにより、当該データと上記上限例外データとの最大値を算出し、当該データを上記算出した最大値に補正する処理と、の少なくともいずれか一方を実行する
付記４又は付記５に記載のデータ処理装置。
【０１２４】
（付記７）
上記データ分類手段は、上記データ集合に含まれるそれぞれの上記データについて、
比較命令を実行することにより、上記データと、上記第１の範囲の上限との大小を比較する処理を実行し、当該比較処理の結果に基づいて、条件付き移動命令を実行することにより、上記データが上記第１の範囲の上限よりも大きい場合に、上記データを上記上限例外データに補正する処理と、
比較命令を実行することにより、上記データと、上記第１の範囲の下限との大小を比較する処理を実行し、当該比較処理の結果に基づいて、条件付き移動命令を実行することにより、上記データが上記第１の範囲の下限よりも小さい場合に、上記データを上記下限例外データに補正する処理と、の少なくともいずれか一方を実行する、
付記４乃至付記６のいずれかに記載のデータ処理装置。
【０１２５】
（付記８）
上記データ分類手段が、単一の命令により複数の演算処理を並列実行可能なＳＩＭＤ命令を実行可能である場合において、
上記データ分類手段は、上記データ集合に含まれる特定数の上記データについて、ＳＩＭＤ命令を実行することにより、当該特定数の上記データをカテゴリに分類する処理を並列に実行する
付記６又は付記７に記載のデータ処理装置。
【０１２６】
（付記９）
情報処理装置が、
データ集合に含まれるデータのうち、第１の範囲に含まれない上記データを、特定の例外データに補正するとともに、上記第１の範囲に含まれる上記データと、補正後の上記データとを、異なるカテゴリに分類し、
上記データを上記カテゴリに分類した結果を保持する
データ処理方法。
【０１２７】
（付記１０）
データ集合に含まれるデータのうち、第１の範囲に含まれない上記データを、特定の例外データに補正するとともに、上記第１の範囲に含まれる上記データと、補正後の上記データとを、異なるカテゴリに分類する処理と、
上記データを上記カテゴリに分類した結果を保持する処理と、をコンピュータに実行させる
コンピュータ・プログラム。
【０１２８】
（付記１１）
上記データ分類手段は、上記データ集合に含まれる全てのデータに対して特定の同じ演算を実行することにより、上記第１の範囲に含まれない上記データを補正する、
付記１に記載のデータ処理装置。
【０１２９】
（付記１２）
上記データ分類手段は、上記データ集合に含まれる全てのデータに対して、条件分岐命令を伴わない上記特定の同じ演算を実行することにより、上記第１の範囲に含まれない上記データを補正する、
付記１又は付記１１に記載のデータ処理装置。
【０１３０】
（付記１３）
上記データ分類手段が、単一の命令により複数の演算処理を並列実行可能なＳＩＭＤ命令を実行可能である場合において、
上記データ分類手段は、上記データ集合に含まれるそれぞれの上記データについて、それぞれＳＩＭＤ命令を用いて、上記最小値を取得する命令と、上記最大値を取得する命令と、上記比較命令と、上記条件付き移動命令と、の少なくとも何れかを実行することにより、上記データをそれぞれ上記基準に基づいてカテゴリに分類する上記処理を並列に実行する付記８に記載のデータ処理装置。
【０１３１】
（付記１４）
上記カテゴリ保持手段は、上記第１のカテゴリに関する分類結果を連続した記憶領域である第１の記憶領域に配置し、
上記第３のカテゴリに関する分類結果を、上記第１の記憶領域において、上記第１の範囲の上限に最も近い上記データが分類された上記第１のカテゴリに含まれるカテゴリが配置された領域に隣接する第２の記憶領域に配置し、
上記第４のカテゴリに関する分類結果を、上記第１の記憶領域において、上記第１の範囲の下限に最も近い上記データが分類された上記第１のカテゴリに含まれるカテゴリが配置された領域に隣接する第３の記憶領域に配置する
付記４に記載のデータ処理装置。
【０１３２】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【０１３３】
この出願は、２０１５年２月２５日に出願された日本出願特願２０１５−０３５０５９を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１３４】
１００  データ処理装置
１０１  演算処理部
１０２  記憶部
１０３  入力部
９００  データ処理装置
９０１  演算処理部
１２００  データ処理装置
１２０１  演算処理部
１４００  データ処理装置
１４０１  データ分類部
１４０２  カテゴリ保持部
１５０１  演算装置
１５０２  記憶装置
１５０３  不揮発性記憶装置
１５０４  ドライブ装置
１５０５  記録媒体
１５０６  ネットワークインタフェース
１５０７  入出力インタフェース
【図１】
2016136197.tif 000003
【図２】
2016136197.tif 000004
【図３】
2016136197.tif 000005
【図４】
2016136197.tif 000006
【図５】
2016136197.tif 000007
【図６】
2016136197.tif 000008
【図７】
2016136197.tif 000009
【図８】
2016136197.tif 000010
【図９】
2016136197.tif 000011
【図１０】
2016136197.tif 000012
【図１１】
2016136197.tif 000013
【図１２】
2016136197.tif 000014
【図１３】
2016136197.tif 000015
【図１４】
2016136197.tif 000016
【図１５】
2016136197.tif 000017
【図１６】
2016136197.tif 000018
【手続補正書】
【提出日】平成29年8月9日(2017.8.9)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ集合に含まれるデータのうち、第１の範囲に含まれない前記データを、特定の例外データに補正するとともに、前記第１の範囲に含まれる前記データと、補正後の前記データとを、異なるカテゴリに分類するデータ分類手段と、
前記データをカテゴリに分類した結果を保持するカテゴリ保持手段と、を備える
データ処理装置。
【請求項２】
前記データ分類手段は、
前記第１の範囲に含まれる前記データを、前記第１の範囲に含まれる複数のカテゴリからなる第１のカテゴリに分類し、
前記第１の範囲に含まれない前記データを、前記第１の範囲に含まれない１以上の前記例外データのいずれかに補正するとともに、当該補正後の前記データを、前記第１のカテゴリとは異なる１以上のカテゴリからなる第２のカテゴリに分類し、
前記カテゴリ保持手段は、前記第１のカテゴリに関する分類結果と、前記第２のカテゴリに関する分類結果とを保持する
請求項１に記載のデータ処理装置。
【請求項３】
前記データ分類手段は、
前記第１の範囲に含まれない前記データのうち、少なくとも一部の前記データを、当該データが表す値に基づいて、前記第１の範囲に含まれない１以上の前記例外データのいずれかに補正するとともに、
前記例外データに補正された前記データを、前記第２のカテゴリのうち、前記例外データ毎に異なるカテゴリに分類する、
請求項２に記載のデータ処理装置。
【請求項４】
前記データ分類手段は、
前記第１の範囲の上限よりも大きいと判定された前記データのうち、少なくとも一部のデータを、前記第１の範囲の上限よりも大きい前記例外データである上限例外データに補正するとともに、前記補正された上限例外データを、前記第２のカテゴリに含まれる第３のカテゴリに分類する処理と、
前記第１の範囲の下限よりも小さいと判定された前記データのうち、少なくとも一部のデータを、前記第１の範囲の下限よりも小さい前記例外データである下限例外データに補正するとともに、前記補正された下限例外データを、前記第２のカテゴリに含まれる第４のカテゴリに分類する処理と、の少なくとも何れかを実行する
請求項３に記載のデータ処理装置。
【請求項５】
前記データ分類手段は、前記データ集合に含まれるそれぞれの前記データについて、
当該データと前記上限例外データとの最小値を算出することにより、当該データを前記算出した最小値に補正する処理と、
当該データと前記下限例外データとの最大値を算出することにより、当該データを前記算出した最大値に補正する処理と、
の少なくともいずれかを実行することにより、前記第１の範囲に含まれない前記データを、前記上限例外データあるいは上記下限データに補正する、
請求項４に記載のデータ処理装置。
【請求項６】
前記データ分類手段は、前記データ集合に含まれるそれぞれの前記データについて、
当該データと、前記上限例外データとに対する最小値を取得する命令を実行することにより、当該データと前記上限例外データとの最小値を算出し、当該データを前記算出した最小値に補正する処理と、
当該データと前記下限例外データとに対する最大値を取得する命令を実行することにより、当該データと前記上限例外データとの最大値を算出し、当該データを前記算出した最大値に補正する処理と、の少なくともいずれか一方を実行する
請求項４又は請求項５に記載のデータ処理装置。
【請求項７】
前記データ分類手段は、前記データ集合に含まれるそれぞれの前記データについて、
比較命令を実行することにより、前記データと、前記第１の範囲の上限との大小を比較する処理を実行し、当該比較処理の結果に基づいて、条件付き移動命令を実行することにより、前記データが前記第１の範囲の上限よりも大きい場合に、前記データを前記上限例外データに補正する処理と、
比較命令を実行することにより、前記データと、前記第１の範囲の下限との大小を比較する処理を実行し、当該比較処理の結果に基づいて、条件付き移動命令を実行することにより、前記データが前記第１の範囲の下限よりも小さい場合に、前記データを前記下限例外データに補正する処理と、の少なくともいずれか一方を実行する、
請求項４乃至請求項６のいずれかに記載のデータ処理装置。
【請求項８】
前記データ分類手段が、単一の命令により複数の演算処理を並列実行可能なＳＩＭＤ命令を実行可能である場合において、
前記データ分類手段は、前記データ集合に含まれる特定数の前記データについて、ＳＩＭＤ命令を実行することにより、当該特定数の前記データをカテゴリに分類する処理を並列に実行する
請求項６又は請求項７に記載のデータ処理装置。
【請求項９】
情報処理装置が、
データ集合に含まれるデータのうち、第１の範囲に含まれない前記データを、特定の例外データに補正するとともに、前記第１の範囲に含まれる前記データと、補正後の前記データとを、異なるカテゴリに分類し、
前記データを前記カテゴリに分類した結果を保持する
データ処理方法。
【請求項１０】
データ集合に含まれるデータのうち、第１の範囲に含まれない前記データを、特定の例外データに補正するとともに、前記第１の範囲に含まれる前記データと、補正後の前記データとを、異なるカテゴリに分類する処理と、
前記データを前記カテゴリに分類した結果を保持する処理と、をコンピュータに実行させる
コンピュータ・プログラム。
【国際調査報告】
2016136197.tif 000019
2016136197.tif 000020
2016136197.tif 000021
2016136197.tif 000022