(57)【要約】【課題】利用者が書く動作以外の操作をすることなしに、書き易く書き続け易い描画支援を行なう。【解決手段】入力装置４により描画入力画面３への入力がなされると、描画情報を画面表示するとともに、描画情報の座標を仮想的な描画スペース上の二次元座標に変換して格納する。描画処理装置１は、描画入力画面の境界線からある範囲の領域に書き込みがあった場合には、過去一定期間の描画情報によりスクロール方向を算出し、この方向に応じて、仮想的な描画スペースからの描画情報の切り出し領域内の描画情報を格納済みの描画情報から取得し、描画入力画面に表示するための座標に変換して、描画入力画面に再描画する。【選択図】      図１
2010134897.tif 000002
【特許請求の範囲】
【請求項１】
描画情報の入力操作を受け付ける入力手段と、
前記入力手段により入力した描画情報を当該描画情報の前記描画画面における描画対象領域の情報とともに格納する描画情報格納手段と、
前記入力手段により入力した描画情報および前記描画情報格納手段に格納される描画情報を描画するための描画画面を有する表示手段と、
前記入力手段により入力した描画情報および前記描画情報格納手段に格納される描画情報を当該描画情報の前記描画画面における描画対象領域の情報をもとに前記描画画面に表示させる表示制御手段と、
前記入力手段により入力した描画情報の内容に応じて、前記描画画面に表示される描画情報の自動スクロール機能のパラメータを算出する算出手段と、
前記描画情報格納手段に格納された描画情報の前記描画画面への描画対象領域を前記算出手段により算出したパラメータに応じて変更して、この変更した描画対象領域にしたがって当該描画情報を前記描画画面に再描画することで前記描画画面上の描画情報をスクロールする描画情報スクロール手段と
を備えたことを特徴とする描画装置。
【請求項２】
前記入力した全ての描画情報および前記描画情報格納手段に格納された全ての描画情報を表示するための全描画情報表示画面を有する全描画情報表示手段をさらに備え、
前記表示手段が有する描画画面は、前記全描画情報表示画面の一部分を拡大した画面である
ことを特徴とする請求項１に記載の描画装置。
【請求項３】
入力操作を受け付ける入力手段と、
前記入力手段により描画情報を入力した場合、この描画情報を当該描画情報の描画画面における描画対象領域の情報とともに格納する描画情報格納手段と、
前記入力手段により入力した描画情報および前記描画情報格納手段に格納される描画情報を描画するための描画画面を有する表示手段と、
前記入力した全ての描画情報および前記描画情報格納手段に格納された全ての描画情報を表示するための全描画情報表示画面を有する全描画情報表示手段と、
前記入力手段による入力操作の内容に応じて、当該入力操作が前記描画画面に対する描画情報の入力のための操作であるか、または前記全描画情報表示画面に対する入力操作であるかを識別判断する入力識別手段と、
入力操作が前記描画画面に対する描画情報の入力のための操作であると前記入力識別手段により識別判断した場合は、前記入力した描画情報および前記描画情報格納手段に格納される描画情報を当該描画情報の前記描画画面における描画対象領域の情報をもとに前記描画画面に表示させ、入力操作が前記全描画情報表示画面に対する入力操作であると前記入力識別手段により識別判断した場合は、当該全描画情報表示画面に対する入力操作内容に基づいて前記描画画面に対する所定の表示を行なう表示制御手段と
を備えたことを特徴とする描画装置。
【請求項４】
前記入力手段による新たな描画情報の入力によって前記表示手段が有する描画画面に表示される描画情報の範囲が、前記全描画情報表示手段が有する全描画情報表示画面の所定の範囲を超えた場合に、前記新たに入力された描画情報および前記描画情報格納手段に格納された描画情報が全て前記全描画情報表示画面に表示されるように当該全描画情報表示画面に表示される描画情報の縮小倍率を計算する計算手段と、
前記全描画情報表示画面に表示される描画情報を前記計算した倍率に応じて縮小する縮小表示処理手段とをさらに備えた
ことを特徴とする請求項２または請求項３に記載の描画装置。
【請求項５】
請求項１乃至請求項４の何れかに記載の他の描画装置との間で描画情報を送受信する送受信手段をさらに備え、
前記描画情報格納手段は、前記送受信手段により他の描画装置から受信した描画情報を当該描画情報の前記描画画面における描画対象領域の情報とともに格納する
ことを特徴とする描画装置。
【請求項６】
入力操作を受け付ける入力手段と、前記入力手段により描画情報を入力した場合、この入力した描画情報を当該描画情報の描画画面における描画対象領域の情報とともに格納する描画情報格納手段と、前記入力手段により入力した描画情報および前記描画情報格納手段に格納される描画情報を描画するための描画画面を有する表示手段とを備えた描画装置に用いられる描画方法であって、
前記描画装置は、
前記入力手段により入力した描画情報および前記描画情報格納手段に格納される描画情報を当該描画情報の前記描画画面における描画対象領域の情報をもとに前記描画画面に表示させ、
前記入力手段により入力された描画情報の内容に応じて、前記描画画面に表示される描画情報の自動スクロール機能のパラメータを算出し、
前記描画情報格納手段に格納された描画情報の前記描画画面への描画対象領域を前記算出したパラメータに応じて変更して、この変更した描画対象領域にしたがって当該描画情報を前記描画画面に再描画することで前記描画画面上の描画情報をスクロールする
ことを特徴とする描画方法。
【請求項７】
前記描画装置は、
前記入力した全ての描画情報および前記描画情報格納手段に格納された全ての描画情報を表示するための全描画情報表示画面を有する全描画情報表示手段をさらに備え、
前記表示手段が有する描画画面は、前記全描画情報表示画面の一部分を拡大した画面である
ことを特徴とする請求項６に記載の描画方法。
【請求項８】
入力操作を受け付ける入力手段と、前記入力手段により描画情報を入力した場合、この入力した描画情報を当該描画情報の描画画面における描画対象領域の情報とともに格納する描画情報格納手段と、前記入力手段により入力した描画情報および前記描画情報格納手段に格納される描画情報を描画するための描画画面を有する表示手段とを備えた描画装置に用いられる描画方法であって、
前記描画装置は、
前記入力した全ての描画情報および前記描画情報格納手段に格納された全ての描画情報を表示するための全描画情報表示画面を有する全描画情報表示手段をさらに備え、
前記入力手段による入力操作の内容に応じて、当該入力操作が前記描画画面に対する描画情報の入力のための操作であるか、または前記全描画情報表示画面に対する入力操作であるかを識別判断し、
入力操作が前記描画画面に対する描画情報の入力のための操作であると識別判断した場合は、前記入力した描画情報および前記描画情報格納手段に格納される描画情報を当該描画情報の前記描画画面における描画対象領域の情報をもとに前記描画画面に表示させ、入力操作が前記全描画情報表示画面に対する入力操作であると識別判断した場合は、当該全描画情報表示画面に対する入力操作内容に基づいて前記描画画面に対する所定の表示を行なう
ことを特徴とする描画方法。
【請求項９】
前記描画装置は、
前記入力手段による新たな描画情報の入力によって前記表示手段が有する描画画面に表示される描画情報の範囲が、前記全描画情報表示手段が有する全描画情報表示画面の所定の範囲を超えた場合に、前記新たに入力された描画情報および前記描画情報格納手段に格納された描画情報が全て前記全描画情報表示画面に表示されるように当該全描画情報表示画面に表示される描画情報の縮小倍率を計算し、
前記全描画情報表示画面に表示される描画情報を前記計算した倍率に応じて縮小する
ことを特徴とする請求項７または請求項８に記載の描画方法。
【請求項１０】
前記描画装置は、
請求項６乃至請求項９の何れかに記載の他の描画装置との間で描画情報を送受信し、
前記描画情報格納手段は、前記他の描画装置から受信した描画情報を当該描画情報の前記描画画面における描画対象領域の情報とともに格納する
ことを特徴とする描画方法。
【請求項１１】
請求項６乃至請求項１０の何れかに記載の描画方法をコンピュータに実行させるためのプログラム。
【請求項１２】
請求項１１に記載のプログラムを記録した、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばユーザが思考中の自分の考えやアイデアを書き出すための支援機能を有する描画装置、描画方法、プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
従来、思考中の自分の考えやアイデアを書き出す従来の装置として、ホワイトボードや紙がある。しかし、これらの従来の道具では、書き込むことで書くスペースが減るので、ある程度スペースが埋まってくると書き込む行為が止まってしまい、書き続けにくくなることがある。
【０００３】
また、物理的に書き込む場所が一つであるため、複数人で使用する場会に、同じ場所や近い揚所に同時に書けない、書く動作を始めることで注目を浴びる恥ずかしさや議論を中断させてしまうなどの躊躇があることから、思考中の考えを気軽に書き出すことや、また、議論に参加している全員が書き出すことは困難であるという問題がある。
【０００４】
これに対して、物理的に書き込む場所が一つであることや議論に参加している全員が書き出すことを解決する方法として、例えば特許文献１に開示されるような共有ホワイトボードシステムがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−６６３１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、前述した従来の描画システムには、書き込み続けると、画面が一杯になり、書き込めるスペースがいつか無くなる問題がある。また、書き込み部分が画面端の境界線に到達し、それ以上書き込めなくなる問題がある。
この問題を解消するために、デジタルツールであることを生かし、新しいページを開くなど新たな書き込みスペースを得る方法が考えられるが、この場合、利用者（ユーザ）は書き込む以外の操作を行なう必要があるため、書き続ける行為が止まってしまったり、これまでの書き込みに関連付けて書き続くことができなかったりする。仮想的に書き込みスペースを無限の広さのページとすると、スペースが広がるほど過去に書いたものが一覧しにくい。
【０００７】
さらに、手書きの描画手段であるマウスやペンタブレットは、細かく書くことが困難であることから、細かく書けずに書きにくい場合や、細かく書けないことで大きく書くことになり、スペースがすぐ埋まってしまう問題がある。
そこで、本発明の目的は、利用者が書く動作以外の操作をすることなしに、書き易く書き続け易い描画支援を行なうことが可能になる描画装置、描画方法、プログラムおよび記録媒体を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明に係わる描画装置は、描画情報の入力操作を受け付ける入力手段と、前記入力した描画情報を当該描画情報の前記描画画面における描画対象領域の情報とともに格納する描画情報格納手段と、前記入力した描画情報および前記描画情報格納手段に格納される描画情報を描画するための描画画面を有する表示手段と、前記入力手段により入力した描画情報および前記描画情報格納手段に格納される描画情報を当該描画情報の前記描画画面における描画対象領域の情報をもとに前記描画画面に表示させる表示制御手段と、前記入力手段により入力された描画情報の内容に応じて、前記描画画面に表示される描画情報の自動スクロール機能のパラメータを算出する算出手段と、前記描画情報格納手段に格納された描画情報の前記描画画面への描画対象領域を前記算出手段により算出したパラメータに応じて変更して、この変更した描画対象領域にしたがって当該描画情報を前記描画画面に再描画することで前記描画画面上の描画情報をスクロールする描画情報スクロール手段とを備えたことを特徴とする。
【０００９】
上記構成の描画装置は、また、前記入力された全ての描画情報および前記描画情報格納手段に格納された全ての描画情報を表示するための全描画情報表示画面を有する全描画情報表示手段をさらに備え、前記表示手段が有する描画画面は、前記全描画情報表示画面の一部分を拡大した画面であることを特徴とする。
【００１０】
また、本発明に係わる描画装置は、入力操作を受け付ける入力手段と、前記入力手段により描画情報を入力した場合、この描画情報を当該描画情報の描画画面における描画対象領域の情報とともに格納する描画情報格納手段と、前記入力手段により入力した描画情報および前記描画情報格納手段に格納される描画情報を描画するための描画画面を有する表示手段と、前記入力した全ての描画情報および前記描画情報格納手段に格納された全ての描画情報を表示するための全描画情報表示画面を有する全描画情報表示手段と、前記入力手段による入力操作の内容に応じて、当該入力操作が前記描画画面に対する描画情報の入力のための操作であるか、または前記全描画情報表示画面に対する入力操作であるかを識別判断する入力識別手段と、入力操作が前記描画画面に対する描画情報の入力のための操作であると前記入力識別手段により識別判断した場合は、前記入力した描画情報および前記描画情報格納手段に格納される描画情報を当該描画情報の前記描画画面における描画対象領域の情報をもとに前記描画画面に表示させ、入力操作が前記全描画情報表示画面に対する入力操作であると前記入力識別手段により識別判断した場合は、当該全描画情報表示画面に対する入力操作内容に基づいて前記描画画面に対する所定の表示を行なう表示制御手段とを備えたことを特徴とする。
【００１１】
上記構成の描画装置は、また、前記入力された全ての描画情報および前記描画情報格納手段に格納された全ての描画情報を表示するための全描画情報表示画面を有する全描画情報表示手段をさらに備え、前記表示手段が有する描画画面は、前記全描画情報表示画面の一部分を拡大した画面であり、前記入力手段による新たな描画情報の入力によって前記表示手段が有する描画画面に表示される描画情報の範囲が、前記全描画情報表示手段が有する全描画情報表示画面の所定の範囲を超えた場合に、前記新たに入力された描画情報および前記描画情報格納手段に格納された描画情報が全て前記全描画情報表示画面に表示されるように当該全描画情報表示画面に表示される描画情報の縮小倍率を計算する計算手段と、前記全描画情報表示画面に表示される描画情報を前記計算した倍率に応じて縮小する縮小表示処理手段とをさらに備えたことを特徴とする。
【００１２】
上記構成の描画装置は、また、他の描画装置との間で描画情報を送受信する送受信手段をさらに備え、前記描画情報格納手段は、前記送受信手段により他の描画装置から受信した描画情報を当該描画情報の前記描画画面における描画対象領域の情報とともに格納することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、利用者が書く動作以外の操作をすることなしに、書き易く書き続け易い描画支援を行なうことができる。  
また、本発明によれば、描画操作と描画領域選択操作の両方をシームレスに実行できる。また、本発明によれば、描画をしながら別の場所にある他者の書き込み内容の閲覧や、複数の離れた領域への書き込みを繰り返す操作を容易とすることができる。これにより、様々な場所に書き込みながら、または書き込んだ内容を閲覧しながらの思考や議論を妨げることを軽減することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施形態における描画システムの構成例を示す図。
【図２】本発明の第１の実施形態における描画システムの描画処理装置の構成例を示すブロック図。
【図３】本発明の第１の実施形態における描画システムにおける描画入力画面の自動スクロールの形態の一例を示す図。
【図４】本発明の第１の実施形態における描画システムによる処理動作の一例を示すフローチャート。
【図５】本発明の第１の実施形態における描画システムによる描画情報のスクロール形態の第１の例を示す図。
【図６】本発明の第１の実施形態における描画システムによる描画情報のスクロール形態の第２の例を示す図。
【図７】本発明の第１の実施形態における描画システムによる描画情報のスクロール形態の第３の例を示す図。
【図８】本発明の第１の実施形態における描画システムによる描画情報のスクロール形態の第４の例を示す図。
【図９】本発明の第１の実施形態における描画システムによる描画情報のスクロール形態の第５の例を示す図。
【図１０】本発明の第２の実施形態における描画システムの描画処理装置の構成例を示すブロック図。
【図１１】本発明の第２の実施形態における描画システムにより表示する描画入力画面と全描画情報表示画面の一例を示す図。
【図１２】本発明の第２の実施形態における描画システムにより表示する描画入力画面と全描画情報表示画面を重ね合わせた表示形態の一例を示す図。
【図１３】本発明の第３の実施形態における描画システムの描画処理装置の構成例を示すブロック図。
【図１４】本発明の第３の実施形態における描画システムにより表示する描画入力画面の自動スクロールと全描画情報表示画面の縮小表示の形態の一例を示す図。
【図１５】本発明の第３の実施形態における描画システムによる処理動作の一例を示すフローチャート。
【図１６】本発明の第４の実施形態における描画システムの構成例を示す図。
【図１７】本発明の第５の実施形態における描画システムの構成例を示す図。
【図１８】本発明の第５の実施形態における描画システムの描画処理装置の構成例を示すブロック図。
【図１９】本発明の第５の実施形態における描画システムによる処理動作の一例を示すフローチャート。
【図２０】本発明の第５の実施形態における描画システムにより表示する描画入力画面と全描画情報表示画面を重ね合わせた表示形態の一例を示す図。
【発明を実施するための形態】
【００１５】
以下図面により本発明の実施形態について説明する。  
（第１の実施形態）
まず、本発明の第１の実施形態について説明する。  
図１は、本発明の第１の実施形態における描画システムの構成例を示す図である。  
この描画システムは、描画処理装置１、描画表示装置２および入力装置４を有するシステムであり、利用者が思考中の自分の考えやアイデアを書くなどの手書きの書き込みを行なう場合において、書き始め易く、かつ書き続け易くする機能を有するシステムである。  
入力装置４は、利用者が手書きで描画情報を入力するための装置である。  
描画表示装置２は、入力装置４により入力した描画情報を描画入力画面３上に表示するための装置である。  
手書き入力のための入力装置４の形態としては、ペンタブレットやマウス入力が挙げられる。また、タブレットと画面が一体となった画面付タブレットやタブレットＰＣによってペン入力する方法が挙げられる。また、タッチ画面など指で接触することで描画情報を入力する方法も挙げられる。
【００１６】
描画入力画面３は、ディスプレイなどに表示されるウインドウ画面であってもよいし、前述したタブレットＰＣの画面内のウインドウであってもよい。  
図１に示した例では、描画表示装置２は前述した画面付タブレットであり、入力装置４は、この画面付タブレットへの入力を行なうためのペンである。この場合、タブレットの画面に表示される描画入力画面３のウインドウ内部に入力装置４であるペンを直接接触させることで描画情報を入力することができ、描画入力画面３上のペンを接触させた位置に線や点などの描画情報が表示される。
【００１７】
従って、入力装置４の一部である、ペンの位置を検出する部分と描画入力画面３上のウインドウ表示部分とが物理的に同じとなる。この場合、手書き入力によって入力された描画情報は、ペンをタブレットに接触させてから放す、つまりペンを上げるまでの軌跡となる二次元座標群の集まりとなる。このようにペンを接触させてから放すまでの軌跡が一つの線や点として表示され、これらの線や点が集まった情報が描画情報となる。
【００１８】
なお、入力装置４が前述したマウスである場合は、描画情報は、マウスをクリックダウンしてからクリックアップするまでのカーソルの軌跡でなる二次元座標群の集まりとなる。
また、描画情報には線の太さや色などの属性がある。この太さや色は、あらかじめ設定しておく場合や、描画入力画面３上に一時的に表示される図示しないメニュー画面上でペンやマウスで任意の太さや色の項目を選択することで決定する場合がある。または、描画以外のメニュー選択操作等をなるたけ無くすために、設定できる線の太さや色数を限定して、ペンのボタンやマウスのボタンを利用し、それらを押すことで、押したボタンの種類や回数に応じてあらかじめ割り当てられた線の太さや色に決定する場合もある。具体的には、ペンのボタンを押すことによって、黒→赤→青→消しゴム→黒（戻る）のように、色を変える場合である。
【００１９】
図２は、本発明の第１の実施形態における描画システムの描画処理装置の構成例を示すブロック図である。  
図２に示すように、本発明の第１の実施形態における描画システムの描画処理装置１は、制御部１１、記憶装置１２、スクロール方向算出部１３、自動スクロール処理部１４および表示制御部１５を有し、それぞれがバス１６を介して相互に接続される。
【００２０】
記憶装置１２は、入力装置４により入力された描画情報を当該描画情報の描画画面における描画対象領域の情報とともに格納するための描画情報格納部１７を有する。  
スクロール方向算出部１３は、描画情報のスクロール方向を算出する。自動スクロール処理部１４は、算出されたスクロール方向に応じて、描画入力画面内の描画情報を自動でスクロールする。
【００２１】
表示制御部１５は、入力した描画情報および描画情報格納部１７に格納される描画情報を当該描画情報の描画画面における描画対象領域の情報をもとに描画画面である描画入力画面３に表示させる。
【００２２】
以下、描画情報に応じてスクロールなどを制御する例を述べる。ここで説明する描画情報は前述した属性をすべて含んでもよいし、ある属性の描画情報を省いてもよい。  
自動スクロール処理部１４は、例えばペンの太さに応じてスクロール量を設定することができる。また、描画入力画面３の背景と同じ色の線を入力装置４により入力することで消しゴムの代わりとする場合があるが、このように入力された描画情報は自動スクロール処理部１４によるスクロール等の判定要素とはならない場合もある。
【００２３】
描画入力画面３上に入力された描画情報は、仮想的な描画スペースである仮想描画スペース上の二次元座標空間の座標として常に記憶装置１２に保持される。本実施形態では、仮想描画スペース上の二次元座標平面の一部の領域を切り出した切り出し領域の描画情報が描画入力画面３のウインドウに表示される。
【００２４】
従って、描画入力画面３を開く際、仮想描画スペースにおける二次元座標平面上の切り出し領域の座標と描画入力画面３の座標との対応をとるためのデータを記憶装置１２に保持する。
具体的には、例えば前述した切り出し領域の左上の座標値が描画入力画面３上の左上の座標値となるように、切り出し領域の左上の座標値を前述した対応を取るためのデータとして記憶装置１２に保持する。
【００２５】
描画入力画面３上から描画情報が入力されると、描画入力画面３上での座標値に切り出し領域の左上の座標値を加えた座標値が描画情報格納部１７に格納される。  
反対に、格納された描画情報を描画入力画面３に再描画する場合は、格納された座標値から前述した切り出し領域の左上の座標値を差し引いて求められる二次元座標値をもとに再描画がなされる。
【００２６】
なお、この仮想描画スペースと描画入力画面との座標倍率は同じに設定してもよいし、異なるように設定してもよい。例えば描画入力画面３の描画スペースに対して、仮想描画スペースが２倍の倍率として設定された場合は、描画入力画面３から入力された描画情報は、当該描画入力画面上の座標値を２倍した座標値が仮想描画スペース上の二次元座標値として描画情報格納部１７に格納される。また、この格納された描画情報をスクロール等にしたがって描画入力画面３に再描画する場合は、当該格納された座標値を１／２倍した座標値をもとに画面上に描画される。
【００２７】
自動スクロール処理部１４による、描画入力画面３内の描画情報のスクロールについて説明する。このスクロールとは、仮想描画スペース上から切り出し領域の位置を変更する、例えば当該切り出し領域の左上の座標値をスクロールの必要量だけ増加または減少させ、この変更後の左上の座標値の位置をもとに前述してスクロール後の前述した切り出し領域を求め、この領域内の描画情報を描画入力画面３のウインドウに再描画することである。  
これによって、描画入力画面３内の描画情報の表示位置が変わり、描画情報が動いたように表示される。
【００２８】
図３は、本発明の第１の実施形態における描画システムにおける描画入力画面の自動スクロールの形態の一例を示す図である。  
従って、スクロールして見えない時の描画情報を含む、全ての仮想描画スペース上の二次元座標で構成された、入力装置４により入力された描画情報のデータが描画情報格納部１７に保持され、描画入力画面は、図３に示すように、仮想描画スペース上の描画情報の一部を切り出した描画情報が表示される窓となる。
【００２９】
図４は、本発明の第１の実施形態における描画システムによる処理動作の一例を示すフローチャートである。  
この処理の説明において、各種の変数の意味は以下の通りである。
(Point.x，Point.y)…描画入力画面上の描画情報の座標値
(Point_base.x，Point_base.y)…仮想描画スペース上の描画情報の座標値
(DrawAeaPos.x，DrawAeaPos.y)…仮想描画スペース上の二次元座標平面に対する切り出し領域の左上座標値
DrawAeaSize.x、DrawAeaSize.y…仮想描画スペース上の二次元座標平面に対する切り出し領域の左上座標値からの下方向の切り出す大きさおよび左上座標値からの右方向の切り出す大きさ
DrawWndSize.x、DrawWndSize.y…描画入力画面のウインドウの大きさ
(DrawAeaPos.x'，DrawAeaPos.y')…描画情報のスクロール量だけ変化した後の座標値
(ScrollBorder.left、ScrollBorder.right、ScrollBorder.top、ScrollBorder.bottom)…描画入力画面内の境界線で囲まれる範囲
scrollValue.x、scrollValue.y…スクロール量
(Block.i.x，Block.i.y)…描画座標値(Point.x，Point.y)を一つの集合としたi番目の集合
(Block.i_Center.x，Block.i_Center.y)…(Block.i.x，Block.i.y)の中心座標値
ScrolljudgeValue.x、ScrolljudgeValue.y…スクロール方向を判定するための基準
(Column.j.x，Column.j.y)…中心座標値(Block.i_Center.x，Block.i_Center.y)の抽出に対して、さらに複数の座標値(Block.i_Center.x，Block.i_Center.y)を一つの集合としたｊ番目の集合
(Column.j_Center.x，Column.j_Center.y)…(Column.j.x，Column.j.y)の中心座標値
ColumnjudgeValue.x，ColumnjudgeValue.y…方向反転を判定するための基準
(Block.i_size.x，Block.i_size.y)…(Block.i.x，Block.i.y)の大きさ
(Column.j_size.x，Column.j_size.y)…(Column.j.x，Column.j.y)に対して、(Block.i_size.x，Block.i_size.y)の最小値と最大値、または(Column.j_Center.x，Column.j_Center.y)＋(Block.i_size.x，Block.i_size.y)の平均として求めた大きさ
【００３０】
前述したように、描画入力画面３上に入力された描画情報の座標値を(Point.x，Point.y)とし、仮想描画スペース上の二次元座標で構成された描画情報の座標値を(Point_base.x，Point_base.y)とする。
【００３１】
入力装置４による描画入力画面３への操作により当該描画入力画面３上に描画入力画面のウインドウが開くと（ステップＳ１）、表示制御部１５は、仮想描画スペース上の二次元座標平面に対して、描画入力画面のウインドウとして切り出し領域を設定する。
ここでは切り出し領域の左上の座標値を(DrawAeaPos.x，DrawAeaPos.y)とし、この左上座標値からの下方向の切り出す大きさおよび左上座標値からの右方向の切り出す大きさをそれぞれDrawAeaSize.x、DrawAeaSize.yとする。また、描画入力画面のウインドウの大きさをDrawWndSize.x、DrawWndSize.yとする。
【００３２】
なお、DrawAeaSize.x、DrawAeaSize.y、DrawWndSize.x、DrawWndSize.yは正の値である。これらの値は予め定めておいてもよいし、入力装置４により逐次入力して設定してもよい。
【００３３】
表示制御部１５は、描画情報格納部１７に格納される既存の描画情報の座標値である、仮想描画スペース上の二次元座標をもとに、描画入力画面３上の切り出し領域内に既存の描画情報が存在する場合には（ステップＳ２のＹＥＳ）、仮想描画スペース上の二次元座標値で構成された、入力済みの描画情報の座標値(Point_base.x，Point_base.y)を描画入力画面上の座標値(Point.x，Point.y)に変換し、この変換した座標値にしたがって既存の描画情報を描画表示装置２の描画入力画面３上に表示する（ステップＳ３）。
【００３４】
具体的には、表示制御部１５は、描画情報格納部１７に格納された、仮想描画スペース上の二次元座標である描画情報に対して、以下の式（１），（２）を満たす座標値(Point_base.x，Point_base.y)が存在する場合には、この座標値を以下の式（３），（４）に従って描画入力画面３上の座標値(Point.x，Point.y)に変換して描画入力画面３上に描画する。
【００３５】
DrawAeaPos.x≦Point_base.x≦DrawAeaPos.x＋DrawAeaSize.x  …式（１）
DrawAeaPos.y≦Point_base.y≦DrawAeaPos.y＋DrawAeaSize.y  …式（２）
Point.x＝(Point_base.x-DrawAeaSize.x)×(DrawWndSize.x／DrawAeaSize.x)  …式（３）
Point.y＝(Point_base.y-DrawAeaSize.y)×(DrawWndSize.y／DrawAeaSize.y)  …式（４）
そして、入力装置４による手書き入力によって、入力装置４であるペンが下ろされて描画入力画面３上に新たな描画がなされる、つまり、描画入力画面３から新たな描画情報が入力されると（ステップＳ４のＹＥＳ）、表示制御部１５は、この描画情報を描画入力画面３上のウインドウに表示すると共に描画情報格納部１７に格納する（ステップＳ５）。
【００３６】
具体的には、描画入力画面３上に入力された、当該描画入力画面３上のウインドウ左上を原点とした描画座標値(Point.x，Point.y)に従った描画情報が描画入力画面３に表示されると共に、この描画座標値(Point.x，Point.y)を以下の式（５），（６）に従って仮想描画スペース上の二次元座標値(Point_base.x，Point_base.y)に変換した情報が描画情報格納部１７に格納される。
【００３７】
Point_base.x＝Point.x×(DrawAeaSize.x／DrawWndSize.x)＋DrawAeaSize.x  …式（５）
Point_base.y＝Point.y×(DrawAeaSize.y／DrawWndSize.y)＋DrawAeaSize.y  …式（６）
スクロール方向算出部１３は、描画入力画面３にペンが下ろされている期間に入力された描画情報が、描画入力画面３の境界線からある範囲の領域であるスクロール判定領域に書き込まれた場合にはこれを検出する（ステップＳ６）。
【００３８】
そして、描画入力画面３から入力装置４であるペンが放された場合、つまり描画入力画面３からペンが上がった場合には（ステップＳ７のＹＥＳ）、スクロール方向算出部１３は、描画入力画面３にペンが下ろされてから放されるまでの期間に入力された描画情報が前述したスクロール判定領域に書き込まれていたか否かを判別する（ステップＳ８）。
【００３９】
また、スクロール方向算出部１３は、描画入力画面３にペンが下ろされてから一定期間が経過した際、ペンが下ろされている期間に入力された描画情報がスクロール判定領域に書き込まれていたか否かを判別してもよい。
【００４０】
スクロール方向算出部１３は、スクロール判定領域に書き込みがあったと判別した場合には（ステップＳ８のＹＥＳ）、ペンが下ろされた期間の描画情報や過去一定期間の描画情報にしたがってスクロール方向を算出する（ステップＳ９）。また、ステップＳ２，Ｓ７の処理で「ＮＯ」と判別された場合にはステップＳ４の処理に戻る。
【００４１】
自動スクロール処理部１４は、この算出したスクロール方向に応じて、描画入力画面の描画内容のスクロール処理を行なう（ステップＳ１０）。ステップＳ１０の処理後、描画が終了していない場合には（ステップＳ１１のＮＯ）ステップＳ４の処理に戻り、描画が終了した場合には（ステップＳ１１のＹＥＳ）、処理動作を終了する。  
ステップＳ４もしくはステップＳ８の処理で「ＮＯ」と判別され、描画が終了していない場合には（ステップＳ１１のＮＯ）ステップＳ４の処理に戻り、描画が終了した場合には（ステップＳ１１のＹＥＳ）、処理動作を終了する。
【００４２】
このスクロール処理とは、算出されたスクロール方向に応じて仮想描画スペース上から切り取る領域内の描画情報を描画情報格納部１７から取得し、この取得した描画情報の座標値を描画入力画面３に表示するための座標値に変換して再描画する事である。
具体的には、描画入力画面のスクロールが発生すると、仮想描画スペース上の切り出し領域の左上座標値(DrawAeaPos.x，DrawAeaPos.y)が、スクロールする量だけ、つまり切り出し領域をずらした値だけ増加または減少する。
【００４３】
そして、スクロール量だけ変化した後の座標値(DrawAeaPos.x'，DrawAeaPos.y')をもとに、切り取る領域の描画情報を抽出し、描画入力画面３に表示するための座標値が再計算して再表示される。
このように、ペンが描画入力画面３から放されるまでスクロールを発生させないようにすると、ペンが下ろされている最中、つまり書き込み中はスクロールが発生しないので、文字の入力が乱されることがなく、利用者は書き込み操作を行ない易い。  
また、ペンが上がった直後にスクロールする形態に限らず、ペンを放した後の一定時間はスクロールを保留し、この一定時間が経過した後にスクロールを開始させてもよい。
【００４４】
この一定時間は利用者ごとに設定してもよい。例えば、利用者の書き込み動作が速い場合は、ペンを放した後のスクロールが開始するまでの一定時間を短くし、利用者の書き込み動作が遅い場合には、ペンを放した後のスクロールが開始するまでの一定時間長くすることが考えられる。
【００４５】
具体的には、自動スクロール処理部１４は、ペンが描画入力画面３に下ろされているまでの間の期間であるスクロール判定期間内の描画座標値(Point.x，Point.y)において、この描画座標値(Point.x，Point.y)が入力される一定時間内の個数Point_Nを計算したり、描画情報が入力される時間をある程度の期間保持し、描画座標が入力されたある時刻Point_tと、一つ以上前に描画座標が入力された時刻Point_t'とから求められる時間間隔Point_t-Point_t'を計算したりしてスピードを求め、このスピードに応じて、定数をkとした上で、ペンを放した後のスクロールが開始するまでの一定時間をPoint_N×k、(Point_t-Point_t')×kとして設定する。
【００４６】
このようにスクロール開始タイミングまでの待ち時間を設定することで、利用者は続けて同じ位置に書き込み易くなる。具体的には、利用者は、複数の線で構成された一つの文字などをスクロール判定エリアにまで及んで書き込む場合、ペンを放しても時間を空けずに続けて線を描き続けることができるので、文字を構成する線を同じ場所で書く事ができ、文字の入力が乱されず書き易くなる。
【００４７】
また、スクロール方向算出部１３による、利用者の書き込み動作に応じてスクロールする方向を算出する方法としては、過去一定時間の間の描画に対して、描画入力画面３の境界線からある範囲の領域に書き込みがあったかを検出し、この境界線にもっとも近い描画と境界線が広がる方向を算出する方法が挙げられる。例えば、図５に示すように描画画面の上の境界線に近い位置に書き込みがあった場合は、画面上の上部分の書くスペースを広げるため、描画情報を下にスクロールする。
【００４８】
また、図６に示すように描画入力画面３の右側の境界線に書き込みがあった場合は、描画情報を左にスクロールし、図７に示すように描画入力画面の左上に書き込みがあった場合は、描画情報を右下にスクロールする。
【００４９】
スクロール判定とスクロール方向算出についての具体的アルゴリズムを説明する。ここでは、入力装置４であるペンを描画入力画面３に下ろしてから上げるまでに当該描画入力画面３上に入力された描画座標値(Point.x，Point.y)が、描画入力画面３内の上下左右の境界線で囲まれる範囲(ScrollBorder.left、ScrollBorder.right、ScrollBorder.top、ScrollBorder.bottom)を超えたか否かを検出することで、スクロール発生の判定とスクロール方向を算出する例を説明する。
【００５０】
なお、ScrollBorder.leftはウインドウ左側のx座標、ScrollBorder.rightはウインドウ右側のx座標にあたり、ScrollBorder.topはウインドウ上側のy座標、ScrollBorder.bottomはウインドウ下側のy座標にあたる。また、ウインドウの右方向がx座標の正の方向、ウインドウの下方向がy座標の正の方向とする。
【００５１】
スクロール方向算出部１３は、ペンが描画入力画面に下ろされているまでの間のスクロール判定期間内の描画座標値(Point.x，Point.y)において、もしPoint.x<ScrollBorder.leftならば、スクロール量として-scrollValue.xを設定し、描画情報を右にスクロールさせ、Point.x>ScrollBorder.rightならば、スクロール量としてscrollValue.xを設定する。この結果、描画情報が左にスクロールする。
【００５２】
また、スクロール方向算出部１３は、Point.y<ScrollBorder.topならば、スクロール量として-scrollValue.yを設定する。この結果、描画情報が下にスクロールする。また、スクロール方向算出部１３は、Point.x>ScrollBorder.bottomならば、スクロール量としてscrollValue.yを設定する。この結果、描画情報が上にスクロールする。
【００５３】
なお、scrollValue.x、scrollValue.yは予め設定した正の値のスクロール量である。また、スクロール量としてscrollValue.x、scrollValue.yを設定する際、同一スクロール判定期間内の先に設定したスクロール量が大きければ、当該スクロール量を優先してもよい。
【００５４】
そして、自動スクロール処理部１４は、ペンが上がったら、描画入力画面に表示する描画内容として、スクロール後における、仮想描画スペース上から切り出す領域の左上の座標値(DrawAeaPos.x'，DrawAeaPos.y')を以下の式（７），（８）にしたがって計算する。
【００５５】
DrawAeaPos.x'＝DrawAeaPos.x＋scrollValue.x  …式（７）
DrawAeaPos.y'＝DrawAeaPos.y＋scrollValue.y  …式（８）
そして、自動スクロール処理部１４は、変更後のDrawAeaPos.x'、DrawAeaPos.y'をもとに、仮想描画スペース上の二次元座標値で構成された、入力装置４により入力された描画情報の座標値(Point_base.x，Point_base.y)を抽出し、この座標値を描画入力画面上の座標値に変換し、この座標値をもとにスクロール後の描画情報を描画入力画面に再描画する。
【００５６】
また、スクロール方向算出部１３は、過去の描画情報を利用して、書き進める描画方向を推測することでスクロール方向を算出してもよい。例えば、一定時間内の描画座標または一繋がりの描画を一つの塊(具体的には一つの文字や絵など)とした場合に、塊が書き進められる方向を塊ごとの中心または重心位置の変化で算出し、この方向に書き続けられるように、このスペースを空けるためスクロールする。  
具体的には図８に示すように、塊の中心または重心位置が下方向に変化していることから、書き進める方向を下方向と推測し、上方向をスクロール方向とする。
【００５７】
その他、スクロール方向を算出する具体的アルゴリズム例としては、設定したある期間中の一定時間内または一繋がりの描画座標値(Point.x，Point.y)を一つの集合としたi番目の集合(Block.i.x，Block.i.y)の中心座標値(Block.i_Center.x，Block.i_Center.y)を算出することが挙げられる。
【００５８】
中心座標値(Block.i_Center.x，Block.i_Center.y)は、一定時間内の又は一繋がりの描画のnからm＋n番目の描画座標値(Point.x，Point.y)の平均値である。nからm＋nは、時刻t0から時刻t1までの時間の描画座標集合とする場合や、ペンを下ろしてから放すまでの描画座標集合とする場合もある。
【００５９】
また、一つの文字や絵などを一つの塊とするため、ペンを一旦上げた場合でも設定した一定期間内にペンが再び下ろされた場合は一つの集合として纏めてもよい。また、中心座標とするため平均値としたが、重心座標とする場合もある。
自動スクロール処理部１４は、前述した中心座標値(Block.i_Center.x，Block.i_Center.y)に対して、以下の式（９），（１０）が成り立つ場合には、スクロール量として-scrollValue.xを設定し、式（９）および以下の式（１１）が成り立つ場合には、スクロール量としてscrollValue.xを設定する。
【００６０】
|Block.i-1_Center.x-Block.i_Center.X|>ScrolljudgeValue.x  …式（９）
Block.i-1_Center.x-Block.i_Center.x>0  …式（１０）
Block.i-1_Center.x-Block.i_Center.x<0  …式（１１）
また、自動スクロール処理部１４は、以下の式（１２），（１３）が成り立つ場合には、スクロール量として-scrollValue.yを設定し、式（１２）および以下の式（１４）が成り立つ場合には、スクロール量としてscrollValue.yを設定する。
【００６１】
|Block.i-1_Center.y-Block.i_Center.y|>ScrolljudgeValue.y  …式（１２）
Block.i-1_Center.y-Block.i_Center.y>0  …式（１３）
Block.i-1_Center.y-Block.i_Center.y<0  …式（１４）
ScrolljudgeValue.x、ScrolljudgeValue.yは予め設定した正の値である。なお、これらの設定はスクロール方向を判定するためのものであるが、スクロール動作が発生しない、例えばスクロール判定領域として設定した描画入力画面の境界線からある範囲の領域に書き込みがなく、スクロール事態は発生しない場合がある。また、書き込む描画情報に応じてスクロール判定領域が変化する場合や、スクロール開始時刻が変化する場合もある。これらは後述する。
【００６２】
さらに、複数の文字を一つの塊(例えば行)として、書き進められる方向を算出することも挙げられる。具体的には、図９に示すように、さらに長く過去一定時間の描画情報を取得し、複数の塊を一つの塊として、この塊の中心または重心位置が下方向に変化していることから書き進める方向を下方向と推測し、上方向をスクロール方向とする。
【００６３】
具体的には、自動スクロール処理部１４は、中心座標値(Block.i_Center.x，Block.i_Center.y)の抽出に対して、さらに複数の座標値(Block.i_Center.x，Block.i_Center.y)を一つの集合としたｊ番目の集合(Column.j.x，Column.j.y)の中心座標値(Column.j_Center.x，Column.j_Center.y)を算出する。
【００６４】
この座標値(Column.j_Center.x，Column.j_Center.y)は、NからM＋N番目の、または時刻T0からT1までの時間の座標値(Block.i_Center.x，Block.i_Center.y)を集合とする場合がある。また、座標値(Block.i_Center.x，Block.i_Center.y)の方向が大きく変化した場合、例えば、以下の式（１５）または式（１６）が成り立つ場合は、自動スクロール処理部１４は、方向が反転したとして、それまでの座標値(Block.i_Center.x，Block.i_Center.y)を一行の塊として、この中心座標値(Column.j_Center.x，Column.j_Center.y)を計算する。
【００６５】
(Block.i-1_Center.x-Block.i_Center.x)／(Block.i-2_Center.x-Block.i-1_Center.x))＞-ColumnjudgeValue.x  …式（１５）
(Block.i-1_Center.y-Block.i_Center.y)／(Block.i-2_Center.y-Block.i-1_Center.y))＞-ColumnjudgeValue.y  …式（１６）
なお、ColumnjudgeValue.x，ColumnjudgeValue.yは予め設定した正の値である。
【００６６】
そして、自動スクロール処理部１４は、この計算した座標値(Column.j_Center.x，Column.j_Center.y)に対して、以下の式（１７），（１８）が成り立つ場合にはスクロール量として-scrollValue.xを設定し、式（１７）および以下の式（１９）が成り立つ場合にはスクロール量としてscrollValue.xを設定する。
【００６７】
|Column.j-1_Center.x-Column.j_Center.x|>ScrolljudgeValue.x  …式（１７）
Column.j-1_Center.x-Column.j_Center.x>0  …式（１８）
Column.j-1_Center.x-Column.j_Center.x<0  …式（１９）
また、自動スクロール処理部１４は、以下の式（２０），（２１）が成り立つ場合にはスクロール量として-scrollValue.yを設定し、式（２０）および以下の式（２２）が成り立つ場合にはスクロール量としてscrollValue.yを設定する。
【００６８】
|Column.j-1_Center.y-Column.j_center.y|>ScrolljudgeValue.y  …式（２０）
Column.j-1_Center.y-Column.j_Center.y>0  …式（２１）
Column.j-1_Center_y-Column.j_Center.y<0  …式（２２）
スクロールに関するパラメータは予め設定しておいてもよいし利用者の書き込み動作に応じて変化させてもよい。利用者の書き込み動作とは、描画位置や描画時間、具体的には一定時間内の描画または一つ繋がりの描画の大きさ、描画速度、描画方向、線や点の描画時間や次の線や点の描画を開始するまでの時間間隔などが挙げられる。
【００６９】
また、自動スクロール機能のパラメータとは、スクロール判定範囲の大きさ、描画に対するスクロール開始時間、スクロールして広げるスペースとなるスクロール量、スクロールしていくスピードが挙げられる。例えば、利用者の書くスピードが速ければ、早めにスクロールさせるためにスクロール判定領域を広げることやスクロール開始時間を早くすることが考えられる。
【００７０】
また、スクロール動作が何度も発生すると利用者は書き込みを行いにくいことから、自動スクロールを頻繁に発生させないように、利用者の書き込み動作に応じて、一回あたりのスクロール量を変更してもよい。
また、書くためのある程度十分なスペースを空けるように、必要な量をスクロールさせるためスクロール量を変化させてもよい。例えば、書くスピードが速い場合や一塊の描画が大きければ、広いスペースを空けるようにスクロール量を広くすることが挙げられる。
【００７１】
描画スピードに合わせてスクロール量を変更する例として、自動スクロール処理部１４は、予め設定しておいた定数kに対して、前述した式（９），（１０）が成り立つ場合にはスクロール量として-(Block.i-1_Center.x-Block.i_Center.x)×kを設定し、前述した式（９），（１１）が成り立つ場合にはスクロール量として(Block.i-1_Center.x-Block.i_Center.x)×kを設定する。
【００７２】
また、自動スクロール処理部１４は、前述した式（１２），（１３）が成り立つ場合には、スクロール量として-(Block.i-1_Center.y-Block.i_Center.y)×kを設定し、前述した式（１２），（１４）が成り立つ場合には、スクロール量として(Block.i-1_Center.y-Block.i_Center.y)×kを設定する。
【００７３】
また、描画スピードに合わせてスクロール判定領域を変更する例としては、一つ前の|Block.i-2_Center.x-Block.i-1_Center.x|に応じて判定領域を変更することが挙げられる。具体的には、自動スクロール処理部１４は、ScrolljudgeValue.x'＝ScrolljudgeValue.x＋(Block.i-2_Center.x-Block.i-1_Center.x)×Lとして再設定する。
【００７４】
同様に、スクロール開始時間も、この値から変化させることが挙げられる。なお、Lは予め設定した正の定数である。もちろん、座標値(Block.i_Center.x，Block.i_Center.y)の代わりに(Point.x，Point.y)を使用してもよい。
【００７５】
また、描画情報に応じて、スクロール量やスクロール判定領域、またはスペース開始時間を変更する例として、ある期間中の一定時間内または一繋がりの描画座標値(Point.x，Point.y)を一つの集合としたi番目の集合に対して、この集合に属する座標値(Point.x，Point.y)の最小値と最大値から求めたi番目の集合(Block.i.x，Block.i.y)の大きさ(Block.i_size.x，Block.i_size.y)を元に変更する場合がある。
【００７６】
例えば、自動スクロール処理部１４は、x方向にスクロールする場合はスクロール量をBlock.i_size.x×LLと算出し、y方向にスクロールする場合はスクロール量をBlock.i_size.y×LLと算出する。なお、LLは予め設定した正の定数である。
【００７７】
また、先に記載した行の判定によって行が存在することを検出し、一行の塊を抽出している場合は、行に関係する値からスクロール量などを設定してもよい。例えば、自動スクロール処理部１４は、行として判定した複数の集合(Block.i.x，Block.i.y)を一つの集合としたｊ番目の集合(Column.j.x，Column.j.y)に対して、この集合の(Block.i_size.x，Block.i_size.y)の最小値と最大値、または(Column.j_Center.x，Column.j_Center.y)＋(Block.i_size.x，Block.i_size.y)の平均として求めた大きさ(Column.j_size.x，Column.j_size.y)からスクロール量を設定する。
【００７８】
そして、自動スクロール処理部１４は、x方向にスクロールする場合はスクロール量をColumn.j_size.x×LLLと算出し、y方向にスクロールする場合はスクロール量をColumn.j_size.y×LLLと算出する。なお、LLLは予め設定した正の定数である。
【００７９】
また、自動スクロールをあまり発生させないように、利用者の書き込み動作に応じて一回あたりのスクロール量を変更する他の例として、描画方向を推測し、例えば図８に示すように単なる縦方向や横方向に書いている事に対するスクロールの場合は、一文字ずつスクロールするのは煩わしいので、ある程度文字が書けるようなスペースが空くようにスクロールする。
【００８０】
しかし、図９に示すように横の行が縦に続けて書かれる場合などは、一行分(一文字の幅)のスクロール量でスペースが空くようにスクロールする。例えば、先に記載した行の判定によって行が存在するかを検出し、行の切り替わりはなく、一方向のみの行として検出されている場合は、図８に示すように一方向のみに移動するとして、自動スクロール処理部１４は、この移動方向を前述したように一定時間または複数個の(Block.i.x，Block.i.y)から算出し、この移動方向と同一の軸である一定時間または複数個のBlock.i_size.x×LLLL、Block.i_size.y×LLLLとするなどして、スクロール量やスクロール判定領域、またはスクロール開始時間を算出する。
【００８１】
なお、LLLLは予め設定した正の定数であり、例えば複数個分の文字の大きさなど、ある程度文字が書けるだけの大きさとして設定したものである。または、行の切り替わりがあり、複数の行があると検出されている場合は、図９に示すように行があるとして、自動スクロール処理部１４は、前述したように、各行から算出した移動方向を一定時間または複数個の(Column.j.x，Column.j.y)から算出し、この移動方向と同一の軸である一定時間または複数個のColumn.j_size.x×LLLL'またはColumn.j_size.y×LLLL'からスクロール量やスクロール判定領域、またはスクロール開始時間を算出する。  
なお、LLLL'は予め設定した正の定数であり、例えば１行分または２行分の文字が書けるだけの大きさとして設定したものである。
【００８２】
また、スクロールの形態としては、広げたいスペース分だけ一気にスクロールする場合もあるが、スクロールしていることを理解し易く、スクロールし始めても利用者の書き込み状態を対応させられるように、徐々にスクロールさせる方法が考えられる。
この場合、スクロールを始めて目的のスクロール量まで徐々にスクロールすることになるが、この間に書き込みがあればスクロールを中断し、ペンが上がったときに再び、または同様に一定時間待ってスクロールし始めることが挙げられる。
【００８３】
具体的なアルゴリズムとしては、ペンが放されてから第１タイマーをセットして時間T1後に通知するように設定して第１タイマーを起動する。この時間T1は、スクロールが開始するまでのペンを放した後の一定時間に関連する値である。
時間T1が経過した通知があると第１タイマーを終了して第２タイマーをセットし、時間T2後に通知するように設定して第２タイマーを起動する。なお、このTl、T2の間、これまで述べてきたスクロール判定やスクロール方向算出などを行っている。
【００８４】
そして、時間T2が経過した通知がある毎に、そのときペンが下がっていないか、つまり書き込み中でないかを判定する。書き込み中であれば第２タイマーを終了して再び第１タイマーをセットし、時間T1後に通知するように設定して第１タイマーを起動する。
【００８５】
書き込み中でなければ、全体のスクロール量scrollValue.xまたはscrollValue.yに対して、徐々にスクロールさせるために設定したscrollValue.x／RまたはscrollValue.y／R(R>1)だけスクロールする。
【００８６】
この徐々にスクロールする毎に、スクロールした総量がscrollValue.xまたはscrollValue.yに達したかを判定し、達していなければ再び時間T2が経過した通知を待ち、達していれば第２タイマーを終了する。
以上のように、本発明の第１の実施形態における描画システムでは、自動スクロールによって書くスペースが用意され、利用者は、書く動作を中断することなく書き続けられる。さらに、書くスペースが現れ、次々と提示されるように感じるので、利用者はどんどん書きたくなり、書くのが楽しくなる。
【００８７】
また、利用者の動きに応じてスクロールするので、書き易く書くことを邪魔しない。例えば、利用者が書いている途中ではスクロールせず、ペンを放しているときにスクロールされるので、線が乱れず、書いている間は邪魔されない。
また、ペンを放した後の一定時間はスクロールせず、この一定時間を利用者の動作に応じた待ち時間で設定させることができることで、利用者は、ペンを放しても続けて文字を書きたい場合は書き易い利点がある。
【００８８】
また、スクロール方向やスクロール量を利用者の書く動作に応じて推測し制御することで、例えば縦方向や横方向に書き続ける場合と、横書きの行が縦に並べて書き続ける場合との書き続ける状況を推測し、状況に応じたスクロール量を設定することで、１回あたりのスクロールである程度十分な書くスペースが提示され、何度もスクロール動作を起こすことなく、書き続け易くなる。
【００８９】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。なお、以下の各実施形態における描画システムの構成のうち図１に同一部分の説明は省略する。  
この実施形態では、描画入力画面に加えて、描画情報格納部１７に格納されている仮想描画スペース上の二次元座標から構成された全ての描画情報を表示する全描画情報表示画面を有する。また、描画入力画面は、全描画情報表示画面の一部分を描画用に拡大表示した画面としており、つまり全描画情報表示画面の一部が切り出されている。また、描画入力画面のスクロールに応じて、その切り出す場所が移動することになる。
図１０は、本発明の第２の実施形態における描画システムの描画処理装置の構成例を示すブロック図である。  
図１０に示すように本発明の第２の実施形態における描画処理装置１は、第１の実施形態と比較して、全画面情報表示処理部２１をさらに有する。
【００９０】
図１１は、本発明の第２の実施形態における描画システムにより表示する描画入力画面と全描画情報表示画面の一例を示す図である。  
実現方法として、全画面情報表示処理部２１は、描画情報格納部１７に格納される仮想描画スペース上の二次元座標である描画情報に対して、この仮想描画スペースの大きさを予め設定しておき、仮想描画スペースの大きさと全描画情報表示画面の大きさとから、描画情報を変換する倍率を算出する。
【００９１】
全画面情報表示処理部２１は、仮想描画スペースに対する全描画情報表示画面の大きさの倍率から、全描画情報表示画面に描画する描画情報の座標値を算出し、この座標値に従った描画情報を全描画情報表示画面に表示する。また、全描画情報を表示する仮想描画スペースの大きさに対して全描画情報表示画面が狭い場合には、この全描画情報表示画面は仮想描画スペースの大きさに対して一定の縮小率で表示されることになる。
【００９２】
このような処理を行なえば、全描画情報表示画面に表示される描画情報に対して描画入力画面に切り出す描画内容が拡大されて表示される。また、描画入力画面より入力された情報は、その拡大の倍率とは反対の倍率で縮小されて全描画情報表示画面に描画されることになる。よって、利用者は拡大された描画入力画面を使うことで描画情報を大きく書き込むことができ、書き込み易くなる。
【００９３】
具体的なアルゴリズム例を挙げる。まず、仮想描画スペース上の二次元座標で構成された、入力装置４により入力された描画情報のデータ(Point_base.x，Point_base.y)を描画する仮想描画スペースの大きさをBaseAeaSize.x、BaseAeaSize.yとし、全描画情報表示画面の大きさをWholeWndSize.x、WholeWndSize.yとする。
【００９４】
そして、全画面情報表示処理部２１は、仮想描画スペース上の二次元座標値で構成された、入力装置４により入力された描画情報の座標値(Point_base.x，Point_base.y)を以下の式（２３），（２４）に従って全描画情報表示画面の座標値(Point_WholeWnd.x，Point_WholeWnd.y)に変換し、全描画情報表示画面上に表示する。この変換式は、以下となる。
【００９５】
Point_WholeWnd.x＝Point_base.x×(WholeWndSize.x／BaseAeaSize.x)  …式（２３）
Point_WholeWnd.y＝Point_base.y×(WholeWndSize.y／BaseAeaSize.y)  …式（２４）
また、この全描画情報表示画面に表示される描画情報に対して、描画入力画面に切り出す描画情報は、拡大表示されることになるので、仮想描画スペースに対する全描画情報表示画面の大きさの倍率(WholeWndSize.x／BaseAeaSize.x，WholeWndSize.y／BaseAeaSize.y)は１以下であり、この倍率は仮想描画スペース上である二次元座標平面において描画入力画面のウインドウとして切り出す領域に対する描画入力画面のウインドウの大きさの倍率(DrawWndSize.x／DrawAeaSize.x，DrawWndSize.y／DrawAeaSize.y)より小さい値になる。
【００９６】
なお、全描画情報表示画面に表示される描画情報と描画入力画面に描画される描画情報の縦横比は同じになるように、全画面情報表示処理部２１により、以下の式（２５），（２６）にしたがって描画座標を変換してもよい。
WholeWndSize.y／BaseAeaSize.y＝WholeWndSize.x／BaseAeaSize.x  …式（２５）
DrawWndSize.y／DrawAeaSize.y＝DrawWndSize.x／DrawAeaSize.x  …式（２６）
なお、この例では、描画入力画面から入力され、描画入力画面に描画する描画入力画面上の座標も、全描画情報表示画面に描画される全描画情報表示画面上の座標も、仮想描画スペース上の二次元座標に変換してそれぞれを算出しているが、仮想描画スペース上の二次元座標を介さず、つまり無いものとして、直接、描画入力画面上の座標から全描画情報表示画面上の座標に、または全描画情報表示画面上の座標から描画入力画面上の座標に変換してもよい。
【００９７】
ただし、仮想描画スペース上の二次元座標を介することで、描画入力画面上の座標と全描画情報表示画面上の座標は独立に扱え、それぞれの倍率を再設定しても互いに影響が無いので、例えば全描画情報表示画面の描画倍率を変更しても描画入力画面上の座標倍率を再計算する必要がない。
【００９８】
また、別の表示形態として、全描画情報表示画面を常時表示させるのに対して描画入力画面が平常時は立ち上がっていない状態にしておき。当該全描画情報表示画面内を入力装置４により選択することで対応する位置に描画するための描画入力画面が表示させるようにすることもできる。これによって、利用者は、スクロールするだけでなく、描画したい場所をすぐに選べる。
【００９９】
図１２は、本発明の第２の実施形態における描画システムにより表示する描画入力画面と全描画情報表示画面を重ね合わせた表示形態の一例を示す図である。  
また、表示方法としては、描画入力画面を全描画情報表示画面と並べて表示する方法もあるが、画面スペースを効率的に使うため、描画中である描画入力画面が立ち上がっている間は、当該描画入力画面を図１２に示すように全描画情報表示画面に重ね、かつ当該描画入力画面は背後の全描画情報表示画面が利用者に見えるように半透明で表示してもよい。
【０１００】
このような表示形態とすれば、利用者は画面自体が狭くても、描画している部分と全体とを両方同時に見ることができる。さらに、描画入力画面が全描画情報表示画面のどこを描画中の画面なのか利用者が分かるように、全描画情報表示画面に枠などの４本の線で構成されたイメージを付加することで描画領域を示してもよい。
【０１０１】
以上のように、本発明の第２の実施形態における描画システムでは、描画入力画面と全ての描画情報が表示された全描画情報表示画面とを別にし、全描画情報表示画面に表示される描画に対して、拡大された描画入力画面を使うので、利用者は、大きく書き込むことができ、書き込み易い。
【０１０２】
また、描画入力画面を全描画情報表示画面に重ね、描画入力画面は背後の全描画情報表示画面が利用者に見えるように半透明で表示することで、利用者は、狭い画面でも、描画している部分と全体とを両方同時に見ることができる。
【０１０３】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。  
本実施形態における描画システムは、第２の実施形態で説明した全描画情報表示画面の書き込み範囲の広がりに応じて全描画情報表示画面の描画内容を縮小して表示する機能を有する。
図１３は、本発明の第３の実施形態における描画システムの描画処理装置の構成例を示すブロック図である。  
図１３に示すように本発明の第３の実施形態における描画処理装置１は、第２の実施形態と比較して、縮小表示処理部２２をさらに有する。
図１４は、本発明の第３の実施形態における描画システムにより表示する描画入力画面の自動スクロールと全描画情報表示画面の縮小表示の形態の一例を示す図である。  
図１５は、本発明の第３の実施形態における描画システムによる処理動作の一例を示すフローチャートである。  
まず、縮小表示処理部２２は、予め大きさを設定していた、全描画情報表示画面に描画する仮想描画スペースに対して、描画入力画面に書き込みを続けてスクロールしていくことで、このスペース以上の書き込みをする場合や、描画入力画面を立ち上げる場合に既に全描画情報表示画面をはみ出した位置を切り出し、このはみ出た部分に描画がなされた場合に、書き込み範囲が広がったと判定する（ステップＳ２１，Ｓ２２のＹＥＳ）。
【０１０４】
縮小表示処理部２２は、書き込み範囲が広がったと判定したら、描画情報格納部１７に格納されていた全描画情報や新たに追加された描画情報に基づき、これらの描画情報を全描画情報表示画面へ全て表示できるように、この全描画情報表示画面の表示にかかる縮小倍率を再計算する（ステップＳ２４）。
【０１０５】
縮小表示処理部２２は、この縮小倍率にしたがい、描画情報格納部１７に格納されていた描画情報や新たに追加された描画情報の座標を計算し、この座標にしたがって全描画情報表示画面への再描画を行なう（ステップＳ２５）。
一方、縮小表示処理部２２は、書き込み範囲が広がっていないと判定したら（ステップＳ２２のＮＯ）、設定された縮小率による全描画情報表示画面に描画情報の描画を行なう（ステップＳ２３）。ステップＳ２３またはＳ２５の処理後、描画が終了していない場合には（ステップＳ２６のＮＯ）ステップＳ２１の処理に戻り、描画が終了した場合には（ステップＳ２６のＹＥＳ）、処理動作を終了する。
【０１０６】
具体的なアルゴリズム例を挙げると、仮想描画スペース上の二次元座標で構成され、入力装置４により入力された描画情報のデータ(Point_base.x，Point_base.y)に対して、それらの描画データが存在する平面空間として予め設定した仮想描画スペースの領域座標をBaseAea.left、BaseAea.right、BaseAea.top、BaseAea.bottomとする。
【０１０７】
なお、BaseAea.leftは描画スペースの左側のx座標にあたり、BaseAea.rightは描画スペースの右側のx座標にあたり、BaseAea.topは描画スペースの上側のy座標にあたり、BaseAea.bottomは描画スペースの下側のy座標にあたる。  
また、描画スペースの右方向がx座標の正の方向とし、描画スペースの下方向がy座標の正の方向とする。
【０１０８】
また、縮小表示処理部２２は、予め設定した仮想描画スペースの大きさBaseAeaSize.x、BaseAeaSize.yを以下の式（２７），（２８）にしたがって計算し、この計算結果に対して、全描画情報表示画面の座標に変換し、全描画情報表示画面上に表示する。
【０１０９】
BaseAeaSize.x＝BaseAea.right-BaseAea.left  …式（２７）
BaseAeaSize.y＝BaseAea.bottom-BaseAea.top  …式（２８）
また、縮小表示処理部２２は、描画倍率が縮小する前の最初の時点の、仮想描画スペースの描画座標値で構成された、入力装置４により入力された描画情報の座標値(Point_base.x，Point_base.y)に対して、以下の式（２９），（３０）により全描画情報表示画面に描画する座標値(Point_WholeWnd.x，Point_WholeWnd.y)に変換する。
【０１１０】
Point_WholeWnd.x＝Point_base.x×(WholeWndSize.x／BaseAeaSize.x)＋BaseAea.left  …式（２９）
Point_WholeWnd.y＝Point_base.y×(WholeWndSize.y／BaseAeaSize.y)＋BaseAea.top  …式（３０）
ここで、描画倍率が縮小する前の最初の時点は、BaseAea.left＝0、BaseAea.top＝0となる。  
そして、縮小表示処理部２２は、描画入力画面３から入力された描画情報の座標値(Point.x，Point.y)を、仮想描画スペース上の描画情報の座標値に変換し、この変換した座標値(Point_base.x，Point_base.y)が、例えば描画入力画面がスクロールすることで、予め設定した仮想描画スペースの領域座標からはみ出しているかを検出する。
【０１１１】
縮小表示処理部２２は、描画入力画面が仮想描画スペースの前述した領域座標からはみ出していれば、このはみ出した領域を含むように、仮想描画スペースの領域座標をBaseAea.left'、BaseAea.right'、BaseAea.top'、BaseAea.bottom'に変更し、仮想描画スペースの大きさをBaseAeaSize.x'、BaseAeaSize.y'に変更することで広げる。
【０１１２】
そして、縮小表示処理部２２は、このサイズの大きさに対して、仮想描画スペースに対する全描画情報表示画面の大きさの倍率を再計算し、この再計算した倍率で描画情報表示画面の座標値を変換し、変換結果をもとに描画情報を全描画情報表示画面上に表示する。
【０１１３】
また、この場合も全描画情報表示画面に表示される描画と描画入力画面に表示される描画情報の縦横比は同じになるように、以下の式（３１），（３２）により描画座標を変換する場合がある。
WholeWndSize.y／BaseAeaSize.y＝WholeWndSize.x／BaseAeaSize.x  …式（３１）
DrawWndSize.y／DrawAeaSize.y＝DrawWndSize.x／DrawAeaSize.x  …式（３２）
以下、この変換について説明する。また、縦横比をRatio_W対Ratio_Hとする。
【０１１４】
具体的には、縮小表示処理部２２は、仮想描画スペース上の二次元座標で構成された、入力装置４により入力された描画情報のデータ(Point_base.x，Point_base.y)に対して、入力装置４により入力された描画情報のデータが仮想描画スペースから左にのみはみ出していた、つまり以下の式（３３），（３４）を満たす場合には、以下の式（３５），（３６），（３７），（３８），（３９），（４０）により、仮想描画スペースの領域座標や大きさを再設定する。
【０１１５】
Point_base.x<BaseAea.left  …式（３３）
Point_base.y≧BaseAea.top  …式（３４）
BaseAea.left'＝Point_base.x  …式（３５）
BaseAeaSize.x'＝BaseAea.right-BaseAea.left'  …式（３６）
BaseAeaSize.y'＝BaseAeaSize.x'×(Ratio_H／Ratio_W)  …式（３７）
BaseAea.top'＝BaseAea.top  …式（３８）
BaseAea.right'＝BaseAea.right  …式（３９）
BaseAea.bottom'＝BaseAea.top'＋BaseAeaSize.y'  …式（４０）
縮小表示処理部２２は、これらの値に対して、仮想描画スペースに対する全描画情報表示画面の大きさの倍率を再計算し、全描画情報表示画面に描画する座標値を再計算して描画し直す。
【０１１６】
具体的には、縮小表示処理部２２は、再計算した全描画情報表示画面に描画する座標値(Point_WholeWnd.x'、Point_WholeWnd.y')は以下の式（４１），（４２）に従って求める。
Point_WholeWnd.x'＝Point_base.x×(WholeWndSize.x／BaseAeaSize.x')＋BaseAea.left'  …式（４１）
Point_WholeWnd.y'＝Point_base.y×(WholeWndSize.y／BaseAeaSize.y')＋BaseAea.top'  …式（４２）
なお、この例では縦横比を一定にしているので、WholeWndSize.y／BaseAeaSize.y'＝WholeWndSize.x／BaseAeaSize.x'である。  
また、入力装置４により入力された描画情報のデータが、仮想描画スペースから左だけでなく、上にもはみ出していた場合の例を挙げる。
【０１１７】
つまり、縮小表示処理部２２は、以下の式（４３），（４４）を満たしていれば、以下の式（４５），（４６）に従った計算を行なう。
Point_base.x<BaseAea.left  …式（４３）
Point_base.y<BaseAea.top  …式（４４）
BaseAea.left'＝Point_base.x  …式（４５）
BaseAea.top'＝Point_base.y  …式（４６）
ここで、縮小表示処理部２２は、以下の式（４７）を満たしていれば、以下の式（４８），（４９），（５０），（５１）に従った計算を行なう。
【０１１８】
(BaseAea.right-BaseAea.left')>(BaseAea.bottom-BaseAea.top')×(Ratio_W／Ratio_H)  …式（４７）
BaseAeaSize.x'＝BaseAea.right-BaseAea.left'  …式（４８）
BaseAeaSize.y'＝BaseAeaSize.x'×(Ratio_H／Ratio_W)  …式（４９）
BaseAea.right'＝BaseAea.right  …式（５０）
BaseAea.bottom'＝BaseAea.top'＋BaseAeaSize.y'  …式（５１）
一方、縮小表示処理部２２は、以下の式（５２）を満たしていれば、以下の式（５３），（５４），（５５），（５６）に従った計算を行なう。
【０１１９】
(BaseAea.right-BaseAea.left')≦(BaseAea.bottom-BaseAea.top')×(Ratio_W／Ratio_H)  …式（５２）
BaseAeaSize.y'＝BaseAea.bottom-BaseAea.top'  …式（５３）
BaseAeaSize.x'＝BaseAeaSize.y'×(Ratio_W／Ratio_N)  …式（５４）
BaseAea.right'＝BaseAea.left'＋BaseAeaSize.x'  …式（５５）
BaseAea.bottom'＝BaseAea.bottom  …式（５６）
その他、上、右、下などへはみ出した場合も、同じように算出できる。なお、上記の例は、描画情報が描画入力画面から入力されるごとに、仮想描画スペースからはみ出ているかを検出し、全描画情報表示画面に描画する座標値を再計算して描画しなおす例であるが、例えば、描画情報が描画入力画面から入力されるごとに、仮想描画スペースからはみ出ているかを検出するが、一定時間内の描画座標またはペンを下ろしてから上げるまでの一繋がりの描画座標を入力し終わった段階で、全描画情報表示画面に描画する座標値を再計算して描画しなおすことで、再描画の負荷を減らすようにしてもよい。
【０１２０】
以上のように、本発明の第３の実施形態における描画システムでは、利用者による書くスペースが無限となり、制限なく書き続けられる。なお、このように全描画情報表示画面は書く範囲が広がるに応じて縮小表示されるが、この入力画面である描画入力画面の縮尺は変わらない。これによって、利用者は、書く際には同じ大きさが保たれ、同じ品質で書き込みできるので書き易い。
【０１２１】
（第４の実施形態）
次に、本発明の第４の実施形態について説明する。本実施形態では、複数の描画システムをネットワークでつないで、描画システム同士で描画情報を送受信することで他のシステムからの描画情報を書き込むことで、協同での描画を可能としている。
図１６は、本発明の第４の実施形態における描画システムの構成例を示す図である。  
図１６に示すように、本発明の第４の実施形態における描画システムでは、複数の描画処理装置１をクライアントと位置づけ、これらがネットワークでサーバ３０に接続される。
【０１２２】
各クライアントは、他のクライアントからの描画情報を受信した場合、この描画情報を当該描画情報の描画画面における描画対象領域の情報とともに描画情報格納部１７に格納することで、当該描画情報を自装置により描画した描画情報に反映させる。
【０１２３】
サーバ３０は、各クライアントからの描画情報を受け取って、他のクライアントに転送する。サーバ３０は、描画情報を転送するとともに、この情報を描画する全描画情報表示画面を有して、ディスプレイや前のスクリーンに投影する。図１６に示した例では、サーバ３０は投影装置３１により全描画情報表示画面をスクリーン３２に投影する。
【０１２４】
また、サーバ側の表示画面は、クライアントの全描画情報画面と同様、書き込む範囲が広がることで縮小表示されることもある。従って、サーバ３０もクライアントと同様に、仮想描画スペース上の二次元座標として、全クライアントから送られてきた描画情報を記憶装置に格納し、この格納した描画情報を再描画時に利用する。
【０１２５】
また、クライアントは、サーバ３０から転送された他のクライアントの描画情報を、全描画情報画面や描画入力画面に追加して描画して描画情報格納部１７に格納する。なお、クライアントは、全てのクライアントで保持している描画情報の順序が同じになるように、サーバ３０から送られた描画情報順に格納してもよい。
【０１２６】
つまり、クライアントは、サーバ３０と接続していない場合には、描画入力画面から入力された順序で描画情報を格納するが、サーバ３０と接続している場合は、描画入力画面から入力された描画情報を一旦サーバ３０に送り、サーバ３０から転送されてきた時点での順番で格納することになる。
【０１２７】
ただし、描画入力画面や前描画情報入力画面への最初の描画は、入力時にしておくことでスムーズな書き易さを保つようにしてもよい。また、クライアントごとで描画情報にタイムスタンプを付与し、この順番で描画すると決める方法を用いてもよい。  
このように描画順序を揃えることで、描画したものを後で消しゴムで消した事象が発生しても同じ描画画面になる。
【０１２８】
以上のように、本発明の第４の実施形態における描画システムでは、各クライアントの描画領域が物理的に異なるので、複数人による描画を可能とし、同時に書く事や書く躊躇をなくすことが可能となる。
また、サーバ３０が投影する全描画情報表示画面や描画入力画面に、他のクライアントが開いている描画入力画面の位置、つまり描画領域を示す枠を表示したり、他者のペンまたはマウス位置、つまりマウスカーソル情報を表示したりしてもよい。
【０１２９】
また、描画情報以外にペンの位置を送ることで描画したものを指示し、それを他者に伝えることもできる。さらに、これまでクライアント間で送りあった描画情報をサーバ３０で格納しておき、利用者が途中参加した場合にそれらの情報を送って途中参加可能とすることもできる。  
なお、ここではサーバ３０を設けた例を挙げたが、サーバを設けずにクライアントだけで構成し、各クライアントがそれぞれ描画情報を送りあってもよい。
【０１３０】
（第５の実施形態）
次に、本発明の第５の実施形態について説明する。  
本実施形態における描画システムは、入力装置４により入力した描画情報の内容に応じて、入力操作が描画画面に対する操作であるか、または全描画情報表示画面に対する操作であるかを識別判断し、この判断した画面に対する表示処理を行なうことで、描画領域を選択する等の全描画情報表示画面への操作を描画入力画面上への入力操作によって実行可能とする機能を有する。
【０１３１】
図１７は、本発明の第５の実施形態における描画システムの構成例を示す図である。  
本実施形態では、図１７に示すように、描画入力画面を全描画情報表示画面に重ね、描画入力画面は背後の全描画情報表示画面が利用者に見えるように半透明で表示している。
図１８は、本発明の第５の実施形態における描画システムの描画処理装置の構成例を示すブロック図である。  
図１８に示すように、本発明の第５の実施形態における描画システムの描画処理装置１は、図１０に示した構成と比較して入力識別部４１をさらに備える。
【０１３２】
入力識別部４１は、入力装置４による描画入力画面上への入力操作の状態に応じて、入力操作が描画入力画面に対する操作であるか、または全描画情報表示画面に対する操作であるかを識別判断する。
これは、描画入力画面上への入力操作は描画のための例えばペンやマウスによる入力を基本操作とするが、入力識別部４１を用いる事によって、描画入力画面上への入力操作の状態に応じて、描画入力画面上への描画だけでなく、当該描画入力画面に表示する描画領域を選択する等のための全描画情報表示画面への操作も可能とする機能を備えることを意味する。
【０１３３】
図１９は、本発明の第５の実施形態における描画システムによる処理動作の一例を示すフローチャートである。  
入力装置４による入力画面３への操作により当該入力画面３上に描画入力画面のウインドウが開くと（ステップＳ３１）、表示制御部１５は、仮想描画スペース上の二次元座標平面に対して、描画入力画面のウインドウとして切り出し領域を設定する。
【０１３４】
表示制御部１５は、描画情報格納部１７に格納される既存の描画情報の座標値である、仮想描画スペース上の二次元座標をもとに、描画入力画面３上の切り出し領域内に既存の描画情報が存在する場合には（ステップＳ３２のＹＥＳ）、第１の実施形態で説明したステップＳ３の処理と同様に、仮想描画スペース上の二次元座標値で構成された、入力済みの描画情報の座標値(Point_base.x，Point_base.y)を描画入力画面上の座標値に変換し、この変換した座標値にしたがって既存の描画情報を描画表示装置２の描画入力画面３上に表示する（ステップＳ３３）。
【０１３５】
具体的には、第１の実施形態で説明したように、表示制御部１５は、描画情報格納部１７に格納された、仮想描画スペース上の二次元座標である描画情報に対して、前述した式（１），（２）を満たす座標値(Point_base.x，Point_base.y)が存在する場合には、この座標値を前述した式（３），（４）に従って描画入力画面３上の座標値に変換して描画入力画面３上に描画する。
【０１３６】
そして、入力装置４による手書き入力によって、入力装置４であるペンが下ろされて描画入力画面３上に新たな描画がなされる、つまり、描画入力画面３から新たな描画情報が入力されると（ステップＳ３４のＹＥＳ）、入力識別部４１は、描画入力画面への入力操作の状態に応じて、入力装置４による入力操作が描画入力画面に対する操作であるか、または全描画情報表示画面に対する操作であるかを識別判断する（ステップＳ３５）。
【０１３７】
入力装置４による入力操作が描画入力画面に対する操作であると入力識別部４１が識別判断した場合（ステップＳ３６のＹＥＳ）、表示制御部１５は、入力された描画情報を描画入力画面３上のウインドウに表示すると共に描画情報格納部１７に格納する。
具体的には、第１の実施形態で説明したように、描画入力画面３上に入力された、当該描画入力画面３上のウインドウ左上を原点とした描画座標値に従った描画情報が描画入力画面３に表示されると共に、この描画座標値を仮想描画スペース上の二次元座標値に変換した情報が描画情報格納部１７に格納される。
【０１３８】
この結果、全画面情報表示処理部２１は、仮想描画スペースに対する全描画情報表示画面の大きさの倍率から、全描画情報表示画面に描画する描画情報の座標値を算出し、この座標値に従った描画情報を全描画情報表示画面に表示する。つまり、全描画情報表示画面へ描画が追加されることになる（ステップＳ３７）。
【０１３９】
一方、入力装置４による入力操作が全描画情報表示画面に対する操作であると入力識別部４１が識別判断した場合（ステップＳ３６のＮＯ）、全画面情報表示処理部２１は、全描画情報表示画面に対する処理を実行する（ステップＳ３８）。この、全描画情報表示画面に対する処理は、例えば、全描画情報表示画面に対する、描画入力画面に表示する当該全描画情報表示画面内の領域の選択指示に対応する領域を描画入力画面に表示することが挙げられる。
【０１４０】
ステップＳ３７もしくはステップＳ３８の処理後、描画が終了していない場合には（ステップＳ３９のＮＯ）ステップＳ３４の処理に戻り、描画が終了した場合には（ステップＳ３９のＹＥＳ）、処理動作を終了する。
【０１４１】
入力操作が描画入力画面に対する操作であるか、または全描画情報表示画面に対する操作であるかを識別判断する基準となる、描画入力画面上への入力操作の状態としては、入力操作に用いるマウスやペンの入力スピード、停滞時間、筆圧およびクリック間隔が挙げられる。
【０１４２】
以下、入力識別部４１による識別判断方法の具体例について説明する。この識別判断方法の前提としては、基本的には利用者による入力操作は描画のための操作であることから、描画入力画面への操作は素早く判断できるもので、描画以外の操作、つまり全描画情報表示画面に対する操作は比較的時間経過を必要とする判断方法が考えられる。
【０１４３】
例えば、識別判断方法としては、ペンやマウスの入力スピードの値が予め設定した値以下であった場合や、ペンやマウスのカーソルを描画入力画面上のある位置に置いた後、入力座標をしばらく変更しない時間である停滞時間の長さが予め設定した値以上である場合には、全描画情報表示画面に対する操作として識別判断する方法が挙げられる。
【０１４４】
または、全描画情報表示画面に対する操作は意識的な入力操作によりなされるものとして、入力操作の筆圧があらかじめ設定した値以上である場合に全描画情報表示画面に対する操作として識別判断する場合もある。
【０１４５】
また、描画時においては、基本的にマウスによるクリックは必要ないことから、マウスによる入力操作のクリック間隔が描画のためにペンやマウスを描画入力画面上に置く事との差が判る程度のクリック間隔である場合に全描画情報表示画面に対する操作として識別判断する方法もある。
【０１４６】
また、マウスによるクリック間隔の値が予め設定した値以下となる速いダブルクリックに相当する値である場合に全描画情報表示画面に対する操作として識別判断する方法もある。また、単純に、入力操作がマウスによる右クリックである場合に全描画情報表示画面に対する操作と識別判断する方法もある。
【０１４７】
なお、利用者が描画の線の入力と全描画情報表示画面に対する操作のための入力とを同時に行なう事は無い事から、描画の線をひとたび入力中と判定した場合は、この線が入力し終わるまで、つまり線の終端を示すペンアップやマウスのクリップアップが起こるまでは、入力操作が描画入力画面に対する操作であるか、または全描画情報表示画面に対する操作であるかを識別判断する処理は実行されない。
【０１４８】
これは逆も同様で、全描画情報表示画面に対する操作として判定された、一連の入力操作、つまりペンダウンからアップまで、またはマウスのクリップダウンからアップまでの操作は、このペンアップやマウスのクリップアップが起こるまでは、入力操作が描画入力画面に対する操作であるか、または全描画情報表示画面に対する操作であるかを識別判断する処理は実行されない。
【０１４９】
図２０は、本発明の第５の実施形態における描画システムにより表示する描画入力画面と全描画情報表示画面を重ね合わせた表示形態の一例を示す図である。  
さらに、図２０のように、全描画情報表示画面に表示される枠である、当該全描画情報表示画面から描画入力画面に切り出した領域を示す点線枠４２を前述した識別判断に利用する方法もある。
【０１５０】
この点線枠４２は全描画情報表示画面に表示されているが、半透明の描画入力画面上から利用者が見えるので、描画入力画面上に写った点線枠４２や当該点線枠４２の近くの領域でペンやマウスなどの入力装置４による入力操作を行なうことで、入力識別部４１は、例えば、前述したペンやマウスの入力スピード、停滞時間、クリック動作に応じて、入力操作が描画操作であるか全描画情報表示画面への操作であるかを識別判断することになる。
【０１５１】
さらに、全描画情報表示画面への操作のためのストロークを示す情報を記憶装置１２に予め記憶しておき、入力識別部４１は、入力操作がなされる毎に当該入力操作のストロークを示す情報と前述したように記憶されたストロークを示す情報とを照合することで、入力操作が描画操作であるか、または全描画情報表示画面への操作であるかを識別判断する方法もある。
【０１５２】
以上のように、本発明の第５の実施形態における描画システムでは、描画入力画面への描画操作と全描画情報表示画面への操作、例えば描画領域選択などの操作との両方がシームレスに実行可能となり、描画動作を妨げず、描画をしながら別の場所にある他者の書き込み内容の閲覧や、複数の離れた領域への書き込みを繰り返す操作が容易となるため、様々な場所に書き込みまたは閲覧しながらの思考や議論を妨げることが軽減される効果がある。
【０１５３】
なお、この発明は前記実施形態そのままに限定されるものではなく実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を省略してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【０１５４】
１…描画処理装置、２…描画表示装置、３…描画入力画面、４…入力装置、１１…制御部、１２…記憶装置、１３…スクロール方向算出部、１４…自動スクロール処理部、１５…表示制御部、１６…バス、１７…描画情報格納部、２１…全画面情報表示処理部、２２…縮小表示処理部、３０…サーバ、３１…投影装置、３２…スクリーン、４１…入力識別部。
【図１】
2010134897.tif 000003
【図２】
2010134897.tif 000004
【図３】
2010134897.tif 000005
【図４】
2010134897.tif 000006
【図５】
2010134897.tif 000007
【図６】
2010134897.tif 000008
【図７】
2010134897.tif 000009
【図８】
2010134897.tif 000010
【図９】
2010134897.tif 000011
【図１０】
2010134897.tif 000012
【図１１】
2010134897.tif 000013
【図１２】
2010134897.tif 000014
【図１３】
2010134897.tif 000015
【図１４】
2010134897.tif 000016
【図１５】
2010134897.tif 000017
【図１６】
2010134897.tif 000018
【図１７】
2010134897.tif 000019
【図１８】
2010134897.tif 000020
【図１９】
2010134897.tif 000021
【図２０】
2010134897.tif 000022