【解決手段】情報処理装置は、表示部と、表示部上に配置され、表示部上における物体との接触を検出するタッチセンサ部と、OS(オペレーティングシステム)に基づく処理を実行するメインシステムと、メインシステムとは異なる独立した組込みシステムであって、メインシステムから出力された第1画像データと、仮想入力デバイスのための入力領域の画像データである第2画像データとを合成した第3画像データを表示部に表示させるとともに、タッチセンサ部が入力領域において検出した検出情報に基づく入力情報を、仮想入力デバイスが受け付けた入力情報としてメインシステムに出力する組込みシステムとを備える。
前記組込みシステムは、前記第1画像データの一部領域に、前記第2画像データを合成する処理と、前記第2画像データの一部領域に、前記第1画像データを合成する処理とを切り替えて実行する
請求項1に記載の情報処理装置。
前記組込みシステムは、前記タッチセンサ部が所定の操作を受け付けた場合に、前記第1画像データを前記表示部に表示させる状態から、前記第3画像データを前記表示部に表示させる状態に切り替える
請求項1から請求項4のいずれか一項に記載の情報処理装置。
前記表示部は、前記第1画像データと前記第3画像データとのいずれかを表示する第1表示領域と、前記メインシステムが出力された画像データを直接受信し、当該画像データを表示する第2表示領域とを備える
請求項1から請求項5のいずれか一項に記載の情報処理装置。
前記メインシステムから出力された前記第1画像データを前記組込みシステムを経由させずに、前記表示部に出力する第1経路と、前記メインシステムから出力された前記第1画像データを前記組込みシステムを経由させ、前記組込みシステムから出力された前記第3画像データを前記表示部に出力する第2経路と、を切り替える切替部を備え、
前記組込みシステムは、
前記第3画像データを前記表示部に表示させる場合に、前記切替部を前記第1経路から前記第2経路に切り替える
請求項1から請求項6のいずれか一項に記載の情報処理装置。
前記組込みシステムは、色空間における前記第1画像データの色と前記第2画像データの色との距離が、所定の閾値以内である場合に、前記第2画像データを視認できるように、前記第2画像データの色を変更して、前記第3画像データを生成する
請求項1から請求項7のいずれか一項に記載の情報処理装置。
表示部と、前記表示部上に配置され、前記表示部上における物体との接触を検出するタッチセンサ部と、OS(オペレーティングシステム)に基づく処理を実行するメインシステムと、前記メインシステムとは異なる独立した組込みシステムとを備える情報処理装置の制御方法であって、
前記組込みシステムが、前記メインシステムから出力された第1画像データと、仮想入力デバイスのための入力領域の画像データである第2画像データとを合成した第3画像データを前記表示部に表示させるステップと、
前記組込みシステムが、前記タッチセンサ部が前記入力領域において検出した検出情報に基づく入力情報を、前記仮想入力デバイスが受け付けた入力情報として前記メインシステムに出力するステップと
を含む制御方法。
【発明を実施するための形態】
【0017】
以下、本発明の一実施形態による情報処理装置、及び制御方法について、図面を参照して説明する。
【0018】
[第1の実施形態]
図1は、第1の実施形態によるノートPC1の一例を示す外観図である。なお、本実施形態において、情報処理装置の一例として、ノートPC1について説明する。
図1に示すように、ノートPC1は、第1筐体101と、第2筐体102とを備え、ヒンジ機構により一方の筐体(第1筐体101)の側面が他方の筐体(第2筐体102)の側面に係合され、ヒンジ機構の回転軸周りに第1筐体101が第2筐体102に対して回動可能に構成されている。
【0019】
また、ノートPC1は、タッチスクリーン14と入力部32とを備える。タッチスクリーン14は、第1筐体101に配置されており、メインの表示部として機能する。タッチスクリーン14は、表示部141と、タッチセンサ部142とを備える。
入力部32は、例えば、キーボードやポインティングデバイスであり、第2筐体102に配置されている。
【0020】
図2は、本実施形態によるノートPC1の主要なハードウェア構成の一例を示す図である。
図2に示すように、ノートPC1は、CPU11と、メインメモリ12と、ビデオサブシステム13と、タッチスクリーン14と、チップセット21と、BIOSメモリ22と、HDD23と、オーディオシステム24と、WLANカード25と、USBコネクタ26と、撮像部27と、エンベデッドコントローラ31と、入力部32と、電源回路33と、SoC(System-on-a-Chip)40と、I/F(インタフェース)ブリッジ52とを備える。
【0021】
なお、本実施形態において、CPU11と、メインメモリ12と、ビデオサブシステム13と、チップセット21と、BIOSメモリ22と、HDD23と、オーディオシステム24と、WLANカード25と、USBコネクタ26と、撮像部27と、エンベデッドコントローラ31と、入力部32と、電源回路33とは、OS(オペレーティングシステム)に基づく処理を実行するメインシステム10に対応する。
メインシステム10は、例えば、Windows(登録商標)に基づいて、各種処理を実行する。
【0022】
CPU(Central Processing Unit)11は、プログラム制御により種々の演算処理を実行し、ノートPC1全体を制御している。
メインメモリ12は、CPU11の実行プログラムの読み込み領域として、又は、実行プログラムの処理データを書き込む作業領域として利用される書き込み可能メモリである。メインメモリ12は、例えば、複数個のDRAM(Dynamic Random Access Memory)チップで構成される。この実行プログラムには、OS、周辺機器類をハードウェア操作するための各種ドライバ、各種サービス/ユーティリティ、アプリケーションプログラム等が含まれる。
【0023】
ビデオサブシステム13は、画像表示に関連する機能を実現するためのサブシステムであり、ビデオコントローラを含んでいる。このビデオコントローラは、CPU11からの描画命令を処理し、処理した描画情報をビデオメモリに書き込むとともに、ビデオメモリからこの描画情報を読み出して、表示部141に描画データ(画像データ)として出力する。ビデオサブシステム13は、例えば、HDMI(High-Definition Multimedia Interface(登録商標))により出力する。
【0024】
チップセット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に接続されている。
【0025】
BIOS(Basic Input Output System)メモリ22は、例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)やフラッシュROMなどの電気的に書き換え可能な不揮発性メモリで構成される。BIOSメモリ22は、BIOS、及びエンベデッドコントローラ31などを制御するためのシステムファームウェアなどを記憶する。
【0026】
HDD(Hard Disk Drive)23(不揮発性記憶装置の一例)は、OS、各種ドライバ、各種サービス/ユーティリティ、アプリケーションプログラム、及び各種データを記憶する。
オーディオシステム24は、音データの記録、再生、出力を行う。
【0027】
WLAN(Wireless Local Area Network)カード25は、ワイヤレス(無線)LANにより、ネットワークに接続して、データ通信を行う。WLANカード25は、例えば、ネットワークからのデータを受信した際に、データを受信したことを示すイベントトリガを発生する。
【0028】
USBコネクタ26は、USBを利用した周辺機器類を接続するためのコネクタである。
撮像部27は、例えば、Webカメラであり、画像を撮像する。撮像部27は、例えば、USBインタフェースによりチップセット21と接続されている。
【0029】
エンベデッドコントローラ31は、ノートPC1のシステム状態に関わらず、各種デバイス(周辺装置やセンサ等)を監視し制御するワンチップマイコン(One-Chip Microcomputer)である。また、エンベデッドコントローラ31は、電源回路33を制御する電源管理機能を有している。なお、エンベデッドコントローラ31は、不図示のCPU、ROM、RAMなどで構成されるとともに、複数チャネルのA/D入力端子、D/A出力端子、タイマ、及びデジタル入出力端子を備えている。エンベデッドコントローラ31には、それらの入出力端子を介して、例えば、入力部32、及び電源回路33などが接続されており、エンベデッドコントローラ31は、これらの動作を制御する。
【0030】
入力部32は、例えば、キーボードなどの、ポインティング・デバイス、タッチパッドなどの入力デバイスである。
電源回路33は、例えば、DC/DCコンバータ、充放電ユニット、電池ユニット、AC/DCアダプタなどを含んでおり、AC/DCアダプタ、又は電池ユニットから供給される直流電圧を、ノートPC1を動作させるために必要な複数の電圧に変換する。また、電源回路33は、エンベデッドコントローラ31からの制御に基づいて、ノートPC1の各部に電力を供給する。
【0031】
SoC40は、例えば、CPUなどを含むプロセッサであり、例えば、内蔵するファームウェアを実行することで実現され、メインシステム10とは異なる独立した組込みシステムとして機能する。SoC40は、例えば、ソフトウェアキーボードなどの仮想入力デバイスを制御する。SoC40は、メインシステム10から出力された画像データである出力画像データ(第1画像データ)と、仮想入力デバイスのための入力領域の画像データである入力画像データ(第2画像データ)とを合成した合成画像データ(第3画像データ)を表示部141に表示させる。また、SoC40は、タッチセンサ部142が仮想入力デバイスの入力領域において検出したセン検出情報に基づく入力情報を、仮想入力デバイスが受け付けた入力情報としてメインシステム10(例えば、エンベデッドコントローラ31)に出力する。なお、SoC40の詳細については、
図3を参照して後述する。
【0032】
I/Fブリッジ51は、HDMI(登録商標)からMIPI−CSI(Mobile Industry Processor Interface-Camera Serial Interface)に画像データのインタフェースを変換する。すなわち、I/Fブリッジ51は、メインシステム10から出力された画像データを、HDMI(登録商標)からMIPI−CSIに変換して、SoC40に出力する。
【0033】
タッチスクリーン14は、
図1に示すように、第1筐体101に配置され、表示部141と、タッチセンサ部142とを備える。
表示部141は、例えば、液晶ディスプレイや有機ELディスプレイなどであり、画像データを表示画面に表示する。
【0034】
タッチセンサ部142は、表示部141の表示画面に重ねて配置され、表示部141の表示画面上における物体(人体の一部を含む)との接触を検出する。タッチセンサ部142は、表示画面上の検出領域内に接触した位置である接触位置を示す接触位置情報をSoC40に出力する。
【0035】
次に、
図3を参照して、本実施形態によるノートPC1の機能構成について説明する。
図3は、本実施形態によるノートPC1の機能構成の一例を示すブロック図である。
図3に示すように、ノートPC1は、メインシステム10と、タッチスクリーン14と、SoC40と、I/Fブリッジ51とを備える。なお、
図3において、ノートPC1の構成として、本実施形態の発明に関する主要な機能構成のみを記載している。
【0036】
SoC40は、例えば、合成処理部41と、入力処理部42とを備える。
合成処理部41は、メインシステム10から出力された出力画像データをI/Fブリッジ51を介して、MIPI−CSIにより取得し、当該出力画像データと、仮想入力デバイスのため入力画像データとを合成して、合成画像データを生成する。
【0037】
以下の説明において、メインシステム10から出力された画像データを出力画像データとし、仮想入力デバイスのための入力領域の表示画像データを入力画像データとして説明する。また、入力画像データは、SoC40が備える不図示の記憶部に予め記憶されている画像データに基づいて、SoC40が生成するものとする。
【0038】
合成処理部41は、例えば、出力画像データの一部領域に、入力画像データを合成して、合成画像データを生成する。すなわち、合成処理部41は、出力画像データを背景として、入力画像データをオーバーレイして合成画像データを生成する。なお、合成処理部41は、例えば、タッチセンサ部142が、仮想入力デバイスを開始する所定の操作を受け付けた場合に、合成画像データを生成する。ここで、仮想入力デバイスを開始する所定の操作とは、タッチセンサ部142をタップする操作(例えば、複数回タップする、長押しする、など)、複数の指で入力領域のウインドウを作るような操作、等である。
【0039】
合成処理部41は、生成した合成画像データを、例えば、MIPI−DSI(Mobile Industry Processor Interface-Display Serial Interface)により、表示部141に出力し、表示部141に合成画像データを表示させる。また、合成処理部41は、仮想入力デバイスを使用していない場合、又は、タッチセンサ部142が、仮想入力デバイスを終了する所定の操作を受け付けた場合に、メインシステム10から出力された出力画像データを、そのままMIPI−DSIにより、表示部141に出力し、表示部141に出力画像データを表示させる。ここで、仮想入力デバイスを終了する所定の操作とは、例えば、入力領域のウインドウを閉じる操作などである。
【0040】
このように、合成処理部41は、タッチセンサ部142が仮想入力デバイスを開始する所定の操作を受け付けた場合に、出力画像データを表示部141に表示させる状態から、合成画像データを表示部141に表示させる状態に切り替える。また、合成処理部41は、タッチセンサ部142が仮想入力デバイスを終了する所定の操作を受け付けた場合に、合成画像データを表示部141に表示させる状態から、出力画像データを表示部141に表示させる状態に切り替える。
【0041】
なお、合成処理部41は、合成画像データを生成する際に、アルファブレンド処理(アルファブレンディング)して合成してもよい。また、合成処理部41は、出力画像データの色(背景色)と、入力画像データの色が近い場合には、仮想入力デバイスの表示を視認し易いように、入力画像データの色を変更して、合成画像データを生成するようにしてもよい。具体的に、合成処理部41は、色空間における出力画像データの色と入力画像データの色との距離が、所定の閾値以内である場合に、色が近いと判定し、入力画像データを視認できるように、入力画像データの色を変更して、合成画像データを生成する。
【0042】
なお、合成処理部41は、例えば、出力画像データの平均画素値と、入力画像データの平均画素値との差分が所定の閾値以内である場合に、色が近いと判定するようにしてもよい。また、合成処理部41は、出力画像データの背景色を検出して、入力画像データの色が、当該背景色と異なるように(色の差がでるように)、入力画像データの色を変更して、合成してもよい。
【0043】
入力処理部42は、タッチセンサ部142が検出した検出情報を取得し、仮想入力デバイスの入力領域における検出である場合に、検出情報に基づいて仮想入力デバイスの入力情報に変換し、当該入力情報をメインシステム10に出力する。なお、この仮想入力デバイスの入力情報は、メインシステム10において、例えば、外付け入力装置の入力情報として扱われる。
【0044】
また、入力処理部42は、仮想入力デバイスの入力領域における検出でない場合に、検出情報をそのままメインシステム10に出力する。検出情報は、例えば、メインシステム10のOSの管理下で処理されるタッチセンサ部142の検出情報として扱われる。
【0045】
また、入力処理部42は、検出情報に基づいて、上述した仮想入力デバイスを開始する所定の操作を受け付けたか否かを判定し、仮想入力デバイスを開始する所定の操作を受け付けた場合に、合成処理部41に仮想入力デバイスを開始する所定の操作を受け付けたことを通知する。また、入力処理部42は、検出情報に基づいて、上述した仮想入力デバイスを終了する所定の操作を受け付けたか否かを判定し、仮想入力デバイスを終了する所定の操作を受け付けた場合に、合成処理部41に仮想入力デバイスを終了する所定の操作を受け付けたことを通知する。
【0046】
次に、図面を参照して、本実施形態によるノートPC1の動作について説明する。
まず、
図3及び
図4を参照して、ノートPC1における仮想入力デバイスを使用する場合の動作について説明する。
【0047】
図3に示すように、ノートPC1のメインシステム10は、通常の処理において、表示部141に表示させる画像データを出力画像データとして、HDMI(登録商標)によりI/Fブリッジ51に出力する。I/Fブリッジ51は、受信した出力画像データを、カメラ用の画像データを送信するインタフェースであるMIPI−CSIに変換して、SoC40に出力する。
【0048】
次に、SoC40の合成処理部41は、仮想入力デバイスを使用する場合に、メインシステム10から出力された出力画像データと、仮想入力デバイスの入力画像データとを合成して、合成画像データを生成する。
【0049】
図4は、本実施形態における仮想入力デバイスの表示の合成処理の一例を示す図である。
図4に示すように、合成処理部41は、例えば、画像G1のような出力画像データの一部領域に、画像G2のような入力画像データをオーバーレイして、画像G3のような合成画像データを生成する。なお、画像G3において、画像G2の表示領域は、仮想入力デバイスの入力領域VIA1として機能する。なお、
図4に示す仮想入力デバイスは、手書き入力を行う入力装置の例である。
【0050】
図3の説明に戻り、合成処理部41は、合成した合成画像データ(
図4の画像G3など)を、ディスプレイ用のインタフェースであるMIPI−DSIにより、表示部141に出力する。
表示部141は、SoC40から受信した合成画像データに基づいて、例えば、
図4に示す画像G3のような合成画像を表示する。
【0051】
また、タッチセンサ部142が、例えば、
図4の画像G3内の入力領域VIA1の操作を検出した場合に、SoC40の入力処理部42は、タッチセンサ部142が検出した検出情報に基づいて仮想入力デバイスの入力情報に変換し、当該入力情報をメインシステム10に出力する。
メインシステム10は、この仮想入力デバイスの入力情報を、例えば、外付け入力装置などの入力情報として受信し、入力情報に基づく各種処理を実行する。
【0052】
例えば、
図4に示す例は、メモ帳などの文字入力を行うアプリケーションのウインドウが表示されている画像G1に、手書き入力の入力領域VIA1をオーバーレイしている。入力領域VIA1の仮想入力デバイスでは、手書き認識された文字列(
図4では、“abc”)が、メインシステム10のフォアグラウンドのメモ帳などの文字入力を行うアプリケーションへの文字入力などに用いられる。
【0053】
次に、
図5を参照して、SoC40の合成処理の詳細について説明する。
図5は、本実施形態におけるSoC40の合成処理の一例を示すフローチャートである。
【0054】
図5に示すように、SoC40は、まず、タッチセンサ部142が、仮想入力デバイスを開始する所定の操作を受け付けたか否かを判定する(ステップS101)。SoC40の入力処理部42は、タッチセンサ部142から検出情報を取得し、取得した検出情報に基づいて、仮想入力デバイスを開始する所定の操作を受け付けたか否かを判定し、仮想入力デバイスを開始する所定の操作を受け付けた場合に、SoC40の合成処理部41に通知する。合成処理部41は、入力処理部42からの通知により、仮想入力デバイスを開始する所定の操作を受け付けた場合(ステップS101:YES)に、処理をステップS102に進める。また、合成処理部41は、仮想入力デバイスを開始する所定の操作を受け付けていない場合(ステップS101:NO)に、処理をステップS105に進める。
【0055】
ステップS102において、合成処理部41は、メインシステム10からの画像データ(出力画像データ)と、入力領域の画像データ(入力画像データ)とを合成して、合成画像データを生成する。合成処理部41は、例えば、上述した
図4の画像G3のような合成画像データを生成する。
【0056】
次に、合成処理部41は、合成画像データを表示部141に出力する(ステップS103)。合成処理部41は、生成した合成画像データを、MIPI−DSIにより、表示部141に出力する。
【0057】
次に、合成処理部41は、仮想入力デバイスの処理が終了であるか否かを判定する(ステップS104)。ここで、入力処理部42は、タッチセンサ部142から検出情報を取得し、取得した検出情報に基づいて、仮想入力デバイスを終了する所定の操作を受け付けたか否かを判定し、仮想入力デバイスを終了する所定の操作を受け付けた場合に、SoC40の合成処理部41に通知する。合成処理部41は、入力処理部42からの当該通知により、仮想入力デバイスの処理が終了であるか否かを判定する。合成処理部41は、仮想入力デバイスの処理が終了である場合(ステップS104:YES)に、処理をステップS105に進める。また、合成処理部41は、仮想入力デバイスの処理が終了でない場合(ステップS104:NO)に、処理をステップS102に戻し、仮想入力デバイスを終了する所定の操作を受け付けるまで、ステップS102からステップS104の処理を繰り返す。
【0058】
また、ステップS105において、合成処理部41は、メインシステム10からの画像データ(出力画像データ)を表示部141に出力する。合成処理部41は、出力画像データをMIPI−DSIにより、表示部141に出力する。ステップS105の処理後に、合成処理部41は、処理をステップS101に戻し、仮想入力デバイスを開始する所定の操作を受け付けるまで、ステップS101及びステップS105の処理を繰り返す。
【0059】
なお、上述した例では、合成処理部41は、出力画像データの一部領域に、入力画像データを合成して、合成画像データを生成する例を説明したが、入力画像データの一部領域に、出力画像データを合成して、合成画像データを生成するようにしてもよい。すなわち、合成処理部41は、入力画像データを背景として、出力画像データをオーバーレイして合成画像データを生成するようにしてもよい。ここで、
図6を参照して、入力画像データの一部領域に、出力画像データを合成して、合成画像データを生成する変形例について説明する。
【0060】
図6は、本実施形態における仮想入力デバイスの表示の合成処理の変形例を示す図である。
図6に示すように、合成処理部41は、例えば、画像G5のような入力画像データの一部領域に、画像G4のような出力画像データをオーバーレイして、画像G6のような合成画像データを生成する。なお、画像G6において、画像全体が、仮想入力デバイスの表示になっており、この場合、表示部141は、画像G6の一部領域に、画像G4を縮小した画像G4aを表示する。
【0061】
また、合成処理部41は、出力画像データの一部領域に、入力画像データを合成する処理と、入力画像データの一部領域に、出力画像データを合成する処理とを切り替えて実行するようにしてもよい。すなわち、合成処理部41は、例えば、仮想入力デバイスを開始する所定の操作を使い分けて、所定の操作に応じて、
図4に示す合成処理と、
図6に示す合成処理とを切り替えて実行するようにしてもよい。
【0062】
以上説明したように、本実施形態によるノートPC1(情報処理装置)は、表示部141と、タッチセンサ部142と、メインシステム10と、メインシステム10とは異なる独立したSoC40(組込みシステム)とを備える。タッチセンサ部142は、表示部141上に配置され、表示部141上における物体との接触を検出する。メインシステム10は、OS(オペレーティングシステム)に基づく処理を実行する。SoC40は、メインシステム10から出力された出力画像データ(第1画像データ)と、仮想入力デバイスのための入力領域の画像データである入力画像データ(第2画像データ)とを合成した合成画像データ(第3画像データ)を表示部141に表示させるとともに、タッチセンサ部142が仮想入力デバイスの入力領域において検出した検出情報に基づく入力情報を、仮想入力デバイスが受け付けた入力情報としてメインシステム10に出力する。
【0063】
これにより、本実施形態によるノートPC1は、独立したSoC40内の処理により、例えば、ソフトウェアキーボードなどの仮想入力デバイスを実現するため、メインシステム10のOS(例えば、Windows(登録商標))による制約を受けずに自由度の高い仮想入力デバイスを実現することができる。また、SoC40は、独立したシステムであるため、他のソフトウェアから干渉を受ける懸念を低減することができる。すなわち、本実施形態によるノートPC1では、例えば、メインシステム10のOSが、コンピュータウイルスやマルウェアなどに感染した場合であっても、仮想入力デバイスへの入力が読み取られる心配がない。よって、本実施形態によるノートPC1は、プライバシーを保護しつつ、自由度の高い仮想入力デバイスを実現することができる。
【0064】
また、本実施形態では、SoC40は、出力画像データの一部領域に、入力画像データを合成して、合成画像データを生成する。
これにより、本実施形態によるノートPC1は、メインシステム10が出力した出力画像データの一部領域に、任意の仮想入力デバイスを表示することができるので、さらに自由度の高い仮想入力デバイスを実現することができる。
【0065】
また、本実施形態では、SoC40は、入力画像データの一部領域に、出力画像データを合成して、合成画像データを生成するようにしてもよい。また、SoC40は、出力画像データの一部領域に、入力画像データを合成する処理と、入力画像データの一部領域に、出力画像データを合成する処理とを切り替えて実行するようにしてもよい。
これにより、本実施形態によるノートPC1は、実行可能な仮想入力デバイスのバリエーションを増やすことができ、さらに自由度を高めることができる。
【0066】
また、本実施形態では、SoC40は、色空間における出力画像データの色と入力画像データの色との距離が、所定の閾値以内である場合に、入力画像データを視認できるように、入力画像データの色を変更して、合成画像データを生成する。すなわち、SoC40は、出力画像データの色と、入力画像データの色とが近い場合に、入力画像データの色を変更して、合成画像データを生成する。
これにより、本実施形態によるノートPC1は、出力画像データの色に応じて、視認し易い適切な仮想入力デバイスを実現することができる。
【0067】
また、本実施形態によるノートPC1は、メインシステム10がHDMI(登録商標)により出力した出力画像データを、カメラ用の画像データの送信インタフェースであるMIPI−CSIに変換して、SoC40に出力するI/Fブリッジ51を備える。SoC40は、MIPI−CSIにより出力画像データを取得し、表示部141に表示させる画像データ(出力画像データ、又は合成画像データ)を、MIPI−DSIにより表示部141に出力する。
【0068】
これにより、本実施形態によるノートPC1では、MIPI−CSIによりカメラ用の画像データを取得して処理可能な一般的なSoC製品(SoCチップなど)を、SoC40に流用することができ、独自の仮想入力デバイスを用意に実現することができる。
【0069】
また、本実施形態による制御方法は、上述した表示部141と、タッチセンサ部142と、メインシステム10と、メインシステム10とは異なる独立したSoC40とを備えるノートPC1(情報処理装置)の制御方法であって、表示処理ステップと、入力処理ステップとを含む。表示処理ステップにおいて、SoC40が、メインシステム10から出力された出力画像データ(第1画像データ)と、仮想入力デバイスのための入力領域の画像データである入力画像データ(第2画像データ)とを合成した合成画像データ(第3画像データ)を表示部141に表示させる。入力処理ステップにおいて、SoC40が、タッチセンサ部142が入力領域において検出した検出情報に基づく入力情報を、仮想入力デバイスが受け付けた入力情報としてメインシステム10に出力する。
これにより、本実施形態による制御方法は、上述したノートPC1と同様の効果を奏し、プライバシーを保護しつつ、自由度の高い仮想入力デバイスを実現することができる。
【0070】
[第2の実施形態]
次に、図面を参照して、第2の実施形態によるノートPC1aについて説明する。
図7は、第2の実施形態によるノートPC1aの一例を示す外観図である。なお、本実施形態において、情報処理装置の一例として、ノートPC1aについて説明する。
【0071】
図7に示すように、ノートPC1aは、第1筐体101と、第2筐体102とを備え、ヒンジ機構により一方の筐体(第1筐体101)の側面が他方の筐体(第2筐体102)の側面に係合され、ヒンジ機構の回転軸周りに第1筐体101が第2筐体102に対して回動可能に構成されている。なお、本実施形態では、第1筐体101と第2筐体102との両方にタッチスクリーン14(14−1、14−2)を備える変形例について説明する。
【0072】
ノートPC1aは、2つのタッチスクリーン14(14−1、14−2)を備える。タッチスクリーン14−1は、第1筐体101に配置されており、メインの表示部として機能する。また、タッチスクリーン14−1は、表示部141−1と、タッチセンサ部142−1とを備える。
【0073】
タッチスクリーン14−2は、第2筐体102に配置されており、表示部141−2と、タッチセンサ部142−2とを備える。
なお、タッチスクリーン14−1と、タッチスクリーン14−2とは、同一の構成であり、ノートPC1aが備える任意のタッチスクリーンを示す場合、又は特に区別しない場合には、タッチスクリーン14として説明する。
【0074】
また、表示部141−1と表示部141−2とは、上述した表示部141と同一の構成であるため、ここではその説明を省略する。また、タッチセンサ部142−1とタッチセンサ部142−2とは、上述したタッチセンサ部142と同一の構成であるため、ここではその説明を省略する。
【0075】
また、本実施形態では、表示部141−1と表示部141−2とを一つの表示部140として扱うことが可能である。表示部140において、表示部141−1を第1表示領域とし、表示部141−2を第2表示領域としてもよい。
【0076】
図8は、本実施形態によるノートPC1aの主要なハードウェア構成の一例を示す図である。
図8に示すように、ノートPC1aは、CPU11と、メインメモリ12と、ビデオサブシステム13と、2つのタッチスクリーン14(14−1、14−2)と、チップセット21と、BIOSメモリ22と、HDD23と、オーディオシステム24と、WLANカード25と、USBコネクタ26と、撮像部27と、エンベデッドコントローラ31と、入力部32と、電源回路33と、SoC40aと、切替部50とを備える。
なお、
図8において、上述した
図2と同一の構成には、同一の符号を付与して、その説明を省略する。
【0077】
切替部50は、2つの表示部141(141−1、141−2)に表示させる際に、メインシステム10から出力される出力画像データを、SoC40aの制御に基づいて、切り替える。切替部50は、例えば、I/Fブリッジ51〜53と、切替スイッチ54〜56とを備える。
【0078】
I/Fブリッジ51は、上述した第1の実施形態と同様であり、HDMI(登録商標)からMIPI−CSIに画像データのインタフェースを変換する。I/Fブリッジ51は、切替スイッチ54を経由してメインシステム10から出力された出力画像データを、MIPI−CSIに変換して、SoC40aに出力する。
【0079】
I/Fブリッジ52は、HDMI(登録商標)からMIPI−DSIに画像データのインタフェースを変換する。I/Fブリッジ52は、切替スイッチ54を経由してメインシステム10から出力された出力画像データを、MIPI−DSIに変換して、切替スイッチ55に出力する。
【0080】
I/Fブリッジ53は、HDMI(登録商標)からMIPI−DSIに画像データのインタフェースを変換する。I/Fブリッジ53は、メインシステム10から出力された出力画像データを、MIPI−DSIに変換して、表示部141−2と切替スイッチ56との両方に出力する。
【0081】
切替スイッチ54は、メインシステム10から出力された出力画像データを、I/Fブリッジ51とI/Fブリッジ52とのいずれかに出力するのかを切り替えるスイッチであり、SoC40aの制御に基づいて出力が切り替えられる。
【0082】
切替スイッチ55は、切替スイッチ54からの出力画像データと、SoC40aからの合成画像データとのいずれかを切り替えて、切替スイッチ56を経由して表示部141−1に出力するスイッチである。切替スイッチ55は、SoC40aの制御に基づいて入力が切り替えられる。
【0083】
このように、切替スイッチ54及び切替スイッチ55は、メインシステム10から出力された出力画像データをSoC40aを経由させずに、表示部141−1に出力する第1経路と、メインシステム10から出力された出力画像データをSoC40aを経由させ、SoC40aから出力された合成画像データを表示部141−1に出力する第2経路と、を切り替える。
【0084】
切替スイッチ56は、I/Fブリッジ53からの出力画像データと、切替スイッチ55からの画像データ(出力画像データ、又は合成画像データ)とのいずれかを切り替えて、表示部141−1に出力するスイッチである。切替スイッチ56は、SoC40aの制御に基づいて入力が切り替えられる。
【0085】
SoC40a(組込みシステムの一例)は、例えば、CPUなどを含むプロセッサであり、例えば、内蔵するファームウェアを実行することで実現される。SoC40aの基本的な機能は、上述した第1の実施形態のSoC40と同様であるが、SoC40aでは、切替部50の切り替えを制御する機能が追加されている。
【0086】
SoC40aは、例えば、合成画像データを表示部141−1に表示させる場合に、切替部50(切替スイッチ54及び切替スイッチ55)を第1経路から第2経路に切り替える制御を行う。また、SoC40aは、例えば、仮想入力デバイスを使用しない場合に、切替部50(切替スイッチ54及び切替スイッチ55)を第2経路から第1経路に切り替える。
【0087】
また、SoC40aは、I/Fブリッジ53から出力された画像データと、切替スイッチ55から出力された画像データとのいずれかを表示部141−1に表示させるかを切り替える際に、切替部50(切替スイッチ56)を切り替える制御を行う。なお、この場合、SoC40aは、メインシステム10からの切り替え要求に基づいて、切替部50(切替スイッチ56)を切り替えるようにしてもよい。
【0088】
なお、表示部141−1及び表示部141−2は、1つの表示部140とみなした場合、表示部140は、出力画像データと合成画像データとのいずれかを表示する表示部141−1(第1表示領域)と、メインシステム10が出力された画像データを直接受信し、当該画像データを表示する表示部141−2(第2表示領域)とを備える。
【0089】
次に、
図9を参照して、本実施形態によるノートPC1aの機能構成について説明する。
図9は、本実施形態によるノートPC1aの機能構成の一例を示すブロック図である。
図9に示すように、ノートPC1aは、メインシステム10と、タッチスクリーン14−1と、SoC40aと、I/Fブリッジ51と、I/Fブリッジ52と、切替スイッチ54と、切替スイッチ55とを備える。なお、
図9において、ノートPC1aの構成として、本実施形態の発明に関する主要な機能構成のみを記載している。また、
図9において、上述した
図3と同一の構成には同一の符号を付与して、その説明を省略する。
【0090】
SoC40aは、例えば、合成処理部41と、入力処理部42と、切替処理部43とを備える。
切替処理部43は、上述した切替部50の各種切り替えを制御する。切替処理部43は、仮想入力デバイスを使用している場合(合成画像データを表示部141に表示させる場合)に、切替スイッチ54をI/Fブリッジ51への出力に切り替えるとともに、切替スイッチ55をSoC40aからの出力を表示部141−1に出力するように切り替える。
【0091】
また、切替処理部43は、仮想入力デバイスを使用していない場合(出力画像データを表示部141に表示させる場合)に、切替スイッチ54をI/Fブリッジ52への出力に切り替えるとともに、切替スイッチ55をI/Fブリッジ52からの出力を表示部141−1に出力するように切り替える。
【0092】
次に、図面を参照して、本実施形態によるノートPC1aの動作について説明する。
図10は、本実施形態におけるSoC40aの切替処理の一例を示すフローチャートである。
【0093】
図10に示すように、SoC40aの切替処理部43は、まず、SoC40aが合成画像データを出力するか否かを判定する(ステップS201)。切替処理部43は、例えば、合成処理部41によって合成画像データが生成されているか否かによって、SoC40aが合成画像データを出力するか否かを判定してもよい。切替処理部43は、SoC40aが合成画像データを出力する(仮想入力デバイスを使用する)場合(ステップS201:YES)に、処理をステップS202に進める。また、切替処理部43は、SoC40aが合成画像データを出力しない(仮想入力デバイスを使用していない)場合(ステップS201:NO)に、処理をステップS203に進める。
【0094】
ステップS202において、切替処理部43は、SoC40aを経由する経路(第2経路)に、切替部50を切り替える。すなわち、切替処理部43は、切替スイッチ54をI/Fブリッジ51への出力に切り替えるとともに、切替スイッチ55をSoC40aからの出力を表示部141−1に出力するように切り替える。ステップS202の処理後に、切替処理部43は、処理をステップS201に戻す。
【0095】
また、ステップS203において、切替処理部43は、SoC40aを経由しない経路(第1経路)に、切替部50を切り替える。すなわち、切替処理部43は、切替スイッチ54をI/Fブリッジ52への出力に切り替えるとともに、切替スイッチ55をI/Fブリッジ52からの出力を表示部141−1に出力するように切り替える。ステップS203の処理後に、切替処理部43は、処理をステップS201に戻す。
【0096】
なお、本実施形態における合成処理部41及び入力処理部42の動作は、上述した第1の実施形態と同様であるため、ここではその説明を省略する。
【0097】
次に、
図11を参照して、本実施形態によるノートPC1aの表示のバリエーションについて説明する。
図11は、本実施形態によるノートPC1aの画像表示パターンの変形例を示す図である。
【0098】
図11(a)に示す例は、表示部141−1と、表示部141−2とを利用して1つの画像データを表示する場合の一例である。この場合、SoC40aの切替処理部43は、切替部50を制御して、表示部141−1と表示部141−2とで1つの画像を表示するように、例えば、表示部141−1に1つの画像データの上半分の画像データを出力させ、表示部141−2に1つの画像データの下半分の画像データを出力させる。
【0099】
この場合、メインシステム10は、1つの画像データを半分に分割し、一方の分割画像データ(例えば、上半分の画像データ)を、切替スイッチ54に出力し、もう一方の分割画像データ(例えば、下半分の画像データ9をI/Fブリッジ53に出力する。切替処理部43は、例えば、切替スイッチ56を、切替スイッチ55からの入力に切り替えるように制御する。
【0100】
また、
図11(b)に示す例は、表示部141−1と、表示部141−2とで同一の画像データを表示する場合の一例である。この場合、切替処理部43は、切替部50を制御して、表示部141−1と表示部141−2とに同一の画像データを出力させる。すなわち、切替処理部43は、切替スイッチ56を、I/Fブリッジ53からの入力に切り替えるように制御する。
【0101】
また、
図11(c)に示す例は、表示部141−1と、表示部141−2とで異なる画像データを表示する場合の一例である。この場合、切替処理部43は、切替部50を制御して、表示部141−1と表示部141−2とに異なる画像データを出力させる。
【0102】
また、この場合、メインシステム10は、2つの異なる画像データを、切替スイッチ54及びにI/Fブリッジ53に出力する。すなわち、メインシステム10は、例えば、画像データ(“A”)を切替スイッチ54に出力し、例えば、画像データ(“B”)をI/Fブリッジ53に出力する。また、切替処理部43は、切替スイッチ56を、切替スイッチ55からの入力に切り替えるように制御する。
【0103】
また、
図11(d)に示す例は、表示部141−1に画像データを表示して、表示部141−2の表示を停止する場合の一例である。この場合、切替処理部43は、上述した
図11(c)に示す例と同様の制御を行い、メインシステム10は、例えば、画像データ(“B”)のI/Fブリッジ53への出力を停止する。
【0104】
このように、本実施形態によるノートPC1aでは、2つの表示部141(141−1、141−2)に様々な表示を可能にするとともに、表示部141−1において、独自の仮想入力デバイスの表示を可能にする。
【0105】
以上説明したように、本実施形態によるノートPC1aは、上述したSoC40aと、切替部50とを備える。切替部50は、メインシステム10から出力された第1画像データをSoC40aを経由させずに、表示部141に出力する第1経路と、メインシステム10から出力された出力画像データをSoC40aを経由させ、SoC40aから出力された合成画像データを表示部141−1に出力する第2経路と、を切り替える。SoC40aは、合成画像データを表示部141−1に表示させる場合に、切替部50を第1経路から第2経路に切り替える。また、SoC40aは、出力画像データを表示部141−1に表示させる場合に、切替部50を第2経路から第1経路に切り替える。
【0106】
これにより、本実施形態によるノートPC1aは、仮想入力デバイスを使用しない場合に、SoC40aを経由せずに表示部141−1に出力されるため、SoC40aによる処理遅延による影響を低減することができる。例えば、上述した
図11(a)に示す表示例に場合などに、本実施形態によるノートPC1aは、表示部141−1と、表示部141−2との間で表示タイミングの違いが生じて、利用者が表示の違和感を感じることを低減することができる。
【0107】
また、本実施形態では、表示部140は、出力画像データと合成画像データとのいずれかを表示する表示部141−1(第1表示領域)と、メインシステム10が出力された画像データを直接受信し、当該画像データを表示する表示部141−2(第2表示領域)とを備える。
これにより、本実施形態によるノートPC1aは、2つの表示領域(表示部141−1及び表示部141−2)を用いて、様々な画像データを柔軟に表示させることができる。
【0108】
なお、本発明は、上記の各実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上記の各実施形態において、情報処理装置がノートPC1(1a)である例を説明したが、これに限定されるものではなく、例えば、タブレット端末装置、デスクトップPCなどの他の情報処理装置であってもよい。
【0109】
また、上記の各実施形態において、SoC40(40a)は、MIPI−CSIにより画像データを取得し、MIPI−DSIにより画像データを出力する例を説明したが、これに限定されるものではなく、取得及び出力に他のインタフェースを用いてもよい。
【0110】
また、上記の各実施形態において、メインシステム10が、画像データをHDMI(登録商標)により出力する例を説明したが、これに限定されるものではなく、例えば、USBやDisplayPortなどの他のインタフェースを用いてもよい。また、ノートPC1(1a)は、用いるインタフェースに応じて、I/Fブリッジ51〜53を備えない構成であってもよい。
【0111】
また、上記の各実施形態において、SoC40(40a)は、仮想入力デバイスの入力情報を、エンベデッドコントローラ31に出力する例を説明したが、これに限定されるものではなく、例えば、USBインタフェースを用いて、チップセット21に出力するようにしてもよい。
【0112】
また、上記の第2の実施形態において、表示部140を2つの表示領域(表示部141−1及び表示部141−2)に分割して使用する例、もしくは、ノートPC1aが、2つの表示部141(141−1、141−2)を備える例を説明したが、これらに限定されるものではない。例えば、表示部140を3つの表示領域に分割して用いる、もしくは、ノートPC1aが、3つ以上の表示部141を備えるようにしてもよい。
【0113】
また、上記の各実施形態において、仮想入力デバイスの一例として、手書き入力を行う入力装置の例を説明したが、これに限定されるものではない。仮想入力デバイスは、例えば、ソフトウェアキーボード、ポインティングデバイス、などであってもよい。
【0114】
また、合成処理部41による合成画像データの生成方法は、上記の各実施形態で説明した方法に限定されるものではなく、他の方法を用いてもよい。合成処理部41は、例えば、出力画像データの上に、入力画像データを透過させて合成するようにしてもよい。
【0115】
なお、上述したノートPC1(1a)が備える各構成は、内部に、コンピュータシステムを有している。そして、上述したノートPC1(1a)が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したノートPC1(1a)が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。
【0116】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にノートPC1(1a)が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0117】
また、上述した機能の一部又は全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。