JP7259828B2 - 表示装置、表示方法、プログラム - Google Patents

表示装置、表示方法、プログラム Download PDF

Info

Publication number
JP7259828B2
JP7259828B2 JP2020188229A JP2020188229A JP7259828B2 JP 7259828 B2 JP7259828 B2 JP 7259828B2 JP 2020188229 A JP2020188229 A JP 2020188229A JP 2020188229 A JP2020188229 A JP 2020188229A JP 7259828 B2 JP7259828 B2 JP 7259828B2
Authority
JP
Japan
Prior art keywords
data
handwritten
font
pen
display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020188229A
Other languages
English (en)
Other versions
JP2021082274A (ja
Inventor
知佳 中野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to CN202011296724.7A priority Critical patent/CN112825135A/zh
Priority to EP20208362.2A priority patent/EP3825868A1/en
Priority to US16/951,241 priority patent/US20210150122A1/en
Publication of JP2021082274A publication Critical patent/JP2021082274A/ja
Application granted granted Critical
Publication of JP7259828B2 publication Critical patent/JP7259828B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)
  • Character Discrimination (AREA)

Description

本発明は、表示装置、表示方法、及びプログラムに関する。
ワードプロセッサーなど文字を入力できる表示装置ではユーザーがフォントを選択できる場合がある。フォントとはデザインに統一がある一そろいの文字をいう。
また、表示装置には、ペンや指でタッチパネルに手書きされたデータを表示するものもあり、比較的大型のタッチパネルを備えた表示装置は会議室などに配置され、複数のユーザーにより電子黒板などとして利用される(例えば、特許文献1参照。)。特許文献1には、手書きストロークでアイコンを検索する場合の精度を向上させる技術が開示されている。
しかしながら、従来の表示装置は、ユーザーが手書きした手書きデータの特定の文字に応じたフォントの変更ができないという問題があった。例えば、ユーザーが手書きした手書きデータに基づく文字列のフォント名を選択する場合にはどのようなフォントであるかのイメージを予め持っている必要があるため、そのようなイメージを持っていない場合は所望のフォントを選択することが困難だった。
本発明は、上記課題に鑑み、手書きデータの特定の文字に応じた、文字のフォントの選択を容易にする表示装置を提供することを目的とする。
上記課題に鑑み、本発明は、手書きデータの入力を受け付ける受付手段と、前記受付手段が受け付けた前記手書きデータを1つ以上の文字列に変換する変換手段と、前記変換手段が変換した前記文字列が特定の文字列である場合、前記特定の文字列に応じた1つ以上のフォントセットを表示させる表示手段と、を有し、1つのフォントセットは複数のフォントスタイルを有しており、前記表示手段が表示させたフォントセットのうち、ユーザーの操作により前記受付手段が選択を受け付けたフォントセットが有するフォントスタイルを用いて文字を表示する表示制御手段と、を有する表示装置を提供する。
本発明によれば、手書きデータの特定の文字に応じた、文字のフォントの選択を容易にする表示装置を提供することができる。
表示装置がフォントを切り替える動作又は処理を説明する図である。 業務に応じて設定されたフォントセットで文字が入力された手書き看板(表示装置)の一例を示す図である。 ペンの斜視図の一例を示す図である。 表示装置の全体構成図を示した図である。 表示装置のハードウェア構成図の一例である。 表示装置とペンが有する機能について説明する図である。 定義済み制御データの一例を示す図である。 利用シーン別の定義済み制御データの一例を示す図である。 利用シーン別の定義済み制御データの一例を示す図である。 手書き認識辞書部の辞書データの一例を示す図である。 文字列変換辞書部の辞書データの一例を示す図である。 予測変換辞書部の辞書データの一例を示す図である。 操作コマンド定義データの一例を示す図である。 システム定義データの一例を示す図である。 表示部に表示されるファイル一覧表示データの一例を示す図である。 手書きオブジェクトにより選択された選択オブジェクトがある場合の操作コマンド定義データの一例を示す図である。 操作コマンド定義部が保持するユーザー定義データの一例を示す図である。 手書きサインデータ保存部が保持する手書きサインデータの一例を示す図である。 手書き入力保存部が保存している手書き入力保存データの一例を示す図である。 ペンID制御データ保存部が保存するペンID制御データを説明する図である。 ユーザーの位置を説明する図である。 カラー定義データの一例を示す図である。 図18のカラー定義データを使用して、白黒強調表示されたデータとカラー表示方法で表示されたデータの一例を示す図である。 ペン色選択ボタン定義データの一例である。 ディスプレーに表示されるペン色選択ボタンの一例を示す図である。 業務別フォント選択ボタン定義データの一例を示す図である。 ディスプレーに表示される業務別フォントセット選択ボタンの一例を示す図である。 操作ガイドと操作ガイドが表示する選択可能候補の一例を示す図である。 選択オブジェクトの指定例を説明する図の一例である。 手書きオブジェクトがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す図である。 手書きオブジェクトがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す図である。 角度情報の入力方法を説明する図の一例である。 手書きサインデータの登録方法を説明する図である。 ユーザーが登録した手書きサインデータである「すずき」と手書きした場合に表示される操作ガイドの一例を示す図である。 ユーザー定義データの変更方法を説明する図である。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その1)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その2)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その3)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その4)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その5)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その6)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その7)。 表示装置が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である(その8)。 ユーザーが「フード」と手書きした場合に表示される操作ガイドの一例を示す図である。 操作コマンドの実行によるペンID制御データの保存手順を示すフローチャート図の一例である。 ペンID制御データの遷移図の一例である。 「FoodMenu」というフォントセットがペンID制御データに設定された状態で手書き入力された場合の操作ガイドの一例を示す図である。 手書き入力表示制御部が文字列オブジェクトを表示する手順を示すフローチャート図の一例である。 「建設」と手書きした場合に表示される操作ガイドの一例を示す図である。 操作コマンドの実行によるペンID制御データの保存手順を示すフローチャート図の一例である。 ペンID制御データの遷移図の一例である。 「Construction1」というフォントセットがペンID制御データに設定された状態で手書き入力された場合の操作ガイドの一例を示す図である。 手書き入力表示制御部が文字列オブジェクトを表示する手順を示すフローチャート図の一例である。 業種別フォントセットを用いた文字列オブジェクトの表示例を示す図である。 業務別フォントセット選択ボタンの押下によるペンID制御データの保存手順を示すフローチャート図の一例である。 「フォント」という手書きオブジェクトから操作コマンドとしてフォントのリストが表示された操作ガイドの一例を示す図である。 「メイリオ」又は「明朝」という手書きオブジェクトから操作コマンドとしてフォントのリストが表示された操作ガイドの一例を示す図である。 「カフェ」という手書きオブジェクトから操作コマンドとしてフォントのリストが表示された操作ガイドの一例を示す図である。 「見出し」という手書きオブジェクトから操作コマンドとしてフォントのリストが表示された操作ガイドの一例を示す図である。 「かわいい」という手書きオブジェクトから操作コマンドとしてフォントのリストが表示された操作ガイドの一例を示す図である。 「強調」という手書きオブジェクトから操作コマンドとしてフォントのリストが表示された操作ガイドの一例を示す図である。 「cafe」という手書きオブジェクトから操作コマンドとしてフォントのリストが表示された操作ガイドの一例を示す図である。 「フォント」という手書きオブジェクトから操作コマンドとしてフォントのリストが表示された操作ガイドの一例を示す図である。 英語変換の場合において、表示装置がフォントを切り替える動作又は処理を説明する図である。 英語変換の場合において、業務に応じて設定されたフォントセットで文字が入力された手書き看板(表示装置)の一例を示す図である。 英語変換における定義済み制御データの一例を示す図である。 英語変換における利用シーン別の定義済み制御データの一例を示す図である。 英語変換における利用シーン別の定義済み制御データの一例を示す図である。 英語変換における手書き認識辞書部の辞書データの一例を示す図である。 英語変換における文字列変換辞書部の辞書データの一例を示す図である。 英語変換における予測変換辞書部の辞書データの一例を示す図である。 英語変換において、選択オブジェクトがない場合の操作コマンド定義データの一例を示す図である。 英語変換において、システム定義データの一例を示す図である。 英語変換において、図18のカラー定義データを使用して、白黒強調表示されたデータとカラー表示方法で表示されたデータの一例を示す図である。 英語変換におけるペン色選択ボタン定義データの一例である。 英語変換において、ディスプレーに表示されるペン色選択ボタンの一例を示す図である。 英語変換において、英語変換の場合の操作ガイドと操作ガイドが表示する選択可能候補の一例を示す図である。 英語変換において、ユーザーが「Food」と手書きした場合に表示される操作ガイドの一例を示す図である。 英語変換において、ペンID制御データの遷移図の一例である。 英語変換において、「FoodMenu」というフォントセットがペンID制御データに設定された状態で手書き入力された場合の操作ガイドの一例を示す図である。 英語変換において、ユーザーが「construction」と手書きした場合に表示される操作ガイドの一例を示す図である。 英語変換において、ペンID制御データの遷移図の一例である。 英語変換において、「Construction1」というフォントセットがペンID制御データに設定された状態で手書き入力された場合の操作ガイドの一例を示す図である。 英語変換において、業種別フォントセットを用いた文字列オブジェクトの表示例を示す図である。 英語変換において、「font」という手書きオブジェクトから操作コマンドとしてフォントのリストが表示された操作ガイドの一例を示す図である。 英語変換において、「Meiryo」又は「Serif」という手書きオブジェクトから操作コマンドとしてフォントのリストが表示された操作ガイドの一例を示す図である。 英語変換において、「cafe」という手書きオブジェクトから操作コマンドとしてフォントのリストが表示された操作ガイドの一例を示す図である。 英語変換において、「Heading」という手書きオブジェクトから操作コマンドとしてフォントのリストが表示された操作ガイドの一例を示す図である。 英語変換において、「cute」という手書きオブジェクトから操作コマンドとしてフォントのリストが表示された操作ガイドの一例を示す図である。 英語変換において、「emphasis」という手書きオブジェクトから操作コマンドとしてフォントのリストが表示された操作ガイドの一例を示す図である。 英語変換において、「cafe」という手書きオブジェクトから操作コマンドとしてフォントのリストが表示された操作ガイドの一例を示す図である。 英語変換において、「font」という手書きオブジェクトから操作コマンドとしてフォントのリストが表示された操作ガイドの一例を示す図である。 表示装置の他の構成例を示す図である。 表示装置の他の構成例を示す図である。 表示装置の他の構成例を示す図である。 表示装置の他の構成例を示す図である。
以下、本発明を実施するための形態の一例として、表示装置及び表示装置が行う表示方法について図面を参照しながら説明する。
<本実施形態における表示装置のフォントの選択例>
例えば、店頭に手書きメニューが置かれる場合がある(メニューとはディスプレー上に表示される操作項目の一覧である)。手書きメニューは店員がその日のおすすめのメニューを手書きしたものであるが、デザイン性などある程度のスキルを有する者が書くことが好ましいとされている。つまり、誰でも書けるわけではなかった。一方、本実施形態の表示装置は手書きデータを文字認識するので、だれでも清書された文字を入力して表示できる。しかし、このようなメニューはお店のブランドイメージに関わるので、お店の雰囲気や料理ジャンルなどに適したフォントで文字等を表示することが好ましい。
しかしながら、お店のブランドイメージに適したフォントとして店員はどのフォントを選べばよいか分からないという不都合がある。一般的なワープロソフトウェアなどではフォント名がそのフォントスタイルで表示され、ユーザーがフォントを選択できるようになっているが、フォントスタイルを見てもお店のブランドイメージなどに適したフォントを選べるとは限らない。また、そもそもお店のブランドイメージにあったフォントがどのようなものかを分かっていないため選択すること自体が容易でない。
そこで、本実施形態の表示装置は、ユーザーが業務又は業種を選択すると業種又は業種のイメージに適したフォントセットを自動的に選択することを可能にした。フォントセットとは複数のフォントが1セットになったものである。また、フォントセット内のフォントの切り替えを、ユーザーが手書きする文字のサイズで行うことができる。
図1は、本実施形態の表示装置がフォントを切り替える動作又は処理を説明する図である。
(1) ユーザーは予め決まっているキーワードを手書きする。図1では「ぎょうむ」が手書きされた。
(2) 表示装置は「ぎょうむ」が後述する操作コマンドであると判定し、フォントが用意されている業務の選択肢301(「フードメニュー」「図面」「レポート」「表作成」。これらは操作コマンドである。)、及び、文字列候補539を表示する。操作コマンドとは表示装置が実行する命令である。表示装置は命令に応じた処理を実行する。
(3) ユーザーは選択肢301から手書きデータが使用される業務を選択する。図1では「フードメニュー」が選択された。これにより、ユーザーが保持するペン2500に対応付けられたペンID制御データ(後述する)にフードメニューというフォントセットが設定される。フォントセットには複数のフォントが含まれ、フォントにはフォントスタイル(フォントスタイルとはフォントのデザインである)が含まれる(フォントセットには複数のフォントスタイルが含まれる)。
(4) 業務の選択により操作ガイド500はいったん消去され、ユーザーが手書きデータを入力すると、文字列候補539が表示される。図1では「ランチ」と手書きしたため、「ランチ」「ランチメニュー」「ランチョン」「ランチャー」という文字列候補539が表示されている。
(5) ユーザーが「ランチ」を選択すると、表示装置は「ランチ」というテキストデータ(後述する文字列オブジェクト302)を、(3)で選択した業務に応じて用意されているフォントセットが有するフォントの1つで表示する。表示装置は例えば、手書きされた「ランチ」の文字のサイズに応じて、「ランチ」という文字列オブジェクト302(テキストデータ)のフォントを切り替える。あくまで一例であるが、表示装置は以下のように切り替える。
小:教科書体
中:丸ゴシック体
大:ポップ体
このように表示装置は、ユーザーが手書きした文字のサイズに応じてフォントセットからフォントを自動的に切り替えて表示できる。
図2は、表示装置が手書き看板として使用された場合に、業務に応じて設定されたフォントセットで表示された文字の表示例を示す。この手書き看板は見出し欄311、メニュー欄312、及び、説明欄313の3つの領域を有している。領域を区分する境界線もユーザーが手書きしたものであるが、領域に分けられている必要はない。ペン2500に対応付けられたペンID制御データにフードメニューというフォントセットが設定された状態で、ユーザーは見出し欄311には大きい文字で、メニュー欄312には中くらいの文字、説明欄313には小さい文字で手書きする。従って、見出し欄311の文字はポップ体で表示され、メニュー欄312の文字は丸ゴシック体で表示され、説明欄313の文字は教科書体で表示される。
このように、ユーザーは自分の業務を選択することで、自分の業務のイメージに適したフォントセット(複数のフォントを有するフォントの集まりである)に切り替えて文字を表示できる。また、ユーザーは手書きする場合の文字のサイズを調整することで、業務にあったフォントセットから文字サイズに適したフォントで表示できる。ユーザーはフォントを直接選択する必要がなく、お店のブランドイメージにあったフォントが何かを検討する必要もない。このように、本実施形態の表示装置はフォント選択時の操作性を向上することができる。
なお、表示装置の利用方法としては店頭だけでなく、病院など施設内の案内、工事現場の法的情報提示、工場の注意事項や作業内容など、掲示板的な役割を担うことができる利用方法で好適に活用できる。掲示板に限らず、電子黒板としての表示装置にユーザーが文字を入力する場合も利用できる。また、図面を表示させる部署などの業務に適したフォントに切り替える場合も有効である。
<用語について>
手書きデータとは、ディスプレー上でユーザーが入力手段を連続的に移動させた座標点列を軌跡として表示したデータである。また、ユーザーがディスプレーに入力手段を押しつけてから連続的に移動させた後、ディスプレーから離すという一連の操作をストロークといい、ストロークにより手書きされたデータをストロークデータという。手書きデータは1つ以上のストロークデータを有する。
入力手段とはタッチパネルに座標を指定して手書きが可能な手段であればよい。例えば、ペン、人の指や手、棒状部材などがある。また、視線入力が可能でもよい。手書きデータとは、タッチパネル上でユーザーが入力手段を連続的に移動させた座標点列を軌跡として表示したデータである。また、ユーザーがタッチパネルに入力手段を押しつけてから連続的に移動させた後、タッチパネルから離すという一連の操作をストロークという。ストロークにより手書きされたデータはストロークデータという。手書きデータは1つ以上のストロークデータを有する。手書き入力とは、ユーザーによって、手書きデータが入力されることを示している。
手書きデータとは、手書きデータそのものだけでなく、手書きデータが文字認識して変換されたテキストデータ、「済」などの決まった文字やマークとして表示されるスタンプ、円や星などの図形、直線等、ユーザーの操作に基づいて表示されたデータをいう。
フォントセットとは複数のフォントを有するフォントの集まりをいう。フォントとはコンピューターで使う文字のデザイン(デザインとは見た目、外観、意匠など)の書体をいう。フォントスタイルとはこのデザインをいう。各フォントはフォントスタイルを有している。
フォントで表示される文字とは、日本語に限らず、アルファベットを含む文字をいう。また、%、&などの記号、及び、数字も設定されたフォントで表示されてよい。また、三角形や丸などの図形も設定されたフォントで表示されてよい。
手書き入力起因データとは、タッチパネルに手書きされたことで入力されたデータをいう。入力後に手書きのままか、テキストデータに変換されたかは問わない。また、外部機器から取得されたデータも手書き由来であることは失われない。手書き入力起因データは文字認識して変換されたテキストデータの他、「済」「秘」などの決まった文字やマークとして表示されるスタンプ、円や星などの図形、直線等、ユーザーの操作に基づいて変換されたデータも含まれてよい。
<ペンの外観の一例>
図3は、ペン2500の斜視図の一例を示す。図3は多機能なペン2500の一例を示す。電源を内蔵して表示装置2に命令を送信できるペン2500をアクティブペンという(電源を内蔵しないペンをパッシブペンという)。図3のペン2500は、物理的なスイッチがペン先に一つ、ペン尻に一つ、ペン側面に二つあり、ペン先が筆記用、ペン尻が消去用、ペン側面はユーザー機能割り当て用である。本実施形態では、更に、不揮発性のメモリーを有しており、このメモリーは他のペンと重複しないPenIdを記憶している。PenIdはペン2500の識別情報である。
なお、スイッチ付きのペンであれば、ユーザーの表示装置2の操作手順を減らすことも可能である。スイッチ付きのペンとは主にアクティブペンを言うが、電磁誘導方式では電源を内蔵しないパッシブペンでもLC回路だけで電力を発生できるため、アクティブペンだけでなく電磁誘導方式のパッシブペンを含む。電磁誘導方式以外の光学方式、赤外線方式、及び、静電容量方式のスイッチのあるペンはアクティブペンである。
なお、ペン2500のハードウェア構成は、通信機能とマイコンを備えた一般的な制御方式と同様であるとする。ペン2500は、電磁誘導方式、アクティブ静電結合方式などがある。また、ペン2500は、筆圧検知、傾き検知、ホバー機能(ペンが触れる前にカーソルを表示)、などの機能を有していてよい。
なお、本実施形態では4つのペン2500が用意されているものとして説明する。4つのペン2500を個別に指し示す場合は「ペン1、ペン2、ペン3、ペン4」と称する。ただし、ペンの数は4つに限られず、1~3でも5つ以上でもよい。
<装置の全体構成>
図4を用いて、本実施形態に係る表示装置2の全体構成を説明する。図4は、表示装置2の全体構成図を示した図である。図4(a)は、表示装置2の一例として、壁につり下げられた横長の電子黒板として使用される表示装置2を示している。
図4(a)に示されているように、表示装置2の上部には表示装置の一例としてのディスプレー220が設置されている。ユーザーUは、ペン2500を用いて、ディスプレー220に文字等を手書きする(入力、描画ともいう)ことができる。
図4(b)は壁につり下げられた縦長の電子黒板として使用される表示装置2を示している。
図4(c)は机230に平置きされた表示装置2を示す。表示装置2は厚みが1cm程度なので、一般の机に平置きされても机の高さを調整する必要がない。また、ユーザーが表示装置2を容易に移動できる。
なお、表示装置2がどの置き方で使用されているかはチルトセンサーにより表示装置2が自動的に検出できる。
<装置のハードウェア構成>
続いて、図5を用いて、表示装置2のハードウェア構成を説明する。表示装置2は図示するように情報処理装置又はコンピュータの構成を有している。図5は、表示装置2のハードウェア構成図の一例である。図5に示されているように、表示装置2は、CPU201(Central Processing Unit)、ROM202(Read Only Memory)、RAM203(Random Access Memory)、及び、SSD204(Solid State Drive)を備えている。
これらのうち、CPU201は、表示装置2全体の動作を制御する。ROM202は、CPU201やIPL(Initial Program Loader)等のCPU201の駆動に用いられるプログラムを記憶する。RAM203は、CPU201のワークエリアとして使用される。SSD204は、表示装置2用のプログラム等の各種データを記憶する。
また、表示装置2は、ディスプレーコントローラー213、タッチセンサーコントローラー215、タッチセンサー216、ディスプレー220、電源スイッチ227、チルトセンサー217、シリアルインターフェース218、スピーカー219、マイク221、無線通信装置222、赤外線I/F223、電源制御回路224、ACアダプター225、及びバッテリー226を備えている。
ディスプレーコントローラー213は、出力画像をディスプレー220等へ出力するために画面表示の制御及び管理を行う。タッチセンサー216は、ディスプレー220上にペン2500やユーザーの手等(ペンやユーザーの手は入力手段となる)が接触したことを検知する。また、タッチセンサー216はPenIdを受信する。
タッチセンサーコントローラー215は、タッチセンサー216の処理を制御する。タッチセンサー216は、座標の入力及び座標の検出を行う。この座標の入力及び座標を検出する方法は、例えば、光学式の場合、ディスプレー220の上側両端部に設置された2つ受発光装置が、ディスプレー220に平行して複数の赤外線を放射する方法である。複数の赤外線は、ディスプレー220の周囲に設けられた反射部材によって反射されて、受光素子が放射した光の光路と同一の光路上を戻って来る光を受発光装置が受光する。
タッチセンサー216は、物体によって遮断された2つの受発光装置が放射した赤外線の位置情報をタッチセンサーコントローラー215に出力し、タッチセンサーコントローラー215が、物体の接触位置である座標位置を特定する。また、タッチセンサーコントローラー215は通信ユニット215aを有しており、ペン2500と無線で通信することができる。例えば、Bluetooth(登録商標)などの規格で通信している場合は、市販されているペンを使用することができる。通信ユニット215aに予め1つ以上のペン2500を登録しておくと、ユーザーはペン2500を表示装置2と通信させる接続設定を行わなくても通信できる。
電源スイッチ227は、表示装置2の電源のON/OFFを切り換えるためのスイッチである。チルトセンサー217は、表示装置2の傾き角度を検出するセンサーである。チルトセンサー217は、主に、表示装置2が図4(a)、図4(b)又は、図4(c)のいずれかの設置状態で使用されているかを検出するために使用され、設置状態に応じて文字等の太さを自動で変更することができる。
シリアルインターフェース218はUSBやLANインターフェースなどの外部との通信インターフェースである。シリアルインターフェース218は外部からの情報の入力などに使用される。スピーカー219は音声の出力に使用され、マイク221は音声の入力に使用される。無線通信装置222は、ユーザーが携帯する端末と通信し、例えばインターネットへの接続を中継する。無線通信装置222はWi-FiやBluetooth(登録商標)などで通信するが、通信規格は問われない。無線通信装置222はアクセスポイントを形成しており、ユーザーが入手したSSID(Service Set Identifier)とパスワードをユーザーが携帯する端末に設定すると、アクセスポイントに接続できる。
なお、無線通信装置222に2つのアクセスポイントが用意されているとよい。
(a) アクセスポイント→インターネット
(b) アクセスポイント→社内ネットワーク→インターネット
(a)のアクセスポイントは社外のユーザー用で、ユーザーは社内ネットワークにはアクセスできないが、インターネットを利用できる。(b)のアクセスポイントは社内のユーザー用で、ユーザーは社内ネットワーク及びインターネットを利用できる。
赤外線I/F223は隣に配置された表示装置2を検出する。赤外線I/F223は赤外線の直進性を利用して、隣に配置された表示装置2のみを検出できる。赤外線I/F223は各辺に1つずつ設けられることが好ましく、表示装置2のどの方向に他の表示装置2が配置されたのかを検出できる。隣の表示装置2は過去に手書きされた手書き情報(1つのディスプレー220の広さを1ページとして別のページの手書き情報)を表示できる。
電源制御回路224は表示装置2の電源であるACアダプター225とバッテリー226を制御する。ACアダプター225は商用電源が共有する交流を直流に変換する。
ディスプレー220がいわゆる電子ペーパーの場合、画像が描画された後の画像を維持するためにほとんど又は一切電力を消費しないので、バッテリー226による駆動も可能である。これにより、屋外など電源を接続しにくい場所でもデジタルサイネージなどの用途で表示装置2を使用することが可能になる。
更に、表示装置2は、バスライン210を備えている。バスライン210は、図5に示されているCPU201等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
なお、タッチセンサー216は、光学式に限らず、静電容量の変化を検知することにより接触位置を特定する静電容量方式のタッチパネルでもよい。タッチセンサー216は、対向する2つの抵抗膜の電圧変化によって接触位置を特定する抵抗膜方式のタッチパネルでもよい。タッチセンサー216は接触物体が表示部に接触することによって生じる電磁誘導を検知して接触位置を特定する電磁誘導方式のタッチパネルでもよい。タッチセンサー216は種々の検出手段で接触位置を特定できる。タッチセンサー216は、ペン先のタッチの有無を検知するのに電子ペンが必要ない方式であってよい。この場合はタッチ操作をするのに指先やペン型の棒を使用できる。なお、ペン2500は、細長いペン型である必要はない。
<装置の機能について>
次に、図6を用いて、表示装置2とペン2500が有する機能について説明する。図6(a)は表示装置2が有する機能をブロック状に示す機能ブロック図の一例である。表示装置2は、手書き入力部21、表示部22、手書き入力表示制御部23、候補表示タイマー制御部24、手書き入力保存部25、手書き認識制御部26、手書き認識辞書部27、文字列変換制御部28、文字列変換辞書部29、予測変換制御部30、予測変換辞書部31、操作コマンド認識制御部32、操作コマンド定義部33、ペンID制御データ保存部36、ファイル送受信制御部37、手書きサイン認証制御部38、及び、手書きサインデータ保存部39を備えている。表示装置2が有する各機能は、図5に示されている各構成要素のいずれかが、SSD204からRAM203上に展開されたプログラムに従ったCPU201からの命令によって動作することで実現される機能又は手段である。
手書き入力部21はタッチセンサー216等により実現されており、ユーザーによる手書き入力を受け付け、PenIdを受信する。手書き入力部21はユーザーのペン入力d1をPenId付きのペン操作データd2(ペンアップ、ペンダウン、又はペン座標データ)に変換し、手書き入力表示制御部23に送信する。ペン座標データは離散値として定期的に送信され、離散値間の座標は補完計算される。
表示部22はディスプレー220等により実現され、手書きされたオブジェクトや操作メニューを表示する。表示部22は手書き入力表示制御部23がビデオメモリーに書き込んだ描画データd3をディスプレー220の特性に応じたデータに変換し、ディスプレー220に送信する。
手書き入力表示制御部23は手書き入力と表示に関する全体的な制御を行う。手書き入力表示制御部23は手書き入力部21からのペン操作データd2を処理し、表示部22に送信することで表示させる。また、手書き入力表示制御部23はペンID制御データ保存部36に保存されているフォントセットに基づいてフォントを切り替えて、フォントセットに含まれるフォントのフォントスタイルで文字列オブジェクトを表示する。ペン操作データd2の処理及びストロークの表示の詳細は後述の図32~図39にて説明する。
候補表示タイマー制御部24は、選択可能候補の表示制御タイマーである。候補表示タイマー制御部24はタイマーを開始又は停止して選択可能候補の表示を開始するタイミングと表示を消去するタイミングを生成する。選択可能候補とは、後述する操作ガイドに選択可能に表示される手書き認識文字列/言語文字列候補、変換文字列候補、文字列/予測変換の候補、操作コマンドの候補、である。候補表示タイマー制御部24は手書き入力表示制御部23からタイマー開始要求d4(タイマー停止要求の場合もある)を受信し、タイムアウトイベントd5を手書き入力表示制御部23に送信する。
手書き入力保存部25はユーザーデータ(手書きオブジェクト/文字列オブジェクト)を保存しておくストレージの機能を有する。手書きオブジェクトはストロークで構成される認識前の文字などのオブジェクトであり、文字列オブジェクトは認識後の文字等のオブジェクトをいう。手書き入力保存部25は手書き入力表示制御部23からユーザーデータd6-1を受信し、手書き入力保存部25に保存し、手書き入力表示制御部23から取得要求d6-2を受け取って、手書き入力保存部25に保存されたユーザーデータd7を送信する。手書き入力保存部25は、確定オブジェクトの位置情報d36を操作コマンド認識制御部32に送信する。
手書き認識制御部26はオンライン手書き認識を行う認識エンジンである。一般的なOCR(Optical Character Reader)とは異なり、ユーザーのペン操作と並行して文字(日本語だけでなく英語などの多国語)、数字、記号(%、$、&など)、図形(線、丸、三角など)等を認識していく。認識方法については様々なアルゴリズムが考案されているが、本実施形態では公知の技術を利用できるとして詳細を割愛する。
手書き認識制御部26はペン操作データd8-1を手書き入力表示制御部23から受信し、手書き認識を実行して手書き認識文字列候補を保持する。また、手書き認識制御部26は手書き認識辞書部27を使用して手書き認識文字列候補d12から変換した言語文字列候補を保持しておく。別途、取得要求d8-2を手書き入力表示制御部23から受信した場合、手書き認識制御部26は保持している手書き認識文字列候補及び言語文字列候補d9を手書き入力表示制御部23に送信する。
手書き認識辞書部27は手書き認識の言語変換用の辞書データである。手書き認識辞書部27は手書き認識文字列候補d12を手書き認識制御部26から受信し、言語的に確からしい言語文字列候補d13に変換して手書き認識制御部26に送信する。例えば、日本語の場合は、平仮名を漢字や片仮名へ変換する。
文字列変換制御部28は変換文字列候補の文字列への変換を制御する。変換文字列とは手書き認識文字列又は言語文字列を含んで生成される可能性が高い文字列である。文字列変換制御部28は手書き認識文字列及び言語文字列候補d11を手書き認識制御部26から受信し、文字列変換辞書部29を使用して変換文字列候補に変換して保持しておく。別途、取得要求d14を手書き入力表示制御部23から受信した場合、文字列変換制御部28は、保持している変換文字列候補d15を手書き入力表示制御部23に送信する。
文字列変換辞書部29は文字列変換用の辞書データである。文字列変換辞書部29は文字列変換制御部28から手書き認識文字列及び言語文字列候補d17を受信し、変換文字列候補d18を文字列変換制御部28に送信する。
予測変換制御部30は手書き認識文字列及び言語文字列候補d10を手書き認識制御部26から受信し、変換文字列候補d16を文字列変換制御部28から受信し、それぞれについて予測変換辞書部31を使用して予測文字列候補に変換しておく。予測変換文字列とは手書き認識文字列、言語文字列又は変換文字列を含んで生成される可能性が高い文字列である。別途、取得要求d19を手書き入力表示制御部23から受信した場合、予測変換制御部30は予測文字列候補d20を手書き入力表示制御部23に送信する。
予測変換辞書部31は予測変換用の辞書データである。予測変換辞書部31は手書き認識文字列及び言語文字列候補と変換文字列候補d21を予測変換制御部30から受信し、予測文字列候補d22を予測変換制御部30に送信する。
操作コマンド認識制御部32は手書き認識文字列及び言語文字列候補d30を手書き認識制御部26から受信し、変換文字列候補d28を文字列変換制御部28から受信し、予測文字列候補d29を予測変換制御部30から受信する。そして、操作コマンド認識制御部32はそれぞれについて操作コマンド変換要求d26を操作コマンド定義部33に送信し、操作コマンド定義部33から操作コマンドの候補d27を受信する。操作コマンド認識制御部32は操作コマンドの候補d27を保持しておく。
操作コマンド定義部33は操作コマンド変換要求d26が操作コマンド定義と部分一致している場合は操作コマンドの候補d27を操作コマンド認識制御部32に送信する。
また、操作コマンド認識制御部32はペン操作データd24-1を手書き入力表示制御部23から受信し、過去に入力され確定した確定オブジェクトの位置情報取得要求d23を手書き入力保存部25に送信する。手書き入力保存部25はペン操作データが指定している確定オブジェクトを選択オブジェクト(位置情報を含む)として保持しておく。操作コマンド認識制御部32はペン操作データd24-1の位置と所定の基準を満たす選択オブジェクトを特定する。操作コマンド認識制御部32は、別途、取得要求d24-2を手書き入力表示制御部23から受信した場合、保持している操作コマンドの候補と特定した選択オブジェクトd25を手書き入力表示制御部23に送信する。
ペンID制御データ保存部36は、ペンID制御データを保持している(記憶手段といってもよい)。手書き入力表示制御部23が表示部22に表示データを送信する前に、ペンID制御データ保存部36はペンID制御データd41を手書き入力表示制御部23に送信する。手書き入力表示制御部23は、PenIdに対応付けて保存されている動作条件で表示データを描画する。また、手書き認識制御部26が手書き認識を実行する前に、ペンID制御データ保存部36は手書き認識制御部26にペンID制御データの角度情報d44を送信する。手書き認識制御部26はPenIdに対応づけて保存されている角度情報でストロークを回転して手書き認識を実行する。
また、ユーザーが文字等を手書きする場合の角度情報を設定するための直線を認識した後、手書き認識制御部26はペンID制御データの角度情報d43をペンID制御データ保存部36に送信して、PenIdに対応付けて角度情報d43を保存する。また、手書き入力表示制御部23が角度情報を設定する操作コマンドを実行後に、手書き入力表示制御部23はペンID制御データd42をペンID制御データ保存部36に送信する。ペンID制御データ保存部36は操作コマンドの実行結果(ユーザーが設定した角度情報)をPenIdに対応付けて保存する。以降、そのPenIdのストロークは設定した角度情報で回転してから手書き認識が実行される。
また、手書き認識制御部26はペンID制御データの角度情報で時計回りに回転させたストロークデータd49を手書きサイン認証制御部38に送信する。これにより、ユーザーの位置(表示装置2に対しどの方向から手書きするか)に関わりなく手書きサインの認証が可能になる。
手書きサインデータ保存部39は、手書きサインデータを保持する。手書きサインデータ保存部39は、手書きサインデータ取得要求d45を手書きサイン認証制御部38から受信した場合、手書きサインデータd46を手書きサイン認証制御部38に送信する。手書きサインデータのフォーマットは手書きサイン認証制御部38の手書きサイン認証のアルゴリズムに依存するものとする。手書きサインデータ保存部39のデータについては図15にて説明する。
手書きサイン認証制御部38は手書き認識制御部26から時計回りに回転したストロークデータd49を受信すると、手書きサインデータ保存部39に手書きサインデータ取得要求d45を送信し、手書きサインデータ保存部39は手書きサインデータd46を手書きサイン認証制御部38に送信する。
手書きサイン認証制御部38は手書きサインデータに基づいてユーザーの認証を行う。手書きサインデータに基づくユーザーの認証には様々なアルゴリズムが考案されているが、本実施形態では実用に支障がない認識率で認識できる技術を使用するものとする。手書きサイン認証制御部38は、例えば、手書きサインデータを構成する座標、筆圧、ストロークを書く時間などを要素とする特徴ベクトルを生成する。手書きサイン認証制御部38は要素に適宜重み付けをして、登録済みの手書きサインデータの特徴ベクトルとサインイン時にユーザーが手書きしたユーザー名等の特徴ベクトルを比較する。一致度が閾値以上の場合、手書きサイン認証制御部38は、認証成功と判定し、閾値未満の場合、認証失敗と判定する。
手書きサイン認証制御部38はストロークデータd49と手書きサインデータd46の比較結果である手書きサインの認証結果を保持しておく。手書きサイン認証制御部38は、別途、手書き入力表示制御部23から取得要求d48を受信した場合、保持している手書きサインの認証結果d47を手書き入力表示制御部23に送信する。手書きサインの認証結果は、ストロークデータd49と手書きサインデータd46が一致したと見なせるか否か、及び、一致したと見せる場合は、一致した手書きサインデータd46に対応付けられている後述するSignatureIdを有する。
手書き認識制御部26の手書き認識結果が手書きサイン登録の実行を指示する操作コマンドに適合する場合、手書き認識制御部26は手書き入力保存部25から手書きサイン登録フォーム(後述するように、手書きサインデータが入力される枠)に入力されたデータd52を取得する。手書き認識制御部26はデータd52のうち手書きサインデータd50を手書きサイン認証制御部38に送信する。手書きサイン認証制御部38は受信した手書きサインデータd50を手書きサインデータ保存部39に送信して登録する。
手書き認識制御部26の手書き認識結果が手書きサインの取消指示又は登録の実行の場合、手書き認識制御部26は手書き入力保存部25に手書きサイン登録フォームの削除要求d51を送信して、手書き入力保存部25から手書きサイン登録フォームを削除する。
手書き認識制御部26の手書き認識結果がユーザー定義データ変更の実行指示の場合、手書き認識制御部26は手書き入力保存部25からユーザー定義データ変更フォームに入力されたデータd53を取得する。手書き認識制御部26は、データd53のうち変更値d54を操作コマンド定義部33に送信し、ユーザー定義データを変更する。ユーザー定義データについては図14にて説明する。
手書き認識制御部26の手書き認識結果がユーザー定義データ変更フォームの取消指示又は登録の実行の場合、手書き認識制御部26は手書き入力保存部25にユーザー定義データ変更フォームの削除要求d55を送信し、手書き入力保存部25からユーザー定義データ変更フォームを削除する。
ファイル送受信制御部37は、手書き入力起因データ又は手書き入力起因データでないデータの記憶媒体へのファイルの保存及び取得、外部機器との通信(印刷要求、表示要求など)等を行う。ファイル送受信制御部37は手書き入力表示制御部23からファイルの送受信の実行要求d64を受け取る。ファイルの保存又は印刷時、手書き入力表示制御部23はファイル送信要求をファイル送受信制御部37に送信し、ファイル送受信制御部37は手書き入力保存データd61の取得要求を手書き入力保存部25に送信する。
・手書き入力起因データでないデータの場合、手書き入力保存部25は該データが保持する色情報のまま送信する。
・手書き入力起因データの場合、手書き入力保存部25は送信先がカラー対応装置(例えばカラープリンタ)の場合はカラーに変換した手書き入力保存データd62をファイル送受信制御部37に送信する。
・手書き入力起因データの場合、手書き入力保存部25は送信先が白黒対応装置(例えばモノクロプリンタ)の場合は白黒に変換した手書き入力保存データd62をファイル送受信制御部37に送信する。白黒対応装置がグレースケールへの変換が可能な場合もあるので、カラーに変換してから送信してもよい。
・送信先が白黒強調対応装置の場合は後述する手書き入力保存データをファイル送受信制御部37に送信する。
・また、手書き入力保存部25が、手書き入力起因データをファイルに保存する場合は、手書き入力保存データd62をファイル形式に従ってカラーに変換すると共に、手書き入力保存データをファイルのメタデータとして添付する。手書き入力起因データでないデータをファイルに保存する場合は、手書き入力保存データd62をファイル形式に従ってカラーに変換する。
カラー対応装置か白黒対応装置かは、例えば、ネットワーク機器が保持するMIB(Management Information Base)に保存されており、ファイル送受信制御部37はMIBを取得することで判定できる。同様に、MIBが公開する機種名などから白黒強調対応装置かどうかも判定できる。
ファイルの読み込み時は、手書き入力表示制御部23はファイル一覧取得要求d65をファイル送受信制御部37に送信し、ファイル送受信制御部37は外部機器にファイル一覧取得要求を送信して、ファイル一覧d63を取得し手書き入力表示制御部23に送信する。手書き入力表示制御部23はファイル一覧を表示部22に表示して、手書き入力部21は選択ファイルの表示位置を手書き入力表示制御部23に送信し、手書き入力表示制御部23はファイル受信要求d66をファイル送受信制御部37に送信する。ファイル送受信制御部37は外部機器からファイルを取得して、このファイルd67を手書き入力保存部25に送信する。手書き入力保存部25はファイルのメタデータを解析して、手書き入力起因データであるかどうかを判定し、手書き入力起因データであれば手書き入力保存データ(後述する白黒強調/カラー変換可能データ)を取り出す。ファイル送受信制御部37は、手書き入力起因データを白黒強調表示に変換し、手書き入力起因データでなければ変換せずに手書き入力表示制御部23に送信する(グレースケール化で表示される)。手書き入力表示制御部23は手書きオブジェクトの表示データを表示部22に送信する。
図6(b)は、ペン2500の機能をブロック状に示す機能ブロック図である。ペン2500はペンイベント送信部41を有している。ペンイベント送信部41はペンアップ、ペンダウン、ペン座標のイベントデータにPenIdをつけて表示装置2に送信する。
<定義済み制御データについて>
次に、図7A~図7Cを用いて、表示装置2が各種の処理に使用する定義済み制御データについて説明する。図7A~図7Cは定義済み制御データの一例を示す。図7A~図7Cの例では定義済み制御項目ごとに定義済み制御データを示す。また、図7B,図7Cは利用シーン別の定義済み制御データを示す。
選択可能候補表示タイマー401は、選択可能候補を表示するまでの時間を定義する。これは、手書き中に選択可能候補を表示しないためである。図7Aでは、ペンアップからTimerValue=500〔ms〕以内にペンダウンが発生しなければ選択可能候補が表示されることを意味している。選択可能候補表示タイマー401は候補表示タイマー制御部24が保持している。選択可能候補表示タイマー401は、後述する図34のステップS18-2において選択可能候補表示タイマー開始時に使用される。
選択可能候補消去タイマー402は表示した選択可能候補を消去するまでの時間を定義する。ユーザーが選択可能候補を選択しない場合に選択可能候補を消去するためである。図7Aでは、選択可能候補の表示からTimerValue=5000〔ms〕以内に選択可能候補が選択されなければ選択可能候補表示データが消去されることを意味している。選択可能候補消去タイマー402は候補表示タイマー制御部24が保持している。選択可能候補消去タイマー402は図36のステップS64において選択可能候補表示消去タイマー開始時に使用される。
手書きオブジェクト矩形領域403は手書きオブジェクトの近傍とみなす矩形領域を定義する。図7Aの例では、手書きオブジェクト矩形領域403は、手書きオブジェクトの矩形領域を水平方向に推定文字サイズの50%(Horizontal)拡大し、垂直方向に推定文字サイズの80%(Vertical)拡大した矩形領域となる。図7Aの例では推定文字サイズの割合(%指定)となっているが、単位を"mm"等とすれば固定長にすることも可能である。手書きオブジェクト矩形領域403は手書き入力保存部25が保持している。手書きオブジェクト矩形領域403は図33のステップS10において、手書きオブジェクト矩形領域とストローク矩形領域の重なり状況の判定で使用される。
推定書字方向/文字サイズ判定条件404は、書字方向と文字サイズの測定方向を判定するための定数を定義する。図7Aの例では、手書きオブジェクト矩形領域の最初にストロークが追加された時刻と最後にストロークが追加された時刻の差分がMinTime=1000〔ms〕以上で、手書きオブジェクト矩形領域の水平距離(幅)と垂直距離(高さ)の差分がMinDiff=10〔mm〕以上あり、かつ、水平距離が垂直距離より長い場合は、推定書字方向は「横書き」、推定文字サイズは垂直距離と判定することを意味する。水平距離が垂直距離より短い場合は、推定書字方向は「縦書き」、推定文字サイズは水平距離と判定することを意味する。以上の条件を満たさない場合は、推定書字方向は「横書き」(DefaultDir="Horizontal")、推定文字サイズは垂直距離と判定する。推定書字方向/文字サイズ判定条件404は手書き入力保存部25が保持している。推定書字方向/文字サイズ判定条件404は図36のステップS59における推定書字方向取得と、図39のステップS81における文字列オブジェクトフォント取得で使用される。
推定文字サイズ405は文字等のサイズを推定するためのデータを定義する。図7Aの例では、推定書字方向/文字サイズ判定条件404で判定された推定文字サイズが、推定文字サイズ405の小さめ文字405a(以下、最小フォントサイズ、と呼ぶ)と大きめ文字405c(以下、最大フォントサイズ)と比較されることを意味する。推定文字サイズが最小フォントサイズより小さい場合、推定文字サイズは最小フォントサイズと判定される。推定文字サイズが最大フォントサイズより大きい場合、推定文字サイズは最大フォントサイズと判定される。それ以外は、中くらい文字405bの文字サイズと判定される。推定文字サイズ405は手書き入力保存部25が保持している。推定文字サイズ405はフォントセットが選択されていない場合に使用され、図39のステップS81における文字列オブジェクトフォント取得で使用される。補足すると本実施例では後述するペンID制御データにFontSet又はFontNameが追加された場合、手書き入力表示制御部23が他方を削除するものとする。
手書き入力保存部25は具体的には、推定書字方向/文字サイズ判定条件404で判定された推定文字サイズを推定文字サイズ405のFontSizeと比較して、最も近いサイズのフォントを使用する。手書き入力保存部25は、例えば、推定文字サイズが25〔mm〕(小さめ文字のFontSize)以下の場合は「小さめ文字」を使用する。手書き入力保存部25は、推定文字サイズが25mm超50mm(中くらい文字のFontSize)以下の場合は「中くらい文字」を使用する。手書き入力保存部25は、推定文字サイズが100mm(大きめ文字のFontSize)超の場合は「大きめ文字」を使用する。「小さめ文字」405aは明朝体の25mmフォント(FontStyle="明朝体" FontSize="25mm")、「中くらい文字」405bは明朝体の50mmフォント(FontStyle="明朝体" FontSize="50mm")、「大きめ文字」405cはゴシック体の100mmフォント(FontStyle="ゴシック体" FontSize="100mm")を使用する。もっとフォントのサイズ又はスタイルの種類を増やしたい場合は、推定文字サイズ405の種類を増やせばよい。
業務別フォントセット408~411はそれぞれ業務に対応したフォントセットを定義する。図7Aの例では、業務別フォントセット408がフードメニューという業務で使用されるフォントセットを定義し、業務別フォントセット409が図面という業務で使用されるフォントセットを定義する。また、業務別フォントセット410がレポートという業務で使用されるフォントセットを定義し、業務別フォントセット411がスプレッドシートという業務で使用されるフォントセットを定義している。また、推定文字サイズ405と同様に業務別フォントセット408~411のそれぞれが推定書字方向/文字サイズ判定条件404で判定された推定文字サイズに応じて、小さめ文字、中くらい文字、及び、大きめ文字のフォントを定義している。従って、各文字サイズごとにフォントのパラメータ(FontSet、FontStyle、及び、FontSize)が定義されている。例えば、業務別フォントセット408において、フードメニューという業務の小さめ文字のFontSetは「FoodMenu」であり、FontStyleは「教科書体」であり、FontSizeは「25mm」である。FontSetは後述する操作コマンドが実行された場合にフォントセットを特定する情報となる。FontStyleはフォントスタイル(フォントの形状)を定義し、FontSizeは文字列オブジェクトのサイズを定義する。同様に、フードメニューという業務の中くらい文字のFontSetは「FoodMenu」であり、FontStyleは「丸ゴシック体」であり、FontSizeは「50mm」である。フードメニューという業務の大きめ文字のFontSetは「FoodMenu」であり、FontStyleは「ポップ体」であり、FontSizeは「100mm」である。FontSetは1つの業務(例えばフードメニュー)に共通であり、操作コマンドの実行により大、中、小の文字サイズのフォントセットがまとめて特定される。業務別フォントセット409~411も同様である。業務別フォントセット408~411は図39のステップS81における文字列オブジェクトフォント取得で使用される。
図7Bに示す、業種別フォントセット412~415は業種(業務でなく)に対応したフォントセットを定義する。また、業種別フォントセット412~415はペン2500ごと(入力手段ごと)にフォントセットを定義する。すなわち、業種別フォントセット412~415はペン1、ペン2、ペン3及びペン4のそれぞれで大、中、小の文字サイズのフォントセットを定義する。なお、ペン1~4はそれぞれPenId1~4という識別情報を有する。例えば、建設という業種のペン1の小さめ文字では、FontSetは「Construction1」であり、FontStyleは「明朝体」であり、FontSizeは「25mm」である。FontSetとFontStyleはペン1に共通で、FontSizeのみが異なっている。なお、FontStyleが共通である必要はない。FontSetについては操作コマンドが実行された場合にフォントを特定する情報となるため、ペン1に共通となる。ペン2の場合はFontSetが「Construction2」、FontStyleが「ゴシック体」、FontSizeが「25mm」「50mm」又は「100mm」となる。ペン3の場合はFontSetが「Construction3」、FontStyleが「ゴシック体」、FontSizeが「25mm」「50mm」又は「100mm」となる。ペン4の場合はFontSetが「Construction4」、FontStyleが「丸ゴシック体」、FontSizeが「25mm」「50mm」又は「100mm」となる。業種別フォントセット412~415は図39のステップS81における文字列オブジェクトフォント取得で使用される。
なお、ユーザーは文字のサイズ以外で複数のフォントを使い分けてもよい。例えば、ペン先とペン尻のどちらで手書きされたかによってフォントを使い分ける方法がある。この場合は定義済み制御データにペン先とペン尻に別のフォントが対応付けられる。ペンのボタンを使用してフォントを切り替えることもできる。ユーザーが表示させたメニューなどから、使用するフォントを明示的に選択してもよい。また、1つのペンに対応付くフォントセットは3つである必要はなく、2つ以上であればよい。
上記の業務別フォントセット408~411が1つずつ個別に選択されるのに対し、業種別フォントセット412~415は1回の操作コマンドの実行でペン1~4にそれぞれのフォントセットが同時に設定される。従って、業種別フォントセット412~415によりペン1~4ごとにフォントを変えることができる。このような使い方は、複数の業者(あるいは立場の異なる複数の担当者)が1つの表示装置2に手書きするようなケースにおいて、誰が記入したかを見る者が区別したい場合に採用される。各業者は決まったペン1~4を使用して手書きする。
業種別フォントセット416~419は「工場」という業種に対応したフォントセットを定義する。つまり、業種別フォントセット416~419には「工場」で使用される場合の用途に適したフォントセットが定義されている。ペン1~4のFontSetはそれぞれ「Factory1」~「Factory4」である。また、業種別フォントセット416~419では、ペン1~4のFontStyleがいずれも「ゴシック体」で共通であるが、小さめ文字、中くらい文字及び大きめ文字に関係なくFontSizeが同じで、かつ、ペン1~4ごとに異なっている。
従って、工場ではペンごとに文字サイズを変更すること、すなわち、一人のユーザーがペン1~4を取り替えて種々の文字サイズで手書きすることが可能になる。例えば、工場における製品の生産データの表中に書く詳細な説明文は小さいサイズで、アクションアイテムは大きなサイズで書くことができる。当然ながら、複数のユーザーがそれぞれペン1~4を使って手書きすることもできる。また、1つのペン1~4で文字サイズが変わると読みにくくなるため、「小さめ文字/中くらい文字/大きめ文字」のすべてで文字サイズが共通となっている。
図7Cに示されている、業種向けワークセット420は業種別フォントセット412~415と後述する操作コマンド定義データを結びつける制御データである。所定の操作コマンドが実行されると業種向けワークセット420が特定され、業種別フォントセット412~415とペン1~4がペンID制御データで対応付けられる。業種向けワークセット420は業種が「建設」向けのワークセットであり、ペン1~4のそれぞれにWorkSet、PenId、FontSet、を定義する。WorkSetの「Construction」は操作コマンドと対応付けられている。PenIdはペン1~4の識別情報であり、FontSetは業種別フォントセット412~415と対応付けられている。従って、「WorkSet="Construction"」の操作コマンドが実行されると、ペン1と業種別フォントセット412がペンID制御データで対応付けられ、ペン2と業種別フォントセット413がペンID制御データで対応付けられる。また、ペン3と業種別フォントセット414がペンID制御データで対応付けられ、ペン4と業種別フォントセット415がペンID制御データで対応付けられる。
業種向けワークセット421も同様であり、業種別フォントセット416~419と後述する操作コマンド定義データを結びつける制御データである。「WorkSet="Factory"」の操作コマンドが実行されると、ペン1と業種別フォントセット416がペンID制御データで対応付けられ、ペン2と業種別フォントセット417がペンID制御データで対応付けられる。また、ペン3と業種別フォントセット418がペンID制御データで対応付けられ、ペン4と業種別フォントセット419がペンID制御データで対応付けられる。
業務別フォントセット408~411と業種別フォントセット412~415、416~419は手書き入力保存部25が保持している。
図7Aに戻って説明する。跨ぎ線判定条件406は複数のオブジェクトが選択されたか否かの判定に使用されるデータを定義する。手書きオブジェクトが単数のストロークであり、図7Aの例では、手書きオブジェクトの長辺の長さが100〔mm〕以上(MinLenLongSide="100mm")、かつ、短辺の長さが50〔mm〕以下(MaxLenShortSide="50mm")、かつ、手書きオブジェクトとの長辺方向と短辺方向の重なり率が80〔%〕以上(MinOverLapRate="80%")のオブジェクトがあれば、複数のオブジェクトが選択された(選択オブジェクト)と判定する。跨ぎ線判定条件406は操作コマンド認識制御部32が保持している。跨ぎ線判定条件406は図35のステップS50における選択オブジェクトの判定の跨ぎ線判定で使用される。
囲み線判定条件407は、オブジェクトが囲み線か否かの判定に使用されるデータを定義する。図7Aの例では、操作コマンド認識制御部32は手書きオブジェクトの長辺方向と短辺方向の重なり率が100%以上(MinOverLapRate="100%")の確定オブジェクトを選択オブジェクトと判定する。囲み線判定条件407は、操作コマンド認識制御部32が保持している。囲み線判定条件407は、図35のステップS50における選択オブジェクトの判定の囲み線判定で使用される。
なお、跨ぎ線判定条件406と囲み線判定条件407はどちらが優先して判定されてもよい。例えば、跨ぎ線判定条件406を緩やかにして(跨ぎ線を選択しやすくした場合)、囲み線判定条件407は厳密にした場合(囲み線のみを選択できるような値とした場合)、操作コマンド認識制御部32は囲み線判定条件407を優先して判定するのがよい。
<辞書データの一例>
図8~図10を用いて辞書データについて説明する。図8は手書き認識辞書部27の辞書データの一例であり、図9は文字列変換辞書部29の辞書データの一例であり、図10は予測変換辞書部31の辞書データの一例である。なお、これらの辞書データはそれぞれ図35のステップS33~S41で使用される。
本実施形態では、図8の手書き認識辞書部27の辞書データによる変換結果を言語文字列候補、図9の文字列変換辞書部29の辞書データによる変換結果を変換文字列候補、図10の予測変換辞書部31の辞書データによる変換結果を予測文字列候補と呼ぶ。各辞書データの「変換前」は辞書データを検索する文字列、「変換後」は検索する文字列に対応した変換後の文字列、「確率」はユーザーが選択する確率を表す。確率は過去にユーザーが各文字列を選択した結果から算出されている。従って、ユーザーごとに確率が算出されてもよい。確率の計算方法として様々なアルゴリズムが考案されているが、適宜、適切な方法で計算するものとすればよく、詳細は割愛する。本実施形態では、推定書字方向から文字列候補を選択確率降順で表示することを特徴とする。
図8の手書き認識辞書部27の辞書データでは、手書きされた「ぎ」は、確率0.55で「議」、確率0.45で「技」、手書きされた「ぎし」は、確率0.55で「技士」、確率0.45で「技師」に変換されることを示す。その他の「変換前」の文字列についても同様である。図8では「変換前」の文字列が手書きされた平仮名となっているが、平仮名以外を「変換前」に登録してもよい。
図9の文字列変換辞書部29の辞書データでは、文字列「議」は確率0.95で「議事録」に、文字列「技」は確率0.85で「技量試」に変換されることを示す。その他の「変換前」の文字列についても同様である。
図10の予測変換辞書部31の辞書データでは、文字列「議事録」は確率0.65で「議事録の送付先」に、文字列「技量試」は確率0.75で「技量試を決裁」に変換されることを示す。図10の例では変換前の文字列がすべて漢字になっているが、漢字以外を登録してもよい。
なお、辞書データに言語依存はなく、変換前と変換後にどのような文字列が登録されていてもよい。
<操作コマンド定義部が保持する操作コマンド定義データ>
次に、図11A,図11Bを用いて操作コマンド認識制御部32が使用する操作コマンド定義データについて説明する。図11A,図11Bは、操作コマンド定義部33が保持する操作コマンド定義データとシステム定義データの一例を示す。
図11Aは操作コマンド定義データの一例を示す。図11Aの操作コマンド定義データは、手書きオブジェクトにより選択された選択オブジェクトがない場合の操作コマンド定義データ例であり、表示装置2を操作する全ての操作コマンドが対象となる。図11Aの操作コマンドは操作コマンド名(Name)、文字列候補と部分一致する文字列(String)、実行する操作コマンド文字列(Command)を有する。操作コマンド文字列内の「%~%」は変数であり、図11Aに示すようにシステム定義データと対応付けられている。つまり、「%~%」は図11Bに示すシステム定義データで置き換えられる。
まず、操作コマンド定義データ701は、操作コマンド名が「議事録テンプレートを読み込む」、文字列候補と部分一致する文字列が「議事録」又は「テンプレート」、実行する操作コマンド文字列が「ReadFile https://%username%:%password%@server.com/template/minutes.pdf」であることを示す。この例では、実行する操作コマンド文字列に「%~%」のシステム定義データが含まれており「%username%」「%password%」はそれぞれシステム定義データ704、705で置き換えられることを示す。従って、最終的に実行する操作コマンド文字列は「ReadFile https://taro.tokkyo:x2PDHTyS@server.com/template/minutes.pdf」という文字列となり、「https://taro.tokkyo:x2PDHTyS@server.com/template/minutes.pdf」というファイルを読み込む(ReadFile)ことを示す。
操作コマンド定義データ702は、操作コマンド名が「議事録フォルダーに保存する」、文字列候補と部分一致する文字列が「議事録」又は「保存」、実行する操作コマンド文字列が「WriteFile https://%username%:%password%@server.com/minutes/%machinename%_%yyyy-mm-dd%.pdf」であることを示す。操作コマンド定義データ701と同様に、操作コマンド文字列の「%username%」「%password%」「%machinename%」はそれぞれシステム定義データ704~706で置き換えられる。なお、「%yyyy-mm-dd%」は現在日で置き換えることを示す。例えば、現在日が2018年9月26日であれば「2018-09-26」で置き換えることを示す。最終的に実行する操作コマンドは「WriteFile https://taro.tokkyo:x2PDHTyS@server.com/minutes/%My-Machine_2018-09-26.pdf」となり、議事録を「https://taro.tokkyo:x2PDHTyS@server.com/minutes/%My-Machine_2018-09-26.pdf」というファイルに保存する(WriteFile)ことを示す。
操作コマンド定義データ703は、操作コマンド名が「印刷する」、文字列候補と部分一致する文字列が「印刷」又は「プリント」、実行する操作コマンド文字列が「PrintFile https://%username%:%password%@server.com/print/%machinename%-"%yyyy-mm-dd%.pdf」であることを示す。操作コマンド定義データ702と同様に操作コマンド文字列を置き換えると、最終的に実行する操作コマンドは「PrintFile https://taro.tokkyo:x2PDHTyS@server.com/print/%My-Machine_2018-09-26.pdf」となり、「https://taro.tokkyo:x2PDHTyS@server.com/print/%My-Machine_2018-09-26.pdf」というファイルを印刷する(PrintFile)ことを示す。つまり、ファイルがサーバーに送信される。ユーザーがプリンターをサーバーと通信させ、ファイルを指定するとプリンターが用紙にファイルの内容を印刷する。
このように、文字列候補から操作コマンド定義データ701~703を特定できるため、ユーザーが手書きすることで操作コマンドを表示させることができる。また、ユーザーの認証が成功した場合にはユーザー情報で操作コマンド定義データの「%username%」「%password%」等が置き換えられるので、ユーザーに対応付けてファイルの入出力が可能になる。
ユーザーの認証が行われない場合(認証が失敗したがユーザーが表示装置2を使用できる場合は認証失敗の場合も含む)、表示装置2は、予め設定されている表示装置2の「%username%」「%password%」等に置き換える。従って、ユーザー認証なしでも表示装置2に対応付けてファイルの入出力が可能になる。
操作コマンド定義データ709、710、711、720、721、722は、ペン色を変更する操作コマンドである。ペン色とはユーザーが使用しているペンで入力された手書きデータの色である。操作コマンド定義データ709、710、711、720、721、722のそれぞれの操作コマンド名は「黒ペン」「赤ペン」「青ペン」「緑ペン」「マゼンタペン」「シアンペン」である。例えば、「黒ペン」の場合、文字列候補と部分一致する文字列が「くろ」又は「ペン」であり、ユーザーが「くろ」と書けば、操作コマンド候補には「黒ペン」のみが表示される。一方、「ペン」は「赤ペン」等においても文字列候補と部分一致する文字列(String)に該当するので、ユーザーが「ペン」と書けば、操作コマンド候補には「黒ペン」~「シアンペン」が表示される。これらの操作コマンドが実行されると、図17Aに示すように、ユーザーが操作に使用したペン2500のPenIdに対応付けられたペンID制御データが更新され、このPenIdのペン2500の色(ペンID制御データのColorId)が変更される。
操作コマンド定義データ719は、操作コマンド名が「ファイルを読み込む」、文字列候補と部分一致する文字列(String)が「ファイル」「読み込む」「読み込み」、実行する操作コマンドが「ReadFile https://%username%:%password%@server.com/files/」である。操作コマンド定義データ702と同様にシステム定義データと置き換えると、操作コマンドは「ReadFile https://taro.tokkyo:x2PDHTyS@server.com/files/」となり、このアドレス(フォルダー)のファイルを読み出す(ReadFile)ことを示す。この操作コマンドが実行されると、図12のようなファイル選択ウィンドウを表示装置2が表示する。図12のファイル選択ウィンドウは、このアドレス(フォルダー)に格納されているファイルの1ページ目などをサムネイルで表示する。
図12は図39のステップS94(ファイル一覧表示データ)で表示部22に表示されるファイル一覧表示データの一例である。図12(a)は、図39のステップS91のファイル一覧情報取得で取得されたファイル一覧情報から作成される。ファイル一覧情報は、ファイルアドレスの一覧を有し、表示部22は各ファイルアドレスからファイル名とサムネイルを抽出してファイル名昇順に並び替えて表示する。図12のファイル一覧表示データは4つのサムネイルとファイル名を表示し、左右の矢印アイコン99で前後のサムネイルとファイル名を表示する。表示されたサムネイル又はファイル名がペンで押されると、表示部22は図12の画面を消去し、ペンが押されたファイルアドレスからファイル送受信制御部37がファイルを受信する。
右上隅の閉じるボタン98がペンで押下されると、表示部22は図12の画面を消去して、この操作コマンド定義データ719の実行がキャンセルされる。図12(a)(d)のPDFファイルが選択されると、ファイル送受信制御部37はPDFファイルを受信して手書き入力保存部25に保存して解析する。ファイル送受信制御部37は、手書き由来のテキストデータ(メタデータ有り)を、例えば図16の手書き入力保存データ801~805のような手書き入力保存データ(白黒強調及びカラー変換可能データ)として保存する。白黒強調及びカラー変換可能データは、白黒強調もカラーへの変換も可能なデータ(主に手書き入力起因データ)である。白黒強調については図19で説明するが、カラー変換とはカラーを輝度(濃淡)に変換することをいう。手書き由来でないテキストデータは、例えば図16の手書き入力保存データ806のような手書き入力保存データに変換して保存し、ディスプレー220に表示する。
図12(b)(c)のPDFファイルが選択されると、ファイル送受信制御部37は画像ファイルを受信して、手書き入力保存部25に例えば図16の手書き入力保存データ807のような手書き入力保存データとして保存して、ディスプレー220に表示する。
図11Aに戻って説明する。操作コマンド定義データ712は、テキストデータの方向を一定方向に揃えるための操作コマンドである。操作コマンド定義データ712の操作コマンド名は「テキスト方向を揃える」、文字列候補と部分一致する文字列が「テキスト」「向き」又は「方向」、操作コマンド文字列が「AlignTextDirection」である。ユーザーが天地方向以外から書き込んだテキストデータは向きがばらばらなので、ある1つの方向から全てを読み取りにくい。操作コマンド定義データ712をユーザーが実行すると、表示装置2は手書き認識した文字列を同一方向(例えば、天地方向)に揃える。この場合の揃えるとは、テキストデータを角度情報だけ回転させることをいう。
操作コマンド定義データ713は、操作コマンド名が「手書きサイン登録する」、文字列候補と部分一致する文字列が「サイン」と「登録」、操作コマンド文字列が「RegistSignature」であることを示す。RegistSignatureコマンドが実行されると、手書き入力保存部25に手書きサイン登録フォームが追加され、操作画面101に手書きサイン登録フォームが表示される。手書きサイン登録フォームの一例については後述する(図29参照)。
操作コマンド定義データ714は、操作コマンド名が「手書きサインインする」、文字列候補と部分位置する文字列が「%signature%」、操作コマンドが「Signin」であることを示す。ここで「%signature%」はシステム定義データの予約語であり、登録済みの手書きサインデータとユーザー名等のストロークデータが適合した事実を表すものとする。つまり適合すると操作コマンド定義データ714に基づく操作コマンド512が操作ガイド500に表示される(図30参照)。
Signinコマンドが実行されると、ユーザー名等のストロークデータを手書きしたペン2500のペンID制御データに、適合した手書きサインデータのSignatureIdをもつユーザーのAccountIdが保存される。これによってPenIdとAccountIdが対応付けられ、このAccountIdで特定されるユーザー定義データを表示装置2が使用することができる(図17A参照)。
操作コマンド定義データ715は、操作コマンド名が「手書きサインアウトする」、文字列候補と部分一致する文字列が「サイン」又は「アウト」、操作コマンドが「Signout」であることを示す。Signoutコマンドが実行されると、手書きサインアウトを操作したペン2500のペンID制御データからAccountIdが削除される。これによってPenIdとAccountIdの対応付けがなくなり、ペン2500を任意のユーザーが使用できるようになる。
操作コマンド定義データ716は、操作コマンド名が「設定変更する」、文字列候補と部分一致する文字列が「設定」又は「変更」、操作コマンドが「ConfigSettings」であることを示す。ConfigSettingsコマンドが実行されると、手書き入力保存部25にユーザー定義データ変更フォームが追加され、操作画面101にユーザー定義データ変更フォームが表示される。ユーザー定義データ変更フォームについては後述する(図31参照)。
操作コマンド定義データ723~726はそれぞれ業務別フォントセット408~411をペン2500と対応付ける操作コマンドを定義する(表示装置2が業務別フォントセット408~411を使用して文字列オブジェクトを表示するように設定する)。Nameは操作コマンドの名称であり、この操作コマンドをユーザーが呼び出すための文字列がいくつかのStringに定義されている。また、操作コマンドで実行される内容がCommandに定義されている。例えば、操作コマンド定義データ723は、「業務」「フォント」「フードメニュー」「フード」又は「メニュー」と手書きされると、「ChangeFontset FoodMenu」を表示装置2が実行し、FontSetが「FoodMenu」の業務別フォントセット408を表示装置2に設定する、ことを定義している(より正確にはペンID制御データに設定する)。操作コマンドを実行したペン2500と業務別フォントセット408がペンID制御データで対応付けられる。なお、表示装置2は業務別フォントセットとペンを対応付けることなく、単に業務別フォントセット408が設定されていてもよい。
同様に、操作コマンド定義データ724は業務別フォントセット409をペン2500と対応付けることを定義し、操作コマンド定義データ725は業務別フォントセット410をペン2500と対応付けることを定義し、操作コマンド定義データ726は業務別フォントセット411をペン2500と対応付けることを定義する。これらペン2500はユーザーが使用しているペンでよい。
操作コマンド定義データ727、728は業種向けワークセット420、421を呼び出して、業種別フォントセット412~415、416~419をそれぞれペン1~4と対応付ける操作コマンドを定義する(表示装置2が業種別フォントセット412~415、416~419を使用して文字列オブジェクトを表示するように設定する)。例えば、操作コマンド定義データ727は、「業種」「ワーク」「建設」と手書きされると、「ChangeWorkset Construction」を表示装置2が実行し、WorkSetが「Construction」の業種向けワークセット420を呼び出して、ペン1~4と業種別フォントセット412~415を対応付ける、ことを定義している。同様に、操作コマンド定義データ728はペン1~4と業種別フォントセット416~419を対応付けることを定義している。
続いて、手書きオブジェクトがある場合の操作コマンド定義データ、つまり編集系及び修飾系の操作コマンド定義データについて説明する。図13は手書きオブジェクトにより選択された選択オブジェクトがある場合の操作コマンド定義データの一例を示す。図13の操作コマンド定義データは、操作コマンド名(Name)、操作コマンドの候補のグループ名(Group)、実行する操作コマンド文字列(Command)を有する。
操作コマンド定義データ707は編集系(Group="Edit")の操作コマンドを定義しており、編集系の操作コマンド名「消去」「移動」「回転」「選択」の定義データ例である。つまり、選択オブジェクトに対してこれらの操作コマンドが表示され、ユーザーが所望の操作コマンドを選択できる。
操作コマンド定義データ708は修飾系(Group="Decorate")の操作コマンドを定義しており、修飾系の操作コマンド名「太く」「細く」「大きく」「小さく」「下線」の定義データ例である。選択オブジェクトに対してこれらの操作コマンドが表示され、ユーザーが所望の操作コマンドを選択できる。この他、色の操作コマンドが表示されてもよい。
従って、ユーザーが選択オブジェクトを手書きオブジェクトで選択することで、操作コマンド定義データ707、708が特定されるため、ユーザーが手書きすることで操作コマンドを表示させることができる。
<ユーザー定義データ>
次に、図14を用いてユーザー定義データについて説明する。図14は、操作コマンド定義部33が保持するユーザー定義データの一例を示す。図14のユーザー定義データは一人分のユーザーの定義データ例である。ユーザー定義データ717のAccountIdはユーザーごとに自動的に採番されるユーザーの識別情報、AccountUsernameとAccountPasswordはユーザー名とパスワード、SignatureIdは手書きサインデータ登録時に自動的に採番される手書きサインデータの識別情報、username, password, machinenameはそれぞれシステム定義データ704~706の替わりに操作コマンド定義データ701~703に設定される文字列である。これにより、ユーザー定義データを使用した操作コマンドの実行が可能になる。
ユーザーがユーザー名などを手書きしてサインインした場合、PenIdとAccountIdがペンID制御データに対応付けられていることを利用して(図17A参照)、ユーザーが使用するペン2500のPenIdで対応付けられているAccountIdを有するユーザー定義データの文字列が操作コマンドの実行時に使用される。ユーザーがサインアウトした後は、ユーザーがサインインに使用したペン2500を使用しても、システム定義データの文字列が操作コマンドの実行時に使用される。
ユーザー定義データ718は、ユーザー定義データ変更フォームで使用されるデータである。Nameはユーザー定義データ717のAccountUsername、AccountPassword、username, password, 又はmachinenameの項目名であり、DataはAccountUsername、AccountPassword、username, password, 又はmachinenameの変更値になる。この例では、「名前」のデータは「%AccountName%」、「パスワード」のデータは「%AccountPassword%」、「フォルダーユーザー名」のデータは「%username%」、「フォルダーパスワード」のデータは「%password%」、「フォルダーファイル名」のデータは「%machinename%」であり、ユーザー定義データ717の各項目と対応している。ユーザー定義データ変更フォームで入力されたこれらの項目は、ユーザー定義データ717に反映される。
後述するカラー定義データをユーザー定義データ717にユーザーが登録することも可能であり、ユーザーは自分が定義したカラー定義データで入力できる。
<手書きサインデータ>
次に、図15を用いて、手書きサインデータについて説明する。図15は、手書きサインデータ保存部39が保持する手書きサインデータの一例を示す。手書きサインデータはSignatureIdに対応付けられた手書きサインを表すDataを有する。SignatureIdは手書きサインデータ登録時に自動的に採番される識別情報、Dataは手書きサイン認証制御部38の手書きサイン認証アルゴリズムが、手書きサイン認証制御部38から受信したストロークデータから計算したデータである。
<手書き入力保存部が保存する手書き入力保存データ>
次に、図16を用いて、手書き入力保存データについて説明する。図16は、手書き入力保存部25が保存している手書き入力保存データの一例を示す。図16の1行が1つのストローク、1文(テキスト)、又は画像(イメージ)を表す。
Typeがストロークの場合、1つの手書き入力保存データは、DataId、Type、PenId, ColorId, Angle、StartPoint、StartTime、EndPoint、EndTime、Point、及び、Pressureの各項目を有している。DataIdはストロークの識別情報である。Typeは手書き入力保存データの種別である。種別にはストローク(Stroke)、グループ(Group)、テキスト(Text)、及び、イメージ(Image)がある。手書き入力保存データ801、802の種別はStrokeであり、手書き入力保存データ803の種別はGroupであり、手書き入力保存データ804、805、806の種別はTextであり、手書き入力保存データ807の種別はImageである。
Groupとは他のストロークをグループ化することを意味し、種別がGroupの手書き入力保存データは、DataIdでグループ化の対象のストロークを指定する。PenId、ColorId, Angle、は次述するペンID制御データが転記されたものである。StartPointはストロークの始点座標であり、StartTimeはストロークの始点時刻である。EndPointはストロークの終点座標であり、EndTimeはストロークの終点時刻である。Pointは始点から終点までの座標点列であり、Pressureは始点から終点までの筆圧である。Angleに示すように、手書き入力保存データ804,805はそれぞれ180度、270度だけ時計回りに回転してから手書き認識されたことを示す。
また、Typeがテキスト(Text)の手書き入力保存データ804、805、806は、FontName、FontSize、Textを有している。FontNameはテキストのフォント名、FontSizeは文字サイズ、Textはテキストの内容(文字コード)である。文字サイズの単位には、mmだけでなく、ポイント(pt)、ピクセル(px)、パーセント(%)、又は、エム(em)等があり、どのような単位を利用してもよい。
ペンID制御データにFontNameがなければ、図7Aに示した定義済み制御データの推定文字サイズ405のFontStyleを手書き入力保存部25が手書き入力保存データにコピーする。この場合、定義済み制御データのFontStyleがFontNameに変更される。FontSizeは、ペンID制御データにFontSetがない場合は図7Aの定義済み制御データの推定文字サイズ405からコピーする。この場合、FontSizeはmmからptに単位を変換する。ペンID制御データにFontSetがある場合、図7A、図7Bの定義済み制御データの業務別フォントセット408~411、業種別フォントセット412~419のFontSetから選択されたFontStyleとFontSizeをコピーする。この場合、定義済み制御データのFontStyleはFontNameに変更され、FontSizeはmmからptに単位を変換される。
手書き入力保存データ801~805は手書き入力起因データとしてファイル保存時にはそのままメタデータとして添付されるとよい。従って、ファイル読み込み時も手書き入力保存データ801~805を表示装置2が取得できる。表示装置2が手書き入力保存データを外部機器に送信する場合は、カラー対応機器では手書き入力保存データをカラーに変換し、白黒対応装置の場合はカラーに変換せずに送信してもカラーに変換して送信してもよい。白黒強調対応装置に送信する場合は、手書き入力保存データを送信すればよい。このように手書き入力保存データ801~805は白黒強調及びカラー変換のいずれにも対応している。
手書き入力保存データ801~805が手書き入力起因データであるのに対し、手書き入力保存データ806、807は手書き入力起因データでない。これらはファイル読み込みコマンドで読み込まれたファイルである。このことはColorIdに後述するカラー定義データが定義するカラーの値が登録されているか否かによって判定される。例えば、手書き入力保存データ801のColorIdは「Black」であるが、手書き入力保存データ806のColorIdは「#e6001200」である。これは#と16進数8桁で表し、2桁ごとにR(赤)、G(緑)、B(青)、A(透明度)の値を表す。
このように、手書き由来のテキストデータでは、ColorIdに色情報を表す文字列が入っているが、手書き由来でないテキストデータでは、ColorIdが「#カラー値」となっている。このように、手書き由来のテキストデータかどうかはColorIdに着目して手書き入力保存部25が判定できる。
手書き入力保存部25はファイル送受信制御部37が読み取ったファイルのテキストデータのカラーをColorId="#e6001200"のように保存する。従って手書き入力保存データ806は白黒強調には対応せず、カラー変換にのみ対応している。
手書き入力表示制御部23は、ColorIdで手書き入力起因データかどうかを判定して、手書き由来でない場合はRGBAからグレースケール値を計算して表示する。表示装置2がカラー対応装置の場合はRGBAそのままを表示する。
手書き入力保存データ807もファイル読み込みコマンドで記憶媒体から読み込まれた画像ファイルである。TypeがImageの場合、手書き入力保存データ807はFileId 、FileNameを有する。FileIdは手書き入力保存データ内の管理番号、FileNameはオリジナルのファイル名である。例えば、ファイル送受信制御部37が図12(a)の「color_chart.pdf」のファイルを読み込んだ場合、中心部のRGBCMYのテキストは手書き入力保存データ806の形式で手書き入力保存部25に保存される。また、リング状のカラー部分は手書き入力保存データ807の形式で手書き入力保存部25に保存される。なお、TypeがImageの手書き入力保存データは当然、手書き由来でない。従って、手書き入力表示制御部23はTypeによって手書き由来かどうかを判定してもよい。
図16では、ColorIdの値で手書き入力起因データか否かを手書き入力表示制御部23が判定しているが、手書き由来かどうかは専用のフラグなどで記録されてもよい。また、Typeがストロークの手書きデータに限られるが、機械学習で形状から手書き由来かどうかを判定することもできる。この場合、学習装置はディープラーニングなどで手書き由来かそうでないかの教師データと文字の形状の対応を学習し、入力された文字の形状が手書き由来かそうでないかを出力する。
また、手書き入力起因データには手書きデータが文字認識して変換されたテキストデータだけでなく、「済」「秘」などの決まった文字やマークとして表示されるスタンプ、円や星などの図形、直線等、ユーザーの操作に基づいて変換されたデータが含まれてよい。
手書き入力保存データは、図32のステップS7(ペン座標と受信時刻)、図39のステップS88(手書き入力保存データの取得)、図39のステップS96(ファイル保存)等で使用される。
<ペンID制御データ保存部が保存するペンID制御データ>
次に、図17Aを用いて、ペンID制御データについて説明する。図17Aは、ペンID制御データ保存部36が保存するペンID制御データを説明する図である。ペンID制御データはペン1~4ごとにフォントセット、角度、色、ユーザーなどを制御する。図17Aでは4つのペン2500がある場合を示す。図17Aの1行が1つのペンのペンID制御データを示す。また、図17Bは表示装置2に対しユーザーが手書きする時の角度情報を説明する図である。角度情報はユーザーが存在する方向の角度とも言えるし、ペンが使用される方向の角度とも言えるし、ユーザーが手書きした文字の回転に関する角度とも言える。表示装置2の所定の方向(例えば天地方向)を0度(基準)として、各ユーザーの角度情報は反時計回りに45度、90度、135度、180度、225度、270度、315度、である。
なお、角度情報はユーザーの位置によって自動的に決まるわけではなく、各ユーザーが角度情報を入力する(指定する)。指定可能な角度情報の分解能(図17Bでは45度)は一例に過ぎず、より小さい5度~30度などでもよい。ただし、45度くらいで回転した文字であれば、ユーザーは読めると考えられる。
ペンID制御データは、PenId、FontName(フォント指定)、FontSet(フォントセット指定)、ColorId、Angle及びAccountIdを有している。
FontSetは、図23に示す選択ボタン例のボタンをユーザーが押すと追加される。FontSetは図7A、図7Bの定義済み制御データの業務別フォントセット408~411、業種別フォントセット412~419で定義されている。Fontsetが設定されたペンで表示される文字列オブジェクトでは、図7Aに示した定義済み制御データの推定文字サイズ405のFontStyleとFontSizeの代わりに、図7A、図7Bの定義済み制御データの業務別フォントセット408~411、又は、業種別フォントセット412~419のFontSetに対応付いたFontStyleとFontSizeが取得される。この処理は、図39の制御シーケンス図のステップS81における文字列オブジェクトフォント取得で行われる。
例えば、ペンID制御データにFontSet="FoodMenu"が追加された場合、定義済み制御データの業務別フォントセット408が有する小さめ文字のFontStyle="教科書体"が使われる(表示される)。同様に、FontSize="25mm"、中くらい文字のFontStyle="丸ゴシック体"が使われる(表示される)。FontSize="50mm"、大きめ文字のFontStyle="ポップ体"、FontSize="100mm"が使われる(表示される)。
一方、FontNameは、図21のペン色選択ボタン81~86をユーザーが押下すると追加される。FontNameが追加されると、そのPenIdで表示される文字列オブジェクトでは、図7Aに示した定義済み制御データの推定文字サイズ405のFontStyleの代わりにFontNameが取得される。この処理は、図39の制御シーケンス図のステップS81における文字列オブジェクトフォント取得で行われる。
FontSetとFontNameはどちらもフォントを指定する点では同じだが、FontSetは小さめ文字、中くらい文字、大きめ文字のフォントとサイズをまとめて変更されるのに対して、FontNameは小さめ文字、中くらい文字、大きめ文字がすべて同じフォントで変更される。FontSetとFontNameは両立しないので、本実施例ではFontSet又はFontNameが追加された場合には手書き入力表示制御部23が他方を削除するものとする。
ColorId、Angle及びAccountIdは必須項目でなく、設定されていない場合はデフォルト値が設定されたものとみなされる。PenIdはペン2500のペン内部に保存されている識別情報である。ColorIdはこのペン2500を使用するユーザーが何色を選択したかを示す(ユーザーが任意に変更可能)。ColorIdには後述するカラー定義データのカラーIDが設定される。カラー定義データで各カラーの詳細、太さ等が定義されている。
Angleはこのペン2500に設定されているストロークの角度情報である(ユーザーが任意に変更可能)。図17Aの例では、ペン1の角度情報は時計回りに0度となっている。AccountIdはユーザーがサインインに使用したペンのユーザーの識別情報である。PenIdにAccountIdが対応付けられることで、ユーザーが使用するペン2500のPenIdに対応付けられているAccountIdを特定でき、ユーザー定義データを使用して操作コマンドを実行できる。
ペンID制御データ1206~1209は、業務別フォントセット408~411が設定された場合のペンID制御データであり、図17Aでは4本のペン1~4のそれぞれで各フォントセットが選択された場合を示す。ペンID制御データ1206はPenIdが1のペンID制御データで、フォントセットは「FoodMenu」、色は黒(Black)、角度情報は0度、AccountId=1である。AccountId=1のユーザーは図14のユーザー定義データ717のユーザーである。このユーザーがPenId=1のペンでユーザー名などを手書きしてサインインし、「FoodMenu」のフォントセットと黒を選択したことを示す。AccountIdがないペンID制御データはサインアウト状態(ユーザーと対応付けられていない)であることを示す。
ペンID制御データ1207はペン2で入力された文字列オブジェクトは「Design」のフォントセットで表示されることを表す。ペンID制御データ1208はペン3で入力された文字列オブジェクトは「Report」のフォントセットで文字が表示されることを表す。ペンID制御データ1209はペン4で入力された文字列オブジェクトは「SpreadSheet」のフォントセットで表示されることを表している。ペンとフォントの対応は一例であり、ユーザーがペン1~4で選択したフォントセットが設定される。
ペンID制御データ1210~1213は、業種別フォントセット412~415が設定された場合のペンID制御データである。このため、ペンID制御データ1210~1213は、ペン1~4で入力された文字列オブジェクトはそれぞれ「Construction1」「Construction2」「Construction3」「Construction4」のフォントセットで表示されることを表している。
ペンID制御データ1214~1217は、業種別フォントセット416~419が設定された場合のペンID制御データである。このため、ペンID制御データ1214~1217は、ペン1~4で入力された文字列オブジェクトはそれぞれ「Factory1」「Factory2」「Factory3」「Factory4」のフォントセットで表示されることを表している。
ペンID制御データは、図32のステップS5(ペンID制御データ取得)、図34のステップS20(ペンID制御データの角度情報を保存)、図34のステップS21(ペンID制御データの角度情報を取得)、図36のステップS60(ペンID制御データの取得)で使用される。
<カラー定義データ>
図18は、カラー定義データの一例を示す。カラー定義データの1行が1つの色を定義する。カラー定義データは、ColorIdに対する白黒対応機器上の白黒強調表示(白黒のパターンと幅(Pattern)と縁取り(Edged)の表示方法)、及び、カラー変換方法(カラー対応機器上の色情報(Color)と幅(Width)の表示方法)を定義している。色情報は#と16進数8桁で表し、2桁ごとに#R(赤)、G(緑)、B(青)、A(透明度)を表し、pxはピクセル幅を表す。なお、カラー定義データは手書き入力起因データのみに適用される。
カラー定義データ1001はColorIdが"Black"の定義例である。Patternはストローク又はテキストの縁の中身を表し、Edgedは縁の有無を表し、ColorはRGBAの色情報を表し、Widthは線幅を表す。カラー定義データ1001は、白黒強調対応装置ではベタ黒5ピクセル幅+縁なしで手書き入力保存データを表示し、カラー対応装置では黒の透明度0%+5ピクセル幅で表示することを示す。同様に、カラー定義データ1002は、白黒強調対応装置では、ベタ黒3ピクセル幅+外側から黒縁1ピクセル幅+白縁2ピクセル幅で表示し、カラー対応装置では、カラーチャートの赤の透明度0%+5ピクセル幅で表示することを示す。カラー定義データ1003は、白黒強調対応装置では、ベタ白4ピクセル幅+黒縁1ピクセル幅で表示し、カラー対応装置では、カラーチャートの青の透明度0%+5ピクセル幅で表示することを示す。カラー定義データ1004は、白黒強調対応装置では、黒のドットパターン4ピクセル幅+黒縁1ピクセル幅で表示し、カラー対応装置では、カラーチャートの緑の透明度0%+5ピクセル幅で表示することを示す。カラー定義データ1005は、白黒強調対応装置では、黒の右上斜線パターンで白は透明の5ピクセル幅+フチなしで表示、カラー対応装置では、カラーチャートのマゼンタの透明度60%で表示することを示す。カラー定義データ1006は、白黒強調対応装置では、黒の水平線パターンで白は透明の5ピクセル幅で表示し、カラー対応装置では、カラーチャートのシアンの透明度60%、で表示することを示す。
このように、カラー定義データは白黒強調及びカラー変換可能データを有している。カラー定義データは手書き入力保存部25が保持しており、手書き入力保存データの変換に使用する。
カラー定義データをシステム定義データとユーザー定義データに定義しておき、ユーザー定義データにカラー定義データを変更するユーザー定義データ変更フォームが用意されることで、サインイン後にユーザーは個人好みのカラー定義に変更することができる。
図19は、図18のカラー定義データを使用して、白黒強調表示されたデータとカラー表示方法で表示されたデータを示す。図19(a)は白黒強調対応装置が白黒強調表示したもので、図19(b)はカラー対応装置がカラーに変換して表示したものである。作図の都合で、図19(b)も白黒(ハッチング)になっている。
符号C1は手書き由来の「黒」「赤」「青」緑」「マゼンタ」「シアン」のテキストである。符号C2は「黒」「赤」「緑」「マゼンタ」「シアン」のストローク(手書き)である。符号C3はバネ状の一筆書きのストローク(手書き)である。符号C4はドーナツ状のカラーチャート(画像)である。符号C5はカラーチャートの内側のRGBCMY(手書き由来ではないテキスト)である。符号C3の下には手書き由来の黒の「Transparent」というテキストがある。
符号C4のカラーチャートと符号C5のRGBCMYというテキストはPDFファイル等から読み込まれたデータであり、手書き由来ではないものとする。従って、図16に示した手書き入力保存部25が保存する手書き入力保存データとして説明すると、符号C2のストローク(手書き)は図16の手書き入力保存データ801、802のような手書き入力保存データとして保存される。符号C1の手書き由来のテキストは図16の手書き入力保存データ804,805のような手書き入力保存データとして保存される。符号C5の手書き由来でないテキストは図16の手書き入力保存データ806のような手書き入力保存データとして保存される。符号C4の画像は図16の手書き入力保存データ807のような手書き入力保存データとして保存される。各手書き入力保存データの色情報はColorIdで定義されている。
図19(a)と(b)を比較すると分かるように、図19(b)の符号C10のカラーチャート内側のテキスト「R」の赤は手書き由来ではないので、図19(a)ではグレースケールで表示されている。これに対し、符号C6のテキスト「赤」は手書き由来なので図19(a)では白黒強調表示される。
また、マゼンタとシアンは透過色であり、図19(b)では「Transparent」が透過して見えており、図19(a)でもマゼンタとシアンでは白が透明のパターンを使用しているため透過して表示される。このように、白黒強調対応装置では目立たせる目的のカラーを白黒強調表示することができ、カラーデバイスではカラーに変換して表示できるようになる。
カラー定義データは、図32のステップS6(座標補完表示データ)、図39のステップS82(文字列オブジェクト表示データ)、図39のステップS100(オブジェクトの表示データ)で使用される。
<ペン色選択ボタン定義データ>
次に、図20と図21を用いてユーザーによるペン色の選択方法を説明する。図20は、ペン色選択ボタン定義データの一例である。ペン色選択ボタン定義データは、ディスプレー220に表示されるペン色選択ボタンとColorIdを対応付けるデータである。ペン色選択ボタン定義データは、ペンボタンID(PenButtonId)、アイコンファイル(Icon)、カラーID(ColorId)、及び、フォント名(FontName)を有している。
図21は、ディスプレーに表示されるペン色選択ボタン81~86の一例である。ペン色選択ボタン81~86は上記アイコンファイルで表示される。ペン色選択ボタン81~86はペンボタンIDが若い順に左から右に並んで表示されているものとする。
ペン色選択ボタン81~86をユーザーがペン2500で押下するとペンID制御データにColorIdとFontNameが追加され、以降そのペン2500で入力した手書きオブジェクト又は文字列オブジェクトはColorIdとFontNameを使用して表示される。
ペン色選択ボタン定義データ1101は最も左に表示されるペン色選択ボタン81の定義データである。ユーザーがペン色選択ボタン81をペン2500で押下すると、そのペン2500で手書きされるストロークデータはColorIdが"Black"になり、手書き認識後のテキストのフォントは"明朝体"となる。ペン色選択ボタン定義データ1102は左から2番目に表示されるペン色選択ボタン82で、ストロークデータのColorIdは"Red"、手書き認識後のテキストのフォントは"ポップ体となる。同様に、ペン色選択ボタン定義データ1103~1106は、ペン色選択ボタン83~86の、ボタンの表示位置、ColorId、テキストのフォントを定義する。
図21(a)はペン色選択ボタン定義データに基づいて白黒強調表示されたテキストフォント表示例を示す。テキストフォント表示例は説明のための表示であるが、ユーザーがペン2500をホバーさせると表示されてよい。図21(b)はペン色選択ボタン定義データに基づいてカラー対応装置でカラー表示されたテキストフォント表示例を示す(実際はカラーだが作図の都合上白黒となっている)。
図21(a)に示すように、白黒強調だけでなく、フォントを変更することで、より効果的に白黒強調表示することができるようになる。
ペン色選択ボタン定義データもシステム定義データとユーザー定義データに定義しておき、ユーザー定義データにペン色選択ボタン定義データを変更するユーザー定義データ変更フォームが用意されれば、手書きサイン認証後に個人好みのペン色選択ボタンに変更することができる。従って、ColorIdとフォントの対応は一例に過ぎない。
ペン色選択ボタンの設定内容は、図32のステップS6(座標補完表示データ)、図39のステップS82(文字列オブジェクト表示データ)、図39のステップS100(オブジェクトの表示データ)で使用される。
<業務別フォントセット選択ボタン定義データ>
次に、図22と図23を用いてボタンを用いたフォントセットの選択方法を説明する。図22は、業務別フォント選択ボタン定義データの一例である。業務別フォントセット選択ボタン定義データ1912~1915は、ディスプレー220に表示される業務別フォントセット選択ボタン331~334とFontSetを対応付ける定義データである。業務別フォントセット選択ボタン定義データ1912~1915は、ペンボタンID2(PenButtonId2)、アイコンファイル(Icon)、及び、フォントセット(FontSet)を有している。
図23は、ディスプレー220に表示される業務別フォントセット選択ボタン331~334の一例である。図23(a)はフードメニュー用フォントセットの業務別フォントセット選択ボタン331である。図23(b)は図面用フォントセットの業務別フォントセット選択ボタン332である。図23(c)はレポート用フォントセットの業務別フォントセット選択ボタン333である。図23(d)は表作成用フォントセットの業務別フォントセット選択ボタン334である。業務別フォントセット選択ボタン331~334は図22のアイコンファイルで表示される。業務別フォントセット選択ボタン331~334はペンボタンID2が若い順に左から右に並んで表示されているものとする。
業務別フォントセット選択ボタン定義データ1912は最も左に表示される業務別フォントセットの定義データである。ユーザーが業務別フォントセット選択ボタン331をペン2500で押下すると、ペンID制御データにそのペン2500のPenId、及び、「FoodMenu」のFontSetが設定される。ユーザーが業務別フォントセット選択ボタン332をペン2500で押下すると、ペンID制御データにそのペン2500のPenId、及び、「Design」のFontSetが設定される。ユーザーが業務別フォントセット選択ボタン333をペン2500で押下すると、ペンID制御データにそのペン2500のPenId、及び、「Report」のFontSetが設定される。ユーザーが業務別フォントセット選択ボタン334をペン2500で押下すると、ペンID制御データにそのペン2500のPenId、及び、「SpreadSheet」のFontSetが設定される。
このように、ユーザーはペン2500の色とフォントセットをそれぞれ任意に選択することができる。なお、業種別フォントセットについても同様に表示部22は選択ボタンを表示してよい。
業務別フォントセット選択ボタンの設定内容は、図39のステップS82(文字列オブジェクト表示データ)で使用される。
<選択可能候補の表示例>
図24は操作ガイドと操作ガイドが表示する選択可能候補530の一例である。ユーザーが手書きオブジェクト504を手書きすることで(選択可能候補表示タイマーのタイムアウトにより)、操作ガイド500が表示される。操作ガイド500は、操作ヘッダー520、操作コマンドの候補510、手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508、及び、手書きオブジェクト矩形領域表示503を有している。選択可能候補530は、操作コマンドの候補510、手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508である。この例では言語変換文字列がないが表示される場合がある。また、操作コマンドの候補510を除く選択可能候補530を文字列候補539という。
操作ヘッダー520はボタン501、509、502、505を有する。ボタン501は予測変換とカナ変換の切り替え操作を受け付ける。図24の例ではユーザーが「予測」と表示されているボタン509を押下すると手書き入力部21がそれを受け付けて手書き入力表示制御部23にその旨を通知し、表示部22が「かな」というボタン509に表示を変更する。変更後は、文字列候補539が「カナ変換」の確率降順で並ぶ。
ボタン502は候補表示のページ操作をする。図24の例では候補表示ページは3ページあり、現在は1ページ目を表示している。ボタン505は操作ガイド500の消去を受け付ける。ユーザーがボタン505を押下すると手書き入力部21が受け付けて手書き入力表示制御部23にその旨を通知し、表示部22が手書きオブジェクト以外の表示を消去する。ボタン509は一括表示消去を受け付ける。ユーザーがボタン509を押下すると手書き入力部21が受け付けて手書き入力表示制御部23にその旨を通知し、表示部22が手書きオブジェクトを含め、図24に示されているすべての表示を消去して、ユーザーが最初から手書きをしなおすことを可能にする。
手書きオブジェクト504はユーザーが手書きした「ぎ」という文字である。手書きオブジェクト504を囲む手書きオブジェクト矩形領域表示503が表示される。表示の手順は図32~図39のシーケンス図で説明する。図24の例では点線枠で手書きオブジェクト矩形領域表示503が表示されている。
手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508にはそれぞれの文字列候補が確率降順で並んでいる。手書き認識文字列候補506の「ぎ」は認識結果の候補である。この例では表示装置2は正しく「ぎ」を認識している。
変換文字列候補507は言語文字列候補から変換された変換文字列候補である。この例の「技量試」とは「技術量産試作」の略名である。文字列/予測変換の候補508は言語文字列候補又は変換文字列候補から変換された予測文字列候補である。この例では「技量試を決裁」と「議事録の送付先」が表示されている。
操作コマンドの候補510は図11Aの操作コマンド定義データ701~703、709~716、723~728に基づいて選択された操作コマンドの候補である。図24の例では行頭文字の「》」511が操作コマンドの候補であることを示している。図24では手書きオブジェクト504である「ぎ」が選択する選択オブジェクトがなく、「ぎ」の文字列候補である「議事録」が、図11Aの操作コマンド定義データ701,702と部分一致したため、操作コマンドの候補510として表示されている。
ユーザーが「議事録テンプレートを読み込む」を選択すると、操作コマンド定義データ701で定義された操作コマンドが実行され、「議事録フォルダーに保存する」を選択すると、操作コマンド定義データ702で定義された操作コマンドが実行される。このように操作コマンドの候補は、変換された文字列を含む操作コマンド定義データが見つかる場合に表示されるため、常に表示されるとは限らない。
図24に示すように、文字列候補と操作コマンドの候補が同時に(共に)表示されるため、ユーザーは自分が入力しようとした文字列候補と操作コマンドのどちらも任意に選択できる。
<選択オブジェクトの指定例>
本実施形態の表示装置2は確定オブジェクトをユーザーが手書きにより選択することで選択オブジェクトを指定できる。選択オブジェクトは編集又は修飾の対象となる。
図25は、選択オブジェクトの指定例を説明する図の一例である。図25では、手書きオブジェクト11は黒色実線、手書きオブジェクト矩形領域12を灰色網掛け、確定オブジェクト13を黒線、選択オブジェクト矩形領域14を点線でそれぞれ表示している。なお、符号に付加された小文字のアルファベットによりそれぞれが区別される。また、確定オブジェクトを選択オブジェクトと判定するための判定条件(所定の関係にあるか否か)として、図7Aに示した定義済み制御データの跨ぎ線判定条件406又は囲み線判定条件407が使用されている。
図25(a)は横書きの2つの確定オブジェクト13a、13bをユーザーが跨ぎ線(手書きオブジェクト11a)で指定した例である。この例では、手書きオブジェクト矩形領域12aの短辺の長さH1と長辺の長さW1が跨ぎ線判定条件406の条件を満たしており、確定オブジェクト13a、13bとの重なり率が跨ぎ線判定条件406の条件を満たしている。このため、「議事録」と「ぎじ」の両方の確定オブジェクト13a、13bが選択オブジェクトとして指定されている。
図25(b)は横書きの確定オブジェクト13cを囲み線(手書きオブジェクト11b)で指定した例である。この例では、確定オブジェクト13cと手書きオブジェクト矩形領域12cの重なり率が囲み線判定条件407の条件を満たしている「議事録」という確定オブジェクト13cだけが選択オブジェクトとして指定されている。
図25(c)は縦書きの複数の確定オブジェクト13d、13eを跨ぎ線(手書きオブジェクト11c)で指定した例である。この例では、図25(a)と同様に、手書きオブジェクト矩形領域12dの短辺の長さH1と長辺の長さW1が跨ぎ線判定条件406の条件を満たしており、「議事録」と「ぎじ」という2つの確定オブジェクト13d、13eそれぞれとの重なり率が跨ぎ線判定条件406の条件を満たしている。このため、「議事録」と「ぎじ」の両方の確定オブジェクト13d、13eが選択オブジェクトとして指定されている。
図25(d)は縦書きの確定オブジェクト13fを囲み線(手書きオブジェクト11d)で指定した例である。この例では、図25(b)と同様に、「議事録」という確定オブジェクト13fだけが選択オブジェクトとして指定されている。
<操作コマンドの候補の表示例>
図26は、図13に示した手書きオブジェクトがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す。図26(a)は編集系の操作コマンドの候補であり、図26(b)は修飾系の操作コマンドの候補である。また、図26(a)は図25(a)の手書きオブジェクト11aで選択オブジェクトが指定された例を示す。
図26(a)(b)に示すように、行頭文字「》」511に続いて表示された操作コマンドの候補がメインメニュー550である。メインメニュー550には最後に実行された操作コマンド名又は操作コマンド定義データで先頭の操作コマンド名が表示される。1行目の行頭文字「》」511aは編集系の操作コマンドの候補であり、2行目の行頭文字「》」511bは修飾系の操作コマンドの候補である。
行末の「〉」512はサブメニューがあることを示す(サブメニューボタンの一例)。1行目の「〉」512aは編集系の操作コマンドの候補が有するサブメニュー(最後に選択された)を表示させ、2行目の「〉」512bは修飾系の操作コマンドの候補が有する残りのサブメニューを表示させる。ユーザーが「〉」512を押下すると、その右側にサブメニュー560が表示される。サブメニュー560には操作コマンド定義データで定義されている全ての操作コマンドが表示される。図26(a)の表示例ではメインメニューが表示された時から1行目の「〉」512aに対応したサブメニュー560も表示されている。1行目の「〉」512aの押下によりサブメニュー560が表示されてもよい。
ユーザーがペンでいずれかの操作コマンド名を押下すると、操作コマンド名に対応付けられた操作コマンド定義データのCommandを手書き入力表示制御部23が選択オブジェクトに対して実行する。すなわち「消去」521が選択されると「Delete」、「移動」522が選択されると「Move」、「回転」523が選択されると「Rotate」、「選択」524が選択されると「Select」をそれぞれ実行する。
例えば、ユーザーが「消去」521をペンで押下すると「議事録」と「ぎじ」を消去できる。ユーザーが「移動」522,「回転」523、「選択」524を押すとバウンディングボックス(選択オブジェクトの外接矩形)が表示され、ユーザーはバウンディングボックスをペンのドラッグ動作で移動又は回転できる。ユーザーが「選択」524を押下すると、その他のバウンディングボックスの操作を実行できる。
操作コマンドの候補以外の文字列候補である「一」541、「一、」542、「~」543、「→」544、「⇒」545は跨ぎ線(手書きオブジェクト11a)の認識結果であり、ユーザーが操作コマンドでなく文字列を入力するつもりであった場合は文字列候補を選択できる。
図26(b)では2行目の「〉」512bの押下により、図26(b)のサブメニューが表示される。図26(b)の表示例も図26(a)と同様にメインメニュー550とサブメニュー560が表示されている。図13の操作コマンド定義データに基づいて、「太く」531が選択されると「Thick」を手書き入力表示制御部23が選択オブジェクトに対して実行する。「細く」532が選択されると「Thin」を手書き入力表示制御部23が選択オブジェクトに対して実行する。「大きく」533が選択されると「Large」を手書き入力表示制御部23が選択オブジェクトに対して実行する。「小さく」534が選択されると「Small」、下線535が選択されると「Underline」を手書き入力表示制御部23が選択オブジェクトに対してそれぞれ実行する。
なお、「太く」531が選択された場合にどのくらい太くするか、「細く」532が選択された場合にどのくらい細くするか、「大きく」533が選択された場合にどのくらい大きくするか、「小さく」534が選択された場合にどのくらい小さくするか、下線535が選択された場合の線種等は、固定値が別途定義されている。あるいは、図26(b)のサブメニューが選択されると別途、選択メニューが開かれユーザーが調整できるようになっているとなおよい。
ユーザーが「太く」531をペンで押下すると「議事録」と「ぎじ」という確定オブジェクト13a、13bを構成する線を手書き入力表示制御部23が太くする。ユーザーが「細く」532をペンで押下すると、「議事録」と「ぎじ」を構成する線を手書き入力表示制御部23が細くできる。ユーザーが「大きく」533をペンで押下すると手書き入力表示制御部23が大きくできる。ユーザーが「小さく」534をペンで押下すると手書き入力表示制御部23が小さくできる。ユーザーが「下線」535をペンで押下すると下線を手書き入力表示制御部23が追加できる。
図27は、図13に示した手書きオブジェクトがある場合の操作コマンド定義データに基づく操作コマンドの候補の表示例を示す。図26(a)(b)との相違は、図27(a)(b)は図25(b)の手書きオブジェクト11b(囲み線)で選択オブジェクトが指定された例を示す。図26と図27を比較すると分かるように手書きオブジェクトが線か囲み線かによって表示される操作コマンドの候補に違いはない。手書き入力表示制御部23は選択オブジェクトが指定されると操作コマンドの候補を表示部22に表示させるためである。しかし、手書き入力表示制御部23は、手書きオブジェクトを認識して手書きオブジェクトに応じて表示する操作コマンドの候補を変更してもよい。この場合、認識された手書きオブジェクト(一や○など)に図13のような操作コマンド定義データを対応付けておく。
図27において操作コマンドの候補以外の文字列候補である「○」551、「∞」552、「0」553、「00」554、「ロ」555は囲み線(手書きオブジェクト11b)の認識結果であり、ユーザーが操作コマンドでなく文字列を入力するつもりであった場合は文字列候補を選択できる。
<角度情報の入力例>
次に、図28を用いて角度情報の入力方法を説明する。図28は、角度情報の入力方法を説明する図の一例である。図28では表示装置2の3時の方向に存在するユーザーが角度情報を入力する場合を説明する。3時の方向から手書きされた文字等は時計回りに90度回転されると正しく認識されるので、90度の角度情報が入力されるとよい。
図28(a)は、ペンID制御データの角度情報が0度(初期値)の状態で、表示装置2の3時の方向に存在するユーザーが「ぎ」を手書きしたため、操作ガイド500が表示された状態を示す。表示装置2は3時の方向から手書きした「ぎ」を、角度情報が0度のまま文字認識するため、期待とは違う選択可能候補530が表示されている。
角度情報を入力する場合、ユーザーは操作ガイド500内に、ユーザーから見て上から下方向に直線を手書きする。図28(b)はこの直線521の一例を示す。角度情報が0度である6時の方向とこの直線521との反時計回りのなす角αが角度情報である。すなわち、始点Sから6時の方向に下ろした直線522と、ユーザーが入力した直線521の反時計回りのなす角αが角度情報である。簡単には、直線521の終点方向が角度情報である。従って、図28(b)でユーザーが入力した角度情報は90度である。
なお、直線の検出には、例えば、始点Sから終点Eまでの座標を最小二乗法で直線に変換し、得られた相関係数と閾値を比較して直線か否かを判定する方法がある。
ユーザーが直線521を書き始めた直後(ペン2500を直線521の始点Sに触れた直後)、表示装置2は操作ガイド500を消去する。また、直線521を書き終わった直後(ペン2500を直線521の終点Eから離した直後)、表示装置2は、45度、90度、135度、180度、215度、270度、315度、360度から上記のなす角αが最も近い値を探してそれを角度情報に決定する。なす角αそのものが角度情報でもよい。ペンID制御データのAngleには決定した角度情報が設定される。ペン2500のペンイベント送信部41は、手書きなどのためにペン先が押圧されると、PenIdを表示装置2に送信するので、表示装置2はペンID制御データに角度情報を対応付けることができる。
なお、ユーザーが直線を手書きして角度情報を入力できるのは操作ガイド500に限られている。これにより、ユーザーが操作ガイド500以外で直線を手書きすると「1」や「一」などと認識され、操作ガイド500で直線を手書きすると角度情報を入力できる。すなわち、手書き認識制御部26は、所定範囲から直線を検出し、所定範囲外に手書きされたストロークデータをテキストデータに変換する。
図28(c)は、図28(b)の操作直後の操作ガイド500を示す。ペンID制御データには角度情報(Angle)として90度が設定されたので、手書きオブジェクト(ストロークデータ)が内部的に90度だけ時計回りに回転して手書き認識され、操作ガイド500は90度だけ反時計回りに回転して表示されている。なお、角度情報はメニューからユーザーが手動で入力してもよい。
<手書きサインデータの登録例>
次に、図29を用いて手書きサインデータの登録例を説明する。図29は手書きサインデータの登録方法を説明する図である。まず、図29(a)は「サイン」とユーザーが手書きした場合に表示される選択可能候補530の一例である。「サイン」という文字列と部分一致する、操作コマンド定義データ713,715に基づく「手書きサイン登録する」と「手書きサインアウトする」の二つの操作コマンド513,514と、「サイン」「サイン会」「サイン入り」の文字列候補が表示されている。2つの操作コマンド513,514が表示されたのは、図11Aの操作コマンド定義データ713,715のStringが「サイン」を有するためである。
ユーザーがペン2500で「手書きサイン登録する」を押下すると、手書き入力保存部25に図29(b)の手書きサイン登録フォーム561が追加され、操作画面101に表示される。例えば、図29(a)の操作ガイド500が消去され、操作ガイド500と同じ場所に手書きサイン登録フォーム561が表示される。手書きサイン登録フォーム561は上段から、名前入力欄561a、サイン入力欄561b~561d、及び、登録確定欄561eを有する。ユーザーは、名前入力欄561aに名前のテキスト、サイン入力欄561b~561dに1回目の手書きサイン、2回目の手書きサイン、3回目の手書きサイン、登録確定欄561eにチェックマーク又は取消マークを入力する。名前のテキストはこのユーザーの表示名であり、テキストデータに変換される。手書きサインが3回も入力されるのは、手書きサインはユーザーが書くたびに異なり完全一致しない前提で特徴量を登録しておくためである。
なお、手書きサインは一般にはユーザー名等、ユーザーに関する文字等であり、ユーザー名の他、社員番号などの数字、ニックネーム、似顔絵などでもよい。また、手書きサインはユーザーに関する文字等に限られず、何らかの手書きオブジェクトであればよい。手書きサインは、例えば、丸、三角形、四角形、記号やその組み合わせでもよい。手書きサインは、座標だけが特徴データとなるわけではないので、同姓のユーザー(例えば、鈴木さん)がどちらも「すずき」という手書きサインを登録しても正しく認証できる。
手書きサイン登録フォーム561にユーザーが指示通りに手書きをすると、図29(c)に示す手書きサイン登録フォーム561となる。登録確定欄561eに「チェックマーク」をユーザーが手書きすると手書きサインデータが手書きサインデータ保存部39に登録され手書きサイン登録フォーム561は削除される。登録によりSignatureIdが採番され、同様に採番されたAccountIdと名前入力欄561aに名前のテキストがSignatureIdに対応付けてユーザー定義データに登録される。ユーザーがユーザー名等を手書きしてサインインすると、ユーザー定義データでAccountIdに対応付けられたSignatureIdが取得され手書きサインインに使用したペン2500のPenIdに対応づけてペンID制御データに登録される。以降は、ユーザーがペン2500を使用すればペンIDが表示装置2に送信され、ペンID制御データにおいてPenIdに対応付けられたAccountIdを特定でき、ユーザーが意識しなくてもユーザー定義データを使用した操作コマンドの実行が可能になる。
登録確定欄561eに「×」をユーザーが手書きすると手書きサイン登録は取り消され手書きサイン登録フォーム561は削除される。なお、登録に関して何らかのエラーが発生した場合、操作画面101のシステム予約領域などにその旨が表示される。
このように、手書き入力表示制御部23は手書きサイン登録フォーム561への手書き入力と手書きサイン登録フォーム561以外の手書き入力を区別せずに手書き入力を受け付けることができる。
<手書きよるサインインの一例>
次に、図30を用いて、手書きサインデータの登録後に、ユーザーがサインインする方法を説明する。図30は、ユーザーが登録した手書きサインデータである「すずき」と手書きした場合に表示される操作ガイド500の一例である。「すずき」が手書きサインデータとして操作コマンド定義部33に登録されているので、「すずき」が手書きサインデータと適合する。このため、「手書きサインインする」という操作コマンド512が表示されている。
また、手書きサインデータが適合したので「すずき」を表すSignatureIdが特定され、このSignatureIdに対応付けられているAccountIdを有するユーザー定義データが特定される。
ユーザーが「手書きサインインする」という操作コマンド512を選択すると、使用しているペン2500のPenIdに「すずき」のAccountIdを対応付けてペンID制御データに追加され、「すずき」のユーザー定義データが操作コマンドの使用時に使用されるようになる。
図30の手書きサイン登録フォーム561を用いた手書きサインデータの登録は、文字など通常の手書き入力の一環として制御されるので、手書きサイン登録フォーム561は文字等が手書きされる操作画面と同じ操作画面に表示される。手書きサイン登録フォーム561の内外の手書き操作に違いはなく、ユーザーは手書きサイン登録フォーム561の罫線で区切られた領域に手書き入力するだけで手書きサイン登録フォーム561への入力を完了させることができる。
<ユーザー定義データの変更操作例>
次に、図31を用いて、ユーザー定義データの変更方法を説明する。図31は、ユーザー定義データの変更方法を説明する図である。図31(a)は、ユーザーが「せ」と手書きした時に表示される操作ガイド500の一例である。図11Aに示した操作コマンド定義データ716はStringに「設定」が定義されており、「せ」の予測文字列に「設定」があったため、「設定変更する」という操作コマンドが表示された。
ユーザーが、手書きでサインインしたペン2500で「設定変更する」を選択すると、ペンID制御データでこのペン2500のPenIdに対応付けられているユーザーのAccountIdが特定される。これにより、サインインしたユーザーのユーザー定義データが特定され、図31(b)のユーザー定義データ変更フォーム562が手書き入力保存部25に追加され、操作画面101に表示される。図31の例では、図14のユーザー定義データ718に従ってユーザー定義データ変更フォーム562が作成される。ユーザー定義データ変更フォーム562は名前欄562a、パスワード欄562b、フォルダーユーザー名欄562c、フォルダーパスワード欄562d、フォルダーファイル名欄562e、及び、登録又は取消欄562fを有する。
なお、予めユーザーが手書きでサインインしていないと表示装置2はユーザーのAccountIdを特定できないのでエラーとなり、操作画面101のシステム予約領域などにエラーメッセージが表示される。
図31(b)のユーザー定義データ変更フォーム562の、パスワード欄562bにパスワードをユーザーが手書きする。フォルダーユーザー名欄562cにフォルダーユーザー名をユーザーが手書きする。フォルダーパスワード欄562dにフォルダーパスワードをユーザーが手書きする。フォルダーファイル名欄562eにフォルダーファイル名をユーザーが手書きする。登録又は取消欄562fに「チェックマーク」又は「×」をユーザーが手書きする。これによりユーザー定義データの変更が実行され、ユーザー定義データ変更フォーム562は削除される。
このように、ユーザーはユーザー定義データ変更フォーム562を呼び出すストロークデータを手書きすることで、ユーザー定義データ変更フォーム562を表示させ、ユーザー定義データを任意に変更できる。手書き入力表示制御部23はユーザー定義データ変更フォーム562への手書き入力とユーザー定義データ変更フォーム562以外の手書き入力を区別せずに手書き入力を受け付ける。
なお、名前欄562aには、ユーザー定義データが有するAccountUsernameが自動で表示される。また、ユーザー定義データ変更フォーム562は変更だけでなく登録にも使用可能である。
図31のユーザー定義データ変更フォーム562を用いたユーザー定義データの変更は、文字など通常の手書き入力の一環として制御されるので、ユーザー定義データ変更フォーム562は文字等が手書きされる操作画面と同じ操作画面に表示される。ユーザー定義データ変更フォーム562の内外の手書き操作に違いはなく、ユーザーはユーザー定義データ変更フォーム562の罫線で区切られた領域に手書き入力するだけでユーザー定義データ変更フォーム562への入力を完了させることができる。
<動作手順>
以上の構成と図32~図39を用いて、表示装置2の動作について説明する。図32~図39は表示装置2が文字列候補と操作コマンドの候補を表示する処理を説明する一例のシーケンス図である。図32の処理は、表示装置2が起動すると(アプリケーションが起動すると)スタートする。なお、図32~図39ではスペースの都合上、符号で図6の機能を示した。
手書きデータの入力を開始する前に、ユーザーはペン色選択ボタン81~86又は操作コマンド定義データ709、710、711、720、721、722を実行して色を選択済みである(PenIdが特定されている)。従って、
a.ペン色選択ボタン定義データでペンボタンID、ColorId及びフォントが特定され、
b.ペンID制御データにはPenId、ColorId及びFontNameが登録される。
S1:まず、手書き入力表示制御部23が手書きオブジェクト開始を手書き入力保存部25に送信する。手書き入力保存部25は手書きオブジェクト領域(手書きオブジェクトを保存するメモリー領域)を確保する。ユーザーがペンを手書き入力部21に接触させてから手書きオブジェクト領域を確保してもよい。
S2:次にユーザーが手書き入力部21にペンを接触させる。手書き入力部21はペンダウンを検出して手書き入力表示制御部23に送信する。
S3:手書き入力表示制御部23は手書き入力保存部25にストローク開始を送信し、手書き入力保存部25はストローク領域を確保する。
S4:ユーザーがペンを手書き入力部21に接触させたまま移動させると、手書き入力部21はペン座標を手書き入力表示制御部23に送信する。
S5:手書き入力表示制御部23は座標の入力と同時にペン2500から受信したPenIdを指定して、ペンID制御データ保存部36に保存されている現在のペンID制御データを取得する。PenIdは座標の入力時に送信されるので、ストロークとPenIdが対応付けられる。ペンID制御データ保存部36はペンID制御データを手書き入力表示制御部23に送信する。なお、角度情報はまだ初期値のゼロである。また、ユーザーがサインインしていないのでAccountIdはない。
S6:手書き入力表示制御部23はペン座標補完表示データ(離散的なペン座標を補間するデータ)を表示部22に送信する。表示部22はペン座標補完表示データでペン座標を補間し、ペンID制御データのColorIdに基づいてカラー定義データから線種と太さを特定してストロークを表示する。
S7:手書き入力表示制御部23はペン座標、その受信時刻、ColorId及び角度情報を手書き入力保存部25に送信する。手書き入力保存部25はペン座標をストロークに追加する。ユーザーがペンを動かしている間は、手書き入力部21は定期的に手書き入力表示制御部23へのペン座標の送信を繰り返すため、ステップS4~S7の処理がペンアップされるまで繰り返される。
S8:ユーザーが手書き入力部21からペンを離すと、手書き入力部21はペンアップを手書き入力表示制御部23に送信する。
S9:手書き入力表示制御部23は手書き入力保存部25にストローク終了を送信し、手書き入力保存部25はストロークのペン座標を確定させる。ストロークのペン座標の確定により以降はストロークにペン座標を追加できなくなる。
S10:次に、手書き入力表示制御部23は手書きオブジェクト矩形領域403に基づいて、手書きオブジェクト矩形領域とストローク矩形領域の重なり状況取得を手書き入力保存部25に送信する。手書き入力保存部25は重なり状況を計算して重なり状況を手書き入力表示制御部23に送信する。
続く、ステップS11~S17は、手書きオブジェクト矩形領域とストローク矩形領域が重なっていない場合に実行される。
S11:手書きオブジェクト矩形領域とストローク矩形領域が重なっていない場合、1つの手書きオブジェクトが確定するので、手書き入力表示制御部23は保持データクリアを手書き認識制御部26に送信する。
S12~S14:手書き認識制御部26は保持データクリアをそれぞれ文字列変換制御部28、予測変換制御部30、操作コマンド認識制御部32に送信する。手書き認識制御部26、文字列変換制御部28、予測変換制御部30及び操作コマンド認識制御部32がこれまでに保持している文字列候補と操作コマンドの候補に係るデータをクリアする。なお、クリアの時点では最後に手書きされたストロークは手書きオブジェクトに追加されていない。
S15:手書き入力表示制御部23は手書きオブジェクト終了を手書き入力保存部25に送信する。手書き入力保存部25は手書きオブジェクトを確定させる。手書きオブジェクトの確定とは1つの手書きオブジェクトが完成したこと(これ以上、ストロークが追加されないこと)をいう。
S16:手書き入力表示制御部23は手書きオブジェクト開始を手書き入力保存部25に送信する。次の手書きオブジェクトが手書き開始されること(ペンダウン)に備えて、手書き入力保存部25は新しい手書きオブジェクト領域を確保する。
S17:次に手書き入力表示制御部23はステップS9で終了したストロークに関してストローク追加を手書き入力保存部25に送信する。ステップS11~S17が実行された場合、追加されるストロークは手書きオブジェクトの最初のストロークであり、手書き入力保存部25は開始中の手書きオブジェクトにストロークデータを追加する。ステップS11~S17が実行されてない場合、追加されるストロークはすでに手書き中の手書きオブジェクトに追加される。
S18:続いて手書き入力表示制御部23はストローク追加を手書き認識制御部26に送信する。手書き認識制御部26は文字列候補が格納されるストロークデータ保持領域(ストロークデータが一時的に格納される領域)にストロークデータを追加する。
S19:手書き認識制御部26はストロークデータ保持領域に対してジェスチャー手書き認識を実行する。ジェスチャー手書き認識とは、直線から角度情報を認識することをいう。なお、ジェスチャー手書き認識は操作ガイド500の内部で行われるため、手書き認識制御部26は操作ガイド500の内部の直線を検出する。操作ガイド500の位置情報は後述するステップS67で手書き認識制御部26に送信される。
S20:操作ガイド500内の直線が検出された場合、直線の始点から6時の方向に下ろした直線522と、ユーザーが入力した直線521の反時計回りのなす角αを、45度単位で決定する。そして、手書き認識制御部26は、決定した角度情報を直線521のストロークデータが有するPenIdに対応付けてペンID制御データ保存部36に保存する。なお、ステップS20は操作ガイド500内で直線が検出された場合に実行される。
S20-2:手書き認識制御部26は選択可能な候補表示矩形をクリアする。
S21:次に、手書き認識制御部26は、手書き入力部21から受信したPenIdを指定して、ペンID制御データ保存部36から現在のペンID制御データの角度情報を取得する。
S22:手書き認識制御部26は、ストロークデータ保持領域のストロークデータを取得した角度情報で時計回りに回転する。
S23:手書き認識制御部26は、手書きサイン認証制御部38に回転後のストロークデータを送信する。このようにストロークデータが手書きサインかどうかは不明な状態で常に手書きサイン認証制御部38に送信する。
S24:手書きサイン認証制御部38はストロークデータを受信し、手書きサインデータ保存部39から登録済みの手書きサインデータを受信する。そして、手書きサイン認証制御部38はストロークデータと手書きサインデータの比較(マッチング)を行い、後段のステップS61で手書きサインの認証結果を取得できるように手書きサインの認証結果を保持しておく。認証成功の場合はAccountIdがペンID制御データに登録される。
S25:次に、手書き認識制御部26はストロークデータに手書き認識を実行し、フォームの登録、取消欄の「チェックマーク」又は「×」である場合はフォームの処理を行い、そうでない場合は通常の手書き認識の処理を行う。
S26:手書きサインデータ登録フォームの登録又は取消欄内が「チェックマーク」であった場合、手書きサイン登録フォームに対しユーザーが入力した手書きサインデータ(ストロークデータ)を、手書き認識制御部26が手書きサイン認証制御部38に送信する。手書きサイン登録フォームは、後述するステップS86で手書き入力表示制御部23が手書き入力保存部25に生成する。
S27:手書きサイン認証制御部38は受信した手書きサインデータ(ストロークデータ)を手書きサインデータ保存部39に登録する。これにより、SignatureIdが採番される。SignatureIdは手書き認識制御部26に返却される。手書き認識制御部26はSignatureId及び手書きサイン登録フォーム561の名前入力欄561aに入力された名前がユーザー定義データにない場合、ユーザー定義データを新規に追加しAccountIdを採番し、そのユーザー定義データにSignatureIdを保存する。名前入力欄561aに入力された名前がユーザー定義データにある場合は、そのユーザー定義データにSignatureIdを保存する。この処理によってAccountIdとSignatureIdは紐づけられる。なお、ユーザー定義データを新規に追加した場合はその他の値が設定されていないが、ユーザー定義データ変更フォーム562からユーザーが登録及び変更可能である。
S28:手書きサインデータの登録により、手書き認識制御部26は手書きサイン登録フォーム561を手書き入力保存部25から削除する。
S29:ユーザー定義データ変更フォームの登録又は取消欄内が「チェックマーク」であった場合、後述するステップS86で手書き入力表示制御部23が手書き入力保存部25に生成したユーザー定義データ変更フォーム562に入力された変更値を手書き認識制御部26が操作コマンド定義部33に送信する。
S30:ユーザー定義データの変更の実行により、手書き認識制御部26はユーザー定義データ変更フォーム562を手書き入力保存部25から削除する。
S31:後述するステップS86で追加したフォームの登録又は取消欄内が「×」であった場合、手書き認識制御部26はステップS86で追加したフォームを手書き入力保存部25から削除する。
S33:フォーム処理でなかった場合、手書き認識制御部26はこの実行結果である手書き認識文字列候補を手書き認識辞書部27に送信する。手書き認識辞書部27は言語的に確からしい言語文字列候補を手書き認識制御部26に送信する。
S34:手書き認識制御部26は手書き認識文字列候補及び受信した言語文字列候補を文字列変換制御部28に送信する。
S35:文字列変換制御部28は手書き認識文字列候補及び言語文字列候補を文字列変換辞書部29に送信する。文字列変換辞書部29は変換文字列候補を文字列変換制御部28に送信する。
S36:文字列変換制御部28は受信した変換文字列候補を予測変換制御部30に送信する。
S37:予測変換制御部30は受信した変換文字列候補を予測変換辞書部31に送信する。予測変換辞書部31は予測文字列候補を予測変換制御部30に送信する。
S38:予測変換制御部30は受信した予測文字列候補を操作コマンド認識制御部32に送信する。
S39:操作コマンド認識制御部32は受信した予測文字列候補を操作コマンド定義部33に送信する。操作コマンド定義部33は操作コマンドの候補を操作コマンド認識制御部32に送信する。これにより、操作コマンド認識制御部32は予測文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
以降ステップS40~S47で説明される操作コマンドの候補の送信まで、表示装置2は同様に処理を行う。
S40:文字列変換制御部28は受信した変換文字列候補を操作コマンド認識制御部32に送信する。
S41:操作コマンド認識制御部32は受信した変換文字列候補を操作コマンド定義部33に送信する。操作コマンド定義部33は操作コマンドの候補を操作コマンド認識制御部32に送信する。これにより、操作コマンド認識制御部32は変換文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
S42:手書き認識制御部26は手書き認識文字列候補及び言語文字列候補を予測変換制御部30に送信する。
S43:予測変換制御部30は手書き認識文字列候補及び受信した言語文字列候補を予測変換辞書部31に送信する。予測変換辞書部31は予測文字列候補を予測変換制御部30に送信する。
S44:予測変換制御部30は受信した予測文字列候補を操作コマンド認識制御部32に送信する。
S45:操作コマンド認識制御部32は受信した予測文字列候補を操作コマンド定義部33に送信する。操作コマンド定義部33は操作コマンドの候補を操作コマンド認識制御部32に送信する。これにより、操作コマンド認識制御部32は予測文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
S46:手書き認識制御部26は手書き認識文字列候補及び受信した言語文字列候補を操作コマンド認識制御部32に送信する。
S47:操作コマンド認識制御部32は手書き認識文字列候補及び受信した言語文字列候補を操作コマンド定義部33に送信する。操作コマンド定義部33は操作コマンドの候補を操作コマンド認識制御部32に送信する。これにより、操作コマンド認識制御部32は言語文字列候補と一致する文字列(String)を有する操作コマンド定義データに対応する操作コマンドの候補を取得できる。
S48:次に手書き認識制御部26はストローク追加を操作コマンド認識制御部32に送信する。
S49:操作コマンド認識制御部32は確定オブジェクトの位置情報取得を手書き入力保存部25に送信する。手書き入力保存部25は確定オブジェクトの位置情報を操作コマンド認識制御部32に送信する。
S50:操作コマンド認識制御部32は選択オブジェクトの判定のため、ステップS48のストローク追加で手書き認識制御部26から受信したストロークの位置情報が、手書き入力保存部25から受信した確定オブジェクトの位置情報が所定の関係にあるか否かを跨ぎ線判定条件406及び囲み線判定条件407に基づいて判定する。操作コマンド認識制御部32は選択されていると判定できる確定オブジェクトを選択オブジェクトとして保存しておく。また、この場合、選択オブジェクトが特定されるので操作コマンドの候補を操作コマンド定義部33から取得する。
また、手書き認識制御部26、文字列変換制御部28、予測変換制御部30、及び、操作コマンド認識制御部32はそれぞれ手書き認識文字列候補、言語文字列候補、変換文字列候補、予測文字列候補、操作コマンドの候補、及び、選択オブジェクトに係るデータを後段のステップS55~S58で取得できるよう保持しておく。
S18-2:手書き入力表示制御部23はステップS18でストローク追加を手書き認識制御部26に送信した直後、選択可能候補表示タイマー開始を候補表示タイマー制御部24に送信する。候補表示タイマー制御部24はこのタイマーを開始する。
続く、ステップS51~S53は一定時間が経過する前に(タイマーがタイムアウトする前に)ペンダウンが発生した場合に実行される。
S51:タイマーがタイムアウトする前に、ユーザーが手書き入力部21にペンを接触させた場合、手書き入力部21はペンダウン(ステップS2と同じイベント)を手書き入力表示制御部23に送信する。
S52:手書き入力表示制御部23はストローク開始(ステップS3と同じ)を手書き入力保存部25に送信する。この後のシーケンスはステップS3以降と同じである。
S53:更に手書き入力表示制御部23は選択可能候補表示タイマー停止を候補表示タイマー制御部24に送信する。候補表示タイマー制御部24はタイマーを停止させる。ペンダウンが検出されたのでタイマーが不要になるからである。
ステップS54~S103は一定時間が経過する前に(タイマーがタイムアウトする前に)ペンダウンが発生しない場合に実行される。従って、図24に示した操作ガイド500が表示される。
S54:選択可能候補表示タイマー開始中にユーザーが手書き入力部21にペンを接触させなかった場合、候補表示タイマー制御部24はタイムアウトを手書き入力表示制御部23に送信する。
S55:手書き入力表示制御部23は手書き認識文字列/言語文字列候補取得を手書き認識制御部26に送信する。手書き認識制御部26は現在保持している手書き認識文字列/言語文字列候補を手書き入力表示制御部23に送信する。
S56:手書き入力表示制御部23は変換文字列候補取得を文字列変換制御部28に送信する。文字列変換制御部28は現在保持している変換文字列候補を手書き入力表示制御部23に送信する。
S57:手書き入力表示制御部23は予測文字列候補取得を予測変換制御部30に送信する。予測変換制御部30は現在保持している予測文字列候補を手書き入力表示制御部23に送信する。
S58:手書き入力表示制御部23は操作コマンドの候補取得を操作コマンド認識制御部32に送信する。操作コマンド認識制御部32は現在保持している操作コマンドの候補と選択オブジェクトを手書き入力表示制御部23に送信する。
S59:更に、手書き入力表示制御部23は推定書字方向取得を手書き入力保存部25に送信する。手書き入力保存部25は手書きオブジェクト矩形領域のストローク追加時間と水平距離と垂直距離から判定して、推定書字方向を手書き入力表示制御部23に送信する。
S60:次に、手書き入力表示制御部23は、手書き入力部21から受信したPenIdを指定して、ペンID制御データ保存部36から現在のペンID制御データのColorId、FontName(又はFontSet)、AccountId及び角度情報を取得する(ペンID制御データに設定されていないものは取得しない)。
S61:手書き入力表示制御部23は手書きサイン認証制御部38から手書きサインの認証結果を取得する。これにより、ユーザーのSignatureIdが得られるので、後述する操作コマンドの実行時に、PenIdにAccountIdが対応付けられてペンID制御データに登録される。ユーザーがサインインした場合、AccountIdで特定されるユーザー定義データに対応付けられたカラー定義データが特定されるので、ユーザー定義データの色情報が白黒で強調された手書きデータ、又は、手書きデータから変換された前記テキストデータを表示できる。
S62:手書き入力表示制御部23はこれらの手書き認識文字列候補(図24では「ぎ」)、言語文字列候補(図24では表示がないが例えば「議」)、変換文字列候補(図24では「議事録」「技量試」)、予測文字列候補(図24では「技量試を決済」「議事録の送付先」)、操作コマンドの候補(図24では「議事録テンプレートを読み込む」「議事録フォルダーに保存する)、各選択確率、及び、推定書字方向から図24のような選択可能候補表示データを作成する。また、手書き入力表示制御部23はステップS60で取得した角度情報で選択可能候補表示データ(操作ガイド500)を反時計回りに回転させ、回転後の選択可能候補表示データ(操作ガイド500)を表示部22に送信することで表示させる。
なお、ステップS60で取得したペンID制御データのFontName又はFontSetを使って、選択可能候補530をこれらが指定するフォントスタイルで表示するとよい。文字サイズによってフォントスタイルが異なる場合があるので、手書き入力表示制御部23は大中小の文字サイズごとのフォントスタイルで表示する。
S63:また、手書き入力表示制御部23は手書きオブジェクトと選択オブジェクトの矩形領域表示データ(矩形枠)(図24では手書きオブジェクト矩形領域表示503)を、ステップS60で取得した角度情報で反時計回りに回転させ、表示部22に送信することで表示させる。
S64:手書き入力表示制御部23は選択可能候補表示データの表示から一定時間後に消去するため選択可能候補表示消去タイマー開始を候補表示タイマー制御部24に送信する。候補表示タイマー制御部24はこのタイマーを開始する。
ステップS65~S70は、選択可能候補消去タイマー開始中に、ユーザーが表示部22に表示された選択可能候補表示を消去したか、手書きオブジェクトの変化が発生した場合(即ち手書きオブジェクトのストロークの追加、削除、移動、変形又は分割された場合)、又は、タイムアウトまでに候補が選択されなかった場合に実行される。
更に、ステップS65~S67は、候補表示が消去されるか、又は、手書きオブジェクトの変化が発生した場合に実行される。
S65:手書き入力部21は選択可能候補表示消去又は手書きオブジェクトの変化の発生を手書き入力表示制御部23に送信する。
S66:手書き入力表示制御部23は選択可能候補消去タイマー停止を送信する。候補表示タイマー制御部24はそのタイマーを停止する。一定時間内に手書きオブジェクトに対し操作があったためタイマーが不要になるからである。
S67:手書き入力表示制御部23は、ステップS19のジェスチャー手書き認識のジェスチャー判定で使用できるよう、操作ガイド500の位置情報を手書き認識制御部26に保存する。位置情報は例えば左上コーナーと右下コーナーの座標又はこれと同等の座標である。これにより、手書き認識制御部26は角度情報の入力に使用される直線が操作ガイド500内かどうかを判定できる。
S69:手書き入力表示制御部23は選択可能候補表示データ消去を表示部22に送信することで、表示を消去させる。
S70:手書き入力表示制御部23は手書きオブジェクトと選択オブジェクトの矩形領域表示データ消去を表示部22に送信することで、表示を消去させる。従って、操作コマンド候補が選択される以外の条件で、操作コマンド候補の表示を消去した場合、手書きオブジェクトはそのまま表示が維持される。
S68:一方、選択可能候補消去タイマー開始中に、選択可能候補表示消去又は手書きオブジェクトの変化が発生しなかった場合(ユーザーがペン操作をしなかった場合は)、候補表示タイマー制御部24はタイムアウトを手書き入力表示制御部23に送信する。
選択可能候補表示消去タイマーのタイムアウトの後も同様に、手書き入力表示制御部23はステップS69とS70を実行する。一定時間の経過で選択可能候補表示データ、手書きオブジェクトと選択オブジェクトの矩形領域表示データを手書き入力表示制御部23が消去してよいためである。
選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、ステップS71~S103が実行される。
S71:選択可能候補消去タイマー開始中に、ユーザーが選択可能候補を選択した場合、手書き入力部21は文字列候補又は操作コマンドの候補選択を手書き入力表示制御部23に送信する。
S71-2:手書き入力表示制御部23は選択可能候補表示消去タイマー停止を候補表示タイマー制御部24に送信する。候補表示タイマー制御部24はこのタイマーを停止する。
S72:次に手書き入力表示制御部23は保持データクリアを手書き認識制御部26に送信する。
S73:手書き認識制御部26は保持データクリアを文字列変換制御部28に送信する。
S74:手書き認識制御部26は保持データクリアを予測変換制御部30に送信する。
S75:手書き認識制御部26は保持データクリアを操作コマンド認識制御部32に送信する。手書き認識制御部26、文字列変換制御部28、予測変換制御部30、及び、操作コマンド認識制御部32はこれまで保持していた文字列候補及び操作コマンドの候補に係るデータをクリアする。
S76:次に手書き入力表示制御部23は選択可能候補表示データ消去を表示部22に送信することで表示を消去させる。
S77:手書き入力表示制御部23は手書きオブジェクトと選択オブジェクトの矩形領域表示データ消去を表示部22に送信することで表示を消去させる。
S78:手書き入力表示制御部23は手書きオブジェクト表示データ消去及びステップS6で送信したペン座標補完表示データ消去を表示部22に送信することで表示を消去させる。文字列候補又は操作コマンドの候補が選択されたため、手書きオブジェクト等が不要になるためである。
S79:手書き入力表示制御部23は手書きオブジェクト削除を手書き入力保存部25に送信する。
文字列候補が選択された場合、ステップS80~S82が実行される。
S80:文字列候補が選択された場合、手書き入力表示制御部23は文字列オブジェクト追加を手書き入力保存部25に送信する。
S81:手書き入力保存部25は推定書字方向/文字サイズ判定条件404と手書きオブジェクトのサイズに基づいて推定文字サイズを判断する。手書き入力表示制御部23は手書きオブジェクトの推定文字サイズを手書き入力保存部25から取得する。ペンID制御データはステップS60で取得済みである。そして、手書き入力表示制御部23はペンID制御データのFontSet(フォントセットが選択されていない場合はFontName)及び文字サイズを指定してフォント取得を手書き入力保存部25に送信する。これにより、手書き入力表示制御部23はペンID制御データに記録されているフォントセットに含まれるフォントを手書き入力保存部25から取得する。
S82:次に手書き入力表示制御部23は手書き入力保存部25から受信した定義済みフォントを使用して、手書きオブジェクトと同じ位置に表示させる文字列オブジェクト表示データを表示部22に送信させることで、表示させる。手書き入力表示制御部23はペンID制御データのColorIdに基づいてカラー定義データから線種と太さを特定し、角度情報で回転させたテキスト(文字列オブジェクト)を表示する。
操作コマンドの候補が選択された場合、ステップS83~S101が実行される。選択オブジェクトがある場合はステップS83~S85が実行される。
S83:選択オブジェクトへの操作コマンドの候補が選択された場合(選択オブジェクトが存在する場合)は、手書き入力表示制御部23は選択オブジェクト表示データ消去を表示部22に送信することで表示を消去させる。手書き入力表示制御部23は、いったん、元の選択オブジェクトを消去するためである。
S84:次に、手書き入力表示制御部23は選択オブジェクトへの操作コマンド実行を手書き入力保存部25に送信する。手書き入力保存部25は新しい選択オブジェクトの表示データ(編集又は修飾後の表示データ)を手書き入力表示制御部23に送信する。
S85:次に手書き入力表示制御部23は選択オブジェクト表示データを表示部22に送信することで、操作コマンド実行後の選択オブジェクトを再表示させる。
S86:操作コマンド定義データ713の「手書きサイン登録する」又は操作コマンド定義データ716の「設定変更する」が指定された場合、手書き入力表示制御部23は手書きサイン登録フォーム561又はユーザー定義データ変更フォームを手書き入力保存部25に追加する。
S87:「ファイル保存」又は「印刷」の操作コマンドの候補が選択された場合、手書き入力表示制御部23はファイル送信要求をファイル送受信制御部37に送信する。
S88:ファイル送受信制御部37は送信対象の手書き入力保存データの取得要求を手書き入力保存部25に送信する。
S89:手書き入力保存部25は、送信先がカラー対応装置かどうかをMIBなどで判定する。
・カラー対応装置の場合、手書き入力保存部25は、カラーに変換した手書き入力保存データをファイル送受信制御部37に送信する。すなわち、手書き入力保存データのColorIdに基づいて手書き由来かどうかを判定して、手書き入力起因データはColorIdに対応付けられた色情報をカラー定義データから取得してこの色情報に変換する。手書き由来でないデータには元々色情報が入っているので、該色情報を送信する。ColorIdでなくても手書き入力起因データ(本表示装置2で描かれた手書きデータ)であるかを手書き入力保存部25が判定できればよい。また、本表示装置2で描かれた手書きデータであるかを示すデバイスを示す値でもよい。
・送信先が白黒対応装置の場合、手書き入力保存部25は、手書き入力保存データのColorIdに対応付けられた色情報を無視して単なる座標点列やテキストを送信してもよい。手書き入力保存部25は、ColorIdに対応付けられた色情報をカラー定義データから取得してこの色情報に変換してもよい。ただし、手書き入力保存部25はColorIdに対応付けられた色情報をカラー定義データから取得して白黒強調表示(線種と太さ)に変換して送信してもよい。手書き由来でないデータには元々色情報が入っているので、手書き入力保存部25は該色情報を送信する。
・送信先が白黒強調対応装置の場合、手書き入力保存部25は、手書き入力保存データのみ、又は、手書き入力保存データ及びカラー定義データをファイル送受信制御部37に送信する。手書き入力保存部25が手書き入力保存データのみを送信する場合は、送信先の白黒強調対応装置が保持するカラー定義データに従って線種や太さが決定される。手書き入力保存部25が手書き入力保存データ及びカラー定義データの両方を送信する場合は、送信元の白黒強調対応装置が保持していたカラー定義データに従って線種や太さが決定される。なお、送信元の白黒強調対応装置が白黒強調表示に変換してから手書き入力保存部25が送信してもよい。
・また、ファイル送受信制御部37がファイルに書き出す場合、例えばPDFファイルなどに書き出す場合、手書き入力保存部25はColorIdに対応付けられた色情報をカラー定義データから取得し、PDFファイルのフォーマットに従ってPDFファイルに設定する。フォント、文字サイズ等についても同様である。更に、手書き入力保存部25は手書き入力保存データの全体又は一部(例えばColorId、FontName等)をPDFファイルのメタデータに保存する。PDFファイルのリーダー(Reader)はメタデータを無視するので、表示に影響はなく、このPDFファイルを表示装置2が読み取る場合は、メタデータから手書き入力保存データを再生できる。手書き由来でないデータの場合、手書き入力保存部25は手書き入力保存データに入っている色情報、フォント、文字サイズ等をPDFファイルのフォーマットに従ってPDFファイルに設定する。
S90:ファイル送受信制御部37は手書き入力保存部25から受信した手書き入力データを送信先に送信するか、又は、ファイルに書き込む。
S91:「ファイル読み込み」の操作コマンドの候補が選択された場合、手書き入力表示制御部23はファイル一覧情報取得要求をファイル送受信制御部37に送信する。
S92:ファイル送受信制御部37はUSBメモリー、ネットワークストレージ、Webサーバー等の記憶媒体又は外部機器等からファイル一覧情報を受信する。
S93:ファイル送受信制御部37はファイル一覧情報を手書き入力表示制御部23に送信する。
S94:手書き入力表示制御部23はファイル一覧表示データを表示部22に送信する。これにより、表示部22は図12のようにファイル一覧をディスプレーに表示する。
S95:ユーザーがファイルを選択し、手書き入力部21が受け付けると、手書き入力部21はファイル選択を手書き入力表示制御部23に送信する。
S96:手書き入力表示制御部23は選択されたファイルのファイル受信要求をファイル送受信制御部37に送信する。
S97:ファイル送受信制御部37は外部機器からファイルを取得する。
S98:ファイル送受信制御部37は手書き入力保存部25にファイルを保存する。
S99:手書き入力保存部25は、ファイル送受信制御部37から受信したファイルを解析し、手書き入力起因データを手書き入力保存データ(白黒強調/カラー変換可能データ)に変換する。すなわち、メタデータの有無を判定し、メタデータがある場合は手書き入力保存データへの変換が可能かどうかを(ColorIdなどがあるかどうか)を判定し、手書き入力保存データとして保存する。そして、手書き入力保存部25は、手書き入力起因データについてColorIdを読み取り、カラー定義データを参照して、ColorIdに対応付けられている白黒強調表示に変換する。手書き入力保存部25は手書きオブジェクトの表示データを手書き入力表示制御部23に送信する。手書き入力起因データでないデータの場合、手書き入力保存部25はファイル形式に従って色情報、フォント、文字サイズなどを読み取って手書き入力保存データとして保存する。
S100:手書き入力表示制御部23は手書き入力データの表示データを表示部22に表示する。これにより表示部22は、手書き入力起因データを白黒強調された手書きデータで表示し、そうでないデータを従来の輝度変換を用いて白黒表示する。
なお、サインインするための操作コマンド512が実行された場合、手書き入力表示制御部23は操作コマンド512の実行時に表示装置2が受信したPenIdを取得する。手書き入力表示制御部23はステップS61で取得したSignatureIdを有するユーザー定義データを特定してAccountIdをユーザー定義データから取得する。そして、手書き入力表示制御部23はPenIdに対応付けてAccountIdをペンID制御データに登録する。これにより、ペン2500とユーザーが紐付いた形となり、表示装置2はユーザー定義データを使って処理が可能になる。
ユーザーがサインインした後に手書きしたり、ファイル読み込みしたりした場合、手書き入力表示制御部23は、操作コマンドの実行時に表示装置2が受信したPenIdに対応付けられているAccountIdをペンID制御データから取得する。手書き入力表示制御部23はこのAccountIdでユーザー定義データを特定し、操作コマンドの%~%にカラー定義データ等を設定して実行する。
S101:その他の操作コマンドが選択された場合、手書き入力表示制御部23はユーザーが選択した操作コマンドに対応する操作コマンド定義データの操作コマンド文字列(Command)を実行する。本実施形態では業務別フォントセット又は業種別フォントセットを表示装置2に設定する操作コマンドが実行される。詳細は後述する。
S102:ユーザーが選択した業務別フォントセット又は業種別フォントセットを、手書き入力表示制御部23は操作コマンドの実行時にペン2500から受信したPenIdに対応付けてペンID制御データ保存部36に保存する。また、ユーザーがマニュアルで角度情報を入力した場合は、手書き入力表示制御部23は受け付けた角度情報を、回転操作ボタン511の押下時にペン2500から受信したPenIdに対応付けてペンID制御データ保存部36に保存する。
S103:次の手書きオブジェクトのために手書き入力表示制御部23は手書きオブジェクト開始を手書き入力保存部25に送信する。手書き入力保存部25は手書きオブジェクト領域を確保する。これ以降、ステップS2~S103の処理が繰り返される。
<業務別フォントセットの設定>
図36のステップS62で表示される操作ガイド500にはフォントセットをユーザーが選択するための操作コマンドが表示される。ここでは「フード」と手書きした場合を説明する。
図40は、ユーザーが「フード」と手書きした場合に表示される操作ガイド500の一例である。「フード」は操作コマンド定義データ723のStringに該当するので、操作コマンド認識制御部32が操作コマンド定義データ723を取得して手書き入力表示制御部23に送信する。手書き入力表示制御部23が「フードメニュー用フォントセット」という操作コマンド515を操作ガイド500に表示する(ステップS62)。また、「フード」から変換された「フード」「フードプロセッサ」「food」等の文字列候補539が表示される。ユーザーが「フードメニュー用フォントセット」という操作コマンド515を選択すると、手書き入力部21が受け付けて、手書き入力表示制御部23がFontSet=「FoodMenu」をペンID制御データ保存部36に保存する(ステップS102)。なお、操作コマンドの選択により、操作ガイド500は消去される(S76~S78)。
図41は、操作コマンドの実行によるペンID制御データの保存手順を示すフローチャート図の一例である。
まず、手書き入力部21が「フードメニュー用フォントセット」という操作コマンド515の選択を受け付ける(S1001)。このように、手書きデータに基づいてフォントセットの設定を受け付けることができる。
次に、手書き入力表示制御部23は操作コマンド515を定義する操作コマンド定義データ723の「ChangeFontset FoodMenu」を実行するので、手書き入力表示制御部23はペンID制御データにユーザーが使用しているペン2500のPenIdと「FoodMenu」というフォントセットを設定する(S1002)。
図42は、ペンID制御データの遷移図の一例である。図42(a)は図32~図39で説明した処理の開始時のペンID制御データであり、図42(b)は、ユーザーが「フードメニュー用フォントセット」という操作コマンドを選択した場合のペンID制御データである。図42(a)ではペン色選択ボタン81で設定された色とフォントが設定されている。図42(b)では色はそのままだが、「FoodMenu」というフォントセットが設定されている。なお、AngleとAccountIdは省略した。
<業務別フォントセットを用いた手書き入力>
続いて、業務別フォントセットがペンID制御データに設定された場合の文字列オブジェクトの表示方法を説明する。
図43は、「FoodMenu」というフォントセットがペンID制御データに設定された状態で手書き入力された場合の操作ガイド500を示す。図43では「本日」と手書きされたため、「本日」から変換された「本日」「本日の」「本日のメニュー」「本日は」「本日の天気」等の文字列候補539が表示されている。なお、「本日」をStringに持つ操作コマンド定義データがないため、操作コマンドは表示されていない。
ユーザーが「本日のメニュー」という文字列候補539を選択すると、手書き入力部21が受け付けて、手書き入力表示制御部23が「本日のメニュー」という文字列オブジェクト302を表示する(ステップS82)。なお、文字列候補539の選択により、操作ガイド500は消去される(S76~S78)。手書き入力表示制御部23は「本日のメニュー」という文字列オブジェクト302を表示する場合に、ペンID制御データを参照して、色、フォント及び文字サイズを決定し、文字列オブジェクト302を表示する。詳細を次述する。
図44は、手書き入力表示制御部23が文字列オブジェクトを表示する手順を示すフローチャート図の一例である。なお、図32~図39は内部処理を詳細に示すものであるのに対し、図44はフォントの選択について説明するものなので処理順が一致しない場合があることに注意されたい。
まず、手書き入力部21が文字列候補539の選択を受け付ける(S1010)。操作ガイド500の座標が分かっているので、ペン2500の先が接触した座標により選択した文字列候補539が特定される。
次に、手書き入力表示制御部23がユーザーの使用しているペン2500のPenIdに対応したペンID制御データをペンID制御データ保存部36から取得する(S1011)。PenIdはペン1~4がディスプレー220に接触する時、表示装置2が受信している。
次に、手書き入力表示制御部23は、ペンID制御データが有するColorIdに基づいて、手書き入力表示制御部23が保持しているカラー定義データを参照し、線種や太さを決定する(S1012)。
次に、手書き入力表示制御部23は手書き入力保存部25が保持している推定書字方向/文字サイズ判定条件で決定された手書きオブジェクト504の大きさを手書き入力保存部25から取得する(S1013)。
次に、手書き入力表示制御部23は、この手書きオブジェクト504の大きさ、及び、ペンID制御データに定義されているFontSetを指定して、手書き入力保存部25からフォントデータを取得する。手書き入力保存部25はFontSetで業務別フォントセット408を特定し、文字サイズでフォントを特定して文字列オブジェクトのフォントを生成する(S1014)。
以上により、文字列オブジェクトの色、フォント、文字サイズを決定することができる。
<業種別フォントセットの設定>
業種別フォントセットの設定について説明する。図36のステップS62で表示される操作ガイド500にはワークセットをユーザーが選択するための操作コマンドが表示される。ここでは「建設」と手書きした場合を説明する。
図45は、「建設」と手書きした場合に表示される操作ガイド500の一例である。「建設」は操作コマンド定義データ727のStringに該当するので、操作コマンド認識制御部32が操作コマンド定義データ727を取得して手書き入力表示制御部23に送信する。これにより、手書き入力表示制御部23が「建設用ワークセット」という操作コマンド516を操作ガイド500に表示する(ステップS62)。また、「建設」から変換された「建設」「建設会社」「建設方法」等の文字列候補539が表示される。ユーザーが「建設用ワークセット」という操作コマンド516を選択すると、手書き入力部21が受け付けて、手書き入力表示制御部23が「Command="ChangeWorkset Construction"」を実行し、FontSet=「Construction1」~「Construction4」を、それぞれペン1~4に対応付けてペンID制御データに設定する(ステップS102)。なお、操作コマンドの選択により、操作ガイドは消去される(S76~S78)。
図46は、操作コマンドの実行によるペンID制御データの保存手順を示すフローチャート図の一例である。
まず、手書き入力部21が「建設用ワークセット」という操作コマンド516の選択を受け付ける(S1031)。操作ガイド500の座標が分かっているので、ペン1の先が接触した座標により選択した操作コマンド516が特定される。
次に、手書き入力表示制御部23は「Command="ChangeWorkset Construction"」を実行するので、業種向けワークセット420が呼び出され、手書き入力表示制御部23は4つのペンID制御データにそれぞれ「Construction1」「Construction2」「Construction3」「Construction4」というフォントセットを設定する(S1032)。
図47は、ペンID制御データの遷移図の一例である。図47(a)は図32~図39の開始時のペンID制御データであり、図47(b)は、ユーザーが「建設用ワークセット」という操作コマンド516を選択した場合のペンID制御データである。図47(a)ではペン色選択ボタン81で設定された色とフォントが設定されている。図47(b)では色はそのままに、「Construction1」~「Construction4」というフォントセットがペン1~4に設定されている。
<業種別フォントセットを用いた手書き入力>
続いて、業種別フォントセットがペンID制御データに設定された場合の文字列オブジェクトの表示方法を説明する。
図48は、「Construction1」というフォントセットがペンID制御データに設定された状態で手書き入力された場合の操作ガイド500を示す。図48では「作業」と手書きされたため、「作業」から変換された「作業」「作業内容」「作業報告」「作業中止」「作業の安全」等の文字列候補539が表示されている。なお、「作業」をStringに持つ操作コマンド定義データがないため、操作コマンドは表示されていない。
ユーザーが「作業報告」という文字列候補539を選択すると、手書き入力部21が受け付けて、手書き入力表示制御部23が「作業報告」という文字列オブジェクト302を表示する(ステップS82)。なお、文字列候補539の選択により、操作ガイド500は消去される(S76~S78)。手書き入力表示制御部23は「作業報告」という文字列オブジェクト302を表示する場合に、ペンID制御データを参照して、色、フォント及び文字サイズを決定し、文字列オブジェクト302を表示する。詳細を次述する。
図49は、手書き入力表示制御部23が文字列オブジェクトを表示する手順を示すフローチャート図の一例である。図49の処理は手書き入力表示制御部23が参照する定義済み制御データが異なる以外は図44と同様でよい。
以上により、ユーザーが選択した業種別フォントセットに応じて文字列オブジェクトの色、フォント及び文字サイズを決定し、文字列オブジェクトを表示することができる。
<業種別フォントセットの利用例>
図50を用いて、業種別フォントセットの利用例について説明する。図50は、業種別フォントセットを用いた文字列オブジェクトの表示例を示す。図50(a)は建設用ワークセットの利用例を示し、図50(b)は工場用ワークセットの利用例を示す。
図50(a)では、業者Aがペン1を使い、業者Bがペン2を使って手書きしている。ペン1のペンID制御データには明朝体(文字サイズ一定)というフォントセットが設定されており、ペン2のペンID制御データにはゴシック体(文字サイズ一定)というフォントセットが設定されている。従って、業者Aが例えば「指示」という手書きオブジェクト504を手書きすると表示装置2は明朝体で表示し、業者Bが例えば「変更履歴」という手書きオブジェクト504を手書きするとゴシック体で表示する。このように、ペンを使用するユーザーによってフォント及び文字サイズを切り替えることができる。
図50(b)では、一人のユーザーがペン1とペン2を使い分ける。ペン1のペンID制御データにはゴシック体で文字サイズ=25mmというフォントが設定されており、ペン2のペンID制御データにはゴシック体で文字サイズ=75mmというフォントが設定されている。従って、ユーザーがペン1で手書きするとゴシック体で文字サイズ=25mmで文字列オブジェクトが表示され、ペン2で手書きするとゴシック体で文字サイズ=75mmで文字列オブジェクトが表示される。このように、ユーザーがペンを使い分けてフォント及び文字サイズを切り替えることができる。
<業務別フォントセット選択ボタンの押下によるフォントセットの設定>
図51は、業務別フォントセット選択ボタンの押下によるペンID制御データの保存手順を示すフローチャート図の一例である。
まず、手書き入力部21が業務別フォントセット選択ボタン331~334のいずれかの押下を受け付ける(S1051)。業務別フォントセット選択ボタン331~334の座標が分かっているので、ペン2500の先が接触した座標により選択した業務別フォントセット選択ボタン331~334が特定される。また、押下によりペン2500のPenIdが受信される。
次に、手書き入力表示制御部23は押下された業務別フォントセット選択ボタン331~334によりPenButtonId2を特定し、業務別フォントセット選択ボタン定義データのFontSetを決定する。手書き入力表示制御部23はこのFontSetをPenIdに対応付けてペンID制御データに設定する(S1052)。
このように、ユーザーは文字を手書きしてコマンドを実行する場合だけでなく業務別フォントセット選択ボタン331~334を押下してフォントセットを切り替えることができる。
<その他のフォントの選択例>
以下では、いくつかのフォント(フォントセットでなく)を個別にユーザーが選択する選択例を説明する。
(1) 図52は「フォント」という手書きオブジェクト504から操作コマンドとしてフォントのリスト361が表示された操作ガイド500の一例を示す。図52では「メイリオ」「MS Pゴシック」「遊ゴシック」というフォントのリスト361が表示されている。表示装置2がこのように表示するには、「メイリオ」「MS Pゴシック」「遊ゴシック」というフォントの操作コマンド定義データのStringに「フォント」と設定されていればよい。これらは操作コマンドなので、ユーザーが選択すると選択に使用したペン2500のペンIDに対応付けて選択したフォントがペンID制御データに設定される。
(2) 図53(a)は「メイリオ」という手書きオブジェクト504から操作コマンドとしてフォントのリストが表示された操作ガイドの一例を示す。図53(a)では「メイリオ」1つだけのフォントのリスト362が表示されている。表示装置2がこのように表示するには、「メイリオ」というフォントの操作コマンド定義データのStringに「メイリオ」と設定されていればよい。これは操作コマンドなので、ユーザーが選択すると選択に使用したペン2500のペンIDに対応付けて選択したフォントがペンID制御データに設定される。
図53(b)は「明朝」という手書きオブジェクト504から操作コマンドとしてフォントのリスト363が表示された操作ガイド500の一例を示す。図53(b)では「MS P明朝」「HG明朝B」「遊明朝」というフォントのリスト363が表示されている。表示装置2がこのように表示するには、「MS P明朝」「HG明朝B」「遊明朝」というフォントの操作コマンド定義データのStringに「明朝」と設定されていればよい。これは操作コマンドなので、ユーザーが選択すると選択に使用したペン2500のペンIDに対応付けて選択したフォントがペンID制御データに設定される。
(3) 図54(a)は「カフェ」という手書きオブジェクト504から操作コマンドとしてフォントのリスト364が表示された操作ガイド500の一例を示す。図54(a)では「小塚ゴシックProR」「たぬき油性マジック」「UDデジタル教科書体」というフォントのリスト364が表示されている。表示装置2がこのように表示するには、「小塚ゴシックProR」「たぬき油性マジック」「UDデジタル教科書体」というフォントの操作コマンド定義データのStringに「カフェ」と設定されていればよい。これは操作コマンドなので、ユーザーが選択すると選択に使用したペン2500のペンIDに対応付けて選択したフォントがペンID制御データに設定される。
図54(b)は「カフェ」という手書きオブジェクト504から操作コマンドとして利用シーンのリスト365が表示された操作ガイド500の一例を示す。図54(b)では「利用シーン:カフェ」という利用シーンのリスト365が表示されている。このように表示するには、「利用シーン:カフェ」の操作コマンド定義データのStringに「カフェ」と設定されており、「カフェ」に対応したフォントが定義済み制御データに定義されている。これは操作コマンドなので、ユーザーが選択すると選択に使用したペン2500のペンIDに対応付けて選択したフォントがペンID制御データに設定される。このように、ユーザーは直接、フォント名を選択しなくてよい。
(4) 図55は「見出し」という手書きオブジェクト504から操作コマンドとしてフォントのリスト367が表示された操作ガイド500の一例を示す。図55では「HG明朝B」「HG創英角ポップ体 Bold」「遊明朝Demibold」というフォントのリスト367が表示されている。表示装置2がこのように表示するには、「HG明朝B」「HG創英角ポップ体 Bold」「遊明朝Demibold」というフォントの操作コマンド定義データのStringに「見出し」と設定されていればよい。これは操作コマンドなので、ユーザーが選択すると選択に使用したペン2500のペンIDに対応付けて選択したフォントがペンID制御データに設定される。
(5) 図56は「かわいい」という手書きオブジェクト504から操作コマンドとしてフォントのリスト368が表示された操作ガイド500の一例を示す。図56では「HG創英角ポップ体」「あんずもじ」「851マカポップ」というフォントのリスト368が表示されている。表示装置2がこのように表示するには、「HG創英角ポップ体」「あんずもじ」「851マカポップ」というフォントの操作コマンド定義データのStringに「かわいい」と設定されていればよい。これは操作コマンドなので、ユーザーが選択すると選択に使用したペン2500のペンIDに対応付けて選択したフォントがペンID制御データに設定される。
(6) 図57(a)は「強調」という手書きオブジェクト504から操作コマンドとしてフォントのリスト369が表示された操作ガイド500の一例を示す。図57(a)では「メイリオ/赤」「MS Pゴシック/青」「遊ゴシック/緑」というフォントと色が表示されている。表示装置2がこのように表示するには、「メイリオ/赤」「MS Pゴシック/青」「遊ゴシック/緑」の操作コマンド定義データのStringに「強調」と設定されており、Commandにフォントと色が定義されている。これらは操作コマンドなので、ユーザーが選択すると選択に使用したペン2500のペンIDに対応付けて選択したフォントがペンID制御データに設定される。
図57(b)は「強調」という手書きオブジェクト504から操作コマンドとしてフォントのリスト370が表示された操作ガイド500の一例を示す。図57(b)では「ストライプ」「太字」「下線」というフォントのリスト370が表示されている。表示装置2がこのように表示するには、「ストライプ」「太字」「下線」の操作コマンド定義データのStringに「強調」と設定されていればよい。これらは操作コマンドなので、ユーザーが選択すると選択に使用したペン2500のペンIDに対応付けて選択したフォントがペンID制御データに設定される。
(7) 図58は「cafe」という手書きオブジェクト504から操作コマンドとしてフォントのリスト371が表示された操作ガイド500の一例を示す。図58では「Magneto」「Broadway」「HG創英角ポップ体Bold」というフォントのリスト371が表示されている。表示装置2がこのように表示するには、「Magneto」「Broadway」「HG創英角ポップ体Bold」の操作コマンド定義データのStringに「cafe」と設定されていればよい。これらは操作コマンドなので、ユーザーが選択すると選択に使用したペン2500のペンIDに対応付けて選択したフォントがペンID制御データに設定される。
(8) 図59は「フォント」という手書きオブジェクト504から操作コマンドとしてフォントのリスト372が表示された操作ガイド500の一例を示す。図59では「広告用」「カフェ用」「消防用」という操作コマンドが表示されている。表示装置2がこのように表示するには、「広告用」「カフェ用」「消防用」の操作コマンド定義データのStringに「フォント」と設定されている。更にユーザーが「広告用」を選択すると、「広告 大きめ見出し」「広告 小さめ見出し」「広告 本文」というフォントのリスト373が表示される。このように表示するには、「広告用」という操作コマンドと、「広告 大きめ見出し」「広告 小さめ見出し」「広告 本文」という操作コマンドが関連付けられている。また、「広告 大きめ見出し」「広告 小さめ見出し」「広告 本文」に対応したフォントが定義済み制御データに定義されている。これは操作コマンドなので、ユーザーが選択すると選択に使用したペン2500のペンIDに対応付けて選択したフォントがペンID制御データに設定される。
<主な効果>
以上説明したように、本実施形態の表示装置2は、ユーザーが自分の業務を選択することで、自分の業務のイメージに適したフォントセットに切り替えて文字を表示できる。また、ユーザーが手書きする場合の文字のサイズを調整することで、業務にあったフォントセットからフォントを選択できる。ユーザーはフォントを直接選択する必要がなく、これから手書きする内容に対し適切なフォントが何かを検討する必要もない。このように、本実施形態の表示装置2はフォント選択時の操作性を向上することができる。
また、ユーザーが自分の業種を選択することで、複数のペン1~4に業種に適したフォントセットをまとめて設定できる。例えば、ユーザーごとに決まったフォントで文字を入力したり、一人のユーザーがペンを交換してフォントを変えながら入力したりできる。
本実施例では、手書きデータを英語に変換する表示装置2について説明する。なお、表示装置2の構成は、変換用の辞書や各種の定義データが英語に対応する以外は実施例1と同様である。このため、表示装置2が手書きデータを英語に変換(以下、英語変換という)する際の実施例1との相違を説明する。
図60は、英語変換の場合において、本実施形態の表示装置2がフォントを切り替える動作又は処理を説明する図である。なお、図60の説明では主に図1との相違を説明する。
(1) ユーザーは予め決まっているキーワードを手書きする。図1では「work」が手書きされた。
(2) 表示装置2は「work」が後述する操作コマンドであると判定し、フォントが用意されている業務の選択肢301(「Food Menu(フードメニュー)」「Drawing(図面)」「Report(レポート)」「Create table(表作成)」。これらは操作コマンドである。)、及び、文字列候補539を表示する。
(3) ユーザーは選択肢301から手書きデータが使用される業務を選択する。図60では「Food Menu」が選択された。これにより、ユーザーが保持するペン2500に対応付けられたペンID制御データ(後述する)にFood Menuというフォントセットが設定される。フォントセットには複数のフォントが含まれ、フォントにはフォントスタイルが含まれる(フォントセットには複数のフォントスタイルが含まれる)。
(4) 業務の選択により操作ガイド500はいったん消去され、ユーザーが手書きデータを入力すると、文字列候補539が表示される。図60では「Lunch」と手書きしたため、「Lunch」「Lunch menu」「Luncheon」「Launcher」という文字列候補539が表示されている。
(5) ユーザーが「Lunch」を選択すると、表示装置2は「Lunch」というテキストデータ(後述する文字列オブジェクト302)を、(3)で選択した業務に応じて用意されているフォントセットが有するフォントの1つで表示する。表示装置2は例えば、手書きされた「Lunch」の文字のサイズに応じて、「Lunch」という文字列オブジェクト302(テキストデータ)のフォントを切り替える。あくまで一例であるが、表示装置2は以下のように切り替える。
小:Century
中:Rounded
大:Pop
このように表示装置2は、ユーザーが手書きした文字のサイズに応じてフォントセットからフォントを自動的に切り替えて表示できる。
図61は、英語変換において、表示装置2が手書き看板として使用された場合に、業務に応じて設定されたフォントセットで表示された文字の表示例を示す。なお、図61の説明では主に図2との相違を説明する。ペン2500に対応付けられたペンID制御データにFood Menuというフォントセットが設定された状態で、ユーザーは見出し欄311には大きい文字で、メニュー欄312には中くらいの文字で、説明欄313には小さい文字で手書きする。従って、見出し欄311の文字はPopで表示され、メニュー欄312の文字はRoundedで表示され、説明欄313の文字はCenturyで表示される。
図3~図6については実施例1と同様でよい。
<定義済み制御データについて>
図62は、英語変換における定義済み制御データの一例を示す。なお、図62の説明では主に図7Aとの相違を説明する。各定義済み制御データの内容は図7Aと同様であるが、「FontStyle」にアルファベット用のフォント名が対応付けられている。従って、ユーザーが英語で手書きすると、英語でよく使用されるフォントで文字列を表示できる。図63、図64についても同様に、図7Bの「FontStyle」にアルファベット用のフォント名が対応付けられている。
なお、英語変換の場合も、利用シーン別の定義済み制御データは図7Cと同様でよい。
<辞書データの一例>
図65~図67を用いて英語変換の場合の辞書データについて説明する。図65~図67の説明では、主に図8~図10との相違を説明する。図65は、英語変換における手書き認識辞書部27の辞書データの一例である。図65の手書き認識辞書部27の辞書データは、手書きされた「a(ストロークデータの状態)」は、確率0.90で「a」、確率0.10で「o」に変換されることを示す。
図66は、英語変換における文字列変換辞書部29の辞書データの一例である。図66の文字列変換辞書部29の辞書データでは、文字列「a」は確率0.55で「ab」に、文字列「a」は確率0.45で「AI」に変換されることを示す。その他の「変換前」の文字列についても同様である。
図67は英語変換における予測変換辞書部31の辞書データの一例である。図67の予測変換辞書部31の辞書データでは、文字列「agenda」は確率0.55で「agenda list」に、確率0.30で「agenda template」に変換されることを示す。
なお、辞書データに言語依存はなく、変換前と変換後にどのような文字列が登録されていてもよい。
<操作コマンド定義データの一例>
図68Aは、英語変換において、選択オブジェクトがない場合の操作コマンド定義データの一例である。図68Aの説明では主に図11Aとの相違を説明する。各操作コマンドの内容は図11Aと同様であるが、Nameとstringに英語表現が対応付けられている。従って、ユーザーは英語で操作コマンドを手書きでき、英語の操作コマンドを選択できる。
図68Bは、システム定義データの一例を示す。図68Bの説明では主に図11Bとの相違を説明する。図68Bでは、usernameに"Bob"が対応付けられている。
続く、図12~図18は実施例1と同様とする。より正確には、図13と図14ではアルファベット用のNameが設定されるが、特徴部ではないので図は省略した。
<白黒強調表示されたデータとカラー表示方法で表示されたデータ>
図69は、図18のカラー定義データを使用して、白黒強調表示されたデータとカラー表示方法で表示されたデータを示す。なお、図69の説明では主に図19との相違を説明する。
符号C21は後述する手書き入力起因データである「Bk」「R」「B」「G」「magenta」「cyan」のテキストである。符号C22は「Bk」「R」「B」「G」「magenta」「cyan」のストローク(手書き)である。符号C23はバネ状の一筆書きのストローク(手書き)である。符号C24はドーナツ状のカラーチャート(画像)、符号C25はカラーチャートの内側のRGBCMY(手書き入力起因データではないテキスト)である。符号C23の下には手書き入力起因データの黒の「Transparent」というテキストがある。
なお、手書き入力起因データとは、タッチパネルに手書きされたことで入力されたデータをいう。入力後に手書きのままか、テキストデータに変換されたかは問わない。また、外部機器から取得されたデータも手書き入力起因データであることは失われない。手書き入力起因データは文字認識して変換されたテキストデータの他、「済」「秘」などの決まった文字やマークとして表示されるスタンプ、円や星などの図形、直線等、ユーザーの操作に基づいて変換されたデータも含まれてよい。すなわち、手書き入力起因データは、表示装置内で描画された手書きで入力されたストロークデータ、又は、このストロークデータが手書き認識により変換されたテキストデータである。
図69は、日本語の黒、赤、青、緑、マゼンタ、シアンが、「Bk」「R」「B」「G」「magenta」「cyan」が変わった以外は、図19と同様である。図69(b)についても同様である。
図69(a)と(b)を比較すると分かるように、図69(b)の符号C30のカラーチャート内側のテキスト「R」の赤は手書き入力起因データではない。このため、テキスト「R」が、図69(a)ではグレースケールで表示されている。これに対し、符号C26のテキスト「R」は手書き入力起因データなので図69(a)では白黒強調表示される。
また、マゼンタとシアンは透過色であるため、図69(b)では「Transparent」が透過して見えている。図69(a)でもマゼンタとシアンでは白が透明のパターンを使用しているため透過して表示される。このように、白黒強調対応装置では目立たせる目的のカラーを白黒強調表示することができ、カラーデバイスではカラーに変換して表示できるようになる。
<ペン色選択ボタン定義データ>
図70は、英語変換におけるペン色選択ボタン定義データの一例である。なお、図70の説明では主に図20との相違を説明する。図70のペン色選択ボタン定義データでは、「FontName」にアルファベット用のフォント名が対応付けられている。従って、ユーザーが選択したペン色選択ボタンに対応付けられているフォントで文字列等を表示できる。
図71は、英語変換において、ディスプレーに表示されるペン色選択ボタン81~86の一例である。ペン色選択ボタン81~86については実施例1と同じになる。ペン色選択ボタン81~86をユーザーがペン2500で押下するとペンID制御データにColorIdとFontNameが追加され、以降そのペン2500で入力した手書きオブジェクト又は文字列オブジェクトはColorIdとFontNameを使用して表示される。このため、図70に示したフォントで文字列等が表示される。
続く、図22、図23については英語変換の場合も実施例1と同様でよい。
<選択可能候補の表示例>
図72は英語変換の場合の操作ガイド500と操作ガイド500が表示する選択可能候補530の一例である。図72の説明では主に図24との相違を説明する。図72ではユーザーが手書きオブジェクト504として「a」を手書きした。「a」に基づいて、操作コマンドの候補510、手書き認識文字列候補506、変換文字列候補507、文字列/予測変換の候補508、が表示されている。従って、図24の日本語が英語に変わる以外は図24と同様でよい。
操作コマンドの候補510は例えば図68A(a)の操作コマンド定義データにおいて「agenda」をstringに有する操作コマンド701,702の候補である。
このように、ユーザーは、英語変換の場合も同様に操作ガイド500を表示させることができる。
続く、図25~図31は、英語変換の場合、英語などが手書きされるため実施例1と異なるが、特徴部ではないので省略した。また、手書き変換の流れを示すシーケンス図は図32~図39と同様でよい。
<業務別フォントセットの設定>
図73は、英語変換において、ユーザーが「Food」と手書きした場合に表示される操作ガイド500の一例である。図73の説明では主に図40との相違を説明する。「Food」は操作コマンド定義データ723のStringに該当するので、手書き入力表示制御部23が「Font Set For Food Menu」という操作コマンド515を操作ガイド500に表示する(ステップS62)。また、「Food」から変換された「Food」「Food processer」「Food shopping」等の文字列候補539が表示される。ユーザーが「Font Set For Food Menu」という操作コマンド515を選択すると、手書き入力部21が受け付けて、手書き入力表示制御部23が「FontSet」=「FoodMenu」をペンID制御データ保存部36に保存する(ステップS102)。なお、操作コマンドの選択により、操作ガイド500は消去される(S76~S78)。
表示装置2が「FoodMenu」というフォントセットをペンID制御データ保存部36に保存する処理のフローチャート図は図41と同様でよい。
図74は英語変換において、ペンID制御データの遷移図の一例である。図74の説明では主に図42との相違を説明する。図74(a)ではFontNameに「Serif」が設定されている。ユーザーが「Font Set For Food Menu」という操作コマンド515を選択した後の図74(b)では、色はそのままだが、「FoodMenu」というフォントセットが設定されている。
<業務別フォントセットを用いた手書き入力>
図75は、英語変換において、「FoodMenu」というフォントセットがペンID制御データに設定された状態で手書き入力された場合の操作ガイド500を示す。図75の説明では主に図43との相違を説明する。図75では「Today」と手書きされたため、「Today」から変換された「Today」「Today's」「Today's Menu」「Today's Weather」等の文字列候補539が表示されている。なお、「Today」をStringに持つ操作コマンド定義データがないため、操作コマンドは表示されていない。
ユーザーが「Today's Menu」という文字列候補539を選択すると、手書き入力部21が受け付けて、手書き入力表示制御部23が「Today's Menu」という文字列オブジェクト302を表示する(ステップS82)。手書き入力表示制御部23は「Today's Menu」という文字列オブジェクト302を表示する場合に、ペンID制御データを参照して、色、フォント及び文字サイズを決定し、文字列オブジェクト302を表示する。
表示装置2が「Today's Menu」を表示する処理の流れについては図44と同様でよい。
<業種別フォントセットの設定>
図76は、英語変換において、ユーザーが「construction」と手書きした場合に表示される操作ガイド500の一例である。図76の説明では主に図45との相違を説明する。「construction」は操作コマンド定義データ727のStringに該当するので、手書き入力表示制御部23が「workset for construction」という操作コマンド516を操作ガイド500に表示する(ステップS62)。また、「construction」から変換された「construction」「construction company」「construction method」等の文字列候補539が表示される。ユーザーが「workset for construction」という操作コマンド516を選択すると、手書き入力部21が受け付けて、手書き入力表示制御部23が「Command="ChangeWorkset Construction"」を実行する。手書き入力表示制御部23はFontSet=「Construction1」~「Construction4」を、それぞれペン1~4に対応付けてペンID制御データに設定する(ステップS102)。
表示装置2が「Construction1」~「Construction4」というフォントセットをペンID制御データ保存部36に保存する処理のフローチャート図は図41と同様でよい。
図77は、英語変換において、ペンID制御データの遷移図の一例である。図77の説明では主に図47との相違を説明する。図77(a)は図32~図39のシーケンス図で説明された開始時のペンID制御データであり、図77(b)は、ユーザーが「workset for construction」という操作コマンド516を選択した場合のペンID制御データである。図77(a)ではペン色選択ボタン81で設定された色とフォントが設定されている。図77(b)では色はそのままに、「Construction1」~「Construction4」というフォントセットがペン1~4に設定されている。
<業種別フォントセットを用いた手書き入力>
図78は、英語変換において、「Construction1」というフォントセットがペンID制御データに設定された状態で手書き入力された場合の操作ガイド500を示す。図78の説明では主に図48との相違を説明する。図78では「task」と手書きされたため、「task」から変換された「task」「task content」「task report」「task stopped」「task safety」等の文字列候補539が表示されている。なお、「task」をStringに持つ操作コマンド定義データがないため、操作コマンドは表示されていない。
ユーザーが「task report」という文字列候補539を選択すると、手書き入力部21が受け付けて、手書き入力表示制御部23が「task report」という文字列オブジェクト302を表示する(ステップS82)。手書き入力表示制御部23は「task report」という文字列オブジェクト302を表示する場合に、ペンID制御データを参照して、色、フォント及び文字サイズを決定し、文字列オブジェクト302を表示する。詳細を次述する。
表示装置2が「task report」を表示する処理の流れについては図44と同様でよい
<業種別フォントセットの利用例>
図79は、英語変換において、業種別フォントセットの利用例を説明する図である。図79の説明では主に図50との相違を説明する。
図79(a)では、業者Aがペン1を使い、業者Bがペン2を使って手書きしている。ペン1のペンID制御データにはSerif(文字サイズ一定)というフォントセットが設定されており、ペン2のペンID制御データにはSans-serif(文字サイズ一定)というフォントセットが設定されている。従って、業者Aが例えば「instruction」という手書きオブジェクト504を手書きすると表示装置2はSerifで表示し、業者Bが例えば「change log」という手書きオブジェクト504を手書きするとSans-serifで表示する。このように、ペンを使用するユーザーによってフォント及び文字サイズを切り替えることができる。
図79(b)では、一人のユーザーがペン1とペン2を使い分ける。ペン1のペンID制御データにはSans-serifで文字サイズ=25mmというフォントが設定されており、ペン2のペンID制御データにはSans-serifで文字サイズ=75mmというフォントが設定されている。従って、ユーザーがペン1で手書きするとSans-serifで文字サイズ=25mmで文字列オブジェクトが表示され、ペン2で手書きするとSans-serifで文字サイズ=75mmで文字列オブジェクトが表示される。このように、ユーザーがペンを使い分けてフォント及び文字サイズを切り替えることができる。
ペンに応じたフォント切り替えの処理の流れは図51と同様でよい。
<その他のフォントの選択例>
以下では、英語変換において、いくつかのフォント(フォントセットでなく)を個別にユーザーが選択する選択例を説明する。
(1) 図80は英語変換において、「font」という手書きオブジェクト504から操作コマンドとしてフォントのリスト361が表示された操作ガイド500の一例を示す。図80の説明では主に図52との相違を説明する。図80では「Meiryo」「Sans-serif-B」「Sans-serif-C」というフォントのリスト361が表示されている。表示装置2がこのように表示するには、「Meiryo」「Sans-serif-B」「Sans-serif-C」というフォントの操作コマンド定義データのStringに「font」と設定されていればよい。
(2) 図81(a)は「Meiryo」という手書きオブジェクト504から操作コマンドとしてフォントのリストが表示された操作ガイドの一例を示す。図81の説明では主に図53との相違を説明する。図81(a)では「Meiryo」1つだけのフォントのリスト362が表示されている。表示装置2がこのように表示するには、「Meiryo」というフォントの操作コマンド定義データのStringに「Meiryo」と設定されていればよい。
図81(b)は英語変換において、「Serif」という手書きオブジェクト504から操作コマンドとしてフォントのリスト363が表示された操作ガイド500の一例を示す。図81(b)では「Serif-A」「Serif-B「Serif-C」というフォントのリスト363が表示されている。表示装置2がこのように表示するには、「Serif-A」「Serif-B「Serif-C」というフォントの操作コマンド定義データのStringに「Serif」と設定されていればよい。
(3) 図82(a)は英語変換において、「cafe」という手書きオブジェクト504から操作コマンドとしてフォントのリスト364が表示された操作ガイド500の一例を示す。図82の説明では主に図54との相違を説明する。図82(a)では「Font-A」「Font-B」「Font-C」というフォントのリスト364が表示されている。表示装置2がこのように表示するには、「Font-A」「Font-B」「Font-C」というフォントの操作コマンド定義データのStringに「cafe」と設定されていればよい。
図82(b)は「cafe」という手書きオブジェクト504から操作コマンドとして利用シーンのリスト365が表示された操作ガイド500の一例を示す。図82(b)では「Use case:cafe」という利用シーンのリスト365が表示されている。表示装置2がこのように表示するには、「Use case:cafe」の操作コマンド定義データのStringに「cafe」と設定されており、「cafe」に対応したフォントが定義済み制御データに定義されている。このように、直接、フォント名を選択しなくてよい。
(4) 図83は英語変換において、「Heading」という手書きオブジェクト504から操作コマンドとしてフォントのリスト367が表示された操作ガイド500の一例を示す。図83の説明では主に図55との相違を説明する。図83では「Font-D」「Font-E」「Font-F」というフォントのリスト367が表示されている。表示装置2がこのように表示するには、「Font-D」「Font-E」「Font-F」というフォントの操作コマンド定義データのStringに「Heading」と設定されていればよい。
(5) 図84は英語変換において、「cute」という手書きオブジェクト504から操作コマンドとしてフォントのリスト368が表示された操作ガイド500の一例を示す。図84の説明では主に図56との相違を説明する。図84では「Font-G」「Font-H」「Font-I」というフォントのリスト368が表示されている。表示装置2がこのように表示するには、「Font-G」「Font-H」「Font-I」というフォントの操作コマンド定義データのStringに「cute」と設定されていればよい。
(6) 図85(a)は英語変換において、「emphasis」という手書きオブジェクト504から操作コマンドとしてフォントのリスト369が表示された操作ガイド500の一例を示す。図85の説明では主に図57との相違を説明する。図85(a)では「Meiryo / Red」「Sans-serif-A/ Blue」「Sans-serif-B/ Green」というフォントと色が表示されている。表示装置2がこのように表示するには、「Meiryo / Red」「Sans-serif-A/ Blue」「Sans-serif-B/ Green」の操作コマンド定義データのStringに「emphasis」と設定されており、Commandにフォントと色が定義されている。
図85(b)は英語変換において、「emphasis」という手書きオブジェクト504から操作コマンドとしてフォントのリスト370が表示された操作ガイド500の一例を示す。図85(b)では「stripe」「bold」「underline」というフォントのリスト370が表示されている。表示装置2がこのように表示するには、「stripe」「bold」「underline」の操作コマンド定義データのStringに「emphasize」と設定されていればよい。
(7) 図86は英語変換において、「cafe」という手書きオブジェクト504から操作コマンドとしてフォントのリスト371が表示された操作ガイド500の一例を示す。図86の説明では主に図58との相違を説明する。図86では「Magneto」「Broadway」「Pop Bold」というフォントのリスト371が表示されている。表示装置2がこのように表示するには、「Magneto」「Broadway」「Pop Bold」の操作コマンド定義データのStringに「cafe」と設定されていればよい。
(8) 図87は英語変換において、「font」という手書きオブジェクト504から操作コマンドとしてフォントのリスト372が表示された操作ガイド500の一例を示す。図87の説明では主に図59との相違を説明する。図87では「For advertising」「For cafe」「For fire fighting」という操作コマンドが表示されている。表示装置2がこのように表示するには、「For advertising」「For cafe」「For fire fighting」の操作コマンド定義データのStringに「font」と設定されている。
更にユーザーが「For advertising」を選択すると、「Advertisement Large heading」「Advertisement Small heading」「Advertisement body」というフォントのリスト373が表示される。表示装置2がこのように表示するには、「For advertising」という操作コマンドと、「Advertisement Large heading」「Advertisement Small heading」「Advertisement body」という操作コマンドが関連付けられている。また、「Advertisement Large heading」「Advertisement Small heading」「Advertisement Body」に対応したフォントが定義済み制御データに定義されている。
<主な効果>
以上のように、ユーザーが英語などを手書きした場合も、実施例1と同様にフォントを変更できる。なお、本実施例では英語を例に説明したが、英語以外の言語(中国語、ヒンディー語、スペイン語、アラビア語、ポルトガル語、ロシア語等)でも同様に適用できる。
実施例1では表示装置2が大型のタッチパネルを有するものとして説明されているが、表示装置はタッチパネルを有するものに限られない。本実施例ではプロジェクター型の表示装置について説明する。
<<表示装置の構成の別の例1>>
図88は、表示装置の他の構成例を示す図である。図88では、通常のホワイトボード434の上辺にプロジェクター432が設置されている。このプロジェクター432が表示装置に相当する。通常のホワイトボード434とは、タッチパネルと一体のフラットパネルディスプレーではなく、ユーザーがマーカーで直接、手書きするホワイトボードである。なお、ホワイトボードは黒板でもよく、映像を投影するだけの広さの平面であればよい。
プロジェクター432は超短焦点の光学系を有しており、10cm程度から歪みの少ない映像をホワイトボード434に投影できる。この映像は、無線又は有線で接続されたPCから送信されてもよいし、プロジェクター432が記憶していてもよい。
ユーザーは専用の電子ペン2501を使ってホワイトボード434に手書きする。電子ペン2501は、ユーザーが手書きのためにホワイトボード434に押しつけるとスイッチがONになり発光する発光部を例えば先端部に有している。光の波長は近赤外や赤外なのでユーザーの目には見えない。プロジェクター432はカメラを有しており、発光部を撮像して画像を解析し電子ペン2501の方向を特定する。また、電子ペン2501は発光と共に音波を発信しており、プロジェクター432は音波の到達時間により距離を算出する。プロジェクター432は方向と距離により電子ペン2501の位置を特定できる。電子ペン2501の位置にはストロークが描画(投影)される。
プロジェクター432はメニュー430を投影するので、ユーザーが電子ペン2501でボタンを押下すると、プロジェクター432が電子ペン2501の位置とスイッチのON信号により押下されたボタンを特定する。例えば、保存ボタン431が押下されると、ユーザーが手書きしたストローク(座標の集合)がプロジェクター432で保存される。プロジェクター432は、予め定められたサーバー433又はUSBメモリー2600等に手書き情報を保存する。手書き情報はページごとに保存されている。画像データではなく座標のまま保存されるので、ユーザーが再編集することができる。ただし、本実施形態では操作コマンドを手書きで呼び出せるのでメニュー430は表示されなくてもよい。
<<表示装置の別の例2>>
図89は、表示装置2の他の構成例を示す図である。図89の例では、表示装置2が端末装置600、画像投影装置700A、及び、ペン動作検出装置810を有する。
端末装置600は、画像投影装置700A及びペン動作検出装置810と有線で接続されている。画像投影装置700Aは、端末装置600により入力された画像データをスクリーン800に投影させる。
ペン動作検出装置810は、電子ペン820と通信を行っており、スクリーン800の近傍における電子ペン820の動作を検出する。具体的には、電子ペン820は、スクリーン800上において、電子ペン820が示している点を示す座標情報を検出し、端末装置600へ送信する。
端末装置600は、ペン動作検出装置810から受信した座標情報に基づき、電子ペン820によって入力されるストローク画像の画像データを生成し、画像投影装置700Aによってストローク画像をスクリーン800に描画させる。
また、端末装置600は、画像投影装置700Aに投影させている背景画像と、電子ペン820によって入力されたストローク画像とを合成した重畳画像を示す重畳画像データを生成する。
<<表示装置の別の例3>>
図90は、表示装置の構成例を示す図である。図90の例では、表示装置2が端末装置600とディスプレー800Aと、ペン動作検出装置810とを有する。
ペン動作検出装置810は、ディスプレー800Aの近傍に配置され、ディスプレー800A上に、電子ペン820Aが示している点を示す座標情報を検出し、端末装置600へ送信する。なお、図90の例では、電子ペン820Aは、端末装置600によってUSBコネクタを介して充電されても良い。
端末装置600は、ペン動作検出装置810から受信した座標情報に基づき、電子ペン820Aによって入力されるストローク画像の画像データを生成し、ディスプレー800Aに表示させる。
<<表示装置の別の例4>>
図91は、表示装置の構成例を示す図である。図91の例では、表示装置2が端末装置600と、画像投影装置700Aとを有する。
端末装置600は、電子ペン820Bと無線通信(Bluetooth(登録商標)等)を行って、スクリーン800上において電子ペン820Bが示す点の座標情報を受信する。そして、端末装置600は、受信した座標情報に基づき、電子ペン820Bにより入力されるストローク画像の画像データを生成し、画像投影装置700Aにストローク画像を投影させる。
また、端末装置600は、画像投影装置700Aに投影させている背景画像と、電子ペン820によって入力されたストローク画像とを合成した重畳画像を示す重畳画像データを生成する。
以上のように、上記した各実施形態は、様々なシステム構成において適用することができる。
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、本実施形態の表示方法は、タッチパネルを有する情報処理装置であれば好適に適用できる。また、表示装置と同様の機能を有する装置を、電子黒板、電子ホワイトボード、電子情報ボード、インタラクティブボードなどともいう。タッチパネルを搭載した情報処理装置としては、例えば、PJ(Projector:プロジェクター)、デジタルサイネージ等の出力装置、HUD(Head Up Display)装置、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、ノートPC(Personal Computer)、携帯電話、スマートフォン、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブルPC又はデスクトップPC等であってもよい。
また、本実施形態では、表示装置2が行う処理の一部をサーバーが行ってもよい。例えば、表示装置はストローク情報をサーバーに送信し、サーバーから操作ガイド500に表示する情報を取得して表示する。
また、本実施形態ではペン先の座標をタッチパネルで検知する方法でペンの座標を検出したが、ペン先の座標を超音波により検出してもよい。また、ペンは発光と共に超音波を発信しており、表示装置2は超音波の到達時間により距離を算出する。方向と距離によりペンの位置を特定できる。ペンの軌跡をストロークとしてプロジェクターが描画(投影)する。
また、本実施形態では、選択オブジェクトがある場合に編集系及び修飾系の操作コマンドの候補を表示したが、他の操作コマンドの候補と共に同時に表示してもよい。
また、ユーザーの手書きサインデータは表示装置2が持っていなくてもよい。クラウド上や社内の情報処理装置が保持していてもよい。
また、図6などの構成例は、表示装置2による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。表示装置2の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
また、上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
また、本実施形態において、比較の対象として閾値が例示されていたとしても閾値は例示された値には限定されない。このため、本実施形態では、全ての閾値に関し、閾値未満と閾値以下という記載は同等の意味を持ち、閾値超過と閾値以上という記載は同等の意味を持つ。例えば、閾値を11とした場合の閾値未満という記載は閾値が10である場合の閾値以下と同等の意味を持つ。また、閾値を10とした場合の閾値超過という記載は閾値が11である場合の閾値以上と同等の意味を持つ。
手書き入力部21は受付手段の一例である。手書き認識制御部26は変換手段の一例である。表示部22は表示手段の一例である。手書き入力表示制御部23は表示制御手段の一例である。
2 表示装置
特開2010‐134876号公報

