説明

通信端末、通信方法、および通信プログラム

【課題】通信端末のそれぞれが表示するコンテンツの差異を低減することができる通信端末を提供する。
【解決手段】通信端末100A(100B)は、ディスプレイ107と、入力命令を順次受け付ける入力デバイス119と、通信デバイス101と、少なくとも1つの入力命令に対応する第1の操作命令を生成する生成手段1061Aと、通信デバイスを用いて、第1の操作命令を入力デバイスが対応する入力命令を受け付けた順に他の通信端末100B(100A)へと送信し、他の通信端末から第2の操作命令を受信する通信制御手段1067Aと、第1の操作命令と第2の操作命令とに基づいてコンテンツを編集して、編集後のコンテンツをディスプレイに表示させる表示制御手段1064Aとを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介して他の通信端末と接続可能な通信端末、通信方法、および通信プログラムに関し、特に、リアルタイムで他の通信端末とコンテンツをやり取りする通信端末、通信方法、および通信プログラムに関する。
【背景技術】
【0002】
近年、携帯電話のユーザは、出先や移動先においても、電話機能を用いて他の携帯電話のユーザとコミュニケーションすることが可能となった。
【0003】
しかしながら、電話機能によるコミュニケーションは、携帯電話のユーザが電車・バス・映画館・図書館などの公共施設を利用している時には許されない。そこで、ユーザは、メールやチャット等の機能を用いることによって、他の携帯電話のユーザと文字によるコミュニケーションを行っていた。文字によるコミュニケーションでは、肉声によるコミュニケーションと比較して、感情や状況などを表わす情報が伝わりにくい。また、文字によるコミュニケーションは、伝えたいメッセージを入力するために時間がかかるため、リアルタイムな応答ができない。
【0004】
たとえば、特開2001−111708号公報(特許文献1)には、携帯型情報通信装置が開示されている。特開2001−111708号公報(特許文献1)によると、携帯型情報通信装置は、液晶ディスプレイ一体型タブレット等の入力手段を用いてユーザが入力した手書きデータの座標情報を、逐次連続して接続先の携帯型情報通信装置に送信するとともに、入力された手書きデータの筆跡を液晶ディスプレイ等表示手段に表示し、同時に、接続先の携帯型情報通信装置から送られてきた手書きデータの座標情報をもとに、受信した手書きデータの筆跡を表示手段に表示できるように構成したことを特徴とするものである。この構成により、携帯型の端末装置を用いて、手書き入力データをリアルタイムで送受信することができ、場所を選ばずいつでも筆談のような会話型のコミュニケーションを実現することができる。
【0005】
また、特開2003−234842号公報(特許文献2)には、リアルタイム手書き通信システムが開示されている。特開2003−234842号公報(特許文献2)によると、リアルタイム手書き通信システムは、タッチパネル、タッチペン、データ入力装置、コントローラ装置、データ出力装置および表示装置を有する。手書きデータをタッチペンで入力し、出力データに変換できる。データ入力装置は、別のリアルタイム手書き通信システムから送信された入力データを受信し入力する。コントローラ装置は、タッチパネルおよびデータ入力装置と接続されており、入力データおよび出力データをリアルタイムに処理し、送信する。データ出力装置は、コントローラ装置に接続され、他のリアルタイム手書き通信システムに出力データを送信する。表示装置は入力データおよび出力データを表示する。
【0006】
また、特開2006−293449号公報(特許文献3)には、クライアント端末における手書き入力操作と表示とのずれを無くすとともに、手書き入力について明示的な操作者の切替を行うこと無く同時に書き込むことを可能とするアプリケーション共有システムが開示されている。特開2006−293449号公報(特許文献3)によると、アプリケーション共有システムは、クライアント端末における入力イベントを電子ペン等による描画データの入力イベントとそれ以外の入力イベントとに区別する。アプリケーション共有手段とオブジェクト共有手段とのそれぞれが上記の処理を行う。描画データの入力イベントの場合には、オブジェクト共有手段がクライアント端末において入力イベントに応じた描画処理を行い、処理結果をクライアント端末で表示するとともに、描画データをオブジェクトデータに変換してサーバ端末のオブジェクト共有手段に送信し、サーバ端末に表示させる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2001−111708号公報
【特許文献2】特開2003−234842号公報
【特許文献3】特開2006−293449号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、複数人が自身の通信端末を利用することによって互いに手書きチャットを行う場面においては、通信端末Aが複数の入力命令を受け付けた際に、通信端末Aと他の通信端末Bとが共に同一の入力命令を同一の順序で処理することが好ましい。なぜなら、通信端末Aが出力するコンテンツと通信端末Bが出力するコンテンツとが異なると、手書きチャット中のユーザ同士が正確に意思疎通できないからである。すなわち、通信端末Aのユーザが閲覧するコンテンツと通信端末Bのユーザが閲覧するコンテンツとが同じであることが好ましい。
【0009】
本発明は、かかる問題を解決するためになされたものであり、その目的は、通信端末のそれぞれが表示するコンテンツの差異を低減することができる通信端末、通信方法、および通信プログラムを提供することである。
【課題を解決するための手段】
【0010】
この発明のある局面に従うと、通信端末が提供される。通信端末は、コンテンツを表示するディスプレイと、入力命令を順次受け付ける入力デバイスと、ネットワークを介して他の通信端末とデータを送受信する通信デバイスと、少なくとも1つの入力命令に対応する第1の操作命令を生成する生成手段と、通信デバイスを用いて、第1の操作命令を入力デバイスが対応する入力命令を受け付けた順に他の通信端末へと送信し、他の通信端末から第2の操作命令を受信する通信制御手段と、第1の操作命令と第2の操作命令とに基づいてコンテンツを編集して、編集後のコンテンツをディスプレイに表示させる表示制御手段とを備える。
【0011】
好ましくは、生成手段は、第1の操作命令が予め定められた論理条件を満たすか否かを判断する判断手段と、論理条件を満たす第1の操作命令を論理命令に変換する変換手段とを含む。通信制御手段は、論理命令と、論理条件を満たさない第1の操作命令とを、入力デバイスが対応する入力命令を受け付けた順に送信する。
【0012】
好ましくは、ディスプレイと入力デバイスとは、同時に複数の接触を検知するタッチパネルを構成する。表示制御手段は、選択可能なソフトウェアキーをタッチパネルに表示させる。判断手段は、タッチパネルを介して第1の操作命令としてソフトウェアキーの選択命令を受け付けたときに、当該選択命令が論理条件を満たすと判断し、タッチパネルを介して第1の操作命令として手書き入力命令を受け付けたときに、当該手書き入力命令が論理条件を満たさないと判断する。通信制御手段は、選択命令に対応する論理命令と手書き入力命令に対応する第1の操作命令とを、タッチパネルが対応する接触を検知した順に送信する。
【0013】
この発明の別の局面に従うと、演算処理部と、ディスプレイと、入力デバイスと、ネットワークを介して他の通信端末とデータを送受信する通信デバイスとを備える通信端末に通信させるための通信プログラムが提供される。通信プログラムは、演算処理部に、コンテンツをディスプレイに表示させるステップと、入力命令を順次受け付けるステップと、少なくとも1つの入力命令に対応する第1の操作命令を生成するステップと、通信デバイスを用いて、第1の操作命令を入力デバイスが対応する入力命令を受け付けた順に他の通信端末へと送信するステップと、第1の操作命令に基づいてコンテンツを編集するステップと、他の通信端末から第2の操作命令を受信するステップと、第2の操作命令に基づいてコンテンツを編集するステップと、編集後のコンテンツをディスプレイに表示させるステップとを実行させる。
【0014】
この発明の別の局面に従うと、演算処理部と、ディスプレイと、入力デバイスと、ネットワークを介して他の通信端末とデータを送受信する通信デバイスとを備える通信端末における通信方法が提供される。通信方法は、演算処理部が、コンテンツをディスプレイに表示させるステップと、入力デバイスが、入力命令を順次受け付けるステップと、演算処理部が、少なくとも1つの入力命令に対応する第1の操作命令を生成するステップと、演算処理部が、通信デバイスを用いて、第1の操作命令を入力デバイスが対応する入力命令を受け付けた順に他の通信端末へと送信するステップと、演算処理部が、第1の操作命令に基づいてコンテンツを編集するステップと、演算処理部が、他の通信端末から第2の操作命令を受信するステップと、演算処理部が、第2の操作命令に基づいてコンテンツを編集するステップと、演算処理部が、編集後のコンテンツをディスプレイに表示させるステップとを備える。
【発明の効果】
【0015】
以上のように、本発明によって、通信端末のそれぞれが表示するコンテンツの差異を低減することができる通信端末、通信方法、および通信プログラムが提供される。
【図面の簡単な説明】
【0016】
【図1】本実施の形態に係るネットワークシステムを示す概略図である。
【図2】本実施の形態に係るネットワークシステムにおける動作概要を示すシーケンス図である。
【図3】本実施の形態に係る携帯電話の概観を示すイメージ図である。
【図4】本実施の形態に係る携帯電話のハードウェア構成を示すブロック図である。
【図5】本実施の形態に係る携帯電話が記憶する各種変数を示すイメージ図である。
【図6】本実施の形態に係る多点入力可能な第1の携帯電話の機能構成を示すブロック図である。
【図7】本実施の形態に係るボタンの押下と入力デバイスから出力される信号との関係を示すイメージ図である。
【図8】本実施の形態に係る多点入力可能な第1の携帯電話のドライバが手書き入力に応じて出力するデータを示すイメージ図である。
【図9】本実施の形態に係る多点入力可能な第1の携帯電話のドライバが手書き入力と描画色ボタンの押下操作に応じて出力するデータを示すイメージ図である。
【図10】本実施の形態に係る単点入力用の第2の携帯電話の機能構成を示すブロック図である。
【図11】本実施の形態に係る多点入力可能な第1の携帯電話と単点入力用の第2の携帯電話とから構成されるネットワークシステムの機能構成を示すブロック図である。
【図12】本実施の形態に係る多点入力可能な第1の携帯電話における命令判定処理の処理手順を示す第1のフローチャートである。
【図13】本実施の形態に係る多点入力可能な第1の携帯電話における命令判定処理の処理手順を示す第2のフローチャートである。
【図14】本実施の形態に係る単点入力用の第2の携帯電話における命令判定処理の処理手順を示すフローチャートである。
【図15】本実施の形態に係る第1の携帯電話および第2の携帯電話における論理命令変換処理の処理手順を示すフローチャートである。
【図16】本実施の形態に係る多点入力可能な第1の携帯電話における物理命令処理の処理手順を示す第1のフローチャートである。
【図17】本実施の形態に係る多点入力可能な第1の携帯電話における物理命令処理の処理手順を示す第2のフローチャートである。
【図18】本実施の形態に係る多点入力可能な第1の携帯電話における描画表示処理の処理手順を示すフローチャートである。
【図19】本実施の形態に係る単点入力用の第2の携帯電話における物理命令処理の処理手順を示すフローチャートである。
【図20】本実施の形態に係る第1の携帯電話および第2の携帯電話における論理命令処理の処理手順を示すフローチャートである。
【図21】本実施の形態に係る単点入力用の第2の携帯電話における物理命令変換処理の処理手順を示す第1のフローチャートである。
【図22】本実施の形態に係る単点入力用の第2の携帯電話における物理命令変換処理の処理手順を示す第2のフローチャートである。
【図23】本実施の形態に係る多点入力可能な第1の携帯電話における物理命令変換処理の処理手順を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0018】
また、以下では、携帯電話100を「通信端末」の代表例として説明を行う。ただし、通信端末は、パーソナルコンピュータや、カーナビゲーション装置(Satellite navigation system)や、PND(Personal Navigation Device)や、PDA(Personal Digital Assistance)などのような、他の情報通信機器であってもよい。
【0019】
そして、以下では、「コンテンツ」とは、手書き画像(線画像)やスタンプや写真やそれらを組みあわせて成る静止画像および動画像を含む概念である。「コンテンツデータ」とは、手書き画像データやスタンプデータや写真データやそれらを組みあわせて成る静止画像データおよび動画像データを含む概念である。
【0020】
<ネットワークシステム1の全体構成>
まず、本実施の形態に係るネットワークシステム1について説明する。図1は、本実施の形態に係るネットワークシステム1を示す概略図である。図1に示すように、ネットワークシステム1は、携帯電話100A,100Bと、マッチングサーバ400と、インターネット網(第1のネットワーク)500と、キャリア網(第2のネットワーク)700とを含む。また、本実施の形態に係るネットワークシステム1は、車両250に搭載されるカーナビゲーション装置200と、パーソナルコンピュータ(PC;Personal Computer)300とを含む。
【0021】
なお、説明の容易化のために、本実施の形態に係るネットワークシステム1が、多点入力可能な第1の携帯電話100Aと、単点入力用の第2の携帯電話100Bとを含む場合について説明する。また、携帯電話100A,100Bの各々に共通の構成や機能を説明する際には、それらを「携帯電話100」とも総称する。そして、携帯電話100A,100B、カーナビゲーション装置200、パーソナルコンピュータ300の各々に共通の構成や機能を説明する際には、それらを「通信端末」とも総称する。
【0022】
携帯電話100は、キャリア網700に接続可能に構成されている。カーナビゲーション装置200は、インターネット網500に接続可能に構成されている。パーソナルコンピュータ300は、LAN(Local Area Network)350やWAN(Wide Area Network)を介してインターネット網500に接続可能に構成されている。マッチングサーバ400は、インターネット網500に接続可能に構成されている。
【0023】
より詳細には、第1の携帯電話100Aと、第2の携帯電話100Bと、カーナビゲーション装置200と、パーソナルコンピュータ300とは、キャリア網700やインターネット網500を介して互いに接続可能であって、互いにデータの送受信が可能である。また、携帯電話100とカーナビゲーション装置200とパーソナルコンピュータ300には、自端末を特定するための識別情報(たとえば、メールアドレスやIP(Internet Protocol)アドレスなど)が割り当てられる。すなわち、携帯電話100とカーナビゲーション装置200とパーソナルコンピュータ300とは、内部の記録媒体に他の通信端末の識別情報を記憶することができ、当該識別情報に基づいてキャリア網700やインターネット網500などを介して当該他の通信端末とデータ送受信を行うことができる。
【0024】
なお、本実施の形態に係る携帯電話100とカーナビゲーション装置200とパーソナルコンピュータ300とは、各通信端末に割り当てられるIPアドレスを利用して、図示しないメールサーバを介さずに他の通信端末とデータ送受信を行うものである。ここでは、各通信端末がマッチングサーバ400にアクセスする際には、すなわち各通信端末がインターネットにアクセスした際に、マッチングサーバ400あるいは他の図示しないサーバ装置などによってIPアドレスが割り当てられるものとする。IPアドレスの割り当て処理の詳細は公知であるので、ここでは説明を繰り返さない。
【0025】
特に、本実施の形態に係る携帯電話100、カーナビゲーション装置200、パーソナルコンピュータ300は、自身に割り当てられたIPアドレスを利用することにより、直接的に相互にネットワークを介してデータ送受信を行うことが可能である。すなわち、本実施の形態に係るネットワークシステム1に含まれる携帯電話100、カーナビゲーション装置200、パーソナルコンピュータ300は、いわゆるP2P(Pear to Pear)型のネットワークを構成することが可能である。
【0026】
<ネットワークシステム1の動作概要>
次に、本実施の形態に係るネットワークシステム1の動作概要について説明する。図2は、本実施の形態に係るネットワークシステム1における動作概要を示すシーケンス図である。図1および図2に示すように、本実施の形態に係る各通信端末は、P2P型のデータ送受信を行うために、はじめに互いのIPアドレスを交換(取得)する必要がある。そして、各通信端末は、IPアドレスを取得したのちに、P2P型のデータ送受信によってメッセージや添付ファイルなどを他の通信端末に送信する。
【0027】
以下では、通信端末(第1の携帯電話100Aおよび第2の携帯電話100B)のそれぞれが、マッチングサーバ400に生成されたチャットルームを介してメッセージおよびIPアドレスを送受信し、その後互いのIPアドレスに基づいてP2P通信を行う場合について説明する。
【0028】
まず、第1の携帯電話100A(図2において端末A)は、ユーザ操作に応じて、マッチングサーバ400にチャットルームを生成するように要求する(ステップS006)。すなわち、第1の携帯電話100Aは、マッチングサーバ400にIP登録(ログイン)を要求する。第1の携帯電話100Aは、これと同時にマッチングサーバ400からIPアドレスを取得してもよいし、予め他のサーバ装置などからIPアドレスを取得していてもよい。
【0029】
より詳細には、第1の携帯電話100Aは、キャリア網700、インターネット網500を介して、マッチングサーバ400に第1の携帯電話100AのIPアドレスと新たなチャットルームの生成を要求するメッセージとを送信する。マッチングサーバ400は、第1の携帯電話100Aからの要求に応じて、第1の携帯電話100AのIPアドレスとチャットルーム名とを対応付けて格納する。
【0030】
第1の携帯電話100Aのユーザは、第1の携帯電話100Aなどを用いて、第2の携帯電話100B(図2において端末B)のユーザをチャットに勧誘する(ステップS008)。第2の携帯電話100Bは、ユーザの命令に応じてチャットルームに入室する(ステップS010)。すなわち、第2の携帯電話100Bは、第2の携帯電話100BのIPアドレスをマッチングサーバ400に登録することによって、チャットルームに入室する。
【0031】
第2の携帯電話100Bは、チャットルームに入室した旨を第1の携帯電話100Aに伝える(ステップS012)。すなわち、第2の携帯電話100Bは、自身に割り当たられたIPアドレスを第1の携帯電話100Aに送信する。ただし、マッチングサーバ400が、第2の携帯電話100BのIPアドレスを第1の携帯電話100Aに通知し、第1の携帯電話100AのIPアドレスを第2の携帯電話100Bに通知してもよい。
【0032】
その後、第1の携帯電話100Aと第2の携帯電話100Bとは、キャリア網700、インターネット網500を介して互いに直接に接続する。すなわち、第1の携帯電話100Aと第2の携帯電話100Bとは、サーバ装置を介さずにP2P通信を行なう(ステップS020)。
【0033】
第1の携帯電話100Aは、タッチパネル150を介してユーザから、手書き入力命令や描画色選択命令やスタンプ押下命令などの各種入力命令を順次受け付ける。第1の携帯電話100Aは、受け付けた入力命令に基づいて、当該入力命令を受け付けた順に対応する操作命令を生成する。第1の携帯電話100Aは、生成した操作命令を第2の携帯電話100Bに順次送信する(ステップS022)。すなわち、第1の携帯電話100Aは、入力命令を受け付けた順に、対応する操作命令を第2の携帯電話100Bに送信する。このとき、第1の携帯電話100Aは、変換した操作命令に基づいてコンテンツデータを順次編集し、ディスプレイ107に編集後のコンテンツを表示する。
【0034】
第2の携帯電話100Bは、第1の携帯電話100Aから操作命令を順次受信する(ステップS024)。第2の携帯電話100Bは、操作命令に基づいてコンテンツデータを順次編集し、ディスプレイ107に編集後のコンテンツを表示する(ステップS026)。
【0035】
同様に、第2の携帯電話100Bも、タッチパネル150を介してユーザから各種入力命令を順次受け付ける。第2の携帯電話100Bは、受け付けた入力命令に基づいて、当該入力命令を受け付けた順に対応する操作命令を生成する。第2の携帯電話100Bは、生成した操作命令を第1の携帯電話100Aに順次送信する(ステップS028)。すなわち、第2の携帯電話100Bは、入力命令を受け付けた順に、対応する操作命令を第1の携帯電話100Aに送信する。このとき、第2の携帯電話100Bは、変換した操作命令に基づいてコンテンツデータを順次編集し、ディスプレイ107に編集後のコンテンツを表示する。
【0036】
第1の携帯電話100Aは、第2の携帯電話100Bから操作命令を順次受信する(ステップS030)。第1の携帯電話100Aは、操作命令に基づいてコンテンツデータを順次編集し、ディスプレイ107に編集後のコンテンツを表示する(ステップS032)。
【0037】
第1の携帯電話100Aと第2の携帯電話100Bとは、ステップS022〜ステップS032を繰り返すことによって、共同してコンテンツを更新していく。これによって、第1の携帯電話100Aのユーザと第2の携帯電話100Bのユーザとは、共通のコンテンツデータを利用して手書きチャットを楽しむことができる。
【0038】
第1の携帯電話100Aは、ユーザからP2P通信の終了操作を受け付けると、終了通知を第2の携帯電話100Bに送信する(ステップS042)。このとき、第1の携帯電話100Aおよび第2の携帯電話100Bは、一時的に記憶していたスタンプデータや画像データなどを削除する。第2の携帯電話100Bは、終了通知を受信して、終了承諾通知を第1の携帯電話100Aに送信する(ステップS044)。これによって、第1の携帯電話100Aと第2の携帯電話100Bとは、P2P通信を終了する。
【0039】
以下、このような機能を実現するための通信端末や当該通信端末を含むネットワークシステムの構成について詳述する。
【0040】
<携帯電話100のハードウェア構成>
本実施の形態に係る携帯電話100のハードウェア構成について説明する。図3は、本実施の形態に係る携帯電話100の概観を示すイメージ図である。図4は、本実施の形態に係る携帯電話100のハードウェア構成を示すブロック図である。
【0041】
図3および図4に示すように、本実施の形態に係る携帯電話100は、外部のネットワークとの間でデータを送受信する通信デバイス101と、プログラムや各種データベースを一時的に記憶する揮発性メモリ103と、ユーザからの各種命令を受け付ける入力部104と、着信を外部に通知する通知部105と、携帯電話100の各部を制御する制御部106と、コンテンツを表示するディスプレイ107と、プログラムや各種データベースを記憶する不揮発性メモリ108と、ユーザからの各種命令を受け付けるタブレット119とを含む。
【0042】
通信デバイス101は、制御部106からの通信データを通信信号に変換し、当該通信信号を図示しないアンテナを介して他の通信端末へ発信する。通信デバイス101は、アンテナを介して他の通信端末から受信した通信信号を通信データに変換し、当該通信データを制御部106に入力する。
【0043】
入力部104は、キー入力操作などによってユーザから情報を受け付ける。たとえば、入力部104は、テンキーや決定キーなどを含む。入力部104は、ユーザが入力した命令(イベント)を確定するための決定命令や、相手先アドレスを選択するための選択命令や、メールを他の通信端末へ送信するための送信命令などを受け付ける。
【0044】
制御部106は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現される。制御部106は、各種の制御プログラムを実行することによって携帯電話100の各部を制御する。たとえば、制御部106は、入力部104やタブレット119を介してユーザから各種の入力命令を受け付ける。本実施の形態においては、制御部106は、タブレット119を介してユーザからの編集命令を受け付けて、手書き画像などのコンテンツを編集する。制御部106は、通信デバイス101を利用することによって、インターネット網500などのネットワークを介して外部の通信端末との間でデータの送受信を行う。
【0045】
具体的には、制御部106は、不揮発性メモリ108から制御プログラムを読み出して揮発性メモリ103に格納する。制御部106は、揮発性メモリ103から制御プログラムを順次読み出しながら当該制御プログラムを実行する。制御部106は、不揮発性メモリ108あるいは揮発性メモリ103からスタンプファイルや画像データなどを読み出して、スタンプやスタンプが押された画像などのコンテンツをディスプレイ107に表示させる。制御部106は、編集後の画像データ(コンテンツデータ)を揮発性メモリ103あるいは不揮発性メモリ108に格納する。
【0046】
本実施の形態に係るディスプレイ107は、有機EL(electroluminescence)や液晶パネルやCRT(Cathode Ray Tube)から構成される。ディスプレイ107は、制御部106からの信号に基づいてスタンプやスタンプが押された画像を表示する。
【0047】
そして、本実施の形態に係る携帯電話100においては、ディスプレイ107の下側(裏側)にタブレット119が敷設されている。これによって、ユーザは、たとえばスタイラスペン99や指などを用いることによって、タブレット119を介して図形情報などを制御部106に手書き入力することができる。
【0048】
本実施の形態に係るディスプレイ107とタブレット119とは、いわゆるタッチパネル150を構成する。なお、タッチパネル150は、各種方式(静電容量方式や抵抗膜方式)のタッチパネルによって実現されてもよいし、光センサ液晶によって実現されてもよい。
【0049】
より詳細には、前述したように、本実施の形態においては、第1の携帯電話100Aのタブレット119(タブレット119A)は、実質的に同時に複数の接触点を検知できる。そして、第2の携帯電話100Bのタブレット119(タブレット119B)は、1つの接触点を検知できる。
【0050】
通知部105は、スピーカによって実現される。通知部105は、他の通信端末からの呼びかけ(着呼)に応じて着信音を発することによって、他の通信端末からの着信をユーザに通知する。
【0051】
あるいは、通知部105は、LED(Light Emitting Diode)によって実現される。通知部105は、他の通信端末からの呼びかけに応じて点灯したり点滅したりすることによって、他の通信端末からの着信をユーザに通知する。
【0052】
あるいは、通知部105は、バイブレーション装置によって実現される。通知部105は、他の通信端末からの呼びかけに応じて通信端末自身を振動させることによって、他の通信端末からの着信をユーザに通知する。
【0053】
揮発性メモリ103は、たとえば、作業用メモリとして機能する揮発性のS−RAM(Static-Random Access Memory)やV−RAM(Video Random Access Memory)などによって実現される。揮発性メモリ103は、アプリケーションプログラム103Aや、論理命令テーブル103Bや、コンテンツデータ103Cや、各種変数103Dを揮発的に(一時的に)記憶する。
【0054】
ここでの論理命令テーブル103Bは、ディスプレイ107に表示されるボタンの画像データと、当該ボタンの表示位置(表示エリア)と、当該ボタンに対応する論理命令とが対応付けられたテーブルである。より詳細には、制御部106は、タブレット119を介してスタイラスペン99とディスプレイ107との接触位置を検知する。制御部106は、論理命令テーブル103Bを参照して、接触位置がボタンの表示エリア内に位置するか否かを判断する。制御部106は、接触位置がボタンの表示エリア内に位置する場合に、ユーザが当該ボタンに対応する論理命令を入力したものと判断する。すなわち、制御部106が実現するドライバが、接触位置がボタンの表示エリア内に位置する場合に、当該ボタンに対応する論理命令を上位のアプリケーションに受け渡す。
【0055】
コンテンツデータ103Cは、下地画像を示す下地画像データや、手書き文字を示す手書きデータや、当該下地画像に貼られたスタンプの画像データや、スタンプが貼られた位置(エリア)を示す位置データなどを含む。制御部106は、操作命令に基づいてコンテンツデータ103Cを編集したり、編集後のコンテンツデータ103Cに基づいてディスプレイ107にコンテンツを表示したりする。すなわち、制御部106は、操作命令に基づいて、コンテンツデータ103Cを順次更新する。
【0056】
より詳細には、制御部106は、受信した画像データやスタンプファイルを一時的に揮発性メモリ103に格納する。制御部106は、揮発性メモリ103から画像データを読み出して、ディスプレイ107に画像を表示させる。制御部106は、揮発性メモリ103からスタンプファイルを読み出して、ディスプレイ107にスタンプを表示させる。また、制御部106は、編集した画像データを一時的に揮発性メモリ103に格納する。
【0057】
不揮発性メモリ108は、たとえば、オペレーティングシステムやアプリケーションプログラムや論理命令テーブル108Aやスタンプデータ108Bなどを不揮発的に記憶するROM(Read Only Memory)や、NV−RAM(Non-Volatile Random Access Memory)や、静止画像データや動画像データなどを記憶するHDD(Hard Disk Drive)などによって実現される。
【0058】
不揮発性メモリ108が記憶する論理命令テーブル108Aも、ディスプレイ107に表示されるボタンの画像データと、当該ボタンの表示位置(表示エリア)と、当該ボタンに対応する論理命令とを対応付けて格納する。制御部106は、不揮発性メモリ108から論理命令テーブル108Aを読み出して、当該論理命令テーブル108Aを一時的に揮発性メモリ103に格納する。
【0059】
より詳細には、制御部106は、不揮発性メモリ108が記憶している画像データやスタンプファイルを読み出して、揮発性メモリ103に一時的に格納する。制御部106は、受信したスタンプファイルや画像データを、それらの対応する付加情報に基づいて、揮発性メモリ103あるいは不揮発性メモリ108に格納する。具体的には、制御部106は、表示することや編集することや他の通信端末へ送信することが許可されているスタンプファイルや画像データを不揮発性メモリ108に格納する。
【0060】
<各種変数>
次に、多点入力可能な第1の携帯電話100Aの揮発性メモリ103が記憶する各種変数103Dについて説明する。図5は、本実施の形態に係る携帯電話100が記憶する各種変数103Dを示すイメージ図である。
【0061】
図5を参照して、多点入力可能な第1の携帯電話100Aにおける各種変数103Dは、システム全体の変数として、自端末のIPアドレス(MyIPADR)と、通信相手端末のIPアドレス(HisIPADR)と、自端末のデバイスタイプ(MyDEVTP)とを含む。ここで、自端末のIPアドレスとは、P2P通信を開始する際に、自端末に割当てられた固有の識別情報である。通信相手端末のIPアドレスとは、当該通信相手端末とP2P通信を開始する際に、当該通信相手端末あるいはマッチングサーバ400から取得した当該通信相手端末の識別情報である。自端末のデバイスタイプとは、自端末が有するデバイスドライバの種類を示す情報である。たとえば、自端末のデバイスタイプが0である場合、自端末は単点用の入力デバイスを有していることを示す。一方、自端末のデバイスタイプが1である場合、自端末が多点入力可能な入力デバイスを有していることを示す。
【0062】
また、各種変数103Dは、操作命令が論理命令であるか否かを判断するための処理が完了したか否かを判断するフラグ(LE_Flag)と、第1の操作座標(o_perl)と第2の操作座標(o_per2)と、論理操作座標(o_per3)と、前回出力された自端末の第1の操作情報(MyOldP1)と、前回出力された相手端末の第1の操作情報(HisOldP1)と、前回出力された自端末の第2の操作情報(MyOldP2)と、前回出力された相手端末の第2の操作情報(HisOldP2)、第1の描画開始座標(sp1)と、第1の描画終了座標(ep1)と、第2の描画開始座標(sp2)と、第2の描画終了点(ep2)と、描画色(dc)と、自端末が現在選択している描画色(MyPenC)と、相手端末が現在選択している描画色(HisPenC)とを含む。
【0063】
次に、単点入力用の第2の携帯電話100Bの揮発性メモリ103が記憶する各種変数103Dについて説明する。
【0064】
図5を参照して、単点入力用の第2の携帯電話100Bにおける各種変数103Dは、システム全体の変数に加えて、操作命令が論理命令であるか否か判断するための処理が完了したか否かを判断するフラグ(LE_Flag)と、操作座標(o_perl)と、前回出力された自端末の第1の操作情報(MyOldP)と、前回出力された相手端末の操作情報(HisOldP)と、描画開始座標(sp1)と、描画終了座標(ep1)と、描画色(dc)と、自端末が現在選択している描画色(MyPenC)と、相手端末が現在選択している描画色(HisPenC)とを含む。
【0065】
そして、単点入力用の第2の携帯電話100Bの揮発性メモリ103が記憶する各種変数103Dは、多点入力可能な第1の携帯電話100Aから受信した操作命令(物理命令)であって編集処理が未完了の操作命令(BUF2nd[])と、当該操作命令の個数(bcnt)とを含む。
【0066】
<多点入力可能な携帯電話100Aの機能構成>
次に、本実施の形態に係る多点入力可能な第1の携帯電話100Aの機能構成について説明する。図6は、本実施の形態に係る多点入力可能な第1の携帯電話100Aの機能構成を示すブロック図である。
【0067】
図6に示すように、第1の携帯電話100Aは、生成部1061Aと、表示制御部1064Aと、通信制御部1067Aとを含む。また、前述したように、第1の携帯電話100Aは、通信デバイス101と、ディスプレイ107と、タブレット119Aと、揮発性メモリ103(図4参照)と、不揮発性メモリ108(図4参照)とも含む。
【0068】
前述したように、タブレット119Aは、ユーザから手書き入力やソフトウェアキー入力などを受け付けて、入力動作に対応する入力命令を順次揮発性メモリ103に格納する。すなわち、タブレット119Aは、ユーザからの各種入力命令を受け付ける受付部を実現する。本実施の形態に係る「入力命令」は、タブレット119A上の接触箇所を示す座標(入力用の座標)をいう。そして、第1の携帯電話100Aのタブレット119Aは、実質的に同時に複数の座標の入力を受け付けることが可能である。
【0069】
より詳細には、タブレット119Aは、ユーザの指がタッチパネル150に接触した位置を制御部106(後述する命令判断部1062A)に順次入力する。すなわち、タブレット119Aは、ユーザがタッチパネル150に接触した位置を検知して、順次当該入力用の座標(2つの入力用の座標(P1,P2))を順次制御部106に受け渡す。
【0070】
制御部106は、タブレット119Aから入力されてくる座標(P1,P2)を順次描画エリア上の座標(L1,L2)に変換して、当該描画エリア上の座標(物理情報)を手書き入力命令として揮発性メモリ103に記憶する。あるいは、制御部106は、論理命令テーブル103Bを参照して、タブレット119Aから順次入力されてくる座標(P1,P2)に対応する論理命令を読み出し、当該論理命令を順次揮発性メモリ103に記憶する。
【0071】
ディスプレイ107は、制御部106からのデータに基づいて、画像やテキストを表示する。具体的には、ディスプレイ107は、制御部106からのデータに基づいて、スタンプが押されたコンテンツを表示する。あるいは、ディスプレイ107は、制御部106からのデータに基づいて、自身のタブレット119Aにて受け付けた手書き入力命令に対応する手書き画像と、通信デバイス101にて受信した操作情報に対応する手書き画像とを重ねて表示する。あるいは、ディスプレイ107は、制御部106からのデータに基づいて、ユーザがタッチパネル150を介して選択可能な(押下可能な)ソフトウェアキーなどを表示する。
【0072】
通信デバイス101は、図示しない通信アンテナや信号処理部によって実現される。通信デバイス101は、タブレット119Aが受け付けた手書き入力命令や表示されているボタンを選択するための選択命令やコンテンツにスタンプを貼り付けるための押下命令などの操作命令を他の通信端末へと送信する。通信デバイス101は、他の通信端末からコンテンツデータや操作命令を受信する。制御部106は、受信したコンテンツデータや操作命令などを揮発性メモリ103あるいは不揮発性メモリ108に記憶する。
【0073】
生成部1061Aと、表示制御部1064Aと、通信制御部1067Aとは、制御部106によって実現される機能である。より詳細には、制御部106が有する各機能は、制御部106が揮発性メモリ103などに記憶される制御プログラム(アプリケーションプログラム)を実行して、図4に示される各ハードウェアを制御することによって実現される機能である。本実施の形態に係る制御部106は、不揮発性メモリ108に予め格納された制御プログラムを、揮発性メモリ103のワークメモリに読み出す。そして、制御部106は、揮発性メモリ103上の制御プログラムを順次実行することによって、上記の各機能ブロックを実現する。
【0074】
生成部1061Aは、タブレット119Aからの入力命令を順次受け付ける。生成部1061Aは、1または複数の入力命令を含む一連の入力命令を受け付けて、当該一連の入力命令対応する操作命令を生成する。操作命令は、たとえば、後述する物理命令(2つの入力用座標)や論理命令を含む。以下では、操作命令のうち、論理命令に含まれない命令を物理命令という。
【0075】
たとえば、生成部1061Aは、タブレット119Aから順次入力されてくる入力命令から、予め登録されている条件(座標エリアなど)を満たす一連の入力命令を抽出する命令判断部1062Aを含む。すなわち、命令判断部1062Aは、論理命令テーブル103Bを参照して、一連の入力命令が予め登録されている条件を満たすか否かを判断する。命令判断部1062Aは、予め登録されている条件を満たす一連の入力命令を論理命令変換部1063Aに受け渡す。
【0076】
また、命令判断部1062Aは、タブレット119Aから順次入力されてくる入力命令に基づいて、予め登録されている条件を満たさない入力命令を物理命令に変換する。本実施の形態に係る、命令判断部1062Aは、2つの入力用の座標(P1,P2)を2つの描画エリア上の座標(L1,L2)に変換する。
【0077】
ここでは、入力用の座標(P1,P2)とは、タブレット119A上の座標、すなわちタブレット119Aの左上隅を基準とした座標である。一方、描画エリア上の座標(L1,L2)とは、ディスプレイ107が表示する描画エリア上の座標、すなわち手書き入力が可能なエリアの左上隅を基準とした座標である。
【0078】
また、生成部1061Aは、論理命令テーブル103Bに基づいて、抽出された一連の入力命令を順次論理命令に変換する論理命令変換部1063Aを含む。たとえば、論理命令変換部1063Aは、抽出された一連の入力命令を論理命令としての描画色の選択命令に変換する。すなわち、命令判断部1062Aと論理命令変換部1063Aとは、共同して、対応する入力命令が生成部1061Aあるいはタブレット119Aに入力された順に、それぞれの操作命令を通信制御部1067Aに入力する。
【0079】
ここで、論理命令および操作命令について、通常のボタンを用いて説明する。図7(A)および図7(B)は、本実施の形態に係るボタンの押下と入力デバイスから出力される信号との関係を示すイメージ図である。すなわち、図(7)および図7(B)は、通常のボタンから構成される入力デバイスのイメージと当該入力デバイスのドライバが出力する出力データとを例示する。なお、ここでのドライバは、ボタンからの信号に基づいて、ボタンに対するON/OFFの一連操作(クリック操作)のみを検出し、上位のアプリケーションなど出力するものとする。
【0080】
図7(A)を参照して、入力デバイスは、ボタンが押下されていない状態(解放状態)からボタンが押下された状態(押下)に遷移した時点で、入力デバイスドライバに対して「MAKE」信号を出力する。そして、図7(B)を参照して、入力デバイスは、押下状態から解放状態に遷移した時点で、入力デバイスドライバに対して「BREAK」信号を出力する。
【0081】
たとえば、クリックのみを検出する入力デバイスのドライバは、この入力デバイスからの入力に基づいて、「MAKE」信号を受け付けた後、第1の所定時間内に「BREAK」信号を受け付けたときに、所定のデータを上位のアプリケーションに出力する。すなわち、ドライバは、所定時間内にボタンのON/OFFが切り替わったことを検知したときに、「M−Click」信号を上位のアプリケーションに出力する。
【0082】
逆に、ドライバは、「MAKE」信号を受け付けた後、第2の所定時間内に「BREAK」信号を受け付けなければ、「B−Click」信号を上位のアプリケーションに出力する。なお、ドライバは、「MAKE」信号を受け付けてから第3の所定時間内に「BREAK」信号を受け付けなければ、その後に最初に入力される「BREAK」信号を無視する。すなわち、ドライバは、入力デバイスから信号を受け付けなかったものとみなす。
【0083】
上位のアプリケーションは、ドライバからの出力を受けて、第1の所定の処理を実行する。たとえば、ダブルクリックを受け付ける上位のアプリケーションは、連続して(第4の所定時間内に)2回の「M−Click」信号を受け付けた場合に、所定の処理を実行してもよい。そして、上位のアプリケーションは、ドライバからの「M−Click」信号や「B−Click」信号の各々に応じて、第2の所定の処理を実行してもよい。
【0084】
本実施の形態においては、生成部1061Aは、ドライバが出力する「M−Click」信号および「B−Click」信号のそれぞれを入力命令として受け付ける。そして、生成部1061Aは、「M−Click」信号や「B−Click」信号からなる一連の入力命令をダブルクリックという論理命令に変換する。
【0085】
あるいは、生成部1061Aは、ドライバが出力する「MAKE」信号および「BREAK」信号のそれぞれを入力命令として受け付けてもよい。生成部1061Aは、「MAKE」信号および「BREAK」信号からなる一連の入力命令を「M−Click」信号および「B−Click」信号という操作命令として取得してもよい。生成部1061Aは、「MAKE」信号および「BREAK」信号からなる一連の操作命令(「M−Click」信号および「B−Click」信号からなる一連の入力命令)をダブルクリックという論理命令として取得してもよい。
【0086】
すなわち、本実施の形態に係る「入力命令」とは、所定のデータ形式でドライバから出力される命令データを意味する。「操作命令」とは、この「入力命令」を素として、生成部1061Aが上位アプリの規定に基づいて生成する命令データ、もしくはサブセットなどを意味する。そして、本実施の形態に係る生成部1061Aは、操作命令や論理命令を、対応する入力命令が入力された順に、すなわち入力デバイスが対応する入力デバイスを受け付けた順に、通信制御部1067Aや論理命令変換部1063Aへと出力するものである。
【0087】
以下では、ドライバからの手書き入力に対応する出力データについて説明する。図8は、本実施の形態に係る多点入力可能な第1の携帯電話100Aのドライバが手書き入力に応じて出力するデータを示すイメージ図である。
【0088】
図8(A)を参照して、タブレット119Aが2つの接触点を検知した場合、ドライバはタブレット119Aからの信号に基づいて、1つ目の接触点の座標FF01と2つ目の接触点の座標SF01とをあわせて出力する。たとえば、ドライバは、(FF01,SF02)を示すデータを生成部1061Aに出力する。
【0089】
図8(B)を参照して、引き続き、タブレット119Aが連続して2つの接触点を検知すると、ドライバは2つの接触点の座標を順次出力する。たとえば、ドライバは、(FF02,SF02)〜(FF0n,SF0n)を示すデータを生成部1061Aに出力する。
【0090】
図8(C)を参照して、その後、タブレット119Aが連続して1つの接触点だけを検知すると、ドライバは1つの接触点の座標を順次出力する。たとえば、ドライバは、(FF11,NULL)〜(FF1n,NULL)を示すデータを生成部1061Aに出力する。
【0091】
次に、ドライバからの手書き入力および描画色の選択命令に対応する出力データについて説明する。同様に、図9は、本実施の形態に係る多点入力可能な第1の携帯電話100Aのドライバが手書き入力と描画色ボタンの押下操作に応じて出力するデータを示すイメージ図である。
【0092】
図9(A)を参照して、タブレット119Aが1つの接触点を検知した場合、ドライバはタブレット119Aからの信号に基づいて、1つ目の接触点の座標FF01を順次出力する。たとえば、ドライバは、(FF01,NULL)〜(FF0n,NULL)を示すデータを出力した後、(FF11,NULL)〜(FF1n,NULL)を示すデータを生成部1061Aに出力する。
【0093】
図9(B)を参照して、タブレット119Aが2つ目の接触点を検知すると、ドライバは2つの接触点の座標を出力する。たとえば、ドライバは、(FF21,SF21)を示すデータを生成部1061Aに出力する。
【0094】
図9(C)を参照して、引き続き、タブレット119Aが2つの接触点を検知すると、ドライバは2つの接触点の座標を出力する。たとえば、ドライバは、(FF22,SF22)〜(FF2n,SF2n)を示すデータを生成部1061Aに出力する。
【0095】
図9(D)を参照して、その後、タブレット119Aが連続して1つの接触点だけを検知すると、ドライバは1つの接触点の座標を順次出力する。たとえば、ドライバは、(FF2n+1,NULL)〜(FF2m,NULL)を示すデータを生成部1061Aに出力する。
【0096】
図6に戻って、通信制御部1067Aは、通信デバイス101を用いて、他の通信端末とP2P通信を行う。より詳細には、通信制御部1067Aは、通信デバイス101を用いて他のサーバ装置などから自身のIPアドレスと他の通信端末のIPアドレスとを取得することにより、他の通信端末との間で当該IPアドレスを利用して直接データを送受信し始める。
【0097】
本実施の形態に係る通信制御部1067Aは、通信デバイス101を用いて、操作命令を示すデータをインターネット網500などを介して他の携帯電話100(たとえば、第2の携帯電話100B)に送信する。たとえば、通信制御部1067Aは、通信デバイス101を介して、命令判断部1062Aからの物理命令としての2点の描画エリア上の座標(L1,L2)を他の携帯電話100に送信する。あるいは、通信制御部1067Aは、通信デバイス101を介して、論理命令変換部1063Aからの論理命令としての描画色の選択命令を他の携帯電話100に送信する。また、通信制御部1067Aは、通信デバイス101を介して、自身に割り当てられたIPアドレスや自身が多点入力可能な端末であることを示す情報などを他の携帯電話100に送信する。
【0098】
本実施の形態に係る通信制御部1067Aは、通信デバイス101を介して、物理命令としての2点の描画エリア上の座標(L1,L2)や、論理命令としての描画色の選択命令などを、対応する入力命令がタブレット119A(タッチパネル150)や生成部1061Aに入力された順に送信する。
【0099】
逆に、通信制御部1067Aは、通信デバイス101を用いて、操作命令を示すデータをインターネット網500などを介して他の携帯電話100から受信する。たとえば、通信制御部1067Aは、通信デバイス101を介して、物理命令としての2点の座標(L1,L2)あるいは1点の座標L1を他の携帯電話100から受信する。あるいは通信制御部1067Aは、通信デバイス101を介して、論理命令としての描画色の選択命令を他の携帯電話100から受信する。また、通信制御部1067Aは、通信デバイス101を介して、他の携帯電話100のIPアドレスや他の携帯電話100が多点入力可能な端末であるか否かを示す情報などを他の携帯電話100から受信する。
【0100】
より詳細には、通信制御部1067Aは、通信デバイス101から物理命令を取得して、当該物理命令が多点用であるか否かを判断するデバイス判断部1068Aと、単点用の物理命令を多点用の物理命令に変換する物理命令変換部1069Aとを含む。
【0101】
デバイス判断部1068Aは、物理命令が多点用である場合、当該2点の座標(L1,L2)を表示制御部1064A(後述する物理命令処理部1066A)に受け渡す。デバイス判断部1068Aは、物理命令が単点用である場合、当該1点の座標L1を物理命令変換部1069Aに受け渡す。
【0102】
物理命令変換部1069Aは、1点の座標L1に基づいて、多点用の物理命令、すなわち2点の座標(L1,NULL)を生成する。物理命令変換部1069Aは、変換後の2点の座標(L1,NULL)を表示制御部1064A(後述する物理命令処理部1066A)に受け渡す。
【0103】
なお、通信制御部1067Aは、通信デバイス101が受信した論理命令を表示制御部1064A(後述する論理命令処理部1065A)に受け渡す。
【0104】
表示制御部1064Aは、手書きチャット中のコンテンツデータに基づいて、ディスプレイ107にコンテンツを表示させる。また、表示制御部1064Aは、タブレット119Aと生成部1061Aとを介して受け付けた操作命令と通信デバイス101と通信制御部1067Aとを介して受信した操作命令とに基づいて、手書きチャット中のコンテンツデータを編集する。そして、表示制御部1064Aは、編集後のコンテンツデータをディスプレイ107に表示させる。
【0105】
より詳細には、表示制御部1064Aは、論理命令変換部1063Aからの論理命令および通信制御部1067Aからの論理命令に基づいてコンテンツデータを編集する論理命令処理部1065Aを含む。たとえば、論理命令処理部1065Aは、論理命令としての描画色の選択命令(変更命令)に応じて、手書き入力用の描画色(変数dcの値)を設定し直す。
【0106】
また、表示制御部1064Aは、命令判断部1062Aからの物理命令とデバイス判断部1068Aからの物理命令と物理命令変換部1069Aからの物理命令とに基づいてコンテンツデータを編集する物理命令処理部1066Aを含む。物理命令処理部1066Aは、順次入力される2点の座標(L1,L2)に基づいて、コンテンツに手書き画像を追加する。たとえば、物理命令処理部1066Aは、下図画像に文字などの線画像を書き加える。
【0107】
このようにして、表示制御部1064Aは、論理命令処理部1065Aと物理命令処理部1066Aとによって編集されたコンテンツデータに基づいて、ディスプレイ107に編集後のコンテンツを表示させる。
【0108】
<単点入力用の携帯電話100Bの機能構成>
次に、本実施の形態に係る単点入力用の第2の携帯電話100Bの機能構成について説明する。単点入力用の第2の携帯電話100Bが有する機能のうち、第1の携帯電話100Aが有する機能と同様のものについては、ここでは説明を繰り返さない。図10は、本実施の形態に係る単点入力用の第2の携帯電話100Bの機能構成を示すブロック図である。
【0109】
図10に示すように、第2の携帯電話100Bは、生成部1061Bと、表示制御部1064Bと、通信制御部1067Bとを含む。また、前述したように、第2の携帯電話100Bは、通信デバイス101と、ディスプレイ107と、タブレット119Bと、揮発性メモリ103(図4参照)と、不揮発性メモリ108(図4参照)とも含む。
【0110】
前述したように、タブレット119Bは、ユーザから手書き入力やソフトウェアキー入力などを受け付けて、入力動作に対応する入力命令を揮発性メモリ103に格納する。タブレット119Bは、ユーザからの各種入力命令を受け付ける受付部を実現する。ここでの「入力命令」は、タブレット119A上の接触箇所を示す座標(入力用の座標)をいう。そして、第2の携帯電話100Bのタブレット119Bは、1つの接触位置を検知することが可能である。
【0111】
より詳細には、タブレット119Bは、ユーザの指が接触した位置を制御部106(後述する命令判断部1062B)に入力する。すなわち、タブレット119Bは、ユーザがタッチパネル150に接触した位置を検知して、順次当該入力用の座標(1つの入力用の座標P1)を制御部106に受け渡す。
【0112】
たとえば、制御部106は、タブレット119Bから順次入力されてくる座標P1を描画エリア上の座標L1に変換して、当該描画エリア上の座標(物理情報)を手書き入力命令として揮発性メモリ103に記憶する。あるいは、たとえば、制御部106は、論理命令テーブル103Bを参照して、タブレット119Aから順次入力されてくる座標P1に対応する論理命令を読み出し、当該論理命令を揮発性メモリ103に記憶する。
【0113】
ディスプレイ107は、制御部106からのデータに基づいて、画像やテキストを表示する。具体的には、ディスプレイ107は、制御部106からのデータに基づいて、スタンプが押されたコンテンツを表示する。あるいは、ディスプレイ107は、制御部106からのデータに基づいて、自身のタブレット119Bにて受け付けた手書き入力命令に対応する手書き画像と、通信デバイス101にて受信した手書き情報に対応する手書き画像とを重ねて表示する。あるいは、ディスプレイ107は、制御部106からのデータに基づいて、選択可能なソフトウェアキーなどを表示する。
【0114】
通信デバイス101は、図示しない通信アンテナや信号処理部によって実現される。通信デバイス101は、タブレット119Bが受け付けた手書き入力命令や表示されているボタンを選択するための選択命令やコンテンツにスタンプを貼り付けるための押下命令などを示す操作命令を他の通信端末へと送信する。通信デバイス101は、他の通信端末からコンテンツデータや操作命令を受信する。制御部106は、受信したコンテンツデータや操作命令などを揮発性メモリ103あるいは不揮発性メモリ108に記憶する。
【0115】
生成部1061Bと、表示制御部1064Bと、通信制御部1067Bとは、制御部106などによって実現される機能である。より詳細には、制御部106が有する各機能は、制御部106が揮発性メモリ103などに記憶される制御プログラムを実行して、図4に示される各ハードウェアを制御することによって実現される機能である。たとえば、制御部106は、不揮発性メモリ108に予め格納されたプログラムを、揮発性メモリ103のワークメモリに読み出す。そして、制御部106は、揮発性メモリ103のプログラムを順次実行することによって、上記の機能ブロックを実現する。
【0116】
生成部1061Bは、タブレット119Bから順次入力命令を受け付ける。生成部1061Bは、1または複数の入力命令を含む一連の入力命令を受け付けて、当該一連の入力命令に対応する操作命令を順次生成する。操作命令は、たとえば、前述したような物理命令(1つの入力用座標)や論理命令を含む。以下では、操作命令のうち、論理命令に含まれない命令を物理命令という。
【0117】
たとえば、生成部1061Bは、タブレット119Bから順次入力されてくる入力命令から、予め登録されている条件(座標エリアなど)を満たす一連の入力命令を順次抽出する命令判断部1062Bを含む。命令判断部1062Bは、当該一連の入力命令を順次論理命令変換部1063Bに受け渡す。また、命令判断部1062Bは、タブレット119Bから順次入力されてくる入力命令に基づいて、予め登録されている条件を満たさない入力命令を順次物理命令に変換する。たとえば、命令判断部1062Bは、1つの入力用の座標P1を1つの描画エリア上の座標L1に変換する。
【0118】
また、生成部1061Bは、論理命令テーブル103Bに基づいて、抽出された一連の入力命令を順次論理命令に変換する論理命令変換部1063Bを含む。たとえば、論理命令変換部1063Bは、抽出された一連の入力命令を論理命令としての描画色の選択命令に変換する。すなわち、命令判断部1062Bと論理命令変換部1063Bとは、共同して、対応する入力命令が生成部1061Bあるいはタブレット119Bに入力された順に、それぞれの操作命令を通信制御部1067Bに入力する。
【0119】
論理命令および操作命令については、第1の携帯電話100Aのそれと同様であるため、ここでは説明を繰り返さない。
【0120】
通信制御部1067Bは、通信デバイス101を用いて、他の通信端末とP2P通信を行う。より詳細には、通信制御部1067Bは、通信デバイス101を用いて他のサーバ装置などから自身のIPアドレスと他の通信端末のIPアドレスとを取得することにより、他の通信端末との間で当該IPアドレスを利用して直接データを送受信し始める。
【0121】
本実施の形態に係る通信制御部1067Bは、通信デバイス101を用いて、操作命令を示すデータをインターネット網500などを介して他の携帯電話100(たとえば、第1の携帯電話100A)に送信する。たとえば、通信制御部1067Bは、通信デバイス101を介して、命令判断部1062Bからの物理命令としての1点の描画エリア上の座標L1を他の携帯電話100に送信する。あるいは通信制御部1067Bは、通信デバイス101を介して、論理命令変換部1063Bからの論理命令としての描画色の選択命令を他の携帯電話100に送信する。また、通信制御部1067Bは、通信デバイス101を介して、自身に割り当てられたIPアドレスや自身が多点入力可能な端末であることを示す情報などを他の携帯電話100に送信する。
【0122】
本実施の形態に係る通信制御部1067Bは、通信デバイス101を介して、物理命令としての1点の描画エリア上の座標L1や、論理命令としての描画色の選択命令などを、対応する入力命令がタブレット119B(タッチパネル150)や生成部1061Bに入力された順に送信する。
【0123】
逆に、通信制御部1067Bは、通信デバイス101を用いて、操作命令を示すデータをインターネット網500などを介して他の携帯電話100から受信する。たとえば、通信制御部1067Bは、通信デバイス101を介して、物理命令としての2点の座標(L1,L2)あるいは1点の座標L1を他の携帯電話100から受信する。あるいは通信制御部1067Bは、通信デバイス101を介して、論理命令としての描画色の選択命令を他の携帯電話100から受信する。また、通信制御部1067Bは、通信デバイス101を介して、他の携帯電話100のIPアドレスや他の携帯電話100が多点入力可能な端末であるか否かを示す情報などを他の携帯電話100から受信する。
【0124】
より詳細には、通信制御部1067Bは、通信デバイス101から物理命令を取得して、当該物理命令が多点用であるか否かを判断するデバイス判断部1068Bと、多点用の物理命令を単点用の物理命令に変換する物理命令変換部1069Bとを含む。
【0125】
デバイス判断部1068Bは、物理命令が単点用である場合、当該1点の座標L1を表示制御部1064B(後述する物理命令処理部1066B)に受け渡す。デバイス判断部1068Bは、物理命令が多点用である場合、当該2点の座標(L1,L2)を物理命令変換部1069Bに受け渡す。
【0126】
物理命令変換部1069Bは、2点の座標(L1,L2)に基づいて、単点用の物理命令すなわち1点の座標L1を生成する。このとき、物理命令変換部1069Bは、もう1点の座標L2を揮発性メモリ103のバッファ(BUF2nd[])などに一時的に格納する。物理命令変換部1069Bは、変換後の1点の座標L1を表示制御部1064B(後述する物理命令処理部1066B)に受け渡す。
【0127】
なお、通信制御部1067Bは、通信デバイス101が受信した論理命令を表示制御部1064B(後述する論理命令処理部1065B)に受け渡す。
【0128】
表示制御部1064Bは、手書きチャット中のコンテンツデータに基づいて、ディスプレイ107にコンテンツを表示させる。また、表示制御部1064Bは、タブレット119Bと生成部1061Bとを介して受け付けた操作命令と通信デバイス101と通信制御部1067Bとを介して受信した操作命令とに基づいて、手書きチャット中のコンテンツデータを編集する。そして、表示制御部1064Bは、編集後のコンテンツデータをディスプレイ107に表示させる。
【0129】
より詳細には、表示制御部1064Bは、論理命令変換部1063Bからの論理命令および通信制御部1067Bからの論理命令に基づいてコンテンツデータを編集する論理命令処理部1065Bを含む。たとえば、論理命令処理部1065Bは、論理命令としての描画色の変更命令に応じて、手書き入力用の描画色の色を設定しなおす。
【0130】
また、表示制御部1064Bは、命令判断部1062Bからの物理命令とデバイス判断部1068Bからの物理命令と物理命令変換部1069Bからの物理命令とに基づいて、コンテンツデータを編集する物理命令処理部1066Bを含む。物理命令処理部1066Bは、順次入力される1点の座標L1に基づいて、コンテンツに手書き画像を追加する。物理命令処理部1066Bは、物理命令変換部1069Bからの物理命令の入力が途切れたときに、揮発性メモリ103のバッファ(BUF2nd[])からもう1つの座標L2を読み出して、コンテンツに手書き画像を追加する。
【0131】
このようにして、表示制御部1064Bは、論理命令処理部1065Bと物理命令処理部1066Bとによって編集されたコンテンツデータに基づいて、ディスプレイ107にコンテンツを表示させる。
【0132】
<ネットワークシステム1の機能構成>
次に、図6を参照して説明した多点入力可能な第1の携帯電話100Aと、図10を参照して説明した単点入力用の第2の携帯電話100Bとから構成されるネットワークシステムの機能構成について説明する。ここでは、第1の携帯電話100Aがインターネット網500を介して第2の携帯電話100Bに操作命令を送信する例について説明する。図11は、本実施の形態に係る多点入力可能な第1の携帯電話100Aと単点入力用の第2の携帯電話100Bとから構成されるネットワークシステムの機能構成を示すブロック図である。
【0133】
図11に示すように、タブレット119Aは、ユーザの指が接触した位置を示す2つの入力用座標(P1,P2)を命令判断部1062Aに入力する。たとえば、制御部106は、タブレット119Aから入力されてくる座標(P1,P2)を順次描画エリア上の座標(L1,L2)に変換して、当該描画エリア上の座標(物理情報)を手書き入力命令として揮発性メモリ103に記憶する。あるいは、たとえば、制御部106は、論理命令テーブル103Bを参照して、タブレット119Aから順次入力されてくる座標(P1,P2)に対応する論理命令を読み出し、当該論理命令を揮発性メモリ103に記憶する。
【0134】
生成部1061Aは、タブレット119Aから順次入力命令を受け付ける。生成部1061Aは、タブレット119Aから順次入力されてくる入力命令から、予め登録されている条件(座標エリアなど)を満たす一連の入力命令を抽出する命令判断部1062Aを含む。命令判断部1062Aは、当該一連の入力命令を論理命令変換部1063Aに受け渡す。また、命令判断部1062Aは、タブレット119Aから順次入力されてくる入力命令に基づいて、予め登録されている条件を満たさない入力命令を物理命令に変換する。たとえば、命令判断部1062Aは、2つの入力用の座標(P1,P2)を2つの描画エリア上の座標(L1,L2)に変換する。
【0135】
また、生成部1061Aは、論理命令テーブル103Bに基づいて、抽出された一連の入力命令を論理命令に変換する論理命令変換部1063Aを含む。たとえば、論理命令変換部1063Aは、抽出された一連の入力命令を論理命令としての描画色の選択命令に変換する。
【0136】
通信制御部1067Aは、通信デバイス101を用いて、操作命令を示すデータをインターネット網500などを介して第2の携帯電話100Bに送信する。たとえば、通信制御部1067Aは、通信デバイス101を介して、命令判断部1062Aからの物理命令としての2点の描画エリア上の座標(L1,L2)を第2の携帯電話100Bに送信する。あるいは通信制御部1067Aは、通信デバイス101を介して、論理命令変換部1063Aからの論理命令としての描画色の選択命令を第2の携帯電話100Bに送信する。
【0137】
前述したように、本実施の形態に係る通信制御部1067Aは、通信デバイス101を介して、物理命令としての2点の描画エリア上の座標(L1,L2)や、論理命令としての描画色の選択命令などを、対応する入力命令がタブレット119A(タッチパネル150)や生成部1061Aに入力された順に送信する。
【0138】
一方、第2の携帯電話100Bの通信制御部1067Bは、通信デバイス101を用いて、操作命令を示すデータをインターネット網500などを介して第1の携帯電話100Aから受信する。たとえば、通信制御部1067Bは、通信デバイス101を介して、物理命令としての2点の座標(L1,L2)を第1の携帯電話100Aから受信する。あるいは通信制御部1067Bは、通信デバイス101を介して、論理命令としての描画色の選択命令を第1の携帯電話100Aから受信する。
【0139】
より詳細には、通信制御部1067Bは、通信デバイス101から物理命令を取得して、当該物理命令が多点用であるか否かを判断するデバイス判断部1068Bと、多点用の物理命令を単点用の物理命令に変換する物理命令変換部1069Bとを含む。デバイス判断部1068Bは、物理命令が単点用である場合、当該1点の座標L1を物理命令処理部1066Bに受け渡す。ここでは、物理命令が多点用であるため、デバイス判断部1068Bは、当該2点の座標(L1,L2)を物理命令変換部1069Bに受け渡す。
【0140】
物理命令変換部1069Bは、2点の座標(L1,L2)に基づいて、単点用の物理命令すなわち1点の座標L1を生成する。このとき、物理命令変換部1069Bは、もう1点の座標L2を揮発性メモリ103のバッファ(BUF2nd[])などに一時的に格納する。物理命令変換部1069Bは、変換後の1点の座標L1を物理命令処理部1066Bに受け渡す。
【0141】
なお、通信制御部1067Bは、通信デバイス101が受信した論理命令を論理命令処理部1065Bに受け渡す。
【0142】
表示制御部1064Bの論理命令処理部1065Bは、論理命令変換部1063Bからの論理命令および通信制御部1067Bからの論理命令に基づいてコンテンツデータを編集する。たとえば、論理命令処理部1065Bは、論理命令としての描画色の変更命令に応じて、手書き入力用の描画色の色を設定しなおす。
【0143】
また、表示制御部1064Bは、命令判断部1062Bからの物理命令とデバイス判断部1068Bからの物理命令と物理命令変換部1069Bからの物理命令とに基づいて、コンテンツデータを編集する物理命令処理部1066Bを含む。物理命令処理部1066Bは、順次入力される1点の座標L1に基づいて、コンテンツに手書き画像を追加する。
【0144】
このようにして、表示制御部1064Bは、論理命令処理部1065Bと物理命令処理部1066Bとによって編集されたコンテンツデータに基づいて、ディスプレイ107にコンテンツを表示させる。
【0145】
<各種の処理>
次に、本実施の形態に係る携帯電話100における各種の処理手順について説明する。以下では、説明のために、携帯電話100は、タッチパネル150上の文字などの手書き入力を行えるエリア(以下、描画エリアともいう。)に対する入力命令を物理命令と判断し、タッチパネル150上の描画色の選択ボタンの表示エリア(以下、描画不能エリアともいう。)に対する入力命令を論理命令と判断するものとする。
【0146】
<命令判定処理(多点用)>
次に、本実施の形態に係る多点入力可能な第1の携帯電話100Aにおける命令判定処理について説明する。図12は、本実施の形態に係る多点入力可能な第1の携帯電話100Aにおける命令判定処理の処理手順を示す第1のフローチャートである。図13は、本実施の形態に係る多点入力可能な第1の携帯電話100Aにおける命令判定処理の処理手順を示す第2のフローチャートである。
【0147】
図12および図13を参照して、命令判断部1062Aとして機能する制御部106は、タブレット119Aを介してユーザから入力命令を受け付けたか否かを判断する(ステップS102)。制御部106は、タブレット119Aから入力命令を受け付けなかった場合(ステップS102にてNOである場合)、ステップS102からの処理を繰り返す。
【0148】
制御部106は、タブレット119Aから入力命令を受け付けた場合(ステップS102にてYESである場合)、揮発性メモリ103の変数o_per3にNULLを格納する(ステップS104)。制御部106は、変数i_per1(本命令判断部1062Aへの入力パラメータである第1操作座標P1が格納される変数)にNULLが格納されているか否かを判断する(ステップS106)。制御部106は、変数i_per1にNULLが格納されている場合(ステップS106にてYESである場合)、後述するステップS114からの処理を実行する。
【0149】
制御部106は、変数i_per1にNULLが格納されていない場合(ステップS106にてNOである場合)、入力命令に対応する接触座標が描画エリア内に位置するか否かを判断する(ステップS108)。制御部106は、入力命令に対応する接触座標が描画エリア内に位置しない場合(ステップS108にてNOである場合)、変数o_per1にNULLを格納する(ステップS110)。あわせて、制御部106は、変数o_per3にi_per1の値を代入する。制御部106は、後述するステップS114からの処理を実行する。
【0150】
制御部106は、入力命令に対応する接触座標が描画エリア内に位置する場合(ステップS108にてYESである場合)、変数i_per1を描画エリアの左上端を起点する座標値へと変換し変数o_per1に代入する(ステップS112)。
【0151】
制御部106は、変数i_per2(本命令判断部1062Aへの入力パラメータである第2操作座標P2が格納される変数)にNULLが格納されているか否かを判断する(ステップS114)。制御部106は、i_per2にNULLが格納されている場合(ステップS114にてYESである場合)、後述するステップS132からの処理を実行する。
【0152】
制御部106は、変数i_per2にNULLが格納されていない場合(ステップS114にてNOである場合)、入力命令に対応する第2の接触座標が描画エリア内に位置するか否かを判断する(ステップS116)。制御部106は、入力命令に対応する第2の接触座標が描画エリア内に位置しない場合(ステップS116にてNOである場合)、変数o_per3にNULL画格納されているか否かを判断する(ステップS118)。
【0153】
制御部106は、変数o_per3にNULLが格納されている場合(ステップS118にてYESである場合)、変数o_per2にNULLを代入する(ステップS120)。あわせて、制御部106は、変数o_per3にi_per2の値を代入する。制御部106は、後述するステップS132からの処理を実行する。
【0154】
制御部106は、変数o_per3にNULLが格納されていない場合(ステップS118にてNOである場合)、変数o_per2にNULLを代入する(ステップS122)。あわせて、制御部106は、変数o_per3にNULLを代入する。制御部106は、後述するステップS132からの処理を実行する。
【0155】
本実施の形態においては、2点の接触が共に論理命令の入力を示す場合、制御部106が当該入力をエラーとみなす。すなわち、制御部106がどちらの接触も無視する。しかしながら、制御部106が、当該2つの論理命令の入力を、予め設定されている論理命令の入力として受け付けてもよい。
【0156】
制御部106は、入力命令に対応する第2の接触座標が描画エリア内に位置する場合(ステップS116にてYESである場合)、変数i_per2の値を描画エリアの左上端を起点とする座標に変換し、変数o_per2に代入する(ステップS124)。制御部106は、後述するステップS132からの処理を実行する。
【0157】
制御部106は、変数o_per1にNULLが格納され、かつ、変数o_per2にNULLが格納されているか否かを判断する(ステップS132)。制御部106は、変数o_per1にNULLが格納され、かつ、変数o_per2にNULLが格納されている場合(ステップS132にてYESである場合)、後述するステップS138からの処理を実行する。
【0158】
制御部106は、o_per1にNULLが格納されていない場合、あるいは、変数o_per2にNULLが格納されていない場合(ステップS132にてNOである場合)、変数o_per1の値と変数o_per2の値を物理命令処理部1066Aに出力する(ステップS134)。制御部106は、通信デバイス101を介して、変数o_per1の値と変数o_per2の値をP2P通信中のグループ端末へと送信する(ステップS136)。
【0159】
制御部106は、変数o_per3にNULLが格納されているか否かを判断する(ステップS138)。制御部106は、変数o_per3にNULLが格納されている場合(ステップS138にてYESである場合)、後述するステップS142からの処理を実行する。制御部106は、変数o_per3にNULLが格納されていない場合(ステップS138にてNOである場合)、変数o_per3の値を論理命令変換部1063Aに出力する(ステップS140)。
【0160】
制御部106は、変数LE_Flagに1が格納されているか否かを判断する(ステップS142)。制御部106は、LE_Flagに1が格納されている場合(ステップS142にてYESである場合)、ステップS142の処理を繰り返す。制御部106は、変数LE_Flagに1が格納されていない場合(ステップS142にてNOである場合)、ステップS102からの処理を繰り返す。
【0161】
<命令判定処理(単点用)>
次に、本実施の形態に係る単点入力用の第2の携帯電話100Bにおける命令判定処理について説明する。図14は、本実施の形態に係る単点入力用の第2の携帯電話100Bにおける命令判定処理の処理手順を示すフローチャートである。
【0162】
図14を参照して、命令判断部1062Bとして機能する制御部106は、タブレット119Bを介して、ユーザから入力命令を受け付けたか否かを判断する(ステップS202)。制御部106は、入力命令を受け付けない場合(ステップS202にてNOである場合)、ステップS202からの処理を繰り返す。
【0163】
制御部106は、タブレット119Bを介して入力命令を受け付けた場合(ステップS202にてYESである場合)、入力命令に対応する接触座標が描画エリア内に位置するか否かを判断する(ステップS204)。制御部106は、入力命令に対応する接触座標が描画エリア内に位置する場合(ステップS204にてYESである場合)、変数i_per1(本命令判断部1062Bへの入力パラメータである操作座標P1が格納される変数)の値を描画エリアの左上端を起点とする座標に変換し変数o_per1に代入する(ステップS206)。
【0164】
制御部106は、変数o_per1の値を物理命令処理部1066Bに出力する(ステップS208)。制御部106は、通信デバイス101を介して、変数o_per1の値をP2P通信中のグループ端末へと送信する(ステップS210)。制御部106は、ステップS202からの処理を繰り返す。
【0165】
制御部106は、入力命令に対応する接触座標が描画エリア内に位置しない場合(ステップS204にてNOである場合)、変数o_per1の値を論理命令変換部1063Bに出力する(ステップS212)。制御部106は、変数LE_Flagに1が格納されているか否かを判断する(ステップS214)。
【0166】
制御部106は、変数LE_Flagに1が格納されている場合(ステップS214にてYESである場合)、ステップS214の処理を繰り返す。制御部106は、変数LE_Flagに1が格納されていない場合(ステップS214にてNOである場合)、ステップS202からの処理を繰り返す。
【0167】
<論理命令変換処理>
次に、本実施の形態に係る第1の携帯電話100Aおよび第2の携帯電話100Bにおける論理命令変換処理について説明する。図15は、本実施の形態に係る第1の携帯電話100Aおよび第2の携帯電話100Bにおける論理命令変換処理の処理手順を示すフローチャートである。
【0168】
図15を参照して、論理命令変換部1063A,1063Bとして機能する制御部106は、変数LE_Flagに1を代入する(ステップS302)。制御部106は、入力命令に対応する接触座標が色選択ボタンの表示エリア内に位置するか否かを判断する(ステップS304)。制御部106は、入力命令に対応する接触座標が色選択ボタンの表示エリア内に位置しない場合(ステップS304にてNOである場合)、後述するステップS312からの処理を実行する。
【0169】
制御部106は、入力命令に対応する接触座標が色選択ボタンの表示エリア内に位置する場合(ステップS304にてYESである場合)、変数i_per1(本論理命令変換部1063A/1063Bの入力パラメータである操作座標P1または操作座標P2のいずれかが格納される変数)が示す位置に表示されている色選択ボタンに対応する描画色を示す情報を変数o_per1に設定する(ステップS306)。制御部106は、変数o_per1の値を論理命令処理部1065A,1065Bに出力する(ステップS308)。制御部106は、通信デバイス101を介して、変数o_per1の値を、P2P通信中のグループ端末へと送信する(ステップS310)。
【0170】
制御部106は、LE_Flagに0を代入する(ステップS312)。制御部106は、論理命令変換処理を終了する。
【0171】
<物理命令処理(多点用)>
次に、本実施の形態に係る多点入力可能な第1の携帯電話100Aにおける物理命令処理について説明する。図16は、本実施の形態に係る多点入力可能な第1の携帯電話100Aにおける物理命令処理の処理手順を示す第1のフローチャートである。図17は、本実施の形態に係る多点入力可能な第1の携帯電話100Aにおける物理命令処理の処理手順を示す第2のフローチャートである。
【0172】
図16および図17を参照して、物理命令処理部1066Aとして機能する制御部106は、変数MyOldP1および変数MyOldP2にNULLを代入する(ステップS402)。あわせて、制御部106は、変数HisOldP1およびHisOldP2にNULLを代入する。
【0173】
制御部106は、前回の物理命令に対応する画像出力を行ってから所定時間が経過したか否かを判断する(ステップS404)。制御部106は、前回の物理命令に対応する画像を出力してから所定時間が経過した場合(ステップS404にてYESである場合)、ステップS402からの処理を繰り返す。
【0174】
制御部106は、前回の物理命令に対応する画像を出力してから所定時間が経過していない場合(ステップS404にてNOである場合)、今回タブレット119Aを介して物理命令を受け付けたか否かを判断する(ステップS406)。制御部106は、今回物理命令を受け付けなかった場合(ステップS406にてNOである場合)、ステップS404からの処理を繰り返す。
【0175】
制御部106は、今回物理命令を受け付けた場合(ステップS406にてYESである場合)、変数i_per1に第1操作座標L1を代入する。制御部106は、変数i_per2に第2操作座標L2を代入する。制御部106は、変数i_per3に命令を受け付けた通信端末の識別コードを代入する。
【0176】
そして、制御部106は、変数i_per1にNULLが格納されているか否かを判断する(ステップS408)。制御部106は、変数i_per1にNULLが格納されている場合(ステップS408にてYESである場合)、変数i_per3に変数MyIPADRの値が格納されているか否かを判断する(ステップS410)。
【0177】
制御部106は、変数i_per3に変数MyIPADRの値が格納されている場合(ステップS410にてYESである場合)、変数MyOldP1にNULLを代入する(ステップS412)。制御部106は、後述するステップS432からの処理を実行する。一方、制御部106は、変数i_per3に変数MyIPADRの値が格納されていない場合(ステップS410にてNOである場合)、変数HisOldP1にNULLを格納する(ステップS414)。制御部106は、後述するステップS432からの処理を実行する。
【0178】
制御部106は、変数i_per1にNULLが格納されていない場合(ステップS408にてNOである場合)、変数i_per3に変数MyIPADRの値が格納されているか否かを判断する(ステップS416)。制御部106は、変数i_per3に変数MyIPADRの値が格納されている場合(ステップS416にてYESである場合)、変数sp1にMyOldP1の値を代入する(ステップS418)。あわせて、制御部106は、変数ep1に変数i_per1の値を代入する。あわせて、制御部106は、変数dcに変数MyPenCの値を代入する。制御部106は、変数MyOldP1に変数i_per1の値を代入する(ステップS420)。制御部106は、後述するステップS432からの処理を実行する。
【0179】
一方、制御部106は、変数i_per3に変数MyIPADRの値が格納されていない場合(ステップS416にてNOである場合)、変数sp1に変数HisOldP1の値を代入する(ステップS422)。あわせて、制御部106は、変数ep1に変数i_per1の値を代入する。制御部106は、変数dcに変数HisPenCの値を代入する。制御部106は、変数HisOldP1に変数i_per1の値を代入する(ステップS424)。制御部106は、後述するステップS432からの処理を実行する。
【0180】
制御部106は、変数i_per2にNULLが格納されているか否かを判断する(ステップS432)。制御部106は、変数i_per2にNULLが格納されている場合(ステップS432にてYESである場合)、変数i_per3に変数MyIPADRの値が格納されているか否かを判断する(ステップS434)。
【0181】
制御部106は、変数i_per3に変数MyIPADRの値が格納されている場合(ステップS434にてYESである場合)、変数MyOldP2にNULLを格納する(ステップS436)。制御部106は、描画表示処理(ステップS500)を実行する。描画表示処理(ステップS500)ついては後述する。一方、制御部106は、変数i_per3に変数MyIPADRの値が格納されていない場合(ステップS434にてNOである場合)、変数HisOldP2にNULLを格納する(ステップS438)。制御部106は、描画表示処理(ステップS500)を実行する。
【0182】
制御部106は、変数i_per2にNULLが格納されていない場合(ステップS432にてNOである場合)、変数i_per3に変数MyIPADRの値が格納されているか否かを判断する(ステップS440)。制御部106は、変数i_per3に変数MyIPADRの値が格納されている場合(ステップS440にてYESである場合)、変数sp2に変数MyOldP2の値を代入する(ステップS442)。あわせて、制御部106は、変数ep2に変数i_per2の値を代入する。制御部106は、変数dcに変数MyPenCの値を代入する。制御部106は、変数MyOldP2にi_per2の値を代入する(ステップS444)。制御部106は、描画表示処理(ステップS500)を実行する。
【0183】
制御部は、変数i_per3に変数MyIPADRの値が格納されていない場合(ステップS440にてNOの場合)、変数sp2に変数HisOldP2の値を代入する(ステップS446)。あわせて、制御部106は、変数ep2に変数i_per2の値を代入する。制御部106は、変数dcに変数HisPenCの値を代入する。制御部106は、変数HisOldP2に変数i_per2の値を代入する(ステップS448)。制御部は描画表示処理(ステップS500)を実行する。
【0184】
制御部106は、描画表示処理(ステップS500)を終了後、ステップS402からの処理を繰り返す。
【0185】
<描画表示処理(多点用)>
次に、本実施の形態に係る多点入力可能な第1携帯電話100Aにおける描画表示処理について説明する。図18は、本実施の形態に係る多点入力可能な第1の携帯電話100Aにおける描画表示処理の処理手順を示すフローチャートである。
【0186】
図18を参照して、表示制御部1064Aとして機能する制御部106は、変数i_per1に前回の第1操作座標を代入する。制御部106は、変数i_per2に今回の第1操作座標を代入する。制御部106は、変数i_per3に前回の第2操作座標を代入する。制御部106は、変数i_per4に今回の第2操作座標を代入する。制御部106は、変数i_per5に選択されている描画色を示す情報を代入する。
【0187】
そして、制御部106は、変数i_per1あるいは変数i_per2にNULLが格納されているか否かを判断する(ステップS502)。制御部106は、変数i_per1にNULLが格納されている場合、あるいは、変数i_per2にNULLが格納されている場合(ステップS502にてYESである場合)、後述するステップS506からの処理を実行する。
【0188】
制御部106は、変数i_per1にも変数i_per2にもNULLが格納されていない場合(ステップS502にてNOである場合)、変数i_per1(描画開始座標)〜i_per2(描画終了座標)に基づいて、ディスプレイ107に変数i_per5(描画色)の手書き画像を描画する(ステップS504)。制御部106は、変数i_per3あるいは変数i_per4にNULLが格納されているか否かを判断する(ステップS506)。
【0189】
制御部106は、変数i_per3にNULLが格納されている場合、あるいは変数i_per4にNULLが格納されている場合(ステップS506にてYESである場合)、描画表示処理(ステップS500)を終了する。制御部106は、変数i_per3にも変数i_per4にもNULLが格納されていない場合(ステップS506にてNOである場合)、変数i_per3(描画開始座標)〜変数i_per4(描画終了座標)に基づいて、ディスプレイ107に変数i_per5(描画色)の手書き画像を描画させる(ステップS508)。制御部106は、描画表示処理(ステップS500)を終了する。
【0190】
<物理命令処理(単点用)>
次に、本実施の形態に係る単点入力用の第2の携帯電話100Bにおける物理命令処理について説明する。図19は、本実施の形態に係る単点入力用の第2の携帯電話100Bにおける物理命令処理の処理手順を示すフローチャートである。
【0191】
図19を参照して、物理命令処理部1066Bとして機能する制御部106は、変数MyOldPにNULLを代入する(ステップS602)。あわせて、制御部106は、変数HisOldPにNULLを代入する。
【0192】
制御部106は、前回の物理命令に対応する画像を出力してから所定時間が経過したか否かを判断する(ステップS604)。制御部106は、前回の物理命令に対応する画像を出力してから所定時間が経過した場合(ステップS604にてYESである場合)、ステップS602からの処理を繰り返す。
【0193】
制御部106は、前回の物理命令に対応する画像を出力してから所定時間が経過していない場合(ステップS604にてNOである場合)、タブレット119Bを介してユーザから物理命令に対応する入力命令を受け付けたか否かを判断する(ステップS606)。制御部106は、タブレット119Bを介してユーザから物理命令に対応する入力命令を受け付けない場合(ステップS606にてNOである場合)、ステップS604からの処理を繰り返す。
【0194】
制御部106は、タブレット119Bを介してユーザから物理命令に対応する入力命令を受け付けた場合(ステップS606にてYESである場合)、変数i_per1に第1操作座標を代入する。制御部106は、変数i_per2に命令を受け付けた通信端末の識別コードを代入する。
【0195】
制御部106は、変数i_per2に変数MyIPADRの値が格納されているか否かを判断する(ステップS608)。制御部106は、変数i_per2に変数MyIPADRの値が格納されている場合(ステップS608にてYESである場合)、変数spに変数MyOldPの値を代入する(ステップS610)。あわせて、制御部106は、変数epに変数i_per1の値を代入する。制御部106は、変数dcに変数MyPenCの値を代入する。制御部106は、変数MyOldPに変数i_per1の値を代入する(ステップS612)。制御部106は、後述するステップS618からの処理を実行する。
【0196】
制御部106は、変数i_per2に変数MyIPADRの値が格納されていない場合(ステップS608にてNOである場合)、変数spに変数HisOldPの値を代入する(ステップS614)。あわせて、制御部106は、変数epに変数i_per1の値を代入する。制御部106は、変数dcに変数HisPenCの値を代入する。制御部106は、変数HisOldPに変数i_per1の値を代入する(ステップS616)。制御部106は、変数spにNULLが格納されているか否かを判断する(ステップS618)。制御部106は、変数spにNULLが格納されている場合(ステップS618にてYESである場合)、ステップS604からの処理を繰り返す。
【0197】
制御部106は、変数spにNULLが格納されていない場合(ステップS618にてNOである場合)、変数sp(描画開始座標)〜変数ep(描画終了座標)の値に基づいて、ディスプレイ107に変数dc(描画色)の手書き画像を描画させる(ステップS620)。制御部106は、ステップS604からの処理を繰り返す。
【0198】
<論理命令処理(多点用および単点用)>
次に、本実施の形態に係る第1の携帯電話100Aおよび第2の携帯電話100Bにおける論理命令処理について説明する。図20は、本実施の形態に係る第1の携帯電話100Aおよび第2の携帯電話100Bにおける論理命令処理の処理手順を示すフローチャートである。
【0199】
図20を参照して、論理命令処理部1065A,1065Bとして機能する制御部106は、タブレット119A,119Bを介してユーザから入力命令を受け付けたか否かを判断する(ステップS702)。制御部106は、タブレット119A,119Bを介してユーザから入力命令を受け付けなかった場合(ステップS702にてNOである場合)、ステップS702からの処理を繰り返す。
【0200】
制御部106は、タブレット119A,119Bを介して、ユーザから入力命令を受け付けた場合(ステップS702にてYESである場合)、変数i_per1に命令を受け付けた通信端末の識別コードを代入する。制御部106は、変数i_per2に選択された描画色を示す情報を代入する。
【0201】
制御部106は、変数i_per1に変数MyIPADRの値が格納されているか否かを判断する(ステップS704)。制御部106は、変数i_per1に変数MyIPADRの値が格納されている場合(ステップS704にてYESである場合)、変数i_per1に変数HisIPADRの値が格納されているか否かを判断する(ステップS706)。
【0202】
制御部106は、変数i_per1に変数HisIPADRの値が格納されていない場合(ステップS706にてNOである場合)、ステップS702からの処理を繰り返す。制御部106は、変数i_per1に変数HisIPADRの値が格納されている場合(ステップS706にてYESである場合)、変数HisPenCに変数i_per2の値を代入する(ステップS708)。制御部106は、ステップS702からの処理を繰り返す。
【0203】
制御部106は、変数i_per1に変数MyIPADRの値が代入されていない場合(ステップS704にてNOである場合)、変数MyPenCに変数i_per2の値を代入する(ステップS710)。制御部106は、ステップS702からの処理を繰り返す。
【0204】
<物理命令変換処理(多点→単点)>
次に、本実施の形態に係る単点入力用の第2の携帯電話100Bにおける物理命令変換処理について説明する。図21は、本実施の形態に係る単点入力用の第2の携帯電話100Bにおける物理命令変換処理の処理手順を示す第1のフローチャートである。図22は、本実施の形態に係る単点入力用の第2の携帯電話100Bにおける物理命令変換処理の処理手順を示す第2のフローチャートである。
【0205】
なお、ここで示す物理命令変換処理の処理手順は、デバイス判断部1068Bとしての機能(処理手順)も含む処理手順としている。
【0206】
図21および図22を参照して、物理命令変換部1069Bとして機能する制御部106は、変数bcntに0を代入する(ステップS802)。制御部106は、前回の入力命令受付(後述するステップS816でYESの判定)から所定時間が経過したか否かを判断する(ステップS804)。制御部106は、前回の入力命令受付から所定時間が経過している場合(ステップS804にてYESである場合)、変数bcntに0が格納されているか否かを判断する(ステップS806)。制御部106は、変数bcntに0が格納されている場合(ステップS806にてYESである場合)、ステップS804からの処理を繰り返す。
【0207】
制御部106は、変数bcntに0が格納されていない場合(ステップS806にてNOである場合)、変数BUF[bcnt]にNULLが格納されているか否かを判断する(ステップS808)。制御部106は、変数BUF[bcnt]にNULLが格納されていない場合(ステップS808にてNOである場合)、変数BUF2nd[bcnt]の値を物理命令処理部1066Bに出力する(ステップS810)。制御部106は、後述するステップS814からの処理を実行する。
【0208】
制御部106は、変数BUF[bcnt]にNULLが格納されている場合(ステップS808にてYESである場合)、所定時間待機した後(ステップS812)、変数bcntの値を1減らす(ステップS814)。制御部106は、ステップS806からの処理を繰り返す。
【0209】
制御部106は、前回の入力命令受付から所定時間経過していない場合(ステップS804にてNOである場合)、通信デバイス101を介して相手端末のユーザから入力命令を受け付けたか否かを判断する(ステップS816)。制御部106は、通信デバイス101を介して相手端末のユーザから入力命令を受け付けない場合(ステップS816にてNOである場合)、ステップS804からの処理を繰り返す。
【0210】
制御部106は、通信デバイス101を介して相手端末のユーザから入力命令を受け付けた場合(ステップS816にてYESである場合)、変数i_per1に相手端末の入力デバイスが多点入力可能であるか否かを示す情報を代入する。制御部106は、変数i_per2に命令を受け付けた通信端末の識別コードを代入する。制御部106は、変数i_per3に第1操作座標を代入する。制御部106は、変数i_per4に第2操作座標を代入する。
【0211】
そして、制御部106は、変数i_per1の値は単点デバイスを示すか否かを判断する(ステップS818)。制御部106は、変数i_per1の値が単点デバイスを示す場合(ステップS818にてYESである場合)、変数i_per3の値を物理命令処理部1066Bに出力する(ステップS820)。制御部106は、ステップS804からの処理を繰り返す。
【0212】
制御部106は、変数i_per1の値が単点デバイスを示さない場合(ステップS818にてNOである場合)、変数i_per3にNULLが格納されているか否かを判断する(ステップS822)。制御部106は、変数i_per3にNULLが格納されている場合(ステップS822にてYESである場合)、後述するステップS830からの処理を実行する。
【0213】
制御部106は、変数i_per3にNULLが格納されていない場合(ステップS822にてNOである場合)、変数i_per3の値を物理命令処理部1066Bに出力する(ステップS824)。制御部106は、変数bcntに0が格納されているか否かを判断する(ステップS826)。制御部106は、変数bcntに0が格納されていない場合(ステップS826にてNOである場合)、後述するステップS830からの処理を実行する。
【0214】
制御部106は、変数bcntに0が格納されている場合(ステップS826にてYESである場合)、変数i_per4にNULLが格納されているか否かを判断する(ステップS828)。制御部106はi_per4にNULLが格納されている場合(ステップS828にてYESである場合)、ステップS804からの処理を繰り返す。
【0215】
制御部106は、i_per4にNULLが格納されていない場合(ステップS828にてNOである場合)、変数BUF[bcnt]に変数i_per4の値を代入する(ステップS830)。制御部106は、変数bcntの値をインクリメントする(ステップS832)。制御部106は、ステップS804からの処理を繰り返す。
【0216】
<物理命令変換処理(単点→多点)>
次に、本実施の形態に係る多点入力可能な第1の携帯電話における物理命令変換処理について説明する。図23は、本実施の形態に係る多点入力可能な第1の携帯電話100Aにおける物理命令変換処理の処理手順を示すフローチャートである。
【0217】
なお、ここで示す物理命令変換処理の処理手順は、デバイス判断部1068Aとしての機能(処理手順)も含む処理手順としている。
【0218】
図23を参照して、物理命令変換部1069Aとして機能する制御部106は、通信デバイス101を介して相手端末のユーザから入力命令を受け付けたか否かを判断する(ステップS902)。制御部106は、通信デバイス101を介して、相手端末のユーザから入力命令を受け付けない場合(ステップS902にてNOである場合)、ステップS902からの処理を繰り返す。
【0219】
制御部106は、通信デバイス101を介して相手端末のユーザから入力命令を受け付けた場合(ステップS902にてYESである場合)、変数i_per1に相手端末の入力デバイスが多点入力可能であるか否かを示す情報を代入する。制御部106は、変数i_per2に命令を受け付けた通信端末の識別コードを代入する。制御部106は、変数i_per3に第1操作座標を代入する。制御部106は、変数i_per4に第2操作座標を代入する。
【0220】
そして、制御部106は、変数i_per1の値が相手端末が多点入力用のデバイスを有することを示すか否かを判断する(ステップS904)。制御部106は、変数i_per1の値が相手端末が多点入力用のデバイスを有することを示す場合(ステップS904にてYESである場合)、変数i_per3の値と変数i_per4の値とを物理命令処理部1066Aへと出力する(ステップS906)。制御部106は、ステップS902からの処理を繰り返す。
【0221】
制御部106は、変数i_per1の値が相手端末多点デバイスであることを示さない場合(ステップS904にてNOである場合)、変数i_per3の値とNULLとを物理命令処理部1066Aへと出力する(ステップS908)。制御部106は、ステップS902からの処理を繰り返す。
【0222】
<その他の実施の形態>
本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。そして、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の効果を享受することが可能となる。
【0223】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0224】
プログラムコードを供給するための記憶媒体としては、例えば、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード(ICメモリカード)、ROM(マスクROM、フラッシュEEPROMなど)などを用いることができる。
【0225】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0226】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【0227】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0228】
1 ネットワークシステム、99 スタイラスペン、100,100A,100B 携帯電話、101 通信デバイス、103 揮発性メモリ、104 入力部、105 計時部、106 制御部、1061A,1061B 生成部、1062A,1062B 命令判断部、1063A,1063B 論理命令変換部、1064A,1064B 表示制御部、1065A,1065B 論理命令処理部、1066A,1066B 物理命令処理部、1067A,1067B 通信制御部、1068A,1068B デバイス判断部、1069A,1069B 物理命令変換部、107 ディスプレイ、108 不揮発性メモリ、108A 論理命令テーブル、108B スタンプデータ、119A,119B タブレット、200 カーナビゲーション装置、300 パーソナルコンピュータ、400 マッチングサーバ、500 インターネット網、700 キャリア網。

