情報処理学会 インタラクション 2019
IPSJ Interaction 20192B-12
2019/3/6

イラストレーションの編集履歴を保持したバージョン管理システムの提案
三戸 夏美†1,a)

坂本 大介†1,b)

小野 哲雄†1,c)

概要：デジタル環境でのイラスト作成は広く普及し, 同一のイラストに対して, 様々なバージョンを作成・管理することも頻繁に行われるようになっているきた. これらの作業に対しては, バージョン管理が作業の手助けになると考えられるが, イラスト作成時のバージョン管理支援はあまり行われていない. その理由の1 つとして, ソースコードのようなテキストファイルのバージョン管理と異なり, 画像データやイラスト作成ソフトのデータなどのバイナリファイルに対しては, バージョン間の差分の定義が難しく, バージョン管理が困難という問題が挙げられる. そこで本研究では, イラストソフト内の機能として, 編集履歴に基づく差分を利用するバージョン管理システムを提案する. また プロトタイプを用いたユーザスタディの評価から, バージョン管理機能の有用性や実装方法, インターフェースなどについて検討した. その結果, 本研究で提案するバージョン管理システムはイラスト作成支援として有用であることが明らかになった.

1. はじめにコンピュータや画像編集ソフトの普及により, コンピュータを用いたイラストの作成が広く行われている. その中でて検討する.

2. 関連研究2.1 バージョン管理システムの特徴

は特定のイラストの様々なバージョンを作成・管理するこバージョン管理は, 特にソースコードの開発に必要不可欠とも頻繁に行われているが, イラスト作成時のバージョンなものであり, バージョン管理システムの特徴についても管理支援はあまり行われていない.

研究が行われている [3][4]. Nayan[3] によると, バージョンバージョン管理システムとしては, Subversion[1] や Git[2]管理システムの代表的な機能には, 古いバージョンのバッなど様々なシステムが広く普及している. しかし, その多くクアップ機能やバージョンの分岐機能（ブランチ機能）,が大規模なソースコード, つまりテキストファイルのバーバージョンの統合機能（マージ機能）, 過去の変更の追跡ジョン管理を目的としたものであり, 画像データやイラス機能, 責任者の追跡機能などがあるとされている. これら

ト作成ソフトのデータを対象としたものは少数である. そ以外にもシステムによって実装されている機能もあるが,の理由として, テキストファイルとは異なり, バイナリファ

本研究ではバージョン管理を行うための必要最小限の機能

イル間では差分を明確に定義することが難しいため, テキである古いバージョンのバックアップ機能, バージョンのストファイルに対するバージョン管理手法をそのままバイ分岐機能（ブランチ機能）, バージョンの統合機能（マーナリファイルに対して適応することができないということジ機能）をバージョン管理機能として扱う.

が挙げられる.

また Ali ら [4] によると, バージョンを保存する方式には,

本研究では, 差分の問題を解決し, イラスト作成ソフトをすべてのバージョンの全データを保存する方式と, チェン使用したイラストのバージョン作成およびその管理を支援ジセットと呼ばれるバージョン間の差分情報を保存する方するため, イラストソフト内の機能として編集履歴に基づ式が存在する. 本研究で対象とするイラスト作成時のデーく差分を利用するバージョン管理システムを提案する. まタは容量が大きいため, バージョン管理をする方式としてた, プロトタイプを用いたユーザスタディの評価から, バーはバージョン間の差分情報を保存する方式が適しているとジョン管理機能の有用性や妥当性, 今後の実装方針につい考えられる.

†1a)b)c)

現在，北海道大学
n.sannohe@complex.ist.hokudai.ac.jp
sakamoto@ist.hokudai.ac.jp
tono@ist.hokudai.ac.jp© 2019 Information Processing Society of Japan

2.2 イラストのバージョン管理についての研究
イラストのバージョン管理についての研究として, Chen512

情報処理学会 インタラクション 2019
IPSJ Interaction 20192B-12
2019/3/6

ら [5] は画像のための非線形なバージョン管理を行うため,という 3 つの要件を満たすシステムの提案を目指す。そしイラスト描画の編集履歴を有向非巡回グラフの構造に基づてこれらの 3 つの要件を実現するためいて扱うシステムを提案している. このシステムは編集履歴をリビジョングラフとして可視化し, 様々なバージョン管理操作を可能とするシステムである. バージョン管理機
能としては有向非巡回グラフの構造によって可能になった
非線形なリプレイ機能や柔軟なマージおよびコンフリクトの解消機能などが含まれている.

