特許第5898981号(P5898981)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社コナミデジタルエンタテインメントの特許一覧

特許5898981メッセージ送信システム、制御方法およびプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5898981
(24)【登録日】2016年3月11日
(45)【発行日】2016年4月6日
(54)【発明の名称】メッセージ送信システム、制御方法およびプログラム
(51)【国際特許分類】
   G06F 13/00 20060101AFI20160324BHJP
   G06T 13/80 20110101ALI20160324BHJP
【FI】
   G06F13/00 560A
   G06T13/80 B
【請求項の数】12
【全頁数】38
(21)【出願番号】特願2012-20938(P2012-20938)
(22)【出願日】2012年2月2日
(65)【公開番号】特開2013-161168(P2013-161168A)
(43)【公開日】2013年8月19日
【審査請求日】2013年12月2日
(73)【特許権者】
【識別番号】506113602
【氏名又は名称】株式会社コナミデジタルエンタテインメント
(74)【代理人】
【識別番号】100125689
【弁理士】
【氏名又は名称】大林 章
(72)【発明者】
【氏名】松山 重信
(72)【発明者】
【氏名】羽原 知子
(72)【発明者】
【氏名】小太刀 明枝
(72)【発明者】
【氏名】菅野 啓
【審査官】 坂東 博司
(56)【参考文献】
【文献】 特開2004−227313(JP,A)
【文献】 特開2009−146041(JP,A)
【文献】 特開2010−140264(JP,A)
【文献】 特開2001−243221(JP,A)
【文献】 特開2001−290839(JP,A)
【文献】 特開2009−77380(JP,A)
【文献】 特開2005−242798(JP,A)
【文献】 特開2005−196780(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
G06T 13/80
(57)【特許請求の範囲】
【請求項1】
メッセージの送信者を表象するアバターに与える動作を選択する動作選択部と、
入力フィールドに入力された文字情報と、前記動作選択部で選択された動作を一意に識別する動作IDとのうち、少なくとも動作IDを含んだメッセージを送信する送信部と、
前記送信部により送信されたメッセージに含まれる文字情報の一部または全部、若しくは、動作IDで構成される割当対象を記憶部に複数個、記憶させて管理する管理部と、
複数の操作ボタンを表示部に表示させる表示制御部と、
前記記憶部に記憶された前記複数個の割当対象のそれぞれを、前記複数の操作ボタンのそれぞれに割り当てる割当部と、
前記複数の操作ボタンのいずれかが操作された場合に、
操作された操作ボタンに割り当てられた割当対象に文字情報が含まれているとき、当該文字情報を前記入力フィールドに反映させ、
操作された操作ボタンに割り当てられた割当対象に動作IDが含まれているとき、当該動作IDが前記動作選択部で選択されたものとする操作処理部と、
を備えることを特徴とするメッセージ送信システム。
【請求項2】
一意に識別可能な画像IDに対応付けられた複数の画像のうち、いずれかを選択する画像選択部を備え、
前記送信部は、前記画像選択部で選択された画像に対応する画像IDを前記メッセージに含めて送信し、
前記管理部は、送信されたメッセージに含まれる画像IDを前記割当対象に含ませて前記記憶部に記憶させ、
前記割当部は、記憶された前記画像IDを前記操作ボタンに割り当て、
前記操作処理部は、操作された操作ボタンに割り当てられた割当対象に前記画像IDが含まれている場合、当該画像IDを前記入力フィールドに反映させない
ことを特徴とする請求項1に記載のメッセージ送信システム。
【請求項3】
前記管理部は、
前記複数個の割当対象のそれぞれを、各割当対象に対応したメッセージを前記送信部によって送信された送信日時と対応付けて前記記憶部で管理するとともに、
前記送信されたメッセージに含まれる文字情報の一部または全部、若しくは、動作IDと同一の割当対象が前記記憶部に記憶されているときには、当該割当対象を新たに記憶させずに当該割当対象に対応する送信日時を更新させる
ことを特徴とする請求項1または2に記載のメッセージ送信システム。
【請求項4】
前記複数の操作ボタンのそれぞれは、所定の並び順で配置され、
前記割当部は、前記並び順で配置する前記複数の操作ボタンに、前記送信日時が新しい順番で前記複数個の割当対象のそれぞれを割り当てる
ことを特徴とする請求項3に記載のメッセージ送信システム。
【請求項5】
前記管理部は、
前記複数個の割当対象のそれぞれを、各割当対象に対応したメッセージを前記送信部によって送信された使用回数と対応付けて前記記憶部で管理するとともに、
前記送信されたメッセージに含まれる文字情報の一部または全部、若しくは、動作IDと同一の割当対象が前記記憶部に記憶されている場合には、当該同一の割当対象を新たに記憶させずに当該割当対象に対応する使用回数を増加させる
ことを特徴とする請求項1または2に記載のメッセージ送信システム。
【請求項6】
前記複数の操作ボタンのそれぞれは、所定の並び順で配置され、
前記割当部は、前記並び順で配置する前記複数の操作ボタンに、前記使用回数が多い順番で前記複数個の割当対象のそれぞれを割り当てる
ことを特徴とする請求項5に記載のメッセージ送信システム。
【請求項7】
前記管理部は、
前記複数個の割当対象のそれぞれを、各割当対象に対応したメッセージを前記送信部によって送信された送信日時および使用回数と対応付けて前記記憶部で管理するとともに、
前記送信されたメッセージに含まれる文字情報の一部または全部、若しくは、動作IDと同一の割当対象が前記記憶部に記憶されている場合には、当該同一の割当対象を新たに記憶させずに、当該割当対象に対応する送信日時を更新し、使用回数を増加させる
ことを特徴とする請求項1または2に記載のメッセージ送信システム。
【請求項8】
前記複数の操作ボタンのそれぞれは、所定の並び順で配置され、
前記割当部は、
前記並び順で配置する前記複数の操作ボタンのうち、所定個数分に、前記送信日時が新しい順番で前記割当対象を割り当て、残りの個数分に、前記使用回数が多い順番で前記割当対象を割り当てる
ことを特徴とする請求項7に記載のメッセージ送信システム。
【請求項9】
前記管理部は、
前記送信部で送信されたメッセージに含まれる文字情報の一部または全部、若しくは、動作IDを前記記憶部に記憶させる場合、前記並び順で配置する前記複数の操作ボタンのうち、操作ボタンに最後に割り当てられた割当対象を、前記送信部で送信されたメッセージに含まれる文字情報の一部または全部、若しくは、動作IDに入れ替えて記憶させる
ことを特徴とする請求項4、6または8に記載のメッセージ送信システム。
【請求項10】
複数の利用者の間で交換されるメッセージを、通信可能な端末装置の表示部に表示させるサービスを提供するサーバの制御方法であって、
前記端末装置の入力フィールドに入力された文字情報と、前記端末装置で選択されるとともにメッセージの送信者を表象するアバターに与える動作を一意に識別する動作IDとのうち、少なくとも動作IDを含んだメッセージを受信するステップと、
受信したメッセージに含まれる文字情報の一部または全部、若しくは、動作IDで構成される割当対象を記憶部に複数個、記憶させて管理するステップと、
前記記憶部に記憶された前記複数個の割当対象のそれぞれを、前記表示部に表示させた複数の操作ボタンのそれぞれに割り当てるステップと、
前記複数の操作ボタンのいずれかが操作された場合に、
操作された操作ボタンに割り当てられた割当対象に文字情報が含まれているとき、当該文字情報を前記入力フィールドに反映させ、
操作された操作ボタンに割り当てられた割当対象に動作IDが含まれているとき、当該動作IDが前記端末装置で選択されたものとするステップと、
を備えることを特徴とする制御方法。
【請求項11】
複数の利用者の間で交換されるメッセージを、サーバと通信可能なコンピュータの表示部に表示させるサービスを提供するメッセージ送信システムであって、
入力フィールドに入力された文字情報と、動作選択部で選択されるとともにメッセージの送信者を表象するアバターに与える動作を一意に識別する動作IDとのうち、少なくとも動作IDを含んだメッセージを送信する送信部を備えた前記コンピュータを、
前記送信部により送信されたメッセージに含まれる文字情報の一部または全部、若しくは、動作IDで構成される割当対象を記憶部に複数個、記憶させて管理する管理部、
複数の操作ボタンを表示部に表示させる表示制御部、
前記記憶部に記憶された前記複数個の割当対象のそれぞれを、前記複数の操作ボタンのそれぞれに割り当てる割当部、および、
前記複数の操作ボタンのいずれかが操作された場合に、
操作された操作ボタンに割り当てられた割当対象に文字情報が含まれているとき、当該文字情報を前記入力フィールドに反映させ、
操作された操作ボタンに割り当てられた割当対象に動作IDが含まれているとき、当該動作IDが前記動作選択部で選択されたものとする操作処理部、
として機能させるためのプログラム。
【請求項12】
複数の利用者の間で交換されるメッセージを、通信可能な端末装置の表示部に表示させるサービスを提供するコンピュータであって、
前記入力フィールドに入力された文字情報と、前記端末装置で選択されるとともにメッセージの送信者を表象するアバターに与える動作を一意に識別する動作IDとのうち、少なくとも動作IDを含んだメッセージを受信する受信部を備えたコンピュータを、
前記受信部により受信したメッセージに含まれる文字情報の一部または全部、若しくは、動作IDで構成される割当対象を記憶部に複数個、記憶させて管理する管理部、
前記記憶部に記憶された前記複数個の割当対象のそれぞれを、前記表示部に表示させた複数の操作ボタンのそれぞれに割り当てる割当部、および、
前記複数の操作ボタンのいずれかが操作された場合に、
操作された操作ボタンに割り当てられた割当対象に文字情報が含まれているとき、当該文字情報を前記入力フィールドに反映させ、
操作された操作ボタンに割り当てられた割当対象に動作IDが含まれているとき、当該動作IDが前記端末装置で選択されたものとする操作処理部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、SNS(Social Networking Service)などのサイトでメッセージの閲覧等のサービスを提供する技術に関する。
【背景技術】
【0002】
近年、インターネットを利用して様々なメッセージの閲覧、共有、交換などができるサービスが普及している(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008−242693号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、近年、メッセージについては複雑化・高度化する傾向がある。このようなサービスについては、据え付け型のコンピュータよりも携帯電話機のような端末装置で提供を受ける場合が多い。このため、ハードウェアの制約が比較的大きい装置で、複雑化・高度化するメッセージを迅速かつ簡易に入力したい、という要求は強い、といえる。
本発明は、上述した事情に鑑みてなされたものであり、その目的の一つは、複雑化・高度化するメッセージを迅速かつ簡易に入力できる技術を提供することにある。
【課題を解決するための手段】
【0005】
上記課題を解決するために本発明が採用する手段を説明する。なお、本発明の理解を容易にするために、以下では図面の参照符号を便宜的に括弧書で付記するが、本発明を図示の形態に限定する趣旨ではない。
【0006】
本発明に係るメッセージ送信システム(1)は、メッセージの送信者を表象するアバター(273)に与える動作を選択する動作選択部(260)と、入力フィールド(272)に入力された文字情報と、前記動作選択部(260)で選択された動作を一意に識別する動作IDとのうち、少なくとも動作IDを含んだメッセージを送信する送信部(204a)と、前記送信部(204a)により送信されたメッセージに含まれる文字情報の一部または全部、若しくは、動作IDで構成される割当対象を記憶部(205)に複数個、記憶させて管理する管理部(232)と、複数の操作ボタンを表示部に表示させる表示制御部(234)と、前記記憶部(205)に記憶された前記複数個の割当対象のそれぞれを、前記複数の操作ボタン(242)のそれぞれに割り当てる割当部(233)と、前記複数の操作ボタン(242)のいずれかが操作された場合に、操作された操作ボタン(242)に割り当てられた割当対象に文字情報が含まれているとき、当該文字情報を前記入力フィールド(272)に反映させ、操作された操作ボタン(242)に割り当てられた割当対象に動作IDが含まれているとき、当該動作IDが前記動作選択部(260)で選択されたものとする操作処理部(235)と、を備える。
本発明によれば、メッセージが送信されると、当該メッセージに含まれる文字情報の一部または全部、若しくは、動作IDで構成される割当対象が操作ボタンに割り当てられるので、再度送信する場合には、操作ボタンの操作で済む。したがって、本発明によれば、複雑化・高度化するメッセージを迅速かつ簡易に入力することが可能になる。
ここで、操作ボタンに対応付けられる割当対象としては、送信された文字情報の全部としても良いが、文字情報が多数である場合や長い場合に、最初の読点「、」や句点「。」までの一部としても良いし、ユーザが不要部分を削除した一部としても良い。例えば送信されたメッセージに含まれる文字情報が「こんばんは。元気ですか?」である場合、操作ボタンに全部を割り当てても良いし、その一部の「こんばんは。」や「元気ですか?」を割り当てても良い。
【0007】
本発明において、一意に識別可能な画像IDに対応付けられた複数の画像のうち、いずれかを選択する画像選択部(250)を備え、前記送信部(204a)は、前記画像選択部(250)で選択された画像に対応する画像IDを前記メッセージに含めて送信し、前記管理部(232)は、送信されたメッセージに含まれる画像IDを前記割当対象に含ませて前記記憶部(205)に記憶させ、前記割当部(233)は、記憶された前記画像IDを前記操作ボタン(242)に割り当て、
前記操作処理部(235)は、操作された操作ボタン(242)に割り当てられた割当対象に前記画像IDが含まれている場合、当該画像IDを前記入力フィールド(272))に反映させない構成としても良い。この構成によれば、メッセージに文字情報、動作ID以外の画像IDを含めることができる。この画像IDは、画像そのものではなく、画像を識別するものであるので、情報量が少なくて済む。なお、この構成において、メッセージに含まれる文字情報の一部、動作IDと画像IDとを対応付けて記憶するとともに、操作ボタンに割り当てても良い。
【0008】
また、本発明において、前記管理部(232)は、前記複数個の割当対象のそれぞれを、各割当対象に対応したメッセージを前記送信部(204a)によって送信された送信日時と対応付けて前記記憶部(205)で管理するとともに、前記送信されたメッセージに含まれる文字情報の一部または全部、若しくは、動作IDと同一の割当対象が前記記憶部(205)に記憶されているときには、当該割当対象を新たに記憶させずに当該割当対象に対応する送信日時を更新させる構成としても良い。
ここで、「送信されたメッセージに含まれる文字情報の全部」と「同一の割当対象が記憶部に記憶されているとき」とは、例えば「こんばんは。元気ですか?」という文字情報を含むメッセージが送信された場合に、「こんばんは。元気ですか?」が記憶部に記憶されている状態をいう。換言すれば、上記の場合に、「こんばんは。元気ですか?」が記憶部に記憶されていなければ、「こんばんは。」や「元気ですか?」が個別に記憶されていても、同一ではないので、新たな記憶対象となる。
一方、「送信されたメッセージに含まれる文字情報の一部」と「同一の割当対象が記憶部に記憶されている」とは、上記場合であれば、既に「こんばんは。」や「元気ですか?」などのように一部が個別に記憶部に記憶されている状態をいう。換言すれば、上記の場合に、「こんばんは。元気ですか?」が記憶部に記憶されていなくても、「こんばんは。」や「元気ですか?」が個別に記憶されていれば、同一となるので、新たな記憶対象とはならない。
【0009】
この構成において、前記複数の操作ボタン(242)のそれぞれは、所定の並び順で配置され、前記割当部)233)は、前記並び順で配置する前記複数の操作ボタン(242)に、前記送信日時が新しい順番で前記複数個の割当対象のそれぞれを割り当てる態様が好ましい。この態様によれば、最近使ったメッセージの順に操作ボタンが配置されるので、ユーザの利便性を向上させることが可能になる。
【0010】
一方、本発明において、前記管理部(232)は、前記複数個の割当対象のそれぞれを、各割当対象に対応したメッセージを前記送信部(204a)によって送信された使用回数と対応付けて前記記憶部(205)で管理するとともに、前記送信されたメッセージに含まれる文字情報の一部または全部、若しくは、動作IDと同一の割当対象が前記記憶部(205)に記憶されている場合には、当該同一の割当対象を新たに記憶させずに当該割当対象に対応する使用回数を増加させる構成としても良い。
【0011】
この構成において、前記複数の操作ボタン(242)のそれぞれは、所定の並び順で配置され、前記割当部(233)は、前記並び順で配置する前記複数の操作ボタンに、前記使用回数が多い順番で前記複数個の割当対象のそれぞれを割り当てる態様が好ましい。この態様によれば、利用回数の多い順に操作ボタンが配置されるので、ユーザの利便性を向上させることが可能になる。
【0012】
本発明において、
前記管理部(232)は、前記複数個の割当対象のそれぞれを、各割当対象に対応したメッセージを前記送信部(204a)によって送信された送信日時および使用回数と対応付けて前記記憶部(205)で管理するとともに、前記送信されたメッセージに含まれる文字情報の一部または全部、若しくは、動作IDと同一の割当対象が前記記憶部(205)に記憶されている場合には、当該同一の割当対象を新たに記憶させずに、当該割当対象に対応する送信日時を更新し、使用回数を増加させる構成としても良い。この構成によれば、操作ボタンの個数が限られている場合に有効となる。
【0013】
この構成において、前記複数の操作ボタン(242)のそれぞれは、所定の並び順で配置され、前記割当部(233)は、前記並び順で配置する前記複数の操作ボタン(242)のうち、所定個数分に、前記送信日時が新しい順番で前記割当対象を割り当て、残りの個数分に、前記使用回数が多い順番で前記割当対象を割り当てる態様が好ましい。この態様によれば、最近使ったメッセージに対応する操作ボタンと、良く使うメッセージに対応する操作ボタンとが適度に配置されるので、ユーザの利便性を向上させることが可能になる。
【0014】
なお、上記いずれかの態様において、前記管理部(232)は、前記送信部(204a)で送信されたメッセージに含まれる文字情報の一部または全部、若しくは、動作IDを前記記憶部(205)に記憶させる場合、前記並び順で配置する前記複数の操作ボタン(242)のうち、操作ボタンに最後に割り当てられた割当対象を、前記送信部(204a)で送信されたメッセージに含まれる文字情報の一部または全部、若しくは、動作IDに入れ替えて記憶させることが好ましい。この構成によれば、操作ボタンの個数が限られている場合に有効となる。
【0015】
本発明においては、メッセージ送信システム(1)のみならず、当該システムに適用されるサーバ(12)の制御方法や、当該サーバ(12)または端末装置(20)としてのコンピュータに対して機能させるプログラムとしても概念することが可能である。
また、上記プログラムは記録媒体に記憶させても良い。この記録媒体を用いれば、例えば上記コンピュータに上記プログラムをインストールすることができる。ここで、上記プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であっても良い。
【図面の簡単な説明】
【0016】
図1】実施形態に係るメッセージ送信システムを示す図である。
図2】同システムにおける端末装置の構成を示すブロック図である。
図3】同端末装置でメッセージ処理する際に構築される機能ブロック図である。
図4】メッセージ処理を示すフローチャートである。
図5】ユーザ登録テーブルの一例を示す図である。
図6】グループ登録テーブルの一例を示す図である。
図7】ルーム一覧画面の一例を示す図である。
図8】新規ルーム作成画面の一例を示す図である。
図9】ルーム編集画面の一例を示す図である。
図10】メッセージ表示の位置を示す図である。
図11】メッセージ内容とメッセージ表示との関係を示す図である。
図12】メッセージ表示画面の一例を示す図である。
図13】特定モーションを説明するための図である。
図14】メッセージ本文および画像の表示の一例を示す図である。
図15】メッセージ処理における送信処理を示すフローチャートである。
図16】送信処理における反映処理を示すフローチャートである。
図17】送信画面の一例を示す図である。
図18】画像選択画面の一例を示す図である。
図19】動作選択画面の一例を示す図である。
図20】割当対象登録テーブルの一例を示す図である。
図21】操作ボタン割当テーブルの一例を示す図である。
図22】操作ボタンの配置とボタンIDとの対応関係を示す図である。
図23】送信画面における操作ボタンの再配置の一例を示すため図である。
図24】割当対象登録テーブルの更新例を示す図である。
図25】操作ボタン割当テーブルの更新例を示す図である。
図26】送信画面における操作ボタンの再配置の一例を示すため図である。
図27】送信画面における操作ボタンの再配置の一例を示すため図である。
図28】割当対象登録テーブルの更新例を示す図である。
図29】操作ボタン割当テーブルの更新例を示す図である。
図30】送信画面における操作ボタンの再配置の一例を示すため図である。
図31】送信画面における操作ボタンの配置の別例を示す図である。
図32】割当対象登録テーブルの別例を示す図である。
図33】応用・変形形態に係るメッセージ送信システムを示す図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態について図面を参照して説明する。
図1は、実施形態に係るシステム1を含む全体的な構成を示すブロック図である。ここで、本説明においてシステムとは、メッセージを送信するメッセージ送信システム、交換されたメッセージを表示するメッセージ交換システムの双方をいう。
この図に示されるように、システム1では、複数の端末装置20−1、20−2、20−3、…が、インターネットNa、ゲートウェイ16および移動通信網Nbを介してSNSサーバ12に接続された構成となっている。
ここで、端末装置20−1、20−2、20−3、…については、以下において端末装置を特定せずに一般的に説明するので、符号における「−(ハイフン)」以下を省略して単に「20」とする。
【0018】
SNSサーバ12は、SNS運営者によって運営され、SNS会員(以下、単に「会員」という。)同士が交流するためのソーシャル・ネットワーキング・サービスを提供するために、会員に関する情報や、会員から発信されたメッセージなどを管理する。また、SNSサーバ12は、後述するメッセージ表示機能やメッセージ送信機能を実行する際に必要な情報をテーブル化して記憶する。
【0019】
なお、図1では、SNSサーバ12を1台で構築しているが、2台以上に分散させるとともに外部からみたときに仮想的に1台であるかのようにみえる構成としても良い。一方で、SNSサーバ12の一部の機能を他のサービスを提供しているサーバで構築しても良い。また、SNSサーバ12が中継サーバを介して端末装置20と接続するように構成しても良い。
【0020】
SNSサーバ12は一般的なコンピュータであり、詳細な説明については省略するが、図5に示されるようなユーザ登録テーブルや、図6に示されるようなグループ登録テーブルをデータベースとして管理する。
ユーザ登録テーブルは、図5に示されるように、SNSに登録している会員を例えば複数の英数字で一意に識別する会員IDと、後述するメッセージ表示機能およびメッセージ送信機能を実行する際の利用者を、システム1の内部で管理する利用者IDと、利用者の名前(実名やニックネーム)と、当該利用者を表象するアバター画像を示すアバター情報と、当該利用者を示すプロフィール画像とを対応付けて記憶するテーブルである。
また、アバター情報およびプロフィール画像については、実体そのものではなく、実体のリンク先(参照先)であっても良い。いずれにしても、利用者IDから、利用者の名前、アバター情報およびプロフィール画像が取得できる手段が講じられていれば良い。
【0021】
本実施形態においては、メッセージが、グループ(ルーム)単位で交換・表示される。1つのグループは、複数の利用者で構成され、いずれの利用者も、このSNSの会員であることを条件としている。
グループ登録テーブルでは、図6に示されるように、グループIDで識別されるグループが1または複数登録される。各グループには、グループ名称が付与されるとともに、AからEまでの5人の利用者IDが設定される。なお、グループメンバーの<null>は、未設定の空き状態であることを示している。
図6の例にあって、矢印で示されるグループは、グループIDが「xxx1」であって、グループ名称が「アラフォーズ」であり、利用者IDが「3」、「5」、「2」、「8」の4名の利用者によって構成されていることを示している。ここで、利用者IDが「3」、「5」、「2」、「8」の利用者については、図5に示したユーザ登録テーブルを参照することによって、必要な情報を取得することができる。
【0022】
端末装置20は、例えば利用者が操作する携帯電話機である。この端末装置20の詳細については後述するが、表示部211に重ねられたタッチパネル212を有し、利用者が表示部211の画面に対してタッチ操作等することで、必要な情報の入力や各種の指示が与えられる構成となっている。
なお、端末装置20は、移動通信網Nbに限られず、無線LAN(Local Area Network)に接続される構成であっても良い。無線LANに接続される場合、端末装置20は、無線基地局(アクセスポイント)およびインターネットNbを経由して、上記SNSサーバ12に接続される。また、端末装置20は、携帯電話機に限られず、タブレット型コンピュータやPDA(Personal Digital Assistant)などでも良い。
【0023】
図2は、端末装置20のハードウェア構成を示すブロック図である。この図に示されるように、端末装置20は、CPU(Central Processing Unit)201と、RAM(Random Access Memory)202と、ROM(Read Only Memory)203と、通信部204と、記憶部205と、RTC(Real Time Clock)206と、表示部211と、タッチパネル212と、を含む。
【0024】
このうち、CPU201は端末装置20の全体を制御し、RAM202はCPU201の主記憶部として用いられ、ROM203は基本プログラムなどを記憶する。通信部204は、移動通信網Nbや無線LAN網など介してSNSサーバ12と通信する。記憶部205は不揮発性メモリなどであり、メッセージ表示機能やメッセージ送信機能を実行するためのアプリケーションプログラムや、後述する各種のテーブルなどを格納する。ここでいうアプリケーションプログラムは、SNS運営者によって提供され、特定のサイトからダウンロードされて、端末装置20にインストールされたものである。RTC206は、現在時刻の時間情報を出力する。
【0025】
表示部211は、例えば液晶表示装置や有機EL(Electro Luminescence)装置などの表示パネルである。タッチパネル212は、詳細な説明については省略するが、表示部211による表示画面のタッチ位置(XY座標値)を検出し、検出したタッチ位置を示す位置情報をCPU201に出力する。CPU201は、タッチパネル212からの位置情報に基づいて、タッチ位置の移動方向や、移動速度、タッチ操作の種類等を検出する。
ここで、検出可能なタッチ操作の種類には、例えばタップ、フリック、ドラッグ、ピンチ等が含まれる。このうち、タップとは、表示画面を指で軽く叩く操作である。フリックとは、画面に表示された対象物を指で軽く払う操作である。ドラッグとは、画面に表示された対象物を指で接触させた状態で移動させる操作である。ピンチとは、表示画面に二本の指を接触させた状態で広げたり狭めたりする操作である。
【0026】
実施形態に係るシステム1においては、上述したメッセージ表示機能やメッセージ送信機能などのメッセージ処理が端末装置20で実行されると、当該端末装置20の利用者に様々なサービスが提供される。
詳細には、端末装置20の利用者を含む複数人が予めグループ化されるとともに、メッセージ表示機能の実行によって、当該グループのメンバーによって送信されたメッセージが送信時間の順で表示される、というサービスが提供される。また、グループ化に際し、別の利用者を追加登録したり、すでに登録した利用者を削除したりして、グループ編集も可能となっている。
【0027】
ここで、「メッセージ」には、メッセージの本文である文字情報のほかに、送信者を一意に識別する利用者識別情報(利用者ID)や、メッセージの発信日時を示す発信日時情報、画像を一意に識別する画像識別情報(画像ID)、アバターの動作を規定するモーション情報を、一意に識別する動作識別情報(動作ID)などが含まれる。
アバターは、送信者(利用者)を表象する一種のキャラクター画像であり、例えばメッセージ処理の実行前に予め作成/選択されて、例えばSNSサーバ12に登録される。これにより、各利用者には、それぞれアバターが関連付けられることになる。なお、アバターは、例えば頭部、胴部、両手、両足に相当するブロックでデフォルメして、これらの関節において一定のルールで動きが与えられる構成となっている。このようなアバターの情報は、端末装置20においてグループが作成されたときに、当該グループメンバーのアバターに関する情報がSNSサーバ12から当該端末装置20(の記憶部205)に転送されるようになっている。
また、以降では、ある特定の端末装置20に着目して当該端末装置20での動作を説明するので、着目する端末装置20の利用者を、他の端末装置20に係る利用者と区別する意味で特に「主体者」と呼ぶ場合がある。
【0028】
一方、メッセージ送信機能の実行によって、端末装置20において、あるメッセージが入力フィールドに入力されて送信されると、当該メッセージに含まれる本文などが操作ボタンに割り当てられる一方、当該メッセージを再度送信する場合には、当該操作ボタンを選択することで、入力フィールドに反映される、というサービスが提供される。このとき、最近使ったメッセージや、良く使うメッセージに対応する操作ボタンは、操作のしやすい上位の地点に表示されるように送信の都度、更新される。
【0029】
ここで、メッセージの送信には、厳密にいえば「投稿」と「応答」との2種類がある。このうち、「投稿」とは、主体者や他の利用者が基礎となるメッセージを発信(送信)することをいう。また、「応答」とは、ある投稿(または応答)に対して他の利用者や主体者がメッセージで返信することをいう。このため、「応答」は、必ず基礎となる「投稿」の存在を前提とする。なお、「応答」に対して別の「応答」が発生する場合もある。
ただし、本実施形態においては、特に「投稿」と「応答」とについては特に次のように必要がない限り、単にメッセージの送信として区別しないものとする。
【0030】
本実施形態において、主体者や他の利用者がメッセージを「投稿」したとき、そのメッセージは、投稿者の会員IDと、その「投稿」を一意に識別する投稿IDと、発信日時(日付および時間)とに対応付けられてSNSサーバ12の記憶部に記憶される。
このような「投稿」に対して、主体者や他の利用者がメッセージで「応答」したとき、当該メッセージは、その「応答」の基礎となる「投稿」の投稿IDと投稿者の会員IDとに紐付けられるとともに、応答者の会員IDと、その「応答」を一意に識別する応答IDと、発信日時とに対応付けられてSNSサーバ12の記憶部に記憶される。
このようにして、SNSサーバ12の記憶部では、1つの「投稿」に対して、0個または1個以上の「応答」が順次紐付けられ、これによって投稿・応答履歴が形成される。
なお、発信された「投稿」および「応答」がSNSサーバ12に記憶される状態については、本願発明と特に関係しないので、説明を省略することにする。
【0031】
次に、実施形態に係るシステム1において、メッセージ処理が実行される場合の動作について説明する。
図3は、端末装置20で構築される機能ブロックを示す図である。
この図に示されるように、CPU201がアプリケーションプログラムを実行することによって、端末装置20の側では、管理部232、割当部233、表示制御部234、操作処理部235およびメッセージ作成部236が構築される。
【0032】
管理部232は、主に記憶部205における割当対象登録テーブル(TB1)と操作ボタン割当テーブル(TB2)とをそれぞれ管理する。なお、割当対象登録テーブル(TB1)および操作ボタン割当テーブル(TB2)についての詳細については、後述することにする。
【0033】
ボタン群240は、端末装置20における複数の操作ボタン242の集合体である。操作ボタン242は、端末装置20がフィーチャー・フォンなどであれば、テンキーなどの物理的なものであっても良いし、端末装置20としてスマート・フォンやタブレット型コンピュータであれば、表示部211に表示させたソフトウェア・キーであっても良い。本説明では、便宜的に、後者のソフトウェア・キーを用いることにする。
割当部233は、操作ボタン割当テーブル(TB2)を参照して、複数の操作ボタン242に対して、後述する割当対象を所定のルールにしたがってそれぞれ割り当てる。
【0034】
表示制御部234は、表示部211に対し所定の画面が表示されるように制御する。例えば、表示制御部234は、メッセージ表示機能の実行時にあっては、ルーム作成画面や編集画面などの画面を表示させたり、SNSサーバ12から投稿・応答履歴を受信したときに、当該履歴に応じた本文や動作を伴うアバターなどを表示させたりする。
一方、表示制御部234は、メッセージ送信機能の実行時にあっては、後述する操作ボタン242を表示させるほか、後述する操作がなされたときに、画像選択部250となるサブ画面や、動作選択部260となるサブ画面などを表示させる。
【0035】
操作処理部235は、主にタッチパネル212に対する操作を検出し、当該検出内容に応じて各部に指示する。具体的には、操作処理部235は、操作ボタン242や、画像選択部250、動作選択部260などへの操作に応じた表示が入力フィールド272に反映されるように表示制御部234に指示したり、当該操作に応じたメッセージを作成すべき旨を、メッセージ作成部236に指示したりする。
メッセージ作成部236は、入力フィールド272に反映された文字情報や、操作処理部235による通知にしたがったメッセージを、必要に応じて管理部232を介し記憶部205から取得した情報を用いて作成する。
【0036】
通信部204は、情報を送信する送信部204aと受信する受信部204bとに分けられる。このうち、送信部204aは、作成されたメッセージや、各種情報、指令などをSNSサーバ12に送信するものであり、受信部204bは、SNSサーバ12から投稿・応答履歴やアバター情報、動作(モーション)情報などを受信するものである。
【0037】
図4は、メッセージ処理を実行する場合の動作を示すフローチャートである。
まず、端末装置20において、メッセージ処理を実行するために、利用者が所定の操作をしたとき、例えば当該機能を示すアイコンなどをメインメニュー画面(図示省略)においてタップしたとき、当該端末装置20においては、CPU201が当該機能に対応したアプリケーションプログラムを起動する。
【0038】
表示制御部234は、まず自身の端末装置20においてルームが存在しているか否かを判別する(ステップSa11)。ここで、ルームとは、自己が属しているグループのことである。
いずれかの端末装置20でルームが作成されると、当該ルーム(グループ)を規定するグループ情報がSNSサーバ12のグループ登録テーブル(図6参照)に登録される。したがって、ある端末装置20においてルームが存在しているか否かについては、SNSサーバ12に対して、当該端末装置20に係る利用者IDがグループ登録テーブルにおいてグループメンバーとして登録されているか否かを問い合わせることで判別できる。SNSサーバ12は、問い合わせた端末装置20に係る利用者IDが登録されていれば、登録されているすべてのグループ情報を当該端末装置20に送信する一方、登録されていなければ、当該端末装置20にはルームが存在していない旨を当該端末装置20に送信する。
【0039】
自身の端末装置20においてルームが存在していなければ(ステップSa11の判別結果が「No」であれば)、処理手順が後述するステップSa21に移行する。一方、ルームが存在していれば(ステップSa11の判別結果が「Yes」であれば)、表示制御部234は、受信部204bを介して受信したグループ情報に基づいて、存在しているルームの一覧を示す画面を表示部211に表示させる(ステップSa12)。
【0040】
図7は、端末装置20において表示されるルーム一覧画面の一例を示す図である。
この図に示されるように、端末装置20の表示部211においては、「参加ルーム」というタブ281が付された画面と、「管理中のルーム」というタブ282が付された画面とが重ねられるとともに、いずれかが選択された方の画面が上面となるように表示される。ここで、タブ281が付された画面が選択されている場合、同図に示されるように、当該端末装置20の主体者がメンバーとして登録されているルームが、名称、メンバーのプロフィール画像、当該ルームのメンバーによる最終発言日時などとともに一覧表示される。
【0041】
また、ルーム一覧画面において、マーク283は、ルームにおいて未読のメッセージがあることを示している。ボタン284は、一覧表示においてルームのソート条件を選択するものである。このボタン284の表示部分がタップされると、各種のソート条件がプルダウンメニューで表示されるとともに、選択されたソート条件がエリア285に表示されるようになっている。ソート条件としては、例えば最新の投稿があった順、ルームの作成順(新しい順)、ルームの作成順(古い順)、ルームメンバーの多い順、ルームメンバーの少ない順、などが挙げられる。
【0042】
ルームにおいてメンバーのプロフィール画像を囲む太枠は、当該ルームの管理者(作成者)であることを示す。ボタン286は、自己が管理者となっているルームを編集するためのものである。したがって、ルーム一覧画面が表示される端末装置20の主体者の利用者IDが、仮に図5のユーザ登録テーブルにおいて「3」である場合には、図7に示されるように自己が管理者となっているルームのみにボタン286が現れる。
ボタン287は、新規ルームの作成を指示するものである。
ボタン288は、各ルームに対応してそれぞれ設けられるものであり、その操作によって当該ルームへの移動が指示される。
ボタンFinは、このメッセージ処理の終了を指示するものである。
【0043】
なお、一覧すべきグループが多数あって、表示部211で1度に表示しきれない場合でも、例えばフリックなどの操作をすれば、上下にスクロール表示される。また、ルーム一覧画面において「管理中のルーム」のタブ282が付された画面が選択された場合には、メンバーとして登録されているグループのうち、自己が管理者となっているグループのみが一覧表示される(図示省略)。
【0044】
このようなルーム一覧画面の表示において、操作処理部235は、なんらかの操作(指示)があったか否かを判別する(ステップSa13)。操作がなければ(ステップSa13の判別結果が「No」であれば)、処理手順がステップSa12に戻る。このため、なんらかの操作があるまで、ルーム一覧画面の表示が継続することになる。
なんらからの操作があったとき(ステップSa13の判別結果が「Yes」になったとき)、操作処理部235は、当該操作が終了の指示、すなわちボタンFinの表示部分への操作であったか否かを判別する(ステップSa14)。
【0045】
終了の指示であれば(ステップSa14の判別結果が「Yes」であれば)、このメッセージ処理が終了してメインメニュー画面に戻る。
一方、終了の指示でなければ(ステップSa14の判別結果が「No」であれば)、操作処理部235は、当該操作がルーム選択の指示、すなわち、いずれかのルームに対応したボタン288の表示部分への操作であったか否かを判別する(ステップSa15)。
当該操作がルーム選択であれば(ステップSa15の判別結果が「Yes」であれば)、処理手順がステップSa16に移行する。当該操作がルーム選択でなければ(ステップSa15の判別結果が「No」であれば)、操作処理部235は、当該操作がルーム編集の指示、すなわち、自己が管理者となっているルームに対応したボタン286の表示部分への操作であったか否かを判別する(ステップSa20)。
当該操作がルーム編集の指示でなければ(ステップSa20の判別結果が「No」であれば)、操作処理部235は、当該操作が新規ルームの作成指示であったと判別して、処理手順をステップSa21に移行させる。一方、当該操作がルーム編集の指示であれば(ステップSa20の判別結果が「Yes」であれば)、操作処理部235は、処理手順をステップSa22に移行させる。
【0046】
ステップSa21では、操作処理部235が表示制御部234に対して新規ルーム作成画面の表示を指示する。この指示にしたがって表示制御部234は、表示部211に新規ルーム作成画面を表示する。新規ルーム作成画面は、主体者が自己をメンバーに含んだルームを新規に作成するための画面である。
【0047】
図8は、新規ルーム作成画面の一例を示す図である。この図に示されるように、表示部211においては、新規に作成するルーム名称を入力するためのエリア289が表示される。このエリア289がタップされると、ソフトウェア・キーボード(図示省略)が表示される。そして、主体者が当該ソフトウェア・キーボードを操作することによってルーム名称を入力する。
一方、エリア289の下側には、メンバーとして登録可能な利用者が、プロフィール画像および名前で一覧表示される。また、チェックボックス290が、利用者毎にそれぞれ対応して表示される。ここで、主体者は、ルームメンバーとして登録したい利用者について、対応するチェックボックスをタップするなどしてチェックを入れる。
【0048】
なお、メンバーとして登録可能な利用者としては、ユーザ登録テーブルにおいて登録された全員としても良いし、予め主体者が候補として選んだ者としても良いし、事前に提示された条件(嗜好、性別、年齢など)を満たした者としても良い。
また、登録可能な利用者が多数あって、1度に表示しきれない場合でも、例えばスライドバー291を移動させたり、一覧表示部分をフリックしたりするなどすれば、上下にスクロール表示される。
【0049】
こうしてルーム名称が入力されるとともに、1人以上のメンバーが登録されて、ボタン292の表示部分がタップされると、操作処理部235は、表示制御部234に対しては主体者に対し利用規約を確認させる画面などを表示させる一方、送信部204aに対しては、ルーム(グループ)を規定する諸情報を、SNSサーバ12に送信するように指示する。この後、処理手順はステップSa11に戻る。
【0050】
諸情報を受信したSNSサーバ12は、メンバーとして登録された主体者以外の利用者に対し、当該利用者を構成員とするグループが主体者によって作成された旨、および、このグループへの参加の許否を確認させるメールを送信する。当該メールを受信した利用者は、グループへの参加の許否についてSNSサーバ12に返信する。
SNSサーバ12は、主体者と参加許諾した利用者とをメンバーとするグループを、グループ登録テーブル(図6参照)に新規登録する。
したがって、自己を含むルームが作成された後にステップSa11に戻ったときに、当該ステップSa11の判別結果が「Yes」となり、続くルーム一覧画面においては、新規登録したルームが追加されて表示されることになる。
なお、新規ルーム作成画面において、ボタン293の表示部分がタップされると、作成内容が反映されずに破棄されて、処理手順がステップSa11に戻る。
【0051】
ステップSa22では、操作処理部235が表示制御部234に対してルーム編集画面の表示を指示する。この指示にしたがって表示制御部234は、表示部211にルーム編集画面を表示する。ルーム編集画面は、主体者が作成したルームを編集するための画面である。
【0052】
図9は、端末装置20において表示されるルーム編集画面の一例を示す図である。この図に示されるように、表示部211においては、編集の対象となっているルームについての名称や、メンバーとして登録されている利用者の情報が表示される。
ここで、ルームの名称を変更するには、エリア289をタップして、新たな名称を入力し直せば良い。また、メンバーとしての利用者を新たに追加するには、対応する利用者のチェックボックスにチェックを入れれば良いし、逆にメンバーの登録を解除する場合には、対応する利用者のチェックボックスに入れたチェックを外せば良い。
【0053】
編集後、ボタン294の表示部分がタップされると、変更したルームを規定する諸情報が送信部204aを介しSNSサーバ12に送信される。この後、処理手順はステップSa11に戻る。
諸情報を受信したSNSサーバ12は、メンバーとして新たに追加された利用者があれば、当該利用者が構成員としてグループに追加された旨、および、このグループへの参加の許否を確認させるメールを送信する。当該メールを受信した利用者は、グループへの参加の許否についてSNSサーバ12に返信する。一方、SNSサーバ12は、メンバーとして登録が解除された利用者があれば、その旨のメールを当該利用者に送信する。
SNSサーバ12は、グループ登録テーブルに対し、参加許諾の返信があれば、当該グループのメンバーとして追加登録する一方、登録が解除された利用者については、当該グループのメンバーから削除する。
ステップSa11に戻ったときに、続くルーム一覧画面においては、編集後のルーム内容が反映されて表示されることになる。
【0054】
なお、ルーム編集画面において、ボタン295は、編集対象のルームの解散を指示するものである。当該ボタン295の表示部分がタップされると、その旨の情報がSNSサーバ12に送信される一方、SNSサーバ12は、当該グループに関しての登録をグループ登録テーブルから削除するとともに、主体者以外の利用者にその旨のメールを送信する。また、ボタン296の表示部分がタップされると、編集内容が反映されずに破棄されて、処理手順がステップSa11に戻る。
【0055】
さて、ルーム一覧画面において、あるルームに対応したボタン288の表示部分がタップされると、当該ルームのメンバーによって送信されたメッセージ内容を表示する処理が実行される(ステップSa16)。
【0056】
詳細には、次の通りである。
すなわち、第1に、操作処理部235は、タップされたボタン288に対応するルームを特定する情報を、送信部204aを介してSNSサーバ12に送信する。第2に、SNSサーバ12は、グループ登録テーブルを参照して当該ルーム(グループ)のメンバーを特定し、当該メンバーに係る投稿・応答履歴を、ルームを特定する情報を送信した端末装置20に返信する。第3に、端末装置20では、表示制御部234が、当該投稿・応答履歴を、受信部204bを介して受信して、当該投稿・応答履歴に含まれる、メンバー毎のメッセージに基づく表示を表示部211に表示させる。
【0057】
メッセージに基づく表示について具体的に説明すると、メッセージには、上述したように文字情報と、利用者IDと、発信日時情報と、画像IDと、動作IDとが含まれる。これらの情報から、表示制御部234は、表示部211に対して、投稿・応答履歴に基づくメッセージ表示を、図10に示されるように、発信日時の順番で左右交互に、かつ、新しいものほど画面の下方に向かうようにメッセージを単位として配列させる。詳細には、同図に示されるように、表示制御部234は、あるグループで1番目に送信されたメッセージの表示(1)を図において右上端の地点に配置させた場合に、2番目に送信されたメッセージの表示(2)を、表示(1)に対して左斜め下側の地点に配置させ、3番目に送信されたにメッセージの表示(3)を、表示(2)に対して右斜め下側の地点に配置させ、以下同様に繰り返すように、メッセージの表示を交互に配置させる。
なお、発信日時が古いものほど画面の下方に向かうように配列させても良いが、ここでは便宜的に、同図に示されるように、新しいものほど画面の下方に向かうように配列させた例で説明する。
【0058】
本実施形態において、メッセージには、文字情報と画像IDと動作IDとが、図11において便宜的にタイプ(A)から(E)までの5通りの組み合わせのいずれかで含まれるものとする。
すなわち、タイプ(A)では、文字情報だけが含まれ、タイプ(B)では、文字情報と画像IDとが含まれ、タイプ(C)では、文字情報と動作IDとが含まれ、タイプ(D)では、文字情報と画像IDと動作IDとが含まれ、タイプ(E)では、動作IDだけが含まれるものとする。
【0059】
メッセージの表示は、5通りの組み合わせに対して、同図右欄で示されるようなものとなる。詳細には、タイプ(A)では、文字情報に基づいた本文が吹き出しで表示されるとともに、利用者IDに基づくプロフィール画像と、発信日時情報に基づいて発信された時間情報とがそれぞれ吹き出しとは別個に表示される。タイプ(B)では、文字情報に基づいた本文と、画像IDに対応する画像とが吹き出しで表示されるとともに、プロフィール画像と、時間情報とがそれぞれ別個に表示される。なお、画像IDに対応する画像は、吹き出しの外に表示されるようにしても良い。
また、本実施形態において、メッセージに動作IDが含まれない場合に、文字情報、画像IDの有無に応じてタイプ(A)または(B)としているが、メッセージに、予め動作IDなしを示す情報が含ませて、文字情報、画像IDの有無に応じてタイプ(A)または(B)としても良い。
タイプ(C)では、タイプ(A)と同様な吹き出しとプロフィール画像と時間情報とともに、モーションを伴うアバターが表示される。このアバターは、利用者IDに対応したアバター情報で規定されるものであり、このモーションは、動作IDに対応するモーション情報にしたがっている。タイプ(D)では、タイプ(B)と同様な吹き出しとプロフィール画像と時間情報とともに、タイプ(C)と同様にモーションを伴うアバターが表示される。タイプ(E)では、文字情報が含まれないので、吹き出しが表示されずに、プロフィール画像と時間情報とともにタイプ(C)と同様にモーションを伴うアバターが表示される。
【0060】
なお、吹き出しの大きさ、および、吹き出しに対する文字の配置などは、文字数や改行などにより適切に制御される。
また、図11の右欄は、メッセージの表示が画面において右側の地点に配置された場合の例である。メッセージの表示が画面において左側の地点に配置された場合には、同図の例を左右反転としたものとなる(図示省略)。また、自己が送信したメッセージである場合に、プロフィール画像については、他のメンバーと区別する意味で非表示とする。また、他のメンバーと区別するように自己が送信したメッセージの吹き出しの色または形状を、他の吹き出しのものと異ならせるようにしても良い。
【0061】
画像IDは、実体(画像情報)でなく、識別するための情報に過ぎないが、端末装置20が、SNSサーバ12または別途のサーバに対し、当該画像IDに対応する画像情報を要求することで、実体である画像情報を取得することができる。動作IDについても同様である。
【0062】
タイプ(C)、(D)、(E)においてアバターを表示する際に、表示制御部234は、原則的に、当該アバターの視線方向が1つ後の発言に向かうように表示させる。すなわち、発信日時が古いものほど画面の下方に向かう左右の交互配列において、原則的に、左側に配置したアバターの視線は右斜め下方向となる一方、右側に配置したアバターの視線は左斜め下方向となる。ただし、表示制御部234は、メッセージに含まれる動作IDが後述するように予め定められた特定動作IDである場合であって、特定の条件を満たしたとき、例外的に、後述するようにアバターの視線が1つ前の発言に向かうように表示させる。
【0063】
図12は、メッセージ表示画面の一例を示す図である。この図に示される例において、表示(1−1)が図11におけるタイプ(A)に相当し、表示(1−2)、(1−3)がそれぞれタイプ(C)に相当している。
表示(1−3)が、自己に係るメッセージに基づく場合、破線で示されるようにプロフィール画像が非表示となる。また、メッセージ表示画面については、他の例と同様に、上または下方向のフリック操作によって、スクロール表示されるようになっている。
【0064】
ところで、メッセージ内容を表示する際に当該メッセージがタイプ(C)、(D)、(E)である場合に、すなわちメッセージに動作IDが含まれる場合に、当該動作IDが予め定められた特定動作IDであるとき、アバターの動作および視線方向が次のように例外的となる。
すなわち、表示制御部234は、上述したようにアバターの視線方向を原則的に1つ後の発言に向かうように制御するが、あるメッセージに含まれる動作IDが特定動作IDであるときは、例外的に、当該メッセージに基づくアバターの視線方向を1つ前の発言に向かうように制御する。
さらに、特定動作IDを含むメッセージの1つ前に送信されたメッセージに、動作IDが含まれているとき、表示制御部234は、当該1つ前のメッセージに含まれる動作IDを、特定動作IDに関連付けられた動作IDに更新して、更新後の動作IDで示されるモーションに変更する。
【0065】
なお、特定動作IDを含むメッセージの1つ前に送信されたメッセージに動作IDが含まれていないとき、表示制御部234は、当該1つ前のメッセージに含まれる動作IDを更新しない(できない)。この場合には、特定動作IDを含むメッセージに基づくアバターの視線方向については原則通り、1つ後の発言に向かうように表示させるようにしても良い。
【0066】
このような特定動作IDの例としては、「殴る」、「突っ込む」、「回し蹴り」などのモーションに対応したものが挙げられる。特定動作IDの「殴る」に関連付けられた動作IDとしては、例えば「(殴られた方向に)倒れる」が挙げられる。また、特定動作IDの「突っ込む」に関連付けられた動作IDとしては例えば「ずっこける」が挙げられ、特定動作IDの「回し蹴り」に関連付けられた動作IDとしては例えば「(蹴られた方向に)吹っ飛ぶ」が挙げられる。
【0067】
図13は、特定動作IDに係るアバターのモーションを説明するための図である。
ここでは、特定動作IDを含むメッセージの前に、(a)に示されるような、「謝るB」(図19参照)という動作IDを含むメッセージの表示(2−1)が、右上側の地点で配置されているものとする。
図13(a)で示されるメッセージの次に、特定動作IDの「殴る」を含むメッセージが送信された場合、同図(b)で示されるように、当該メッセージの表示(2−2)が、表示(2−1)に対して左斜め下の地点に配置されるとともに、「殴る」のモーションを伴うアバターの視線方向が例外的に1つ前の発言である右斜め方向に制御される。
さらに、1つ前の発言に係るメッセージの「謝るB」のモーションの動作IDが、「殴る」に関連付けられた「倒れる」というモーション情報の動作IDに更新されるので、同図(b)で示されるように、表示(2−1)におけるアバターが「倒れる」というモーションに変更される。
【0068】
一方、(a)で示されるメッセージの後に、タイプ(A)、(B)のように動作IDを含まないメッセージが送信され、この後、特定動作IDの「殴る」を含むメッセージが送信された場合、すなわち、特定動作IDを含むメッセージの直前に、動作IDを含まないメッセージが送信された場合、次のようになる。
すなわち、動作IDを含まないメッセージの表示(3−2)が、表示(2−1)に対して左斜め下の地点に配置されるとともに、特定動作IDを含むメッセージの表示(2−2)は、表示(3−2)に対して右斜め下の地点に配置されるとともに、「殴る」のモーションを伴うアバターの視線方向が原則通りに1つ後の発言(予定地点)である左斜め方向に制御される。なお、表示(2−1)における「謝るB」の動作IDが更新されないので、同図(c)で示されるように、表示(2−1)におけるアバターが「謝るB」というモーションから変更されない。
【0069】
図14は、タイプ(B)、(D)のように画像IDがメッセージに含まれる場合に、吹き出し部分の表示例を示す図である。
メッセージに画像情報IDが含まれている場合、表示制御部234は、例えば画像情報IDで示される参照先に画像情報を、送信部204aを介して要求する一方で、参照先から当該画像情報を、受信部204bを介して受信する。
吹き出しにおける画像情報で示される画像の位置については、図14(a)で示されるように本文に続いても良いし、同図(b)で示されるように本文の後、改行を経て、中央部分としても良い。また、画像は吹き出しの外に表示されるようにしても良い。
【0070】
このようにステップSa16においては、選択されたルームのメンバーによって送信されたメッセージ内容が時系列で表示される。
このメッセージ表示画面においては、図12に示されるように、また、送信画面への移行を指示するボタン297と、ルーム編集画面への移行を指示するボタン298と、ルーム一覧画面に戻すことを指示するボタン299とが表示されている。
【0071】
メッセージ表示画面において、操作処理部235は、タッチパネル212において何らかの操作があったか否かを判別する(図4におけるステップSa17)。何ら操作がなければ(ステップSa17における判別結果が「No」であれば)、処理手順がステップSa16に戻る。このため、何らかの操作がなされるまで、ステップSa16およびSa17の処理がループして、メッセージ表示画面が継続することになる。
【0072】
一方、何らか操作があれば(ステップSa17における判別結果が「Yes」であれば)、操作処理部235は、当該操作がボタン297の表示部分へのタップであったか否かを判別する(ステップSa18)。
ボタン297へのタップであれば(ステップSa18の判別結果が「Yes」であれば)、処理手順がステップSa19に移行して送信処理が実行され、この後、ステップSc16に戻る。
一方、ボタン297へのタップでなければ(ステップSa18の判別結果が「No」であれば)、操作処理部235は、当該操作がボタン298の表示部分へのタップであったか否かを判別する(ステップSa23)。
【0073】
ボタン298へのタップであれば(ステップSa23の判別結果が「Yes」であれば)、操作処理部235は、処理手順を上述したステップSa22に移行させて、表示制御部234にルーム編集画面を表示させる。
また、ボタン298へのタップでなければ(ステップSa23の判別結果が「No」であれば)、ボタン299へのタップであったと判別して、操作処理部235は、処理手順を上述したステップSa12に戻して、表示制御部234にルーム一覧画面を再度、表示させる。
【0074】
さて、ステップSa19における送信処理は、メッセージの作成、メッセージの送信および送信後における操作ボタンの再配置のため処理である。この送信処理の詳細について図15のフローチャートを参照して説明する。
メッセージ表示画面においてボタン297(図12参照)が操作されたのであれば(図4のステップSa18における判別結果が「Yes」であれば)、操作処理部235は、表示制御部234に対して、送信画面を表示するように指示する(ステップSb11)。この指示に対して、表示制御部234は、管理部232を介した割当対象登録テーブル(TB1)および操作ボタン割当テーブル(TB2)にしたがって操作ボタン242を配置した送信画面を表示部211に表示させる。
【0075】
図17は、送信画面の一例を示す図である。この図に示される例において、ボタン271は、1つ前のメッセージ表示画面に戻る(図4のステップSa19の処理を終了してステップSa16へ戻る)ことを指示するためのものである。入力フィールド272は、メッセージにおける本文(文字情報)を入力するためのエリアであり、このエリアがタップされると、ソフトウェア・キーボードが別途表示される(図示省略)。
【0076】
図において、入力フィールド272の下側には、ボタン251、261および自己のアバター273が表示されている。
このうち、ボタン251は、メッセージ本文に添付するスタンプ画像を選択するためのものである。このボタン251の表示部分がタップされると、操作処理部235は、表示制御部234に対し、画像選択画面を表示させる旨を指示する。この指示によって、表示制御部234は、例えば図18に示されるような画像選択画面を表示部211に表示させる。この画像選択画面においては、スタンプ画像に対応する画像252が複数配列している。利用者が画像252を選択し、ボタン254の表示部分をタップすることによって、選択されたスタンプ画像を識別する画像IDが発信予定のメッセージに含まれるようになっている。これにより、この画像選択画面が画像選択部250として機能することになる。
なお、表示される画像252は、図においては3×3の計9個となっているが、例えばスライドバー256の移動や一覧表示部分へのフリックなどの操作によって、上下にスクロール表示される。このため、実際には、多数のスタンプ画像のなかから選択することができるようになっている。ボタン258は、この画像選択画面の表示の終了を指示するものである。
【0077】
また、送信画面において、ボタン261は、アバターに与えるモーションを選択するためのものである。このボタン261の表示部分がタップされると、操作処理部235は、表示制御部234に対し、動作選択画面を表示させる旨を指示する。この指示によって、表示制御部234は、例えば図19に示されるような動作選択画面を表示部211に表示させる。この動作選択画面においては、自己のアバターに与えるべきモーションの見本を示す画像262が複数配列している。利用者が画像262を選択し、ボタン264の表示部分をタップすることによって、選択されたモーションを識別する動作IDが発信予定のメッセージに含まれるようになっている。これにより、この動作選択画面が動作選択部260として機能することになる。
なお、表示される画像262は、図においては3×3の計9個となっているが、例えばスライドバー266の移動や一覧表示部分へのフリックなどの操作によって、上下にスクロール表示される。このため、実際には、多数のモーションのなかから選択することができるようになっている。ボタン268は、この動作選択画面の表示の終了を指示するものである。
また、モーションが選択されてボタン264がタップされたときに、送信画面に戻すとともに、確認の意味で選択されたモーションをアバター273に与えて表示するようにしても良い。
【0078】
説明を図17の送信画面に戻すと、ボタン251、261およびアバター273の下側には、メッセージの送信を指示するボタン274が表示されている。さらに、ボタン274の下側には、ボタン群240を構成する複数の操作ボタン242が表示される。なお、本実施形態において、操作ボタン242が、例えば横3個×縦16個の計48個でマトリクス状に配列した状態で表示されている。図17においては、マトリクス配列の一部のみが表示されているが、この配列の表示部分をフリックなどで操作することによって、上下にスクロール表示することができる。
【0079】
操作ボタン242には上述したように1つずつ、メッセージに含まれる本文、画像ID、動作IDが割り当てられている。操作ボタン242の表面には、本文が割り当てられているのであれば、その本文(こんにちは…、いいよね〜、など)が表示され、画像IDが割り当てられているのであれば、その画像IDに対応した画像が表示され(図示省略)、動作IDが割り当てられているのであれば、その動作IDに対応した画像および説明語(殴る、挨拶など)が表示されている。
なお、メッセージの本文が長くて操作ボタン242の表面に全部を表示できない場合には、その最初の部分を表示したり、スクロール表示させて全体を表示したりするようにしても良い。
ここで、操作ボタン242に割り当てられる割当対象は、割当対象登録テーブル(TB1)によって管理され、割当対象が割り当てられた操作ボタン242の配列は、操作ボタン割当テーブル(TB2)によって管理される。
【0080】
図20は、割当対象登録テーブル(TB1)の一例を示す図である。
この図に示されるように、割当対象登録テーブル(TB1)では、割当対象IDに対し、メッセージの本文と、画像IDと、動作IDと、タイムスタンプと、使用回数とが関連付けられて記憶される。
【0081】
ここで、割当対象IDは、操作ボタン242に割り当てるべき割当対象を一意に識別する情報である。本実施形態では、上述したように操作ボタン242の個数を「48」個としているので、割当対象IDについても、「1」から「48」までの通し番号としている。
また、本文、画像ID、動作IDにおける(NULL)は、それが含まれていない状態を示している。なお、本実施形態において、本文、画像ID、動作IDの組み合わせについては、上述したように図11に示したタイプ(A)からタイプ(E)までのいずれかとしている。
タイムスタンプには、その割当対象が最後に使われた時間(年月日時分秒)が記録され、使用回数には、その割当対象を用いたメッセージが送信された回数が記録される。
【0082】
図21は、操作ボタン割当テーブル(TB2)の一例を示す図である。
この図に示されるように、操作ボタン割当テーブル(TB2)は、割当対象登録テーブル(TB1)における割当対象IDを、操作ボタン242のマトリクス配列における各位置を示すボタンIDに、一対一に対応付けるものである。このため、ボタンIDについても、「1」から「48」までの通し番号としている。
ボタンIDの番号は、図22に示されるように、操作ボタン242のマトリクス配列において図において上側に向かうほど、同一行では左側に向かうほど、若くなるように対応している。したがって、本実施形態では、ボタンIDの番号が小さいほど、マトリクス配列において上位の地点が割り当てられることになる。
【0083】
このようなメッセージ登録テーブル(TB1)および操作ボタン割当テーブル(TB2)によれば、例えばメッセージ登録テーブル(TB1)において、割当対象IDが「2」の割当対象は、「挨拶」の動作IDのみを含むタイプ(E)であり、操作ボタン割当テーブル(TB2)において、ボタンIDが「6」であることから、マトリクス配列において上から数えて2行目であって左列に位置する操作ボタン242に割り当てられることが判る。
このように操作ボタン242への割り当てについては、メッセージ登録テーブル(TB1)で規定され、割り当てられた操作ボタン242の配列については、操作ボタン割当テーブル(TB2)によって規定される。
【0084】
説明を図15のフローチャートに戻すと、操作処理部235は、送信画面において、なんらかの操作があったか否かを判別する(ステップSb12)。操作がなければ(ステップSb12の判別結果が「No」であれば)、処理手順がステップSa11に戻る。したがって、なんらかの操作があるまで、ステップSb11、Sb12が循環するので、送信画面の表示が継続することになる。
【0085】
一方、なんらかの操作があったとき(ステップSb12の判別結果が「Yes」になったとき)、操作処理部235は、当該操作が入力フィールド272への文字の入力操作、画像選択の操作、動作選択の操作、または、操作ボタン242の操作のいずれかであったか否かを判別する(ステップSb13)。
ステップSb13の判別結果が「Yes」であれば、操作処理部235は、当該操作の内容を入力フィールド272に反映させる反映処理を実行し(ステップSb14)、この後、処理手順をステップSb11に戻す。
【0086】
図16は、反映処理の詳細を示すフローチャートである。
まず、反映処理において、操作処理部235は、ステップSb12で有りと判別された操作が入力フィールド272に対する文字の入力操作であったか否かを判別する(ステップSc11)。入力フィールド272に対する文字の入力操作であったならば(ステップSc11の判別結果が「Yes」であれば)、操作処理部235は、入力された文字を入力フィールド272に表示させるように表示制御部234に指示する(ステップSc12)。この指示にしたがって、表示制御部234は、入力フィールド272に入力操作された文字を表示させる。これにより、入力操作された文字が入力フィールド272に反映された状態となる。ステップSc12の後、処理手順は、図15におけるステップSb11に戻って、次の操作に備える。
【0087】
一方、ステップSb12で有りと判別された操作が入力フィールド272に対する文字の入力操作でなかった場合(ステップSc11の判別結果が「No」であった場合)、操作処理部235は、当該操作が画像選択部250を用いた画像の選択操作であったか否かを判別する(ステップSc13)。
ステップSc13の判別結果が「Yes」である場合、または、後述するように読み出された割当対象に画像IDが含まれていた場合、操作処理部235は、その画像IDをメッセージ作成部236に通知する(ステップSc14)。
この後、操作処理部235は、フラグPが“0”であるか否かを判別する(ステップSc15)。ステップSc17の判別結果が「Yes」である場合、処理手順はステップSb11に戻って、次の操作に備える。
【0088】
なお、フラグPは、初期値が“0”であり、後述するように操作ボタン242の操作によって読み出された割当対象に画像IDが含まれているときに“1”にセットされる。このため、画像選択部250を用いた画像の選択操作であれば、フラグPが初期値の“0”であるので、ステップSc15の判別結果が「Yes」となる。したがって、画像IDがメッセージ作成部236に通知されるのみであるので、画像IDが、入力フィールド272の表示に反映されることはない。このように画像IDは、入力フィールド272に反映されることはないが、メッセージ作成部236に送信されるので、実際に送信されるメッセージには含まれることになる。
【0089】
ステップSb12で有りと判別された操作が入力フィールド272に対する文字の入力操作でもなく、画像選択部250の操作でもなかった場合(ステップSc11、Sc13の判別結果がいずれも「No」であった場合)、操作処理部235は、当該操作が動作選択部260を用いたモーションの選択操作であったか否かを判別する(ステップSc16)。
ステップSc16の判別結果が「Yes」である場合、または、読み出された割当対象に動作IDが残存する場合に、操作処理部235は、その動作IDをメッセージ作成部236に通知する(ステップSc17)。
この後、操作処理部235は、フラグQが“0”であるか否かを判別する(ステップSc18)。ステップSc18の判別結果が「Yes」である場合、処理手順はステップSb11に戻って、次の操作に備える。
【0090】
なお、フラグQは、初期値が“0”であり、後述するように操作ボタン242の操作によって読み出された対象に動作IDが含まれているときに“1”にセットされる。このため、動作選択部260を用いたモーションの選択操作であれば、フラグQが初期値の“0”であるので、ステップSc18の判別結果が「Yes」となる。したがって、動作IDがメッセージ作成部236に通知されるのみであるので、動作IDが、入力フィールド272の表示に反映されることはない。このように動作IDは、入力フィールド272に反映されることはないが、メッセージ作成部236に送信されるので、実際に送信されるメッセージには含まれることになる。
【0091】
一方、ステップSb12で有りと判別された操作が入力フィールド272に対する文字の入力操作でもなく、画像選択部250の操作でもなく、動作選択部260の操作でもなかった場合(ステップSc11、Sc13、Sc16の判別結果がいずれも「No」であった場合)、当該操作は、操作ボタン242への操作である。このため、操作処理部235は、管理部232に対して、割当対象登録テーブル(TB1)およびボタン割当テーブル(TB2)を参照して、操作された操作ボタン242に割り当てられた割当対象を読み出し、返信するように指示する(ステップSc19)。
【0092】
例えば図17の送信画面において、ボタンIDが「4」の操作ボタン242が操作された場合について説明すると、当該操作ボタン242には、ボタン割当ボタン(TB2)を参照すれば、割当対象IDが「3」に対応していることが判る。そして、割当対象IDが「3」は、割当対象登録テーブル(TB2)を参照すれば、「いいよね〜」という文字情報のみを含むタイプ(A)の対象であることが判る。このようにして特定される割当対象を、管理部232は、操作処理部235の指示によって割当対象登録テーブル(TB1)から読み出して、操作処理部235に転送する。
【0093】
操作処理部235は、読み出された割当対象に、まず画像IDが含まれているか否かを判別する(ステップSc20)。ここで、対象に画像IDが含まれていれば(ステップSc20の判別結果が「Yes」であれば)、操作処理部235は、フラグPに“1”をセットする(ステップSc21)。
この後、処理手順を先のステップSc14に移行させて、操作処理部235は、含まれている画像IDをメッセージ作成部236に通知する。ここで、フラグPに“1”がセットされているので、続くステップSc15の判別結果が「No」となる。
操作処理部235は、フラグPを“0”にリセットし(ステップSc24)、読み出された対象に含まれる画像IDを除去して(ステップSc25)、処理手順をステップSc20に移行させる。なお、当初読み出された割当対象に含まれていた画像IDが除去されているので、2度目のステップSc20の判別結果は「No」となる。
【0094】
ステップSc20の判別結果が「No」である場合に、画像IDが除去されているが、動作IDが含まれているときがある。このため、操作処理部235は、次に動作IDが含まれているか否かを判別する(ステップSc22)。ここで、対象に動作IDが含まれていれば(ステップSc22の判別結果が「Yes」であれば)、操作処理部235は、フラグQに“1”をセットする(ステップSc23)。
この後、処理手順を先のステップSc17に移行させて、操作処理部235は、含まれている動作IDをメッセージ作成部236に通知する。ここで、フラグQに“1”がセットされているので、続くステップSc18の判別結果が「No」となる。
操作処理部235は、フラグQを“0”にリセットし(ステップSc25)、含まれていた動作IDを除去して(ステップSc26)、処理手順をステップSc20に移行させる。ステップSc26を経由したときは、含まれていた画像IDが除去されているので、ステップSc22の判別結果は「No」となる。
ステップSc22の判別結果が「No」であるとき、ステップSc19において操作ボタン242の操作に応じて読み出された割当対象には、画像IDも動画IDも除去されるので、メッセージ本文だけが残る。そこで、操作処理部235は、残っているメッセージ本文を入力フィールド272に表示させるように表示制御部234に指示する(ステップSc27)。
したがって、タイプ(B)、(C)、(D)のような割当対象が割り当てられた操作ボタン242が操作されても、入力フィールド272に反映されるのは、本文のみであり、画像IDや動作IDについては反映されないことになる。また、本文が含まれないタイプ(E)のような割当対象が割り当てられた操作ボタン242が操作されても、入力フィールド272にはなに反映されない。
【0095】
ここで、入力フィールド272になんらかの文字(文章)が表示されている状態(ステップSc27の処理後)において、送信画面(ステップSb11)に対し、入力フィールド272への文字の入力操作、画像選択の操作、動作選択の操作、または、操作ボタン242の操作のいずれかがなされたとき、処理手順はステップSb11→Sb12→Sb13→Sb14と進行する。
このため、文字の入力操作であれば、入力フィールド272に表示されていた文字に、当該入力操作に係る文字が追加される形で反映される。また、本文が割り当てられた操作ボタン242への操作であれば、入力フィールド272に表示された文字に、当該操作ボタン242に割り当てられた本文が追加される形で反映される。
また、入力フィールド272においては追加ではなく、上書きでも良い。すなわち、文字の入力操作であれば、入力フィールド272に表示された文字が、当該入力操作に係る文字に上書きされる形で反映されても良いし、本文が割り当てられた操作ボタン242への操作であれば、入力フィールド272に表示された文字が、当該操作ボタン242に割り当てられた本文に上書きされる形で反映されても良い。
なお、入力フィールド272に反映された文字については、一部の削除や置換などの編集が適宜可能である。
【0096】
この反映処理において、画像IDが割り当てられていた操作ボタン242が操作された場合、画像選択部250で画像IDが選択されたときと同じようにステップSc14を経由する。このため、画像IDが割り当てられた操作ボタン242の操作は、画像選択部250による選択と実質的に同等になり、画像選択部250による選択と同視することができる。
動作IDが割り当てられていた操作ボタン242が操作された場合も同様であり、動作選択部260で動作IDが選択されたときと同じようにステップSc17を経由する。このため、動作IDが割り当てられた操作ボタン242の操作は、動作選択部260による選択と実質的に同等になり、動作選択部260による選択と同視することができる。
【0097】
このように、送信画面(図17参照)において入力フィールド272への文字の入力操作、画像選択部250への操作、動作選択部260への操作、または、操作ボタン242への操作のいずれかがあった場合に、反映処理においては当該操作に応じた表示が入力フィールド272に反映される。
なお、ステップSc27の後、処理手順はステップSb11に戻って、次の操作に備える。
【0098】
説明を図15に戻すと、送信画面においてなされた操作が、入力フィールド272に対する文字の入力操作、画像選択部250への操作、動作選択部260への操作、または、操作ボタン242への操作のいずれでもない場合(ステップSb13の判別結果が「No」である場合)、操作処理部235は、当該操作がメッセージの送信を指示するボタン274への操作であったか否かを判別する(ステップSb15)。
【0099】
当該操作がボタン274への操作であれば(ステップSb15の判別結果が「Yes」であれば)、処理手順がステップSb18に移行する。
なお、このとき、特に図示しないが、送信しようとするメッセージがタイプ(A)からタイプ(E)までのいずれでもない場合、処理手順をステップSb18に移行させることなく、警告等を表示した上で、送信画面(ステップSb11)に戻す。
【0100】
一方、当該操作がボタン274への操作でなければ(ステップSb15の判別結果が「No」、操作処理部235は、当該操作が1つ前のメッセージ表示画面に戻ることを指示するボタン271への操作であったか否かを判別する(ステップSb16)。
【0101】
当該操作がボタン271への操作であれば(ステップSb16の判別結果が「Yes」であれば)、処理手順は図4におけるステップSa16に戻って、再びメッセージ表示画面が表示されることになる。
一方、当該操作がボタン271への操作でなければ(ステップSb16の判別結果が「No」であれば)、操作処理部235は、その操作の内容に応じた処理を表示制御部234に指示して、表示制御部234が当該操作に応じた画面を表示させる(ステップSb17)。ここで、ステップSb17における処理の例としては、例えば操作ボタン242の配列部分がフリックされたときに、当該配列部分をスクロール表示させる処理などが挙げられる。
【0102】
送信画面においてボタン274の表示部分が操作された場合、次のようなメッセージ送信処理が実行される(ステップSb18)。すなわち、第1に、操作処理部235は、その時点で入力フィールド272に反映されている文字を本文とし、ステップSc14で通知された画像IDと、ステップSc17で通知された動作IDとを含むメッセージの作成をメッセージ作成部236に指示する。第2に、メッセージ作成部236は、指示にしたがってメッセージを作成し、このメッセージを送信部204aがSNSサーバ12に送信する。
これにより、当該メッセージは、選択されたルームの投稿・応答履歴の最後に追加されることになる。したがって、この後、ステップSa16に戻ってメッセージ表示画面が表示されたとき、作成したメッセージ表示が、時系列において最新のものとして追加されることになる。
【0103】
メッセージ送信処理の後、管理部232は、割当対象登録テーブル(TB1)における更新対象を次のように特定する(ステップSb19)。
すなわち、管理部232は、第1に、送信されたメッセージの全部と同一内容が、割当対象登録テーブル(TB1)にすでに登録されているか否かを判別し、第2に、登録されていなければ、未割当の割当対象IDの全項目、または、タイムスタンプが最も古い(もしくは、送信回数が最も少ない)割当対象IDの全項目を更新対象として特定する一方、登録されていれば、当該登録された割当対象IDに関連付けられたタイムスタンプおよび使用回数を更新対象とする。
具体的には、同一内容が登録されていない場合に、管理部232は、本文、画像IDおよび動作IDのすべてが(NULL)である未割り当ての割当対象IDを特定して、この割当対象IDの全項目を更新対象とする。また、同一内容が登録されていない場合に、「1」〜「48」までのすべての割当対象IDが登録済みであるとき、タイムスタンプが最も古い割当対象IDのレコードを削除した上で、その全項目を更新対象とする。なお、この場合に、タイムスタンプではなく、使用回数が最も少ない割当対象IDを削除した上で、その全項目を更新対象としても良い。
【0104】
ここで、送信されたメッセージの全部と同一内容が登録されているとは、送信されたメッセージのタイプが、割当対象登録テーブル(TB1)に登録されている割当対象の組み合わせと一致し、かつ、当該メッセージに含まれる本文、画像ID、動画IDについても、割当対象登録テーブル(TB1)に割当対象として登録された本文、画像ID、動画IDとそれぞれ一致していることをいう。
例えば送信されたメッセージに本文および画像IDが含まれ、動画IDが含まれないタイプ(B)である場合に、割当対象登録テーブル(TB1)に登録されている割当対象が本文および画像IDであって動画IDが(NULL)であり、かつ、メッセージに含まれる本文が割当対象の本文に一致するとともに、メッセージに含まれる画像IDが割当対象の画像IDに一致していれば、登録されている、と判別される。
一方、この場合に、メッセージに含まれる本文が割当対象の本文に一致し、メッセージに含まれる画像IDが割当対象の画像IDに一致していても、同じレコードに動画IDが登録されていれば、登録されていない、と判別される。
なお、送信されたメッセージの全部と同一内容が登録されている場合の事例としては、操作ボタン242が操作された場合と、入力フィールド272に反映された本文、画像選択部250により選択された画像IDまたは動作選択部260により選択された動作IDを含んで作成されたメッセージが、割当対象登録テーブル(TB1)に登録された割当対象と(偶然に、または、意図的に)一致した場合との2通りが想定される。
【0105】
次に、管理部232は、割当対象登録テーブル(TB1)における更新対象とした項目を実際に更新する(ステップSb20)。具体的には、管理部232は、割当対象登録テーブル(TB1)のうち、更新対象とした割当対象IDの本文、画像ID、動作IDを更新するとともに、タイムスタンプについては、メッセージが送信された時間情報をRTC206から取得して記録し、使用回数については、「1」だけインクリメントする。
【0106】
続いて、管理部232は、操作ボタン割当テーブル(TB2)を次のように更新する(ステップSb21)。詳細には、管理部232は、ボタンIDの「1」から「48」までに対して、割当対象登録テーブル(TB1)においてタイムスタンプが新しい割当対象IDを順番に割り当てる。
【0107】
操作ボタン割当テーブル(TB2)の更新後、処理手順がステップSa16に戻って、メッセージ表示画面が表示される。なお、メッセージ表示画面においてボタン297が操作されて、再び送信画面が表示されると、操作ボタン242の配列は、更新後の操作ボタン割当テーブル(TB2)にしたがうとともに、操作ボタン242の各表面の表示は、更新後の割当対象登録テーブル(TB1)で登録された割当対象に基づくことになる。これにより、直前に送信したメッセージに含まれる本文、画像ID、動作IDが割り当てられた操作ボタン242が、ボタンIDが「1」の左上端部の最上位の地点に位置することになる。
【0108】
次に、実際に入力フィールド272に文字が反映されたり、操作ボタン242が操作されたりしたときに、割当対象登録テーブル(TB1)および操作ボタン割当テーブル(TB2)がどのように更新されて、操作ボタン242がどのように配列するかについて具体的に説明する。
ここでは、操作ボタン242が、図23に示される送信画面に配置されるとともに、「おめでとうございます。」という本文が入力フィールド272に反映された状態を前提で、メッセージを送信する場合を例として説明する。
なお、「おめでとうございます。」の本文は、割当対象登録テーブル(TB1)に割当対象として登録されていないものとする。すなわち、入力フィールド272に反映されている「おめでとうございます。」は、操作ボタン242の操作によらずに、ソフトウェア・キーボード(図示省略)によって入力されたものとする。また、この例において送信しようとするメッセージは、「おめでとうございます。」の本文のみを含むみ、画像IDおよび動作IDを含まないものとする。
一方、図23における操作ボタン242の配置は、割当対象登録テーブル(TB1)が図20に示される内容であって、操作ボタン割当テーブル(TB2)が図21に示される内容である場合の例である。
【0109】
さて、図23に示した送信画面の表示状態において、ボタン274の表示部分が操作されると、割当対象登録テーブル(TB1)において、例えばその時点で未登録である割当対象IDの「48」が更新対象として特定される(ステップSb19)。
このため、図24に示されるように、割当対象IDが「48」のレコードのうち、割当対象の本文には「おめでとうございます。」が登録されるとともに、タイムスタンプには送信日時が記録され、使用回数には初期値の「1」がセットされる。
【0110】
次に、操作ボタン割当テーブル(TB2)にあっては、図25に示されるようにボタンIDの「1」には、割当対象登録テーブル(TB1)においてタイムスタンプが最新の割当対象ID、すなわち、さきほどの「48」が対応付けられる。なお、図25において、ボタンIDが「2」から「48」までは、図21に示した直前状態のボタンIDが「1」から「47」までの割当対象IDを、順次繰り下げたものとなる。
【0111】
このため、メッセージ表示画面から再び送信画面に戻ったとき、操作ボタン242は、図26に示される通りとなる。詳細には、1行目左列に位置する操作ボタン242、すなわちボタンIDが「1」の最上位の地点に対応する操作ボタン242は、「おめでとうございます。」という本文に対応したものとなる。なお、図26ではボタンスペースが限られているために「おめでとう…」というように省略表示されている。
また、それ以外の操作ボタン242は、直前状態(図23参照)から1つずつシフトしたものとなる。
【0112】
次に、図26に示した送信画面の表示状態において、今度は2行目中央列の操作ボタン242が操作されたときを想定する。
ここで、2行目中央列のボタンIDは「5」(図22参照)である。このボタンIDが「5」には、割当対象IDが「3」が対応している(図25参照)。割当対象IDが「3」のレコードをみると、「いいよね〜」という本文のみを含むことが判る(図24参照)。すなわち、2行目中央列の操作ボタン242には、「いいよね〜」という本文のみが割り当てられ、タイプ(A)に相当することが判る。
したがって、反映処理では、処理手順がステップSc11→Sc13→Sc16→Sc19→Sc20→Sc22→Sc27という経路を辿る。このため、入力フィールド272には、図27に示されるように「いいよね〜」の本文が反映されることになる。
【0113】
なお、操作された操作ボタン242に対応した割当対象が本文と画像IDとを含むタイプ(B)に相当している場合、反映処理では、処理手順がステップSc11→Sc13→Sc16→Sc19→Sc20→Sc21→Sc14→Sc15→Sc24→Sc25という経路を辿って画像IDが除外されるので、再びステップSc20に戻ったときにその判別結果が「No」となる。このため、ステップSc22を経由してステップSc27に至ったときに、入力フィールド272には、画像IDが反映されずに、メッセージ本文のみが反映されることになる。
【0114】
また、操作された操作ボタン242に対応した割当対象が本文と動作IDとを含むタイプ(C)に相当している場合、反映処理では、処理手順がステップSc11→Sc13→Sc16→Sc19→Sc20→Sc22→Sc23→Sc17→Sc18→Sc25→Sc26という経路を辿って動作IDが除外されるので、再びステップSc20に戻った後のステップSc22の判別結果が「No」となる。このため、ステップSc27に至ったときに、入力フィールド272には、動作IDが反映されずに、メッセージ本文のみが反映されることになる。
【0115】
操作された操作ボタン242に対応した割当対象が本文と画像IDと動作IDを含むタイプ(D)に相当している場合、反映処理では、処理手順がステップSc11→Sc13→Sc16→Sc19→Sc20→Sc21→Sc14→Sc15→Sc24→Sc25という経路を辿ってまず画像IDが除外されるので、再びステップSc20に戻ったときにその判別結果が「No」となる。ただし、次のステップSc22では、まだ動作IDが含まれているので、判別結果が「Yes」となる。このため、処理手順がステップSc23→Sc17→Sc18→Sc25→Sc26という経路を辿って動作IDも除外される。このため、再びステップSc20に戻った後のステップSc22の判別結果が「No」となるので、ステップSc27に至ったときに入力フィールド272には、画像IDおよび動作IDがともに反映されずに、メッセージ本文のみが反映されることになる。
【0116】
なお、操作された操作ボタン242に対応した割当対象が動作IDのみを含むタイプ(E)に相当している場合、反映処理では、処理手順がタイプ(C)と同様な経路を辿る。ただし、操作ボタン242の操作に対応した読み出された割当対象には、本文が含まれず、動作IDも除去されるので、ステップSc27に至ったとき、入力フィールド272には、なにも反映されないことになる。
【0117】
さて、図27に示した送信画面の表示状態において、ボタン274の表示部分が操作されたとき、送信指示時に至るまでに、画像IDの通知(ステップSc14)、動作IDの通知(ステップSc17)が通知されていなければ、送信しようとするメッセージの内容は、割当対象登録テーブル(TB1)に登録された割当対象と同一である。このため、割当対象登録テーブル(TB1)において、ボタンIDが「5」に対応する割当対象IDの「3」が更新対象として特定される。そして、割当対象IDが「3」のレコードには、図28に示されるように、割当対象が更新されずに、タイムスタンプに送信日時が記録され、使用回数が「1」だけインクリメントされる。
【0118】
次に、操作ボタン割当テーブル(TB2)にあっては、図29に示される通りとなる。すなわちボタンIDの「1」には、割当対象登録テーブル(TB1)においてタイムスタンプが最新の割当対象ID、すなわち、さきほどの「3」が対応付けられる。なお、ボタンIDが「2」から「5」までは、図25に示した直前状態のボタンIDが「1」から「4」までの割当対象IDを、順次繰り下げたものとなる。ボタンIDが「6」以降のものについては、直前状態の割当対象IDから変更されない。
【0119】
したがって、操作ボタン242は、図30に示される通りとなる。詳細には、1行目左側列に位置する操作ボタン242、すなわちボタンIDの「1」に対応する操作ボタン242は、「いいよね〜」という本文に対応したものに変更される。なお、それ以外の操作ボタン242は、直前状態(図27参照)から1つずつシフトしたものとなる。
【0120】
このメッセージ送信機能によれば、あるメッセージの送信の指示後、当該メッセージの内容が操作ボタン242に割り当てられるとともに、その操作ボタン242が最上位の地点に配置される。このため、当該メッセージを再利用する場合、当該操作ボタン242の操作で済ませることができる。また、最近使った操作ボタン242についても上位の地点に配置されるので、ユーザに対する利便性を向上させることも可能になる。
【0121】
本発明は、上述した実施形態に限定されるものではなく、例えば次に述べるような各種の応用・変形が可能である。なお、次に述べる応用・変形の態様は、任意に選択された一または複数を適宜に組み合わせることもできる。
【0122】
上述したメッセージ送信機能では、送信日時が新しい割当対象の順に上位地点の操作ボタン242を割り当てたが、送信回数が多い順に割り当てても良い。詳細には、ステップSb21(図15参照)において管理部232は、ボタンIDの「1」から「48」までに対して、割当対象登録テーブル(TB1)において送信回数が多い割当対象IDを順番に割り当てても良い。これによって、送信回数が多いものほど、上位地点の操作ボタン242に割り当てられるので、同様に、ユーザに対する利便性を向上させることが可能になる。
ここで、利用回数が多い割当対象の順に操作ボタン242を割り当てる場合において、メッセージの登録時に割当対象登録テーブル(TB1)に空きがない場合に、利用回数が最も少ないものを上書き(削除)対象として、入れ替えて登録する構成とすれば良い。
【0123】
また、操作ボタン242の配列については、送信日時が新しい順、または、利用回数の多い順のように択一的ではなくて、両者を併用しても良い。すなわち、図31に示されるように、第1に、例えば9個の操作ボタン242で構成される上位ボタン群240aと、残りの39個の操作ボタン242で構成される下位ボタン群240bとに分ける。第2に、上位ボタン群240aを構成する9個の操作ボタン242に、送信日時が新しい割当対象を優先的に順に割り当て、下位ボタン群240bを構成する39個の操作ボタン242に、残りの割当対象を、利用回数が多い順に割り当てる。
もちろん、上位ボタン群240a、下位ボタン群240bを構成する操作ボタン242の個数はこの例に限られないし、上位ボタン群240aを利用回数とし、下位ボタン群240bを送信日時としても良い。また、上・下に分割するのではなく、左・右に分割しても良い。
なお、このようにボタン群に分割する場合においても、割当対象登録テーブル(TB1)に空きがない場合に、送信日時が最も古いもの、または、利用回数が最も少ないものを上書き(削除)対象として、入れ替えて登録する構成としても良い。
【0124】
また、割当対象登録テーブル(TB1)については、図20に示したもの以外でも良い。例えば、図32に示されるように、操作ボタン242には、メッセージの本文、画像IDまたは動作IDのいずれかを割当対象として択一的に割り当てるようにしても良い。
この例において、割当対象IDには、割当対象となるメッセージの本文、画像IDまたは動作IDのいずれかと、割当対象としてどれが登録されているのかを示すタイプと、タイムスタンプと、使用回数とが関連付けられて記憶される。
【0125】
操作ボタン242に割り当てられる本文は、送信されたメッセージに含まれる本文の全部ではなく、その一部としても良い。例えば、送信の指示後に、送信された本文のどの部分を操作ボタン242に割り当てるのかをユーザに確認させる一方で、不要部分が削除された本文の一部を、操作ボタン242に割り当てるようにしても良い。
【0126】
また、実施形態では、送信されたメッセージの全部と同一内容が、割当対象登録テーブル(TB1)にすでに登録されているか否かを判別したが、送信されたメッセージの一部と同一内容が割当対象登録テーブルに登録(記憶部205に記憶)されているか否かを判別しても良い。
ここで、送信されたメッセージの一部と同一内容が登録されているとは、送信されたメッセージのタイプが、割当対象登録テーブル(TB1)に登録されている割当対象の組み合わせを包含、または、一致している場合であって、当該メッセージに含まれる本文の一部が、割当対象登録テーブル(TB1)に割当対象として登録された本文と一致していることをいう。
例えば送信されたメッセージに本文および画像IDが含まれ、動画IDが含まれないタイプ(B)である場合であって、当該本文が「こんばんは。元気ですか?」である場合に、割当対象登録テーブル(TB1)に登録されている割当対象が本文のみのタイプ(A)に相当し、かつ、当該割当対象の本文が「こんばんは。」であれば、同一内容がすでに登録されている、と判別される。
あるいは、より広範には、タイプを考慮せずに、送信されたメッセージに含まれる本文の一部と同一内容が、割当対象登録テーブル(TB1)にすでに登録されているか否かを判別しても良い。
【0127】
また、上記実施形態では、メッセージをタイプ(A)からタイプ(E)までの5種類としたが、これ以外の組み合わせであっても良いのはもちろんである。例えば、端末装置20に内蔵するカメラで撮影した写真や映像、端末装置20に保存された写真や映像、または位置情報をメッセージとして含めても良い。
逆に、メッセージについてはタイプ(C)、(D)、(E)のように動作IDを伴うものに限定しても良い。タイプ(C)、(D)、(E)に限定する場合、メッセージを送信する際に、動作選択部260や操作ボタン242の操作によって動作IDが指定されていないとき、予め用意された複数の動作IDのなかから、いずれかを所定のルール(例えばランダム)にしたがって選択して、当該選択した動作IDをメッセージに強制的に含ませて送信する構成としても良い。また、動作IDが指定されていない旨を利用者に警告して、いずれかの動作IDを、送信しようとするメッセージに含めるように促す構成としても良い。
【0128】
実施形態においては、記憶部205、管理部232、割当部233、表示制御部234、および、操作処理部235を、それぞれ端末装置20に設けた構成としたが、このような構成では記憶容量や負荷の面で不利な可能性がある。
このため、図33に示されるように、例えば端末装置20における記憶部205、管理部232、割当部233、表示制御部234および操作処理部235に相当する各部が、SNSサーバ12に設けられた構成としても良い。図33においては、表示部211(タッチパネル212)およびメッセージ作成部236が端末装置20に設けられ、それ以外の各部がSNSサーバ12に設けられた構成を示している。
【0129】
この構成において、第1に、SNSサーバ12は、例えばルーム一覧画面(図7参照)や、新規ルーム作成画面(図8参照)、ルーム編集画面(図9参照)、メッセージ表示画面(図12参照)、画像選択画面(図18参照)、動作選択画面(図19参照)、送信画面(図23参照)などをウェブ画面で作成して端末装置20に送信する。第2に、端末装置20では、当該ウェブ画面を表示部211にブラウザで表示させるとともに、当該ウェブ画面(タッチパネル212)への操作状態をSNSサーバ12に送信する。第3に、SNSサーバ12は、当該操作状態に応じて画面を制御したり、切り替えたりして、端末装置20に送信すれば良い。
なお、図33における受信部は、SNSサーバ12に設けられ、端末装置20からのメッセージを受信するものである。また、メッセージ作成部236についてもSNSサーバ12に設けて、端末装置20における作成および送信を代行させても良い。
このような構成によれば、端末装置20での記憶容量や負荷などが軽減されることができる。
【0130】
このように、各機能ブロックについて、SNSサーバ12の側に構築されるか、端末装置20の側に構築されるかについては、任意である。さらにいえば、上記メッセージ表示機能およびメッセージ送信機能による表示が、結果的に、端末装置20の表示部211でなされるのであれば、各機能ブロックについてSNSサーバ12の側に構築されるか、端末装置20の側に構築されるかについては、問われない。
【符号の説明】
【0131】
1…システム、12…SNSサーバ、20…端末装置、201…CPU、205…記憶部、211…表示部、232…管理部、233…割当部、234…表示制御部、235…操作処理部、242…操作ボタン、250…画像選択部、260…動作選択部、273…アバター。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33