JP2011210052A - ネットワークシステム、通信方法、および通信端末 - Google Patents

ネットワークシステム、通信方法、および通信端末 Download PDF

Info

Publication number
JP2011210052A
JP2011210052A JP2010077782A JP2010077782A JP2011210052A JP 2011210052 A JP2011210052 A JP 2011210052A JP 2010077782 A JP2010077782 A JP 2010077782A JP 2010077782 A JP2010077782 A JP 2010077782A JP 2011210052 A JP2011210052 A JP 2011210052A
Authority
JP
Japan
Prior art keywords
hand
mobile phone
cpu
input
moving image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2010077782A
Other languages
English (en)
Inventor
Masayuki Yamamoto
真幸 山本
Masahide Takasugi
昌秀 高杉
Misuzu Kawamura
美鈴 川村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2010077782A priority Critical patent/JP2011210052A/ja
Priority to CN201180016698.0A priority patent/CN102812446B/zh
Priority to US13/638,022 priority patent/US20130014022A1/en
Priority to PCT/JP2011/055382 priority patent/WO2011122267A1/ja
Publication of JP2011210052A publication Critical patent/JP2011210052A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

【課題】情報を送信(入力)するユーザの意図を、情報を受信(閲覧)するユーザへと、より有効に伝える。
【解決手段】第1の通信端末100Aは、第1の通信デバイスと、動画コンテンツを表示するための第1のタッチパネルと、手描き画像の入力を受け付けるための第1のプロセッサとを含む。第1のプロセッサは、動画コンテンツの表示中に入力された手書き画像と、動画コンテンツにおける手書き画像の入力開始時点を特定するための開始情報とを第2の通信端末へと送信する。第2の通信端末100Aは、動画コンテンツを表示するための第2のタッチパネルと、第1の通信端末100Aから手書き画像と開始情報とを受信するための第2の通信デバイスと、開始情報に基づいて、第2のタッチパネルに、動画コンテンツにおける手書き画像の入力開始時点から当該手書き画像を表示させるための第2のプロセッサとを含む。
【選択図】図4

Description

