(57)【特許請求の範囲】
【請求項１】
入力装置とモニタを有するコンピュータ装置を用い、前記モニタに表示された医療情報に対する操作を記録又は再生して、医師同士の診療を支援するシステムにおいて、前記モニタに表示された医療情報に対する処理を示す処理コマンドと該処理コマンドの処理開始時間を組み合わせ、処理開始時間に従って並べた処理時間付きコマンド列の編集方法であって、
前記コンピュータ装置のコマンド制御部において、記録開始時に於ける前記処理コマンドの処理対象の状態を初期状態として記録する状態記録工程と、前記処理コマンドと前記処理コマンドの処理開始時間を記録するコマンド記録工程を有し、前記初期状態と前記処理時間付きコマンド列を組み合わせたデータブロックを作成する記録工程とを有し、
前記コマンド制御部は、前記処理時間付きコマンド列に対して、挿入又は削除の編集を行う場合、前記処理時間付きコマンド列の挿入又は削除の開始時点の画面の状態を、後半のデータブロックの初期状態として記録し、前半のデータブロックと後半のデータブロックを作成する分割工程を有することを特徴とする処理時間付きコマンド列の編集方法。
【請求項２】
入力装置とモニタを有するコンピュータ装置を用いて、前記モニタに表示された医療情報に対する操作を記録又は再生して、医師同士の診療を支援するシステムにおいて、前記モニタに表示された医療情報に対する処理を示す処理コマンドと該処理コマンドの処理開始時間を組み合わせ、処理開始時間に従って並べた処理時間付きコマンド列の編集方法であって、
前記コンピュータ装置のコマンド制御部において、記録開始時に於ける前記処理コマンドの処理対象の状態を初期状態として記録する状態記録工程と、前記処理コマンドと前記処理コマンドの処理開始時間を記録するコマンド記録工程を有し、前記初期状態と前記処理時間付きコマンド列を組み合わせたデータブロックを作成する記録工程と、前記処理対象の状態を再現する状態再生工程と、前記処理時間付きコマンド列を再生するコマンド再生工程を有し、前記データブロックに記録されている前記処理対象の前記初期状態と前記処理時間付きコマンド列を再生する再生工程を有し、
前記コマンド制御部は、前記処理時間付きコマンド列に対して、挿入又は削除の編集を行う場合、前記処理時間付きコマンド列の挿入又は削除の開始時点まで前記コマンド再生工程により再生して停止し、停止した画面の状態を、後半のデータブロックの初期状態として記録し、前半のデータブロックと後半のデータブロックを作成する分割工程を有することを特徴とする処理時間付きコマンド列の編集方法。
【請求項３】
入力装置とモニタを有するコンピュータ装置を用いて、前記モニタに表示した医療情報に対する操作を記録又は再生して、医師同士の診療を支援するシステムにおける、コンピュータ装置であって、
前記コンピュータ装置のコマンド制御部は、
前記処理時間付きコマンド列に対して、挿入又は削除の編集を行う場合、前記処理時間付きコマンド列の挿入又は削除の開始時点まで再生して停止し、停止した画面の状態を、後半のデータブロックの初期状態として記録し、前半のデータブロックと後半のデータブロックとを作成する処理時間付きコマンド列の編集を行う装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、処理時間付きコマンド列の編集方法、及びこの方法を用いた装置、この方法により記録したデータを保存する媒体に関する。
【０００２】
【従来の技術】
従来、コンピュータ上の処理を含むマルチメディアデータを扱うシステムとして、音声とユーザ操作等に伴う処理を記録し、記録した音声と処理を同期して再生するシステムが知られている。例えば、コンピュータの画面上に医用画像を表示し、医師が行う画面上の画像に対する処理と、その間に発言した所見の内容を記録し、再生するシステムがある。記録した内容を別の医師に送り、受信側で再生して医師の画像の読影結果を伝達できるシステムが報告されている（Ｃｏｍｐｕｔｅｒ  Ａｓｓｉｓｔｅｄ  Ｒａｄｉｏｌｏｇｙ、ｐｐ４１７−４２０（１９９６））。このようなシステムの実現方法として、音声と処理を並列に記録、再生する方法がある。記録時には音声は連続したデータとして記録し、処理はその処理を指示するコマンドとそのタイミングを記録していく。再生時には音声を再生して処理のタイミングに合わせてコマンドを実行させる。音声と処理の記録や再生を同時に開始して音声と処理を同期して記録、再生できる。
【０００３】
【発明が解決しようとする課題】
上記従来技術のように、時間と共に実行する処理を記録する場合、予め準備のために処理を行い、準備ができてから記録を開始する場合がある。例えば、従来技術の場合、予め参照する画像を表示し、拡大する等の処理をして見やすくしておいてから、記録を開始する。これら記録開始以前の処理は、コマンドとして保存しておくことで再現できるが、冗長な処理も存在する。例えば、一度拡大して次に縮小した場合等、縮小処理により拡大処理は打ち消されるため、この拡大処理と縮小処理のコマンドも保存しておくことは冗長となるという問題がある。従来技術では、この問題点について考慮されていなかった。また、マルチメディアデータにより質問や回答を送受する場合、受け取った質問を引用しながら回答することで、擬似的に対話をしているが如く回答を作成できる。これを実現する場合、コマンド列の中に別のコマンド列を挿入する等の編集をする必要がある。しかし、コマンド列は順番を変更すると処理結果が変わる場合があり、元のコマンド列で実行されていた処理の意味が編集により変化してしまう可能性があるという問題があった。従来技術では、この問題点についても考慮されていなかった。
【０００４】
本発明の目的は、記録開始以前に実行された処理結果を効率的に記録再生可能であり、コマンド列の編集が容易な、編集後も元の情報を正確に再現可能な処理時間付きコマンド列の編集方法を提供することにある。更に、この方法を用い、医療施設間の情報交換でスムーズな意志の伝達を実現するシステムを提供することにある。
【０００５】
【課題を解決する手段】
以下の説明で「…工程」は「…ステップ」を意味する。処理コマンドと処理コマンドの処理開始時間を組み合わせ、処理開始時間に従って並べた処理時間付きコマンド列の編集方法に於いて、本発明の処理時間付きコマンド列の編集方法は、（１）記録開始時に於ける処理コマンドの処理対象の状態を初期状態として記録する状態記録工程と、処理コマンドと処理コマンドの処理開始時間を記録するコマンド記録工程を有し、初期状態と処理時間付きコマンド列を組み合わせたデータブロックを作成する記録工程を有すること、（２）記録開始時に於ける処理コマンドの処理対象の状態を初期状態として記録する状態記録工程と、処理コマンドと処理コマンドの処理開始時間を記録するコマンド記録工程を有し、上記状態と処理時間付きコマンド列を組み合わせたデータブロックを作成する記録工程と、処理対象態を再現する状態再生工程と、処理時間付きコマンド列を再生するコマンド再生工程を有し、データブロックに記録されている処理対象の初期状態と処理時間付きコマンド列を再生する再生工程を有することに特徴がある。
【０００６】
本発明の処理時間付きコマンド列の編集方法は、更に、（２）に於いて、（ａ）データブロックの次に、記録工程で新たに記録したデータブロックを追加する追加工程を有し、再生工程は、複数のデータブロックを順番に再生すること、（ｂ）データブロックの処理時間付きコマンド列を所定の時間の前後で第１のデータブロックと第２のデータブロックに分割し、第２のデータブロックの処理対象の初期状態を、第１のデータブロックを最後迄再生した時の処理対象の状態にする分割工程を有すること、（ｂ’）（ｂ）に於いて第１のデータブロックの次に第２のデータブロックを追加する時、追加工程は、第１のデータブロックを最後迄再生した時の処理対象の状態と、第２のデータブロックの処理対象の初期状態を用いて第２のデータブロックの処理対象の初期状態を新たに作成すること、（ｃ）状態再生工程は、処理対象の現在の状態と、これから再生するデータブロックの処理対象の初期状態を用いて、データブロックの処理対象の初期状態を新たに作成すること、（ｄ）記録が実行された時間を元に世代情報を生成し、データブロックに世代情報を付加する世代情報付加工程と、再生するデータブロックを世代情報を基づいて選択する再生ブロック選択工程を有すること、（ｅ）記録工程は、コマンド記録工程が、処理時間付きコマンド列の記録を開始してから終了する迄の間に、音声データを記録する音声記録工程を有し、データブロックに音声データも組み合わせたデータブロックを作成し、再生工程は、データブロックを再生する時、処理時間付きコマンド列と同期して音声データを再生する音声再生工程を有すること、（ｆ）コマンド記録工程が、処理時間付きコマンド列の記録を開始してから終了する迄の間に、動画データを記録する動画記録工程を有し、データブロックに動画データも組み合わせたデータブロックを作成し、再生工程は、データブロックを再生する時、処理時間付きコマンド列と同期して動画データを再生する動画再生工程を有すること、（ｇ）（ｂ）に於いて、分割工程は、所定のデータブロックを所定の時間の前後で第１のデータブロックと第２のデータブロックに分割する時、所定のデータブロックに組み合わされている音声データを所定の時間の前後で分割し、それぞれ第１のデータブロックと第２のデータブロックに組み合わせること、（ｈ）（ｂ）に於いて、分割工程は、所定のデータブロックを所定の時間の前後で第１のデータブロックと第２のデータブロックに分割する時、所定のデータブロックに組み合わされている動画データを所定の時間の前後で分割し、それぞれ第１のデータブロックと第２のデータブロックに組み合わせること、等に特徴がある。
【０００７】
また、上記（１）又は（２）の処理時間付きコマンド列の編集方法を用いて作成されたデータブロックが記録されたコンピュータ読み取り可能な記録媒体であり、該記録媒体は、記録開始時に於ける処理コマンドの処理対象の状態を示す初期状態が記録された第１のデータ領域と、処理コマンドと処理コマンドの処理開始時間とが組合せられて記録された第２のデータ領域とを有し、記録媒体中のデータブロックは、初期状態が記録されたデータ領域を示す第１のポインタと、処理コマンドと処理コマンドの処理開始時間とが組合せられて記録されたデータ領域を示す第２のポインタとが組合せられて記録され、第１のデータ領域及び第２のデータ領域とデータブロックとが、第１のポインタ、及び第２のポインタにより対応付けられていることに特徴がある。
【０００８】
【発明の実施の形態】
以下、本発明の実施例を図を用いて詳細に説明する。本実施例では、コンピュータの画面上に表示した画像を操作しながら質問や回答を記録、再生する場合を例にとり説明する。コンピュータの画面上に表示した画像や画像上に表示したポインタ、線、文字等を処理対象とし、画像、ポインタ、線、文字等を表示して処理対象を生成する処理及びその状態を変更する処理をコマンドで実現する。
【０００９】
図１は、処理時間付きコマンド列の記録工程（ａ）及び再生工程（ｂ）の処理の一例を示すフローチャートである。図１に示す記録工程１−１では、先ず、状態記録工程２で処理対象の初期状態を記録し、コマンド記録工程３でコマンドの処理開始時間とコマンドを記録する。記録を停止（４）する迄、コマンド記録工程３を繰り返し、記録した初期状態とコマンド列を組合せてデータブロックを作成して記録を終了（５）する。再生工程６−１では、先ず、状態再生工程７により処理対象の初期状態を再現する。初期状態の再現が完了し、コマンド列の再生を開始してからの経過時間が処理開始時間と一致（１１）すると、コマンド再生工程８でコマンドを再生し、全コマンドを再生終了（９）するか、再生を停止（９）する迄、コマンド再生工程８を繰り返して再生を終了（１０）する。
【００１０】
図２は、記録した処理時間付きコマンド列のデータ構造、及び、画面表示の一例を示す図である。記録された処理時間付きコマンド列のデータブロック２１−１は、処理対象の初期状態２２−１、コマンドの処理開始時間２３−１（記録開始からの経過時間を示し、単位を秒とする）、コマンド２４−１からなる。記録開始時のコンピュータの画面２５−１には、画像Ａ（２６）が表示されている。記録終了時のコンピュータの画面２５−２には、画像Ａ（２６）上に、Ｌｉｎｅ−ａ（２７）、Ｐｏｉｎｔｅｒ−ａ（２８）、Ｔｅｘｔ−ａ（２９）が表示されている。
【００１１】
記録開始前、操作者は何枚かの画像を表示し目的の画像を探す。目的の画像Ａ（２６）を見つけたら、それ以外の画像は閉じて、画像Ａの左上を画面上の座標（Ｘ１、Ｙ１）の位置に合わせて表示する。操作者は、質問をするため記録を開始する。記録を開始すると、記録工程１−１では、初期状態記録工程２で開始時の画面２５−１を記録する（２２−１）。この時、現在の画像Ａ（２６）が座標（Ｘ１、Ｙ１）に表示されていることだけが記録され、それ以前に実行されていた他の画像の表示等は記録されない。操作者が、画像に対してＬｉｎｅ−ａ（２７）の記入、Ｐｏｉｎｔｅｒ−ａ（２８）の表示、移動、Ｔｅｘｔ−ａ（２９）の記入等の操作を行うと、コマンド記録工程３により、処理開始時間２３−１、コマンド２４−１を記録する。この処理開始時間は、初期状態の記録を完了した時点からタイマを開始し、操作が実行された時のタイマの経過時間の値を用いる。次に、記録されたデータブロック２１−１を再生すると、再生工程６−１では、状態再生工程７で初期状態２２−１を再現し、画面の座標（Ｘ１、Ｙ１）の位置に画像Ａ（２６）を表示して画面２５−１にする。再現が完了すると処理開始時間２３−１に合わせて（１１）、コマンド再生工程８によりコマンド２４−１を実行し、記録時のタイミングでＬｉｎｅ−ａ（２７）の記入、Ｐｏｉｎｔｅｒ−ａ（２８）の表示、移動、Ｔｅｘｔ−ａ（２９）の記入を再現する。再生時には初期状態の再現が完了した時点でタイマを開始し、タイマの経過時間と処理開始時間が一致した時点でコマンドを実行することにより、記録時と同じタイミングでコマンドの処理が再生できる。再生が完了するとコンピュータの画面上には、記録終了時と同じ画面２５−２が表示される。
【００１２】
本実施例では、記録開始時点の初期状態を記録してからコマンドを記録するので、記録開始前に実行された処理結果の状態のみが記録され、それ迄の過程については記録されない。従って、冗長な処理のない最適な内容が記録できる。再生時には、記録開始時の状態再現を高速化でき、コマンドを再生して記録時の状態を正確に再現できる。
【００１３】
次に、複数のデータブロックを記録再生する方法について説明する。図３は、処理時間付きコマンド列を複数回記録する処理（ａ）と、これを再生する処理（ｂ）の一例を示すフローチャートである。図３（ａ）は、処理時間付きコマンド列を記録する処理の流れを示し、記録工程１−２では、図１に示す記録工程１−１と同様にしてデータブロックを記録し、記録済みのデータブロックが存在する場合（３２）、追加工程３３−１により新しく記録したデータブロックを既に存在するデータブロックに追加する処理を行い終了する。図３（ｂ）は、複数のデータブロックを持つデータを再生する処理の流れを示し、再生を開始すると（３５）、先ず、先頭のデータブロックを指定して（３６）、再生工程６−２で再生する。再生工程６−２では、図１の再生工程６−１と同一の動作で再生を行いその終了条件が再生の停止でない場合（３７）で、次のデータブロックがある場合（３８）、次のデータブロックを指定して（３９）、再生工程６−２で再生する。再生停止が指示されるか（３７）、全てのデータブロックを再生する迄（３８）、再生を行い再生を終了する。
【００１４】
図４は、図３の方法を用いて記録した処理時間付きコマンド列のデータ構造、及び画面表示を示す図である。複数のデータブロックをまとめた処理時間付きコマンド列のデータ４１は、データブロック２１−１、２１−２、２１−３の３つを持ち、この順番に再生される。コンピュータの画面２５−１に画像Ａ（２６）が表示され、画面２５−３に画像Ｂ（４２）が表示され、画面２５−４に画像Ｃ（４３）が表示されている。
【００１５】
１度に複数の話題について質問をする時、記録を何度も行う場合がある。この時、画像の表示等の準備と記録を繰り返して質問を作成する。先ず、１件目の質問をするため、画面上に画像Ａ（２６）を表示する。記録を開始すると、記録工程１−２では、画面２５−１の初期状態２２−１を記録し、コマンドを記録して１件目のデータブロック２１−１を作成する。次に、画像Ａ（２６）を閉じ、画像Ｂ（４２）を表示して、２件目の質問の準備をする。記録を開始すると（３１）、記録工程１−２では、画面２５−３の初期状態２２−２を記録し、コマンドの記録を行う。記録工程を終了すると、記録済みの１件目のデータブロックが存在するので（３２）、追加工程３３−１で２件目の質問に関するデータブロック２１−２を１件目のデータブロック２１−１の後ろに追加する。同様に、３件目の質問のため、操作者は画面上に画像Ｃ（４３）を表示してから記録を開始する（３１）。３件目のデータブロックには画面２５−４の初期状態２２−３が記録され、この画像Ｃ（４３）に対する処理のコマンドが記録される。この３件目のデータブロック２１−３が追加工程３３−１で２件目のデータブロック２１−２の後ろに追加され、３つのデータブロックを持つデータ４１が作成される。
【００１６】
データ４１を再生する場合、先ず、先頭のデータブロック２１−１を再生工程６−２で再生し、初期状態２５−１を再現してコマンドを再生する。データブロック２１−１のコマンドを全て再生すると再生工程６−２が終了し、次のデータブロックがあるかを判定する（３８）。その結果、２件目のデータブロック２１−２が存在するので、２件目のデータブロック２１−２を指定して（３９）、再生工程６−２で再生する。再生工程６−２では初期状態２２−２を使い、画面２５−３にする。データブロック２１−２のコマンドを最後迄再生して、再生工程６−２を終了する。
【００１７】
同様にして、件目のデータブロック２１−３を再生工程６−２で再生する。再生工程６−２では、３件目のデータブロック２１−３の初期状態２２−３を再現し、画面２５−４にしてからコマンドを再生する。３件目のデータブロック２１−３のコマンドを全て再生すると再生工程６−２を終了し、次のデータブロックは存在しないので再生処理を終了する。
【００１８】
状態を変更しながら複数回の記録を行う場合、各記録開始時の状態を記録してからコマンドの記録を行い、再生時には初期状態の再現とコマンドの再生を繰り返し行うので、記録を何度も行い複数の話題について記録した場合でも、各話題の記録時の状態を正確に再現できる。
【００１９】
次に、データブロックに対して挿入、削除等の編集をする場合について説明する。質問が記録されたデータブロックを参照した操作者は、その質問に対する回答を記録して質問者に返す。この時、複数の質問に対して質問のすぐ後に、回答の挿入、不要部分の削除等を行い回答のデータを作成する。先ず、データを挿入する方法について説明する。
【００２０】
図５は、データブロックの途中に新しいデータブロックを挿入する処理の一例を示すフローチャートである。再生工程６−３でデータブロックを挿入時点迄再生して停止し、分割工程５２−１でデータブロックを停止時点で分割する。記録工程１−３で挿入するデータブロックを記録し、追加工程３３−２で分割した前半のデータブロックの後に追加する。更に、追加工程３３−３で挿入したデータブロックの後に、分割した後半のデータブロックを追加する。
【００２１】
図６は、図５の方法を用いてデータブロックの挿入を行う場合のデータ構造の変化と、画面の一例を示す図である。図６に於いて、２１−１は編集前のデータブロック、２１−４、２１−５はデータブロック２１−１を分割したデータブロック、２１−６は挿入するデータブロックであり、２５−１は編集前のデータブロックの初期状態を示す画面、２５−２は編集前のデータブロックを最後迄再生した後の画面、２５−５は編集前のデータブロックを途中迄再生した時点の画面、２５−６は挿入するコマンド列の実行後の画面を示す。
【００２２】
挿入処理５１では、元になるデータブロック２１−１を再生工程６−３で再生し、挿入を行う時間で再生を停止する。この時、画面上ではＬｉｎｅ−ａ（２７）が記入され、Ｐｏｉｎｔｅｒ−ａ（２８）が表示され移動されて画面２５−５になっている。次に分割工程５２−１では、データブロック２１−１を分割し、データブロック２１−４、２１−５を作成する。この時、再生を停止した時点の画面２５−５を、分割された後半のデータブロック２１−５の初期状態２２−５とする。次に、記録工程１−３で、挿入するデータブロック２１−６を記録する。この時の画面は、データブロック２１−１を途中で停止した画面２５−５なので、この状態が挿入するデータブロック２１−６の初期状態２２−６に記録される。操作者は、Ｌｉｎｅ−ｂ（６１）を記入し、挿入するデータブロック２１−６の記録を終了する。データブロック２１−６の記録が終わると、追加工程３３−２でデータブロック２１−４の後にデータブロック２１−６を追加する。追加工程３３−３でデータブロック２１−６の後に、データブロック２１−５を追加して挿入が完了する。
【００２３】
このデータを再生すると、先ず、データブロック２１−４の初期状態２２−４が再現され画面２５−１になる。データブロック２１−４のコマンドが処理開始時間に沿って実行され画面２５−５となる。データブロック２１−４の再生が終了すると、次にデータブロック２１−６を再生し、画面を初期状態２２−６に記録されている画面２５−５に合わせる。ここでは、現在の画面が画面２５−５なので、そのまま画面を変更せずにデータブロック２１−６のコマンドを再生し、Ｌｉｎｅ−ｂ（６１）を画面上に記入する。次に、データブロック２１−５を再生するので、初期状態２２−５を再生し、画面２５−５にする。ここでは、画面２５−６から画面２５−５にするため、Ｌｉｎｅ−ｂ（６１）を消去する。データブロック２１−５のコマンドを再生し、Ｔｅｘｔ−ａ（２９）を記入して、画面２５−２となる。データブロック２１−５の再生結果は、編集前のデータブロック２１−１の再生結果と同一の画面２５−２になる。
【００２４】
次に、データブロックの一部を削除する場合について説明する。図７は、データブロックのある時間からある時間迄の部分を削除する処理の一例を示すフローチャートである。分割工程５２−２で、削除する先頭の時間でデータブロックを２つに分割し、分割工程５２−３で、削除する最後の時間で後半のデータブロックを２つに分割してデータブロックを３つに分割する。削除工程７２で２番目のデータブロックを削除する。
【００２５】
図８は、図７に示す方法を用いてデータブロックの一部を削除する場合のデータ構造と画面の一例を示す図である。図８に於いて、２１−１は編集前のデータブロック、２１−７、２１−８、２１−９は分割されたデータブロック、２５−１、２５−２は、それぞれ編集前のデータブロックの初期状態の画面と実行後の画面、２５−７、２５−８は分割されたデータブロックの実行後の画面であり、データブロック２１−８を削除するものとする。データブロックの途中の一部分を削除する場合、先ず、分割工程５２−２で、削除する時間の先頭の時間で元のデータブロック２１−１を分割する。分割工程５２−３で、削除する時間の最後の時間で後半のデータブロックを分割する。この結果、データブロック２１−１は、２１−７、２１−８、２１−９の３つに分解される。この時、各データブロックの初期状態は、データブロック２１−７の初期状態２２−７は、編集前のデータブロック２１−１の初期の画面２５−１、データブロック２１−８の初期状態２２−８は、データブロック２１−１を実行した後の画面２５−７、データブロック２１−９の初期状態２２−９は、データブロック２１−８を実行した後の画面２５−８となる。削除工程７２で、削除する部分のデータブロック２１−８を削除する。このように途中のデータブロック２１−８を削除しても、データブロック２１−９では、開始時の初期の画面２５−８を記録しているので、データブロック２１−９の実行結果は、編集前のデータブロック２１−１の実行後の画面２５−２と同一になる。
【００２６】
データブロック２１−８が削除されたため、データブロック２１−９中のＰｏｉｎｔｅｒ−ａ（２８）の移動コマンドには、処理対象のＰｏｉｎｔｅｒ−ａ（２８）の生成コマンドが、存在しない。しかし、データブロック２１−９の初期状態には、Ｐｏｉｎｔｅｒ−ａ（２８）が記録されているため、Ｐｏｉｎｔｅｒ−ａ（２８）を移動するコマンドは、不整合を起こさずに処理実行できる。
【００２７】
挿入や削除によりコマンドの順番が変更された場合にも、コマンド実行前の初期状態を、編集前と同じに保持することで、あるコマンドを実行した結果は、編集前の同一のコマンドを実行した結果と同一に保持できる。処理対象を生成するコマンドを削除した場合にも、初期状態に必要な処理対象が記録されているので、コマンドの処理対象が存在しない不整合を未然に回避できる。
【００２８】
図６で説明した実施例では、初期状態２２−５を再現する時、現在の状態２５−６と次の初期状態２５−５の違い（差分）を見て、差分であるｌｉｎｅ−ｂを消去することで状態を一致させているが、現在の状態を一度消去後に初期状態を作成してもよい。この方法により、初期状態の再現処理を簡単にできる。
【００２９】
また、図６で説明した実施例では、追加するデータブロック２１−６の初期状態２２−６が前のデータブロック２１−４の結果と同じ２５−５であっても、その内容を記録しているが、状態の記録方法として、前のデータブロック２１−４の結果と同じ状態であることを初期状態２２−６に記録するようにしても良い。この方法により、記録するデータ量を削減できる。また、図６で示した実施例では、データブロック２１−１を途中迄再生してから分割し、データブロック２１−６を挿入しているが、データブロック中の所定の時間を指定して分割し、そこにデータブロックを挿入してもよい。この方法により、再生を実行しなくても時間を指定して挿入できる。また、図７、図８で示した実施例では、データブロックの途中一部を削除する方法についてせつめいした。データブロックの先頭から途中迄、又は、データブロックの途中から最後迄を削除する場合、データブロックを図７の分割工程を１回だけ行なって削除する時間で分割し、前半のデータブロック、又は後半のデータブロックを削除する。これらの方法を組み合わせて、任意の時間のコマンド列を削除できる。データブロック同士の順番を入れ替えるような編集を実行してもよい。各データブロックは、初期状態を持っているので、データブロック同士の順番を入れ替えても記録内容を正確に再現できる。
【００３０】
図６の挿入や図８の削除に関する説明では、編集後の同一のコマンドを実行した後の画面は編集前と同一になるようにしたが、編集の結果を編集時点以後の再生に反映させることもできる。例えば、図６に示す例では、最後迄再生すると、途中に挿入された処理の結果は見えなくなるが、挿入された処理の結果と編集前の結果が重なって見えるようにできる。この場合、データブロックを追加する時に初期状態を新たに生成する。
【００３１】
図９は、データブロックの挿入時に初期状態を新たに作成する場合のデータ構造と画面表示の一例を示す図である。図５に示す手順に従って挿入処理を行い、データブロック２１−１を２１−４、２１−５に分割する。この時、データブロック２１−５の初期状態は、図６の場合と同じ画面２５−５である。挿入するデータブロック２１−６を記録し、追加工程３３−２でデータブロック２１−４の後に２１−６を追加し、追加工程３３−３でデータブロック２１−６の後に２１−５を追加する。このとき追加工程３３−３でデータブロック２１−５の初期状態を新たに作成する。ここでは、全てのデータブロックの再生が完了した時に、挿入したデータブロック２１−６の結果であるＬｉｎｅ−ｂ（６１）も見えるようするために、元の初期状態の画面２５−５と追加されるデータブロック２１−６の最後の画面２５−６を比べ、データブロック２１−５の初期状態を画面２５−６に入れ替えて、データブロックの追加を行う。このデータを再生し、データブロック２１−５を最後迄再生すると画面２５−９になり、挿入したデータブロック２１−６のコマンドによるＬｉｎｅ−ｂ（６１）と、その後のデータブロック２１−５のコマンドによるＴｅｘｔ−ａが同時に見えるようになる。
【００３２】
図９に示す例のように、編集により挿入した処理の結果と、編集前のデータを合成した結果を見せることができる。この方法により、例えば、最後迄再生した段階で画面を印刷するような場合、元編集前の処理と編集により挿入された処理の結果が合成された画面を印刷できる。
【００３３】
図９に示す例では、データブロック２１−５の初期状態を、データブロック２１−６の状態に入れ替えても問題がなかったが、挿入するデータブロックの内容によっては、データブロック２１−５の処理が不整合を起こす場合がある。例えば、データブロック２１−６で、画像Ａの表示を終了するコマンドを記録した場合、データブロック２１−５のＴｅｘｔ−ａの記入コマンドは、その処理対象の画像がなく実行できない。このような不整合を防止するため、初期状態を入れ替える時、その後のコマンドで使用している処理対象を削除した初期状態に変更できなくしてもよい。また、挿入するデータブロックの処理内容として、元のデータブロックで生成した処理対象を削除できないように制限してもよい。これらの方法により、コマンドの処理対象が存在しない不整合を防止できる。また、編集の結果、処理対象の存在しなくなったコマンドを無視してもよい。この方法により、編集を自由に実行できる。
【００３４】
図９に示す例では、編集時に前のデータブロックの結果の状態と、次のデータブロックの初期状態から新しい初期状態を作成しているが、再生時に前のデータブロックの結果の状態と、これから再生するデータブロックの初期状態から新しい初期状態を作成してもよい。例えば、図６に示すデータブロック２１−５を再生する際、初期状態２２−５を利用する代わりに、図９で説明した画面２５−６に対応した初期状態を生成して、画面に反映させた後、残りのコマンド列を再生する。この方法により、元の状態を再現させるか、編集により加えられた処理の結果を残すかを再生時に選択可能になる。
【００３５】
次に、データブロックを記録するタイミングにより世代情報を付加し、その世代情報を使って再生する方法について説明する。図１０は、世代情報を付加したデータブロックを持つデータを送受する場合を一例を示す図である。世代情報とは、そのデータが、いつどのように作成されたかを示す情報である。ここでは、複数のデータブロックからなるデータの中で、データの新規作成時に記録されたデータブロックは世代情報を世代１とし、更に以降の編集によって追加されたデータブロックは世代情報を世代２、３と数値を大きくしていくことで、データブロックの作成されたタイミングを区別する。
【００３６】
図１０に於いて、コンピュータ装置１０４、１０５の各々の操作者同士でデータを送受する。コンピュータＡ（１０４）から送信するデータ１０１のデータブロック２１−１０は、世代情報１０３−１を持っている。コンピュータＢ（１０５）の操作者がデータ１０１を編集して送り返すデータ１０２は、データブロック２１−２、２１−３、２１−４、２１−５を持ち、各データブロックは世代情報１０３−２、１０３−３、１０３−４、１０３−５を持つ。
【００３７】
コンピュータＡでは、画像Ａに対する質問を記録し、データブロック２１−１０を作成する。この時、データブロック２１−１０に対して世代情報１０３−１を付加する。データブロック２１−１０はコンピュータＡで新規に作成されたので世代情報は１とする。データ１０１をコンピュータＢに送る。コンピュータＢの操作者は、データ１０１のデータブロック２１−１０を再生する。データブロック２１−１０の質問に対して回答するため、データブロック２１−１２を挿入し、データブロック２１−１４を追加したデータ１０２を作成する。この時、元のデータブロックを分割してできたデータブロック２１−１１、２１−１３の世代情報１０３−２、１０３−４は、元のデータブロックと同じ世代１で、新たに追加されたデータブロック２１−１２、２１−１４の世代情報は２となる。次に、データ１０２を受信したコンピュータＡでは、操作者がデータ１０２を再生して、回答を参照する。コンピュータＡの操作者は、自分の質問を見る必要がないと判断した場合、世代情報が２のデータブロック２１−１２、２１−１４のみを再生し、質問に対する回答だけを参照することができる。
【００３８】
図１０に示す例のように、世代情報を設けてデータブロックがどのタイミングで記録されたかを管理でき、世代を選択して再生できるので回答のみを簡単に参照する等、短時間での処理ができる。
【００３９】
図１０に示す例では、一つの世代のみを選択しているが、複数の世代を選択して再生してもよい。図１０に示す例では、データブロックが記録されたタイミングにより世代情報を付加したが、記録を実行した操作者の名前、ＩＤ等の情報、記録された施設や装置の特定情報等から、世代情報を生成してもよい。世代と同様に操作者名も記録して、操作者名等を指定してデータブロックを選択して再生してもよい。この方法により、データブロックの記録元を特定して選択したり、再生中にデータブロックの記録者名を表示したり、操作者別に色分けしてデータブロックの状態を表示できる。
【００４０】
図１１は、図１に示したコマンド列の記録再生処理手順に音声の記録再生の方法を加え、マルチメディアデータを扱う処理手順の一例を示す図である。図１１（ａ）は記録手順、図１１（ｂ）は再生手順を示す。記録工程１−４では、音声記録開始工程１２１で音声データの記録を開始し、音声記録停止工程１２２で音声データの記録を停止する。再生工程６−４では、音声再生開始工程１２３で音声データの再生を開始し、音声再生停止工程１２４では音声データの再生を停止する。その他の処理は図１と同じである。
【００４１】
次に、音声データや動画データと同期してコマンド列を記録再生するマルチメディアデータを扱う場合について説明する。図１２は、音声データや動画データとコマンド列とを組み合わせたデータ構造の一例を示す図である。図１２には、初期状態、処理時間付きコマンド列と音声データ１１４−１を組み合わせたデータブロック１１１の一例（図１２（ａ））、初期状態、処理時間付きコマンド列と動画データ１１５−１を組み合わせたデータブロック１１２の一例（図１２（ｂ））、初期状態、処理時間付きコマンド列と音声データ１１４−２と、動画データ１１５−２を組み合わせたデータブロック１１３の一例（図１２（ｃ））が示される。
【００４２】
音声と組み合わせたマルチメディアデータを記録する場合、図１１に示す記録工程１−４を開始すると、先ず、状態記録工程２で初期状態を記録し、コマンドの記録を開始する前に音声記録開始工程１２１で音声データの記録を開始する。コマンドの記録が停止されたら（４）、音声記録停止工程１２２で音声データの記録を停止する。以上の結果、初期状態と記録した処理時間付きコマンド列に加え音声データ１１４−１を組み合わせたデータブロック１１１が作成できる。
【００４３】
データブロック１１１を再生する場合、図１１に示す再生工程６−４では、初期状態を再現し（７）、音声再生開始工程１２３で音声データ１１４−１の再生を開始してからタイマを開始してタイマの経過時間が処理開始時間と一致したら（１１）、コマンドを再生する（８）。コマンド終了、再生停止の場合（９）、音声再生停止工程１２４で音声データの再生を停止する。
【００４４】
図１１、図１２では、処理時間付きコマンド列と音声データを同期して記録再生する方法について説明したが、音声データの代わりに動画データを記録再生し、図１２に示すデータブロック１１２を記録再生してもよい。更に、音声と動画を同時に記録再生し、データブロック１１３を記録再生してもよい。
【００４５】
図１１、図１２で説明した方法により、音声や動画と組み合わせて処理を行うマルチメディアデータの記録再生を実行できる。音声や動画と組み合わせて、コマンド列を記録再生することにより、質問や回答を分かりやすく伝達できる。図１２に示した、音声データ、動画データと組み合わせたデータブロックに対し、挿入、削除等の編集を行う場合、データブロックの分割が必要となる。この時、分割工程（図５に示す５２−１、図７に示す５２−２、５２−３）で、コマンド列を分割する時間と同じ時間で、音声データや動画データを分割する。同じ時間に記録されたコマンドと音声、動画を同じデータブロックに組み合わせる。この方法により、音声データ、動画データと組み合わせたデータブロックを分割でき、挿入、削除等の編集ができる。
【００４６】
音声データや動画データを組み合わせたデータブロックを複数記録する場合、処理時間付きコマンド列と音声データのデータブロック、処理時間付きコマンド列と動画データのデータブロック、処理時間付きコマンド列と音声データと動画データのデータブロック、処理時間付きコマンド列のみのデータブロックが混在してもよい。この方法により、記録を行う時に必要に応じて記録するデータの種類を選択できる。
【００４７】
本実施例では、コマンド列の処理開始時間は、データブロックのコマンドの記録開始からの経過時間を用いているが、絶対時間や前のコマンドからの時間差等の値を用いてもよい。絶対時間を用いて記録時の時間計算の負荷を軽減できる。前のコマンドからの時間差を用いて分割時に時間の再計算をする必要がなく、処理を簡単できる。
【００４８】
次に、処理時間付きコマンド列の編集方法を医療分野に応用したシステムの一例として、マルチメディアデータで医用画像に対する質問や回答を記録し、遠隔地の医師同士の診療を支援するシステムについて説明する。図１３は、処理時間付きコマンド列と、音声、動画とを組み合わせたマルチメディアデータを診療支援に用いるシステムの一例を示す図である。システム本体１３１として、医療情報、動画等を表示するモニタ１３２を持つパーソナルコンピュータやワークステーション等のコンピュータ装置を用いる。
【００４９】
システムは、コマンドデータを制御するコマンド制御部１３３と、音声や動画データを制御する音声・動画データ制御部１３４を持つ。コマンド制御部１３３は、モニタ１３２に記録や再生の入力をするコントロールパネル１４５を表示し、再生ボタン１４６、記録ボタン１４７、停止ボタン１４８等を操作者が操作すると、マルチメディアデータの記録、再生の開始、停止が実行される。記録時にはマウス１３６、キーボード１３７等の入力装置からの操作により発生するコマンドを記録する。再生時には、記録されたコマンドを再生して、画面上に医用画像１３８を表示し、医用画像１３８で注目部位を指示するポインタ１３９を移動させたり、線１４０を表示したりする。音声・動画データ制御部は、コマンド制御部１３３からの指示により動作し、記録時には、マイク１４１から入力される音声、カメラ１４２から入力される動画を記録する。再生時には、スピーカ１４３に音声を出力し、モニタ１３２に動画１４４を表示する。コマンド制御部１３３は、記録処理１−４、再生処理６−４の他、挿入処理５１、削除処理７１を実行する。音声・動画データ制御部は、記録再生の開始と停止の指示（１２１、１２２、１２３、１２４）をコマンド制御部から受け音声や動画の記録再生を行う。
【００５０】
本実施例で使用されるコマンドとして、例えば、特定の画像を表示する画像上の注目部位を指示するポインタを表示、移動する、線、文字を画像上に表示する等の他、画像の拡大・縮小、画像の濃度階調の変更、フィルタリング等の画像処理等がある。
【００５１】
図１３に示すシステムを複数の医療施設に設置し、医療施設間での情報交換を行う。各施設間はネットワークで接続し、例えば電子メール等の方法により記録した内容を相手に伝送する。例えば、診療所の主治医と病院の専門医の間を結び、診療所で撮影した医用画像の分からない点等を主治医から専門医に質問する。病院の主治医は質問に対する回答を主治医に返送する。質問や回答をマルチメディアデータの記録により作成することにより、医師に分かりやすい質問や回答を作成できる。医用画像は一度の検査で多量に発生し、診療所側では複数の画像に対して複数の質問事項が発生する。しかし、病院の専門医は多忙なため、できるだけ短時間で参照できる質問を記録するため、質問をする診療所側では、画像を変更して短時間で質問を記録しこれを繰り返す。再生側では、初期状態の再現とコマンドの再生を繰り返し行い、複数の質問を短時間で参照できる。専門医は、診療所側で分かりやすいように質問を引用しながら回答をする。複数の質問がある場合、質問の直後に回答を挿入する等、本実施例によるデータの挿入、削除等の編集を行い分かりやすい回答を作成できる。
【００５２】
情報を電子メールにより伝送する方法について説明したが、直接ファイルを転送して相手に記録した内容を伝送する方法、ネットワークを使用せずフロッピーディスク、光磁気ディスク等の記録媒体に保存して搬送する方法もある。これらの方法を用いて、ネットワークの有無や容量、情報の安全性を確保する必要性等、利用する環境に応じて選択できる。本実施例では、診療所と病院間の情報交換について説明したが、その他、検査センタ、専門病院等あらゆる医療施設間の情報交換に利用可能である。情報交換だけでなく、記録した内容を教育用の教材として用いてもよい。専門医の読影の経過を記録することにより専門医がどのような点に注意して画像の診断を実行しているかを判断できる。
【００５３】
本実施例では、データブロックの中にコマンド列、音声データ、動画データを１つの領域に書き込んだデータの構造の例を用いて説明したが、データを別領域に持つデータ構造もある。
【００５４】
図１４は、コマンド列、音声データ、動画データの実体を媒体中の任意の位置に保存し、データブロックに、コマンド列、音声データ、動画データの実際の保存位置を示すポインタを記述する場合のデータ構造の一例を示す図である。図１４（ａ）に示すデータブロック１５１−１〜１５１−３は、世代情報の他、初期状態を示すポインタ（Ｆｎ：ｎ＝１、２、３）１５２、コマンド列を示すポインタ（Ｃｎ：ｎ＝１、２、３）１５３、音声データを示すポインタ（Ｓｎ：ｎ＝１、２、３）１５４、動画データを示すポインタ（Ｍｎ：ｎ＝１、２、３）１５５を持っている。図１４（ｂ）に示す実際のデータ（データの実体）は、別の領域１５６にあり、各データに対してポインタ１５７が設けられている。図１４では、データブロック１５１−１と１５１−３の間に、データブロック１５１−２を挿入した状態を示している。ポインタを利用しているので、ポインタが指し示す場所を変更してデータを分割できる。元々一つであったデータを、Ｃ１とＣ２、Ｓ１とＳ２、Ｍ１とＭ２のように、データの位置を変更せずに指定するポインタを変更することにより分割している。また、後から挿入したデータブロック１５１−２の実際のデータは、元のデータの後に加えているが、データブロックの順番により、実際のデータとは異なる順番で再生される。図１４に示すように、データブロックに実際のデータでなく、ポインタの変更だけで、データの分割、挿入等の編集を行った場合でも、実際のデータを移動させることなく、簡単に再生の順番を変更できる。
【００５５】
図１４に示す例では、データブロック中には初期状態、コマンド列、音声データ、動画データのポインタを指定したが、データブロック中に直接データを記述したものと混在させてもよい。本実施例では、データブロックは、再生する順番に並べているが、データブロックの順番を管理するテーブルを用意し、データブロックのポインタを指定してもよい。この方法により、編集を行った場合でも、データブロックそのものを移動する必要がなく編集が簡単にできる。本実施例では、画面に表示した画像への操作を用いて説明したが、機械装置の動作の制御等に用いてもよい。機械装置の初期状態とその後の動作に対するコマンドを記録するので、記録内容を用いて機械装置を動作させる時、記録した動作を正確に再現できる。
【００５６】
これまで説明した実施例では、記録と再生の両方の機能を持つ端末について説明したが、記録のみ、再生のみに機能を簡略化した端末を用いても良い。例えば、図３の（ａ）に示す記録機能だけを持つ端末では、医師が画像を診断する一連の作業を証拠として記録する場合等に使用できる。また、図３（ｂ）に示す再生機能だけを持つ端末では、医師の教育を目的として、専門の医師の診断の作業の記録を参照する場合等に使用できる。このような、記録のみ、又は再生のみの編集方法を使用することにより端末の構築を簡単にできる。
【００５７】
【発明の効果】
本発明の処理時間付きコマンド列の編集方法では、記録時に処理対象の初期状態を記録するので、記録開始以前に実行された処理結果を効率的に記録再生でき、また、初期状態とコマンド列を一つのデータブロックとして扱うので、コマンド列の編集が容易にでき、編集後も元の情報を正確に再現できる。更に、本発明の編集方法を用いて、マルチメディアデータを送受することにより、医療施設間の情報交換に於いてスムーズな意志の伝達を可能とするシステムを実現できる。
【図面の簡単な説明】
【図１】本発明の実施例での処理時間付きコマンド列の記録及び再生方法を示す図。
【図２】本発明の実施例での処理時間付きコマンド列のデータ構造、及び、画面表示の例を示す図。
【図３】本発明の実施例での処理時間付きコマンド列を複数回記録する処理と、これを再生する処理を示すフローチャート。
【図４】図３の方法を用いて記録した処理時間付きコマンド列のデータ構造、及び画面表示の例を示す図。
【図５】本発明の実施例でのデータブロックの途中に新しいデータブロックを挿入する処理を示すフローチャート。
【図６】図５の方法を用いてデータブロックの挿入を行う場合のデータ構造の変化と、画面の例を示す図。
【図７】本発明の実施例でのデータブロックの一部を削除する処理のを示すフローチャート。
【図８】図７に示す方法を用いてデータブロックの一部を削除する場合のデータ構造と画面の例を示す図。
【図９】本発明の実施例でのデータブロックの挿入時に初期状態を新たに作成する場合のデータ構造と画面表示の例を示す図。
【図１０】本発明の実施例での世代情報を付加したデータブロックを持つデータを送受する場合を示す図。
【図１１】図１に示したコマンド列の記録再生処理手順に音声の記録再生の方法を加え、マルチメディアデータを扱う処理手順を示す図。
【図１２】本発明の実施例での音声データや動画データとコマンド列とを組み合わせたデータ構造を示す図。
【図１３】本発明の実施例での処理時間付きコマンド列と、音声、動画とを組み合わせたマルチメディアデータを診療支援に用いるシステムを示す図。
【図１４】本発明の実施例でのコマンド列、音声データ、動画データの実体を媒体中の任意の位置に保存し、データブロックにコマンド列、音声データ、動画データそれぞれの実体の保存位置を示すポインタを記述するデータ構造の一例を示す図。
【符号の説明】
１−１〜１−３…記録工程、２…状態記録工程、３…コマンド記録工程、６−１〜６−４…再生工程、７…状態再生工程、８…コマンド再生工程、２１−１〜２１−１４、１１１、１１２、１１３、１５１−１〜１５１−３…データブロック、２２−１〜２２−９…初期状態、２３−１…処理開始時間、２４−１…コマンド列、２５−１〜２５−９…画面、２６…画像Ａ、２７…Ｌｉｎｅ−ａ、２８…Ｐｏｉｎｔｅｒ−ａ、２９…Ｔｅｘｔ−ａ、３３−１〜３３−３…追加工程、４１、１０１、１０２…データ、４２…画像Ｂ、４３…画像Ｃ、５２−１〜５２−３…分割工程、６１…Ｌｉｎｅ−ｂ、７２…削除工程、１０３−１〜１０３−５…世代情報、１０４、１０５…コンピュータ、１１４−１〜１１４−２…音声データ、１１５−１〜１１５−２…動画データ、１３１…システム本体、１３２…モニタ、１３３…コマンド制御部、１３４…音声・動画制御部、１３６…マウス、１３７…キーボード、１３８…医用画像、１３９…ポインタ、１４０…線、１４１…マイク、１４２…カメラ、１４３…スピーカ、１４４…動画表示、１４５…コントロールパネル、１４６…再生ボタン、１４７…記録ボタン、１４８…停止ボタン、１５２…初期状態データへのポインタ、１５３…処理時間付きコマンド列へのポインタ、１５４…音声データへのポインタ、１５５…動画データへのポインタ、１５６…データの実体、１５７…ポインタ。
【図１】
0003855462.tif 000002
【図２】
0003855462.tif 000003
【図３】
0003855462.tif 000004
【図４】
0003855462.tif 000005
【図５】
0003855462.tif 000006
【図６】
0003855462.tif 000007
【図７】
0003855462.tif 000008
【図８】
0003855462.tif 000009
【図９】
0003855462.tif 000010
【図１０】
0003855462.tif 000011
【図１１】
0003855462.tif 000012
【図１２】
0003855462.tif 000013
【図１３】
0003855462.tif 000014
【図１４】
0003855462.tif 000015