以下、本発明の通信端末、通信方法、通信プログラム及び通信システムの各実施形態について、図面を参照して説明する。各実施形態の通信端末は、データを表示画面(ウインドウ)に表示する表示部を含む電子機器であり、例えば携帯電話機、スマートフォン、タブレット端末、デジタルスチルカメラ、PDA(personal digital assistant)又は電子書籍端末である。以下、本実施形態の通信端末はスマートフォンとして説明するが、本実施形態の通信端末は上述した各電子機器に限定されない。
なお、本発明は、装置としての通信端末、通信端末をコンピュータとして動作させるための通信プログラム、通信端末を含む通信システムとして表現することも可能である。更に、本発明は、通信端末により実行される各動作(ステップ)を含む通信方法として表現することも可能である。即ち、本発明は、装置、方法、プログラム及びシステムのうちいずれのカテゴリにおいても表現可能である。
本実施形態の通信端末(後述するホスト10、クライアント20A,20B,20C)は、複数の端末間通信において共有された再生中のコンテンツデータ(例えば動画データ)に対する編集操作(例えばコンテンツに対する手描き操作、以下同様)を受け付けたとする。本実施形態の通信端末は、例えば手描き操作により追加又は修正された画像(例えば手描き文字の画像)が再生に追従して表示されたコンテンツ又は手描き操作により全ての画像(例えば、手描き文字の画像)が削除されたコンテンツを、各々の通信端末の表示部の表示画面にリアルタイムに反映して表示させる。
また、以下の説明では、コンテンツの一例として「動画」を用いて説明し、具体的には、コンテンツを「動画」、コンテンツデータを「動画データ」として説明するが、コンテンツは動画に限定されない。例えばコンテンツは、スライドショー、静止画、テキスト、又はテキストと動画若しくは静止画との組合せでも良い。
(第1の実施形態)
図1は、第1の実施形態における通信システムのシステム構成を示す模式図である。本実施形態における通信システムは、複数の通信端末を含む。本実施形態における通信システムは、例えば図1(A)、図1(B)及び図1(C)の3通りの通信形態が想定される。
図1(A)は、ホスト10と複数のクライアント20A,20B,20Cとが直接通信する場合である。図1(B)は、アクセスポイント15を介して、ホスト10と複数のクライアント20A,20B,20Cとが無線LANを用いて相互に通信する場合である。図1(C)は、サーバ装置50と、複数のクライアント20A,20B,20Cとがネットワーク40及びアクセスポイント15を介して相互に通信する場合である。
(通信システムにおける通信形態)
図1(A)に示す通信システム1では、ホストコンピュータとしての通信端末(以下、単に「ホスト」という)とホストの通信相手としての複数のクライアントコンピュータとしての通信端末(以下、単に「クライアント」という)とが直接的に通信する。具体的には、ホスト10は、3つのクライアント20A,20B,20Cと直接的に通信する。図1(A)に示す通信方式として、例えばBluetooth(登録商標)又はWiFi(登録商標) Directが挙げられる。
また、ホスト10は、複数の端末間通信において共有されるコンテンツデータを、ホスト10の記憶部27a(後述参照)に保存して管理する。なお、各クライアント20A,20B,20Cが複数の端末間通信において共有される同一のコンテンツデータを、各々の記憶部に保存して管理しても良い。
図1(A)に示す通信システム1では、ホスト10は、共有対象の動画データを複数のクライアント20A,20B,20Cに送信する。ホスト10及び複数のクライアント20A,20B,20Cは、共有対象の動画データを同時に再生することで動画データをリアルタイムに共有する。
以下、複数のクライアント20を特に区別する必要がある場合、それぞれクライアント20A,20B,20Cと符号を分ける。同様に、各クライアント20A,20B,20Cの表示部30を特に区別する必要がある場合、それぞれ表示部30A,30B,30Cと符号を分ける。
図1(B)に示す通信システム1Aでは、アクセスポイント15を介して、ホスト10及び複数のクライアント20A,20B,20Cが無線LAN(Local Area Network)を用いて相互に通信する。図1(B)に示す通信方式として、例えばWiFi(登録商標)が挙げられる。
図1(B)に示す通信システム1Aでは、ホスト10は、アクセスポイント15を介して、共有対象の動画データを複数のクライアント20A,20B,20Cに送信する。ホスト10及び複数のクライアント20A,20B,20Cは、共有対象の動画データを同時に再生することで動画データをリアルタイムに共有する。
図1(C)に示す通信システム1Bでは、サーバ装置50と、複数のクライアント20A,20B,20Cとが、ネットワーク(例えばインターネット或いはイントラネット)40及びアクセスポイント15を介して相互に通信する。図1(C)に示す通信方式として、例えばWiFi(登録商標)、3G(3rd generation:第3世代移動通信システム)及びLTE(Long Term Evolution)が挙げられる。
図1(C)に示す通信システム1Bでは、サーバ装置50は、ホスト10の役割を有し、複数のクライアント20A,20B,20Cに動画データを送信する。複数のクライアント20A,20B,20Cは、ホスト10としてのサーバ装置50から共有対象の動画データを受信して同時に再生することで動画データをリアルタイムに共有する。
従って、図1(A)、図1(B)及び図1(C)のうちいずれかに示す通信システムでは、ホスト10及び複数のクライアント20A,20B,20Cは、動画データを用いたユーザ間のコミュニケーションとして、再生中の動画に対して各々のユーザの編集操作により追加又は修正された手描き画像データが再生に追従して表示された動画又は編集操作により全ての手描き画像データが削除された動画を、自通信端末及び他通信端末間においてリアルタイムに共有する。
編集操作による手描きは、例えば編集操作としての手描き操作によって、動画の中で動いている人の顔にめがね、帽子、かつら又は被りものの飾り付けを追加する手描き、セキュア加工(例えば目、ナンバー、表札、看板を隠すような編集)が施す手描き、動いているオブジェクトを矢印により強調する手描き、動いているオブジェクトに落書き又は飾り付けを追加する手描きが挙げられる。
(第1の実施形態の概要)
次に、ユーザの編集操作後の手描き画像が再生に追従して表示された動画を他の通信端末と共有する場合の通信端末の動作概要を、具体的な表示画面の一例を用いて説明する。図2及び図3は、リアルタイムに動画を共有する2つのクライアント20A,20Bの各表示画面を示す図である。
図2(A)は、指65のタッチ操作によりバス61のオブジェクトが選択される様子を示す。図2(B)は、平仮名「ばす」の手描き画像が追加される編集操作の開始時の様子である。図3(A)は、平仮名「ばす」の手描き画像が追加される編集操作の終了時の様子である。図3(B)は、2つのクライアント20A,20Bの各表示部30A,30Bに平仮名「ばす」の手描き文字68の画像が表示された時の様子である。
クライアント20A,20Bの各表示部30A,30Bには、バス61及びサボテン63の各オブジェクトを含む動画がそれぞれ同時に再生されて表示されている。
図2(A)に示すように、クライアント20Aを扱うユーザが、表示部30Aの共有表示領域部23(後述参照)に表示されている動画の再生中に、移動しているバス61のオブジェクトを、編集操作の対象として選択(例えばタッチ操作)する。指65のタッチ操作により、編集操作の対象として、バス61のオブジェクトが選択される。これにより、クライアント20Aは、編集操作の対象としてバス61のオブジェクトの選択により、選択されたオブジェクトに対して編集操作の入力を受け付けることができる。
編集操作では、図2(A)には不図示の描画ツール(後述参照)を用いて、選択されたオブジェクトに対して手描き画像の追加、修正、削除の編集が可能となる。
指65のタッチ操作によりバス61のオブジェクトが選択された後、クライアント20Aの表示部30Aには、図2(B)に示すように、共有表示領域部23とは別の表示画面(ウインドウ)としての個別表示領域部24(後述参照)、及び「とじる」ボタン67がそれぞれ表示される。個別表示領域部24に対する指65の編集操作によって、例えば平仮名「ばす」がバス61のオブジェクト上に手描きされた場合には、図2(B)及び図3(A)に示すように、編集操作に追従して、クライアント20Aの共有表示領域部23に、手描き画像としての平仮名「ばす」の手描き文字68のオブジェクトがバス61のオブジェクトの移動に追従するように描画される。
クライアント20Aの表示部30Aに表示された「とじる」ボタン67が指65により押下(例えばタッチ操作)されると、図3(B)に示すように、図3(A)に示す表示部30Aに表示されていた個別表示領域部24の表示画面(ウインドウ)が閉じられる。クライアント20Aのユーザ又はクライアントBのユーザが編集操作としての手描きを開始すると、各々のクライアント20A,20Bの各表示部30A,30Bの各共有表示領域部23には、再生中の動画において、バス61のオブジェクトの移動に追従して、平仮名「ばす」の手描き文字68がリアルタイムにそれぞれ表示される。
なお、図2(B)に示すクライアント20Aの編集操作により、平仮名「ばす」の手描き文字68が表示部30Aに表示されている場合に、再生中の動画を共有している他のクライアント20Bの表示部30Bには、平仮名「ばす」の手描き文字68がリアルタイムに表示されなくても良い。
例えばクライアント20A,20Bの通信における伝搬遅延が生じている場合又は所定のタイムラグが設けられている場合に、クライアント20Bの表示部30Bには、平仮名「ばす」の手描き文字68が、クライアント20Aの表示部30Aに表示されるタイミングに対して所定時間(例えば1秒)遅れて表示されても良い。所定時間は、予め設定された値でも良いし、クライアント20Bが通信における伝搬遅延を勘案して動的に所定時間を設定しても良い。
(第1の実施形態の通信端末の機能的構成)
図4は、ホスト10及びクライアント20の各機能的構成を示すブロック図である。ホスト10は、共有対象の動画データを保存する記憶部27aを有し、保存された動画データをクライアント20に送信する。ホスト10とクライアント20とは同様の構成を有するため、以下、クライアント20を例示して説明する。
クライアント20は、RAM(Random Access Memory)16、ROM(Read Only Memory)17、操作入力部21、描画制御部22、共有表示領域部23、個別表示領域部24、オブジェクト検出部25、間接手描き情報補正部26、手描きデータ管理部27、通信制御部28、再生部29及び表示部30(例えばLCD又は有機ELディスプレイ)を含む。
描画制御部22、オブジェクト検出部25、間接手描き情報補正部26、手描きデータ管理部27及び再生部29は、クライアント20に内蔵されるプロセッサ(例えばハードウェア資源としてのCPU(Central Processing Unit)、MPU(Micro Processing Unit)又はDSP(Digital Signal Processor))を用いて構成されている。
RAM16は、描画制御部22、オブジェクト検出部25、間接手描き情報補正部26、手描きデータ管理部27及び再生部29のワークメモリとして用いられる。ROM17には、描画制御部22、オブジェクト検出部25、間接手描き情報補正部26、手描きデータ管理部27及び再生部29の各動作が規定されたプログラムが記憶されている。なお、図4に示すクライアント20において、図面の複雑化を避けるために、RAM16又はROM17とクライアント20の他の各部、即ち、描画制御部22、オブジェクト検出部25、間接手描き情報補正部26、手描きデータ管理部27及び再生部29との間の矢印の図示を省略している。
従って、クライアント20のプロセッサが、図4に示すROM17から、描画制御部22、オブジェクト検出部25、間接手描き情報補正部26、手描きデータ管理部27及び再生部29の各動作が規定されたプログラムを読み込むことで、描画制御部22、オブジェクト検出部25、間接手描き情報補正部26、手描きデータ管理部27及び再生部29はそれぞれ動作可能となる。
入力部としての操作入力部21は、例えばタッチパネルを用いて構成され、ユーザの入力操作、即ち、再生中の動画に現れるオブジェクトに対するタッチ操作又は編集操作を受け付ける。操作入力部21は、クライアント20の表示部(例えば表示部30)上に搭載されている。なお、操作入力部21は、入力デバイスとしてのマウスがクライアント20に接続されている場合には、ユーザの入力操作を、マウスからの入力操作として受け付けても良い。以下の各実施形態では、操作入力部21は、タッチパネルを介して、ユーザの入力操作を受け付けるとして説明する。
例えば再生中の動画が共有表示領域部23に表示されている場合において、ユーザの入力操作によって動画に現れているオブジェクトが選択された場合、即ち、オブジェクトがタッチされて一定時間(例えば1秒)静止した場合には、操作入力部21は、タッチされたオブジェクトを編集操作の対象として受け付け、タッチされたオブジェクトの共有表示領域部23における位置を示す座標情報を描画制御部22に出力する。
また、操作入力部21は、ユーザの入力操作として、編集操作の対象のオブジェクトのタッチ以外に、共有表示領域部23又は表示部30の共有表示領域部23を除く他の表示領域に表示された不図示の描画ツール(例えばペン又はスタンプ)を用いたユーザ指定によりオブジェクトの選択を受け付けても良い。描画ツールを用いたユーザ指定は、例えば、描画ツールとしてペンが選択された場合に共有表示領域部23にペンが表示され、ユーザの指に対応する描画ツールとしてのペンにより囲まれた範囲の指定である。操作入力部21は、ペンにより指定された範囲を選択対象のオブジェクトとして受け付けても良い。
また、操作入力部21は、ユーザの入力操作として、特定のオブジェクトにタッチせずに、ユーザの指により例えば矩形又は円形によって囲まれた範囲を選択対象のオブジェクトとして受け付けても良い。
また、ユーザが共有表示領域部23又は表示部30の共有表示領域部23を除く他の表示領域に表示された不図示のオブジェクト選択モードボタンを押下した場合に、操作入力部21は、オブジェクト選択モードボタンの表示部30における表示位置の座標情報を描画制御部22に出力する。描画制御部22は、操作入力部21から出力された座標情報を基に、共有表示領域部23に表示されているコンテンツの中に選択可能なオブジェクトをオブジェクト検出部25に検出させ、オブジェクト検出部25の検出結果を基に、検出されたオブジェクトを共有表示領域部23においてハイライト表示させる。
これにより、描画制御部22は、例えば矩形又は円形の枠を用いたハイライト表示により、編集操作の対象の候補となり得るオブジェクトの輪郭を明確にユーザに対して認知させることができる。操作入力部21は、ハイライト表示されたオブジェクトの候補の中からユーザの指によりタッチされたオブジェクトを、選択対象のオブジェクトとして受け付ける。
また、操作入力部21は、編集操作の対象として選択されたオブジェクトを含む所定の範囲が個別表示領域部24に表示された後に編集操作の入力を受け付けた場合には、編集操作により追加された手描きされたデータ(例えば手描き文字)の個別表示領域部24における位置を示す座標情報を描画制御部22に出力する。
表示制御部としての描画制御部22は、オブジェクト検出部25に再生中の動画に現れるオブジェクトを検出させると共に、クライアント20の描画に関する総括的な制御を行う。例えば描画制御部22は、ユーザの入力操作に応じて操作入力部21から出力された座標情報、編集操作時の描画ツールの種別及びパラメータを含む「手描き情報」に応じた描画制御を行う。
本実施形態では、共有表示領域部23に表示されている動画データに対しても編集操作が可能であり、個別表示領域部24に表示されている動画データに対しても編集操作が可能である。描画制御部22は、共有表示領域部23に編集操作がなされた場合には、後述する「直接手描き情報」を手描きデータ管理部27に出力する。描画制御部22は、個別表示領域部24に編集操作がなされた場合には、後述する「手描き情報」を間接手描き情報補正部26に出力する。
(手描き情報)
「手描き情報」は、ユーザの編集操作(手描き操作)に応じて操作入力部21から出力された共有表示領域部23又は個別表示領域部24における手描きされたデータ(例えば手描き文字)の表示範囲を示す「座標情報」と、手描きされたデータ(例えば手描き文字)の編集操作(手描き)時に用いられた「描画ツールの種別及びパラメータ」とを含む。なお、編集操作時に手描きされたデータ(例えば手描き文字)の画像データ(以下、「スタンプデータ」という)は、間接手描き情報補正部26により生成される。
「描画ツールの種別」は、例えばペン又は図形(例えば円、楕円、矩形)である。「描画ツールのパラメータ」は、例えば編集操作後の手描きされたデータ(例えば手描き文字68(図3(B)参照))の色、太さ、透過度である。
また、描画制御部22は、手描きデータ管理部27から出力された描画情報としての「直接手描き情報」又は「間接手描き情報」に応じた描画制御も行う。
(直接手描き情報)
「直接手描き情報」は、「手描き情報」と、編集操作によって手描きされ始めた時間が動画再生開始時刻からどれだけ経過しているかを示す「経過時間情報」と「編集操作に要した時間情報」とを更に含む。詳しくは後述するが、描画制御部22は、手描きデータ管理部27から「直接手描き情報」を取得した場合には、再生部29により再生されている動画の「直接手描き情報」の経過時間情報に対応する時刻に、編集操作に要した時間にわたって「直接手描き情報」の各情報に従って、クライアント20A又は他のクライアント20Bのユーザによって手描きされたデータ(例えば手描き文字)を共有表示領域部23に描画(表示)する。
(間接手描き情報とオブジェクト情報)
「間接手描き情報」は、「オブジェクト情報」と、「スタンプデータ」と、スタンプデータの表示範囲を示す「座標情報」(後述参照)とを含む。「オブジェクト情報」は、オブジェクト検出部25により検出されたオブジェクトに関する情報であって、共有表示領域部23に検出対象となるオブジェクトが存在しているか否かを示すオブジェクト有無情報と、オブジェクトの共有表示領域部23における座標、大きさ及び傾きに関する情報と、編集操作によって手描きされ始めたときの動画再生開始時刻からの経過時間情報と、編集操作に要した時間情報とを含む。
詳しくは後述するが、描画制御部22は、手描きデータ管理部27から「間接手描き情報」を取得した場合には、再生部29に再生されている動画の「間接手描き情報」の経過時間情報に対応する時刻に、編集操作に要した時間にわたって「間接手描き情報」のスタンプデータを、「間接手描き情報」の各情報に従って共有表示領域部23に描画(表示)する。
共有表示領域部23及び個別表示領域部24は、クライアント20の表示部(例えば図2(A)の表示部30A参照)の表示画面(ウインドウ)に対応する。共有表示領域部23は、クライアント20が他の通信端末との間で共有しているデータ、即ち、動画データ及び手描きされたデータ(例えば手描き文字)の画像データが表示される領域である。共有表示領域部23の表示範囲の大きさは、ユーザの編集操作の対象となるオブジェクトが選択される前では、クライアント20の表示部30の範囲と同一又はクライアント20の表示部30の範囲以下である。
なお、共有表示領域部23及び個別表示領域部24の各表示範囲は、描画制御部22の動作により予め規定されているが、ユーザの入力操作(例えばピンチ操作、拡大ボタン若しくは縮小ボタンの押下操作)により、各表示範囲の大きさは任意の大きさに変更できる。ピンチ操作には、ピンチイン操作とピンチアウト操作とが知られている。ピンチイン操作は、タッチパネルにタッチされた少なくとも2本の指の間隔を狭めることで表示画面、即ち、共有表示領域部23又は個別表示領域部24の表示範囲を縮小するための操作である。ピンチアウト操作は、タッチパネルにタッチされた少なくとも2本の指の間隔を広げることで表示画面、即ち、共有表示領域部23又は個別表示領域部24の表示範囲を拡大するための操作である。
また、ピンチイン操作によって、共有表示領域部23又は個別表示領域部24に表示されている内容(例えば動画)が縮小されても良い。同様に、ピンチアウト操作によって、共有表示領域部23又は個別表示領域部24に表示されている内容(例えば動画)が拡大されても良い。
個別表示領域部24は、共有表示領域部23において編集操作の対象となるオブジェクトが選択された場合に、選択されたオブジェクトを含む所定の範囲の動画の内容が表示される表示画面であって、共有表示領域部23とは異なる表示画面である。即ち、個別表示領域部24には、動画の再生中に編集操作の対象として選択されたオブジェクトを含む所定の範囲の動画の内容が表示される。個別表示領域部24に表示されたオブジェクトは、ユーザにより編集操作(例えば手描き操作)される。なお、個別表示領域部24は、自通信端末(例えばクライアント20A)に表示されている再生中の動作の編集操作に応じて自通信端末において表示されるが、他の通信端末(例えば、クライアント20B)の表示部の表示画面としては表示されない。
また、描画制御部22は、個別表示領域部24に表示されたオブジェクトの動きを静止させた状態でオブジェクトの表示を継続し、オブジェクトの周囲の動画を再生させるように表示しても良い。これにより、ユーザは、自己が選択した編集操作の対象となるオブジェクトに対する編集操作を簡易化できる。
また、描画制御部22は、個別表示領域部24の表示範囲の略中心に、編集操作の対象として選択されたオブジェクトを位置させるように表示させても良い。
また、描画制御部22は、再生中の動画において編集操作の対象として選択されたオブジェクトが移動して共有表示領域部23の表示範囲から途切れた場合には、途切れる直前のオブジェクトの動きを一時的に静止させ、個別表示領域部24内にオブジェクトを表示させても良い。その後、描画制御部22は、オブジェクトが再び共有表示領域部23の表示範囲において検出された場合には、動画の再生に追従させるようにオブジェクトを個別表示領域部24内に表示させても良い。
検出部としてのオブジェクト検出部25は、描画制御部22からの指示に応じて、共有表示領域部23に表示されているオブジェクトを検出する。オブジェクト検出部25は、検出されたオブジェクトに関するオブジェクト情報を描画制御部22及び間接手描き情報補正部26に出力する。なお、共有表示領域部23に表示されているオブジェクトの検出は公知技術であるため、説明を省略する。
間接手描き情報補正部26は、描画制御部22から出力された「手描き情報」を基に、「手描き情報」の座標情報、即ち、個別表示領域部24における座標情報が共有表示領域部23のどの位置に対応するかを表す座標情報を特定する。間接手描き情報補正部26は、「間接手描き情報」におけるスタンプデータの表示範囲を示す座標情報として、個別表示領域部24における座標情報を共有表示領域部23における座標情報に補正する。
また、間接手描き情報補正部26は、オブジェクト検出部25から出力された「オブジェクト情報」を基に、「オブジェクト情報」の座標情報、即ち、編集操作の対象として選択されたオブジェクトの共有表示領域部23における表示範囲を示す座標情報を特定する。
間接手描き情報補正部26は、「オブジェクト情報」と、スタンプデータと、スタンプデータの表示範囲を示す座標位置とを含む「間接手描き情報」を生成して手描きデータ管理部27に出力する。
手描きデータ管理部27は、クライアント20のファイルシステムに対応し、共有表示領域部23に手描きされたデータ(例えば手描き文字)に関する「直接手描き情報」、及び間接手描き情報補正部26から出力された「間接手描き情報」を記憶部27aに記憶させる。手描きデータ管理部27は、他の通信端末に「直接手描き情報」又は「間接手描き情報」を送信する場合に、「直接手描き情報」又は「間接手描き情報」を通信制御部28に出力する。
また、手描きデータ管理部27は、通信制御部28が他の通信端末から「直接手描き情報」又は「間接手描き情報」を受信した場合には、「直接手描き情報」又は「間接手描き情報」を描画制御部22に出力する。なお、手描きデータ管理部27は、通信制御部28が他の通信端末から「直接手描き情報」又は「間接手描き情報」を受信した場合には、「直接手描き情報」又は「間接手描き情報」の座標情報(絶対座標情報又は相対座標情報と各通信端末の表示部の大きさの情報)を基に、自通信端末(例えば、クライアント20)の共有表示領域部23の大きさに応じた相対座標を算出する。
但し、クライアント20と他の通信端末とは、通信を開始する前又は通信を継続している間に、各表示部の共有表示領域部の表示画面の大きさの情報を交換しても良い。描画制御部22は、手描きデータ管理部27により算出された相対座標及び各通信端末の表示部の大きさの情報を基に、自通信端末(クライアント20)の共有表示領域部23の大きさに応じた絶対座標を算出し、算出された絶対座標の位置に、他の通信端末から送信された「直接手描き情報」又は「間接手描き情報」に応じたデータ(例えば手描き文字)を、「直接手描き情報」又は「間接手描き情報」の各情報に従って共有表示領域部23に描画(表示)させる。
通信部としての通信制御部28は、例えば、アンテナを含む無線通信回路を用いて構成され、他の通信端末との間における「直接手描き情報」又は「間接手描き情報」の送受信を制御する。
再生部29は、ユーザの入力操作、即ち、ユーザが再生を希望する動画の選択操作に応じて、操作入力部21により指示された動画を再生すると共に、共有表示領域部23に動画の内容を表示させる。
(通信端末の動作)
上述した構成を有する通信端末の動作として、3つのユースケースについて、図5から図10を参照して説明する。
(第1のユースケース)
始めに、第1のユースケースとして、ユーザが再生中の動画に対し、共有表示領域部23に直接、編集操作する場合のクライアント20の動作を説明する。なお、ホスト10においてユーザが共有表示領域部23に対して編集操作する場合も同様の動作である。
図5は、共有表示領域部23に編集操作する場合のクライアント20の機能的構成における各部の動作の流れを示す図である。先ず、ユーザの指により、共有表示領域部23に表示されている再生中の動画に対して編集操作がなされると、操作入力部21は、編集操作(入力操作)の座標情報を描画制御部22に出力する。
描画制御部22は、操作入力部21から出力された座標情報を取得すると、「手描き情報」を生成し、「手描き情報」の各情報に従って、ユーザによって手描きされたデータ(例えば手描き文字)を共有表示領域部23に描画(表示)する。なお、「手描き情報」の各情報は、描画ツールの種別(例えばペン、ブラシ、多角形)、描画ツールのパラメータ(例えば色、太さ、透過度)及び手描きされたデータ(例えば手描き文字)の表示範囲を示す座標情報を含む。
描画制御部22は、「手描き情報」と、動画再生開始時刻からの経過時間情報と編集操作に要した時間情報とを更に含む「直接手描き情報」を生成して手描きデータ管理部27に出力する。手描きデータ管理部27は、「直接手描き情報」を描画制御部22から取得すると、「直接手描き情報」を記憶部27aに記憶し、更に、「直接手描き情報」を通信制御部28に出力する。通信制御部28は、「直接手描き情報」を他の通信端末に送信する。
図6は、共有表示領域部23に編集操作する場合の動作手順を示すフローチャートである。図6に示す動作手順を実行するためのプログラムは、クライアント20のROM17に記憶され、クライアント20に内蔵されるCPUによって実行される。
操作入力部21は、先ず、ユーザの編集操作が入力されるまで待機する(S1)。ユーザにより編集操作、即ち、ユーザの指により、共有表示領域部23に表示されている再生中の動画に対して手描き操作が入力されると(S1、YES)、操作入力部21は、編集操作(入力操作)の座標情報を描画制御部22に出力する。
描画制御部22は、操作入力部21から出力された座標情報を取得すると、「手描き情報」を生成し(S2)、「手描き情報」の各情報に従って、ユーザによって手描きされたデータ(例えば手描き文字)を共有表示領域部23に描画(表示)する(S3)。
描画制御部22は、「直接手描き情報」を、手描きデータ管理部27に出力する。手描きデータ管理部27は、描画制御部22から出力された「直接手描き情報」を記憶部27aに保存する(S4)。手描きデータ管理部27は、「直接手描き情報」を通信制御部28に出力する(S5)。通信制御部28は、他の通信端末(例えば、ホスト10、クライアント20B,20C)に送信する(S6)。この後、クライアント20は、動画再生が停止したら(S7、YES)、動作を終了する。なお、動画再生が停止していない場合には(S7、NO)、クライアント20の動作はステップS1に戻る。
(第2のユースケース)
次に、第2のユースケースとして、ユーザが再生中の動画に対し、個別表示領域部24に編集操作する場合のクライアント20の動作を説明する。なお、ホスト10においてユーザが個別表示領域部24に対して手描き操作する場合も同様の動作である。
図7は、個別表示領域部24に編集操作する場合のクライアント20の機能的構成における各部の動作の流れを示す図である。先ず、ユーザの指により、共有表示領域部23に表示されている再生中の動画に現れるオブジェクトのうち、編集操作の対象となるオブジェクトが選択される。操作入力部21は、編集操作の対象となるオブジェクトの共有表示領域部23における座標情報を描画制御部22に出力する。描画制御部22は、編集操作の対象となるオブジェクトを含む所定の範囲を個別表示領域部24に表示させる。
また、操作入力部21は、個別表示領域部24に表示されたオブジェクトに対してユーザの指により編集操作された場合に、編集操作(入力操作)の座標情報を描画制御部22に出力する。
描画制御部22は、編集操作(入力操作)の座標情報を操作入力部21から取得すると、「手描き情報」を生成し、個別表示領域部24に描画(表示)する。描画制御部22は、「手描き情報」を間接手描き情報補正部26に出力する。
一方、オブジェクト検出部25は、共有表示領域部23に表示されている再生中の動作に現れるオブジェクトを検出し、検出されたオブジェクトに関する「オブジェクト情報」を生成して間接手描き情報補正部26に出力する。
間接手描き情報補正部26は、描画制御部22から出力された「手描き情報」とオブジェクト検出部25から出力された「オブジェクト情報」から「間接手描き情報」を生成して手描きデータ管理部27に出力する。なお、間接手描き情報補正部26は、「間接手描き情報」を生成する際、「手描き情報」の座標情報、描画ツールの種別及びパラメータにより特定される手描きされたデータ(例えば手描き文字)の画像をスタンプ化、即ち、編集操作によって個別表示領域部24に手描きされたデータ(例えば手描き文字)の画像データをスタンプデータとして生成する。
手描きデータ管理部27は、間接手描き情報補正部26から「間接手描き情報」を取得すると、「間接手描き情報」を記憶部27aに記憶すると共に、「間接手描き情報」を通信制御部28及び描画制御部22に出力する。描画制御部22は、「間接手描き情報」を基に、再生部29に再生されているコンテンツの「間接手描き情報」の経過時間情報に対応する時刻に、「間接手描き情報」のスタンプデータを、「間接手描き情報」の各情報に従って共有表示領域部23に描画する。通信制御部28は、「間接手描き情報」を他の通信端末に送信する。
図8は、個別表示領域部24に編集操作する場合の動作手順を示すフローチャートである。図8に示す動作手順を実行するためのプログラムは、クライアント20のROM17に記憶され、クライアント20に内蔵されるCPUによって実行される。
操作入力部21は、先ず、ユーザの編集操作が入力されるまで待機する(S11)。ユーザの指により、共有表示領域部23に表示されている再生中の動画に現れるオブジェクトのうち、編集操作の対象となるオブジェクトが選択された場合には(S11、YES)、操作入力部21は、編集操作の対象となるオブジェクトの共有表示領域部23における座標情報を描画制御部22に出力する。描画制御部22は、編集操作の対象となるオブジェクトを含む所定の範囲を個別表示領域部24に表示させる(S12)。なお、編集操作の対象となるオブジェクトが選択されない場合には(S11、NO)、クライアント20の動作はオブジェクト選択待ち(待機)する。
操作入力部21は、個別表示領域部24に表示されたオブジェクトのうちユーザにより選択されたオブジェクトに対してユーザの指により編集操作された場合に(S13、YES)、編集操作(入力操作)の座標情報を描画制御部22に出力する。描画制御部22は、編集操作(入力操作)の座標情報を操作入力部21から取得すると、「手描き情報」を生成し(S14)、生成された「手描き情報」に従って、ユーザによって手描きされたデータ(例えば手描き文字)を個別表示領域部24に描画(表示)する(S15)。描画制御部22は、「手描き情報」を間接手描き情報補正部26に出力する。
なお、オブジェクト検出部25は、描画制御部22からの指示に応じて、共有表示領域部23に表示されている再生中の動作に現れるオブジェクトを検出し、検出されたオブジェクトに関する「オブジェクト情報」を生成して間接手描き情報補正部26に出力する。
一方、操作入力部21は、個別表示領域部24に表示されたオブジェクトに対してユーザの指により編集操作されない場合(S13、NO)、「とじる」ボタン67が押下されたか否かを判別する(S22)。「とじる」ボタン67が押下されていない場合には(S22、NO)、クライアント20の動作はステップS13に戻る。「とじる」ボタン67が押下された場合には(S22、YES)、個別表示領域部24が閉じられる。
間接手描き情報補正部26は、描画制御部22から出力された「手描き情報」とオブジェクト検出部25から出力された「オブジェクト情報」から「間接手描き情報」を生成して手描きデータ管理部27に出力する(S16)。なお、間接手描き情報補正部26は、「間接手描き情報」を生成する際、「手描き情報」の座標情報、描画ツールの種別及びパラメータにより特定される手描きされたデータ(例えば手描き文字)の画像をスタンプ化、即ち、編集操作によって個別表示領域部24に手描きされたデータ(例えば手描き文字)の画像データをスタンプデータとして生成する。
手描きデータ管理部27は、間接手描き情報補正部26から「間接手描き情報」を取得すると、「間接手描き情報」を記憶部27aに記憶すると共に(S17)、「間接手描き情報」を通信制御部28及び描画制御部22に出力する(S18,S19)。通信制御部28は、「間接手描き情報」を他の通信端末に送信する(S20)。描画制御部22は、「間接手描き情報」を基に、再生部29に再生されているコンテンツの「間接手描き情報」の経過時間情報に対応する時刻に、「間接手描き情報」のスタンプデータを、「間接手描き情報」の各情報に従って共有表示領域部23に描画する(S21)。
なお、図8では、ステップS17からステップS21までの動作は並列に実行されても良い。
(第3のユースケース)
次に、第3のユースケース3として、自通信端末(例えば、クライアント20A)が他の通信端末(例えば、ホスト10又はクライアント20B)から「直接手描き情報」又は「間接手描き情報」を受信し、「直接手描き情報」に従って他の通信端末のユーザによって手描きされたデータ(例えば手描き文字)又は「間接手描き情報」に従って他の通信端末のユーザによって手描きされたデータ(例えば手描き文字)のスタンプデータを共有表示領域部23に描画(表示)する場合を説明する。
図9は、他の通信端末(例えば、クライアント20B)から「直接手描き情報」又は「間接手描き情報」を受信して、他の通信端末のユーザによって手描きされたデータ(例えば手描き文字)を描画する場合のクライアント20Aの機能的構成における各部の動作の流れを示す図である。
通信制御部28は、他の通信端末(例えば、クライアント20B)から「直接手描き情報」又は「間接手描き情報」を受信すると、「直接手描き情報」又は「間接手描き情報」を手描きデータ管理部27に出力する。「直接手描き情報」又は「間接手描き情報」は、記憶部27aに記憶される。
手描きデータ管理部27は、通信制御部28から取得した「直接手描き情報」又は「間接手描き情報」を描画制御部22に出力する。描画制御部22は、「直接手描き情報」又は「間接手描き情報」を取得すると、「直接手描き情報」に従って他の通信端末のユーザによって手描きされたデータ(例えば手描き文字)、又は「間接手描き情報」に従って他の通信端末のユーザによって手描きされたデータ(例えば手描き文字)のスタンプデータを共有表示領域部23に描画(表示)する。
図10は、他の通信端末(例えば、クライアント20B)から「直接手描き情報」又は「間接手描き情報」を受信して、他の通信端末のユーザによって手描きされたデータ(例えば手描き文字)を描画する場合の自通信端末(例えば、クライアント20A)の動作手順を示すフローチャートである。図10に示す動作手順を実行するためのプログラムは、クライアント20AのROMに記憶され、クライアント20Aに内蔵されるCPUによって実行される。なお、図10の説明では、説明の都合上、クライアント20Aの各部の符号に、図4に示すクライアント20の各部の符号と同一の符号を用いる。
通信制御部28は、他の通信端末(例えば、クライアント20B)から「直接手描き情報」又は「間接手描き情報」を受信したか否かを判別する(S31)。通信制御部28が「直接手描き情報」及び「間接手書き情報」のいずれも受信していない場合には(S31、NO)、クライアント20Aの動作は終了又は「直接手描き情報」若しくは「間接手描き情報」の受信を待機する。
一方、通信制御部28は、「直接手描き情報」又は「間接手描き情報」を受信した場合には(S31、YES)、「直接手描き情報」又は「間接手描き情報」を手描きデータ管理部27に出力する。手描きデータ管理部27は、「直接手描き情報」又は「間接手描き情報」を記憶部27aに保存する(S32)。
手描きデータ管理部27は、「直接手描き情報」又は「間接手描き情報」の座標情報(絶対座標情報又は相対座標情報と各通信端末の表示部の大きさの情報)を基に、自通信端末(例えば、クライアント20A)の共有表示領域部23の大きさに応じた相対座標を算出する(S33)。手描きデータ管理部27は、「直接手描き情報」又は「間接手描き情報」の座標情報を、ステップS33により算出された相対座標に置き換え、座標情報が置き換えられた「直接手描き情報」又は「間接手描き情報」を描画制御部22に出力する。
描画制御部22は、座標情報が置き換えられた「直接手描き情報」又は「間接手描き情報」を基に、他の通信端末のユーザによって手描きされたデータ(例えば手描き文字)又はスタンプデータを表示する共有表示領域部23の絶対座標を算出する(S34)。ステップS34の後、描画制御部22は、「直接手描き情報」における他の通信端末のユーザによって手描きされたデータ(例えば手描き文字)、又は「間接手描き情報」における他の通信端末のユーザによって手描きされたデータ(例えば手描き文字)のスタンプデータを、「直接手描き情報」又は「間接手描き情報」の各情報に従って、ステップS34により算出された共有表示領域部23の絶対座標の位置に描画(表示)する(S35)。これにより、クライアント20Aの動作は終了する。
以上により、本実施形態の通信システム1,1A,1Bは、複数の端末間通信において共有された再生中の動画データに対する編集操作(手描き操作)に追従して、編集操作後の手描き画像を含む動画データを各々の通信端末の共有表示領域部にリアルタイムに反映させることができる。
また、通信端末(例えば、クライアント20)は、再生中のコンテンツが表示される共有表示領域部23とユーザの編集操作を受け付ける個別表示領域部24との表示画面(ウインドウ)を別個に表示する。これにより、通信端末(例えば、クライアント20)は、ユーザの編集操作の操作性を向上させ、編集操作の結果を共有表示領域部23にて簡易に確認できる。
また、動画の再生中において、通信端末(例えば、クライアント20)は、共有表示領域部23に表示されている動画に現れるオブジェクトが移動又は変化する場合に、個別表示領域部において、オブジェクトの位置を略中心に固定して表示させる。これにより、通信端末(例えば、クライアント20)は、ユーザがオブジェクトに対して編集操作する場合の操作性を向上させることができる。更に、通信端末(例えば、クライアント20)は、再生中のコンテンツをリアルタイムに共有している他の通信端末(例えば、ホスト10)に対して、コンテンツの再生を一時停止させる必要が無い。
また、通信端末(例えば、クライアント20)は、再生中のコンテンツに現れるオブジェクトの移動又は変化と、編集操作により追加、修正又は削除された手描き画像の内容とをリアルタイムに追従させて表示する。これにより、通信端末(例えば、クライアント20)は、動画の再生中におけるオブジェクトの移動又は変化に対し、手描き画像データが時間的且つ位置的にずれるような違和感を払拭することができる。
また、通信端末(例えば、クライアント20)は、ユーザが編集操作の対象としてオブジェクトを選択する操作と異なる操作によって編集操作が実行されるので、編集操作の対象となるオブジェクトを、誤選択することなく排他的な操作として選択できる。
また、通信端末(例えば、クライアント20)では、個別表示領域部24のサイズが変更可能であるため、例えばサイズを拡大することで、オブジェクトの上に編集操作したい場合又はオブジェクトの周囲に編集操作したい場合に、ユーザの編集操作を簡易化できる。
また、通信端末(例えば、クライアント20)は、編集操作の対象となるオブジェクトを個別表示領域部24の略中心に表示し、又は動画の再生に合わせて共有表示領域部23においてオブジェクトが検出されなくなった場合に検出されなくなる直前のオブジェクトを一時的に固定して表示する。これにより、通信端末(例えば、クライアント20)は、編集操作の対象となるオブジェクトの位置を固定でき、ユーザの編集操作を効率化できる。
(第2の実施形態)
上述した特許文献1及び非特許文献1では、通信端末(例えばクライアント20Aa)が外部のサーバ装置50(図1(C)参照)から動画データをストリーミングして他の通信装置(例えば、クライアント20B)とリアルタイムに動画データを共有し、更に、この動画データの過去の時点における動画データの内容をユーザが編集操作する形態は想定されていなかった。
例えば、上述した特許文献1及び非特許文献1において、通信端末を扱うユーザが他の通信端末とリアルタイムに共有している動画データの過去の時点における動画データの内容を編集操作することを想定する。ユーザが編集操作を希望する動画のシーンを見つけた場合、動画データが通信端末にダウンロードされて再生されている場合と異なり、動画データがストリーミングされていると、ユーザの希望した動画のシーンは直ぐに過去のシーンとなってしまう。このため、ユーザは、他の通信端末とリアルタイムに共有している動画データの中にユーザ自身が編集操作を希望した動画のシーンを見つけたとしても、その動画のシーンを簡単に編集することが困難であった。
第2の実施形態では、通信端末(例えば、クライアント20Aa)は、外部のサーバ装置50からストリーミングされた動画データを複数の通信端末間においてリアルタイムに共有している状態において、例えば既に再生された動画データの中にユーザが編集操作を希望する動画データのシーンを見つけた場合に、現在の再生時点より過去の時点に再生された動画データの編集を簡易に実現する。
(通信システムにおける通信形態)
本実施形態における複数の通信端末間の通信形態は、例えば図1(C)に示す通信形態である。具体的には、本実施形態の通信システムは、サーバ装置50と、ネットワーク40及びアクセスポイント15を介してサーバ装置50と通信可能な複数の通信端末としてのクライアント20Aa,20B,20Cとを含む。
本実施形態では、サーバ装置50の具体的な構成例の説明は省略するが、サーバ装置50は、ネットワーク40及びアクセスポイント15を介して、共有対象のコンテンツをサーバ装置50内に内蔵されるメモリに保持し、コンテンツを各々のクライアント20Aa,20B,20Cにストリーミングする。以下、本実施形態の通信端末の一例としてクライアント20Aaを用いて説明する。
(第2の実施形態の概要)
第2の実施形態の概要について、図11から図17を参照して説明する。図11から図17では、図面の複雑化を避けるために、本実施形態の通信端末(例えば、クライアント20Aa)の表示部の枠線の図示を省略している。図11(A)は、共有表示領域部23に表示されている再生中の動画を一時停止する様子を示す図である。図11(B)は、一時停止操作に応じて、個別表示領域部24、編集可能区間バー72及び動画のサムネイルTH1〜TH8が表示された様子を示す図である。
図11(A)では、共有表示領域部23にバス61及びサボテン63の各オブジェクトを含む動画のシーンが表示されている。クライアント20Aaは、クライアント20Aaを扱うユーザの指65により、動画の編集開始操作としての一時停止操作の入力を受け付ける。即ち、指65により、一時停止ボタン71が押下される。
図11(B)に示すように、クライアント20Aaは、一時停止ボタン71の押下に応じて、共有表示領域部23及び一時停止ボタン71の他に、個別表示領域部24、とじるボタン67、編集可能区間を示す編集可能区間バー72、ポインタ73及び複数のサムネイルTH1,TH2,TH3,TH4,TH5,TH6,TH7,TH8を表示部30Aに更に表示する。個別表示領域部24は、第1の実施形態と同様に、クライアント20Aaを扱うユーザの編集操作の対象となる動画のシーンを示す画像フレームが表示される表示画面(ウインドウ)である。とじるボタン67の押下により、個別表示領域部24は閉じられる。
編集可能区間バー72は、動画の編集、即ち、動画を構成する各々の画像フレームの編集操作が可能な期間を示すバーである。編集操作が可能な期間は、例えば、一時停止ボタン71が押下されたときから所定期間(例えば10秒)ほど過去の時点に遡った時点までであり、後述する映像バッファリング管理部82が管理するバッファ82aのサイズに応じて定まる。
従って、バッファ82aのサイズが大きいほど、編集操作が可能な期間は長くなる。ポインタ73は、一時停止ボタン71が押下された時点を示すインジケータである。図11(B)では、編集可能区間バー72の右端部にポインタ73が示されているが、ポインタ73の表示位置は編集可能区間バー72の右端部に限定されない。
各々のサムネイルTH1〜TH8は、サーバ装置50から動画データと共にストリーミングされても良いし、サーバ装置50からストリーミングされた動画データを基にクライアント20Aaが生成しても良い。また、各々のサムネイルTH1〜TH8は、編集可能区間バー72により規定される編集可能区間e(例えば10秒)の間に再生された動画の各シーンの画像フレームに対応するサムネイルである。各々のサムネイルTH1〜TH8の横方向の長さはサムネイルに対応する画像フレームの再生時間に対応し、例えば図11(B)では、編集可能区間eの間に合計8個のサムネイルに対応する画像フレームが再生されていたことになる。
なお、編集可能区間バー72により規定される編集可能区間eの間に再生された動画の各シーンの画像フレームに対応するサムネイルの数は、ユーザの入力操作(例えば、ピンチ操作)によって減少しても良い。例えば、編集可能区間e(例えば10秒)の間に合計8個のサムネイルが表示された後、ユーザのピンチ操作によって1/2倍に間引かれた4個のサムネイルが表示されても良い。また、表示可能なサムネイル数が固定である場合でも、ユーザ操作により編集可能区間の時間(例えば、サムネイル数が8個と固定された場合、編集可能区間を10秒間から5秒間に変更する)を調整しても良い。これにより、本実施形態の通信端末(例えば、クライアント20Aa)は、編集可能区間eにおいて、ユーザが編集対象としたいサムネイルを主体的に選択させることができ、編集作業における操作性を向上することができる。
図12は、編集区間74を指定する様子を示す図である。編集区間74は、編集可能区間バー72に対応する編集可能区間eを超えない区間であって、編集操作がなされる区間である。従って、編集可能区間eのうち編集区間74において編集操作がなされた動画データの各画像フレームは、編集操作の終了後に動画データが確認用再生(後述参照)された場合に編集区間74に該当する区間(時間帯)において表示される。
図12に示す編集可能区間バー72上において、指65の入力操作(例えば、数値入力、選択又はスライド)によって編集区間74(図12のハッチング部参照)が指定されると、クライアント20Aaは、指定された編集区間74の間に再生された動画の各シーンの画像フレームに対応するサムネイルTH2,TH3,TH4,TH5,TH6を有効表示し、編集可能区間eのうち編集区間74を除く非編集区間の間に再生された動画の各シーンの画像フレームに対応するサムネイルTH1,TH7,TH8を無効表示する。
有効表示は、例えば図12に示すように、編集区間74において編集操作の対象となるサムネイルであることをユーザに対して明示的に認知させるためのする表示形態(例えば、ハイライト表示)である。無効表示は、例えば図12に示すように、非編集区間において編集操作の対象とならないサムネイルであることをユーザに明示的に認知させるための表示形態(例えばフェードアウト表示)である。
なお、図12では、有効表示の対象となるサムネイルTH2〜TH6は実線にて示し、無効表示の対象となるサムネイルTH1,TH7,TH8は点線にて示してある。有効表示及び無効表示の表示形態は図12から図17まで同様である。
図13は、編集区間74内において平仮名「でんしゃ?」の編集操作(手描き操作)がなされた後に平仮名「でんしゃ?」のスタンプデータの描画区間76が指定された場合の様子を示す図である。編集区間74の範囲に対応するいずれかのサムネイル(例えばサムネイルTH2)が指65により指定された結果、個別表示領域部24にサムネイルTH2の内容が表示されている場合に、指65により、平仮名「でんしゃ?」が編集操作によって手描きされたとする。
クライアント20Aaは、編集操作に応じて、例えばポインタ75をサムネイルTH2の左端部に対応する編集区間74の左端部に表示し、更に、ポインタ75を用いた平仮名「でんしゃ?」のスタンプデータの描画区間76の指定をユーザに促す。この促し方は、ポップアップ画面でも良いし、音声出力でも良いし、ランプの点灯でも良く、以下同様である。ユーザは、指65の入力操作(例えばスライド操作)によって平仮名「でんしゃ?」のスタンプデータの描画区間76を指定する。
図13では、表示区間としての描画区間76は、編集可能区間バー72に対応する編集可能区間eを超えない区間であって、指65の入力操作(例えばスライド操作)によって、サムネイルTH2の左端部に対応する編集区間74の左端部からサムネイルTH5の右端部に対応する編集区間74の右端部までの範囲(図13のドットパターン部参照)が指定されたとする。
クライアント20Aaは、描画区間76の指定に応じて、描画区間76において再生された動画の各シーンの画像フレームに対応する各サムネイルTH2〜TH5に、平仮名「でんしゃ?」のスタンプデータを表示し、更に、指定された描画区間76において描画(表示)可能な平仮名「でんしゃ?」のスタンプデータの編集内容が反映された動画データを生成する。
なお、図13から図17では、図面の複雑化を避けるために、点線領域内のサムネイルTH1〜TH8のうちいずれかのサムネイルにおいて平仮名「でんしゃ?」又は「ばす」のスタンプデータの表示を省略している。
図14は、編集区間74内において平仮名「ばす」の編集操作(手描き操作)がなされた後に平仮名「ばす」のスタンプデータの描画区間77が指定された場合の様子を示す図である。編集区間74の範囲に対応するいずれかのサムネイル(例えばサムネイルTH6)が指65により指定された結果、個別表示領域部24にサムネイルTH6の内容が表示されている場合に、指65により、平仮名「ばす」が編集操作によって手描きされたとする。
クライアント20Aaは、編集操作に応じて、例えばポインタ75をサムネイルTH6の左端部に対応する編集区間74の左端部に表示し、更に、ポインタ75を用いたスタンプデータ「ばす」の描画区間77の指定をユーザに促す。ユーザは、指65の入力操作(例えばスライド操作)によって平仮名「ばす」のスタンプデータの描画区間77を指定する。
図14では、表示区間としての描画区間77は、編集可能区間バー72に対応する編集可能区間eを超えない区間であって、指65の入力操作(例えばスライド操作)によって、サムネイルTH6の左端部に対応する編集区間74の左端部からサムネイルTH6の右端部に対応する編集区間74の右端部までの範囲(図14のドットパターン部参照)が指定されたとする。
クライアント20Aaは、描画区間77の指定に応じて、描画区間77において再生された動画の各シーンの画像フレームに対応する各サムネイルTH6に、平仮名「ばす」のスタンプデータを表示し、更に、指定された描画区間77において描画(表示)可能な平仮名「ばす」のスタンプデータの編集内容が反映された動画データを生成する。
図15は、平仮名「でんしゃ?」の編集操作(手描き操作)の軌跡を記録する様子を示す図である。クライアント20Aaは、一時停止ボタン71の押下に応じて、軌跡記録ボタン78を表示部30Aに表示する(図15参照)。軌跡記録ボタン78は、一時停止ボタン71が押下された後にユーザの編集操作の内容を編集操作軌跡として記録するために用いられる。軌跡記録ボタン78の押下により記録されたユーザの編集操作の軌跡全体又は軌跡全体の指定された一部は、ユーザの所定のボタン押下又は操作により、編集操作の終了後に確認用に描画(再生)が可能である。
編集区間74の範囲に対応するいずれかのサムネイル(例えばサムネイルTH2)が指65により指定された結果、個別表示領域部24にサムネイルTH2の内容が表示されている場合に、指65により、軌跡記録ボタン78が押下されたとする。
クライアント20Aaは、軌跡記録ボタン78の押下に応じて、ユーザの編集操作、即ち、平仮名「でんしゃ?」の編集操作(手描き操作)の内容を編集操作軌跡として記録すると共に、例えばポインタ75をサムネイルTH2の左端部に対応する編集区間74の左端部に表示し、ポインタ75を用いた平仮名「でんしゃ?」のスタンプデータの編集操作軌跡の描画区間76の指定をユーザに促す。ユーザは、指65の入力操作(例えばスライド操作)によって平仮名「でんしゃ?」のスタンプデータの編集操作軌跡の描画区間76を指定する。
図15では、描画区間76は、指65の入力操作(例えばスライド操作)によって、サムネイルTH2の左端部に対応する編集区間74の左端部からサムネイルTH5の右端部に対応する編集区間74の右端部までの範囲(図15のドットパターン部参照)が指定されたとする。
クライアント20Aaは、図15において編集操作軌跡の記録区間としての描画区間76の指定に応じて、描画区間76において、軌跡記録ボタン78の押下に応じて記録された平仮名「でんしゃ?」のスタンプデータの編集操作軌跡を表示部30Aにおいて確認用に描画させ、更に、描画区間76において描画可能な平仮名「でんしゃ?」のスタンプデータの編集操作軌跡を含む動画データを生成する。なお、図15では、図面の複雑化を避けるために、とじるボタン67の図示は省略している。
図16(A)は、編集区間74のシフト前の様子を示す図である。図16(B)は、編集区間74のシフト後の様子を示す図である。クライアント20Aaは、図16(A)に示す平仮名「でんしゃ?」のスタンプデータの描画区間76及び平仮名「ばす」のスタンプデータの描画区間77が既に指定されている場合に、編集区間74の時間的な位置を変更するための操作を受け付けることができる。クライアント20Aaは、指65の編集区間74の時間的な位置を変更するための操作(以下、単に「シフト操作」という)に応じて、平仮名「でんしゃ?」のスタンプデータの描画区間76及び平仮名「ばす」のスタンプデータの描画区間77を変更する。
編集区間74のシフト操作に応じた描画区間76及び77の変更の具体的な一例として、図16(A)及び図16(B)を用いて説明する。図16(A)に示すシフト操作前の状態では、編集区間74は、サムネイルTH4〜サムネイルTH8が有効表示される区間であって、サムネイルTH1〜TH3が無効表示される区間である。
描画区間76はサムネイルTH4の左端部に対応する編集区間74の左端部からサムネイルTH6の右端部に対応する編集区間74の右端部までの範囲であり、編集区間74の範囲に含まれる。非表示区間としての非描画区間76dはサムネイルTH1の左端部に対応する編集区間74の左端部からサムネイルTH3の右端部に対応する編集区間74の右端部までの範囲であり、編集区間74の範囲に含まれていない。非描画区間76dは、指65の入力操作(例えばスライド操作)によってユーザが希望した描画区間としてポインタ75のスライドによって指定された範囲であるが編集区間74に含まれていないため、非描画区間76dの範囲ではスタンプデータは描画(表示)されない。
従って、図16(A)では、平仮名「でんしゃ?」のスタンプデータの描画区間として、描画区間76は有効であるが、非描画区間76dは無効である。なお、図16(A)では、描画区間76は実線の枠線内にドットパターンを施した領域にて示され、非描画区間76dは点線の枠線内にドットパターンを施した領域にて示されている。描画区 間77はサムネイルTH5の左端部に対応する編集区間74の左端部からサムネイルTH8の右端部に対応する編集区間74の右端部までの範囲である。
図16(A)及び図16(B)に示す編集区間74のシフト操作に応じて、描画区間76,77及び非描画区間76dの範囲が変更され、クライアント20Aaは、変更された描画区間76,77及び非描画区間76dを表示部30Aに表示する。即ち、シフト操作後の編集区間74は、サムネイルTH2〜サムネイルTH6が有効表示される区間であって、サムネイルTH1,TH7,TH8が無効表示される区間である。なお、描画区間76,77及び非描画区間76dの範囲は、編集区間74の範囲を超えない範囲において、ユーザの入力操作に応じてそれぞれ変更されても良い。
シフト操作後の描画区間76は、サムネイルTH2の左端部に対応する編集区間74の左端部からサムネイルTH6の右端部に対応する編集区間74の右端部までの範囲であり、シフト操作後の編集区間74の範囲に含まれる。シフト操作後の非描画区間76dは、サムネイルTH1の左端部に対応する編集区間74の左端部からサムネイルTH2の左端部に対応する編集区間74の左端部までの範囲であるが、シフト操作後の編集区間74の範囲に含まれていない。
シフト操作後の非描画区間76dは、シフト操作後においても、以前としてシフト操作後の編集区間74に含まれていないため、同様に、非描画区間76dの範囲でもスタンプデータは描画(表示)されない。
シフト操作後の描画区間77は、サムネイルTH5の左端部に対応する編集区間74の左端部からサムネイルTH6の右端部に対応する編集区間74の右端部までの範囲であり、シフト操作後の編集区間74の範囲に含まれる。シフト操作後の非描画区間77dは、サムネイルTH7の左端部に対応する編集区間74の左端部からサムネイルTH8の右端部に対応する編集区間74の右端部までの範囲であるが、シフト操作後の編集区間74の範囲に含まれていない。
シフト操作後の非描画区間77dは、シフト操作後において、指65の入力操作(例えばスライド操作)によってユーザが希望した描画区間としてポインタ75のスライドによって指定された範囲であったが、編集区間74のシフト操作によって編集区間74が図16(B)の左方向にシフトしたことでシフト操作後の編集区間74に含まれなくなった。このため、シフト操作後の非描画区間77dの範囲では、スタンプデータは描画(表示)されない。
なお、図16(A)及び図16(B)の各個別表示領域部24の内容はサムネイルTH6に対応する。
図17(A)は、編集区間74の分割前の様子を示す図である。図17(B)は、編集区間74の分割後の様子を示す図である。クライアント20Aaは、図17(A)に示す平仮名「でんしゃ?」のスタンプデータの描画区間76及び平仮名「ばす」のスタンプデータの描画区間77が既に指定されている場合に、編集区間74を時間的に分割して例えば2つの編集区間741,742(図17(B)参照)とするための操作を受け付けることができる。クライアント20Aaは、指65の編集区間74を時間的に分割するための操作(以下、単に「分割操作」という)に応じて、平仮名「でんしゃ?」のスタンプデータの描画区間76及び平仮名「ばす」のスタンプデータの描画区間77を変更する。
編集区間74の分割操作に応じた描画区間76及び77の変更の具体的な一例として、図17(A)及び図17(B)を用いて説明する。図17(A)に示す分割操作前の状態では、編集区間74は、サムネイルTH4〜サムネイルTH8が有効表示される区間であって、サムネイルTH1〜TH3が無効表示される区間である。
描画区間76はサムネイルTH4の左端部に対応する編集区間74の左端部からサムネイルTH6の右端部に対応する編集区間74の右端部までの範囲であり、編集区間74の範囲に含まれる。非表示区間としての非描画区間76dはサムネイルTH1の左端部に対応する編集区間74の左端部からサムネイルTH3の右端部に対応する編集区間74の右端部までの範囲であり、編集区間74の範囲に含まれていない。非描画区間76dは、指65の入力操作(例えばスライド操作)によってユーザが希望した描画区間としてポインタ75のスライドによって指定された範囲であるが編集区間74に含まれていないため、非描画区間76dの範囲ではスタンプデータは描画(表示)されない。
なお、非描画区間76dの範囲ではスタンプデータは表示部30Aの個別表示領域部24に表示されないが、ユーザの入力操作としての編集区間74のシフト操作によって、描画区間76,77におけるサムネイルが有効表示又は無効表示される。これにより、本実施形態の通信端末(例えば、クライアント20Aa)は、編集区間74における描画区間76,77に対応したサムネイルを表示部30Aに有効表示し、非描画区間76dに対応したサムネイル無効表示することで、描画区間又は非描画区間におけるサムネイルをユーザに対して明示的に認知させることができる。
従って、図17(A)では、平仮名「でんしゃ?」のスタンプデータの描画区間としては、描画区間76は有効であるが、非描画区間76dは無効である。なお、図17(A)では、描画区間76は実線の枠線内にドットパターンを施した領域にて示され、非描画区間76dは点線の枠線内にドットパターンを施した領域にて示されている。描画区間77はサムネイルTH5の左端部に対応する編集区間74の左端部からサムネイルTH8の右端部に対応する編集区間74の右端部までの範囲である。
図17(A)及び図17(B)に示す編集区間74の分割操作に応じて、編集区間74が2つの編集区間741,742に分割され、描画区間76,77及び非描画区間76dの各範囲が描画区間76,77及び非描画区間76d1,76d2,77dに変更される。クライアント20Aaは、各々の描画区間76,77及び非描画区間76d1,76d2,77dを表示部30に表示する。
即ち、分割操作後の編集区間741はサムネイルTH2〜サムネイルTH4が有効表示される区間であって、分割操作後の編集区間742はサムネイルTH7,TH8が有効表示される区間であって、分割操作後の編集区間741及び742の範囲に含まれないサムネイルTH1,TH5,TH6が無効表示される区間である。
分割操作後の描画区間76は、サムネイルTH2の左端部に対応する編集区間741の左端部からサムネイルTH4の右端部に対応する編集区間741の右端部までの範囲であり、分割操作後の編集区間741の範囲に含まれる。
分割操作後の非描画区間76d1は、サムネイルTH1の左端部に対応する編集可能区間の左端部からサムネイルTH2の左端部に対応する編集可能区間の左端部までの範囲であるが、分割操作後の編集区間741及び742の範囲に含まれていない。
分割操作後の非描画区間76d1は、分割操作後においても、以前として分割操作後の編集区間741及び742に含まれていないため、非描画区間76d1の範囲ではスタンプデータは描画(表示)されない。
分割操作後の非描画区間76d2は、サムネイルTH5の左端部に対応する編集可能区間の左端部からサムネイルTH6の右端部に対応する編集可能区間の右端部までの範囲であるが、分割操作後の編集区間741及び742の範囲に含まれていない。
分割操作後の非描画区間76d2は、分割操作後においても、以前として分割操作後の編集区間741及び742に含まれていないため、非描画区間76d2の範囲ではスタンプデータは描画(表示)されない。
分割操作後の描画区間77は、サムネイルTH7の左端部に対応する編集区間742の左端部からサムネイルTH8の右端部に対応する編集区間742の右端部までの範囲であり、分割操作後の編集区間742の範囲に含まれる。
分割操作後の非描画区間77dは、サムネイルTH5の左端部に対応する編集可能区間の左端部からサムネイルTH6の左端部に対応する編集可能区間の左端部までの範囲であるが、分割操作後の編集区間741及び742の範囲に含まれていない。
分割操作後の非描画区間77dは、分割操作後において、指65の入力操作(例えばスライド操作)によってユーザが希望した描画区間としてポインタ75のスライドによって指定された範囲であったが、編集区間74の分割操作によって編集区間741及び742に含まれなくなった。このため、分割操作後の非描画区間77dの範囲では、スタンプデータは描画(表示)されない。
なお、図16(A)、図16(B)、図17(A)及び図17(B)では、図面の複雑化を避けるために、点線領域内に拡大図としてサムネイルTH1〜TH8だけを表示し、各々の編集区間及び描画区間の拡大図示を省略している。
なお、図17(A)の個別表示領域部24の内容はサムネイルTH6に対応し、図17(B)の個別表示領域部24の内容はサムネイルTH4に対応する。
(第2の実施形態の通信端末の機能的構成)
図18は、第2の実施形態の通信端末(例えばクライアント20Aa)の機能的構成を示すブロック図である。クライアント20Aaは、RAM16、ROM17、操作入力部21、描画制御部22、共有表示領域部23、個別表示領域部24、オブジェクト検出部25、間接手描き情報補正部26、手描きデータ管理部27、通信制御部28、再生部29、描画区間管理部81、映像バッファリング管理部82及び軌跡記録管理部83を含む。
図18に示すクライアント20Aaは、図3に示すクライアント20Aの構成に、描画区間管理部81、映像バッファリング管理部82及び軌跡記録管理部83を更に含む。図18に示すクライアント20Aaの説明では、図3に示すクライアント20Aの構成及び動作と同様の内容には同一の符号を用いて説明を省略し、異なる内容について説明する。
操作入力部21は、図11に示す一時停止ボタン71の押下操作、図12に示す編集区間74の指定操作、図13、図14若しくは図15に示すポインタ75を用いた描画区間76若しくは77の指定操作若しくは編集操作軌跡の記録期間の指定操作、図15に示す軌跡記録ボタン78の押下操作、及び、図16若しくは図17に示す編集区間74のシフト操作若しくは分割操作の入力を受け付ける。操作入力部21は、受け付けられた各操作に対応する表示部30Aの位置を示す座標情報を、受け付けられた操作の内容に応じて、描画制御部22、描画区間管理部81、映像バッファリング管理部82及び軌跡記録管理部83のうちいずれかに出力する。
描画区間管理部81は、操作入力部21から出力された座標情報を基に、ユーザの操作によって指定された編集区間74、及び、編集区間74内においてユーザの編集操作によって手描きされたスタンプデータ(例えば平仮名「でんしゃ?」のスタンプデータ)の描画区間76の各情報を、スタンプデータに関連付けて管理する。本実施形態では、第1の実施形態において定義した「間接手描き情報」と、「間接手描き情報」に含まれるスタンプデータの描画区間76と描画区間76に対応する編集区間74と、編集操作の対象となる動画データの識別情報とを含む情報を、「描画オブジェクト情報」と定義する。
描画区間管理部81は、描画オブジェクト情報を手描きデータ管理部27に出力して記憶部27aに記憶させる。また、描画区間管理部81は、編集区間74の範囲に含まれる描画区間76以外に、編集区間74の範囲に含まれない非描画区間76dの情報を描画オブジェクト情報に含めて管理しても良い。
なお、「描画オブジェクト情報」の描画区間76,77の情報は、ユーザの操作によって指定された当初の編集区間の情報に限らず、図16又は図17に示すシフト操作又は分割操作によって変更された後の編集区間の情報でも良い。
映像バッファリング管理部82は、サーバ装置50からストリーミングされた動画データを通信制御部28から入力し、バッファ82aのサイズに応じて定められた所定量(例えば10秒分の動画データのサイズ)のサイズの動画データをバッファ82aにおいてバッファリングする。映像バッファリング管理部82は、ユーザの一時停止ボタン71の押下操作によって操作入力部21から出力された座標情報を基に、バッファ82aのサイズに応じた所定量に相当する編集可能区間eの情報を描画制御部22に出力する。描画制御部22は、映像バッファリング管理部82から出力された情報を基に、編集可能区間バー72を表示部30Aに表示する(図11(B)参照)。なお、映像バッファリング管理部82は、編集可能区間eの情報を上述した描画オブジェクト情報に含めても良い。
軌跡記録管理部83は、ユーザの軌跡記録ボタン78の押下操作によって操作入力部21から出力された座標情報を基にしてユーザの編集操作の内容を記録し、ユーザの編集操作軌跡の記録区間としての描画区間76の指定操作に応じて、描画区間76においてユーザの編集操作軌跡を描画(再生)可能とする動画データを生成する。軌跡記録管理部83は、生成された動画データを手描きデータ管理部27に出力して記憶部27aに記憶させる。
(第2の実施形態の通信端末の動作)
図19は、第2の実施形態の通信端末(例えばクライアント20Aa)の動作手順を説明するフローチャートである。図19に示す動作手順を実行するためのプログラムは、クライアント20AaのROM17に記憶され、クライアント20Aaに内蔵されるCPUによって実行される。図19の説明では、必要に応じて、図11から図17を参照する。
また、図19の説明の前提として、サーバ装置50からストリーミングされた動画データは、クライアント20Aaの通信制御部28により受信されている。通信制御部28により受信された動画データは、描画制御部22、再生部29及び映像バッファリング管理部82に入力され、再生部29において再生されている。動画データの内容は描画制御部22により表示部30Aに表示されている。なお、図18では、図面の複雑化を避けるために、通信制御部28から描画制御部22及び再生部29への矢印の図示を省略している。
なお、図19において図示していない本実施形態の通信端末の動作は、第1の実施形態において説明した図6,8,10の各フローチャートの動作が適用可能である。
描画制御部22は、先ず、操作入力部21が一時停止ボタン71の押下操作の入力を受け付けたか否かを判定する(S41)。ユーザの指65により、表示部30Aに表示されている一時停止ボタン71が押下されると(S41、YES、図11(A)参照)、操作入力部21は、一時停止ボタン71の押下操作の入力を受け付け、一時停止ボタン71の表示部30Aにおける表示位置を示す座標情報を描画制御部22及び映像バッファリング管理部82に出力する。
映像バッファリング管理部82は、ユーザの一時停止ボタン71の押下操作によって操作入力部21から出力された座標情報を基に、バッファ82aのサイズに応じた所定量に相当する編集可能区間eの情報を描画制御部22に出力する。描画制御部22は、映像バッファリング管理部82から出力された情報を基に、編集可能区間eを示す編集可能区間バー72を表示部30Aに表示する(S42、図11(B)参照)。
更に、描画制御部22は、通信制御部28から出力されている動画データのうち、映像バッファリング管理部82から出力された編集可能区間eの情報に対応する編集可能区間に応じたサイズのサムネイルデータを生成する。描画制御部22は、生成された編集可能区間eに応じたサイズのサムネイルデータを表示部30Aに表示する(図11(B)参照)。
また、描画制御部22は、通信制御部28から出力されたデータの中に動画データと動画データのサムネイルとが含まれている場合には、映像バッファリング管理部82から出力された編集可能区間eの情報に対応する編集可能区間に応じたサイズのサムネイルデータを表示部30Aに表示する(図11(B)参照)。なお、表示部30Aの個別表示領域部24に初期的に表示されるサムネイルデータは、ステップS41において一時停止ボタン71が押下されたときの動画データの画像フレームに対応するサムネイルデータでも良いし、編集可能区間eの間に再生された動画の複数のサムネイルデータのうちいずれかのサムネイルデータでも良い。
描画制御部22は、操作入力部21が編集区間74の指定操作の入力を受け付けたか否かを判定する(S43)。ユーザの指65のスライド操作により、表示部30Aに表示されている編集可能区間バー72に対して編集区間74が指定されると(S43、YES)、操作入力部21は、編集区間74の指定操作の入力を受け付け、指定された編集区間74の範囲を示す座標情報を描画制御部22及び描画区間管理部81に出力する。描画制御部22は、指定された編集区間74の範囲を編集可能区間バー72の範囲に重ねるように表示する(図12参照)。描画区間管理部81は、ユーザの編集操作の編集区間74の情報を把握する。これにより、ユーザは、自己の編集操作の編集区間74の範囲を表示部30Aにおいて明示的に認知できる。
なお、編集区間74の指定方法は特に限定されないが、指定方法の一例を説明する。例えば、編集区間74を指定するための指定ツールのアイコンが表示部30Aに表示されている場合(図12では不図示)、ユーザの指65によって、指定ツールのアイコンがタッチされて編集可能区間バー72の押下後に所定範囲にわたってスライド操作される。これにより、編集区間74の指定が可能となる。
次に、描画制御部22は、操作入力部21がユーザの編集操作を開始する旨の入力を受け付けたか否かを判定する(S44)。ユーザの編集操作を開始する旨の入力を受け付けたと判定する場合は、例えば、操作入力部21が、ユーザの指65の操作の入力を受け付け、即ち、表示部30Aのいずれかの位置の座標を検出し、且つ、検出された座標情報が表示部30Aに表示されている編集操作開始ボタン(不図示)の範囲内である場合である。
操作入力部21は、ユーザの編集操作を開始する旨の入力を受け付けた場合に(S44、YES)、ユーザの編集操作を開始する旨の入力に応じて検出された座標情報を描画制御部22に出力する。描画制御部22は、操作入力部21から出力された座標情報を基に、既に設定されたグルーピングルールの情報が記憶されているか否かを手描きデータ管理部27に問い合わせる(S45)。手描きデータ管理部27は、記憶部27aを検索してグルーピングルールの情報が記憶されているか否かを判定し、記憶部27aに記憶されている場合にはグルーピングルールの情報を描画制御部22に出力する。
なお、グルーピングルールは、ユーザの編集操作において、編集操作によって手描きされたオブジェクトが複数のオブジェクトにより形成されている場合に、各々のオブジェクトを一つのグループに纏めるか否かを定めるルールである。複数のオブジェクトにより形成されたオブジェクトは、例えば平仮名「でんしゃ?」のオブジェクトであって、「で」、「ん」、「し」、「ゃ」及び「?」の合計5つのオブジェクトにより形成されている。グルーピングルールは、例えば所定期間(例えば1秒又は2秒)内に描画された複数のオブジェクトを一つのオブジェクトにグルーピングすることである。但し、グルーピングルールは、ユーザの編集操作において、ユーザの操作によって指定されても良い。
例えば、グルーピングルールは、自通信端末(例えば、クライアント20Aa)のユーザが他の通信端末(例えば、クライアント20B)のユーザが手描きされたデータ(例えば手描き文字)を編集若しくは削除することを許可又は不許可することを定めた内容でも良いし、既に他の通信端末のユーザが編集操作したか否かを事前に通知することを定めた内容でも良い。なお、通知方法は、例えばポップアップ画面を表示したり、自通信端末に所定パターンの振動を与えたり、音声を出力したりすることで良い。
グルーピングルールの情報が予め記憶部27aに記憶されている、即ち、グルーピングルールが既に設定済みである場合には(S45、YES)、描画制御部22は、編集操作によって手描きされたデータ(例えば手描き文字)のオブジェクトに対して設定済みのグルーピングルールを用いてグルーピングすると判定し、クライアント20Aaの動作はステップS48に進む。
グルーピングルールの情報が予め記憶部27aに記憶されていない、即ち、グルーピングルールが設定済みでない場合には(S45、NO)、描画制御部22は、ユーザの編集操作の開始時において、ユーザの操作によってグルーピングルールの指定があったか否かを、操作入力部21から出力された座標情報を基にして判定する(S46)。描画制御部22は、ユーザの操作によってグルーピングルールの指定があったと判定した場合には(S46、YES)、編集操作によって手描きされたデータ(例えば手描き文字)のオブジェクトに対してステップS46において設定されたグルーピングルールを用いてグルーピングすると判定し、クライアント20Aaの動作はステップS48に進む。
一方、描画制御部22は、ユーザの操作によってグルーピングルールの指定がなかったと判定した場合には(S46、NO)、編集操作によって手描きされたデータ(例えば手描き文字)のオブジェクトに対してグルーピングしないと判定し(S47)、クライアント20Aaの動作はステップS48に進む。
次に、軌跡記録管理部83は、操作入力部21が軌跡記録ボタン78の押下操作の入力を受け付けたか否かを判定する(S48、図15参照)。ユーザの指65により、表示部30Aに表示されている軌跡記録ボタン78が押下されると(S48、YES)、操作入力部21は軌跡記録ボタン78の押下操作の入力を受け付ける。軌跡記録管理部83は、操作入力部21から出力された座標情報を基に、ユーザの編集操作の内容を編集操作軌跡として記録を開始する。表示部30Aに表示されている軌跡記録ボタン78が押下されない場合(S48、NO)、軌跡記録管理部83は、ユーザの編集操作の内容を編集操作軌跡として記録しないと判定し(S49)、クライアント20Aaの動作はステップS50に進む。
ステップS50では、描画制御部22は、個別表示領域部24に表示された編集操作の対象となるサムネイルデータに対応する画像フレームの内容に編集操作によって手描きされた結果としての手描き文字(例えば平仮名「でんしゃ?」のスタンプデータ)を個別表示領域部24に表示する(S50)。また、ステップS50では、平仮名「でんしゃ?」のスタンプデータの描画後に、ユーザの操作により、平仮名「でんしゃ?」のスタンプデータの描画区間76が指定される(図13参照)。描画区間管理部81は、操作入力部21がユーザの描画区間76の指定操作の入力を受け付け、指定された描画区間76の範囲を示す座標情報を基に、描画区間76の情報を把握する。
ユーザの編集操作に応じて手描きされたデータ(例えば手描き文字)が個別表示領域部24に表示されると、第1の実施形態と同様に、間接手描き情報補正部26によって間接手描き情報が生成されると共に、描画制御部22は、ステップS45において設定済みのグルーピングルール又はステップS46において指定されたグルーピングルールを基に、手描きされたデータ(例えば手描き文字)の各々のオブジェクトをグルーピングする(S51)。なお、描画制御部22がステップS47においてグルーピングしないと判定した場合には、クライアント20AaにおけるステップS51の動作は省略されて次のステップS52に進む。
描画制御部22は、操作入力部21が編集操作時において描画方法(例えば、描画ツール)の指定操作の入力を受け付けたか否かを判定する(S52)。ユーザの指65により、表示部30Aに表示されている複数の描画ツール(不図示)のうちいずれかの描画ツール(例えば、赤色の太い実線のペン)が指定されると(S52、YES)、操作入力部21は、描画方法としての描画ツールの指定操作の入力を受け付け、指定された描画ツールの表示部30Aにおける表示位置を示す座標情報を描画制御部22に出力する。描画制御部22は、操作入力部21から出力された座標情報を基に、指定された描画ツールの情報を含む描画オブジェクト情報を生成する(S53)。
なお、上述したように、本実施形態の描画オブジェクト情報は、具体的には、ステップ52において指定された描画方法の情報、スタンプデータ、スタンプデータの座標、大きさ、傾き、動画再生開始時刻からの経過時間情報、編集操作に要した時間情報、ステップS43において指定された編集区間74の情報、ステップS50において指定された描画区間76の情報を少なくとも含み、編集操作軌跡のデータ、ステップS46において指定されたグルーピングルールの情報も更に含んでも良い。
なお、表示部30Aに表示されている複数の描画ツール(不図示)のうちいずれの描画ツールも指定されていない場合には(S52、NO)、描画制御部22は、例えば黒色の細いペンを規定の描画ツールとして初期的に選択し、選択された描画ツールの情報を含む描画オブジェクト情報を生成する(S54)。
ステップS55ではユーザの編集操作が継続するか否かが判定され、ユーザの編集操作が継続する限り(S55、YES)、クライアント20Aaの動作はステップS48からステップS54までの動作を繰り返す。ユーザの編集操作が終了した場合には(S55、NO)、操作入力部21は、ユーザの編集操作の終了操作の入力を受け付け、ユーザの編集操作の終了操作ボタンの表示部30Aにおける表示位置を示す座標情報を描画制御部22に出力する。
軌跡記録管理部83は、操作入力部21から出力された座標情報を基に、ステップS48において指示された編集操作軌跡の記録を終了する(S56)。但し、描画制御部22がステップS49において記録しないと判定した場合には、クライアント20AaにおけるステップS56の動作は省略されて次のステップS57の動作に進む。更に、編集操作軌跡の記録区間としての描画区間76がユーザの操作によって指定されている場合には、指定された描画区間76に対応する時間が経過した後に、軌跡記録管理部83は、編集操作軌跡の記録を終了させても良い。
ステップS56の後又はステップS44において編集操作が開始されなかった場合には、描画制御部22は、操作入力部21が編集区間74の変更操作の入力を受け付けたか否かを判定する(S57)。ユーザの指65により、編集区間74が変更されると(S57、YES)、操作入力部21は、編集区間74の変更操作の入力を受け付け、変更された編集区間74の範囲を示す座標情報を描画制御部22及び描画区間管理部81に出力する。描画制御部22は、変更された編集区間の範囲を編集可能区間バー72の範囲に重ねるように表示する(S58、図16(B)又は図17(B)参照)。描画区間管理部81は、変更後の編集区間の情報を把握する。これにより、ユーザは、自己の変更操作後の編集区間の範囲を表示部30Aにおいて明示的に認知できる。
ステップS58の後又はステップS57において編集区間が変更されない場合に、描画制御部22は、操作入力部21が編集操作の内容を確認するための確認用再生の操作の入力を受け付けたか否かを判定する(S59)。なお、編集操作の内容は、ステップS48からステップS56までに記録された編集操作軌跡でも良いし、編集操作軌跡として記録されていない場合の編集操作の内容でも良い。
なお、ステップS60は、自通信端末(例えば、クライアント20Aa)と他の通信端末(例えば、クライアント20B)とが編集操作後の動画の各シーンを同時に確認するための確認用再生でも良い。この場合、確認用再生の前に、編集操作を行った自通信端末又は他の通信端末は相手方の通信端末に対し、編集操作後の動画に対する描画オブジェクト情報を送受信して共有する。自通信端末と他の通信端末とがそれぞれ異なる内容の編集操作が行われた場合には、両方の通信端末において編集操作された動画の内容がそれぞれ確認用再生される。
また、自通信端末が編集操作を行った編集区間74に他の通信端末が編集操作を行っていた場合には、編集区間74における確認用再生において、両方の通信端末において編集操作の内容が同時に重畳して再生されても良い。
また、自通信端末は、自通信端末が編集操作を行った編集区間74に他の通信端末が編集操作を行っていた場合には、その旨を確認用再生前にユーザに対して通知し、ユーザの編集操作の内容の重畳可否に対する指示に応じて、編集操作の内容を重畳する又は重畳しないように確認用再生しても良い。なお、通知方法は、例えばポップアップ画面を表示したり、自通信端末に所定パターンの振動を与えたり、音声を出力したりすることで良い。
また、自通信端末は、例えば確認用再生の後に、他の通信端末から受信した描画オブジェクト情報を編集しても良く、例えば他の通信端末が行った編集操作の内容を上書き又は削除しても良い。
ユーザの指65により、編集操作の内容を確認するための確認用再生の操作がなされると(S59、YES)、操作入力部21は、編集操作の内容を確認するための確認用再生の操作の入力を受け付け、確認用再生の操作ボタンの表示部30Aにおける表示位置を示す座標情報を描画制御部22に出力する。描画制御部22は、操作入力部21から出力された座標情報を基に、ステップS44からステップS56までの動作においてなされた編集操作の内容を再生して個別表示領域部24に描画(再生)する(S60)。
ステップS60の後又はステップS59において確認用再生の操作が入力されない場合、描画制御部22は、生成された描画オブジェクト情報を手描きデータ管理部27に出力して記憶部27aに記憶させる(S61)。手描きデータ管理部27は、描画オブジェクト情報を通信制御部28に出力して他の通信端末(例えばクライアント20B)に送信させる(S62)。以上により、図19に示すクライアント20Aaの動作は終了する。
以上により、本実施形態の通信端末、通信端末を含む通信システムは、外部のサーバ装置50からストリーミングされた動画データを複数の通信端末間においてリアルタイムに共有している状態において、例えば既に再生された動画データの中にユーザが編集操作を希望する動画データのシーンを見つけた場合に、即ち、一時停止ボタン71の押下時の動画データの再生時点より編集可能区間ほど過去の時点に対する動画データの編集を、ユーザの好みに合わせて簡易に実現できる。
また、通信端末(例えばクライアント20Aa)は、所定期間における動画データのサムネイルデータTH1〜TH8と映像バッファリング管理部82により管理されるバッファ82aのサイズに応じた編集可能区間eを表す編集可能区間バー72とを表示部30Aに表示する。これにより、通信端末(例えばクライアント20Aa)は、ユーザに対して編集可能区間eを明示的に認知させることができ、更に、編集操作の対象となる過去の動画のシーンの画像フレームを確認させた上で、簡易に編集操作の対象となるシーンを選択できて編集を開始させることができる。
また、通信端末(例えばクライアント20Aa)は、編集可能区間バー72に対して指定された手描きされたデータ(例えば手描き文字)の画像データの表示区間としての描画区間76と、非表示区間としての非描画区間76dとに応じて、表示区間としての描画区間76におけるサムネイルデータを有効表示し、非表示区間としての非描画区間76dにおけるサムネイルデータを無効表示する。これにより、通信端末(例えばクライアント20Aa)は、編集操作後の手描き手描きされたデータ(例えば手描き文字)の表示対象となるシーンの画像フレームと表示対象とならないシーンの画像フレームとを、サムネイルデータを用いて簡易に識別できる。
また、通信端末(例えばクライアント20Aa)は、編集操作の受け付け時点(編集開始時点)から編集操作の終了時点までの編集区間74の変更の指定に応じて、手描きされたデータ(例えば手描き文字)の表示区間と非表示区間とを変更し、変更された手描きされたデータ(例えば手描き文字)の表示区間と非表示区間とを表示部30Aに反映して表示させる。これにより、通信端末(例えばクライアント20Aa)は、編集区間の変更操作に応じた編集区間の変更結果をユーザに対して明示的に認知させることができる。なお、編集区間の変更には、編集区間の分割も含まれる。
また、通信端末(例えばクライアント20Aa)は、編集開始操作の受け付け時点から編集操作の終了時点までの編集区間における編集操作の内容を編集操作軌跡として記録する。これにより、通信端末(例えばクライアント20Aa)は、編集操作の内容を他の通信端末に送信する前に、編集操作の内容として適切であるか否かをユーザに確認させることができる。
以上、図面を参照して各種の実施の形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種実施の形態の変更例または修正例、更に各種実施の形態の組み合わせ例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、上記実施形態では、再生中のコンテンツ(動画)内のオブジェクトに対し、文字又は図形を手描きにて加える入力操作を示した。このような入力操作以外に、コンテンツ内に新たなオブジェクトを追加する、オブジェクトを変更する、予め保存されたパーツでオブジェクトを飾るといった編集操作を行うことも可能である。
第2の実施形態において、編集区間74の変更操作には、編集区間74をシフト(図16(A)及び図16(B)参照)する操作、編集区間74を分割(図17(A)及び図17(B)参照)する操作に限定されない。例えば、2つ以上の編集区間に分割された複数の編集区間を結合して例えば1つの編集区間とする操作でも良い。この場合、結合前の状編集区間は図17(B)に示す編集区間741及び742であり、結合後の編集区間は図17(A)に示す編集区間74である。
同様に、編集区間74の変更操作は、例えば編集区間74の長さが編集可能区間eを超えない長さに変更される操作であっても良い。
第2の実施形態において、グルーピングルールに従ってグルーピングされたオブジェクトが例えばステップS60の確認用再生において表示される場合、グルーピングされた一つのオブジェクトが順次描画されても良いし、グルーピングの対象となった各々のオブジェクトが同時に描画され始めても良い。
例えば、前者の場合、即ち、グルーピングされた一つのオブジェクトが順次描画される場合、グルーピングされた一つのオブジェクトが「でんしゃ?」である場合には、ステップS60の確認用再生において、描画制御部22は、個別表示領域部24において、「で」、「でん」、「でんし」、「でんしゃ」、「でんしゃ?」のように、グルーピングされたオブジェクト「でんしゃ?」の各オブジェクトを順番に描画(表示)する。
例えば、後者の場合、即ち、グルーピングの対象となった各々のオブジェクトが同時に描画され始める場合には、ステップS60の確認用再生において、描画制御部22は、個別表示領域部24において、グルーピングされた一つのオブジェクト「でんしゃ?」を構成する各々のオブジェクト「で」、「ん」、「し」、「ゃ」、「?」をそれぞれ同時に描画(表示)する。これにより、通信端末は、動画データを共有している各々の通信端末のユーザに対して、快適なエンターテインメントを提供できる。