本発明は、相互に通信可能な少なくとも第1および第2の通信端末を備えるネットワークシステム、通信方法、および通信端末に関し、特に、第1および第2の通信端末が同じ動画コンテンツを再生するネットワークシステム、通信方法、および通信端末に関する。
インターネットに接続可能な複数の通信端末が、手描き画像を交換するネットワークシステムが知られている。たとえば、サーバ/クライアントシステムや、P2P(Peer to Peer)システムなどが挙げられる。そのようなネットワークシステムにおいては、通信端末の各々は、手描き画像や、テキストデータなどを送信したり受信したりする。通信端末の各々は、受信したデータに基づいて、ディスプレイに手描き画像やテキストを表示する。
また、インターネットなどを介して、動画像を含むコンテンツを格納するサーバから、当該コンテンツをダウンロードして、当該コンテンツを再生する通信端末も知られている。
たとえば、特開2006−4190号公報(特許文献1)には、携帯電話向けチャットサービスシステムが開示されている。特開2006−4190号公報(特許文献1)によると、インターネットを介して通信接続された多数の携帯電話端末およびオペレータ用ウェブ端末に対し、上記端末のブラウザ表示画面に動画表示領域と文字表示領域を形成させるとともに、上記動画表示領域にストリーミング表示される動画データを配信する配信サーバと、上記携帯電話端末と上記オペレータ用ウェブ端末の間でのチャットをサポートするとともに文字データからなるチャットデータを上記文字表示領域に表示させるチャットサーバとを備え、上記チャットサーバは、各オペレータ用ウェブ端末がそれぞれ、複数の携帯電話端末に対して携帯電話端末ごとに独立のチャットチャネルを形成する。
特開2006−4190号公報
しかしながら、複数のユーザが、動画コンテンツを視聴しながら、当該動画コンテンツに関する情報をやり取りすることは困難である。たとえば、それぞれの通信端末におけるコンテンツの進行状態が異なる場合がある。そのため、情報を送信(入力)するユーザの意図を、情報を受信(閲覧)するユーザへと、有効に伝えることができない虞がある。あるいは、第1の通信端末のユーザが第1のシーンに関するコメントを伝えたいと思っても、第2の通信端末において当該コメントが第2のシーンとともに表示されてしまう虞がある。
本発明は、かかる問題を解決するためになされたものであり、その目的は、情報を送信(入力)するユーザの意図を、情報を受信(閲覧)するユーザへと、より有効に伝えることができるネットワークシステム、通信方法、および通信端末に関する。
この発明のある局面に従うと、第1および第2の通信端末とを備えるネットワークシステムが提供される。第1の通信端末は、第2の通信端末と通信するための第1の通信デバイスと、動画コンテンツを表示するための第1のタッチパネルと、第1のタッチパネルを介して手描き画像の入力を受け付けるための第1のプロセッサとを含む。第1のプロセッサは、動画コンテンツの表示中に入力された手描き画像と、動画コンテンツにおける手描き画像の入力開始時点を特定するための開始情報とを、第1の通信デバイスを介して第2の通信端末へと送信する。第2の通信端末は、動画コンテンツを表示するための第2のタッチパネルと、第1の通信端末から手描き画像と開始情報とを受信するための第2の通信デバイスと、開始情報に基づいて、第2のタッチパネルに、動画コンテンツにおける手描き画像の入力開始時点から当該手描き画像を表示させるための第2のプロセッサとを含む。
好ましくは、ネットワークシステムは、動画コンテンツを配信するためのコンテンツサーバをさらに備える。第1のプロセッサは、ダウンロード命令に応じてコンテンツサーバから動画コンテンツを取得し、取得した動画コンテンツを特定するための動画情報を、第1の通信デバイスを介して第2の通信端末へと送信する。第2のプロセッサは、動画情報に基づいて、コンテンツサーバから動画コンテンツを取得する。
好ましくは、第1のプロセッサは、動画コンテンツのシーンが切り替わったときに、および/または、入力された手描き画像をクリアするための命令を受け付けたときに、第1の通信デバイスを介して、手描き画像を消去するための命令を第2の通信端末へと送信する。
好ましくは、第2のプロセッサは、入力開始時点から動画コンテンツのシーンが切り替わる時点までの時間を計算し、時間に基づいて、タッチパネル上での手描き画像の描画速度を決定する。
好ましくは、第2のプロセッサは、入力開始時点を含む動画コンテンツのシーンの長さを計算し、長さに基づいて、タッチパネル上での手描き画像の描画速度を決定する。
この発明の別の局面に従うと、互いに通信可能な第1および第2の通信端末とを含むネットワークシステムにおける通信方法が提供される。通信方法は、第1の通信端末が、動画コンテンツを表示するステップと、第1の通信端末が、手描き画像の入力を受け付けるステップと、第1の通信端末が、動画コンテンツの表示中に入力された手描き画像と、動画コンテンツにおける手描き画像の入力開始時点を特定するための開始情報とを、第2の通信端末へと送信するステップと、第2の通信端末が、動画コンテンツを表示するステップと、第2の通信端末が、第1の通信端末から手描き画像と開始情報とを受信するステップと、第2の通信端末が、開始情報に基づいて、動画コンテンツにおける手描き画像の入力開始時点から当該手描き画像を表示するステップとを備える。
この発明の別の局面に従うと、他の通信端末と通信可能な通信端末が提供される。通信端末は、他の通信端末と通信するための通信デバイスと、動画コンテンツを表示するためのタッチパネルと、タッチパネルを介して第1の手描き画像の入力を受け付けるためのプロセッサとを備える。プロセッサは、動画コンテンツの表示中に入力された第1の手描き画像と、動画コンテンツにおける第1の手描き画像の入力開始時点を特定するための第1の開始情報とを、通信デバイスを介して他の通信端末へと送信し、他の通信端末から第2の手描き画像と第2の開始情報とを受信し、第2の開始情報に基づいて、タッチパネルに、動画コンテンツにおける第2の手描き画像の入力開始時点から当該第2の手描き画像を表示させる。
この発明の別の局面に従うと、通信デバイスとタッチパネルとプロセッサとを含む通信端末における通信方法が提供される。通信方法は、プロセッサが、タッチパネルに動画コンテンツを表示させるステップと、プロセッサが、タッチパネルを介して第1の手描き画像の入力を受け付けるステップと、プロセッサが、動画コンテンツの表示中に入力された第1の手描き画像と、動画コンテンツにおける第1の手描き画像の入力開始時点を特定するための開始情報とを、通信デバイスを介して他の通信端末へと送信するステップと、プロセッサが、通信デバイスを介して他の通信端末から第2の手描き画像と第2の開始情報とを受信するステップと、プロセッサが、第2の開始情報に基づいて、タッチパネルに、動画コンテンツにおける第2の手描き画像の入力開始時点から当該第2の手描き画像を表示するステップとを備える。
以上のように、本発明に係るネットワークシステム、通信方法、および通信端末によって、情報を送信(入力)するユーザの意図を、情報を受信(閲覧)するユーザへと、より有効に伝えることができるようになる。
本実施の形態に係るネットワークシステムの一例を示す概略図である。 本実施の形態に係るネットワークシステムにおける動作概要を示すシーケンス図である。 本実施の形態に係る動作概要に沿った通信端末の表示態様の推移を示したイメージ図である。 本実施の形態に係る動画コンテンツの再生中における手描き画像の入力と描画に関する動作概要を示すイメージ図である。 本施の形態に係る携帯電話の外観を示すイメージ図である。 本施の形態に係る携帯電話のハードウェア構成を示すブロック図である。 本実施の形態に係るメモリを構成する各種のデータ構造を示すイメージ図である。 本実施の形態に係るチャットサーバのハードウェア構成を示すブロック図である。 本実施の形態に係るチャットサーバのメモリあるいは固定ディスクに記憶されるルーム管理テーブルのデータ構造を示すイメージ図である。 実施の形態1に係る携帯電話におけるP2P通信処理の処理手順を示すフローチャートである。 実施の形態1に係る送信データのデータ構造を示すイメージ図である。 実施の形態1に係る携帯電話におけるP2P通信処理の変形例の処理手順を示すフローチャートである。 実施の形態1に係る携帯電話における入力処理の処理手順を示すフローチャートである。 本実施の形態に係る携帯電話におけるペン情報の設定処理の処理手順を示すフローチャートである。 実施の形態1に係る携帯電話における手描き処理の処理手順を示すフローチャートである。 実施の形態1に係る携帯電話における入力処理の変形例の処理手順を示すフローチャートである。 実施の形態1に係る携帯電話における手描き画像表示処理の処理手順を示すフローチャートである。 実施の形態1に係る携帯電話における第1の描画処理の処理手順を示すフローチャートである。 実施の形態1に係る手描き画像表示処理を説明するための第1のイメージ図である。 実施の形態1に係る携帯電話における手描き画像表示処理の変形例の処理手順を示すフローチャートである。 実施の形態1に係る携帯電話における第2の描画処理の処理手順を示すフローチャートである。 実施の形態1に係る手描き画像表示処理を説明するための第2のイメージ図である。 実施の形態1に係る携帯電話における手描き画像表示処理の他の変形例の処理手順を示すフローチャートである。 実施の形態1に係る携帯電話における第3の描画処理の処理手順を示すフローチャートである。 実施の形態1に係る手描き画像表示処理を説明するための第3のイメージ図である。 実施の形態2に係る携帯電話におけるP2P通信処理の処理手順を示すフローチャートである。 実施の形態2に係る送信データのデータ構造を示すイメージ図である。 実施の形態2に係る携帯電話における入力処理の処理手順を示すフローチャートである。 実施の形態2に係る携帯電話における手描き処理の処理手順を示すフローチャートである。 実施の形態2に係る携帯電話における表示処理の処理手順を示すフローチャートである。 実施の形態2に係る携帯電話における表示処理の応用例の処理手順を示すフローチャートである。 実施の形態2に係る携帯電話における手描き画像表示処理の処理手順を示すフローチャートである。
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
また、以下では、携帯電話100を「通信端末」の代表例として説明を行う。ただし、通信端末は、パーソナルコンピュータや、カーナビゲーション装置(Satellite navigation system)や、PND(Personal Navigation Device)や、PDA(Personal Data Assistance)、ゲーム機、電子辞書、電子BOOKなどのような、ネットワークに接続可能な他の情報通信機器であってもよい。
[実施の形態1]
<ネットワークシステム1の全体構成>
まず、本実施の形態に係るネットワークシステム1の全体構成について説明する。図1は、本実施の形態に係るネットワークシステム1の一例を示す概略図である。図1に示すように、ネットワークシステム1は、携帯電話100A,100B,100C,100Dと、チャットサーバ(第1のサーバ装置)400と、コンテンツサーバ(第2のサーバ装置)600と、インターネット(第1のネットワーク)500と、キャリア網(第2のネットワーク)700とを含む。また、本実施の形態に係るネットワークシステム1は、車両250に搭載されるカーナビゲーション装置200と、パーソナルコンピュータ(PC;Personal Computer)300とを含む。
なお、説明の容易化のために、以下では、本実施の形態に係るネットワークシステム1が、第1の携帯電話100Aと、第2の携帯電話100Bと、第3の携帯電話100Cと、第4の携帯電話100Dとを含む場合について説明する。また、携帯電話100A,100B,100C,100Dの各々に共通の構成や機能を説明する際には、それらを携帯電話100とも総称する。そして、携帯電話100A,100B,100C,100D、カーナビゲーション装置200、パーソナルコンピュータ300の各々に共通の構成や機能を説明する際には、それらを通信端末とも総称する。
携帯電話100は、キャリア網700に接続可能に構成されている。カーナビゲーション装置200は、インターネット500に接続可能に構成されている。パーソナルコンピュータ300は、LAN(Local Area Network)350やWAN(Wide Area Network)を介してインターネット500に接続可能に構成されている。チャットサーバ400は、インターネット500に接続可能に構成されている。コンテンツサーバ600は、インターネット500に接続可能に構成されている。
より詳細には、第1の携帯電話100Aと、第2の携帯電話100Bと、第3の携帯電話100Cと、第4の携帯電話100Dと、カーナビゲーション装置200と、パーソナルコンピュータ300とは、インターネット500やキャリア網700やメール送信サーバ(図2におけるチャットサーバ400)を介して、互いに接続可能であって、互いにデータの送受信が可能である。
本実施の形態においては、携帯電話100とカーナビゲーション装置200とパーソナルコンピュータ300には、自端末を特定するための識別情報(たとえば、メールアドレスやIP(Internet Protocol)アドレスなど)が割り当てられる。携帯電話100とカーナビゲーション装置200とパーソナルコンピュータ300は、内部の記録媒体に他の通信端末の識別情報を記憶することができ、当該識別情報に基づいてキャリア網700やインターネット500などを介して当該他の通信端末とデータ送受信を行うことができる。
本実施の形態に係る携帯電話100とカーナビゲーション装置200とパーソナルコンピュータ300とは、他の端末に割り当てられるIPアドレスを利用して、サーバ400,600を介さずに当該他の通信端末とデータ送受信を行うことも可能である。すなわち、本実施の形態に係るネットワークシステム1に含まれる携帯電話100、カーナビゲーション装置200、パーソナルコンピュータ300は、いわゆるP2P(Peer to Peer)型のネットワークを構成することが可能である。
ここでは、各通信端末がチャットサーバ400にアクセスする際には、すなわち各通信端末がインターネットにアクセスした際に、チャットサーバ400あるいは他の図示しないサーバ装置などによってIPアドレスが割り当てられるものとする。IPアドレスの割り当て処理の詳細は公知であるので、ここでは説明を繰り返さない。
携帯電話100とカーナビゲーション装置200とパーソナルコンピュータ300とは、インターネット500を介して、コンテンツサーバ600から、様々な動画コンテンツを受信する。そして、携帯電話100とカーナビゲーション装置200とパーソナルコンピュータ300のユーザは、コンテンツサーバ600からの動画コンテンツを視聴することができる。
<ネットワークシステム1の全体的な動作概要>
次に、本実施の形態に係るネットワークシステム1の動作概要について説明する。図2は、本実施の形態に係るネットワークシステム1における動作概要を示すシーケンス図である。以下では、説明のために、第1の携帯電話100Aと第2の携帯電話100Bとの間の通信処理の概要について説明する。
図1および図2に示すように、本実施の形態に係る各通信端末は、P2P型のデータ送受信を行うために、はじめに互いのIPアドレスを交換(取得)する必要がある。そして、各通信端末は、相手のIPアドレスを取得したのちに、P2P型のデータ送受信によって手描き画像のメッセージや添付ファイルなどを他の通信端末に送信する。
以下では、通信端末のそれぞれが、チャットサーバ400に生成されたチャットルームを介して、メッセージや添付ファイルを送受信する場合について説明する。そして、第1の携帯電話100Aが新たなチャットルームを生成し、当該チャットルームに第2の携帯電話100Bを招待する場合について説明する。なお、チャットサーバ400は、コンテンツサーバ600の役割を兼ねるものであってもよい。
まず、第1の携帯電話100A(図2において端末A)が、チャットサーバ400にIP登録(ログイン)を要求する(ステップS0002)。第1の携帯電話100Aは、同時にIPアドレスを取得してもよいし、予めIPアドレスを取得していてもよい。より詳細には、第1の携帯電話100Aは、キャリア網700、メール送信サーバ(チャットサーバ400)、インターネット500を介して、チャットサーバ400に第1の携帯電話100AのメールアドレスとIPアドレスと第2の携帯電話100Bのメールアドレスと新たなチャットルームの生成を要求するメッセージとを送信する。
チャットサーバ400は、その要求に応じて、第1の携帯電話100AのメールアドレスをそのIPアドレスに対応付けて格納する。そして、チャットサーバ400は、第1の携帯電話100Aのメールアドレスと第2の携帯電話100Bのメールアドレスとに基づいて、ルーム名を生成し、当該ルーム名のチャットルームを生成する。このとき、チャットサーバ400は、チャットルームの生成が完了した旨を第1の携帯電話100Aに通知してもよい。チャットサーバ400は、ルーム名と参加中の通信端末のIPアドレスとを対応付けて格納する。
あるいは、第1の携帯電話100Aは、第1の携帯電話100Aのメールアドレスと第2の携帯電話100Bのメールアドレスとに基づいて、新たなチャットルームのルーム名を生成し、当該ルーム名をチャットサーバ400に送信する。チャットサーバ400は、ルーム名に基づいて、新たなチャットルームを生成する。
第1の携帯電話100Aは、新たなチャットルームを生成したこと、すなわちチャットルームへの招待を示すP2P参加要請メールを第2の携帯電話100Bに送信する(ステップS0004、ステップS0006)。より詳細には、第1の携帯電話100Aは、キャリア網700、メール送信サーバ(チャットサーバ400)、インターネット500を介して、P2P参加要請メールを第2の携帯電話100Bに送信する(ステップS0004、ステップS0006)。
第2の携帯電話100Bは、P2P参加要請メールを受信すると(ステップS0006)、第1の携帯電話100Aのメールアドレスと第2の携帯電話100Bのメールアドレスとに基づいてルーム名を生成し、チャットサーバ400に第2の携帯電話100BのメールアドレスとIPアドレスとそのルーム名を有するチャットルームへ参加する旨のメッセージとを送信する(ステップS0008)。第2の携帯電話100Bは、同時にIPアドレスを取得してもよいし、先にIPアドレスを取得してからチャットサーバ400にアクセスしてもよい。
チャットサーバ400は、そのメッセージを受け付けて、第2の携帯電話100Bのメールアドレスがルーム名に対応するものであるか否かを判断した上で、第2の携帯電話100BのメールアドレスをIPアドレスに対応付けて格納する。そして、チャットサーバ400は、第1の携帯電話100Aに、第2の携帯電話100Bがチャットルームに参加した旨と第2の携帯電話100BのIPアドレスとを送信する(ステップS0010)。同時に、チャットサーバ400は、第2の携帯電話100Bに、チャットルームへの参加を受け付けた旨と第1の携帯電話100AのIPアドレスとを送信する。
第1の携帯電話100Aと第2の携帯電話100Bは、相手のメールアドレスやIPアドレスを取得して、互いを認証する(ステップS0012)。認証が完了すると、第1の携帯電話100Aと第2の携帯電話100Bとは、P2P通信(チャット通信)を開始する(ステップS0014)。P2P通信中の動作概要については、後述する。
第1の携帯電話100Aが、第2の携帯電話100BにP2P通信を切断する旨のメッセージを送信すると(ステップS0016)、第2の携帯電話100Bは、第1の携帯電話100Aに切断する要求を受け付けた旨のメッセージを送信する(ステップS0018)。第1の携帯電話100Aは、チャットサーバ400にチャットルームを削除する要求を送信し(ステップS0020)、チャットサーバ400はチャットルームを削除する。
以下、図2と図3とを参照して、本実施の形態に係るネットワークシステム1の動作概要をより具体的に説明する。図3は、本実施の形態に係る動作概要に沿った通信端末の表示態様の推移を示したイメージ図である。なお、以下では、第1の携帯電話100Aと第2の携帯電話100Bとが、コンテンツサーバ600から取得したコンテンツを背景として表示しながら、手描き画像を送受信する場合について説明する。なお、ここでのコンテンツは、動画像であってもよいし、静止画像であってもよい。
図3(A)に示すように、まず、第1の携帯電話100Aがコンテンツを受信して表示している。第1の携帯電話100Aのユーザが、コンテンツを視聴しながら第2の携帯電話100Bのユーザとチャットしたい場合、第1の携帯電話100Aは、チャット開始の命令を受け付ける。図3(B)に示すように、第1の携帯電話100Aは、相手ユーザの選択命令を受け付ける。
ここでは、図3(C)に示すように、第1の携帯電話100Aは、コンテンツを特定するための情報をメール送信サーバ(チャットサーバ400)を介して第2の携帯電話100Bへと送信する(ステップS0004)。図3(D)に示すように、第2の携帯電話100Bは、第1の携帯電話100Aから情報を受信する(ステップS0006)。第2の携帯電話100Bは、当該情報に基づいてコンテンツを受信して表示する。
なお、第1の携帯電話100Aと第2の携帯電話100Bとは共に、P2P通信開始後に、すなわちP2P通信中に、コンテンツをコンテンツサーバ600から受信してもよい。
図3(E)に示すように、第1の携帯電話100Aは、第2の携帯電話100BとP2P通信することなく、メール送信を繰り返すこともできる。第1の携帯電話100Aは、メール送信が完了すると、チャットサーバ400に自身のIPアドレスを登録し、第1の携帯電話100Aのメールアドレスと第2の携帯電話100Bのメールアドレスとに基づいて新たなチャットルームを生成するように要求する(ステップS0002)。
図3(F)に示すように、第2の携帯電話100Bは、チャットを開始する旨の命令を受け付けて、チャットサーバ400に、ルーム名とチャットルームに参加する旨のメッセージと自身のIPアドレスとを送信する(ステップS0008)。第1の携帯電話100Aは、第2の携帯電話100BのIPアドレスを取得して、第2の携帯電話100Bは第1の携帯電話100AのIPアドレスを取得して(ステップS0010)、互いを認証しあう(ステップS0012)。
これによって、図3(G)および図3(H)に示すように、第1の携帯電話100Aと第2の携帯電話100BとはP2P通信を行うことができる(ステップS0014)。すなわち、本実施の形態に係る第1の携帯電話100Aと第2の携帯電話100Bとは、ダウンロードしたコンテンツを表示しながらに、手描き画像などの情報を送受信できるようになる。
より詳細には、本実施の形態においては、第1の携帯電話100Aがユーザから手描き画像の入力を受け付けて、コンテンツ上に当該手描き画像を表示する。また、第1の携帯電話100Aは、手描き画像を第2の携帯電話100Bに送信する。第2の携帯電話100Bは、第1の携帯電話100Aからの手描き画像に基づいて、コンテンツ上に手描き画像を表示する。
逆に、第2の携帯電話100Bもユーザから手描き画像の入力を受け付けて、コンテンツ上に当該手描き画像を表示する。また、第2の携帯電話100Bは、手描き画像を第1の携帯電話100Aに送信する。第2の携帯電話100Bは、第1の携帯電話100Aからの手描き画像に基づいて、コンテンツ上に手描き画像を表示する。
そして、第1の携帯電話100AがP2P通信を切断した後(ステップS0016、ステップS0018)、図3(I)に示すように、第2の携帯電話100Bは第1の携帯電話100Aなどにメール送信を行うことができる。なお、P2P通信をTCP/IP通信方式で、メールの送受信をHTTP通信方式で行うことも可能である。すなわち、P2P通信中にメール送受信を行うことも可能である。
<ネットワークシステム1における手描き画像の送受信に関する動作概要>
次に、動画コンテンツの再生中における手描き画像の入力と描画に関する動作概要についてさらに詳細に説明する。図4は、動画コンテンツの再生中における手描き画像の入力と描画に関する動作概要を示すイメージ図である。以下では、第1の携帯電話100Aと第2の携帯電話100Bとがチャット通信を開始し、その後第3の携帯電話100Cがチャット通信を開始し、その後第4の携帯電話100Dがチャット通信を開始する場合について説明する。
図4を参照して、第1の携帯電話100A、第2の携帯電話100B、第3の携帯電話100C、第4の携帯電話100Dは、それぞれ異なるタイミングでコンテンツサーバ600から動画コンテンツをダウンロードし始める。そして、第1の携帯電話100A、第2の携帯電話100B、第3の携帯電話100C、第4の携帯電話100Dは、それぞれ異なるタイミングで動画コンテンツを再生し始める。当然に、第1の携帯電話100A、第2の携帯電話100B、第3の携帯電話100C、第4の携帯電話100Dは、異なるタイミングで動画コンテンツの再生が終了することになる。
1つの携帯電話(図4においては第1の携帯電話100A)が、動画コンテンツの再生中に手描き画像などの情報の入力を受け付ける。本実施の形態に係るネットワークシステム1においては、動画コンテンツにおける手描き画像の入力に対応するタイミング(入力開始時点)で、他の携帯電話(図4においては、第2の携帯電話100B、第3の携帯電話100C、第4の携帯電話100D)が、当該手描き画像を描画し始める。すなわち、それぞれの携帯電話100A〜100Dでは、動画コンテンツを開始する時刻が異なる分だけ、手描き画像の描画が開始される時刻が異なる。当然に、それぞれの携帯電話100A〜100Dでは、動画コンテンツの終了する時刻が異なる。
換言すれば、各携帯電話100A〜100Dにおいては、動画コンテンツが開始される時刻から手描き画像の描画が開始される時刻までの期間の長さは同じである。つまり、それぞれの携帯電話100A〜100Dは、第1の携帯電話100Aに入力された手描き画像を、同じ動画コンテンツの同じシーン上で表示することになる。さらに換言すれば、携帯電話100A〜100Dは、それぞれ、動画コンテンツの開始から同じ時間だけ経過したときに、第1の携帯電話100Aに入力された手描き画像を当該動画コンテンツ上に描画し始める。
このように、本実施の形態に係るネットワークシステム1においては、それぞれの通信端末が、別個にコンテンツサーバ600から動画コンテンツをダウンロードするにもかかわらず、1つの通信端末に入力された手描き画像を、同じシーンあるいは同じフレーム上に表示させることができる。
これによって、1つの通信端末のユーザが1つのシーンに関する情報を伝えたいと思ったときに、他の通信端末において当該情報が当該1つのシーンとともに表示される。つまり、本実施の形態においては、情報を送信(入力)するユーザの意図を、情報を受信(閲覧)するユーザへと、有効に伝えることができる。
以下、このような機能を実現するためのネットワークシステム1の構成について詳述する。
<携帯電話100のハードウェア構成>
本実施の形態に係る携帯電話100のハードウェア構成について説明する。図5は、本施の形態に係る携帯電話100の外観を示すイメージ図である。図6は、本施の形態に係る携帯電話100のハードウェア構成を示すブロック図である。
図5および図6に示すように、本実施の形態に係る携帯電話100は、外部のネットワークとの間でデータを送受信する通信デバイス101と、プログラムや各種データベースを記憶するメモリ103と、CPU(Central Processing Unit)106と、ディスプレイ107と、外部から音声が入力されるマイク108と、外部へと音声を出力するスピーカ109と、情報や命令の入力を受け付ける各種ボタン110と、外部からの通信データや通話信号を受信した旨の音声を出力する第1の通知部111と、外部からの通信データや通話信号を受信した旨を表示する第2の通知部112とを含む。
本実施の形態に係るディスプレイ107は、液晶パネルやCRTから構成されるタッチパネル102を実現する。すなわち、本実施の形態に係る携帯電話100は、ディスプレイ107の上側(表側)にペンタブレット104が敷設されている。これによって、ユーザは、スタイラスペン120などを用いることによって、ペンタブレット104を介して、図形情報などをCPU106に手描き入力することができる。
なお、ユーザは、以下の方法によっても、手描き入力を行うことが可能である。すなわち、赤外線や音波を出力する特殊なペンを利用することによって、そのペンから発信される赤外線や音波を受信する受信部によってペンの動きを割り出す。この場合、当該受信部を軌跡を記憶する装置に接続することによって、CPU106が当該装置から出力される軌跡を手描き入力として受信することができる。
あるいは、ユーザは、静電パネルに対して、指、または、静電対応のペンを用いて手描き画像を書くことも可能である。
このようにして、ディスプレイ107(タッチパネル102)は、CPU106が出力したデータに基づいて、画像やテキストを表示する。たとえば、ディスプレイ107は、通信デバイス101を介して受信した動画コンテンツを表示する。ディスプレイ107は、タブレット104を介して受け付けた手描き画像や、通信デバイス101を介して受け付けた手描き画像に基づいて、手描き画像を動画コンテンツに重畳させて表示する。
各種ボタン110は、キー入力操作などによってユーザから情報を受け付ける。たとえば、各種ボタン110は、通話を受け付けたり、通話を発したりするためのTELボタン110Aと、メールを受け付けたり、メールを発したりするためのメールボタン110Bと、P2P通信を受け付けたり、P2P通信を発したりするためのP2Pボタン110Cと、アドレス帳データを呼び出すアドレス帳ボタン110Dと、各種の処理を終了させるための終了ボタン110Eとを含む。すなわち、各種ボタン110は、通信デバイス101を介してP2P参加要請メールを受信したときに、ユーザから、チャットルームへ参加する命令や、メールの内容を表示させる命令などを選択可能に受け付ける。
また、各種ボタン110は、手描き入力を開始するための命令を受け付けるためのボタン、すなわち第1の入力を受け付けるためのボタンを含んでもよい。各種ボタン110は、手描き入力を終了するための命令を受け付けるためのボタン、すなわち第2の入力を受け付けるためのボタンを含んでもよい。
第1の通知部111は、スピーカ109などを介して着信音を出力する。あるいは、第1の通知部111は、バイブレーション機能を有する。第1の通知部111は、着呼した際や、メールを受信した際や、P2P参加要請メールを受信した際に、音声を出力したり、携帯電話100を振動させたりする。
第2の通知部112は、着信したときに点滅するTEL用LED(Light Emitting Diode)112Aと、メールを受信したときに点滅するメール用LED112Bと、P2P通信を受信したときに点滅するP2P用LED112Cを含む。
CPU106は、携帯電話100の各部を制御する。たとえば、各種ボタン110を介してユーザから各種命令を受け付けて、通信デバイス101や通信デバイス101やネットワークを介して外部の通信端末とデータの送受信を行う。
通信デバイス101は、CPU106からの通信データを通信信号に変換し、その通信信号を外部へと発信する。通信デバイス101は、外部から受信した通信信号を通信データに変換し、その通信データをCPU106に入力する。
メモリ103は、作業用メモリとして機能するRAM(Random Access Memory)や、制御プログラムなどを格納するROM(Read Only Memory)や、画像データなどを記憶するハードディスクなどによって実現される。図7(a)は、メモリ103を構成する各種のワークメモリ103Aのデータ構造を示すイメージ図である。図7(b)は、メモリ103が記憶するアドレス帳データ103Bを示すイメージ図である。図7(c)は、メモリ103が記憶する自端末データ103Cを示すイメージ図である。図7(d)は、メモリ103が記憶する自端末のIPアドレスデータ103Dと他端末のIPアドレスデータ103Eとを示すイメージ図である。
図7(a)に示すように、メモリ103のワークメモリ103Aは、発信者の電話番号を格納するRCVTELNO領域、受信メールに関する情報を格納するRCVMAIL領域、送信メールに関する情報を格納するSENDMAIL領域、選択されたアドレスのメモリNoを格納するSEL領域、生成されたルーム名を格納するROOMNAME領域などを含む。なお、ワークメモリ103Aは、電話番号を格納しなくてもよい。受信メールに関する情報は、MAIN領域に格納されるメール本文と、RCVMAILのFROM領域に格納されるメール送信元のメールアドレスを含む。送信メールに関する情報は、MAIN領域に格納されるメール本文と、RCVMAILのTO領域に格納されるメール送信先のメールアドレスとを含む。
図7(b)に示すように、アドレス帳データ103Bは、宛先(他の通信端末)毎にメモリNoを対応付けている。そして、アドレス帳データ103Bは、宛先毎に、名前、電話番号、メールアドレスなどを互いに対応付けて格納する。
図7(c)に示すように、自端末データ103Cは、自端末のユーザの名前、自端末の電話番号、自端末のメールアドレスなどを格納する。
図7(d)に示すように、自端末のIPアドレスデータ103Dは、自端末のIPアドレスを格納する。他端末のIPアドレスデータ103Eは、他端末のIPアドレスを格納する。
本実施の形態に係る携帯電話100の各々は、図7に示すデータを利用することによって、前述したような方法で(図1〜図3を参照。)、他の通信端末との間でデータを送受信することができる。
<チャットサーバ400およびコンテンツサーバ600のハードウェア構成>
次に、本実施の形態に係るチャットサーバ400およびコンテンツサーバ600のハードウェア構成について説明する。以下では、まず、チャットサーバ400のハードウェア構成について説明する。
図8は、本実施の形態に係るチャットサーバ400のハードウェア構成を示すブロック図である。図8に示すように、本実施の形態に係るチャットサーバ400は、相互に内部バス408で接続されたCPU405と、メモリ406と、固定ディスク407と、通信デバイス409とを含む。
メモリ406は、各種の情報を記憶するものであって、たとえば、CPU405でのプログラムの実行に必要なデータを一時的に記憶する。固定ディスク407は、CPU405が実行するプログラムやデータベースを記憶する。CPU405は、チャットサーバ400の各要素を制御するものであって、各種の演算を実施する装置である。
通信デバイス409は、CPU405が出力したデータを電気信号へと変換して外部へ送信し、外部から受信した電気信号をデータに変換してCPU405に入力する。具体的には、通信デバイス409は、CPU405からのデータを、インターネット500やキャリア網700などを介して、携帯電話100やカーナビゲーション装置200やパーソナルコンピュータ300やゲーム機や電子辞書や電子BOOKなどのネットワークに接続可能な機器に送信する。そして、通信デバイス409は、インターネット500やキャリア網700を介して、携帯電話100やカーナビゲーション装置200やパーソナルコンピュータ300やゲーム機や電子辞書や電子BOOKなどのネットワークに接続可能な機器から受信したデータを、CPU405に入力する。
ここで、メモリ406あるいは固定ディスク407に記憶されるデータについて説明する。図9(a)は、チャットサーバ400のメモリ406あるいは固定ディスク407に記憶されるルーム管理テーブル406Aのデータ構造を示す第1のイメージ図であって、図9(b)は、チャットサーバ400のメモリ406あるいは固定ディスク407に記憶されるルーム管理テーブル406Aのデータ構造を示す第2のイメージ図である。
図9(a)および図9(b)に示すように、ルーム管理テーブル406Aは、ルーム名とIPアドレスとを対応付けて格納する。たとえば、ある時点においては、図9(a)に示すように、チャットサーバ400にルーム名Rを有するチャットルーム、ルーム名Sを有するチャットルーム、ルーム名Tを有するチャットルームが生成されている。そして、ルーム名Rを有するチャットルームには、AというIPアドレスを有する通信端末と、CというIPアドレスを有する通信端末が入室している。ルーム名Sを有するチャットルームには、BというIPアドレスを有する通信端末が入室している。ルーム名Tを有するチャットルームには、DというIPアドレスを有する通信端末が入室している。
後述するように、ルーム名Rは、CPU406が、AというIPアドレスを有する通信端末のメールアドレスとBというIPアドレスを有する通信端末のメールアドレスに基づいて決定する。図9(a)に示す状態において、ルーム名Sを有するチャットルームに新たにEというIPアドレスを有する通信端末が入室すると、図9(b)に示すように、ルーム管理テーブル406Aはルーム名SとIPアドレスEとを対応付けて格納する。
具体的には、チャットサーバ400においては、第1の携帯電話100Aが新たなチャットルームの生成を要求してきた際(図2におけるステップS0002)に、CPU405が、第1の携帯電話100Aのメールアドレスと第2の携帯電話100Bのメールアドレスとに基づいてルーム名を生成した上で、ルーム管理テーブル406Aに当該ルーム名と第1の携帯電話100AのIPアドレスとを対応付けて格納する。
そして、第2の携帯電話100Bがチャットサーバ400にチャットルームへの参加を要求してきた際(図2におけるステップS0008)に、CPU405が、ルーム管理テーブル406Aに当該ルーム名と第2の携帯電話100BのIPアドレスとを対応付けて格納する。CPU406は、ルーム管理テーブル406Aから、当該ルーム名に対応する第1の携帯電話100AのIPアドレスを読み出す。CPU406は、第1の携帯電話100AのIPアドレスを第2の各通信端末に送信し、第2の携帯電話100BのIPアドレスを第1の携帯電話100Aに送信する。
次に、コンテンツサーバ600のハードウェア構成について説明する。図8に示すように、本実施の形態に係るコンテンツサーバ600は、相互に内部バス608で接続されたCPU605と、メモリ606と、固定ディスク607と、通信デバイス609とを含む。
メモリ606は、各種の情報を記憶するものであって、たとえば、CPU605でのプログラムの実行に必要なデータを一時的に記憶する。固定ディスク607は、CPU605が実行するプログラムやデータベースを記憶する。CPU605は、コンテンツサーバ600の各要素を制御するものであって、各種の演算を実施する装置である。
通信デバイス609は、CPU605が出力したデータを電気信号へと変換して外部へ送信し、外部から受信した電気信号をデータに変換してCPU605に入力する。具体的には、通信デバイス609は、CPU605からのデータを、インターネット500やキャリア網700などを介して、携帯電話100やカーナビゲーション装置200やパーソナルコンピュータ300やゲーム機や電子辞書や電子BOOKなどのネットワークに接続可能な機器に送信する。そして、通信デバイス609は、インターネット500やキャリア網700を介して、携帯電話100やカーナビゲーション装置200やパーソナルコンピュータ300やゲーム機や電子辞書や電子BOOKなどのネットワークに接続可能な機器から受信したデータを、CPU605に入力する。
コンテンツサーバ600のメモリ606あるいは固定ディスク615は、動画コンテンツを記憶する。コンテンツサーバ600のCPU605は、通信デバイス609を介して、第1の携帯電話100Aおよび第2の携帯電話100Bからコンテンツの指定(動画コンテンツの格納先を示すアドレスなど)を受信する。コンテンツサーバ600のCPU605は、コンテンツの指定に基づいて、当該指定に対応する動画コンテンツをメモリ606から読み出して、通信デバイス609を介して当該コンテンツを第1の携帯電話100Aおよび第2の携帯電話100Bへ送信する。
<携帯電話100における通信処理>
次に、本実施の形態に係る携帯電話100におけるP2P通信処理について説明する。図10は、本実施の形態に係る携帯電話100におけるP2P通信処理の処理手順を示すフローチャートである。図11は、本実施の形態に係る送信データのデータ構造を示すイメージ図である。
以下では、第1の携帯電話100Aが第2の携帯電話100Bへと、動画コンテンツの指定や、手描き画像などを送信する場合について説明する。なお、本実施の形態においては、第1の携帯電話100Aと第2の携帯電話100Bとは、チャットサーバ400を介してデータを送受信している。ただし、チャットサーバ400を介さずにP2P通信によってデータを送受信してもよい。この場合には、第1の携帯電話100Aが、チャットサーバ400の代わりに、データを記憶したり、第2の携帯電話100Bや第3の携帯電話100Cなどにデータを送信したりする必要がある。
図10を参照して、まず、第1の携帯電話100A(送信側)のCPU106は、通信デバイス101を介して、チャットサーバ400からチャット通信に関するデータを取得する(ステップS002)。同様に、第2の携帯電話100B(受信側)のCPU106も、通信デバイス101を介して、チャットサーバ400からチャット通信に関するデータを取得する(ステップS004)。
なお、「チャット通信に関するデータ」は、チャットルームのID、メンバーの端末情報、お知らせ(告知情報)、この時点までのチャット内容などを含む。
第1の携帯電話100AのCPU106は、タッチパネル102に、チャット通信用のウインドウを表示させる(ステップS006)。同様に、第2の携帯電話100BのCPU106は、タッチパネル102に、チャット通信用のウインドウを表示させる(ステップS008)。
第1の携帯電話100AのCPU106は、ユーザからのコンテンツ再生命令に基づいて、通信デバイス101を介して、動画コンテンツを受信する(ステップS010)。より詳細には、CPU106は、タッチパネル102を介して、ユーザから、動画コンテンツを指定するための命令を受け付ける。ユーザは、第1の携帯電話100AにURL(Uniform Resource Locator)を直接入力してもよいし、表示中のウェブページ上で所望の動画コンテンツに対応するリンクを選択してもよい。
第1の携帯電話100AのCPU106は、通信デバイス101を用いることによって、チャットサーバ400を介して、選択した動画コンテンツを特定するための動画情報(a)を、チャットに参加している他の通信端末へと送信する(ステップS012)。あるいは、第1の携帯電話100AのCPU106は、通信デバイス101を用いることによって、P2P通信によって、選択した動画コンテンツを特定するための動画情報(a)を、チャットに参加している他の通信端末へと直接的に送信する。図11に示すように、動画情報(a)は、たとえば、動画コンテンツの格納場所を示すURLなどを含む。チャットサーバ400のCPU405は、後でチャットに参加してくる通信端末のために、動画情報(a)をメモリ406に格納しておく。
図4(a)に示すように、第1の携帯電話100AのCPU106は、タッチパネル102を介して、受信した動画コンテンツを再生し始める(ステップS014)。CPU106は、スピーカ109を介して、動画コンテンツの音声を出力してもよい。
第2の携帯電話100BのCPU106は、通信デバイス101を介して、チャットサーバ400から動画情報(a)を受信する(ステップS016)。CPU106は、動画情報を解析して(ステップS018)、コンテンツサーバ600から動画コンテンツをダウンロードする(ステップS020)。図4(g)に示すように、CPU106は、タッチパネル102を介して、受信した動画コンテンツを再生し始める(ステップS022)。このとき、CPU106は、スピーカ109を介して、動画コンテンツの音声を出力してもよい。
なお、ここでは、第1の携帯電話100Aと第2の携帯電話100Bとが、チャット通信中に動画情報を取得する例を示したが、これに限られず、第1の携帯電話100Aと第2の携帯電話100Bとが、チャット通信前に、共通の動画情報を取得していてもよい。
その後、第3の携帯電話100Cが、チャットに参加するものとする。第3の携帯電話100CのCPU106は、通信デバイス101を介して、チャットサーバ400からチャットデータを取得する(ステップS024)。
このとき、チャットサーバ400は、第1の携帯電話100Aからの動画情報(a)を記憶している。チャットサーバ400のCPU405は、通信デバイス409を介して、チャットデータの一部としての動画情報(a)を、第3の携帯電話100Cへと送信する。
第3の携帯電話100CのCPU106は、チャットデータを解析して動画情報を取得する(ステップS026)。CPU106は、動画情報に基づいて、コンテンツサーバ600から動画コンテンツを取得する(ステップS028)。図4(m)に示すように、CPU106は、タッチパネル102を介して、受信した動画コンテンツを再生し始める(ステップS030)。このとき、CPU106は、スピーカ109を介して、動画コンテンツの音声を出力してもよい。
ここで、第1の携帯電話100Aが動画コンテンツを再生中に、CPU106が、タッチパネル102を介してユーザによる手描き入力を受け付けたとする(ステップS032)。
より詳細には、CPU106は、所定時間毎にタッチパネル102から接触座標データを順次受け付けることにより、タッチパネル102に対する接触位置の変化(軌跡)を取得する。そして、図11に示すように、CPU106は、手描きクリア情報(b)と、接触位置の軌跡を示す情報(c)と、線の色を示す情報(d)と、線の幅を示す情報(e)と、手描き入力が開始されたタイミングを示すタイミング情報(f)とを含む、送信データを作成する(ステップS034)。
手描きクリア情報(b)は、それまでに入力された手描きをクリアするための情報(true)または手描き入力を続行するための情報(false)を含む。接触位置の軌跡を示す情報(c)は、手描きストロークを構成するそれぞれの頂点の座標と、それぞれの頂点に対応する手描き入力が開始された時点からの経過時間とを含む。タイミング情報(f)は、手描き画像の描画が開始されるべきタイミングを示す情報でもある。より詳細には、タイミング情報(f)は、たとえば、第1の携帯電話100Aが手描き入力を受け付けたときの、動画コンテンツ開始からの時間(ms)、動画コンテンツのシーンを特定する情報(シーン番号など)、動画コンテンツのフレームを特定するための情報(フレーム番号など)などを含む。
このとき、すなわちステップS032において、CPU106は、タッチパネル102に、動画コンテンツ上に(動画コンテンツに重畳させて)入力された手描き画像を表示させる。図4(b)〜(d)に示すように、CPU106は、手描き画像の入力に応じて、タッチパネル102に、手描き画像を表示させていく。
図4(e)に示すように、本実施の形態に係る第1の携帯電話100Aでは、動画コンテンツのシーンが切り替わるときに、それまで入力された手描き画像がクリアされるものとしている。CPU106は、シーンが切り替わる際に、通信デバイス101を用いて、クリア情報(true)を送信してもよい。
CPU106は、手描き画像の入力を受け付ける度に、ステップS032〜ステップS034の処理を繰り返す。あるいは、CPU106は、手描き画像の入力を受け付ける度に、ステップS032〜ステップS036の処理を繰り返す。そして、図4(f)に示すように、CPU106は、動画コンテンツの再生を終了する(ステップS058)。
CPU106は、通信デバイス101を用いることによって、チャットサーバ400を介して、当該送信データを、チャットに参加している他の通信端末へと送信する(ステップS036)。チャットサーバ400のCPU405は、後でチャットに参加してくる通信端末のために、送信データ(b)〜(f)をメモリ406に格納しておく。現時点では、第2の携帯電話100Bと第3の携帯電話100Cとがチャットに参加している。あるいは、CPU106は、通信デバイス101を用いることによって、P2P通信によって、当該送信データを、チャットに参加している他の通信端末へと直接的に送信する(ステップS036)。
第2の携帯電話100BのCPU106は、通信デバイス101を介して、チャットサーバ400から送信データ(b)〜(f)を受信する(ステップS038)。CPU106は、送信データを解析する(ステップS040)。図4(h)〜(j)に示すように、CPU106は、送信データ毎に、当該送信データのタイミング情報(f)に基づいて、タッチパネル102に、手描き画像を動画コンテンツ上に描画させる(ステップS042)。
図4(k)に示すように、本実施の形態に係る第2の携帯電話100Bでは、動画コンテンツのシーンが切り替わるときに、それまで入力された手描き画像がクリアされるものとしている。CPU106は、第1の携帯電話100Aからのクリア情報に基づいて手描き画像を消去してもよい。あるいは、CPU106は、シーンが切り替わったことを自身で判断することによって、手描き画像を消去してもよい。そして、図4(l)に示すように、CPU106は、動画コンテンツの再生を終了する(ステップS060)。
第3の携帯電話100CのCPU106は、通信デバイス101を介して、チャットサーバ400から送信データを受信する(ステップS044)。CPU106は、送信データを解析する(ステップS046)。図4(n)〜(p)に示すように、CPU106は、送信データ毎に、当該送信データのタイミング情報(f)に基づいて、タッチパネル102に、手描き画像を動画コンテンツ上に描画させる(ステップS048)。
図4(q)に示すように、本実施の形態に係る第3の携帯電話100Cでは、動画コンテンツのシーンが切り替わるときに、それまで入力された手描き画像がクリアされるものとしている。CPU106は、第1の携帯電話100Aからのクリア情報に基づいて手描き画像を消去してもよい。あるいは、CPU106は、シーンが切り替わったことを自身で判断することによって、手描き画像を消去してもよい。そして、図4(r)に示すように、CPU106は、動画コンテンツの再生を終了する(ステップS062)。
その後、第4の携帯電話100Dが、チャットに参加するものとする。より詳細には、第1の携帯電話100Aにおいて手描き入力が終了した後で、第4の携帯電話100Dがチャットに参加したものとする。第1の携帯電話100A、第2の携帯電話100B、第3の携帯電話100Cにおいて、動画コンテンツの再生が終了しているか否かは問わない。
第4の携帯電話100DのCPU106は、通信デバイス101を介して、チャットサーバ400からチャットデータを取得する(ステップS050)。このとき、チャットサーバ400は、第1の携帯電話100Aからの動画情報(a)を記憶している。チャットサーバ400のCPU405は、通信デバイス409を介して、チャットデータの一部としての、動画情報(a)と現時点までに蓄積された送信データ(b)〜(f)とを、第4の携帯電話100Dへと送信する。
第4の携帯電話100DのCPU106は、チャットデータを解析して動画情報と送信データとを取得する(ステップS052)。CPU106は、動画情報に基づいて、コンテンツサーバ600から動画コンテンツを取得する(ステップS054)。図4(s)に示すように、CPU106は、タッチパネル102を介して、受信した動画コンテンツを再生し始める(ステップS056)。このとき、CPU106は、スピーカ109を介して、動画コンテンツの音声を出力してもよい。
図4(t)〜(v)に示すように、CPU106は、送信データ毎に、当該送信データのタイミング情報(f)に基づいて、タッチパネル102に、手描き画像を動画コンテンツ上に描画させる(ステップS064)。
図4(v)に示すように、本実施の形態に係る第4の携帯電話100Dでは、動画コンテンツのシーンが切り替わるときに、それまで入力された手描き画像がクリアされるものとしている。CPU106は、第1の携帯電話100Aからのクリア情報に基づいて手描き画像を消去してもよい。あるいは、CPU106は、シーンが切り替わったことを自身で判断することによって、手描き画像を消去してもよい。
これによって、第1の携帯電話100Aにおいて手描き画像が入力された動画コンテンツ中のタイミングと同じタイミングで、第2の携帯電話100B、第3の携帯電話100C、第4の携帯電話100Dにおいて手描き画像が描画されるようになる。すなわち、第2の携帯電話100B、第3の携帯電話100C、第4の携帯電話100Dにおいても、第1の携帯電話100Aのユーザが所望するシーンで所望する情報が描画されるようになる。
<携帯電話100における通信処理の変形例>
次に、本実施の形態に係る携帯電話100におけるP2P通信処理の変形例について説明する。図12は、本実施の形態に係る携帯電話100におけるP2P通信処理の変形例の処理手順を示すフローチャートである。
より詳細には、図12は、第1の通信端末において動画コンテンツの再生および手描き入力が終了した後に、第1の通信端末が、動画情報(a)と送信データ(b)〜(f)とを、まとめて他の通信端末に送信する例について説明する。ここでも、第1の携帯電話100Aから第2の携帯電話100Bへと、動画情報と手描き画像とが送信される場合について説明する。
図12を参照して、まず、第1の携帯電話100A(送信側)のCPU106は、通信デバイス101を介して、チャットサーバ400からチャット通信に関するデータを取得する(ステップS102)。同様に、第2の携帯電話100B(受信側)のCPU106も、通信デバイス101を介して、チャットサーバ400からチャット通信に関するデータを取得する(ステップS104)。
なお、「チャット通信に関するデータ」は、チャットルームのID、メンバーの端末情報、お知らせ(告知情報)、この時点までのチャット内容などを含む。
第1の携帯電話100AのCPU106は、タッチパネル102に、チャット通信用のウインドウを表示させる(ステップS106)。同様に、第2の携帯電話100BのCPU106は、タッチパネル102に、チャット通信用のウインドウを表示させる(ステップS108)。
第1の携帯電話100AのCPU106は、ユーザからのコンテンツ再生命令に基づいて、通信デバイス101を介して、動画コンテンツを受信する(ステップS110)。より詳細には、CPU106は、タッチパネル102を介して、ユーザから、動画コンテンツを指定するための命令を受け付ける。ユーザは、第1の携帯電話100AにURLを直接入力してもよいし、表示中のウェブページ上で所望の動画コンテンツに対応するリンクを選択してもよい。
図4(a)に示すように、第1の携帯電話100AのCPU106は、タッチパネル102を介して、受信した動画コンテンツを再生し始める(ステップS112)。CPU106は、スピーカ109を介して、動画コンテンツの音声を出力してもよい。
ここで、第1の携帯電話100Aが動画コンテンツを再生中に、CPU106が、タッチパネル102を介してユーザによる手描き入力を受け付けたとする(ステップS114)。
より詳細には、CPU106は、所定時間毎にタッチパネル102から接触座標データを順次受け付けることにより、タッチパネル102に対する接触位置の変化(軌跡)を取得する。そして、図11に示すように、CPU106は、手描きクリア情報(b)と、接触位置の軌跡を示す情報(c)と、線の色を示す情報(d)と、線の幅を示す情報(e)と、手描き入力のタイミングを示すタイミング情報(f)とを含む、送信データを作成する(ステップS116)。
手描きクリア情報(b)は、それまでに入力された手描きをクリアするための情報(true)または手描き入力を続行するための情報(false)を含む。タイミング情報(f)は、手描きが描画されるべきタイミングを示す情報でもある。より詳細には、タイミング情報(f)は、たとえば、第1の携帯電話100Aが手描き入力を受け付けたときの、動画コンテンツ開始からの時間(ms)、動画コンテンツのシーンを示す情報、動画コンテンツのフレームを示す情報などを含む。
このとき、すなわちステップS114において、CPU106は、送信データに基づいて、タッチパネル102に、動画コンテンツ上に(動画コンテンツに重畳させて)入力された手描き画像を表示させる。図4(b)〜(d)に示すように、CPU106は、手描き画像の入力に応じて、タッチパネル102に、手描き画像を表示させていく。
図4(e)に示すように、本実施の形態に係る第1の携帯電話100Aでは、動画コンテンツのシーンが切り替わるときに、それまで入力された手描き画像がクリアされるものとしている。CPU106は、シーンが切り替わる際に、通信デバイス101を用いて、クリア情報(true)を送信してもよい。
CPU106は、手描き入力を受け付ける度に、ステップS114〜ステップS116の処理を繰り返す。そして、図4(f)に示すように、CPU106は、動画コンテンツの再生を終了する(ステップS118)。
CPU106は、通信デバイス101を用いることによって、チャットサーバ400を介して、動画情報(a)と既に作成された送信データ(b)〜(f)の全てとを、チャットに参加している他の通信端末へと送信する(ステップS120)。図11に示すように、動画情報(a)は、たとえば、動画の格納場所を示すURLなどを含む。
あるいは、CPU106は、通信デバイス101を用いることによって、P2P通信によって、動画情報(a)と既に作成された送信データ(b)〜(f)の全てとを、チャットに参加している他の通信端末へと直接的に送信する(ステップS120)。この場合は、CPU106は、動画情報(a)と既に作成された送信データ(b)〜(f)の全てとを自身のメモリ103へと蓄積しておく。
チャットサーバ400のCPU405は、後でチャットに参加してくる通信端末のために、動画情報(a)と送信データ(b)〜(f)とをメモリ406に残しても良い。現時点では、第2の携帯電話100Bがチャットに参加している。
第2の携帯電話100BのCPU106は、通信デバイス101を介して、チャットサーバ400から動画情報(a)と送信データ(b)〜(f)とを受信する(ステップS122)。CPU106は、動画情報(a)と送信データ(b)〜(f)とを解析する(ステップS124)。CPU106は、コンテンツサーバ600から動画コンテンツをダウンロードする(ステップS126)。図4(g)に示すように、CPU106は、タッチパネル102を介して、受信した動画コンテンツを再生し始める(ステップS128)。このとき、CPU106は、スピーカ109を介して、動画コンテンツの音声を出力してもよい。
図4(h)〜(j)に示すように、CPU106は、送信データ毎に、当該送信データのタイミング情報(f)に基づいて、タッチパネル102に、手描き画像を動画コンテンツ上に描画させる(ステップS130)。
図4(k)に示すように、本実施の形態に係る第2の携帯電話100Bでは、動画コンテンツのシーンが切り替わるときに、それまで入力された手描き画像がクリアされるものとしている。CPU106は、第1の携帯電話100Aからのクリア情報に基づいて手描き画像を消去してもよい。あるいは、CPU106は、シーンが切り替わったことを自身で判断することによって、手描き画像を消去してもよい。そして、図4(l)に示すように、CPU106は、動画コンテンツの再生を終了する(ステップS132)。
これによって、第1の携帯電話100Aにおいて手描き画像が入力された動画コンテンツ中のタイミングと同じタイミングで、第2の携帯電話100Bにおいて手描き画像が描画されるようになる。すなわち、第2の携帯電話100Bにおいても、第1の携帯電話100Aのユーザが所望するシーンで所望する情報が描画されるようになる。
<携帯電話100における入力処理>
次に、本実施の形態に係る携帯電話100における入力処理について説明する。図13は、本実施の形態に係る携帯電話100における入力処理の処理手順を示すフローチャートである。
図13を参照して、CPU106は、まず、携帯電話100への入力が開始された際に、ペン情報の設定処理(ステップS300)を実行する。なお、ペン情報の設定処理(ステップS300)については後述する。
CPU106は、ペン情報の設定処理(ステップS300)が終了すると、データ(b)がtrueであるか否かを判断する(ステップS202)。データ(b)がtrueである場合(ステップS202にてYESである場合)、CPU106は、データ(b)をメモリ103に格納する(ステップS204)。CPU106は、入力処理を終了する。
データ(b)がtrueでない場合(ステップS202にてNOである場合)、CPU106は、スタイラスペン120がタッチパネル102に接触したか否かを判断する(ステップS206)。すなわち、CPU106は、ペンダウンを検出したか否かを判断する。
ペンダウンを検出しなかった場合(ステップS206にてNOである場合)、CPU106は、スタイラスペン120のタッチパネル102に対する接触位置が変化したか否かを判断する(ステップS208)。すなわち、CPU106は、ペンドラッグを検出したか否かを判断する。CPU106は、ペンドラッグを検出しなかった場合(ステップS208にてNOである場合)、入力処理を終了する。
CPU106は、ペンダウンを検出した場合(ステップS206にてYESである場合)、あるいは、ペンドラッグを検出した場合(ステップS208にてYESである場合)、データ(b)に「false」を設定する(ステップS210)。CPU106は、手描き処理(ステップS400)を実行する。手描き処理(ステップS400)については後述する。
CPU106は、手描き処理(ステップS400)を終了すると、データ(b)、(c)、(d)、(e)、(f)をメモリ103に格納する(ステップS212)。CPU106は、入力処理を終了する。
(携帯電話100におけるペン情報の設定処理)
次に、本実施の形態に係る携帯電話100におけるペン情報の設定処理について説明する。図14は、本実施の形態に係る携帯電話100におけるペン情報の設定処理の処理手順を示すフローチャートである。
図14を参照して、CPU106は、タッチパネル102を介してユーザから手描き画像をクリアするための命令を受け付けたか否かを判断する(ステップS302)。CPU106は、ユーザから手描き画像をクリアするための命令を受け付けた場合(ステップS302にてYESである場合)、データ(b)に「true」を設定する(ステップS304)。CPU106は、ステップS308からの処理を実行する。
CPU106は、ユーザから手描き画像をクリアするための命令を受け付けなかった場合(ステップS302にてNOである場合)、データ(e)に「false」を設定する(ステップS306)。CPU106は、タッチパネル102を介して、ユーザからペンの色を変更するための命令を受け付けたか否かを判断する(ステップS308)。CPU106は、ユーザからペンの色を変更するための命令を受け付けなかった場合(ステップS308にてNOである場合)、ステップS312からの処理を実行する。
CPU106は、ユーザからペンの色を変更するための命令を受け付けた場合(ステップS308にてYESである場合)、データ(d)に変更後のペンの色を設定する(ステップS310)。CPU106は、タッチパネル102を介して、ユーザからペンの幅を変更するための命令を受け付けたか否かを判断する(ステップS312)。CPU106は、ユーザからペンの幅を変更するための命令を受け付けなかった場合(ステップS312にてNOである場合)、ペン情報の設定処理を終了する。
CPU106は、ユーザからペンの幅を変更するための命令を受け付けた場合(ステップS312にてYESである場合)、データ(e)に変更後のペンの幅を設定する(ステップS314)。CPU106は、ペン情報の設定処理を終了する。
(携帯電話100における手描き処理)
次に、本実施の形態に係る携帯電話100における手描き処理について説明する。図15は、本実施の形態に係る携帯電話100における手描き処理の処理手順を示すフローチャートである。
図15を参照して、CPU106は、タッチパネル102を介して、現在スタイラスペン120がタッチパネル102に接触しているか否かを判断する(ステップS402)。スタイラスペン120がタッチパネル102に接触していない場合(ステップS402にてNOである場合)、CPU106は、手描き処理を終了する。
スタイラスペン120がタッチパネル102に接触している場合(ステップS402にてYESである場合)、CPU106は、図示しない時計を参照して、動画コンテンツの開始からの経過時間を取得する(ステップS404)。CPU106は、データ(f)に動画コンテンツ開始から手描き入力開始までの時間(期間)を設定する(ステップS406)。
ただし、以下では、CPU106は、動画コンテンツ開始から手描き入力開始までの時間(期間)の代わりに、シーンを特定するための情報や、フレームを特定するための情報を設定しても良い。シーンが特定できれば、手描き画像を入力した者の意図が伝わり易いからである。
CPU106は、タッチパネル102を介してスタイラスペン120のタッチパネル102に対する接触座標(X,Y)と現在の時刻(T)とを取得する(ステップS408)。CPU106は、データ(c)に「X,Y,T」を設定する(ステップS410)。
CPU106は、前回の座標の取得時から所定時間が経過しているか否かを判断する(ステップS412)。CPU106は、所定時間が経過していない場合(ステップS412にてNOである場合)、ステップS308からの処理を繰り返す。
CPU106は、所定時間が経過している場合(ステップS412にてYESである場合)、タッチパネル102を介して、ペンドラッグを検出したか否かを判断する(ステップS414)。CPU106は、ペンドラッグを検出しなかった場合(ステップS414にてNOである場合)、ステップS420からの処理を実行する。
CPU106は、ペンドラッグを検出した場合(ステップS414にてYESである場合)、タッチパネル102を介して、スタイラスペン120のタッチパネル102に対する接触位置座標(X,Y)と、現在の時刻(T)とを取得する(ステップS416)。CPU106は、データ(c)に「:X,Y,T」を追加する(ステップS418)。CPU106は、前回の接触座標の取得から所定時間経過したか否かを判断する(ステップS420)。CPU106は、所定時間が経過していない場合(ステップS420にてNOである場合)、ステップS420からの処理を通過する。
CPU106は、所定時間が経過した場合(ステップS420にてYESの場合)、タッチパネル102を介して、ペンアップを検出したか否かを判断する(ステップS422)。CPU106は、ペンアップを検出しなかった場合(ステップS422にてNOである場合)、ステップS414からの処理を繰り返す。
CPU106は、ペンアップを検出した場合(ステップS422にてYESである場合)、タッチパネル102を介して、ペンアップ時におけるスタイラスペンのタッチパネル102に対する接触座標(X,Y)とペンアップされたときの時刻(T)とを取得する(ステップS424)。CPU106は、データ(c)に「:X,Y,T」を追加する(ステップS426)。CPU106は、手描き処理を終了する。
<携帯電話100における入力処理の変形例>
次に、本実施の形態に係る携帯電話100における入力処理の変形例について説明する。図16は、本実施の形態に係る携帯電話100における入力処理の変形例の処理手順を示すフローチャートである。
より詳細には、前述した図13の入力処理は、手描き画像をクリアするための命令を受け付けたときのみにクリア情報(true)を送信するものに関するものであった。一方、後述する図16に示す入力処理は、手描き画像をクリアするための命令を受け付けたときと、動画コンテンツのシーンが切り換わったときに、クリア情報(true)を送信するものに関するものであった。
図16を参照して、CPU106は、まず、携帯電話100への入力が開始された際に、前述のペン情報の設定処理(ステップS300)を実行する。
CPU106は、ペン情報の設定処理(ステップS300)が終了すると、データ(b)がtrueであるか否かを判断する(ステップS252)。データ(b)がtrueである場合(ステップS252にてYESである場合)、CPU106は、データ(b)をメモリ103に格納する(ステップS254)。CPU106は、入力処理を終了する。
データ(b)がtrueでない場合(ステップS252にてNOである場合)、CPU106は、スタイラスペン120がタッチパネル102に接触したか否かを判断する(ステップS256)。すなわち、CPU106は、ペンダウンを検出したか否かを判断する。
ペンダウンを検出しなかった場合(ステップS256にてNOである場合)、CPU106は、スタイラスペン120のタッチパネル102に対する接触位置が変化したか否かを判断する(ステップS258)。すなわち、CPU106は、ペンドラッグを検出したか否かを判断する。CPU106は、ペンドラッグを検出しなかった場合(ステップS258にてNOである場合)、入力処理を終了する。
CPU106は、ペンダウンを検出した場合(ステップS256にてYESである場合)、あるいは、ペンドラッグを検出した場合(ステップS258にてYESである場合)、データ(b)に「false」を設定する(ステップS260)。CPU106は、前述の手描き処理(ステップS400)を実行する。
CPU106は、手描き処理(ステップS400)を終了すると、シーンが切り換わっているか否かを判断する(ステップS262)。より詳細には、CPU106は、手描き入力を開始したときのシーンと現時点のシーンとが異なるか否かを判断する。ただし、CPU106は、シーンが切り換わっているか否かを判断する代わりに、ペンアップから所定時間が経過したか否かを判断してもよい。
シーンが切り換わっていない場合(ステップS262においてNOである場合)、CPU106は、データ(c)に「:」を追加する(ステップS264)。CPU106は、前回の手描き処理から所定時間が経過したか否かを判断する(ステップS266)。所定時間が経過していない場合(ステップS266においてNOである場合)、CPU106は、ステップS266からの処理を繰り返す。所定時間が経過している場合(ステップS266においてYESである場合)、CPU106は、ステップS400からの処理を繰り返す。
シーンが切り換わった場合(ステップS262においてYESである場合)、CPU106は、データ(b)、(c)、(d)、(e)、(f)をメモリ103に格納する(ステップS268)。CPU106は、入力処理を終了する。
<携帯電話100における手描き画像表示処理>
次に、本実施の形態に係る携帯電話100における手描き画像表示処理について説明する。図17は、本実施の形態に係る携帯電話100における手描き画像表示処理の処理手順を示すフローチャートである。図17においては、受信側の通信端末が、送信側の通信端末と同じ速度で、手描きストロークを描画するものである。
図17を参照して、CPU106は、他の通信端末から受信したデータ(送信データ)からタイミング情報time(f)を取得する(ステップS512)。CPU106は、動画コンテンツの再生開始から現時点までの時間(期間)、すなわち動画コンテンツの再生時間tを取得する(ステップS514)。
CPU106は、time=tであるか否かを判断する(ステップS516)。CPU106は、time=tでない場合(ステップS516においてNOである場合)、ステップS514からの処理を繰り返す。
CPU106は、time=tである場合(ステップS516においてYESである場合)、手描きストロークの頂点の座標(データ(c))を取得する(ステップS518)。CPU106は、手描きストロークの頂点の座標の個数nを取得する(ステップS520)。
CPU106は、第1の描画処理(ステップS610)を実行する。第1の描画処理(ステップS610)については後述する。CPU106は、手描き画像表示処理を終了する。
(携帯電話100における第1の描画処理)
次に、本実施の形態に係る携帯電話100における第1の描画処理について説明する。図18は、本実施の形態に係る携帯電話100における第1の描画処理の処理手順を示すフローチャートである。
図18を参照して、CPU106は、変数iに1を代入する(ステップS612)。CPU106は、前述した再生時間tに対応する時刻tからCt(i+1)の時間が経過したか否かを判断する(ステップS614)。時刻tからCt(i+1)の時間が経過していない場合(ステップS614にてNOである場合)、CPU106は、ステップS614からの処理を繰り返す。
CPU106は、時刻tからCt(i+1)の時間が経過した場合(ステップS614にてYESである場合)、タッチパネル102を用いて、座標(Cxi,Cyi)と座標(Cx(i+1),Cy(i+1))とを線で繋ぐことによって、手描きストロークを描画する(ステップS616)。CPU106は、変数iをインクリメントする(ステップS618)。
CPU106は、変数iが個数n以上であるか否かを判断する(ステップS620)。CPU106は、変数iが個数n未満である場合(ステップS620にてNOである場合)、ステップS614からの処理を繰り返す。CPU106は、変数iが個数n以上である場合(ステップS620にてYESである場合)、第1の描画処理を終了する。
ここで、本実施の形態における手描き画像の入力と出力との関係について説明する。図19は、図17および図18に示す手描き画像表示処理を説明するためのイメージ図である。
前述したように、手描き画像が入力される通信端末(第1の通信端末)のCPU106は、手描き画像が入力される度(ペンダウンからペンアップまで)に、あるいはクリア命令が入力されたときに、あるいはシーンが切り換わったときに、送信データを作成する。たとえば、手描き画像を入力中にシーンが切り換わると、シーンが切り換わった時点までの手描き画像を示す送信データが作成される。
そして、図19を参照して、手描き画像を表示する通信端末(第2の通信端末)のCPU106は、タイミング情報(f)とそれぞれの頂点に対応する時間(Ct1)〜(Ct5)とに基づいて、手描きストロークを描画していく(Cx1,Cy1)〜(Cx5,Cy5)。すなわち、本実施の形態においては、受信側の通信端末が、送信側の通信端末と同じ速度で、手描きストロークを描画するものである。
<携帯電話100における手描き画像表示処理の第1の変形例>
次に、本実施の形態に係る携帯電話100における手描き画像表示処理の第1の変形例について説明する。図20は、本実施の形態に係る携帯電話100における手描き画像表示処理の第1の変形例の処理手順を示すフローチャートである。
本変形例に係る通信端末は、手描き画像の入力に要した時間が、手描き画像の入力開始から次のシーンチェンジまでの時間よりも長い場合に、描画時間を短縮することによってシーンチェンジまでに手描き画像の描画を完了することができる。すなわち、シーンチェンジに関係なく(手描き画像がシーンチェンジでクリアされずに)、手描き画像の入力が続行できる場合について説明する。
図20を参照して、CPU106は、受信した送信データからタイミング情報time(f)を取得する(ステップS532)。CPU106は、動画コンテンツの再生時間t(動画コンテンツの開始時点から現在までの期間)を取得する(ステップS534)。
CPU106は、time=tであるか否かを判断する(ステップS536)。CPU106は、time=tでない場合(ステップS536においてNOである場合)、ステップS534からの処理を繰り返す。
CPU106は、time=tである場合(ステップS536においてYESである場合)、手描きストロークの頂点の座標(データ(c))を取得する(ステップS538)。CPU106は、手描きストロークの頂点の座標の個数nを取得する(ステップS540)。
CPU106は、動画コンテンツを参照して、タイミング情報timeから次のシーンチェンジまでの時間Tを取得する(ステップS542)。CPU106は、時間Tが頂点間の時間Ct×n以上であるか否かを判断する(ステップS544)。
時間Tが頂点間の時間Ct×n以上である場合(ステップS544においてYESである場合)、CPU106は、前述した第1の描画処理(ステップS610)を実行する。CPU106は、手描き画像表示処理を終了する。この場合は、シーンチェンジの前にクリア情報が入力された場合や、シーンチェンジの前にペンアップから所定時間が経過した場合などが該当する。
時間Tが頂点間の時間Ct×n未満である場合(ステップS544においてNOである場合)、CPU106は、第2の描画処理(ステップS630)を実行する。第2の描画処理(ステップS630)については後述する。CPU106は、手描き画像表示処理を終了する。この場合は、手描き画像の入力中に、シーンチェンジが発生した場合などが該当する。
(携帯電話100における第2の描画処理)
次に、本実施の形態に係る携帯電話100における第2の描画処理について説明する。図21は、本実施の形態に係る携帯電話100における第2の描画処理の処理手順を示すフローチャートである。前述したように、手描き画像の入力中に、シーンチェンジが発生した場合について説明する。
図21を参照して、CPU106は、変数dtにT/nを代入する(ステップS632)。変数dtは描画時の頂点間の時間であって、入力時の頂点間の時間Ctよりも小さいものとなる。
CPU106は、変数iに1を代入する(ステップS634)。CPU106は、時刻tからdt×iの時間が経過したか否かを判断する(ステップS636)。時刻tからdt×iの時間が経過していない場合(ステップS636にてNOである場合)、CPU106は、ステップS636からの処理を繰り返す。
CPU106は、時刻tからdt×iの時間が経過した場合(ステップS636にてYESである場合)、タッチパネル102を用いて、座標(Cxi,Cyi)と座標(Cx(i+1),Cy(i+1))とを線で繋ぐことによって、手描きストロークを描画する(ステップS638)。CPU106は、変数iをインクリメントする(ステップS640)。
CPU106は、変数iが個数n以上であるか否かを判断する(ステップS642)。CPU106は、変数iが個数n未満である場合(ステップS642にてNOである場合)、ステップS636からの処理を繰り返す。CPU106は、変数iが個数n以上である場合(ステップS642にてYESである場合)、第2の描画処理を終了する。
ここで、本変形例における手描き画像の入力と出力との関係について説明する。図22は、図20および図21に示す手描き画像表示処理を説明するためのイメージ図である。
前述したように、本変形例においては、手描き画像が入力される通信端末(第1の通信端末)のCPU106は、手描き画像が入力される度(ペンダウンからペンアップまで)に、あるいはクリア命令が入力されたときに、送信データを作成する。
図22を参照して、手描き画像を表示する通信端末(第2の通信端末)のCPU106は、タイミング情報(f)と頂点間に対応する時間dtとに基づいて、手描きストロークを描画していく(Cx1,Cy1)〜(Cx5,Cy5)。すなわち、本変形例に係る通信端末は、手描き画像の入力に要した時間が、手描き画像の入力開始から次のシーンチェンジまでの時間よりも長い場合に、描画時間を短縮することによってシーンチェンジまでに手描き画像の描画を完了することができる。すなわち、送信側のユーザがシーンをまたいで手描き画像を入力してしまった場合であっても、受信側の通信端末が、送信側のユーザが所望するシーン内で手描き画像の描画を完了することができる。
<携帯電話100における手描き画像表示処理の第2の変形例>
次に、本実施の形態に係る携帯電話100における手描き画像表示処理の第2の変形例について説明する。図23は、本実施の形態に係る携帯電話100における手描き画像表示処理の第2の変形例の処理手順を示すフローチャートである。本変形例に係る通信端末は、手描き画像を、手描き画像の入力開始時点が含まれるシーンの全部の時間をかけて描画する。
図23を参照して、CPU106は、動画コンテンツを参照して、動画コンテンツの再生開始からそれぞれのシーンチェンジまでの期間(長さ)T1〜Tmを取得する(ステップS552)。すなわち、CPU106は、動画コンテンツの再生開始からそれぞれのシーンの終了までの時間を取得する。CPU106は、受信した送信データからタイミング情報time(f)を取得する(ステップS554)。
CPU106は、動画コンテンツの再生開始からタイミング情報timeの一つ前のシーンチェンジまでの時間Tiを取得する(ステップS556)。すなわち、タイミング情報timeに対応するシーンを特定し、動画コンテンツの再生開始から当該シーンの1つ前のシーンの終了時点までの長さTiを取得する。CPU106は、動画コンテンツの再生時間t(動画コンテンツの開始時点から現在までの期間)を取得する(ステップS558)。
CPU106は、Ti=tであるか否かを判断する(ステップS560)。CPU106は、Ti=tでない場合(ステップS560においてNOである場合)、ステップS558からの処理を繰り返す。
CPU106は、Ti=tである場合(ステップS560においてYESである場合)、手描きストロークの頂点の座標(データ(c))を取得する(ステップS562)。CPU106は、手描きストロークの頂点の座標の個数nを取得する(ステップS564)。
CPU106は、第3の描画処理(ステップS650)を実行する。第3の描画処理(ステップS650)については後述する。CPU106は、手描き画像表示処理を終了する。
(携帯電話100における第3の描画処理)
次に、本実施の形態に係る携帯電話100における第3の描画処理について説明する。図24は、本実施の形態に係る携帯電話100における第3の描画処理の処理手順を示すフローチャートである。
図24を参照して、CPU106は、変数dtに(T(i+1)−Ti)/nを代入する(ステップS652)。変数dtは、手描き画像が入力されたシーンを、頂点の個数で分割した値である。
CPU106は、変数iに1を代入する(ステップS654)。CPU106は、再生時間(時刻t)からdt×iの時間が経過したか否かを判断する(ステップS656)。時刻tからdt×iの時間が経過していない場合(ステップS656にてNOである場合)、CPU106は、ステップS656からの処理を繰り返す。
CPU106は、時刻tからdt×iの時間が経過した場合(ステップS656にてYESである場合)、タッチパネル102を用いて、座標(Cxi,Cyi)と座標(Cx(i+1),Cy(i+1))とを線で繋ぐことによって、手描きストロークを描画する(ステップS658)。CPU106は、変数iをインクリメントする(ステップS660)。
CPU106は、変数iが個数n以上であるか否かを判断する(ステップS662)。CPU106は、変数iが個数n未満である場合(ステップS662にてNOである場合)、ステップS656からの処理を繰り返す。CPU106は、変数iが個数n以上である場合(ステップS662にてYESである場合)、第3の描画処理を終了する。
以下、本実施の形態における手描き画像の入力と出力との関係について説明する。図25は、図23および図24に示す手描き画像表示処理を説明するためのイメージ図である。
前述したように、手描き画像が入力される通信端末(第1の通信端末)のCPU106は、手描き画像が入力される度(ペンダウンからペンアップまで)に、あるいはクリア命令が入力されたときに、送信データを作成する。
図25を参照して、手描き画像を表示する通信端末(第2の通信端末)のCPU106は、タイミング情報(f)と頂点間に対応する時間dtとに基づいて、手描きストロークを描画していく(Cx1,Cy1)〜(Cx5,Cy5)。すなわち、本変形例に係る通信端末は、手描き画像の入力速度を、当該手描き画像に対応するシーンの長さに応じて、できる限り遅くする。通信端末は、シーンチェンジまでに手描き画像の描画を完了することができる。
すなわち、送信側のユーザがシーンをまたいで手描き画像を入力してしまった場合であっても、受信側の通信端末が、送信側のユーザが所望するシーン内で手描き画像の描画を余裕をもって完了することができる。換言すれば、受信側の通信端末は、送信側の通信端末における手描き画像の入力開始時点よりも早いタイミング、すなわち当該手描き画像の入力開始時点が属するシーンの開始時点、から当該手描き画像を描画し始めることになる。
[実施の形態2]
次に、本発明の実施の形態2について説明する。上述の実施の形態1に係るネットワークシステム1は、それぞれの通信端末(第1の携帯電話100A、第2の携帯電話100B、第3の携帯電話100C、第4の携帯電話100D)が、異なるタイミングで動画コンテンツを再生するものであった。一方、本実施の形態に係るネットワークシステム1は、それぞれの通信端末が同時に動画コンテンツの再生を開始することによって、情報を送信(入力)するユーザの意図を、情報を受信(閲覧)するユーザへと、有効に伝えるものである。
なお、実施の形態1に係るネットワークシステム1と同様の構成については、同一の番号を付してある。それらの機能も同じである。したがって、それらの構成要素の説明は、繰り返さない。たとえば、本実施の形態に係るネットワークシステム1の全体構成、ネットワークシステム1の全体的な動作概要、携帯電話100とチャットサーバ400とコンテンツサーバ600のハードウェア構成などは、実施の形態1のそれらと同様であるため、ここでは説明を繰り返さない。
<携帯電話100における通信処理>
以下では、本実施の形態に係る携帯電話100におけるP2P通信処理について説明する。図26は、本実施の形態に係る携帯電話100におけるP2P通信処理の処理手順を示すフローチャートである。図27は、本実施の形態に係る送信データのデータ構造を示すイメージ図である。
以下でも、第1の携帯電話100Aが第2の携帯電話100Bへと手描き画像を送信する場合について説明する。なお、本実施の形態においては、第1の携帯電話100Aと第2の携帯電話100Bとは、チャットサーバ400を介してデータを送受信している。ただし、チャットサーバ400を介さずにP2P通信によってデータを送受信してもよい。この場合には、第1の携帯電話100Aが、チャットサーバ400の代わりに、データを記憶したり、第2の携帯電話100Bや第3の携帯電話100Cなどにデータを送信したりする必要がある。
図26を参照して、まず、第1の携帯電話100A(送信側)のCPU106は、通信デバイス101を介して、チャットサーバ400からチャット通信に関するデータを取得する(ステップS702)。同様に、第2の携帯電話100B(受信側)のCPU106も、通信デバイス101を介して、チャットサーバ400からチャット通信に関するデータを取得する(ステップS704)。
なお、「チャット通信に関するデータ」は、チャットルームのID、メンバーの端末情報、お知らせ(告知情報)、この時点までのチャット内容などを含む。
第1の携帯電話100AのCPU106は、タッチパネル102に、チャット通信用のウインドウを表示させる(ステップS706)。同様に、第2の携帯電話100BのCPU106は、タッチパネル102に、チャット通信用のウインドウを表示させる(ステップS708)。
第1の携帯電話100AのCPU106は、ユーザからのコンテンツ再生命令に基づいて、通信デバイス101を介して、動画コンテンツを受信する(ステップS710)。より詳細には、CPU106は、タッチパネル102を介して、ユーザから、動画コンテンツを指定するための命令を受け付ける。ユーザは、第1の携帯電話100AにURLを直接入力してもよいし、表示中のウェブページ上で所望の動画コンテンツに対応するリンクを選択してもよい。
第1の携帯電話100AのCPU106は、通信デバイス101を用いることによって、チャットサーバ400を介して、選択した動画コンテンツを特定するための動画情報(a)を、チャットに参加している他の通信端末へと送信する(ステップS712)。図27に示すように、動画情報(a)は、たとえば、動画の格納場所を示すURLなどを含む。チャットサーバ400のCPU405は、後でチャットに参加してくる通信端末のために、動画情報(a)をメモリ406に格納しておく。
第2の携帯電話100BのCPU106は、通信デバイス101を介して、チャットサーバ400から動画情報(a)を受信する(ステップS714)。CPU106は、動画情報を解析して(ステップS716)、コンテンツサーバ600から動画コンテンツをダウンロードする(ステップS718)。
CPU106は、通信デバイス101を介して、第1の携帯電話100Aに、動画コンテンツの再生の準備が完了した旨のメッセージを送信する(ステップS720)。第1の携帯電話100AのCPU106は、通信デバイス101を介して、第2の携帯電話100Bから当該メッセージを受信する(ステップS722)。
第1の携帯電話100AのCPU106は、タッチパネル102を介して、受信した動画コンテンツを再生し始める(ステップS724)。CPU106は、スピーカ109を介して、動画コンテンツの音声を出力してもよい。同様に、第2の携帯電話100BのCPU106は、タッチパネル102を介して、受信した動画コンテンツを再生し始める(ステップS726)。このとき、CPU106は、スピーカ109を介して、動画コンテンツの音声を出力してもよい。
ここで、第1の携帯電話100Aが動画コンテンツを再生中に、CPU106が、タッチパネル102を介してユーザによる手描き入力を受け付けたとする(ステップS728)。
より詳細には、CPU106は、所定時間毎にタッチパネル102から接触座標データを順次受け付けることにより、タッチパネル102に対する接触位置の変化(軌跡)を取得する。このとき、すなわちステップS728において、CPU106は、タッチパネル102に、動画コンテンツ上に(動画コンテンツに重畳させて)入力された手描き画像を表示させる。CPU106は、手描き画像の入力に応じて、タッチパネル102に、手描き画像を表示させていく。
そして、図27に示すように、CPU106は、手描きクリア情報(b)と、接触位置の軌跡を示す情報(c)と、線の色を示す情報(d)と、線の幅を示す情報(e)とを含む、送信データを作成する(ステップS730)。なお、手描きクリア情報(b)は、それまでに入力された手描きをクリアするための情報(true)または手描き入力を続行するための情報(false)を含む。接触位置の軌跡を示す情報(c)は、手描きストロークを構成するそれぞれの頂点の座標と、それぞれの頂点に対応する手描き入力が開始された時点からの経過時間とを含む。
第1の携帯電話100AのCPU106は、通信デバイス101を用いて、チャットサーバ400を介して、第2の携帯電話100Bに送信データを送信する(ステップS732)。第2の携帯電話100BのCPU106は、通信デバイス101を介して、第1の携帯電話100Aから送信データを受信する(ステップS734)。
第2の携帯電話100BのCPU106は、送信データを解析する(ステップS736)。第2の携帯電話100BのCPU106は、解析結果に基づいて、タッチパネル102に、手描き画像を表示させていく(ステップS738)。
本実施の形態に係る第1の携帯電話100Aでは、動画コンテンツのシーンが切り替わるときに、それまで入力された手描き画像がクリアされるものとしている。CPU106は、シーンが切り替わる際に、通信デバイス101を用いて、クリア情報(true)を送信してもよい。そして、第2の携帯電話100BのCPU106は、第1の携帯電話100Aからのクリア情報に基づいて手描き画像を消去してもよい。あるいは、CPU106は、シーンが切り替わったことを自身で判断することによって、手描き画像を消去してもよい。
第1の携帯電話100AのCPU106は、手描き入力を受け付ける度に、ステップS728〜ステップS732の処理を繰り返す。一方、第2の携帯電話100BのCPU106は、送信データを受信する度に、ステップS734〜ステップS738の処理を繰り返す。
第1の携帯電話100AのCPU106は、動画コンテンツの再生を終了する(ステップS740)。第2の携帯電話100BのCPU106は、動画コンテンツの再生を終了する(ステップS742)。
これによって、第1の携帯電話100Aにおいて手描き画像が入力された動画コンテンツ中のタイミングと同じタイミングで、第2の携帯電話100Bにおいて手描き画像が描画されるようになる。すなわち、第2の携帯電話100Bにおいては、第1の携帯電話100Aのユーザが所望するシーンで所望する情報が描画されるようになる。
<携帯電話100における入力処理>
次に、本実施の形態に係る携帯電話100における入力処理について説明する。図28は、本実施の形態に係る携帯電話100における入力処理の処理手順を示すフローチャートである。
図28を参照して、CPU106は、まず、携帯電話100への入力が開始された際に、前述のペン情報の設定処理(ステップS300)を実行する。なお、ペン情報の設定処理(ステップS300)については後述する。
CPU106は、ペン情報の設定処理(ステップS300)が終了すると、データ(b)がtrueであるか否かを判断する(ステップS802)。データ(b)がtrueである場合(ステップS802にてYESである場合)、CPU106は、データ(b)をメモリ103に格納する(ステップS804)。CPU106は、入力処理を終了する。
データ(b)がtrueでない場合(ステップS802にてNOである場合)、CPU106は、スタイラスペン120がタッチパネル102に接触したか否かを判断する(ステップS806)。すなわち、CPU106は、ペンダウンを検出したか否かを判断する。
ペンダウンを検出しなかった場合(ステップS806にてNOである場合)、CPU106は、スタイラスペン120のタッチパネル102に対する接触位置が変化したか否かを判断する(ステップS808)。すなわち、CPU106は、ペンドラッグを検出したか否かを判断する。CPU106は、ペンドラッグを検出しなかった場合(ステップS808にてNOである場合)、入力処理を終了する。
CPU106は、ペンダウンを検出した場合(ステップS806にてYESである場合)、あるいは、ペンドラッグを検出した場合(ステップS808にてYESである場合)、データ(b)に「false」を設定する(ステップS810)。CPU106は、手描き処理(ステップS900)を実行する。手描き処理(ステップS900)については後述する。
CPU106は、手描き処理(ステップS900)を終了すると、データ(b)、(c)、(d)、(e)をメモリ103に格納する(ステップS812)。CPU106は、入力処理を終了する。
(携帯電話100における手描き処理)
次に、本実施の形態に係る携帯電話100における手描き処理について説明する。図29は、本実施の形態に係る携帯電話100における手描き処理の処理手順を示すフローチャートである。
図29を参照して、CPU106は、タッチパネル102を介してスタイラスペン120のタッチパネル102に対する接触座標(X,Y)を取得する(ステップS902)。CPU106は、データ(c)に「X,Y」を設定する(ステップS904)。
CPU106は、前回の座標の取得時から所定時間が経過しているか否かを判断する(ステップS906)。CPU106は、所定時間が経過していない場合(ステップS906にてNOである場合)、ステップS906からの処理を繰り返す。
CPU106は、所定時間が経過している場合(ステップS906にてYESである場合)、タッチパネル102を介して、ペンドラッグを検出したか否かを判断する(ステップS908)。CPU106は、ペンドラッグを検出しなかった場合(ステップS908にてNOである場合)、タッチパネル102を介して、ペンアップを検出したか否かを判断する(ステップS910)。CPU106は、ペンアップを検出しなかった場合(ステップS910においてNOである場合)、ステップS906からの処理を繰り返す。
CPU106は、ペンドラッグを検出した場合(ステップS908にてYESである場合)、またはペンアップを検出した場合(ステップS910においてYESである場合)、タッチパネル102を介して、スタイラスペン120のタッチパネル102に対する接触位置座標(X,Y)を取得する(ステップS912)。CPU106は、データ(c)に「:X,Y」を追加する(ステップS914)。CPU106は、手描き処理を終了する。
<携帯電話100における表示処理>
次に、本実施の形態に係る携帯電話100における表示処理について説明する。図30は、本実施の形態に係る携帯電話100における表示処理の処理手順を示すフローチャートである。
図30を参照して、CPU106は、動画コンテンツの再生が終了したか否かを判断する(ステップS1002)。CPU106は、動画コンテンツの再生が終了した場合(ステップS1002にてYESである場合)、表示処理を終了する。
CPU106は、動画コンテンツの再生が終了していない場合(ステップS1002にてNOである場合)、クリア情報clear(データ(b))を取得する(ステップS1004)。CPU106は、クリア情報clearがtrueであるか否かを判断する(ステップS1006)。CPU106は、クリア情報clearがtrueである場合(ステップS1006にてYESである場合)、手描き画像を非表示にする(ステップS1008)。CPU106は、表示処理を終了する。
CPU106は、クリア情報clearがtrueでない場合(ステップS1006にてNOである場合)、ペンの色(データ(d))を取得する(ステップS1010)。CPU106は、ペンの色を設定し直す(ステップS1012)。CPU106は、ペンの幅(データ(e))を取得する(ステップS1014)。CPU106は、ペンの幅を設定し直す(ステップS1016)。CPU106は、手描き画像表示処理(ステップS1100)を実行する。手描き画像表示処理(ステップS1100)については後述する。CPU106は、表示処理を終了する。
<携帯電話100における表示処理の応用例>
次に、本実施の形態に係る携帯電話100における表示処理の応用例について説明する。図31は、本実施の形態に係る携帯電話100における表示処理の応用例の処理手順を示すフローチャートである。この応用例においては、携帯電話100は、クリア情報だけでなくシーンが切り換わった際にも、それまでに表示されている手描き画像を消去(リセット)するものである。
図31を参照して、CPU106は、動画コンテンツの再生が終了したか否かを判断する(ステップS1052)。CPU106は、動画コンテンツの再生が終了した場合(ステップS1052にてYESである場合)、表示処理を終了する。
CPU106は、動画コンテンツの再生が終了していない場合(ステップS1052にてNOである場合)、動画コンテンツのシーンが切り換わったか否かを判断する(ステップS1054)。CPU106は、動画コンテンツのシーンが切り換わっていない場合(ステップS1054にてNOである場合)、ステップS1058からの処理を実行する。
CPU106は、動画コンテンツのシーンが切り換わった場合(ステップS1054にてYESである場合)、それまでに表示されていた手描き画像を非表示にする(ステップS1056)。CPU106は、クリア情報clear(データ(b))を取得する(ステップS1058)。CPU106は、クリア情報clearがtrueであるか否かを判断する(ステップS1060)。CPU106は、クリア情報clearがtrueである場合(ステップS1060にてYESである場合)、それまでに表示されていた手描き画像を非表示にする(ステップS1062)。CPU106は、表示処理を終了する。
CPU106は、クリア情報clearがtrueでない場合(ステップS1060にてNOである場合)、ペンの色(データ(d))を取得する(ステップS1064)。CPU106は、ペンの色を設定し直す(ステップS1066)。CPU106は、ペンの幅(データ(e))を取得する(ステップS1068)。CPU106は、ペンの幅を設定し直す(ステップS1070)。CPU106は、手描き画像表示処理(ステップS1100)を実行する。手描き画像表示処理(ステップS1100)については後述する。CPU106は、表示処理を終了する。
<携帯電話100における手描き画像表示処理>
次に、本実施の形態に係る携帯電話100における手描き画像表示処理について説明する。図32は、本実施の形態に係る携帯電話100における手描き画像表示処理の処理手順を示すフローチャートである。
図32を参照して、CPU106は、手描きストロークの頂点の座標(データ(c))を取得する(ステップS1102)。ここでは、CPU106は、最新の2つの座標、すなわち座標(Cx1,Cy1)と座標(Cx2,Cy2)とを取得する。CPU106は、座標(Cx1,Cy1)と座標(Cx2,Cy2)とを線で繋ぐことによって、手描きストロークを描画する(ステップS1104)。CPU106は、手描き画像表示処理を終了する。
<ネットワークシステムのその他の適用例>
本発明は、システム或いは装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。そして、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の効果を享受することが可能となる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード(ICメモリカード)、ROM(マスクROM、フラッシュEEPROMなど)などを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 ネットワークシステム、100,100A,100B,100C,100D 携帯電話、101 通信デバイス、102 タッチパネル、103 メモリ、103A ワークメモリ、103B アドレス帳データ、103C 自端末データ、103D アドレスデータ、103E アドレスデータ、104 ペンタブレット、106 CPU、107 ディスプレイ、108 マイク、109 スピーカ、110 各種ボタン、111 第1の通知部、112 第2の通知部、113 TVアンテナ、120 スタイラスペン、200 カーナビゲーション装置、250 車両、300 パーソナルコンピュータ、400 チャットサーバ、406 メモリ、406A ルーム管理テーブル、407 固定ディスク、408 内部バス、409 通信デバイス、500 インターネット、600 コンテンツサーバ、606 メモリ、607 固定ディスク、608 内部バス、609 通信デバイス、615 固定ディスク、700 キャリア網。