Claims (10)

  1. 手書きデータの入力を受け付ける受付手段と、
    前記受付手段が受け付けた前記手書きデータを1つ以上の文字列に変換する変換手段と、
    前記変換手段が変換した前記文字列が特定の文字列である場合、前記特定の文字列に応じた1つ以上のフォントセットを表示させる表示手段と、を有し、
    1つのフォントセットは複数のフォントスタイルを有しており、
    前記表示手段が表示させたフォントセットのうち、ユーザーの操作により前記受付手段が選択を受け付けたフォントセットが有するフォントスタイルを用いて文字を表示する表示制御手段、
    を有することを特徴とする表示装置。
  2. 前記表示制御手段は、前記受付手段が受け付けた前記手書きデータの文字サイズを判定し、1つのフォントセットが有する複数のフォントスタイルの中から前記文字サイズに応じて文字の表示に使用する前記フォントスタイルを決定することを特徴とする請求項1に記載の表示装置。
  3. 前記表示制御手段は、1つのフォントセットが有する複数のフォントスタイルの中から前記文字サイズに応じて文字の表示に使用する前記フォントスタイルを決定し、前記文字を決定したフォントスタイルかつ前記文字サイズで表示することを特徴とする請求項2に記載の表示装置。
  4. タッチパネルに手書き入力する複数の入力手段を有し、
    前記受付手段は、前記表示手段が表示させたフォントセットからユーザーの操作によりフォントセットの設定を一括で入力手段ごとに受け付け、
    前記表示制御手段は、手書きに使用された前記入力手段に対応付けられている前記複数のフォントスタイルの1つで文字を表示することを特徴とする請求項1~3のいずれか1項に記載の表示装置。
  5. 前記表示制御手段は、手書きに使用された前記入力手段と手書きデータの文字サイズを判定し、前記入力手段に対応付けられている前記複数のフォントスタイルから、前記文字サイズに応じて文字の表示に使用する前記フォントスタイルを決定することを特徴とする請求項4に記載の表示装置。
  6. 1つの前記入力手段に対応付けられている前記複数のフォントスタイルは同じであり、1つの前記入力手段には異なる文字サイズが対応付けられており、
    前記入力手段ごとにフォントスタイルが異なっていることを特徴とする請求項4又は5に記載の表示装置。
  7. 1つの前記入力手段に対応付けられている前記複数のフォントスタイルと文字サイズは同じであり、
    前記入力手段ごとに文字サイズが異なっていることを特徴とする請求項4又は5に記載の表示装置。
  8. 前記表示制御手段は、前記フォントセットが対応付けられているアイコンを表示し、前記受付手段は、選択を受け付けた前記アイコンに対応付けられている前記フォントセットの選択を受け付けることを特徴とする請求項1~7のいずれか1項に記載の表示装置。
  9. 1つのフォントセットが複数のフォントスタイルを有する表示装置の表示方法であって、
    受付手段が、手書きデータの入力を受け付けるステップと、
    変換手段が、前記受付手段が受け付けた前記手書きデータを1つ以上の文字列に変換するステップと、
    前記変換手段が変換した前記文字列が特定の文字列である場合、表示手段が前記特定の文字列に応じた1つ以上のフォントセットを表示させるステップと、
    前記表示手段が表示させたフォントセットのうち、ユーザーの操作により前記受付手段が選択を受け付けたフォントセットが有するフォントスタイルを用いて、表示制御手段が文字を表示するステップと、
    を有する表示方法。
  10. 1つのフォントセットが複数のフォントスタイルを有する表示装置に、
    受付手段が、手書きデータの入力を受け付けるステップと、
    変換手段が、前記受付手段が受け付けた前記手書きデータを1つ以上の文字列に変換するステップと、
    前記変換手段が変換した前記文字列が特定の文字列である場合、表示手段が前記特定の文字列に応じた1つ以上のフォントセットを表示させるステップと、
    前記表示手段が表示させたフォントセットのうち、ユーザーの操作により前記受付手段が選択を受け付けたフォントセットが有するフォントスタイルを用いて、表示制御手段が文字を表示するステップと、
    を実行させるプログラム。
