(57)【要約】【課題】ドキュメントバージョン間のテキスト、画像、及びグラフィックスに対して行われた変更を表すアニメーションを生成する方法及びプログラムを提供する。【解決手段】本明細書に記載された例示的な実施形態は、ドキュメント（特に、スライドプレゼンテーション）のバージョン間のテキスト差異及び画像差異の検出、並びにバージョン間の差異を示すようにアニメーションを生成することに関する。そのような例示的な実施形態は、そうでない場合、ドキュメントバージョン間の差異を示すいかなる機能ももたないドキュメントプラットフォーム上のアプリケーションレイヤとして実装することができる。さらに、そのような実施形態は、共同ドキュメント編集のためのメッセージングアプリケーションにも拡張可能である。【選択図】図６
2020004377.tif 000002
【特許請求の範囲】
【請求項１】
複数のバージョンの各々の間のテキスト差異及び画像差異のための１又は複数のスライドを備えるドキュメントの前記複数のバージョンを処理すること、
表示用に前記ドキュメントの前記複数のバージョンのうちの第１のバージョンを提供すること、並びに
前記ドキュメントの前記複数のバージョンのうちの前記第１のバージョンを前記ドキュメントの前記複数のバージョンのうちの第２のバージョンに移行させるアニメーションを生成することであって、前記アニメーションが前記第１のバージョンと前記第２のバージョンとの間の前記テキスト差異及び前記画像差異を組み込む、生成すること
を含む、アニメーションプレビュー生成方法。
【請求項２】
前記アニメーションを前記生成することが、
前記ドキュメントを開くユーザに関連付けられたユーザ情報に基づいて、前記テキスト差異及び前記画像差異をアニメーション化する順序を決定すること
を含む、請求項１に記載のアニメーションプレビュー生成方法。
【請求項３】
前記テキスト差異について前記ドキュメントの前記複数のバージョンを前記処理することが、テキストコンテンツ、テキスト位置、フォントサイズ、及びフォント色に対する差異を識別することを含み、前記アニメーションが前記識別された差異を組み込み、
前記画像差異について前記ドキュメントの前記複数のバージョンを前記処理することが、画像コンテンツ、画像位置、及び画像サイズに対する差異を識別することを含み、前記アニメーションが前記識別された差異を組み込む、
請求項１に記載のアニメーションプレビュー生成方法。
【請求項４】
前記テキスト差異及び前記画像差異についてドキュメントの前記複数のバージョンを前記処理することが、前記テキスト差異及び前記画像差異用の変更追跡情報及び編集履歴情報のうちの少なくとも１つについて前記複数のバージョンを処理することを含む、請求項１に記載のアニメーションプレビュー生成方法。
【請求項５】
前記ドキュメントの前記複数のバージョンがフラットファイルである、請求項１に記載のアニメーションプレビュー生成方法。
【請求項６】
前記アニメーションを生成することが、
重要度ランク付けに基づいて、前記テキスト差異及び前記画像差異のうちの差異をフィルタリングすること、及び
前記重要度ランク付けに基づいて、前記テキスト差異及び前記画像差異のうちの前記フィルタリングされた差異をアニメーション化する順序を決定すること
を含む、請求項１に記載のアニメーションプレビュー生成方法。
【請求項７】
前記重要度ランク付けが前記テキスト差異及び前記画像差異のサイズに基づく、請求項６に記載のアニメーションプレビュー生成方法。
【請求項８】
前記重要度ランク付けが、前記テキスト差異及び前記画像差異の優先順位に対する選択を容易にするように構成されたインタフェースを介してユーザから行われた選択に基づく、請求項６に記載のアニメーションプレビュー生成方法。
【請求項９】
前記ドキュメントの１又は複数の部分を参照するメッセージングアプリケーション内のユーザメッセージから前記重要度ランク付けを決定することをさらに含む、請求項６に記載のアニメーションプレビュー生成方法。
【請求項１０】
前記ドキュメントの前記複数のバージョンのうちの前記第２のバージョンを前記ドキュメントの前記複数のバージョンのうちの次のバージョンに移行させる別のアニメーションを生成することをさらに含み、前記アニメーションが、前記複数のバージョンのうちの前記次のバージョンの各々の間の前記テキスト差異及び前記画像差異を組み込む、請求項１に記載のアニメーションプレビュー生成方法。
【請求項１１】
アニメーションプレビュー生成方法をコンピュータに実行させるためのプログラムであって、前記方法が、
複数のバージョンの各々の間のテキスト差異及び画像差異のための１又は複数のスライドを備えるドキュメントの前記複数のバージョンを処理すること、
表示用に前記ドキュメントの前記複数のバージョンのうちの第１のバージョンを提供すること、並びに
前記ドキュメントの前記複数のバージョンのうちの前記第１のバージョンを前記ドキュメントの前記複数のバージョンのうちの第２のバージョンに移行させるアニメーションを生成することであって、前記アニメーションが前記第１のバージョンと前記第２のバージョンとの間の前記テキスト差異及び前記画像差異を組み込む、生成すること
を含む、プログラム。
【請求項１２】
前記アニメーションを生成することが、
前記ドキュメントを開くユーザに関連付けられたユーザ情報に基づいて、前記テキスト差異及び前記画像差異をアニメーション化する順序を決定すること
を含む、請求項１１に記載のプログラム。
【請求項１３】
前記テキスト差異について前記ドキュメントの前記複数のバージョンを前記処理することが、テキストコンテンツ、テキスト位置、フォントサイズ、及びフォント色に対する差異を識別することを含み、前記アニメーションが前記識別された差異を組み込み、
前記画像差異について前記ドキュメントの前記複数のバージョンを前記処理することが、画像コンテンツ、画像位置、及び画像サイズに対する差異を識別することを含み、前記アニメーションが前記識別された差異を組み込む、
請求項１１に記載のプログラム。
【請求項１４】
前記テキスト差異及び前記画像差異についてドキュメントの前記複数のバージョンを前記処理することが、前記テキスト差異及び前記画像差異用の変更追跡情報及び編集履歴情報のうちの少なくとも１つについて前記複数のバージョンを処理することを含む、請求項１１に記載のプログラム。
【請求項１５】
前記ドキュメントの前記複数のバージョンがフラットファイルである、請求項１１に記載のプログラム。
【請求項１６】
前記アニメーションを生成することが、
重要度ランク付けに基づいて、前記テキスト差異及び前記画像差異のうちの差異をフィルタリングすること、及び
前記重要度ランク付けに基づいて、前記テキスト差異及び前記画像差異のうちの前記フィルタリングされた差異をアニメーション化する順序を決定すること
を含む、請求項１１に記載のプログラム。
【請求項１７】
前記重要度ランク付けが前記テキスト差異及び前記画像差異のサイズに基づく、請求項１６に記載のプログラム。
【請求項１８】
前記重要度ランク付けが、前記テキスト差異及び前記画像差異の優先順位に対する選択を容易にするように構成されたインタフェースを介してユーザから行われた選択に基づく、請求項１６に記載のプログラム。
【請求項１９】
前記方法が、前記ドキュメントの１又は複数の部分を参照するメッセージングアプリケーション内のユーザメッセージから前記重要度ランク付けを決定することをさらに含む、請求項１６に記載のプログラム。
【請求項２０】
前記ドキュメントの前記複数のバージョンのうちの前記第２のバージョンを前記ドキュメントの前記複数のバージョンのうちの次のバージョンに移行させる別のアニメーションを生成することをさらに含み、前記アニメーションが、前記複数のバージョンのうちの前記次のバージョンの各々の間の前記テキスト差異及び前記画像差異を組み込む、請求項１１に記載のプログラム。
【請求項２１】
コミュニケーションツール上で共有されたスライドの差異を表現するアニメーションプレビュー生成方法をコンピュータに実行させるためのプログラムであって、前記方法が、
前記コミュニケーションツール上で共有されたドキュメントを検出することと、
前記共有されたドキュメントの複数のバージョンの間の、テキスト差異及び画像差異を抽出することと、
表示用に前記ドキュメントの前記複数のバージョンのうちの第１のバージョンを提供することと、
前記ドキュメントの前記複数のバージョンのうちの前記第１のバージョンと前記第１のバージョンより後に共有される第２のバージョンとの間の前記テキスト差異及び前記画像差異に基づいて、前記第１のバージョンを前記ドキュメントの前記複数のバージョンのうちの第２のバージョンに移行させるアニメーションを生成することと、
を含む、プログラム。
【請求項２２】
前記第２のバージョンのドキュメントが、前記コミュニケーションツール上でユーザ間で共有された前記第１のバージョンの次に、前記コミュニケーションツールにてユーザ間で共有された前記第１のバージョンのドキュメントに対応するドキュメントである請求項２１に記載のプログラム。
【請求項２３】
前記第２のバージョンのドキュメントが、前記コミュニケーションツール上でユーザ間で共有された最新のドキュメントであり、
前記第１のバージョンのドキュメントが、前記コミュニケーションツール上でユーザ間で、前記第２のバージョンのドキュメントの直前に、前記コミュニケーションツールにてユーザ間で共有された前記第２のバージョンのドキュメントに対応するドキュメントである請求項２１に記載のプログラム。
【請求項２４】
前記第１のバージョンのドキュメントが、前記コミュニケーションツールのユーザ間で最初に共有されたドキュメントであり、
前記第２のバージョンのドキュメントが、前記第１のバージョンより後に共有された前記第１のバージョンのドキュメントに対応するドキュメントである請求項２１に記載のプログラム。
【請求項２５】
前記第１のバージョンのドキュメントが、前記コミュニケーションツールのユーザ間で最初に共有されたドキュメントであり、
前記第２のバージョンのドキュメントが、前記コミュニケーションツールのユーザ間で共有された最新のバージョンのドキュメントであって、前記第１のバージョンのドキュメントに対応するドキュメントである請求項２１に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、ドキュメント管理に関し、より詳細には、ドキュメントの差異を提示するためのアニメーションプレビューの生成に関する。とくに詳細には、エンタープライズメッセージング（ＥＮＴＥＲＰＲＩＳＥ  ＭＥＳＳＡＧＩＮＧ）においてドキュメントの差異を提示するためのアニメーションプレビューの自動生成に関する。
【背景技術】
【０００２】
近年のコミュニケーションツール（たとえば、電子メール、チャットメッセージング、インスタントメッセージングなど）は、ユーザがドキュメント、スライド、又はプレゼンテーションファイルに対する更新情報を交換し、共有することを可能にする。電子メールに添付するか、チャットチャンネルに投稿するかにかかわらず、バージョン間で何が変わったかを理解することは、時間がかかりいらいらする経験になり得る。
【０００３】
いくつかのオーサリングツール（ａｕｔｈｏｒｉｎｇ  ｔｏｏｌ）は変更を追跡する機能を提供するが、受信者は対応するアプリケーションを開いてそれらの変更を見る必要がある。多くのユーザは、変更履歴の記録機能のような変更追跡機能を使用することも忘れている。さらに、一般的なドキュメントタイプでは、変更追跡機能が容易に利用できない場合がある。ユーザがドキュメントを開き、変更を見つけようと試みた場合でも（たとえば、そのようなオプションを提供するプラットフォーム内の編集履歴を表示すること）、そのようにすることはまだ時間がかかる。
【０００４】
従来技術では、ドキュメント間の変更は、ドキュメントプラットフォーム自体（たとえば、スライドアプリケーション、ドキュメントアプリケーション）内に提供される（アプリケーション内で確認することが可能な履歴保存情報として提供される）か、又はテキストのみの変更を示す。画像ベースのリビジョン制御のための他の従来技術の実装では、ピクセルレベルの変更のみに焦点を当てている。ドキュメントバージョン間のテキスト、画像、及びグラフィックスに対して行われたすべての変更を示す変更の抽象化アニメーションを生成する、ドキュメントプラットフォーム（特に、ドキュメントバージョン間の変更を示さないアプリケーション）に適用できるアプリケーションを提供することを含む、従来技術の実装は存在しない。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】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
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本開示の技術は、ドキュメントバージョン間のテキスト、画像、及びグラフィックスに対して行われた変更を表すアニメーションプレビューを生成する方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の第１の態様は、複数のバージョンの各々の間のテキスト差異及び画像差異のための１又は複数のスライドを備えるドキュメントの複数のバージョンを処理すること、表示用にドキュメントの複数のバージョンのうちの第１のバージョンを提供すること、並びにドキュメントの複数のバージョンのうちの第１のバージョンをドキュメントの複数のバージョンのうちの第２のバージョンに移行させるアニメーションを生成することであって、アニメーションが第１のバージョンと第２のバージョンとの間のテキスト差異及び画像差異を組み込む、生成することを含むことができる方法を含む。
【０００８】
本開示の第２の態様は、第１の態様において、アニメーションを生成することが、ドキュメントを開くユーザに関連付けられたユーザ情報に基づいて、テキスト差異及び画像差異をアニメーション化する順序を決定することを含む。
【０００９】
本開示の第３の態様は、第１の態様において、テキスト差異についてドキュメントの複数のバージョンを処理することが、テキストコンテンツ、テキスト位置、フォントサイズ、及びフォント色に対する差異を識別することを含み、アニメーションが識別された差異を組み込み、画像差異についてドキュメントの複数のバージョンを処理することが、画像コンテンツ、画像位置、及び画像サイズに対する差異を識別することを含み、アニメーションが識別された差異を組み込む。
【００１０】
本開示の第４の態様は、第１の態様において、テキスト差異及び画像差異についてドキュメントの複数のバージョンを処理することが、テキスト差異及び画像差異用の変更追跡情報及び編集履歴情報のうちの少なくとも１つについて複数のバージョンを処理することを含む。
【００１１】
本開示の第５の態様は、第１の態様において、ドキュメントの複数のバージョンがフラットファイルである。
【００１２】
本開示の第６の態様は、第１の態様において、アニメーションを生成することが、重要度ランク付けに基づいて、テキスト差異及び画像差異のうちの差異をフィルタリングすること、及び重要度ランク付けに基づいて、テキスト差異及び画像差異のうちのフィルタリングされた差異をアニメーション化する順序を決定することを含む。
【００１３】
本開示の第７の態様は、第６の態様において、重要度ランク付けがテキスト差異及び画像差異のサイズに基づく。
【００１４】
本開示の第８の態様は、第６の態様において、重要度ランク付けが、テキスト差異及び画像差異の優先順位に対する選択を容易にするように構成されたインタフェースを介してユーザから行われた選択に基づく。
【００１５】
本開示の第９の態様は、第６の態様において、ドキュメントの１又は複数の部分を参照するメッセージングアプリケーション内のユーザメッセージから重要度ランク付けを決定することをさらに含む。
【００１６】
本開示の第１０の態様は、第１の態様において、ドキュメントの複数のバージョンのうちの第２のバージョンをドキュメントの複数のバージョンのうちの次のバージョンに移行させる別のアニメーションを生成することをさらに含み、アニメーションが、複数のバージョンのうちの次のバージョンの各々の間のテキスト差異及び画像差異を組み込む。
【００１７】
本開示の第１１の態様は、アニメーションプレビュー生成方法をコンピュータに実行させるためのプログラムを含み、方法は、複数のバージョンの各々の間のテキスト差異及び画像差異のための１又は複数のスライドを備えるドキュメントの複数のバージョンを処理すること、表示用にドキュメントの複数のバージョンのうちの第１のバージョンを提供すること、並びにドキュメントの複数のバージョンのうちの第１のバージョンをドキュメントの複数のバージョンのうちの第２のバージョンに移行させるアニメーションを生成することであって、アニメーションが第１のバージョンと第２のバージョンとの間のテキスト差異及び画像差異を組み込む、生成することを含む。
【００１８】
本開示の第１２の態様は、第１１の態様において、アニメーションを生成することが、ドキュメントを開くユーザに関連付けられたユーザ情報に基づいて、テキスト差異及び画像差異をアニメーション化する順序を決定することを含む。
【００１９】
本開示の第１３の態様は、第１１の態様において、テキスト差異についてドキュメントの複数のバージョンを処理することが、テキストコンテンツ、テキスト位置、フォントサイズ、及びフォント色に対する差異を識別することを含み、アニメーションが識別された差異を組み込み、画像差異についてドキュメントの複数のバージョンを処理することが、画像コンテンツ、画像位置、及び画像サイズに対する差異を識別することを含み、アニメーションが識別された差異を組み込む。
【００２０】
本開示の第１４の態様は、第１１の態様において、テキスト差異及び画像差異についてドキュメントの複数のバージョンを処理することが、テキスト差異及び画像差異用の変更追跡情報及び編集履歴情報のうちの少なくとも１つについて複数のバージョンを処理することを含む。
【００２１】
本開示の第１５の態様は、第１１の態様において、ドキュメントの複数のバージョンがフラットファイルである。
【００２２】
本開示の第１６の態様は、第１１の態様において、アニメーションを生成することが、
重要度ランク付けに基づいて、テキスト差異及び画像差異のうちの差異をフィルタリングすること、及び重要度ランク付けに基づいて、テキスト差異及び画像差異のうちのフィルタリングされた差異をアニメーション化する順序を決定することを含む。
【００２３】
本開示の第１７の態様は、第１６の態様において、重要度ランク付けがテキスト差異及び画像差異のサイズに基づく。
【００２４】
本開示の第１８の態様は、第１６の態様において、重要度ランク付けが、テキスト差異及び画像差異の優先順位に対する選択を容易にするように構成されたインタフェースを介してユーザから行われた選択に基づく。
【００２５】
本開示の第１９の態様は、第１６の態様において、方法が、ドキュメントの１又は複数の部分を参照するメッセージングアプリケーション内のユーザメッセージから重要度ランク付けを決定することをさらに含む。
【００２６】
本開示の第２０の態様は、第１１の態様において、ドキュメントの複数のバージョンのうちの第２のバージョンをドキュメントの複数のバージョンのうちの次のバージョンに移行させる別のアニメーションを生成することをさらに含み、アニメーションが、複数のバージョンのうちの次のバージョンの各々の間のテキスト差異及び画像差異を組み込む。
【００２７】
本開示の第２１の態様は、コミュニケーションツール上で共有されたスライドの差異を表現するアニメーションプレビュー生成方法をコンピュータに実行させるためのプログラムであって、方法が、
コミュニケーションツール上で共有されたドキュメントを検出することと、
共有されたドキュメントの複数のバージョンの間の、テキスト差異及び画像差異を抽出することと、
表示用にドキュメントの複数のバージョンのうちの第１のバージョンを提供することと、
ドキュメントの複数のバージョンのうちの第１のバージョンと第１のバージョンより後に共有される第２のバージョンとの間のテキスト差異及び画像差異に基づいて、第１のバージョンをドキュメントの複数のバージョンのうちの第２のバージョンに移行させるアニメーションを生成することとを含む。
【００２８】
本開示の第２２の態様は、第２１の態様において、第２のバージョンのドキュメントが、コミュニケーションツール上でユーザ間で共有された第１のバージョンの次に、コミュニケーションツールにてユーザ間で共有された第１のバージョンのドキュメントに対応するドキュメントである。
【００２９】
本開示の第２３の態様は、第２１の態様において、第２のバージョンのドキュメントが、コミュニケーションツール上でユーザ間で共有された最新のドキュメントであり、
第１のバージョンのドキュメントが、コミュニケーションツール上でユーザ間で、第２のバージョンのドキュメントの直前に、コミュニケーションツールにてユーザ間で共有された第２のバージョンのドキュメントに対応するドキュメントである。
【００３０】
本開示の第２４の態様は、第２１の態様において、第１のバージョンのドキュメントが、コミュニケーションツールのユーザ間で最初に共有されたドキュメントであり、
第２のバージョンのドキュメントが、第１のバージョンより後に共有された第１のバージョンのドキュメントに対応するドキュメントである。
【００３１】
本開示の第２５の態様は、第２１の態様において、第１のバージョンのドキュメントが、コミュニケーションツールのユーザ間で最初に共有されたドキュメントであり、
第２のバージョンのドキュメントが、コミュニケーションツールのユーザ間で共有された最新のバージョンのドキュメントであって、第１のバージョンのドキュメントに対応するドキュメントである。
【００３２】
本開示の第２６の態様は、複数のバージョンの各々の間のテキスト差異及び画像差異のための１又は複数のスライドを備えるドキュメントの複数のバージョンを処理するための手段、表示用にドキュメントの複数のバージョンのうちの第１のバージョンを提供するための手段、並びにドキュメントの複数のバージョンのうちの第１のバージョンをドキュメントの複数のバージョンのうちの第２のバージョンに移行させるアニメーションを生成するための手段であって、アニメーションが第１のバージョンと第２のバージョンとの間のテキスト差異及び画像差異を組み込む、手段を含むシステムを含む。
【００３３】
本開示の第２７の態様は、複数のバージョンの各々の間のテキスト差異及び画像差異のための１又は複数のスライドを備えるドキュメントの複数のバージョンを処理すること、表示用にドキュメントの複数のバージョンのうちの第１のバージョンを提供すること、並びにドキュメントの複数のバージョンのうちの第１のバージョンをドキュメントの複数のバージョンのうちの第２のバージョンに移行させるアニメーションを生成することであって、アニメーションが第１のバージョンと第２のバージョンとの間のテキスト差異及び画像差異を組み込む、生成することを行うように構成されたプロセッサを含むことができる装置を含む。
【図面の簡単な説明】
【００３４】
【図１（ａ）】例示的な実施形態によるスライドの例を示す図である。
【図１（ｂ）】例示的な実施形態によるスライドの例を示す図である。
【図２】例示的な実施形態による例示的な全体フローを示す図である。
【図３（ａ）】例示的な実施形態による、画像／チャート／グラフ内の変更の検出を含む例示的なアニメーションを示す図である。
【図３（ｂ）】例示的な実施形態による、生成されたアニメーションの一例を示す図である。
【図４（ａ）】例示的な実施形態による、ユーザ情報及びドキュメント情報に関する例示的な管理情報を示す図である。
【図４（ｂ）】例示的な実施形態による、ユーザ情報及びドキュメント情報に関する例示的な管理情報を示す図である。
【図５】例示的な実施形態による、ドキュメントプラットフォーム又はメッセージングプラットフォーム上のアプリケーションレイヤの実行のための例示的なフロー図を示す図である。
【図６】いくつかの例示的な実施形態における使用に適した例示的なコンピュータ装置を有する例示的なコンピューティング環境を示す図である。
【発明を実施するための形態】
【００３５】
以下の発明を実施するための形態は、本開示の図及び例示的な実施形態のさらなる詳細を提供する。図の間の冗長な要素の参照番号及び説明は、明確にするために省略されている。説明全体にわたって使用される用語は例として提供され、限定するものではない。たとえば、「自動の」という用語の使用は、本開示の実施形態を実施する当業者の所望の実施形態に応じて、実施形態のいくつかの態様に対するユーザ又は管理者の制御を含む全自動又は半自動の実施形態を含んでもよい。選択は、ユーザインタフェース若しくは他の入力手段を介してユーザによって行うことができるか、又は所望のアルゴリズムを介して実施することができる。本明細書に記載される例示的な実施形態は、単独で又は組み合わせて利用することができ、例示的な実施形態の機能は、所望の実施形態による任意の手段を介して実装することができる。
【００３６】
本明細書に記載される例示的な実施形態は、テキスト変更だけでなく、メディア変更（たとえば、追加、削除、又はサイズ変更された画像）も考慮に入れる、差異のアニメーションプレビューを生成するシステム及び方法を含む。例示的な実施形態は、ユーザがドキュメントを編集するために行った操作を模倣するそのような変更間の移行をアニメーション化するために開発された技術を含み、並びにアニメーションプレビューをより効果的にするために動きを強調する技術を含む。最後に、本明細書に記載される例示的な実施形態は拡張サムネイルの概念を含み、その結果、得られたアニメーションは、所望の実施形態に従って既存のエンタープライズメッセージング（ｅｎｔｅｒｐｒｉｓｅ  ｍｅｓｓａｇｉｎｇ）アプリケーションの内部でそのまま投稿することができる。
【００３７】
ドキュメントは、インスタントメッセージングなどの最新のエンタープライズコミュニケーションツールにリンクされているか、又はその中で議論されている。ここで、ユーザが、ドキュメントの一例であるプレゼンテーション文書を使って議論する場合について説明する。本例では、プレゼンテーション文書を、チームメンバー内で共有して、互いに編集を行い、チャットアプリケーションやインスタントメッセージングなどのエンタープライズコミュニケーションツールで編集後のプレゼンテーション文書を共有するという使い方を考える。文書をチーム内で共有するために、チームによるレビュー及び共同編集を必要とするスライドデッキ（ｓｌｉｄｅ  ｄｅｃｋ）を直接アップロードするか、又はプレゼンテーションドキュメントへのリンクを投稿する。チーム内のユーザがプレゼンテーションドキュメントの一部の編集を行うと、編集を行ったユーザは、変更が生じたことを示す非記述的なコメント（たとえば、「編集を完了したばかり」）の投稿を返すか、そのドキュメント（たとえば、プレゼンテーションファイル）の新しいバージョンをアップロードするか、又は同僚への便宜のために編集可能なドキュメントへのリンクを再投稿することがある。別のシナリオでは、ユーザは、ドキュメントを明示的にアップロードすることなくドキュメントを参照するだけでよい（たとえば、ドキュメントがクラウド上のドキュメントリポジトリ内にあるときにドキュメントが更新されたことを示すメッセージを送ること）。本明細書に記載される例示的な実施形態はまた、ドキュメントの最新バージョンを以前に記憶されたバージョンと比較することをトリガするメッセージを取り込むように構成される。
【００３８】
いずれの場合も、変更追跡プラットフォームが利用できないときに、最新のバージョンと現在のバージョンとの間でドキュメント内で何が変わったかを迅速に評価する合理的な必要性が存在する。いくつかの従来技術のアプリケーションは、ドキュメントのサムネイルとして、最初のページの静的サムネイルを提供することができるが、最初のページのサムネイル画像は、ドキュメントバージョン間で何が変わったかに関するいかなる情報も伝達しない。ドキュメントプラットフォームがそのような機能を提供しているとした場合、ドキュメントバージョン間の変更箇所を特定するために、ユーザは、ドキュメントの種類に応じた編集閲覧用のアプリケーションを立ち上げてドキュメントを開き、アプリケーションの変更追跡機能を使って変更箇所を特定するか、又は変更履歴を開いて他のユーザによる変更の履歴を把握する必要がある。
【００３９】
さらに、チャットアプリケーションツールや、インスタントメッセージングツールのようなエンタープライズコミュニケーションツール上で他のユーザと通信するユーザは、アプリケーションを起動して、共有しているドキュメントを完全に開き、他のユーザによって行われた編集内容を理解できるような、デスクトップコンピュータを操作していない可能性がある。詳細には、ユーザがモバイル機器上で、チャットやインスタントメッセージングのようなコミュニケーションツールを実行していた場合、画面スペースが限られているモバイル機器は、すべての変更を示すためにドキュメント全体をロードすることができなかったり、限られた表示領域内で変更箇所を見つけるのが困難であったりする可能性がある。さらに、そのようなモバイル機器は、装置上で利用可能な基礎となるドキュメントプラットフォームソフトウェアをもたない可能性があり、それにより、ドキュメントを装置上にロードして変更を見ることが不可能になる。本明細書に記載される例示的な実施形態は、重要度ランク付けによって決定された最も重要な変更を強調表示するドキュメントの代表的なスライド、ページ、又は部分を介して、プレビューを生成することができる。このようにして、仮にユーザがモバイル機器上のメッセージングコミュニケーションプラットフォームを利用していたとしても、ユーザがデスクトップコンピュータにアクセスするまで待つことなく、モバイル機器上で、共有しているドキュメント内から、重要な変更を示すドキュメントの個々のスライド、ページ、又はスライドやページ内の変更部分をすばやく見つけることができる。
【００４０】
さらに、根底にあるドキュメントプラットフォーム、つまりドキュメントの種類に応じた編集・閲覧用のアプリケーションプログラムが、ドキュメントに対して行われた変更を示す履歴を記録する機能をもたない場合がある。そのような場合、ユーザがドキュメントプラットフォーム又はメッセージングプラットフォームを介してドキュメントをロードした場合でも、ユーザはドキュメントアプリケーション上でドキュメントのバージョン間で何の変更が行われたかを追跡することができない。本明細書に記載される例示的な実施形態は、メッセージングプラットフォーム及び／又はドキュメントプラットフォームに適用できるアプリケーションレイヤが、アニメーションの生成を介してドキュメントのバージョン間に何の変更が行われたかを示す機能を提供することを容易にする。したがって、本明細書に記載される例示的な実施形態は、利用可能な変更追跡又は編集履歴の機能を容易にもたない可能性があるドキュメントアプリケーションに、アプリケーションレイヤを介して機能を追加することができる。
【００４１】
本明細書に記載される例示的な実施形態は、ドキュメント変更のアニメーションプレビューを生成すること、頭脳労働者に時間を浪費させずに変更に関連した情報を与えること、並びにモバイル機器などの画面機能が限られている装置用に変更箇所の要約を容易に把握できるようにすることの少なくともひとつを含む。スライド又はドキュメントの２つ以上のバージョン間の変更を視覚化及び／又はアニメーション化する可能な方法は多数存在する（リビジョン管理及び視覚化に関する広範な文献を参照）。例示的な実施形態は、ユーザがスライドを編集している間にアプリケーションウィンドウが記録された場合に発生したことを模倣し、拡張することを含む。すなわち、ユーザがドキュメントプラットフォームを介してバージョン１のスライド資料集を開き、ユーザがスライドデッキを変更して最終的にスライドデッキのバージョン２を生成したときにユーザの画面が記録されると、そのような「ムービー」はバージョン１とバージョン２との間の変更を示すアニメーションプレビューとして投稿することができる。所望の実施形態に応じて、「ムービー」は、ハイパーテキストマークアップ言語（ＨＴＭＬ）ベースのアニメーション、アニメーション画像ファイル（たとえば、グラフィックス交換フォーマット（ＧＩＦ）、ポータブルネットワークグラフィックス（ＰＮＧ））の形態であり得るし、ビデオファイル（たとえば、ムービングピクチャエクスパーツグループ（ＭＰＥＧ））などの形態であり得る。所望の実施形態に応じて、対話式インタフェースを提供することもでき、ユーザは、関連する変化に飛びつくビデオタイムラインと同様に、アニメーション内の主要な変化をぱらぱらめくることができる。所望の実施形態に応じて、記録はアクセスできない可能性があり、必ずしも望ましくない可能性がある。なぜなら、それは、タイプミス、フォントサイズの変更、画像に対する多数の位置調整などの非常に多くの無駄な編集を示す可能性があるからである。
【００４２】
そのようなきめ細かな情報（たとえば、編集履歴、追跡された変更）がアクセス可能であるとき、例示的な実施形態は利用可能なときに情報を利用する。さらに、本明細書に記載される例示的な実施形態は、ドキュメントバージョン間の主な差異のための視覚化を実現することに関する。その結果、例示的な実施形態は、すべての細かい編集を知らずにアニメーションを生成することもできる。
【００４３】
上述した例示的な実施形態により、メッセージングプラットフォーム上で行われる共同スライド編集又はドキュメント編集を巡る技術的問題に対処することが可能である。
【００４４】
ドキュメントの変更の検出
例示的な実施形態では、最初の工程は、ドキュメントの２つのバージョン間の変更を識別することを含むことができる。例示的な実施形態は、任意のフォーマットのドキュメントに拡張することができる。本開示では、プレゼンテーションドキュメントのようなスライドに本開示を適用した事例を説明する。プレゼンテーションドキュメントにおけるスライドの場合、一般的なドキュメント内でページ付けが常に変化するドキュメントと比較して、各スライド、各ページ内でコンテンツが独立した単位でスライド、ページ中に存在するため、スライドへの適用例として説明をするが、本開示はスライドによって構成されたプレゼンテーションドキュメントに限定されず、所望の実施形態で説明される本開示の概念に従って、一般的なドキュメントに適応するように修正することができる。たとえば、そのようなドキュメントは、変更された領域の周りでドキュメントを分割（又は「スライスアップ」）することができる。
【００４５】
図２は、例示的な実施形態による例示的な全体フローを示す図である。一組のスライドが与えられると、最初の工程はスライドのペアを自動的に見つける：この工程は、テキスト及び画像の差異を使用して可能な一致をランク付けする。２００において、２０１及び２０２に示されたように、たとえば、メッセージングプラットフォームやチャットツール上で、同一メンバー内で構成されたコミュニケーション（たとえば同一メンバー内で構成されたコミュニケーションの一例として、複数ユーザが登録されたチャネル内でチャット等のメッセージを用いてコミュニケーションする場合の、チャネル内でのコミュニケーションが該当する）において、以前に共有された文書と同じ文書が再度共有された場合、「同じ」文書、あるいは「同じ」スライドの２つのバージョンであるとして検出する。複数の「同じ」文書が、同一メンバー内で共有された場合に、新たに共有された最新のバージョンと、その直近に共有された一つ前のバージョンとを、比較する２つのバージョンとして検出することができる。この場合、あるバージョンの文書と、当該あるバージョンの文書の次に共有されたその文書のバージョン（つまりあるバージョンに対して編集がなされたと思われる次バージョンの文書）とを２つのバージョンとして比較することになる。また別な形態として、最初に共有されたバージョンと、新たに共有された最新のバージョンとを、比較する対象である「同じ」文書の２つのバージョンとして検出してもよい。この場合、オリジナルである最初のバージョンの文書と、ある段階における最新バージョンの文書とを比較することになる。「同じ」スライドの２つのバージョンである、（Ｓ１と呼ばれる）図１（ａ）及び（Ｓ２と呼ばれる）図１（ｂ）からの、与えられたペアのスライドＳ１及びＳ２に対して、処理は、（「属性付き文字列」として知られる）その属性を伴う両方のスライドのテキストコンテンツ、その位置及びフォント属性（たとえば、サイズ、色、ファミリ、スタイル、重み）を伴うテキストコンテンツを含むデータ構造、画像ビットマップ及び属性（たとえば、位置、回転のような変換）などの両方のスライドの画像コンテンツ、並びにライン（たとえば、開始、終了、ラインスタイル）、及び矩形（たとえば、テキストコンテンツ、位置及びスタイル）などの両方のスライドの形状を抽出することから始まる。
【００４６】
情報は、変更追跡、編集履歴、又はドキュメントオブジェクトモデル（ＤＯＭ）などの、変更に関する情報を提供するドキュメントプラットフォームから提供することもできる。たとえば、ＤＯＭは、スライドプラットフォームアプリケーション内の所与のスライド用のテキストボックス及びそれらの位置を決定するために利用することができる。テキストボックス及び／又は位置に変更が発生した場合、それらの変更はＤＯＭから特定することができる。
【００４７】
ドキュメントの変更の特徴付け
コンテンツが抽出されると、アルゴリズムは、２０３においてコンテンツをマッピングしてそれらの対応する比較対象であるコンテンツを見つける。２つのスライドにおけるコンテンツの差異はテキスト差異及び画像差異を含むことができる。
【００４８】
テキスト差異は、テキストコンテンツ、位置、フォントサイズ、フォント色を含むことができる。そのような差異の場合、第１のスライドと第２のスライドとの間にテキスト要素をマッピングし、属性付き文字列の各ペアの間の編集を特定するために、最長共通部分列アルゴリズムが使用される。図１（ｂ）は、明るいグレーでテキスト内で見つかった編集を示す。
【００４９】
最長共通部分列は、静的なドキュメント及び編集可能なドキュメントの両方に適用することができる。最長共通部分列は、テキストストリーム内の削除、置換、及び追加を評価する動的プログラミングの標準的な方法である。
【００５０】
画像差異の場合、アルゴリズムは両方の画像セットを検査し、それらの変形特性にかかわらず、おおよそのコンテンツ一致が見つかった場合（たとえば、２つの画像は、Ｓ１が回転していることを示し、Ｓ２がまっすぐである場合でも一致するものとして見つかる）、それらをペアにする。図１（ａ）及び図１（ｂ）の例では、Ｓ１の第１の画像はＳ２の第１の画像と一致することが分かる。そのようなアルゴリズムは、所望の実施形態に従って、画像コンテンツ、画像位置、及び画像サイズ、並びにグラフィカルコンテンツ、位置、サイズ、及び色を検査するように拡張することができる。
【００５１】
おおよその画像一致により、１つが切り取られている場合でも２つの画像が一致していることが分かることが保証される。アニメーション化の目的のために、「ポップアップ」のようなアニメーションを適用することができるので、それらを「同じ」画像の異なるバージョンとして検出することが重要である。それらが関連するものとは分からないが、一方を他方と置き換えたものと分かった場合、アニメーションは、第１の画像を消失させ、後で第２の画像を出現させる。
【００５２】
システムは、画像／チャート／グラフ内の変更を検出することもできる。そのような例示的な実施形態では、画像に対する修正（たとえば、オブジェクトが追加される）のために、アニメーションは、前の画像の一部を削除し、次いで新たに追加されたコンテンツに移行させるように構成される。図３（ａ）は、例示的な実施形態による、画像／チャート／グラフ内の変更の検出を含む例示的なアニメーションを示す図である。図３（ａ）の例では、３０１の画像に新しい手が加えられ、これは、３０２で前の領域を削除し、次いで３０３で手を加えることによってアニメーションで示される。
【００５３】
ドキュメントアプリケーションプラットフォームが、変更追跡又は編集履歴に関する情報などの、変更を示す情報を提供する場合、そのような情報は、所望の実施形態に従って、ドキュメントのバージョン間のテキスト差異及び／又は画像差異を特定するように処理することもできる。
【００５４】
さらに、ドキュメントのバージョンは、同じドキュメント用のフラットファイルとして管理することができ、フラットファイルは、ドキュメントのバージョン間のテキスト差異及び／又は画像差異を示すプレーンテキスト又はバイナリファイルである。フラットファイルの実施形態は、同じドキュメントのために別個のドキュメントファイルを管理する必要はなく、変更を反映する代わりに、そのようなテキストファイルから変更を抽出してマスタードキュメントに組み込むことができるように、ドキュメントデータベースにとって有益であり得る。そのようなファイルは、必要な変更を決定するために例示的な実施形態によって処理することができる。
【００５５】
最後に、図１（ｂ）のＳ２の第２の画像などの、いくつかのテキスト要素又は画像要素は新しいかもしれない。これらは、以下に記載されるように、アニメーション上の他のオブジェクトがアニメーション化されるのと同時に、又はその後で、それらの位置及びサイズを使用してアニメーション化される。
【００５６】
変更のフィルタリング
図２を参照すると、次の態様は、２０４において変更をフィルタリング及びランク付けすることを含む。アニメーションプレビューでは、すべての変更を表示する必要はない：システムは、画像の位置、回転、コントラスト、境界線の太さ、又は（たとえば、フォントサイズを１１ｐｘから１１．５ｐｘに、又は通常の文字から太字に変更することなどの）小さいテキスト属性の調整などの一部の変更がレンダリングされないように、パラメータ化することができる。
【００５７】
変更のアニメーション化
原則としていくつかの手法は、変更をアニメーション化するために使用することができ、アニメーション化手法のデータベース２０５から組み込むことができる。例示的な実施形態は、限定はしないが、テキストコンテンツを最初に変更しながらテキストボックス及び画像ボックスを触らずに残すこと、テキストボックス及び画像ボックスを変更し、次いでそれらのコンテンツを変更すること、一度にすべてを変更することなどを含む、所望の実施形態による任意のアニメーション化手法を含むことができる。
【００５８】
選択される手法は変更の種類に依存する。たとえば、図１（ｂ）からのＳ２では、新しい画像は、テキストボックスのサイズを変更することをユーザに強制した。例示的な実施形態では、テキスト変更を最初に図示することができ、その結果、グラフィカル要素が追加され、次いで、それにより、それらの最終的なコンテンツを有するテキストボックスのサイズが変更される。別の例示的な実施形態では、最初に新しいグラフィカル位置に適合するようにボックスを変更し、次いでテキストコンテンツを変更することができる。
【００５９】
最後に、例示的な実施形態は両方の変更を同時に実行することができる。例示的な実施形態は、それらの性質に基づいて変更をランク付けすることもできる（すなわち、重要な変更を最初に示す）。図１（ａ）及び図１（ｂ）の例では、例示的な実施形態は、最初にテキストボックス及び画像ボックスの位置を変更し、次いでそれらの内部のテキストを修正するであろう。
【００６０】
所望の実施形態に従って、他のアニメーション化手法を適用することもできる。たとえば、オブジェクトを削除する前の「予期」、オブジェクトを移動させるときの「スローインスローアウト」及び「アーク」、フォントサイズの変更又はテキストの挿入を示すときの「誇張」などは、テキスト差異又は画像差異を強調するときに利用することができる。
【００６１】
加えて、アニメーションは、変更の具体的な側面を強調するように調整することができる。たとえば、ユーザが主にテキストを編集する場合、ユーザはおそらく後のバージョンでテキストの変更を見ることに関心がある。あるいは、主にドキュメント内のグラフィックスを編集する設計者は、主としてグラフィカルな変更を見たいであろう。ドキュメントを開くユーザの情報を組み込むことにより、アニメーションは、ユーザのニーズに対して動的に調整され得る。
【００６２】
別のシナリオは、ユーザがドキュメントの新しいバージョンをメッセージングアプリケーション（たとえば、モバイル機器上のインスタントメッセージング、オンラインフォーラム、電子メール、テキストメッセージング、チャットアプリケーションツールなど）に添付している場合であり、例示的な実施形態は、ダイアログボックスを用いて、又は「このバージョンのドキュメントと最新のドキュメントとの間の差異を示すアニメーションを作成しているが、強調して欲しいものがありますか？」などの質問を表示することによってユーザに強調箇所の指定を促すことができ、ユーザは、「はい、スライド２及び４」又は「はい、グラフィックス」又は「はい、テキスト」又は「いいえ、ありがとう！」といった選択肢を通じて、強調箇所の指定を応答することができる。所望の実施形態に応じて、アニメーションは、（たとえば、チャットアプリケーション内のメッセージからの）周囲のテキストコンテンツを使用して、ユーザが現在ドキュメントのどの部分に関心があるかを理解することもできる。チャットアプリケーション内のテキストメッセージに基づいてユーザがドキュメントのどの部分を参照しているかを特定するために導入することができる例示的な方法は、米国特許出願第１５／４９０，７８４号に記載されており、すべての目的のためにその全体が参照により本明細書に組み込まれている。そのような例示的な実施形態を介して、重要度ランク付けは、ドキュメントの１又は複数の部分を参照するメッセージングアプリケーション内のユーザメッセージから決定することができる。たとえば、ドキュメント内の特定のスライドを参照するユーザメッセージは、それにより、それらのスライド内の差異が他の差異よりも重要度ランク付けにおいて高くランク付けされる結果となり得る。ドキュメント内の特定の差異を参照するユーザメッセージも、それらの特定の差異が他の差異よりも重要度ランク付けにおいて高くランク付けされる結果となり得る。そのような機能は、所望の実施形態に従って作成することができる。
【００６３】
同様に、重要度ランク付けは、別の例示的な実施形態におけるユーザ選択に基づいて決定することができる。この実施形態では、テキスト差異及び画像差異の優先順位に対する選択を容易にするために、ユーザインタフェース（たとえば、上述されたダイアログボックス、ユーザ設定など）が提供及び構成され得る。したがって、ユーザは、強調されるべき差異の観点から重要であることを示すために好みを示すことができる。
【００６４】
２０６において、システムは、次いで、プレゼンテーションにおいて変わったもののアニメーションプレビューを提供することができ、これはいくつかのアプリケーションにおいて有用であり得る。１つの例示的な実施形態は、ユーザが協働しているときドキュメントに対する更新情報を頻繁に投稿するので、エンタープライズメッセージングアプリケーションを含む。アニメーションプレビューは、ユーザが新しいドキュメントバージョンで注意を払うべきことを迅速に伝達するので有用である。他の領域は、スライドをプレビューするか、デスクトップファイルシステム内のデフォルトのドキュメントサムネイルを置き換えるか、又はそのような変更を表示するオプションを提供し、画面の利用できる面積が削減されたモバイルアプリケーション内の変更を視覚的に表示するために、そのようなアニメーションを使用する可能性がある。そのような例示的な実施形態では、差異は、所望の実施形態に従って決定された重要度に基づいて順序付け及びランク付けされ、次いで、そのような差異のサブセットは、（たとえば、ドキュメントのサムネイルとして、又はカーソールがドキュメントを選択しているときに）プレビュー内でアニメーション化される。
【００６５】
図３（ｂ）は、例示的な実施形態による、例示的な生成されたアニメーションを示す。具体的には、図３（ｂ）は、ドキュメントのオリジナル又は最初のバージョンのスライド３１１を示し、スライド３１６は、３１２〜３１５において生成された移行アニメーションを用いた、ドキュメントの最新バージョン又は第２のバージョンの同じスライドである。３１２において、画像のサイズに対する変更を示すために、境界ボックスアニメーションが一番上の画像に対して提供される。３１３において、テキストボックスが強調表示され、テキストボックスに対するテキスト変更を示すために、テキスト変更がアニメーション化される。３１４において、新しい画像がどこに表示されるかを示すために、ボックスがアニメーション化される。３１５において、スライドに追加された新しいテキストをアニメーション化するために、別のテキストボックスが強調表示される。
【００６６】
アプリケーションの例示的な実施形態は、テキストボックス及び画像を管理するＨＴＭＬ５で適用されるアプリケーションを含むことができる。変更は、所望の実施形態に従って、最長共通部分列（ＬＣＳ）アルゴリズム又は他の変更検出アルゴリズムを使用して検出することができる。画像は、それらすべてを２５６×２５６ピクセルの公称サイズに縮小し、閾値ベースの画像差異を適用することにより、おおよその変更に対してＨＴＭＬ５のＣＡＮＶＡＳ要素を使用して照合することもできるが、所望の実施形態に従って他の画像照合技術を適用することもできる。
【００６７】
図４（ａ）及び図４（ｂ）は、例示的な実施形態による、例示的な管理情報を示す。具体的には、図４（ａ）は、そのようなドキュメントと対話した１人又は複数のユーザ用のユーザ情報の例を示す。そのような情報は、ユーザＩＤ、インタフェースを介して設定された好ましいアニメーション設定、及びドキュメントに対して行われた変更のタイプを含むことができる。図４（ｂ）は、ドキュメントデータベースによって管理されるドキュメント情報の例を示す。そのような情報は、ドキュメント、ドキュメントの基礎バージョン、及びバージョンに関連付けられたテキスト差異又は画像差異を示す任意の関連フラットファイルを含むことができる。
【００６８】
図５は、例示的な実施形態による、ドキュメントプラットフォーム又はメッセージングプラットフォーム上のアプリケーションレイヤの実行のための例示的なフロー図を示す図である。
【００６９】
５０１において、アプリケーションレイヤは、複数のバージョンの各々の間のテキスト差異及び画像差異のための１又は複数のスライドを含む、ドキュメントの複数のバージョンを処理する。複数のバージョンは、図４（ｂ）のドキュメント管理情報を参照してデータベースから適切なドキュメントバージョンを決定して検索することにより、ドキュメントデータベースからドキュメントを検索することを介して、検索することができる。これは、ドキュメント自体を検索すること、及び／又はデータベースからフラットファイルを検索することから達成することができる。
【００７０】
本明細書に記載されたように、テキスト差異及び画像差異は、アプリケーションレイヤによって処理することができる。テキスト差異に対するドキュメントの複数のバージョンの処理は、テキストコンテンツ、テキスト位置、フォントサイズ、及びフォント色に対する差異を識別することを含むことができる。所望の実施形態に従って、他の特性を含むこともできる。同様に、画像差異に対するドキュメントの複数のバージョンの処理は、画像コンテンツ、画像位置、及び画像サイズに対する差異を識別することを含むことができる。そのような処理の例が図２に関して記載される。
【００７１】
そのような差異は、ドキュメントプラットフォームによって提供される情報から、ドキュメントの異なるバージョンを比較することから、又はフラットファイルの使用から特定することができる。そのような情報を利用可能にするドキュメントプラットフォームの場合、テキスト差異及び画像差異は、変更追跡情報及び編集履歴情報から導出することもできる。例示的な実施形態では、本明細書に記載されたようにフラットファイルを利用することもできる。
【００７２】
５０２において、アプリケーションレイヤは、テキスト差異及び画像差異をアニメーション化する順序を決定する。そのような順序は、アニメーション設定を参照することによってドキュメントを開くユーザに関連付けられたユーザ情報、又は順序を決定するために図４（ａ）から行われた変更のタイプに基づいて決定することができる。たとえば、ユーザが明示的に設定を行ってアプリケーションレイヤ内の選好を規定する場合、その設定は、所望の実施形態に従ってアニメーションの順序を決定するために利用することができる。さらに、それがユーザが最近編集したドキュメントである場合、そのような情報は、行われた変更のタイプに記録することができ、ユーザが以前にドキュメントに対して行った変更のタイプは、アニメーションの順序内で高い優先順位が付けられる。
【００７３】
アニメーションの生成は、所望の実施形態に応じて、決定された重要度ランクに基づいて行うこともできる。たとえば、５０２から決定された差異の順序が与えられると、差異は、重要度ランク付け、又はいかなる差異をもたらさない反復変更を取り除くことに基づいて、変更の数に基づいて設定されたフィルタセットを用いて、さらに精緻化及びフィルタリングすることができる。たとえば、変更が同じテキストを削除し復元することを含む場合、そのような反復的な変更は、そのような変更を記録した編集履歴情報から差異が導出された場合、アニメーションを生成する際に使用されるべき差異から除去することができる。さらに、小さいフォント変更又は画像変更（たとえば、フォントを０．５ポイントだけ減らす、画像を数ピクセルだけサイズ変更する）などの他の変更は、アニメーションに値しない場合もあり、所望の実施形態に応じてアニメーションなしで提示のみすることができる。このようにして、重要度ランク付けは、所望の実施形態に従って、テキスト差異及び／又は画像差異のサイズに基づくこともできる。重要度ランク付けは、所望の実施形態に従って、重要度をテキスト又は画像における変更のサイズと相関させる機能であり得る。
【００７４】
重要度ランク付けは、図４（ａ）から決定されたように、ユーザが見たい変更のタイプ若しくはユーザが行った編集のタイプに基づいて、又は所望の実施形態に従って行うことができる。たとえば、テキスト変更を強調するユーザ情報は、テキストに対するより大きいブロック変更がより小さいテキスト編集よりも重要であると判断される重要度ランク付けを含むことができる。ユーザが以前にドキュメントを修正した場合、そのような修正の近くで行われた変更は、他の変更よりも重要であるようにランク付けすることができる。
【００７５】
所望の実施形態に従って、重要度を決定する他のランク付けを利用することもでき、本開示はいかなる特定の実施形態にも限定されない。
【００７６】
例示的な実施形態では、重要度ランク付けは、変更をフィルタリングして、変更を示すようにサムネイルアニメーションを生成するために選ばれた数の変更のみを優先させることにより、メッセージングプラットフォーム内の変更を提示することに基づくこともできる。たとえば、ユーザがエンタープライズメッセージングプラットフォームを介して別のユーザにドキュメントの新しいバージョンを送信する場合、最も重要な変更のうちのいくつかを反映するアニメーションのみを生成することができ、それに応じて重要性ランク付けを行うことができる。
【００７７】
その後、差異の順序は、重要度ランク付けに基づいて残りのフィルタリングされた変更から決定することができる。
【００７８】
５０３において、アプリケーションレイヤは、表示用にドキュメントの複数のバージョンのうちの第１のバージョンを提供する。ロードされたドキュメントのコンテキストに応じて（たとえば、ドキュメントを開くユーザに基づいて）、表示されるべき最初のバージョンは、ユーザがアクセスした以前のバージョン、現在のバージョンの直前のバージョン、又は図４（ｂ）の管理情報を参照することからドキュメントデータベースからロードされたドキュメントの本当に最初のバージョンであり得る。なお、「コンテキスト」とは、人の行動やできごとの背景にある、人の意識や考え方、取り巻く状況や環境などの事情又は背後関係を意味する。
【００７９】
さらに、所望の実施形態に応じて、ドキュメントのすべて又はドキュメントの一部分は、所望の実施形態に応じてドキュメントの最初のバージョンとして提供することができる。たとえば、ドキュメントがメッセージングプラットフォームを介して閲覧されている場合、ドキュメントからの１つのスライド又は１ページは、メッセージングシステムを介して変更のプレビューとして提供されてもよく、又はドキュメントのセクションのサムネイルが所望の実施形態に応じて適用されてもよい。そのようなページ、スライド、又はセクションは、５０３から導出された重要度ランク付けに基づいて決定することができる。このようにして、ユーザは、メッセージングシステムを介してドキュメントに対して行われた最も重要な変更を迅速に理解することができる。
【００８０】
５０４において、アプリケーションレイヤは、ドキュメントの複数のバージョンのうちの第１のバージョンをドキュメントの複数のバージョンのうちの第２のバージョンに移行させるアニメーションを生成し、アニメーションは、第１のバージョンと第２のバージョンとの間のテキスト差異及び画像差異を組み込む。ドキュメントの第２のバージョンは、所望の実施形態に応じて、第１のバージョンに続くバージョンのうちのいずれかであり得る。たとえば、第２のバージョンは、ドキュメントの最新バージョンに達するまで、アニメーションの変更を繰り返す実施形態のための第１のバージョンのドキュメントの直後のバージョンであり得るし、又はユーザが第１のバージョンと比較したいドキュメントの具体的なバージョンであり得る。
【００８１】
本明細書に記載されたように、複数のバージョンを有するドキュメントに対して、又はユーザが複数のバージョンをトラバースすることを望む場合、複数のアニメーションを生成することができる。例示的な実施形態は、図２及び図５に示されたようにフローを反復的に適用して、ドキュメントの複数のバージョンのうちの第２のバージョンをドキュメントの複数のバージョンのうちの次のバージョンに移行させる別のアニメーションを生成することができ、アニメーションは、複数のバージョンのうちの次のバージョンの各々の間のテキスト差異及び画像差異を組み込む。このようにして、ユーザは、（たとえば、複数のユーザなどによって）ドキュメントに対して複数のバージョンが作成された場合、バージョン間に生じる差異を見ることができる。
【００８２】
図６は、いくつかの例示的な実施形態における使用に適した例示的なコンピュータ装置を有する例示的なコンピューティング環境を示す図である。
【００８３】
コンピューティング環境６００内のコンピュータ装置６０５は、１若しくは複数の処理ユニット、コア、若しくはプロセッサ６１０、メモリ６１５（たとえば、ＲＡＭ、ＲＯＭなど）、内部記憶装置６２０（たとえば、磁気記憶装置、光記憶装置、半導体記憶装置、及び／若しくは有機記憶装置）、並びに／又はＩ／Ｏインタフェース６２５を含むことができ、それらのうちのいずれも、情報を通信するための、又はコンピュータ装置６０５内に組み込まれた、通信機構又はバス６３０上で結合することができる。Ｉ／Ｏインタフェース６２５はまた、所望の実施形態に応じて、カメラから画像を受信するか、又はプロジェクタ若しくはディスプレイに画像を提供するように構成される。
【００８４】
コンピュータ装置６０５は、入力／ユーザインタフェース６３５及び出力装置／インタフェース６４０に通信結合することができる。入力／ユーザインタフェース６３５及び出力装置／インタフェース６４０のうちのいずれか１つ又は両方は、有線又はワイヤレスのインタフェースであり得るし、取外し可能であり得る。入力／ユーザインタフェース６３５は、入力（たとえば、ボタン、タッチスクリーンインタフェース、キーボード、ポインティング／カーソールコントロール、マイクロフォン、カメラ、点字、モーションセンサ、光学レーダーなど）を提供するように使用され得る、物理的又は仮想の、任意の装置、構成要素、センサ、又はインタフェースを含んでもよい。出力装置／インタフェース６４０は、ディスプレイ、テレビ、モニタ、プリンタ、スピーカ、点字などを含んでもよい。いくつかの例示的な実施形態では、入力／ユーザインタフェース６３５及び出力装置／インタフェース６４０は、コンピュータ装置６０５に組み込むことができるか、又は物理的に結合することができる。他の例示的な実施形態では、他のコンピュータ装置は、コンピュータ装置６０５用の入力／ユーザインタフェース６３５及び出力装置／インタフェース６４０として機能するか、又はその機能を提供してもよい。
【００８５】
コンピュータ装置６０５の例には、限定はしないが、高性能モバイル機器（たとえば、スマートフォン、車両及び他の機械内の装置、人間及び動物が持ち運ぶ装置など）、モバイル機器（たとえば、タブレット、ノートブック、ラップトップ、パーソナルコンピュータ、ポータブルテレビ、ラジオなど）、並びにモバイル用に設計されていない装置（たとえば、デスクトップコンピュータ、他のコンピュータ、情報キオスク、１又は複数のプロセッサが組み込まれ、且つ／又は結合されたテレビ、ラジオなど）が含まれてもよい。
【００８６】
コンピュータ装置６０５は、外部記憶装置６４５、並びに、同じ又は異なる構成の１又は複数のコンピュータ装置を含む、任意の数のネットワーク化された構成要素、装置、及びシステムと通信するためのネットワーク６５０に、（たとえば、Ｉ／Ｏインタフェース６２５を介して）通信結合することができる。コンピュータ装置６０５又は任意の接続されたコンピュータ装置は、サーバ、クライアント、シンサーバ、汎用マシン、専用マシン、又は別のラベルとして機能しているか、そのサービスを提供しているか、又はそう呼ばれ得る。
【００８７】
Ｉ／Ｏインタフェース６２５は、限定はしないが、コンピューティング環境６００内の少なくともすべての接続された構成要素、装置、及びネットワークとの間で情報を通信するための、任意の通信又はＩ／Ｏプロトコル又は規格（たとえば、イーサネット（登録商標）、８０２．１１ｘ、ユニバーサルシステムバス、ＷｉＭａｘ、モデム、セルラーネットワークプロトコルなど）を使用する、有線及び／又はワイヤレスのインタフェースを含むことができる。ネットワーク６５０は、任意のネットワーク又はネットワークの組合せ（たとえば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、電話ネットワーク、セルラーネットワーク、衛星ネットワークなど）であり得る。
【００８８】
コンピュータ装置６０５は、一過性媒体及び非一過性媒体を含む、コンピュータ使用可能媒体又はコンピュータ可読媒体を使用すること、及び／又は使用して通信することができる。一過性媒体には、伝送媒体（たとえば、金属ケーブル、光ファイバ）、信号、搬送波などが含まれる。非一過性媒体には、磁気媒体（たとえば、ディスク及びテープ）、光媒体（たとえば、ＣＤ  ＲＯＭ、デジタルビデオディスク、ブルーレイディスク）、半導体媒体（たとえば、ＲＡＭ、ＲＯＭ、フラッシュメモリ、半導体記憶装置）、並びに他の非一過性記憶装置又はメモリが含まれる。
【００８９】
コンピュータ装置６０５は、いくつかの例示的なコンピューティング環境内で技術、方法、アプリケーション、処理、又はコンピュータ実行可能命令を実行するために使用することができる。コンピュータ実行可能命令は、一過性媒体から取り出され、非一過性媒体に記憶され、非一過性媒体から取り出され得る。実行可能命令は、任意のプログラミング言語、スクリプト言語、及び機械語（たとえば、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）、Ｖｉｓｕａｌ  Ｂａｓｉｃ、Ｐｙｔｈｏｎ、Ｐｅｒｌ、ＪａｖａＳｃｒｉｐｔ（登録商標）など）のうちの１又は複数から生じることができる。
【００９０】
プロセッサ６１０は、ネイティブ環境又はバーチャル環境において、任意のオペレーティングシステム（ＯＳ）（図示せず）の下で実行することができる。異なるユニットが互いに、ＯＳと、且つ他のアプリケーション（図示せず）と通信するための、論理ユニット６６０、アプリケーションプログラミングインタフェース（ＡＰＩ）ユニット６６５、入力ユニット６７０、出力ユニット６７５、及びユニット間通信機構６９５を含む１又は複数のアプリケーションを配置することができる。記載されたユニット及び要素は、設計、機能、構成、又は実装において異なり得るし、提供された説明に限定されない。
【００９１】
いくつかの例示的な実施形態では、情報又は実行命令がＡＰＩユニット６６５によって受信されると、それは１又は複数の他のユニット（たとえば、論理ユニット６６０、入力ユニット６７０、出力ユニット６７５）に通信されてもよい。場合によっては、論理ユニット６６０は、ユニット間の情報の流れを制御し、上述されたいくつかの例示的な実施形態において、ＡＰＩユニット６６５、入力ユニット６７０、出力ユニット６７５によって提供されるサービスを指示するように構成されてもよい。たとえば、１又は複数の処理又は実装の流れは、論理ユニット６６０単独により、又はＡＰＩユニット６６５と連携して制御されてもよい。入力ユニット６７０は、例示的な実施形態に記載された計算用の入力を取得するように構成されてもよく、出力ユニット６７５は、例示的な実施形態に記載された計算に基づいて出力を提供するように構成されてもよい。
【００９２】
メモリ６１５は、プロセッサ６１０が図２及び図５に記載された機能を実行して、図１  （ａ）、図１（ｂ）、図３（ａ）、及び図３（ｂ）に示された結果を提示するために、図４（ａ）及び図４（ｂ）に示された管理情報を記憶するように構成することができる。
【００９３】
発明を実施するための形態のいくつかの部分は、コンピュータ内の動作のアルゴリズム及び象徴的表現に関して提示される。これらのアルゴリズム的記述及び象徴的表現は、自分のイノベーションの本質を他の当業者に伝達するために、データ処理技術分野の当業者によって使用される手段である。アルゴリズムは、所望の最終状態又は最終結果に導く、一連の定義された工程である。例示的な実施形態では、実行される工程は、目に見える結果を達成するための具体的な数の物理操作を必要とする。
【００９４】
特に断りのない限り、説明から明らかなように、説明全体を通して、「処理」、「計算」、「算出」、「決定」、「表示」、などの用語を利用する説明は、コンピュータシステムのレジスタ及びメモリ内の物理（電気）量として表されるデータを操作し、コンピュータシステムのメモリ又はレジスタ又は他の情報を記憶、伝送、若しくは表示する装置内の物理量として同様に表される他のデータに変換する、コンピュータシステム又は他の情報処理装置の動作及び処理を含むことができることを諒解されたい。
【００９５】
例示的な実施形態は、本明細書の動作を実施するための装置に関してもよい。この装置は、必要な目的のために特別に構築されてもよく、１若しくは複数のコンピュータプログラムによって選択的にアクティブ化若しくは再構成された、１若しくは複数の汎用コンピュータを含んでもよい。そのようなコンピュータプログラムは、コンピュータ可読記憶媒体又はコンピュータ可読信号媒体などのコンピュータ可読媒体に記憶されてもよい。コンピュータ可読記憶媒体には、限定はしないが、光ディスク、磁気ディスク、読取り専用メモリ、ランダムアクセスメモリ、半導体装置及び半導体ドライブ、又は、電子情報を記憶することに適した任意の他のタイプの有形若しくは非一過性媒体などの、有形媒体が含まれてもよい。コンピュータ可読信号媒体には、搬送波などの媒体が含まれてもよい。本明細書に提示されたアルゴリズム及びディスプレイは、本質的に、いかなる特定のコンピュータ又は他の装置にも関係しない。コンピュータプログラムは、所望の実施形態の動作を実行する命令を含む、純粋なソフトウェア実施形態を含むことができる。
【００９６】
様々な汎用システムは、本明細書の例によるプログラム及びモジュールとともに使用されてもよく、又は所望の方法工程を実施するためにより専門化された装置を構築することが便利であると証明することができる。加えて、例示的な実施形態は、いかなる特定のプログラミング言語も参照して記載されない。様々なプログラミング言語は、本明細書に記載された例示的な実施形態の教示を実装するために使用され得ることを諒解されたい。プログラミング言語の命令は、１又は複数の処理装置、たとえば、中央処理装置（ＣＰＵ）、プロセッサ、又はコントローラによって実行されてもよい。
【００９７】
当技術分野で知られているように、上述された動作は、ハードウェア、ソフトウェア、又はソフトウェア及びハードウェアの何らかの組合せによって実施されてもよい。例示的な実施形態の様々な態様は、回路及び論理装置（ハードウェア）を使用して実装されてもよいが、他の態様は、機械可読媒体に記憶された命令（ソフトウェア）を使用して実装されてもよく、命令は、プロセッサによって実行されると、方法を実施して本開示の実施形態を遂行することをプロセッサに行わせるはずである。また、本開示のいくつかの例示的な実施形態は、ハードウェア内でのみ実施されてもよいが、他の例示的な実施形態は、ソフトウェア内でのみ実施されてもよい。さらに、記載された様々な機能は、単一のユニット内で実施することができ、任意の数の方法でいくつかの構成要素にわたって展開することができる。ソフトウェアによって実施されるとき、方法は、コンピュータ可読媒体に記憶された命令に基づいて、汎用コンピュータなどのプロセッサによって実行されてもよい。必要な場合、命令は、圧縮及び／又は暗号化されたフォーマットで媒体に記憶することができる。
【００９８】
さらに、本開示の明細書の考察及び教示の実践から、本開示の他の実施形態が当業者には明らかであろう。記載された例示的な実施形態の様々な態様及び／又は構成要素は、単独で、又は任意の組合せで使用されてもよい。明細書及び例示的な実施形態は例としてのみ考えられるものであり、本開示の真の範囲及び主旨は、以下の特許請求の範囲によって示される。
【図１（ａ）】
2020004377.tif 000003
【図１（ｂ）】
2020004377.tif 000004
【図２】
2020004377.tif 000005
【図３（ａ）】
2020004377.tif 000006
【図３（ｂ）】
2020004377.tif 000007
【図４（ａ）】
2020004377.tif 000008
【図４（ｂ）】
2020004377.tif 000009
【図５】
2020004377.tif 000010
【図６】
2020004377.tif 000011