Claims (8)

  1. 第1および第2の通信端末とを備えるネットワークシステムであって、
    前記第1の通信端末は、
    前記第2の通信端末と通信するための第1の通信デバイスと、
    動画コンテンツを表示するための第1のタッチパネルと、
    前記第1のタッチパネルを介して手描き画像の入力を受け付けるための第1のプロセッサとを含み、
    前記第1のプロセッサは、前記動画コンテンツの表示中に入力された前記手描き画像と、前記動画コンテンツにおける前記手描き画像の入力開始時点を特定するための開始情報とを、前記第1の通信デバイスを介して前記第2の通信端末へと送信し、
    前記第2の通信端末は、
    前記動画コンテンツを表示するための第2のタッチパネルと、
    前記第1の通信端末から前記手描き画像と前記開始情報とを受信するための第2の通信デバイスと、
    前記開始情報に基づいて、前記第2のタッチパネルに、前記動画コンテンツにおける前記手描き画像の入力開始時点から当該手描き画像を表示させるための第2のプロセッサとを含む、ネットワークシステム。
  2. 前記ネットワークシステムは、前記動画コンテンツを配信するためのコンテンツサーバをさらに備え、
    前記第1のプロセッサは、
    ダウンロード命令に応じて前記コンテンツサーバから前記動画コンテンツを取得し、
    取得した前記動画コンテンツを特定するための動画情報を、前記第1の通信デバイスを介して前記第2の通信端末へと送信し、
    前記第2のプロセッサは、前記動画情報に基づいて、前記コンテンツサーバから前記動画コンテンツを取得する、請求項1に記載のネットワークシステム。
  3. 前記第1のプロセッサは、前記動画コンテンツのシーンが切り替わったときに、および/または、入力された前記手描き画像をクリアするための命令を受け付けたときに、前記第1の通信デバイスを介して、前記手描き画像を消去するための命令を前記第2の通信端末へと送信する、請求項1または2に記載のネットワークシステム。
  4. 前記第2のプロセッサは、
    前記入力開始時点から前記動画コンテンツのシーンが切り替わる時点までの時間を計算し、
    前記時間に基づいて、前記タッチパネル上での前記手描き画像の描画速度を決定する、請求項1から3のいずれかに記載のネットワークシステム。
  5. 前記第2のプロセッサは、
    前記入力開始時点を含む前記動画コンテンツのシーンの長さを計算し、
    前記長さに基づいて、前記タッチパネル上での前記手描き画像の描画速度を決定する、請求項1から3のいずれかに記載のネットワークシステム。
  6. 互いに通信可能な第1および第2の通信端末とを含むネットワークシステムにおける通信方法であって、
    前記第1の通信端末が、動画コンテンツを表示するステップと、
    前記第1の通信端末が、手描き画像の入力を受け付けるステップと、
    前記第1の通信端末が、前記動画コンテンツの表示中に入力された前記手描き画像と、前記動画コンテンツにおける前記手描き画像の入力開始時点を特定するための開始情報とを、前記第2の通信端末へと送信するステップと、
    前記第2の通信端末が、前記動画コンテンツを表示するステップと、
    前記第2の通信端末が、前記第1の通信端末から前記手描き画像と前記開始情報とを受信するステップと、
    前記第2の通信端末が、前記開始情報に基づいて、前記動画コンテンツにおける前記手描き画像の入力開始時点から当該手描き画像を表示するステップとを備える、通信方法。
  7. 他の通信端末と通信可能な通信端末であって、
    前記他の通信端末と通信するための通信デバイスと、
    動画コンテンツを表示するためのタッチパネルと、
    前記タッチパネルを介して第1の手描き画像の入力を受け付けるためのプロセッサとを備え、
    前記プロセッサは、前記動画コンテンツの表示中に入力された前記第1の手描き画像と、前記動画コンテンツにおける前記第1の手描き画像の入力開始時点を特定するための第1の開始情報とを、前記通信デバイスを介して前記他の通信端末へと送信し、
    前記他の通信端末から第2の手描き画像と第2の開始情報とを受信し、
    前記第2の開始情報に基づいて、前記タッチパネルに、前記動画コンテンツにおける前記第2の手描き画像の入力開始時点から当該第2の手描き画像を表示させる、通信端末。
  8. 通信デバイスとタッチパネルとプロセッサとを含む通信端末における通信方法であって、
    前記プロセッサが、前記タッチパネルに動画コンテンツを表示させるステップと、
    前記プロセッサが、前記タッチパネルを介して第1の手描き画像の入力を受け付けるステップと、
    前記プロセッサが、前記動画コンテンツの表示中に入力された前記第1の手描き画像と、前記動画コンテンツにおける前記第1の手描き画像の入力開始時点を特定するための開始情報とを、前記通信デバイスを介して他の通信端末へと送信するステップと、
    前記プロセッサが、前記通信デバイスを介して前記他の通信端末から第2の手描き画像と第2の開始情報とを受信するステップと、
    前記プロセッサが、前記第2の開始情報に基づいて、前記タッチパネルに、前記動画コンテンツにおける前記第2の手描き画像の入力開始時点から当該第2の手描き画像を表示するステップとを備える、通信方法。
