(57)【特許請求の範囲】
【請求項１】
一様なビン方式を用いてヒストグラムを構築する方法であって、前記方法は、
１つ以上のプロセッサが、第１の組のデータ値を受信することであって、前記第１の組のデータ値は、第１の時間間隔中の第１のタイプの測定を含む、ことと、
前記１つ以上のプロセッサが、前記第１の組のデータ値を表すために、メモリの中に第１の組のビンを作成することであって、前記第１の組のビンを作成することは、前記第１の組のデータ値におけるゼロの任意のデータ値を表すように第１のビンを割り当てることと、前記第１の組のビンの中の残りのビンの各々に、２つの異なる数に及ぶそれぞれの範囲を割り当てることとを含み、その結果、前記第１のビンは数０を表し、残りのビンはゼロではない数を表す、ことと、
前記１つ以上のプロセッサが、前記第１の組のビンと前記第１の組のデータ値とを使用して、第１のヒストグラムを生成することであって、前記第１のヒストグラムは、前記第１の組のビンのビン毎に、前記第１の組のデータ値のうちのいくつのデータ値が前記ビンによって表されるかを示し、前記第１のヒストグラムは、前記第１の時間間隔に関するものである、ことと、
前記１つ以上のプロセッサが、第２の組のデータ値を受信することであって、前記第２の組のデータ値は、第２の時間間隔中の前記第１のタイプの測定を含む、ことと、
前記１つ以上のプロセッサが、前記第１の組のビンと前記第２の組のデータ値とを使用して、同一の組のビンを使用することによって前記第１のヒストグラムと第２のヒストグラムとが一様なビン方式を有するように、前記第２のヒストグラムを生成することであって、前記第２のヒストグラムは、前記第１の組のビンのビン毎に、前記第２の組のデータ値のうちのいくつのデータ値が前記ビンによって表されるかを示し、前記第２のヒストグラムは、前記第２の時間間隔に関するものである、ことと、
前記第１の時間間隔と前記第２の時間間隔とを被覆する第３の時間間隔に関する第３のヒストグラムを生成することであって、前記第３のヒストグラムは、前記第１の組のビンをさらに使用することによって、かつ、ビン毎ベースで前記第１のヒストグラムと前記第２のヒストグラムとを追加することによって、生成され、前記第３のヒストグラムは、前記第１の組のビンのビン毎に、前記第１の組のデータ値および前記第２の組のデータ値のうちのいくつのデータ値が前記ビンによって表されるかを示す、ことと
を含む、方法。
【請求項２】
前記第１の時間間隔または前記第２の時間間隔は、１分、５分、１時間、および１２時間の時間増分である、請求項１に記載の方法。
【請求項３】
データ値が、毎分受信され、
毎分、１分ヒストグラムが作成され、５分ヒストグラムが再計算され、１時間ヒストグラムが再計算され、１２時間ヒストグラムが再計算される、請求項２に記載の方法。
【請求項４】
命令を備えている非一過性のコンピュータ読み取り可能な媒体であって、前記命令は、１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに一様なビン方式を用いてヒストグラムを構築するための動作を行わせ、前記コンピュータ読み取り可能な媒体は、
第１の組のデータ値を受信する命令であって、前記第１の組のデータ値は、第１の時間間隔中の第１のタイプの測定を含む、命令と、
前記第１の組のデータ値を表すために、メモリの中に第１の組のビンを作成する命令であって、前記命令は、前記第１の組のデータ値におけるゼロの任意のデータ値を表すように第１のビンを割り当て、前記第１の組のビンの中の残りのビンの各々に、２つの異なる数に及ぶそれぞれの範囲を割り当てることによって、前記第１の組のビンを作成させ、その結果、前記第１のビンは数０を表し、残りのビンはゼロではない数を表す、命令と、
前記第１の組のビンと前記第１の組のデータ値とを使用して、第１のヒストグラムを生成する命令であって、前記第１のヒストグラムは、前記第１の組のビンのビン毎に、前記第１の組のデータ値のうちのいくつのデータ値が前記ビンによって表されるかを示し、前記第１のヒストグラムは、前記第１の時間間隔に関するものである、命令と、
第２の組のデータ値を受信する命令であって、前記第２の組のデータ値は、第２の時間間隔中の前記第１のタイプの測定を含む、命令と、
前記１つ以上のプロセッサが、前記第１の組のビンと前記第２の組のデータ値とを使用して、同一の組のビンを使用することによって前記第１のヒストグラムと第２のヒストグラムとが一様なビン方式を有するように、前記第２のヒストグラムを生成する命令であって、前記第２のヒストグラムは、前記第１の組のビンのビン毎に、前記第２の組のデータ値のうちのいくつのデータ値が前記ビンによって表されるかを示し、前記第２のヒストグラムは、前記第２の時間間隔に関するものである、命令と、
前記第１の時間間隔と前記第２の時間間隔とを被覆する第３の時間間隔に関する第３のヒストグラムを生成する命令であって、前記第３のヒストグラムは、前記第１の組のビンをさらに使用することによって、かつ、ビン毎ベースで前記第１のヒストグラムと前記第２のヒストグラムとを追加することによって、生成され、前記第３のヒストグラムは、前記第１の組のビンのビン毎に、前記第１の組のデータ値および前記第２の組のデータ値のうちのいくつのデータ値が前記ビンによって表されるかを示す、命令と
を備えている、非一過性のコンピュータ読み取り可能な媒体。
【請求項５】
一様なビン方式を用いてヒストグラムを構築するためのシステムであって、前記システムは、
複数の命令を実行するための１つ以上のプロセッサと、
前記１つ以上のプロセッサと通信している表示デバイスと、
前記１つ以上のプロセッサと通信している記憶デバイスであって、前記記憶デバイスは、前記複数の命令を保持している、記憶デバイスと
を備え、
前記複数の命令は、
第１の組のデータ値を受信する命令であって、前記第１の組のデータ値は、第１の時間間隔中の第１のタイプの測定を含む、命令と、
前記第１の組のデータ値におけるゼロの任意のデータ値を表すように第１のビンを割り当て、前記第１の組のビンの中の残りのビンの各々に、２つの異なる数に及ぶそれぞれの範囲を割り当てることによって、前記第１の組のデータ値を表すためにメモリの中に第１の組のビンを作成する命令であって、その結果、前記第１のビンは数０を表し、残りのビンはゼロではない数を表す、命令と、
前記第１の組のビンと前記第１の組のデータ値とを使用して、第１のヒストグラムを生成する命令であって、前記第１のヒストグラムは、前記第１の組のビンのビン毎に、前記第１の組のデータ値のうちのいくつのデータ値が前記ビンによって表されるかを示し、前記第１のヒストグラムは、前記第１の時間間隔に関するものである、命令と、
第２の組のデータ値を受信する命令であって、前記第２の組のデータ値は、第２の時間間隔中の前記第１のタイプの測定を含む、命令と、
前記第１の組のビンと前記第２の組のデータ値とを使用して、同一の組のビンを使用することによって前記第１のヒストグラムと第２のヒストグラムとが一様なビン方式を有するように、前記第２のヒストグラムを生成する命令であって、前記第２のヒストグラムは、前記第１の組のビンのビン毎に、前記第２の組のデータ値のうちのいくつのデータ値が前記ビンによって表されるかを示し、前記第２のヒストグラムは、前記第２の時間間隔に関するものである、命令と、
前記第１の時間間隔と前記第２の時間間隔とを被覆する第３の時間間隔に関する第３のヒストグラムを生成する命令であって、前記第３のヒストグラムは、前記第１の組のビンをさらに使用することによって、かつ、ビン毎ベースで前記第１のヒストグラムと前記第２のヒストグラムとを追加することによって、生成され、前記第３のヒストグラムは、前記第１の組のビンのビン毎に、前記第１の組のデータ値および前記第２の組のデータ値のうちのいくつのデータ値が前記ビンによって表されるかを示す、命令と、
前記表示デバイスを介して、前記第３のヒストグラムを表示する命令と
を含む、システム。
【請求項６】
前記第１の時間間隔または前記第２の時間間隔は、１分、５分、１時間、および１２時間の時間増分である、請求項５に記載のシステム。
【請求項７】
データ値が、毎分受信され、
毎分、１分ヒストグラムが作成され、５分ヒストグラムが再計算され、１時間ヒストグラムが再計算され、１２時間ヒストグラムが再計算される、請求項６に記載のシステム。
【請求項８】
前記第１の組のビンの中の各ビンは、前記ビンに割り当てられた前記それぞれの範囲に基づくビンサイズを有する、請求項１に記載の方法。
【請求項９】
前記第１の組のビンの前記残りのビンの前記それぞれの範囲は、同一のビット数によって表される、請求項１に記載の方法。
【請求項１０】
その前記第１のビン以外の前記第１の組のビンは、１．０×１０−１２７〜９．９×１０１２８の範囲を集合的に表す、請求項１に記載の方法。
【請求項１１】
その前記第１のビン以外の前記第１の組のビンは、対数線形ビンの組であり、前記対数線形ビンの組は、少なくとも第１のサブセットのビンと第２のサブセットのビンを含み、
前記第１のサブセットのビンの全てのビンは、第１の範囲の数のそれぞれの部分を表し、全てが第１のサイズを有し、
前記第２のサブセットのビンの全てのビンは、前記第１の範囲に隣接する第２の範囲の数のそれぞれの部分を表し、全てが第１のサイズより１０倍大きい第２のサイズを有し、
前記第２の範囲は、前記第１の範囲と前記第２の範囲とが同一の数のビンによって表されるように、前記第１の範囲のサイズより１０倍大きいサイズを有する、請求項１に記載の方法。
【請求項１２】
前記第３のヒストグラムの前記データ値の最小値は、ゼロより大きく、
前記方法は、
前記第３のヒストグラムを表示するための最小視覚限界を受信することであって、前記最小視覚限界は、前記第３のヒストグラムの前記データ値の前記最小値より大きい、ことと、
前記最小値と前記最小視覚限界との間の範囲によって被覆される前記第１の組のビンの全てのビンを組み合わせて単一のビンにすることによって、さらに、前記範囲によって被覆される前記ビンのうちの全てを破棄することによって、前記第３のヒストグラムを修正することであって、前記単一のビンは、前記組み合わせられたビンのそれぞれのデータ値の合計であるデータ値を有する、ことと、
表示デバイス上に前記修正された第３のヒストグラムを表示することと
をさらに含む、請求項１１に記載の方法。
【請求項１３】
前記第２のサブセットのビンの各々を表示するために割り当てられる前記表示デバイスのピクセル数は、前記第１のサブセットのビンの各々を表示するために割り当てられる前記表示デバイスのピクセル数の１０倍である、請求項１２に記載の方法。
【請求項１４】
前記第１の組のデータ値および前記第２の組のデータ値は、２次元または３次元のデータ値であり、
前記方法は、
前記２次元または３次元のデータ値のうちの１次元を表示するための色を使用することによって、前記第１のヒストグラム、前記第２のヒストグラム、または、前記第３のヒストグラムを表示すること
をさらに含む、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時系列ヒストグラムデータの効率的な記憶および表示に関する。
【背景技術】
【０００２】
ヒストグラムは、データサンプルの図形表現である。しかしながら、従来の設定では、時系列ヒストグラムを記憶して読み出すことは、非効率的であり得る。例えば、現在のシステムが時系列ヒストグラムを読み出すとき、システムに記憶されたヒストグラム情報は、多くの場合、データを視覚化するために必要とされる視覚空間を超えるであろう。データは、時間（ｘ）軸にわたって、ビン（ｙ）軸にわたって、または両方で、視覚空間を超え得る。したがって、効率的な技法が、時系列ヒストグラムデータを記憶し、読み出すために必要とされる。
【発明の概要】
【課題を解決するための手段】
【０００３】
本発明の実施形態は、システム、方法、および／またはコンピュータ読み取り可能な媒体を含み得る。一実施形態では、ヒストグラムを構築するために、方法が存在し得、方法は、１つ以上のプロセッサによって、データ値の組を受信することであって、データ値は、２次元または３次元であり、データ値は、少なくとも１つの測定を経時的に含む、ことと、１つ以上のプロセッサによって、メモリの中に複数のビンを作成することであって、複数のビンは、２有効桁底１０を使用する対数線形ビンである、ことと、１つ以上のプロセッサによって、数０を表すゼロビンを作成することと、１つ以上のプロセッサによって、データ値の組のゼロではない数を複数のビンの中へ配置することと、１つ以上のプロセッサによって、ビンを使用して、１つ以上のヒストグラムを生成することとを含み得る。
【０００４】
別の実施形態では、１つ以上のプロセッサによって実行されると、１つ以上のプロセッサにヒストグラムを構築するための動作を行わせる命令を備えている非一過性のコンピュータ読み取り可能な媒体が存在し得、コンピュータ読み取り可能な媒体は、データ値の組を受信する命令であって、データ値は、２次元または３次元であり、データ値は、少なくとも１つの測定を経時的に含む、命令と、メモリの中に複数のビンを作成する命令であって、複数のビンは、２有効桁底１０を使用する対数線形ビンである、命令と、数０を表すゼロビンを作成する命令と、データ値の組のゼロではない数を複数のビンの中へ配置する命令と、ビンを使用して、１つ以上のヒストグラムを生成する命令とを備えている。
【０００５】
さらに別の実施形態では、複数の命令を実行するための１つ以上のプロセッサと、１つ以上のプロセッサと通信している表示デバイスと、１つ以上のプロセッサと通信している記憶デバイスであって、記憶デバイスは、複数の命令を保持している、記憶デバイスとを備えている、ヒストグラムを構築するためのシステムが存在し得、複数の命令は、データ値の組を受信する命令であって、データ値は、２次元または３次元であり、データ値は、少なくとも１つの測定を経時的に含む、命令と、メモリの中に複数のビンを作成する命令であって、複数のビンは、２有効桁底１０を使用する対数線形ビンである、命令と、数０を表すゼロビンを作成する命令と、データ値の組のゼロではない数を複数のビンの中へ配置する命令と、ビンを使用して、１つ以上のヒストグラムを生成する命令と、表示デバイスを介して、１つ以上のヒストグラムを表示する命令とを含む。
本発明は、例えば、以下を提供する。
（項目１）
ヒストグラムを構築する方法であって、前記方法は、
１つ以上のプロセッサによって、データ値の組を受信することであって、前記データ値は、２次元または３次元であり、前記データ値は、少なくとも１つの測定を経時的に含む、ことと、
前記１つ以上のプロセッサによって、メモリの中に複数のビンを作成することであって、前記複数のビンは、２有効桁底１０を使用する対数線形ビンである、ことと、
前記１つ以上のプロセッサによって、数０を表すゼロビンを作成することと、
前記１つ以上のプロセッサによって、前記データ値の組のゼロではない数を前記複数のビンの中へ配置することと、
前記１つ以上のプロセッサによって、前記ビンを使用して、１つ以上のヒストグラムを生成することと
を含む、方法。
（項目２）
前記１つ以上のヒストグラムは、１分、５分、１時間、および１２時間の時間増分に基づいて生成される、項目１に記載の方法。
（項目３）
測定値が、毎分受信され、
毎分、１分ヒストグラムが作成され、５分ヒストグラムが再計算され、１時間ヒストグラムが再計算され、１２時間ヒストグラムが再計算される、
項目２に記載の方法。
（項目４）
最小視覚限界および最大視覚限界を受信することであって、
前記最小視覚限界の絶対値および前記最大視覚限界の絶対値から大きい方の数をとることによって、焦点最大値を計算することと、
前記最小視覚限界の絶対値および前記最大視覚限界の絶対値から最低の数をとることによって、焦点最小値を計算することと、
前記データ値の組からデータ最小値を計算することと、
前記データ値の組からデータ最大値を計算することと
をさらに含む、項目１に記載の方法。
（項目５）
１つ以上のヒストグラムを生成することは、
（ａ）前記データ最小値が０より大きい場合、
前記複数のビンのうちの第１のビンを作成し、対象となるビンを破棄することであって、前記第１のビンは、前記データ最小値から前記焦点最小値まで及ぶ、ことと、
前記複数のビンのうちの第２のビンを作成し、対象となるビンを破棄することであって、前記第２のビンは、１０＊焦点最大値から前記データ最大値まで及ぶ、ことと、
（ｂ）前記データ最大値が０より小さい場合、
−１＊前記焦点最小値から前記データ最大値まで及ぶ前記第１のビンを作成し、対象となるビンを破棄することと、
前記データ最小値から−１０＊前記焦点最大値まで及ぶ前記第２のビンを作成し、対象となるビンを破棄することと、
（ｃ）前記データ最小値が０以下であり、かつ前記データ最小値が−１＊前記焦点最小値以上である場合、
前記ゼロビンを保存することと、
前記データ最小値から０まで及ぶ前記第１のビンを作成し、対象となるビンを破棄することと、
０から前記焦点最小値まで及ぶ前記第２のビンを作成し、対象となるビンを破棄することと、
前記複数のビンのうちの第３のビンを作成し、対象となるビンを破棄することであって、前記第３のビンは、１０＊前記焦点最大値から前記データ最大値まで及ぶ、ことと、
（ｄ）前記データ最大値が０以上であり、かつ前記データ最大値が前記焦点最小値以下の場合、
前記ゼロビンを保存することと、
０から前記データ最大値まで及ぶ前記第１のビンを作成し、対象となるビンを破棄することと、
−１＊前記焦点最小値から０まで及ぶ前記第２のビンを作成し、対象となるビンを破棄することと、
前記データ最小値から−１０＊前記焦点最大値まで及ぶ前記第３のビンを作成し、対象となるビンを破棄することと、
（ａ）−（ｄ）が満たされない場合、
前記ゼロビンを保存することと、
−１＊前記焦点最小値から０まで及ぶ前記第１のビンを作成し、対象となるビンを破棄することと、
前記データ最小値から−１０＊焦点最大値まで及ぶ前記第２のビンを作成し、対象となるビンを破棄することと、
０から前記焦点最小値まで及ぶ前記第３のビンを作成し、対象となるビンを破棄することと、
前記複数のビンのうちの第４のビンを作成し、対象となるビンを破棄することであって、前記第４のビンは、１０＊前記焦点最大値から前記データ最大値まで及ぶ、ことと
を含む、項目４に記載の方法。
（項目６）
命令を備えている非一過性のコンピュータ読み取り可能な媒体であって、前記命令は、１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサにヒストグラムを構築するための動作を行わせ、前記コンピュータ読み取り可能な媒体は、
データ値の組を受信する命令であって、前記データ値は、２次元または３次元であり、前記データ値は、少なくとも１つの測定を経時的に含む、命令と、
メモリの中に複数のビンを作成する命令であって、前記複数のビンは、２有効桁底１０を使用する対数線形ビンである、命令と、
数０を表すゼロビンを作成する命令と、
前記データ値の組のゼロではない数を前記複数のビンの中へ配置する命令と、
前記ビンを使用して、１つ以上のヒストグラムを生成する命令と
を備えている、非一過性のコンピュータ読み取り可能な媒体。
（項目７）
前記１つ以上のヒストグラムは、１分、５分、１時間、および１２時間の時間増分に基づいて生成される、項目６に記載の非一過性のコンピュータ読み取り可能な媒体。
（項目８）
測定値が、毎分受信され、
毎分、１分ヒストグラムが作成され、５分ヒストグラムが再計算され、１時間ヒストグラムが再計算され、１２時間ヒストグラムが再計算される、
項目７に記載の非一過性のコンピュータ読み取り可能な媒体。
（項目９）
最小視覚限界および最大視覚限界を受信する命令と、
前記最小視覚限界の絶対値および前記最大視覚限界の絶対値から大きい方の数をとることによって、焦点最大値を計算する命令と、
前記最小視覚限界の絶対値および前記最大視覚限界の絶対値から最低の数をとることによって、焦点最小値を計算する命令と、
前記データ値の組からデータ最小値を計算する命令と、
前記データ値の組からデータ最大値を計算する命令と
をさらに備えている、項目６に記載の非一過性のコンピュータ読み取り可能な媒体。
（項目１０）
１つ以上のヒストグラムを生成することは、
（ａ）前記データ最小値が０より大きい場合、
前記複数のビンのうちの第１のビンを作成し、対象となるビンを破棄する命令であって、前記第１のビンは、前記データ最小値から前記焦点最小値まで及ぶ、命令と、
前記複数のビンのうちの第２のビンを作成し、対象となるビンを破棄する命令であって、前記第２のビンは、１０＊焦点最大値から前記データ最大値まで及ぶ、命令と、
（ｂ）前記データ最大値が０より小さい場合、
−１＊前記焦点最小値から前記データ最大値まで及ぶ前記第１のビンを作成し、対象となるビンを破棄する命令と、
前記データ最小値から−１０＊前記焦点最大値まで及ぶ前記第２のビンを作成し、対象となるビンを破棄する命令と、
（ｃ）前記データ最小値が０以下であり、かつ前記データ最小値が−１＊前記焦点最小値以上である場合、
前記ゼロビンを保存する命令と、
前記データ最小値から０まで及ぶ前記第１のビンを作成し、対象となるビンを破棄する命令と、
０から前記焦点最小値まで及ぶ前記第２のビンを作成し、対象となるビンを破棄する命令と、
前記複数のビンのうちの第３のビンを作成し、対象となるビンを破棄する命令であって、前記第３のビンは、１０＊前記焦点最大値から前記データ最大値まで及ぶ、命令と、
（ｄ）前記データ最大値が０以上であり、かつ前記データ最大値が前記焦点最小値以下の場合、
前記ゼロビンを保存する命令と、
０から前記データ最大値まで及ぶ前記第１のビンを作成し、対象となるビンを破棄する命令と、
−１＊前記焦点最小値から０まで及ぶ前記第２のビンを作成し、対象となるビンを破棄する命令と、
前記データ最小値から−１０＊前記焦点最大値まで及ぶ前記第３のビンを作成し、対象となるビンを破棄する命令と、
（ａ）−（ｄ）が満たされない場合、
前記ゼロビンを保存する命令と、
−１＊前記焦点最小値から０まで及ぶ前記第１のビンを作成し、対象となるビンを破棄する命令と、
前記データ最小値から−１０＊焦点最大値まで及ぶ前記第２のビンを作成し、対象となるビンを破棄する命令と、
０から前記焦点最小値まで及ぶ前記第３のビンを作成し、対象となるビンを破棄する命令と、
前記複数のビンのうちの第４のビンを作成し、対象となるビンを破棄する命令であって、前記第４のビンは、１０＊前記焦点最大値から前記データ最大値まで及ぶ、命令と
をさらに備えている、項目９に記載の非一過性のコンピュータ読み取り可能な媒体。
（項目１１）
ヒストグラムを構築するためのシステムであって、前記システムは、
複数の命令を実行するための１つ以上のプロセッサと、
前記１つ以上のプロセッサと通信している表示デバイスと、
前記１つ以上のプロセッサと通信している記憶デバイスであって、前記記憶デバイスは、前記複数の命令を保持している、記憶デバイスと
を備え、
前記複数の命令は、
データ値の組を受信する命令であって、前記データ値は、２次元または３次元であり、前記データ値は、少なくとも１つの測定を経時的に含む、命令と、
メモリの中に複数のビンを作成する命令であって、前記複数のビンは、２有効桁底１０を使用する対数線形ビンである、命令と、
数０を表すゼロビンを作成する命令と、
前記データ値の組のゼロではない数を前記複数のビンの中へ配置する命令と、
前記ビンを使用して、１つ以上のヒストグラムを生成する命令と、
前記表示デバイスを介して、前記１つ以上のヒストグラムを表示する命令と
を含む、システム。
（項目１２）
前記１つ以上のヒストグラムは、１分、５分、１時間、および１２時間の時間増分に基づいて生成される、項目１１に記載のシステム。
（項目１３）
測定値が、毎分受信され、
毎分、１分ヒストグラムが作成され、５分ヒストグラムが再計算され、１時間ヒストグラムが再計算され、１２時間ヒストグラムが再計算される、
項目１２に記載のシステム。
（項目１４）
前記複数の命令は、
最小視覚限界および最大視覚限界を受信する命令と、
前記最小視覚限界の絶対値および前記最大視覚限界の絶対値から大きい方の数をとることによって、焦点最大値を計算する命令と、
前記最小視覚限界の絶対値および前記最大視覚限界の絶対値から最低の数をとることによって、焦点最小値を計算する命令と、
前記データ値の組からデータ最小値を計算する命令と、
前記データ値の組からデータ最大値を計算する命令と
をさらに含む、項目１１に記載のシステム。
（項目１５）
１つ以上のヒストグラムを生成することは、
（ａ）前記データ最小値が０より大きい場合、
前記複数のビンのうちの第１のビンを作成し、対象となるビンを破棄する命令であって、前記第１のビンは、前記データ最小値から前記焦点最小値まで及ぶ、命令と、
前記複数のビンのうちの第２のビンを作成し、対象となるビンを破棄する命令であって、前記第２のビンは、１０＊焦点最大値から前記データ最大値まで及ぶ、命令と、
（ｂ）前記データ最大値が０より小さい場合、
−１＊前記焦点最小値から前記データ最大値まで及ぶ前記第１のビンを作成し、対象となるビンを破棄する命令と、
前記データ最小値から−１０＊前記焦点最大値まで及ぶ前記第２のビンを作成し、対象となるビンを破棄する命令と、
（ｃ）前記データ最小値が０以下であり、かつ前記データ最小値が−１＊前記焦点最小値以上である場合、
前記ゼロビンを保存する命令と、
前記データ最小値から０まで及ぶ前記第１のビンを作成し、対象となるビンを破棄する命令と、
０から前記焦点最小値まで及ぶ前記第２のビンを作成し、対象となるビンを破棄する命令と、
前記複数のビンのうちの第３のビンを作成し、対象となるビンを破棄する命令であって、前記第３のビンは、１０＊前記焦点最大値から前記データ最大値まで及ぶ、命令と、
（ｄ）前記データ最大値が０以上であり、かつ前記データ最大値が前記焦点最小値以下の場合、
前記ゼロビンを保存する命令と、
０から前記データ最大値まで及ぶ前記第１のビンを作成し、対象となるビンを破棄する命令と、
−１＊前記焦点最小値から０まで及ぶ前記第２のビンを作成し、対象となるビンを破棄する命令と、
前記データ最小値から−１０＊前記焦点最大値まで及ぶ前記第３のビンを作成し、対象となるビンを破棄する命令と、
（ａ）−（ｄ）が満たされない場合、
前記ゼロビンを保存する命令と、
−１＊前記焦点最小値から０まで及ぶ前記第１のビンを作成し、対象となるビンを破棄する命令と、
前記データ最小値から−１０＊焦点最大値まで及ぶ前記第２のビンを作成し、対象となるビンを破棄する命令と、
０から前記焦点最小値まで及ぶ前記第３のビンを作成し、対象となるビンを破棄する命令と、
前記複数のビンのうちの第４のビンを作成し、対象となるビンを破棄する命令であって、前記第４のビンは、１０＊前記焦点最大値から前記データ最大値まで及ぶ、命令と
をさらに備えている、項目１４に記載のシステム。
【図面の簡単な説明】
【０００６】
本発明の前述および他の特徴ならびに利点は、類似参照番号が、概して、同一、機能的に類似する、および／または構造的に類似する要素を示す、添付図面に図示されるように、種々の実施形態の以下のより具体的な説明から明白となるであろう。参照番号の中の最初の数字は、要素が最初に出現する図面を示す。別様に示されない限り、添付図面は、一定の縮尺ではない。
【図１】図１は、１１個のユニットのサンプルヒストグラムを描写する。
【図２】図２は、ｙ軸上の測定値およびｘ軸上の時間測定を伴う、サンプル時系列を描写する。
【図３】図３Ａ−３Ｄは、色濃度を使用してヒストグラムを描写する。
【図４】図４は、経時的な測定を表す、対照垂直ヒストグラムを描写する。
【図５】図５は、例示的固定ビンサイズを描写する。
【図６】図６は、多重ビン集約の実施例を描写する。
【図７】図７は、本発明の例証的実施形態において行われる処理を説明する、例示的フローチャートを描写する。
【図８】図８は、本発明の実施形態を実装する際に使用され得る、例示的コンピュータ処理システムを描写する。
【発明を実施するための形態】
【０００７】
例証的実施形態が、以下で詳細に議論される。具体的実施形態が議論されるが、これは例証目的のみで行われることに留意されたい。実施形態を説明および図示する際に、具体的用語が明確にするために採用される。しかしながら、実施形態は、そのように選択される具体的用語に限定されることを意図していない。当業者は、実施形態の精神および範囲から逸脱することなく、他の構成要素ならびに構成が使用され得ることを認識するであろう。各具体的要素は、類似した目的を達成するように同様に動作する全ての技術的均等物を含むことを理解されたい。本明細書に説明される実施例および実施形態は、非限定的実施例である。
【０００８】
さらに、以下で詳述される実施形態は、新しい実施形態に組み込まれ、および／または以下で説明される実施形態の種々の特徴は、新しい実施形態を形成するように組み合わせられ得る。
【０００９】
本明細書で引用される全ての出版物は、参照することによってそれらの全体として本明細書に組み込まれる。本明細書で使用されるように、用語「１つの（ａ）」は、１つ以上のものを指す。用語「を含む」、「例えば」、「等」、「例えば（ｅ．ｇ．）」、「であり得る」等は、列挙された実施例を含むが、それらに限定されないように意図されている。
【００１０】
図１は、１１個のユニットまたはビンのサンプルヒストグラムを描写する。ヒストグラムは、データサンプルの高密度表現であり、サンプル自身が一緒にグループ化され得る（精度を失う）。例えば、０．５、０．７、２．０、２．９、７、および９．２という数字の組が与えられると、人は、０〜１０の空間を１の単位に分割し得る。図１のヒストグラムは、サイズ１の１１個の「ビン」、すなわち、［０，１）、［１，２）、［２，３）、［３，４）、［４，５）、［５，６）、［６，７）、［７，８）、［８，９）、および［９，１０）を描写する。ビンの数およびサイズは、変化し得る。図１に示されるように、［０，１）および［２，３）の各々の中に数が２、ならびに［７，８）および［９，１０）の各々の中に数が１ある。
【００１１】
図２は、ｙ軸上に測定、ｘ軸上に得られた時間測定を伴うサンプル時系列を描写する。時系列は、経時的な測定の組である。この例では、３０分にわたって毎分、特定の動作（例えば、ウェブページをロードすること）がどれだけかかったかが測定されている。普通の視覚表現（線グラフ）は、図２に示されるように、ｙ軸上に測定、ｘ軸上に時間を配置するであろう。
【００１２】
ヒストグラムはまた、２次元像でデータの３次元を表示し得る。例えば、時間は、ｘ軸であり得、測定値は、ｙ軸であり得、第３の次元は、色濃度を使用して表され得る。
【００１３】
図３Ａは、値を表すために色濃度を使用してヒストグラムを描写する。軸に沿って１８個のビンがある。値がビンの中で出現する頻度は、ｙ軸に沿っている。所与のビンにおける大きな集団は、より高濃度の（例えば、暗い）色表現をもたらす。
【００１４】
図３Ｂは、値を表すために色濃度を使用する別のヒストグラムを描写する。図３Ｂは、棒高さを使用することなく、値を表すために色濃度を使用するヒストグラムの例を描写する。したがって、頻度は、ｙ軸から除去される。集団は、明示的な棒高さを伴わずに色濃度に基づいて理解されることができる。
【００１５】
図３Ｃは、空間を圧縮するように高さが縮小されている、図３Ｂのヒストグラムを描写する。
【００１６】
図３Ｄは、「垂直ヒストグラム」として、反時計回りに９０度回転させられた図３Ｃの縮小高ヒストグラムを描写する。
【００１７】
図４は、経時的な測定を表す、並んだ垂直ヒストグラムを描写する。例えば、図３Ａ−３Ｄの垂直色濃度変換がヒストグラムに適用されると、経時的な多くの垂直ヒストグラムが、それらを並んで配置することによって表され得、大量のデータが、限定された空間の中で視覚的に表示され得る。これは、限定された空間の中で大量のデータを視覚的に表示するための１つの技法であり得る。
【００１８】
従来の設定では、（例えば、視覚化のために）時系列ヒストグラムを記憶して読み出すことは、非効率的であり得る。例えば、時系列ヒストグラムを読み出すとき、システムに記憶されたヒストグラム情報は、多くの場合、データを視覚化するために利用可能な視覚空間を超える。データは、時間（ｘ）軸にわたって視覚空間を超え得るか、またはビン（ｙ）軸にわたって視覚空間を超え得るか、もしくは両方である。
【００１９】
例えば、ヒストグラムが２年間にわたり１分ベースで記憶される場合、１００万個より多いヒストグラムが記憶されるであろう。ある少数の時系列ヒストグラムのみが表示されることができる、コンピュータモニタまたは他のディスプレイ等の限定された視覚空間では、視覚化のためのより大きい時間間隔への１分ヒストグラムの集約が必要とされ得る。例えば、視覚空間は、１，５００個の垂直ヒストグラムを表示することができると仮定する。次いで、７２０個の１分ヒストグラムの群が、たった１つの１２時間ヒストグラムに集約され得る。２年にわたる１２時間ヒストグラムの数は、指定視覚空間内に適合し得る約１，４６０である。したがって、データの一部は、視覚化のために必要とされず、視覚化されたときに識別されることができないヒストグラムを伝送および縮小することは、非効率的である。
【００２０】
別の例では、データの組は、非常に小さい測定と非常に大きい測定とを有し得（例えば、測定１，０００，０００、９００，０００、０．１、および０．１３）、視覚化において小さい値を区別することは、可能ではない。限定された視覚空間を考慮すると、値０．１および０．１３の線形表現は、視覚的にあまりにも接近し過ぎて、識別されることができないであろう。したがって、０．１値と０．１３値との間の差は、１，０００，０００と９００，０００との間の差とは対照的に区別できないであろう。視覚化されるときに識別されることができないビンを独自に伝送することは、非効率的であり得る。
【００２１】
（時間領域効率）
以前、収集されたデータは、単一のヒストグラム（経時的に一連のヒストグラムのそれに対してではなく）の誤差低減および明確な視覚化に対して最適化するために分析された。したがって、以前のアプローチは、ビニングへの一貫したアプローチが欠けていた。ヒストグラムがより大きい時間単位に集約されなかったので、ビニングの一貫性は必要とされなかった。
【００２２】
しかしながら、一実施形態では、時間領域効率が達成され得る。ビン選択は、例えば、２つのヒストグラムを集約することを可能にするために、同一であり得る。したがって、ビン測定は、（１）固定サイズビン記述、（２）満足できる有用なレベルの精度を維持しながら、測定規模を問わない普遍的適合性、および（３）ビン空間を制御しながら集約する能力を維持し得る。
【００２３】
固定サイズビン記述は、ビン［ｂｅｇｉｎ，ｅｎｄ）を固定ビット幅（例えば、１６ビット）表現にサイズ決定することによって達成され得る。固定ビット幅は、例えば、より効率的なキー検索を可能にし得る。ビンサイズは、データ値にかかわらず固定され得る（例えば、２有効桁底１０）。これは、例えば、異なるデータ流にわたって使用され得る一様なビン方式を作成し、同一のキー空間を保つ。一実施形態では、固定キー空間が提供され得る。固定キー空間は、固定ビン以上であり、合計ビン数に対する制限であり得る。固定キー空間は、１．０×１０＾−１２７〜９．９×１０＾１２８、０、および−１．０×１０＾−１２７〜−９．９×１０＾１２８もの大量を表し得、それによって、キー表現を１６ビットに制限する。
【００２４】
固定キー空間は、例えば、（１）効率的、および（２）一貫して誤差を追跡する様式の両方で、７２０個の１分ヒストグラムを単一の１２時間ヒストグラムに集約することを可能にする。ヒストグラムは、ヒストグラム間のキー空間が同一であるので、より効率的に集約され得る。例えば、２つのヒストグラムが、単純に一緒に加算され得る（例えば、ビン毎に）。キー空間が異なった場合、数学的変換が必要とされ、誤差への影響がさらに複雑になるであろう。加えて、種々のデータ流にわたる一様なビニングは、高度に圧縮可能なヒストグラムも提供する。例えば、キー空間の制約された使用は、より良好な圧縮につながる。
【００２５】
重複するが等しくない異なるビン選択は、サンプルがそれらの内側に配置されるときに導入される異なる誤差を有するので、異なるビン選択を有するヒストグラムを組み合わせることは、問題であり得る。以前は、新しい集約ビンが作成されたとき、ある選択された分布仮定を使用して、サンプルを再ビン化する技法が行われなければならない。その技法は、ビンが実に大きい場合（例えば、有用ではない）、または、ビンは小さいが、サンプルが完全に置き間違えら得る場合（例えば、起こり得る誤差がビン自体を超えるであろう）、可能ではないこともある。
【００２６】
一実施形態では、満足できる有用なレベルの精度を維持しながら、測定規模を問わない普遍的適合性が、以下を通して達成され得る。最初に、数字ゼロが、正確なビンとして扱われ得る（例えば、ゼロに等しい全ての測定）。ビンゼロは、値ゼロと同等を共有する全ての測定を含むとして定義され得る。ゼロではない数は、底１０において２有効桁を伴う有界数字であるビンで表され得る。これは、人間の理解および視覚化を補助する各ビンの組（例えば、集合的に１０＾ｎを掛けた［１．０，１．１）、［１．１，１．２）、・・・［９．９，１０）等のビンの大型の組）内で線形粒度を維持しながら、対数的に幅広い規模空間（すなわち、１０＾−１２８〜１０＾１２７）の数を表すという特性を有する。ビンは、２有効桁底１０を使用する対数線形ビンであり得、したがって、最大誤差は、５％であり、平均誤差は、約０．６５％である。底または有効桁が変化すると、誤差も変化するであろう。
【００２７】
ビンは、離散数字線上の１つの点から次の点までであり得、ゼロに最も近い点上の閉鎖された間隔と、ゼロから最も遠い数字上の開放した間隔（例えば、［１．７，１．８）、［−３４００，−３５００）、［８．２×１０＾１４，８．３×１０＾１４））とを伴う。２つのビン（２つの隣接するビン）、例えば、［１．０，１．１）および［１．１，１．２）が接触している場合、ビンは、一方しか１．１を表すことができない（例えば、重複がない）。両方のビンが閉鎖されている場合、両方ともそれらが接触している点を表すであろう。両方のビンが開放している場合、いずれもそれらが接触している点を表さないであろう。したがって、１つのビンが開放していなければならず、１つのビンが閉鎖されていなければならない。いずれのビンに１．１の値が入るであろうかを決定するために、慣例が必要とされる。したがって、閉鎖された間隔は点を含み、開放した間隔は含まない。したがって、一実施形態では、ゼロに最も近い点が閉鎖される。Ｍａｔｈｓｑｕａｒｅでは、例えば、角括弧［］は、閉鎖（含む）を示し、丸括弧（）は、開放（除外する）を示す。
【００２８】
図５は、底１０において２有効桁を使用するビン選択を描写し、各指数範囲の最低１０％が、どのようにして隣接するより小さい指数によって実際に表されるかを図示する。加えて、図中の最後の指数ビン範囲は、特別な値として０を描写し、より小さい測定は、計上されることができない。これは、１．０×１０＾−１２７〜９．９×１０＾１２８の対数線形ビン選択である。
【００２９】
離散表現を考慮すると、選択されたヒストグラムは、ビン空間を恣意的に拡張することなく集約され得、それは、ビン空間を制御しながら、集約する能力（例えば、加算および減算を介して）を提供し得る。これは、物理的システム（例えば、規定の制約を有するシステム）のための高度に制御されたビン空間の明確に異なる現実世界の利点を有し得る。図６は、多重ビン集約の実施例を描写する。例えば、（ｂ）のヒストグラムを追加された（ａ）のヒストグラムは、（ｃ）のヒストグラムに等しい。
【００３０】
以下に示される技法は、読み出し時に必要な情報アクセスを減少させるために、集約されたヒストグラムデータ（例えば、時間）を計算して記憶する。
【００３１】
一実施形態では、ディスプレイは、所望されるヒストグラムの数を伝え得、記憶システムは、要求されたデータをより長い期間に動的に集約し得る。例えば、全てのヒストグラムが１分毎に記憶される、２年ヒストグラム時系列を表示することは、視覚化システムに返信される１，０５１，２００個のヒストグラムを必要とするであろう。代わりに、例えば、ディスプレイは、１，０００個のヒストグラムを要求し得、それは、記憶システムが、２年のうちの毎日に対して、［００：００〜１１：５９］の間の７２０個の１分ヒストグラムを１つの１２時間ヒストグラムに包含的に組み込み、［１２：００〜２３：５９］の間の７２０個の１分ヒストグラムを１つの１２時間ヒストグラムに包含的に組み込むことをもたらし、従来の技法を用いた１，０５１，２００の代わりに、１，４６０個のヒストグラムを視覚化システムにもたらし得る。この新しい表現は、従来の技法を用いた１０５０００％の無駄とは対照的に、４６％の無駄を表す。
【００３２】
一実施形態では、ディスプレイは、水平解像度を理解し、いくつのピクセルが垂直ヒストグラムをレンダリングするために利用可能であるかを決定し得る。この「水平ビューポートサイズ」は、要求されるヒストグラムの数であり得る（例えば、水平ピクセルの数以下の数）。ヒストグラム送達技法は、要求された時間範囲に対して返信されるヒストグラムの数が、「水平ビューポートサイズ」にほぼ近いがそれ未満であるレベルまで、ビンの数を集約しようとし得る（例えば、ほぼ近いように４倍以内である）。
【００３３】
一実施形態では、要求されるビンの数を決定するために、利用可能な視覚空間が、種々の技法を通して、ディスプレイ自体から引き出されるか、または要求され得る。例えば、ウェブブラウザでは、ビューポートで利用可能な水平および垂直ピクセルの数は、Ｊａｖａ（登録商標）ｓｃｒｉｐｔルーチンを呼び出すことによってアクセス可能であり得る。
【００３４】
一実施形態では、ヒストグラムの数は、水平ピクセルの数未満であり得る。それより大きい任意の数が視覚化中に失われ得るからである。所望されるビンの数は、垂直ピクセルの数未満であり得る。それより大きい任意の数が視覚化中に失われ得るからである。
【００３５】
一実施形態では、ヒストグラムの数は、水平ピクセルの数のおよそ半分である。例えば、１０００ピクセルの水平空間がある場合、約５００個のヒストグラムが作成され得る。そして、６００ピクセルの垂直空間がある場合、３００個のビンが使用され得る。
【００３６】
一実施形態では、微細粒度ヒストグラムは、データの視覚化を加速するために、恣意的な期間に対して逐次的に広い粒度のヒストグラムに自動的に集約され得る（例えば、１分、５分、１時間、および１２時間集約を記憶する）。例えば、１分ヒストグラムが記憶される度に、包含する５分ヒストグラムが再計算されて記憶され、それが包含する１時間ヒストグラムが再計算され記憶されるようにし、それが包含する１２時間ヒストグラムが再計算され記憶されるようにする。したがって、データが受信されるにつれて、ヒストグラムデータが事前計算される。最大の実行可能な事前計算されたヒストグラム蓄積は、上で選択される。ユーザは、どれだけ頻繁にそれらが使用されるであろうかをユーザが考えるかに基づいて、最大の実行可能な事前計算されたヒストグラムを提供し得る。例えば、ユーザは、どれだけの期間にデータを保持するであろうかを考え、どれだけ頻繁に長い期間が視覚化されるであろうかに基づいて、最大の実行可能な事前計算されたヒストグラムを提供し得る。
【００３７】
（ビン領域効率）
本明細書に説明される技法の別の利点は、視覚化パラメータに基づいて、より小さい情報範囲内でヒストグラムを表す能力である。
【００３８】
人間は、多くの場合、対数的に拡大縮小されたデータを不正確に解釈し、直線的に拡大縮小されたデータでより効果的に動作する傾向がある。広い規模空間および線形表現を考慮すると、過度に多くのデータがあり、表示することができない（例えば、４５，３９１個のビン）。データを視覚化するとき、データが有用に表示され得る解像度が決定され得る。例えば、現在利用可能なディスプレイ上で、人間は、外部装置がないと、１，０００個を超えるヒストグラムビンを区別することができない。以下で説明される技法は、直線的に拡大縮小された表現での視覚送達のためにヒストグラムを最適化し得る動的再ビニングの方法を提供し、そうでなければディスプレイ上で可視的ではないビンが単一のビンに組み込まれ得る。
【００３９】
一実施形態では、特定のユーザ供給最小および最大視覚限界が提供され得る。例えば、ピクセルの数およびディスプレイのサイズが、視覚限界に影響を及ぼし得る。最小および最大視覚限界の絶対値のうちの大きい方が、焦点最大値と見なされる。一例では、それらの各々に１０＾ｎを掛ける、［１．０，１．１）、［１．１，１．２）、・・・［９．９，１０）のような９０個のビンがあり得る。焦点最大値を含む対数ビンの組（例えば、ｎという特定の値に対する９０個のビン）が保存される（例えば、不変であり、これらのビンは、効率のために他のビンと組み合わせられないであろう）。より小さい対数ビンの組（例えば、１０＾ｘの対数ビン、ここで、ｘ＜保存されたセットからのｎ）は、ビンの総数が利用可能な垂直視覚空間を満たすか、または超えるまで保存され得（例えば、各対数の組に９０個のビットで、一組および周辺の組が保存される場合、２７０個のビンが保存され得る）、最小対数ビンの組（例えば、利用可能な垂直ピクセルの数、その中にサンプルを伴う最小ビン、またはユーザ供給最小値に基づく）は、焦点最小値と見なされる。最小値＜＝０＜＝最大値である場合、特別な０ビンが保存される。例：０．０２、０．０４、１．８、１１、７６、８７３というデータの組を考慮すると、これを対数線形ヒストグラムにおいて、以下のバケット、すなわち、［０２，０．０３）、［０４，０．０５）、［１．８，１．９）、［１１，１２）、［７６，７７）、および［８７０，８８０）の各々の中の１つのサンプルとして表すであろう。データの組の焦点最大値は、８８０（最大ビンの最上位）である。ユーザ供給最大値は、これを無効にし、我々に１００というユーザ供給焦点最大値を仮定させ得る。１０００ピクセルの垂直空間を仮定すると、各々、１０ピクセルの垂直空間でビン［１１，１２）および［７６，７７）を表示することができる（合計で９００ピクセルの垂直空間を消費する、（ビン［１０，１１）から［９９，１００））。これは、１０未満のビンのために１００ピクセルを残す。ビン［１．０，１．１）から［９．９，１０）は、各々、１ピクセルの垂直空間、合計９０ピクセルを消費する。これは、全てのより小さいビンを表すように１０ピクセルを残す。したがって、ビン［０２，０．０３）から［０．９９，１．０）の各々は、０．１ピクセルを割り当てられ、これは、焦点最小値を１．０に設定すると視覚化することが可能ではない。したがって、［０．２，１．０）の間の全てのビンを、全ての包含サンプルの合計を包含する単一のビンに組み込み、それを単一のビンとして表示するであろう。
【００４０】
図７は、本発明の例証的実施形態において行われる処理を説明する例示的フローチャートを描写する。７１０では、データの組が受信またはアクセスされ得る。７１０から、フローは、７２０に移動し得る。
【００４１】
７２０では、最小および最大視覚限界が受信され得る。焦点最大値は、最小視覚限界または最大視覚限界の絶対値のうちの大きい方から決定され得る。７２０から、フローは、７３０に移動し得る。
【００４２】
７３０では、データ最小値（例えば、データの組の中の最小の値）が０を上回るかどうか決定が行われ得る。該当する場合、［データ最小値、焦点最小値）を使用して、新しいビンが作成され得、対象となるビンが、ステップ７８０のように破棄され得る。新しいビンが作成され得、［データ最小値、焦点最小値）の間のビンの中の全てのデータが、新たに作成されたビンの中に配置され得る。例えば、（１０＊データ最小値、焦点最小値）を使用して、新しいビンが作成され得、対象となるビンが、ステップ７８０のように破棄され得る。７３０から、フローは、７４０に移動し得る。
【００４３】
７４０では、データ最大値が０未満であるかどうか決定が行われ得る。該当する場合、（−１＊焦点最小値、データ最大値）を使用して、新しいビンが作成され得、対象となるビンが、ステップ７８０のように破棄され得、（データ最小値、−１０＊焦点最大値）を使用して、新しいビンが作成され得、対象となるビンが、ステップ７８０のように破棄され得る。７４０から、フローは、７５０に移動し得る。
【００４４】
７５０では、データ最小値が０以下、かつデータ最小値が−１＊焦点最小値以上かどうか決定が行われ得る。該当する場合、（１）０ビンが保存され、（２）（データ最小値、０）を使用して、新しいビンが作成され得、対象となるビンが、ステップ７８０のように破棄され得、（３）（０、焦点最小値）を使用して、新しいビンが作成され得、対象となるビンが、ステップ７８０のように破棄され得、（４）（１０＊焦点最大値、データ最大値）を使用して、新しいビンが作成され得、対象となるビンが、ステップ７８０のように破棄され得る。７５０から、フローは、７６０に移動し得る。
【００４５】
７６０では、データ最大値が焦点最小値以下、かつデータ最大値が０以上かどうか決定が行われ得る。該当する場合、（１）０ビンが保存され、（２）（０、データ最大値）を使用して、新しいビンが作成され得、対象となるビンが、ステップ７８０のように破棄され得、（３）（−１＊焦点最小値、０）を使用して、新しいビンが作成され得、対象となるビンが、ステップ７８０のように破棄され得、（４）（データ最小値、−１０＊焦点最大値）を使用して、新しいビンが作成され得、対象となるビンが、ステップ７８０のように破棄され得る。７６０から、フローは、７７０に移動し得る。
【００４６】
７７０では、７３０、７４０、７５０、または７６０の決定のうちのいずれにも該当しない場合、（１）０ビンが保存され、（２）（−１＊焦点最小値、０）を使用して、新しいビンが作成され得、対象となるビンが、ステップ７８０のように破棄され得、（３）（データ最小値、−１０＊焦点最大値）を使用して、新しいビンが作成され得、対象となるビンが、ステップ７８０のように破棄され得、（４）（０、焦点最小値）を使用して、新しいビンが作成され得、対象となるビンが、ステップ７８０のように破棄され得、（５）（１０＊焦点最大値、データ最大値）を使用して、新しいビンが作成され得る。７７０から、フローは終了し得る。７３０、７４０、７５０、または７６０の決定の各々は、排他的であり得ることに留意されたい。
【００４７】
一実施形態では、記憶されたヒストグラムは、最小および最大値について経時的に再評価され得る。これらの最小および最大値は、７２０において上で説明されるように供給された場合のように使用され得る。例えば、ユーザまたはビューア選択限界が受信されなかった場合、最小および最大値は、データの組自体から計算され得る。
【００４８】
図８は、本発明の実施形態を実装することにおいて使用され得る、例示的コンピュータ処理システムを描写する。具体的には、図８は、例えば、限定されないが、独立型、クライアント、サーバデバイス、またはシステムコントローラ等のコンピュータデバイスで使用され得るコンピュータシステム８００の例証的実施形態を描写する。図８は、クライアントデバイス、サーバデバイス、コントローラ等として使用され得るコンピュータシステムの例証的実施形態を描写する。本発明（またはその任意の部分もしくは機能）は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせを使用して実装され得、１つ以上のコンピュータシステムもしくは他の処理システムで実装され得る。実際に、１つの例証的実施形態では、本発明は、本明細書に説明される機能性を実行することが可能な１つ以上のコンピュータシステムを対象とし得る。本発明を実装するために有用な例証的コンピュータシステムのブロック図の例証的実施形態を描写するコンピュータシステム８００の実施例が、図８に示される。具体的には、図８は、例証的実施形態では、例えば（限定されないが）、ＭＩＣＲＯＳＯＦＴ（登録商標）  Ｃｏｒｐｏｒａｔｉｏｎ（Ｒｅｄｍｏｎｄ，ＷＡ，Ｕ．Ｓ．Ａ）から入手可能なＭＩＣＲＯＳＯＦＴ（登録商標）  ＷＩＮＤＯＷＳ（登録商標）  ＮＴ／９８／２０００／ＸＰ／Ｖｉｓｔａ／Ｗｉｎｄｏｗｓ（登録商標）  ７／Ｗｉｎｄｏｗｓ（登録商標）  ８等、またはＡｐｐｌｅ（登録商標）（Ｃｕｐｅｒｔｉｎｅ，ＣＡ，Ｕ．Ｓ．Ａ）から入手可能なＭＡＣ（登録商標）ＯＳもしくはｉＯＳを実行するＡｐｐｌｅコンピュータ等のオペレーティングシステムを実行するパーソナルコンピュータ（ＰＣ）システム、または例えば、ｉＯＳ、Ａｎｄｒｏｉｄ、もしくはＷｉｎｄｏｗｓ（登録商標）モバイルを実行するスマートフォンであり得、例えば（限定されないが）、例示的コンピュータ８００を図示する。しかしながら、本発明は、これらのプラットフォームに限定されない。代わりに、本発明は、任意の適切なオペレーティングシステムを実行する任意の適切なコンピュータシステム上で実装され得る。１つの例証的実施形態では、本発明は、本明細書で議論されるように動作するコンピュータシステム上で実装され得る。例証的コンピュータシステム、すなわち、コンピュータ８００が、図８に示されている。例えば（限定されないが）、コンピュータデバイス、通信デバイス、電話、携帯情報端末（ＰＤＡ）、ｉＰｈｏｎｅ（登録商標）、３Ｇ／４Ｇ無線デバイス、無線デバイス、パーソナルコンピュータ（ＰＣ）、ハンドヘルドＰＣ、ラップトップコンピュータ、スマートフォン、モバイルデバイス、ネットブック、ハンドヘルドデバイス、携帯用デバイス、双方向テレビデバイス（ｉＴＶ）、デジタルビデオレコーダ（ＤＶＲ）、クライアントワークステーション、シンクライアント、シッククライアント、ファットクライアント、プロキシサーバ、ネットワーク通信サーバ、遠隔アクセスデバイス、クライアントコンピュータ、サーバコンピュータ、ピアツーピアデバイス、ルータ、ウェブサーバ、データ、メディア、オーディオ、ビデオ、テレフォニまたはストリーミング技術サーバ��の本発明の他の構成要素も、図８に示されるもの等のコンピュータを使用して実装され得る。例証的実施形態では、サービスが、例えば、双方向テレビデバイス（ｉＴＶ）、ビデオオンデマンドシステム（ＶＯＤ）を使用して、デジタルビデオレコーダ（ＤＶＲ）、および／または他のオンデマンド視聴システムを介して、要求に応じて提供され得る。コンピュータシステム８００は、上記で説明されるようなネットワークおよび構成要素を実装するために使用され得る。
【００４９】
コンピュータシステム８００は、例えば、限定されないが、プロセッサ８０４等の１つ以上のプロセッサを含み得る。プロセッサ８０４は、通信インフラストラクチャ８０６（例えば、限定されないが、通信バス、クロスオーバーバー、相互接続、またなネットワーク等）に接続され得る。プロセッサ８０４は、命令を解釈して実行し得る任意のタイプのプロセッサ、マイクロプロセッサ、または処理論理（例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ））を含み得る。プロセッサ８０４は、単一のデバイス（例えば、単一コア）および／またはデバイス群（例えば、マルチコア）を備え得る。プロセッサ８０４は、１つ以上の実施形態を実装するように構成されるコンピュータ実行可能命令を実行するように構成される論理を含み得る。命令は、メインメモリ８０８または二次メモリ８１０の中に常駐し得る。プロセッサ８０４は、デュアルコアプロセッサまたはマルチコアプロセッサ等の複数の独立コアを含み得る。プロセッサ８０４は、専用グラフィックスカード、統合グラフィックスソリューション、および／またはハイブリッドグラフィックスソリューションの形態であり得る１つ以上のグラフィックス処理ユニット（ＧＰＵ）も含み得る。種々の例証的ソフトウェア実施形態が、本例証的コンピュータシステムに関して説明され得る。本説明を読んだ後に、他のコンピュータシステムおよび／またはアーキテクチャを使用して、本発明ならびに／もしくは本発明の部分を実装する方法が、当業者に明白となるであろう。
【００５０】
コンピュータシステム８００は、表示ユニット８０１上に表示するために、通信インフラストラクチャ８０６から（または示されていないフレームバッファ等から）、例えば、限定されないが、グラフィックス、テキスト、および他のデータ等を転送し得る、表示インターフェース８０２（例えば、ＨＭＩ）を含み得る。表示ユニット８０１は、例えば、テレビ、コンピュータモニタ、タッチセンサ式表示デバイス、または携帯電話画面であり得る。出力もまた、スピーカを通して音として提供され得る。
【００５１】
コンピュータシステム８００はまた、例えば、メインメモリ８０８、ランダムアクセスメモリ（ＲＡＭ）、および二次メモリ８１０等を含み得るが、それらに限定されない。メインメモリ８０８、ランダムアクセスメモリ（ＲＡＭ）、および二次メモリ８１０等は、１つ以上の実施形態を実装するように構成される命令を記憶するように構成され得るコンピュータ読み取り可能な媒体であり得、ダイナミックＲＡＭ（ＤＲＡＭ）デバイス、フラッシュメモリデバイス、スタティックＲＡＭ（ＳＲＡＭ）デバイス等のＲＡＭデバイスを含み得るランダムアクセスメモリ（ＲＡＭ）を備え得る。
【００５２】
二次メモリ８１０は、例えば（限定されないが）、ハードディスクドライブ８１２、および／またはフロッピー（登録商標）ディスクドライブ、磁気テープドライブ、光ディスクドライブ、コンパクトディスクドライブＣＤ−ＲＯＭ、フラッシュメモリ等を表す、取り外し可能な記憶ドライブ８１４を含み得る。取り外し可能な記憶ドライブ８１４は、例えば、周知の様式で、取り外し可能な記憶ユニット８１８から読み取り、および／またはそこに書き込み得るが、それに限定されない。プログラム記憶デバイスまたはコンピュータプログラム製品とも呼ばれる取り外し可能な記憶ユニット８１８は、取り外し可能な記憶ドライブ８１４から読み取られ、それに書き込まれ得るフロッピー（登録商標）ディスク、磁気テープ、光ディスク、コンパクトディスク等を表し得るが、それらに限定されない。理解されるように、取り外し可能な記憶ユニット８１８は、コンピュータソフトウェアおよび／またはデータをその中に記憶しているコンピュータ使用可能な記憶媒体を含み得る。
【００５３】
代替的な例証的実施形態では、二次メモリ８１０は、コンピュータプログラムまたは他の命令がコンピュータシステム８００にロードされることを可能にするための他の類似デバイスを含み得る。そのようなデバイスは、例えば、取り外し可能な記憶ユニット８２２と、インターフェース８２０とを含み得る。そのようなものの実施例は、ソフトウェアおよびデータが取り外し可能な記憶ユニット８２２からコンピュータシステム８００に転送されることを可能にし得る、プログラムカートリッジおよびカートリッジインターフェース（例えば、限定されないが、ビデオゲームデバイスで見出されるもの等）、取り外し可能なメモリチップ（例えば、限定されないが、消去可能なプログラマブル読み取り専用メモリ（ＥＰＲＯＭ）またはプログラマブル読み取り専用メモリ（ＰＲＯＭ））および関連ソケット、ならびに他の取り外し可能な記憶ユニット８２２およびインターフェース８２０を含み得る。
【００５４】
コンピュータ８００は、情報が、例えば、ユーザまたはオペレータからコンピュータシステム８００に入力されることを可能にし得る任意の機構もしくは機構の組み合わせを含み得る入力デバイス８０３も含み得る。入力デバイス８０３は、例えば、ユーザまたはオペレータから、コンピュータシステム８００のための情報を受信するように構成される論理を含み得る。入力デバイス８０３の例は、例えば、マウス、ペンベースのポインティングデバイス、もしくはデジタイザ、タッチセンサ式表示デバイス、および／またはキーボード等の他のポインティングデバイス、もしくは他のデータ入力デバイス（そのうちのいずれも標識されていない）を含み得るが、それらに限定されない。他の入力デバイス８０３は、生体認証入力デバイス、ビデオソース、オーディオソース、マイクロホン、ウェブカメラ、ビデオカメラ、および／または他のカメラを含み得るが、それらに限定されない。
【００５５】
コンピュータ８００は、コンピュータシステム８００から情報を出力し得る任意の機構または機構の組み合わせを含み得る出力デバイス８１５も含み得る。出力デバイス８１５は、コンピュータシステム８００から情報を出力するように構成される論理を含み得る。出力デバイス８１５の実施形態は、例えば、ディスプレイ、プリンタ、スピーカ、陰極線管（ＣＲＴ）、プラズマディスプレイ、発光ダイオード（ＬＥＤ）ディスプレイ、液晶ディスプレイ（ＬＣＤ）、プリンタ、真空蛍光ディスプレイ（ＶＦＤ）、表面伝導型電子放出素子ディスプレイ（ＳＥＤ）、電界放出ディスプレイ（ＦＥＤ）等を含むディスプレイ８０１および表示インターフェース８０２を含み得るが、それらに限定されない。コンピュータ８００は、例えば（限定されないが）、入力デバイス８０３、通信インターフェース８２４、接続８２８、および通信経路８２６等の入力／出力（Ｉ／Ｏ）デバイスを含み得る。これらのデバイスは、例えば、ネットワークインターフェースカード、内蔵ネットワークインターフェース構成要素、および／またはモデムを含み得るが、それらに限定されない。
【００５６】
通信インターフェース８２４は、ソフトウェアおよびデータが、コンピュータシステム８００と外部デバイスまたは他のコンピュータシステムとの間で転送されることを可能にし得る。コンピュータシステム８００は、有線または無線接続を介して、他のデバイスもしくはコンピュータシステムに接続し得る。無線接続は、例えば、ＴＣＰ／ＩＰ、８０２．１５．４、高速ＷＰＡＮ、低速ＷＰＡＮ、６ｌｏＷＰＡＮ、ＩＳＡ１００．１１ａ、８０２．１１．１、ＷｉＦｉ、３Ｇ、ＷｉＭＡＸ、４Ｇ、および／または他の通信プロトコルを使用する、例えば、ＷｉＦｉ、衛星、携帯電話接続を含み得る。
【００５７】
本書では、用語「コンピュータプログラム媒体」および「コンピュータ読み取り可能な媒体」は、概して、例えば、限定されないが、取り外し可能な記憶ドライブ８１４、ハードディスクドライブ８１２にインストールされたハードディスク、フラッシュメモリ、取り外し可能なディスク、非取り外し可能なディスク等の媒体を指すために使用され得る。加えて、無線通信、導電性ワイヤ（例えば、限定されないが、ツイストペア、ＣＡＴ５等）もしくは光学媒体（例えば、限定されないが、光ファイバ）を経由して搬送される電気通信等の種々の電磁放射は、例えば、通信ネットワーク上で、本発明の実施形態を実装するコンピュータ実行可能命令および／またはコンピュータデータを搬送するように符号化され得ることに留意されたい。これらのコンピュータプログラム製品は、ソフトウェアをコンピュータシステム８００に提供し得る。プロセッサで実行するためのコンピュータ実行可能命令を備えているコンピュータ読み取り可能な媒体は、本発明の種々の実施形態を記憶するように構成され得ることに留意されたい。「一実施形態」、「１つの実施形態」、「例示的実施形態」、「種々の実施形態」等の言及は、そのように説明される本発明の実施形態が、特定の特徴、構造、または特性を含み得るが、全ての実施形態が必ずしも特定の特徴、構造、または特性を含むわけではないことを示し得る。
【００５８】
さらに、「一実施形態では」または「例証的実施形態では」という語句の繰り返しの使用は、必ずしも同一の実施形態を指すわけではないが、それを指し得る。本明細書に説明される種々の実施形態は、組み合わせられ得、および／または実施形態の特徴は、新しい実施形態を形成するように組み合わせられ得る。
【００５９】
別様に具体的に記述されない限り、以下の議論から明白であるように、本明細書の全体を通して、「処理する」、「算出する」、「計算する」、「決定する」等の用語を利用する議論は、コンピュータシステムのレジスタおよび／またはメモリ内の電子的数量等の物理的数量として表されるデータを操作し、ならびに／もしくはそれをコンピュータシステムのメモリ、レジスタ、または他のそのような情報記憶、伝送、もしくは表示デバイス内の物理的数量として同様に表される他のデータに変換するコンピュータまたはコンピュータシステム、もしくは類似電子コンピュータデバイスの動作および／またはプロセスを指すことが理解される。
【００６０】
同様に、用語「プロセッサ」は、レジスタおよび／またはメモリからの電子データを処理し、電子データをレジスタおよび／またはメモリに記憶され得る他の電子データに変換する任意のデバイスもしくはデバイスの一部を指し得る。「コンピューティングプラットフォーム」は、１つ以上のプロセッサを備え得る。
【００６１】
本発明の実施形態は、本明細書の動作を行うための装置を含み得る。装置は、所望の目的のために特別に構築され得、またはデバイスに記憶されたプログラムによって選択的に起動もしくは再構成される汎用デバイスを備え得る。
【００６２】
実施形態は、ソフトウェア構成要素として、多くの異なる方法で具現化され得る。例えば、それは、独立型ソフトウェアパッケージであり得、または例えば、科学モデリング製品等のより大型のソフトウェア製品に「ツール」として組み込まれるソフトウェアパッケージであり得る。それは、既存のソフトウェアアプリケーションにインストールするために、ネットワーク、例えば、ウェブサイトから、独立型製品として、またはアドインパッケージとしてダウンロード可能であり得る。それはまた、クライアントサーバソフトウェアアプリケーションとして、またはウェブ対応ソフトウェアアプリケーションとして利用可能であり得る。それはまた、ヒストグラムの効率的な操作および表示のためのシステムの一部であり得る。コンピュータシステム８００は、汎用コンピュータを作成するために使用され得る。汎用コンピュータは、１つ以上のプロセッサが、本明細書に示される技法および図６のステップのうちの１つ以上のものを行うことを可能にする、プログラミング論理を記憶することによって、専門化され得る。コンピュータシステム８００またはコンピュータシステム８００の複数の実施形態は、上で説明される機能を果たすために使用され得る。
【００６３】
本発明の実施形態は、本明細書の動作を行うための装置を含み得る。装置は、所望の目的のために特別に構築され得、またはデバイスに記憶されたプログラムによって選択的に起動もしくは再構成される汎用デバイスを備え得る。
【００６４】
本発明の実施形態は、コンピュータシステム８００の機能を向上させ得る。例えば、本発明の実施形態は、ヒストグラムを作成および操作するための処理速度を向上させ得る。
【００６５】
実施形態は、ソフトウェア構成要素として、多くの異なる方法で具現化され得る。例えば、それは、独立型ソフトウェアパッケージであり得、またはより大型のソフトウェア製品に「ツール」として組み込まれるソフトウェアパッケージであり得る。それは、既存のソフトウェアアプリケーションにインストールするために、ネットワーク、例えば、ウェブサイトから、独立型製品として、またはアドインパッケージとしてダウンロード可能であり得る。それはまた、クライアントサーバソフトウェアアプリケーションとして、またはウェブ対応ソフトウェアアプリケーションとして利用可能であり得る。
【００６６】
本発明の種々の実施形態が上で説明されているが、それらは、限定ではなく、一例のみとして提示されていることを理解されたい。したがって、本発明の範疇および範囲は、上記の例証的実施形態のうちのいずれかによって限定されるべきではないが、代わりに、以下の請求項およびそれらの均等物のみに従って定義されるべきである。上記で説明されている本発明の実施形態は、追加の実施形態を導出するために除去され、または説明される実施形態の間で組み合わせられ得る特徴を含み得る。
【図１】
0006677733.tif 000002
【図２】
0006677733.tif 000003
【図３】
0006677733.tif 000004
【図４】
0006677733.tif 000005
【図５】
0006677733.tif 000006
【図６ａ】
0006677733.tif 000007
【図６ｂ】
0006677733.tif 000008
【図６ｃ】
0006677733.tif 000009
【図７】
0006677733.tif 000010
【図８】
0006677733.tif 000011