• イラスト作成時の編集履歴をバージョン間の差分として利用すること• イラスト作成ソフトの機能としてバージョン管理機能を実装することの 2 点を実現するシステムを構築する.
編集履歴はイラスト作成時の実際の差分であるため, 使また, 高見ら [6] はイラスト描画時の創作支援に, バー用者にとって理解しやすい差分となる. しかしイラスト作

ジョン管理システムを利用した創作支援システムを提案し成ソフトとバージョン管理システムが独立なシステムであている. これはバージョン管理システム Git[2] を用いた画る場合, 編集履歴を利用することは容易ではない. そのた像ファイルの編集履歴の表示やバージョン管理操作を, 直め, イラスト作成ソフトの一機能としてバージョン管理機観的に GUI で行えるようにしたものである. この研究で能を実装することで, イラスト作成時の編集履歴を利用では, 予備調査からバージョン管理システムを用いた編集履きるようにすることが提案の目的の 1 つである. 編集履歴

歴管理の操作がイラスト描画作業を阻害する場合があるこの取り扱いについては, Chen ら [5] は有向非巡回グラフととも明らかにしており, GUI やショートカットキーでバーして保存することを提案したが, 本研究では使用者にとっジョン管理システムの操作を行えるようにすることで, 直て理解しやすいよう, 時系列で履歴を保存することを提案

観的にバージョン管理を行えるシステムを構成している.

する. またイラスト作成ソフトの機能としてバージョン管また, 画像ファイルのコミット履歴や差分をグラフィカル理システムを提供することで, バージョン管理作業でイラに表示することで, デザイン初期段階の発散的思考およびスト作成作業の阻害しないこと, バージョンを管理しやす収束的思考を支援することも目的としている.

くすることも目的としている.

2.3 イラストのバージョン管理システムのサービス例

3.2 プロトタイプの実装

イラストのバージョン管理システムのサービスとして本研究では, プロトタイプとして基本的なイラスト作成

Adobe Creative Cloud[7] や universions[8], デジタルデザ

機能を持つソフトウェアにバージョン管理機能を実装し,インツールキットである Sketch[9] のバージョン管理ツー実装したソフトウェアのバージョン管理情報を保存できるルである Abstract[10] が存在する. これらはいずれもバー保存形式を定義した.

ジョン管理機能を提供しているが, ブランチ機能やマージ

3.2.1 ソフトウェアとバージョン管理機能機能が不十分であったり, データの差分を考慮していない

本研究では, イラスト作成ソフトの内部パラメータを取得など, 本研究で実装を目指すバージョン管理システムとはするためイラスト作成ソフトも実装した. プロトタイプの異なっている.

インターフェイスを図 1 に示す. このソフトは基本的なイ

3. 提案システムとプロトタイプの実装
3.1 提案システム

ラスト作成機能としてブラシ機能, 消しゴム機能, バケツ機能, 色選択機能, スポイト機能, 操作取り消し機能, レイヤー機能などを持つ. バージョン管理機能としてはバージョン

イラストのバージョン管理システムのサービスはいくつ

管理の主要な機能である古いバージョンのバックアップ機か存在するが, その多くがブランチ機能やマージ機能が不能, バージョンの分岐機能（ブランチ作成機能）, バージョ十分であったり, データの差分を考慮していないなど, 本ンの統合機能（マージ機能）を実装した. それぞれのバー研究で目指す適切な差分を利用し, 十分なバージョン管理

ジョンはブランチ作成機能によって作成されることから,機能を提供するバージョン管理システムとしては, 不十分ブランチという名称でも呼称される. ブランチ作成機能となものとなっている. また, 高見ら [6] が示したようにバーマージ機能について説明する.

ジョン管理システムを用いた編集履歴管理の操作はイラスブランチ作成機能ト作成作業を阻害する場合があるため, 使用者の作業の妨ブランチ作成機能は既存のバージョン（ブランチ）から,げとならずにバージョン管理が行えることも求められる.

それを複製した新たなバージョン（ブランチ）を作成する

そこで本研究では同一のイラストから派生する複数の機能である. 作成された新たなブランチは作成直後は複製バージョン作成・管理を支援するため元のブランチと全く同じものであるが, 複製元とは独立で• 差分が直観的に理解しやすいある. そのため, 新たに作成されたブランチに対して行わ• バージョン管理作業がイラスト作成作業を阻害しないれた操作は, 複製元のブランチには一切の影響を与えない.

• 作成したバージョンの管理がしやすい

よってブランチ作成機能によって作成されたブランチは,© 2019 Information Processing Society of Japan513

情報処理学会 インタラクション 2019
IPSJ Interaction 2019

図 12B-12
2019/3/6

プロトタイプ 基本画面

既存のブランチから分岐した新たなバージョンとして扱うことができる. また, 複製元となったブランチは変更が加えられず維持されるため, 古いバージョンのバックアップも同時に行われている.

