(57)【要約】【課題】  本開示は、保護データをビデオオブジェクトに関連付け及び保護データに基づきビデオオブジェクトの内容及びソースを検証するシステム及び方法を含む。【解決手段】  ビデオ処理アプリケーションは、生成部において、ビデオオブジェクトを受信し、前記生成部において、第１ビデオオブジェクトの内容に基づきデジタル署名を計算し、前記生成部において、前記第１ビデオオブジェクトの前記デジタル署名に前記生成部の識別情報を追加し、前記生成部は、前記第１ビデオオブジェクトのソースであり、前記生成部から第１消費部へ、前記デジタル署名と一緒に前記第１ビデオオブジェクトを送信し、前記第１消費部において、前記デジタル署名に基づき、前記第１ビデオオブジェクトの前記内容及びソースを認証する。【選択図】  図１Ａ
2019161643.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実施される方法であって、
生成部において、ビデオオブジェクトを受信するステップと、
前記生成部において、前記ビデオオブジェクトの内容に基づきデジタル署名を計算するステップと、
前記生成部において、前記ビデオオブジェクトの前記デジタル署名に前記生成部の識別情報を追加するステップであって、前記生成部は、前記ビデオオブジェクトのソースである、ステップと、
前記生成部から第１消費部へ、前記デジタル署名と一緒に前記ビデオオブジェクトを送信するステップと、
前記第１消費部において、前記デジタル署名に基づき、前記ビデオオブジェクトの前記内容及びソースを認証するステップと、
を含むコンピュータにより実施される方法。
【請求項２】
前記生成部において、秘密鍵を用いて前記デジタル署名を暗号化するステップ、を更に含み、
前記生成部から前記第１消費部へ前記デジタル署名と一緒に前記ビデオオブジェクトを送信するステップは、前記の暗号化したデジタル署名を送信するステップを含む、請求項１に記載のコンピュータにより実施される方法。
【請求項３】
前記第１消費部において、公開鍵を用いて前記デジタル署名を復号するステップ、を更に含む請求項２に記載のコンピュータにより実施される方法。
【請求項４】
前記ビデオオブジェクトは、ビデオフラグメント又は合成ビデオのうちの少なくとも１つである、請求項１に記載のコンピュータにより実施される方法。
【請求項５】
前記第１消費部において、前記ビデオオブジェクトの前記内容に基づき、第２デジタル署名を生成するステップと、
前記第１消費部において、前記ビデオオブジェクトの前記第２デジタル署名に前記第１消費部の識別情報を追加するステップであって、前記第１消費部は、前記ビデオオブジェクトの前記ソースである、ステップと、
第２消費部へ、前記第２デジタル署名と一緒に前記ビデオオブジェクトを送信するステップであって、前記ビデオオブジェクトは、前記ビデオオブジェクトの前記ソースが前記第１消費部であるか否かを決定するために、前記第２消費部において前記第２デジタル署名に基づき認証される、ステップと、
を更に含む請求項１に記載のコンピュータにより実施される方法。
【請求項６】
前記生成部は、前記ビデオオブジェクトを生成する第１装置、又は前記ビデオオブジェクトを返すデータベースのうちの少なくとも１つであり、前記第１消費部は、前記ビデオオブジェクトを受信し使用する第２装置である、請求項１に記載のコンピュータにより実施される方法。
【請求項７】
前記生成部において、前記ビデオオブジェクトに埋め込むための第１透かしを生成するステップであって、前記第１透かしは前記生成部の識別情報を含む、ステップと、
前記第１消費部において、前記ビデオオブジェクトから前記第１透かしを抽出するステップと、
を更に含み、
前記第１消費部において、前記ビデオオブジェクトの前記ソースを認証するステップは、
前記第１透かしに含まれる前記生成部の前記識別情報に更に基づく、請求項１に記載のコンピュータにより実施される方法。
【請求項８】
前記第１消費部において、前記ビデオオブジェクトに埋め込むための第２透かしを生成するステップであって、前記第２透かしは前記第１消費部の識別情報を含む、ステップと、
前記第１消費部から第２消費部へ、前記第２透かしを埋め込まれた前記ビデオオブジェクトを送信するステップであって、前記ビデオオブジェクトは、前記ビデオオブジェクトの前記ソースが前記第１消費部であるか否かを決定するために、前記第２消費部において前記第２透かしに基づき認証される、ステップと、
を更に含む請求項７に記載のコンピュータにより実施される方法。
【請求項９】
システムであって、
１又は複数のプロセッサと、
メモリと、を含み、
前記メモリは命令を格納し、前記命令は、実行されると前記１又は複数のプロセッサに、
生成部において、ビデオオブジェクトを受信させ、
前記生成部において、前記ビデオオブジェクトの内容に基づきデジタル署名を計算させ、
前記生成部において、前記ビデオオブジェクトの前記デジタル署名に前記生成部の識別情報を追加させ、前記生成部は、前記ビデオオブジェクトのソースであり、
前記生成部から第１消費部へ、前記デジタル署名と一緒に前記ビデオオブジェクトを送信させ、
前記第１消費部において、前記デジタル署名に基づき前記ビデオオブジェクトの前記内容及びソースを認証させる、
システム。
【請求項１０】
前記命令は、前記１又は複数のプロセッサに、さらに、
前記生成部において、秘密鍵を用いて前記デジタル署名を暗号化させ、
前記生成部から前記第１消費部へ前記デジタル署名と一緒に前記ビデオオブジェクトを送信することは、前記の暗号化されたデジタル署名を送信することを含む、請求項９に記載のシステム。
【請求項１１】
前記命令は、さらに、前記１又は複数のプロセッサに、
前記第１消費部において、公開鍵を用いて前記デジタル署名を復号させる、請求項１０に記載のシステム。
【請求項１２】
前記ビデオオブジェクトは、ビデオフラグメント又は合成ビデオのうちの少なくとも１つである、請求項９に記載のシステム。
【請求項１３】
前記生成部は、前記ビデオオブジェクトを生成する第１装置、又は前記ビデオオブジェクトを返すデータベースのうちの少なくとも１つであり、前記第１消費部は、前記ビデオオブジェクトを受信し使用する第２装置である、請求項９に記載のシステム。
【請求項１４】
前記命令は、さらに、前記１又は複数のプロセッサに、
前記生成部において、前記ビデオオブジェクトに埋め込むための第１透かしを生成させ、前記第１透かしは前記生成部の識別情報を含み、
前記第１消費部において、前記ビデオオブジェクトから前記第１透かしを抽出させ、
前記ビデオオブジェクトの前記ソースを認証することは、前記第１透かしに含まれる前記生成部の前記識別情報に更に基づく、請求項９に記載のシステム。
【請求項１５】
前記命令は、さらに、前記１又は複数のプロセッサに、
前記第１消費部において、前記ビデオオブジェクトに埋め込むための第２透かしを生成させ、前記第２透かしは前記第１消費部の識別情報を含み、
前記第１消費部から第２消費部へ、前記第２透かしを埋め込まれた前記ビデオオブジェクトを送信させ、前記ビデオオブジェクトは、前記ビデオオブジェクトの前記ソースが前記第１消費部であるか否かを決定するために、前記第２消費部において前記第２透かしに基づき認証される、
請求項１４に記載のシステム。
【請求項１６】
コンピュータにより実施される方法であって、
生成部において、ビデオオブジェクトを受信するステップと、
前記生成部において、前記ビデオオブジェクトに埋め込むための第１透かしを生成するステップであって、前記第１透かしは前記生成部の識別情報を含み、前記生成部は前記ビデオオブジェクトのソースである、ステップと、
前記生成部から第１消費部へ、前記第１透かしを埋め込まれた第２ビデオオブジェクトを送信するステップと、
前記第１消費部において、前記ビデオオブジェクトから前記第１透かしを抽出するステップと、
前記第１消費部において、前記第１透かしに含まれる前記生成部の前記識別情報に基づき、前記ビデオオブジェクトのソースを認証するステップと、
を含むコンピュータにより実施される方法。
【請求項１７】
前記第１消費部において、前記ビデオオブジェクトに埋め込むための第２透かしを生成するステップであって、前記第２透かしは前記第１消費部の識別情報を含む、ステップと、
前記第１消費部から第２消費部へ、前記第２透かしを埋め込まれた前記ビデオオブジェクトを送信するステップであって、前記第１消費部からの前記ビデオオブジェクトの前記ソースは、前記第２消費部において前記第２透かしに基づき認証される、ステップと、
を更に含む請求項１６に記載のコンピュータにより実施される方法。
【請求項１８】
前記生成部において、前記ビデオオブジェクトの内容に基づきデジタル署名を計算するステップと、
前記生成部において、前記ビデオオブジェクトの前記デジタル署名に前記生成部の識別情報を追加するステップと、
前記第１消費部において、前記デジタル署名に基づき前記ビデオオブジェクトの前記内容及びソースを認証するステップと、
を更に含む請求項１６に記載のコンピュータにより実施される方法。
【請求項１９】
前記生成部において、秘密鍵を用いて前記デジタル署名を暗号化するステップ、を更に含み、
前記生成部から前記第１消費部へ前記デジタル署名と一緒に前記ビデオオブジェクトを送信するステップは、前記の暗号化されたデジタル署名を送信するステップを含む、請求項１８に記載のコンピュータにより実施される方法。
【請求項２０】
前記ビデオオブジェクトは、ビデオフラグメント又は合成ビデオのうちの少なくとも１つである、請求項１６に記載のコンピュータにより実施される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の参照］
本願は、参照により全体がここに組み込まれる米国出願番号第１５／４４７，４１６、２０１７年３月２日出願、名称「Decomposition  of  a  Video  Stream  into  Salient  Fragments」の一部継続出願であり、その優先権を主張する。
【０００２】
［技術分野］
本願明細書は、概して、ビデオストリームの処理に関する。特に、本願明細書は、保護データをビデオオブジェクトに関連付け及び保護データに基づきビデオオブジェクトの内容及びソースを検証するシステム及び方法を含む。
【背景技術】
【０００３】
ビデオ監視及び同様のアプリケーションでは、カメラは、標準的に、大部分について平穏無事な場面を監視する。つまり、場面は、平凡な又は変化しない要素を含み、希にのみ場面内に明白な関心イベントがある。結果として、ビデオ閲覧及び検索は、時間を消費し、大部分の記録された監視ビデオは、注目され又は検査されることがない。
【０００４】
別の問題は、データセキュリティに関する。ビデオデータがデータベースに格納されるとき、又はビデオデータがある場所から別の場所へ送信されるとき、ビデオデータは攻撃されることがある。格納されたビデオデータは、認可されていないユーザの望ましくない行為により又はデータを格納する装置に対する破壊的な力により、破壊され得る。これは、ユーザ又は他のリソースにおける管理の向上により大幅に低減され得る。ビデオの内容が操作されるだけでなく、より重要なことに、ビデオデータの正確さを検証するために、ビデオデータがビデオデータの発生にまでさかのぼる場合がある。データセキュリティ侵害は、ビデオデータの頻繁な送信で、より頻繁に生じ得る。
【発明の概要】
【０００５】
本願明細書で紹介される技術は、保護データをビデオオブジェクトに関連付け及び保護データに基づきビデオオブジェクトの内容及びソースを検証するシステム及び方法により、従来技術の欠点及び制限を克服する。一実施形態では、システムは、１又は複数のプロセッサと、命令を格納するメモリと、を含み、該命令は、実行されると、１又は複数のプロセッサに、生成部において、ビデオオブジェクトを受信させ、生成部において、第１ビデオオブジェクトの内容に基づきデジタル署名を計算させる。命令は、さらに、１又は複数のプロセッサに、生成部において、生成部の識別情報を第１ビデオオブジェクトのデジタル署名に追加させ、生成部は第１ビデオオブジェクトのソースであり、生成部から第１消費部へデジタル署名と一緒に第１ビデオオブジェクトを送信させる。命令は、さらに、１又は複数のプロセッサに、第１消費部において、デジタル署名に基づき第１ビデオオブジェクトの内容及びソースを認証させる。
【０００６】
他の態様は、上述の及び他の新規な態様のための対応する方法、システム、装置及びコンピュータプログラムを有する。
【０００７】
本願明細書に記載される特徴及び利点は網羅的ではなく、図面及び説明を参照して多くの追加の特徴及び利点が当業者に明らかになるだろう。さらに、留意すべき点は、本願明細書で用いられる語は、基本的に読み易さ及び説明的目的で選択されており、記載の技術の範囲を制限しない。
【図面の簡単な説明】
【０００８】
ここで紹介する技術は、例を用いて説明され、添付の図面に限定されるものではない。図中、同様の参照符号は同様の要素を表すために用いられる。
【０００９】
【図１Ａ】保護データをビデオオブジェクトに関連付け及び保護データに基づきビデオオブジェクトの内容及びソースを検証する例示的なシステムを説明する上位レベルブロック図を示す。
【００１０】
【図１Ｂ】例示的なビデオ処理アプリケーションを説明するブロック図を示す。
【００１１】
【図２】例示的なデータ保護ユニットを説明するブロック図を示す。
【００１２】
【図３Ａ】例示的なビデオ処理パイプラインを説明するブロック図を示す。
【００１３】
【図３Ｂ】１又は複数のビデオオブジェクトが異なる段階においてマークされ保護される、例示的なビデオ処理パイプラインを説明するブロック図を示す。
【００１４】
【図４Ａ】ビデオオブジェクトの完全性を保証し及びビデオオブジェクトのソースを識別するために、ビデオオブジェクトに保護データを追加する例示的な方法を説明するフロー図を示す。
【００１５】
【図４Ｂ】ビデオオブジェクトと一緒に送信された保護データに基づき、ビデオオブジェクトを認証する例示的な方法を説明するフロー図を示す。
【００１６】
【図５】保護データをビデオオブジェクトに関連付け及び保護データに基づきビデオオブジェクトの内容及びソースを検証する例示的な方法を説明するフロー図を示す。
【００１７】
【図６】保護データをビデオオブジェクトに関連付け及び保護データに基づきビデオオブジェクトの内容及びソースを検証する例示的な方法を説明するフロー図を示す。
【発明を実施するための形態】
【００１８】
図１Ａは、保護データをビデオオブジェクトに関連付け及び保護データに基づきビデオオブジェクトの内容及びソースを検証するシステム１００の一実施形態を説明する上位レベルブロック図を示す。図示のシステム１００は、ネットワーク１０５を介して接続される、サーバ１０１、キャプチャ装置１０７、データレポジトリ１０９、及びクライアント装置１１５ａ．．．１１１５ｎを含む。固定数のサーバ、キャプチャ装置、データレポジトリ、及びクライアント装置が図１Ａに示されるが、任意の数のこのようなエンティティが存在して良いことが理解されるべきである。また、このようなエンティティは、任意の数のネットワークにより接続され得る。さらに、図１Ａ及び残りの図では、参照符号の後の文字、例えば「１１５ａ」は、特定の参照符号を有する要素への参照を表す。文章中の、後続の文字を有しない参照符号、例えば「１１５」は、その参照符号を付された要素の任意の又は全ての例への全般的な参照を表す。
【００１９】
ネットワーク１０５は、従来型の有線又は無線であり、スター構成、トークンリング構成若しくは他の構成を含む多数の異なる構成を有しても良い。さらに、ネットワーク１０５は、ＬＡＮ（local  area  network）、ＷＡＮ（wide  area  network）（例えば、インターネット）、及び／又は複数の装置が通信できる他の相互接続されたデータ経路を有して良い。幾つかの実施形態では、ネットワーク１０５は、ピアツーピアネットワークであって良い。ネットワーク１０５は、種々の異なる通信プロトコルでデータを送信する通信ネットワークの一部に結合され又はそれを含んで良い。幾つかの実施形態では、ネットワーク１０５は、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信ネットワーク又はＳＭＳ（short  messaging  service）、ＭＭＳ（multimedia  messaging  service）、ＨＴＴＰ（hypertext  transfer  protocol）、直接データ接続、ＷＡＰ、電子メール等を介することを含むデータを送信及び受信するセルラ通信ネットワークを有して良い。
【００２０】
クライアント装置１１５は、プロセッサ、メモリ、アプリケーション、データベース及びネットワーク通信能力を有するコンピューティング装置である。例えば、クライアント装置１１５は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、携帯電話機、ＰＤＡ（personal  digital  assistant）、モバイル電子メール装置、１又は複数のプロセッサを内蔵した又はそれに結合されたテレビジョン、又はネットワーク１０５にアクセスしサーバ１０１、キャプチャ装置１０７、又はデータレポジトリ１０９と通信可能な任意の他の電子装置であり得る。幾つかの実施形態では、クライアント装置１１５は、本願明細書に記載の機能を提供するために、ネットワーク１０５を介してシステム１００の他のエンティティと通信する。例えば、クライアント装置１１５は、ビデオコンテンツについての要求を送信する。要求に応答して、サーバ１０１は、ビデオコンテンツを生成し、該ビデオコンテンツをクライアント装置１１５に提供する。さらに、クライアント装置１１５は、ユーザにビデオを提示し、ユーザからビデオの部分に関するユーザ入力を受信する。
【００２１】
キャプチャ装置１０７は、ビデオをキャプチャし該ビデオにメタデータを関連付けるハードウェア装置である。例えば、キャプチャ装置１０７は、デジタルビデオカメラ、ウェブカメラ、ＩＰカメラ、等であり得る。キャプチャ装置１０７によりキャプチャされるビデオは、時間に関連した画像の任意のシリーズであり得る。キャプチャ装置１０７は、メタデータ、例えばビデオがキャプチャされた時間及び場所、画像サイズ、画像解像度、色の深み、フレームレート、等をビデオに関連付ける。
【００２２】
データレポジトリ１０９は、データ、例えばビデオのようなデジタルメディアを格納するために設計された設備である。例えば、データレポジトリ１０９は、データ記憶設備、クラウド記憶装置、データベース、等であり得る。幾つかの実施形態では、データレポジトリ１０９は、クライアント装置１１５からビデオについての要求をにより、ビデオを提供する。
【００２３】
幾つかの実施形態では、クライアント装置１１５、キャプチャ装置１０７、及び／又はデータレポジトリ１０９は、アプリケーションを呼び出し、ソフトウェアプログラムを走らせ、又は他の分析ロジックを実行することができる。例えば、キャプチャ装置１０７は、キャプチャされたビデオに対して画像認識を実行するために、ビデオ処理アプリケーションを実行し得るスマートキャプチャ装置であって良い。幾つかの実施形態では、後述するように、クライアント装置１１５、キャプチャ装置１０７、及び／又はデータレポジトリ１０９は、サーバ１０１のビデオ処理機能を実行して、ビデオ処理アプリケーション１０３を実行する。
【００２４】
サーバ１０１は、ハードウェアサーバ、ソフトウェアサーバ、又はハードウェアとソフトウェアとの組合せであって良い。サーバ１０１は、プロセッサ、メモリ、アプリケーション、データベース及びネットワーク通信能力を有するコンピューティング装置であって良く、又はそれらにより実装されて良い。サーバ１０１は、ビデオストリームに対してビデオ解析を実行する。幾つかの実施形態では、サーバ１０１は、コンテンツ管理、セキュリティ管理、等に対してビデオ解析を実行するために、アプリケーションを呼び出し、ソフトウェアプログラムを実行することができる。例えば、サーバ１０１は、識別、相関、集約、フィルタリング、及びサンプリング、等に基づきビデオコンテンツを管理するために、アプリケーションを使用して良い。サーバ１０１は、ビデオストリームから特徴を識別し、該特徴に基づきビデオストリームからオブジェクトを認識し、及び豊かなビデオコンテンツを生成するためにビデオストリームの部分を選択して良い。サーバ１０１は、ビデオストリームの品質を向上するために拡張プログラムを実行しても良い。別の例では、サーバ１０１は、ビデオオブジェクトが特定ソースから生じたか否か、及びビデオオブジェクトが宛先への該ビデオオブジェクトの送信中に改竄された又は変更されたか否かを決定するために、認証データ及びビデオ識別子をビデオオブジェクトに追加することにより、セキュリティ管理のためのソリューションを提供して良い。
【００２５】
幾つかの実施形態では、サーバ１０１、クライアント装置１１５、キャプチャ装置１０７、及び／又はデータレポジトリ１０９は、ビデオ処理アプリケーション１０３を含む。幾つかの実施形態では、ビデオ処理アプリケーション１０３は、プログラマブル又は専用ハードウェアを用いて実装され得る。幾つかの実施形態では、ビデオ処理アプリケーション１０３は、ハードウェア及びソフトウェアの組み合わせを用いて実装できる。他の実施形態では、ビデオ処理アプリケーション１０３は、サーバ１０１、クライアント装置１１５、キャプチャ装置１０７、及び／又はデータレポジトリ１０９に格納され及び実行されるソフトウェアであって良い。
【００２６】
幾つかの実施形態では、ビデオ処理アプリケーション１０３は、キャプチャ装置からビデオを受信し、該ビデオをフラグメントに分解する。幾つかの実施形態では、ビデオ処理アプリケーション１０３は、動き検出、コントラスト、色、及びセマンティック特性のうちの少なくとも１つに基づき、オブジェクトの特徴を決定し、該特徴に基づき、ビデオをフラグメントに分解する。ビデオの特徴フラグメントは、ビデオのフラグメントのサブセット、及びフレームのサブセットからのピクセルのサブセットである。例えば、ビデオ内のオブジェクトに対応するピクセルは、ビデオの複数のフレームの中で見付かり得る。オブジェクトに対応するピクセルを有するこれらのフレームは、フレームのサブセットとしてビデオから抽出されて良い。さらに、オブジェクトに対応するピクセル（及び幾つかの実施形態では、オブジェクトの周囲の幾つかのピクセル）は、フレームのサブセットの各々から抽出される。結果として生じる、オブジェクトに関連するピクセルのみを含むフレームのサブセットは、特徴フラグメントである。幾つかの実施形態では、ビデオ処理アプリケーション１０３は、また、ユーザクエリを受信することに応答して、フラグメントセットを用いて合成ビデオを生成する。合成ビデオは、ビデオの要約であり、元のビデオより短い時間期間内に豊富な内容を含む。
【００２７】
ビデオ処理アプリケーション１０３は、改竄保護及びソース識別をビデオフラグメント及び／又は合成ビデオに提供する。例えば、ビデオ処理アプリケーション１０３は、ソースにおいて、ビデオフラグメントを宛先へ送信する前に、デジタル署名をビデオフラグメントに関連付け又は透かしをビデオフラグメントに埋め込み、宛先において、ビデオフラグメントが送信中に変更されたか否か及びビデオフラグメントのソースを決定するために、デジタル署名又は透かしに基づきビデオフラグメントを認証する。
【００２８】
ユーザの必要に適合するより簡潔な、より関連のあるビデオデータを提供することに加えて、本願明細書に記載の技術は、ビデオ処理パイプラインの種々の段階でビデオデータを追加保護データでマークすることにより、データ及び送信セキュリティを向上し、ビデオデータの完全性を保証するため及びビデオデータのソースを識別するために保護データを使用する。ビデオ処理アプリケーション１０３の動作及び上述の機能は、図１Ｂ〜５を参照して以下に詳述する。
【００２９】
図１Ｂは、システム１００のサーバ１０１、キャプチャ装置１０７、データレポジトリ１０９又はクライアント装置１１５に含まれるビデオ処理アプリケーション１０３の一実施形態を説明するブロック図を示す。図示の実施形態では、ビデオ処理アプリケーション１０３は、フラグメント生成ユニット１２１、顧客ユニット１２３、及びデータ保護ユニット１２５を含む。
【００３０】
フラグメント生成ユニット１２１は、ビデオフラグメントを生成し又は生じる。フラグメントは、複数の時間に関連する画像又はビデオフレームを含むビデオのサブセットである。幾つかの実施形態では、フラグメント生成ユニット１２１は、入力ビデオを処理することによりフラグメントを生成する。例えば、サーバ１０１、キャプチャ装置１０７、及びクライアント装置１１５は、ビデオフラグメントを生成するためにフラグメント生成ユニット１２１を含んで良い。他の実施形態では、フラグメント生成ユニット１２１は、クエリに対する応答として、データレポジトリ１０９からフラグメントを返す。
【００３１】
幾つかの実施形態では、フラグメント生成ユニット１２１は、ビデオをフラグメントに分解する機能を提供するために、ソフトウェア及び／又はロジックを有して良い。ビデオは、時間に関連する画像の任意のシリーズであり得る。フラグメント又はフラグメントシーケンスは、複数の時間に関連する画像又はビデオフレームを含むビデオのサブセットである。ある時点におけるフラグメントの各フレームは、僅かに異なり且つ特定の連続性で接続される特定領域を含む。例えば、特徴フラグメントは、手を振る活動の３つの時間に関連するフレームを含んで良い。第１フレームは、人が第１位置へ手を挙げることを示す。第２フレームは、その人が第１位置で手を振ることを示す。第３フレームは、その人が第２位置へ手を下げることを示す。単一の特徴フラグメントは、必ずしも特定領域の劇的な変化を含まない。つまり、特徴フラグメントは、動作における小さな及び／又は安定した変化のシーケンスを表す。劇的な変化が生じると、例えば、領域がバラバラになる、閉塞される、等すると、新しい特徴フラグメントが開始する。例えば、ビデオの中の第３フレームに続く第４フレームは人の手を含まないので、上述の特徴フラグメントは３つのフレームのみを含む。言い換えると、特徴フラグメントは、ピクセルブロックがシーンの中に現れるとき開始し、該ピクセルブロックが該シーンから消えるとき終了する、元のビデオの最小単位である。幾つかの実施形態では、フラグメント生成ユニット１２１は、本願明細書に記載の機能を実行するためにエンコーダを有して良い。
【００３２】
幾つかの実施形態では、フラグメント生成ユニット１２１は、オブジェクトの特徴を決定し、該特徴に基づきビデオから特徴オブジェクトを抽出し、該特徴オブジェクトに基づき複数の特徴フラグメントを生成する。特徴は、ビデオの顕著な特徴を表し、対応する特徴フラグメントは、顕著な特徴を示す目立つ特質を有するビデオのハイライトである。例えば、フラグメント生成ユニット１２１は、最も目立つ特徴がブラックリストに載っている個人であること（つまり、特徴オブジェクト）に基づき、特徴ビデオから、容疑者の動きを含む特徴フラグメントを抽出する。
【００３３】
幾つかの実施形態では、フラグメント生成ユニット１２１は、動き検出、コントラスト、色、及びセマンティック特性のうちの少なくとも１つに基づき、ビデオ内のオブジェクトの特徴を決定する。したがって、特徴オブジェクトは、動いているオブジェクト、又は特定の色若しくは特定のコントラストのオブジェクトであって良い。特徴オブジェクトは、意味的重要性を有するオブジェクトであっても良い。例えば、会話ビデオでは、フラグメント生成ユニット１２１は、意味的重要性に基づき、最も多く話している（例えば、他の人々の質問に回答する）人を特徴オブジェクトとして決定して良い。あるいは、例えば、フラグメント生成ユニット１２１は、特定のラベルを有する車を、意味的重要性を有するオブジェクトとして決定して良い。
【００３４】
幾つかの実施形態では、フラグメント生成ユニット１２１は、移動オブジェクトを特徴オブジェクトとして識別するために、動き検出に基づき、背景及び前景分離方法を使用する。例えば、フラグメント生成ユニット１２１は、ビデオから鉄道駅に向かう列車の特徴オブジェクト（例えば、高速に変化する部分）を抽出する。あるいは、フラグメント生成ユニット１２１は、ビデオ内の移動オブジェクトの優勢フロー内にない移動オブジェクトを特徴オブジェクトとして識別する。動き検出方法は、シーン内に多数の移動オブジェクトが存在するとき、例えば交通量の多い高速道路、混雑した店舗、等で、特徴オブジェクトを抽出するのに適用可能でない場合がある。このような場合には、フラグメント生成ユニット１２１は、コントラスト、色、形状、ビデオの意味的情報、等のようなビデオの他の特徴に基づき、特徴オブジェクトを決定して良い。例えば、フラグメント生成ユニット１２１は、ビデオ内のオブジェクトにより実行される活動を含む意味的情報に基づき、特徴オブジェクトとしてバイクに乗っている人物を識別する。特徴オブジェクトを識別するのに使用されるアルゴリズムは、ガウス混合モデル（Gaussian  Mixture  Model：ＧＭＭ）に基づくアルゴリズム、視覚的背景抽出（visual  background  extractor：ＶｉＢｅ）、適応型ＧＭＭ、自己組織化マップアルゴリズム、主成分分析アルゴリズム、背景をモデル化する下位分解に基づくアルゴリズム、等を含む。
【００３５】
特徴オブジェクトが決定されると、フラグメント生成ユニット１２１は、特徴オブジェクトの関連部分をリンクして、フラグメントを生成する。幾つかの実施形態では、フラグメント生成ユニット１２１は、ビデオの各フレーム内の特徴オブジェクトを決定し、ビデオの長さに渡り各特徴オブジェクトを追跡し、該追跡に基づき複数のフラグメントを生成する。特徴オブジェクトを追跡する簡単な方法は、あるフレームから別のフレームまで特徴オブジェクトの位置を特定し、あるフレーム内の特徴オブジェクトを同様の空間位置に現れる次フレーム内の特徴オブジェクトに関連付けることである。しかしながら、この簡単な追跡方法は、オブジェクトの重なり合い、誤検出、及び結果として生じるオブジェクト間の関連付けの欠如、等のような幾つかの問題を有する。問題を解決するために、フラグメント生成ユニット１２１は、時間に渡る特徴オブジェクトの追跡を得るために、特定色モデル及び／又は動きベクトルモデルを特徴オブジェクトに関連付ける追跡アルゴリズムを使用して良い。幾つかの実施形態では、フラグメント生成ユニット１２１は、いつ追跡を開始し及び終了するかを決定するためにハンガリアン（Hungarian）法を適用し、複数オブジェクト追跡を実施するためにカルマン（Kalman）フィルタ法を使用する。
【００３６】
幾つかの実施形態では、フラグメント生成ユニット１２１は、特徴オブジェクトの追跡をフラグメントとして定める。このビデオフラグメントは、ビデオの特徴部分のみを含み、追跡の時間期間の間、継続し、したがって特徴フラグメントとして参照される。特徴フラグメントは、時間及び空間において特定される単一の特徴活動についてのビデオ部分である。幾つかの実施形態では、フラグメント生成ユニット１２１は、ビデオの特定の時間期間の範囲内で単一の特徴オブジェクトを追跡し、この特定の時間期間から単一の特徴フラグメントを生成する。他の実施形態では、フラグメント生成ユニット１２１は、ビデオの特定の時間期間の範囲内で複数の特徴オブジェクトを追跡し、ビデオのこの特定の時間期間から複数の特徴フラグメントを生成する。例えば、フラグメント生成ユニット１２１は、３分間のビデオから人と車を追跡し、その人の第１フラグメントと、その車の第２フラグメントと、を生成して良い。幾つかの実施形態では、フラグメントは完全なビデオを包含しても良い。
【００３７】
フラグメントが決定されると、フラグメント生成ユニット１２１は、フラグメントのデータベースを構築するために、ビデオ処理アプリケーション１０３の他のコンポーネントと通信する。幾つかの実施形態では、データベースインデックスは、フラグメントの空間的−時間的オーバラップ又は因果関係情報に基づき、高速データ検索のためにフラグメントのデータベースの中で構築される。他の実施形態では、フラグメント生成ユニット１２１は、ビデオコンテンツを識別しユーザに提供するために、ビデオ処理アプリケーション１０３（例えば消費ユニット１２３）の他のコンポーネントとも通信して良い。
【００３８】
幾つかの実施形態では、フラグメントのデータベースは、データレポジトリ１０９に存在し、クエリに対する応答としてフラグメントを返すためにフラグメント生成ユニット１２１にアクセス可能であって良い。例えば、フラグメント生成ユニット１２１は、ユーザからの時間入力に基づき、ユーザに時間間隔の範囲内のフラグメントを返して良い。或いは、フラグメント生成ユニット１２１は、動き方向に対応するフラグメントを識別し、識別したフラグメントをユーザに返して良い。
【００３９】
消費ユニット１２３は、フラグメント生成ユニット１２１により生成されたフラグメントを消費し又は使用する。消費ユニット１２３は、フラグメント生成ユニット１２１からフラグメントを受信し及びデータベース自体を更新する、データレポジトリ１０９にあるフラグメントのデータベースであって良い。消費ユニット１２３は、フラグメントを表示する、クライアント装置１１５又はキャプチャ装置１０７のグラフィカルユーザインタフェース・コンポーネント（図示しない）であって良い。消費ユニット１２３は、サーバ１０１、キャプチャ装置１０７又はクライアント装置１１５にあり、フラグメントのデータベースからフラグメントを受信し及び合成ビデオを生成する。合成ビデオは、ビデオの要約であり、以下の点でビデオと異なって良い。（１）合成ビデオは、ユーザクエリに応答して、クエリに関連するフラグメントに対応する元のビデオの情報を強調する。及び／又は、（２）合成ビデオは、元のビデオより時間長が短い。合成ビデオは、元のビデオより短い時間期間内により豊富な内容を含むので、ビデオから有用な情報を取得するためのユーザの時間及びネットワーク帯域幅は、合成ビデオを用いて削減される。
【００４０】
幾つかの実施形態では、消費ユニット１２３は、ユーザ入力に基づきビデオに関連するクエリを受信する。クエリは、フラグメント、時間間隔、又はフラグメントに関連付けられた属性であり得る。クエリに応答して、消費ユニット１２３は、フラグメントセット、及びビデオの非突出部分、時間シフト情報、フラグメントに関連付けられた重み、空間シフト情報、等のような他の関連情報に基づき、合成ビデオを生成する。例えば、消費ユニット１２３は、時間間隔の範囲内に生じるビデオの全てのフラグメントを読み出し、該フラグメント及びフラグメントに関連付けられた開始停止時間に基づき合成ビデオを生成する。合成ビデオの生成における１つの課題は、ビデオ内の因果関係の相互作用を保持することである。消費ユニット１２３は、種々のフラグメントを順序付けることなく、ビデオ内の因果関係の相互作用を再構成できない。結果として、消費ユニット１２３は、フラグメント間の因果関係の関係を示す連結性グラフを、合成ビデオの生成の要因に含めて良い。消費ユニット１２３は、合成ビデオを生成するときに他の最適化目的で、時間シフト情報、フラグメントに関連付けられた重み、空間シフト情報、等のような他の因子も使用する。
【００４１】
幾つかの実施形態では、消費ユニット１２３は、階層的合成ビデオを生成して良い。消費ユニット１２３は、（例えば、第１人物及び第２人物を含む）第１合成ビデオを生成するために、ビデオから抽出された複数のフラグメントから、第１クエリに基づく第１フラグメントセットを読み出す。消費ユニット１２３は、次に、（例えば、第２人物だけを含む）第２合成ビデオを生成するために、第１フラグメントセットから、第２クエリに基づき第２フラグメントセットを読み出して良い、等である。階層的合成ビデオに加えて、消費ユニット１２３は、動的合成ビデオを生成する。例えば、第１ビデオフラグメントのクエリに対して、消費ユニット１２３は、第１フラグメント内の異なるオブジェクトに焦点を当てる分析に基づき、種々のフラグメントセットが該クエリに関連すると決定して良く、種々のフラグメントセットに基づき種々の合成ビデオを生成する。種々の合成ビデオを提供することにより、本アプローチは、特にビデオの画像をクエリするユーザの意図が不明確なとき、ユーザの種々の必要に適合する。
【００４２】
特に、消費ユニット１２３がクエリに基づき合成ビデオを動的に生成できることは有利である。長いビデオの時間期間に渡りシーンを要約するために、短いビデオサマリ（例えば、ビデオ概要）を生成するアプローチが存在する。例えば、これらのアプローチは、１時間ビデオについて異なる時間長を有するビデオ概要（例えば、２分ビデオ概要、１０分ビデオ概要）を生成し、ユーザクエリにより特定時間のビデオ概要を返して良い。しかしながら、このようなアプローチは、本開示に記載されるように結果を生成する前にではなく、結果を生成した後にインデックスを構築するだけである。例えば、これらのアプローチは、クエリ結果を生成するために使用された画像部分ではなく、クエリ結果（例えば、ビデオ概要）をインデックス付けし格納する。したがって、異なる時間長の多数のビデオ概要が生成され、インデックス付けされ、データベースに格納され、及びユーザが特定長のビデオ概要をクエリする場合、これらのアプローチは、インデックスに基づきデータベースを検索し、特定長のビデオ概要をユーザに返す。既存アプローチは、特定時間長に基づきユーザに常に同じビデオ概要を提供する。これは動的ではない。これに対して、本開示に記載のアプローチは、より柔軟であり、より効率的であり、且つユーザの必要により適する。
【００４３】
データ保護ユニット１２５は、ビデオフラグメント及び合成ビデオをビデオ処理パイプラインの異なる段階で保護する。ビデオ処理パイプラインは、ビデオフラグメント及び合成ビデオを生成し、処理し、送信し、及び提示する処理を含む。図３Ａ及び３Ｂを参照して、ビデオ処理パイプラインの一例が詳述される。幾つかの実施形態では、データ保護ユニット１２５は、悪意ある侵入又は改竄に対して、フラグメントを保護する。侵入又は攻撃は、フラグメントを異なる方法で変更させ得る。フラグメントは、一時的に変更される場合がある。つまり、フラグメントの１又は複数のフレームがスキップされ又は重複される。或いは、フラグメントは、フラグメントの各フレーム内のピクセルが操作されるという点で、空間的に変更される場合がある。或いは、フラグメントは、時空間的に変更される場合がある。つまり、時間的に変更され且つ空間的に変更される。他の実施形態では、データ保護ユニット１２５は、また、フラグメントが宛先へ送信されるとき、フラグメントのソースを記録し又は変更して、フラグメントのソースが宛先において追跡できるようにする。同様に、合成ビデオは、データ保護ユニット１２５により、改竄保護され、そのソースを示すためにマークされる。
【００４４】
図２は、データ保護ユニット１２５を含むシステム２００（例えば、サーバ１０１、キャプチャ装置１０７、データレポジトリ１０９、又はクライアント装置１１５）の一実施形態を説明するブロック図を示す。システム２００は、幾つかの例に従って、プロセッサ２３５、メモリ２３７、任意ディスプレイ装置２３９、通信ユニット２４１、データ記憶装置２４３も有して良い。システム２２０のコンポーネントは、互いとの通信のためにバス２２０に通信可能に結合される。
【００４５】
プロセッサ２３５は、種々の入力／出力、論理、及び／又は演算動作を実行することによりソフトウェア命令を実行して良い。プロセッサ２３５は、例えばＣＩＳＣ（complex  instruction  set  computer）アーキテクチャ、ＲＩＳＣ（reduced  instruction  set  computer）アーキテクチャ、及び／又は命令セットの組合せを実施するアーキテクチャを含む、データ信号を処理する種々のコンピューティングアーキテクチャを有して良い。プロセッサ２３５は、物理的及び／又は仮想的であって良く、単一の信号処理ユニット又は複数の信号処理ユニット及び／又はコアを有して良い。幾つかの実施形態では、プロセッサ２３５は、電子表示信号を生成しディスプレイ装置に供給し、ビデオコンテンツについてのユーザ要求を受信するのに使用されるユーザインタフェースの表示をサポートし、要求されたビデオコンテンツを識別しユーザに提供する、等が可能であって良い。幾つかの実装では、プロセッサ２３５は、バス２２０を介してメモリ２３７に結合されて良く、該メモリからのデータ及び命令にアクセスし、該メモリにデータを格納して良い。バス２２０は、例えばメモリ２３７、通信ユニット２４１、ビデオ処理アプリケーション１０３、及びデータ記憶装置２４３を含むシステム２００の他のコンポーネントに、プロセッサ２３５を結合して良い。当業者には、他のプロセッサ、オペレーティングシステム、及び物理的構成が可能であることが明らかである。
【００４６】
メモリ２３７は、システム２００の他のコンポーネントのためにデータを格納しデータへのアクセスを提供して良い。幾つかの実装では、メモリ２３７は、プロセッサ２３５により実行され得る命令及び／又はデータを格納して良い。命令及び／又はデータは、本願明細書に記載の技術を実行するコードを有して良い。例えば、一実施形態では、メモリ２３７は、ビデオ処理アプリケーション１０３を格納して良い。メモリ２３７は、例えばオペレーティングシステム、ハードウェアドライバ、他のソフトウェアアプリケーション、データベース、等を含む他の命令及びデータも格納可能である。メモリ２３７は、プロセッサ２３５及びシステム２００の他のコンポーネントと通信するために、バス２２０に結合されて良い。
【００４７】
メモリ２３７は、１又は複数の非一時的コンピュータ使用可能（例えば、可読、書き込み可能）装置、ＤＲＡＭ（dynamic  random  access  memory）装置、ＳＲＡＭ（static  random  access  memory）装置、埋め込みメモリ装置、個別メモリ装置（例えば、ＰＲＯＭ、ＥＰＲＯＭ、ＲＯＭ）、ハードディスクドライブ、光ディスクドライブ（ＣＤ、ＤＶＤ、Ｂｌｕｅ−ｒａｙ（登録商標）、等）媒体を有して良く、プロセッサ２３５により若しくはプロセッサ２３５と共に処理するために、命令、データ、コンピュータプログラム、ソフトウェア、コード、ルーチン、等を有し、格納し、通信し、又は伝送できる任意の有形機器若しくは装置であり得る。幾つかの実装では、メモリ２３７は、揮発性メモリ及び不揮発性メモリのうちの１又は複数を有して良い。理解されるべきことに、メモリ２３７は、単一の装置であって良く、又は複数種類の装置及び構成を有して良い。
【００４８】
ディスプレイ装置２３９は、ＬＣＤ（liquid  crystal  display）、ＬＥＤ（light  emitting  diode）又は任意の他の同様の搭載ディスプレイ装置、スクリーン若しくはモニタである。ディスプレイ装置２３９は、本願明細書に記載のようなユーザインタフェース、電子画像、及びデータを表示するために備えられた任意の装置を表す。異なる実施形態では、ディスプレイは２値（ピクセルに対して２個の異なる値のみ）、モノクロ（１色のうちの複数の陰影）であり、又は複数色及び陰影が可能である。ディスプレイ装置２３９は、プロセッサ２３５及びシステム２００の他のコンポーネントと通信するために、バス２２０に結合される。留意すべきことに、ディスプレイ装置２３９は、任意であることを示すために、図２に破線で示される。例えば、システム２００は、ディスプレイ装置２３９を有することなくビデオコンテンツ解析を実行するサーバ又はディスプレイを備えないスマートキャプチャ装置であって良い。
【００４９】
通信ユニット２４１は、プロセッサ２３５をネットワーク１０５及び他の処理システムに接続することにより、データを受信し及び送信するハードウェアである。通信ユニット２４１は、処理のためにデータを受信する。例えば、通信ユニットは、ビデオ処理アプリケーション１０３による処理のためにキャプチャ装置１０７からビデオデータを受信する。通信ユニット２４１は、表示のためにクライアント装置１１５に情報を送信しても良い。例えば、通信ユニット２４１は、クライアント装置１１５のユーザからビデオコンテンツについての要求を受信し、ビデオサーバ１２１を介してクライアント装置１１５へ該ビデオコンテンツを送信する。通信ユニット２４１はバス２２０に結合される。一実施形態では、通信ユニット２４１は、ネットワーク１０５への直接物理接続のためのポートを有して良い。別の実施形態では、通信ユニット２４１は、ＩＥＥＥ８０２．１１、ＩＥＥＥ８０２．１６、Ｂｌｕｅｔｏｏｔｈ（登録商標）、セルラ通信、又は別の適切な無線通信方法のような１又は複数の無線通信方法を用いて、クライアント装置１１５又は任意の他の通信チャネルとデータを交換するために無線通信機（図示しない）を有して良い。
【００５０】
データ記憶装置２４３は、本願明細書に記載の機能を提供するためにデータを格納する非一時的メモリである。図示の実施形態では、データ記憶装置２４３は、記憶のためにデータを受信し及びデータについての要求により検索のためにデータを提供するために、バス２２０に通信可能に結合される。データ記憶装置２４３は、ビデオ、ビデオオブジェクト、デジタル署名、透かし、等を格納して良い。幾つかの実施形態では、データ記憶装置２４３は、指紋のデータベースも含む。
【００５１】
幾つかの実施形態では、データ保護ユニット１２５は、データ処理モジュール２０１、署名生成部２０３、透かし生成部２０５、指紋生成部２０７（任意）、保護モジュール２０９、及び認証モジュール２１１を含む。
【００５２】
データ保護ユニット１２５のコンポーネントは、それらが実行する機能を提供するために、ソフトウェア及び／又はロジックを有して良い。幾つかの実施形態では、コンポーネントは、ＦＰＧＡ（field−programmable  gate  array）又はＡＳＩＣ（application−specific  integrated  circuit）を含むプログラマブル又は専用ハードウェアを用いて実装できる。幾つかの実施形態では、コンポーネントは、ハードウェアとプロセッサ２３５により実行可能なソフトウェアとの組み合わせを用いて実装できる。幾つかの実施形態では、コンポーネントは、プロセッサ２３５により実行可能な命令である。幾つかの実施形態では、コンポーネントは、メモリ２３７に格納され、プロセッサ２３５によりアクセス可能且つ実行可能である。
【００５３】
データ保護ユニット１２５は、ビデオオブジェクトのデータ（例えば、ビデオフラグメント又は合成ビデオ）をフラグメント生成ユニット１２１又は消費ユニット１２３から受信するための、及びビデオデータを適切なモジュール及び／又は生成部へ更なる処理のために送信するための機能を提供するために、ソフトウェア及び／又はロジックを有して良い。例えば、データ処理モジュール２０１は、合成ビデオの内容及びソースを認証するために、透かしを埋め込まれた合成ビデオを認証モジュール２１１へ送信して良い。幾つかの実施形態では、データ処理モジュール２０１は、受信したビデオデータに関連付けられた認証データ又は保護データが存在するか否かを決定する。認証データが存在しない場合、データ処理モジュール２０１は、生成部２０３、２０５、２０７及び保護モジュール２０９と通信して、認証データをビデオオブジェクトに関連付けることにより、ビデオデータに改竄保護及びビデオオブジェクトソース識別を提供する。或いは、データ処理モジュール２０１は、認証目的で、認証モジュール２１１へ認証データと一緒にビデオオブジェクトを送信する。
【００５４】
署名生成部２０３は、ビデオオブジェクトのためにデジタル署名を生成する機能を提供するために、ソフトウェア及び／又はロジックを有して良い。デジタル署名は、改竄保護において、つまりビデオオブジェクトを悪意ある侵入又は改竄から保護する際に、使用される。
【００５５】
署名生成部２０３は、ビデオオブジェクトの内容に基づき、デジタル署名を計算する。幾つかの実施形態では、署名生成部２０３は、エッジ、コーナー、又は画像内容に依存する何らかの他のロバストな特徴のような、ビデオ画像に関連する特徴に基づき、デジタル署名を生成する。他の実施形態では、署名生成部２０３は、ビデオ画像を（画像の視覚的品質に関して）異なる重要性の部分（又はスペクトルサブ帯域）に分けることを助ける離散コサイン変換係数又は離散ウェーブレット変換係数に基づき、デジタル署名を計算する。他の実施形態では、署名生成部２０３は、ビデオフレームの画像ブロックから抽出された特徴又は係数、及び／又はビデオフレームグループに適用される時間変換に基づき、デジタル署名を生成する。幾つかの他の実施形態では、署名生成部２０３は、また、ビデオフレームグループから署名を導出することに基づき、階層的にデジタル署名を生成し、完全なビデオに対してマスタ署名を得るために署名を結合して良い。
【００５６】
幾つかの実施形態では、署名生成部２０３は、ビデオオブジェクトの内容を認証するためにビデオオブジェクトと一緒に送信される別個のファイル又はヘッダ情報として、デジタル署名を生成する。ビデオ内容を認証するために、デジタル署名は、必ずしも内容を保存する変更にではなく、ビデオオブジェクトの内容を変える変更に敏感でなければならない。内容保存変更は、ビデオオブジェクトの全体的内容に影響しない変更、例えばビデオカプセル化、を含んで良く、従って、ビデオのデジタル署名を比較するときに検出可能である必要がない。しかしながら、ビデオオブジェクトがピクセルを追加し、除去し、又は移動するために変更される、或いはビデオフラグメントの幾つかのフラグメントをドロップする又は複製するために変更される場合、この変更は内容変化変更であり、デジタル署名を比較するときに検出可能である必要がある。幾つかの実施形態では、署名生成部２０３は、さらに、デジタル署名を生成する際に、フレーム内の画像ブロック、フレーム、又はフレームグループに関する制御データを使用する。制御データの使用の複雑性の追加は、署名を、内容変化変更に対して一層敏感に、且つ内容変化変更を検出する際に一層効率的にする。
【００５７】
幾つかの実施形態では、署名生成部２０３は、ビデオ内容を検証するために、デジタル署名を保護モジュール２０９及び認証モジュール２１１へ送信する。他の実施形態では、署名生成部２０３は、また、保護モジュール２０９と通信して、ビデオオブジェクトのソースの識別情報をデジタル署名に追加し、ビデオ内容及びビデオオブジェクトのソースの両方が検証できるようにする。幾つかの他の実施形態では、署名生成部２０３は、データ記憶装置２４３にデジタル署名を格納する。
【００５８】
透かし生成部２０５は、ビデオオブジェクトのために透かしを生成する機能を提供するために、ソフトウェア及び／又はロジックを有して良い。ビデオオブジェクトに埋め込まれるとき、透かしは、ビデオオブジェクトが既知のソースから生じたか否か、及びビデオオブジェクトが改竄されている又は変更されているか否かを決定するために使用できる。
【００５９】
透かしは、脆弱な透かし、半脆弱な透かし、又はロバストな透かしであって良い。脆弱な／半脆弱な透かしは、通常、ビデオオブジェクトが変更され又は攻撃されると質が低下する。しかしながら、ロバストな透かしは、ビデオオブジェクトが解像度、コントラスト、又は再符号化において変更されたとき、不変のままであるので、ロバストな透かしは、透かし入りのビデオオブジェクトが攻撃された後でさえ検出可能に設計される。例えば、ロバストな透かしは、圧縮、ノイズ付加、フィルタリング、等のような一般的操作、並びに回転、拡大縮小変換、剪断（shearing）、等のような幾何学的攻撃を乗り切ることができる。幾つかの実施形態では、脆弱な透かしは、ビデオオブジェクトが変更されたか否かを決定するために使用され、一方で、ロバストな透かしは、ビデオオブジェクトのソースを検証するために使用される。半脆弱な透かしは、他方で、ビデオオブジェクトのソースのビデオ識別子、並びに、ビデオオブジェクトの内容の認証データとして機能できる。
【００６０】
幾つかの実施形態では、透かし生成部２０５は、疑似乱数生成部を含む。疑似乱数生成部は、疑似乱数生成部のためのシードであって良い埋め込み鍵に関連付けられる。透かし生成部２０５は、疑似乱数生成部及び鍵を用いて、元のビデオに基づき、脆弱な／半脆弱な透かしを生成する。幾つかの実施形態では、透かし生成部２０５は、また、脆弱な透かしを生成するとき、デジタルハッシュを使用し又は埋め込む。
【００６１】
幾つかの実施形態では、透かし生成部２０５は、半脆弱な透かしを生成する。例えば、透かし生成部２０５は、元の画像と同じサイズ又は次元を有する信号として透かしを構成する。一実施形態では、透かし生成部２０５は、中、及び低周波数だけを用いて、透かしに対して離散コサイン変換を実行する。透かしが離散コサイン変換領域で構成されると、透かし生成部２０５は、逆離散コサイン変換を透かしに適用して、空間領域透かしを生成する。透かし生成部２０５は、次に、保護モジュール２０９と通信して、加法的埋め込みにより空間領域透かしを元のフレームに挿入する。空間領域で生成された透かしは、空間領域におけるピクセル値差分を相関するので、空間的変更を決定する際に有用である。幾つかの実施形態では、透かし生成部２０５は、また、時間的透かしを生成し、ビデオオブジェクトを時間的変更から保護するために又は時間的変更を決定するために、時間的透かしをビデオオブジェクトと同期させる。
【００６２】
幾つかの実施形態では、透かし生成部２０５は、また、ロバストな透かしのような透かしを生成して、少なくともビデオオブジェクトの所有者又はソースに関する情報を含める。ビデオオブジェクトが合成ビデオである場合、透かしペイロードは、合成ビデオの生成を開始したクエリを含んで良い。当業者は、ビデオオブジェクトの認証のために有用な他の情報も透かしを生成するために又は透かしに含まれるために使用可能であることを理解し得る。
【００６３】
透かし生成部２０５は、不可視又は可視透かしを生成して良い。一実施形態では、透かし生成部２０５は、不可視透かしを生成して、透かしを埋め込まれたビデオオブジェクトが元のビデオオブジェクトから知覚的に見分けがつかないようにする。しかしながら、ビデオソース識別情報は、透かしが不可視であることを必要としないので、透かし生成部２０５は、可視透かしを生成しても良い。
【００６４】
幾つかの実施形態では、透かし生成部２０５は、ビデオ内容及び／又はビデオソースを検証するために、透かしを保護モジュール２０９及び認証モジュール２１１へ送信する。他の実施形態では、透かし生成部２０５は、また、データ記憶装置２４３に透かしを格納する。
【００６５】
指紋生成部２０７は、ビデオオブジェクトのために指紋を生成する機能を提供するために、ソフトウェア及び／又はロジックを有して良い。指紋は、ビデオオブジェクトのユニークな特徴を要約する、ビデオオブジェクトのコンパクトなデジタル表現である。指紋は、ビデオオブジェクトの正当性、例えばビデオオブジェクトが変更されているか否かを決定するために使用できる。
【００６６】
幾つかの実施形態では、指紋生成部２０７は、ビデオオブジェクトが生成されるとき、ビデオオブジェクトにユニークな何らかの情報を抽出し、ビデオオブジェクトの指紋を生成する。結果として、指紋生成部２０７は、ビデオフラグメント又は合成ビデオが生成されるときに指紋を生成するフラグメント生成ユニット１２１又は消費ユニット１２３の部分であり得ることを示すために、破線ボックス内に示される。指紋生成部２０７は、指紋データベースに指紋を格納する。格納された指紋は、入力ビデオオブジェクトの正当性を決定するために、入力ビデオオブジェクトに関連付けられた指紋と比較される。
【００６７】
幾つかの実施形態では、指紋生成部２０７は、解像度及びフォーマットの独立したビデオ指紋を生成する。指紋生成部２０７は、保護モジュール２０９及び認証モジュール２０９と通信して、ビデオ全体、ビデオの部分、及びビデオの短い概要を識別する。幾つかの実施形態では、指紋生成部２０７は、また、操作されたビデオ内容を見抜くために指紋を使用する。
【００６８】
保護モジュール２０９は、ビデオデータを守るためにビデオオブジェクトに保護データを関連付ける機能を提供するソフトウェア及び／又はロジックを有して良い。幾つかの実施形態では、保護データは、認証データ及びビデオ識別子を含む。認証データは、ビデオオブジェクトのための改竄保護を提供するために追加される。ビデオ識別子は、ビデオオブジェクトソース識別情報のために追加される。認証データ及びビデオ識別子は、それぞれ署名生成部２０３、透かし生成部２０５、及び指紋生成部２０７により生成された、デジタル署名、脆弱な／半脆弱な透かし、ロバストな透かし、及び指紋を含む。
【００６９】
改竄保護は、悪意ある侵入又は改竄からビデオオブジェクトを保護するためのものである。侵入は、フレームのスキップ又は複製、又はフレーム内のピクセルの操作（例えば、追加、移動、除去）のような、ビデオオブジェクトの変更を生じ得る。ビデオ内容が空間的又は時間的に変更されたかどうかを検出するために認証データが分析され得るので、保護モジュール２０９は、改竄保護のために、認証データを元のビデオに関連付ける。
【００７０】
上述のように、ビデオ変更は、内容保存変更、又は内容変化変更に分類されて良い。内容保存変更は、ビデオの全体的内容に影響しない変更、例えばビデオカプセル化、を含み、従って、ビデオに付加される認証データにより検出される必要がない。しかしながら、ビデオがピクセルを追加し、除去し、又は移動するために変更される、或いはビデオフラグメントの幾つかのフラグメントをドロップする又は複製するために変更される場合、この変更は内容変化変更である。認証データは、内容変化変更を反映し及び検出できるべきである。幾つかの実施形態では、改竄保護のために使用される認証データは、デジタル署名又は脆弱な／半脆弱な透かしを含む。
【００７１】
幾つかの実施形態では、保護モジュール２０９は、署名生成部２０３からデジタル署名を受信し、デジタル署名をビデオオブジェクトに付属部分として関連付け、ビデオオブジェクトの内容を検証するために、この付属部分を別個のファイル又はヘッダ情報としてビデオオブジェクトと一緒に検証端又は宛先（例えば、消費部）へ送信する。他の実施形態では、保護モジュール２０９は、また、ビデオオブジェクトのソース（例えば、フラグメントを生成するフラグメント生成ユニット、又は合成ビデオを生成する消費部）の識別情報をデジタル署名に追加して良く、ビデオオブジェクトの内容だけでなく、ビデオオブジェクトのソースもデジタル署名に基づき認証できるようにする。
【００７２】
幾つかの実施形態では、保護モジュール２０９は、ビデオオブジェクトを配信する前にビデオオブジェクトと一緒に生成された秘密鍵を用いて、署名を暗号化する。保護モジュール２０９は、また、ビデオ消費部においてビデオオブジェクトを検証するとき改竄を検出するために、秘密鍵とペアにされた公開鍵を使用するよう認証モジュール２１１に通知する。
【００７３】
保護モジュール２０９は、ビデオオブジェクトの元のデータから生成されたデジタル署名をビデオオブジェクトに関連付けるので、認証モジュール２１１は、元のフレームが改竄された場合、ビデオオブジェクトの新しいデータ（例えば、より新しいバージョン）を認証するためにこのデジタル署名を使用してはならない。また、保護モジュール２０９は、認証されるべき署名又はビデオオブジェクトからデジタル署名を分離するので、署名と信号を一緒に保つことは厄介な場合があり、署名は失われることが分かっている。さらに、デジタルハッシュ又は署名は変更されたビデオオブジェクトを容易に識別できるが、ビデオオブジェクト内の変更の位置を特定することは、著しく一層多くの努力を必要とする。
【００７４】
他の実施形態では、保護モジュール２０９は、透かし生成部２０５と連携して、ビデオオブジェクトの送信前に、脆弱な／半脆弱な透かしをビデオオブジェクトに埋め込む。幾つかの実施形態では、保護モジュール２０５は、加法的埋め込み、乗算的埋め込み、量子化埋め込み、又は他の脆弱な透かし技術を用いて、透かしをビデオオブジェクトに、例えばビデオデータの最下位ビット（least  significant  bit：ＬＳＢ）プレーンに、挿入する。
【００７５】
保護モジュール２０９は、内容の脆弱な透かしをビデオデータに埋め込む。ビデオデータが操作されると、これらの透かしも変更されるので、認証システムは該透かしを検査してデータの完全性を検証できる。脆弱な透かしのこの性質は、ビデオオブジェクト又は信号が（１）既知のソースから生じたこと、及び（２）改竄又は変更されていないこと、の信用を証明することを目的とする認証アプリケーションにとって有用である。しかしながら、脆弱な透かしの脆弱性は、幾つかのアプリケーションでは敏感すぎる場合があり（例えば、あまりに容易に変更されてしまう）、脆弱な透かしは、ソース検証より内容検証に適する場合が多い。これに対して、半脆弱な透かしは、透かしを入れられたビデオオブジェクトに対する、不可逆圧縮からの量子化ノイズの付加のような、ある程度の変化に耐えることができる。これらの変換は、ビデオオブジェクト内容認証及びビデオオブジェクトソース識別の両方において、半脆弱な透かしの使用に実質的に影響しない。デジタル署名と比べて、脆弱な透かし及び半脆弱な透かしは、両方とも、ビデオオブジェクトに対する内容変化変更を検出できるだけでなく、空間及び時間の両方において変更の位置を特定することもできる。
【００７６】
侵入及び改竄からビデオオブジェクトを保護することに加えて、保護モジュール２０９は、また、ビデオオブジェクトソース属性又は識別のために、ビデオオブジェクトにビデオ識別子を追加する。ビデオオブジェクトソース属性は、ビデオフラグメント及び合成ビデオのアイデンティティ及びソースを検証することに関する。幾つかの実施形態では、保護モジュール２０９は、認証モジュール２１１と通信して、透かし、指紋、又はデジタル署名のいずれかを使用して、ビデオオブジェクトが正しくそのソースの属性であることを保証する。
【００７７】
幾つかの実施形態では、保護モジュール２０９は、ビデオオブジェクトに透かしを埋め込む。例えば、保護モジュール２０９は、埋め込み鍵及び疑似乱数生成部を用いて透かしを埋め込んで良い。ビデオオブジェクトは、次に、検証端又は宛先へ送信されて、そこで、認証モジュール２１１により透かしの分析に基づきビデオオブジェクトのソース又は生成部が決定され得る。特に、透かしは、個々のアセットを追跡し、特定の内容片の作成者を識別し、内容が合法的手段により取得されたか否かを決定する、等において有用であり得る。この機能を達成するために、透かしは、元のビデオオブジェクトが僅かに変更されるとき、不変もままであるべきである。僅かな変更は、解像度の変化、コントラストの向上、再符号化、等を含み得る。脆弱な透かしはこのような変更に敏感であり得るので、幾つかの実施形態では、保護モジュール２０９は、ビデオオブジェクトソース識別においてロバストな透かしを使用する。
【００７８】
幾つかの実施形態では、保護モジュール２０９は、Ｈ．２６４フォーマットを有するビデオフレームの動きベクトル領域内にロバストな透かしを埋め込む。他の実施形態では、保護モジュール２０９は、離散ウェーブレット変換及び特異値分解を用いて、ロバストな透かしを埋め込む。例えば、保護モジュール２０９は、透かしを離散ウェーブレット変換及び処理に通し、次に各帯域に対して特異値分解を適用する。保護モジュール２０９は、透かしの特定周波数帯域の特異値を、元の画像の対応する特異値の係数に埋め込む。当業者は、保護モジュール２０９が他のアプローチを使用してロバストな透かしをビデオオブジェクトに埋め込んで良いことを認識するべきである。
【００７９】
透かしの１つの利点は、透かし（例えば、半脆弱な透かし、ロバストな透かし、等）が、改竄保護及びビデオオブジェクトソース識別の両方において使用できることである。透かしのもう１つの利点は、保護モジュール２０９が、透かしに付属情報（例えば、特定の合成ビデオを生成するために使用されるフラグメント識別子）を埋め込むことができ、改竄保護及びビデオオブジェクトソース識別の両方の精度及び速度を向上することである。
【００８０】
他の実施形態では、保護モジュール２０９は、指紋生成部２０７と連携して、指紋データベースからビデオオブジェクトの指紋を、ビデオオブジェクトソース識別のためのビデオオブジェクトのビデオ識別子として、識別する。そうするために、保護モジュール２０９は、ビデオオブジェクトの正当性を決定する目的で、指紋データベースにアクセスする。また、保護モジュール２０９は、更なる付属情報をビデオオブジェクトに埋め込むことができない。
【００８１】
認証モジュール２１１は、ビデオオブジェクトの送信後に、つまり宛先又は検証端において、ビデオオブジェクトを認証する機能を提供するためのソフトウェア及び／又はロジックを含んで良い。
【００８２】
幾つかの実施形態では、認証モジュール２１１は、認証データを用いて、ビデオオブジェクトが送信中に改竄されたか又は変更されたか否かを決定する。幾つかの実施形態では、認証モジュール２１１は、ビデオオブジェクトと一緒に送信された暗号化デジタル署名を受信し、受信したデジタル署名を公開鍵を用いて復号する。この公開鍵は、元の署名を暗号化するために保護モジュール２０９により使用された秘密鍵とペアにされている。認証モジュール２１１は、復号デジタル署名が元のデジタル署名から変更されているか否かを決定する。幾つかの実施形態では、認証モジュール２１１は、この元のデジタル署名を署名データベースから読み出す。復号デジタル署名が変更された場合、認証モジュール２１１は、ビデオオブジェクトが攻撃されたと決定する。他の実施形態では、認証モジュール２１１は、透かし（例えば、脆弱な／半脆弱な透かし）の埋め込まれたビデオオブジェクトを受信し、透かしを読み出す。透かしが存在し抽出できる場合、つまり読み出しが成功した場合、認証モジュール２１１は、ビデオオブジェクトが改竄されていないと決定する。透かしは、ビデオオブジェクトが送信中に変更されなかった場合だけ、検出可能である。通常、認証モジュール２１１は、元の透かしを生成するために使用されたものと同じ埋め込み鍵を使用して、検証端においてビデオオブジェクトから透かしを読み出す。認証モジュール２１１は、他の検出技術を用いて透かしを読み出し又は抽出しても良い。上述の半脆弱な透かしの例では、透かし生成部２０５が空間領域透かしを生成する場合、認証モジュール２１１は、空間領域における隣接ピクセル値の差分に基づき、この透かしを検出して良い。
【００８３】
透かしを用いて、認証モジュール２１１は、ビデオオブジェクトが送信中に改竄又は変更されているか否かを決定するだけでなく、ビデオオブジェクトが既知のソースから生じたか否かも決定する。例えば、認証モジュール２１１は、透かしを生成するために使用されたのと同じ埋め込み鍵を用いて、ビデオオブジェクトに埋め込まれたロバストな透かしを復元して良い。つまり透かしは対称的に暗号化及び復号される。認証モジュール２１１は、また、透かしを別個に復号して、透かしを暗号化と非対称にして良い。復元が成功する限り、認証モジュール２１１は、ビデオオブジェクトのソース及びビデオオブジェクトの完全性の両方が認証されたと決定する。幾つかの実施形態では、認証モジュール２１１は、また、受信したビデオオブジェクトに関連付けられた指紋を、指紋データベースに格納された指紋と比較し、受信したビデオオブジェクトが実際に格納された指紋に関連付けられたビデオオブジェクトであるか否かを決定する。
【００８４】
データ保護ユニット１２５のコンポーネントは、協働して、ビデオ処理パイプラインの異なる段階においてビデオオブジェクトをマークし保護する。幾つかの実施形態では、保護モジュール２０９は、ビデオオブジェクトの送信前に（例えば、フラグメント生成ユニットのようなソースにおいて）、保護データ、つまり認証データ及びビデオ識別子をビデオオブジェクトに追加して良く、認証モジュール２１１は、ビデオオブジェクトが検証端（例えば、消費ユニットのような宛先）へ送信された後に、ビデオオブジェクトを認証して良い。ソース及び宛先は、必ずしも、ビデオ処理パイプラインの送信全体の始点及び終点ではない。代わりに、ソース及び宛先は、通常２つの異なるエンティティの間の、例えばフラグメント生成ユニットと消費ユニットとの間の、特定の送信経路の始点及び終点を表す。結果として、ビデオオブジェクトは、異なる段階で、又は異なる送信経路の間でマークされ保護され得る。例えば、ビデオフラグメントがフラグメント生成ユニットにより生成され、記憶するためにデータベースへ送信され、次にデータベースから読み出されて消費ユニットへ送信される場合、異なる保護が送信の各経路について使用できる。フラグメント生成ユニットとデータベースとの間のビデオフラグメントの第１送信経路について、保護モジュール２０９は、第１ビデオ識別子（例えば、第１透かし）を用いて、フラグメント生成ユニットをソースとして識別して良く、認証モジュール２１１は、データベースにおいてビデオフラグメントを認証して良い。データベースと消費ユニットとの間のビデオフラグメントの第２送信経路について、保護モジュール２０９は、第２ビデオ識別子（例えば、第２透かし）を用いて、データベースをソースとして識別して良く、認証モジュール２１１は、消費ユニットにおいてビデオフラグメントを認証して良い。
【００８５】
図３Ａは、図１Ａのシステムのエンティティに基づき構成されるビデオ処理パイプラインの一実施形態を説明するブロック図を示す。各エンティティ３０２〜３０８は、図１Ａのエンティティ又は実際の装置を表す。各エンティティは、ビデオオブジェクトを生成し又は使用するために、少なくとも１つのフラグメント生成ユニット及び／又は消費ユニットを含む。例えば、エンティティ３０２は、ビデオフラグメントを生成するためにフラグメント生成ユニット１２１を含む、サーバ１０１、キャプチャ装置１０７、又はクライアント装置１１５であって良い。エンティティ３０４は、合成ビデオを生成するために消費ユニット１２３を含む、サーバ１０１、キャプチャ装置１０７、又はクライアント装置１１５であって良い。エンティティ３０６は、１又は複数のビデオフラグメントをユーザに提示するために消費ユニット１２３を含むキャプチャ装置１０７又はクライアント装置１１５であって良い。一方で、エンティティ３０８は、フラグメント生成ユニット１２１及び消費ユニット１２３の両方を含むデータレポジトリ１０９である。消費ユニット１２３は、フラグメントを受信し受信したフラグメントで自身を更新するデータベースであり得る。フラグメント生成ユニット１２１は、クエリに応答してビデオフラグメントを返す。
【００８６】
追加で、各エンティティ３０２〜３０８は、悪意ある侵入からビデオオブジェクトを保護するために及びビデオオブジェクトのアイデンティティ及びソースを検証するために、データ保護ユニット１２５を含む。図３Ａに示すように、データ保護ユニット１２５は、異なるエンティティの間のインタフェースとして作用する。エンティティの間で送信されるビデオデータ（太線矢印で示される）は、データ保護ユニット１２５を通じて保護され認証される。例えば、エンティティ３０２のフラグメント生成ユニット１２１がビデオフラグメントを生成するとき、エンティティ３０２のデータ保護ユニット１２５は、フラグメントをデータレポジトリ１０９へ送信する前に、認証データ及びビデオ識別子をフラグメントに追加する。ビデオフラグメントを受信することに応答して、データレポジトリ１０９のデータ保護ユニット１２５は、ビデオフラグメントが変更されたか否か、及びソースがエンティティ３０２のフラグメント生成ユニットであるか否かを決定する。
【００８７】
図３Ａの破線ボックスに示されるビデオ処理パイプラインの一部は、更に図３Ｂに詳細に示される。図３Ｂは、１又は複数のビデオオブジェクトが異なる段階においてマークされ保護される、ビデオ処理パイプラインの一実施形態を説明するブロック図を示す。本願明細書に開示の技術の２つの目標は、（１）改竄検出／保護、及び（２）ビデオオブジェクトソース識別、を提供することである。図３Ｂに明示されないが、システム１００の他のコンポーネントと通信するデータ保護ユニット１２５が、これら２つの目標を達成するために使用される。
【００８８】
改竄検出／保護、に関して、図３Ｂにおいて２つのシナリオが考えられる。第１のシナリオでは、データ保護ユニット１２５は、１又は複数のビデオオブジェクトのデータをフラグメント生成ユニット１２１から受信し、３５２において、消費ユニット１２３へデータを送信する前に、各ビデオオブジェクトをデジタル署名又は半脆弱な透かしのいずれか（つまり認証データ）と関連付ける。ビデオオブジェクトは、スマートカメラ又は他のキャプチャ装置のフレーム生成ユニット１２１により生成されたビデオフラグメントを含む。フラグメントは、宛先、例えばデータベースへ送信される前に、先ず改竄保護データに関連付けられる。データベース又は消費ユニット１２３がビデオオブジェクトを受信すると、消費ユニット１２３と通信するデータ保護ユニット１２５は、３５４で、透かしを検出することにより又は署名を確認することにより、ビデオオブジェクトを認証する。ビデオオブジェクトの完全性が決定されると、消費ユニット１２３は、認証されたビデオオブジェクトによりデータベースを更新する。
【００８９】
第２のシナリオでは、クエリがデータベースに提示され、データベースは応答としてフラグメントを生成する。クエリに基づきフラグメントを生成するデータベースは、フラグメント生成ユニット１２１と考えられる。このようなフラグメント又はオブジェクトは、既に第１のシナリオにおいて改竄防止されたので、オブジェクトに関連付けられた署名又は透かしは再使用されて良い。他の実施形態では、新しい署名又は透かしがフラグメントのために生成されて良い。フラグメントが、例えば２つのカスケードクエリの結果として表現される複合クエリを扱うことにより、データベース自体の内部で更に処理されるとき、フラグメント生成ユニット１２１またはデータベースは、データ保護ユニット１２５と通信して動作を実行する必要がない。この状況では、生成部及び消費部の両方が同じエンティティなので、改竄検出ステップは必須ではない。しかしながら、ビデオフラグメントのデータが、遠隔に、又はフラグメント（図示しない）を表示する消費ユニット１２３若しくはフラグメントに基づき合成ビデオを生成する消費ユニット１２３のような外部消費ユニットへ送信される必要がある場合、フラグメント生成ユニット１２１は、データ保護ユニット１２５と通信して、３５６において、改竄検出メカニズムを用いてフラグメントを認証する。
【００９０】
ビデオオブジェクトソース識別に関して、これらのシナリオは図３Ｂにおいて検討される。以下に記載する第３、第４及び第５のシナリオの中で、第３及び第４のシナリオにおけるソース識別動作は、ビデオ処理パイプラインの同じ段階で、つまり図３Ｂのステップ３５２〜３５８で、第１及び第１２のシナリオにおいて実行された改竄保護動作として、実行される。
【００９１】
第３のシナリオでは、スマートカメラのフラグメント生成ユニット１２１により生成されたビデオフラグメントを受信することに応答して、データ保護ユニット１２５は、３５２において、ビデオフラグメントを指紋と関連付け、指紋データベースを更新する。幾つかの実施形態では、データ保護ユニット１２５は、指紋の代わりにロバストな透かしをフラグメントに関連付けて良い。指紋及びロバストな透かしの両方は、次の検証端、例えば図３Ｂのデータベース又は消費ユニット１２３において、フラグメントのソースを決定するためのビデオ識別子として使用される。データ保護ユニット１２５は、フラグメントをデータベースへ送信する前に、フラグメント又はロバストな透かしをフラグメントに追加する。
【００９２】
消費ユニット１２３又はデータベースが指紋に関連付けられたフラグメントを受信すると、消費ユニット１２３のデータ保護ユニット１２５は、受信した指紋に一致する格納された指紋を識別するために、指紋データベースにリンクする。指紋一致に基づき、データ保護ユニット１２５は、受信したビデオフラグメントを格納されたビデオフラグメントと比較し、３５４で、受信したビデオフラグメントのソースを認証する。ビデオ識別子がロバストな透かしである場合、消費ユニット１２３のデータ保護ユニット１２５は、透かしを抽出し、３５４で、透かし情報に基づきフラグメントのソースを認証する。
【００９３】
第４のシナリオでは、クエリがデータベースに提示され、データベースは応答としてフラグメントを生成し、フラグメント生成ユニット１２１を形成する。指紋がフラグメントのビデオ識別子として使用される場合、フラグメントは既に指紋データベース内にあるので、更なる動作が行われる必要がない。しかしながら、透かしが使用される場合、データ保護ユニット１２５は、３５６で、新しい透かしをフラグメントに埋め込み、該フラグメントの新しいソース、つまりデータベースを反映し、新たに更新されたフラグメントを送信する。同様に、上述の第３のシナリオまで、フラグメント生成ユニット１２１と通信するデータ保護ユニット１２５は、また、遠隔又は外部消費ユニット１２３へフラグメントを送信する前に、フラグメントのソースを認証する。
【００９４】
第５のシナリオは、合成ビデオの保護に関する。消費ユニット１２３がフラグメント生成ユニット１２１から受信したフラグメントに基づき合成ビデオを生成すると、データ保護ユニット１２５は、３５８で、改竄保護のために認証データ（例えば、デジタル署名又は脆弱な／半脆弱な透かし）を追加して、新しく生成された合成ビデオが操作又は変更されないようにする。さらに、データ保護ユニット１２５は、また、３５８で合成ビデオが透かしを入れられた又は指紋を付けられたことを保証して、ソースが認証されるようにする。
【００９５】
図４Ａは、ビデオオブジェクトの完全性を保証し及びビデオオブジェクトのソースを識別するために、ビデオオブジェクトに保護データを追加する方法４００の一実施形態を説明するフロー図を示す。上述のように、生成部のデータ生成ユニット１２５は、データ処理モジュール２０１、署名生成部２０３、及び保護モジュール２０９を含んで良い。生成部は、ビデオオブジェクトを送信するソースである。生成部は、サーバ１０１、ビデオオブジェクト、つまりビデオフラグメント又は合成ビデオを生成するためにフラグメント生成部を含む、キャプチャ装置１０７、又はクライアント装置１１５であり得る。４０２で、生成部のデータ処理モジュール２０１は、ビデオオブジェクトを受信する。４０４で、生成部の署名生成部２０３は、ビデオオブジェクトの内容に基づき、デジタル署名を計算する。４０６で、生成部の保護モジュール２０９は、生成部の識別情報をビデオオブジェクトのデジタル署名に追加し、生成部はビデオオブジェクトのソースである。４０８で、生成部の保護モジュール２０９は、秘密鍵を用いてデジタル署名を暗号化する。４１０で、生成部の保護モジュール２０９は、生成部から消費部へ、デジタル署名と一緒にビデオオブジェクトを送信する。
【００９６】
図４Ｂは、ビデオオブジェクトと一緒に送信された保護データに基づき、ビデオオブジェクトを認証する方法４５０の一実施形態を説明するフロー図を示す。上述のように、消費部のデータ生成ユニット１２５は、データ処理モジュール２０１、及び認証モジュール２１１を含んで良い。消費部は、送信宛先又は検証端であり、消費部において、ビデオオブジェクトが送信中に攻撃されたか否かを決定するために、ビデオオブジェクトが検証される。４５２で、消費部のデータ処理モジュール２０１は、暗号化デジタル署名と一緒にビデオオブジェクトを受信する。デジタル署名は、送信前に、生成部により秘密鍵を用いて暗号化される。４５４で、消費部の認証モジュール２１１は、公開鍵を用いて受信したデジタル署名を復号する。公開鍵は、デジタル署名を暗号化するために使用された秘密鍵とペアにされる。復号した署名は、生成部の識別情報及びビデオオブジェクトの内容情報を含む。４５８で、消費部の認証モジュール２１１は、復号したデジタル署名に基づき、ビデオオブジェクトのソースを認証する。
【００９７】
図５は、保護データをビデオオブジェクトに関連付け及び保護データに基づきビデオオブジェクトの内容及びソースを検証する方法５００の実施形態を説明するフロー図を示す。方法５００は、生成部のデータ保護ユニット１２５及び消費部のデータ保護ユニット１２５により実施される。生成部は、消費部へビデオオブジェクトを送信するソースである。消費部は、生成部からビデオオブジェクトを受信する宛先である。
【００９８】
５０２で、生成部のデータ保護モジュール１２５は、ビデオオブジェクトを受信する。５０４で、生成部のデータ保護ユニット１２５は、ビデオオブジェクトに埋め込むために透かしを生成し、透かしは生成部の識別情報を含み、生成部はビデオオブジェクトのソースである。５０６で、生成部のデータ保護ユニット１２５は、生成部から消費部へ、透かしの埋め込まれたビデオオブジェクトを送信する。５０８で、消費部のデータ保護ユニット１２５は、ビデオオブジェクトから透かしを抽出する。５１０で、消費部のデータ保護ユニット１２５は、透かしに含まれる生成部の識別情報に基づき、ビデオオブジェクトのソースを認証する。
【００９９】
図６は、保護データをビデオオブジェクトに関連付け及び保護データに基づきビデオオブジェクトの内容及びソースを検証する方法６００の実施形態を説明するフロー図を示す。方法６００は、生成部のデータ保護ユニット１２５及び消費部のデータ保護ユニット１２５により実施される。生成部は、消費部へビデオオブジェクトを送信するソースである。消費部は、生成部からビデオオブジェクトを受信する宛先である。
【０１００】
６０２で、生成部のデータ保護モジュール１２５は、ビデオオブジェクトを受信する。６０４で、生成部のデータ保護ユニット１２５は、ビデオオブジェクトのための指紋を生成し、６０６で、生成した指紋により指紋データベースを更新する。６０８で、生成部のデータ保護ユニット１２５は、消費部へビデオオブジェクトを送信する。
【０１０１】
６１０で、消費部の認証モジュール２１１は、受信したビデオオブジェクトのために指紋を生成する。６１２で、消費部の認証モジュール２１１は、指紋データベースからビデオオブジェクトに関連付けられた指紋を読み出す。例えば、認証モジュール２１１は、ビデオオブジェクトの識別子に基づき指紋を読み出す。６１４で、消費部の認証モジュール２１１は、指紋データベースから読み出されたビデオオブジェクトに関連付けられた指紋及び受信したビデオオブジェクトのために生成された指紋の比較に基づき、ビデオオブジェクトの内容を認証する。
【０１０２】
保護データをビデオオブジェクトに関連付け及び保護データに基づきビデオオブジェクトの内容及びソースを検証するシステム及び方法が記載された。以上の説明では、説明を目的として、上述の技術の完全な理解を提供するために、多くの詳細事項が説明された。しかしながら、当業者は、実施技術がそのような特定の詳細にかかわらず実施できることを理解するだろう。他の例では、説明を不明瞭にしないために及び理解を容易にするために、構造及び装置がブロック図で示される。例えば、技術は上述の一実施形態では主にソフトウェア及び特定のハードウェアを参照して記載される。しかしながら、本発明は、サービスを提供する任意の周辺装置の部分としてデータ及びコマンドを受信し及び情報を提示できる任意の種類のコンピューティングシステムに適用される。
【０１０３】
本願明細書において「一実施形態」又は「ある実施形態」等のような表現は、実施形態と関連して記載された特定の機能、構造又は特徴が少なくとも１つの実施形態に含まれることを意味する。明細書内の種々の文の中の「一実施形態では」という表現の出現は、必ずしも全て同じ実施形態を参照していない。
【０１０４】
上述の詳細な説明の幾つかの部分は、コンピュータメモリ内のデータビットに対する動作のアルゴリズム及び象徴的表現の観点で提示される。これらのアルゴリズムの説明及び表現は、幾つかの環境では、データ処理技術の当業者により、業務内容を最も効率的に他の当業者に伝えるために用いられる手段である。アルゴリズムは、ここでは及び概して、所望の結果を生じる自己矛盾のないステップシーケンスであると考えられる。ステップは、物理量の物理的操作を必要とするステップである。通常、必ずしも必要ではないが、これらの量は、格納され、転送され、結合され、比較され及びその他の場合には操作され得る電気信号又は磁気信号の形式を取る。基本的に一般的に用いられるという理由で、これらの信号をビット、値、要素、シンボル、文字、語、数値、等として表すことが便利であることが分かっている。
【０１０５】
しかしながら、これらの及び類似の語の全ては、適切な物理量に関連付けられ、これらの量に適用される便宜的ラベルに過ぎない。特に断りのない限り、以下の議論から明らかなように、以下の説明を通じて、「処理」、「計算」、「演算」、「決定」、「表示」、等の語を用いた議論は、コンピュータシステム又は同様の電子コンピューティング装置の動作及び処理を表す。コンピュータシステム又は同様の電子コンピューティング装置は、コンピュータシステムのレジスタ及びメモリ内にある物理（電子）量として表されたデータを操作し、コンピュータシステムのメモリ若しくはレジスタ又は情報記憶、送信又は表示装置等の中の物理量として同様に表される他のデータに変換する。
【０１０６】
本発明は、本願明細書の動作を実行する装置にも関する。この装置は、所要の目的のために特に構成されても良く、又はコンピュータに格納されたコンピュータプログラムにより選択的に起動され又は再構成される汎用目的コンピュータを有しても良い。このようなコンピュータプログラムは、フロッピディスク、光ディスク、ＣＤ−ＲＯＭ及び磁気ディスクを含む任意の種類のディスク、ＲＯＭ（read−only  memory）、ＲＡＭ（random  access  memory）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気若しくは光カード、不揮発性メモリを有するＵＳＢキーを含むフラッシュメモリ、又は電子命令を格納するのに適する任意の種類の媒体のような、各々がコンピュータシステムバスに結合された、しかしこれらに限定されないコンピュータ可読記憶媒体に格納されて良い。
【０１０７】
幾つかの実施形態は、完全なハードウェアの実施形態、完全なソフトウェアの実施形態又はハードウェアとソフトウェア要素の両方を含む実施形態の形式を取り得る。一実施形態は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むがこれらに限定されないソフトウェアで実装されて良い。
【０１０８】
さらに、幾つかの実施形態は、コンピュータ又は任意の命令実行システムにより又はそれと関連して使用するためのプログラムコードを提供するコンピュータにより使用可能な又はコンピュータにより読み取り可能な媒体からアクセス可能なコンピュータプログラムプロダクトの形式を取り得る。この説明の目的のために、コンピュータにより使用可能な又はコンピュータにより読み取り可能な媒体は、命令実行システム、機器又は装置により若しくはそれらと関連して使用するためのプログラムを有し、格納し、通信し、伝達し又は転送することが可能な任意の機器であって良い。
【０１０９】
プログラムコードを格納し及び／又は実行するのに適するデータ処理システムは、システムバスを通じてメモリ要素に直接又は間接に結合される少なくとも１つのプロセッサを有し得る。メモリ要素は、プログラムコードの実際の実行中に用いられるローカルメモリ、大容量記憶装置、及び実行中にコードが大容量記憶装置から読み出されなければならない回数を低減するために少なくとも特定のプログラムコードの一時的記憶を提供するキャッシュメモリを含み得る。
【０１１０】
入力／出力又はＩ／Ｏ装置（キーボード、ディスプレイ、ポインティングデバイス等を含むがこれらに限定されない）は、直接に又は介入するＩ／Ｏ制御部を通じてシステムに結合され得る。
【０１１１】
ネットワークアダプタも、介入する私設若しくは公衆ネットワークを通じてデータ処理システムを他のデータ処理システムに又は遠隔プリンタ若しくは記憶装置に結合するために、システムに結合されて良い。モデム、ケーブルモデム及びEthernetカードは、現在利用可能な種類のネットワークアダプタのうちの少数の例に過ぎない。
【０１１２】
最後に、本願明細書で提示されるアルゴリズム及びディスプレイは、本質的に、任意の特定のコンピュータ又は他の機器にも関連しない。種々の汎用システムが、本願明細書の教示に従ってプログラムと共に用いられて良く、所要の方法ステップを実行するために更に特定の装置を構成することが都合が良いことがあり得る。種々のこれらのシステムの所要の構造は、以下の説明から明らかである。さらに、技術は、任意の特定のプログラミング言語を参照して記載されない。理解されるべきことに、種々のプログラミング言語が、本願明細書に記載された種々の実施形態の教示を実施するために用いられて良い。
【０１１３】
以上の実施形態の説明は、説明及び開設を目的としている。上述の記載は、網羅的であること又は本願明細書を開示の特定の形式に限定することを意図しない。上述の教示に照らして多くの修正及び変形が可能である。実施形態の範囲はこの詳細な説明に限定されず、本願の特許請求の範囲により定められる。当業者により理解されるように、種々の例が、本発明の精神又は基本的特徴から逸脱することなく他の特定の形式で実施できる。同様に、モジュール、ルーチン、特徴、属性、方法及び他の態様の特定の名称及び区分は、必須でも重要でもなく、明細書及びその特徴を実施するメカニズムは、異なる名称、区分及び／又はフォーマットを有して良い。さらに、当業者に明らかなように、本願明細書のモジュール、ルーチン、特徴、属性、方法は、ソフトウェア、ファームウェア、又それらの任意の組合せで実装できる。また、本願明細書の例えばモジュールであるコンポーネントがソフトウェアとして実装されるときは、コンポーネントは、スタンドアロンプログラム、大規模プログラムの一部、複数の別個のプログラム、静的又は動的リンクライブラリ、カーネルローダブルモジュール、デバイスドライバとして、及び／又はコンピュータプログラミングの当業者に現在知られている若しくは将来知られる如何なる他の方法でも実装され得る。さらに、本願明細書は、特定プログラミング言語、又は特定のオペレーティングシステム若しくは環境での実施形態に限定されない。したがって、本開示は、限定ではなく、本願明細書の範囲の説明を目的とする。
【符号の説明】
【０１１４】
１００  システム
１０１  サーバ
１０３  ビデオ処理アプリケーション
１０５  ネットワーク
１０７  キャプチャ装置
１０９  データレポジトリ
１１５ａ．．．ｎ  クライアント装置
【図１Ａ】
2019161643.tif 000003
【図１Ｂ】
2019161643.tif 000004
【図２】
2019161643.tif 000005
【図３Ａ】
2019161643.tif 000006
【図３Ｂ】
2019161643.tif 000007
【図４Ａ】
2019161643.tif 000008
【図４Ｂ】
2019161643.tif 000009
【図５】
2019161643.tif 000010
【図６】
2019161643.tif 000011