(57)【要約】【課題】描画パターンに応じた予測座標を算出して描画の予測精度を向上させる画像処理装置、方法およびプログラムを提供すること。【解決手段】本発明の画像処理装置は、描画が指示された座標を示す座標情報と座標の検出時刻を示す時間情報とを使用して描画動作の継続時間を計測し、描画動作の継続時間に応じて予測時間を決定し、予測時間の経過時の予測座標を算出して描画画像を生成する。本発明の画像処理装置は、座標情報および時間情報を使用して描画動作の特性値を算出し、描画動作の特性値が所定の閾値以下である場合に、描画動作の継続時間を計測する。【選択図】図１
2014132411.tif 000002
【特許請求の範囲】
【請求項１】
予測時間を算出する予測時間算出手段と、
前記予測時間の経過時の予測座標を算出する予測座標算出手段と、
前記予測座標を使用して前記予測時間の経過時の描画画像を生成する画像生成手段と
を備える画像処理装置であって、
予測時間算出手段は、描画が指示された座標を示す座標情報および前記座標の検出時刻を示す時間情報を使用して描画動作の継続時間を計測し、前記描画動作の継続時間に応じて予測時間を決定する、画像処理装置。
【請求項２】
前記予測時間算出手段は、
前記座標情報および時間情報を使用して描画動作の特性値を算出し、
前記描画動作の特性値が所定の閾値以下である場合に、描画動作の継続時間を計測する、請求項１に記載の画像処理装置。
【請求項３】
前記予測時間算出手段は、
描画の軌跡によって規定される曲率、描画の軌跡によって規定される角度、および／または描画動作の加速度を描画動作の特性値として算出する、請求項２に記載の画像処理装置。
【請求項４】
画像処理装置が実行する方法であって、前記方法は、前記画像処理装置が、
描画が指示された座標を示す座標情報と前記座標の検出時刻を示す時間情報とを使用して予測時間を算出するステップと、
前記予測時間の経過時の予測座標を算出するステップと、
前記予測座標を使用して前記予測時間の経過時の描画画像を生成するステップと
を含み、
予測時間を算出するステップは、前記座標情報および時間情報を使用して描画動作の継続時間を計測し、前記描画動作の継続時間に応じて予測時間を決定するステップを含む、方法。
【請求項５】
前記予測時間を算出するステップは、
前記座標情報および時間情報を使用して描画動作の特性値を算出し、前記描画動作の特性値が所定の閾値以下である場合に、描画動作の継続時間を計測するステップを含む、請求項４に記載の方法。
【請求項６】
前記予測時間を算出するステップは、
描画の軌跡によって規定される曲率、描画の軌跡によって規定される角度、および／または描画動作の加速度を描画動作の特性値として算出する、請求項５に記載の方法。
【請求項７】
請求項４〜６のいずれか１項に記載の方法を画像処理装置が実行するためのコンピュータ実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、描画画像を生成する画像処理装置に関し、より詳細には、ユーザが描画を指示する可能性のある描画画像を予め生成して表示させる画像処理装置、方法およびプログラムに関する。
【背景技術】
【０００２】
従来、企業や教育機関、行政機関等における会議等において、大型ディスプレイにユーザが文字や数字、図形等を描画可能な電子黒板が利用されている。このような電子黒板について、ユーザによる描画を予測して画面に描画して表示遅延を解消する技術が提案されている。
【０００３】
従来の描画予測技術の一例として、特許文献１は、座標が検出された時点から画像が表示された時点までの遅延時間を算出し、予測座標を算出する座標入力装置を開示する。この座標入力装置では、ハードウェアの性能に依存する遅延時間を算出して予測座標を算出する。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の座標入力装置は、ハードウェアの性能に依存する遅延時間を使用して予測座標を算出するため、ユーザが形成する描画パターンに応じて予測座標を算出することができず、予測誤差が目立つ小さな文字や波線等の描画における予測精度が低いという問題があった。
【０００５】
本発明は上述した課題を解決するものであり、描画パターンに応じた予測座標を算出して描画の予測精度を向上させる画像処理装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の画像処理装置は、描画が指示された座標を示す座標情報と座標の検出時刻を示す時間情報とを使用して描画動作の継続時間を計測し、描画動作の継続時間に応じて予測時間を決定し、予測時間の経過時の予測座標を算出して描画画像を生成する。
【発明の効果】
【０００７】
本発明の画像処理装置は、上記構成を採用することにより、描画パターンに応じた予測座標を算出して描画の予測精度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の画像処理装置のハードウェア構成および機能構成を示す図。
【図２】本発明の画像処理装置が採用する座標情報および時間情報のバッファリング方式を示す一実施形態。
【図３】本発明の画像処理装置が実装する予測時間算出部の機能構成を示す図。
【図４】本発明の画像処理装置のコントローラが実行する処理を示すフローチャート。
【図５】本発明の画像処理装置による描画画像の生成方法を示す概念図。
【発明を実施するための形態】
【０００９】
以下、本発明について実施形態をもって説明するが、本発明は後述する実施形態に限定されるものではない。
【００１０】
図１は、本発明の画像処理装置のハードウェア構成および機能構成を示す図である。画像処理装置１００は、ユーザが描画を指示した画像を生成して表示させる装置である。以下、図１を参照して、画像処理装置１００のハードウェア構成および機能構成について説明する。
【００１１】
画像処理装置１００は、コントローラ１１０と、座標検出部１２０と、表示部１３０とを含んで構成される。
【００１２】
コントローラ１１０は、本発明が提供する画像処理方法を実行する画像処理手段であり、プロセッサ１１１と、ＲＯＭ１１２と、ＲＡＭ１１３とを含んで構成される。
【００１３】
プロセッサ１１１は、ＣＰＵやＭＰＵ等の処理演算装置であり、ＷＩＮＤＯＷＳ（登録商標）シリーズ、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）、ＴＲＯＮ、ＩＴＲＯＮ、μＩＴＲＯＮなどのＯＳを動作させ、これらのＯＳの管理下でアセンブラ、Ｃ、Ｃ＋＋、ＪＡＶＡ（登録商標）、ＪＡＶＡ  ＳＣＲＩＰＴ（登録商標）、ＰＥＲＬ、ＲＵＢＹ、ＰＹＴＨＯＮなどのプログラム言語で記述された本発明のプログラムを実行する。ＲＯＭ１１２は、ＢＩＯＳやＥＦＩ等のブートプログラムなどが保存される不揮発性メモリである。
【００１４】
ＲＡＭ１１３は、ＤＲＡＭやＳＲＡＭ等の主記憶装置であり、本発明のプログラムを実行するための実行空間を提供する。プロセッサ１１１は、プログラムや種々のデータなどを持続的に保持するための補助記憶装置（図示せず）から、本発明のプログラムを読み出し、ＲＡＭ１１３に展開して実行する。
【００１５】
本発明のプログラムには、プログラムモジュールである座標保持部１１４と、予測時間算出部１１５と、予測座標算出部１１６と、画像生成部と、表示制御部１１８とが含まれる。これらのプログラムモジュールは、ユーザが描画を指示した座標および当該座標の検出時刻を使用して描画画像を生成し、表示装置である表示部１３０に描画画像を表示させる。本実施形態では、これらの機能手段をＲＡＭ１１３に展開して実装するが、他の実施形態では、これらの機能手段をＡＳＩＣ等の半導体装置に実装してもよい。
【００１６】
座標検出部１２０は、描画すべき座標を指示する座標指示装置１４０などの物体の接触や接近を検知し、ユーザが描画を指示した座標を算出して出力する機能手段である。本実施形態では、座標検出部１２０として、特許文献２に示すような赤外線遮断方式による座標入力／検出装置を採用する。この座標入力／検出装置では、表示部１３０の下側両端部に設置された２の受発光装置が、表示部１３０に平行して複数の赤外線を放射し、表示部１３０の周囲に設けられた反射部材によって同一光路上に反射する光を受光する。座標検出部１２０は、物体によって遮断された赤外線の位置情報を使用して物体の座標位置を算出する。
【００１７】
他の実施形態では、静電容量の変化を検知することにより物体の座標位置を特定する静電容量方式のタッチパネルや、対向する２の抵抗膜の電圧変化によって物体の座標位置を特定する抵抗膜方式のタッチパネル、物体が表示部１３０に接触することによって生じる電磁誘導を検知して物体の座標位置を特定する電磁誘導方式のタッチパネルを採用してもよい。
【００１８】
座標検出部１２０は、物体の接触や接近を検知すると、当該物体によってユーザが描画を指示した座標を示す情報（以下、「座標情報」とする。）と、当該座標の検知時刻を示す時間情報を生成し、座標保持部１１４に出力する。
【００１９】
座標保持部１１４は、座標検出部１２０から座標情報および時間情報をバッファリングする記憶手段である。図２は、座標情報および時間情報のバッファリング方式を示す一実施形態である。座標保持部１１４は、座標検出部１２０から座標情報および時間情報を受信すると、既にバッファリングしている座標情報および時間情報のうち最も古いものを破棄して、新たに受信した座標情報および時間情報を保存する。
【００２０】
図２に示す実施形態では、検出時刻が「ｔ＝３０」のときのバッファメモリには、検出時刻「ｔ＝１０，２０，３０」の座標情報がバッファリングされている。この状態で座標保持部１１４が、座標検出部１２０から新たな座標情報（Ｘ座標：４００，Ｙ座標：４００）を受信すると、検出時刻「ｔ＝１０」の座標情報および時間情報を破棄し、新たな座標情報（Ｘ座標：４００，Ｙ座標：４００）および当該座標の検出時刻を示す時間情報（ｔ＝４０）を保存する。次いで、座標検出部１２０から新たな座標情報（Ｘ座標：６００，Ｙ座標：６００）を受信すると、座標保持部１１４は、検出時刻「ｔ＝２０」の座標情報および時間情報を破棄し、新たな座標情報（Ｘ座標：６００，Ｙ座標：６００）および当該座標の検出時刻を示す時間情報（ｔ＝５０）を保存する。
【００２１】
予測時間算出部１１５は、一連の描画動作においてユーザが或る座標の描画を指示した時点から次の座標の描画を指示するまでの時間である予測時間を算出する機能手段である。予測時間算出部１１５は、座標保持部１１４にバッファリングされている座標情報および時間情報を用いて予測時間を決定する。なお、予測時間算出部１１５が有する機能構成については、図３を参照して詳述する。
【００２２】
予測座標算出部１１６は、予測時間の経過時に物体が座標検出部１２０に接触または接近すると予測される座標、すなわち、予測時間の経過時にユーザが描画を指示すると予測される座標である予測座標を算出する機能手段である。予測座標算出部１１６は、下記数式１を用いて予測座標（ｘｐｒｅｄ，ｙｐｒｅｄ）を算出することができる。
【００２３】
【数１】
2014132411.tif 000003
ここで、ｘｐｒｅｄは予測座標のｘ座標を示し、ｙｐｒｅｄは予測座標のｙ座標を示す。ｘｎｏｗはバッファリングされている最新のｘ座標、すなわち直前の描画のｘ座標を示す。ｙｎｏｗはバッファリングされている最新のｙ座標、すなわち直前の描画のｙ座標を示す。ｔｐｒｅｄは予測時間を示す。ｖｘは描画動作のｘ軸方向の速度を示し、ｖｙは描画動作のｙ軸方向の速度を示す。ａｘは描画動作のｘ軸方向の加速度を示し、ａｙは描画動作のｙ軸方向の加速度を示す。描画動作の速度（ｖｘ，ｖｙ）および加速度（ａｘ，ａｙ）は、バッファリングされている座標情報および時間情報を用いて算出することができる。
【００２４】
画像生成部１１７は、表示部１３０に表示される描画画像を生成する機能手段である。画像生成部１１７は、座標保持部１１４にバッファリングされている座標情報と、予測座標算出部１１６が算出した予測座標を使用して描画画像を生成し、表示制御部１１８に出力する。
【００２５】
表示制御部１１８は、表示部１３０を制御する機能手段である。表示制御部１１８は、画像生成部１１７が生成した描画画像を表示部１３０に表示させる。
【００２６】
図３は、本発明の画像処理装置が実装する予測時間算出部の機能構成を示す図である。以下、図３を参照して、予測時間算出部１１５の機能構成について説明する。
【００２７】
予測時間算出部１１５は、描画動作特性値算出部３００と、描画動作判定部３０１と、描画動作特性閾値保持部３０２と、継続時間カウンタ３０３と、予測時間決定部３０４と、継続時間閾値保持部３０５と、予測時間保持部３０６とを有する。
【００２８】
描画動作特性値算出部３００は、描画動作の特性を示す値である描画動作特性値を算出する機能手段である。本発明では、描画動作特性値として、描画の軌跡によって規定される曲率（ｋ）や角度（θ）、描画動作の加速度（｜ａ｜）を利用することができる。
【００２９】
具体的には、描画動作特性値算出部３００は、座標情報（（ｘ１，ｔ１），（ｘ２，ｔ２），（ｘ３，ｔ３）…（ｘｉ，ｔｉ）…（ｘＮｂｕｆｆｅｒ，ｔＮｂｕｆｆｅｒ））および座標情報（（ｙ１，ｔ１），（ｙ２，ｔ２），（ｙ３，ｔ３）…（ｙｉ，ｔｉ）…（ｙＮｂｕｆｆｅｒ，ｔＮｂｕｆｆｅｒ））を最小二乗法で近似し、下記数式２に示す二次曲線である補間曲線を算出する。ここで、Ｎｂｕｆｆｅｒは、座標保持部１１４にバッファリングされている座標の数であり、また、１≦ｉ≦Ｎｂｕｆｆｅｒ、ｔｉ＜ｔｉ＋１である。すなわち、ｘ１，ｙ１は、座標保持部１１４にバッファリングされている最も古い座標情報のｘ座標，ｙ座標であり、ｔ１はｘ１，ｙ１の検出時刻である。また、ｘＮｂｕｆｆｅｒ，ｙＮｂｕｆｆｅｒは、座標保持部１１４にバッファリングされている最新の座標情報のｘ座標，ｙ座標であり、ｔＮｂｕｆｆｅｒはｘＮｂｕｆｆｅｒ，ｙＮｂｕｆｆｅｒの検出時刻である。
【００３０】
【数２】
2014132411.tif 000004
ここで、係数αｘ、βｘおよびγｘ並びに係数αｙ、βｙおよびγｙは、最小二乗法に基づいて下記数式３により算出することができる。
【００３１】
【数３】
2014132411.tif 000005
【００３２】
そして、描画動作特性値算出部３００は、数式２に示す補間曲線から下記数式４に基づいて曲率（ｋ）を算出することができる。
【００３３】
【数４】
2014132411.tif 000006
【００３４】
また、角度（θ）は、座標保持部１１４にバッファリングされている座標情報に含まれる隣接する３点の座標によって規定される角度であり、下記数式５を用いて算出することができる。
【００３５】
【数５】
2014132411.tif 000007
【００３６】
さらに、描画動作の加速度（｜ａ｜）は、下記数式６を用いて算出することができる。
【００３７】
【数６】
2014132411.tif 000008
【００３８】
描画動作判定部３０１は、ユーザによる描画動作の継続性を判断する機能手段である。描画動作判定部３０１は、描画動作特性値算出部３００が生成した描画動作特性値と、描画動作特性閾値保持部３０２に格納されている所定の閾値（以下、「描画動作特性閾値」とする。）とを比較し、描画動作特性値が描画動作特性閾値よりも大きい場合には、描画動作の継続性が低い（例えば、描画が途切れたり、急に曲がる等）と仮定し、継続時間カウンタ３０３を初期化する。一方、描画動作特性値が描画動作特性閾値以下である場合は、描画動作判定部３０１は、継続時間カウンタ３０３をインクリメントする。
【００３９】
描画動作判定部３０１は、描画動作特性値である曲率（ｋ）、角度（θ）および／または描画動作の加速度（｜ａ｜）のうちいずれか１つのみならず、２以上の描画動作特性値を用いて描画動作の継続性を判断することができる。これにより、描画動作の継続性の判断精度を向上させることができる。
【００４０】
継続時間カウンタ３０３は、描画動作の継続時間を計測する計測手段である。継続時間カウンタ３０３は、描画動作特性値が描画動作特性閾値以下である間は、一連の描画動作が継続しているものとし、継続時間カウンタ３０３の値がインクリメントされる。一方、描画動作特性値が描画動作特性閾値よりも大きいときは、一連の描画動作が終了したものとし、継続時間カウンタ３０３は初期化される。
【００４１】
予測時間決定部３０４は、予測時間を決定する機能手段である。予測時間決定部３０４は、継続時間カウンタ３０３の値と、継続時間閾値保持部３０５に格納されている所定の閾値（以下、「継続時間閾値」とする。）とを比較して予測時間を決定する。
【００４２】
継続時間カウンタ３０３の値が継続時間閾値以上である場合には、描画パターンが長い直線や大きな図形等の描画パターンであるとし、予測時間決定部３０４は、予測時間保持部３０６から所定の時間（ｔｌｏｎｇ）を取得し、予測時間を所定の時間（ｔｌｏｎｇ）に設定する。一方、継続時間カウンタ３０３の値が継続時間閾値よりも小さい場合には、描画パターンが小さな文字や波線等の描画パターンであるとし、予測時間決定部３０４は、予測時間保持部３０６から所定の時間（ｔｓｈｏｒｔ）を取得し、予測時間を所定の時間（ｔｓｈｏｒｔ）に設定する。
【００４３】
本実施形態では、所定の時間（ｔｌｏｎｇ）＞所定の時間（ｔｓｈｏｒｔ）であり、所定の時間（ｔｌｏｎｇ）を約５０ｍ秒とし、所定の時間（ｔｓｈｏｒｔ）を約２０ｍ秒とすることが好適である。また、継続時間閾値は、予測時間に基づいて画像生成部１１７が生成した描画画像を判断し、最適値を採用することが好適である。本実施形態では、２種類の予測時間を使用するが、他の実施形態では、例えば、約５０ｍ秒（ｔｌｏｎｇ）、約３５ｍ秒（ｔｍｉｄｄｌｅ）、約２０ｍ秒（ｔｓｈｏｒｔ）等の３種類以上の予測時間を使用してもよい。
【００４４】
図４は、本発明の画像処理装置のコントローラが実行する処理を示すフローチャートである。以下、図４を参照して、コントローラ１１０が座標検出部１２０から座標情報を受信したときに実行する処理について説明する。
【００４５】
図４の処理は、ステップＳ４００でコントローラ１１０の座標保持部１１４が、座標検出部１２０から座標情報を受信することにより開始する。ステップＳ４０１では、座標保持部１１４は、座標情報および時間情報をバッファリングする。ステップＳ４０２では、予測時間算出部１１５の描画動作特性値算出部３００が、描画動作特性値を算出する。
【００４６】
ステップＳ４０３では、描画動作判定部３０１が、描画動作特性値が描画動作特性閾値以下であるか否か判断する。描画動作特性値が描画動作特性閾値より大きい場合には（ｎｏ）、処理がステップＳ４０４に分岐する。ステップＳ４０４では、描画動作判定部３０１は、継続時間カウンタ３０３を初期化する。
【００４７】
一方、描画動作特性値が描画動作特性閾値以下である場合には（ｙｅｓ）、処理がステップＳ４０５に分岐する。ステップＳ４０５では、描画動作判定部３０１は、継続時間カウンタ３０３をインクリメントする。ステップＳ４０６では、予測時間決定部３０４が、継続時間カウンタ３０３の値が継続時間閾値以上であるか否か判断する。
【００４８】
継続時間カウンタ３０３の値が継続時間閾値以上である場合には（ｙｅｓ）、ステップＳ４０７で予測時間決定部３０４が予測時間を所定時間（ｔｌｏｎｇ）に設定する。一方、継続時間カウンタ３０３の値が継続時間閾値より小さい場合には（ｎｏ）、ステップＳ４０８で予測時間決定部３０４が予測時間を所定時間（ｔｓｈｏｒｔ）に設定する。
【００４９】
ステップＳ４０９では、予測座標算出部１１６が、予測時間経過時の予測座標を算出する。ステップＳ４１０では、画像生成部１１７が、座標保持部１１４がバッファリングしている最新の座標情報と、ステップＳ４０９で算出した予測座標とを使用して描画画像を生成する。ステップＳ４１１では、表示制御部１１８が、描画画像を表示部１３０に送信して表示させ、ステップＳ４１２で処理が終了する。
【００５０】
本発明の画像処理装置は、上述したように、小さな文字や破線、大きな図形などの描画パターンに応じて予測時間を選択し、当該予測時間を用いて予測座標を算出して描画画像を生成する。すなわち、本発明の画像処理装置は、予測座標の誤差が目立ち易い描画パターン（例えば、小さな文字や破線等）について、相対的に短い予測時間で予測座標を算出して描画画像を生成し、予測座標の誤差が目立ち難い描画パターン（例えば、大きな文字や直線等）について、相対的に長い予測時間で予測座標を算出して描画画像を生成する。これにより、本発明は、予測座標の誤差が目立ち易い描画パターンの予測精度を向上させることができると共に、描画遅延を抑制することができる。
【００５１】
図５は、本発明の画像処理装置による描画画像の生成方法を示す概念図である。以下、図５を参照して、画像処理装置１００の画像生成部１１７が、座標保持部１１４にバッファリングされている座標情報と、予測座標とを使用して描画画像を生成する実施形態について説明する。
【００５２】
描画画像５００は、先行する描画処理によって生成された描画画像である。座標（ＸＮｂｕｆｆｅｒ−１，ＹＮｂｕｆｆｅｒ−１）５０１は、座標保持部１１４にバッファリングされている座標のうち２番目に新しい座標である。座標（Ｘｐｒｅｄ，Ｎｂｕｆｆｅｒ−１，Ｙｐｒｅｄ，Ｎｂｕｆｆｅｒ−１）５０２は、描画画像５００を生成するときに算出された予測座標である。
【００５３】
まず、画像生成部１１７は、描画画像５００の生成時の予測座標によって描画された線分、すなわち、座標５０１および座標５０２を結ぶ線分５０３を描画画像５００から削除する。次に、画像生成部１１７は、描画画像５１０に示すように、座標５０４と、座標保持部１１４にバッファリングされている最新の座標（ＸＮｂｕｆｆｅｒ，ＹＮｂｕｆｆｅｒ）５０５とを結ぶ線分５０６を描画する。そして、画像生成部１１７は、座標５０５と、当該座標を用いて算出された予測座標である座標（Ｘｐｒｅｄ，Ｎｂｕｆｆｅｒ，Ｙｐｒｅｄ，Ｎｂｕｆｆｅｒ）５０７とを結ぶ線分５０８を描画して描画画像５１０を生成する。
【００５４】
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、本実施形態の構成要素を変更若しくは削除し、または本実施形態の構成要素を他の構成要素を追加するなど、当業者が想到することができる範囲内で変更できる。また、いずれの態様においても本発明の作用効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００５５】
１００…画像処理装置、１１０…コントローラ、１１１…プロセッサ、１１２…ＲＯＭ、１１３…ＲＡＭ、１１４…座標保持部、１１５…予測時間算出部、１１６…予測座標算出部、１１７…画像生成部、１１８…表示制御部、１２０…座標検出部、１３０…表示部、１４０…座標指示装置
【先行技術文献】
【特許文献】
【００５６】
【特許文献１】特開２００６−１７８６２５号公報
【特許文献２】特許第４６２７７８１号公報
【図１】
2014132411.tif 000009
【図２】
2014132411.tif 000010
【図３】
2014132411.tif 000011
【図４】
2014132411.tif 000012
【図５】
2014132411.tif 000013