(57)【要約】本発明は、収集した患者データの線グラフ表示をデジタル信号処理に適したデジタルデータへ変換するシステムであって、収集した患者データの線グラフ表示を含む画像を表すデータを受け、受けたデータを分析して画像表示データ中の線グラフ表示を構成する個々のピクセルを同定し、基準点に関する個々のピクセルの相対的位置を特定する複数のピクセル表示データ要素を所望のデータフォーマットで発生させ、個々のピクセルの相対的位置を特定し、（ａ）個々のピクセルのカラー及び（ｂ）個々のピクセルの輝度振幅のうち少なくとも１つを特定することにより所望のデータフォーマットを発生させ、発生させたピクセル表示データ要素をファイルに蓄積するステップより成る方法に係る。さらに、受けたデータをフォーマットして、線グラフ表示を表すデータを処理して線グラフ表示を表示画像の形で提示するに適した処理済みデータに変える遠隔場所での処理手順に適合するフォーマットを発生させ、ユーザー命令に応答してフォーマット済みデータを遠隔場所に送り、フォーマット済みデータを用いて遠隔場所で表示画像を発生させる。
2005503851.tif 000002
【特許請求の範囲】
【請求項１】
収集した患者データの線グラフ表示をデジタル信号処理に適したデジタルデータへ変換する方法であって、
収集した患者データの線グラフ表示を含む画像を表すデータを受け、
受けたデータを分析して画像表示データ中の線グラフ表示を構成する個々のピクセルを同定し、
基準点に関する個々のピクセルの相対的位置を特定する複数のピクセル表示データ要素を所望のデータフォーマットで発生させ、
個々のピクセルの相対的位置を特定し、（ａ）個々のピクセルのカラー及び（ｂ）個々のピクセルの輝度振幅のうち少なくとも１つを特定することにより所望のデータフォーマットを発生させ、
発生させたピクセル表示データ要素をファイルに蓄積するステップより成る、線グラフ表示をデジタルデータへ変換する方法。
【請求項２】
線グラフ表示の複写紙をスキャンして線グラフ表示を含む画像を表すデータを得るステップを含む請求項１の方法。
【請求項３】
線グラフ表示を含む画像を表すデータは、（ａ）ビットマップファイルフォーマット、（ｂ）ＧＩＦフォーマット、（ｃ）ＪＰＥＧフォーマット、及び（ｄ）ＴＩＦＦフォーマットのうちの少なくとも１つのデータフォーマットの形態である請求項１の方法。
【請求項４】
所望のデータフォーマットは、(x , y, color)iより成るＡＳＣＩIフォーマットであり、
(x)はi番目のピクセルのx座標位置を表し、(y)はi番目のピクセルのy座標位置を表し、colorはi番目のピクセルＲＧＢカラーを表す請求項１の方法。
【請求項５】
医学的パラメータの線グラフ表示は、（ａ）心電図記録、（ｂ）脳電図記録、（ｃ）呼吸速度、１回呼吸器量、分時呼吸量、脈拍酸素飽和度などより成る群から選択される少なくとも１つの呼吸パラメータ記録、及び（ｄ）血液パラメータ記録のうちの少なくとも１つより成る請求項１の方法。
【請求項６】
受けたデータをフォーマットして、線グラフ表示を表すデータを処理して線グラフ表示を表示画像の形で提示するに適した処理済みデータに変える遠隔場所での処理手順に適合するフォーマットを発生させ、
ユーザー命令に応答してフォーマット済みデータを遠隔場所に送り、
フォーマット済みデータを用いて遠隔場所で表示画像を発生させるステップをさらに含む請求項１の方法。
【請求項７】
データフォーマットを復号して線グラフ表示データを運ぶデータフィールドを組み込んだ復号済みフォーマットを発生させ、
線グラフ表示データを運ぶデータフィールドにアクセスする処理手順の実行を始動するステップをさらに含み、その処理手順はフォーマット済み及び符号化済みデータへのアクセスを可能にする特注のセキュリティープロトコル設定の確立を除外し、その処理手順は線グラフ表示データを処理して線グラフ表示を表示画像で提示するに適した処理済みデータを与える請求項１の方法。
【請求項８】
線グラフ表示をデジタル信号処理に適したデジタルデータへ変換する方法であって、
線グラフ表示を含む画像を表すデータを受け、
受けたデータを分析して画像表示データ中の線グラフ表示を構成する個々のピクセルを同定し、
カラーを特定するユーザーカラー選択情報を受け、
基準点に関する個々のピクセルの相対的位置を表す特定カラーのピクセルより成る複数のピクセル表示データ要素を所望のデータフォーマットで発生させ、
発生させたピクセル表示データ要素をファイルに蓄積するステップより成る線グラフ表示をデジタルデータへ変換する方法。
【請求項９】
蓄積ステップは、（ａ）テキストファイルフォーマット、（ｂ）ワードファイルフォーマット、（ｃ）スプレッドシートフォーマット、及び（ｄ）データベース適合フォーマットを含むフォーマットからユーザーが選択するフォーマットのファイルに発生させたピクセル表示データ要素を蓄積するステップより成る請求項９の方法。
【請求項１０】
ファイルヘッダー情報から受けたデータのファイルサイズを突き止め、
突き止めたサイズのファイルの２進読み取りを行うことにより前記発生ステップに用いるピクセルデータを抽出するステップをさらに含む請求項９の方法。
【請求項１１】
ピクセルデータを１ピクセルにつき３つの８ビットセグメントで表す生の２進データを抽出し、
抽出したピクセルデータをユーザーが特定する所望のカラーマップと比較して所望のカラーのピクセルに対応するピクセルを選択的にフィルタリングし、
複数のピクセル表示データ要素を発生させる前記ステップに用いる所望のフォーマットでフィルタリング済みの抽出ピクセルデータの座標を発生させるステップをさらに含む請求項９の方法。
【請求項１２】
線グラフ表示のセグメントを表す発生させたピクセル表示データ要素を分析して線グラフ表示セグメント中の特徴部の頻度をチェックするステップをさらに含む請求項９の方法。
【請求項１３】
線グラフ表示は医学的パラメータを表し、医学的パラメータの頻度特性の変化を予想するステップを含む請求項９の方法。
【請求項１４】
医学的パラメータの線グラフ表示は、（ａ）心電図記録、（ｂ）脳電図記録、（ｃ）呼吸パラメータ記録、及び（ｄ）血液パラメータ記録のうちの少なくとも１つより成る請求項１４の方法。
【請求項１５】
医学的パラメータの頻度特性の予想される変化が特定の患者にとって統計的に意義あるものか否かを判定するステップをさらに含む請求項１４の方法。
【請求項１６】
医学的パラメータの頻度特性の予想される変化が、特定の患者の医学的記録情報に基づき統計的に意義あるものか否かを判定するステップをさらに含む請求項１６の方法。
【請求項１７】
データフォーマットを復号して線グラフ表示データを運ぶデータフィールドを組み込んだ復号済みフォーマットを発生させ、
線グラフ表示データを運ぶデータフィールドにアクセスする処理手順の実行を始動するステップをさらに含み、その処理手順はフォーマット済み及び符号化済みデータへのアクセスを可能にする特注のセキュリティープロトコル設定の確立を除外し、その処理手順は線グラフ表示データを処理して線グラフ表示を表示画像で提示するに適した処理済みデータを与える請求項９の方法。
【請求項１８】
前記発生ステップは、受けたデータをＨＴＭＬアクティブサーバーページフォーマットでタグフィールドにフォーマットするステップより成る請求項９の方法。
【請求項１９】
線グラフ表示をデジタル信号処理に適したデジタルデータへ変換するシステムであって、
（１）線グラフ表示を含む画像を表すデータを受け、
（２）受けたデータを分析して画像表示データ中の線グラフ表示を構成する個々のピクセルを同定し、
（３）カラーを特定するユーザーカラー選択情報を受け、
（４）基準点に関する個々のピクセルの相対的位置を特定する特定カラーの複数のピクセル表示データ要素を所望のデータフォーマットで発生させるようにプログラムされた画像読み取り装置と、
発生させたピクセル表示データ要素をファイルに蓄積するようにプログラムされたデータオブジェクトとより成る線グラフ表示をデジタルデータへ変換するシステム。
【請求項２０】
データオブジェクトは、（ａ）テキストファイルフォーマット、（ｂ）ワードファイルフォーマット、（ｃ）スプレッドシートフォーマット、及び（ｄ）データベース適合フォーマットを含むフォーマットからユーザーが選択するフォーマットのファイルに発生させたピクセル表示データ要素を蓄積するようにプログラムされている請求項２１のシステム。
【請求項２１】
画像読み取り装置はさらに、ファイルヘッダー情報から受けたデータのファイルサイズを突き止め、突き止めたサイズのファイルの２進読み取りを行うことにより前記発生ステップに用いるピクセルデータを抽出するようにプログラムされている請求項２１のシステム。
【請求項２２】
データ要素を復号して線グラフ表示データを運ぶデータフィールドを組み込んだ復号済みフォーマットを発生させるようにプログラムされた信号プロセッサと、
線グラフ表示データを運ぶデータフィールドにアクセスするための処理手順の実行を始動させるようにプログラムされた画像形成オブジェクトとをさらに備え、その処理手順はフォーマット済み及び符号化済みデータへのアクセスを可能にする特注のセキュリティープロトコル設定の確立を除外し、その処理手順は線グラフ表示データを処理して線グラフ表示を表示画像で提示するに適した処理済みデータを与える請求項２１のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
【技術分野】
【０００２】
本発明は、ハードコピーに含まれる患者の臨床信号を、コンピュータにより分析して蓄積した後、コンピュータネットワークを介して遠隔場所へグラフィック形式で表示できる電子フォーマットへ変換するシステムに係り、さらに詳細には、ハードコピー上の脳電図（ＥＥＧ）及び心電図（ＥＣＧ）のチャートを、ウェブサーバーが受信し、分析し、蓄積した後、リクエストによりウェブブラウザーへ送信できる電子フォーマットへ変換するソフトウェアアプリケーションに係る。
【従来技術の説明】
【０００３】
一次医療に携わる医師の典型的な診療所（または病院の一部の急性医療ユニット）では、患者に対してＥＣＧテストが施される。これらのテストは通常、ペンが紙片上に時々刻々変化するＥＣＧ信号を記録する標準の３または１２リード方式で行われる。これらの装置は、「ペーパーストリップレコーダー」を呼ぶこともある。
【０００４】
紙片は通常、患者の永久記録に添付される（患者のフォルダーにハードコピーの形で入れられる）。この方法は実際、低コストで簡便なものであるが、一次医療の医師から紹介を受けた医師または他のヘルスケア提供者への記録の受け渡しはハードコピーの形でのみ可能である。例えば、患者を紹介された専門医がＥＣＧのコピーを必要とする場合、前もってそのハードコピーを送ってもらうか、または患者がそのハードコピーの複写をもって紹介された医師の元へ行く必要がある。あるいは、一次医療の医師がＥＣＧの記録を受け手となる医師（または、病院もしくは医療センターなど）へファクシミリにより送信することが可能である。これによりハードコピーの持ち運びが不要になる。しかしながら、受け手の所で行われるそのコピーからの情報の読み取りは依然としてハードコピーフォーマットであるに過ぎない。
【０００５】
ＥＣＧ波形の分析は比較的簡単な仕事であるが、波形を分析し、その波形を遠隔場所で見たり、後で見たり、あるいはオフラインで、また遠隔場所でオンラインで分析するために電子保存手段に蓄積する価値のあることが多い。ハードコピーのＥＣＧ記録は自動的に分析できないばかりか、ビットマップまたはＪＰＥＧのような他の簡単な画像ファイル以外の電子的読み取り可能なフォーマットにも容易に変換することができない。これらの電子フォーマットは、容易に転送できるが、遠隔場所からリアルタイムでオンラインの数学的手法により分析することは不可能である。
【０００６】
従って、ＡＳＣＩＩフォーマットのＥＣＧデータをウェブベースで発生させた後、ＥＣＧペーパーストリップを標準のＣ++ビジュアルベーシックのような従来型開発プログラミング言語を用いて開発される電子的手段により自動的に変換且つ分析して、既存のソフトウェアシステムに容易に一体化できるようにするシステムが求められている。従来技術または関連技術を検索すると、画像の走査及び作図の領域においていくつかの既存の機能がオープンマーケットで利用可能であることがわかる。詳述すると、以下の機能に関連する既存の技術が存在する。例えば、ハードコピー上のグラフの電子（または、ＡＳＣＩＩ）データへの変換については、Silk Scientific Software社(www.SilkScientific.com)のUn-Scan-Itは、スキャナーでハードコピーの(x, y)グラフを読み取り、曲線の成分座標を抽出できる代表的な製品である。このSilk Scientific Software社は、そのウェブページ上において、ユーザーはハードコピー上のグラフをスキャナーの最大分解能で(x, y)ＡＳＣＩＩデータへ自動変換できると宣伝している。Un-Scan-Itは、任意のフルページスキャナー、ハンドスキャナーまたは他の画像入力装置と併用すると、ストリップチャート、装置出力、古いグラフ、出版物上のグラフなどをデジタル化できる。多くのデジタル化機能に加えて、このUn-Scan-Itはピーク領域を積分し、データを平滑化し、導関数をとり、グラフのスケールを変更し、他のソフトウェアプログラムに使用するために(x, y)ＡＳＣＩＩデータをエクスポートできる。別の例として、C++のビットマップグラフィックスプログラミングにMarv Luseにより記載されたビットマップ画像の読み取りに関する方法の既存の変種があるが、これはビットマップイメージのＡＳＣＩＩ(x, y)座標を抽出する。画像ファイルを開くこの方法は、この後者の機能を達成するためにLuseによる既存のソフトウェアの一部を改良したものである。また、画像を変化させる目的でJavaコードを用いてビットマップを読み取る方法が存在するが、これはJoseph L. Webber, in Special Edition Using Java 2 Platform Copyright 1999 by QUEに記載されている。しかしながら、従来技術のこれらのシステムにはいくつかの重大な問題がある。可搬性を有し、標準のワードプロセッシングツール（マイクロソフトエクセル及びワードのような）に直接統合可能であり、サーバーのプラットフォーム上で処理を行い最終的な曲線をクライアントに特許請求の範囲に記載されたように配布できるシステムが求められている。
【０００７】
ＡＳＣＩＩ(x, y)データの曲線をJavaScriptまたはVB Scriptのようなクライアントサイドの解釈コードを用いてクライアントプラットフォーム上に表示できることは、１９９６年に発表されたJavaScript PlotterにRonald H. Nicholsonにより記載されている。Nicholsonにより開発された機能は、ＡＳＣＩＩデータを読み取るように特に設計された（Nicholsonのコードに説明されているようにハードコード機能上で作動するのではない）曲線のサーバーサイドバージョンを発生させ、ウェブブラウザーウィンドウ内でＥＣＧ曲線の座標をプロットするために使用される。参考までに、この方法を「サーバーサイド・プロッティング・ユーティリティー」またはＳＳＰＵと呼ぶ。ＡＳＣＩＩ座標データをクライアントに送信し、そこで、Javaアプレットがデータを読み取り、ウェブブラウザーウィンドウ内にプロットする別のユーティリティーを開発することもできる。参考までに、この方法を「アプレット・プロッティング・ユーティリティー」またはＡＰＵと呼ぶ。
【０００８】
上述した必要な利点は２つの方法で得ることができる。即ち、生のＡＳＣＩＩ(x, y)データをサーバー上のアレイに書き込み、ＳＳＰＵを用いるなどしてクライアントのＨＴＭＬページ内の曲線に変換するか、または生のＡＳＣＩＩ(x, y)データをクライアントへ直接書き込み、ＡＰＵを用いるなどしてプロッティングプロセスを実行するクライアントサイド機能によりそれらを解釈することができる。
【発明の概要】
【０００９】
本発明は、収集した患者データの線グラフ表示をデジタル信号処理に適したデジタルデータへ変換するシステムであって、収集した患者データの線グラフ表示を含む画像を表すデータを受け、受けたデータを分析して画像表示データ中の線グラフ表示を構成する個々のピクセルを同定し、基準点に関する個々のピクセルの相対的位置を特定する複数のピクセル表示データ要素を所望のデータフォーマットで発生させ、個々のピクセルの相対的位置を特定し、（ａ）個々のピクセルのカラー及び（ｂ）個々のピクセルの輝度振幅のうち少なくとも１つを特定することにより所望のデータフォーマットを発生させ、発生させたピクセル表示データ要素をファイルに蓄積するステップより成る方法に係る。さらに、受けたデータをフォーマットして、線グラフ表示を表すデータを処理して線グラフ表示を表示画像の形で提示するに適した処理済みデータに変える遠隔場所での処理手順に適合するフォーマットを発生させ、ユーザー命令に応答してフォーマット済みデータを遠隔場所に送り、フォーマット済みデータを用いて遠隔場所で表示画像を発生させる。
【実施例】
【００１０】
本発明は、好ましい実施例を示す添付図面及び以下の詳細な説明からさらに完全に理解されるであろう。しかしながら、添付図面は、本発明を特定の実施例に限定するものとして捉えるべきでなく、説明のため、また理解を助けるためのものにすぎない。
【００１１】
本発明は、ＥＣＧまたはＥＥＧ画像を紙上に再現したようなハードコピー上の患者の臨床信号をパーソナルコンピュータ上の標準のツールを用いて信号処理及び分析ができるようにするためにＡＳＣＩＩデータに変換する統合型ソフトウェアシステムに関わる。本発明はハードコピー上のＥＣＧまたはＥＥＧ画像を、信号及びデータ処理機能を用いて分析可能なソフトコピー上の画像に変換する。この画像は、蓄積した後、ウェブベースのサーバー処理方法を用いて表示することができる。
【００１２】
以下に述べる本発明の好ましい実施例は、ハードコピー上のＥＣＧ画像を、アクティブサーバーページ（ＡＳＰ）アプリケーションを用いるウェブブラウザーにその生のＡＳＣＩＩ座標により表示することにより処理するものである。この実施例は、曲線の形のＡＳＣＩＩ座標をクライアントに送る２つの異なる方法を記載する。その第１のものはＳＳＰＵであり、第２のものはＡＰＵである。これらのＡＳＰ法は、より一般的な製品をサポートするために一般化可能である。この実施例は、マイクロソフトビVisual StudioまたはJDK1.3.1を用いてC++、Java及びVisual Basicで開発されたものである。これにより、本発明のシステムは他のアプリケーションの一部として容易に一体化することが可能である。しかしながら、当業者は、この実施例が説明の目的のためのものにすぎないことがわかるであろう。
【００１３】
図１−１２は、ＥＣＧ画像情報を読み取り、処理しそしてクライアントのスクリーンに表示することができるＳＳＰＵ及びＡＰＵ成分の能力を示す。図１３−１８は、特定のピクセルカラー値をビットマップファイルから読み取り、抽出し、そして新しいビットマップファイルを形成する本発明のReadBMP成分の能力を示す。図１９−２６は、ＡＳＣＩＩデータを読み取り、単純なプロットを形成する本発明のＡＰＵ成分の能力をユーティリティーに含まれる自動曲線近似機能と共に示す。
【００１４】
この点からのデータの処理は、図１のデータ流れ図に従って進行する。図１に示すように、スキャニング装置（ファクシミリ装置のような）へのＥＣＧ（ハードコピーフォーマット）の手動による入力を矩形のブロック１０１に示す。ファクシミリでスキャンするとビットマップファイル（.bmp）が形成されるが、他の受け入れ可能なフォーマットとして.gifまたは.jpg(.jpeg)が含まれる。かかるファイルの形成は当該技術分野で周知であるため、ここでは詳説しない。ビットマップファイルは、一旦形成されると、画像リーダー１０１に組み込まれた本発明のBitmapReaderプログラムにより検索される。BitmapReaderの目的は、生の２進 .bmpファイルを開いて全てのエクセル値の位置を求めることである。BitmapReaderは、この実施例では２つの別個のユーティリティーより成り、１つは、ReadImage.classというJavaユーティリティーであり、もう１つはRead.BMP.vbというVisual Basicユーティリティーである。ビットマップは検索され、好ましくは、以下のフォーマット(x, y, color)iを有するＡＳＣＩＩに変換される。ここで、(x)はi番目のピクセルのx座標位置を表し、(y)はi番目のピクセルのy座標位置を表し、colorはi番目のピクセルのＲＧＢカラーを表す。通常、ビットマップファイル及び他のグラフィックファイルのフォーマットでは、１番目のピクセルの座標は１(x=0, y=o)または(0, 0)に相当する。これは、.bmpファイルの一番上の一番左側の隅の位置を表す。最後のピクセルの座標は、位置(x=xmax, y=ymax)または(xmax, ymax)に相当する。これは、.bmpファイルの一番下で一番右側の隅を表す。
【００１５】
この点までのプロセスを説明するために、図２に示すビットマップファイルのサンプルについて考える。図２のサンプル波形は、元の紙の画像をスキャニングすることにより形成される.bmpファイルの形になっている。本発明の画像リーダーは、例えば、ビットマップファイルからピクセルを従来の方式で読み取ることにより、多数の方法で実現可能である。ヘッダー情報を読み取る構造を決定するプロセスは、Marv Luse, Bitmapped Graphics Programming In C++, Addison-Wesley 1993 and James D. Murray and William van Ryper, Encyclopedia of Graphics File Formats, 2ndEdition, O’Reilly & Associates, Inc., 1996のような幾つかのソースから得られるためここには説明しない。提示されるコードセグメントは、任意のビットマップに読み込む第１の基準の方法を使用する。このコードは、ＡＳＣＩＩ成分(x, y, color)をいかにして識別するかを明示する。
【００１６】
あるいは、Javaアプレットユーティリティープログラムのコードセグメントは画像ファイル（例えば、.jpgファイル）から個々のピクセルを得る。このコンピュータプログラムは、Joseph L. Webber, Special Edition Using Java 2 Platform; Copyright 1999 by QUEに記載されたアプレットに基づくものでよい。しかしながら、ピクセル値の抽出及び出力ファイルへの書き込み方法は、本発明に従って変形されるであろう。
【００１７】
データオブジェクト１０２のアプレットがファイルへの書き込みを行うには、書き込みアクセスを可能にするために使用中のコンピュータシステム上にポリシーファイルをセットする必要がある。図３は、このアプレットに関連するポリシーファイルのサンプルを図３に示す。図３は、アプレットによるファイルへの書き込みを可能にするセキュリティーポリシーファイルのサンプルを示すコンピュータスクリーン画像である。このファイルは、アプレットがビットマップ画像の(x, y)座標をＡＳＣＩＩテキストファイルに書き込むために使用するものであり、その後、このファイルは後処理ツールにより読み取られ、マイクロソフトエクセルに保存される。この画像リーダーのＡＳＰバージョンはサーバー上で実行されるためにセキュリティーポリシーファイルを必要としないことに注意されたい。この方法のアプレットバージョンは、ＡＳＣＩＩ(x, y)データポイントをビットマップ画像から読み取る能力を示すために説明した。そして、図４は、JDK appletviewerコマンドツールによるアプレットの実行及びoutput.txtという名前の出力ファイルへのアプレットの書き込みを示すコマンドウィンドウのサンプルを示す。
【００１８】
アプレットユーティリティーを実行すると、appletviewerはアプレットに特定されるように元の画像を生成またはエコーする。この画像の生成は必要条件ではなく、ただ、データがアプレットにより正しく読み取られたことを検証する働きがあるに過ぎない。これを図５に示す。
【００１９】
ＡＳＣＩＩテキストデータがここでは、ファイル(output.txt)に存在する。このファイルのコンテンツは、上述した方法（即ち、C++またはJava）若しくは他の任意の方法の何れかを用いてデータオブジェクト１０２により書き込むことができる。データは、一旦テキストの形で利用可能な状態となると、データベースまたはスプレッドシートの何れかに直接インポートすることができる。図６は、エクセルスプレッドシートに存在するこれらのデータの一例を示す。これらのデータは、Javaアプレットを用いて発生されたものである。
【００２０】
データのコンテンツを説明するために、簡単な曲線を、ピクセル値を用いて信号プロセッサ１０３及び画像オブジェクト１０４により発生させたが、この曲線はこれらのデータが実際に元のＥＣＧ画像を表すことを示す。これを図７に示す。図７は、マイクロソフトエクセル内のユーティリティーにより捕捉された生のデータを用いて本発明により描かれたピクセル値の曲線を示すコンピュータスクリーン画像である。これらは図６に示したものと同じデータポイントである。そのデータを読み取ると、y成分の要素が逆になるが、その理由は(0, 0)要素が画像ファイルのスクリーンの一番上の一番左側を表し、点（(xMax, yMax)により画定される画像ファイルの最大領域が一番下の右隅であるため、画像が垂直に裏返して表れるからである。これはＡＳＰ後処理装置により矯正される。
【００２１】
ＥＣＧ波形の再構成を示すために、ピクセル値のサンプルをプロットする。エクセルのスプレッドシートへのデータの直接インポートは、ＣＯＭインターフェイスを介するエクセルへの接続を確立するか、またはＡＤＯインターフェイスを用いてＡＳＰにより達成可能な任意のプログラムの助けにより実行可能である。マイクロソフトのVisual C++プログラムはこの目標にいかにして到達するかを示す一例である。このプログラムを走らせた結果得られるのがエクセルスプレッドファイルであるが、これは２つのコラムのデータ、即ちＥＣＧのx及びyピクセル座標を含む。
【００２２】
エクセルにおいて、ＡＳＰがＯＤＢＣドライバーを介してデータを読み取ることができるように名前付きのレンジを画定する必要がある。データの名前付きレンジの一例を図８に示すが、これはエクセルスプレッドシート内のコラムＡ及びＢ（即ち、Ｘ及びＹピクセルレンジ）に相当する。図８は、本発明により処理されるデータを読み込む準備のためにデータレンジをセットし、名前を付けるコンピュータスクリーン画像を示す。この名前を付けられたレンジにより、アクティブサーバーページ（ＡＳＰ）はこの図に特定される名前付きレンジにより与えられるハンドルを用いてマイクロソフトエクセルファイルから直接読み取ることができる。この名前付きレンジは、オープンデータベースコネクタクティビティ（ＯＤＢＣ）マネジャーがマイクロソフトエクセルファイルのコンテンツをＡＳＰ内で用いるＡＤＯ(ActiveX Data Objects)にリンクしてマイクロソフトエクセルファイルのコンテンツを自動的に読み取れるようにするために用いる。この実施例の出力はコラムのラベルを挿入しなければならないが、これは前述したプログラムコードに示すようにマイクロソフトVisual C++プログラム出力に含まれることがある。
【００２３】
これを図９にわかりやすく示す。ここでは、信号プロセッサ１０３及びＡＳＰのような画像形成オブジェクト１０４のサーバーサイドスクリプトを用いて生のデータを処理することが可能である。図９は、本発明において必要なコラム名を示す更新されたマイクロソフトエクセルスプレッドシートを示すコンピュータスクリーン上の画像である。ＡＳＰ内のＡＤＯを用いてマイクロソフトエクセルのデータを読み取る際、エクセルスプレッドシート内のデータの第１行は関連のスプレッドシートのコラムのラベルとして自動的に解釈される。
【００２４】
ＡＳＰプログラムは、エクセルに組み込まれた数学的及び統計的機能を用いてスプレッドシートのデータを検索し、表示して、データを処理した後、処理結果をウェブブラウザーに書き込む。このようにして、処理結果をデスクトップまたはラップトップコンピュータ、携帯電話またはＰＤＡにこれらの装置に合致するフォーマットで配布することができる。
【００２５】
ＡＳＰプログラムは、ビットマップに関連するピクセル座標の表値を発生する。しかしながら、より興味のあるのは図１０に示す表示であり、これはＡＳＰプログラムにより発生可能である。このプログラムは、前の例のＯＤＢＣリーダーをVBScriptプロッターと組み合わせる。Ronald H. Nicholson, JavaScript Function Plotter, published in 1966に記載されたこれらの方法make_1d_array、make_2d_array及びplot_2dは、本発明を実施するために変形して使用することができる。このユーティリティーはＳＳＰＵにおいて実現するのが好ましい。
【００２６】
ＡＳＰコードのこの利用は説明の目的のためであるに過ぎないことを知るのが重要である。例えば、上述のコードは特定の画像サイズのハード値を含む。しかしながら、このコードの移植性及び一般性を増加させるには、任意サイズの画像を受け入れることができるようにする必要がある。このコードは、実施例の特定サイズの画像のみをサポートするように調整されている。これは、このコードは（現在）８００×８００のピクセル画像をサポートできるにすぎないことを意味するが、本発明はこれに限定されない。当然のこととして、コードそれ自体は、任意サイズのＥＣＧ記録をサポートし、ユーザーが望むデータを表示できるようにするため融通性を増加させる必要がある。図１０を示す目的は、ウェブインターフェイスを介してユーザーは生のデータポイントと画像それ自体の両方とにアクセスすることを示すためである。
【００２７】
ＡＰＵにおいて、クライアントサイドのプロット機能は、サーバーサイドのアプリケーション（ＡＳＰ）により送信されたＡＳＣＩＩデータ値を読み取るのが好ましい。クライアントのユーティリティーは図１１に示すプロットを発生させる。
【００２８】
本発明の別の実施例において、２４ビットのカラー画像ファイルは、分析のために読み取り、データ及び分析結果から発生することができる。本発明のこの局面は、例えば、エクセルスプレッドシート内に形成されるマクロとして実行してもよいが、当業者は本発明がそれに限定されないことがわかるであろう。
【００２９】
上述したマクロを用いて本発明のこの局面を実行するためには、ユーザーはエクセルを立ち上げる必要があるが、その理由はユーティリティーReadMBP.vbが出力データのその処理をエクセルスプレッドシートユーティリティーに一体化するからである。他の実施例において、このユーティリティーはＡＳＣＩＩピクセル値を読み取るその基本的な役割を実行するためにはエクセル内に統合する必要はない。
【００３０】
このユーティリティーを形成するプロセスを、その形成プロセスを明らかにするためにここに要約する。エクセルを一旦立ち上げると、ユーザーはファイルメニューからツールを選択し、ツール→マクロ→マクロを選択する。ユーザーには図１２に示すようなウィンドウが提示されるが、そこでマクロの名前を打ち込むことができる。図示のマクロはRead.BMPと表示されている。
【００３１】
Visual Basicのマクロそれ自体は、以下に示すように、ステートメント”Open For Binary Access Read”を用いて２４ビットのカラービットマップを開く。”Sub ReadBMP() [Intermediate code removed] Open [filename] For Binary Access Read As #1”。ここで、[filename]はビットマップファイルの完全なパスと名前に相当する。この値がハードコードされている場合、ユーザーは新しいファイルが読み取られる度にそのプログラムを保存し変更する必要がある。従って、本発明の実施例では、ユーザーはこの情報をInput_Sheetと呼ぶワークシートに入力し、これがマクロにより読み取られる。その後、ファイル名が入力ワークシートから動的に読み取られる。このようにして、ユーザーはマクロそれ自体を変化させることなく所望の任意のファイル名を入力することができる。この入力ファイルワークシートを図１３に示す。
【００３２】
図１３に示すように、ファイルパス及びファイル名のセルは特定のビットマップファイルの位置及び名前を特定する。この場合、ファイルパスは”D:/Data/My Pictures/”、またファイル名は”rainbow.bmpであり、このファイルはビットマップファイルから種々のカラーの個々のピクセルにアクセスするためのRead.BMPユーティリティーの融通性及び能力を示すために使用される。従って、ユーティリティーそれ自体では、その一般的なファイル名を特定のワークブックからこれらのセルを読み取ることができる特定のコードで置き換えてもよい。ここでは、String変数であるifpath、ifname及びifilesは、ユーティリティーが読み取るべきビットマップのパス、ファイル名、連結ファイルパス及び名前をそれぞれ特定するにすぎない。同様に、２進出力ファイルへの書き込みのための出力パスは同様な態様で定義される。図示の例において、全てのＡＳＣＩＩデータはpixelCoordsという題のワークシートに書き込まれる。従って、全てのピクセルデータはこのスプレッドシートに保存される。
【００３３】
読み取りアクセスのためにビットマップファイルを一旦開くと、データの個々の要素を読み込む必要がある。ファイルは２進アクセスのために（ビットマップまたは他の画像ファイルを読み取る際に必要であるように）開かれるため、個々のデータ要素はバイトの形でファイルから読み取られる。これは、実施例のプログラムコードでは、変数xをバイトタイプである:Dim x As Byteと宣言することにより行われる。この変数xはファイルから全てのデータ要素を読み込むために使用することができる。そうするためにはまず第１にヘッダー情報をビットマップファイルから読み取る必要がある。ヘッダーはビットマップの高さ、幅及びカラースキーム（即ち、各カラー、赤、緑、青について２４ビットまたは８ビット）に関する情報を提供する。この情報をマクロが使用して、これらのデータを読み取る際ピクセルの各ラインの端部に到達した時を求める。
【００３４】
最初に、ビットマップの幅及び高さを求める必要がある。各バイトはGetコマンドを用いてビットマップファイルから読み取られる。Getコマンドはファイルユニット番号（#1）、レコード番号（オプション）及び実際のデータ（x）を読み取る。ビットマップファイルから読み取られる１９番目の要素はビットマップの高さを表す。ビットマップから読み取られるレコードは２つのカウント変数、即ち、amt及びrecNumberを用いて追跡される。変数amtは、ビットマップのどこにプログラムが存在するかを追跡するために用いるが、変数recNumberはピクセルデータを新しいビットマップファイルに書き込むために使用する。幅を読み取るが、これはその高さから３バイトだけ離れており、その後、ビットマップの深さを読み取る。これは、深さを２４ビット、即ち、赤が１つの８ビットセグメント、緑が１つの８ビットセグメント及び青が１つの８ビットセグメントとして定義する。従って、任意所与のピクセル値のカラーは｛ＲＧＢ｝で与えられ、Ｒは０乃至２５５の間で変化し、Ｇは０乃至２５５の間で変化し、またＢは０乃至２５５の間で変化する。
【００３５】
次に、ビットマップ内の第１のピクセルの開始点を読み取る。そして、この点でこの態様によりビットマップ全体を読み取る。amt変数は、多くのデータ要素がいかにして読み取られるかを追跡するために１に再び初期化するのが好ましい。それはバイト毎に変数xに読み込まれる。ピクセルの行及び列位置は、ビットマップの高さに関連して読み込まれるピクセルの量に注目して追跡される。行及び列毎のピクセル値については、３つの値、即ちＲ値、Ｇ値及びＢ値がある(0..255, 0..255, 0..255)。ピクセルカラーの選択及び特定は、オペレーターが関連のカラーワード値を用いてビットマップファイル内に所望のカラーを宣言することを可能にするコードセグメントを組み込むことにより自動化されている。これを表１に示す。ユーティリティーは、カラーのワード値を関連の｛ＲＧＢ｝カラーバイト値にマッピングした後、関連のカラーバイト値を用いてビットマップファイル内のマッチするバイトの組み合わせを探索する。
【００３６】
表１：サポートされるカラー
2005503851.tif 000003
【００３７】
これよりも多数のカラーを選択できる能力を提供するために（そしてリストが事実上無制限であるようにするために）、三色のバイト値を特定し、適当な論理をVisual Basic Macroに付加する必要がある。当業者はこのプロセスを例えば、ファイルから値を読み込むかまたはユーティリティーをビジュアルカラー発生ユーティリティー（カラーパレットのような）と直接インターフェイスしてユーザーがアナログカラーを選択した後、関連のＲＧＢバイト値に変換するようにして自動化することも可能である。
【００３８】
ユーザーがビットマップから赤いピクセルの値を全て選択したい場合、マクロを｛２５５、０、０｝に等しいバイト値の組み合わせをサーチするように指示するだけでよい。これを行うコードの説明は以下の通りである。ファイルはその全体が読み取られる。バイト値は３つ一組で、即ち、各行及び列のピクセル値について３つのバイト、即ち赤、緑及び青にそれぞれ対応するバイト値で読み込まれている。ピクセルの３つのバイト値が読み取られる度に、それら３つのバイト値を３つの既知の値に対して評価することによりどのカラーか知るためにチェックする。これらの値は、ユーザーが所望のカラーをビットマップから抽出するために特定できるようにするフィールドを介してInput_Sheetにおいて選択される（図１３を参照）。図１３において、第３の列の第２の要素はユーザーが特定するカラー値、即ち選択されたカラーのユーザータイプであり、これはこのシートの右側のチャートに示すカラーの１つに対応しなければならない。変数は、If…thenステートメントの内部に与えられるのが好ましい。
【００３９】
生の２進ファイルを開くプロセスについては上述した。ファイルパス及びファイル名は変数を用いて捕捉される。これらの変数は図１３に示すInput_Sheetにおいて初期化されている。新しいビットマップファイルへの書き込みは簡単である。即ち、入力ファイルから１バイトを読み取る度に出力ファイルへそれを書き込む。しかしながら、出力の場合は、そのファイルに書き込まれた特定のレコード番号を追跡する必要がある。
【００４０】
入力ファイルから各バイトが読み取られると、それらの値はバイト変数として保持され、追跡変数がインクリメントされる。これらのバイト値はまだ出力ファイルに書き込まれない。まず、バイト変数の入力組み合わせが既知のカラー値により定義されるユーザーが特定したカラーにマッチするか否かをチェックする必要がある。所望のカラーにマッチするカラーの組み合わせが見つかると、これらのカラーを正しい順序で出力ファイルに書き込む必要がある。これは、Ｂカラーを(x-2)位置のバイト要素として、Ｇカラーを(x-1)の位置のバイト要素として、またＲカラーをx位置のバイト要素として書き込むことにより開始するのが好ましい。これを一旦行うと、追跡変数はファイルポインターを読み取り出力ファイル内の次の位置に位置決めするための準備としてインクリメントされる。
【００４１】
しかしながら、所望のカラーにマッチするピクセルが見つからない場合、出力ファイルはその位置を空欄にしたままにはできず、他の全てのピクセルに関連するカラーのピクセル位置を維持する必要がある。これは、実施例では、所望のカラーに対応しないピクセルをそれらの位置に書き込むことにより行う（ＲＧＢの組み合わせが｛２５５、２５５、２５５｝に注目）。
【００４２】
ピクセルデータは、ピクセルデータの読み取り前にファイルの実際のサイズがファイルヘッダーから直接得られる２進読み取り法を用いて抽出される。これにより、画像を前もって知ることなしに任意サイズのファイルを読み取ることが可能となる。生の２進データは、各ピクセルのカラーが正確に知られている１ピクセルにつき３つの８ビットセグメント（２４ビットのカラービットマップに相当する）において抽出され、実際の信号をバックグラウンドノイズから判別するために使用することができる。ピクセルは一旦抽出されると、ユーザーが特定する所望のカラーマップと比較され、これによりユーザーが抽出するために所望されるものに対応するピクセルが選択的に抽出される。その後、この方法は抽出されたそれらの値のＡＳＣＩＩピクセル座標を書き出して、ユーザーが特定する画像のカラーの幾何学的コピーだけを含む新しいビットマップファイル（市販のプリントまたは画像操作プログラムに適合するフォーマットの）を新しく形成する。
【００４３】
抽出されたピクセル値は、元のビットマップから抽出されたユーザーが特定するカラーの二次元(x, y)位置を表す。これらの位置がＥＣＧ信号の記録を表すとしてそれらを分析することにより、生のデータから電子的に頻度（即ち、心拍数）を求めることができる。あるいは、ＥＣＧ記録を構成する個々のセグメントを（STセグメント長を求める時にまたはＥＣＧ信号内にアーチファクト（ノイズ）が存在するか否かを判定するために必要であるように）チェックしてもよい。本発明の別の有利な特徴は、データ抽出方法に追跡アルゴリズムを付加した点にある。追跡アルゴリズム（KalmanまたはBatch最小二乗フィルターのような）により、ＥＣＧ頻度の変化を予測し、頻度またはＥＣＧ信号の構成の変化が統計的に意義あるものである（従って臨床家またはヘルスケア提供者にとって重要な情報である）か否か、または同様な生理学的背景（体表面積、年齢、性別、病歴）と比較して普通であるか否かを確かめることができる。このようにピクセルデータを捕捉すると、信号データの保存及び検索のための重要な信号成分の圧縮が容易になる。例えば、信号それ自体に関連する実際のピクセル（x, y座標値）を蓄積すると（信号を取り囲む白い未使用の空間を無視して）、実際の信号に必要な蓄積量が減少する。さらに、元の信号値の再形成が容易になるが、その理由は信号の(x, y)成分位置が蓄積され、実際の信号を再形成する残りの仕事は図１７及び１８（ａ−ｃ）の例に示すように信号の周りの白い空間を配置するだけであるからである。
【００４４】
迅速な実行を可能にするため、作図ツールを用いてシート上に形成されるAutoShapeはマクロReadBMPに割り当てられる。これにより、ユーザーは入力シートからそのユーティリティーを走らせることができて便利である。その形状へのマクロの割り当てはただ、オブジェクトを右クリックした後、メニューリストからマクロの割り当てを選択するだけで行える。図１４に示すようなメニューウィンドウが表れるが、ユーザーはマクロを選択してＯＫをクリックする。
【００４５】
動作について説明すると、ユーザーが最初に実行することはビットマップの位置を特定することである。この位置はInput_Sheet上の「File Path」セルに入力する。その後、ユーザーは「File Name」セルにビットマップの名前を書き込む。そして、ビットマップから抽出する所望のカラーピクセルを入力する。これがすんだら、ユーザーはマクロボタンをクリックするだけでよい。ビットマップのサイズに応じて実際の抽出動作は数秒から数分かかるが、この性能は装置のプロセッサ及びメモリにより異なる。これが完了すると（カーソルが砂時計から通常の形に変化する）、ユーザーは出力シートをクリックすればよい。上述したように、この例の全ての出力はワークシートのシート５に向けられるが、これは必要条件でないことが明らかである。
【００４６】
図１５に示すrainbow.bmpファイルは、マイクロソフトペイントを用いて作成されたものである。この例の入力スクリーンは図１３に実際示されている。赤のカラーが選択されている。図１６が対応の出力を示す。図１６は、この図のビットマップファイルからの処理済み出力のコンピュータスクリーン画像であり、本発明に用いる図１５に示したビットマップファイルから単一のカラーが抽出された態様を示す。赤色カラーに関連するピクセル座標は、正しい座標が実際に抽出されていることを検証する視覚補助手段として与えられるが、それらの座標のプロットの左側のコラムフォーマットに示す。図１６のコラムＡ及びＢは赤色のピクセル要素全ての行及び列ピクセル位置である。コラムＡ及びＢはチャートツール（（ＸＹスキャター）を選択）を用いてオプションとしてプロットされている。これらのデータのプロットを添付のグラフに示す（ワークシートの右側に示されている）。図１６からわかるように、ピクセル値はビットマップの真の表示である。しかしながら、正確なピクセル位置もわかる。
【００４７】
図１７は、発生したビットマップ、test.bmpを示す。図１７は、元の画像から抽出された選択カラーのビットマップ画像を再び形成するRead.BMPユーティリティーの１つの能力を示すものである。このRead.BMPユーティリティーは、特定のカラーを選択するためにユーザーが照会した後、ＡＳＣＩＩフォーマットの（図６の説明文に記載されている）それらの座標を与え、その後、元のビットマップファイルに表れるのと同じ位置にあるそれらの座標だけを用いて新しいビットマップを形成する。この図は、本発明においてtest.bmpと呼ぶ新しいファイルの内容を示すコンピュータスクリーン画像である。
【００４８】
ファイルは種々のカラーを選択して再び発生することも可能である。Rainbow.bmpから青、緑及びピンクを選択した図１８（ａ）−（ｃ）にこれを示す。
【００４９】
ＡＳＣＩＩデータは、スプレッドシート（またはデータベース）から取り出した後、そのデータをアクティブサーバーページを介してＨＴＭＬページの形でクライアントのコンピュータへ書き込むなどしてユーザーのいる遠隔場所に送信することができる。ＨＴＭＬページはJavaアプレットへのコールを含み、これはその後、ＡＳＣＩＩデータを読み取り、生のデータをプロットする。アプレットはまた、さらに別の任意の数の(x, y)データセットを同じ軸上にプロットする。以下に述べる例では、アプレットプロッターユーティリティー（ＡＰＵ）がサーバー側のVisual Baxic scriptに供給される生のデータの上に最小二乗法により発生された最良近似回帰曲線の座標をプロットするアプリケーションについて述べる。本発明のこの局面により、ＧＩＦまたはＪＰＥＧ画像のサーバー側でプロット及びインターネットを介する受け渡しを行うことが不要になる。さらに、アクティブサーバーページは、そのデータをプロットのためにクライアントへ書き込む前に回帰曲線の最良の形（線形または二次曲線）を決定する。
【００５０】
インターネットを介する送信は、プロットの画像（サーバー上で作成されクライアントに送信される）の送信よりＡＳＣＩＩ（テキスト）データの送信の点で優れた性能が得られる。処理はサーバーとクライアントの両方で行われるが、サーバー上ではデータがスプレッドシートから取り出され線形または二次曲線に近似され、アプレットパラメータコール内のＨＴＭＬページにフォーマットされるが、クライアント上ではデータが読み取られプロットされる。
【００５１】
これを実現する選択肢には幾つかある。これらには、ＣＧＩまたはサーバー側スクリプトを用いてプロットを形成した後、ＧＩＦまたはＪＰＧ画像をクライアント上に表示し、アプレット内の全てのデータをハードコーディングし、クライアントの処理によりプロットし、画像をスプレッドシートプログラムを用いて作成して、その画像をファイルにコピーした後、プロット画像をアクティブサーバーページまたはクライアント上のＨＴＭＬページを介して表示することを含む（アクティブサーバーページまたはＨＴＭＬページの何れかを介して画像を表示するために調整するオフライン処理が必要）。もちろん当業者は、他の実施例も可能であることがわかるであろう。
【００５２】
好ましい実施例において、ＸＹデータをプロッティングし、多項式の最良近似回帰法を用いて自動的に曲線近似をするためのアクティブサーバーページ及びアプレット駆動ユーティリティーを用いる。ＸＹデータは、エクセルスプレッドシートから抽出されたJavaアプレット及びアクティブサーバーページ（ＡＳＰ）を介してウェブブラウザーに表示することができる。プロットを行うための生のデータは、サーバー上に位置するエクセルスプレッドシートワークブックに維持しても良い。ユーザーはこのファイルを自由に変形した後、ＡＳＰから遠隔操作で実行されるアプレットを用いてそのデータをプロットする。プロットするためのデータはＡＳＰにより読み取られ、アプレットのパラメータタグフィールドに配置される。その後、ＡＳＰは線形及び二次式の最小二乗回帰機能を実行して曲線近似を行い、これが生のデータ上のオーバーレイとしてプロットされるパラメータタグを介してアプレットに供給される。その後、プロットが標準のウェブウィンドウに現れる。回帰機能は、線形または二次近似の何れか（生のデータポイントからＡＳＰにより最小二乗方式で決まる最良の選択）に基づき最良近似オーバーレイ曲線を形成する。
【００５３】
本発明のさらに別の実施例において、アクティブサーバーページ及びアプレット駆動ユーティリティーを用い、最小最良近似回帰法によりＸＹデータをプロットし、自動的に曲線近似を行うことができる。生のＡＳＣＩＩ形式のＸＹプロットデータは、従来の態様で遠隔のサーバー上に蓄積するのが好ましい。これらのデータはテキストファイル、データベースまたはスプレッドシートから取り出すことができる。この例の目的で、この実施例のために、これらのデータはスプレッドシートから得たものである。データは一旦蓄積された後、GenericPlotterアクティブサーバー機能により取り出され、そこで処理されて一般化された最小二乗最良近似機能が決定される。この最良近似機能により回帰方程式の係数が得られるが、これらは生のデータと新しく決定される回帰関数との間の近似の適合性と示すデータのオーバーレイを発生するために使用される。それと共に、生のプロットデータと回帰データの両方をアプレットにより使用されるパラメータタグへのコールとそれらのタグの両方を含むＨＴＭＬページに書き込まれるが、それはクライアントの装置に常駐している。これらのデータをＨＴＭＬページに書き込むと、クライアントの装置のＨＴＭＬページ内に固定状態となって常駐する。クライアントの装置によるＨＴＭＬページの取り出しは、自動的にサーバードメインの名前に関連するＵＲＬウィンドウにアクティブサーバーページの名前を特定することにより行われる。
【００５４】
クライアントの装置は、ＨＴＭＬページ内に含まれるパラメータタグを読み取るように設計されたJavaアプレットをプラグインとして維持する。Javaアプレット機能は、元のＡＳＣＩＩデータ及びクライアント装置上に常駐するＨＴＭＬタグ内に含まれる最良近似回帰データを取り出し、これらのデータをアプレットクラスファイル内のアレイに読み込む。アプレットクラスファイルはこれら２つのデータセットを処理し、クライアント装置上に常駐するブラウザーウィンドウ内に生のデータ及び回帰データのオーバーレイの両方を含む二次元のプロットを形成する。そのプロット自体は、クライアントの装置上に常駐するが、クライアントだけにより発生されるため、画像ファイルをサーバーからクライアントへ受け渡すことが不要になる。
【００５５】
本発明のシステムは、幾つかの点で既存の自動プロットプロセスとは異なる。生のＡＳＣＩＩデータがサーバーからクライアントへ直接書き込まれる。サーバーからクライアントへの画像またはプロットは書き込まれない。クライアントは、アプレット内に含まれるプロット機能により実際のプロットの発生を完全に担当する。これは送信帯域幅が狭い場合に特に有利である。また、クライアント装置が連携する必要のあるサーバー装置を識別するＨＴＴＰトンネリングが不要であるため有利である。このようにしてクライアント装置は１つの装置に物理的に連結されない。その代わりアプレットコールを発生するアクティブサーバーページを含む任意のサーバーがデータをクライアント装置に十分に供給する。セキュリティーポリシーは有利なことに、データをサーバーから読み取る際変更または破壊されないが、その理由は、クライアント内のアプレットがＨＴＭＬページのアプレットコール内に含まれるパラメータタグから固定した値を直接読み取るからである。
【００５６】
動作について説明すると、実行はサーバーとクライアントの両方で行われる。プロットすべきデータを含む生のＡＳＣＩＩデータファイルが存在するかまたは外部プロセスもしくは個人により形成される。現在のこの実施例では、このファイルがエクセルにより読み取られ表に配置された後、特定の名前（この例ではrawData.xls）で保存される。本発明のこの局面と前のものとの関係は、Read.BMPユーティリティーにより作成される生のＡＳＣＩＩデータが既にＡＳＰによる直接アクセスに必要な形式でデータを提供する点である。一旦保存されると、アクティブサーバーページはこのファイルを読み取り、クライアント上に表示されるＨＴＭＬページ内でのコールに適したフォーマットでデータを配置する。ところで、クライアント上では、そのブラウザーへのＨＴＭＬの送信によりクライアント上でのアプレットの検索が開始され、クライアントブラウザーで実行される。アプレットはクライアント上のＨＴＭＬページに書き込まれたパラメータを検索し、最良近似方程式を支配するだけでなく生のデータ上にオーバーレイされる最良近似曲線を変換する線形最小二乗法を用いてブラウザーウィンドウ内にプロットを表示する。
【００５７】
ＡＳＰによるマイクロソフトエクセルの名前付きデータレンジを読み取るプロセスは、公開された文献に記載されているため、この実施例から正確なステップを省略する。しかしながら、この名前付きレンジによるアクティブサーバーページ（ＡＳＰ）は、その図に特定された名前付きレンジにより与えられるハンドルを用いてマイクロソフトエクセルファイルから直接読み取ることができる。名前付きレンジは、オープンデータベースコネクティビティ（ＯＤＢＣ）マネジャーが使用して、マイクロソフトエクセルファイルのコンテンツをＡＳＰ内で使用されるＡＤＯにリンクさせてマイクロソフトエクセルファイルのコンテンツを自動的に読み取ることができる。以下のステップは、エクセルスプレッドシートを立ち上げるプロセスを説明する。これらのステップはスプレッドシートが開かれているという前提で開始される。以下のステップ１乃至３は、エクセルスプレッドシート内のセルの名前付きレンジの作成について詳述するものである。
【００５８】
１）(x, y)フォーマットでデータを入力する、即ち１つのセルにつき１つの値を入力する。ワークシートの第１行はそれぞれx及びyのデータコラムの名前でなければならない。
【００５９】
２）ウェブページがデータを取り出すセルのレンジの名前を作成する。セルの上でマウスをクリックし、ドラッグして、このレンジ内に含める。
【００６０】
３）選択挿入／名前／定義。選択した領域の名前をワークシートに入力する。選択した下記の領域の名前はdataFieldsであり、これはこの実施例内のＡＰＵの働きを説明するために用いるレンジの名前の一例である。
【００６１】
スプレッドシートを一旦作成し、セルの選択した範囲を画定すると、スプレッドシートの範囲をＡＤＯとしてアクセス可能にする必要がある。この処理手順により、アクティブサーバーページが開いてエクセルスプレッドシート内のデータを取り出すことが可能になる。これは、スタートボタンに行って、以下のように設定−制御ファイル−管理ツール−データソース（ＯＤＢＣ）へ進むことにより、「データベース管理」を選択して、開始されるデータソース（ＯＤＢＣ）のアイコンをダブルクリックすると、図４に示すウィンドウが現れる。システムＤＳＮのタブを必ずクリックする。
【００６２】
追加ボタンをクリックすると、システムデータソース領域に新しいデータソースが追加される。マイクロソフトエクセルドライバー(.xls)を選択し、終了をクリックする。そうするとデータソース名（この場合はrawData）が追加される。このようにすると、ワークブックが選択される。ワークブックの選択を押すとナビゲーションウィンドウが現れる。ユーザーはシステムの保存ドライブ上に位置する特定のエクセルファイルへナビゲートして、そのファイルを選択し、ＯＤＢＣ管理ツールを閉じなければならない。これが完了すると、特定のエクセルスプレッドシート、名前付きレンジ及びワークブックがＡＤＯに永久にリンクされ、ＡＳＰコードの本体内でアクセス可能となる。
【００６３】
アプレットは作図エンジンである。アクティブサーバーレンジにより読み取られる生のデータをＡＤＯインターフェイスを介してエクセルファイルからパラメータとして受け取り、それらの生のデータポイントをウェブブラウザーウィンドウに表示される図形に変換する。アプレットは、データを文字列アレイに読み込んだ後、それらを浮動ポイント値に変換する。データはその後、最大及び最小のx及びy座標限界値を求めるために評価される。ウェブブラウザーウィンドウには軸線が描かれ、データポイントが軸線のサイズにスケーリングされた(x, y)対に変換される。ペイント法は各(x, y)対を読み込んだデータポイントの現在セットと次のセットとの間のラインセグメントに変換するためにdrawLine機能を使用する。２つの図形、即ち生のデータと最良近似関数（アクティブサーバーページ内の最小二乗法を用いて求めた）が描かれる。これらは共にアプレット内のパラメータアレイを介して入力される。
【００６４】
アプレットの重要な特徴を示して読者にそれらの重要性を喚起するために、アプレットの好ましい実施例を以下に説明する。アプレットは、アクティブサーバーページを介して受け渡されるパラメータによりデータをアレイに読み込む。これらのアレイは最初はテキスト列として充填され、その後、浮動ポイント値に変換される。２セットの浮動ポイントアレイ、即ち生のデータのための１つのセットと最良近似モデルデータの別のセットが発生する。SloadData列とSloadModel列とを用いてデータをアプレットパラメータリストから読み込む。これらの列はＸ及びＹデータの両方を指示する。その後、これらのデータを浮動ポイント値に変換してData及びModelアレイにそれぞれ蓄積する。その後、Ｘ及びＹ成分を分離してxData、yData、xModel及びyModelアレイに蓄積するこれらのアレイのサイズは１５００個の要素に任意に設定されるが、これは３０００個の生のデータ値と３０００個の最良近似値とを意味する。当業者はベクトルを用いることによるこれらのアレイをアプレットパラメータリストに含まれるデータの量により必要とされる寸法に動的に設定することが可能である。他のアプリケーションのためのこの方法の他の実施例では、ベクトルを使用した。この実施例は言語構築のもっとも効率のよい方式を表すものでないのを知ることは重要である。動作効率の改善を主眼とした開発努力により、これらの方法の性能が改善されメモリの使用量が減少することに疑いはない。しかしながら、動作が物理的なメモリ及びデータの特徴的なサイズにより制限される特殊な状況では、これらを固定された量として特定すると最も効率的な実施例となる場合が多いことを知るのは重要である。
【００６５】
データは以下の２つのコードライン、即ちSloadData=getParameter(“loadData”)及びloadModel=getParameter(“loadModel”)を介してusePageParams()法により読み取られる。その後、extractData()法を用いてテキストから数値への変換を行う。まず第１に、データアレイの長さを求める必要がある。次に、索引変数を用いてこのアレイをループすることにより列の端部に到達したか否かを判定しなければならない。コンマの例をアプレットパラメータリストにおいて区切り記号として用いる。１つが見つかると、プログラムはそれが列のデータ値の端部に到達したことを知る。そこで、Dataアレイにデータ要素の全てを充填し、コンマを取り除き、データをＸ及びＹ成分に分離する。上述したものと同じステップをモデルデータについて実行する。
【００６６】
データを読み取った後、スケーリングを施しグリッドに描く必要がある。グリッド領域はdrawGrid()法を用いて描くが、これはアプレットパラメータリストに設定された量により印を測定する。この方法はまた、軸の大きな印の次の数値を引き出す。現在、Ｘ及びＹ座標方向における最小及び最大値の選択は、生のデータ及びモデルデータ（それぞれ最小または最大の何れか）に基づくものである。生のデータ及びモデルデータの両方の値を局部的な最小及び最大値と比較し、小さいか大きいかに応じて局部的な最小及び最大の新しい値に割り当てると、それぞれ帯域的な最小及び最大値となる。
【００６７】
この例では、データのスケーリング及び作図を１つのステップで行う。まず第１に、Ｘ及びＹ成分方向のスケールファクターをブラウザー作図ウィンドウのサイズ及びＸ及びＹ成分方向における最大及び最小値のレンジに関して決定する。次に、これらのスケールファクターをデータポイントの現在の値とそれらの次の値との間のスプラインを描くFORループの内部の各データポイントに適用する。その後、同じ方法を上述した生のデータに適用したようにモデルデータのスケーリングに適用する。
【００６８】
この例のアクティブサーバーページがVBScriptに書き込まれる。しかしながら、当業者は、そのページをJavaScriptのような他の言語で書けることもわかるであろう。何れのスクリプト言語を用いてもよく、開発者の好みに応じて同一の結果を得ることができる。VB ScriptはASP（しばしばマイクロソフトビジュアルスタジオ開発の状況内で用いるネイティブ言語）を開発する者によってしばしば使用される。第１のステップは読み取りアクセスのためにＡＤＯオブジェクトを開くことである。名前付きレンジdataFields内に定義されたフィールドがエクセルスプレッドシートから選択される。図１９は、名前付きレンジに関連する(x, y)データポイントを含む入力ファイルのサンプルを示す。このファイルを用いて図２０及び２１において作図ユーティリティーを後で説明する。
【００６９】
その後、読み取りのためにＡＤＯ接続を開く。データ要素アレイに読み込む。そして、ＷＨＩＬＥループを用いてファイルを読み取るが、名前付きレンジの端部まで読み取る。アプレットそれ自体をコードのＢＯＤＹテキストセグメント内でコールする。読み取ったばかりのデータをアプレットの範囲内においてパラメータとして書き込む。
【００７０】
この例では、生のデータとモデルデータが共にアクティブサーバーページからのパラメータとして書き込まれる。従って、アプレットがクライアントにロードされ、アクティブサーバーページが実行される結果として書き込まれたＨＴＭＬページからそのデータを受ける。このように、ＪＰＥＧまたはＧＩＦデータがクライアントに書き込まれるサーバーベースのプロッターとは対照的にＡＳＣＩＩテキストだけがサーバーからクライアントへ受け渡される。これはクライアント−サーバー帯域幅についての懸念が存在する時に重要な利点であるが、その訳はこれら２つの間にテキストベースのデータだけが受け渡され、テキストベースのデータ量は比較的小さい（即ち、数百個未満のデータポイントを表すため）からである。
【００７１】
モデルデータは、そのデータの最小二乗線形または二次解を見つけるサブルーチン、cFitLine()を用いて形成される。線形または二次モデルの選択は、生の各データポイントと最良近似モデル方程式との間の距離をy=mx+b（線形）またはy=c1+c2x+c3x2に基づき比較する重み付け距離パラメータ（lineChiSquire、quadChiSquare）に基づき行われる。モデル（線形、二次）は線形モデルと二次モデルとから重み付け距離測度を求めることにより選択する。２つの距離測度のうち小さい方が採用される使用されるモデルとなる。回帰データは生のデータの上に重ね書きするものとして書き込むのが好ましく、オプションとしての分散及び標準偏差も回帰曲線が生のデータにマッチする度合いを示すｘ2二乗近似パラメータと共に書き込むことが可能である。
【００７２】
アクティブサーバーページはｘ2二乗最良近似（Mahalanobis距離）比較機能を用いて最小二乗回帰曲線の最良の形態を自動的に求め、ＨＴＭＬページ内のアプレットタグフィールドにスプレッドシートから読み込んだ生のデータと最小二乗回帰曲線の両方とに関連するデータとを充填する。これらの数値をＡＳＣＩＩ値のリストの形でＨＴＭＬページに書き込む。生のデータ及び回帰曲線の重ね書きに関連するＡＳＣＩＩ値のこのリストは、浮動ポイント数アレイとしてクライアント装置上のアプレットにより読み取られる。浮動ポイント数のアレイはアプレットにより自動的にスケーリングされ、クライアント装置のＨＴＭＬウィンドウ内にプロットされる。
【００７３】
ＡＰＵ法は、ＵＲＬパラメータリスト内に選択されるプロットタイプとプロットすべきデータポイントの量とを特定することによりクライアント上に形成されるプロットのタイプを選択できるようにする。ＡＰＵ法の１つの利点は、Read.BMP VB Scriptユーティリティー、C++またはJavaの等価物により直接抽出されるＥＣＧまたはＥＥＧを共にプロットできることである。図２０は、ＡＰＵの実行を説明するための、ユーティリティーへのＵＲＬコール内に含まれるパラメータに充填をおいて示すコンピュータスクリーン上の画像である。パラメータリストはプロットタイプとプロット内に含まれるデータポイントの数をリクエストする。プロットタイプがecgだとＥＣＧプロットであることを示す。プロットタイプがxyだと簡単なグラフを示す。図２０はプロットタイプとクライアントによりプロットされる特定のデータポイントの行とを選択するためにGenericPlotter.aspページをいかに用いるかを示す。図２０の例のＵＲＬアドレスバーは下記の通りである。
http://ml1jrz0c/GenericPlotter.asp?ptype=ecg&np=300
【００７４】
ＡＳＰページは２つのパラメータ、即ち、発生すべきプロットのタイプがＥＣＧ記録であるか否かを特定するために用いると、データポイント対の数（ここでは、np=300は(x, y)対の数に相当する）を受ける。ptype=ecgを選択するとこの実施例では曲線近似機能がオフになり、クライアント上の単一セットの生のデータの作図が可能になる。図１１はこの実施例を示す。
【００７５】
ＵＲＬにおいて以下のことを特定すると、標準の(x, y)プロットが発生され、曲線近似が可能になる。従って、図９のデータをプロットするには、以下のＵＲＬをリクエストする。
http://ml1jrz0c/GenericPlotter.asp?ptype=ex&np=9
【００７６】
ptype=xy及びnp=9とＡＳＰページに特定すると、標準のx, yプロットが発生され、最初の９個のデータポイントがプロットされる。従って、曲線の近似が行われクライアントに送られる。この動作の結果は図２１のスクリーンに表れる。図２１は、データの最良近似重ね書きをした生のデータプロットと最良近似式を示す。ｘｙプロットが選択されると、ＡＳＰにより曲線近似ルーチンが自動的に作動し、元のプロット上に重ね書きされるプロットデータの最小二乗近似が発生する。この例では、図１９の示すファイルから９個のデータポイントがプロットするために選択される。
【００７７】
本発明は従来技術と比べて有意な利点を有する。ウェブインターフェイスを介してデータのＡＳＣＩＩ形式にアクセスすると、ＡＳＰコードに書き込まれた方法かまたは例えば、信号分析（例えば、周波数分析、信号セグメント長（ＳＴセグメント）分析、信号の平均化など）を行う能力を増加させる外部の.dllファイルの何れかを介して分析ツールの重ね書きが可能になる。これはエクセルスプレッドシートツールそれ自体（即ち、フーリエ変換、例えばパワースペクトル分析、Lombピリオドグラム及びウェーブレット分析に含まれるマクロを用いることにより行うことができる。あるいは、これらの方法をサーバーアプリケーションの内部の生のデータのこの分析を行うことができるVisual BasicまたはJscript（またはその言語）で書くことができる。その結果はウェブにより作動される装置（パーソナルデジタルアシスタント、ラップトップ、携帯電話）に送信可能である。
【００７８】
本発明はピクセルのＡＳＣＩＩ値にアクセスするため、スクリーン情報でビットマップ画像全体をペーストする必要はない。サーバーからウェブのクライアントへ生の.jpgまたは.bmp画像を送らなくても部分的な画像をスクリーン（または画像の一部）上に与えることが可能である。本発明はサーバーとクライアントとの間でＡＳＣＩＩデータの受け渡しを可能にするため相互性能が増加する。また、これらの方法はVisual Basicで書かれるため、既に存在する製品内部においてバックエンド法としてあげることができる。
【００７９】
回帰曲線の数学的処理及び生のデータの抽出はサーバー装置（クライアントでない）上で起こるため、アプレットが局部的な装置にアクセスできないことに関連するセキュリティ制限（即ち、アプレットに対する特別なセキュリティ制限を非作動にすることなく）満足する。本発明により、ウェブブラウザーまたはJavaプラグインサポートする任意の装置上にデータをプロットすることが可能である。サーバー上の処理及びＨＴＭＬを介するクライアントへのＡＳＣＩＩデータの送信により、サーバーとクライアントとの間の低帯域幅に対する解決法が得られるが、その理由はクライアントのプロセッサを用いてクライアント上にプロットが発生されるからである。
【００８０】
本発明の特定の実施例に関して説明したが、特許請求の範囲に記載される本発明の思想及び範囲から逸脱することなく多数の変形例及び設計変更が可能であることがわかるであろう。例えば、本願に記載した実施例は単一のアプリケーションサーバーを組み込んでいるが、当業者は任意の数のコンピュータシステムアプリケーションサーバー、データサーバー及びウェブサーバーにより本発明を実現できることがわかるであろう。同様に、別個の画像リーダーに加えて、別個の画像リーダー、データオブジェクト、信号プロセッサ及び画像形成オブジェクトに加えて、本発明のソフトウェアは個々の成分またはアプリケーションの組を備えた単一のアプリケーションを構成することが可能であり、その形態は特に限定されない。
【図面の簡単な説明】
【００８１】
【図１】本発明の好ましい実施例の動作を示すフローチャートである。
【図２】クライアントコンピュータ上の遠隔場所で表示されるＥＣＧビットマップ画像のサンプルを示すコンピュータスクリーン画像である。
【図３】アプレットがファイルに書き込めるようにするためのセキュリティーポリシーファイルのコンテンツのサンプルを示すコンピュータスクリーン画像である。
【図４】本発明のアプレットReadImageのappletviewerによる実行を示すコンピュータスクリーン画像である。
【図５】本発明のＨＴＭＬファイルの内部にappletviewerによりReadImageを生成させるコンピュータスクリーン画像である。
【図６】本発明においてテキストに書き込まれマイクロソフトエクセルにインポートされたＥＣＧ画像を含むファイルからのデータを示すコンピュータスクリーン画像である。
【図７】マイクロソフトエクセル内のユーティリティーRead.BMPにより捕捉された生のデータを用いて描かれる本発明のピクセル値のプロットを示すコンピュータスクリーン画像である。
【図８】本発明により処理されるデータを読み込むための準備としてデータ範囲を設定し名前を定義するコンピュータスクリーン画像である。
【図９】本発明における必要なコラム名を示す更新されたマイクロソフトエクセルのスプレッドシートを示すコンピュータスクリーン画像である。
【図１０】ＳＳＰＵを用いた本発明の元のビットマップファイルからの一部のデータのウェブブラウザー曲線を示すコンピュータスクリーン画像である。
【図１１】ＡＰＵを用いた本発明の元のビットマップファイルからの一部のデータのウェブブラウザー曲線を示すコンピュータスクリーン画像である。
【図１２】ビットマップまたはＪＰＥＧファイルからＡＳＣＩＩ(x, y)データを抽出する本発明の新しいマクロを発生させるコンピュータスクリーン画像である。
【図１３】ビットマップファイルからピクセルデータを抽出するために本発明においてユーティリティーRead.BMPにより使用されるInput_Sheetデータ入力ウィンドウを示すコンピュータスクリーン画像である。
【図１４】本発明に使用するマクロ割り当てウィンドウを示すコンピュータスクリーン画像である。
【図１５】元の画像から特定のカラースキームを抽出するユーティリティーRead.BMPの能力を示すよう本発明において使用されるビットマップrainbow..bmpを示すコンピュータスクリーン画像である。
【図１６】図１５のビットマップファイルからの処理済出力を示すコンピュータスクリーン画像である。
【図１７】本発明においてtestmap..bmpと呼ぶ画像ファイルの内容を示すコンピュータスクリーン画像である。
【図１８（ａ）】本発明に用いるrainbow..bmpから作成される青色を示すコンピュータスクリーン画像である。
【図１８（ｂ）】本発明に用いるrainbow..bmpから作成される緑色を示すコンピュータスクリーン画像である。
【図１８（ｃ）】本発明に用いるrainbow..bmpから作成されるピンク色を示すコンピュータスクリーン画像である。
【図１９】本発明において非ＥＣＧ特定データが入力され、セル領域が強調されたエクセルスプレッドシートウィンドウを示すコンピュータスクリーン画像である。
【図２０】ＡＰＵの実行を、ユーティリティーへのＵＲＬコールに含まれるパラメータを強調して示すコンピュータスクリーン画像である。
【図２１】本発明に用いるアプレットベースのＡＰＵのx-y作図出力を示すコンピュータスクリーン画像である。
【国際公開パンフレット】
2005503851.tif 000004
2005503851.tif 000005
2005503851.tif 000006
2005503851.tif 000007
2005503851.tif 000008
2005503851.tif 000009
2005503851.tif 000010
2005503851.tif 000011
2005503851.tif 000012
2005503851.tif 000013
2005503851.tif 000014
2005503851.tif 000015
2005503851.tif 000016
2005503851.tif 000017
2005503851.tif 000018
2005503851.tif 000019
2005503851.tif 000020
2005503851.tif 000021
2005503851.tif 000022
2005503851.tif 000023
2005503851.tif 000024
2005503851.tif 000025
2005503851.tif 000026
2005503851.tif 000027
2005503851.tif 000028
2005503851.tif 000029
2005503851.tif 000030
2005503851.tif 000031
2005503851.tif 000032
2005503851.tif 000033
2005503851.tif 000034
2005503851.tif 000035
2005503851.tif 000036
2005503851.tif 000037
2005503851.tif 000038
2005503851.tif 000039
2005503851.tif 000040
2005503851.tif 000041
2005503851.tif 000042
2005503851.tif 000043
2005503851.tif 000044
2005503851.tif 000045
2005503851.tif 000046
2005503851.tif 000047
2005503851.tif 000048
2005503851.tif 000049
2005503851.tif 000050
2005503851.tif 000051
2005503851.tif 000052
2005503851.tif 000053
2005503851.tif 000054
2005503851.tif 000055
2005503851.tif 000056
2005503851.tif 000057
2005503851.tif 000058
2005503851.tif 000059
2005503851.tif 000060
【国際公開パンフレット（コレクトバージョン）】
2005503851.tif 000061
【国際調査報告】
2005503851.tif 000062
2005503851.tif 000063
2005503851.tif 000064
2005503851.tif 000065