JP2010077782A 2010-03-30 2010-03-30 ネットワークシステム、通信方法、および通信端末 Withdrawn JP2011210052A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2010077782A JP2011210052A (ja) 2010-03-30 2010-03-30 ネットワークシステム、通信方法、および通信端末
CN201180016698.0A CN102812446B (zh) 2010-03-30 2011-03-08 网络***、通信方法以及通信终端
US13/638,022 US20130014022A1 (en) 2010-03-30 2011-03-08 Network system, communication method, and communication terminal
PCT/JP2011/055382 WO2011122267A1 (ja) 2010-03-30 2011-03-08 ネットワークシステム、通信方法、および通信端末

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010077782A JP2011210052A (ja) 2010-03-30 2010-03-30 ネットワークシステム、通信方法、および通信端末

Publications (1)

Publication Number Publication Date
JP2011210052A true JP2011210052A (ja) 2011-10-20

Family

ID=44711993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010077782A Withdrawn JP2011210052A (ja) 2010-03-30 2010-03-30 ネットワークシステム、通信方法、および通信端末

Country Status (4)

Country Link
US (1) US20130014022A1 (ja)
JP (1) JP2011210052A (ja)
CN (1) CN102812446B (ja)
WO (1) WO2011122267A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014178364A1 (ja) * 2013-05-02 2014-11-06 グリー株式会社 メッセージの送受信を支援するためのシステム、プログラム及び方法
JP6948480B1 (ja) * 2021-02-19 2021-10-13 一般社団法人組込みシステム技術協会 ページサイトからチャットページを表示するプログラム、ユーザ端末、Webサーバ及び方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8594740B2 (en) 2008-06-11 2013-11-26 Pantech Co., Ltd. Mobile communication terminal and data input method
JP5226142B1 (ja) * 2012-02-29 2013-07-03 株式会社東芝 表示制御装置、表示制御方法、電子機器、および電子機器の制御方法
DE202015006142U1 (de) 2014-09-02 2015-12-09 Apple Inc. Elektronische Touch-Kommunikation

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600775A (en) * 1994-08-26 1997-02-04 Emotion, Inc. Method and apparatus for annotating full motion video and other indexed data structures
JPH08262965A (ja) * 1995-03-20 1996-10-11 Mitsubishi Electric Corp 語学学習用ポーズ機能付きクローズドキャプションデコーダ
US20020120925A1 (en) * 2000-03-28 2002-08-29 Logan James D. Audio and video program recording, editing and playback systems using metadata
JPH10124689A (ja) * 1996-10-15 1998-05-15 Nikon Corp 画像記録再生装置
US6006241A (en) * 1997-03-14 1999-12-21 Microsoft Corporation Production of a video stream with synchronized annotations over a computer network
US6584226B1 (en) * 1997-03-14 2003-06-24 Microsoft Corporation Method and apparatus for implementing motion estimation in video compression
US6442518B1 (en) * 1999-07-14 2002-08-27 Compaq Information Technologies Group, L.P. Method for refining time alignments of closed captions
JP3982295B2 (ja) * 2002-03-20 2007-09-26 日本電信電話株式会社 映像コメント入力・表示方法およびシステムと、クライアント装置と、映像コメント入力・表示プログラム及びその記録媒体
JP4087203B2 (ja) * 2002-09-20 2008-05-21 株式会社リコー 画面データ管理装置、画面データ管理システム、画面データ管理方法、および画面データ管理プログラム
US9026901B2 (en) * 2003-06-20 2015-05-05 International Business Machines Corporation Viewing annotations across multiple applications
MXPA06012895A (es) * 2004-05-11 2007-01-26 Matsushita Electric Ind Co Ltd Dispositivo de reproduccion.
CN100594527C (zh) * 2004-11-22 2010-03-17 马里奥·皮尔基奥 多媒体播示中的使音频与图形同步的方法
JPWO2007097253A1 (ja) * 2006-02-27 2009-07-09 京セラ株式会社 画像情報共有システム
WO2008090859A1 (ja) * 2007-01-22 2008-07-31 Sony Corporation 情報処理装置および方法、並びにプログラム
US9390169B2 (en) * 2008-06-28 2016-07-12 Apple Inc. Annotation of movies
US20110107238A1 (en) * 2009-10-29 2011-05-05 Dong Liu Network-Based Collaborated Telestration on Video, Images or Other Shared Visual Content
US20110218965A1 (en) * 2010-03-03 2011-09-08 Htc Corporation System for remotely erasing data, method, server, and mobile device thereof, and computer program product

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014178364A1 (ja) * 2013-05-02 2014-11-06 グリー株式会社 メッセージの送受信を支援するためのシステム、プログラム及び方法
JP2014219767A (ja) * 2013-05-02 2014-11-20 グリー株式会社 メッセージ送受信支援システム、メッセージ送受信支援プログラム及びメッセージ送受信支援方法
JP6948480B1 (ja) * 2021-02-19 2021-10-13 一般社団法人組込みシステム技術協会 ページサイトからチャットページを表示するプログラム、ユーザ端末、Webサーバ及び方法