JP2020188229A 2019-11-20 2020-11-11 表示装置、表示方法、プログラム Active JP7259828B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202011296724.7A CN112825135A (zh) 2019-11-20 2020-11-18 显示装置、显示方法及介质
EP20208362.2A EP3825868A1 (en) 2019-11-20 2020-11-18 Display apparatus, display method, and program
US16/951,241 US20210150122A1 (en) 2019-11-20 2020-11-18 Display apparatus, display method, and medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019209913 2019-11-20
JP2019209913 2019-11-20

Publications (2)

Publication Number Publication Date
JP2021082274A JP2021082274A (ja) 2021-05-27
JP7259828B2 true JP7259828B2 (ja) 2023-04-18

Family

ID=75965751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020188229A Active JP7259828B2 (ja) 2019-11-20 2020-11-11 表示装置、表示方法、プログラム

Country Status (1)

Country Link
JP (1) JP7259828B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024060706A (ja) * 2022-10-20 2024-05-07 ブラザー工業株式会社 表示プログラム及び表示方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001044885A2 (en) 1999-12-17 2001-06-21 Koninklijke Philips Electronics N.V. Apparatus and system for reproduction of handwritten input
JP2003308482A (ja) 2002-02-08 2003-10-31 Microsoft Corp ジェスチャ判定方法及び記録媒体
JP2004206658A (ja) 2002-10-29 2004-07-22 Fuji Xerox Co Ltd 表示制御方法、情報表示処理システム、クライアント端末、管理サーバ、プログラム
JP2004252689A (ja) 2003-02-20 2004-09-09 Wao Corporation 情報処理装置およびそのプログラム
JP2014085787A (ja) 2012-10-23 2014-05-12 Toshiba Corp 電子機器および方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0675692A (ja) * 1992-08-28 1994-03-18 Hitachi Ltd 情報処理装置
JPH06259181A (ja) * 1993-03-03 1994-09-16 Fujitsu Ltd ペン入力装置
JPH0728795A (ja) * 1993-07-12 1995-01-31 N T T Data Tsushin Kk 手書き文書清書システム
JPH07253844A (ja) * 1994-03-16 1995-10-03 Hitachi Ltd ペン入力装置
JPH08263482A (ja) * 1995-03-24 1996-10-11 Casio Comput Co Ltd フォント管理装置
JPH08292834A (ja) * 1995-04-21 1996-11-05 Canon Inc 描画装置
JPH08329051A (ja) * 1995-05-30 1996-12-13 Matsushita Electric Ind Co Ltd 文字認識装置
JPH09274644A (ja) * 1996-04-04 1997-10-21 Matsushita Electric Ind Co Ltd 携帯型情報端末装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001044885A2 (en) 1999-12-17 2001-06-21 Koninklijke Philips Electronics N.V. Apparatus and system for reproduction of handwritten input
JP2003517669A (ja) 1999-12-17 2003-05-27 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 手書き入力を再現する装置及びシステム
JP2003308482A (ja) 2002-02-08 2003-10-31 Microsoft Corp ジェスチャ判定方法及び記録媒体
JP2004206658A (ja) 2002-10-29 2004-07-22 Fuji Xerox Co Ltd 表示制御方法、情報表示処理システム、クライアント端末、管理サーバ、プログラム
JP2004252689A (ja) 2003-02-20 2004-09-09 Wao Corporation 情報処理装置およびそのプログラム
JP2014085787A (ja) 2012-10-23 2014-05-12 Toshiba Corp 電子機器および方法

