(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-08
(45)【発行日】2024-03-18
(54)【発明の名称】合同画像生成装置、合同画像生成方法及び合同画像生成プログラム
(51)【国際特許分類】
G06T 11/80 20060101AFI20240311BHJP
【FI】
G06T11/80 E
(21)【出願番号】P 2022040675
(22)【出願日】2022-03-15
【審査請求日】2023-08-28
【早期審査対象出願】
(73)【特許権者】
【識別番号】507180054
【氏名又は名称】ピクシブ株式会社
(74)【代理人】
【識別番号】110002516
【氏名又は名称】弁理士法人白坂
(72)【発明者】
【氏名】川連 一将
(72)【発明者】
【氏名】九折 一馬
(72)【発明者】
【氏名】大野 翼
【審査官】中田 剛史
(56)【参考文献】
【文献】特開2001-228843(JP,A)
【文献】特開2014-203281(JP,A)
【文献】特開2015-102950(JP,A)
【文献】特開2014-130422(JP,A)
【文献】特開2009-053836(JP,A)
【文献】特開2004-317583(JP,A)
【文献】特開2011-044877(JP,A)
【文献】特開2016-126631(JP,A)
【文献】特開平11-215126(JP,A)
【文献】特開2008-245005(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 11/80
(57)【特許請求の範囲】
【請求項1】
ユーザからの書き込みを受け付けるキャンバスの情報を出力する出力部と、
複数のユーザ各々からの前記キャンバスに対する書き込みを、前記複数のユーザ各々に対して、各ユーザが書き込み可能なキャンバスとしてのレイヤーに対する書き込みを受け付けることで、受け付ける受付部と、
前記複数のユーザ各々からの書き込みを、前記複数のユーザ各々のレイヤーを重畳することで前記キャンバスに、前記複数のユーザ各々からの書き込みを前記キャンバスに反映させて画像を生成する生成部と、
前記キャンバスに書き込まれた画像と、当該画像を書き込んだユーザを示すユーザ識別情報と、前記複数のユーザ各々が書き込みをするレイヤーを識別するレイヤー識別子を対応付けて記憶する記憶部と、
前記複数のユーザのうちの第1ユーザから、第1ユーザ以外の第2ユーザが対応付けられているレイヤーに対する編集要求を受け付ける第1要求受付部と、
前記第2ユーザに対して前記第1ユーザからの編集要求を送信する第1送信部と、
前記第2ユーザから前記第1ユーザによる編集の許否を示す許否情報を受信する受信部と、
前記許否情報が許諾を示す場合に、前記第1ユーザによる前記第2ユーザが対応付けられたレイヤーに対する書き込みを受け付けて前記第2ユーザが対応付けられたレイヤーを編集する編集部と、を備え、
前記出力部は、前記生成部が生成した画像を出力し、
1つの前記レイヤーに対して、複数のユーザが書き込み可能である
ことを特徴とする合同画像生成装置。
【請求項2】
ユーザからの書き込みを受け付けるキャンバスの情報を出力する出力部と、
複数のユーザ各々からの前記キャンバスに対する書き込みを、前記複数のユーザ各々に対して、各ユーザが書き込み可能なキャンバスとしてのレイヤーに対する書き込みを受け付けることで、受け付ける受付部と、
前記複数のユーザ各々からの書き込みを、前記複数のユーザ各々のレイヤーを重畳することで前記キャンバスに、前記複数のユーザ各々からの書き込みを前記キャンバスに反映させて画像を生成する生成部と、
前記キャンバスに書き込まれた画像と、当該画像を書き込んだユーザを示すユーザ識別情報と、前記複数のユーザ各々が書き込みをするレイヤーを識別するレイヤー識別子を対応付けて記憶する記憶部と、
前記キャンバスに書き込まれた画像について、前記複数のユーザの内の第3ユーザから、第3ユーザが書き込んだ画像の出力要求を受け付ける第2要求受付部と、
前記出力要求を受け付けた場合に、前記第3ユーザが書き込んだ部分の画像と、当該画像を第3ユーザが書き込んだことを証明する証明情報と、を前記第3ユーザに送信する第3送信部と、を備え、
前記出力部は、前記生成部が生成した画像を出力し、
1つの前記レイヤーに対して、複数のユーザが書き込み可能である
ことを特徴とする合同画像生成装置。
【請求項3】
前記編集部は、前記第2ユーザに対応付けられているレイヤー識別子で示されるレイヤーに対して、前記第1ユーザからの書き込みを受け付けて編集する
ことを特徴とする請求項
1に記載の合同画像生成装置。
【請求項4】
前記許否情報が、拒否を示す場合に、前記第1ユーザに対して、前記第2ユーザが書き込んだ画像に対する書き込みができないことを示す拒否情報を送信する第2送信部を備えることを特徴とする請求項
3に記載の合同画像生成装置。
【請求項5】
前記複数のユーザ各々から、前記ユーザが書き込みを行うレイヤーの指定を受け付ける指定部を備え、
前記記憶部は、前記指定部が受け付けたユーザからのレイヤーの指定により示されるレイヤー識別子と、指定を行ったユーザのユーザ識別子と、を対応付けて記憶する
ことを特徴とする請求項1に記載の合同画像生成装置。
【請求項6】
前記キャンバスに書き込まれた画像について、前記複数のユーザの内の第3ユーザから、第3ユーザが書き込んだ画像の出力要求を受け付ける第2要求受付部と、
前記出力要求を受け付けた場合に、前記第3ユーザが書き込んだ部分の画像と、当該画像を第3ユーザが書き込んだことを証明する証明情報と、を前記第3ユーザに送信する第3送信部を備える
ことを特徴とする請求項1、3、4、5のいずれか一項に記載の合同画像生成装置。
【請求項7】
コンピュータが、
ユーザからの書き込みを受け付けるキャンバスの情報を出力する出力ステップと、
複数のユーザ各々からの前記キャンバスに対する書き込みを、前記複数のユーザ各々に対して、各ユーザが書き込み可能なキャンバスとしてのレイヤーに対する書き込みを受け付けることで、受け付ける受付ステップと、
前記複数のユーザ各々からの書き込みを、前記複数のユーザ各々のレイヤーを重畳することで前記キャンバスに、前記複数のユーザ各々からの書き込みを前記キャンバスに反映させて画像を生成する生成ステップと、
前記キャンバスに書き込まれた画像と、当該画像を書き込んだユーザを示すユーザ識別情報と、前記複数のユーザ各々が書き込みをするレイヤーを識別するレイヤー識別子を対応付けて記憶する記憶ステップと、
前記複数のユーザのうちの第1ユーザから、第1ユーザ以外の第2ユーザが対応付けられているレイヤーに対する編集要求を受け付ける第1要求受付ステップと、
前記第2ユーザに対して前記第1ユーザからの編集要求を送信する第1送信ステップと、
前記第2ユーザから前記第1ユーザによる編集の許否を示す許否情報を受信する受信ステップと、
前記許否情報が許諾を示す場合に、前記第1ユーザによる前記第2ユーザが対応付けられたレイヤーに対する書き込みを受け付けて前記第2ユーザが対応付けられたレイヤーを編集する編集ステップと、を実行し、
前記出力ステップは、前記生成ステップが生成した画像を出力し、
1つの前記レイヤーに対して、複数のユーザが書き込み可能である
ことを特徴とする合同画像生成方法。
【請求項8】
コンピュータに、
ユーザからの書き込みを受け付けるキャンバスの情報を出力する出力機能と、
複数のユーザ各々からの前記キャンバスに対する書き込みを、前記複数のユーザ各々に対して、各ユーザが書き込み可能なキャンバスとしてのレイヤーに対する書き込みを受け付けることで、受け付ける受付機能と、
前記複数のユーザ各々からの書き込みを、前記複数のユーザ各々のレイヤーを重畳することで前記キャンバスに、前記複数のユーザ各々からの書き込みを前記キャンバスに反映させて画像を生成する生成機能と、
前記キャンバスに書き込まれた画像と、当該画像を書き込んだユーザを示すユーザ識別情報と、前記複数のユーザ各々が書き込みをするレイヤーを識別するレイヤー識別子を対応付けて記憶する記憶機能と、
前記複数のユーザのうちの第1ユーザから、第1ユーザ以外の第2ユーザが対応付けられているレイヤーに対する編集要求を受け付ける第1要求受付部と、
前記第2ユーザに対して前記第1ユーザからの編集要求を送信する第1送信機能と、
前記第2ユーザから前記第1ユーザによる編集の許否を示す許否情報を受信する受信機能と、
前記許否情報が許諾を示す場合に、前記第1ユーザによる前記第2ユーザが対応付けられたレイヤーに対する書き込みを受け付けて前記第2ユーザが対応付けられたレイヤーを編集する編集機能と、を実現させ、
前記出力機能は、前記生成機能が生成した画像を出力し、
1つの前記レイヤーに対して、複数のユーザが書き込み可能である
ことを特徴とする合同画像生成プログラム。
【請求項9】
コンピュータが、
ユーザからの書き込みを受け付けるキャンバスの情報を出力する出力ステップと、
複数のユーザ各々からの前記キャンバスに対する書き込みを、前記複数のユーザ各々に対して、各ユーザが書き込み可能なキャンバスとしてのレイヤーに対する書き込みを受け付けることで、受け付ける受付ステップと、
前記複数のユーザ各々からの書き込みを、前記複数のユーザ各々のレイヤーを重畳することで前記キャンバスに、前記複数のユーザ各々からの書き込みを前記キャンバスに反映させて画像を生成する生成ステップと、
前記キャンバスに書き込まれた画像と、当該画像を書き込んだユーザを示すユーザ識別情報と、前記複数のユーザ各々が書き込みをするレイヤーを識別するレイヤー識別子を対応付けて記憶する記憶ステップと、
前記キャンバスに書き込まれた画像について、前記複数のユーザの内の第3ユーザから、第3ユーザが書き込んだ画像の出力要求を受け付ける第2要求受付ステップと、
前記出力要求を受け付けた場合に、前記第3ユーザが書き込んだ部分の画像と、当該画像を第3ユーザが書き込んだことを証明する証明情報と、を前記第3ユーザに送信する第3送信ステップと、を実行し、
前記出力ステップは、前記生成ステップが生成した画像を出力し、
1つの前記レイヤーに対して、複数のユーザが書き込み可能である
ことを特徴とする合同画像生成方法。
【請求項10】
コンピュータに、
ユーザからの書き込みを受け付けるキャンバスの情報を出力する出力機能と、
複数のユーザ各々からの前記キャンバスに対する書き込みを、前記複数のユーザ各々に対して、各ユーザが書き込み可能なキャンバスとしてのレイヤーに対する書き込みを受け付けることで、受け付ける受付機能と、
前記複数のユーザ各々からの書き込みを、前記複数のユーザ各々のレイヤーを重畳することで前記キャンバスに、前記複数のユーザ各々からの書き込みを前記キャンバスに反映させて画像を生成する生成機能と、
前記キャンバスに書き込まれた画像と、当該画像を書き込んだユーザを示すユーザ識別情報と、前記複数のユーザ各々が書き込みをするレイヤーを識別するレイヤー識別子を対応付けて記憶する記憶機能と、
前記キャンバスに書き込まれた画像について、前記複数のユーザの内の第3ユーザから、第3ユーザが書き込んだ画像の出力要求を受け付ける第2要求受付機能と、
前記出力要求を受け付けた場合に、前記第3ユーザが書き込んだ部分の画像と、当該画像を第3ユーザが書き込んだことを証明する証明情報と、を前記第3ユーザに送信する第3送信機能と、を実現させ、
前記出力機能は、前記生成機能が生成した画像を出力し、
1つの前記レイヤーに対して、複数のユーザが書き込み可能である
ことを特徴とする合同画像生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のユーザで合同で画像を作成するための合同画像生成装置、その合同画像生成方法及び合同画像生成プログラムに関する。
【背景技術】
【0002】
近年、オンラインで各種のコンテンツを開示、評価するシステムが存在する。特許文献1には、パブリックシステムにおいて、コンテンツを共有し、そのコンテンツを誰もが評価できるシステムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、オンラインコンテンツの一つとして、複数のユーザによりコンピュータグラフィックを合同で作成するシステムの登場が望まれている。
【0005】
そこで、本発明は、上記要望に鑑みてなされたものであり、複数のユーザが合同で画像を作成することができる合同画像生成装置、合同画像生成方法及び合同画像生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明の一態様に係る合同画像生成装置は、ユーザからの書き込みを受け付けるキャンバスの情報を出力する出力部と、複数のユーザ各々からのキャンバスに対する書き込みを受け付ける受付部と、複数のユーザ各々からの書き込みを、キャンバスに反映させて画像を生成する生成部と、キャンバスに書き込まれた画像と、当該画像を書き込んだユーザを示すユーザ識別情報と、を対応付けて記憶する記憶部と、を備え、出力部は、生成部が生成した画像を出力する。
【0007】
z
上記課題を解決するために、本発明の一態様に係る合同画像生成方法は、コンピュータが、ユーザからの書き込みを受け付けるキャンバスの情報を出力する出力ステップと、複数のユーザ各々からのキャンバスに対する書き込みを受け付ける受付ステップと、複数のユーザ各々からの書き込みを、キャンバスに反映させて画像を生成する生成ステップと、キャンバスに書き込まれた画像と、当該画像を書き込んだユーザを示すユーザ識別情報と、を対応付けて記憶する記憶ステップと、を実行し、出力ステップは、生成ステップが生成した画像を出力する。
【0008】
上記課題を解決するために、本発明の一態様に係る合同画像生成プログラムは、コンピュータに、ユーザからの書き込みを受け付けるキャンバスの情報を出力する出力機能と、複数のユーザ各々からのキャンバスに対する書き込みを受け付ける受付機能と、複数のユーザ各々からの書き込みを、キャンバスに反映させて画像を生成する生成機能と、キャンバスに書き込まれた画像と、当該画像を書き込んだユーザを示すユーザ識別情報と、を対応付けて記憶する記憶機能と、を実現させ、出力機能は、生成機能が生成した画像を出力する。
【0009】
また、上記合同画像生成装置において、受付部は、複数のユーザ各々に対して、各ユーザが書き込み可能なキャンバスとしてのレイヤーに対する書き込みを受け付け、記憶部は、複数のユーザが書き込みをするレイヤーを識別するレイヤー識別子を記憶し、生成部は、複数のユーザ各々のレイヤーを重畳することでキャンバスに、複数のユーザ各々からの書き込みをキャンバスに反映させて画像を生成することとしてもよい。
【0010】
また、上記合同画像生成装置において、複数のユーザのうちの第1ユーザから、第1ユーザ以外の第2ユーザが入力した画像に対する編集要求を受け付ける第1要求受付部と、第2ユーザに対して第1ユーザからの編集要求を送信する第1送信部と、第2ユーザから第1ユーザによる編集の許否を示す許否情報を受信する受信部と、許否情報が許諾を示す場合に、第1ユーザによる第2ユーザが書き込んだ画像に対する書き込みを受け付けて第2ユーザが書き込んだ画像を編集する編集部と、
を備えることとしてもよい。
【0011】
また、上記合同画像生成装置において、編集部は、第2ユーザに対応付けられているレイヤー識別子で示されるレイヤーに対して、第1ユーザからの書き込みを受け付けて編集することとしてもよい。
【0012】
また、上記合同画像生成装置において、許否情報が、拒否を示す場合に、第1ユーザに対して、第2ユーザが書き込んだ画像に対する書き込みができないことを示す拒否情報を送信する第2送信部を備えることとしてもよい。
【0013】
また、上記合同画像生成装置において、複数のユーザ各々から、ユーザが書き込みを行うレイヤーの指定を受け付ける指定部を備え、記憶部は、指定部が受け付けたユーザからのレイヤーの指定により示されるレイヤー識別子と、指定を行ったユーザのユーザ識別子と、を対応付けて記憶することとしてもよい。
【0014】
また、上記合同画像生成装置において、キャンバスに書き込まれた画像について、複数のユーザの内の第3ユーザから、第3ユーザが書き込んだ画像の出力要求を受け付ける第2要求受付部と、
【0015】
出力要求を受け付けた場合に、第3ユーザが書き込んだ部分の画像と、当該画像を第3ユーザが書き込んだことを証明する証明情報と、を第3ユーザに送信する第3送信部を備えることとしてもよい。
【発明の効果】
【0016】
本発明によれば、合同画像生成装置は、複数のユーザの端末装置それぞれからの書き込みを受け付けて、それらの書き込みを統合した合同画像を各端末装置に提供することができるので、複数のユーザにより合同で絵を描くためのシステムを提供することができる。リアルタイムで絵を描くことで、その時々でユーザ間で書いている絵を批評したり、修正しあったりすることで、よりよいコンピュータグラフィックスの作成が期待できる。
【図面の簡単な説明】
【0017】
【
図1】合同画像生成システムのシステム構成例を示すシステム図である。
【
図4】合同画像情報のデータ構成例を示すデータ概念図である。
【
図5】合同画像生成システムにおける合同画像の作成に係る各装置間のやり取りの例を示す第1のシーケンス図である。
【
図6】第1のシーケンス図に係る端末装置の動作例を示すフローチャートである。
【
図7】第1のシーケンス図に係るサーバの動作例を示すフローチャートである。
【
図8】合同画像生成システムにおける合同画像の作成中の他者の書き込みの修正に係る各装置間のやり取りの例を示す第2のシーケンス図である。
【
図9】第2のシーケンス図に係る端末装置の動作例を示すフローチャートである。
【
図10】第2のシーケンス図に係る端末装置の動作例を示すフローチャートである。
【
図11】第2のシーケンス図に係るサーバの動作例を示すフローチャートである。
【
図12】合同画像生成システムにおける証明情報の発行に係る各装置間のやり取りの例を示す第3のシーケンス図である。
【
図13】第3のシーケンス図に係る端末装置の動作例を示すフローチャートである。
【
図14】第3のシーケンス図に係るサーバの動作例を示すフローチャートである。
【
図15】(a)合同画像のイメージ構成例を示す図である。(b)合同画像の例を示す図である。(c)証明情報の一例を示す図である。
【発明を実施するための形態】
【0018】
以下、本発明に係る合同画像生成装置について図面を参照しながら、説明する。
【0019】
<実施形態>
図1は、合同画像生成システム1のシステム構成例を示すシステム図である。
図1に示すように、合同画像生成システム1は、合同で一枚のキャンバスに画像を書き込んでいくユーザA~Cが使用する各端末装置200a~200cと、各端末装置200a~200cとネットワーク300を介して接続されているサーバ(情報処理装置)100とを含む。端末装置200a~200cは、各ユーザが保持する情報処理装置であり、PC、ノートPC、タブレット端末、スマートフォン等により実現されるものであるが、これらに限定するものではない。また、サーバ100は、各端末装置200a~200cからのアクセス(書き込み)を受け付けて各端末装置200a~200cに、合同画像を提供する機能を有するサーバ装置であり、合同画像生成装置として機能してよい。合同画像は、複数のユーザにより1枚のキャンバスに対して書き込まれた画像のことである。
【0020】
図1に示す合同画像生成システム1は、複数のユーザで1枚のキャンバスに書き込みを行って、合同で絵を描くためのシステムである。各ユーザは、自身の端末を介して、サーバ100から提供されるキャンバスに書き込みを行う。各端末装置200a~200cは、ユーザからの書き込み内容を示す情報をサーバ100に送信する。そして、サーバ100は、各端末装置から書き込まれた内容を合成した合同画像を各端末装置200a~200cに提供する。したがって、各端末装置200a~200cに表示される画像は共通の画像になる。これにより、合同画像生成システム1においては、複数のユーザにより1枚の絵を作成したり、その場その場で1枚のキャンバス上で絵による相談を行ったりすることができる。以下、合同画像生成システム1について詳細に説明する。
【0021】
<構成>
図2は、サーバ100の構成例を示すブロック図である。サーバ100は、プロセッサと、メモリと、を備えるコンピュータシステムであり、画像処理を行う画像処理装置であるとともに、各端末装置からのアクセスを受け付けて、合同画像を提供するウェブサーバでもある。サーバ100は、上述したようにサーバ装置として実現されるが、所謂PC、ノートPC、タブレット端末等により実現することもできる。
【0022】
図2に示すように、サーバ100は、通信部110と、入力部120と、制御部130と、記憶部140と、出力部150と、を備える。
【0023】
通信部110は、サーバ100外部の他の情報処理装置と通信、情報のやり取りを行う通信インターフェースである。具体的には、通信部110は、端末装置200(200a~200c)とネットワーク300を介して通信を実行する。通信部110は、外部の他の情報処理装置等から情報を受け取り、受け取った情報を制御部130に伝達する。また、通信部110は、制御部130からの指示に従って外部の他の情報処理装置に情報を送信する。通信部110は、一例として、端末装置200から、端末装置200のユーザが行った書き込み内容を、制御部130に伝達する。通信部110が端末装置200から受信する書き込み内容を示す情報は、キャンバスにおける書き込み位置(キャンバス上の座標)と、書き込みに使ったツール(ペンや消しゴム、筆の種類及びその書き込みの太さなど)と、書き込みの色などの情報を含んでよく、書き込みに関する情報であれば、これらの情報以外の情報を含んでよく、ここに記載した情報の一部のみであってもよい。また、通信部110は、制御部130から伝達された合同画像または合同画像に関する情報を端末装置200に送信する。合同画像に関する情報とは、合同画像を端末装置200において表示するために必要となる情報のことであり、例えば、一つの端末装置200から受け付けた書き込み内容を、各端末装置200において、その書き込み内容に基づく合同画像を描画させるための情報であればよく、書き込み内容に基づく描画を指示する指示情報であってもよい。
【0024】
入力部120は、サーバ100に対するサーバ100のオペレータからの入力を受け付けて、受け付けた入力内容を制御部130に伝達する。入力部120は、一例として、マウスやタッチパッド、キーボード等により実現されてよいが、これらに限定するものではない。
【0025】
制御部130は、サーバ100の各部を制御するプロセッサである。制御部130は、記憶部140に記憶されている各種データを用いて各種のプログラムを実行することにより、サーバ100が実現すべき機能を実現する。
【0026】
制御部130は、受付部131と、生成部132と、編集部133と、発行部134と、して機能する。制御部130は、サーバ100に対してアクセスし、同時に画像を生成するグループとして登録されたユーザの端末装置200各々に対して、ユーザが書き込みを行うキャンバスを提供する。このキャンバスは、ユーザが画像を書き込むための下地となるシートである。キャンバスは、本実施形態においては、各ユーザに対して制御部130により割り当てられたレイヤーから構成される。各端末装置200のユーザは、実質的には、それぞれ自身に割り当てられたレイヤーに書き込みを行い、制御部130は、各ユーザがそれぞれのレイヤーの画像を重畳することで合成して合成後の合同画像をキャンバス上に表現した合同画像を各端末装置200に送信し、表示させる。これにより、各ユーザは、他のユーザと合同で画像を生成しているように見える。即ち、キャンバスは、所謂レイヤー合成により生成された合同画像を表示するためのシートである。
【0027】
なお、レイヤー合成において、基本的には、上面(手前)に位置する書き込みが優先して表示されることになる。つまり、上面(手前)に位置するユーザの方がある程度優先度が高いと言えるため、不公平感をなくすために、レイヤー合成の順序については、サーバ100がランダムでその合成順序を決定することとしてもよいが、サーバ100によるランダム決定に限定するものではない。サーバ100は、ランダムではなく、予め定めた順序、例えば、合同画像の作成に参加した順で合成するようにしてもよいし、合同画像を作成するユーザ間で相談し、相談した結果に基づく設定による順序で合成するようにしてもよい。図示はしていないが、制御部130は、そのレイヤー合成の順序を設定するための設定部を備えていてもよい。
【0028】
受付部131は、通信部110を介して伝達された各端末装置200のユーザのキャンバス(実質的には、各ユーザ(端末装置200)に対して割り当てられてレイヤー)に対する書き込みを受け付ける。受付部131は、受け付けた書き込み内容を生成部132に伝達する。上述の通り、書き込み内容には、キャンバスにおける書き込み位置(キャンバス上の座標)と、書き込みに使ったツール(ペンや消しゴム、筆の種類及びその書き込みの太さなど)と、書き込みの色などの情報のことであり、これら以外の情報を含んでよく、これらの情報の一部であってよい。また、受付部131は、受け付けた書き込み内容がどのユーザからのものかを生成部132に伝達する。
【0029】
生成部132は、受付部131から伝達された書き込み内容に従って、各端末装置200のユーザからの書き込みを、キャンバスに反映させて画像を生成する。即ち、生成部132は、伝達された書き込み内容を、伝達されたユーザに対応するレイヤーに反映させる。そして、反映後(更新後)のレイヤーと、他のユーザの現在のレイヤーとを合成し、合同画像を生成する。生成部132は、生成した合同画像を、通信部110を介して、関連する全てのユーザの端末装置200に送信する。
【0030】
編集部133は、同じ合同画像を作成している一人のユーザ(以下、ユーザA)の端末装置200から、他のユーザ(以下、ユーザB)が書き込んでいる書き込み内容に対する編集要求を通信部110から伝達されると、ユーザBに対してユーザAからユーザAの書き込みの編集を要求する編集要求を受けている旨を、通信部110を介して、端末装置200aに送信する。編集部133は、ユーザBの端末装置200から、通信部110を介して、ユーザAによる編集を了承した旨を受け付けると、ユーザBに対して関連付けられているレイヤーを一時的に、ユーザAに関連付けし、ユーザBの関連付けを解消する。これにより、ユーザAにより書き込みは、元々ユーザBが書き込みをしていたレイヤーに対して成されることになり、ユーザAによる編集が可能となる。ユーザAによる編集内容は、書き込み内容として生成部132により更新され、合同画像として各端末装置200で表示されることになる。なお、編集部133は、ユーザAから編集終了の旨を受け付けると、ユーザAに対して関連付けていたレイヤーを、元々ユーザAに関連付けていたレイヤーに戻すとともに、編集後のレイヤーを再度ユーザBに関連付けし直してもよい。
【0031】
発行部134は、ユーザからの要求に基づき、合同画像のうち、当該ユーザが書き込んだ内容について、確かにそのユーザが書き込んだことを証明するための証明情報を発行する。複数のユーザによる合同画像といえども、そのうちの各ユーザにより当該ユーザが書き込んだ部分は、そのユーザに著作権があるといえる。合同画像の場合には、その線引きが曖昧になる虞があり、後々にあるユーザが自身で合同画像に書き込んだ内容を別の場面で利用したいと考えるときに、その著作権が確かにあることを証明する証拠が必要になる場合がある。発行部134は、そのための証明情報を発行する。したがって、証明情報は、合同画像の一部のうち、証明情報の要求を行ったユーザを示す情報と、そのユーザが書き込んだ画像と、いつ書かれたものかを示す日時情報と、その画像を確かにユーザが書き込んだことを示す情報と、を含む。証明情報は、紙の書面により発行されてもよいし、電子データとして発行されてもよい。また、ブロックチェーン技術を用いたNFT(Non-Fungible Token)を利用してもよい。
【0032】
発行部134は、ユーザの端末装置200から受け付けた証明情報の発行要求を通信部110から伝達されると、発行要求に含まれる情報として、発行要求を行ったユーザのユーザIDと、どの合同画像に対する証明情報の発行要求なのかを示す合同画像の合同画像IDと、その合同画像がいつ作成されたのかを示す日時情報と、合同画像を作成した他のユーザのユーザIDと、を抽出する。なお、これらの情報のうち、必須となる情報は、ユーザIDと、合同画像を特定し得る情報として合同画像IDと日時情報とのいずれか、の2つであり、その他の情報については、必須ではないが、あれば、ユーザが欲している証明情報がどの画像に対するものかを特定しやすくなる。
【0033】
発行部134は、伝達された発行要求に含まれる情報と合致するデータが合同画像情報141にあるかを判定する。そして、発行要求に対応する情報が合同画像情報141に登録されていた場合に、発行要求に含まれるユーザIDが対応するレイヤーを特定し、特定したレイヤーの画像と、ユーザIDまたはユーザIDが示すユーザの名称と、その画像がいつ描かれたのかを示す日時情報と、を含み、画像が確かにそのユーザにより描かれたことを証明する文章を含む証明情報を発行する。発行部134は、発行した証明情報を、発行要求を行ったユーザ(端末装置200)に、通信部110を介して送信する。なお、発行部134は、対応する情報が合同画像情報141になかった場合には、証明情報の発行できないことを示す情報を、発行要求を行った端末装置200に送信する。
【0034】
記憶部140は、サーバ100が動作上必要とするプログラムや各種のデータを記憶する機能を有する。記憶部140は、例えば、HDD、SSD、フラッシュメモリ等の記憶媒体により実現することができる。記憶部140は、合同画像情報141を記憶している。合同画像情報141の詳細については後述する。
【0035】
出力部150は、制御部130により指定された情報を出力する機能を有する。出力部150は、例えば、生成部132によって生成された合同画像を出力する。出力部150による出力は、サーバ100に接続されたモニタへの画像出力であってもよいし、通信部110を介して各端末装置200への送信出力であってもよい。
【0036】
以上が、サーバ100の構成例である。
【0037】
図3は、端末装置200の構成例を示すブロック図である。端末装置200a~200cは、上述の通り、所謂一般的なPC、即ち、プロセッサ及びメモリから成るコンピュータシステムであり、基本的な構成は同一であるので、ここでは、端末装置200として説明する。
【0038】
図3に示すように、端末装置200は、通信部210と、入力部220と、制御部230と、記憶部240と、出力部250と、を備える。
【0039】
通信部210は、端末装置200外部の他の情報処理装置と通信、情報のやり取りを行う通信インターフェースである。具体的には、通信部210は、サーバ100とネットワーク300を介して通信を実行する。通信部210は、制御部230からの指示にしたがってユーザにより書き込まれた内容を示す情報を送信する。通信部210が送信する書き込み内容を示す情報は、キャンバスにおける書き込み位置(キャンバス上の座標)と、書き込みに使ったツール(ペンや消しゴム、筆の種類及びその書き込みの太さなど)と、書き込みの色などの情報を含んでよく、書き込みに関する情報であれば、これらの情報以外の情報を含んでよく、ここに記載した情報の一部のみであってもよい。また、通信部210は、制御部230からの指示にしたがって他のユーザの書き込みに対する編集を行うための編集要求をサーバ100に送信する。また、通信部210は、制御部230からの指示にしたがって証明情報の発行要求をサーバ100に送信する。また、通信部210は、サーバ100から合同画像又は合同画像に関する情報を受信して、制御部230に伝達する。
【0040】
入力部220は、端末装置200のユーザからの入力を受け付けて制御部230に伝達する。入力部220は、一例として、マウスやタッチパッド、キーボード等により実現されてよいが、これらに限定するものではない。入力部220は、ユーザから、キャンバスに対する入力(書き込み内容)を受け付けて、制御部230に伝達する。
【0041】
制御部230は、端末装置200の各部を制御するプロセッサである。制御部230は、記憶部240に記憶されている各種データを用いて各種のプログラムを実行することにより、端末装置200が実現すべき機能を実現する。
【0042】
制御部230は、サーバ100を介して提供される合同画像を生成するためのアプリケーションプログラムを実行することにより、複数のユーザによる合同画像の作成を実現する。当該アプリケーションプログラムは、端末装置200においてサーバ100との連携により実現するネイティブアプリであってもよいし、サーバ100により提供されるブラウザアプリであってもよい。
【0043】
制御部230は、入力部220を介してユーザからの書き込みを受け付けた場合に、書き込みの内容を示す情報である書き込み情報をサーバ100に通信部210を介して送信する。この書き込み情報は、キャンバスにおける書き込み位置(キャンバス上の座標)と、書き込みに使ったツール(ペンや消しゴム、筆の種類及びその書き込みの太さなど)と、書き込みの色などの情報を含んでよく、書き込みに関する情報であれば、これらの情報以外の情報を含んでよく、ここに記載した情報の一部のみであってもよい。
【0044】
また、制御部230は、通信部210を介してサーバ100からの合同画像、または、合同画像に関する情報を受け付けて、合同画像を生成し、出力部250に出力させる。制御部230は、受け付けたのが合同画像に関する情報である場合には、当該情報が示す位置に、これまでに表示している合同画像に、当該情報が示す書き込み内容を追加し、追加後の合同画像を出力部250に出力させる。
【0045】
記憶部240は、端末装置200が動作上必要とするプログラムや各種のデータを記憶する機能を有する。記憶部240は、例えば、HDD、SSD、フラッシュメモリ等の記憶媒体により実現することができる。
【0046】
出力部250は、制御部230により指定された情報を出力する機能を有する。出力部250は、例えば、制御部230によって生成された合同画像、又は、サーバ100から伝達された合同画像を出力する。出力部250による出力は、端末装置200に接続されたモニタへの画像出力であってもよいし、通信部210を介して外部装置への送信出力であってもよい。
【0047】
以上が、端末装置200の構成である。
【0048】
<データ>
図4は、サーバ100の記憶部140に記憶されている合同画像情報141の構成例を示すデータ概念図である。
【0049】
合同画像情報141は、サーバ100を介して複数のユーザにより描かれた合同画像について、いつ、誰によって、合同画像のどの部分が描かれたのかを規定する情報である。
図4に示すように、一例として、合同画像情報141は、合同画像ID401と、日時情報402と、レイヤーID403と、ユーザID404と、が対応付けられた情報である。
【0050】
合同画像ID401は、複数のユーザによって作成された合同画像を、合同画像生成システム1上で、サーバ100や端末装置200が一意に識別するための、固有の識別情報である。合同画像IDは、複数のユーザによる合同画像の作成が開始されるごとに、サーバ100の制御部130によってその合同画像に対して固有の値が付与される。
【0051】
日時情報402は、対応する合同画像ID401で示される合同画像が作成された日時を示す情報である。この日時情報402は、合同画像の作成を開始した日時であってもよいし、作成を完了した日時であってもよい。また、あるいは、作成の開始時刻から終了時刻までの時間帯を示すものであってもよい。
【0052】
レイヤーID403は、対応する合同画像ID401で示される合同画像を構成するレイヤーを一意に識別するための識別情報である。レイヤーIDは、対応する合同画像内で固有の値であればよい。レイヤーID403は、サーバ100の制御部130によって、合同画像を作成するユーザ毎にレイヤーが作成される際に付与される。また、合同画像を作成するユーザが新たなレイヤーIDの割り当てを要求した場合に、その新たなレイヤーに対するレイヤーIDを割り当てる。
【0053】
ユーザID404は、対応する合同画像401中の、レイヤーID403で示されるレイヤーに対応付けられるユーザを一意に示す識別情報である。
【0054】
図4に示す合同画像情報141によれば、合同画像ID401が、「CP0001」の合同画像は、「2022年1月20日 21時10分」に作成されている。そしてこの「CP0001」の合同画像は、レイヤーID403が「L001」、「L002」、「L003」である3つのレイヤーが重畳されたものであり、それぞれ、ユーザID404が「U0293441」、「U0009201」、「U0013890」で示されるユーザにより描かれたものであることが理解できる。
【0055】
以上が、合同画像情報141のデータ構成例である。合同画像情報141があることにより、合同画像生成の管理ができるとともに、証明情報の発行に活用することができる。
【0056】
<動作>
図5は、合同画像生成システム1における合同画像の生成処理に係る各装置間のやり取りの例を示すシーケンス図である。
図5に示すシーケンス図は、ある端末装置のユーザによる書き込みが行われた際の合同画像への反映に係る各装置間のやり取りを示している。ここでは、端末装置200aのユーザAによる書き込みが成された場合を例に説明する。また、合同画像の作成には、端末装置200bのユーザBと端末装置200cのユーザCとにより行われていることとする。
【0057】
図5に示すように、端末装置200aは、ユーザからの書き込みを受け付ける(ステップS501)。すると、端末装置200aは、書き込みを行った内容を示す情報を、サーバ100に送信する(ステップS502)。
【0058】
サーバ100は、端末装置200aからの書き込み内容を示す情報を受信すると、端末装置200aのユーザAに対応付けられているレイヤーに、書き込み内容を示す情報に基づく書き込みを反映させ、そのレイヤーを更新する(ステップS503)。サーバ100は、更新後のレイヤーと、他のレイヤー、即ち、端末装置200bのユーザBに対応付けられているレイヤーと、端末装置200cのユーザCに対応付けられているレイヤーと、を重畳、合成して、キャンバスを更新し、合同画像を生成する(ステップS504)。そして、サーバ100は、生成したキャンバス画像(合同画像)を、各端末装置、即ち、端末装置200a、200b、200cに送信する(ステップS505)。
【0059】
端末装置200aは、サーバ100からキャンバス画像(合同画像)を受信すると、受信したキャンバス画像を表示する(ステップS506)。同様に、端末装置200b、200cも受信したキャンバス画像を表示する(ステップS507、S508)。これにより、端末装置200aで成された書き込みが、全ての端末装置200において反映される。
【0060】
図6は、
図5に示すやり取りを実現するための、端末装置200の動作例を示すフローチャートである。
【0061】
図6に示すように、端末装置200の制御部230は、入力部220を介して、ユーザからキャンバスに対する書き込みを受け付けたか否かを判定する(ステップS601)。当該書き込みは、書き込むために用いるペンの種類や線の幅、使用する色が指定されている状態で、表示されているキャンバス(合同画像)に対して、ペンタブレットやタッチパネル、マウス等を用いてユーザの所望する位置に対して行われる。書き込みを受け付けている場合には(ステップS601のYES)、入力部220は、受け付けた書き込み位置を制御部230に伝達する。
【0062】
制御部230は、受け付けた書き込み位置と、書き込みの内容、即ち、設定されているペンの種類や線の幅、使用する色などの設定情報を含む書込情報を生成する(ステップS602)。制御部230は、生成して書込情報を、通信部210を介して、サーバ100に送信し(ステップS603)、ステップS601の処理に戻る。
【0063】
書き込みを受け付けていない場合には(ステップS601のNO)、制御部230は、通信部210を介して、サーバ100からキャンバス画像(合同画像)を受信しているか否かを判定する(ステップS604)。サーバ100からキャンバス画像(合同画像)を受信している場合には(ステップS604のYES)、制御部230は、出力部250に受信したキャンバス画像を表示させる(ステップS605)。これにより、端末装置200において、自装置で行われた書き込みと、他の端末装置で行われた書き込みとが共に反映される。
【0064】
キャンバス画像(合同画像)を受信していない場合には(ステップS604のNO)、制御部230は、入力部220を介して、あるいは、通信部210を介して、合同画像の作成終了の入力を受け付けているか否かを判定する(ステップS606)。合同画像の作成終了の入力は、端末装置200のユーザから入力部220を介して行われるものであってもよいし、通信部210を介してサーバ100から指示されるものであってもよい。合同画像の作成終了の入力を受け付けていない場合には(ステップS606のNO)、ステップS601の処理に戻り、受け付けている場合には(ステップS606のYES)、処理を終了する。
【0065】
以上が、合同画像生成時における端末装置200の動作例である。
【0066】
図7は、
図5に示すやり取りを実現するための、サーバ100の動作例を示すフローチャートである。
図7に示すフローチャートは、合同画像を作成する端末装置200のいずれかからの書き込みを受け付けた場合に合同画像に反映するとともに、各端末装置200における表示内容も更新させるための処理を示すサーバ100の処理を示している。
【0067】
図7に示すように、サーバ100の通信部110は、合同画像の作成に参加している端末装置200のいずれかから送信された書込情報を受信する(ステップS701)。書込情報は、上述したように、書き込みが成されたキャンバス上(レイヤー上)の位置、使用されたペンの種類や太さ、色などの情報や、書き込みを行ったユーザのユーザIDなどが含まれる。通信部110は、受信した書込情報を制御部130に伝達する。
【0068】
制御部130の受付部131は、通信部110から伝達された書込情報を受け付ける。受付部131は、受け付けた書込情報を生成部132に伝達する。
【0069】
生成部132は、書込情報に含まれるユーザIDから、書き込みを行っているユーザが誰かを特定する(ステップS702)。
【0070】
次に、生成部132は、特定したユーザに対応付けられているレイヤーを特定する(ステップS703)。
【0071】
生成部132は、レイヤーを特定すると、特定したレイヤーに対して、書込情報に示される書き込み内容を反映させて、レイヤーを更新する(ステップS704)。即ち、生成部132は、特定したレイヤーに、書き込み内容で示される書き込み位置に対して、指定されているペンと、太さと、色で書き込みを行う。
【0072】
生成部132は、レイヤーを更新した後に、合同画像の作成に参加している他のユーザに対応付けられているレイヤーを重畳して、合成し、キャンバスを更新する(ステップS705)。そして、生成部132は、更新後のキャンバス(合同画像)を、通信部110を介して、合同画像の作成に参加している全ユーザの端末装置200各々に送信する(ステップS706)。
【0073】
これが、サーバ100による一回の書き込み毎に行われる処理である。なお、ステップS701において、同時に複数のユーザからの書き込みを受け付けた場合には、それぞれのユーザに対応するレイヤーを更新し、更新した複数のレイヤーと、書き込みを行っていないユーザのレイヤーとを合成して、同時にキャンバスを更新するように構成してよい。
【0074】
このように合同画像生成システム1においては、サーバ100が、合同画像の作成に参加する各ユーザに対して、書込み用のレイヤーを提供し、各レイヤーに対する端末装置における書き込みを反映して、各端末装置200に合同画像を提供することで、複数のユーザによる画像(合同画像)の作成環境を提供することができる。
【0075】
図8は、合同画像生成システム1における他者の書き込みに対する編集に係る端末装置200とサーバ100との間のやり取りの例を示すシーケンス図である。
図8~
図11においては、わかりやすくするために、端末装置200aのユーザAが、端末装置200bのユーザBが行った書き込みに対する編集を要求する場合について説明する。
【0076】
図8に示すように、端末装置200aは、ユーザAから、端末装置200bのユーザBが行った書き込み(ユーザBが描いている画像)に対する編集要求を受け付ける(ステップS802)。すると、端末装置200aは、サーバ100に対して、ユーザAによるユーザBの書き込みの編集を要求する編集要求を送信する(ステップS802)。
【0077】
サーバ100は、端末装置200aからの編集要求を受信すると、編集の対象となっているユーザBの端末装置200bに対して、ユーザAからの編集要求を送信する(ステップS803)。
【0078】
端末装置200bは、サーバ100から編集要求を受信すると、ユーザAからの編集の要求を受け付けていることを示す情報を表示して、ユーザBに認識させる。ここでは、ユーザBは、編集を許可するものとする。端末装置200bは、ユーザBから編集の許可を示す入力を受け付けて、編集許可情報を、サーバ100に送信する(ステップS804)。
【0079】
端末装置200bから編集許可情報を受信すると、サーバ100は、端末装置200aに対して、端末装置200bのユーザBによる書き込みに対する編集許可を送信する(ステップS805)。
【0080】
サーバ100からの編集許可を受信すると、端末装置200aは、端末装置200aのユーザAから、ユーザBの書き込みに対する編集内容(書き込み内容)の入力を受け付ける(ステップS806)。そして、端末装置200aは、受け付けた書き込み内容を編集内容として、サーバ100に送信する。
【0081】
サーバ100は、端末装置200aから、ユーザBによる書き込み内容に対する編集を反映させる。そして、編集後のキャンバス画像を生成し、各端末装置200a、200bに送信する(ステップS808)。
【0082】
各端末装置200a、200bは、サーバ100から編集後のキャンバス画像(合同画像)を受信すると、受信したキャンバス画像を表示する(ステップS809、S810)。
【0083】
このような、やり取りにより、合同画像生成システム1においては、他者の書き込みを編集することができる。
【0084】
なお、
図8には、図示していないが、端末装置200c等の他の端末装置200も含まれていてもよく、その場合に、端末装置200aのユーザAにより実行されたユーザBの書き込み内容の編集後の画像は、他の端末装置200cにも送信されて表示され、他のユーザCも編集の内容を知ることができる。
【0085】
図9は、
図8に示すやり取りを実現するための、端末装置200の動作例であって編集を要求する側の端末装置200の動作例を示すフローチャートである。ここでは、端末装置200aの動作として説明する。
【0086】
端末装置200aの入力部220は、端末装置200aのユーザAから、特定の他のユーザによる書き込みに対する編集を要求するための編集要求の入力を受け付ける(ステップS901)。入力部220は、受け付けた入力内容を制御部230に伝達する。
【0087】
制御部230は、入力部220から編集要求を伝達されると、通信部210を介してサーバ100に、他のユーザの書き込みに対するユーザAによる編集を要求する編集要求を送信する(ステップS902)。この編集要求には、編集を行う主体であるユーザAのユーザIDと、ユーザAが編集したいと考えている書き込みを行ったユーザを示すユーザIDと、の情報を含む。
【0088】
制御部230は、通信部210を介して、サーバ100からの編集許可情報を受信しているか否かを判定する(ステップS903)。受信している場合には(ステップS903のYES)、他者の書き込みへのサーバ100からの許可が出たことを意味するので、ユーザAは、特定の他のユーザの書き込みに対する編集を実行する(ステップS904)。編集自体は、通常の書き込みと同様であるので詳細な説明は省略する。
【0089】
一方、制御部230は、サーバ100から編集許可情報を受信していない場合には(ステップS903のNO)、通信部210を介して、サーバ100からの編集不許可情報を受信しているか否かを判定する(ステップS905)。編集不許可情報を受信していない場合には(ステップS905のNO)、ステップS903の処理に戻る。即ち、制御部230は、サーバ100に編集要求を送信した後は、編集許可情報または編集不許可情報のいずれかを受信するまで待機する。
【0090】
編集不許可情報を受信していた場合には(ステップS905のYES)、制御部230は、出力部250に、ユーザAが要求した特定の他のユーザの書き込みを編集できない旨を示す通知を出力する(ステップS906)。出力部250は、例えば、端末装置200aに接続されているモニタに、編集ができない旨を示す表示情報を表示する、あるいは、端末装置200aに接続されているスピーカに、編集ができない旨を示す音声情報を出力することで、当該通知を実行する。
【0091】
以上が、端末装置200aの他のユーザの書き込みの編集を行う場合の動作例の説明である。
【0092】
図10は、
図8に示すやり取りを実現するための、端末装置200の動作例であって編集を要求される側の端末装置200の動作例を示すフローチャートである。ここでは、端末装置200bの動作として説明する。
【0093】
図10に示すように、端末装置200bの通信部210は、サーバ100から、他のユーザからの編集要求があることを示す編集要求を受信する(ステップS1001)。通信部210は、受信した編集要求を制御部230に伝達する。
【0094】
制御部230は、他のユーザが、端末装置200bのユーザBが行った書き込みに対する編集要求を行っていることを通知する(ステップS1002)。即ち、制御部230は、特定のユーザ(ここではユーザA)が、ユーザBに対して、ユーザBの書き込み内容を修正したい旨を示す情報を、出力部250に出力させる。出力の態様は、文字や画像の表示、音声による出力のいずれであってもよい。これにより、端末装置200bのユーザBは、端末装置200aのユーザAが、自身が行った書き込みに対する編集を希望している旨を認識することができる。
【0095】
端末装置200bのユーザBは、当該通知を確認して、ユーザAによる編集を許可するか否かを判断する。
【0096】
制御部230は、入力部220を介して、ユーザBから、編集許可の入力を受け付けたか否かを判定する(ステップS1003)。編集許可の入力を受け付けている場合には(ステップS1003のYES)、制御部230は、通信部210を介して、サーバ100に、ユーザAによる編集を許可することを示す編集許可情報を送信し(ステップS1004)、処理を終了する。一方で、編集を許可しない旨の入力を受け付けている場合には(ステップS1003のNO)、制御部230は、通信部210を介して、サーバ100に、ユーザAによる編集を許可しないことを示す編集不許可情報を送信し(ステップS1005)、処理を終了する。以上が、端末装置200bの動作例である。
【0097】
図11は、
図8に示すやり取りを実現するための、サーバ100の動作例を示すフローチャートである。
【0098】
図11に示すように、サーバ100の通信部110は、端末装置200のいずれかからの信号を受信し、制御部130に伝達する。制御部130は、通信部110を介して、編集要求情報を受信したか否かを判定する(ステップS1101)。編集要求情報は、合同画像生成システム1において、合同画像の作成に参加している特定の一ユーザからの、同じ合同画像の作成に参加している他の特定の一ユーザの書き込みに対する編集を要求することを示す情報である。
【0099】
編集要求情報を受信している場合には(ステップS1101のYES)、制御部130は、編集要求情報で示される編集の対象となるユーザBの端末装置200に対して、編集要求を行った端末装置200のユーザAが、ユーザBの書き込みに対する編集の許可を要求していることを示す編集要求情報を送信し(ステップS1102)、処理を終了する。
【0100】
編集要求情報を受信していない場合には(ステップS1101のNO)、制御部130は、受信した信号が、端末装置200bからの、ユーザAがユーザBの書き込みを編集することを許可することを示す編集許可情報を受信したか否かを判定する(ステップS1103)。編集許可情報を受信している場合には(ステップS1103のYES)、制御部130は、編集要求を送信してきた端末装置に対して、編集を許可する編集許可を通知する(ステップS1104)。即ち、制御部130は、編集要求情報を送信してきた端末装置200aに対して、編集対象のユーザBから、ユーザBが行った書き込みに対する編集をユーザAに許可していることを示す編集許可情報を、通信部110を介して、送信する。
【0101】
そして、制御部130は、ユーザBに対して対応付けていたレイヤーとの対応付けを解除し、ユーザBに対応していてレイヤーをユーザAに対して対応付ける(ステップS1105)。これにより、ユーザAは、ユーザBが行った書き込みに対する編集が可能となる。なお、ユーザBが編集した後は、レイヤーの対応付けを元に戻してもよい。
【0102】
編集許可情報を受信していない場合には(ステップS1103のNO)、制御部130は、編集不許可情報を受信しているか否かを判定する(ステップS1106)。編集不許可情報を受信していない場合には(ステップS1106のNO)、処理を終了する。編集不許可情報を受信している場合には(ステップS1106のYES)、編集要求をしてきたユーザAに、ユーザBからの編集の許可が下りなかったことを示す編集不可を通知する。即ち、制御部130は、ユーザAの端末装置200aに対して、通信部110を介して、ユーザBの書き込みの編集を許可できないことを示す編集不許可情報を送信し(ステップS1107)、処理を終了する。
【0103】
以上が、第1のユーザ(上記では、ユーザA)が、第2のユーザ(上記では、ユーザB)の書き込みの編集を希望する場合の処理の説明である。
【0104】
最後に、合同画像生成システム1において、その合同画像中の一部について特定のユーザによる書き込みであることを証明する証明情報の発行処理について説明する。合同で画像を作成する関係上、出来上がっている合同画像について、その著作権が曖昧になる可能性があるものの、合同画像生成システム1では、各ユーザにレイヤーを割り振るので、それぞれのユーザが描き込んだ内容が、各ユーザのものであることを保証できる。そのような著作権の証明とか必要になった場合に、サーバ100は、ユーザ(端末装置)に対して、証明情報を発行する。
【0105】
図12は、合同画像生成システム1における他者の書き込みの編集に係る各装置間のやり取りの例を示すシーケンス図である。
【0106】
図12に示すように、端末装置200は、ユーザから証明情報の要求入力を受け付ける(ステップS1201)。すると、端末装置200は、サーバ100に対して、証明情報要求を送信する(ステップS1202)。ここで、証明情報要求は、端末装置200のユーザが書いた画像を特定できる情報が含まれる。一例として、証明情報要求には、合同画像を作成した日時や、作成した合同画像を識別する合同画像IDの情報や、端末装置200のユーザを示すユーザIDが含まれる。
【0107】
サーバ100は、端末装置200から、証明情報要求を受信すると、証明情報要求に対応する合同画像情報があるか否かを判定する(ステップS1203)。そして、あった場合に証明情報を発行する(ステップS1204)。サーバ100は、発行した証明情報を、端末装置200に送信する(ステップS1205)。
【0108】
端末装置200は、サーバ100から証明情報を受信すると、証明情報を記憶し(ステップS1206)、処理を終了する。これにより、端末装置200は、ユーザが描いた画像がどのような画像で、確かに端末装置200のユーザが描いたものであることを証明する情報を提示することができる。
【0109】
図13は、
図12に示すやり取りを実現するための、端末装置200の動作例を示すフローチャートである。
【0110】
図13に示すように、端末装置200の入力部220は、ユーザから、証明情報の要求の入力を受け付けて(ステップS1301)、制御部230に伝達する。当該入力には、どの画像かを特定できる情報の入力が含まれ、一例として、合同画像を識別する合同画像ID
【0111】
制御部230は、端末装置200のユーザのユーザIDと、合同画像IDあるいはその代替としての合同画像の作成日時の少なくともいずれか一方と、を含む証明情報要求を生成する。そして、制御部230は、通信部210を介して、生成した証明情報要求をサーバ100に送信する(ステップS1302)。
【0112】
制御部230は、通信部210を介して、サーバ100から、証明情報を受信しているか否かを判定する(ステップS1303)。制御部230は、サーバ100から、証明情報を受信するまで待機する(ステップS1303のNO)。証明情報を受信した場合には(ステップS1303のYES)、制御部230は、受信した証明情報を記憶部240に記憶する(ステップS1304)。そして、制御部230は、証明情報を出力部250に出力させて(ステップS1305)、処理を終了する。証明情報の出力は、証明情報を示す画像の表示であってよく、任意のタイミングで実行されてよい。
【0113】
図14は、
図12に示すやり取りを実現するための、サーバ100の動作例を示すフローチャートである。
【0114】
図14に示すように、サーバ100の通信部110は、端末装置200から、証明情報の要求を受け付ける(ステップS1401)。端末装置200からの証明情報の要求には、端末装置200のユーザに関する情報(ユーザID)ならびに、ユーザがいつの画像についての証明情報を要求しているのかを示す情報(合同画像IDまたは日時情報)が含まれる。通信部110は、受信した証明情報要求を制御部130に伝達する。
【0115】
制御部130は、伝達された証明情報要求に基づいて、対応する合同画像があるか否かを判定する(ステップS1402)。即ち、制御部130は、証明情報要求に合同画像IDが含まれている場合には、その合同画像IDで示される合同画像があるか否かを合同画像情報141の合同画像ID401を参照して判定する。また、制御部130は、証明情報要求に合同画像IDが含まれておらず、ユーザIDと日時情報が含まれる場合には、合同画像情報141の日時情報402とユーザID404とを参照して判定する。
【0116】
対応する合同画像があった場合には(ステップS1402のYES)、制御部130は、特定した合同画像に対応付けられているユーザIDに対応付けられたレイヤーを、レイヤーID403を確認して特定する(ステップS1403)。
【0117】
そして、制御部130は、特定したレイヤーIDに対応するレイヤー画像と、対応する日時情報402を参照して、ユーザの識別情報(名前)と、いつ書かれたのかを示す日時情報と、何が描かたのかを示す画像とを含む証明情報を生成する(ステップS1404)。
【0118】
制御部130は、生成した証明情報を、通信部110を介して、証明情報要求を行った端末装置200に送信し(ステップS1405)、処理を終了する。
【0119】
証明情報要求で要求されている証明情報の合同画像がなかった場合には(ステップS1402のNO)、制御部130は、対応する情報がないために、証明情報を発行できないことを示す不発行情報を生成する(ステップS1406)。そして、制御部130は、通信部110を介して、生成した不発行情報を、証明情報要求を行った端末装置200に送信して(ステップS1407)、処理を終了する。
【0120】
以上が、証明情報の発行処理に係る動作の説明である。
【0121】
<具体例>
ここで、
図15を用いて、レイヤー画像や合同画像、証明情報のイメージ例について説明する。
【0122】
図15(a)は、合同画像の構成例を示す図である。上述したように、また、
図15(a)に示されるように、合同画像は、各ユーザに割り当てられたレイヤー画像を重畳して合成した画像である。基本的には、各ユーザに対して、1枚のレイヤーが割り当てられ、各ユーザは実質的には、自身に割り当てられたレイヤーに対して書込みを行うが、それぞれの端末装置200a~200cにおいては、共通の合同画像が表示される。
図15(a)の例では、レイヤー画像1501aと、レイヤー画像1501bと、レイヤー画像1501cとがこの順に重畳される例を示しており、その結果、
図15(b)に示す合同画像1502を得ることができる。
【0123】
図15(b)は、
図15(a)に示すレイヤー画像を重畳して合成することで得られる合同画像の例である。
図15(a)に示す順で重畳して表示した場合には、
図15(b)に示されるように、表示される。各ユーザが書き込んだ内容は、それぞれのレイヤーの重複の順序によって前面に表示されるかが定まる。
図15(a)の例では、レイヤー画像1501aが、レイヤー画像1501bよりも上の層にある(優先度が高い)ので、
図15(b)に示されるように、レイヤー画像1501aに書き込まれた絵が、レイヤー画像1501bに書き込まれた絵よりも優先的に(前面に)表示される。なお、この優先度は任意であってよく、合同画像を作成するユーザ間で決定して設定できるように合同画像生成システム1を構成してもよいし、単純に合同画像の作成に参加した順に高い優先度をふるようにしてもよい。
【0124】
図15(c)は、証明情報の一例を示す図である。
図15(c)に示すように、証明情報1503は、誰が、いつ、何を描いたのかを証明する情報であればよく、その他に、そのときに描かれた合同画像や、描いたユーザの詳細情報なども含んでもよい。
【0125】
<まとめ>
以上に示したように、合同画像生成システム1に係るサーバ100は、各ユーザからの書き込みを受け、全員が同じキャンバスに書き込んでいるかのように、各ユーザが書き込んだ内容に基づく合成画像を各ユーザに提供することができる。そして、サーバ100は、各ユーザからの書き込みは、それぞれに対応するレイヤーに対応付けて記憶することで、どのユーザがどの内容を書きこんだかを特定することができるとともに、そのことを示す証明情報を提供することができる。
【0126】
<変形例>
上記実施形態に本発明に係る発明の一実施態様を説明したが、本発明に係る思想がこれに限られないことは言うまでもない。以下、本発明に係る思想として含まれる各種変形例について説明する。
【0127】
(1) 上記実施形態においては、内容をわかりやすくするために、各端末装置200からの書き込みに基づいて、各ユーザに対応するレイヤーを合成した合同画像を各端末装置200に送信することで、各端末装置200において、複数のユーザによる画像生成を行う例を示した。しかし、サーバ100の方で、逐次各ユーザに対応するレイヤーに対する書き込み内容で更新されたレイヤーを合成して合同画像を生成して、各端末装置200に送信する構成の場合、リアルタイム性に欠ける可能性がある。即ち、サーバ100における合成処理による遅延、合成画像そのものを送信することに伴う通信遅延による遅延が発生する可能性がある。そのため、各端末装置200では、実際の合同画像と端末装置200で表示する合同画像とでは乖離が発生する可能性がある。
【0128】
そこで、サーバ100においては、各ユーザからの書き込みを受け付けた場合に、合同画像に関する情報として、各ユーザから受け付けた書き込み内容を示す情報をそのまま、他のユーザの端末装置200に送信し、各端末装置200で受け付けた書き込み内容を示す情報に従った合同画像を生成して表示するようにしてもよい。また、書き込みを行った端末装置200においては、ユーザからの書き込みを受け付けた段階で、端末装置200が直截合同画像を生成して表示するように構成してもよい。
【0129】
こうすることで、端末装置200とサーバ100との間でやり取りする情報は、書き込みを行った内容を示す情報という、合同画像そのものよりは少ない情報量のやり取りで済むため、合同画像そのものをやり取りするよりも通信時間を短縮でき、その分だけ、遅延を抑制することができる。また、合同画像の生成においても端末装置200側で生成する場合には、合同画像に関する情報で示される位置の書き込みだけの更新だけで済ませるように構成することもでき、その分だけ、処理時間を簡略化して装置の負担を抑制しつつ、処理時間を短縮できる。
【0130】
(2) 上記実施形態においては、各ユーザは、合同画像を見ながら、書き込みを行う例を示しているが、これは、その限りではない。各端末装置200においては、ユーザからの入力によって、合同画像とレイヤー画像の表示の切り替えを行えるように構成されてもよい。このような構成とすることで、自身の書き込みに対して、他者の書き込みが重複して見えなくなる場合に自身のレイヤー画像の表示に切り替えることで、他者の書き込みを気にせずに書き込みを行うことができる。
【0131】
また、端末装置200において、合同画像とレイヤー画像は、同時に表示されてもよい。即ち、合同画像とレイヤー画像とは、並列して表示されてもよく、ユーザは、表示されている合同画像とレイヤー画像のいずれに対しても書き込みができてよい。合同画像とレイヤー画像への書き込みは、いずれの場合もユーザに対応付けられているレイヤー画像への書き込みを行うことになる。このように構成することで、ユーザは、合同画像と、自身が実質的に書き込んだ内容と、を見比べながらの書き込みを行うことができる。
【0132】
(3)上記実施形態において、特に記載していないが、合同画像生成システム1は、更に、合同画像に作成にかかわるユーザ間で、やり取りを行うための通信システムを提供してもよい。即ち、サーバ100は、各ユーザ間のメッセージのやり取りを中継するサーバとして機能してよく、メッセージのやり取りは、文字列によるチャットシステムであってもよいし、音声によるやり取りであってもよい。これにより、リアルタイムで、ユーザ間で互いの絵を評価したり、改善点を提案したり、あるいは、その他の要望をしたりすることができる。
【0133】
(4)上記実施形態において、ユーザAが、ユーザBが書き込んだ内容を修正する例について説明した。このとき、サーバ100は、ユーザBに対応付けられているレイヤーをユーザAに対応付らけれる構成とし、これによって、ユーザAがユーザBの書き込み内容を修正する構成を実現している。このとき、サーバ100は、ユーザBに対応付けられていたレイヤーに対応するユーザとして、追加でユーザAも対応するユーザとして、合同画像情報141に登録する登録機能を有していてもよい。また、合同画像生成システム1のサーバ100に対する設定に応じて、一つのレイヤーは最初から複数のユーザにより共有されていてもよい。この場合、一つのレイヤーに対して、二人以上のユーザが対応付けられた情報として合同画像情報141に記憶される。また、複数のユーザが一つのレイヤーに対応付けられた場合には、各ユーザの書き込み内容それぞれの情報を残しておき、一つのレイヤー中のどの部分が、どのユーザによる書き込みで、他のどの部分が他のどのユーザによる書き込みであるかを特定する情報を保持してもよい。これにより、一つのレイヤーに対して複数のユーザによる書き込みを行った場合に誰がどのレイヤーに対する書き込みを行ったのかを管理することができる。
【0134】
(5)上記実施形態において、各ユーザに対してレイヤーを割り当てる例を示したが、ユーザに対応付けられたレイヤーの他、誰もが書き込むことが可能なフリーレイヤーが設けられていてもよい。フリーレイヤーは、誰でも書き込みことが許容されるレイヤーであり、フリーレイヤーに対応するユーザは、合同画像の作成に参加したユーザ全員としてもよいし、フリーレイヤーに実際に書き込みを行ったユーザ全員としてもよい。フリーレイヤーに対する書き込みは、基本的に、その時々でフリーレイヤーに対する書き込みを行いたいユーザがフリーレイヤーの使用権をサーバ100に申請し、その時、他のユーザが誰もフリーレイヤーに対する書き込みを行っていない場合に書き込みが許可される。なお、フリーレイヤーに書き込みを行っていたユーザは、書き込みを終了したらフリーレイヤーの解放をサーバ100に申請することで、フリーレイヤーに対する書き込みを誰も行っていない状態とすることができる。これにより、サーバ100は、合同画像の作成において、ユーザに更なる利便性を供与することができる。
【0135】
(6)上記実施形態において、各ユーザがリアルタイムで合同画像を作成する例を示したが、これはリアルタイムで同時でなくともよい。即ち、合同画像を作成するタイミングは、全ユーザが同時である必要はなく、例えば、ユーザAが12時~13時に合同画像に対する書き込みを行い、ユーザBが20時~22時に同じ合同画像に書き込みを実行するような態様であってもよい。このような場合、各ユーザは、どの合同画像の作成に参加するのかを指定する(例えば、合同画像ID)を書き込み開始時に指定することで合同画像を作成するようにしてよい。これにより、ユーザ同士でタイミングが合わなくても共同で画像を作成することができる。
【0136】
(7)上記実施形態において、サーバ100は、複数のレイヤーを結合させるレイヤー結合機能を保持していてもよい。例えば、ユーザAのレイヤーAと、ユーザBのレイヤーBとを重畳合成して一つのレイヤーとするようにしてもよい。この場合、レイヤー結合は、ユーザAの端末200aと、ユーザBの端末200bとの双方から、レイヤー結合の依頼がある場合に、サーバ100は、両ユーザに対応付けられて指定されているレイヤー同士を結合することとしてよい。レイヤー合成においては、いずれのレイヤーを上(手前)とするかは、ユーザ同士によって決定されてもよく、決定された順序でレイヤー合成がなされてよい。また、互いのレイヤー同士で同じ座標位置に書き込みがある場合に、それぞれの書き込み内容の色を合成する(中間色にする)形で重畳合成するようにしてもよい。このように、一般の描画ソフトにおいて存在するレイヤー合成の機能を、本実施形態に係る合同画像作成システムにおいても実行することができ、既存の描画ソフトと違和感なく、書き込みを実行することができる。なお、レイヤーの合成は、異なるユーザ同士のレイヤーの合成であってもよいし、同一のユーザに割り当てられているレイヤー同士の合成であってもよい。
【0137】
(8)上記実施形態において、証明情報を一人に対して発行する例を示したが、この証明情報は複数のユーザに対して発行するものであってもよい。即ち、証明情報に係るレイヤーに関わったユーザが複数いる場合には、発行される証明情報に対して記載されるユーザ名は、複数あってもよい。即ち、
図15(c)の証明情報に記載されるユーザ名は、レイヤーに対応する複数のユーザそれぞれの識別情報(名前)が記載される。これにより、一つのレイヤーに対して複数のユーザが関連付けられていても、少なくともそのレイヤーに書き込まれた内容は、それらの複数のユーザにより実行されたことが保証できる。
【0138】
(9)上記実施形態において、サーバ100の各機能部は、集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって実現してもよいし、CPU(Central Processing Unit)及びメモリを用いてソフトウェアによって実現してもよい。また、各機能部は、1又は複数の集積回路により実現されてよく、複数の機能部の機能を1つの集積回路により実現されることとしてもよい。LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSIなどと呼称されることもある。なお、ここで「回路」は、コンピュータによるデジタル処理、すなわち、ソフトウェアによる機能的処理としての意味合いを含んでもよい。また、当該回路は、再構築可能な回路(例えば、FPGA:Field Programmable Gate Array)により実現されてもよい。
【0139】
サーバ100の各機能部をソフトウェアにより実現する場合、サーバ100は、各機能を実現するソフトウェアである入力プログラムの命令を実行するCPU、上記入力プログラム及び各種データがコンピュータ(又はCPU)で読み取り可能に記録されたROM(Read Only Memory)又は記憶装置(これらを「記録媒体」と称する)、上記入力プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(又はCPU)が上記入力プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記入力プログラムは、当該入力プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。本発明は、上記入力プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0140】
なお、上記入力プログラムは、例えば、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective-C、Java(登録商標)などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装できるが、これらに限定するものではない。
【0141】
(10)上記実施形態に示した各種の構成、態様は、適宜組み合わせてもよい。
【符号の説明】
【0142】
100 サーバ(合同画像生成装置)
110 通信部
120 入力部
130 制御部
131 受付部
132 生成部
133 編集部
134 発行部
140 記憶部
150 出力部
200、200a、200b、200c 端末装置
210 通信部
220 入力部
230 制御部
240 記憶部
250 出力部
300 ネットワーク