Also Published As

Publication number Publication date
US20130014022A1 (en) 2013-01-10
CN102812446B (zh) 2016-01-20
CN102812446A (zh) 2012-12-05
WO2011122267A1 (ja) 2011-10-06

Similar Documents

Publication Publication Date Title
US7774505B2 (en) Method for transmitting image data in real-time
JP5658547B2 (ja) ネットワークシステム、通信方法、および通信端末
WO2011122267A1 (ja) ネットワークシステム、通信方法、および通信端末
EP1981254A2 (en) Communication control device and communication terminal
EP2320323A1 (en) Communication terminal device, communication method, and communication program
WO2011132472A1 (ja) 電子機器、表示方法、および表示プログラムを記憶するコンピュータ読取可能な記録媒体
US20080254813A1 (en) Control Device, Mobile Communication System, and Communication Terminal
CN111628925A (zh) 歌曲交互方法、装置、终端及存储介质
JP5035852B2 (ja) 通信端末、制御方法、および制御プログラム
CN114443868A (zh) 多媒体列表的生成方法、装置、存储介质和电子设备
CN110070617B (zh) 数据同步方法、装置、硬件装置
WO2011122266A1 (ja) ネットワークシステム、通信方法、および通信端末
KR100770892B1 (ko) 실시간으로 이미지 데이터를 전송하는 방법
JP5781275B2 (ja) 電子機器、表示方法、および表示プログラム
JP5755843B2 (ja) 電子機器、表示方法、および表示プログラム
JP5217782B2 (ja) カメラ利用ペアリング方法、システム、及び装置、並びにカメラ利用ペアリング用プログラム
CN114100121A (zh) 操作控制方法、装置、设备、存储介质及计算机程序产品
JP5523973B2 (ja) ネットワークシステムおよび通信方法
JP2010183447A (ja) 通信端末、通信方法、および通信プログラム
CN113408522A (zh) 文本处理方法、装置、终端及存储介质
JP7476548B2 (ja) 通信端末、通信システム、表示方法、及びプログラム
JP7487542B2 (ja) 通信端末、通信システム、通信方法、プログラム
JP2010186400A (ja) 通信端末、通信方法、および通信プログラム
CN116743851A (zh) 程序运行方法、装置、设备、存储介质及计算机程序产品
JP2011154606A (ja) ネットワークシステム、通信方法、サーバ、および通信端末

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130604