【特許請求の範囲】
【請求項1】
コンテンツを表示するディスプレイと、
入力命令を順次受け付ける入力デバイスと、
ネットワークを介して他の通信端末とデータを送受信する通信デバイスと、
少なくとも1つの前記入力命令に対応する第1の操作命令を生成する生成手段と、
前記通信デバイスを用いて、前記第1の操作命令を前記入力デバイスが対応する入力命令を受け付けた順に前記他の通信端末へと送信し、前記他の通信端末から第2の操作命令を受信する通信制御手段と、
前記第1の操作命令と前記第2の操作命令とに基づいて前記コンテンツを編集して、編集後の前記コンテンツを前記ディスプレイに表示させる表示制御手段とを備える、通信端末。
【請求項2】
前記生成手段は、
前記第1の操作命令が予め定められた論理条件を満たすか否かを判断する判断手段と、
前記論理条件を満たす前記第1の操作命令を論理命令に変換する変換手段とを含み、
前記通信制御手段は、前記論理命令と、前記論理条件を満たさない前記第1の操作命令とを、前記入力デバイスが対応する入力命令を受け付けた順に送信する、請求項1に記載の通信端末。
【請求項3】
前記ディスプレイと前記入力デバイスとは、同時に複数の接触を検知するタッチパネルを構成し、
前記表示制御手段は、選択可能なソフトウェアキーを前記タッチパネルに表示させ、
前記判断手段は、前記タッチパネルを介して前記第1の操作命令として前記ソフトウェアキーの選択命令を受け付けたときに、当該選択命令が前記論理条件を満たすと判断し、前記タッチパネルを介して前記第1の操作命令として手書き入力命令を受け付けたときに、当該手書き入力命令が前記論理条件を満たさないと判断し、
前記通信制御手段は、前記選択命令に対応する論理命令と前記手書き入力命令に対応する前記第1の操作命令とを、前記タッチパネルが対応する接触を検知した順に送信する、請求項2に記載の通信端末。
【請求項4】
演算処理部と、ディスプレイと、入力デバイスと、ネットワークを介して他の通信端末とデータを送受信する通信デバイスとを備える通信端末に通信させるための通信プログラムであって、
前記通信プログラムは、前記演算処理部に、
コンテンツを前記ディスプレイに表示させるステップと、
入力命令を順次受け付けるステップと、
少なくとも1つの前記入力命令に対応する第1の操作命令を生成するステップと、
前記通信デバイスを用いて、前記第1の操作命令を、前記入力デバイスが対応する入力命令を受け付けた順に前記他の通信端末へと送信するステップと、
前記第1の操作命令に基づいて前記コンテンツを編集するステップと、
前記他の通信端末から第2の操作命令を受信するステップと、
前記第2の操作命令に基づいて前記コンテンツを編集するステップと、
編集後の前記コンテンツを前記ディスプレイに表示させるステップとを実行させる、通信プログラム。
【請求項5】
演算処理部と、
ディスプレイと、
入力デバイスと、
ネットワークを介して他の通信端末とデータを送受信する通信デバイスとを備える通信端末における通信方法であって、
前記演算処理部が、コンテンツを前記ディスプレイに表示させるステップと、
前記入力デバイスが、入力命令を順次受け付けるステップと、
前記演算処理部が、少なくとも1つの前記入力命令に対応する第1の操作命令を生成するステップと、
前記演算処理部が、前記通信デバイスを用いて、前記第1の操作命令を、前記入力デバイスが対応する入力命令を受け付けた順に前記他の通信端末へと送信するステップと、
前記演算処理部が、前記第1の操作命令に基づいて前記コンテンツを編集するステップと、
前記演算処理部が、前記他の通信端末から第2の操作命令を受信するステップと、
前記演算処理部が、前記第2の操作命令に基づいて前記コンテンツを編集するステップと、
前記演算処理部が、編集後の前記コンテンツを前記ディスプレイに表示させるステップとを備える、通信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate


【公開番号】特開2010−186400(P2010−186400A)
【公開日】平成22年8月26日(2010.8.26)
【国際特許分類】
【出願番号】特願2009−31315(P2009−31315)
【出願日】平成21年2月13日(2009.2.13)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】