図 2 プロトタイプ ブランチ管理画面

4. ユーザスタディ
4.1 設定提案システムの妥当性や有用性を調査するため, プロト

マージ機能

タイプを体験してもらい, システムを評価してもらうユー

マージ機能は既存の 2 つのブランチから, それらを統合しザスタディを行った. 参加者は 1 年以上デジタルイラストた新たなブランチを作成する機能である. 2 つのブランチ作成に取り組んでいる 20 代前半の男性 4 名, 女性 4 名の計の統合は, 親とした一方のブランチの操作履歴の後ろに, ブ8 名とした. ユーザスタディでは参加者にプロトタイプのランチ間の差分であるもう一方のブランチの操作履歴を加機能を説明し, その後バージョン管理が必要な 2 つの課題えることで実現した. マージ機能で作成されたブランチも（課題 1, 課題 2）に取り組んでもらった.

ブランチ作成機能で作成されたブランチ同様, マージ元の課題 1 は, 参加者にブランチ機能の使用が想定される例

2 つのブランチとは独立で, バックアップも保存されることに取り組んでもらう課題である. 参加者には本システムをになる.

用いて, 図 3 のような条件を満たす 5 枚のイラストの作成

これらのバージョン管理操作はソフトウェア内の専用のダイアログで行うことができる. ダイアログ内では全ブラに取り組んでもらった. このとき, 参加者にはできる限りブランチ機能を用いるよう指示した.

ンチを作成した画像として表示する. ブランチの配置はブ

課題 2 は, 参加者にマージ機能の使用が想定される例にランチ間の関係を表すよう佐々木らの時系列ビュー [11] を取り組んでもらう課題である. 参加者には本システムを用

参考に左から右に時系列の順に並び, ブランチ関係, マーいて, 図 4 のような条件を満たす 4 枚のイラストの作成にジ関係ともに線で結んで表現した. 実際のダイアログの例取り組んでもらった. このとき, 参加者にはできる限りブを図 2 に示す. このダイアログ内ですべてのブランチに対ランチ機能とマージ機能を用いるよう指示した.

しブランチ作成機能, マージ機能を使用することができる.

参加者には課題 1 の後, Q1 から Q5 の 5 問のアンケートまたブランチ間の関係を維持するため, ブランチ作成機能,への回答してもらい, 口頭で意見を伺った. さらに課題 2

マージ機能で新たなブランチの元となったブランチは編集の後には, Q6 から Q10 の 5 問のアンケートに回答してもできないものとした.

らい, 口頭で意見を伺った. また, バージョン管理システム

3.2.2 保存形式の評価に関しては, バージョン管理機能が普段使用していプロトタイプでは, それぞれのブランチを復元するのにるイラスト作成ソフトの機能として実装されている場合,十分なデータを保存し, かつ無意味に重複したデータを保どのように感じるかを答えるよう指示した. アンケートは存しないため, それぞれのブランチの作成後の編集履歴と表 1 のように 5 件法で行った.

ブランチ間の作成関係を保存する. これを実現するためプ
ロトタイプに対応する保存形式では, 各ブランチ間の作成

4.2 結果・考察関係を保存するテキストファイル 1 つと, ブランチの個数

課題 1, 2 で参加者が作成したブランチの例を図 5, 6 に分のそれぞれのブランチの編集履歴を保存するテキスト示す. またアンケート結果は表 1 のようになった. これら

ファイル, 合わせてブランチの個数＋ 1 個のテキストファの結果から考察する.

イルからなるフォルダ全体を保存する. 実装したソフト

ブランチ機能についてはアンケート Q1, Q2, Q3, Q5 のウェアには, この保存形式に対応した読み込み機能, 書き出結果が全て 4 以上であることからプロトタイプとして実装し機能も実装した.

したバージョン管理機能は有用であると考えられる. また© 2019 Information Processing Society of Japan514

情報処理学会 インタラクション 2019
IPSJ Interaction 20192B-12
2019/3/6

図 4 課題 2 で作成する 4 枚のイラストの例

図 3 課題 1 で作成する 5 枚のイラストの例
表 1 アンケート結果 (単位:人)

1:全くそう感じない 2:どちらかといえばそう感じない 3:どちらともいえない
4:どちらかといえばそう感じる 5:強くそう感じる

参加者からの意見としても, ファイルを開くなどの作業を

よってマージ機能はバージョン管理の代表的な機能ではあ必要とせず, システム内でバージョンを変更できる点や, 1るものの, イラスト作成時には限定的な使用にとどまるたつのファイルでまとめて複数のバージョンを扱える点を評

め, 実装の必要性は低いと考えられる. また実装する場合

