(57)【要約】【課題】テキスト、ストロークや画像のダイレクトな動画をユーザが簡単に修正する。【解決手段】複数の動画フレームの少なくとも一つから複数のコンテンツ要素を検出する手段と、ユーザから受け取った動画修正の指示に基づき、複数の検出されたコンテンツ要素のうちの少なくとも一つを修正する手段と、修正されたコンテンツ要素に関する情報をメモリに格納する手段と、修正されたコンテンツ要素を動画にオーバーレイする手段と、オーバーレイされたコンテンツ要素を有する動画をユーザに表示する手段とを備える動画修正システムを提供する。【選択図】図５
2015231233.tif 000002
【特許請求の範囲】
【請求項１】
複数の動画フレームの少なくとも一つから複数のコンテンツ要素を検出する手段と、
ユーザから受け取った動画修正の指示に基づき、複数の検出されたコンテンツ要素のうちの少なくとも一つを修正する手段と、
修正されたコンテンツ要素に関する情報をメモリに格納する手段と、
修正されたコンテンツ要素を動画にオーバーレイする手段と、
オーバーレイされたコンテンツ要素を有する動画をユーザに表示する手段と、
を有することを特徴とする動画修正システム。
【請求項２】
複数の検出されたコンテンツ要素のうちの少なくとも一つを修正することは、複数の検出されたコンテンツ要素のうちの少なくとも一つにコンテンツを追加することを特徴とする請求項１記載の動画修正システム。
【請求項３】
複数の検出されたコンテンツ要素のうちの少なくとも一つの形式を自動的に決定し、追加されたコンテンツの形式を、自動的に決定された形式にマッチングする構成をさらに有することを特徴とする請求項２記載の動画修正システム。
【請求項４】
修正されたコンテンツ要素に関する情報は、追加されたコンテンツと、対応するコンテンツ追加時間とを含むことを特徴とする請求項２記載の動画修正システム。
【請求項５】
修正されたコンテンツ要素は、テキストコンテンツのラインを含むことを特徴とする請求項１記載の動画修正システム。
【請求項６】
修正されたコンテンツ要素は、インクストロークを含むことを特徴とする請求項１記載の動画修正システム。
【請求項７】
修正されたコンテンツ要素は、画像を含むことを特徴とする請求項１記載の動画修正システム。
【請求項８】
複数の検出されたコンテンツ要素のうちの少なくとも一つが動画において変化しているかどうかを決定する構成をさらに有することを特徴とする請求項１記載の動画修正システム。
【請求項９】
複数の検出されたコンテンツ要素のうちの少なくとも一つが動画において変化していないと決定された場合、複数の検出されたコンテンツ要素のうちの少なくとも一つに対する修正を動画のすべての動画フレームに適用する構成をさらに有することを特徴とする請求項８記載の動画修正システム。
【請求項１０】
複数の検出されたコンテンツ要素のうちの少なくとも一つが動画において変化するまで、複数の検出されたコンテンツ要素のうちの少なくとも一つに対する修正を動画のすべての動画フレームに適用する構成をさらに有することを特徴とする請求項８記載の動画修正システム。
【請求項１１】
複数の検出されたコンテンツ要素のうちの少なくとも一つが動画において変化していると決定された場合、ユーザへの警告メッセージを生成する構成をさらに有することを特徴とする請求項８記載の動画修正システム。
【請求項１２】
複数の検出されたコンテンツ要素のうちの少なくとも一つが動画において変化していると決定された場合、複数の検出されたコンテンツ要素のうちの少なくとも一つの変化と、複数の検出されたコンテンツ要素のうちの少なくとも一つに対する修正とを併合する構成をさらに有することを特徴とする請求項８記載の動画修正システム。
【請求項１３】
動画における複数の検出されたコンテンツ要素のそれぞれに、対応するバウンディングボックスをつける構成をさらに有することを特徴とする請求項１記載の動画修正システム。
【請求項１４】
ユーザから動画修正の指示を受け取ると、動画を一時停止する構成をさらに有することを特徴とする請求項１記載の動画修正システム。
【請求項１５】
修正されたコンテンツ要素に関する情報は、動画に関連付けられ、動画編集レイヤに格納されることを特徴とする請求項１記載の動画修正システム。
【請求項１６】
修正されたコンテンツ要素は、動画の時間的特徴に基づきユーザに表示されることを特徴とする請求項１記載の動画修正システム。
【請求項１７】
ユーザが、複数の検出されたコンテンツ要素の部分をコピーし、コピーされた部分をペーストして修正されたコンテンツ要素を生成することができるようにする構成をさらに有することを特徴とする請求項１記載の動画修正システム。
【請求項１８】
動画の概要画像を生成する構成をさらに有し、その概要画像は動画内の複数のコンテンツ要素のいずれとも干渉することなしに修正を行うことができる動画の部分をユーザに示すことを特徴とする請求項１記載の動画修正システム。
【請求項１９】
少なくとも２つの動画フレームにおけるコンテンツ要素の画像差異演算を実行することによって動画におけるコンテンツ要素の水平移動を検知する構成をさらに有することを特徴とする請求項１記載の動画修正システム。
【請求項２０】
少なくとも２つの動画フレームにおける画像差異演算を実行することによって動画フレームの垂直移動を検知する構成をさらに有することを特徴とする請求項１記載の動画修正システム。
【請求項２１】
動画修正指示は、複数のコンテンツ要素のうちの一つをユーザが選択することを含むことを特徴とする請求項１記載の動画修正システム。
【請求項２２】
コンテンツ要素に対する修正が、複数の動画フレームのうちの異なる動画フレームの他のコンテンツ要素と干渉することが決定された場合、ユーザがコンテンツ要素の修正を行うことを防ぐ構成をさらに有することを特徴とする請求項１記載の動画修正システム。
【請求項２３】
コンピュータに、
複数の動画フレームの少なくとも一つから複数のコンテンツ要素を検出し、
ユーザから受け取った動画修正の指示に基づき、複数の検出されたコンテンツ要素のうちの少なくとも一つを修正し、
修正されたコンテンツ要素に関する情報をメモリに格納し、
修正されたコンテンツ要素を動画にオーバーレイし、
オーバーレイされたコンテンツ要素を有する動画をユーザに表示する、
ことを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には動画コンテンツを操作するシステム及びプログラム、より詳細にはテキスト、ストローク、画像のダイレクトな動画修正システム及びプログラムに関する。
【背景技術】
【０００２】
学生や一般向けにオンラインで利用可能な多くの動画チュートリアルが知られている。コンピュータプログラミング分野のようなチュートリアルの多くには、連続的にタイプされているテキストの動画が含まれる。他の多くの資料には、プレゼンターにより議論されているプレゼンテーションのスライドのようなテキストのプレゼンテーション資料が含まれる。さらには、いくつかの動画には、人が数式を描くときのようなフリーフォームのストロークが現われる。このような動画コンテンツの代表的な具体例には、オンラインでフリーに入手可能なＫｈａｎ  Ａｃａｄｅｍｙのチュートリアル動画が含まれ、当業者によく知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第６９６８０８５号明細書
【非特許文献】
【０００４】
【非特許文献１】トーマス（Ｔｈｏｍａｓ）ら、「Ｐａｐｅｒ ｔｏ ＰＤＡ」ゼロックスＰＡＲＣテクニカルレポート、２００２年０８月１１日発行、ＴＲ−０１−２００２
【非特許文献２】Ｓｉａｍａｋ  Ｋｈｏｕｂｙａｒｉ、Ｊｏｎａｔｈａｎ  Ｊ．Ｈｕｌｌ、「ドキュメント認識におけるフォントと機能ワードの特定」、コンピュータビジョンと画像理解、Ｖｏｌ．６３、Ｎｏ．１、Ｊａｎｕａｒｙ、ＰＰ．６６−７４、１９９６年
【非特許文献３】ローランデゥヌ、スコットカーター、マシュークーパー、ジョンアドコック、「スクリーンベースの動画におけるリアルタイムな直接操作」、ＩＵＩ２０１３、２０１３年３月１９日
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、美しい画像や正しいタイピング、フリーフォームのストロークやテキストコンテンツに追加が必要かもしれない、そのような動画の修正は、時間集約的なタスクである。例えば、これまでの技術では、表示されているプレゼンテーション資料の簡単なタイピングミスを正すために、プレゼンテーションの動画を手作業で修正する必要がある。
【課題を解決するための手段】
【０００６】
本発明の第１の態様は、動画修正システムであって、複数の動画フレームの少なくとも一つから複数のコンテンツ要素を検出する手段と、ユーザから受け取った動画修正の指示に基づき、複数の検出されたコンテンツ要素のうちの少なくとも一つを修正する手段と、修正されたコンテンツ要素に関する情報をメモリに格納する手段と、修正されたコンテンツ要素を動画にオーバーレイする手段と、オーバーレイされたコンテンツ要素を有する動画をユーザに表示する手段と、を備える。
【０００７】
本発明の第２の態様は、第１の態様の動画修正システムであって、複数の検出されたコンテンツ要素のうちの少なくとも一つを修正することは、複数の検出されたコンテンツ要素のうちの少なくとも一つにコンテンツを追加することである。
【０００８】
本発明の第３の態様は、第２の態様の動画修正システムであって、複数の検出されたコンテンツ要素のうちの少なくとも一つの形式を自動的に決定し、追加されたコンテンツの形式を、自動的に決定された形式にマッチングする。
【０００９】
本発明の第４の態様は、第２の態様の動画修正システムであって、修正されたコンテンツ要素に関する情報は、追加されたコンテンツと、対応するコンテンツ追加時間とを含む。
【００１０】
本発明の第５の態様は、第１の態様の動画修正システムであって、修正されたコンテンツ要素は、テキストコンテンツのラインを含む。
【００１１】
本発明の第６の態様は、第１の態様の動画修正システムであって、修正されたコンテンツ要素は、インクストロークを含む。
【００１２】
本発明の第７の態様は、第１の態様の動画修正システムであって、修正されたコンテンツ要素は、画像を含む。
【００１３】
本発明の第８の態様は、第１の態様の動画修正システムであって、複数の検出されたコンテンツ要素のうちの少なくとも一つが動画において変化しているかどうかを決定する。
【００１４】
本発明の第９の態様は、第８の態様の動画修正システムであって、複数の検出されたコンテンツ要素のうちの少なくとも一つが動画において変化していないと決定された場合、複数の検出されたコンテンツ要素のうちの少なくとも一つに対する修正を動画のすべての動画フレームに適用する。
【００１５】
本発明の第１０の態様は、第８の態様の動画修正システムであって、複数の検出されたコンテンツ要素のうちの少なくとも一つが動画において変化するまで、複数の検出されたコンテンツ要素のうちの少なくとも一つに対する修正を動画のすべての動画フレームに適用する。
【００１６】
本発明の第１１の態様は、第８の態様の動画修正システムであって、複数の検出されたコンテンツ要素のうちの少なくとも一つが動画において変化していると決定された場合、ユーザへの警告メッセージを生成する。
【００１７】
本発明の第１２の態様は、第８の態様の動画修正システムであって、複数の検出されたコンテンツ要素のうちの少なくとも一つが動画において変化していると決定された場合、複数の検出されたコンテンツ要素のうちの少なくとも一つの変化と、複数の検出されたコンテンツ要素のうちの少なくとも一つに対する修正とを併合する。
【００１８】
本発明の第１３の態様は、第１の態様の動画修正システムであって、動画における複数の検出されたコンテンツ要素のそれぞれに、対応するバウンディングボックスをつける。
【００１９】
本発明の第１４の態様は、第１の態様の動画修正システムであって、ユーザから動画修正の指示を受け取ると、動画を一時停止する。
【００２０】
本発明の第１５の態様は、第１の態様の動画修正システムであって、修正されたコンテンツ要素に関する情報は、動画に関連付けられ、動画編集レイヤに格納される。
【００２１】
本発明の第１６の態様は、第１の態様の動画修正システムであって、修正されたコンテンツ要素は、動画の時間的特徴に基づきユーザに表示される。
【００２２】
本発明の第１７の態様は、第１の態様の動画修正システムであって、ユーザが、複数の検出されたコンテンツ要素の部分をコピーし、コピーされた部分をペーストして修正されたコンテンツ要素を生成することができるようにする。
【００２３】
本発明の第１８の態様は、第１の態様の動画修正システムであって、動画の概要画像を生成する構成をさらに有し、その概要画像は動画内の複数のコンテンツ要素のいずれとも干渉することなしに修正を行うことができる動画の部分をユーザに示す。
【００２４】
本発明の第１９の態様は、第１の態様の動画修正システムであって、少なくとも２つの動画フレームにおけるコンテンツ要素の画像差異演算を実行することによって動画におけるコンテンツ要素の水平移動を検知する。
【００２５】
本発明の第２０の態様は、第１の態様の動画修正システムであって、少なくとも２つの動画フレームにおける画像差異演算を実行することによって動画フレームの垂直移動を検知する。
【００２６】
本発明の第２１の態様は、第１の態様の動画修正システムであって、動画修正指示は、複数のコンテンツ要素のうちの一つをユーザが選択することを含む。
【００２７】
本発明の第２２の態様は、第１の態様の動画修正システムであって、コンテンツ要素に対する修正が、複数の動画フレームのうちの異なる動画フレームの他のコンテンツ要素と干渉することが決定された場合、ユーザがコンテンツ要素の修正を行うことを防ぐ。
【００２８】
本発明の第２３の態様は、プログラムであって、コンピュータに、複数の動画フレームの少なくとも一つから複数のコンテンツ要素を検出し、ユーザから受け取った動画修正の指示に基づき、複数の検出されたコンテンツ要素のうちの少なくとも一つを修正し、修正されたコンテンツ要素に関する情報をメモリに格納し、修正されたコンテンツ要素を動画にオーバーレイし、オーバーレイされたコンテンツ要素を有する動画をユーザに表示することを実行させる。
【発明の効果】
【００２９】
テキスト、ストロークや画像のダイレクトな動画をユーザが簡単に修正することができる。
【図面の簡単な説明】
【００３０】
【図１】（ａ）、（ｂ）は、新たにタイプされたワードを動画に簡単に挿入できる、本明細書に記載のシステムの実施の使用例を示す。
【図２】（ａ）、（ｂ）は、教師が手書きのワードを動画に追加する修正を行うことができる実際のユースケースを示す。
【図３】これに限定するものではないが、テキスト、自由なインクストロークや画像を含むオリジナル動画コンテンツをユーザが編集可能なダイレクトな動画加工と動画フレームの処理システムの実施の例示的な処理シーケンスを示す。
【図４】ユーザによる編集が取り込まれた最終的な動画が再生される処理システムの実施の例示的な処理シーケンスを示す。
【図５】ユーザによる動画加工の間に生じるあるコンフリクト（干渉）に関連して、本明細書に記載のシステムの実施例により実行されるコンフリクト解消の方法を示す。
【図６】本明細書に記載のシステムの実施例による、ユーザの入力待ち、ユーザの編集のオーバーレイ、及び動画フレームの変化の検知の方法を示す例示的な処理シーケンスを示す。
【図７】本明細書に記載された１またはそれ以上の実施が展開される、テキスト、ストロークや画像をダイレクトに動画編集する計算処理システムの実施例を示す。
【発明を実施するための形態】
【００３１】
以下の詳細な記述において、添付の図面を参照する。添付の図面において、同様の機能を有する構成要素は同様の参照符号を付されている。添付の図面は例示のためのものであり、限定を意図するものではない。特定の実施例及び実装は本発明の原理と矛盾しない。これらの実装は当業者が実施できる程度に十分詳細に記述される。その他の実装が使用されてもよく、様々な構成要素の構造の変更及び／もしくは置き換えが本発明の範囲及び思想から逸脱することなく可能であることは理解されるだろう。したがって、以下の詳細な記述は、限定的に解釈されるべきではない。さらに、記述される本発明の様々な実施例は、汎用計算機上で稼働するソフトウェアの形態によっても、専用ハードウェアの形態によっても、ソフトウェア及びハードウェアの組み合わせによっても、実装可能である。
【００３２】
ここに述べる実施例の１つの側面によれば、テキストコンテンツまたはフリーフォームのストロークの追加、タイピングミスの修正、及び／または画像の美化を含むかもしれない、動画編集の計算処理システムや計算機が実行する方法を提供する。
【００３３】
図１（ａ）、（ｂ）は、新たにタイプされたワード、“Ｗｅｂｒｔｃ”を動画に簡単に挿入できる本明細書に記載のシステムの実施の使用例を示す。前記挿入を行うことは、引用句（‘）とワード“ｒａｓｔｅｒ”の間でユーザがマウスをクリックし、Ｗｅｂｒｔｃとタイピングすることで始まる。本明細書に記載のシステムの実施例は、クリックの右側にあるコンテンツ要素を用いてテキストのバウンディングボックスを自動的に認識し、新たな文字を収容するために動画フレームのコンテンツの右への移動を開始する。システムの実施例はまた、フォント形式、色やぼやけを検知し、追加されたテキスト文字が周りの文字と似て見えるようにそれらを適宜描くよう構成されている。特に、図１（ａ）は、修正前のテキストコンテンツを有する動画を示す。動画に見られるように、ユーザは“ｒａｓｔｅｒ”というワードに“Ｗｅｂｒｔｃ”というワードを挿入したいと望んでいる。図１（ｂ）はコンテンツの挿入処理を示し、本明細書に記載のシステムの実施例は“ｒａｓｔｅｒ”というワードを右に押し進め、ユーザにより入力されたテキスト文字をすでに存在する文字と似たフォント形式と色を用いて描く。
【００３４】
テキストコンテンツを含む動画に加え、フリーフォームのインクストロークを伴う多数の動画があることも注目される。そのような動画は、前記Ｋｈａｎ  Ａｃａｄｅｍｙのチュートリアル動画に含まれる。図２（ａ）、（ｂ）は、教師が“ｂｅ”と“ｐｒｉｃｅ”というワードの間に、手書きの“Ｎｏｎ  Ｄｉｓｃｏｕｎｔ”というワードを追加することによって動画を修正することができるリアルなユースケースを示す。図２（ａ）に表されるように、動画を生成するときに、教師は“ｂｅ”と“ｐｒｉｃｅ”のワードの間に、手書きの“Ｎｏｎ  Ｄｉｓｃｏｕｎｔ”というワードを書き忘れた。一方で、図２（ｂ）に表されるように、本明細書に記載されたシステムの実施例が用いられることで、システムがコンテンツ２０２を右に移動する一方、ユーザはオリジナルのストローク２０１を選択し正しい場所にそれを追加することができる。
【００３５】
図３は、これに限定するものではないが、テキスト、自由なインクストロークや画像を含むオリジナル動画コンテンツをユーザが編集可能なダイレクトな動画加工と動画フレームの処理システムの実施の例示的な処理シーケンス３００を示す。最初に、ステップ３０１では、システムが動画のフレーム中のコンテンツ要素を検出する。コンテンツセグメンテーション技術を用いた文字セットや自由なストローク等は、当業者に良く知られている。一つもしくは複数の実施例において、検出されたコンテンツ要素の各々の要素の中に含まれるすべてのコンテンツ要素は、時間的、空間的のどちらか一方の関連を有するという意味において、検出されたコンテンツ要素を接続されたコンテンツ要素と呼ぶことができるかもしれない。一つの例として、接続された要素は、画素群の１グループ、もしくは、互いに接続しているまたは一方と近くに位置している他のグラフィカルなプリミティブになるかもしれない。一つもしくは複数の実施例において、接続された要素はバウンディングボックスとして囲まれるかもしれない。そのバウンディングボックスは、通常そのコンテンツ要素のすべての画素または他の要素が囲まれている四角箱である。しかしながら、他の形状のバウンディングボックス（例えば、円や楕円等）もまた、接続された要素を囲むものとして使われる。一つもしくは複数の実施例において、その検出されたコンテンツ要素は、例えば、対応するバウンディングボックスを用いてユーザに示されてもよい。ステップ３０２では、システムは、検出されたコンテンツ要素間でユーザがカーソルを移動し、マウスや他のポインティング装置により対応する位置をクリックすることにより適切な要素を選択することを可能にする。１の実施例において、検出されたコンテンツ要素の間でのユーザによるカーソルの移動を検出すると、動画を一時停止するようシステムが構成される（ステップ３０３参照）。他の実施例において、システムは、動画の再生を継続するように構成されても良いが、ある新情報（例えば、同じラインに追加される新たなコンテンツ）が利用可能である場合を除いて、ユーザのために動画を視覚的に一時停止させても良い。
【００３６】
ステップ３０４では、テキストコンテンツ、自由なインクストロークや画像といったすべての要素を含む、以前に検出された動画フレームのコンテンツは、動画に関連付けられ、動画の編集レイヤにコピーされる。ステップ３０５では、ユーザは、動画に追加される追加のテキストコンテンツ、追加の自由なインクストロークや追加のグラフィカルなコンテンツ等の新たなコンテンツを生成する。ステップ３０６では、新たなコンテンツは、コンテンツの挿入時間とともに動画編集レイヤ内の適切な場所に追加される。ステップ３０７では、システムはコンテンツの編集時間を変更することができ、そのコンテンツは調整された挿入時間で動画編集レイヤに記述される。ステップ３０８では、動画コンテンツの編集操作が終了する。その終了は、検出されたユーザのアクションにおいて、あらかじめ決められたタイムアウトにより起こる。
【００３７】
上述の方法で、動画がユーザにより修正された後、ユーザの新たなコンテンツが追加された変更された動画は、ユーザに戻され再生することができるようになる。一つの実施例において、再生ステップの間または再生ステップの前に、システムはユーザの編集をまとめる全体的な新たな動画を生成（レンダリング）する。そのようなレンダリングは、フレームごとにオフラインで実行されてもよく、それぞれのフレームに追加される新たなコンテンツは、元の動画フレームと併合（マージ）され、また新たな動画フレームがレンダリングされ保存される。
【００３８】
他に代替的な実施例として、ユーザの変更は別のレイヤに保たれ、再生中に動的に動画へ統合される。後者のレイヤベースの方法の利点は、システムが、ユーザにより追加された新たなコンテンツを含むレイヤの表示を潜在的に調整（例えば、オンやオフ）でき、ユーザの変更を効果的に“取消”できるところにある。図４は、ユーザによる編集が取り込まれた最終的な動画が再生される処理システムの実施の例示的な処理シーケンス４００を示す。ステップ４０１では、システムはユーザから、編集された動画を再生するためのコマンドを受け取る。ステップ４０２では、システムはユーザにより追加された最初の新たなコンテンツの挿入時間に到達する。このため、システムは、実際に追加されたコンテンツと対応する挿入時間とを含む動画編集レイヤのコンテンツを読み取る。
【００３９】
１の実施例では、最初の挿入時間に到達すると、システムはステップ４０３に見られるように、再生されている動画を一時停止するよう構成されている。他の実施例では、関連付けられた音声ストリームが正常に再生を続けるために、動画はシステムによって再生され続ける。しかしながら、元の動画フレームは編集された動画フレームの再生が終わるまで適切に非表示にされる。
【００４０】
ステップ４０４では、システムは動画編集レイヤをユーザに見えるようにするよう構成されている。ステップ４０５では、ビデオ編集レイヤから読み取られたユーザにより追加されたコンテンツが、元の動画フレームの適切な挿入時間に挿入され、結果として得られる動画フレームがユーザに表示される。ステップ４０５は、もしあれば、さらなる追加されたコンテンツに対して繰り返される。ステップ４０６では、最後に追加されたコンテンツが読みだされ動画に追加される。ステップ４０７では、動画編集レイヤはユーザには非表示にされ、システムは、ステップ４０８において再び元の（修正されていない）動画を再生する。
【００４１】
一つもしくは複数の実施例において、システムは自動的に、動画内の過去に見つけ出されたコンテンツ要素の各々のコンテンツ形式を検出し、ユーザにより挿入された対応するコンテンツ形式を、動画内に見つけ出された元のテキストコンテンツ形式とマッチングする。このため、処理シーケンス３００の前記ステップ３０１では、システムは動画フレームから最後のコンテンツ要素を検出した後、システムは背景色を検出することを進め、それらは以下で説明される挿入したコンテンツのマッチングに用いられる。一つの実施例では、ステップ３０２において、ユーザがクリックした後、動画キャンバス（フレーム）上のＸ、Ｙの位置座標で、システムは、例えばコンテンツ要素の前述のバウンディングボックスを用いて、テキストに対応するラインを自動的に見つける。一つもしくは複数の実施例では、見つけられたテキストのラインの高さは、そのラインにユーザにより追加された新たなテキストの画素のフォントの高さの決定に用いられる。
【００４２】
一つもしくは複数の実施例において、テキストに新たに追加されたフォントの色を、ユーザによって指定することができ、または、予め判定された背景色を考慮することなく、コンテンツ要素を参照して、対応するテキストラインのコンテンツ要素において支配的な色を選択することによってシステムにより自動的に決定することもできる。一つの実施例において、新たな文字のフォント形式が予め決定される。代替的な実施例では、フォント形式は、ユーザによって指定されるか、または、非特許文献２のような、当該技術分野で知られているフォント特定方法を用いることでシステムにより自動的に推定される。一つもしくは複数の実施例において、本明細書に記載のシステムはユーザが編集ビットとしてアイテムをコピー、貼り付けすることを可能にし、ユーザーが新たなインクストロークを描くことや新たな文字をタイピングすることだけに制限しない。
【００４３】
一つもしくは複数の実施例において、新たに追加されたコンテンツは、元の動画の時間的な性質を考慮に入れて表示される。このため、システムは、連続した動画フレームを比較し、フレームのコンテンツが経時的に変化しているかどうかを判定するためにフレーム差異演算を使う。システムは、追加（オーバーレイ）が再配置される必要があるか、消滅しているか、同じ場所に静止しているかどうか、のような、ユーザの編集が依然有効であるかどうかを決定するためにフレーム差異演算を使う。フレーム差異演算を用いることにより、システムは動画フレームの静的、動的を区別する。前記フレームタイプ（静的または動的）に関わらず、ユーザが動画フレーム上のＸ、Ｙ座標の位置をクリックしたときは、システムは上述した方法でコンテンツ要素を使うことで対応するラインを見つける。
【００４４】
一つもしくは複数の実施例において、ラインが見つかった後は、ラインは“ビットマップの文字”というユニットに分類される。カーソルはユーザに新たなコンテンツの現在の挿入位置を示す。一つの実施例において、追加（オーバーレイ）は、編集されたライン上に、ラインのコピーとともに生成される。ユーザが文字を追加もしくは取り除いたときはいつでも、オーバーレイのビットマップは適宜修正される。例えば、ユーザがカーソル位置において文字を追加したとき、システムは、キーボード上のバックスペースキーが押されたらカーソル位置の前の文字を、またはキーボード上のデリートキーが押されたらカーソル位置の後の文字を、自動的に取り除く。一つもしくは複数の実施例において、ユーザが特定のラインにある編集をしたらすぐに、システムはそのラインに対して元の動画の変化を探す。ラインが元の動画において変化しない間は、ユーザの編集はただオーバーレイされる。ユーザにより追加されたすべてのコンテンツは修正された動画に示される。
【００４５】
一方、前記のラインが元の動画において変化する場合、例えば元の動画が、ライン上のどこかに文字を追加する場合には、システムは次のアクションを実行するよう構成することができる。
【００４６】
ａ）ユーザの編集はもう無効であることをユーザに警告する、または
【００４７】
ｂ）元の動画にある新たなラインのコンテンツとユーザの編集との併合を試みる  
【００４８】
一つもしくは複数の実施例において、前記（ａ）と（ｂ）のアクションは、前述のコンフリクトを正しく解決する信頼度に基づいてシステムにより自動的にトリガーされてもよい。代替的な実施例において、（ａ）と（ｂ）との間のデフォルトの選択がパラメータとしてシステムに対して特定されてもよく、これによりシステムはデフォルトでどちらか一方のアクションを実行する。上述の（ａ）のアクションがトリガーされたとき、システムはユーザに警告し、対応するラインが元の動画において変化したときに、ユーザの編集を見えなくさせる。しかしながら、ユーザの編集は、ラインに変化がないその間においては表示される。一方で（ｂ）がトリガーされたとき、図５に示されるソースコードの併合のように、システムはユーザの変更（修正）と元の動画のラインの変更とを併合する。
【００４９】
図６に示される通り、ユーザが動画フレームをクリックしたとき、システムは対応するラインの画像を識別し、識別されたライン画像のコピーを保存し、オーバーレイとしてそのコピーを用いる。それ以降は、ユーザは選択されたフレームの編集を進め、元の動画が背景で再生され続ける中で、システムがこれから先の動画フレームと保存された情報との違いを見つけることを可能にする。システムが上述の前記アクション（ａ）を扱うことができるように、システムは、前記２つのライン（これから先の動画フレームにおける対応するラインと保存されているライン）のビットマップの差異（閾値）を計算するよう構成される。
【００５０】
一方で、上述のアクション（ｂ）のために、システムは、ライン画像をコンテンツ要素に分類し、これらのコンテンツ要素に対して差異演算を実行するよう構成される。この２つ目の方法はまた、上記アクション（ａ）に関して利用できることは注目されるが、前記２つのライン画像が変化しているか否かを検知するのには単なるフレーム差異演算で充分なので、この２つ目の方法は必ずしも必要ではない。
【００５１】
最初に、本明細書に記載のシステムの実施例によって静的な動画フレームを扱うことが考えられる。この静的なケースは、連続する動画フレームが非常に類似している場合で、例えば動画のレクチャーの間にスライドを見せるときのような場合である。そのような動画レクチャーの間は、たとえレクチャーをしている人の顔の動きが動画フレームの一部に存在したとしても、動画フレームのある部分（例えばスライド）は静止したままである。この場合、本明細書に記載のシステムの実施例は、前記検出されたコンテンツ要素を頼りにテキストのラインを見つける。ユーザが新たな文字をタイプするとき、システムは、存在する文字バウンディングボックスを新たな文字に置き換えるか、または背景色にマッチする四角形の上に描くことによりそれを削除する。ユーザがテキストのラインの中央をクリックしたら、前記文字が挿入され存在するコンテンツが右に移動する。
【００５２】
一つもしくは複数の実施例において、新たに追加された文字は背景色を用いて描かれるが、その背景色は、テキストの同じライン上で最も右に位置する背景色をチェックすることでシステムによって自動的に決定される。代替的な実施例としては、他の背景色決定方法が用いられてもよく、コンテンツ要素を無視（減算）して背景色が決定されるようにしても良い。当業者により認識されている通り、この方法は、背景色が同一でなく色勾配のある背景色を持つスライドの場合に、新たに追加するテキストを視覚的に融合することを可能とする。
【００５３】
一つもしくは複数の実施例において、同じスライドが異なる２つの時間に２回示されるときのように、ユーザにより現在編集中であるのと同じテキストコンテンツが動画で後に示される場合には、システムはユーザにその旨を伝え、自動的にユーザの編集を後のコンテンツに再適用する。一つの実施例において、システムがその編集を自動的に将来の同一コンテンツに再適用する一方で、システムは、例えば動画のタイムラインを利用して、どこに変化が再適用されたのかをユーザに示すよう構成され、自動的に再適用された変化をユーザが再チェックする機会を与える。
【００５４】
当業者により認識されている通り、当業者によく知られている前記Ｋｈａｎ  Ａｃａｄｅｍｉｙのチュートリアルの動画を含む自由なインクストロークベースの動画もまた、ほとんど静的である。元の動画は追加されている自由なインクストロークを示す一方、一度追加されると、通常そのインクストロークは変わらない。スクリーンが全画面であるとき、元の動画は概して、キャンバスがクリアにされていて、新たなインクストロークを示し始める。スクリーンがクリアだと、オーバーレイが結びついているコンテンツが表示されないためオーバーレイもまた消える。
【００５５】
当業者により認識されている通り、同じ動画に後でインクストロークを含むエリアにユーザがインクで描くと、ある問題が生じる。この場合、一つの実施例において、本明細書に記載のシステムは以下の動作のいずれかを実行するよう構成される。
【００５６】
１、ユーザがそのエリアの上にインクで描くことを防ぎ、必要であれば、適切なエラーメッセージを生成し、ユーザに表示する、
【００５７】
２、ユーザに、キャンバスのどこにインクで描くと確実かを示す、その場所はおそらくスクリーンが再びクリアになるまで将来ブランクのままのエリアを含むであろう。一つの実施例において、システムは、例えば米国特許出願１３／７５５、１１６号に記載される方法により、動画の概要画像をユーザに示すよう構成されても良い。その概要画像は、邪魔なコンテンツが存在するであろう将来のフレームを視覚的に示しつつ、ユーザがインクで描くことが可能なキャンバス上のユーザ領域を示しても良い。一つもしくは複数の実施例において、これは半透明の影を用いることで構成することができる、もしくは、
【００５８】
３、新たなコンテンツが新たに追加されたストロークを重ね合わせ始めると、ユーザの編集は見えなくなることをユーザに知らせる。
【００５９】
ここで、本明細書に記載のシステムの実施例による動的な動画フレームの扱いについて説明する。例えばテキストエディタでタイピングしている人を示す動画のような、動的なコンテンツのケースにおいて、システムは元の動画に追加されているテキストのコンテンツの場所を決定するためにフレームの差異を当てにする。ユーザがラインの最後をクリックして文字を削除したとき、動画の元のテキスト文字は新たに挿入された文字に置き換えられる。静的なケースとは異なり、動画再生での挿入された文字のオーバーレイは、対応する文字が元の動画に最初に追加されたフレームで開始される。その開始時点は、フレーム差異の検出により見出される。
【００６０】
動画内のコンテンツの垂直移動に関する本明細書に記載のシステムの実施例の操作はこれから記述される。当業者により認識されている通り、動画においてユーザがテキストのラインを編集するときに、後になって元の動画フレームが垂直に移動することがあり得る。その編集を示すオーバーレイもまた、元のコンテンツを追って移動する必要がある。一つもしくは複数の実施例において、システムは、２つの動画フレームのグローバルな移動方向を決定するために、非特許文献３で示されるスクロール検知を用いる。後者の方法は、元の動画内のユーザがテキストエディタをスクロールアップするときのように元の動画がグローバルに移動するときに適切に適用される。
【００６１】
一つもしくは複数の実施例において、後者のスクリーン検知技術はサブ領域移動を見つけるために拡張される。特に、元の動画が、新たなラインが追加されるところを示す場合、新たなラインの上のフレームの上部領域は変更されないが下部領域は下にずれる。同様に、元の動画内でユーザがテキストのラインを削除すると、削除された領域の下のコンテンツはその次のフレームにおいて上にずれる。両方のケースにおいて、オーバーレイはコンテンツの移動と同期を保つ必要がある。
【００６２】
一つもしくは複数の実施例において、移動検知は変化した領域を検出するためにフレーム差異を用いる。その差異により、システムは水平及び垂直の投影プロファイルを計算し、変化した領域を見つける。垂直スクロール値はその領域においてのみ計算され、領域で示されるすべてのオーバーレイはそれに伴って移動される。
【００６３】
動画にあるコンテンツの水平移動に関する本明細書に記載のシステムの実施例の操作はこれから記述される。動画の後の時点においてもまだユーザの編集が有効である場合に、そのような移動が検出されることが重要である。一つの実施例において、システムは、２つのラインの違いを検知することによって、与えられたテキストのラインでの違いを検出する。テキストベースの違いの操作と同様に、画像の差異演算はシステムに以下の事柄を知らせる。
【００６４】
１、ラインが変化したかどうか、
【００６５】
２、挿入、削除、置き換えなど、どのようにラインが変化したか。
【００６６】
図５は、ユーザによる動画加工の間に生じるコンフリクトに関連して本明細書に記載のシステムの実施例により実行される、コンフリクト解消の方法を示す。例えば、図５は、時間が０時点での動画はｄｅｆ  ｓｉｎ（ｉｎｔ ｘ）というテキストのラインを含むことを示す。時間１０時点で、ユーザはｄｅｆ  ｓｉｎ（ｆｌｏａｔ ｘ）となるようラインを編集する。時間＝０から時間＝１０までのコンテンツは元の動画において変化しないので、一つの実施例では、時間１０時点でユーザにより適用された編集は、編集後の状態で動画が再生されるときには時間＝０時点で表示され始める。しかしながら時間２０時点では、元の動画はｄｅｆ  ａｓｉｎ（ｉｎｔ ｘ）を示している。それ故、前述の差異検知アルゴリズムは、元動画において何かが変化されたことを検知する。テキストラインの真下に、検出された差異のしるしが示されている。一つの実施例では、システムはユーザ編集が消滅する必要があるということをユーザに警告するよう構成されている。前記警告に対応して、ユーザは手動で編集を再適用（素早く行うためにコピーアンドペーストを用いてもよい）することを選択できる。他の実施例では、システムは、挿入されたのと同じ量だけ移動することによって自動的にユーザの編集を再適用する。
【００６７】
時間３０では、図５に見られるように、元の動画は、ｄｅf  ａｓｉｎ（ｉｎｔ ｘ、ｉｎｔ ｙ）に変更されたテキストラインでさらに修正されている。この修正は、図５で示される差異検知（テキストラインの下に示される）をトリガーし、システムは、自動的にユーザの編集を適用してｄｅｆ  ａｓｉｎ（ｆｌｏａｔ ｘ、ｉｎｔ ｙ）を描画することができる。
【００６８】
明確なテキストベースの差異演算と違って、このアルゴリズムは動画フレームにおけるラインの差異を計算するためにノイズのある動画フレーム上で働く。一つの実施例において、システムはラインが変更されたときいつもユーザに警告をし、ユーザが、自身で行った編集をどこに再適用すべきか知ることができるよう助けるだろう。時間４０では、例えば、元の動画はテキスト“ｉｎｔ x”をテキスト“ｄｏｕｂｌｅ ｘ”に変更する。ユーザの編集が再適用されるべきかどうかの決定はユーザ次第である。当業者により認識されている通り、前述のコンフリクト解消は、コードのバージョン管理システムにおけるコンフリクトのマージの扱いと類似している。
【００６９】
図６は、本明細書に記載のシステムの実施例による、ユーザの入力待ち、ユーザの編集のオーバーレイ及び動画フレームの変化の検知の方法を示す例示的な処理シーケンスを示す。ステップ６０１では、システムは編集フラグの値をＦＡＬＳＥにセットする。ステップ６０２では、システムは動画フレーム上のユーザのクリックや文字のタイピングを検出する。ステップ６０３では、システムは編集フラグの値がＴＲＵＥかどうか確認する。そうであった場合は、ステップ６０４では、システムはユーザ入力に従ってオーバーレイを修正するよう構成されている。続いてステップ６０５では、システムは動画上にオーバーレイをコピーする。一方で編集フラグの値がＦＡＬＳＥであった場合は、操作はステップ６０６へ進む。このステップでは、システムは編集フラグの値をＴＲＵＥにセットし、ライン画像を見つけ、それを初期の画像として保存し、初期のオーバーレイとして使う。その後、操作は前記ステップ６０５へ進む。ステップ６０７では、システムは新たな動画フレームからライン画像を得る。ステップ６０８では、新たなライン画像は初期のライン画像と比較される。前記の２つの画像が類似している場合には、操作はステップ６０５へ戻る。一方、ステップ６０８で画像に差異が検知された場合には、操作は、ユーザ編集の併合が可能かどうかを決定するステップ６０９へ進む。そうであった場合は、ステップ６１０では、オーバーレイは新たなライン画像と併合され、操作はステップ６０５に戻る。編集が併合可能でなかった場合は、操作はステップ６１１に進み、そうするとシステムは、ユーザ編集がもはや有効でない警告をユーザに発し、オーバーレイが動画から取り除かれ、操作はその後ステップ６０１に戻る。最後に、システムはコンフリクトの見込みがないという分析がされたユーザ編集の併合が可能であると、ステップ６１２では、システムはそのようなコンフリクトが存在するかもしれないという警告をユーザに発し、その後、操作はステップ６１０に戻る。
【００７０】
図７は、ここに記述された１またはそれ以上の実施が展開される、テキスト、ストロークや画像をダイレクトに動画編集する計算処理システムの実施例を示す。一つもしくは複数の実施例において、計算処理システム７００の全体またはその一部は、当業者にはよく知られたデスクトップ型のフォームファクタに基づいて実装されてもよい。代替的な実施例として、計算処理システム７００の全体またはその一部は、ラップトップもしくはノートブック・コンピュータ、タブレット・コンピュータ、スマートフォン、その他のモバイルコンピューティングデバイスに基づいて実装されてもよい。
【００７１】
計算処理システム７００はデータ・バス７０４あるいは計算処理システム７００の様々なハードウェアの間で情報を伝達するためのその他の相互接続機構もしくは通信機構を含むことができる。中央処理ユニット（ＣＰＵあるいは単にプロセッサ）７０１はデータ・バス７０４に電気的に接続され、情報を処理し、その他の計算処理タスク及び制御タスクを実行する。計算処理システム７００は、ランダム・アクセス・メモリ（ＲＡＭ）もしくはその他の動的記憶装置などのメモリ７１２を含む。メモリ７１２は、データ・バス７０４に接続され、様々な情報及びプロセッサ７０１によって実行される指示を記憶する。メモリ７１２は、磁気ディスク、光ディスク、半導体フラッシュ・メモリ・デバイス、もしくは、その他の不揮発性記憶デバイスなどの永続記憶装置を含んでいてもよい。
【００７２】
一つもしくは複数の実施例において、プロセッサ７０１によって指示を実行する間、一時的な変数もしくはその他の中間的な情報を記憶するために、メモリ７１２が使用されてもよい。計算処理システム７００は、さらに、リード・オンリー・メモリ（ＲＯＭもしくはＥＰＲＯＭ）７０２もしくはその他の半導体記憶装置を含んでもよいが、含むか否かは任意である。リード・オンリー・メモリ（ＲＯＭもしくはＥＰＲＯＭ）７０２もしくはその他の半導体記憶装置は、データ・バス７０４に接続され、計算処理システム７００の操作に必要なファームウェア、ＢＩＯＳ(basic input-output system)、計算処理システム７００の様々な構成パラメータなどの静的情報及びプロセッサ７０１への指示を記憶する。
【００７３】
一つもしくは複数の実施例において、計算処理システム７００は、ディスプレイ７０９を備えていてもよく、ディスプレイ７０９は、データ・バス７０４に接続され、上述の動画編集のユーザインターフェイスのように、計算処理システム７００のユーザに様々な情報を表示する。代替的な実施例において、ディスプレイ７０９は、（図示しない）グラフィック・コントローラ及び／もしくはグラフィック・プロセッサと関連付けられていてもよい。ディスプレイ７０９は、例えば、当業者にはよく知られているＴＦＴ(thin-film transistor)技術もしくは有機ＬＥＤ(organic light emitting diode)技術を用いたＬＣＤ(liquid crystal display)として実装されていてもよい。異なる実施例において、ディスプレイ７０９は、計算処理システム７００のその他の構成要素と同じ一般的な筐体に含まれていてもよい。代替的な実施例において、ディスプレイ７０９はそのような筐体の外側に配置されていてもよい。
【００７４】
一つもしくは複数の実施例において、計算処理システム７００はさらにデータ・バス７０４と電気的に接続された音声再生装置７２５が組み込まれていても良く、当業者によく知られているＭＰＥＧ−３ファイルのような様々な音声ファイルやＭＰＥＧ−４のような様々な動画ファイルの音声トラックが再生できるよう構成されている。そのため、計算処理システム７００はまた波形あるいは音声処理その他同様の装置（図示しない）が組み込まれていても良い。
【００７５】
一つもしくは複数の実施例において、プロセッサ７０１に方向情報やコマンド選択を伝達するために、ディスプレイ７０９のカーソル移動の制御のために、及び、上述のように動画キャンバス内にカーソルを移動させるために、計算処理システム７００は、マウス、トラックボール、タッチパッド、カーソルディレクションキーなどのマウス／ポインティングデバイス７１０のような一つまたは複数の入力装置が組み込まれていてもよい。この入力デバイスは、典型的には、平面上の位置を特定するために、第１の軸（例えばｘ）および第２の軸（例えばｙ）という２つの軸における２つの自由度を有している。
【００７６】
計算機処理システム７００は、静止画像や、本明細書に記載された動画を含む様々な対象物の動画を取得するために、さらにカメラ７１１を含み、また、キーボード７０６を含んでもよい。これらはすべて、これに限定するものではないが、画像及び動画を含む情報やユーザコマンド（ジェスチャを含む）をプロセッサ７０１に通信するために、データバス７０４に接続されていてもよい。さらにカメラ７１１によって記録された動画に対応する音声トラックを録音するために録音装置７０３を追加しても良い。
【００７７】
一つもしくは複数の実施例において、計算処理システム７００は、データ・バス７０４に接続されているネットワーク・インターフェイス７０５などの通信インターフェイスをさらに備えていてもよい。ネットワーク・インターフェイス７０５は、ＷｉＦｉアダプタ７０７、ＧＳＭ（登録商標）／ＣＤＭＡ（携帯電話ネットワーク）アダプタ７０８、および、ローカルエリアネットワーク（LAN）アダプタ７２６の少なくとも一つを用いて、計算処理システム７００とインターネット７２４との間での通信を確立することができる。計算処理システム７００とインターネット７２４との間で、双方向データ通信を提供してもよい。ＷｉＦｉアダプタ７０７は、当業者にはよく知られている８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ及び／もしくは８０２．１１ｎ、Ｂｌｕｅｔｏｏｔｈ（登録商標）プロトコルに従って動作することができる。ローカルエリアネットワークアダプタ７２６は、統合デジタルサービス網（ISDN）カードあるいはモデムであってよく、これにより、インターネットサービスプロバイダのハードウェア（不図示）を用いてインターネット７２４に接続する、電話回線とのデータ通信を確立する。他の例として、ローカルエリアネットワークアダプタ７２６は、ローカルエリアネットワークのインターフェイス／カード（LAN  NIC）であってよく、これにより、インターネット７２４と互換性を有する通信を提供してよい。ある実施例において、ＷｉＦｉアダプタ７０７、ＧＳＭ（登録商標）／ＣＤＭＡ（携帯電話ネットワーク）アダプタ７０８、および、ローカルエリアネットワーク（LAN）アダプタ７２６は、様々なタイプのデジタルデータストリームを伝送するための電子的または電磁的な信号を送受信する。
【００７８】
一つもしくは複数の実施例において、一般的に、インターネット７２４は、一つもしくは複数のサブ−ネットワークを介して、その他のネットワーク資源へのデータ通信を提供する。したがって、計算処理システム７００は、遠隔メディア・サーバ、ウェブ・サーバ、その他のコンテンツ・サービス、その他のネットワーク・データ・ストレージ資源などの、インターネット７２４のいずれかの位置に置かれている様々なネットワーク資源にアクセスすることができる。一つもしくは複数の実施例において、計算処理システム７００はメッセージ、メディア、及び、アプリケーション・プログラム・コードを含むその他のデータを、ネットワーク・インターフェイス７０５によって、インターネット７２４を含む様々なネットワークを介して、送受信する。例示的なインターネットにおいて、計算処理システム７００がネットワーク・クライアントとして動作する場合、計算処理システム７００上で稼働しているアプリケーション・プログラムのコードもしくはデータを計算処理システム７００は要求することができる。同様に、計算処理システム７００は、その他のネットワーク資源へ様々なデータもしくは計算処理コードを送信することができる。
【００７９】
一つもしくは複数の実施例において、ここで記述される機能は、メモリ７１２に含まれる一つもしくは複数の指示の一つもしくは複数のシーケンスを実行するプロセッサ７０１に応じて、計算処理システム７００によって実装される。指示は、他のコンピュータ読取可能媒体からメモリ７１２に読み込まれてもよい。メモリ７１２に含まれている指示のシーケンスを実行することによって、ここで記述されている様々な処理のステップがプロセッサ７０１によって実行される。代替的な実施例において、本発明の実施例を実装するために、ソフトウェアの指示に代えて、もしくは、ソフトウェアの指示と組み合わせて、ハードウェアによって実現されている回路が使用されてもよい。すなわち、本発明の実施例は、ハードウェア回路及びソフトウェアの任意の特定の組み合わせに限定されるものではない。
【００８０】
ここで使用される用語「コンピュータ読取可能媒体」は、プロセッサ７０１へ実行するための指示を提供する際に関与する任意の媒体であってよい。コンピュータ読取可能媒体は、機械読取可能媒体の単なる一例であり、ここで記述される方法及び／もしくは技術の何れかを実装するための指示を搬送することができる。このような媒体は、不揮発媒体、揮発媒体などを含むが、これらに限定されない、多くの形態を採ることができる。
【００８１】
非一時コンピュータ読取可能媒体の一般的な形態は、例えば、フロッピー（登録商標）・ディスク、フレキシブル・ディスク、ハード・ディスク、磁気テープ、もしくは、任意のその他の磁気媒体、ＣＤ−ＲＯＭ、任意のその他の光媒体、パンチカード、紙テープ、孔パターンを有する任意のその他の物理的な媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、フラッシュ・ドライブ、メモリ・カード、任意のその他のメモリ・チップ、もしくはカートリッジ、もしくは、コンピュータがそこから読み取ることができる任意のその他の媒体を含む。コンピュータ読取可能媒体の様々な形態は、プロセッサ７０１への、一つもしくは複数の実行する指示の一つもしくは複数のシーケンスの搬送に関連してもよい。例えば、指示は、遠隔コンピュータから磁気ディスクにまず搬送されてもよい。代替的に、遠隔コンピュータは、遠隔コンピュータのダイナミック・メモリに指示をロードし、インターネット７２４によって指示を送信してもよい。詳細には、コンピュータの指示は、当業者にはよく知られている様々なネットワーク・データ通信プロトコルを用いて、インターネット７２４を介して、遠隔コンピュータから計算処理システム７００のメモリ７１２へ、ダウンロードされてもよい。
【００８２】
一つもしくは複数の実施例において、計算処理システム７００のメモリ７１２は、以下のソフトウェア・プログラム、アプリケーション、もしくは、モジュールのいずれかを記憶してもよい。
【００８３】
１．オペレーティング・システム（ＯＳ）７１３は、基本システム・サービスを実装し、計算処理システム７００の様々なハードウェア構成要素を管理する携帯型装置用オペレーティング・システムであってもよい。
【００８４】
２．アプリケーション７１４は、例えば、計算処理システム７００のプロセッサ７０１によって実行される一連のソフトウェアを含んでよく、これによって、計算処理システム７００は、予め定められたある処理、例えば、ユーザインターフェイスをディスプレイ７０９に表示したり、カメラ７１１を用いて動画を記録したりする処理を行ってよい。一つもしくは複数の実施例において、アプリケーション７１４は上述した通りアプリケーション７１６の動画編集と同様に、任意での音声記録装置７０３やカメラ７１１を用いて動画をキャプチャーするために、アプリケーション７１５の動画キャプチャーを有しても良い。
【００８５】
３．データストレージ７２１は、例えば、上述の方法で作成された動画についてユーザにより編集された編集に関する情報を記憶する動画編集データストレージ７２３と同様に、動画記憶のための動画ストレージ７２２を有しても良い。一つもしくは複数の実施例において、動画編集データストレージ７２３は対応するコンテンツの挿入時間と同様に、動画においてユーザに追加された新たなコンテンツに関する情報を記憶しても良い。
【００８６】
一つもしくは複数の実施例において、独創的な動画編集アプリケーション７１６は、ここに上述した方法でユーザに動画編集を可能にするユーザインターフェイスを生成するよう構成されるユーザインターフェイス生成モジュール７１７に組み込まれる。ユーザインターフェイスは計算機システム７００のディスプレイ７０９で生成される。独創的な動画編集アプリケーション７１６は、当業者によく知られているコンテンツセグメント技術を用いた文字セットや自由なインクストロークのような動画のフレームのコンテンツ要素を検出するために、さらに動画処理モジュール７１８を有しても良い。加えて、動画編集アプリケーション７１６は、これに限定するものではないが、テキストや自由なインクストローク、画像のような元の動画コンテンツを編集することを可能にするダイレクトな動画修正のための動画編集モジュール７１９を組み合わせても良い。さらには、動画編集アプリケーション７１６は追加で、例えば図４で示される通り、ユーザ編集を組み入れた最終的な動画を再生するための動画再生モジュール７２０を有しても良い。
【００８７】
最後に、ここで記述される処理及び技術は特定の装置の何れかに固有に関連するものではなく、適切に組み合わせられた構成要素の何れかによって実装されてもよいことが理解されるべきである。さらに、様々な種類の汎用目的装置がここに記述される技術に従って使用されてもよい。ここに記述される方法ステップを実行するために専用装置を構築することは有利であるかもしれない。本発明は、特定の例示に関連して記述されているが、この記述は、限定ではなく、例示を意図している。多くの異なるハードウェア、ソフトウェア及びファームウェアの組み合わせが本発明を実行するために適切であることは、当業者には明らかである。例えば、記述されるソフトウェアは、アセンブラ、Ｃ／Ｃ＋＋、Ｏｂｊｅｃｔｉｖｅ−Ｃ、ｐｅｒｌ、ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）、現在知られているもしくは今後開発されるプログラミング言語もしくはスクリプト言語の何れかなどの様々なプログラミング言語もしくは記述言語によって実装されてもよい。
【００８８】
さらに、ここに記述された詳細及び実行を考慮すれば、本発明のその他の実装が当業者には明らかであろう。記述された実装の様々な態様及び／もしくは構成要素は、テキスト、ストローク、画像のダイレクトな動画修正するシステム、方法及びプログラムを個別に、もしくは、任意に組み合わせて使用することができる。詳細及び例は例示としてのみ考慮されることを意図し、本発明の真の範囲及び思想は特許請求の範囲の記載によって示される。
【符号の説明】
【００８９】
２０１  オリジナルのストローク
２０２  コンテンツ
【図１】
2015231233.tif 000003
【図２】
2015231233.tif 000004
【図３】
2015231233.tif 000005
【図４】
2015231233.tif 000006
【図５】
2015231233.tif 000007
【図６】
2015231233.tif 000008
【図７】
2015231233.tif 000009