(57)【特許請求の範囲】
【請求項１】
ネットワークを介して複数の端末装置と接続される管理装置を備えるシステムであって、
前記端末装置は、
共同ペインティングサービスへの参加時に、前記管理装置から、参加するペインティング領域であるキャンバスについて各参加者の画像操作内容を示す画像操作データに基づいて生成された、画像操作を行ったユーザ毎にレイヤ構造を保持し、レイヤの情報とレイヤの画像とを含むキャンバスデータが存在する場合に、当該キャンバスデータを受信し、画面表示を行う手段と、
前記管理装置から、他の参加者の画像操作に基づく画像操作データを受信し、キャンバスデータを更新し、画面表示を行う手段と、
ユーザによる画像操作を受け付けて画像操作データを生成し、当該画像操作データを前記管理装置に送信するとともに、キャンバスデータを更新し、画面表示を行う手段と
を備え、
前記管理装置は、
前記端末装置から画像操作データを受信して蓄積するとともに、受信した画像操作データを他の端末装置に送信する手段と、
前記端末装置から受信した画像操作データに基づいてキャンバス毎に前記キャンバスデータを生成する手段と、
共同ペインティングサービスに参加する前記端末装置に対して、前記キャンバスデータを送信する手段と
を備えたことを特徴とする共同ペインティングシステム。
【請求項２】
請求項１に記載の共同ペインティングシステムにおいて、
前記画像操作データは、ペンダウンからペンアップまでに移動した軌跡の座標列を含む
ことを特徴とする共同ペインティングシステム。
【請求項３】
請求項１に記載の共同ペインティングシステムにおいて、
前記画像操作データは、ペンダウンからペンアップまでに移動した軌跡のうち、所定時間を超えない範囲の軌跡の座標列を含む
ことを特徴とする共同ペインティングシステム。
【請求項４】
請求項２または３のいずれか一項に記載の共同ペインティングシステムにおいて、
前記座標列は、座標毎に時刻情報を伴う
ことを特徴とする共同ペインティングシステム。
【請求項５】
請求項２乃至４のいずれか一項に記載の共同ペインティングシステムにおいて、
前記座標列は、ストロークの速度が速い区間について短い時間間隔で記録される
ことを特徴とする共同ペインティングシステム。
【請求項６】
共同ペインティングサービスへの参加時に、管理装置から、参加するペインティング領域であるキャンバスについて各参加者の画像操作内容を示す画像操作データに基づいて生成された、画像操作を行ったユーザ毎にレイヤ構造を保持し、レイヤの情報とレイヤの画像とを含むキャンバスデータが存在する場合に、当該キャンバスデータを受信し、画面表示を行う手段と、
前記管理装置から、他の参加者の画像操作に基づく画像操作データを受信し、キャンバスデータを更新し、画面表示を行う手段と、
ユーザによる画像操作を受け付けて画像操作データを生成し、当該画像操作データを前記管理装置に送信するとともに、キャンバスデータを更新し、画面表示を行う手段と
を備えたことを特徴とする共同ペインティング端末装置。
【請求項７】
端末装置から画像操作データを受信して蓄積するとともに、受信した画像操作データを他の端末装置に送信する手段と、
前記端末装置から受信した画像操作データに基づいてキャンバス毎にキャンバスデータを生成する手段と、
共同ペインティングサービスに参加する前記端末装置に対して、参加するペインティング領域であるキャンバスについて各参加者の画像操作内容を示す画像操作データに基づいて生成された、画像操作を行ったユーザ毎にレイヤ構造を保持し、レイヤの情報とレイヤの画像とを含むキャンバスデータが存在する場合に、当該キャンバスデータを送信する手段と
を備えたことを特徴とする共同ペインティング管理装置。
【請求項８】
端末装置を構成するコンピュータを、
共同ペインティングサービスへの参加時に、管理装置から、参加するペインティング領域であるキャンバスについて各参加者の画像操作内容を示す画像操作データに基づいて生成された、画像操作を行ったユーザ毎にレイヤ構造を保持し、レイヤの情報とレイヤの画像とを含むキャンバスデータが存在する場合に、当該キャンバスデータを受信し、画面表示を行う手段、
前記管理装置から、他の参加者の画像操作に基づく画像操作データを受信し、キャンバスデータを更新し、画面表示を行う手段、
ユーザによる画像操作を受け付けて画像操作データを生成し、当該画像操作データを前記管理装置に送信するとともに、キャンバスデータを更新し、画面表示を行う手段
として機能させる共同ペインティング端末プログラム。
【請求項９】
管理装置を構成するコンピュータを、
端末装置から画像操作データを受信して蓄積するとともに、受信した画像操作データを他の端末装置に送信する手段、
前記端末装置から受信した画像操作データに基づいてキャンバス毎にキャンバスデータを生成する手段、
共同ペインティングサービスに参加する前記端末装置に対して、参加するペインティング領域であるキャンバスについて各参加者の画像操作内容を示す画像操作データに基づいて生成された、画像操作を行ったユーザ毎にレイヤ構造を保持し、レイヤの情報とレイヤの画像とを含むキャンバスデータが存在する場合に、当該キャンバスデータを送信する手段
として機能させる共同ペインティング管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して共同で絵を描く技術に関する。
【背景技術】
【０００２】
会議に参加する全ての人が、共有している画面に対し自由に文字等を記入することができるシステムが提案されている（例えば、特許文献１等を参照。）。
【０００３】
また、教育サービスにおける「お絵かき」の課題を、ネットワークを介して共同作業するシステムが提案されている（例えば、特許文献２等を参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−７３１７４号公報
【特許文献２】特開２００５−２９２４８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したような、従来における、画像に対して並行して編集を行う技術では、一般にビットマップやピクセルマップ等の形式の画像データそのもの、または、その画像データの変化分をネットワークを介して送受信して共有することで、共同した編集を可能にしていた。
【０００６】
ところで、「クリエイター予備軍」と呼ばれる、絵を描くことに興味を持っているユーザを対象とした共同ペインティングサービスを提供することが考えられている。この場合、できあがりの絵だけではなく、どのような作業工程で絵を描いたのかということや、どのようなレイヤ構造で絵を描いたのかといったテクニックを互いに分かり合えるようにすることが望ましい。
【０００７】
しかし、上述したビットマップやピクセルマップ等の形式の画像データを共有するシステムでは、静的な状態における文字や図形は共有できるものの、作業工程やレイヤ構造等のテクニックを確認することはできない。
【０００８】
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、共同ペインティングサービスを提供するにあたり、各ユーザが絵を描く際の作業工程やレイヤ構造等のテクニックを確認できるようにすることにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するため、本発明にあっては、ネットワークを介して複数の端末装置と接続される管理装置を備えるシステムであって、前記端末装置は、共同ペインティングサービスへの参加時に、前記管理装置から、参加するペインティング領域であるキャンバスについて各参加者の画像操作内容を示す画像操作データに基づいて生成された、画像操作を行ったユーザ毎にレイヤ構造を保持し、レイヤの情報とレイヤの画像とを含むキャンバスデータが存在する場合に、当該キャンバスデータを受信し、画面表示を行う手段と、前記管理装置から、他の参加者の画像操作に基づく画像操作データを受信し、キャンバスデータを更新し、画面表示を行う手段と、ユーザによる画像操作を受け付けて画像操作データを生成し、当該画像操作データを前記管理装置に送信するとともに、キャンバスデータを更新し、画面表示を行う手段とを備え、前記管理装置は、前記端末装置から画像操作データを受信して蓄積するとともに、受信した画像操作データを他の端末装置に送信する手段と、前記端末装置から受信した画像操作データに基づいてキャンバス毎に前記キャンバスデータを生成する手段と、共同ペインティングサービスに参加する前記端末装置に対して、前記キャンバスデータを送信する手段とを備えるようにしている。
【発明の効果】
【００１０】
本発明にあっては、共同ペインティングサービスを提供するにあたり、各ユーザが絵を描く際の作業工程やレイヤ構造等のテクニックを確認することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態にかかるシステムの構成例を示す図である。
【図２】ユーザデータのデータ構造例を示す図である。
【図３】参加者データのデータ構造例を示す図である。
【図４】画像操作データのデータ構造例を示す図である。
【図５】画像操作データ実体の一例としてのドローデータのデータ構造例を示す図である。
【図６】頂点の例を示す図である。
【図７】筆圧による描画への影響の例を示す図である。
【図８】画像操作データ実体の一例としてのレイヤ追加データのデータ構造例を示す図である。
【図９】親レイヤおよび子レイヤの例を示す図である。
【図１０】マテリアルレイヤの例を示す図である。
【図１１】キャンバスデータのデータ構造例を示す図である。
【図１２】レイヤの画像における解像度の違いの例を示す図である。
【図１３】キャンバスデータの生成の例を示す図である。
【図１４】端末装置のハードウェア構成例を示す図である。
【図１５】管理装置のハードウェア構成例を示す図である。
【図１６】実施形態の処理例を示すシーケンス図である。
【発明を実施するための形態】
【００１２】
以下、本発明の好適な実施形態につき説明する。
【００１３】
＜構成＞
図１は本発明の一実施形態にかかるシステムの構成例を示す図である。
【００１４】
図１において、システムは、ユーザが操作するスマートフォン、タブレット、ＰＣ（Personal Computer）等の端末装置１（１Ａ、１Ｂ、・・）と、共同ペインティングサービスの管理を行う管理装置（サーバ）３とが、インターネット等のネットワーク２を介して接続されて構成されている。
【００１５】
端末装置１には、ペイントアプリ１００がインストールされており、その実行により、画面表示部１０１、操作受付部１０２、共同ペインティングサービス参加要求部１０３、キャンバスデータ受信部１０４、画像操作データ受信部１０５、画像操作データ生成部１０６、画像操作データ保持部１０７、画像操作データ送信部１０８、キャンバスデータ生成部１０９、キャンバスデータ保持部１１０、描画部１１１が実現されるようになっている。
【００１６】
画面表示部１０１は、端末装置１の画面に操作のためのユーザインタフェースの表示やペインティングの結果を表示する機能を有している。
【００１７】
操作受付部１０２は、端末装置１の画面へのタッチ等によるユーザの操作を受け付ける機能を有している。ユーザの操作、特に描画操作は、筆圧を検出可能なスタイラスペン等によって行ってもよい。
【００１８】
共同ペインティングサービス参加要求部１０３は、端末装置１のユーザの操作に基づき、管理装置３の提供する共同ペインティングサービスに対して参加要求を行う機能を有している。参加要求に際し、ユーザは参加するペインティング領域であるキャンバスを指定する。新規にキャンバスを作成する場合はその旨を指定し、既存のキャンバスに参加する場合は既存のキャンバスの中から指定を行う。
【００１９】
キャンバスデータ受信部１０４は、共同ペインティングサービスへの参加時に、管理装置３から、参加するキャンバスについて各参加者の過去の画像操作内容が反映されたキャンバスデータを受信する機能を有している。受信したキャンバスデータは内部形式に変換されてキャンバスデータ保持部１１０により保持される。キャンバスデータの詳細については後述する。
【００２０】
画像操作データ受信部１０５は、参加しているキャンバスにおける他の参加者からの新たな画像操作データを受信する機能を有している。受信した画像操作データは内部形式に変換されて画像操作データ保持部１０７により保持される。画像操作データには、描画操作のドローデータだけではなく、レイヤの追加や削除等のあらゆる画像操作の内容が含まれる。画像操作データの詳細については後述する。
【００２１】
画像操作データ生成部１０６は、端末装置１のユーザの画像操作から画像操作データを生成する機能を有している。生成された画像操作データは内部形式の状態で画像操作データ保持部１０７により保持される。
【００２２】
画像操作データ保持部１０７は、画像操作データ受信部１０５により受信された画像操作データまたは画像操作データ生成部１０６により生成された画像操作データを保持する機能を有している。
【００２３】
画像操作データ送信部１０８は、画像操作データ生成部１０６により生成された画像操作データを管理装置３に送信する機能を有している。
【００２４】
キャンバスデータ生成部１０９は、画像操作データ受信部１０５により受信された画像操作データおよび画像操作データ送信部１０８で生成された画像操作データに基づき、端末装置１内で既にキャンバスデータを保持している場合にはそのキャンバスデータも使用し、キャンバスデータを生成（新規生成または更新）する機能を有している。生成されたキャンバスデータは内部形式の状態でキャンバスデータ保持部１１０により保持される。
【００２５】
キャンバスデータ保持部１１０は、キャンバスデータ受信部１０４により受信されたキャンバスデータまたはキャンバスデータ生成部１０９により生成（更新）されたキャンバスデータを保持する機能を有している。
【００２６】
描画部１１１は、キャンバスデータ生成部１０９により生成（更新）されたキャンバスデータに基づいて画面上に描画（画像操作の反映）を行う機能を有している。なお、画面表示は画面表示部１０１により行われる。
【００２７】
一方、管理装置３は、機能部として、ユーザ管理部３０１と共同ペインティングサービス参加管理部３０２と画像操作データ受信・蓄積部３０３と画像操作データ送信部３０４とキャンバスデータ生成部３０５とキャンバスデータ送信部３０６とを備えている。これらの機能部は、管理装置３を構成するコンピュータのＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等のハードウェア資源上で実行されるコンピュータプログラムによって実現されるものである。なお、これらの機能部は、単一のコンピュータ上に配置される必要はなく、必要に応じて分散される形態であってもよい。
【００２８】
また、管理装置３は、処理に必要なデータ保持部として、ユーザデータ保持部３１１と参加者データ保持部３１２と画像操作データ保持部３１３とキャンバスデータ保持部３１４とを備えている。これらのデータ保持部は、管理装置３内のＨＤＤ（Hard Disk Drive）等の記憶媒体上の記憶領域に所定のデータを体系的に保持するものである。なお、これらのデータ保持部は、単一のコンピュータ上に配置される必要はなく、必要に応じて分散される形態であってもよい。
【００２９】
図２はユーザデータ保持部３１１に保持されるユーザデータのデータ構造例を示す図である。
【００３０】
図２において、ユーザデータは、「ユーザＩＤ」「属性情報」「履歴情報」等の項目を有している。「ユーザＩＤ」は、ユーザを識別する情報である。「属性情報」は、住所、氏名、年齢層、メールアドレス等の情報である。「履歴情報」は、当該ユーザによる共同ペインティングサービスの利用の履歴である。「ユーザＩＤ」「属性情報」はユーザ登録時やその後の更新時に内容が設定される。「履歴情報」は共同ペインティングサービスの利用時に内容が設定（追加）される。
【００３１】
図３は参加者データ保持部３１２に保持される参加者データのデータ構造例を示す図である。
【００３２】
図３において、参加者データは、「キャンバスＩＤ」「ユーザＩＤ」「レイヤ番号」等の項目を有している。「キャンバスＩＤ」は、共同ペインティングサービスにおける共有描画空間であるキャンバスを識別する情報である。「ユーザＩＤ」は、当該キャンバスに参加しているユーザを識別する情報である。「レイヤ番号」は、ユーザ間の描画内容の重なりの順序を決定する情報である。例えば、後から参加したユーザのレイヤ番号は１つずつ大きな値となり、以前から参加しているユーザの描画内容の下に描画される。これは、先に参加したユーザの描画内容を表示上において優先するという考えに基づいている。ただし、表示順序の規則を別のものとしてもよいし、レイヤを複数のユーザで共有させて表示順序を考慮しないようにすることもできる。
【００３３】
図４は端末装置１と管理装置３との間で送受信される画像操作データのデータ構造例を示す図であり、「データサイズ」「アクションＩＤ」「ユーザＩＤ」「画像操作データ実体」「画像操作データ番号（インデックス）」等の項目を有している。
【００３４】
「データサイズ」は、画像操作データ全体のサイズを示す情報である。「アクションＩＤ」は、当該画像操作データがどのような操作によって生成されたかを示す情報である。「ユーザＩＤ」は、当該画像操作データがどのユーザの操作に基づくものかを示す情報である。ユーザＩＤはキャンバス内で一意の値である。「画像操作データ実体」は、ユーザの画像操作によって生成された、操作によって異なる内容・サイズのバイナリデータである。その詳細については後述する。「画像操作データ番号」は、当該画像操作データがユーザＩＤの示すユーザについて何番目に生成したデータであるかを示す情報である。
【００３５】
図５は画像操作データ実体の一例としてのドローデータのデータ構造例を示す図である。ドローデータは、「ペン形状」「ブラシサイズ」「透明度」「硬さ」「色」「乱数基底値」「ブラシＩＤ」「描画対象レイヤＩＤ」「入り抜き情報」「頂点配列（頂点数不定）」等の項目を有している。
【００３６】
「ペン形状」は、描画に用いたペンの形状（画像のスタンプを含む）を特定する情報である。「ブラシサイズ」は、描画に用いたブラシの大きさを特定する情報である。「透明度」は、描画に用いた色の透明度を示す情報である。「硬さ」は、描画に用いた線の硬さを示す情報である。「色」は、描画に用いたペンの色を特定する情報である。消しゴムもペンの一種であり、この場合の色は透明色になる。「乱数基底値」は、ペンの動きに沿ってランダムに描画が行われる場合に乱数発生の基準となる値である。「ブラシＩＤ」は、描画に用いたブラシを特定する情報である。「描画対象レイヤＩＤ」は、描画の対象となるレイヤを特定する情報である。これは、ユーザ毎に割り当てられる「レイヤ番号」とは異なる。「入り抜き情報」は、描き出しの「入り」と描き終わりの「抜き」の位置を示す情報である。
【００３７】
「頂点配列」は、ユーザによる描画の軌跡を示す頂点データを列挙したものである。頂点データの数は変動する。原則として、ドローデータはペンダウンからペンアップまでを対象とし、軌跡座標列はペンダウン時の座標から始まってペンアップ時の座標に終わるものであるが、ペンダウンから所定時間が経過した場合は、その時点までをドローデータとする。区切られた座標から次のドローデータとなる。これは、非常にゆっくりと描画した場合、複数のユーザのストロークの表示される時間的順序が逆転するのを抑制するためである。
【００３８】
個々の頂点データは、「Ｘ座標」「Ｙ座標」「筆圧」「時刻（基準時刻からの時間）」を含んでいる。「Ｘ座標」と「Ｙ座標」は、描画領域上の２次元座標値である。図６は頂点の例を示す図であり、丸印が実際に入力されて記録された各頂点を示している。描画にあたっては、図６（ａ）に示すように各頂点をつないで描画するのではなく、図６（ｂ）に示すようにベジェ曲線により滑らかにつないで描画を行う。中間点は実際に入力された頂点を通らないことになるが、滑らかになることにより人の目にはより自然に見えるようになる。早い操作では、ユーザがその軌跡を意識できないので、頂点と離れても認識することはなく、問題はない。また、ゆっくりな操作では、頂点が"密"になるので、ほぼ頂点の上を線は通過することになる。
【００３９】
図５に戻り、「筆圧」は、描画にスタイラスペン等の筆圧が検出できるデバイスが用いられた場合の筆圧値である。筆圧は線の太さや透明度に影響する。筆圧が何に・どの程度影響するかは「ブラシＩＤ」に対応付けられたブラシ情報によって決定される。図７は筆圧による描画への影響の例を示す図であり、図７（ａ）は筆圧が透明度に影響を与える場合の例を示しており、図７（ｂ）は筆圧が透明度とサイズに影響を与える場合の例を示している。
【００４０】
図５に戻り、「時刻」は、各頂点が通過した時点の基準時刻からの時間を示している。再生する側において、時刻情報に同期させて描画を行うことにより、一つのストロークの中で、ゆっくり描く部分と速く描く部分とを再現することができる。なお、ストロークの速度が速い区間については、短い時間間隔で座標を検出して記録することができる。これにより、微細な描画を再現することができる。
【００４１】
図８は画像操作データ実体の一例としてのレイヤ追加データのデータ構造例を示す図である。各ユーザはキャンバス内に複数のレイヤを持つことが可能である。レイヤは他の一般的なペイントツールと同様に、他のレイヤに影響しない独立したイメージとして機能する。
【００４２】
レイヤ追加データは、「タイプ番号」「キャンバスに対するレイヤの大きさと位置」「レイヤ階層に対する追加する位置」「親レイヤＩＤ（当該レイヤが子レイヤの場合）」「当該レイヤのレイヤＩＤ」「マテリアルＩＤ（当該レイヤがマテリアルの場合）」等の項目を有している。
【００４３】
「タイプ番号」は、レイヤのタイプ（ビットマップレイヤ、マテリアルレイヤ、コマレイヤ等）を示す情報である。レイヤタイプが複数あることで、制作表現の幅が広がる。「キャンバスに対するレイヤの大きさと位置」は、キャンバス内における当該レイヤのサイズと位置を示す情報である。「レイヤ階層に対する追加する位置」は、レイヤが追加される既存のレイヤに対する位置を示す情報である。
【００４４】
「親レイヤＩＤ」は、あるレイヤを親とし、そのレイヤに従属する形で追加される子レイヤについて、親レイヤを特定する情報である。親レイヤと子レイヤとしては、例えば、漫画に用いられるコマレイヤとそのコマレイヤの中に作られるレイヤがある。図９は、コマレイヤＬ１を親とする子レイヤＬ２〜Ｌ４の例を示している。子レイヤＬ２〜Ｌ４において描画された内容のうち、親レイヤであるコマレイヤＬ１の領域をはみ出す部分は表示されない。
【００４５】
図８に戻り、「当該レイヤのレイヤＩＤ」は、当該レイヤを特定する情報である。「マテリアルＩＤ」は、レイヤがマテリアルレイヤである場合に、プリセットで用意された画像を特定する情報である。この場合、画像の位置や大きさは任意に変更することができる。これにより、制作者の描画に対する手間を軽減することが可能になる。図１０はマテリアルレイヤの例を示す図であり、パレットからマテリアルＭ１を選択することで子レイヤＬ４にマテリアルＭ１を貼り付け、位置と大きさを変更した例を示している。
【００４６】
図１１はキャンバスデータ保持部３１４に保持されるキャンバスデータのデータ構造例を示す図である。
【００４７】
図１１（ａ）において、キャンバスデータは、過去に参加して現在は参加していないユーザの合成画像と、参加中のユーザ＃１〜＃Ｎの情報とを含んでいる。過去に参加して現在は参加していないユーザの合成画像は、ユーザ毎に設けてもよい。合成画像はビットマップやピクセルマップによる画像である。参加中のユーザ＃１〜＃Ｎの情報には、各ユーザの各レイヤの情報と各レイヤの画像が含まれている。各レイヤの画像はビットマップやピクセルマップによる画像である。
【００４８】
なお、キャンバスデータに含まれる合成画像や画像は画像操作データ（図４）に基づいて生成される。画像操作データに含まれるドローデータ（図５）は軌跡の頂点座標を示したものであり、これらからビットマップやピクセルマップの画像を生成する場合には解像度を考慮する必要がある。図１２（ａ）は元のドローデータを示し、図１２（ｂ）は解像度が低い場合の画像を示し、図１２（ｃ）は解像度が高い場合の画像を示している。実際には、端末装置１として想定されるスマートフォン、タブレット、ＰＣの解像度に応じて画像を生成することになる。
【００４９】
図１１に戻り、図１１（ｂ）はレイヤの情報の例を示しており、「レイヤＩＤ」、「レイヤタイプ」、「レイヤ矩形」、「レイヤ透明度」、「レイヤ表示・非表示」、「親レイヤＩＤ」等の項目を有している。「レイヤＩＤ」は、レイヤを特定する情報である。順位を表すものではなく、自分だけのレイヤを含めてレイヤを一意に識別する情報である。「レイヤタイプ」は、レイヤの種別（ビットマップ、マテリアル、コマ、フキダシ）を特定する情報である。「レイヤ矩形」は、レイヤの位置・大きさを示す情報である。「レイヤ透明度」は、レイヤの透明度を示す情報である。「レイヤ表示・非表示」は、レイヤを表示するか表示しないかを示す情報である。「親レイヤＩＤ」は、子レイヤの場合に親レイヤを特定する情報である。
【００５０】
キャンバスデータに基づいて画面に描画を行う場合、図１１（ａ）の下側に位置するデータから順に描画を行い、後から描画された内容が前面に表示されることになる。
【００５１】
図１３はキャンバスデータの生成の例を示す図であり、管理装置３においてキャンバスデータが生成される場合について示している。すなわち、所定時間が経過した時点で所定数以上の画像操作データが蓄積されている場合に、それらの画像操作データと直前のキャンバスデータ（存在する場合）とからその時点のキャンバスデータが生成される。なお、管理装置３においては各キャンバスについて、開始時からの全ての画像操作データが蓄積されているため、任意の時点でのキャンバスデータを生成することができる。
【００５２】
図１に戻り、管理装置３のユーザ管理部３０１は、ユーザ登録等の受け付けを行ない、ユーザデータをユーザデータ保持部３１１に保持して管理する機能を有している。
【００５３】
共同ペインティングサービス参加管理部３０２は、端末装置１からの所定のキャンバスへの参加要求を受け付け、参加者データ保持部３１２に参加者データを保持して管理する機能を有している。
【００５４】
画像操作データ受信・蓄積部３０３は、各端末装置１から画像操作データを受信して画像操作データ保持部３１３に蓄積して管理する機能を有している。
【００５５】
画像操作データ送信部３０４は、画像操作データ受信・蓄積部３０３が端末装置１から画像操作データを受信した場合に、他の端末装置１に対して画像操作データを送信する機能を有している。
【００５６】
キャンバスデータ生成部３０５は、画像操作データ保持部３１３に蓄積された画像操作データから所定のタイミングでキャンバスデータを生成し、キャンバスデータ保持部３１４に保存する機能を有している。
【００５７】
キャンバスデータ送信部３０６は、端末装置１による共同ペインティングサービスへの参加時に、キャンバスデータ保持部３１４に保持されたキャンバスデータをその端末装置１に送信する機能を有している。
【００５８】
図１４は端末装置１（１Ａ、１Ｂ、・・）のハードウェア構成例を示す図である。
【００５９】
図１４において、端末装置１は、電源システム１００１と、プロセッサ１００３、メモリコントローラ１００４、周辺インタフェース１００５を含むメインシステム１００２と、記憶部１００６とを備えている。また、端末装置１は、外部ポート１００７と、高周波回路１００８と、アンテナ１００９と、オーディオ回路１０１０と、スピーカ１０１１と、マイク１０１２と、近接センサ１０１３と、ＧＰＳ（Global Positioning System）回路１０１４とを備えている。また、端末装置１は、ディスプレイコントローラ１０１６、光学センサコントローラ１０１７、入力コントローラ１０１８を含むＩ／Ｏ（Input/Output）サブシステム１０１５と、タッチ反応型ディスプレイシステム１０１９と、光学センサ１０２０と、入力部１０２１とを備えている。
【００６０】
図１５は管理装置３のハードウェア構成例を示す図である。
【００６１】
図１５において、管理装置３は、システムバス３００１に接続されたＣＰＵ（Central Processing Unit）３００２、ＲＯＭ（Read Only Memory）３００３、ＲＡＭ（Random Access Memory）３００４、ＮＶＲＡＭ（Non-Volatile Random Access Memory）３００５を備えている。また、管理装置３は、Ｉ／Ｆ（Interface）３００６と、Ｉ／Ｆ３００６に接続された、Ｉ／Ｏ（Input/Output Device）３００７、ＨＤＤ（Hard Disk Drive）３００８、ＮＩＣ（Network Interface Card）３００９と、Ｉ／Ｏ３００７に接続されたモニタ３０１０、キーボード３０１１、マウス３０１２等を備えている。Ｉ／Ｏ３００７にはＣＤ／ＤＶＤ（Compact Disk/Digital Versatile Disk）ドライブ等を接続することもできる。
【００６２】
＜動作＞
図１６は上記の実施形態の処理例を示すシーケンス図である。なお、端末装置１のユーザは既にユーザ登録を済ませているものとする。また、ログイン等の形式的な処理については省略している。
【００６３】
図１６において、例えば、端末装置１Ａは、そのユーザによる共同ペインティングサービスへの参加操作（キャンバスの特定を伴う）を操作受付部１０２により受け付けると（ステップＳ１１）、共同ペインティングサービス参加要求部１０３により、管理装置３に対してキャンバスの特定を伴う参加要求を行う（ステップＳ１２）。
【００６４】
この参加要求は管理装置３の共同ペインティングサービス参加管理部３０２により受け付けられ、共同ペインティングサービス参加管理部３０２は参加者データ保持部３１２に参加登録を行う（ステップＳ１３）。
【００６５】
なお、この時点ではそのキャンバスに画像操作データの蓄積はなく、キャンバスデータも生成されていないものとすると、管理装置３から端末装置１へのキャンバスデータの送信は行われない。
【００６６】
その後、端末装置１Ａは、そのユーザによる画像操作を操作受付部１０２により受け付けると、画像操作データ生成部１０６により画像操作に対応した画像操作データを生成し、この画像操作データに基づいてキャンバスデータ生成部１０９によりキャンバスデータを生成し、このキャンバスデータに基づいて描画部１１１により画面描画を行い、画面表示部１０１により画面表示を行う（ステップＳ１４）。そして、画像操作データ生成部１０６により生成された画像操作データを画像操作データ送信部１０８により管理装置３に送信する（ステップＳ１５）。
【００６７】
この画像操作データは管理装置３の画像操作データ受信・蓄積部３０３により受信され、画像操作データ受信・蓄積部３０３は受信した画像操作データを画像操作データ保持部３１３に蓄積する（ステップＳ１６）。
【００６８】
なお、この時点では該当するキャンバスに端末装置１Ａのユーザ以外が参加していないものとすると、管理装置３から他の端末装置への画像操作データの送信は行われない。
【００６９】
その後、管理装置３では、キャンバスデータ生成部３０５により、所定のタイミングでキャンバスデータを生成し、生成したキャンバスデータをキャンバスデータ保持部３１４に保存する（ステップＳ１６）。
【００７０】
その後、例えば、端末装置１Ｂは、そのユーザによる共同ペインティングサービスへの参加操作（キャンバスの特定を伴う）を操作受付部１０２により受け付けると（ステップＳ１８）、共同ペインティングサービス参加要求部１０３により、管理装置３に対してキャンバスの特定を伴う参加要求を行う（ステップＳ１９）。
【００７１】
この参加要求は管理装置３の共同ペインティングサービス参加管理部３０２により受け付けられ、共同ペインティングサービス参加管理部３０２は参加者データ保持部３１２に参加登録を行う（ステップＳ２０）。
【００７２】
この場合、既にキャンバスデータ保持部３１４に同じキャンバスに対する端末装置１Ａのユーザの画像操作に基づくキャンバスデータが蓄積されているものとすると、それらのキャンバスデータを画像操作データ送信部３０４により端末装置１Ｂに送信する（ステップＳ２１）。
【００７３】
キャンバスデータを受信した端末装置１Ｂは、受信したキャンバスデータに基づいて描画部１１１により描画を行ない、画面表示部１０１により画面表示を行う（ステップＳ２２）。
【００７４】
その後、端末装置１Ｂは、そのユーザによる画像操作を操作受付部１０２により受け付けると、画像操作データ生成部１０６により画像操作に対応した画像操作データを生成し、この画像操作データに基づいてキャンバスデータ生成部１０９によりキャンバスデータを生成し、このキャンバスデータに基づいて描画部１１１により画面描画を行い、画面表示部１０１により画面表示を行う（ステップＳ２３）。そして、画像操作データ生成部１０６により生成された画像操作データを画像操作データ送信部１０８により管理装置３に送信する（ステップＳ２４）。
【００７５】
この画像操作データは管理装置３の画像操作データ受信・蓄積部３０３により受信され、画像操作データ受信・蓄積部３０３は受信した画像操作データを画像操作データ保持部３１３に蓄積する（ステップＳ２５）。
【００７６】
この場合、画像操作データ送信部３０４は、端末装置１Ｂのユーザ以外に同じキャンバスに対する端末装置１Ａのユーザがいるため、端末装置１Ａに対し、端末装置１Ｂから取得した画像操作データを画像操作データ送信部３０４により送信する（ステップＳ２６）。
【００７７】
画像操作データを受信した端末装置１Ａは、受信した画像操作データと既に保持しているキャンバスデータに基づいてキャンバスデータ生成部１０９によりキャンバスデータを生成し、このキャンバスデータに基づいて描画部１１１により描画を行ない、画面表示部１０１により画面表示を行う（ステップＳ２７）。
【００７８】
＜総括＞
以上説明したように、本実施形態によれば、共同ペインティングサービスを提供するにあたり、各ユーザが絵を描く際の作業工程やレイヤ構造等のテクニックを確認することができる。
【００７９】
また、管理装置３には各ユーザの画像操作データが蓄積されており、端末装置１にも参加中に取得した画像操作データが保持されているため、後から任意のスピードで再生して他のユーザの筆使いや他の画像操作を詳細に確認することもできる。
【００８０】
また、ネットワーク上を流れる画像操作データは、従来のビットマップやピクセルマップの形式のデータに比して小さいため、ネットワークに与える負荷を軽減し、高速に通信を行うことができる。
【００８１】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【符号の説明】
【００８２】
１、１Ａ、１Ｂ      端末装置
１００              ペイントアプリ
１０１              画面表示部
１０２              操作受付部
１０３              共同ペインティングサービス参加要求部
１０４              キャンバスデータ受信部
１０５              画像操作データ受信部
１０６              画像操作データ生成部
１０７              画像操作データ保持部
１０８              画像操作データ送信部
１０９              キャンバスデータ生成部
１１０              キャンバスデータ保持部
１１１              描画部
２                  ネットワーク
３                  管理装置
３０１              ユーザ管理部
３０２              共同ペインティングサービス参加管理部
３０３              画像操作データ受信・蓄積部
３０４              画像操作データ送信部
３０５              キャンバスデータ生成部
３０６              キャンバスデータ送信部
３１１              ユーザデータ保持部
３１２              参加者データ保持部
３１３              画像操作データ保持部
３１４              キャンバスデータ保持部
【図１】
0006431336.tif 000002
【図２】
0006431336.tif 000003
【図３】
0006431336.tif 000004
【図４】
0006431336.tif 000005
【図５】
0006431336.tif 000006
【図６】
0006431336.tif 000007
【図７】
0006431336.tif 000008
【図８】
0006431336.tif 000009
【図９】
0006431336.tif 000010
【図１０】
0006431336.tif 000011
【図１１】
0006431336.tif 000012
【図１２】
0006431336.tif 000013
【図１３】
0006431336.tif 000014
【図１４】
0006431336.tif 000015
【図１５】
0006431336.tif 000016
【図１６】
0006431336.tif 000017