価する意見や古いバージョンから新たなブランチを作成でにも, 適切な実装方式を比較・検討する必要があると考えきるので, 簡単に作成途中のある時点から再スタートできられる.て便利であるという意見を得られた. 一方で, ブランチを最後に, ブランチ間を線で結ぶ UI についてはアンケート作成していない時点に戻ることができないため, 自動で定Q4, Q9 の結果のように個人によって異なる意見が得られ期的にブランチを作成する, 特定の操作後, 自動でブランチた. 参加者からの意見でも関係性がわかりやすいという意を作成するなど手動以外でもブランチを作成する機能が必見とわかりづらいという意見の両方の意見があった. この要であると考えられる. また末端以外のブランチの編集機

ほか一部のブランチの非表示機能や複数のブランチをまと能やブランチの削除機能などについても要望があったもの

めて表示する機能, ブランチの表示順並び替え機能, ブランの, 実装方式については様々な意見があった. そのため今チに目印をつける機能, レイヤーごとの差分表示機能など

後はこれらの機能の使用者にとって直観的で使用しやすいにも要望があったため, 今後より直観的で使いやすいデザ実装を検討していきたい.

インや機能を検討していきたい.

次にマージ機能については, アンケート Q6, Q7, Q10 の結果の平均が 4 を下回ることからプロトタイプとして実装

5. おわりにしたバージョン管理機能はあまり有用ではないと考えられ

本研究では, イラストソフトのデータのバージョン管理る. 参加者からも, 結果の予測が難しい, 使いこなすのが難を編集履歴を差分として行うため, イラストソフトのデーしく複雑であるという意見や使いどころが限られている,

タそのものが編集履歴情報やバージョン管理についての情ブランチやレイヤーなど別の機能で代用が利く場面が多い

報を保持し, ソフト内の 1 つの機能としてバージョン管理という意見が得られた. また実装方式についても, 操作履を行うシステムを提案した. またイラスト作成ソフトの機歴に基づいてではなく, 画像に基づいてマージを行う方が能としてプロトタイプの実装・ユーザスタディを行い, そよいという意見や分岐前から存在するレイヤーが, マージの有用性や妥当性について検証, 考察を行った. その結果,後自動的に統合される点を, 統合するかをユーザに選択で本研究で提案したシステムのバージョン管理機能は有用できるようにしてほしいという意見などがあり, よりユーザあることや参加者から必要とされていることが示された.に直観的で自由度の高いマージ方法を望む意見が得られた.

一方で, マージ機能については実装の必要性が低いことや© 2019 Information Processing Society of Japan515

情報処理学会 インタラクション 2019
IPSJ Interaction 2019

図 5 課題 1 で参加者が作成したブランチの例

2B-12
2019/3/6

図 6 課題 2 で参加者が作成したブランチの例

実装をよりシンプルにする必要があることなども示された.
今後は, これらの結果に基づきシステムを改善し, 実際にサービスとして提供できるよう使用者に使いやすいシステムの開発を進めていきたい.
参考文献
[1]
[2]
[3]

[4]
[5]

[6]

[7]
[8]
[9]
[10]
[11]

Apache Subversion, http://subversion.apache.org/.
Git, https://git-scm.com/.
Ruparelia, N. B.: The History of Version Control, SIGSOFT Softw. Eng. Notes, Vol. 35, No. 1, pp. 5–9 (online), DOI: 10.1145/1668862.1668876 (2010).
Koc, A. and Tansel, A. U.: A survey of version control
systems, ICEME 2011 (2011).
Chen, H.-T., Wei, L.-Y. and Chang, C.-F.: Nonlinear Revision Control for Images, ACM Trans. Graph.,Vol. 30, No. 4, pp. 105:1–105:10 (online), DOI:
10.1145/2010324.1965000 (2011).
高見玲， 岩田満： バージョン管理システムを用いたイラスト描画のための創作活動支援システムの提案，第78 回全国大会講演論文集， Vol. 2016, No. 1, pp. 171–172(2016).
アドビ公式サイト：クリエイティブ、マーケティング、文書管理ソリューション，https://www.adobe.com/jp/.
Web クリエイターのためのファイル管理コラボレーショ
ンツール — universions，https://universions.com/.
Sketch - The digital design toolkit, https://www.
sketchapp.com/.
Abstract - Secure version control and design workflow
management, https://www.goabstract.com/.
佐々木勇介， 岩田満，田野俊一，橋山智訓ほか： デザイ
ナの行動分析によるデザイン支援ツールの設計と評価，情報処理学会論文誌，Vol. 48, No. 3, pp. 1113–1124 (2007).

© 2019 Information Processing Society of Japan516