JP2014203249A - 電子機器およびデータ処理方法 - Google Patents

電子機器およびデータ処理方法 Download PDF

Info

Publication number
JP2014203249A
JP2014203249A JP2013078619A JP2013078619A JP2014203249A JP 2014203249 A JP2014203249 A JP 2014203249A JP 2013078619 A JP2013078619 A JP 2013078619A JP 2013078619 A JP2013078619 A JP 2013078619A JP 2014203249 A JP2014203249 A JP 2014203249A
Authority
JP
Japan
Prior art keywords
information
data
layer
handwritten
character string
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.)
Granted
Application number
JP2013078619A
Other languages
English (en)
Other versions
JP6109625B2 (ja
Inventor
弘匡 平林
Hiromasa Hirabayashi
弘匡 平林
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013078619A priority Critical patent/JP6109625B2/ja
Priority to US14/068,526 priority patent/US20140304586A1/en
Publication of JP2014203249A publication Critical patent/JP2014203249A/ja
Application granted granted Critical
Publication of JP6109625B2 publication Critical patent/JP6109625B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/171Editing, e.g. inserting or deleting by use of digital ink
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/40062Discrimination between different image types, e.g. two-tone, continuous tone
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/32Digital ink

Abstract

【課題】手書き文書を容易に扱うことができる電子機器を実現する。
【解決手段】実施形態によれば、電子機器は、複数種のデータに対応する複数のレイヤ情報を含むファイルを取得し、前記複数のレイヤ情報に基づいて、ページを画面上に表示する。前記ファイルは、少なくとも、第1のレイヤ情報と第2のレイヤ情報とを含む。前記第1のレイヤ情報は、複数のストロークデータを含む手書きデータと、前記複数のストロークデータに対応する第1の文字列と、前記第1のレイヤ情報に対応する前記ページ上の第1の表示領域を指定する第1の情報とを含む。前記第2のレイヤ情報は、前記手書きデータとはコンテンツの種類が異なるコンテンツデータを表示するための情報と、前記コンテンツデータに対応する第2の文字列と、前記第2のレイヤ情報に対応する前記ページ上の第2の表示領域を指定する第2の情報とを含む。
【選択図】図8

Description

本発明の実施形態は、手書きデータを処理する技術に関する。
近年、タブレット、PDA、スマートフォンといった種々の電子機器が開発されている。この種の電子機器の多くは、ユーザによる入力操作を容易にするために、タッチスクリーンディスプレイを備えている。
ユーザは、タッチスクリーンディスプレイ上に表示されるメニューまたはオブジェクトを指などでタッチすることにより、これらメニューまたはオブジェクトに関連づけられた機能の実行を電子機器に指示することができる。
しかし、タッチスクリーンディスプレイを備える既存の電子機器の多くは、画像、音楽、他の各種メディアデータに対する操作性を追求したコンシューマ向け製品であり、会議、商談、商品開発などのビジネスシーンにおける利用については必ずしも適していない場合がある。このため、ビジネスシーンにおいては、いまなお、紙の手帳が広く利用されている。
最近では、複数の文書を一つのコレクションとして扱うための技術も開発されている。
特開2005−122731号公報
しかし、手書きデータを扱うための従来の文書データ形式は互換性の点で十分では無い場合がある。
本発明の一形態の目的は、手書きデータを容易に扱うことができる電子機器およびデータ処理方法を提供することである。
実施形態によれば、電子機器は、取得手段と、表示処理手段とを具備する。前記取得手段は、複数種のデータに対応する複数のレイヤ情報を含むファイルを取得する。前記表示処理手段は、前記複数のレイヤ情報に基づいて、ページを画面上に表示する。前記ファイルは、少なくとも、第1のレイヤ情報と第2のレイヤ情報とを含む。前記第1のレイヤ情報は、複数のストロークデータを含む手書きデータと、前記複数のストロークデータに対応する第1の文字列と、前記第1のレイヤ情報に対応する前記ページ上の第1の表示領域を指定する第1の情報とを含む。前記第2のレイヤ情報は、前記手書きデータとはコンテンツの種類が異なるコンテンツデータを表示するための情報と、前記コンテンツデータに対応する第2の文字列と、前記第2のレイヤ情報に対応する前記ページ上の第2の表示領域を指定する第2の情報とを含む。
実施形態に係る電子機器の外観を示す斜視図。 同実施形態の電子機器と外部装置との連携動作を示す図。 同実施形態の電子機器のタッチスクリーンディスプレイ上に手書きされる手書き文書の例を示す図。 同実施形態の電子機器によって記憶媒体に保存される、図3の手書き文書に対応する時系列情報を説明するための図。 同実施形態の電子機器のシステム構成を示すブロック図。 同実施形態の電子機器によって実行されるデジタルノートブックアプリケーションプログラムの機能構成を示すブロック図。 同実施形態の電子機器によって画面上に表示される手書きページの一例を示す図。 図7の手書きページのデータ構造を説明するための図。 図8のデータ構造に対応するクラス図の例を示す図。 図7の手書きページに対応するXMLファイルの例を示す図。 同実施形態の電子機器によって実行される表示処理の手順を示すフローチャート。
以下、実施の形態について図面を参照して説明する。
図1は、一実施形態に係る電子機器の外観を示す斜視図である。この電子機器は、例えば、ペンまたは指によって手書き入力可能なペン・ベースの携帯型電子機器である。この電子機器は、タブレットコンピュータ、ノートブック型パーソナルコンピュータ、スマートフォン、PDA等として実現され得る。以下では、この電子機器がタブレットコンピュータ10として実現されている場合を想定する。タブレットコンピュータ10は、タブレットまたはストレートコンピュータとも称される携帯型電子機器であり、図1に示すように、本体11とタッチスクリーンディスプレイ17とを備える。タッチスクリーンディスプレイ17は、本体11の上面に重ね合わせるように取り付けられている。
本体11は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ17には、フラットパネルディスプレイと、フラットパネルディスプレイの画面上のペンまたは指の接触位置を検出するように構成されたセンサとが組み込まれている。フラットパネルディスプレイは、例えば、液晶表示装置(LCD)であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下では、デジタイザとタッチパネルの2種類のセンサの双方がタッチスクリーンディスプレイ17に組み込まれている場合を想定する。
デジタイザおよびタッチパネルタッチの各々は、フラットパネルディスプレイの画面を覆うように設けられる。このタッチスクリーンディスプレイ17は、指を使用した画面に対するタッチ操作のみならず、ペン100を使用した画面に対するタッチ操作も検出することができる。ペン100は例えば電磁誘導ペンであってもよい。ユーザは、外部オブジェクト(ペン100又は指)を使用してタッチスクリーンディスプレイ17上で手書き入力操作を行うことができる。手書き入力操作中においては、画面上の外部オブジェクト(ペン100又は指)の動きの軌跡、つまり手書き入力操作によって手書きされるストローク(手書きストロークの軌跡)がリアルタイムに描画され、これによって手書きにより入力された複数の手書きストローク(各手書きストロークの軌跡)が画面上に表示される。外部オブジェクトが画面に接触されている間の外部オブジェクトの動きの軌跡が1つの手書きストロークに相当する。手書きされた文字、マーク、図形、表などに対応する多数の手書きストロークの集合、つまり多数の軌跡(筆跡)の集合が手書きデータを構成する。以下では、手書きストロークは単にストロークとも称する。
本実施形態では、この手書き文書は、イメージデータではなく、各ストロークの軌跡の座標列とストローク間の順序関係を示す時系列情報として記憶媒体に保存される。この時系列情報の詳細は図4を参照して後述するが、この時系列情報は、複数のストロークが手書きされた順を示し、且つ複数のストロークにそれぞれ対応する複数のストロークデータを含む。換言すれば、この時系列情報は、複数のストロークにそれぞれ対応する時系列のストロークデータの集合を意味する。各ストロークデータは、ある一つのストロークに対応し、このストロークの軌跡上の点それぞれに対応する座標データ系列(時系列座標)を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序つまり筆順に相当する。
タブレットコンピュータ10は、記憶媒体から既存の任意の時系列情報を読み出し、この時系列情報に対応する手書き文書、つまりこの時系列情報によって示される複数のストロークを画面上に表示することができる。時系列情報によって示される複数のストロークも、手書きによって入力される複数のストロークである。
さらに、タブレットコンピュータ10は編集機能を有している。この編集機能は、「消しゴム」ツール、範囲選択ツール、および他の各種ツール等を用いたユーザによる編集操作に応じて、表示中の手書き文書内の任意のストロークまたは任意の手書きオブジェクト部分(手書き文字、手書きマーク、手書き図形、手書き表、等)を削除または移動することができる。
本実施形態では、時系列情報(手書き文書)は、1つまたは複数のページとして管理されうる。この場合、時系列情報(手書き文書)を1つの画面に収まる面積単位で区切ることによって、1つの画面に収まる時系列情報のまとまりを1つのページとして記録してもよい。あるいは、ページのサイズを可変できるようにしてもよい。この場合、ページのサイズは1つの画面のサイズよりも大きい面積に広げることができるので、画面のサイズよりも大きな面積の手書き文書を一つのページとして扱うことができる。1つのページ全体をディスプレイに同時に表示できない場合は、そのページを縮小してするようにしてもよいし、縦横スクロールによってページ内の表示対象部分を移動するようにしてもよい。
ページには、手書き文書(手書きデータ)のみならず、手書きデータ以外の他の各種コンテンツデータ、例えば、画像データ(静止画、動画)、テキストデータ、音声データ、ドロー系アプリケーションによって作成されたデータ、等を含むことができる。換言すれば、本実施形態で扱われる手書き文書(手書きページデータ)は、複数種のメディアデータ(手書きデータ、画像データ、テキストデータ、音声データ、ドロー系アプリケーションによって作成されたデータ、等)を含むことができる。この場合、手書きページデータに含まれるこれらメディアデータには互いに異なるレイヤがそれぞれ割り当てられる。ユーザは、あるメディアデータ(コンテンツデータとも云う)上にストローク(手書き文字、手書きマーク、手書き図形、手書き表、等)を手書きすることもできる。
図2は、タブレットコンピュータ10と外部装置との連携動作の例を示している。タブレットコンピュータ10は、パーソナルコンピュータ1やクラウドと連携することができる。すなわち、タブレットコンピュータ10は、無線LANなどの無線通信デバイスを備えており、パーソナルコンピュータ1との無線通信を実行することができる。さらに、タブレットコンピュータ10は、インターネット上のサーバ2との通信を実行することもできる。サーバ2はオンラインストレージサービス、他の各種クラウドコンピューティングサービスを実行するサーバであってもよい。
パーソナルコンピュータ1はハードディスクドライブ(HDD)のようなストレージデバイスを備えている。タブレットコンピュータ10は、手書きページデータをネットワーク越しにパーソナルコンピュータ1に送信して、パーソナルコンピュータ1のHDDに記録することができる(アップロード)。タブレットコンピュータ10とパーソナルコンピュータ1との間のセキュアな通信を確保するために、通信開始時には、パーソナルコンピュータ1がタブレットコンピュータ10を認証するようにしてもよい。この場合、タブレットコンピュータ10の画面上にユーザに対してIDまたはパスワードの入力を促すダイアログを表示してもよいし、タブレットコンピュータ10のIDなどを自動的にタブレットコンピュータ10からパーソナルコンピュータ1に送信してもよい。
これにより、タブレットコンピュータ10内のストレージの容量が少ない場合でも、タブレットコンピュータ10が多数の手書きページデータあるいは大容量の手書きページデータを扱うことが可能となる。
さらに、タブレットコンピュータ10は、パーソナルコンピュータ1のHDDに記録されている任意の1以上の手書きページデータを読み出し(ダウンロード)、その手書きページデータの内容(手書きデータ、他の各種コンテンツデータ)をタブレットコンピュータ10のディスプレイ17の画面に表示することができる。この場合、複数の手書きページデータそれぞれを縮小することによって得られるサムネイルの一覧をディスプレイ17の画面上に表示してもよいし、これらサムネイルから選ばれた1ページをディスプレイ17の画面上に通常サイズで表示してもよい。
さらに、タブレットコンピュータ10が通信する先はパーソナルコンピュータ1ではなく、上述したように、ストレージサービスなどを提供するクラウド上のサーバ2であってよい。タブレットコンピュータ10は、手書きページデータをネットワーク越しにサーバ2に送信して、サーバ2のストレージデバイス2Aに記録することができる(アップロード)。さらに、タブレットコンピュータ10は、サーバ2のストレージデバイス2Aに記録されている任意の手書きページデータを読み出して(ダウンロード)、その手書きページデータの内容(手書きデータ、他の各種コンテンツデータ)をタブレットコンピュータ10のディスプレイ17の画面に表示することができる。
このように、本実施形態では、手書きページデータが格納される記憶媒体は、タブレットコンピュータ10内のストレージデバイス、パーソナルコンピュータ1内のストレージデバイス、サーバ2のストレージデバイスのいずれであってもよい。
次に、図3および図4を参照して、ユーザによって手書きされたストローク(文字、マーク、図形、表など)と時系列情報との関係について説明する。図3は、ペン100などを使用してタッチスクリーンディスプレイ17上に手書きされる手書き文書(手書き文字列)の例を示している。
手書き文書では、一旦手書きによって入力される文字や図形などの上に、さらに別の文字や図形などが手書きによって入力されるというケースが多い。図3においては、「ABC」の手書き文字列が「A」、「B」、「C」の順番で手書きによって入力され、この後に、手書きの矢印が、手書き文字「A」のすぐ近くに手書きによって入力された場合が想定されている。
手書き文字「A」は、ペン100などを使用して手書きされる2つのストローク(「∧」形状の軌跡、「−」形状の軌跡)によって、つまり2つの軌跡によって表現される。最初に手書きされる「∧」形状のペン100の軌跡は例えば等時間間隔でリアルタイムにサンプリングされ、これによって「∧」形状のストロークの時系列座標SD11、SD12、…SD1nが得られる。同様に、次に手書きされる「−」形状のペン100の軌跡も等時間間隔でリアルタイムにサンプリングされ、これによって「−」形状のストロークの時系列座標SD21、SD22、…SD2nが得られる。
手書き文字「B」は、ペン100などを使用して手書きされた2つのストローク、つまり2つの軌跡によって表現される。手書き文字「C」は、ペン100などを使用して手書きされた手書きされた1つのストローク、つまり1つの軌跡によって表現される。手書きの「矢印」は、ペン100などを使用して手書きされた手書きされた2つのストローク、つまり2つの軌跡によって表現される。
図4は、図3の手書き文書に対応する時系列情報(手書きデータ)200を示している。時系列情報は、複数のストロークデータSD1、SD2、…、SD7を含む。時系列情報200内においては、これらストロークデータSD1、SD2、…、SD7は、筆跡順に、つまり複数のストロークが手書きされた順に時系列に並べている。
時系列情報200において、先頭の2つのストロークデータSD1、SD2は、手書き文字「A」の2つのストロークをそれぞれ示している。3番目と4番目のストロークデータSD3、SD4は、手書き文字「B」を構成する2つのストロークをそれぞれ示している。5番目のストロークデータSD5は、手書き文字「C」を構成する1つのストロークを示している。6番目と7番目のストロークデータSD6、SD7は、手書き「矢印」を構成する2つのストロークをそれぞれ示している。
各ストロークデータは、一つのストロークに対応する座標データ系列(時系列座標)、つまり一つのストロークの軌跡上の複数の点それぞれに対応する複数の座標を含む。各ストロークデータにおいては、複数の座標はストロークが書かれた順に時系列に並べられている。例えば、手書き文字「A」に関しては、ストロークデータSD1は、手書き文字「A」の「∧」形状のストロークの軌跡上の点それぞれに対応する座標データ系列(時系列座標)、つまりn個の座標データSD11、SD12、…SD1nを含む。ストロークデータSD2は、手書き文字「A」の「−」形状のストロークの軌跡上の点それぞれに対応する座標データ系列、つまりn個の座標データSD21、SD22、…SD2nを含む。なお、座標データの数はストロークデータ毎に異なっていてもよい。
各座標データは、対応する軌跡内のある1点に対応するX座標およびY座標を示す。例えば、座標データSD11は、「∧」形状のストロークの始点のX座標(X11)およびY座標(Y11)を示す。SD1nは、「∧」形状のストロークの終点のX座標(X1n)およびY座標(Y1n)を示す。
さらに、各座標データは、その座標に対応する点が手書きされた時点に対応するタイムスタンプ情報Tを含んでいてもよい。手書きされた時点は、絶対時間(例えば、年月日時分秒)またはある時点を基準とした相対時間のいずれであってもよい。例えば、各ストロークデータに、ストロークが書き始められた絶対時間(例えば、年月日時分秒)をタイムスタンプ情報として付加し、さらに、ストロークデータ内の各座標データに、絶対時間との差分を示す相対時間をタイムスタンプ情報Tとして付加してもよい。
このように、各座標データにタイムスタンプ情報Tが追加された時系列情報を使用することにより、ストローク間の時間的関係をより精度よく表すことができる。
さらに、各座標データには、筆圧を示す情報(Z)を追加してもよい。
図4で説明したような構造を有する時系列情報200は、個々のストロークの筆跡だけでなく、ストローク間の時間的関係も表すことができる。したがって、この時系列情報200を使用することにより、図3に示すようにたとえ手書き「矢印」の先端部が手書き文字「A」上に重ねてまたは手書き文字「A」に近接して書かれたとしても、手書き文字「A」と手書き「矢印」の先端部とを異なる文字または図形として扱うことが可能となる。
さらに、本実施形態の時系列情報200においては、上述したように、ストロークデータSD1、SD2、…、SD7の並びは手書き文字の筆順を示す。例えば、ストロークデータSD1およびSD2の並びは、最初に「∧」形状のストロークが手書きされ、次に「−」形状のストロークが手書きされたことを表す。したがって、たとえ2つの手書き文字の筆跡同士が互いに類似していても、それら2つの手書き文字の筆順が互いに異なる場合には、それら2つの手書き文字を異なる文字として区別することができる。
さらに、本実施形態では、上述したように、手書きデータは、イメージまたは文字認識結果ではなく、時系列のストロークデータの集合から構成される時系列情報200として記憶されるので、手書き文字の言語に依存せずに手書き文字を扱うことができる。よって、本実施形態の時系列情報200の構造は、使用言語の異なる世界中の様々な国で共通に使用できる。
図5は、タブレットコンピュータ10のシステム構成を示す図である。
タブレットコンピュータ10は、図5に示されるように、CPU101、システムコントローラ102、主メモリ103、グラフィクスコントローラ105、BIOS−ROM105、不揮発性メモリ106、無線通信デバイス107、エンベデッドコントローラ(EC)108等を備える。
CPU101は、タブレットコンピュータ10内の各種モジュールの動作を制御するプロセッサである。CPU101は、ストレージデバイスである不揮発性メモリ106から主メモリ103にロードされる各種ソフトウェアを実行する。これらソフトウェアには、オペレーティングシステム(OS)201、および各種アプリケーションプログラムが含まれている。アプリケーションプログラムには、デジタルノートブックアプリケーションプログラム202が含まれている。このデジタルノートブックアプリケーションプログラム202は、上述の手書きページデータを作成および表示する機能、手書きページデータを編集する機能、手書きページデータ内の手書きオブジェクト(手書き文字、手書きマーク、手書き図形等)を認識する機能、所望の手書きページデータを検索するための検索機能等を有している。
また、CPU101は、BIOS−ROM105に格納された基本入出力システム(BIOS)も実行する。BIOSは、ハードウェア制御のためのプログラムである。
システムコントローラ102は、CPU101のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、システムコントローラ102は、PCI EXPRESS規格のシリアルバスなどを介してグラフィクスコントローラ104との通信を実行する機能も有している。
グラフィクスコントローラ104は、本タブレットコンピュータ10のディスプレイモニタとして使用されるLCD17Aを制御する表示コントローラである。このグラフィクスコントローラ104によって生成される表示信号はLCD17Aに送られる。LCD17Aは、表示信号に基づいて画面イメージを表示する。このLCD17A上にはタッチパネル17Bおよびデジタイザ17Cが配置されている。タッチパネル17Bは、LCD17Aの画面上で入力を行うための静電容量式のポインティングデバイスである。指が接触される画面上の接触位置および接触位置の動き等はタッチパネル17Bによって検出される。デジタイザ17CはLCD17Aの画面上で入力を行うための電磁誘導式のポインティングデバイスである。ペン100が接触される画面上の接触位置および接触位置の動き等はデジタイザ17Cによって検出される。
無線通信デバイス107は、無線LANまたは3G移動通信などの無線通信を実行するように構成されたデバイスである。EC108は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。EC108は、ユーザによるパワーボタンの操作に応じて本タブレットコンピュータ10を電源オンまたは電源オフする機能を有している。
次に、図6を参照して、デジタルノートブックアプリケーションプログラム202の機能構成について説明する。
デジタルノートブックアプリケーションプログラム202は、手書きデータを扱うことが可能なWYSIWYGアプリケーションである。このデジタルノートブックアプリケーションプログラム202は、タッチスクリーンディスプレイ17を用いた手書き入力操作によって入力される座標データ系列(時系列座標)を使用することによって、手書き文書の作成、表示、編集等を行う。また、デジタルノートブックアプリケーション202は、検索キーとして手書きされたストローク(例えば、手書きの文字や図形)を用いて、手書き文書を検索することもできる。さらに、デジタルノートブックアプリケーションプログラム202は、手書き文書上に手書きされた文字を文字コードに変換する筆跡認識を行うこともできる。
デジタルノートブックアプリケーション202は、例えば、ペン設定部300A、背景設定部300B、表示処理部301、時系列情報生成部302、検索/認識部303、ページ保存処理部306、ページ取得処理部307、およびインポート部308を備える。
上述したタッチスクリーンディスプレイ17は、「タッチ」、「移動(スライド)」、「リリース」等のイベントの発生を検出するように構成されている。「タッチ」は、画面上に外部オブジェクトが接触したことを示すイベントである。「移動(スライド)」は、画面上に外部オブジェクトが接触されている間に接触位置が移動されたことを示すイベントである。「リリース」は、画面から外部オブジェクトが離されたことを示すイベントである。
デジタルノートブックアプリケーションプログラム202は手書きページデータの作成、閲覧、編集を行うためのノートビュー画面をタッチスクリーンディスプレイ17上に表示する。このノートビュー画面上には、例えば、複数のペンアイコン、「範囲選択」アイコン、「消しゴム」アイコンが表示され得る。複数のペンアイコンには、複数種のペンスタイル(描画形態)が割り当てられている。ペンスタイルは、例えば、線(描画される軌跡)の色、線の種類(実線、破線等)、線の太さ、ペン先の種類(ボールペン、マーカ、万年筆等)等の組み合わせによって定められる。
ペン設定部300Aは、タッチスクリーンディスプレイ17によって発生される「タッチ(タップ)」のイベントを受信し、これによってペン変更操作を検出する。「タッチ」イベントには、接触位置の座標が含まれている。ペン設定部300Aは、いずれかのペンアイコン上での「タッチ」イベントが受信されたことに応じて、タッチされたペンアイコンに関連付けられた描画形態を、現在の描画形態として設定する。
背景設定部300Bは、ユーザによって行われる背景色設定操作に応じて、手書きページの背景の形態(ページスタイル)を設定する。背景の形態としては、背景の色、背景に表示すべき罫線の有無、背景に表示すべき罫線の間隔、等がある。
表示処理部301および時系列情報生成部302は、タッチスクリーンディスプレイ17によって発生される「タッチ」、「移動(スライド)」または「リリース」のイベントを受信し、これによって手書き入力操作を検出する。「タッチ」イベントには、接触位置の座標が含まれている。「移動(スライド)」イベントには、移動先の接触位置の座標が含まれている。したがって、表示処理部301および時系列情報生成部302は、タッチスクリーンディスプレイ17から、接触位置の動きの軌跡に対応する座標列を受信することができる。
表示処理部301は、背景設定部300Bによって設定された背景の形態(ページスタイル)でノートビュー画面を表示する。表示処理部301は、タッチスクリーンディスプレイ17から座標列を受信する。そして、表示処理部301は、この座標列に基づいて、手書き入力操作によって手書きされる各ストロークの軌跡を、ペン設定部300Aによって設定された描画形態(ペンスタイル)でノートビュー画面上に表示する。この表示処理部301により、画面にペン100が接触している間のペン100の軌跡、つまり各ストロークの軌跡がノートビュー画面上に描かれる。
さらに、表示処理部301は、インポート部308によって外部アプリケーション/外部ファイルからインポートされる様々なコンテンツデータ(画像データ、音声データ、テキストデータ、ドロー系アプリケーションによって作成されたデータ)に対応するオブジェクトをノートビュー画面上に表示することができる。この場合、各コンテンツデータに対応するオブジェクトは、作成中のページ上の任意の位置に配置することができる。
時系列情報生成部302は、タッチスクリーンディスプレイ17から出力される上述の座標列を受信し、この座標列に基づいて、図4で詳述したような構造を有する時系列情報(座標データ系列)と、ペン設定部300によって設定されているペンスタイルを示す情報と、背景設定部300Bによって設定されているページスタイルを示す情報とを含む、手書きデータを生成する。時系列情報生成部302は、生成された手書きデータを作業メモリ401に一時保存する。
検索/認識処理部303は、手書きページデータ中の手書き文字列をテキスト(文字コード列)に変換する筆跡認識処理、手書きページデータ中の画像内に含まれる文字列をテキスト(文字コード列)に変換する文字認識処理(OCR)、手書きページデータ中の音声データに含まれるスピーチをテキストに変換する音声認識処理を実行する。さらに、検索/認識処理部303は、テキスト検索方式を使用して、多数の手書きページデータの中から所望の手書きページデータを検索することができる。
ページ保存処理部306は、作成中のページ上に配置される複数種のコンテンツデータ(手書きデータ、他の各種コンテンツデータ等)を含む手書きページデータを生成し、この手書きページデータを記憶媒体402に保存する。手書きページデータはマークアップ言語で記述されたファイル、例えばXMLファイルのようなファイルとして記憶媒体402に保存される。記憶媒体402は、例えば、タブレットコンピュータ10内のストレージデバイスであってもよいし、サーバコンピュータ2のストレージデバイスであってもよい。手書きページデータのファイルは、この手書きページデータに含まれる複数種のコンテンツデータ(手書きデータ、画像データ、音声データ、テキストデータ、ドロー系アプリケーションによって作成されたデータ、等)それぞれに対応する複数のレイヤ情報を含む。各コンテンツデータに対応するレイヤ情報は、このコンテンツデータの実体のみならず、このコンテンツデータに対応する文字列(テキスト)も含む。これにより、たとえ旧バージョンのアプリケーションプログラムが扱うことができない新しいタイプのコンテンツデータの実体が手書きページデータに含まれている場合でも、その旧バージョンのアプリケーションプログラムは、新しいタイプのコンテンツデータの実体に対応するテキストを画面上に表示することができる。
ページ取得処理部307は、記憶媒体402から任意の手書きページデータ(ファイル)を取得する。この取得された手書きページデータは表示処理部301に送られる。表示処理部301は、手書きページデータに含まれる複数種のデータ(手書きデータ、他のコンテンツデータ)が配置されるページを画面上に表示する。
図7は、ノートビュー画面上に表示される手書きページ500の例を示す。
この手書きページは、4つのレイヤ、つまり手書きレイヤ501、テキストレイヤ502、画像レイヤ503、および音声レイヤ504を含む。手書きレイヤ501は、手書きデータに対応するコンテンツ(手書きされたストローク群)を表示するためレイヤである。テキストレイヤ502は、手書きデータとはコンテンツの種類が異なるコンテンツデータであるテキストを表示するためのレイヤである。画像レイヤ503は、手書きデータやテキストとはコンテンツの種類が異なるコンテンツデータである画像コンテンツを表示するためのレイヤである。音声レイヤ504は、手書きデータ、テキスト、図形データとはコンテンツの種類が異なるコンテンツデータである音声データに対応するコンテンツを表示するためのレイヤである。これら各レイヤのサイズは可変であり、各レイヤは、手書きページ500上の任意の位置に任意のサイズで表示され得る。あるレイヤの上に別のレイヤが重なってもよい。この手書きページ500に対応する手書きデータのファイルは、4つのレイヤ(手書きレイヤ501、テキストレイヤ502、画像レイヤ503、および音声レイヤ504)に対応する4つのレイヤ情報を含む。表示処理部301は、これら4つのレイヤ情報に基づいて、複数種のデータ(手書きデータ、テキスト、画像、音声)が配置されるページを画面上に表示する。音声レイヤ504に対応するページ上の領域には、音声データに対応する画像(アイコン)が表示されてもよい。
図8は、図7の手書きページ500に対応する手書きページデータのデータ構造の例を示す。
本実施形態の手書きページデータにおいては、この手書きページデータの前方互換性を確保するために、手書きページデータ内に含まれるコンテンツデータの種類毎に異なるレイヤ情報が定義されている。各レイヤ情報は、互いに分けられた複数のレイヤ情報格納部分を含む。すなわち、概していえば、各レイヤ情報は、抽象化レイヤ情報を格納するためのレイヤ情報格納部分と、具体的レイヤ情報を格納するためのレイヤ情報格納部分とを含む。抽象化レイヤ情報は、例えば、レイヤの表示領域を指定する情報を含む。例えば、手書きレイヤ501に対応するレイヤ情報においては、手書きレイヤ501に対応するページ500上の表示領域(表示位置、サイズ)を指定する情報が抽象化レイヤ情報として含まれている。
具体的レイヤ情報は、例えば、コンテンツデータの実体(オブジェクト)を含む。例えば、手書きレイヤ501に対応するレイヤ情報おいては、手書きレイヤ501の表示領域に表示されるべき複数の手書きストロークに対応する複数のストロークデータを含む手書きデータが、具体的レイヤ情報(実体)501Aとして含まれている。テキストレイヤ502に対応するレイヤ情報おいては、テキストレイヤ502の表示領域に表示されるべきテキストに対応する文字コード列が、具体的レイヤ情報(実体)502Aとして含まれている。画像レイヤ503に対応するレイヤ情報おいては、画像レイヤ503の表示領域に表示されるべき画像を表示するための情報、例えば、画像データそのもの、あるいはこの画像データのパスを示す情報、が具体的レイヤ情報(実体)503Aとして含まれている。音声レイヤ504に対応するレイヤ情報おいては、音声レイヤ504が選択された時に再生すべきオーディオデータそのもの、あるいはこのオーディオデータのパスを示す情報、が具体的レイヤ情報(実体)504Aとして含まれている。さらに、音声レイヤ504に対応するレイヤ情報おいては、音声レイヤ504の表示領域に表示されるべき画像(アイコン)を表示するための情報、例えば、画像(アイコン)そのもの、あるいはこの画像(アイコン)のパスを示す情報、も具体的レイヤ情報(実体)504Aとして含まれていてもよい。
例えば、デジタルノートブックアプリケーションプログラム202のバージョンアップに伴って画像レイヤ503が新たに追加された場合を想定する。旧バージョンのデジタルノートブックアプリケーションプログラムは、画像レイヤ503の具体的レイヤ情報(実体)503Aのフォーマットを理解することができない場合がある。しかし、画像レイヤ503に対応するレイヤ情報においては、表示領域を指定する抽象化レイヤ情報と、具体的レイヤ情報(実体)503Aとが分けて保存されているため、旧バージョンのデジタルノートブックアプリケーションプログラム(つまり、古いアプリケーションプログラム)は、少なくとも、画像レイヤ503に対応するレイヤが存在することを理解することができ、またこのレイヤの表示領域を理解することができる。よって、古いアプリケーションプログラムは、画像レイヤ503に対応する画像をページ上に表示できないかもしれないが、少なくとも、画像レイヤ503に対応する表示領域を囲む枠を表示したり、あるいは後述するサマリ認識情報に含まれる文字列を、画像レイヤ503に対応する表示領域に表示することができる。さらに、画像レイヤ503と手書きレイヤ501は異なるレイヤ情報として記述されているので、たとえ画像レイヤ503に対応するレイヤ情報が追加されても、これによって手書きレイヤ501に対応するレイヤ情報のフォーマットが変更されることはない。したがって、古いアプリケーションプログラムであっても、手書きレイヤ501に対応するレイヤ情報を正常に扱うことができる。
各レイヤ情報は、さらに、そのレイヤ情報内のコンテンツデータに対応する認識情報を格納するためのレイヤ情報格納部分(認識情報格納部分)を含む。前方互換性を確保するために、認識情報もサマリ認識情報と具体的認識情報とに分けて保存される。サマリ認識情報は、コンテンツデータに対応する文字列を含む。このサマリ認識情報は、コンテンツデータ間で共通のフォーマットを有する認識情報である。つまり、どのレイヤ情報においても、サマリ認識情報のフォーマットは同じである。ここで、フォーマット(またはデータフォーマットと云う)は、データ/情報の記述形式、データの配列、またはデータの構造等を意味する。
具体的認識情報は、より具体的な認識情報である。各レイヤ情報内の具体的認識情報は、コンテンツデータの種別に応じたデータフォーマットを有している。認識情報格納部分は、サマリ認識情報と具体的認識情報とを分けて保存するために、サマリ認識情報を格納するためのサマリ認識情報格納部分と、具体的認識情報を格納するための具体的認識情報格納部分とを含む。
手書きレイヤ501に対応するレイヤ情報おいては、手書きデータに対応する文字列(ここでは、ABCDE)がサマリ認識情報511として含まれている。サマリ認識情報511は、上述の筆跡認識を実行することよって得ることができる。手書きレイヤ501に対応するレイヤ情報おいては、さらに、具体的認識情報521も含まれている。
具体的認識情報521は、デジタルノートブックアプリケーションプログラム202のバージョンアップに伴って必要に応じて追加し得る追加の情報である。具体的認識情報521は、手書きデータに対応する文字列に含まれる各文字と手書きデータ内のストロークデータとを関連づけるための情報である。より詳しくは、具体的認識情報521は、手書きデータを認識することによって得られる各文字が、手書きデータ内のどのストロークによって構成されているかを示す。ここでは、具体的認識情報521においては、5つの認識文字に対応する5つの項目が含まれている。具体的認識情報521は、項目毎に、認識文字の文字コード(テキスト)と、この認識文字に対応する1以上のストロークデータを識別するための情報(ストロークID)とを示す。例えば、項目1に対応する情報は、認識された文字“A”の文字コード(テキスト)を示す情報と、この文字“A”を構成する2つのストロークデータを識別するためのストロークID=1,ID=2を示す情報とを含む。
テキストレイヤ502に対応するレイヤ情報おいては、テキストレイヤ502のテキストデータに対応する文字列がサマリ認識情報512として含まれている。テキストレイヤ502に対応するレイヤ情報おいては、さらに、具体的認識情報522も含まれている。
具体的認識情報522は、デジタルノートブックアプリケーションプログラム202のバージョンアップに伴って必要に応じて追加し得る追加の情報である。具体的認識情報522は、テキストレイヤ502のテキストデータに含まれる文字列を単語毎に区別して示す情報である。この具体的認識情報522は、テキストレイヤ502のテキストデータを形態素解析することによって得ることができる。
画像レイヤ503に対応するレイヤ情報おいては、画像データに対応する文字列(ここでは、abcdefghijklmn)がサマリ認識情報513として含まれている。サマリ認識情報513は、例えば、画像データに含まれる文字画像を文字認識(OCR認識)することによって得られる。画像レイヤ503に対応するレイヤ情報おいては、さらに、具体的認識情報523も含まれている。
具体的認識情報523は、デジタルノートブックアプリケーションプログラム202のバージョンアップに伴って必要に応じて追加し得る追加の情報である。具体的認識情報523は、画像データに対応する文字列に含まれる各文字と画像データ内のデータ部分とを関連づけるための情報である。より詳しくは、具体的認識情報523は、画像を認識することによって得られる各文字が、画像データ内のどのデータ部分に存在するかを示す。ここでは、具体的認識情報523においては、14個の認識文字“abcdefghijklmn”に対応する14個の項目が含まれている(図8では、abcdeの5つの文字に対応する5つの項目のみが例示されている)。具体的認識情報523は、項目毎に、認識文字の文字コード(テキスト)と、この認識文字を囲む外接矩形の左上頂点および右下頂点とを示す。例えば、項目1に対応する情報は、認識された文字“a”の文字コード(テキスト)を示す情報と、この文字“a”を囲む外接矩形の左上頂点(2,5)および右下頂点(7,10)を示す情報とを含む。
音声レイヤ504に対応するレイヤ情報おいては、音声データに含まれるスピーチをテキストに変換する音声認識処理を実行する事によって得られる文字列(ここでは、12345678)がサマリ認識情報514として含まれている。音声レイヤ504に対応するレイヤ情報おいては、さらに、具体的認識情報524も含まれている。
具体的認識情報524は、デジタルノートブックアプリケーションプログラム202のバージョンアップに伴って必要に応じて追加し得る追加の情報である。具体的認識情報524は、音声データに対応する文字列に含まれる各文字と音声データ内の時間位置とを関連づけるための情報である。より詳しくは、具体的認識情報524は、各文字に対応するスピーチ部分が、音声データの再生開始時点から何秒後に再生されるかを示す。
サマリ認識情報511〜514それぞれに対応する文字列は、この手書きページデータをテキスト検索方式で検索するために使用可能である。また、手書きレイヤ501に対応する具体的認識情報521は、検索キーである第1の文字に対応する、手書きデータ内の1以上の第1のストロークデータを特定するために使用可能である。また、画像レイヤ503に対応する具体的認識情報523は、検索キーである第1の文字に対応する、画像データ内の第1のデータ部分を特定するために使用可能である。
上述したように、本実施形態の手書きページデータでは、どのコンテンツデータにおいても、サマリ認識情報と具体的認識情報とが分けて保存される。したがって、各アプリケーションプログラムは、抽象化認識情報であるサマリ認識情報のフォーマットさえ知っていれば、たとえ具体的認識情報のフォーマットを知らずとも、各コンテンツデータに対応する文字列を取り扱うことができる。
図9は、図8のデータ構造に対応するクラス図(UMLクラス図)の例を示す。
このUMLクラス図においては、ページクラス601、レイヤークラス602、筆跡レイヤークラス603、テキストレイヤークラス604、画像レイヤークラス605、音声レイヤークラス606、サマリ認識結果クラス607、OCR認識結果クラス608、筆跡認識結果クラス609、形態素解析クラス610、音声認識クラス611、および構造分析クラス612等が定義されている。
ページクラス601は1つの手書きページに対応する。このページクラス601とレイヤークラス602との間の関連は、一つのページが0以上のページを含むことを表している。また、レイヤークラス602は、筆跡レイヤークラス603、テキストレイヤークラス604、画像レイヤークラス605、音声レイヤークラス606をグループ化するための抽象化クラス(スーパークラス)でもある。
筆跡レイヤークラス603は、手書きレイヤ501の具体的レイヤ情報(実体)501Aを格納するためのレイヤ情報格納部分である。テキストレイヤークラス604は、テキストレイヤ502の具体的レイヤ情報(実体)502Aを格納するためのレイヤ情報格納部分である。画像レイヤークラス605は、画像レイヤ503の具体的レイヤ情報(実体)503Aを格納するためのレイヤ情報格納部分である。音声レイヤークラス606は、音声レイヤ504の具体的レイヤ情報(実体)504Aを格納するためのレイヤ情報格納部分である。
また一つのレイヤークラス602は、0以上のサマリ認識結果クラス607を含む。サマリ認識結果クラス607は上述の認識情報格納部分である。またサマリ認識結果クラス607は、OCR認識結果クラス608、筆跡認識結果クラス609、形態素解析クラス610、音声認識クラス611、および構造分析クラス612をグループ化するための抽象化クラス(スーパークラス)でもある。
OCR認識結果クラス608は、上述の具体的認識情報523を格納するための具体的認識情報格納部分である。筆跡認識結果クラス609は、上述の具体的認識情報521を格納するための具体的認識情報格納部分である。形態素解析クラス610は、上述の具体的認識情報522を格納するための具体的認識情報格納部分である。音声認識クラス611は、上述の具体的認識情報524を格納するための具体的認識情報格納部分である。構造分析クラス612は、他の具体的認識情報の格納に使用される。
図10は、図7の手書きページに対応するXMLファイル700の例を示す。
XMLファイル700は、上述の複数のレイヤ情報に対応する複数の「レイヤ」要素を含む。これら「レイヤ」要素は、互いに兄弟関係を有する要素である。
「レイヤ」要素701は、手書きレイヤ501に対応する「レイヤ」要素である。「レイヤ」要素701に含まれる属性値(type=“stroke”)は、このレイヤ要素701が手書きレイヤ(ストロークレイヤ)に対応することを示す。「レイヤ」要素701に含まれる属性値(zorder=“1”)は、このレイヤ要素701が最前面に配置されるべきレイヤであることを示す。
「レイヤ」要素701は、「rect」要素と、「stroke_layer」要素と、「recognize_data」要素とを含む。
「rect」要素は、「レイヤ」要素701に対応するレイヤ(手書きレイヤ501)の表示領域を指定するための情報を格納するための情報格納部分である。「rect」要素内の属性値(top=“100” left=“200” bottom=“300” right=“400”)は、手書きレイヤ501の左上頂点(top=“100” left=“200”)および右下頂点(bottom=“300” right=“400”)を規定する。
「rect」要素は、抽象化されたレイヤ情報であり、全てのレイヤ間でつまり全ての種類のコンテンツデータ間で共通のデータフォーマットを有するデータフィールドである。
「stroke_layer」要素は、手書きデータを格納するための情報格納部分である。この「stroke_layer」要素には、手書きデータが記述される。この「stroke_layer」要素は、上述の筆跡レイヤークラス603に対応している。この「stroke_layer」要素は、「strokes」要素と、この「strokes」要素の子要素である複数の「stroke」要素とを含む。
属性値(id=“1”)の「stroke」要素には、ストロークid=1のストロークデータが記述される。属性値(id=“1”)の「stroke」要素は、ストロークid=1のストロークデータに含まれる複数の点に対応する複数の「point」要素を含む。各「point」要素は、対応する点の座標を示す。
「レイヤ」要素701内の「recognize_data」要素は、サマリ認識情報511(文字列)と具体的認識情報521とを集約(グループ化)するためのノードである。この「recognize_data」要素は、図9のサマリ認識結果クラス607に対応している。
「レイヤ」要素701内の「recognize_data」要素は、2つの子要素、つまり「texts」要素と、「recognize_stroke」要素とを含む。
「texts」要素には、サマリ認識情報511の文字列が記述される。この「texts」要素は、抽象化されたレイヤ情報であり、全てのレイヤ間でつまり全ての種類のコンテンツデータ間で共通のデータフォーマットを有するデータフィールドである。
「recognize_stroke」要素には、具体的認識情報521が記述される。
「レイヤ」要素702は、画像レイヤ503に対応する「レイヤ」要素である。「レイヤ」要素702に含まれる属性値(type=“picture”)は、このレイヤ要素702が画像レイヤ(ピクチャレイヤ)に対応することを示す。「レイヤ」要素702に含まれる属性値(zorder=“2”)は、このレイヤ要素702が表示されるべき順序が上から2番目の順序であることを示す。
「レイヤ」要素702は、「rect」要素と、「picture_layer」要素と、「recognize_data」要素とを含む。
「rect」要素は、「レイヤ」要素702に対応するレイヤ(画像レイヤ503)の表示領域を指定するための情報を格納するための情報格納部分である。「rect」要素内の属性値(top=“300” left=“200” bottom=“500” right=“400”)は、画像レイヤ503の左上頂点(top=“300” left=“200”)および右下頂点(bottom=“500” right=“400”)を規定する。「レイヤ」要素702の「rect」要素と「レイヤ」要素701の「rect」要素は互いに共通のフォーマットで記述される。
「picture_layer」要素は、画像データを表示するための情報が記述される要素であり、上述の画像レイヤークラス605に対応している。この「picture_layer」要素は、例えば、画像データのパスを示す「picture」要素を含む。
「レイヤ」要素702内の「recognize_data」要素は、サマリ認識情報513(文字列)と具体的認識情報523とを集約(グループ化)するためのノードである。この「recognize_data」要素は、図9のサマリ認識結果クラス607に対応している。
「レイヤ」要素702内の「recognize_data」要素は、2つの子要素、つまり「texts」要素と、「recognize_picture」要素とを含む。「texts」要素には、サマリ認識情報513の文字列が記述される。「recognize_picture」要素には、具体的認識情報523が記述される。「レイヤ」要素702内の「texts」要素の内容と「レイヤ」要素701内の「texts」要素の内容も互いに共通のフォーマットで記述されている。
このように、本実施形態の手書きページデータにおいては、互換性を確保するために、メディア種別(コンテンツデータの種類)毎にレイヤが定義されている。そして、各レイヤに対応するレイヤ情報については、メディア種別間で共通のデータフォーマットを有する抽象的なデータフィールドと、メディア種別に応じたデータフォーマットを有する具体的データフィールドとが用意される。したがって、たとえ手書きページデータに未知のメディアデータが追加されても、各アプリケーションプログラムは、少なくとも、その未知のメディアデータがレイヤの一つであることを認識することができ、また手書きページデータ内の他のメディアデータそれぞれについては正常に処理することができる。さらに、各レイヤ情報にはメディア種別間で共通のデータフォーマットを有するサマリ認識情報が格納されているので、たとえ未知の具体的認識情報のデータフォーマットが追加され、その具体的認識情報を扱うことができない場合でも、各アプリケーションプログラムは、サマリ認識情報を用いて手書きページデータの解析(メタ情報解析)等を行うことができる。
図11のフローチャートは、デジタルノートブックアプリケーションプログラム202によって実行される表示処理の手順を示す。
デジタルノートブックアプリケーションプログラム202は、電子機器10の記憶媒体、パーソナルコンピュータ1、またはサーバ2から、ファイル(手書きページデータ)を取得する。そして、デジタルノートブックアプリケーションプログラム202は、このファイルの先頭のレイヤ情報から、レイヤの表示領域を指定する情報(表示領域情報)、レイヤの実体(コンテンツデータ)、サマリ認識情報、および具体的認識情報を取得する(ステップS11〜S14)。
デジタルノートブックアプリケーションプログラム202がこの実体(コンテンツデータ)を扱うことが可能であれば(ステップS15のYES)、デジタルノートブックアプリケーションプログラム202は、コンテンツデータを、表示領域情報によって指定されるページ上の領域に表示する(ステップS16)。
一方、デジタルノートブックアプリケーションプログラム202がこの実体(コンテンツデータ)を扱う能力を有していないならば(ステップS15のNO)、デジタルノートブックアプリケーションプログラム202は、サマリ認識情報内のテキストを、表示領域情報によって指定されるページ上の領域に表示する(ステップS17)。あるいは、デジタルノートブックアプリケーションプログラム202は、この実体(コンテンツデータ)を表示する処理の実行をスキップしてもよい。
デジタルノートブックアプリケーションプログラム202が詳細認識情報を扱うことが可能であれば(ステップS18のYES)、デジタルノートブックアプリケーションプログラム202は、この詳細認識情報を、使用可能な認識情報として選択する(ステップS19)。一方、デジタルノートブックアプリケーションプログラム202が詳細認識情報を扱う能力を有していないならば(ステップS18のNO)、デジタルノートブックアプリケーションプログラム202は、サマリ認識情報を、使用可能な認識情報として選択する(ステップS20)。
次いで、デジタルノートブックアプリケーションプログラム202は、未処理のレイヤ情報が存在しているか否かを判定する(ステップS21)、未処理のレイヤ情報がなくなるまで、デジタルノートブックアプリケーションプログラム202は、上述のステップS11〜S20の処理を繰り返し実行する。
以上説明したように、本実施形態においては、複数種のデータに対応する複数のレイヤ情報を含むファイルが取得され、このファイルに含まれる複数のレイヤ情報に基づいて、複数種のデータが配置されるページが画面上に表示される。このファイルは、少なくとも、第1のレイヤ情報と第2のレイヤ情報とを含む。第1のレイヤ情報は、複数のストロークデータを含む手書きデータと、複数のストロークデータに対応する第1の文字列と、第1のレイヤ情報に対応する、ページ上の第1の表示領域を指定する第1の情報とを含み、第2のレイヤ情報は、手書きデータとはコンテンツの種類が異なるコンテンツデータを表示するための情報と、コンテンツデータに対応する第2の文字列と、第2のレイヤ情報に対応する、ページ上の第2の表示領域を指定する第2の情報とを含む。このように、各レイヤ情報に、データの実体(手書きデータと、コンテンツデータを表示するための情報)と、表示領域を指定する情報と、文字列とを保存することにより、未知のフーマットの新たなタイプのコンテンツデータがファィルに追加された場合でも、各アプリケーションプログラムは、少なくとも、その未知のコンテンツデータがレイヤの一つであることを認識することができ、また必要に応じてその未知のコンテンツデータに対応する文字列を表示領域上に表示することもできる。
よって、前方互換性を確保することが可能となり、手書きデータを容易に扱うことが可能となる。
なお、本実施形態の各種処理はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
また、本実施形態では、マークアップ言語としてXMLを例示したが、XMLと異なる他のマークアップ言語を使用して手書きページデータを記述しても良い。また、JSONを使用して手書きページデータを記述しても良い。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10…タブレットコンピュータ、200…時系列情報、301…表示処理部、302…時系列情報生成部、306…ページ保存処理部、307…ページ取得処理部、501…手書きレイヤ、502…テキストレイヤ、503…画像レイヤ、504…音声レイヤ。

Claims (10)

  1. 複数種のデータに対応する複数のレイヤ情報を含むファイルを取得する取得手段と、
    前記複数のレイヤ情報に基づいてページを画面上に表示する表示処理手段とを具備し、
    前記ファイルは、少なくとも、第1のレイヤ情報と第2のレイヤ情報とを含み、
    前記第1のレイヤ情報は、複数のストロークデータを含む手書きデータと、前記複数のストロークデータに対応する第1の文字列と、前記第1のレイヤ情報に対応する前記ページ上の第1の表示領域を指定する第1の情報とを含み、
    前記第2のレイヤ情報は、前記手書きデータとはコンテンツの種類が異なるコンテンツデータを表示するための情報と、前記コンテンツデータに対応する第2の文字列と、前記第2のレイヤ情報に対応する前記ページ上の第2の表示領域を指定する第2の情報とを含む、電子機器。
  2. 前記表示処理手段は、前記複数のストロークデータに対応する複数のストロークまたは前記第1の文字列を、前記ページ上の前記第1の表示領域に表示し、前記コンテンツデータまたは前記第2の文字列を、前記ページ上の前記第2の表示領域に表示する請求項1記載の電子機器。
  3. 前記第1の情報および前記第2の情報は互いに共通のフォーマットで記述されており、且つ前記第1の文字列および前記第2の文字列は互いに共通のフォーマットで記述されている請求項1記載の電子機器。
  4. 前記第1のレイヤ情報は、前記第1の文字列に含まれる各文字と前記複数のストロークデータ内のストロークデータとを関連づけるための第1の追加の情報をさらに含み、
    前記第2のレイヤ情報は、前記第2の文字列に含まれる各文字と前記コンテンツデータ内のデータ部分とを関連づけるための第2の追加の情報をさらに含む、請求項1記載の電子機器。
  5. 前記第1の追加の情報は、検索キーである第1の文字に対応する、手書きデータ内の1以上の第1のストロークデータを特定するために使用可能であり、前記第2の追加の情報は、前記第1の文字に対応する、前記コンテンツデータ内の第1のデータ部分を特定するために使用可能である請求項4記載の電子機器。
  6. 前記第1のレイヤ情報は、互いに分けられた第1、第2および第3の情報格納部分を含み、前記第1の情報格納部分は前記第1の情報を含み、前記第2の情報格納部分は前記手書きデータを含み、前記第3の情報格納部分は前記第1の文字列を含み、
    前記第2のレイヤ情報は、互いに分けられた第4、第5および第6の情報格納部分を含み、前記第4の情報格納部分は前記第1の情報格納部分と同じフォーマットを有するデータフィールドであり、前記第6の情報格納部分は前記第3の情報格納部分と同じフォーマットを有するデータフィールドであり、前記第4の情報格納部分は前記第2の情報を含み、前記第5の情報格納部分は前記コンテンツデータを表示するための前記情報を含み、前記第6の情報格納部分は前記第2の文字列を含む請求項1記載の電子機器。
  7. 前記第1のレイヤ情報は、前記第1の文字列に含まれる各文字と前記複数のストロークデータ内のストロークデータとを関連づけるための第1の追加の情報をさらに含み、
    前記第2のレイヤ情報は、前記第2の文字列に含まれる各文字と前記コンテンツデータ内のデータ部分とを関連づけるための第2の追加の情報をさらに含む、
    前記第3の情報格納部分は、互いに分けられた2つの情報格納部分を含み、前記第3の情報格納部分内の一方の情報格納部分は前記第1の文字列を含み、前記第3の情報格納部分内の他方の情報格納部分は前記第1の追加の情報を含み、
    前記第6の情報格納部分は、互いに分けられた2つの情報格納部分を含み、前記第6の情報格納部分内の一方の情報格納部分は前記第2の文字列を含み、前記第6の情報格納部分内の他方の情報格納部分は前記第2の追加の情報を含み、
    前記第6の情報格納部分内の前記一方の情報格納部分は、前記第3の情報格納部分内の前記一方の情報格納部分と同じフォーマットを有するデータフィールドである請求項6記載の電子機器。
  8. 前記ファイルはマークアップ言語によって記述され、
    前記第1のレイヤ情報および前記第2のレイヤ情報は、兄弟関係を有する第1要素および第2要素内にそれぞれ記述され、
    前記第1要素は、前記第1の情報が記述される第3の要素と、前記手書きデータが記述される第4要素と、前記第1の文字列が記述される第5の要素とを含み、
    前記第2要素は、前記第3の要素と同じデータフォーマットを有し、前記第2の情報が記述される第6の要素と、前記コンテンツデータを表示するための前記情報が記述される第7の要素と、前記第5の要素と同じデータフォーマットを有し、前記第2の文字列が記述される第6の要素とを含む請求項1記載の電子機器。
  9. 複数種のデータに対応する複数のレイヤ情報を含むファイルを取得することと、
    前記複数のレイヤ情報に基づいて、ページを画面上に表示することとを具備し、
    前記ファイルは、少なくとも、第1のレイヤ情報と第2のレイヤ情報とを含み、
    前記第1のレイヤ情報は、複数のストロークデータを含む手書きデータと、前記複数のストロークデータに対応する第1の文字列と、前記第1のレイヤ情報に対応する前記ページ上の第1の表示領域を指定する第1の情報とを含み、
    前記第2のレイヤ情報は、前記手書きデータとはコンテンツの種類が異なるコンテンツデータを表示するための情報と、前記コンテンツデータに対応する第2の文字列と、前記第2のレイヤ情報に対応する前記ページ上の第2の表示領域を指定する第2の情報とを含む、データ処理方法。
  10. コンピュータによって実行されるプログラムであって、前記プログラムは、
    複数種のデータに対応する複数のレイヤ情報を含むファイルを取得する手順と、
    前記ファイルに含まれる前記複数のレイヤ情報に基づいて、前記複数種のデータに対応するページを画面上に表示する手順とを前記コンピュータに実行させ、
    前記ファイルは、少なくとも、第1のレイヤ情報と第2のレイヤ情報とを含み、
    前記第1のレイヤ情報は、複数のストロークデータを含む手書きデータと、前記複数のストロークデータに対応する第1の文字列と、前記第1のレイヤ情報に対応する前記ページ上の第1の表示領域を指定する第1の情報とを含み、
    前記第2のレイヤ情報は、前記手書きデータとはコンテンツの種類が異なるコンテンツデータを表示するための情報と、前記コンテンツデータに対応する第2の文字列と、前記第2のレイヤ情報に対応する前記ページ上の第2の表示領域を指定する第2の情報とを含む、プログラム。
JP2013078619A 2013-04-04 2013-04-04 電子機器およびデータ処理方法 Active JP6109625B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013078619A JP6109625B2 (ja) 2013-04-04 2013-04-04 電子機器およびデータ処理方法
US14/068,526 US20140304586A1 (en) 2013-04-04 2013-10-31 Electronic device and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013078619A JP6109625B2 (ja) 2013-04-04 2013-04-04 電子機器およびデータ処理方法

Publications (2)

Publication Number Publication Date
JP2014203249A true JP2014203249A (ja) 2014-10-27
JP6109625B2 JP6109625B2 (ja) 2017-04-05

Family

ID=51655377

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013078619A Active JP6109625B2 (ja) 2013-04-04 2013-04-04 電子機器およびデータ処理方法

Country Status (2)

Country Link
US (1) US20140304586A1 (ja)
JP (1) JP6109625B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016105241A (ja) * 2014-12-01 2016-06-09 株式会社リコー 画像処理装置、画像処理方法、及びプログラム
JP2017068406A (ja) * 2015-09-29 2017-04-06 株式会社東芝 電子機器および方法
CN110389674A (zh) * 2018-04-17 2019-10-29 中国科学院苏州纳米技术与纳米仿生研究所 基于多孔结构的振动传感器、制作方法及笔迹识别方法
CN110544222A (zh) * 2019-09-05 2019-12-06 重庆瑞信展览有限公司 一种视觉传达图像清晰化处理方法和系统

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140132171A (ko) * 2013-05-07 2014-11-17 삼성전자주식회사 터치용 펜을 이용하는 휴대 단말기 및 이를 이용한 필기 입력 방법
US10528249B2 (en) * 2014-05-23 2020-01-07 Samsung Electronics Co., Ltd. Method and device for reproducing partial handwritten content
JP2016134014A (ja) 2015-01-20 2016-07-25 株式会社リコー 電子情報ボード装置、情報処理方法およびプログラム
US9910644B2 (en) * 2015-03-03 2018-03-06 Microsoft Technology Licensing, Llc Integrated note-taking functionality for computing system entities
US9916061B2 (en) * 2015-05-08 2018-03-13 Siemens Product Lifecycle Management Software Inc. Drawing object inferring system and method
CN105844249A (zh) * 2016-03-30 2016-08-10 北京奎牛科技有限公司 版式文件表单域的手写录入方法与装置
US20180300301A1 (en) * 2017-04-18 2018-10-18 Microsoft Technology Licensing, Llc Enhanced inking capabilities for content creation applications
CN109325464A (zh) * 2018-10-16 2019-02-12 上海翎腾智能科技有限公司 一种基于人工智能的手指点读文字识别方法及翻译方法
KR20200078932A (ko) 2018-12-24 2020-07-02 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
CN112579023B (zh) * 2019-09-30 2023-03-07 广州视源电子科技股份有限公司 一种课件的显示方法、系统、设备与存储介质
CN111523537A (zh) * 2020-04-13 2020-08-11 联讯益康医疗信息技术(武汉)有限公司 一种文字识别方法、存储介质及系统
CN112183019B (zh) * 2020-09-28 2021-10-22 掌阅科技股份有限公司 电子书手写笔记的显示方法、计算设备及计算机存储介质
CN112380851A (zh) * 2020-12-02 2021-02-19 好活(昆山)网络科技有限公司 一种基于大数据的文字识别系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1186017A (ja) * 1997-09-11 1999-03-30 Canon Inc 情報処理装置及びその方法
JP2001351089A (ja) * 2000-06-09 2001-12-21 Canon Inc 画像管理装置および画像管理方法
JP2009025420A (ja) * 2007-07-17 2009-02-05 Canon Inc 表示制御装置および表示制御方法
US20090319886A1 (en) * 2008-04-25 2009-12-24 Apple Inc. Technique for extracting modifications to a web page
US20100163316A1 (en) * 2008-12-30 2010-07-01 Microsoft Corporation Handwriting Recognition System Using Multiple Path Recognition Framework
US20130054636A1 (en) * 2011-08-30 2013-02-28 Ding-Yuan Tang Document Journaling

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7092669B2 (en) * 2001-02-02 2006-08-15 Ricoh Company, Ltd. System for facilitating teaching and learning
JP4733415B2 (ja) * 2005-04-05 2011-07-27 シャープ株式会社 電子文書の表示装置及び方法、並びにコンピュータプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1186017A (ja) * 1997-09-11 1999-03-30 Canon Inc 情報処理装置及びその方法
JP2001351089A (ja) * 2000-06-09 2001-12-21 Canon Inc 画像管理装置および画像管理方法
JP2009025420A (ja) * 2007-07-17 2009-02-05 Canon Inc 表示制御装置および表示制御方法
US20090319886A1 (en) * 2008-04-25 2009-12-24 Apple Inc. Technique for extracting modifications to a web page
US20100163316A1 (en) * 2008-12-30 2010-07-01 Microsoft Corporation Handwriting Recognition System Using Multiple Path Recognition Framework
US20130054636A1 (en) * 2011-08-30 2013-02-28 Ding-Yuan Tang Document Journaling

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016105241A (ja) * 2014-12-01 2016-06-09 株式会社リコー 画像処理装置、画像処理方法、及びプログラム
US10521500B2 (en) 2014-12-01 2019-12-31 Ricoh Company, Ltd. Image processing device and image processing method for creating a PDF file including stroke data in a text format
JP2017068406A (ja) * 2015-09-29 2017-04-06 株式会社東芝 電子機器および方法
US10296170B2 (en) 2015-09-29 2019-05-21 Toshiba Client Solutions CO., LTD. Electronic apparatus and method for managing content
CN110389674A (zh) * 2018-04-17 2019-10-29 中国科学院苏州纳米技术与纳米仿生研究所 基于多孔结构的振动传感器、制作方法及笔迹识别方法
CN110544222A (zh) * 2019-09-05 2019-12-06 重庆瑞信展览有限公司 一种视觉传达图像清晰化处理方法和系统
CN110544222B (zh) * 2019-09-05 2023-01-03 重庆瑞信展览有限公司 一种视觉传达图像清晰化处理方法和系统

Also Published As

Publication number Publication date
US20140304586A1 (en) 2014-10-09
JP6109625B2 (ja) 2017-04-05

Similar Documents

Publication Publication Date Title
JP6109625B2 (ja) 電子機器およびデータ処理方法
JP5248696B1 (ja) 電子機器、手書き文書作成方法、及び手書き文書作成プログラム
JP5284524B1 (ja) 電子機器および手書き文書処理方法
JP5349645B1 (ja) 電子機器および手書き文書処理方法
JP6147825B2 (ja) 電子機器および方法
JP6430197B2 (ja) 電子機器および方法
JP5925957B2 (ja) 電子機器および手書きデータ処理方法
JP5728592B1 (ja) 電子機器および手書き入力方法
JP6092418B2 (ja) 電子機器、方法及びプログラム
JP5869179B2 (ja) 電子機器および手書き文書処理方法
JP5395927B2 (ja) 電子機器および手書き文書検索方法
JP6092462B2 (ja) 電子機器、方法及びプログラム
JP2013238918A (ja) 電子機器、手書き文書表示方法、及び表示プログラム
JP5634617B1 (ja) 電子機器および処理方法
JP6100013B2 (ja) 電子機器および手書き文書処理方法
JP2016085512A (ja) 電子機器、方法及びプログラム
US20140300629A1 (en) Electronic device, handwritten document processing method, and storage medium
JP2015138494A (ja) 電子機器および方法
JP2014052718A (ja) 情報処理システム、プログラムおよび情報処理システムの処理方法
JP6223687B2 (ja) 電子機器および手書き文書検索方法
JP5330576B1 (ja) 情報処理装置および筆跡検索方法
WO2014181433A1 (ja) 電子機器、手書き文書検索方法およびプログラム
JP2014089645A (ja) システムおよび情報提供方法並びに電子機器
JP2015038670A (ja) 電子機器および方法
JPWO2016046953A1 (ja) 電子機器、方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170116

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: 20170207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170308

R151 Written notification of patent or utility model registration

Ref document number: 6109625

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313121

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350