Also Published As

Publication number Publication date
JP2021082274A (ja) 2021-05-27

Similar Documents

Publication Publication Date Title
WO2021070972A1 (en) Display apparatus, color supporting apparatus, display method, and program
US11733830B2 (en) Display apparatus for displaying handwritten data with displayed operation menu
JP2023175845A (ja) 手書き入力装置、手書き入力方法、プログラム、入力システム
US11132122B2 (en) Handwriting input apparatus, handwriting input method, and non-transitory recording medium
JP7452155B2 (ja) 手書き入力装置、手書き入力方法、プログラム
JP7259828B2 (ja) 表示装置、表示方法、プログラム
JP7456287B2 (ja) 表示装置、プログラム、表示方法
JP2023184557A (ja) 表示装置、表示方法、プログラム
EP3825868A1 (en) Display apparatus, display method, and program
JP7354878B2 (ja) 手書き入力装置、手書き入力方法、プログラム、入力システム
WO2022045177A1 (en) Display apparatus, input method, and program
JP2021064366A (ja) 表示装置、カラー対応装置、表示方法、プログラム
EP3825831A1 (en) Display apparatus, display method, and program
JP7268479B2 (ja) 表示装置、プログラム、表示方法
JP2021096844A (ja) 表示装置、表示方法、プログラム
US20210294965A1 (en) Display device, display method, and computer-readable recording medium
JP2021152884A (ja) 表示装置、表示方法、プログラム、情報処理装置
JP2022057931A (ja) 表示装置、表示方法、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220519

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230320

R151 Written notification of patent or utility model registration

Ref document number: 7259828

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151