IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 富士ゼロックス株式会社の特許一覧

特許7322435アニメーションプレビュー生成方法及びプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-31
(45)【発行日】2023-08-08
(54)【発明の名称】アニメーションプレビュー生成方法及びプログラム
(51)【国際特許分類】
   G06T 13/80 20110101AFI20230801BHJP
   G06F 40/194 20200101ALI20230801BHJP
   G06F 40/197 20200101ALI20230801BHJP
【FI】
G06T13/80 C
G06F40/194
G06F40/197
【請求項の数】 23
(21)【出願番号】P 2019045617
(22)【出願日】2019-03-13
(65)【公開番号】P2020004377
(43)【公開日】2020-01-09
【審査請求日】2022-02-28
(31)【優先権主張番号】16/019,314
(32)【優先日】2018-06-26
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】ローラン ドゥヌ
(72)【発明者】
【氏名】スコット カーター
【審査官】村松 貴士
(56)【参考文献】
【文献】米国特許出願公開第2013/0124952(US,A1)
【文献】特開2017-200059(JP,A)
【文献】特開2007-079830(JP,A)
【文献】特表2017-511924(JP,A)
【文献】特開平06-195336(JP,A)
【文献】特開2015-204076(JP,A)
【文献】特開2005-310158(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/00 - 13/80
G06F 40/00 - 40/197
(57)【特許請求の範囲】
【請求項1】
複数のバージョンの各々の間のテキスト差異及び画像差異のための1又は複数のスライドを備えるドキュメントの前記複数のバージョンを処理すること、
表示用に前記ドキュメントの前記複数のバージョンのうちの第1のバージョンを提供すること、並びに
前記ドキュメントの前記複数のバージョンのうちの前記第1のバージョンを前記ドキュメントの前記複数のバージョンのうちの第2のバージョンに移行させるアニメーションを生成することであって、前記アニメーションが前記第1のバージョンと前記第2のバージョンとの間の前記テキスト差異及び前記画像差異を組み込む、生成すること
を含み、
前記アニメーションを生成することが、
重要度ランク付けに基づいて、前記テキスト差異及び前記画像差異のうちの差異をフィルタリングすること、及び
前記重要度ランク付けに基づいて、前記テキスト差異及び前記画像差異のうちの前記フィルタリングされた差異をアニメーション化する順序を決定すること
を含む、アニメーションプレビュー生成方法。
【請求項2】
前記アニメーションを前記生成することが、
前記ドキュメントを開くユーザに関連付けられたユーザ情報に基づいて、前記テキスト差異及び前記画像差異をアニメーション化する順序を決定すること
を含む、請求項1に記載のアニメーションプレビュー生成方法。
【請求項3】
前記テキスト差異について前記ドキュメントの前記複数のバージョンを前記処理することが、テキストコンテンツ、テキスト位置、フォントサイズ、及びフォント色に対する差異を識別することを含み、前記アニメーションが前記識別された差異を組み込み、
前記画像差異について前記ドキュメントの前記複数のバージョンを前記処理することが、画像コンテンツ、画像位置、及び画像サイズに対する差異を識別することを含み、前記アニメーションが前記識別された差異を組み込む、
請求項1に記載のアニメーションプレビュー生成方法。
【請求項4】
前記テキスト差異及び前記画像差異についてドキュメントの前記複数のバージョンを前記処理することが、前記テキスト差異及び前記画像差異用の変更追跡情報及び編集履歴情報のうちの少なくとも1つについて前記複数のバージョンを処理することを含む、請求項1に記載のアニメーションプレビュー生成方法。
【請求項5】
前記ドキュメントの前記複数のバージョンがフラットファイルである、請求項1に記載のアニメーションプレビュー生成方法。
【請求項6】
前記重要度ランク付けが前記テキスト差異及び前記画像差異のサイズに基づく、請求項に記載のアニメーションプレビュー生成方法。
【請求項7】
前記重要度ランク付けが、前記テキスト差異及び前記画像差異の優先順位に対する選択を容易にするように構成されたインタフェースを介してユーザから行われた選択に基づく、請求項に記載のアニメーションプレビュー生成方法。
【請求項8】
前記ドキュメントの1又は複数の部分を参照するメッセージングアプリケーション内のユーザメッセージから前記重要度ランク付けを決定することをさらに含む、請求項に記載のアニメーションプレビュー生成方法。
【請求項9】
前記ドキュメントの前記複数のバージョンのうちの前記第2のバージョンを前記ドキュメントの前記複数のバージョンのうちの次のバージョンに移行させる別のアニメーションを生成することをさらに含み、前記アニメーションが、前記複数のバージョンのうちの前記次のバージョンの各々の間の前記テキスト差異及び前記画像差異を組み込む、請求項1に記載のアニメーションプレビュー生成方法。
【請求項10】
アニメーションプレビュー生成方法をコンピュータに実行させるためのプログラムであって、前記方法が、
複数のバージョンの各々の間のテキスト差異及び画像差異のための1又は複数のスライドを備えるドキュメントの前記複数のバージョンを処理すること、
表示用に前記ドキュメントの前記複数のバージョンのうちの第1のバージョンを提供すること、並びに
前記ドキュメントの前記複数のバージョンのうちの前記第1のバージョンを前記ドキュメントの前記複数のバージョンのうちの第2のバージョンに移行させるアニメーションを生成することであって、前記アニメーションが前記第1のバージョンと前記第2のバージョンとの間の前記テキスト差異及び前記画像差異を組み込む、生成すること
を含み、
前記アニメーションを生成することが、
重要度ランク付けに基づいて、前記テキスト差異及び前記画像差異のうちの差異をフィルタリングすること、及び
前記重要度ランク付けに基づいて、前記テキスト差異及び前記画像差異のうちの前記フィルタリングされた差異をアニメーション化する順序を決定すること
を含む、プログラム。
【請求項11】
前記アニメーションを生成することが、
前記ドキュメントを開くユーザに関連付けられたユーザ情報に基づいて、前記テキスト差異及び前記画像差異をアニメーション化する順序を決定すること
を含む、請求項10に記載のプログラム。
【請求項12】
前記テキスト差異について前記ドキュメントの前記複数のバージョンを前記処理することが、テキストコンテンツ、テキスト位置、フォントサイズ、及びフォント色に対する差異を識別することを含み、前記アニメーションが前記識別された差異を組み込み、
前記画像差異について前記ドキュメントの前記複数のバージョンを前記処理することが、画像コンテンツ、画像位置、及び画像サイズに対する差異を識別することを含み、前記アニメーションが前記識別された差異を組み込む、
請求項10に記載のプログラム。
【請求項13】
前記テキスト差異及び前記画像差異についてドキュメントの前記複数のバージョンを前記処理することが、前記テキスト差異及び前記画像差異用の変更追跡情報及び編集履歴情報のうちの少なくとも1つについて前記複数のバージョンを処理することを含む、請求項10に記載のプログラム。
【請求項14】
前記ドキュメントの前記複数のバージョンがフラットファイルである、請求項10に記載のプログラム。
【請求項15】
前記重要度ランク付けが前記テキスト差異及び前記画像差異のサイズに基づく、請求項10に記載のプログラム。
【請求項16】
前記重要度ランク付けが、前記テキスト差異及び前記画像差異の優先順位に対する選択を容易にするように構成されたインタフェースを介してユーザから行われた選択に基づく、請求項10に記載のプログラム。
【請求項17】
前記方法が、前記ドキュメントの1又は複数の部分を参照するメッセージングアプリケーション内のユーザメッセージから前記重要度ランク付けを決定することをさらに含む、請求項10に記載のプログラム。
【請求項18】
前記ドキュメントの前記複数のバージョンのうちの前記第2のバージョンを前記ドキュメントの前記複数のバージョンのうちの次のバージョンに移行させる別のアニメーションを生成することをさらに含み、前記アニメーションが、前記複数のバージョンのうちの前記次のバージョンの各々の間の前記テキスト差異及び前記画像差異を組み込む、請求項10に記載のプログラム。
【請求項19】
コミュニケーションツール上で共有されたスライドの差異を表現するアニメーションプレビュー生成方法をコンピュータに実行させるためのプログラムであって、前記方法が、
前記コミュニケーションツール上で共有されたドキュメントを検出することと、
前記共有されたドキュメントの複数のバージョンの間の、テキスト差異及び画像差異を抽出することと、
表示用に前記ドキュメントの前記複数のバージョンのうちの第1のバージョンを提供することと、
前記ドキュメントの前記複数のバージョンのうちの前記第1のバージョンと前記第1のバージョンより後に共有される第2のバージョンとの間の前記テキスト差異及び前記画像差異に基づいて、前記第1のバージョンを前記ドキュメントの前記複数のバージョンのうちの第2のバージョンに移行させるアニメーションを生成することと、
を含み、
前記アニメーションを生成することが、
重要度ランク付けに基づいて、前記テキスト差異及び前記画像差異のうちの差異をフィルタリングすること、及び
前記重要度ランク付けに基づいて、前記テキスト差異及び前記画像差異のうちの前記フィルタリングされた差異をアニメーション化する順序を決定すること
を含む、プログラム。
【請求項20】
前記第2のバージョンのドキュメントが、前記コミュニケーションツール上でユーザ間で共有された前記第1のバージョンの次に、前記コミュニケーションツールにてユーザ間で共有された前記第1のバージョンのドキュメントに対応するドキュメントである請求項19に記載のプログラム。
【請求項21】
前記第2のバージョンのドキュメントが、前記コミュニケーションツール上でユーザ間で共有された最新のドキュメントであり、
前記第1のバージョンのドキュメントが、前記コミュニケーションツール上でユーザ間で、前記第2のバージョンのドキュメントの直前に、前記コミュニケーションツールにてユーザ間で共有された前記第2のバージョンのドキュメントに対応するドキュメントである請求項19に記載のプログラム。
【請求項22】
前記第1のバージョンのドキュメントが、前記コミュニケーションツールのユーザ間で最初に共有されたドキュメントであり、
前記第2のバージョンのドキュメントが、前記第1のバージョンより後に共有された前記第1のバージョンのドキュメントに対応するドキュメントである請求項19に記載のプログラム。
【請求項23】
前記第1のバージョンのドキュメントが、前記コミュニケーションツールのユーザ間で最初に共有されたドキュメントであり、
前記第2のバージョンのドキュメントが、前記コミュニケーションツールのユーザ間で共有された最新のバージョンのドキュメントであって、前記第1のバージョンのドキュメントに対応するドキュメントである請求項19に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、ドキュメント管理に関し、より詳細には、ドキュメントの差異を提示するためのアニメーションプレビューの生成に関する。とくに詳細には、エンタープライズメッセージング(ENTERPRISE MESSAGING)においてドキュメントの差異を提示するためのアニメーションプレビューの自動生成に関する。
【背景技術】
【0002】
近年のコミュニケーションツール(たとえば、電子メール、チャットメッセージング、インスタントメッセージングなど)は、ユーザがドキュメント、スライド、又はプレゼンテーションファイルに対する更新情報を交換し、共有することを可能にする。電子メールに添付するか、チャットチャンネルに投稿するかにかかわらず、バージョン間で何が変わったかを理解することは、時間がかかりいらいらする経験になり得る。
【0003】
いくつかのオーサリングツール(authoring tool)は変更を追跡する機能を提供するが、受信者は対応するアプリケーションを開いてそれらの変更を見る必要がある。多くのユーザは、変更履歴の記録機能のような変更追跡機能を使用することも忘れている。さらに、一般的なドキュメントタイプでは、変更追跡機能が容易に利用できない場合がある。ユーザがドキュメントを開き、変更を見つけようと試みた場合でも(たとえば、そのようなオプションを提供するプラットフォーム内の編集履歴を表示すること)、そのようにすることはまだ時間がかかる。
【0004】
従来技術では、ドキュメント間の変更は、ドキュメントプラットフォーム自体(たとえば、スライドアプリケーション、ドキュメントアプリケーション)内に提供される(アプリケーション内で確認することが可能な履歴保存情報として提供される)か、又はテキストのみの変更を示す。画像ベースのリビジョン制御のための他の従来技術の実装では、ピクセルレベルの変更のみに焦点を当てている。ドキュメントバージョン間のテキスト、画像、及びグラフィックスに対して行われたすべての変更を示す変更の抽象化アニメーションを生成する、ドキュメントプラットフォーム(特に、ドキュメントバージョン間の変更を示さないアプリケーション)に適用できるアプリケーションを提供することを含む、従来技術の実装は存在しない。
【先行技術文献】
【非特許文献】
【0005】
【文献】Woodruff, Alison, et al, "A comparison of the use of text summaries, plain thumbnails, and enhanced thumbnails for Web search tasks.", Journal of the Association for Information Science and Technology 53.2 (2002): 172-185
【文献】Chevalier, Fanny, et al. "Using text animated transitions to support navigation in document histories." Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, ACM, 2010
【文献】Chen, Hsiang-Ting, Li-Yi Wei, and Chun-Fa Chang. "Nonlinear revision control for images." ACM Transactions on Graphics (TOG). Vol. 30, No.4, ACM, 2011
【文献】"Thomas, F. and Johnson, O. (1981), The illusion of Life-Disney Animation, Walt Disney Productions
【発明の概要】
【発明が解決しようとする課題】
【0006】
本開示の技術は、ドキュメントバージョン間のテキスト、画像、及びグラフィックスに対して行われた変更を表すアニメーションプレビューを生成する方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示の第1の態様は、複数のバージョンの各々の間のテキスト差異及び画像差異のための1又は複数のスライドを備えるドキュメントの複数のバージョンを処理すること、表示用にドキュメントの複数のバージョンのうちの第1のバージョンを提供すること、並びにドキュメントの複数のバージョンのうちの第1のバージョンをドキュメントの複数のバージョンのうちの第2のバージョンに移行させるアニメーションを生成することであって、アニメーションが第1のバージョンと第2のバージョンとの間のテキスト差異及び画像差異を組み込む、生成することを含むことができる方法を含む。
【0008】
本開示の第2の態様は、第1の態様において、アニメーションを生成することが、ドキュメントを開くユーザに関連付けられたユーザ情報に基づいて、テキスト差異及び画像差異をアニメーション化する順序を決定することを含む。
【0009】
本開示の第3の態様は、第1の態様において、テキスト差異についてドキュメントの複数のバージョンを処理することが、テキストコンテンツ、テキスト位置、フォントサイズ、及びフォント色に対する差異を識別することを含み、アニメーションが識別された差異を組み込み、画像差異についてドキュメントの複数のバージョンを処理することが、画像コンテンツ、画像位置、及び画像サイズに対する差異を識別することを含み、アニメーションが識別された差異を組み込む。
【0010】
本開示の第4の態様は、第1の態様において、テキスト差異及び画像差異についてドキュメントの複数のバージョンを処理することが、テキスト差異及び画像差異用の変更追跡情報及び編集履歴情報のうちの少なくとも1つについて複数のバージョンを処理することを含む。
【0011】
本開示の第5の態様は、第1の態様において、ドキュメントの複数のバージョンがフラットファイルである。
【0012】
本開示の第6の態様は、第1の態様において、アニメーションを生成することが、重要度ランク付けに基づいて、テキスト差異及び画像差異のうちの差異をフィルタリングすること、及び重要度ランク付けに基づいて、テキスト差異及び画像差異のうちのフィルタリングされた差異をアニメーション化する順序を決定することを含む。
【0013】
本開示の第7の態様は、第6の態様において、重要度ランク付けがテキスト差異及び画像差異のサイズに基づく。
【0014】
本開示の第8の態様は、第6の態様において、重要度ランク付けが、テキスト差異及び画像差異の優先順位に対する選択を容易にするように構成されたインタフェースを介してユーザから行われた選択に基づく。
【0015】
本開示の第9の態様は、第6の態様において、ドキュメントの1又は複数の部分を参照するメッセージングアプリケーション内のユーザメッセージから重要度ランク付けを決定することをさらに含む。
【0016】
本開示の第10の態様は、第1の態様において、ドキュメントの複数のバージョンのうちの第2のバージョンをドキュメントの複数のバージョンのうちの次のバージョンに移行させる別のアニメーションを生成することをさらに含み、アニメーションが、複数のバージョンのうちの次のバージョンの各々の間のテキスト差異及び画像差異を組み込む。
【0017】
本開示の第11の態様は、アニメーションプレビュー生成方法をコンピュータに実行させるためのプログラムを含み、方法は、複数のバージョンの各々の間のテキスト差異及び画像差異のための1又は複数のスライドを備えるドキュメントの複数のバージョンを処理すること、表示用にドキュメントの複数のバージョンのうちの第1のバージョンを提供すること、並びにドキュメントの複数のバージョンのうちの第1のバージョンをドキュメントの複数のバージョンのうちの第2のバージョンに移行させるアニメーションを生成することであって、アニメーションが第1のバージョンと第2のバージョンとの間のテキスト差異及び画像差異を組み込む、生成することを含む。
【0018】
本開示の第12の態様は、第11の態様において、アニメーションを生成することが、ドキュメントを開くユーザに関連付けられたユーザ情報に基づいて、テキスト差異及び画像差異をアニメーション化する順序を決定することを含む。
【0019】
本開示の第13の態様は、第11の態様において、テキスト差異についてドキュメントの複数のバージョンを処理することが、テキストコンテンツ、テキスト位置、フォントサイズ、及びフォント色に対する差異を識別することを含み、アニメーションが識別された差異を組み込み、画像差異についてドキュメントの複数のバージョンを処理することが、画像コンテンツ、画像位置、及び画像サイズに対する差異を識別することを含み、アニメーションが識別された差異を組み込む。
【0020】
本開示の第14の態様は、第11の態様において、テキスト差異及び画像差異についてドキュメントの複数のバージョンを処理することが、テキスト差異及び画像差異用の変更追跡情報及び編集履歴情報のうちの少なくとも1つについて複数のバージョンを処理することを含む。
【0021】
本開示の第15の態様は、第11の態様において、ドキュメントの複数のバージョンがフラットファイルである。
【0022】
本開示の第16の態様は、第11の態様において、アニメーションを生成することが、
重要度ランク付けに基づいて、テキスト差異及び画像差異のうちの差異をフィルタリングすること、及び重要度ランク付けに基づいて、テキスト差異及び画像差異のうちのフィルタリングされた差異をアニメーション化する順序を決定することを含む。
【0023】
本開示の第17の態様は、第16の態様において、重要度ランク付けがテキスト差異及び画像差異のサイズに基づく。
【0024】
本開示の第18の態様は、第16の態様において、重要度ランク付けが、テキスト差異及び画像差異の優先順位に対する選択を容易にするように構成されたインタフェースを介してユーザから行われた選択に基づく。
【0025】
本開示の第19の態様は、第16の態様において、方法が、ドキュメントの1又は複数の部分を参照するメッセージングアプリケーション内のユーザメッセージから重要度ランク付けを決定することをさらに含む。
【0026】
本開示の第20の態様は、第11の態様において、ドキュメントの複数のバージョンのうちの第2のバージョンをドキュメントの複数のバージョンのうちの次のバージョンに移行させる別のアニメーションを生成することをさらに含み、アニメーションが、複数のバージョンのうちの次のバージョンの各々の間のテキスト差異及び画像差異を組み込む。
【0027】
本開示の第21の態様は、コミュニケーションツール上で共有されたスライドの差異を表現するアニメーションプレビュー生成方法をコンピュータに実行させるためのプログラムであって、方法が、
コミュニケーションツール上で共有されたドキュメントを検出することと、
共有されたドキュメントの複数のバージョンの間の、テキスト差異及び画像差異を抽出することと、
表示用にドキュメントの複数のバージョンのうちの第1のバージョンを提供することと、
ドキュメントの複数のバージョンのうちの第1のバージョンと第1のバージョンより後に共有される第2のバージョンとの間のテキスト差異及び画像差異に基づいて、第1のバージョンをドキュメントの複数のバージョンのうちの第2のバージョンに移行させるアニメーションを生成することとを含む。
【0028】
本開示の第22の態様は、第21の態様において、第2のバージョンのドキュメントが、コミュニケーションツール上でユーザ間で共有された第1のバージョンの次に、コミュニケーションツールにてユーザ間で共有された第1のバージョンのドキュメントに対応するドキュメントである。
【0029】
本開示の第23の態様は、第21の態様において、第2のバージョンのドキュメントが、コミュニケーションツール上でユーザ間で共有された最新のドキュメントであり、
第1のバージョンのドキュメントが、コミュニケーションツール上でユーザ間で、第2のバージョンのドキュメントの直前に、コミュニケーションツールにてユーザ間で共有された第2のバージョンのドキュメントに対応するドキュメントである。
【0030】
本開示の第24の態様は、第21の態様において、第1のバージョンのドキュメントが、コミュニケーションツールのユーザ間で最初に共有されたドキュメントであり、
第2のバージョンのドキュメントが、第1のバージョンより後に共有された第1のバージョンのドキュメントに対応するドキュメントである。
【0031】
本開示の第25の態様は、第21の態様において、第1のバージョンのドキュメントが、コミュニケーションツールのユーザ間で最初に共有されたドキュメントであり、
第2のバージョンのドキュメントが、コミュニケーションツールのユーザ間で共有された最新のバージョンのドキュメントであって、第1のバージョンのドキュメントに対応するドキュメントである。
【0032】
本開示の第26の態様は、複数のバージョンの各々の間のテキスト差異及び画像差異のための1又は複数のスライドを備えるドキュメントの複数のバージョンを処理するための手段、表示用にドキュメントの複数のバージョンのうちの第1のバージョンを提供するための手段、並びにドキュメントの複数のバージョンのうちの第1のバージョンをドキュメントの複数のバージョンのうちの第2のバージョンに移行させるアニメーションを生成するための手段であって、アニメーションが第1のバージョンと第2のバージョンとの間のテキスト差異及び画像差異を組み込む、手段を含むシステムを含む。
【0033】
本開示の第27の態様は、複数のバージョンの各々の間のテキスト差異及び画像差異のための1又は複数のスライドを備えるドキュメントの複数のバージョンを処理すること、表示用にドキュメントの複数のバージョンのうちの第1のバージョンを提供すること、並びにドキュメントの複数のバージョンのうちの第1のバージョンをドキュメントの複数のバージョンのうちの第2のバージョンに移行させるアニメーションを生成することであって、アニメーションが第1のバージョンと第2のバージョンとの間のテキスト差異及び画像差異を組み込む、生成することを行うように構成されたプロセッサを含むことができる装置を含む。
【図面の簡単な説明】
【0034】
図1(a)】例示的な実施形態によるスライドの例を示す図である。
図1(b)】例示的な実施形態によるスライドの例を示す図である。
図2】例示的な実施形態による例示的な全体フローを示す図である。
図3(a)】例示的な実施形態による、画像/チャート/グラフ内の変更の検出を含む例示的なアニメーションを示す図である。
図3(b)】例示的な実施形態による、生成されたアニメーションの一例を示す図である。
図4(a)】例示的な実施形態による、ユーザ情報及びドキュメント情報に関する例示的な管理情報を示す図である。
図4(b)】例示的な実施形態による、ユーザ情報及びドキュメント情報に関する例示的な管理情報を示す図である。
図5】例示的な実施形態による、ドキュメントプラットフォーム又はメッセージングプラットフォーム上のアプリケーションレイヤの実行のための例示的なフロー図を示す図である。
図6】いくつかの例示的な実施形態における使用に適した例示的なコンピュータ装置を有する例示的なコンピューティング環境を示す図である。
【発明を実施するための形態】
【0035】
以下の発明を実施するための形態は、本開示の図及び例示的な実施形態のさらなる詳細を提供する。図の間の冗長な要素の参照番号及び説明は、明確にするために省略されている。説明全体にわたって使用される用語は例として提供され、限定するものではない。たとえば、「自動の」という用語の使用は、本開示の実施形態を実施する当業者の所望の実施形態に応じて、実施形態のいくつかの態様に対するユーザ又は管理者の制御を含む全自動又は半自動の実施形態を含んでもよい。選択は、ユーザインタフェース若しくは他の入力手段を介してユーザによって行うことができるか、又は所望のアルゴリズムを介して実施することができる。本明細書に記載される例示的な実施形態は、単独で又は組み合わせて利用することができ、例示的な実施形態の機能は、所望の実施形態による任意の手段を介して実装することができる。
【0036】
本明細書に記載される例示的な実施形態は、テキスト変更だけでなく、メディア変更(たとえば、追加、削除、又はサイズ変更された画像)も考慮に入れる、差異のアニメーションプレビューを生成するシステム及び方法を含む。例示的な実施形態は、ユーザがドキュメントを編集するために行った操作を模倣するそのような変更間の移行をアニメーション化するために開発された技術を含み、並びにアニメーションプレビューをより効果的にするために動きを強調する技術を含む。最後に、本明細書に記載される例示的な実施形態は拡張サムネイルの概念を含み、その結果、得られたアニメーションは、所望の実施形態に従って既存のエンタープライズメッセージング(enterprise messaging)アプリケーションの内部でそのまま投稿することができる。
【0037】
ドキュメントは、インスタントメッセージングなどの最新のエンタープライズコミュニケーションツールにリンクされているか、又はその中で議論されている。ここで、ユーザが、ドキュメントの一例であるプレゼンテーション文書を使って議論する場合について説明する。本例では、プレゼンテーション文書を、チームメンバー内で共有して、互いに編集を行い、チャットアプリケーションやインスタントメッセージングなどのエンタープライズコミュニケーションツールで編集後のプレゼンテーション文書を共有するという使い方を考える。文書をチーム内で共有するために、チームによるレビュー及び共同編集を必要とするスライドデッキ(slide deck)を直接アップロードするか、又はプレゼンテーションドキュメントへのリンクを投稿する。チーム内のユーザがプレゼンテーションドキュメントの一部の編集を行うと、編集を行ったユーザは、変更が生じたことを示す非記述的なコメント(たとえば、「編集を完了したばかり」)の投稿を返すか、そのドキュメント(たとえば、プレゼンテーションファイル)の新しいバージョンをアップロードするか、又は同僚への便宜のために編集可能なドキュメントへのリンクを再投稿することがある。別のシナリオでは、ユーザは、ドキュメントを明示的にアップロードすることなくドキュメントを参照するだけでよい(たとえば、ドキュメントがクラウド上のドキュメントリポジトリ内にあるときにドキュメントが更新されたことを示すメッセージを送ること)。本明細書に記載される例示的な実施形態はまた、ドキュメントの最新バージョンを以前に記憶されたバージョンと比較することをトリガするメッセージを取り込むように構成される。
【0038】
いずれの場合も、変更追跡プラットフォームが利用できないときに、最新のバージョンと現在のバージョンとの間でドキュメント内で何が変わったかを迅速に評価する合理的な必要性が存在する。いくつかの従来技術のアプリケーションは、ドキュメントのサムネイルとして、最初のページの静的サムネイルを提供することができるが、最初のページのサムネイル画像は、ドキュメントバージョン間で何が変わったかに関するいかなる情報も伝達しない。ドキュメントプラットフォームがそのような機能を提供しているとした場合、ドキュメントバージョン間の変更箇所を特定するために、ユーザは、ドキュメントの種類に応じた編集閲覧用のアプリケーションを立ち上げてドキュメントを開き、アプリケーションの変更追跡機能を使って変更箇所を特定するか、又は変更履歴を開いて他のユーザによる変更の履歴を把握する必要がある。
【0039】
さらに、チャットアプリケーションツールや、インスタントメッセージングツールのようなエンタープライズコミュニケーションツール上で他のユーザと通信するユーザは、アプリケーションを起動して、共有しているドキュメントを完全に開き、他のユーザによって行われた編集内容を理解できるような、デスクトップコンピュータを操作していない可能性がある。詳細には、ユーザがモバイル機器上で、チャットやインスタントメッセージングのようなコミュニケーションツールを実行していた場合、画面スペースが限られているモバイル機器は、すべての変更を示すためにドキュメント全体をロードすることができなかったり、限られた表示領域内で変更箇所を見つけるのが困難であったりする可能性がある。さらに、そのようなモバイル機器は、装置上で利用可能な基礎となるドキュメントプラットフォームソフトウェアをもたない可能性があり、それにより、ドキュメントを装置上にロードして変更を見ることが不可能になる。本明細書に記載される例示的な実施形態は、重要度ランク付けによって決定された最も重要な変更を強調表示するドキュメントの代表的なスライド、ページ、又は部分を介して、プレビューを生成することができる。このようにして、仮にユーザがモバイル機器上のメッセージングコミュニケーションプラットフォームを利用していたとしても、ユーザがデスクトップコンピュータにアクセスするまで待つことなく、モバイル機器上で、共有しているドキュメント内から、重要な変更を示すドキュメントの個々のスライド、ページ、又はスライドやページ内の変更部分をすばやく見つけることができる。
【0040】
さらに、根底にあるドキュメントプラットフォーム、つまりドキュメントの種類に応じた編集・閲覧用のアプリケーションプログラムが、ドキュメントに対して行われた変更を示す履歴を記録する機能をもたない場合がある。そのような場合、ユーザがドキュメントプラットフォーム又はメッセージングプラットフォームを介してドキュメントをロードした場合でも、ユーザはドキュメントアプリケーション上でドキュメントのバージョン間で何の変更が行われたかを追跡することができない。本明細書に記載される例示的な実施形態は、メッセージングプラットフォーム及び/又はドキュメントプラットフォームに適用できるアプリケーションレイヤが、アニメーションの生成を介してドキュメントのバージョン間に何の変更が行われたかを示す機能を提供することを容易にする。したがって、本明細書に記載される例示的な実施形態は、利用可能な変更追跡又は編集履歴の機能を容易にもたない可能性があるドキュメントアプリケーションに、アプリケーションレイヤを介して機能を追加することができる。
【0041】
本明細書に記載される例示的な実施形態は、ドキュメント変更のアニメーションプレビューを生成すること、頭脳労働者に時間を浪費させずに変更に関連した情報を与えること、並びにモバイル機器などの画面機能が限られている装置用に変更箇所の要約を容易に把握できるようにすることの少なくともひとつを含む。スライド又はドキュメントの2つ以上のバージョン間の変更を視覚化及び/又はアニメーション化する可能な方法は多数存在する(リビジョン管理及び視覚化に関する広範な文献を参照)。例示的な実施形態は、ユーザがスライドを編集している間にアプリケーションウィンドウが記録された場合に発生したことを模倣し、拡張することを含む。すなわち、ユーザがドキュメントプラットフォームを介してバージョン1のスライド資料集を開き、ユーザがスライドデッキを変更して最終的にスライドデッキのバージョン2を生成したときにユーザの画面が記録されると、そのような「ムービー」はバージョン1とバージョン2との間の変更を示すアニメーションプレビューとして投稿することができる。所望の実施形態に応じて、「ムービー」は、ハイパーテキストマークアップ言語(HTML)ベースのアニメーション、アニメーション画像ファイル(たとえば、グラフィックス交換フォーマット(GIF)、ポータブルネットワークグラフィックス(PNG))の形態であり得るし、ビデオファイル(たとえば、ムービングピクチャエクスパーツグループ(MPEG))などの形態であり得る。所望の実施形態に応じて、対話式インタフェースを提供することもでき、ユーザは、関連する変化に飛びつくビデオタイムラインと同様に、アニメーション内の主要な変化をぱらぱらめくることができる。所望の実施形態に応じて、記録はアクセスできない可能性があり、必ずしも望ましくない可能性がある。なぜなら、それは、タイプミス、フォントサイズの変更、画像に対する多数の位置調整などの非常に多くの無駄な編集を示す可能性があるからである。
【0042】
そのようなきめ細かな情報(たとえば、編集履歴、追跡された変更)がアクセス可能であるとき、例示的な実施形態は利用可能なときに情報を利用する。さらに、本明細書に記載される例示的な実施形態は、ドキュメントバージョン間の主な差異のための視覚化を実現することに関する。その結果、例示的な実施形態は、すべての細かい編集を知らずにアニメーションを生成することもできる。
【0043】
上述した例示的な実施形態により、メッセージングプラットフォーム上で行われる共同スライド編集又はドキュメント編集を巡る技術的問題に対処することが可能である。
【0044】
ドキュメントの変更の検出
例示的な実施形態では、最初の工程は、ドキュメントの2つのバージョン間の変更を識別することを含むことができる。例示的な実施形態は、任意のフォーマットのドキュメントに拡張することができる。本開示では、プレゼンテーションドキュメントのようなスライドに本開示を適用した事例を説明する。プレゼンテーションドキュメントにおけるスライドの場合、一般的なドキュメント内でページ付けが常に変化するドキュメントと比較して、各スライド、各ページ内でコンテンツが独立した単位でスライド、ページ中に存在するため、スライドへの適用例として説明をするが、本開示はスライドによって構成されたプレゼンテーションドキュメントに限定されず、所望の実施形態で説明される本開示の概念に従って、一般的なドキュメントに適応するように修正することができる。たとえば、そのようなドキュメントは、変更された領域の周りでドキュメントを分割(又は「スライスアップ」)することができる。
【0045】
図2は、例示的な実施形態による例示的な全体フローを示す図である。一組のスライドが与えられると、最初の工程はスライドのペアを自動的に見つける:この工程は、テキスト及び画像の差異を使用して可能な一致をランク付けする。200において、201及び202に示されたように、たとえば、メッセージングプラットフォームやチャットツール上で、同一メンバー内で構成されたコミュニケーション(たとえば同一メンバー内で構成されたコミュニケーションの一例として、複数ユーザが登録されたチャネル内でチャット等のメッセージを用いてコミュニケーションする場合の、チャネル内でのコミュニケーションが該当する)において、以前に共有された文書と同じ文書が再度共有された場合、「同じ」文書、あるいは「同じ」スライドの2つのバージョンであるとして検出する。複数の「同じ」文書が、同一メンバー内で共有された場合に、新たに共有された最新のバージョンと、その直近に共有された一つ前のバージョンとを、比較する2つのバージョンとして検出することができる。この場合、あるバージョンの文書と、当該あるバージョンの文書の次に共有されたその文書のバージョン(つまりあるバージョンに対して編集がなされたと思われる次バージョンの文書)とを2つのバージョンとして比較することになる。また別な形態として、最初に共有されたバージョンと、新たに共有された最新のバージョンとを、比較する対象である「同じ」文書の2つのバージョンとして検出してもよい。この場合、オリジナルである最初のバージョンの文書と、ある段階における最新バージョンの文書とを比較することになる。「同じ」スライドの2つのバージョンである、(S1と呼ばれる)図1(a)及び(S2と呼ばれる)図1(b)からの、与えられたペアのスライドS1及びS2に対して、処理は、(「属性付き文字列」として知られる)その属性を伴う両方のスライドのテキストコンテンツ、その位置及びフォント属性(たとえば、サイズ、色、ファミリ、スタイル、重み)を伴うテキストコンテンツを含むデータ構造、画像ビットマップ及び属性(たとえば、位置、回転のような変換)などの両方のスライドの画像コンテンツ、並びにライン(たとえば、開始、終了、ラインスタイル)、及び矩形(たとえば、テキストコンテンツ、位置及びスタイル)などの両方のスライドの形状を抽出することから始まる。
【0046】
情報は、変更追跡、編集履歴、又はドキュメントオブジェクトモデル(DOM)などの、変更に関する情報を提供するドキュメントプラットフォームから提供することもできる。たとえば、DOMは、スライドプラットフォームアプリケーション内の所与のスライド用のテキストボックス及びそれらの位置を決定するために利用することができる。テキストボックス及び/又は位置に変更が発生した場合、それらの変更はDOMから特定することができる。
【0047】
ドキュメントの変更の特徴付け
コンテンツが抽出されると、アルゴリズムは、203においてコンテンツをマッピングしてそれらの対応する比較対象であるコンテンツを見つける。2つのスライドにおけるコンテンツの差異はテキスト差異及び画像差異を含むことができる。
【0048】
テキスト差異は、テキストコンテンツ、位置、フォントサイズ、フォント色を含むことができる。そのような差異の場合、第1のスライドと第2のスライドとの間にテキスト要素をマッピングし、属性付き文字列の各ペアの間の編集を特定するために、最長共通部分列アルゴリズムが使用される。図1(b)は、明るいグレーでテキスト内で見つかった編集を示す。
【0049】
最長共通部分列は、静的なドキュメント及び編集可能なドキュメントの両方に適用することができる。最長共通部分列は、テキストストリーム内の削除、置換、及び追加を評価する動的プログラミングの標準的な方法である。
【0050】
画像差異の場合、アルゴリズムは両方の画像セットを検査し、それらの変形特性にかかわらず、おおよそのコンテンツ一致が見つかった場合(たとえば、2つの画像は、S1が回転していることを示し、S2がまっすぐである場合でも一致するものとして見つかる)、それらをペアにする。図1(a)及び図1(b)の例では、S1の第1の画像はS2の第1の画像と一致することが分かる。そのようなアルゴリズムは、所望の実施形態に従って、画像コンテンツ、画像位置、及び画像サイズ、並びにグラフィカルコンテンツ、位置、サイズ、及び色を検査するように拡張することができる。
【0051】
おおよその画像一致により、1つが切り取られている場合でも2つの画像が一致していることが分かることが保証される。アニメーション化の目的のために、「ポップアップ」のようなアニメーションを適用することができるので、それらを「同じ」画像の異なるバージョンとして検出することが重要である。それらが関連するものとは分からないが、一方を他方と置き換えたものと分かった場合、アニメーションは、第1の画像を消失させ、後で第2の画像を出現させる。
【0052】
システムは、画像/チャート/グラフ内の変更を検出することもできる。そのような例示的な実施形態では、画像に対する修正(たとえば、オブジェクトが追加される)のために、アニメーションは、前の画像の一部を削除し、次いで新たに追加されたコンテンツに移行させるように構成される。図3(a)は、例示的な実施形態による、画像/チャート/グラフ内の変更の検出を含む例示的なアニメーションを示す図である。図3(a)の例では、301の画像に新しい手が加えられ、これは、302で前の領域を削除し、次いで303で手を加えることによってアニメーションで示される。
【0053】
ドキュメントアプリケーションプラットフォームが、変更追跡又は編集履歴に関する情報などの、変更を示す情報を提供する場合、そのような情報は、所望の実施形態に従って、ドキュメントのバージョン間のテキスト差異及び/又は画像差異を特定するように処理することもできる。
【0054】
さらに、ドキュメントのバージョンは、同じドキュメント用のフラットファイルとして管理することができ、フラットファイルは、ドキュメントのバージョン間のテキスト差異及び/又は画像差異を示すプレーンテキスト又はバイナリファイルである。フラットファイルの実施形態は、同じドキュメントのために別個のドキュメントファイルを管理する必要はなく、変更を反映する代わりに、そのようなテキストファイルから変更を抽出してマスタードキュメントに組み込むことができるように、ドキュメントデータベースにとって有益であり得る。そのようなファイルは、必要な変更を決定するために例示的な実施形態によって処理することができる。
【0055】
最後に、図1(b)のS2の第2の画像などの、いくつかのテキスト要素又は画像要素は新しいかもしれない。これらは、以下に記載されるように、アニメーション上の他のオブジェクトがアニメーション化されるのと同時に、又はその後で、それらの位置及びサイズを使用してアニメーション化される。
【0056】
変更のフィルタリング
図2を参照すると、次の態様は、204において変更をフィルタリング及びランク付けすることを含む。アニメーションプレビューでは、すべての変更を表示する必要はない:システムは、画像の位置、回転、コントラスト、境界線の太さ、又は(たとえば、フォントサイズを11pxから11.5pxに、又は通常の文字から太字に変更することなどの)小さいテキスト属性の調整などの一部の変更がレンダリングされないように、パラメータ化することができる。
【0057】
変更のアニメーション化
原則としていくつかの手法は、変更をアニメーション化するために使用することができ、アニメーション化手法のデータベース205から組み込むことができる。例示的な実施形態は、限定はしないが、テキストコンテンツを最初に変更しながらテキストボックス及び画像ボックスを触らずに残すこと、テキストボックス及び画像ボックスを変更し、次いでそれらのコンテンツを変更すること、一度にすべてを変更することなどを含む、所望の実施形態による任意のアニメーション化手法を含むことができる。
【0058】
選択される手法は変更の種類に依存する。たとえば、図1(b)からのS2では、新しい画像は、テキストボックスのサイズを変更することをユーザに強制した。例示的な実施形態では、テキスト変更を最初に図示することができ、その結果、グラフィカル要素が追加され、次いで、それにより、それらの最終的なコンテンツを有するテキストボックスのサイズが変更される。別の例示的な実施形態では、最初に新しいグラフィカル位置に適合するようにボックスを変更し、次いでテキストコンテンツを変更することができる。
【0059】
最後に、例示的な実施形態は両方の変更を同時に実行することができる。例示的な実施形態は、それらの性質に基づいて変更をランク付けすることもできる(すなわち、重要な変更を最初に示す)。図1(a)及び図1(b)の例では、例示的な実施形態は、最初にテキストボックス及び画像ボックスの位置を変更し、次いでそれらの内部のテキストを修正するであろう。
【0060】
所望の実施形態に従って、他のアニメーション化手法を適用することもできる。たとえば、オブジェクトを削除する前の「予期」、オブジェクトを移動させるときの「スローインスローアウト」及び「アーク」、フォントサイズの変更又はテキストの挿入を示すときの「誇張」などは、テキスト差異又は画像差異を強調するときに利用することができる。
【0061】
加えて、アニメーションは、変更の具体的な側面を強調するように調整することができる。たとえば、ユーザが主にテキストを編集する場合、ユーザはおそらく後のバージョンでテキストの変更を見ることに関心がある。あるいは、主にドキュメント内のグラフィックスを編集する設計者は、主としてグラフィカルな変更を見たいであろう。ドキュメントを開くユーザの情報を組み込むことにより、アニメーションは、ユーザのニーズに対して動的に調整され得る。
【0062】
別のシナリオは、ユーザがドキュメントの新しいバージョンをメッセージングアプリケーション(たとえば、モバイル機器上のインスタントメッセージング、オンラインフォーラム、電子メール、テキストメッセージング、チャットアプリケーションツールなど)に添付している場合であり、例示的な実施形態は、ダイアログボックスを用いて、又は「このバージョンのドキュメントと最新のドキュメントとの間の差異を示すアニメーションを作成しているが、強調して欲しいものがありますか?」などの質問を表示することによってユーザに強調箇所の指定を促すことができ、ユーザは、「はい、スライド2及び4」又は「はい、グラフィックス」又は「はい、テキスト」又は「いいえ、ありがとう!」といった選択肢を通じて、強調箇所の指定を応答することができる。所望の実施形態に応じて、アニメーションは、(たとえば、チャットアプリケーション内のメッセージからの)周囲のテキストコンテンツを使用して、ユーザが現在ドキュメントのどの部分に関心があるかを理解することもできる。チャットアプリケーション内のテキストメッセージに基づいてユーザがドキュメントのどの部分を参照しているかを特定するために導入することができる例示的な方法は、米国特許出願第15/490,784号に記載されており、すべての目的のためにその全体が参照により本明細書に組み込まれている。そのような例示的な実施形態を介して、重要度ランク付けは、ドキュメントの1又は複数の部分を参照するメッセージングアプリケーション内のユーザメッセージから決定することができる。たとえば、ドキュメント内の特定のスライドを参照するユーザメッセージは、それにより、それらのスライド内の差異が他の差異よりも重要度ランク付けにおいて高くランク付けされる結果となり得る。ドキュメント内の特定の差異を参照するユーザメッセージも、それらの特定の差異が他の差異よりも重要度ランク付けにおいて高くランク付けされる結果となり得る。そのような機能は、所望の実施形態に従って作成することができる。
【0063】
同様に、重要度ランク付けは、別の例示的な実施形態におけるユーザ選択に基づいて決定することができる。この実施形態では、テキスト差異及び画像差異の優先順位に対する選択を容易にするために、ユーザインタフェース(たとえば、上述されたダイアログボックス、ユーザ設定など)が提供及び構成され得る。したがって、ユーザは、強調されるべき差異の観点から重要であることを示すために好みを示すことができる。
【0064】
206において、システムは、次いで、プレゼンテーションにおいて変わったもののアニメーションプレビューを提供することができ、これはいくつかのアプリケーションにおいて有用であり得る。1つの例示的な実施形態は、ユーザが協働しているときドキュメントに対する更新情報を頻繁に投稿するので、エンタープライズメッセージングアプリケーションを含む。アニメーションプレビューは、ユーザが新しいドキュメントバージョンで注意を払うべきことを迅速に伝達するので有用である。他の領域は、スライドをプレビューするか、デスクトップファイルシステム内のデフォルトのドキュメントサムネイルを置き換えるか、又はそのような変更を表示するオプションを提供し、画面の利用できる面積が削減されたモバイルアプリケーション内の変更を視覚的に表示するために、そのようなアニメーションを使用する可能性がある。そのような例示的な実施形態では、差異は、所望の実施形態に従って決定された重要度に基づいて順序付け及びランク付けされ、次いで、そのような差異のサブセットは、(たとえば、ドキュメントのサムネイルとして、又はカーソールがドキュメントを選択しているときに)プレビュー内でアニメーション化される。
【0065】
図3(b)は、例示的な実施形態による、例示的な生成されたアニメーションを示す。具体的には、図3(b)は、ドキュメントのオリジナル又は最初のバージョンのスライド311を示し、スライド316は、312~315において生成された移行アニメーションを用いた、ドキュメントの最新バージョン又は第2のバージョンの同じスライドである。312において、画像のサイズに対する変更を示すために、境界ボックスアニメーションが一番上の画像に対して提供される。313において、テキストボックスが強調表示され、テキストボックスに対するテキスト変更を示すために、テキスト変更がアニメーション化される。314において、新しい画像がどこに表示されるかを示すために、ボックスがアニメーション化される。315において、スライドに追加された新しいテキストをアニメーション化するために、別のテキストボックスが強調表示される。
【0066】
アプリケーションの例示的な実施形態は、テキストボックス及び画像を管理するHTML5で適用されるアプリケーションを含むことができる。変更は、所望の実施形態に従って、最長共通部分列(LCS)アルゴリズム又は他の変更検出アルゴリズムを使用して検出することができる。画像は、それらすべてを256×256ピクセルの公称サイズに縮小し、閾値ベースの画像差異を適用することにより、おおよその変更に対してHTML5のCANVAS要素を使用して照合することもできるが、所望の実施形態に従って他の画像照合技術を適用することもできる。
【0067】
図4(a)及び図4(b)は、例示的な実施形態による、例示的な管理情報を示す。具体的には、図4(a)は、そのようなドキュメントと対話した1人又は複数のユーザ用のユーザ情報の例を示す。そのような情報は、ユーザID、インタフェースを介して設定された好ましいアニメーション設定、及びドキュメントに対して行われた変更のタイプを含むことができる。図4(b)は、ドキュメントデータベースによって管理されるドキュメント情報の例を示す。そのような情報は、ドキュメント、ドキュメントの基礎バージョン、及びバージョンに関連付けられたテキスト差異又は画像差異を示す任意の関連フラットファイルを含むことができる。
【0068】
図5は、例示的な実施形態による、ドキュメントプラットフォーム又はメッセージングプラットフォーム上のアプリケーションレイヤの実行のための例示的なフロー図を示す図である。
【0069】
501において、アプリケーションレイヤは、複数のバージョンの各々の間のテキスト差異及び画像差異のための1又は複数のスライドを含む、ドキュメントの複数のバージョンを処理する。複数のバージョンは、図4(b)のドキュメント管理情報を参照してデータベースから適切なドキュメントバージョンを決定して検索することにより、ドキュメントデータベースからドキュメントを検索することを介して、検索することができる。これは、ドキュメント自体を検索すること、及び/又はデータベースからフラットファイルを検索することから達成することができる。
【0070】
本明細書に記載されたように、テキスト差異及び画像差異は、アプリケーションレイヤによって処理することができる。テキスト差異に対するドキュメントの複数のバージョンの処理は、テキストコンテンツ、テキスト位置、フォントサイズ、及びフォント色に対する差異を識別することを含むことができる。所望の実施形態に従って、他の特性を含むこともできる。同様に、画像差異に対するドキュメントの複数のバージョンの処理は、画像コンテンツ、画像位置、及び画像サイズに対する差異を識別することを含むことができる。そのような処理の例が図2に関して記載される。
【0071】
そのような差異は、ドキュメントプラットフォームによって提供される情報から、ドキュメントの異なるバージョンを比較することから、又はフラットファイルの使用から特定することができる。そのような情報を利用可能にするドキュメントプラットフォームの場合、テキスト差異及び画像差異は、変更追跡情報及び編集履歴情報から導出することもできる。例示的な実施形態では、本明細書に記載されたようにフラットファイルを利用することもできる。
【0072】
502において、アプリケーションレイヤは、テキスト差異及び画像差異をアニメーション化する順序を決定する。そのような順序は、アニメーション設定を参照することによってドキュメントを開くユーザに関連付けられたユーザ情報、又は順序を決定するために図4(a)から行われた変更のタイプに基づいて決定することができる。たとえば、ユーザが明示的に設定を行ってアプリケーションレイヤ内の選好を規定する場合、その設定は、所望の実施形態に従ってアニメーションの順序を決定するために利用することができる。さらに、それがユーザが最近編集したドキュメントである場合、そのような情報は、行われた変更のタイプに記録することができ、ユーザが以前にドキュメントに対して行った変更のタイプは、アニメーションの順序内で高い優先順位が付けられる。
【0073】
アニメーションの生成は、所望の実施形態に応じて、決定された重要度ランクに基づいて行うこともできる。たとえば、502から決定された差異の順序が与えられると、差異は、重要度ランク付け、又はいかなる差異をもたらさない反復変更を取り除くことに基づいて、変更の数に基づいて設定されたフィルタセットを用いて、さらに精緻化及びフィルタリングすることができる。たとえば、変更が同じテキストを削除し復元することを含む場合、そのような反復的な変更は、そのような変更を記録した編集履歴情報から差異が導出された場合、アニメーションを生成する際に使用されるべき差異から除去することができる。さらに、小さいフォント変更又は画像変更(たとえば、フォントを0.5ポイントだけ減らす、画像を数ピクセルだけサイズ変更する)などの他の変更は、アニメーションに値しない場合もあり、所望の実施形態に応じてアニメーションなしで提示のみすることができる。このようにして、重要度ランク付けは、所望の実施形態に従って、テキスト差異及び/又は画像差異のサイズに基づくこともできる。重要度ランク付けは、所望の実施形態に従って、重要度をテキスト又は画像における変更のサイズと相関させる機能であり得る。
【0074】
重要度ランク付けは、図4(a)から決定されたように、ユーザが見たい変更のタイプ若しくはユーザが行った編集のタイプに基づいて、又は所望の実施形態に従って行うことができる。たとえば、テキスト変更を強調するユーザ情報は、テキストに対するより大きいブロック変更がより小さいテキスト編集よりも重要であると判断される重要度ランク付けを含むことができる。ユーザが以前にドキュメントを修正した場合、そのような修正の近くで行われた変更は、他の変更よりも重要であるようにランク付けすることができる。
【0075】
所望の実施形態に従って、重要度を決定する他のランク付けを利用することもでき、本開示はいかなる特定の実施形態にも限定されない。
【0076】
例示的な実施形態では、重要度ランク付けは、変更をフィルタリングして、変更を示すようにサムネイルアニメーションを生成するために選ばれた数の変更のみを優先させることにより、メッセージングプラットフォーム内の変更を提示することに基づくこともできる。たとえば、ユーザがエンタープライズメッセージングプラットフォームを介して別のユーザにドキュメントの新しいバージョンを送信する場合、最も重要な変更のうちのいくつかを反映するアニメーションのみを生成することができ、それに応じて重要性ランク付けを行うことができる。
【0077】
その後、差異の順序は、重要度ランク付けに基づいて残りのフィルタリングされた変更から決定することができる。
【0078】
503において、アプリケーションレイヤは、表示用にドキュメントの複数のバージョンのうちの第1のバージョンを提供する。ロードされたドキュメントのコンテキストに応じて(たとえば、ドキュメントを開くユーザに基づいて)、表示されるべき最初のバージョンは、ユーザがアクセスした以前のバージョン、現在のバージョンの直前のバージョン、又は図4(b)の管理情報を参照することからドキュメントデータベースからロードされたドキュメントの本当に最初のバージョンであり得る。なお、「コンテキスト」とは、人の行動やできごとの背景にある、人の意識や考え方、取り巻く状況や環境などの事情又は背後関係を意味する。
【0079】
さらに、所望の実施形態に応じて、ドキュメントのすべて又はドキュメントの一部分は、所望の実施形態に応じてドキュメントの最初のバージョンとして提供することができる。たとえば、ドキュメントがメッセージングプラットフォームを介して閲覧されている場合、ドキュメントからの1つのスライド又は1ページは、メッセージングシステムを介して変更のプレビューとして提供されてもよく、又はドキュメントのセクションのサムネイルが所望の実施形態に応じて適用されてもよい。そのようなページ、スライド、又はセクションは、503から導出された重要度ランク付けに基づいて決定することができる。このようにして、ユーザは、メッセージングシステムを介してドキュメントに対して行われた最も重要な変更を迅速に理解することができる。
【0080】
504において、アプリケーションレイヤは、ドキュメントの複数のバージョンのうちの第1のバージョンをドキュメントの複数のバージョンのうちの第2のバージョンに移行させるアニメーションを生成し、アニメーションは、第1のバージョンと第2のバージョンとの間のテキスト差異及び画像差異を組み込む。ドキュメントの第2のバージョンは、所望の実施形態に応じて、第1のバージョンに続くバージョンのうちのいずれかであり得る。たとえば、第2のバージョンは、ドキュメントの最新バージョンに達するまで、アニメーションの変更を繰り返す実施形態のための第1のバージョンのドキュメントの直後のバージョンであり得るし、又はユーザが第1のバージョンと比較したいドキュメントの具体的なバージョンであり得る。
【0081】
本明細書に記載されたように、複数のバージョンを有するドキュメントに対して、又はユーザが複数のバージョンをトラバースすることを望む場合、複数のアニメーションを生成することができる。例示的な実施形態は、図2及び図5に示されたようにフローを反復的に適用して、ドキュメントの複数のバージョンのうちの第2のバージョンをドキュメントの複数のバージョンのうちの次のバージョンに移行させる別のアニメーションを生成することができ、アニメーションは、複数のバージョンのうちの次のバージョンの各々の間のテキスト差異及び画像差異を組み込む。このようにして、ユーザは、(たとえば、複数のユーザなどによって)ドキュメントに対して複数のバージョンが作成された場合、バージョン間に生じる差異を見ることができる。
【0082】
図6は、いくつかの例示的な実施形態における使用に適した例示的なコンピュータ装置を有する例示的なコンピューティング環境を示す図である。
【0083】
コンピューティング環境600内のコンピュータ装置605は、1若しくは複数の処理ユニット、コア、若しくはプロセッサ610、メモリ615(たとえば、RAM、ROMなど)、内部記憶装置620(たとえば、磁気記憶装置、光記憶装置、半導体記憶装置、及び/若しくは有機記憶装置)、並びに/又はI/Oインタフェース625を含むことができ、それらのうちのいずれも、情報を通信するための、又はコンピュータ装置605内に組み込まれた、通信機構又はバス630上で結合することができる。I/Oインタフェース625はまた、所望の実施形態に応じて、カメラから画像を受信するか、又はプロジェクタ若しくはディスプレイに画像を提供するように構成される。
【0084】
コンピュータ装置605は、入力/ユーザインタフェース635及び出力装置/インタフェース640に通信結合することができる。入力/ユーザインタフェース635及び出力装置/インタフェース640のうちのいずれか1つ又は両方は、有線又はワイヤレスのインタフェースであり得るし、取外し可能であり得る。入力/ユーザインタフェース635は、入力(たとえば、ボタン、タッチスクリーンインタフェース、キーボード、ポインティング/カーソールコントロール、マイクロフォン、カメラ、点字、モーションセンサ、光学レーダーなど)を提供するように使用され得る、物理的又は仮想の、任意の装置、構成要素、センサ、又はインタフェースを含んでもよい。出力装置/インタフェース640は、ディスプレイ、テレビ、モニタ、プリンタ、スピーカ、点字などを含んでもよい。いくつかの例示的な実施形態では、入力/ユーザインタフェース635及び出力装置/インタフェース640は、コンピュータ装置605に組み込むことができるか、又は物理的に結合することができる。他の例示的な実施形態では、他のコンピュータ装置は、コンピュータ装置605用の入力/ユーザインタフェース635及び出力装置/インタフェース640として機能するか、又はその機能を提供してもよい。
【0085】
コンピュータ装置605の例には、限定はしないが、高性能モバイル機器(たとえば、スマートフォン、車両及び他の機械内の装置、人間及び動物が持ち運ぶ装置など)、モバイル機器(たとえば、タブレット、ノートブック、ラップトップ、パーソナルコンピュータ、ポータブルテレビ、ラジオなど)、並びにモバイル用に設計されていない装置(たとえば、デスクトップコンピュータ、他のコンピュータ、情報キオスク、1又は複数のプロセッサが組み込まれ、且つ/又は結合されたテレビ、ラジオなど)が含まれてもよい。
【0086】
コンピュータ装置605は、外部記憶装置645、並びに、同じ又は異なる構成の1又は複数のコンピュータ装置を含む、任意の数のネットワーク化された構成要素、装置、及びシステムと通信するためのネットワーク650に、(たとえば、I/Oインタフェース625を介して)通信結合することができる。コンピュータ装置605又は任意の接続されたコンピュータ装置は、サーバ、クライアント、シンサーバ、汎用マシン、専用マシン、又は別のラベルとして機能しているか、そのサービスを提供しているか、又はそう呼ばれ得る。
【0087】
I/Oインタフェース625は、限定はしないが、コンピューティング環境600内の少なくともすべての接続された構成要素、装置、及びネットワークとの間で情報を通信するための、任意の通信又はI/Oプロトコル又は規格(たとえば、イーサネット(登録商標)、802.11x、ユニバーサルシステムバス、WiMax、モデム、セルラーネットワークプロトコルなど)を使用する、有線及び/又はワイヤレスのインタフェースを含むことができる。ネットワーク650は、任意のネットワーク又はネットワークの組合せ(たとえば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、電話ネットワーク、セルラーネットワーク、衛星ネットワークなど)であり得る。
【0088】
コンピュータ装置605は、一過性媒体及び非一過性媒体を含む、コンピュータ使用可能媒体又はコンピュータ可読媒体を使用すること、及び/又は使用して通信することができる。一過性媒体には、伝送媒体(たとえば、金属ケーブル、光ファイバ)、信号、搬送波などが含まれる。非一過性媒体には、磁気媒体(たとえば、ディスク及びテープ)、光媒体(たとえば、CD ROM、デジタルビデオディスク、ブルーレイディスク)、半導体媒体(たとえば、RAM、ROM、フラッシュメモリ、半導体記憶装置)、並びに他の非一過性記憶装置又はメモリが含まれる。
【0089】
コンピュータ装置605は、いくつかの例示的なコンピューティング環境内で技術、方法、アプリケーション、処理、又はコンピュータ実行可能命令を実行するために使用することができる。コンピュータ実行可能命令は、一過性媒体から取り出され、非一過性媒体に記憶され、非一過性媒体から取り出され得る。実行可能命令は、任意のプログラミング言語、スクリプト言語、及び機械語(たとえば、C、C++、C#、Java(登録商標)、Visual Basic、Python、Perl、JavaScript(登録商標)など)のうちの1又は複数から生じることができる。
【0090】
プロセッサ610は、ネイティブ環境又はバーチャル環境において、任意のオペレーティングシステム(OS)(図示せず)の下で実行することができる。異なるユニットが互いに、OSと、且つ他のアプリケーション(図示せず)と通信するための、論理ユニット660、アプリケーションプログラミングインタフェース(API)ユニット665、入力ユニット670、出力ユニット675、及びユニット間通信機構695を含む1又は複数のアプリケーションを配置することができる。記載されたユニット及び要素は、設計、機能、構成、又は実装において異なり得るし、提供された説明に限定されない。
【0091】
いくつかの例示的な実施形態では、情報又は実行命令がAPIユニット665によって受信されると、それは1又は複数の他のユニット(たとえば、論理ユニット660、入力ユニット670、出力ユニット675)に通信されてもよい。場合によっては、論理ユニット660は、ユニット間の情報の流れを制御し、上述されたいくつかの例示的な実施形態において、APIユニット665、入力ユニット670、出力ユニット675によって提供されるサービスを指示するように構成されてもよい。たとえば、1又は複数の処理又は実装の流れは、論理ユニット660単独により、又はAPIユニット665と連携して制御されてもよい。入力ユニット670は、例示的な実施形態に記載された計算用の入力を取得するように構成されてもよく、出力ユニット675は、例示的な実施形態に記載された計算に基づいて出力を提供するように構成されてもよい。
【0092】
メモリ615は、プロセッサ610が図2及び図5に記載された機能を実行して、図1 (a)、図1(b)、図3(a)、及び図3(b)に示された結果を提示するために、図4(a)及び図4(b)に示された管理情報を記憶するように構成することができる。
【0093】
発明を実施するための形態のいくつかの部分は、コンピュータ内の動作のアルゴリズム及び象徴的表現に関して提示される。これらのアルゴリズム的記述及び象徴的表現は、自分のイノベーションの本質を他の当業者に伝達するために、データ処理技術分野の当業者によって使用される手段である。アルゴリズムは、所望の最終状態又は最終結果に導く、一連の定義された工程である。例示的な実施形態では、実行される工程は、目に見える結果を達成するための具体的な数の物理操作を必要とする。
【0094】
特に断りのない限り、説明から明らかなように、説明全体を通して、「処理」、「計算」、「算出」、「決定」、「表示」、などの用語を利用する説明は、コンピュータシステムのレジスタ及びメモリ内の物理(電気)量として表されるデータを操作し、コンピュータシステムのメモリ又はレジスタ又は他の情報を記憶、伝送、若しくは表示する装置内の物理量として同様に表される他のデータに変換する、コンピュータシステム又は他の情報処理装置の動作及び処理を含むことができることを諒解されたい。
【0095】
例示的な実施形態は、本明細書の動作を実施するための装置に関してもよい。この装置は、必要な目的のために特別に構築されてもよく、1若しくは複数のコンピュータプログラムによって選択的にアクティブ化若しくは再構成された、1若しくは複数の汎用コンピュータを含んでもよい。そのようなコンピュータプログラムは、コンピュータ可読記憶媒体又はコンピュータ可読信号媒体などのコンピュータ可読媒体に記憶されてもよい。コンピュータ可読記憶媒体には、限定はしないが、光ディスク、磁気ディスク、読取り専用メモリ、ランダムアクセスメモリ、半導体装置及び半導体ドライブ、又は、電子情報を記憶することに適した任意の他のタイプの有形若しくは非一過性媒体などの、有形媒体が含まれてもよい。コンピュータ可読信号媒体には、搬送波などの媒体が含まれてもよい。本明細書に提示されたアルゴリズム及びディスプレイは、本質的に、いかなる特定のコンピュータ又は他の装置にも関係しない。コンピュータプログラムは、所望の実施形態の動作を実行する命令を含む、純粋なソフトウェア実施形態を含むことができる。
【0096】
様々な汎用システムは、本明細書の例によるプログラム及びモジュールとともに使用されてもよく、又は所望の方法工程を実施するためにより専門化された装置を構築することが便利であると証明することができる。加えて、例示的な実施形態は、いかなる特定のプログラミング言語も参照して記載されない。様々なプログラミング言語は、本明細書に記載された例示的な実施形態の教示を実装するために使用され得ることを諒解されたい。プログラミング言語の命令は、1又は複数の処理装置、たとえば、中央処理装置(CPU)、プロセッサ、又はコントローラによって実行されてもよい。
【0097】
当技術分野で知られているように、上述された動作は、ハードウェア、ソフトウェア、又はソフトウェア及びハードウェアの何らかの組合せによって実施されてもよい。例示的な実施形態の様々な態様は、回路及び論理装置(ハードウェア)を使用して実装されてもよいが、他の態様は、機械可読媒体に記憶された命令(ソフトウェア)を使用して実装されてもよく、命令は、プロセッサによって実行されると、方法を実施して本開示の実施形態を遂行することをプロセッサに行わせるはずである。また、本開示のいくつかの例示的な実施形態は、ハードウェア内でのみ実施されてもよいが、他の例示的な実施形態は、ソフトウェア内でのみ実施されてもよい。さらに、記載された様々な機能は、単一のユニット内で実施することができ、任意の数の方法でいくつかの構成要素にわたって展開することができる。ソフトウェアによって実施されるとき、方法は、コンピュータ可読媒体に記憶された命令に基づいて、汎用コンピュータなどのプロセッサによって実行されてもよい。必要な場合、命令は、圧縮及び/又は暗号化されたフォーマットで媒体に記憶することができる。
【0098】
さらに、本開示の明細書の考察及び教示の実践から、本開示の他の実施形態が当業者には明らかであろう。記載された例示的な実施形態の様々な態様及び/又は構成要素は、単独で、又は任意の組合せで使用されてもよい。明細書及び例示的な実施形態は例としてのみ考えられるものであり、本開示の真の範囲及び主旨は、以下の特許請求の範囲によって示される。
図1(a)】
図1(b)】
図2
図3(a)】
図3(b)】
図4(a)】
図4(b)】
図5
図6