IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ レノボ・シンガポール・プライベート・リミテッドの特許一覧

特許7209076情報処理装置、制御方法、及びプロセッサ
<>
  • 特許-情報処理装置、制御方法、及びプロセッサ 図1
  • 特許-情報処理装置、制御方法、及びプロセッサ 図2
  • 特許-情報処理装置、制御方法、及びプロセッサ 図3
  • 特許-情報処理装置、制御方法、及びプロセッサ 図4
  • 特許-情報処理装置、制御方法、及びプロセッサ 図5
  • 特許-情報処理装置、制御方法、及びプロセッサ 図6
  • 特許-情報処理装置、制御方法、及びプロセッサ 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-11
(45)【発行日】2023-01-19
(54)【発明の名称】情報処理装置、制御方法、及びプロセッサ
(51)【国際特許分類】
   G06F 3/14 20060101AFI20230112BHJP
   G06F 3/023 20060101ALI20230112BHJP
   G06F 3/04886 20220101ALI20230112BHJP
【FI】
G06F3/14 310A
G06F3/023 480
G06F3/04886
【請求項の数】 10
(21)【出願番号】P 2021203539
(22)【出願日】2021-12-15
(62)【分割の表示】P 2020171183の分割
【原出願日】2020-10-09
(65)【公開番号】P2022063264
(43)【公開日】2022-04-21
【審査請求日】2021-12-15
(73)【特許権者】
【識別番号】505205731
【氏名又は名称】レノボ・シンガポール・プライベート・リミテッド
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100206081
【弁理士】
【氏名又は名称】片岡 央
(72)【発明者】
【氏名】今西 芳充
(72)【発明者】
【氏名】河野 誠一
(72)【発明者】
【氏名】山村 一則
(72)【発明者】
【氏名】鈴木 義従
(72)【発明者】
【氏名】山▲ざき▼ 充弘
(72)【発明者】
【氏名】野村 良太
【審査官】星野 裕
(56)【参考文献】
【文献】特開2018-195044(JP,A)
【文献】特表2014-515515(JP,A)
【文献】特開2019-145058(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/14
G06F 3/023
G06F 3/048
(57)【特許請求の範囲】
【請求項1】
タッチスクリーンと、
OS(オペレーティングシステム)に基づく処理を実行する第1プロセッサと、
前記第1プロセッサとは異なる独立した第2プロセッサであって、仮想入力デバイスのための入力領域の画像データを示すデータを、前記第1プロセッサにより保護された汎用インターフェースを用いて、前記第1プロセッサに出力するとともに、前記タッチスクリーンが検出した接触情報に基づく入力情報を、前記第1プロセッサにより保護された汎用インターフェースを用いて、前記第1プロセッサに出力する第2プロセッサと
を備える情報処理装置。
【請求項2】
前記第1プロセッサは、前記第2プロセッサが出力した前記入力領域の画像データを前記タッチスクリーンに表示する
請求項1に記載の情報処理装置。
【請求項3】
前記第2プロセッサは、USB(Universal Serial Bus)インターフェースのHID(Human Interface Device)クラスを用いて、前記仮想入力デバイスが受け付けた入力情報を、前記第1プロセッサに出力し、UVC(USB Video Class)を用いて、前記入力領域の画像データを前記第1プロセッサに出力する
請求項1又は請求項2に記載の情報処理装置。
【請求項4】
前記第1プロセッサは、前記タッチスクリーンにおける前記入力領域の表示位置を示す表示位置情報を前記第2プロセッサに送信し、前記第2プロセッサが出力した前記入力領域の画像データを、前記タッチスクリーンにおける前記入力領域の表示位置に表示し、
前記第2プロセッサは、前記第1プロセッサから送信された前記表示位置情報に基づいて、前記入力領域を設定する
請求項1から請求項3のいずれか一項に記載の情報処理装置。
【請求項5】
前記第1プロセッサは、前記仮想入力デバイスの種類を示す種類情報を前記第2プロセッサに送信し、
前記第2プロセッサは、前記第1プロセッサから送信された前記種類情報に基づいて、前記入力領域の種類を設定する
請求項1から請求項4のいずれか一項に記載の情報処理装置。
【請求項6】
前記第2プロセッサは、前記仮想入力デバイスが受け付けた入力情報に応じたフィードバックにより、前記入力領域の画像データを変更する
請求項1から請求項5のいずれか一項に記載の情報処理装置。
【請求項7】
前記タッチスクリーンは、前記第1プロセッサの主画面の画像データを表示する第1表示領域と、前記入力領域の画像データを含む画像データを表示する第2表示領域とを備える
請求項1から請求項6のいずれか一項に記載の情報処理装置。
【請求項8】
タッチスクリーンと、OS(オペレーティングシステム)に基づく処理を実行する第1プロセッサと、前記第1プロセッサとは異なる独立した第2プロセッサとを備える情報処理装置の制御方法であって、
前記第2プロセッサが、仮想入力デバイスのための入力領域の画像データを示すデータを、前記第1プロセッサにより保護された汎用インターフェースを用いて、前記第1プロセッサに出力するステップと、
前記第2プロセッサが、前記タッチスクリーンが検出した接触情報に基づく入力情報を、前記第1プロセッサにより保護された汎用インターフェースを用いて、前記第1プロセッサに出力するステップと
を含む制御方法。
【請求項9】
OS(オペレーティングシステム)に基づく処理を実行する第1プロセッサとは異なる独立した第2プロセッサであって、
仮想入力デバイスのための入力領域の画像データを示すデータを、前記第1プロセッサにより保護された汎用インターフェースを用いて、前記第1プロセッサに出力するとともに、タッチスクリーンが検出した接触情報に基づく入力情報を、前記第1プロセッサにより保護された汎用インターフェースを用いて、前記第1プロセッサに出力する
第2プロセッサ。
【請求項10】
タッチスクリーンと、
OS(オペレーティングシステム)に基づく処理を実行する第1プロセッサと、
前記第1プロセッサとは異なる独立した第2プロセッサであって、前記タッチスクリーンが検出した接触情報に基づく入力情報を、前記第1プロセッサにより保護された汎用インターフェースを用いて、前記第1プロセッサに出力する第2プロセッサと
を備える情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、制御方法、及びプロセッサに関する。
【背景技術】
【0002】
近年、ノートブック型パーソナルコンピュータ(以下、ノートPC:Personal Computer)などの情報処理装置では、表示画面をソフトウェアキーボードなどの仮想入力デバイスとして使用するものが知られている。また、1台で複数の表示部を使用できる複数表示(Multiple display)環境を提供可能な情報処理装置が提案されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2015-233198号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、一般的に、仮想入力デバイスをソフトウェアで実装すると、他のソフトウェアから、仮想入力デバイスへの入力が読み取られるなど、セキュリティ上、及びプライバシー上のリスクが懸念される。このため、仮想入力デバイスをソフトウェアで実装する際は、例えば、Windows(登録商標)などのOS(オペレーティングシステム)付属のツールとして実装され、他者による独自の仮想入力デバイスの実装が認められないことがほとんどである。そのため、従来の情報処理装置では、このようなOSの制約などから、自由度の高い仮想入力デバイスを実現することは困難であった。
【0005】
本発明は、上記問題を解決すべくなされたもので、その目的は、機密とプライバシーとを保護しつつ、自由度の高い仮想入力デバイスを実現することができる情報処理装置、制御方法、及びプロセッサを提供することにある。
【課題を解決するための手段】
【0006】
上記問題を解決するために、本発明の一態様はタッチスクリーンと、OS(オペレーティングシステム)に基づく処理を実行する第1プロセッサと、前記第1プロセッサとは異なる独立した第2プロセッサであって、仮想入力デバイスのための入力領域の画像データを示すデータを、前記第1プロセッサにより保護された汎用インターフェースを用いて、前記第1プロセッサに出力するとともに、前記タッチスクリーンが検出した接触情報に基づく入力情報を、前記第1プロセッサにより保護された汎用インターフェースを用いて、前記第1プロセッサに出力する第2プロセッサとを備える情報処理装置である。
【0007】
また、本発明の一態様は、上記の情報処理装置において、前記第1プロセッサは、前記第2プロセッサが出力した前記入力領域の画像データを前記タッチスクリーンに表示するようにしてもよい。
【0008】
また、本発明の一態様は、上記の情報処理装置において、前記第2プロセッサは、USB(Universal Serial Bus)インターフェースのHID(Human Interface Device)クラスを用いて、前記仮想入力デバイスが受け付けた入力情報を、前記第1プロセッサに出力し、UVC(USB Video Class)を用いて、前記入力領域の画像データを前記第1プロセッサに出力するようにしてもよい。
【0009】
また、本発明の一態様は、上記の情報処理装置において、前記第1プロセッサは、前記タッチスクリーンにおける前記入力領域の表示位置を示す表示位置情報を前記第2プロセッサに送信し、前記第2プロセッサが出力した前記入力領域の画像データを、前記タッチスクリーンにおける前記入力領域の表示位置に表示し、前記第2プロセッサは、前記第1プロセッサから送信された前記表示位置情報に基づいて、前記入力領域を設定するようにしてもよい。
【0010】
また、本発明の一態様は、上記の情報処理装置において、前記第1プロセッサは、前記仮想入力デバイスの種類を示す種類情報を前記第2プロセッサに送信し、前記第2プロセッサは、前記第1プロセッサから送信された前記種類情報に基づいて、前記入力領域の種類を設定するようにしてもよい。
【0011】
また、本発明の一態様は、上記の情報処理装置において、前記第2プロセッサは、前記仮想入力デバイスが受け付けた入力情報に応じたフィードバックにより、前記入力領域の画像データを変更するようにしてもよい。
【0012】
また、本発明の一態様は、上記の情報処理装置において、前記第1プロセッサの主画面の画像データを表示する第1表示領域と、前記入力領域の画像データを含む画像データを表示する第2表示領域とを備えるようにしてもよい。
【0013】
また、本発明の一態様は、タッチスクリーンと、OS(オペレーティングシステム)に基づく処理を実行する第1プロセッサと、前記第1プロセッサとは異なる独立した第2プロセッサとを備える情報処理装置の制御方法であって、前記第2プロセッサが、仮想入力デバイスのための入力領域の画像データを示すデータを、前記第1プロセッサにより保護された汎用インターフェースを用いて、前記第1プロセッサに出力するステップと、前記第2プロセッサが、前記タッチスクリーンが検出した接触情報に基づく入力情報を、前記第1プロセッサにより保護された汎用インターフェースを用いて、前記第1プロセッサに出力するステップとを含む制御方法である。
【0014】
また、本発明の一態様は、OS(オペレーティングシステム)に基づく処理を実行する第1プロセッサとは異なる独立した第2プロセッサであって、仮想入力デバイスのための入力領域の画像データを示すデータを、前記第1プロセッサにより保護された汎用インターフェースを用いて、前記第1プロセッサに出力するとともに、タッチスクリーンが検出した接触情報に基づく入力情報を、前記第1プロセッサにより保護された汎用インターフェースを用いて、前記第1プロセッサに出力する第2プロセッサである。
【0015】
また、本発明の一態様は、タッチスクリーンと、OS(オペレーティングシステム)に基づく処理を実行する第1プロセッサと、前記第1プロセッサとは異なる独立した第2プロセッサであって、前記タッチスクリーンが検出した接触情報に基づく入力情報を、前記第1プロセッサにより保護された汎用インターフェースを用いて、前記第1プロセッサに出力する第2プロセッサとを備える情報処理装置である。
【発明の効果】
【0016】
本発明の上記態様によれば、機密とプライバシーとを保護しつつ、自由度の高い仮想入力デバイスを実現することができる。
【図面の簡単な説明】
【0017】
図1】第1の実施形態によるノートPCの一例を示す外観図である。
図2】第1の実施形態によるノートPCの主要なハードウェア構成の一例を示す図である。
図3】第1の実施形態によるノートPCの機能構成の一例を示すブロック図である。
図4】第1の実施形態によるノートPCの仮想入力デバイスの動作の一例を示す図である。
図5】第1の実施形態によるノートPCの仮想入力デバイスの変形例を示す図である。
図6】第2の実施形態によるノートPCの主要なハードウェア構成の一例を示す図である。
図7】第2の実施形態によるノートPCの機能構成の一例を示すブロック図である。
【発明を実施するための形態】
【0018】
以下、本発明の一実施形態による情報処理装置、及び制御方法について、図面を参照して説明する。
【0019】
[第1の実施形態]
図1は、第1の実施形態によるノートPC1の一例を示す外観図である。なお、本実施形態において、情報処理装置の一例として、ノートPC1について説明する。
図1に示すように、ノートPC1は、第1筐体101と、第2筐体102とを備え、ヒンジ機構により一方の筐体(第1筐体101)の側面が他方の筐体(第2筐体102)の側面に係合され、ヒンジ機構の回転軸周りに第1筐体101が第2筐体102に対して回動可能に構成されている。
【0020】
また、ノートPC1は、タッチスクリーン14と表示部15とを備える。表示部15は、第1筐体101に配置されており、メインの表示部として機能する。タッチスクリーン14は、第2筐体102に配置されており、表示部141と、タッチセンサ部142とを備える。
本実施形態では、第2筐体102に配置されたタッチスクリーン14により、仮想入力デバイスであるOSK(On Screen Keyboard)を実行する場合に一例について説明する。
【0021】
図2は、本実施形態によるノートPC1の主要なハードウェア構成の一例を示す図である。
図2に示すように、ノートPC1は、CPU11と、メインメモリ12と、ビデオサブシステム13と、タッチスクリーン14と、表示部15と、チップセット21と、BIOSメモリ22と、HDD23と、オーディオシステム24と、WLANカード25と、USBコネクタ26と、撮像部27と、エンベデッドコントローラ31と、入力部32と、電源回路33と、MCU(Micro Control Unit)40とを備える。
【0022】
なお、本実施形態において、CPU11と、メインメモリ12と、ビデオサブシステム13と、チップセット21と、BIOSメモリ22と、HDD23と、オーディオシステム24と、WLANカード25と、USBコネクタ26と、撮像部27と、エンベデッドコントローラ31と、入力部32と、電源回路33とは、OS(オペレーティングシステム)に基づく処理を実行するメインシステム10に対応する。
メインシステム10は、例えば、Windows(登録商標)に基づいて、各種処理を実行する。
【0023】
CPU(Central Processing Unit)11は、プログラム制御により種々の演算処理を実行し、ノートPC1全体を制御している。
メインメモリ12は、CPU11の実行プログラムの読み込み領域として、又は、実行プログラムの処理データを書き込む作業領域として利用される書き込み可能メモリである。メインメモリ12は、例えば、複数個のDRAM(Dynamic Random Access Memory)チップで構成される。この実行プログラムには、OS、周辺機器類をハードウェア操作するための各種ドライバ、各種サービス/ユーティリティ、アプリケーションプログラム等が含まれる。
【0024】
ビデオサブシステム13は、画像表示に関連する機能を実現するためのサブシステムであり、ビデオコントローラを含んでいる。このビデオコントローラは、CPU11からの描画命令を処理し、処理した描画情報をビデオメモリに書き込むとともに、ビデオメモリからこの描画情報を読み出して、表示部15及び表示部141に描画データ(画像データ)として出力する。ビデオサブシステム13は、例えば、HDMI(High-Definition Multimedia Interface(登録商標))やDP(Display Port)により出力する。
【0025】
タッチスクリーン14は、図1に示すように、第2筐体102に配置され、表示部141と、タッチセンサ部142とを備える。
表示部141は、例えば、液晶ディスプレイや電子ペーパーなどであり、画像データを表示画面に表示する。
【0026】
タッチセンサ部142は、表示部141の表示画面に重ねて配置され、表示部141の表示画面上における物体(人体の一部を含む)との接触を検出する。タッチセンサ部142は、表示画面上の検出領域内に接触した位置である接触位置を示す接触位置情報をMCU40に出力する。
【0027】
表示部15は、第1筐体101に配置され、ノートPC1のメイン表示部として機能する。表示部15は、例えば、液晶ディスプレイや有機ELディスプレイなどであり、画像データを表示画面に表示する。
【0028】
チップセット21は、USB(Universal Serial Bus)、シリアルATA(AT Attachment)、SPI(Serial Peripheral Interface)バス、PCI(Peripheral Component Interconnect)バス、PCI-Expressバス、及びLPC(Low Pin Count)バスなどのコントローラを備えており複数のデバイスが接続される。図2では、デバイスの例示として、BIOSメモリ22と、HDD23と、オーディオシステム24と、WLANカード25と、USBコネクタ26と、撮像部27とが、チップセット21に接続されている。
【0029】
BIOS(Basic Input Output System)メモリ22は、例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)やフラッシュROMなどの電気的に書き換え可能な不揮発性メモリで構成される。BIOSメモリ22は、BIOS、及びエンベデッドコントローラ31などを制御するためのシステムファームウェアなどを記憶する。
【0030】
HDD(Hard Disk Drive)23(不揮発性記憶装置の一例)は、OS、各種ドライバ、各種サービス/ユーティリティ、アプリケーションプログラム、及び各種データを記憶する。
オーディオシステム24は、音データの記録、再生、出力を行う。
【0031】
WLAN(Wireless Local Area Network)カード25は、ワイヤレス(無線)LANにより、ネットワークに接続して、データ通信を行う。WLANカード25は、例えば、ネットワークからのデータを受信した際に、データを受信したことを示すイベントトリガを発生する。
【0032】
USBコネクタ26は、USBを利用した周辺機器類を接続するためのコネクタである。
撮像部27は、例えば、Webカメラであり、画像を撮像する。撮像部27は、例えば、USBインターフェースによりチップセット21と接続されている。
【0033】
エンベデッドコントローラ31は、ノートPC1のシステム状態に関わらず、各種デバイス(周辺装置やセンサ等)を監視し制御するワンチップマイコン(One-Chip Microcomputer)である。また、エンベデッドコントローラ31は、電源回路33を制御する電源管理機能を有している。なお、エンベデッドコントローラ31は、不図示のCPU、ROM、RAMなどで構成されるとともに、複数チャネルのA/D入力端子、D/A出力端子、タイマ、及びデジタル入出力端子を備えている。エンベデッドコントローラ31には、それらの入出力端子を介して、例えば、入力部32、及び電源回路33などが接続されており、エンベデッドコントローラ31は、これらの動作を制御する。
【0034】
入力部32は、例えば、電源スイッチなどの制御スイッチである。
電源回路33は、例えば、DC/DCコンバータ、充放電ユニット、電池ユニット、AC/DCアダプタなどを含んでおり、AC/DCアダプタ、又は電池ユニットから供給される直流電圧を、ノートPC1を動作させるために必要な複数の電圧に変換する。また、電源回路33は、エンベデッドコントローラ31からの制御に基づいて、ノートPC1の各部に電力を供給する。
【0035】
MCU40は、例えば、CPUなどを含むプロセッサであり、内蔵するファームウェアを実行することで、メインシステム10とは異なる独立した組込みシステムとして機能する。MCU40は、例えば、USBインターフェースによって、チップセット21と接続されている。MCU40は、仮想入力デバイスのための入力領域の画像データを生成し、入力領域の画像データを、メインシステム10により保護された汎用インターフェース(例えば、UVC(USB Video Class))を用いて、メインシステム10に出力する。
【0036】
また、MCU40は、タッチセンサ部142が入力領域において検出した検出情報に基づく入力情報を、仮想入力デバイスが受け付けた入力情報として、メインシステム10により保護された汎用インターフェース(例えば、USBのHID(Human Interface Device)クラス)を用いて、メインシステム10(チップセット21)に出力する。なお、MCU40の詳細については、図3を参照して後述する。
【0037】
次に、図3を参照して、本実施形態によるノートPC1の機能構成について説明する。 図3は、本実施形態によるノートPC1の機能構成の一例を示すブロック図である。 図3に示すように、ノートPC1は、メインシステム10と、タッチスクリーン14と、MCU40とを備える。なお、図3において、ノートPC1の構成として、本実施形態の発明に関する主要な機能構成のみを記載している。
【0038】
メインシステム10は、USBドライバ51と、OSKアプリケーション52とを備える。
USBドライバ51は、CPU11とチップセット21とにより実現される機能部であり、USBインターフェースを制御する。本実施形態では、USBインターフェースとして、HIDクラスと、VIDEOクラス(UVC)とを使用する。
【0039】
OSKアプリケーション52は、例えば、OSKを使用するためのAPI(Application Programming Interface)である。OSKアプリケーション52は、OSKを使用する場合に、まず、USBドライバ51のHIDクラスを用いて、OSKの設定情報であるOSK情報をMCU40に送信する。ここで、OSK情報には、例えば、仮想入力デバイスの種類を示す種類情報や、表示部141における入力領域の表示位置を示す表示位置情報が含まれる。
【0040】
OSKアプリケーション52は、USBドライバ51のVIDEOクラスを用いて、MCU40から出力されたOSKの画像データ(以下、OSK画像データという)を受信し、上述した表示部141における入力領域の表示位置に、当該OSK画像データを表示させる。例えば、OSKの入力領域が表示部141の一部である場合には、表示部141に表示している画像データの一部に、OSK画像データをオーバーレイして表示データを生成し、表示データを表示部141に出力する。
また、OSKアプリケーション52は、USBドライバ51のHIDクラスを用いて、OSKのキーコードなどの入力情報をMCU40から受信する。
【0041】
なお、OSKアプリケーション52は、OSKが操作された際に、OSKの操作に応じたフィードバックのOSK画像データを、USBドライバ51のVIDEOクラスを用いて、MCU40から受信し、当該フィードバックのOSK画像データを表示部141に表示させる。また、OSKアプリケーション52は、OSK画像データが圧縮されている場合に、圧縮されたOSK画像データを伸張して、表示部141に出力する。
【0042】
MCU40は、入力処理部41と、表示処理部42とを備える。
入力処理部41は、USBインターフェースのHIDクラスを用いて、種類情報及び表示位置情報をメインシステム10から受信し、種類情報に基づいて、仮想入力デバイスの入力領域の種類を設定するとともに、表示位置情報に基づいて、仮想入力デバイスの入力領域を設定する。なお、入力処理部41は、入力領域の種類及び入力領域の設定情報を不図示の記憶部に記憶させる。また、種類情報には、例えば、OSK、タッチパッド、手書き入力デバイスなどが含まれる。また、入力処理部41は、受信した種類情報及び表示位置情報を表示処理部42に出力して、OSK画像データを生成させる。
【0043】
また、入力処理部41は、タッチセンサ部142が検出した検出情報を取得し、上述により設定された入力領域において検出した検出情報を、キーコードなどの入力情報に変換する。入力処理部41は、変換した入力情報をUSBインターフェースのHIDクラスを用いて、メインシステム10に出力する。
また、入力処理部41は、タッチセンサ部142の検出情報を表示処理部42に出力して、検出情報に応じたフィードバックのOSK画像データを生成させる。
【0044】
表示処理部42は、種類情報及び表示位置情報に基づいて、OSK画像データを生成し、生成したOSK画像データを、USBインターフェースのVIDEOクラス(UVC)を用いてメインシステム10に出力する。なお、表示処理部42は、生成したOSK画像データを、例えば、JPEG(Joint Photographic Experts Group)などの圧縮形式により、圧縮して、メインシステム10に出力するようにしてもよい。
【0045】
次に、図面を参照して、本実施形態によるノートPC1の動作について説明する。
図4は、本実施形態によるノートPC1の仮想入力デバイスの動作の一例を示す図である。なお、ここでは、仮想入力デバイスがOSKである場合の一例について説明する。
【0046】
図4に示すように、ノートPC1のメインシステム10は、まず、OSK情報をMCU40に出力する(ステップS101)。メインシステム10のOSKアプリケーション52は、USBドライバ51のHIDクラスを用いて、例えば、種類情報及び表示位置情報を含むOSK情報をMCU40に送信する。
【0047】
次に、MCU40は、OSK画像を生成する(ステップS102)。すなわち、MCU40の表示処理部42は、種類情報及び表示位置情報に基づいて、例えば、図1の表示部141に示すようなOSK画像データを生成する。なお、MCU40の入力処理部41は、受信した種類情報及び表示位置情報に基づいて、仮想入力デバイスの入力領域及び種類を設定する。
【0048】
次に、MCU40の表示処理部42は、生成したOSK画像データを、USBインターフェースのVIDEOクラス(UVC)を用いてメインシステム10に出力する(ステップS103)。なお、表示処理部42は、OSK画像データをJPEGなどで圧縮して、メインシステム10に出力するようにしてもよい。
【0049】
次に、メインシステム10のOSKアプリケーション52は、MCU40から受信したOSK画像データを表示部141に出力する(ステップS104)。OSKアプリケーション52は、OSK画像データが圧縮されている場合に、OSK画像データを伸張する。また、OSKアプリケーション52は、タッチセンサ部142において、設定された入力領域とOSK画像データが一致するように、OSK画像データを表示部141に表示させるように、OSK画像データを、例えば、HDMI(登録商標)などのインターフェースにより、表示部141に出力する。
【0050】
次に、表示部141は、受信したOSK画像データを表示する(ステップS105)。表示部141は、OSK画像データが、タッチセンサ部142に設定されたOSKの入力領域と一致するように、OSK画像データを表示する。
【0051】
また、一方で、タッチセンサ部142は、OSKの入力を検出したか否かを判定する(ステップS106)。タッチセンサ部142は、OSKの入力を検出した場合(ステップS106:YES)に、処理をステップS107に進める。また、タッチセンサ部142は、OSKの入力を検出していない場合(ステップS106:NO)に、処理をステップS106に戻す。
【0052】
ステップS107において、タッチセンサ部142は、OSKの入力を検出した検出情報を、MCU40に送信する。
【0053】
次に、MCU40の入力処理部41は、OSKの入力を検出した検出情報をキーコードに変換し、変換したキーコードをUSBインターフェースのHIDクラスを用いて、メインシステム10に送信する(ステップS108)。
【0054】
次に、メインシステム10のOSKアプリケーション52は、受信したキーコードを、OSKの入力として受け付ける(ステップS109)。OSKアプリケーション52は、受信したキーコードを各種処理の入力として利用する。
【0055】
また、MCU40の表示処理部42は、OSKの入力フィードバック画像を生成する(ステップS110)。表示処理部42は、例えば、OSKの押下されたキーの位置に対応するOSK画像の位置を反転するなどの入力フィードバックのOSK画像データを生成する。
【0056】
次に、MCU40の表示処理部42は、生成した入力フィードバックのOSK画像データを、USBインターフェースのVIDEOクラス(UVC)を用いてメインシステム10に出力する(ステップS111)。
【0057】
次に、メインシステム10のOSKアプリケーション52は、MCU40から受信した入力フィードバックのOSK画像データを表示部141に出力する(ステップS112)。
【0058】
次に、表示部141は、入力フィードバックのOSK画像を表示する(ステップS113)。表示部141は、受信した入力フィードバックのOSK画像データにより、例えば、OSKの押下されたキーの部分が反転するなどのフィードバック画像を表示する。
【0059】
なお、図4に示す処理において、ステップS102からステップS105の処理は、所定の時間間隔で、繰り返し実行されるようにしてもよい。
【0060】
以上説明したように、本実施形態によるノートPC1(情報処理装置)は、表示部141と、タッチセンサ部142と、メインシステム10と、MCU40とを備える。タッチセンサ部142は、表示部141上に配置され、表示部141上における物体との接触を検出する。メインシステム10は、OS(例えば、Windows(登録商標))に基づく処理を実行する。MCU40(組込みシステム)は、メインシステム10とは異なる独立した組込みシステムであって、仮想入力デバイスのための入力領域の画像データを生成し、入力領域の画像データを、メインシステム10により保護された汎用インターフェースを用いて、メインシステム10に出力する。また、MCU40は、タッチセンサ部142が入力領域において検出した検出情報に基づく入力情報を、仮想入力デバイスが受け付けた入力情報として、メインシステム10により保護された汎用インターフェースを用いて、メインシステム10に出力する。そして、メインシステム10は、MCU40が出力した入力領域の画像データを表示部141に表示する。
【0061】
これにより、本実施形態によるノートPC1は、独立したMCU40内の処理により、例えば、OSKなどの仮想入力デバイスを実現するため、メインシステム10のOS(例えば、Windows(登録商標))による制約を受けずに自由度の高い仮想入力デバイスを実現することができる。また、本実施形態によるノートPC1は、メインシステム10により保護された汎用インターフェースを用いて、入力情報及び入力領域の画像データをメインシステム10に出力するため、他のソフトウェアから干渉を受ける懸念を低減することができる。すなわち、本実施形態によるノートPC1では、例えば、メインシステム10のOSが、コンピュータウイルスやマルウェアなどに感染した場合であっても、仮想入力デバイスへの入力が読み取られる心配がない。よって、本実施形態によるノートPC1は、プライバシーを保護しつつ、自由度の高い仮想入力デバイスを実現することができる。
【0062】
また、本実施形態によるノートPC1は、独立した組込みシステムであるMCU40を追加するだけで、仮想入力デバイスを実現することができるため、簡易な構成の追加により、安全で自由度の高い仮想入力デバイスを実現することができる。
【0063】
また、本実施形態では、MCU40は、USBインターフェースのHIDクラスを用いて、仮想入力デバイスが受け付けた入力情報を、メインシステム10に出力し、UVCを用いて、入力領域の画像データをメインシステム10に出力する。
【0064】
USBインターフェースのHIDクラス、及びUVCは、いずれも、OS(例えば、Windows(登録商標))により保護された安全なインターフェースであるため、本実施形態によるノートPC1は、簡易な手法により、プライバシーを保護することができる。
【0065】
また、本実施形態では、メインシステム10は、表示部141における入力領域の表示位置を示す表示位置情報をMCU40に送信し、MCU40が出力した入力領域の画像データを、表示部141における入力領域の表示位置に表示する。MCU40は、メインシステム10から送信された表示位置情報に基づいて、入力領域を設定する。
これにより、本実施形態によるノートPC1は、表示部141の任意の領域に仮想入力デバイスを適切に作成することができる。
【0066】
また、本実施形態では、メインシステム10は、仮想入力デバイスの種類を示す種類情報をMCU40に送信する。MCU40は、メインシステム10から送信された種類情報に基づいて、入力領域の種類を設定する。
これにより、本実施形態によるノートPC1は、様々な種類の仮想入力デバイスに適切に対応することができる。
【0067】
また、本実施形態では、MCU40は、仮想入力デバイスが受け付けた入力情報に応じたフィードバックにより、入力領域の画像データを変更する。
これにより、本実施形態によるノートPC1は、機密とプライバシーとを保護しつつ、仮想入力デバイスの入力情報に応じたフィードバックの画像の表示を実現することができる。
【0068】
また、本実施形態による制御方法は、表示部141と、表示部141上に配置され、表示部141上における物体との接触を検出するタッチセンサ部142と、OS(オペレーティングシステム)に基づく処理を実行するメインシステム10と、メインシステム10とは異なる独立したMCU40とを備えるノートPC1の制御方法であって、第1の出力ステップと、表示ステップと、第2の出力ステップとを含む。第1の出力ステップにおいて、MCU40が、仮想入力デバイスのための入力領域の画像データを生成し、入力領域の画像データを、メインシステム10により保護された汎用インターフェースを用いて、メインシステム10に出力する。表示ステップにおいて、メインシステム10が、MCU40が出力した入力領域の画像データを表示部141に表示する。第2の出力ステップにおいて、MCU40が、タッチセンサ部142が入力領域において検出した検出情報に基づく入力情報を、仮想入力デバイスが受け付けた入力情報として、メインシステム10により保護された汎用インターフェースを用いて、メインシステム10に出力する。
これにより、本実施形態による制御方法は、上述したノートPC1と同様の効果を奏し、機密とプライバシーとを保護しつつ、自由度の高い仮想入力デバイスを実現することができる。
【0069】
なお、上述した本実施形態では、タッチスクリーン14に1つのOSKを実現する例を説明したが、図5に示すように、タッチスクリーン14に複数の仮想入力デバイスを実現するようにしてもよい。
【0070】
図5は、本実施形態によるノートPC1の仮想入力デバイスの変形例を示す図である。 図5では、ノートPC1の第2筐体に配置された表示部141を示しており、表示部141には、OSK(領域A1)と、手書き入力デバイス(領域A2)との2つの仮想入力デバイスが表示されている。
【0071】
図5に示す例では、MCU40は、OSKと手書き入力デバイスとの2つの仮想入力デバイスの入力情報をメインシステム10に出力するとともに、OSK(領域A1)と、手書き入力デバイス(領域A2)との2つの画像データを生成して、メインシステム10に出力する。
【0072】
また、上述した本実施形態において、MCU40は、画像データの更新処理の負荷が大きい場合、USBでの画像の転送のための通信帯域が不足する場合、もしくは、効率的にそれらを実装したい場合に、画像データをブロック分けして、ブロックごとに必要に応じて処理するようにしてもよい。このようにすることによって、ノートPC1は、処理負荷を軽減し、使用される通信帯域を低減することができる。
【0073】
[第2の実施形態]
次に、図面を参照して、第2の実施形態によるノートPC1aについて説明する。
第2の実施形態では、主画面を表示する表示部15の代わりに、タッチスクリーン14を備える変形例について説明する。
【0074】
図6は、本実施形態によるノートPC1aの主要なハードウェア構成の一例を示す図である。
図6に示すように、ノートPC1aは、CPU11と、メインメモリ12と、ビデオサブシステム13と、2つのタッチスクリーン14と、表示部15と、チップセット21と、BIOSメモリ22と、HDD23と、オーディオシステム24と、WLANカード25と、USBコネクタ26と、撮像部27と、エンベデッドコントローラ31と、入力部32と、電源回路33と、MCU40aとを備える。
なお、図8において、上述した図2と同一の構成には、同一の符号を付与して、その説明を省略する。
【0075】
本実施形態では、ノートPC1aは、2つのタッチスクリーン14(14-1、14-2)を備える。タッチスクリーン14-1は、第1筐体101に配置されており、メインの表示部として機能する。タッチスクリーン14-1は、表示部141-1と、タッチセンサ部142-1とを備える。
タッチスクリーン14-2は、第2筐体102に配置されており、表示部141-2と、タッチセンサ部142-2とを備える。
【0076】
なお、タッチスクリーン14-1と、タッチスクリーン14-2とは、同一の構成であり、ノートPC1aが備える任意のタッチスクリーンを示す場合、又は特に区別しない場合には、タッチスクリーン14として説明する。
また、表示部141-1と表示部141-2とは、上述した表示部141と同一の構成であるため、ここではその説明を省略する。また、タッチセンサ部142-1とタッチセンサ部142-2とは、上述したタッチセンサ部142と同一の構成であるため、ここではその説明を省略する。
【0077】
また、本実施形態では、表示部141-1と表示部141-2とを一つの表示部140として扱うことが可能である。表示部140において、表示部141-1を第1表示領域とし、表示部141-2を第2表示領域としてもよい。
【0078】
MCU40a(組込みシステムの一例)は、基本的な機能は、上述した第1の実施形態のMCU40と同様である。MCU40aは、2つのタッチスクリーン14に対して、仮想入力デバイスの制御を行う点が第1の実施形態のMCU40と異なる。
【0079】
次に、図7を参照して、本実施形態によるノートPC1aの機能構成について説明する。
図7は、本実施形態によるノートPC1aの機能構成の一例を示すブロック図である。 図7に示すように、ノートPC1aは、メインシステム10と、2つのタッチスクリーン14(14-1、14-2)と、MCU40aとを備える。なお、図7において、ノートPC1aの構成として、本実施形態の発明に関する主要な機能構成のみを記載している。また、図7において、上述した図3と同一の構成には同一の符号を付与して、その説明を省略する。
【0080】
MCU40aは、入力処理部41aと、表示処理部42aとを備える。
入力処理部41aは、上述した第1の実施形態の入力処理部41と同様の機能を有し、2つのタッチセンサ部(142-1、142-2)に対応する点が異なる。
入力処理部41aは、USBインターフェースのHIDクラスを用いて、種類情報及び表示位置情報をメインシステム10から受信し、種類情報に基づいて、仮想入力デバイスの入力領域の種類を設定するとともに、表示位置情報に基づいて、仮想入力デバイスの入力領域を設定する。また、入力処理部41aは、受信した種類情報及び表示位置情報を表示処理部42aに出力して、OSK画像データを生成させる。
【0081】
また、入力処理部41aは、2つのタッチセンサ部(142-1、142-2)が検出した検出情報を取得し、上述により設定された入力領域において検出した検出情報を、キーコードなどの入力情報に変換する。入力処理部41aは、変換した入力情報をUSBインターフェースのHIDクラスを用いて、メインシステム10に出力する。
また、入力処理部41は、上述により設定された入力領域の入力を検出した場合に、2つのタッチセンサ部(142-1、142-2)の検出情報を表示処理部42aに出力して、検出情報に応じたフィードバックのOSK画像データを生成させる。
【0082】
表示処理部42aは、種類情報及び表示位置情報に基づいて、表示部141-1及び表示部141-2に対応するOSK画像データを生成し、生成したOSK画像データを、USBインターフェースのVIDEOクラス(UVC)を用いてメインシステム10に出力する。
【0083】
なお、本実施形態のOSKアプリケーション52は、USBドライバ51のVIDEOクラスを用いて、MCU40aから出力されたOSK画像データを受信する。OSKアプリケーション52は、OSK画像データが、表示部141-1の仮想入力デバイスである場合に、表示部141-1の入力領域の表示位置に、当該OSK画像データを表示させる表示データAを出力して、表示部141-1に表示させる。また、OSKアプリケーション52は、OSK画像データが、表示部141-2の仮想入力デバイスである場合に、表示部141-2の入力領域の表示位置に、当該OSK画像データを表示させる表示データAを出力して、表示部141-2に表示させる。
【0084】
以上説明したように、本実施形態によるノートPC1aは、メインシステム10と、2つのタッチスクリーン14(14-1、14-2)と、MCU40aとを備える。MCU40aは、2つのタッチスクリーン14(14-1、14-2)に対応した仮想入力デバイスの制御を行う。
これにより、本実施形態によるノートPC1aは、主画面を表示する14-1に対しても仮想入力デバイスを使用することが可能になり、プライバシーを保護しつつ、さらに自由度の高い仮想入力デバイスを実現することができる。
【0085】
また、本実施形態において、表示部140は、メインシステム10の主画面の画像データを表示する表示部141-1(第1表示領域)と、入力領域の画像データを含む画像データを表示する表示部141-2(第2表示領域)とを備えるようにしてもよい。
これにより、本実施形態によるノートPC1aは、2つの表示領域(表示部141-1及び表示部141-2)を用いて、様々な画像データを柔軟に表示させることができる。
【0086】
なお、本発明は、上記の各実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上記の各実施形態において、情報処理装置がノートPC1(1a)である例を説明したが、これに限定されるものではなく、例えば、タブレット端末装置、デスクトップPCなどの他の情報処理装置であってもよい。
【0087】
また、上記の第2の実施形態において、表示部140を2つの表示領域(表示部141-1及び表示部141-2)に分割して使用する例、もしくは、ノートPC1aが、2つの表示部141(141-1、141-2)を備える例を説明したが、これらに限定されるものではない。例えば、表示部140を3つの表示領域に分割して用いる、もしくは、ノートPC1aが、3つ以上の表示部141を備えるようにしてもよい。
【0088】
また、上記の各実施形態において、仮想入力デバイスの一例として、OSKを行う入力装置の例を説明したが、これに限定されるものではない。仮想入力デバイスは、例えば、手書き入力デバイス、ソフトウェアキーボード、ポインティングデバイス、などであってもよい。
【0089】
また、上記の各実施形態において、メインシステム10(OS)により保護された汎用インターフェースの例として、USBインターフェースのHIDクラス、及びUVCを用いる例を説明したが、これに限定されるものではなく、メインシステム10(OS)により保護されたインターフェースであれば、他の汎用インターフェースをもちいてもよい。
【0090】
また、上記の各実施形態において、MCU40(40a)は、フィードバックのOSK画像データを生成する例を説明したが、OSK画像データとともに、例えば、クリック音などの音データを生成するようにしてもよい。
【0091】
(1)表示部と、前記表示部上に配置され、前記表示部上における物体との接触を検出するタッチセンサ部と、OS(オペレーティングシステム)に基づく処理を実行するメインシステムと、前記メインシステムとは異なる独立した組込みシステムであって、仮想入力デバイスのための入力領域の画像データを生成し、前記入力領域の画像データを、前記メインシステムにより保護された汎用インターフェースを用いて、前記メインシステムに出力するとともに、前記タッチセンサ部が前記入力領域において検出した検出情報に基づく入力情報を、前記仮想入力デバイスが受け付けた入力情報として、前記メインシステムにより保護された汎用インターフェースを用いて、前記メインシステムに出力する組込みシステムとを備え、前記メインシステムは、前記組込みシステムが出力した前記入力領域の画像データを前記表示部に表示する情報処理装置。
(2)前記組込みシステムは、USB(Universal Serial Bus)インターフェースのHID(Human Interface Device)クラスを用いて、前記仮想入力デバイスが受け付けた入力情報を、前記メインシステムに出力し、UVC(USB Video Class)を用いて、前記入力領域の画像データを前記メインシステムに出力する(1)に記載の情報処理装置。
(3)前記メインシステムは、前記表示部における前記入力領域の表示位置を示す表示位置情報を前記組込みシステムに送信し、前記組込みシステムが出力した前記入力領域の画像データを、前記表示部における前記入力領域の表示位置に表示し、前記組込みシステムは、前記メインシステムから送信された前記表示位置情報に基づいて、前記入力領域を設定する(1)又は(2)に記載の情報処理装置。
(4)前記メインシステムは、前記仮想入力デバイスの種類を示す種類情報を前記組込みシステムに送信し、前記組込みシステムは、前記メインシステムから送信された前記種類情報に基づいて、前記入力領域の種類を設定する(1)から(3)のいずれかに記載の情報処理装置。
(5)前記組込みシステムは、前記仮想入力デバイスが受け付けた入力情報に応じたフィードバックにより、前記入力領域の画像データを変更する(1)から(4)のいずれかに記載の情報処理装置。
(6)前記表示部は、前記メインシステムの主画面の画像データを表示する第1表示領域と、前記入力領域の画像データを含む画像データを表示する第2表示領域とを備える(1)から(5)のいずれかに記載の情報処理装置。
(7)表示部と、前記表示部上に配置され、前記表示部上における物体との接触を検出するタッチセンサ部と、OS(オペレーティングシステム)に基づく処理を実行するメインシステムと、前記メインシステムとは異なる独立した組込みシステムとを備える情報処理装置の制御方法であって、前記組込みシステムが、仮想入力デバイスのための入力領域の画像データを生成し、前記入力領域の画像データを、前記メインシステムにより保護された汎用インターフェースを用いて、前記メインシステムに出力するステップと、前記メインシステムが、前記組込みシステムが出力した前記入力領域の画像データを前記表示部に表示するステップと、前記組込みシステムが、前記タッチセンサ部が前記入力領域において検出した検出情報に基づく入力情報を、前記仮想入力デバイスが受け付けた入力情報として、前記メインシステムにより保護された汎用インターフェースを用いて、前記メインシステムに出力するステップとを含む制御方法。
【0092】
なお、上述したノートPC1(1a)が備える各構成は、内部に、コンピュータシステムを有している。そして、上述したノートPC1(1a)が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したノートPC1(1a)が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD-ROM等の非一過性の記録媒体であってもよい。
【0093】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にノートPC1(1a)が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0094】
また、上述した機能の一部又は全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【0095】
1、1a ノートPC
10 メインシステム
11 CPU
12 メインメモリ
13 ビデオサブシステム
14、14-1、14-2 タッチスクリーン
15 表示部
21 チップセット
22 BIOSメモリ
23 HDD
24 オーディオシステム
25 WLANカード
26 USBコネクタ
27 撮像部
31 エンベデッドコントローラ(EC)
32 入力部
33 電源回路
40、40a MCU
41、41a 入力処理部
42、42a 表示処理部
101 第1筐体
102 第2筐体
140、141、141-1、141-2 表示部
142、142-1、142-2 タッチセンサ部
図1
図2
図3
図4
図5
図6
図7