入力データ
本セクションでは、筆跡認識を行うアプリケーション用に生の入力データを保存および維持する仕組みを明示します。 これは、生の入力データソース設定と生の入力データを保存する2つのデータレポジトリを使用して実現されます。
- InputContextレポジトリ
- SensorDataレポジトリ
図1:インクセンサーチャンネルの概要
SensorData
SensorData Repositoryは、一連のSensorDataインスタンスを保持するデータレポジトリです。
データフレーム構造は、データ点、リサンプリング情報、指紋やメタデータからの入力ソースなど、1つ以上のオンボードデバイスセンサーによって生成された一連の生の入力データシーケンスを示します。
メモ:
- SensorDataは本ドキュメント内では「生の入力データフレーム」とも呼ばれます。
- SensorDataインスタンスは、SensorDataレポジトリに追加された時点で変更不可とみなされます。
- SensorDataインスタンスは、 encodingに応じてprotobuf message SensorData.としてシリアル化されます。
- SensorDataレポジトリは、反復するメッセージフィールドInputData.sensorDataのprotobufメッセージInputDataを使用して、下位のSensorDataインスタンスの集合をシリアル化します。
Input Context
InputContext Repositoryは、生の入力データフレームの作成元に関する情報を保存するデータレポジトリであり、正確な入力ソースを一意に特定することができます。 このレポジトリはデバイス自体、環境、および各データ点のオンボードデバイスセンサーに関する情報を保存します。
このレポジトリは次のデータ集合を保持します。
- inkInputProviders - InkInputProviderインスタンスの集合
- inputDevices - InputDeviceインスタンスの集合
- environments - Environmentインスタンスの集合
- sensorContexts - SensorContextインスタンスの集合
- inputContexts - InputContextインスタンスの集合
InkInputProviderを使用してシリアル化されます。
InkInputProviderという用語は一般的な入力データソースを表し、これによってデータの生成方法(タッチ入力、マウス、スタイラス、ハードウェアコントローラの使用など)が特定されます。
メモ:
InkInputProviderインスタンスは、protobuf message InkInputProvider.
Input Deviceを使用してシリアル化されます。
InputDeviceという用語は、センサーデータが作成されたハードウェアデバイス(タッチ対応モバイル機器、タッチ対応モニター、デジタイザなど)を表します。
メモ:
- InputDeviceインスタンスは、InputContextレポジトリに追加された時点で変更不可とみなされます。 InputDevice識別子は、InkModelの範囲で一意であり、MD5ハッシュベースのユニークID生成アルゴリズムに基づき、「InputDevice」タグと次の要素を使用して自動生成されます。
- InputDevice.properties
InputDeviceインスタンスは、protobuf message InputDevice.
Environmentを使用してシリアル化されます。
Environmentという用語は、センサーデータが作成された仮想環境(オペレーティングシステムなど)を表します。
メモ:
- Environmentインスタンスは、InputContextレポジトリに追加された時点で変更不可とみなされます。 Environment識別子は、InkModelの範囲で一意であり、MD5ハッシュベースのユニークID生成アルゴリズムに基づき、「Environment」タグと次の要素を使用して自動生成されます。
- Environment.properties
Environmentインスタンスは、protobuf message Environment.
SensorContextを使用してシリアル化されます。
SensorContextは、デジタルインク入力を取得するセンサチャンネルコンテキストの一意の組み合わせを定義します。 そのような目的のため、SensorContextインスタンスはSensorChannelsContextインスタンスのリストを保持します。
メモ: SensorContextインスタンスは、InputContextレポジトリに追加された時点で変更不可とみなされます。 SensorContext識別子は、InkModelの範囲で一意であり、MD5-hashベースのユニークID生成アルゴリズムに基づき、"SensorContext"タグと次の要素を使用して自動生成されます。
- 現在のSensorContext内に含まれるSensorChannelsContextインスタンスの識別子リスト
SensorContextインスタンスは、the protobuf message SensorContext.
SensorChannelsContextを使用してシリアル化されます。
SensorChannelsContextという用語は、次の一意の組み合わせとして定義されます。
- InkInputProviderインスタンス
- InputDeviceインスタンス
- (SensorChannelインスタンスの集合を保持することによる)センサーチャンネル定義のリスト
メモ:
SensorChannelsContextインスタンスは、InputContextレポジトリに追加された時点で変更不可とみなされます。 SensorChannelsContext識別子は、InkModelの範囲で一意であり、MD5-hashベースのユニークID生成アルゴリズムに基づき、"SensorChannelsContext"タグと次の要素を使用して自動生成されます。
- InkInputProviderインスタンスの識別子
- InputDeviceインスタンスの識別子
- 現在のSensorChannelsContext内に含まれるSensorChannelインスタンスの識別子リスト
SensorChannelsContextインスタンスは、protobuf message SensorChannelsContext.
SensorChannelを使用してシリアル化されます。
SensorChannelは、次の属性を有する一般的なセンサーチャンネル定義を表します。
- type - センサーチャンネルのタイプを一意に識別するURI
- metric - SIメートル法に準拠したデータタイプ
- resolution - 保存データの値を指定されたSIメートル法に換算する場合に使用される係数乗算値(10の累乗)
- min、max - 通知された値の範囲の下限と上限
- precision - 浮動小数点値を通知する際のセンサの精度(整数値として定義され、シリアル化/非シリアル化の段階で10の累乗として使用されます)
図1(上)では、インクデバイスで使用可能な既知のセンサーチャンネルを明示しています。 入力デバイスの傾斜角を表すため、図2では方位角 (OA) と仰角 (OE) を使用しています。
図2:方位角と仰角で表した傾斜角
図3は回転角(OR)を示しています。
図3:ペン軸を中心としたペンの回転
メモ:
SensorChannelインスタンスは、InputContextレポジトリに追加された時点で変更不可とみなされます。 SensorChannel識別子は、InkModelの範囲で一意であり、MD5ハッシュベースのユニー クID生成アルゴリズムに基づき、"SensorChannel"タグと次の要素を使用して自動生成されます。
- 現在のSensorChannelを保持するensorChannelsContext内に含まれたInkInputProviderインスタンスの識別子
- 現在のタイプを保持するSensorChannelsContext内に含まれたInputDeviceインスタンスの識別子SensorChannel
- Metric - Protocol Buffersのシリアル化スキーム、protobuf列挙メッセージに従って文字列の値として表されます。InkSensorMetricType
- Resolution
- Min、max
- Precision
SensorChannelインスタンスは、protobuf メッセージ SensorChannel.
Input Contextを使用してシリアル化されます。
InputContextは、EnvironmentインスタンスとSensorContextインスタンスの組み合わせとして定義されます。
メモ:
InputContextインスタンスは、InputContextレポジトリに追加された時点で変更不可とみなされます。 InputContext識別子は、InkModelの範囲で一意であり、MD5-hashベースのユニークID生成アルゴリズムに基づき、"InputContext"タグと次の要素を使用して自動生成されます。
- 内に含まれたEnvironmentインスタンスの識別子InputContext
- InputContext内に含まれたSensorContextインスタンスの識別子 InputContextインスタンスは、セクショ ン8.2「Protocol Buffersのシリアル化スキーム」に従い、protobufメッセージInputContextを使用してシリアル化されます。
InputContextレポジトリは、protobuf message InputContextDataを使用して下位のデータ集合をシリアル化します。