(58)【調査した分野】(Int.Cl.,DB名)
前記メッセージが、前記ビデオ通話に参加しているコンピューティングデバイス、子孫コンピューティングデバイス、およびサーバのうちの少なくとも1つに送信される、請求項1に記載の方法。
前記生成された画像特性データが、顔の特徴、物理的な測定結果、性別、人種、体重、衣服の属性、位置、体の寸法、髪の色、刺青、およびグループとの関連のうちの少なくとも1つを記述するメタデータ情報を含む、請求項1に記載の方法。
前記生成された画像特性データが前記ユーザのコンピューティングデバイスの前記第1の連絡先データベース内の前記データと一致しないと判定したことに応答して、前記未知の第三者に関する前記情報を要求するメッセージを送信するステップが、前記別のデバイスの前記第2の連絡先データベースからの連絡先情報データを要求するメッセージを送信するステップを含み、
前記生成された画像特性データが前記別のデバイスの前記第2の連絡先データベース内の前記データと一致するかどうかを判定するステップが、前記生成された画像特性データが前記応答メッセージにおいて受信される前記データと一致するかどうかを判定するステップを含み、
前記生成された画像特性データが前記第2の連絡先データベースからのデータと一致すると判定されたことに応答して、前記未知の第三者に対応する連絡先情報を取得するステップは、前記応答メッセージから前記連絡先情報を取得するステップを含む、
請求項1に記載の方法。
前記生成された画像特性データが前記ユーザのコンピューティングデバイス内の前記第1の連絡先データベース内の前記データと一致しないと判定したことに応答して、前記生成された画像特性データを含み前記未知の第三者に関する前記情報を要求するメッセージを、前記ビデオ通話に参加していない個人のコンピューティングデバイスに送信するステップをさらに含む、請求項1に記載の方法。
前記生成された画像特性データが前記ビデオ通話に参加している前記複数のデバイス中の前記他のコンピューティングデバイスのいずれの連絡先データベースからのデータとも一致しないと判定されたことに応答して、前記ビデオ通話に参加している前記複数のデバイス中の前記コンピューティングデバイスの連絡先データベース内で示される子孫コンピューティングデバイスからの前記未知の第三者に関する前記情報を要求するメッセージを、前記ビデオ通話に参加している前記複数のデバイス中のすべてのコンピューティングデバイスに送信するステップであって、前記子孫コンピューティングデバイスが、前記ビデオ通話に参加している前記複数のデバイス中の前記コンピューティングデバイスに対する近接度の順序で、前記ビデオ通話に参加している前記複数のデバイス中の前記コンピューティングデバイスによって連絡される、ステップと、
前記子孫コンピューティングデバイスの連絡先データベース内のデータに対応する追加の応答メッセージを受信するステップと、
前記受信された追加の応答メッセージに基づいて、前記生成された画像特性データが前記子孫コンピューティングデバイスの前記連絡先データベース内の前記データと一致するかどうかを判定するステップと、
前記生成された画像特性データが前記子孫コンピューティングデバイスの少なくとも1つの連絡先データベースからのデータと一致すると判定されたことに応答して、前記未知の第三者に対応する前記連絡先情報を取得するステップとをさらに含む、請求項13に記載の方法。
前記生成された画像特性データが前記ユーザのコンピューティングデバイス内の第1の連絡先データベース内のデータと一致するかどうかを判定するステップが、前記生成された画像特性データを、前記ユーザのコンピューティングデバイス上の前記第1の連絡先データベース内の画像と比較するステップを含む、請求項1に記載の方法。
前記メッセージが、前記ビデオ通話に参加している別のコンピューティングデバイス、子孫コンピューティングデバイス、およびサーバのうちの少なくとも1つに送信される、請求項17に記載のユーザのコンピューティングデバイス。
前記生成された画像特性データが、顔の特徴、物理的な測定結果、性別、人種、体重、衣服の属性、位置、体の寸法、髪の色、刺青、およびグループとの関連のうちの少なくとも1つを記述するメタデータ情報を含む、請求項17に記載のユーザのコンピューティングデバイス。
前記生成された画像特性データが前記ユーザのコンピューティングデバイスの前記第1の連絡先データベース内の前記データと一致しないと判定したことに応答して、前記未知の第三者に関する前記情報を要求するメッセージを送信するための手段が、前記別のデバイスの前記第2の連絡先データベースからの連絡先情報データを要求するメッセージを送信するための手段を含み、
前記生成された画像特性データが前記別のデバイスの前記第2の連絡先データベース内の前記データと一致するかどうかを判定するための手段が、前記生成された画像特性データが前記応答メッセージにおいて受信される前記データと一致するかどうかを判定するための手段を含み、
前記生成された画像特性データが前記第2の連絡先データベースからのデータと一致すると判定されたことに応答して、前記未知の第三者に対応する連絡先情報を取得するための手段は、前記応答メッセージから前記連絡先情報を取得するための手段を含む、
請求項17に記載のユーザのコンピューティングデバイス。
前記生成された画像特性データが前記ユーザのコンピューティングデバイス内の前記第1の連絡先データベース内の前記データと一致しないと判定したことに応答して、前記生成された画像特性データを含み前記未知の第三者に関する前記情報を要求するメッセージを、前記ビデオ通話に参加していない個人のコンピューティングデバイスに送信するための手段をさらに含む、請求項17に記載のユーザのコンピューティングデバイス。
前記生成された画像特性データが前記ビデオ通話に参加している前記複数のデバイス中の前記他のコンピューティングデバイスのいずれの連絡先データベースからのデータとも一致しないと判定されたことに応答して、前記ビデオ通話に参加している前記複数のデバイス中の前記コンピューティングデバイスの連絡先データベース内で示される子孫コンピューティングデバイスからの前記未知の第三者に関する前記情報を要求するメッセージを、前記ビデオ通話に参加している前記複数のデバイス中のすべてのコンピューティングデバイスに送信するための手段であって、前記子孫コンピューティングデバイスが、前記ビデオ通話に参加している前記複数のデバイス中の前記コンピューティングデバイスに対する近接度の順序で、前記ビデオ通話に参加している前記複数のデバイス中の前記コンピューティングデバイスによって連絡される、手段と、
前記子孫コンピューティングデバイスの連絡先データベース内のデータに対応する追加の応答メッセージを受信するための手段と、
前記受信された追加の応答メッセージに基づいて、前記生成された画像特性データが前記子孫コンピューティングデバイスの前記連絡先データベース内の前記データと一致するかどうかを判定するための手段と、
前記生成された画像特性データが前記子孫コンピューティングデバイスの少なくとも1つの連絡先データベースからのデータと一致すると判定されたことに応答して、前記未知の第三者に対応する前記連絡先情報を取得するための手段とをさらに含む、請求項29に記載のユーザのコンピューティングデバイス。
前記生成された画像特性データが前記ユーザのコンピューティングデバイス内の第1の連絡先データベース内のデータと一致するかどうかを判定するための手段が、前記生成された画像特性データを、前記ユーザのコンピューティングデバイス上の前記第1の連絡先データベース内の画像と比較するための手段を含む、請求項17に記載のユーザのコンピューティングデバイス。
前記メッセージが、前記ビデオ通話に参加している別のコンピューティングデバイス、子孫コンピューティングデバイス、およびサーバのうちの少なくとも1つに送信されるように、動作を実行するように、前記プロセッサがプロセッサ実行可能命令によって構成される、請求項33に記載のユーザのコンピューティングデバイス。
前記生成された画像特性データが、顔の特徴、物理的な測定結果、性別、人種、体重、衣服の属性、位置、体の寸法、髪の色、刺青、およびグループとの関連のうちの少なくとも1つを記述するメタデータ情報を含むように、動作を実行するように、前記プロセッサがプロセッサ実行可能命令によって構成される、請求項33に記載のユーザのコンピューティングデバイス。
前記生成された画像特性データが前記ユーザのコンピューティングデバイスの前記第1の連絡先データベース内の前記データと一致しないと判定したことに応答して、前記未知の第三者に関する前記情報を要求するメッセージを送信するステップが、前記別のデバイスの前記第2の連絡先データベースからの連絡先情報データを要求するメッセージを送信するステップを含み、
前記生成された画像特性データが前記別のデバイスの前記第2の連絡先データベース内の前記データと一致するかどうかを判定するステップが、前記生成された画像特性データが前記応答メッセージにおいて受信される前記データと一致するかどうかを判定するステップを含み、
前記生成された画像特性データが前記第2の連絡先データベースからのデータと一致すると判定されたことに応答して、前記未知の第三者に対応する連絡先情報を取得するステップは、前記応答メッセージから前記連絡先情報を取得するステップを含む、
ように、動作を実行するように、前記プロセッサがプロセッサ実行可能命令によって構成される、請求項33に記載のユーザのコンピューティングデバイス。
前記生成された画像特性データが前記メモリに記憶されている前記第1の連絡先データベース内の前記データと一致しないと判定したことに応答して、前記生成された画像特性データを含み前記未知の第三者に関する前記情報を要求するメッセージを、前記ビデオ通話に参加していない個人のコンピューティングデバイスに送信するステップをさらに含む動作を実行するように、前記プロセッサがプロセッサ実行可能命令によって構成される、請求項33に記載のユーザのコンピューティングデバイス。
前記生成された画像特性データが前記ビデオ通話に参加している前記複数のデバイス中の前記他のコンピューティングデバイスのいずれの連絡先データベースからのデータとも一致しないと判定されたことに応答して、前記ビデオ通話に参加している前記複数のデバイス中の前記コンピューティングデバイスの連絡先データベース内で示される子孫コンピューティングデバイスからの前記未知の第三者に関する前記情報を要求するメッセージを、前記ビデオ通話に参加している前記複数のデバイス中のすべてのコンピューティングデバイスに送信するステップであって、前記子孫コンピューティングデバイスが、前記ビデオ通話に参加している前記複数のデバイス中の前記コンピューティングデバイスに対する近接度の順序で、前記ビデオ通話に参加している前記複数のデバイス中の前記コンピューティングデバイスによって連絡される、ステップと、
前記子孫コンピューティングデバイスの連絡先データベース内のデータに対応する追加の応答メッセージを受信するステップと、
前記受信された追加の応答メッセージに基づいて、前記生成された画像特性データが前記子孫コンピューティングデバイスの前記連絡先データベース内の前記データと一致するかどうかを判定するステップと、
前記生成された画像特性データが前記子孫コンピューティングデバイスの少なくとも1つの連絡先データベースからのデータと一致すると判定されたことに応答して、前記未知の第三者に対応する前記連絡先情報を取得するステップとをさらに含む動作を実行するように、前記プロセッサがプロセッサ実行可能命令によって構成される、請求項45に記載のユーザのコンピューティングデバイス。
前記生成された画像特性データが前記メモリに格納された第1の連絡先データベース内のデータと一致するかどうかを判定するステップが、前記生成された画像特性データを、前記メモリに格納された前記第1の連絡先データベース内の画像と比較するステップを含むように、動作を実行するように、前記プロセッサがプロセッサ実行可能命令によって構成される、請求項33に記載のユーザのコンピューティングデバイス。
ユーザのコンピューティングデバイスのプロセッサに動作を実施させるように構成されるプロセッサ実行可能命令を記憶した非一時的プロセッサ可読記憶媒体であって、前記動作が、
ビデオ通話内の未知の第三者の画像に画像認識技法を適用して、前記ユーザのコンピューティングデバイス内で画像特性データを生成するステップと、
前記生成された画像特性データが前記ユーザのコンピューティングデバイス内の第1の連絡先データベース内のデータと一致するかどうかを判定するステップであって、前記第1の連絡先データベース内の前記データが少なくとも第1の画像を含む、ステップと、
前記生成された画像特性データが前記ユーザのコンピューティングデバイスの前記第1の連絡先データベース内の前記データと一致しないと判定したことに応答して、前記未知の第三者に関する情報を要求するメッセージを送信するステップと、
別のデバイスの第2の連絡先データベース内のデータに対応する応答メッセージを受信するステップであって、前記第2の連絡先データベース内の前記データが少なくとも第2の画像を含む、ステップと、
前記受信された応答メッセージに基づいて、前記生成された画像特性データが前記別のデバイスの前記第2の連絡先データベース内の前記データと一致するかどうかを判定するステップと、
前記生成された画像特性データが前記第1の連絡先データベースおよび前記第2の連絡先データベースのうち少なくとも1つからのデータと一致すると判定されたことに応答して、前記応答メッセージから前記未知の第三者に対応する連絡先情報を取得するステップと、
前記取得された連絡先情報に関連付けられたコンピューティングデバイスに、前記取得された連絡先情報に関連付けられた前記コンピューティングデバイスの位置情報を要求する身元確認メッセージを送信するステップと、
前記身元確認メッセージの送信に応答して、前記ユーザのコンピューティングデバイスにおいて、前記取得された連絡先情報に関連付けられた前記コンピューティングデバイスの位置情報を示すメッセージを受信するステップと、
前記取得された連絡先情報に関連付けられた前記コンピューティングデバイスが、前記ビデオ通話に参加するデバイスに近いかどうかを前記位置情報に基づいて判定するステップと、
前記取得された連絡先情報に関連付けられた前記コンピューティングデバイスが、前記ビデオ通話に参加するデバイスに近いと判定したことに応答して、前記未知の第三者に対応する前記取得された連絡先情報を使用するステップと
を含む、非一時的プロセッサ可読記憶媒体。
前記メッセージが、前記ビデオ通話に参加している別のコンピューティングデバイス、子孫コンピューティングデバイス、およびサーバのうちの少なくとも1つに送信される、請求項49に記載の非一時的プロセッサ可読記憶媒体。
前記生成された画像特性データが、顔の特徴、物理的な測定結果、性別、人種、体重、衣服の属性、位置、体の寸法、髪の色、刺青、およびグループとの関連のうちの少なくとも1つを記述するメタデータ情報を含む、請求項49に記載の非一時的プロセッサ可読記憶媒体。
前記生成された画像特性データが前記ユーザのコンピューティングデバイスの前記第1の連絡先データベース内の前記データと一致しないと判定したことに応答して、前記未知の第三者に関する前記情報を要求するメッセージを送信するステップが、前記別のデバイスの前記第2の連絡先データベースからの連絡先情報データを要求するメッセージを送信するステップを含み、
前記生成された画像特性データが前記別のデバイスの前記第2の連絡先データベース内の前記データと一致するかどうかを判定するステップが、前記生成された画像特性データが前記応答メッセージにおいて受信される前記データと一致するかどうかを判定するステップを含み、
前記生成された画像特性データが前記第2の連絡先データベースからのデータと一致すると判定されたことに応答して、前記未知の第三者に対応する連絡先情報を取得するステップは、前記応答メッセージから前記連絡先情報を取得するステップを含む、
ように、前記プロセッサに動作を実行させるように、前記記憶されたプロセッサ実行可能命令が構成される、請求項49に記載の非一時的プロセッサ可読記憶媒体。
前記生成された画像特性データが前記ユーザのコンピューティングデバイス内の前記第1の連絡先データベース内の前記データと一致しないと判定したことに応答して、前記生成された画像特性データを含み前記未知の第三者に関する前記情報を要求するメッセージを、前記ビデオ通話に参加していない個人のコンピューティングデバイスに送信するステップをさらに含む動作を前記プロセッサに実行させるように、前記記憶されたプロセッサ実行可能命令が構成される、請求項49に記載の非一時的プロセッサ可読記憶媒体。
前記生成された画像特性データが前記ビデオ通話に参加している前記複数のデバイス中の前記他のコンピューティングデバイスのいずれの連絡先データベースからのデータとも一致しないと判定されたことに応答して、前記ビデオ通話に参加している前記複数のデバイス中の前記コンピューティングデバイスの連絡先データベース内で示される子孫コンピューティングデバイスからの前記未知の第三者に関する前記情報を要求するメッセージを、前記ビデオ通話に参加している前記複数のデバイス中のすべてのコンピューティングデバイスに送信するステップであって、前記子孫コンピューティングデバイスが、前記ビデオ通話に参加している前記複数のデバイス中の前記コンピューティングデバイスに対する近接度の順序で、前記ビデオ通話に参加している前記複数のデバイス中の前記コンピューティングデバイスによって連絡される、ステップと、
前記子孫コンピューティングデバイスの連絡先データベース内のデータに対応する追加の応答メッセージを受信するステップと、
前記受信された追加の応答メッセージに基づいて、前記生成された画像特性データが前記子孫コンピューティングデバイスの前記連絡先データベース内の前記データと一致するかどうかを判定するステップと、
前記生成された画像特性データが前記子孫コンピューティングデバイスの少なくとも1つの連絡先データベースからのデータと一致すると判定されたことに応答して、前記未知の第三者に対応する前記連絡先情報を取得するステップとをさらに含む動作を前記プロセッサに実行させるように、前記記憶されたプロセッサ実行可能命令が構成される、請求項61に記載の非一時的プロセッサ可読記憶媒体。
前記生成された画像特性データが前記ユーザのコンピューティングデバイス内の第1の連絡先データベース内のデータと一致するかどうかを判定するステップが、前記生成された画像特性データを前記ユーザのコンピューティングデバイス上の前記第1の連絡先データベース内の画像と比較するステップを含むように、前記プロセッサに動作を実行させるように、前記記憶されたプロセッサ実行可能命令が構成される、請求項49に記載の非一時的プロセッサ可読記憶媒体。
前記生成された画像特性データが、顔の特徴、物理的な測定結果、性別、人種、体重、衣服の属性、位置、体の寸法、髪の色、刺青、およびグループとの関連のうちの少なくとも1つを記述するメタデータ情報を含む、請求項65に記載のシステム。
前記受信された画像特性データが前記第第2の連絡先データベース内の前記データと一致するかどうかを判定するステップが、前記受信された画像特性データを第2の連絡先データベース内の画像と比較するステップを含むように、動作を実行するように、前記第2のプロセッサがプロセッサ実行可能命令によって構成される、請求項69に記載のシステム。
前記受信された画像特性データが前記第2の連絡先データベース内の前記データと一致するかどうかを判定するステップが、前記受信されたメッセージ内のオーディオデータが前記第2の連絡先データベース内のオーディオデータと一致するかどうかを判定するステップを含むように、動作を実行するように、前記第2のプロセッサがプロセッサ実行可能命令によって構成される、請求項69に記載のシステム。
前記生成された画像特性データが前記第1のコンピューティングデバイスの前記第1の連絡先データベース内の前記データと一致しないと判定したことに応答して、前記未知の第三者に関する前記情報を要求するメッセージを、前記第1の送受信機を介して前記第2のコンピューティングデバイスに送信するステップが、
前記第2のコンピューティングデバイスの前記第2の連絡先データベースからの連絡先情報データを要求する前記メッセージを、前記第1の送受信機を介して前記第2のコンピューティングデバイスに送信するステップを含むように、動作を実行するように、前記第1のプロセッサがプロセッサ実行可能命令によって構成され、
前記受信された応答メッセージに基づいて、前記生成された画像特性データが前記第2のコンピューティングデバイスの前記第2の連絡先データベース内の前記データと一致するかどうかを判定するステップが、前記生成された画像特性データが前記応答メッセージで受信された前記データと一致するかどうかを判定するステップを含むように、動作を実行するように、前記第1のプロセッサがプロセッサ実行可能命令によって構成され、
前記生成された画像特性データが前記第1の連絡先データベースと前記第2の連絡先データベースの少なくとも1つからのデータと一致すると判定されたことに応答して、前記未知の第三者に対応する連絡先情報を取得するステップが、前記応答メッセージから前記連絡先情報を取得するステップを含むように、動作を実行するように、前記第1のプロセッサがプロセッサ実行可能命令によって構成され、
前記第2の連絡先データベース内の前記データに対応する前記応答メッセージを、前記第2の送受信機を介して前記第1のコンピューティングデバイスに送信するステップが、前記第2の連絡先データベースの前記データを含む前記応答メッセージを、前記第2の送受信機を介して前記第1のコンピューティングデバイスに送信するステップを含むように、動作を実行するように、前記第2のプロセッサがプロセッサ実行可能命令によって構成される、請求項65に記載のシステム。
前記生成された画像特性データが前記第1のコンピューティングデバイス内の第1の連絡先データベース内のデータと一致するかどうかを判定するステップが、前記生成された画像特性データを前記第1のコンピューティングデバイス上の前記第1の連絡先データベース内の画像と比較するステップを含むように、動作を実行するように、前記第1のプロセッサがプロセッサ実行可能命令によって構成される、請求項65に記載のシステム。
【発明を実施するための形態】
【0010】
様々な実施形態が添付の図面を参照して詳細に説明される。可能な場合には必ず、同じ参照番号は、図面全体にわたって同じまたは同様の部分を指すために使用される。具体的な例および実装形態に対して行われる言及は説明のためであり、本発明の範囲または本特許請求の範囲を限定するものではない。
【0011】
「例示的」という語は、本明細書では「例、実例、または例示として機能する」ことを意味するように使用される。本明細書で「例示的」として説明されるいかなる実装形態も、必ずしも他の実装形態よりも好ましいか、または有利であると解釈されるべきではない。
【0012】
「コンピューティングデバイス」という用語は一般に、パーソナルコンピュータ、携帯電話、スマートフォン、携帯情報端末(PDA)、ラップトップコンピュータ、タブレットコンピュータ、スマートブック、パームトップコンピュータ、ワイヤレス電子メール受信機、マルチメディアインターネット対応携帯電話、および、ワイヤレスデータ送信および/または有線データ送信を送信および/または受信し、ローカルまたはリモートのデータベース構造にアクセスすることが少なくとも可能で、ビデオ通話をサポートするように構成される、プログラム可能プロセッサ、メモリ、および回路を含む同様の個人用電子デバイスの1つまたはすべてを含む、様々な実施形態の動作を実行するように構成された任意のコンピューティングデバイスを指すために使用される。
【0013】
本開示では、「参加者」という用語は、ビデオ通話に関するデータを送信および/または受信することを含む、ビデオ通信の交換に参加する人を指すために使用される。たとえば、参加者は、グループビデオ通話に能動的に関与する人のうちのいずれでもあり得る。ビデオ通話に関与するすべての参加者は、互いに知られていることがある(たとえば、各参加者は他の参加者の身元特定情報を有し得る)。「ユーザ」という用語は、ビデオ通話のビデオ画像中に現れる非参加者の連絡先情報を特定し取得するための手順を開始する(または生じさせる)ビデオ通話の参加者を指すために使用される。「未知の第三者」という用語は、参加者ではなくユーザにより知られていない、ビデオ通話のビデオ画像中に現れる人を指すために使用される。未知の第三者は、確立されたビデオ通話において知られるようになりビデオ通話に関与し得るが、一貫性のために、ユーザに知られるようになった後でも、引き続き第三者と呼ばれ得る。
【0014】
実施形態は、ユーザ、ビデオ通話の他の参加者、および第三者と関連付けられるコンピューティングデバイスで実施される処理に関与するので、本明細書でのコンピューティングデバイスへの言及では、明瞭にするために、特定の1人の個人または特定のタイプの個人とともにデバイスを特定し得る。したがって、「ユーザコンピューティングデバイス」、「ユーザのコンピューティングデバイス」、および「第1のコンピューティングデバイス」という用語は、ビデオ通話のビデオ画像中に現れる非参加者の連絡先情報を特定し取得するための手順を開始する(または生じさせる)ビデオ通話の参加者によって使用されているコンピューティングデバイスを指す。同様に、「参加者のコンピューティングデバイス」という用語は、ビデオ通話の参加者によって使用されているコンピューティングデバイスを指し、「第三者のコンピューティングデバイス」という用語は、第三者と関連付けられるコンピューティングデバイスを指す。
【0015】
様々な実施形態は、ビデオ通話のビデオ画像中に現れる未知の第三者の連絡先情報を発見する、非効率な人による処理を解決する方法を提供する。ユーザのコンピューティングデバイスが、顔認識データおよびインテリジェントなデータベースの検索に基づいて未知の第三者を自動的に特定するのを可能にすることによって、ユーザのコンピューティングデバイスは自動的に、第三者の連絡先情報を電話帳または連絡先データベースに追加し、ビデオ通話への第三者の追加を可能にして、かつ/またはメッセージを第三者に送信することができる。
【0016】
ビデオ通話(またはビデオ会話)は、2つ以上の位置にいる2人以上の参加者を伴い得る。たとえば、グループビデオ通話は、オフィスビルの反対側、別の建物、異なる国などに位置する人々を含み得る。各参加者は、ビデオデータを撮影し、表示し、交換することが可能なコンピューティングデバイス、たとえば、スマートフォン、ラップトップコンピュータ、またはタブレットコンピューティングデバイスを利用することによって、ビデオ通話に加わることができる。ある実施形態では、コンピューティングデバイスは、ネットワークデータリンクを通じてリアルタイムのビデオストリーミング通信を確立する、一般的なメッセージングアプリケーション(または「アプリ」)を使用して、ビデオ通話において接続することができる。
【0017】
ビデオ通話が進行するにつれて、ユーザは、参加者のコンピューティングデバイスから受信されユーザのコンピューティングデバイスによってレンダリングされるビデオ通話画像において、未知の第三者を見ることがある。たとえば、ユーザは、現在のビデオ通話の参加者以外のある個人が長椅子に座ったことを、ストリーミングビデオフィード内で見ることがある。ユーザがビデオ通話画像内の未知の第三者の画像を選択したことを示すユーザ入力を、ユーザのコンピューティングデバイスが検出すると、ユーザのコンピューティングデバイスは、身元特定動作を開始することができる。たとえば、ユーザのコンピューティングデバイスは、タッチスクリーンディスプレイに表示される未知の第三者の画像をユーザがタップしたことに応答して、身元特定ルーチンを開始することができる。ユーザのコンピューティングデバイスは、選択物を画像ファイルとして独立させ、選択された画像に対して顔認識または他の画像認識の技法またはルーチンを実行して、連絡先情報データベースを検索する際に使用され得る、顔特性データまたは他の画像特性データ(「顔/他の特性データ」と本明細書では呼ばれる)を生成することができる。ある実施形態では、ユーザのコンピューティングデバイスは、身元特定ルーチンを補強するための、生成された顔/他の特性データを伴う追加の情報を含み得る。たとえば、ユーザのコンピューティングデバイスは、衣服の上の紋章などの第三者の固有の特性を検出し、固有の特性を記述し固有の特性に基づく検索パラメータを表現するメタデータを生成することができる。
【0018】
未知の第三者の画像およびビデオはまた、コンピューティングデバイスのカメラでユーザが個人の写真またはビデオを撮影することによって、直接取得され得る。そのような直接の画像およびオーディオデータは次いで、ビデオ通話から得られた画像と同様の方式で、様々な実施形態において処理され得る。
【0019】
ユーザのコンピューティングデバイスは、顔認識分析からの生成された顔特性データを使用して、ユーザのコンピューティングデバイスに記憶されている情報内で同様のデータを発見することができる。そのような記憶されている情報の例は、「電話帳」、または連絡先身元特定情報(たとえば、名前、住所、電話番号、電子メールアドレス、写真、顔データなど)を含む任意の他のデータベースであり得る。記憶されている情報はまた、ネットワークに接続された機械のIPアドレスなどの、様々な連絡先と関連付けられるデバイスを特定または表現する情報を含み得る。ユーザのコンピューティングデバイスは、記憶されている情報に対する検索動作を実行し、連絡先の記憶されている顔データ(または画像)を生成された顔/他の特性データと比較することができる。たとえば、ユーザのコンピューティングデバイスは、顔認識ルーチンからの生成された顔/他の特性データを、スマートフォンの電話帳と関連付けられるデジタル写真と比較することができる。ユーザのコンピューティングデバイスが一致を発見すると、第三者の身元(および連絡先情報)が、たとえばその第三者を進行中のビデオ通話に加えることによって、特定された個人への連絡のためにユーザに提供され得る。
【0020】
記憶されている情報に一致がない場合、ユーザのコンピューティングデバイスは、生成された顔/他の特性データを、さらなる検索のために他の情報源に送信することができる。ユーザのコンピューティングデバイスは、ビデオ通話に現れる未知の第三者に対する参加者の近接度に基づいて、検索を続けることができる。たとえば、ユーザのコンピューティングデバイスはまず、顔/他の特性データを、未知の第三者の画像を撮影した参加者のコンピューティングデバイスに送信することができる。近接度は、未知の第三者に対する検索を迅速に処理するのに重要な変数であり得る。それは、未知の第三者の近くにいるビデオ通話の参加者は、その第三者との関係またはその第三者についての知識を有する可能性があるからである。たとえば、未知の第三者および参加者が同じ職場または部門の同僚であるので、未知の第三者が参加者のコンピューティングデバイスの近くにいる(または「同じ場所にいる」)ことがある。
【0021】
生成された顔/他の特性データを受信する各参加者のコンピューティングデバイスは、それぞれのローカルの連絡先データベースに記憶されている情報に対して同じ分析/比較を実行して、一致があるかどうかを判定することができる。一致する連絡先が特定される場合、連絡先の身元および連絡先情報(たとえば、IPアドレス、電話番号など)がユーザのコンピューティングデバイスに送信され得る。一致が発見されない場合、各参加者のコンピューティングデバイスは、生成された顔/他の特性データを、他のコンピューティングデバイスへと、特に、本明細書では「子孫コンピューティングデバイス」と呼ばれる、各々のそれぞれの参加者のコンピューティングデバイス内の記憶されている連絡先情報からその連絡先情報が得られるデバイスへと、送信することができる。このようにして、検索処理は、一致が発見されるまで、反復的に無数のデバイスへと広がり得る。
【0022】
いずれのコンピューティングデバイスが未知の第三者に対する一致を特定した場合でも、そのコンピューティングデバイスは、連絡先情報を発信側のユーザのコンピューティングデバイスに報告することができ、発信側のユーザのコンピューティングデバイスは、その連絡先情報を使用して、その第三者のデバイスに通信を送ることができる。ユーザのコンピューティングデバイスは、特定された第三者の電子メールアドレスに電子メールを、第三者の携帯電話番号にSMSテキストメッセージを、または、一般的なアプリケーションを介した別のメッセージまたは信号(たとえば、Facebook投稿、Skypeメッセージ、AOLインスタントメッセージなど)を送信することができる。ユーザのコンピューティングデバイスによって送信される通信は、第三者のデバイスがどのように現在のビデオ通話に入ることができるかに関する情報を含み得る。たとえば、第三者のデバイスは、選択されると第三者のデバイスをグループビデオ通話に接続し得るURLアドレスリンクを伴う、電子メールまたはSMSを受信することができる。別の例として、第三者のデバイスは、ユーザのコンピューティングデバイスからのチャット要求を受信することができる。別の実施形態では、ユーザのコンピューティングデバイスは、グループビデオ通話を制御するサーバに命令を送信して、新たに特定された第三者を追加することができる。ビデオ通話がピアツーピア接続を通じたものである場合、ユーザのコンピューティングデバイスは、第三者のデバイスを含むグループ通信呼を確立するようにピアデバイス(すなわち、参加者のコンピューティングデバイス)に求める呼を、ピアデバイスに送信することができる。
【0023】
ある実施形態では、ユーザのコンピューティングデバイスは、生成された顔/他の特性データとの一致を見つけるために他の情報源に問い合わせることができる。たとえば、ユーザのコンピューティングデバイスは、生成された顔/他の特性データをソーシャルネットワーキングサービス(たとえば、Facebook(登録商標)、LinkedIn(登録商標)など)に送信することができ、ソーシャルネットワーキングサービスは、このデータをリモートデータベースの情報と比較することができる。ユーザのコンピューティングデバイスはまた、電話帳情報をスキャンする検索サービスにオプトインしている可能性のあるローカルネットワーク(たとえば、WiFiネットワーク、ローカルのピアツーピアネットワークなど)上のデバイスへと、検索を広げることができる。たとえば、ユーザのコンピューティングデバイスは、企業(または雇主)の略歴データベースに問い合わせて、ビデオ通話の参加者への近接度とは無関係に、生成された顔/他の特性データを従業員およびスタッフと比較することができる。
【0024】
別の実施形態では、ユーザのコンピューティングデバイスは自動的に、見ることができるビデオフィードに入るすべての第三者の個人に対して、顔認識を実行し、身元特定ルーチンを実行することができる。たとえば、個人が参加者のコンピューティングデバイスのビデオカメラの視野の中を歩く(たとえば、第三者が参加者の後ろを歩く)とき、ユーザのコンピューティングデバイスは自動的に、画像の中に顔があることを検出し、顔認識分析および電話帳分析に基づいて、その個人の身元を特定することができる。ある実施形態では、ユーザのコンピューティングデバイスは、ビデオフィードで見ることができる第三者の個人の動的なリストをユーザにレンダリングして、または別様に提示することができ、ユーザは単に、そのリストから、第三者のレンダリングされた名前を選択して、対応する第三者をビデオ会議セッションへと参加させることを要求できる。
【0025】
様々な実施形態では、任意の時間に、連絡先または未知の第三者の、新たな、代替の、またはより良好な画像がユーザのコンピューティングデバイスによって得られると、生成された顔/他の特性データは更新されてよく、様々な顔データ比較動作が再開されてよい。たとえば、連絡先のより鮮明な画像を提供するフォトギャラリーまたはソーシャルメディアウェブサイトの中で画像が発見されると、ユーザのコンピューティングデバイスは、連絡先と生成された顔/他の特性データとの顔データ比較を再開することができる(すなわち、新たな画像特性データが生成され得る)。加えて、様々な方法は周期的であってよく、より厳しい許容誤差(または許容範囲)および閾値で、顔データ比較を継続的に実行する。たとえば、連絡先データベースの検索を完全に実行し、一致する可能性のある多数の連絡先を発見した後で、ユーザのコンピューティングデバイスは、同様の顔データ/特徴を判定するためのより厳しい基準を使用して、新たな検索を開始することができる。様々な実施形態の後続の実行が、ユーザのコンピューティングデバイス、および他の関連するコンピューティングデバイス(たとえば、参加者のモバイルデバイス、子孫コンピューティングデバイスなど)に記憶されている連絡先のサブセットに対して、これらのデバイスによって実行され得る。たとえば、参加者のコンピューティングデバイスに記憶されている連絡先の顔データと、顔/他の特性データとの後続の比較は、未知の第三者と一致する確率がある範囲内にあると以前に判定された連絡先のみを含み得る。
【0026】
加えて、実施形態の方法が終了し、一致する可能性が高いいくつかの連絡先をユーザのコンピューティングデバイスに提供する場合、ユーザのコンピューティングデバイスは、一致する可能性が高い連絡先を表すより多数の、および/またはより良好な画像を検索し、改善された画像を使用して実施形態の方法のいずれかを再実行(または再開)することができる。たとえば、ユーザのコンピューティングデバイスは、ソーシャルネットワーキングサイト上で一致する可能性がある連絡先の新たな画像を発見し、生成された顔/他の特性データを新たな画像からの顔データと比較することができる。
【0027】
様々な実施形態では、様々なコンピューティングデバイス(たとえば、ユーザのコンピューティングデバイス、特定のコンピューティングデバイスなど)は、排他的に、または顔データ(たとえば、生成された顔/他の特性データ)と組み合わせてオーディオデータを利用して、ビデオ通話データ内の未知の第三者を特定することができる。このオーディオデータは、身元特定オーディオデータと呼ばれ得る。コンピューティングデバイスは、それぞれの連絡先データベースに各連絡先の声のサンプルおよび/またはオーディオデータを記憶し得る。たとえば、電話帳は、その中の各連絡先の会話の音声のサンプルを含み得る。あるいは、連絡先情報データベースは、様々な記憶されている連絡先の具体的なオーディオ特性を記述する、声認識情報を含み得る。
【0028】
ある実施形態では、様々なコンピューティングデバイス(たとえば、ユーザのコンピューティングデバイス、参加者のコンピューティングデバイスなど)は、ビデオ画像内の未知の第三者の唇の動きを比較することによって、ビデオ通話画像に現れる未知の第三者によって話されている音声を区別するように構成され得る。ユーザのコンピューティングデバイスは、唇の動きの情報(たとえば、未知の第三者の口と一致すると判定されたビデオ領域における画像の変化)を検出し、唇の動きの分析に基づいて声/発話の情報を推定し、推定された声情報をビデオ通話データと比較して未知の第三者の身元特定オーディオデータを生成することができる。たとえば、未知の第三者の唇の動きおよびビデオ通話データとともに送信されたオーディオデータに基づいて、ユーザのコンピューティングデバイスは、未知の第三者に関する声のオーディオデータを区別するように構成され得る。ユーザのコンピューティングデバイスは、声の確認(または身元特定オーディオデータ)を使用して、第三者を特定し、かつ/または第三者の特定を補助することができる。
【0029】
以下で説明される画像データ(すなわち、顔データ、生成された顔/他の特性データ、ビデオストリーミングデータからのビデオ画像、記憶されている写真など)の様々な比較および評価は、オーディオ/声データの同様の比較および評価と、交換可能または結合可能であると考えられ得る。たとえば、ユーザのコンピューティングデバイス、参加者のコンピューティングデバイス、および/または子孫コンピューティングデバイスは、記憶されている連絡先情報との比較および未知の第三者の特定のためのオーディオデータ(たとえば、声の確認)と交換可能に、生成された顔/他の特性データを使用することができる。
【0030】
ある実施形態では、ユーザのコンピューティングデバイスは、ビデオ通話データ内の未知の第三者による検出されたシグナリングに基づいて、未知の第三者の身元を特定することができる。未知の第三者のコンピューティングデバイス(たとえば、タッチスクリーンディスプレイを有するスマートフォン)が、参加者のコンピューティングデバイスによって送信されるビデオ通話データ内で、撮影され、または聞かれ得る。未知の第三者のコンピューティングデバイスは、第三者を記述する身元特定情報および/または連絡先情報を含むシグナリング情報を、放出し、表示し、または別様にレンダリングすることがある。たとえば、未知の第三者は、スマートフォンのディスプレイ上でレンダリングされる画像または視覚的シンボルをビデオ通話の参加者のコンピューティングデバイスが記録するように、スマートフォンのディスプレイを保持し得る。別の例として、未知の第三者は、自分のコンピューティングデバイスのスピーカーを使用して、他のコンピューティングデバイスによって検出され得る可聴のメッセージをレンダリングし得る。シグナリング情報は、音、画像、一連の画像、一連の音(可聴の音および可聴ではない音を含む)、一連の閃光(たとえば、ストロボ)、特別な画像、および符号(たとえば、Quick Response(QR)コード)を含んでよく、これらのいずれもが、ユーザのコンピューティングデバイスによって検出され分析され得る。検出されたシグナリング情報に基づいて、ユーザのコンピューティングデバイスは、シグナリング情報自体の中で、または、シグナリング情報の中で表される何らかの情報の位置を見ることによって、未知の第三者の身元を決定することができる。たとえば、シグナリング情報は、モールス信号のような、何らかの方式でレンダリングされた可聴の音または光信号を含んでよく、未知の参加者の名前およびデバイスの連絡先情報を示し得る。別の例として、シグナリング情報は、ユーザのコンピューティングデバイスによって評価され、未知の第三者の連絡先情報および身元特定情報を提供するURLを含むと判定され得る。ある実施形態では、そのような検出されたシグナリング情報は、ビデオ通話デバイス(たとえば、ユーザのコンピューティングデバイス、参加者のコンピューティングデバイス、子孫コンピューティングデバイスなど)のいずれかまたはすべてによって処理され得る。加えて、シグナリング情報を検出し評価するための動作は、以下で説明された様々な身元特定方法の前、その間、またはその後に実行されてよく、以下で説明された他の身元特定方法と組み合わせて、またはその代わりに実行されてもよい。たとえば、ビデオ通話の最初に検出されるシグナリング情報に基づいて、ユーザのコンピューティングデバイスは、生成された顔/他の特性データを参加者のコンピューティングデバイスに送信することなく、未知の第三者を特定することができる。別の例として、ユーザのコンピューティングデバイスは、
図5Aおよび
図5Bを参照して以下で説明されるような身元確認メッセージを一致する可能性がある者のコンピューティングデバイスに送信することができ、身元確認メッセージは、その一致する可能性があるコンピューティングデバイスに、ユーザのコンピューティングデバイスが身元を確認するために検出し得るシグナリング、たとえば事前に定義されたオーディオパターンを出すように促す。
【0031】
上で述べられたように、コンピューティングデバイスは、処理中のオーディオデータからの声認識情報および/または処理中のシグナリング情報からの身元特定情報などの、他のタイプのデータ認識方法を使用することができる。また、画像認識方法は、たとえば、目の色、髪の色、体の寸法(たとえば、肩から頭までの外形、頭の大きさ、肩の幅など)、刺青などを含む、顔の特徴以外の特性で、個人を認識することができる。言い換えると、コンピューティングデバイスは、ローカルの連絡先情報データベース中のデータとの比較のための、および/または、他のデバイスへの送信(他のデータベースを「クローリング」すること)のための認識技法において有用な、記録された画像および/または音の中の任意のデータを利用することができる。したがって、以下の実施形態の説明は、顔認識技法および顔の特性へと特許請求の範囲を限定することは意図されない。この理由で、以下の説明および図面は「顔/他の特性データ」に言及し、特許請求の範囲は全般に、顔特性データに基づく顔認識技法を対象とする請求項を除き、「画像特性データ」に言及する。
【0032】
図1は、様々な実施形態とともに使用するのに適した通信システム100を示す。システムは、ユーザのコンピューティングデバイス102(たとえば、タブレットコンピューティングデバイス)、参加者のコンピューティングデバイス105、近くのコンピューティングデバイス106、および未知の第三者のコンピューティングデバイス107を含み得る。コンピューティングデバイス102、105、106、および107の各々は、セルラーネットワークを介した通信を可能にする、セルラーネットワークワイヤレスモデムチップと、デバイスの全地球測位システム(GPS)座標を生成し得るGPS受信機とを含み得る。コンピューティングデバイス102、105、106、および107は、ネットワーク通信を扱うことが可能な処理ユニットを含んでよく、インターネット、または、リアルタイムビデオストリーミングに必要とされる高い帯域幅をサポートすることが可能な任意の遠隔通信ネットワーク115(たとえば、LAN、WLAN、4G、LTEなど)にアクセスすることができる。様々な実施形態では、コンピューティングデバイス102、105、106、および107はまた、ワイヤレス通信(たとえば、WiFi、Bluetooth(登録商標)など)のための様々な送受信機を含み得る。以下で説明される
図10〜
図11は、実施形態のコンピューティングデバイスの他のコンポーネントを示す。
【0033】
参加者のコンピューティングデバイス105およびユーザのコンピューティングデバイス102は、インターネット/遠隔通信ネットワーク115を介したメッセージングを通じて、データおよび/またはメッセージを交換することができる。たとえば、ユーザのコンピューティングデバイス102は、有線データリンクまたはワイヤレスデータリンク130を介して、インターネット/遠隔通信ネットワーク115を通じてビデオ通話データを交換することができ、参加者のコンピューティングデバイス105は、有線データリンクまたはワイヤレスデータリンク131を介して、インターネット/遠隔通信ネットワーク115を通じてビデオ通話データを交換することができる。ユーザのコンピューティングデバイス102および参加者のコンピューティングデバイス105は、ビデオ通話(たとえば、ビデオ会議通話)において送信され得るビデオデータを撮影し記憶するように構成されるカメラユニットを含み得る。カメラユニットは、撮影されたビデオデータとの関連を伴う、または伴わない、オーディオデータを記録することが可能なマイクロフォンユニットに接続され得る。カメラユニットは、静止写真画像、ビデオファイル、またはストリーミングビデオデータとしてデータを出力することができ、そのようなデータのために様々な符号化およびフォーマットを利用することができる。
【0034】
ユーザのコンピューティングデバイス102は、リモートサーバ110(たとえば、クラウドコンピューティングサーバ)とデータを交換することができる。具体的には、ユーザのコンピューティングデバイス102は、有線データリンクまたはワイヤレスデータリンク130を介して、インターネット/遠隔通信ネットワーク115を通じてメッセージを交換することができ、リモートサーバ110は、データリンク134を介して、インターネット/遠隔通信ネットワーク115を通じてメッセージを交換することができる。リモートサーバ110は、特定のグループまたは人の分類(たとえば、各従業員に対する情報記録を有する雇主サーバ)、ソーシャルメディアの関連付け(たとえば、Facebook(登録商標)、Twitter(登録商標)、LinkedIn(登録商標)、Foursquare(登録商標)アカウントデータ、ユーザ名など)、および地理的領域(たとえば、市、郡、州、国などによる)に対する、連絡先情報のデータベースを保持することができる。リモートサーバ110はまた、ユーザのコンピューティングデバイス102および/または参加者のコンピューティングデバイス105のような、インターネット/遠隔通信ネットワーク115を介して様々なデバイスによってアップロードされるビデオ/オーディオデータを格納してよく、そのようなビデオ/オーディオデータをデータベース内の連絡先情報と関連付けてよい。
【0035】
参加者のコンピューティングデバイス105は、ピアツーピア通信技法を使用することによって、またはインターネット/遠隔通信ネットワーク115を介したメッセージングを通じて、近くのコンピューティングデバイス106および/または未知の第三者のコンピューティングデバイス107とデータおよび/またはメッセージを交換することができる。たとえば、参加者のコンピューティングデバイス105は、有線データリンクまたはワイヤレスデータリンク131を介して、インターネット/遠隔通信ネットワーク115を通じてメッセージを交換することができ、近くのコンピューティングデバイス106は、有線データリンクまたはワイヤレスデータリンク132を介して、インターネット/遠隔通信ネットワーク115を通じてメッセージを交換することができ、第三者のコンピューティングデバイス107は、有線データリンクまたはワイヤレスデータリンク133を介して、インターネット/遠隔通信ネットワーク115を通じてメッセージを交換することができる。様々なデバイスの連絡先情報が知られている場合、ユーザのコンピューティングデバイス102はまた、インターネット/遠隔通信ネットワーク115の送信を通じて、コンピューティングデバイス106、107と通信することができる。
【0036】
ある実施形態では、参加者のコンピューティングデバイス105は、ワイヤレス送信120(たとえば、WiFi、Bluetooth(登録商標)、Zigbee(登録商標)、RF無線など)を、ワイヤレス送受信機を備えた他のデバイス、たとえば、参加者のコンピューティングデバイス105の近くに位置するコンピューティングデバイス106、107と交換することができる。たとえば、参加者のコンピューティングデバイス105は、同様の送受信機および通信プロトコルを利用する他のコンピューティングデバイス106、107によって受信され得る、またはそれらによって応答され得るワイヤレス送信120を介して、pingメッセージを送信することができる。
【0037】
ある実施形態では、参加者のコンピューティングデバイス105および他のコンピューティングデバイス106、107は、リモートサーバ110と送信を交換することができる。たとえば、リモートサーバ110は、インターネット/遠隔通信ネットワーク115を通じた通信、たとえば、電子メールまたはソフトウェア固有の送信(たとえば、クライアントとサーバ間のソフトウェア通信)を使用して、様々なコンピューティングデバイス105、106、107からの情報に対する要求を送信することができる。
【0038】
図2は、確立されたビデオ通話の間にレンダリングされた未知の第三者を特定するためのある実施形態の方法200を示す。ビデオチャットアプリケーションのようなコンピューティングデバイス上のソフトウェアを使用して、ユーザは、リアルタイムのグループビデオ通話の他の複数の参加者と通信することができる。ユーザは、ビデオ画像(またはビデオフィード)中の未知の第三者を見て、その未知の第三者を特定し場合によっては第三者に連絡することを望み得る。ユーザのコンピューティングデバイスがユーザからの選択入力(たとえば、タッチスクリーンユニット上での選択)を検出すると、ユーザのコンピューティングデバイスは、未知の第三者の顔/他の特性データを判定して、一致を発見するためにそのデータを多数のデータベースと比較することができる。
【0039】
任意選択のブロック202において、ユーザのコンピューティングデバイスは、参加者のコンピューティングデバイスとのビデオ通話(またはグループビデオ通話)を確立することができる。ビデオ通話は、異なる位置にいることもまたはいないこともある、ユーザのコンピューティングデバイスおよび多数の参加者のコンピューティングデバイスを含み得る。たとえば、ユーザのコンピューティングデバイスは、1つの建物の中に位置していることがあり、参加者のコンピューティングデバイスは、異なる建物の中に位置していることがある。別の例として、ユーザのコンピューティングデバイスは、特定のオフィスビルの中に位置していることがあり、参加者のコンピューティングデバイスはすべて、同じレストランの中に位置していることがある。別の例として、ユーザのコンピューティングデバイスおよび参加者のコンピューティングデバイスはすべて、同じ領域または建物(たとえば、カフェテリア、スポーツアリーナ、社交クラブなど)の中の異なる位置に位置していることがある。代替的な実施形態では、ユーザのモバイルデバイスは、ビデオ通話を確立することなく、カメラを使用してビデオデータまたはビデオストリーミングデータを記録することができる。たとえば、ユーザは単に、カメラを内蔵した自分のスマートフォンを、よく見えるように未知の第三者に向けて、ビデオ会議アプリケーションを実行することなく、その第三者のビデオ画像を撮影することができる。
【0040】
様々なコンピューティングデバイスは、ビデオ通話ソフトウェアまたはアプリケーション(たとえば、Skype(登録商標)、FaceTime(登録商標)、およびGoogle Talk(登録商標)など)を実行して、ビデオ通話を行うことができる。ビデオ通話は、様々なボイスオーバーインターネットプロトコル(「VOIP」)、サービス、およびメディアデータ符号化を利用し得る。たとえば、ビデオ通話の間に送信されるビデオデータは、特定のビデオおよび/またはオーディオコーデックを使用して、符号化され復号され得る。ある実施形態では、ユーザのコンピューティングデバイスおよび参加者のコンピューティングデバイスは、WiFi接続(すなわち、WLAN)を使用して、インターネットを通じてビデオ通話データを送信することができる。たとえば、ユーザのコンピューティングデバイスは、データをインターネットに中継するように構成されるWiFiルータへの接続を介して、ビデオデータを送信することができる。デバイスはまた、ローカルエリアネットワーク(「LAN」)、セルラーネットワーク、または、高帯域幅のビデオ/オーディオ送信をサポートできる任意の他の遠隔通信ネットワークを通じて、ビデオ通話データを送信することができる。
【0041】
ユーザのコンピューティングデバイスは、参加者の身元をコンピューティングデバイスの連絡先情報と関連付ける電話帳データベースなどの、記憶されている連絡先情報に基づいて、参加者のコンピューティングデバイスにビデオ通話データを向けることができる。たとえば、記憶されている連絡先情報は、参加者の名前およびコンピューティングデバイスのIPおよび/またはMACアドレス、電話番号、電子メールアドレスなどを一覧にする、データテーブルを含み得る。記憶されている連絡先情報は、上で言及されたような通信ソフトウェアと関連付けられてよく、関連付けられた私有の連絡先情報(たとえば、Skypeの画面の名前/ユーザ名)を含んでよい。
【0042】
ブロック204において、ユーザのコンピューティングデバイスは、確立されたビデオ通話に対応するデータなどの、受信されたビデオストリーミングデータをディスプレイユニットにレンダリングすることができる。たとえば、ユーザのコンピューティングデバイスは、高解像度のビデオデータを表示することが可能なLCDスクリーンを利用して、ビデオ通話の参加者の顔をレンダリングすることができる。
【0043】
ブロック206において、ユーザのコンピューティングデバイスは、ユーザ入力を検出し得る。ユーザは、自分の指、スタイラス、または任意の他の付属の入力デバイス(たとえば、マウス、トラックボールなど)を使用して、ユーザのコンピューティングデバイスと対話することができる。たとえば、ユーザのコンピューティングデバイスは、ユーザによるタッチ対話に基づいて入力データを受け取るように構成された、タッチスクリーンユニットを含み得る。ユーザは、タップ、クリック、スライド、スクレイピング、輪郭描画、および、ユーザのコンピューティングデバイス上でレンダリングされるビデオ内でユーザが選択を示し得る任意の他の方法を含み得る、対話動作を通じて入力データを提供することができる。たとえば、ユーザのコンピューティングデバイスは、タッチスクリーンのある領域のタップを検出し得る。あるいは、ユーザのコンピューティングデバイスは、マウス、タブレット、または、レンダリングされたビデオデータ内で選択を定義する任意の他の手段からのユーザ入力を検出して処理するように構成される、ラップトップコンピュータであり得る。ある実施形態では、ユーザのコンピューティングデバイスは、タッチスクリーン上にグラフィカルなユーザインターフェースのボタンを表示することができ、このボタンは、レンダリングされた画像の特定の態様に対応し得る。たとえば、ビデオ通話のすべての見える参加者の頭の上に、GUIボタンがレンダリングされ得る。
【0044】
ブロック207において、ユーザのコンピューティングデバイスは、検出されたユーザ入力に基づいて、ビデオ選択(たとえば、未知の第三者の画像を含むビデオ選択)を生成(または出力)することができる。ビデオ選択は、ユーザのコンピューティングデバイスに、たとえばバッファまたは他の記憶コンポーネントの中に、ローカルに記憶され得る。ビデオ選択は、ビデオデータの単一のフレーム、または代替的には、一連の画像であり得る。ユーザのコンピューティングデバイスは、ユーザ入力の検出のときにレンダリングされる画像を選択が表すように、ビデオ選択を生成することができる。言い換えると、ユーザ入力データは、レンダリングされたビデオデータのスナップショットをとるように、ユーザのコンピューティングデバイスに指示し得る。
【0045】
ブロック208において、ユーザのコンピューティングデバイスは、たとえば、ユーザからの検出された入力をビデオ選択の特定の部分と関連付けることによって、生成されたビデオ選択の選択された領域を定義することができる。たとえば、ユーザのコンピューティングデバイスは、ユーザがビデオ画像のある領域を輪郭描画するようにタッチスクリーン上で自分の指をユーザが動かしたことに基づいて、選択を検出することができる。ユーザのコンピューティングデバイスは、単一の点(たとえば、指のタップによる)を定義する「X」および「Y」座標または一連の座標値(たとえば、長期間の指のドラッグ)のような、検出されたユーザ入力の座標を決定することができる。ユーザのコンピューティングデバイスは、決定された入力座標をビデオ選択に適用して、選択された領域を定義することができる。たとえば、選択された領域は、検出された円形の入力データ内のビデオ選択の部分であり得る(たとえば、ユーザがタッチスクリーン上で円を描く)。別の例として、選択された領域は、検出された入力座標を中心とする事前に定義された数の表示単位(たとえば、ピクセル)であり得る。
【0046】
ある実施形態では、選択された領域は、構成ファイルによって定義され得る。たとえば、ユーザのコンピューティングデバイスは、すべての選択された領域がレンダリングされたビデオの上部の角となるように定義する、構成ファイルを記憶し得る。別の例として、ユーザのコンピューティングデバイスは、任意のビデオ選択に対して選択された領域を定義する、レンダリングされたビデオの「マスク」または事前に定義された領域を利用することができる。ある実施形態では、ユーザのコンピューティングデバイスは、検出されたユーザ入力のある境界の外側のビデオデータの部分を含む閾値パラメータを使用して、選択された領域を定義することができる。たとえば、選択された領域は、ディスプレイユニット上でのユーザのタップの座標から放射状に広がるある数のピクセルの画像を含むものとして定義され得る。
【0047】
ブロック209において、ユーザのコンピューティングデバイスは、ビデオ画像の定義された選択された領域を処理して、顔の画像を認識し、顔/他の特性データを生成するように、動作を実行し得る。たとえば、コンピューティングデバイスは、選択された領域の局所的な部分において、色の値のようなピクセル値を評価して、選択された領域が顔の描写を含むかどうかを判定するように、動作を実行するように構成され得る。コンピューティングデバイスは、当業者によりよく知られている顔認識技法、動作、およびアルゴリズムを使用して、選択された領域内の顔の特性を推定することができる。たとえば、コンピューティングデバイスは、選択された領域内での顔の目の位置を決定し、目の間の距離を推定し、顔の特徴(たとえば、鼻、額、頬骨、あごなど)の大きさを推定し、任意の区別可能な様相(たとえば、ほくろ、肌の色、傷など)を検出するように、動作を実行することができる。ある実施形態では、顔/他の特性データは、多数のデバイスおよびソフトウェアによってアクセス可能な標準化されたフォーマットであってよく、または代替的に、特別なデバイスによる使用のために構造化されたプロプライエタリデータを定義することができる。
【0048】
別の実施形態では、顔/他の特性データは、未知の第三者の顔に関連しない補助的な属性を含み得る。ユーザのコンピューティングデバイスは、顔認識ルーチンの実行の間に、選択された画像の中で、特異な、ハイコントラストの、または別様に特別な様相を認識することができる。たとえば、ユーザのコンピューティングデバイスは、未知の第三者が、ある色の帽子またはある属性の宝飾品などのアクセサリーを身につけていることを、検出することがある。別の例として、未知の第三者はロゴがあるシャツを着ていることがある。ユーザのコンピューティングデバイスは、補助的な属性を顔/他の属性データに付加することができ、または代替的に、顔/他の特性データを送信するメッセージ内のメタデータに、補助的な属性の記述を追加することができる。ある実施形態では、補助的な属性は、ソーシャルネットワーキングへの加入、グループとの関連、または、補助的な属性に関連し得る関心のあるグループのメンバーであること(たとえば、スポーツのグループ、ファンの協会、同窓生など)によって、連絡先情報を相互参照するために使用され得る。たとえば、ユーザのコンピューティングデバイスは、同様の顔の特性を有し同様の補助的な属性を共有する連絡先について、連絡先情報データベースを検索することができる。
【0049】
ある実施形態では、ユーザのコンピューティングデバイスは、顔/他の特性データを含むデータタグ(またはメタデータ)を作成し、後続の検索のためにタグを画像ファイルに付加することができる。たとえば、画像ファイルは、表される個人の各々に対する顔/他の特性データおよび関連する連絡先情報を含む、「撮影された個人」タグを含み得る。
【0050】
別の実施形態では、ユーザのコンピューティングデバイスは、撮影されたビデオストリーミングデータ(たとえば、ビデオ通話)の期間の全体で、未知の第三者の画像を追跡することができる。ユーザのコンピューティングデバイスは、未知の第三者の追跡された(または現在の)ビデオ画像を、顔/他の特性データを生成するために使用されるビデオ選択と継続的に比較することができる。追跡された画像が未知の第三者のより鮮明な表現を提供する場合、ユーザのコンピューティングデバイスは自動的に、新たなビデオ選択を作成し、顔特性データの更新されたセットを生成することができる。たとえば、新たな顔特性データは、現在の追跡された画像がより明るい状態で未知の第三者の顔を示す場合、たとえば、第三者が影の中にいたときに元のビデオ選択が行われていた場合、ユーザのコンピューティングデバイスによって生成され得る。他の例として、追跡された画像が、近寄った状態で、より良い角度から(たとえば、横方向の角度ではなく正面の角度から)、またはより歪み(たとえば、動きのぼやけ、カメラの被覆/フレアなど)の少ない状態で未知の第三者を示す場合、ユーザのコンピューティングデバイスは、より良好な画像から、新たな顔/他の特性データを生成することができる。ある実施形態では、ユーザ入力データに基づいて(たとえば、ユーザは、未知の第三者の新たな画像を選択するために、ディスプレイをタッチまたはポイントし得る)、ユーザのコンピューティングデバイスは、新たな選択された領域の処理を実行して、新たな顔/他の特性データを生成することができる。たとえば、ユーザのコンピューティングデバイスは、人のより良好な映像がビデオにおいて提示されていることにユーザが気付くと、新たな顔の画像を処理することができる。
【0051】
ビデオストリーミング(たとえば、ビデオ通話)の間に、未知の第三者の、新たな、代替の、またはより良好な画像がユーザのコンピューティングデバイスによって得られると、生成された顔/他の特性データは更新されてよく、様々な顔データ比較動作が再開されてよい。たとえば、生成された顔/他の特性データが改善される、またはより正確になると、ユーザのコンピューティングデバイスは、新たなメッセージをビデオ通話の参加者のコンピューティングデバイスに送信することなどによって、比較動作を再開することができる。
【0052】
ブロック210において、ユーザのコンピューティングデバイスは、一致が発見されるまで(またはすべてのアクセス可能な記憶されているデータが評価されるまで)、生成された顔/他の特性データを記憶されている連絡先情報と比較することができる。連絡先情報は、連絡先の身元特定情報(たとえば、既存の顔/他の特性データ、名前、年齢、性別、人種、髪型など)を様々な関連する連絡先のアドレス(たとえば、電子メール、電話/SMSテキストの番号、既知のデバイスのIP/MACアドレスなど)と関連付けるデータベース(たとえば、電話帳)に記憶され得る。ユーザのコンピューティングデバイスは、生成された顔/他の特性データを、ローカルデータベースに記憶されているデータ、リモートサーバに記憶されているデータ、および/または他のコンピューティングデバイスに記憶されているデータと比較することができる。比較方法の詳細な説明は、
図4A〜
図7Bを参照して以下で見出される。
【0053】
一致が発見されると、ブロック212において、ユーザのコンピューティングデバイスは、一致する連絡先データベースの記録に記憶されている未知の第三者の連絡先身元特定情報などの、一致する記憶されているデータから未知の第三者の連絡先情報を取得することができる。
図4A〜
図4Cを参照して以下で説明されるように、ユーザのコンピューティングデバイスは、一致したデータに関連がある連絡先情報を含み得る報告メッセージ(または応答メッセージ)を、参加者のコンピューティングデバイスから受信し得る。一致した顔/他の特性データに基づいて、ユーザのコンピューティングデバイスは、関連するデバイス、連絡先のアドレス(たとえば、電子メール、セル/SMSテキストの番号、仕事/個人用のウェブサイトなど)、および未知の第三者を記述する他の関連情報を決定することができる。ユーザのコンピューティングデバイスは、ウェブを検索する(たとえば、オンライン検索エンジンで決定された連絡先の身元の名前を使用する)ことによって、ソーシャルネットワーキングサイト(たとえば、Facebook、LinkedInなど)を検索することによって、および/または、リモートデータサーバ(たとえば、雇主により管理される連絡先データベース)を検索することによって、決定された身元に対する追加の連絡先情報を発見することができる。ある実施形態では、ユーザのコンピューティングデバイスは、ローカルの電話帳または他のデータ構造に、取得された連絡先情報を記憶することができる。
【0054】
任意選択のブロック214において、ユーザのコンピューティングデバイスは、取得された連絡先情報に基づいて、未知の第三者のデバイスにメッセージを送信することができる。たとえば、取得された連絡先情報に基づいて、ユーザは、未知の第三者に、第三者のスマートフォンへのSMSテキストメッセージを送信することができる。別の例として、ユーザは、未知の第三者が能動的なビデオ通話に参加することを求める電子メールの招待を、第三者のラップトップに送信することができる。別の例として、ユーザのコンピューティングデバイスは自動的に、ソーシャルネットワーキングアカウントを介して未知の第三者にメッセージを送信することができる(たとえば、ユーザのコンピューティングデバイスは、Facebook(登録商標)での友達要求、LinkedIn(登録商標)での接続要求などを送信することができる)。
【0055】
ある実施形態では、ユーザのコンピューティングデバイスは、第三者がビデオ通話に関して連絡され得る際に用いる最適なデバイスを選択するルーチンを実行することができる。たとえば、第三者は、個人が連絡され得る際に用いる多数のコンピューティングデバイス(たとえば、スマートフォン、タブレットデバイス、および仕事用デスクトップコンピュータ)と関連付けられ得る(すなわち、使用する、かつ/または所有する)が、第三者は、ビデオ通話の時点では、あるコンピューティングデバイスにしかアクセスできないことがある。したがって、ユーザのコンピューティングデバイスは、所与の時間および位置において第三者が自分のコンピューティングデバイスの各々で送信に対して応答し得る確率を評価する、アルゴリズムを実行することができる。たとえば、ユーザのコンピューティングデバイスは、屋外の公園で撮影されたビデオ画像に現れる第三者が自分の仕事用のデスクトップコンピュータへ送信された通信に応答する可能性は低いと、判定し得る。別の実施形態では、ユーザのコンピューティングデバイスは、画像認識ルーチンを実行して、第三者のコンピューティングデバイスの存在を検出することができる。たとえば、顔/他の特性データの生成元である同じ画像を使用して、ユーザのコンピューティングデバイスは、第三者の近くのコンピューティングデバイス(たとえば、第三者の尻に接している携帯電話、第三者の手の中にあるタブレットなど)を認識することができる。
【0056】
図3A〜
図3Bは、ユーザのコンピューティングデバイス102での、ユーザ304による例示的な入力選択動作を示す。
図3Aは、ユーザ304がビデオ通話を介して参加者306と通信することを示す。上で説明されたように、ビデオ通話は、FaceTime、Skype、またはGoogle Talkのような、ユーザのコンピューティングデバイス102で実行されるメッセージングまたはビデオチャット/会議ソフトウェア(またはアプリ)を介して行われ得る。ビデオ通話が進行し、ユーザのコンピューティングデバイス102がビデオデータをレンダリングすると、ユーザ304は、ユーザのコンピューティングデバイス102にレンダリングされる未知の第三者308を見ることがある。未知の第三者308は、参加者306の後ろの背景で歩いているまたは立っていることがあり、参加者306の横に座っていることがあり、または、参加者のコンピューティングデバイスのカメラの記録領域の範囲内で任意の他の位置にいる/活動を行っていることがある。ある実施形態では、未知の第三者308は、参加者306および/またはユーザ304と対話してもまたはしなくてもよい。
【0057】
図3Bは、ユーザ304がユーザのコンピューティングデバイス102上で選択動作を実行することを示す。未知の第三者308がビデオ通話においてレンダリングされるのを見たことに応答して、ユーザ304は、未知の第三者308を特定することを望み得る。ユーザの指310によって、ユーザ304は、未知の第三者308の画像に対応する、ユーザのコンピューティングデバイス102のタッチスクリーン(またはディスプレイユニット)の部分をタップすることができる。たとえば、ユーザ304は、未知の第三者308の顔をタップすることができる。上で説明されたように、ユーザ304は、複数の方法でユーザのコンピューティングデバイス102と対話して、ディスプレイユニット上のレンダリングされた画像の選択、たとえば、タップまたは円の描画を示し得る。選択入力データに応答して、ユーザのコンピューティングデバイス102は、ビデオデータを処理し、
図2を参照して上で説明された身元特定動作を実行することができる。
【0058】
図4A、
図4B、
図6A、
図6B、
図7A、および
図7Bは、所定の顔/他の特性データを記憶されている情報と比較し、データベースの連絡先を未知の第三者と照合するための、実施形態の方法を示す。
図4A、
図4B、
図6A、
図6B、
図7A、および
図7Bは、ユーザのコンピューティングデバイスがすでに、ビデオ通話(たとえば、グループビデオチャット)の間にレンダリングされる画像の選択された領域を定義するユーザ入力データを受信し、顔の画像を評価し、ブロック202〜209の動作を参照して上で説明されたような顔/他の特性データを決定していることで、開始し得る。
【0059】
図4Aおよび
図4Bは、顔/他の特性データを複数のデバイスに記憶されているデータと比較することによって、未知の第三者を特定するためのある実施形態の方法400を示す。
図4Aは、有線データリンクまたはワイヤレスデータリンク401を介して、ネットワーク(たとえば、インターネット、ローカルエリアネットワークなど)を通じて互いに通信している、ユーザのコンピューティングデバイス102および参加者のコンピューティングデバイス105によって実行され得る実施形態の動作を示す。たとえば、ユーザのコンピューティングデバイス102は、インターネットプロトコルを利用するワイヤレスデータリンク401を介して、参加者のコンピューティングデバイス105とのネットワークを通じて様々なメッセージを交換することができる。
【0060】
ブロック402において、ユーザのコンピューティングデバイス102は、ブロック209の動作で生成された顔/他の特性データのような、未知の第三者の顔データを、ユーザのコンピューティングデバイス102に記憶されている連絡先データと比較することができる。たとえば、ユーザのコンピューティングデバイス102は、顔/他の特性データを、ユーザのスマートフォンの電話帳の中の連絡先の記録などの、既知の連絡先に関する情報と比較することができる。記憶されている情報は、身元特定データを特定の連絡先に関する他の情報と関連付ける連絡先の記録を含む、ローカルの連絡先データベースとして編成されていることがあり、そのような連絡先の記録(または連絡先データ)は、連絡先の顔データ、さらには、連絡先の物理的な特徴を記述するための他の情報を含み得る。ユーザのコンピューティングデバイス102は、記録ごとに記憶されている情報を評価して、生成された顔/他の特性データを各連絡先と関連付けられる情報と比較することができる。記憶されている情報は、ユーザのコンピューティングデバイス102が生成された顔/他の特性データと比較し得る、各連絡先に対する標準化された顔データ、または代替的には、物理的な測定結果(たとえば、目の間の距離、頭の幅など)を含み得る。
【0061】
ある実施形態では、記憶されている情報が特定の連絡先について顔認識ソフトウェアから得られる顔/他の特性データを含まない場合、または、顔のデータが破損したフォーマットまたはアクセス不可能なフォーマットである場合、ユーザのコンピューティングデバイス102は、連絡先の記憶されているデジタル画像(または写真)に基づいて、顔のデータを生成することができる。たとえば、電話帳データベース中の連絡先の記録が顔のデータを含まない場合、ユーザのコンピューティングデバイス102は、ブロック208〜209を参照して上で説明されたものと同様の動作を使用して、連絡先の顔のデータを生成することができる。デジタル画像は、連絡先情報のデータベース/電話帳に関連して、または、ユーザのコンピューティングデバイス102の汎用画像リポジトリに記憶され得る。たとえば、ユーザのコンピューティングデバイス102は、内蔵カメラを使用してデジタル写真を撮り、写真をオンボードのフラッシュメモリに記憶することができる。ユーザのコンピューティングデバイス102は、タギング情報などの、画像ファイルと関連付けられるメタデータを評価して、記憶されている情報中の顔のデータを伴わずに、連絡先に対する関連性を検出することができる。たとえば、ユーザのコンピューティングデバイス102は、未知の第三者がユーザにより見られたビデオ通話の時間および/または位置に類似した、タイムスタンプおよび/またはジオタギング情報を有する画像を評価し得る。ある実施形態では、ユーザの電話帳の中の連絡先の記録が、何ら関連する写真または顔のデータを有さない場合、ユーザのコンピューティングデバイス102は、リモート(または「オンライン」)サーバ(たとえば、ソーシャルネットワーキングサーバ)内の連絡先の画像を検索し、画像をダウンロードし、顔/他の特性データを決定するように処理することができる。
【0062】
記憶されている情報は、名前(たとえば、あだ名、ミドルネームのイニシャル、旧姓など)、重要な日(たとえば、誕生日、記念日、子供の誕生日など)、および通信情報(たとえば、住所、個人用/仕事用の電子メールアドレスおよび電話番号など)のような、連絡先の個人の詳細を記述する他の情報を含み得る。記憶されている情報はまた、所有されている/使用されているコンピューティングデバイス、コンピューティングデバイスのMACアドレス、関連するIPアドレス、Bluetooth(登録商標) MACアドレス、および様々なデバイスのためのサポートされる通信プロトコルのリストのような、様々な連絡先に関連があるデバイス情報を含み得る。ソーシャルネットワーキングのメンバーシップ情報(たとえば、Facebookのユーザ名、Twitterのフィード情報など)、好みのウェブサイト、および連絡先のデバイスにインストールされているアプリケーション(たとえば、Skype、IM、電子メールクライアントなど)のような、連絡先およびそのデバイスと関連付けられるサービス、ソフトウェア、およびアプリケーションを記述する情報も、記憶されている情報に含まれ得る。
【0063】
ある実施形態では、記憶されている情報は、GPS座標のような、連絡先についての位置データを含み得る。記憶されている情報は、連絡先との以前の送信から自動的に抽出される情報に基づいて(たとえば、ユーザのコンピューティングデバイス102によって実行されるルーチンがSMSテキストメッセージ内で符号化される位置情報を抽出し得る)、位置情報を保持するサーバ(たとえば、携帯電話のキャリアのサーバ、ソーシャルネットワーキングサーバなど)からの送信から自動的に抽出される情報に基づいて、またはユーザによる手動の入力を通じて、様々な連絡先の位置情報を表すことができる。ある実施形態では、記憶されている情報はまた、連絡先のスケジュール情報またはカレンダー情報を含み得る。たとえば、ユーザのコンピューティングデバイス102は、連絡先のデバイスから予定されている活動(たとえば、会議、休暇、授業時間など)を受信することができる。
【0064】
ユーザのコンピューティングデバイス102は、関連するウェブサイト(またはリモートサーバ)にアクセスし、サーバ(たとえば、従業員の連絡先情報を含む雇主のデータベース)から更新された情報を受信し、ユーザのコンピューティングデバイス102内の記憶されているデータを修正することによって、記憶されている情報を継続的および自動的に更新することができる。あるいは、ユーザのコンピューティングデバイス102は、記憶されているデータを手動で更新するようにユーザに促し得る。ユーザのコンピューティングデバイス102は、連絡先からの電子メールまたはSMSテキストメッセージのような通信を自動的に評価して、更新された連絡先情報を決定することができる。たとえば、ユーザのコンピューティングデバイス102は、ある連絡先からのSMSテキストメッセージの内容を処理して、その連絡先が仕事中であると判定することができる。ある実施形態では、ユーザのコンピューティングデバイス102は、自然言語処理技法を使用して、テキスト情報を解釈することができる。
【0065】
判定ブロック404において、ユーザのコンピューティングデバイス102は、いずれかの記憶されている情報(たとえば、記憶されている顔のデータ)が未知の第三者の生成された顔/他の特性データと一致するかどうかを判定することができる。ユーザのコンピューティングデバイス102は、様々な顔の特性を比較するときに閾値を利用することができ、記憶されているデータが生成された顔/他の特性データと一致する確率を求めることができる。たとえば、ユーザのコンピューティングデバイス102は、特定の連絡先の記憶されている顔のデータが、未知の第三者の生成された顔/他の特性データと一致する確率が高いと、判定することができる。
【0066】
ある実施形態では、ユーザのコンピューティングデバイス102は、ユーザに提示すべき、一致する可能性がある者のリストを作成し得る。ユーザのコンピューティングデバイス102が、未知の第三者と一致する確率が類似している複数の連絡先を決定する場合、ユーザのコンピューティングデバイス102は、その決定を明確にする(すなわち、「均衡を破る」、確率の決定を拒否する)ための入力データを与えるようにユーザに促し得る。たとえば、ユーザのコンピューティングデバイス102は、同様の顔の特性を有するいくつかの連絡先の中から最も一致するものをユーザが選択するように求める、プロンプトをレンダリングし得る。ユーザのコンピューティングデバイス102は、記憶されている情報に対する生成された顔/他の特性データの比較に基づいて、経験則を進化させて記憶することができ、記憶されている顔のデータの評価を経時的に調整することができる。たとえば、ユーザのコンピューティングデバイス102は、一致判定に関するユーザのフィードバック入力の検出に基づいて、比較アルゴリズム/技法のパラメータ(または閾値)を調整することができる。
【0067】
ある実施形態では、ユーザのコンピューティングデバイス102は、生成された顔/他の特性データに対する記憶されている連絡先の顔のデータの類似性に基づいて、複数の一致している可能性がある者を検出することができる。たとえば、ユーザのコンピューティングデバイス102は、何人かの連絡先の記憶されている顔のデータが、所与の許容の閾値の範囲内で、生成された顔/他の特性データと一致すると、判定することができる。一致する可能性がある者の顔のデータはすべて、生成された顔/他の特性データに対する、同一または同様のレベルの類似性(たとえば、閾値の許容範囲内の)を有し得る。ユーザのコンピューティングデバイス102は、そのような一致する可能性がある者のリストをユーザに提示することができ、ユーザはそれに応答して、様々な一致する可能性がある者にその評価を確認するように促すための動作を開始することができる。そのような確認動作は、
図5Aを参照して以下で説明される。あるいは、ユーザのコンピューティングデバイス102は、ユーザのコンピューティングデバイス102のディスプレイにデータベースからの画像を表示し、一致するかどうかをユーザに判断させることができる。
【0068】
ユーザのコンピューティングデバイス102が、生成された顔/他の特性データと、記憶されている情報において連絡先と関連付けられる顔のデータとの一致を発見する場合(すなわち、判定ブロック404=「Yes」)、ユーザのコンピューティングデバイス102は、
図2を参照して上で説明されたように、ブロック212の動作を継続することができる。たとえば、ユーザのコンピューティングデバイス102は、生成された顔/他の特性データと一致する顔のデータを含む記憶されている連絡先の記録に基づいて、携帯電話番号を取得し、現在のビデオ通話に加わるように招待メッセージを送信することができる。
【0069】
ユーザのコンピューティングデバイス102に含まれる記憶されている情報の中で一致が発見されない場合(すなわち、判定ブロック404=「No」)、ユーザのコンピューティングデバイス102は動作ループを実行することができ、この動作ループにおいて、ユーザのコンピューティングデバイス102が、未知の第三者に対する検索を継続するためにビデオ通話の参加者のコンピューティングデバイス105の各々と連絡し得る。ユーザのコンピューティングデバイス102がすべての参加者のコンピューティングデバイスに連絡し、生成された顔/他の特性データに対する一致を発見するか、またはすべての記憶されている情報を無視するかするまで、動作ループは継続し得る。したがって、ブロック406において、ユーザのコンピューティングデバイス102は、次のビデオ通話の参加者のコンピューティングデバイス105を選択することができる。ビデオ通話が複数の参加者を含む場合、ユーザのコンピューティングデバイス102は、すべての参加者が最大でも1回連絡されるように、特定の順序で各参加者のコンピューティングデバイス105に連絡することができる。ユーザのコンピューティングデバイス102は、選択アルゴリズムを利用して、事前に定義されたユーザの構成ファイルに記憶されているガイドライン、未知の第三者に対する参加者の相対的な近接度(たとえば、第三者に最も近い参加者から始まり、第三者から最も遠い参加者で終わる)、ランダム性、または任意の他の順序付け技法に基づいて、次の参加者のコンピューティングデバイスを繰り返し選ぶことができる。ある実施形態では、方法400がユーザのコンピューティングデバイス102によってまず実行される場合、次の参加者のコンピューティングデバイス105は、ビデオ通話に参加しているすべてのデバイスのリストの中で最初にあり得る。
【0070】
ある実施形態では、選択アルゴリズムは、近接度の評価を使用して、連絡すべき参加者のコンピューティングデバイス105を選択することができる。ユーザのコンピューティングデバイス102は、未知の第三者と、ビデオ通話の参加者のコンピューティングデバイス105の既知の位置との距離を推定することによって、未知の第三者の位置を推定することができる。ユーザのコンピューティングデバイス102は、参加者のコンピューティングデバイス105のGPS座標を要求し比較することによって、ソーシャルネットワーキングウェブサイトまたはオンラインサービス(たとえば、Foursquare位置情報、Google Latitudeなど)上で手動で入力された位置情報、位置インジケータを評価することによって、または、上で説明されたような位置情報を決定するための他の方法によって、参加者のコンピューティングデバイス105の位置を決定することができる。ユーザのコンピューティングデバイス102は、ビデオ選択の画像に基づいて、参加者のコンピューティングデバイス105の位置情報を距離計算と組み合わせることによって、未知の第三者の位置を推定することができる。たとえば、ユーザのコンピューティングデバイス102は、未知の第三者と、ビデオ選択画像の生成元の特定のコンピューティングデバイス105との距離を、影の長さの読み取り、基準の物体に対する物理的な比率の比較、および他の画像分析技法によって、推定することができる。ユーザのコンピューティングデバイス102は、推定される未知の第三者の位置に対する最短の距離に基づいて、選択された参加者のコンピューティングデバイス105を選ぶことができる。
【0071】
ブロック408において、ユーザのコンピューティングデバイス102は、たとえば、ローカルの電話帳にアクセスすること、連絡先情報データベースにアクセスすること、または、参加者の情報を取り出す他の技法によって、選択された参加者のコンピューティングデバイス105と通信するための連絡先情報を取り出すことができる。たとえば、ユーザのコンピューティングデバイス102は、ビデオ通話を確立するために使用される連絡先情報を使用することができる。別の例として、参加者のコンピューティングデバイス105は、特定の方法(たとえば、電子メール、SMSテキストなど)で、または特定のアドレスにおいて、参加者に連絡するようにユーザに指示するビデオ通話の間に、連絡先情報を送信していることがある。
【0072】
ブロック410において、取り出された連絡先情報を使用して、ユーザのコンピューティングデバイス102は、顔のデータ(または顔/他の特性データ)を含む要求メッセージを、選択された参加者のコンピューティングデバイス105に送信することができる。たとえば、要求メッセージは、データリンク401を介して、選択された参加者のコンピューティングデバイス105に送信され得る。要求メッセージは、参加者のコンピューティングデバイス内に記憶されている情報と、生成された顔/他の特性データとの比較ルーチンを実行するように、参加者のコンピューティングデバイス105に促すことができる。たとえば、要求メッセージは、顔のデータを記憶されている電話帳の情報と比較するように、選択された参加者のコンピューティングデバイス105に指示する、コードまたは命令を含み得る。要求メッセージは、SMSメッセージまたは電子メールメッセージのような、コンピューティングデバイス間の任意のタイプのメッセージングを介して送信されてよく、ユーザのコンピューティングデバイス102は、そのようなメッセージングにより、顔/他の特性データを配信することができる。顔/他の特性データは、添付として、または代替的に、メッセージ内のメタデータ情報として、付加されてよい。たとえば、ユーザのコンピューティングデバイス102は、顔のデータのファイル添付、または、生成された顔/他の特性データを記述するヘッダ情報(メタデータ)を有する私的なメッセージとともに、電子メールを送信することができる。ある実施形態では、ユーザのコンピューティングデバイス102は、顔のデータを送信するための、選択された参加者のコンピューティングデバイス105からの許可を要求するメッセージを送信することができる。たとえば、顔のデータは、選択された参加者のコンピューティングデバイス105によって送信される返信メッセージが送信を承認したことに応答して、ユーザのコンピューティングデバイス102によって送信され得る。ある実施形態では、ユーザのコンピューティングデバイス102は、未知の参加者に関するすべての要求メッセージ(またはメタデータ)へと追加され得る、各々の未知の第三者に対する固有のコードまたは識別子を作成することができる。そのような識別子は、冗長な要求を追跡し特定するために、ユーザのコンピューティングデバイス102および/または参加者のコンピューティングデバイス105によって使用され得る。
【0073】
ある実施形態では、ユーザのコンピューティングデバイス102は、特定のソフトウェア、アプリケーション、およびメッセージングフォーマットを利用して、顔のデータを送信することができる。たとえば、ユーザのコンピューティングデバイス102は、顔認識および特定アプリケーションをプロセッサによって実行することができ、このアプリケーションは、顔のデータを送信しやはりそのアプリを実行している参加者のコンピューティングデバイス105から応答メッセージを受信する。ユーザのコンピューティングデバイス102は、問い合わせメッセージを特定のコンピューティングデバイス105に送信して、デバイスが特定のソフトウェア、メッセージング、または顔のデータのフォーマットをサポートするかどうかを検出することができる。たとえば、ユーザのコンピューティングデバイス102は、選択された参加者のコンピューティングデバイス102にpingを行うことができ、これに応答して、選択された参加者のコンピューティングデバイス105は、デバイスのソフトウェア/アプリおよび顔のデータの処理能力を示すメッセージによって応答することができる。選択された参加者のコンピューティングデバイス105が特定の顔のデータまたはメッセージングのタイプをサポートしない場合、ユーザのコンピューティングデバイス102は、選択された参加者のコンピューティングデバイス105への送信のために顔のデータを再フォーマットし、または、選択された参加者を無視して次の参加者に進むことができる。
【0074】
ブロック411〜413の動作は、参加者のコンピューティングデバイス105、たとえば、ブロック406を参照して説明された動作でユーザのコンピューティングデバイス102によって選択された任意のデバイスによって実行され得る。ブロック411において、選択された参加者のコンピューティングデバイス105は、ユーザのコンピューティングデバイス102から要求メッセージを受信することができる。ブロック412において、選択された参加者のコンピューティングデバイス105は、受信されたメッセージからの顔のデータ(または顔/他の特性データ)を、選択された参加者のコンピューティングデバイス105について記憶されている情報と比較することができる。この比較手順は、ブロック402〜404を参照して上で説明された動作と同様であり得る。たとえば、選択された参加者のコンピューティングデバイス105は、受信された顔のデータを、電話帳の中に連絡先の記録として記憶されているデータと比較して、あらゆる一致する情報を特定することができる。ブロック413において、選択された参加者のコンピューティングデバイス105は、比較動作の結果を示す報告メッセージ(または応答メッセージ)、たとえば、何らかの一致が発見されたかどうかを示すメッセージを、ユーザのコンピューティングデバイス102に送信することができる。報告メッセージは、データリンク401を介して送信され得る。
【0075】
ブロック414において、ユーザのコンピューティングデバイス102は、報告メッセージ(または応答メッセージ)、たとえば、参加者のコンピューティングデバイス105によって実行される比較動作の結果を記述する報告メッセージを、選択された参加者のコンピューティングデバイス105から受信することができる。たとえば、報告メッセージは、一致が発見されたかどうかのインジケータと、発見された場合、一致する顔のデータに対応する身元および連絡先情報(たとえば、連絡先の記録)とを含み得る。報告メッセージはまた、比較パラメータ(たとえば、顔の特性の評価に対する閾値)、任意の一致の確実さまたは確率、および代替の一致(たとえば、受信された顔のデータと同様の顔の特性をやはり有する連絡先)を含み得る。ある実施形態では、報告メッセージは、選択された参加者のコンピューティングデバイス105によって実行される比較動作の成功を単に記述する、メタデータを含み得る。ある実施形態では、報告メッセージはまた、検索を続けるためのユーザのコンピューティングデバイス102に対する提案、たとえば、ユーザのコンピューティングデバイス102が顔のデータを送信し得る次の人、様々なアルゴリズムの設定、および、未知の第三者の検索をさらに行うためにユーザのコンピューティングデバイス102によって使用され得る他の状況的な手掛かりを含み得る。たとえば、ユーザのコンピューティングデバイス102は、受信された報告メッセージ内の提案に応答して、構成を変更し、顔認識ルーチンを再実行することができる。
【0076】
判定ブロック416において、ユーザのコンピューティングデバイス102は、受信された報告メッセージに基づいて、選択された参加者のコンピューティングデバイス105によって一致が発見されたかどうかを判定することができる。受信された顔のデータと、選択された参加者のコンピューティングデバイス105に記憶されている情報との間に一致が発見されたことを、報告メッセージが示す場合(すなわち、判定ブロック416=「Yes」)、ユーザのコンピューティングデバイス102は、
図2を参照して上で説明されたように、ブロック212の動作に進むことができる。しかしながら、選択された参加者の記憶されている情報の中で一致が発見されなかったことを報告メッセージが示す場合(すなわち、判定ブロック416=「No」)、判定ブロック418において、ユーザのコンピューティングデバイス102は、記憶されている情報との顔のデータの比較を実行していない、別のビデオ通話の参加者のコンピューティングデバイス105があるかどうかを判定することができる。さらなる参加者のコンピューティングデバイス105がある場合(すなわち、判定ブロック418=「Yes」)、ユーザのコンピューティングデバイス102は、次の参加者のコンピューティングデバイス105が選択され得るブロック406の動作に戻り、それを続けることができる。
【0077】
図4Bは、すべての参加者のコンピューティングデバイス105が生成された顔/他の特性データを記憶されている情報と比較し、一致が発見されなかったことを示す報告メッセージをユーザのコンピューティングデバイス102に送信した場合に実行され得る、方法400の追加の動作を示す。一致が発見されず、ユーザのコンピューティングデバイス102がすべてのビデオ通話の参加者について繰り返した状況では(すなわち、
図4Aの判定ブロック416=「No」かつ
図4Aの判定ブロック418=「No」)、ユーザのコンピューティングデバイス102は、
図4Bに示されるブロック420の動作を実行し、参加者のコンピューティングデバイス105のリストとして第1のリストを設定することができる。言い換えると、ユーザのコンピューティングデバイス102は、現在のビデオ通話(またはビデオ会話)に参加している参加者のコンピューティングデバイス105のリストを含むように、データ構造(たとえば、アレイ)を初期化することができる。第1のリストは、以下で説明される動作に基づいて、反復的に他のデバイスの身元および/または連絡先情報を含めるように変更され得る。たとえば、ユーザのコンピューティングデバイス102は、未知の第三者の連絡先情報を要求する追加のメッセージを反復的に送信するように構成され得る。
【0078】
ブロック422において、ユーザのコンピューティングデバイス102は、たとえば、
図4Aのブロック406を参照して上で説明されたのと同様の動作を使用して次の参加者のコンピューティングデバイス105を選択することによって、第1のリスト上の次のデバイスを選択することができる。ブロック424において、ユーザのコンピューティングデバイス102は、たとえば、データリンク401を使用して参加者のコンピューティングデバイス105と通信することによって、顔のデータを伴う開始メッセージを選択されたデバイスに送信することができる。開始メッセージは、受信者のコンピューティングデバイスに知られている子孫コンピューティングデバイス106(たとえば、参加者のコンピューティングデバイス105に記憶されている電話帳に含まれる子孫コンピューティングデバイス106)への顔のデータの送信を開始するように、その受信者のコンピューティングデバイスに指示し得る、命令、コード、メタデータ、指示、または他の情報を含み得る。
【0079】
ブロック451〜457の以下の動作は、選択された参加者のコンピューティングデバイス105によって実行されるものとして関連する動作を記述し、ブロック460〜462の説明は、選択された参加者のコンピューティングデバイス105に知られている(たとえば、選択された参加者のコンピューティングデバイス105の連絡先データベースに記憶されている)子孫コンピューティングデバイス106によって実行されるものとして説明される。しかしながら、一致が発見されない場合、方法400が反復的な技法を利用して顔のデータをデバイスに送信し得るので、ブロック451〜457は、様々な子孫コンピューティングデバイス106によっても実行され得る。このようにして、未知の第三者の照合のための検索は、自分自身はビデオ通話の一部ではない、ビデオ通話の参加者に知られている個人のコンピューティングデバイスにまで拡張され得る。たとえば、ビデオ通話に関与している参加者のコンピューティングデバイス105の電話帳において顔のデータの一致が発見されず、参加者のコンピューティングデバイス105の電話帳に記載されている子孫コンピューティングデバイス106に記憶されている情報において発見される一致がない場合、それらの子孫コンピューティングデバイス106は、ユーザのコンピューティングデバイス102から開始メッセージを受信することができ、ブロック451〜457の動作を実行することができる。
【0080】
ブロック451において、選択された参加者のコンピューティングデバイス105は、たとえばデータリンク401を使用した送信を介して、ユーザのコンピューティングデバイス102から開始メッセージを受信することができる。ブロック452において、選択された参加者のコンピューティングデバイス105は、選択された参加者のコンピューティングデバイス105の近くの子孫連絡先(およびそれぞれの子孫コンピューティングデバイス106)を決定することができる。子孫コンピューティングデバイス106(または子孫連絡先)は、選択された参加者のコンピューティングデバイス105の電話帳または連絡先情報のデータベース内の連絡先であり得る。たとえば、参加者のコンピューティングデバイス105は、記憶されている連絡先情報(たとえば、選択された参加者のコンピューティングデバイス105の電話帳)を評価し、未知の第三者の推定される位置の近くの子孫コンピューティングデバイス106を特定することができる。選択された参加者のコンピューティングデバイス105は、GPS座標、子孫コンピューティングデバイス106によって以前に報告された記憶されている位置情報、および、上で説明されたような連絡先の位置データを決定し記憶する他の方法を使用することによって、選択された参加者の近くに位置する/親密な子孫コンピューティングデバイス106を決定することができる。
【0081】
ある実施形態では、選択された参加者のコンピューティングデバイス105は、他の近くのデバイスの中の送受信機と無線信号を交換するように構成される、無線送受信機(たとえば、Bluetooth(登録商標)、Zigbee(登録商標)、Peanut、RFなど)を含み得る。この場合、選択された参加者のコンピューティングデバイス105は、選択された参加者のコンピューティングデバイス105によるpingの送信に応答する他のデバイスによる返信信号に基づいて、近くのデバイスを決定することができる。たとえば、選択された参加者のコンピューティングデバイス105は、Bluetooth(登録商標)送信に基づいて、発見可能な近くのデバイスを検出することができる。選択された参加者のコンピューティングデバイス105は、返信の中の情報(たとえば、Bluetooth(登録商標) MACアドレス、デバイス特定情報など)を、選択された参加者のコンピューティングデバイス105に記憶されている情報、および近くの身元の連絡先と、相互参照することができる。
【0082】
ブロック406を参照して上で説明されたユーザのコンピューティングデバイス102によって実行される選択動作と同様に、ブロック453において、選択された参加者のコンピューティングデバイス105は、受信された顔の特性データと未知の第三者を特定することに対する支援の要求とを送信するための、次の子孫コンピューティングデバイス106を繰り返し選択することができる。たとえば、選択された参加者のコンピューティングデバイス105は、選択された参加者のコンピューティングデバイス105の最も近くに位置する、または未知の第三者の推定される位置にあると判定された、子孫コンピューティングデバイス106を選ぶことができる。ユーザのコンピューティングデバイス102がブロック406〜418の動作を複数の参加者のコンピューティングデバイス105について繰り返す方法と同様に、選択された参加者のコンピューティングデバイス105は、ブロック451〜456において、子孫コンピューティングデバイス106を順番に選択し、子孫コンピューティングデバイス106に要求メッセージを送信することができる。
【0083】
ブロック454において、選択された参加者のコンピューティングデバイス105は、たとえば、有線データリンクまたはワイヤレスデータリンク472(たとえば、ピアツーピア、Bluetooth(登録商標)、LANを通じて、セルラーネットワークなど)を介してメッセージを送信することによって、受信された顔/他の特性データを伴う要求メッセージを、選択された子孫コンピューティングデバイス106に送信することができる。判定ブロック456において、選択された参加者のコンピューティングデバイス105は、要求メッセージの送信先となり得るさらなる子孫コンピューティングデバイス106があるかどうかを判定することができる。言い換えると、選択された参加者のコンピューティングデバイス105は、記憶されている情報との比較のために顔のデータを受信し得る別の子孫コンピューティングデバイス106があるかどうかを判定することができる。他の子孫コンピューティングデバイス106があると判定されると(すなわち、判定ブロック456=「Yes」)、参加者のコンピューティングデバイスは、次の子孫コンピューティングデバイスについて、ブロック453の動作の実行を続けることができる。たとえば、選択された参加者のコンピューティングデバイス105は、近くのデバイスのリストから、次の子孫コンピューティングデバイス106を選択することができる。
【0084】
他の子孫コンピューティングデバイス106はないと参加者のコンピューティングデバイス105が判定すると(すなわち、判定ブロック456=「No」)、ブロック457において、選択された参加者のコンピューティングデバイス105は、データリンク401を介した送信などで、完了報告メッセージをユーザのコンピューティングデバイス102に送信することができる。完了報告は、選択された参加者のコンピューティングデバイス105が受信された顔/他の特性データを子孫コンピューティングデバイス106のすべて(たとえば、選択された参加者のコンピューティングデバイス105の電話帳に記載されているすべてのコンピューティングデバイス106)に送信したことを示す任意の通信であってよく、メッセージがすべてのそのような子孫コンピューティングデバイス106から受信されるときをユーザコンピューティングデバイス102が検出し得るように、識別子、カウント、および/または子孫コンピューティングデバイス106についての他の情報を含み得る。
【0085】
ある実施形態では、選択された参加者のコンピューティングデバイス105は、データリンク472を介して子孫コンピューティングデバイス106によって参加者のコンピューティングデバイス105に送信されるメッセージ(たとえば、一致が存在するという確認メッセージ、一致が存在しないという否定メッセージなど)に基づいて、ブロック453の動作を続けるように構成され得る。たとえば、選択された参加者のコンピューティングデバイスは、選択された子孫コンピューティングデバイス106の報告メッセージに基づいて、一致が発見されなかったことを検出し、ブロック453の動作に進むことができる。あるいは、選択された参加者のコンピューティングデバイス105は、ユーザのコンピューティングデバイス102からの追加のメッセージ(たとえば、一致する情報が検出されない場合の定期的なプロンプト)に基づいて、ブロック453の動作を続けることができる。
【0086】
ブロック458において、ユーザのコンピューティングデバイス102は、たとえばデータリンク401を介して、選択された参加者のコンピューティングデバイス105から完了報告を受信することができ、次いで次のデバイスを選択することによって、ブロック422の動作を続けることができる。たとえば、ユーザのコンピューティングデバイス102は、ビデオ通話に現在参加しているすべての参加者のコンピューティングデバイス105のリストから、次の参加者のコンピューティングデバイス105を選択することができる。ある実施形態では、ユーザのコンピューティングデバイス102は、ブロック422の動作を再実行する前に、完了報告を待機するように構成されてよく、または代替的には、完了報告が複数の参加者のコンピューティングデバイス105から受信されるのを監視することができる。たとえば、ユーザのコンピューティングデバイス102は、任意の順序で、現在のビデオ通話に関するすべての参加者のコンピューティングデバイス105に開始メッセージを送信することができ、次いで、完了報告が各参加者のコンピューティングデバイス105から受信されるのを監視することができる。
【0087】
ブロック460において、選択された子孫コンピューティングデバイス106は、たとえばデータリンク472を介して、選択された参加者のコンピューティングデバイス105から要求メッセージ内で顔のデータを受信することができる。ブロック461において、選択された子孫コンピューティングデバイス106は、受信された顔のデータを、記憶されている情報、たとえば、子孫コンピューティングデバイス106の電話帳に記憶されている連絡先の記録と比較して、一致する可能性がある者を発見することができる。この比較手順は、ブロック402を参照して上で説明された動作と同様であり得る。ブロック462において、選択された子孫コンピューティングデバイス106は、比較動作の結果を記述する報告メッセージ(または応答メッセージ)を、ユーザのコンピューティングデバイス102に送信することができる。ある実施形態では、選択された子孫コンピューティングデバイス106はまた、報告メッセージを選択された参加者のコンピューティングデバイス105に送信することができる。
【0088】
判定ブロック463において、ユーザのコンピューティングデバイス102は、たとえば有線データリンクまたはワイヤレスデータリンク473を介したネットワークを通じて(たとえば、LAN、セルラーネットワークなどを通じて)選択された子孫コンピューティングデバイス106から報告メッセージ(または応答メッセージ)が受信されるかどうかを判定することができる。ある実施形態では、ユーザのコンピューティングデバイス102は、たとえば、受信回路またはバッファを評価することによって、受信されたメッセージ(または追加の応答メッセージ)を継続的または定期的に監視することができる。連絡先情報と顔のデータとの比較の報告が受信されないとユーザのコンピューティングデバイス102が判定すると(すなわち、判定ブロック463=「No」)、ユーザのコンピューティングデバイス102は、判定ブロック463の動作を実行し続けることができる。たとえば、ユーザのコンピューティングデバイス102は、着信するメッセージを継続的および/または定期的に確認して、そのような報告が子孫コンピューティングデバイス106から受信されるかどうかを判定することができる。
【0089】
報告が受信されるとユーザのコンピューティングデバイス102が判定すると(すなわち、判定ブロック463=「Yes」)、ブロック464において、ユーザのコンピューティングデバイス102は、第2のリストに子孫コンピューティングデバイス106についての情報、たとえば、子孫コンピューティングデバイス106の連絡先情報および/または識別子を記憶することができる。第2のリストは、ブロック422〜424を参照して上で説明されたようにデバイスを選択して開始メッセージを送信するための反復的な動作を可能にするために使用され得る。判定ブロック465において、ユーザのコンピューティングデバイス102は、受信された報告メッセージに基づいて、一致が発見されたかどうかを判定することができる。一致が発見されたと判定されると(すなわち、判定ブロック465=「Yes」)、ユーザのコンピューティングデバイス102は、
図2を参照して上で説明されたようにブロック212の動作に進むことができる。
【0090】
一致が発見されないと判定されると(すなわち、判定ブロック465=「No」)、ユーザのコンピューティングデバイス102は、判定ブロック466において、さらなる報告メッセージが着信しているかどうかを判定することができる。言い換えると、上で説明されたような、選択された参加者のコンピューティングデバイス105からの受信された完了報告の中の情報を使用して、ユーザのコンピューティングデバイス102は、子孫コンピューティングデバイス106から受信されるべき顕著な報告メッセージが残されているかどうかを特定することができる。たとえば、ユーザのコンピューティングデバイス102は、第2のリストを完了報告内の情報と比較して、予想される数の報告メッセージ(たとえば、選択された参加者のコンピューティングデバイス105に関する、各子孫コンピューティングデバイス106ごとに1つの報告メッセージ)が受信されたかどうかを判定することができる。さらなる報告が着信すると判定されると(すなわち、判定ブロック466=「Yes」)、ユーザのコンピューティングデバイス102は、判定ブロック463の動作を続けることができる。
【0091】
選択された参加者のコンピューティングデバイス105に関する報告がこれ以上子孫コンピューティングデバイス106から着信しないと判定されると(すなわち、判定ブロック466=「No」)、判定ブロック468において、ユーザのコンピューティングデバイス102は、方法400の動作ループの次のレベルなどの、次のレベルに行くかどうかを判定することができる。言い換えると、ユーザのコンピューティングデバイス102は、生成された顔/他の特性データが子孫コンピューティングデバイス106に近いデバイスと比較され得るように、子孫コンピューティングデバイス106に開始メッセージを送信すべきかどうかを判定することができる。判定ブロック468の判定は、顔のデータとの一致を検索するために何回の繰り返しが実行されるべきかを示す、ユーザのコンピューティングデバイス102に記憶されている変数、ビット、または他のデータに基づいて行われ得る。いくつかの実施形態では、ユーザのコンピューティングデバイス102は、方法400が無制限に実行されるのを防ぐために、事前に定義された数のレベルの(たとえば、子孫)のみに対する一致を探す(または要求する)ように構成され得る。ある実施形態では、判定ブロック468の判定は、タイマーに基づき得る。たとえば、タイマーの経過、閾値を超えるカウンタ値、または事前に定義された期間の満了に基づいて、ユーザのコンピューティングデバイス102は、次のレベルの検索を試さなくてよい。別の実施形態では、判定ブロック468の判定は、ユーザのコンピューティングデバイス102に報告メッセージを送信したデバイスの数(または、受信された応答メッセージの数)に基づき得る。たとえば、ある数のデバイスが、生成された顔/他の特性データと記憶されている連絡先情報との間に一致を発見できなかった場合、ユーザのコンピューティングデバイス102は、方法400を終了するように構成され得る。ユーザのコンピューティングデバイス102が次のレベルに行かないと判定する場合(すなわち、判定ブロック468=「No」)、方法400は停止し得る。
【0092】
ユーザのコンピューティングデバイス102が次のレベルに行くと判定する場合(すなわち、判定ブロック468=「Yes」)、ブロック470において、ユーザのコンピューティングデバイス102は、第2のリストを新たな第1のリストとして設定することができ、上で説明されたようなブロック422の動作で始まる処理を繰り返すことができる。たとえば、ユーザのコンピューティングデバイス102は、第2のリストから第1の子孫コンピューティングデバイス106を選択し、開始メッセージを第1の子孫コンピューティングデバイス106に送信することができる。このようにして、ユーザのコンピューティングデバイス102は、生成された顔/他の特性データに対する一致がユーザのコンピューティングデバイス102に報告されるまで、生成された顔/他の特性データが子孫の連絡先情報データベース(たとえば、電話帳)に記載されている連絡先へと子孫コンピューティングデバイス106によって送信されるように、反復的に方法400を実行し続けることができる。
【0093】
ある実施形態では、デバイスは、同じ生成された顔/他の特性データに関する冗長な要求メッセージを受信することができる。たとえば、複数の参加者のコンピューティングデバイス105の電話帳に子孫が記憶されている場合、関連する子孫コンピューティングデバイス106は、同じ既知の第三者に関する多数の要求メッセージを受信することができる。冗長な要求メッセージを処理して応答することによるデバイスへの過負荷を避けるために、生成された顔/他の特性データに関する送信を受信する各デバイスは、そのような送信の受信を記録(またはログ取得)し、冗長な後続のメッセージを拒絶することができる。デバイスは、要求メッセージのメタデータ内の固有のコード、送信の中の顔のデータの詳細(たとえば、送信された顔のデータがある特性を伴う連絡先を表す)、送信側デバイス(たとえば、ユーザのコンピューティングデバイス102、選択された参加者のコンピューティングデバイス105など)、および/またはメッセージのタイムスタンプ情報を評価することによって、冗長性を判定することができる。たとえば、デバイスは、同様の顔/他の特性データを記述する以前のメッセージを受信してからある期間内にデバイスがメッセージを受信する場合、そのメッセージを冗長であると判定することができる。メッセージが以前に対処された顔のデータに関するものであり、したがって冗長である場合、特定の連絡先のデバイスは、メッセージを無視し、かつ/または冗長性を示すメッセージを送信することができる。
【0094】
ある実施形態では、ユーザのコンピューティングデバイス102は、生成された顔/他の特性データを受信したすべてのデバイスのリストを保持することができる。いずれかのデバイスの記憶されている情報の中で一致が発見される場合(すなわち、判定ブロック404=「Yes」または判定ブロック416=「Yes」)、それが参加者のコンピューティングデバイス105かまたは参加者のコンピューティングデバイスの連絡先(たとえば、子孫コンピューティングデバイス106)かにかかわらず、ユーザのコンピューティングデバイス102は、検索が完了したことを示すすべてのデバイスにメッセージを送信することができる。ある実施形態では、ユーザのコンピューティングデバイス102は、生成された顔/他の特性データを受信したすべてのデバイスに、未知の第三者の身元および連絡先情報を提供することができる。
【0095】
別の実施形態では、ユーザは、ビデオ通話の参加者であることもまたはないこともある特定の受信者へ身元特定要求メッセージを直接送信することによって、未知の第三者を特定することができる。たとえば、ユーザのコンピューティングデバイス102は、休暇中でビデオ通話に関与していないユーザの友人のデバイスに、身元特定要求メッセージを送信することができる。別の例として、身元特定要求メッセージは、ビデオ通話の参加者のコンピューティングデバイスに送信され得る。身元特定要求メッセージは、ビデオ通話の通信とは別個の送信であってよく、電子メール、特定用途向けメッセージング(たとえば、チャットプログラム通信)、およびSMSテキストメッセージのような、様々な電子メッセージデータのフォーマットで送信され得る。身元特定要求メッセージは、生成された顔/他の特性データおよび/またはビデオ通話と関連付けられるビデオ画像を含んでよく、特定の受信者のデバイスによって自動的に扱われ得る。たとえば、特定の受信者のデバイスは、身元特定要求メッセージを受信し、特定の受信者のデバイスに記憶されている連絡先情報および写真を、要求送信内の情報と直ちに比較することができる。あるいは、身元特定要求は、送信された画像を見てユーザの要求に応答するように特定の受信者に要求する、明示的なプロンプトであり得る。たとえば、ユーザのコンピューティングデバイス102は、未知の第三者の画像を見てその身元を答える可能性のある友人に、身元特定要求メッセージを送信することができる。ビデオ通話の参加者に送信される身元特定要求メッセージは、ビデオ通話の中で表され得る可聴の身元特定を行うように、参加者に促し得る。たとえば、参加者は、身元特定要求メッセージを受信し、「未知の第三者はスミスさんです」と口頭で応答することができる。ある実施形態では、ユーザのコンピューティングデバイス102は、特定の受信者がビデオ通話の参加者ではない場合、未知の第三者の写真を、特定の受信者またはビデオ通話データ(たとえば、ストリーミングビデオ画像)と共有することができる。別の実施形態では、身元特定要求メッセージはまた、未知の第三者が話しているときのオーディオサンプルなどの、オーディオデータを含んでよく、特定の受信者デバイスはこのオーディオデータを、関連する画像(たとえば、ビデオ通話のビデオデータから取られた「静止場面」の写真)とは別個に、またはそれと組み合わせてレンダリングすることができる。
【0096】
図4Cは、実施形態の方法400を実施するのに適している可能性がある、擬似コード480を示す。擬似コード480は、任意の従来のプログラミング言語またはスクリプト言語を使用して、反復的な関数として実装されてよく、ユーザのコンピューティングデバイス、参加者のコンピューティングデバイス、または任意の他のコンピューティングデバイスによって実行され得る。
【0097】
図5Aは、ユーザのコンピューティングデバイスが身元確認メッセージを他のデバイスに送信して、位置情報に基づいて未知の第三者の可能性のある一致を確認する、ある実施形態の方法500を示す。方法500は、一致する可能性がある者のリストを利用して、一致する可能性がある者のコンピューティングデバイスによる追加の近接度の評価を引き出す(または要求する)メッセージ(すなわち、身元確認メッセージ)の送信に基づいて、未知の第三者の身元を確認することができる。上で説明されたように、一致する可能性がある者は、様々な実施形態と関連付けられる様々なコンピューティングデバイスの連絡先情報(たとえば、記憶されている電話帳、連絡先データベースなど)の中で発見される連絡先であり得る。一致する可能性がある者は、生成された顔/他の特性データ、声確認データ、および/または未知の第三者の身元を決定するために使用される任意の他の情報に対して、類似性がある閾値の許容範囲内にある、対応する顔のデータを有し得る。
【0098】
一致する可能性がある者を確認するための方法500は、実施形態の方法400、600、700の中の動作と一緒に、または代替的には、複数の一致する可能性がある連絡先の存在をコンピューティングデバイスが判定したことに応答した別個の活動として、行われ得る。たとえば、方法500は、上で説明された判定ブロック416の動作の間に、ユーザのコンピューティングデバイスによって実行され得る。別の例として、参加者のコンピューティングデバイスおよび子孫コンピューティングデバイスは、ユーザのコンピューティングデバイスに報告メッセージを送信する前に、方法500の身元確認動作を実行することができる。以下の説明はユーザのコンピューティングデバイスによって開始される動作を示すが、方法500は、ユーザのコンピューティングデバイス、参加者のコンピューティングデバイス、および子孫コンピューティングデバイスを含む、ビデオ通話に現れる未知の第三者を特定するための動作と関連付けられる任意のコンピューティングデバイスによって実行され得る。
【0099】
ブロック501において、ユーザのコンピューティングデバイスは、判定ブロック404および416の動作を参照して上で説明された評価に基づいて、一致する可能性がある者のリストを決定することができる。このリストは、2つ以上の一致する可能性がある者を含んでよく、一致する可能性がある者と関連付けられるデバイス連絡先情報(たとえば、スマートフォン番号、電子メールなど)、さらには、一致する可能性がある者の情報を提供したデバイス(たとえば、ビデオ通話の参加者のコンピューティングデバイス、子孫コンピューティングデバイスなど)の識別情報を含む、データテーブルであり得る。たとえば、データテーブルは、一致する可能性がある者の情報を含む報告メッセージをユーザのコンピューティングデバイスに送信した、子孫コンピューティングデバイスの識別情報を含み得る。加えて、データテーブルは、一致する可能性がある者の情報を提供したデバイスの、GPS座標などの位置情報を含み得る。
【0100】
ブロック502〜508において、ユーザのコンピューティングデバイスは、一致する可能性がある者のコンピューティングデバイスの各々にメッセージを繰り返し送信するための、動作ループを実行することができる。ブロック502において、ユーザのコンピューティングデバイスは、次の一致する可能性がある者を選択し、データテーブルから対応する連絡先情報(たとえば、スマートフォンの連絡先番号)を特定することができる。ブロック504において、ユーザのコンピューティングデバイスは自動的に、一致する可能性があるデバイスの位置情報に基づいて、一致確認を要求する身元確認メッセージを選択された一致する可能性がある者のコンピューティングデバイスに送信することができる。たとえば、身元確認メッセージは、一致する可能性がある者のコンピューティングデバイスのGPS座標を含めて応答するように、選択された一致する可能性がある者のコンピューティングデバイスに指示することができる。ある実施形態では、ユーザのコンピューティングデバイスは、ビデオ通話の参加者の位置情報(たとえば、GPS座標)を一致する可能性がある者に送信し、参加者までの距離の値を計算するように一致する可能性がある者のコンピューティングデバイスに要求することができる。たとえば、身元確認メッセージは、未知の第三者を示すビデオ画像を生成した参加者のコンピューティングデバイスまでの距離を求めるように、選択された一致する可能性があるコンピューティングデバイスに指示することができる。ブロック506において、ユーザのコンピューティングデバイスは、一致する可能性がある者のコンピューティングデバイスから応答メッセージを受信することができ、その中の位置情報を記録することができる。
【0101】
判定ブロック508において、ユーザのコンピューティングデバイスは、連絡すべき別の一致する可能性のあるコンピューティングデバイスがあるかどうかを判定することができる。別のデバイスがある場合(すなわち、判定ブロック508=「Yes」)、ユーザのコンピューティングデバイスは、ブロック502の動作により動作ループを続けることができ、ユーザのコンピューティングデバイスが身元確認メッセージをすべての一致する可能性がある者のコンピューティングデバイスに送信するまで、ループを続けることができる。ある実施形態では、身元確認メッセージが一致する可能性がある者のコンピューティングデバイスによって応答されない場合、ユーザのコンピューティングデバイスは、事前に定義された待機期間の後で動作ループを続けることができ、身元確認メッセージを再送信することができ、かつ/または、身元確認メッセージを送信すべき代替的なコンピューティングデバイスの連絡先のアドレスを決定することができる。
【0102】
連絡すべき一致する可能性があるコンピューティングデバイスがこれ以上ない場合(すなわち、判定ブロック508=「No」)、判定ブロック510において、ユーザのコンピューティングデバイスは、受信された応答メッセージ(すなわち、一致確認)に基づいて、一致する可能性がある者のいずれかが参加者の近くにいると確認されるかどうかを判定することができる。上で説明されたように、応答メッセージは、含まれる位置情報に基づいて、一致を確認(または否定)することができる(すなわち、一致する可能性がある者の位置情報はビデオ参加者に対する近接を示す)。たとえば、ユーザのコンピューティングデバイスは、一致する可能性がある者のコンピューティングデバイスのいずれかが、ビデオ通話の参加者のいずれかから近い距離にあると報告したかどうかを、特定することができる。ある実施形態では、近い距離は、デフォルトで、またはユーザの構成ファイルにより与えられる、事前に定義された閾値によって定義され得る。応答メッセージが距離の代わりに一致する可能性がある者のGPS座標を含んでいた場合、ユーザのコンピューティングデバイスは、データテーブルに記憶されている位置情報に基づいて、様々な一致する可能性がある者のコンピューティングデバイスと、様々なビデオ通話の参加者のコンピューティングデバイスとの間の距離を計算することができる。あるいは、ユーザのコンピューティングデバイスは、事前に取得されない場合、ビデオ通話の参加者の位置情報を要求することができる。
【0103】
一致する可能性がある者のコンピューティングデバイスのいずれもが、いずれのビデオ通話の参加者にも近くないと判定される場合(すなわち、判定ブロック510=「No」)、ブロック512において、ユーザのコンピューティングデバイスは、すべての一致する可能性がある者を無視する(たとえば、生成された顔/他の特性データと一致しないものとして標識する)ことができ、方法500は終了し得る。ある実施形態では、いずれもがビデオ通話の参加者の近隣の範囲内にないときにすべての一致する可能性がある者を無視する前に、ユーザのコンピューティングデバイスは、ブロック516の動作を参照して以下で説明されるように、一致する可能性がある者の各々に、追加の確認メッセージを送信することができる。
【0104】
しかしながら、少なくとも1つの一致する可能性がある者が、ビデオ通話の参加者の近くにいると判定される場合(すなわち、判定ブロック510=「Yes」)、ユーザのコンピューティングデバイスは、判定ブロック514において、複数の一致する可能性がある者のコンピューティングデバイスがビデオ通話の参加者の近くにあるかどうかを判定することができる。複数の近くにいる一致する可能性がある者が存在しない場合(すなわち、判定ブロック514=「No」)、ユーザのコンピューティングデバイスは、ブロック518において、ビデオ通話の参加者の近くにいると報告された唯一の一致する可能性がある者として、未知の第三者を特定することができる。
【0105】
複数の一致する可能性がある者のコンピューティングデバイスがビデオ通話の参加者の近くにある場合(すなわち、判定ブロック514=「Yes」)、ブロック516において、ユーザのコンピューティングデバイスは、追加の確認メッセージを、様々な一致する可能性がある者のコンピューティングデバイスに送信することができる。追加の確認メッセージは、一致する可能性がある者に、自分がビデオ通話の画像の中に現れているかどうかに関して応答するように、促すことができる。たとえば、追加の確認メッセージは、応答メッセージを提供するように一致する可能性がある者に要求する、ダイアログボックス、テキストメッセージ、または電子メールを表示するように、一致する可能性がある者のコンピューティングデバイスに促すことができる。別の例として、追加の確認メッセージを受信する一致する可能性がある者は、可聴の/可視の確認がビデオ通話データの中で検出され得るように、自分がビデオ通話の参加者の近くにいることを、音声または視覚により確認する(たとえば、話す、または物理的な動作を行う)ように促され得る。ある実施形態では、複数の一致する可能性がある者がビデオ通話の参加者の近くにいる場合、ユーザのコンピューティングデバイスは、一致する可能性がある者の各々の顔のデータを再び精査することができ、顔認識アルゴリズムの許容範囲を狭めて(すなわち、低くして)、生成された顔/他の特性データに対する顔のデータの類似性がより低い、一致する可能性がある者を無視することができる。別の方法では、ユーザのコンピューティングデバイスは、顔のデータ以外の追加の基準、たとえば、目立つ標識(たとえば、刺青、ほくろ、Tシャツまたは帽子に書かれているロゴ/商標など)、連絡先の記録と関連付けられる声/オーディオデータ、および/またはビデオ通話の画像からの唇の動きの情報を使用して、ビデオ通話の参加者の近くに位置する、複数の一致する可能性がある者を評価することができる。ある実施形態では、複数の近くにいる一致する可能性がある者が存在する場合、ユーザのコンピューティングデバイスは、未知の第三者の身元を、未知の第三者を示すビデオ画像を生成した参加者のコンピューティングデバイスに最も近い(たとえば、距離が最短である)者として、決定することができる。
【0106】
ある実施形態では、ユーザのコンピューティングデバイスは、様々な一致する可能性がある者の近くにあると報告されたビデオ通話の参加者のコンピューティングデバイスに、確認メッセージを送信することができる。たとえば、ビデオ通話の参加者のコンピューティングデバイスは、未知の第三者のビデオ画像を含み、一致する可能性がある連絡先が未知の第三者であることを確認するようにそれぞれのビデオ通話の参加者に要求する、確認メッセージを受信することができる。
【0107】
ある実施形態では、ユーザのコンピューティングデバイスは代替的に、リストから一致する可能性がある連絡先を選択するようにユーザに促すことができ、それに応答して、選択された一致する可能性があるコンピューティングデバイスに身元確認メッセージを送信することができる。別の実施形態では、ユーザのコンピューティングデバイスは、身元確認メッセージの結果を継続的に表示してよく、または代替的に、方法500の動作のすべてを自動的に行い、一致が確認されたときにユーザに促すだけてもよい。別の実施形態では、ユーザのコンピューティングデバイスは、ユーザが見ることによって何人かの一致する可能性がある者を迅速に除外できるように、すべての一致する可能性がある者の画像を表示することができる。たとえば、ユーザのコンピューティングデバイスは、すべての一致する可能性がある者の写真をレンダリングすることができ、それに応答して、ユーザは、確認または拒絶の入力データを提供することができる。
【0108】
図5Bは、ユーザのコンピューティングデバイスが身元確認メッセージをコンピューティングデバイスに送信して、様々な連絡先データベース内のオーディオデータに基づいて未知の第三者の一致する可能性がある者を確認する、ある実施形態の方法550を示す。ユーザのコンピューティングデバイスが、一致する可能性のある者のコンピューティングデバイス内の声確認動作のために構成されるオーディオデータを含む身元確認メッセージを送信し得ることを除いて、方法550は上で説明された方法500と同様である。ブロック501において、ユーザのコンピューティングデバイスは、顔のデータの比較に基づいて、一致する可能性がある者のリストを決定することができる。ブロック551において、ユーザのコンピューティングデバイスは、未知の第三者の声を表すオーディオデータを生成することができる。上で説明されたように、オーディオデータは、少なくとも、ビデオ通話データの画像の中の唇の動きを分析し、未知の第三者の関連するオーディオ情報を分離することによって、生成され得る。
【0109】
ブロック502において、ユーザのコンピューティングデバイスは、ブロック501の動作で決定されたような、リスト中の次の一致する可能性がある者などの、次の一致する可能性がある者を選択することができる。ブロック552において、ユーザのコンピューティングデバイスは、選択された一致する可能性がある者と関連付けられるデバイス(または選択された一致する可能性があるデバイス)に、生成されたオーディオデータを含む身元確認メッセージを送信して、生成されたオーディオデータに基づく一致確認を要求することができる。身元確認メッセージを受信したことに基づいて、選択された一致する可能性があるデバイスは、身元確認メッセージのオーディオデータを、ローカルに記憶されているオーディオデータ(たとえば、ローカルに記憶されている連絡先のデータベース内のオーディオデータ)と比較して、オーディオデータに基づいて一致を確認すべきかどうかを判定することができる。ある実施形態では、身元確認メッセージは、選択された一致する可能性があるデバイスのユーザに、選択された一致する可能性があるデバイスへと話すことによってオーディオデータを生成するように促し得る。たとえば、身元確認メッセージは、身元確認メッセージのオーディオデータによって表されるものと同じ何らかの語句を言うように、選択された一致する可能性があるデバイスのユーザに要求することができる。
【0110】
ブロック553において、ユーザのコンピューティングデバイスは、選択された一致する可能性があるデバイスから応答メッセージを受信することができる。判定ブロック554において、ユーザのコンピューティングデバイスは、受信された応答メッセージに基づいて、一致が確認されたかどうかを判定することができる。応答メッセージは、一致が発見されたかどうかを示す、コードまたは他の情報を含み得る。ある実施形態では、応答メッセージは、一致があるかどうかを判定するためにユーザのコンピューティングデバイスが評価し得る、選択された一致する可能性があるデバイスからのオーディオデータを含み得る。受信された応答メッセージに基づいて一致が確認されない場合(すなわち、判定ブロック554=「No」)、判定ブロック508において、ユーザのコンピューティングデバイスは、評価すべきさらなる一致する可能性がある者がいるかどうかを判定することができる。評価すべき者がいる場合(すなわち、判定ブロック508=「Yes」)、ユーザのコンピューティングデバイスは、ブロック502において、一致する可能性がある者を繰り返し選択し続けることができる。一致する可能性がある者がこれ以上いない場合(すなわち、判定ブロック508=「No」)、ブロック558において、ユーザのコンピューティングデバイスは、追加の確認メッセージを、一致する可能性があるデバイスのすべてに送信することができる。これらの追加の確認メッセージは、ブロック516の動作を参照して上で説明されたものと同様である。
【0111】
一致する可能性があるデバイスからの受信された応答メッセージに基づいて一致が確認される場合(すなわち、判定ブロック554=「Yes」)、ブロック556において、ユーザのコンピューティングデバイスは、オーディオデータに基づいて一致を確認した、選択された一致する可能性がある者として、未知の第三者を特定することができる。
【0112】
ある実施形態では、ユーザのコンピューティングデバイスは、応答メッセージに含まれる情報とは無関係に、身元確認メッセージをすべての一致する可能性があるデバイスに送信することができる。たとえば、ユーザのコンピューティングデバイスは、後で記憶して評価するために、すべての一致する可能性があるデバイスからの確認情報を要求し得る。別の例として、ユーザのコンピューティングデバイスは、受信された応答メッセージ中のオーディオデータと、送信された身元確認メッセージ中のオーディオデータとの類似性のレベルに基づいて、すべての一致する可能性があるデバイスから確認データを受信し、それらを順位付けることができる。
【0113】
様々な実施形態では、上で説明されたような身元確認メッセージは、位置情報(および近接度の評価)、顔のデータ(たとえば、生成された顔/他の特性データ、写真、ビデオ通話データから取られた静止画像など)、オーディオデータ(たとえば、声のオーディオサンプル、連絡先を表現する声確認データなど)、および/または、一致する可能性がある者による可聴/可視の動作の促進の、任意の組合せを使用して、一致する可能性がある者を確認するように、受信者のコンピューティングデバイスに促し得る。たとえば、ユーザのコンピューティングデバイスから身元確認メッセージを受信する一致する可能性があるコンピューティングデバイスは、身元確認メッセージ内のオーディオデータをローカルに記憶されているオーディオデータと比較して、手を振るように一致する可能性があるユーザに促すことによって、一致を確認することができる。
【0114】
図6Aおよび
図6Bは、ユーザのコンピューティングデバイスにおいて様々なデバイスからの連絡先情報を受信することによって未知の第三者を検索する、ある実施形態の方法600を示す。
図6Aにおいて、参加者のコンピューティングデバイス105(および子孫コンピューティングデバイス106)に生成された顔/他の特性データを送信する代わりに、ユーザのコンピューティングデバイス102がユーザのコンピューティングデバイス102において、生成された顔/他の特性データに対するローカルの評価のための連絡先情報を繰り返し要求し受信し得るということを除き、実施形態の方法600は上で説明された方法400と同様である。
【0115】
上で説明されたように、ブロック402において、ユーザのコンピューティングデバイス102は、ブロック209の動作で生成された顔のデータのような、未知の第三者の生成された顔/他の特性データを、ユーザのコンピューティングデバイス102に記憶されている連絡先データと比較することができる。判定ブロック404において、ユーザのコンピューティングデバイス102は、記憶されている情報の中のいずれかのデータが未知の第三者の生成された顔/他の特性データと一致するかどうかを判定することができる。ユーザのコンピューティングデバイス102が、生成された顔/他の特性データと、記憶されている情報において連絡先と関連付けられる顔のデータとの一致を発見する場合(すなわち、判定ブロック404=「Yes」)、ユーザのコンピューティングデバイス102は、
図2を参照して上で説明されたように、ブロック212の動作を継続することができる。
【0116】
ユーザのコンピューティングデバイス102に含まれる記憶されている情報の中で一致が発見されない場合(すなわち、判定ブロック404=「No」)、ユーザのコンピューティングデバイス102は動作ループを実行することができ、この動作ループにおいて、ユーザのコンピューティングデバイス102が未知の第三者に対する検索を継続するためにビデオ通話の参加者のコンピューティングデバイス105の各々と連絡し得る。したがって、ブロック406において、ユーザのコンピューティングデバイス102は、次のビデオ通話の参加者のコンピューティングデバイス105を選択することができる。ビデオ通話が複数の参加者を含む場合、ユーザのコンピューティングデバイス102は、すべての参加者が最大でも1回連絡されるように、特定の順序で各参加者に連絡することができる。ブロック408において、ユーザのコンピューティングデバイス102は、たとえば、ローカルの電話帳にアクセスすること、連絡先情報データベースにアクセスすること、または、参加者の情報を取り出す他の技法によって、選択された参加者のコンピューティングデバイス105と通信するための連絡先情報を取り出す(または探す)ことができる。
【0117】
ブロック602において、取り出された連絡先情報を使用して、ユーザのコンピューティングデバイス102は、参加者のコンピューティングデバイス105に記憶されている連絡先情報を要求するメッセージを、その参加者のコンピューティングデバイス105に送信することができる。たとえば、要求メッセージは、データリンク401を介して、選択された参加者のコンピューティングデバイス105に送信され得る。要求メッセージは、参加者のコンピューティングデバイス105に知られている様々な連絡先の連絡先情報を収集し返信するように、参加者のコンピューティングデバイス105に促し得る。たとえば、要求メッセージは、電話帳情報を含むメッセージをデータリンク401を介して送信するように、選択された参加者のコンピューティングデバイス105に指示する、コードまたは命令を含み得る。要求メッセージは、SMSメッセージまたは電子メールメッセージのような、コンピューティングデバイス間の任意のタイプのメッセージングを介して送信されてよく、ユーザのコンピューティングデバイス102は、そのようなメッセージングにより、顔/他の特性データを配信することができる。要求メッセージは、ユーザのコンピューティングデバイス102が選択された参加者のコンピューティングデバイス105から連絡先情報を受信することを許可され得ることを示す、コードまたは他の秘密情報を含み得る。
【0118】
ブロック610において、選択された参加者のコンピューティングデバイス105は、ユーザのコンピューティングデバイス102から要求メッセージを受信することができる。ブロック611において、選択された参加者のコンピューティングデバイス105は、受信された要求メッセージに基づいて、ユーザのコンピューティングデバイス102に連絡先情報を送信することができる。たとえば、選択された参加者のコンピューティングデバイス105は、電話帳の記録(たとえば、電子メールアドレス、名前、住所、顔/他の特性データ、画像など)のような連絡先データをパッケージ化して、パッケージ化されたデータを、データリンク401を介してメッセージ(または応答メッセージ)中で送信することができる。
【0119】
ブロック612において、ユーザのコンピューティングデバイス102は、選択された参加者のコンピューティングデバイス105から、連絡先情報、たとえば、選択された参加者のコンピューティングデバイス105に知られている人の顔のデータの情報を含むメッセージを、受信することができる。
【0120】
ブロック613において、ユーザのコンピューティングデバイス102は、選択された参加者のコンピューティングデバイス105から受信された連絡先情報を、生成された顔/他の特性データと比較することができる。ユーザのコンピューティングデバイスは、参加者のコンピューティングデバイス105によって送信された連絡先情報を、ユーザのコンピューティングデバイス102にローカルに記憶されている情報と統合することができる。たとえば、選択された参加者のコンピューティングデバイス105からの情報の配信を受信すると、ユーザのコンピューティングデバイス102は、選択された参加者のコンピューティングデバイス105によって送信された情報のすべてを、ユーザのコンピューティングデバイス102に記憶されている連絡先情報データベースに追加することができる。ユーザのコンピューティングデバイス102は、生成された顔/他の特性データと、組み合わされた記憶されている連絡先情報または参加者のコンピューティングデバイス105から受信された情報のみのいずれかとの間の一致を検索することができる。ある実施形態では、ユーザのコンピューティングデバイス102は、参加者のコンピューティングデバイス105からの受信された連絡先情報を使用して、ユーザの電話帳の中の既存の連絡先情報を補足または修正することができる。たとえば、ユーザのコンピューティングデバイス102は、受信された参加者の情報に基づいて、追加の電子メールアドレスをある個人に対する連絡先の記録に追加することができる。
【0121】
図4Aを参照して上で説明されるように、判定ブロック404において、ユーザのコンピューティングデバイス102は、一致、たとえば、未知の第三者の顔/他の特性データと記憶されている連絡先情報との一致が発見されるかどうかを判定することができる。一致が発見されると(すなわち、判定ブロック404=「Yes」)、ユーザのコンピューティングデバイス102は、
図2のブロック212を参照して上で説明された動作を続けることができる。しかしながら、一致が発見されない場合(すなわち、判定ブロック404=「No」)、ユーザのコンピューティングデバイス102は、判定ブロック418において、選択すべき別のビデオ参加者(すなわち、次の参加者のコンピューティングデバイス105)がいるかどうかを判定することができる。選択し連絡すべき追加の参加者のコンピューティングデバイス105がいると判定される場合(すなわち、判定ブロック418=「Yes」)、ユーザのコンピューティングデバイスは、ブロック406の動作を続けることができ、他の参加者のコンピューティングデバイス105からの連絡先情報を要求することによって、上で説明された方式で参加者のコンピューティングデバイスについて繰り返すことができる。
【0122】
図6Bは、すべての参加者のコンピューティングデバイス105からの連絡先情報が生成された顔/他の特性データとユーザのコンピューティングデバイス102によって比較され、一致が発見されなかった場合に実行され得る、方法600の追加の動作を示す。一致が発見されず、ユーザのコンピューティングデバイス102がすべてのビデオ通話の参加者について繰り返した(すなわち、
図6Aの判定ブロック404=「No」かつ
図6Aの判定ブロック418=「No」)という、この状況では、ユーザのコンピューティングデバイス102は、
図6Bのブロック420に戻り、ループを通じて別のパスを実行して、要求メッセージを近くの(または近接した)子孫コンピューティングデバイス106へ送信するように各々の参加者のコンピューティングデバイス105に促すことができる。
【0123】
上で説明されたように、ブロック420において、ユーザのコンピューティングデバイス102は、参加者のコンピューティングデバイス105のリストとして、第1のリストを設定することができる。ブロック422において、ユーザのコンピューティングデバイス102は、たとえば、ブロック406で説明されたのと同様の動作を使用して参加者のコンピューティングデバイス105を選択することによって、第1のリスト上の次のデバイスを選択することができる。ブロック650において、ユーザのコンピューティングデバイス102は、たとえば、データリンク401を使用して選択された参加者のコンピューティングデバイス105と通信することによって、開始メッセージを選択されたデバイスに送信することができる。開始メッセージは、さらなる処理のために連絡先情報がユーザのコンピューティングデバイス102に送信されることを要求するメッセージを、子孫コンピューティングデバイス106へ送信することを開始するように、受信者のデバイスに指示し得る、命令、コード、メタデータ、指示、または他の情報を含み得る。
【0124】
ブロック651〜652および452〜457の以下の説明は、選択された参加者のコンピューティングデバイス105によって実行されるものとして関連する動作を説明し、ブロック660〜662の説明は、選択された参加者のコンピューティングデバイス105に知られている子孫コンピューティングデバイス106によって実行されるものとして説明される。しかしながら、方法600は反復的な技法を利用して、ユーザのコンピューティングデバイス102に配信されるべき連絡先情報に対する要求を送信することができるので、ブロック651〜652および452〜457は、様々な子孫コンピューティングデバイス106によっても同様の方式で実行され得る。たとえば、動作パラメータ(たとえば、方法600の動作を反復的に実行する回数の閾値)に基づいて、子孫コンピューティングデバイス106はまた、ユーザのコンピューティングデバイス102から開始メッセージを受信することができ、ブロック651〜652および452〜457の動作を実行することができる。
【0125】
ブロック651において、選択された参加者のコンピューティングデバイス105は、たとえばデータリンク401を使用した送信を介して、ユーザのコンピューティングデバイス102から開始メッセージを受信することができる。ブロック452において、選択された参加者のコンピューティングデバイス105は、選択された参加者のコンピューティングデバイス105の近くの子孫連絡先(およびそれぞれの子孫コンピューティングデバイス106)を決定することができる。ブロック406を参照して上で説明されたようなユーザのコンピューティングデバイス102によって実行される選択動作と同様に、ブロック453において、選択された参加者のコンピューティングデバイス105は、未知の第三者の特定を可能にするためにユーザのコンピューティングデバイス102に送信されるべき連絡先情報に対する要求を送信するために、次の子孫コンピューティングデバイス106を繰り返し選択することができる。
【0126】
652において、選択された参加者のコンピューティングデバイス105は、要求メッセージ、たとえば、子孫コンピューティングデバイス106に記憶されている連絡先情報がユーザのコンピューティングデバイス102に送信されることを要求するメッセージを、選択された子孫コンピューティングデバイス106に送信することができる。要求メッセージは、有線データリンクまたはワイヤレスデータリンク472を使用して送信されてよく、選択された子孫コンピューティングデバイス106がメッセージをユーザのコンピューティングデバイス102に送信できるように、ユーザのコンピューティングデバイス102に対する返信アドレス情報(たとえば、返信IPアドレス、電子メールアドレスなど)を含み得る。ある実施形態では、返信アドレス情報は、ユーザのコンピューティングデバイス102のユーザの身元を特定してもまたはしなくてもよい(たとえば、匿名の連絡先情報のみが与えられ得る)。判定ブロック456において、選択された参加者のコンピューティングデバイス105は、要求メッセージの送信先となり得るさらなる子孫コンピューティングデバイス106があるかどうかを判定することができる。他の子孫コンピューティングデバイス106があると判定されると(すなわち、判定ブロック456=「Yes」)、動作ループはブロック453の動作を続けることができる。選択すべき、選択された参加者のコンピューティングデバイス105に対する他の子孫コンピューティングデバイス106がない場合(すなわち、判定ブロック456=「No」)、ブロック457において、選択された参加者のコンピューティングデバイス105は、上で説明されたようなデータリンク401を介した送信などで、完了報告メッセージをユーザのコンピューティングデバイス102に送信することができる。
【0127】
ブロック458において、ユーザのコンピューティングデバイス102は、たとえばデータリンク401を介して、選択された参加者のコンピューティングデバイス105から完了報告を受信することができ、次いで次のデバイスを選択することによって、ブロック422の動作を続けることができる。
【0128】
ブロック660において、選択された子孫コンピューティングデバイス106は、たとえばデータリンク472を介して、選択された参加者のコンピューティングデバイス105から要求メッセージを受信することができる。ブロック662において、選択された子孫コンピューティングデバイス106は、要求メッセージを受信したことに基づいて、ユーザのコンピューティングデバイス102に、記憶されている連絡先情報を送信することができる。たとえば、子孫コンピューティングデバイス106は、子孫コンピューティングデバイス106に記憶されている連絡先データベースからのデータ記録を含む応答メッセージを、パッケージ化して送信することができる。ある実施形態では、選択された子孫コンピューティングデバイス106はまた、記憶されている連絡先情報を示すメッセージを、選択された参加者のコンピューティングデバイス105に送信することができる。
【0129】
判定ブロック663において、ユーザのコンピューティングデバイス102は、たとえば有線データリンクまたはワイヤレスデータリンク473を介して(たとえば、LAN、セルラーネットワークなどを通じて)選択された子孫コンピューティングデバイス106からメッセージ(または応答メッセージ)が受信されるかどうかを判定することができる。ある実施形態では、ユーザのコンピューティングデバイス102は、たとえば、受信回路またはバッファを評価することによって、受信されたメッセージ(または追加の応答メッセージ)を継続的または定期的に監視することができる。加えて、ユーザのコンピューティングデバイス102は、任意の受信されたメッセージを評価して、そのような受信されたメッセージが子孫コンピューティングデバイス106からのものかどうか、および/または連絡先情報に対する要求に応答したものかどうかを判定することができる。たとえば、ユーザのコンピューティングデバイス102は、受信されたメッセージの中のデータを解析し、分析し、別様に処理して、メッセージが連絡先データを含むかどうかを判定することができる。連絡先情報を有するメッセージが受信されないとユーザのコンピューティングデバイス102が判定すると(すなわち、判定ブロック663=「No」)、ユーザのコンピューティングデバイス102は、判定ブロック663の動作を実行し続けることができる。たとえば、ユーザのコンピューティングデバイス102は、着信するメッセージを継続的および/または定期的に確認して、連絡先情報が受信されるかどうかを判定することができる。連絡先情報を有するメッセージが受信されるとユーザのコンピューティングデバイス102が判定すると(すなわち、判定ブロック663=「Yes」)、ブロック464において、ユーザのコンピューティングデバイス102は、第2のリストに子孫コンピューティングデバイス106についての情報、たとえば、子孫コンピューティングデバイス106の連絡先情報および/または識別子を記憶することができる。
【0130】
ブロック664において、ユーザのコンピューティングデバイス102は、顔のデータ(または顔/他の特性データ)を、子孫コンピューティングデバイス106からの受信されたメッセージ中の連絡先情報と比較することができる。ブロック664の動作は、ブロック613を参照して上で説明された動作と同様であり得る。判定ブロック416において、ユーザのコンピューティングデバイス102は、比較に基づいて、一致が発見されたかどうかを判定することができる。一致が発見されたと判定されると(すなわち、判定ブロック416=「Yes」)、ユーザのコンピューティングデバイス102は、
図2を参照して上で説明されたようにブロック212の動作に進むことができる。一致が発見されないと判定されると(すなわち、判定ブロック416=「No」)、判定ブロック667において、ユーザのコンピューティングデバイス102は、子孫コンピューティングデバイス106からさらなるメッセージが着信しているかどうかを判定することができる。言い換えると、上で説明されたような、選択された参加者のコンピューティングデバイス105からの受信された完了報告の中の情報を使用して、ユーザのコンピューティングデバイス102は、子孫コンピューティングデバイス106から受信されるべき、連絡先情報を有する顕著なメッセージが残されているかどうかを特定することができる。たとえば、ユーザのコンピューティングデバイス102は、第2のリストを完了報告内の情報と比較して、予想される数のメッセージ(たとえば、選択された参加者のコンピューティングデバイス105に関する、各子孫コンピューティングデバイス106当たり、連絡先情報を有する1つの報告メッセージ)が受信されたかどうかを判定することができる。さらなるメッセージが着信すると判定されると(すなわち、判定ブロック667=「Yes」)、ユーザのコンピューティングデバイス102は、判定ブロック663の動作を続けることができる。
【0131】
選択された参加者のコンピューティングデバイス105に関するメッセージがこれ以上子孫コンピューティングデバイス106から着信しないと判定されると(すなわち、判定ブロック667=「No」)、判定ブロック468において、ユーザのコンピューティングデバイス102は、方法600の動作ループの次のレベルなどの、次のレベルに行くかどうかを判定することができる。言い換えると、ユーザのコンピューティングデバイス102は、さらなる連絡先情報に対する要求が子孫コンピューティングデバイス106に近いコンピューティングデバイス(すなわち、子孫の子孫)に送信され得るように、子孫コンピューティングデバイス106に開始メッセージを送信すべきかどうかを判定することができる。ユーザのコンピューティングデバイス102が次のレベルに行かないと判定する場合(すなわち、判定ブロック468=「No」)、方法600は停止し得る。
【0132】
ユーザのコンピューティングデバイス102が次のレベルに行くと判定する場合(すなわち、判定ブロック468=「Yes」)、ブロック470において、ユーザのコンピューティングデバイス102は、第2のリストを新たな第1のリストとして設定することができ、ブロック422の動作を続けることができる。たとえば、ユーザのコンピューティングデバイス102は、開始メッセージを第2のリストから選択し、第1の子孫コンピューティングデバイス106に送信することができる。このようにして、ユーザのコンピューティングデバイス102は、ユーザのコンピューティングデバイス102が生成された顔/他の特性データに対する一致を特定するまで、子孫コンピューティングデバイス106の連絡先情報データベース(たとえば、電話帳)の中に記載されている連絡先によって、連絡先情報がユーザのコンピューティングデバイス102に送信されるように、反復的に方法600を実行し続けることができる。
【0133】
ある実施形態では、ユーザのコンピューティングデバイス102は、方法600に関するすべての要求メッセージを送信することができる。たとえば、要求メッセージの受信者は、連絡先情報によってユーザのコンピューティングデバイス102に応答するだけでよく、要求メッセージを連絡先に送信しなくてよい。このようにして、ユーザのコンピューティングデバイスは、その情報源に対してより大きな犠牲を招き得るが、未知の第三者の身元および連絡先情報に対する検索の期間および範囲をより簡単に制御することができる。
【0134】
図7Aおよび
図7Bは、複数のデバイス中の顔/他の特性データを比較することによって、未知の第三者を特定するための別の実施形態の方法700を示す。方法700は、ユーザのコンピューティングデバイス102が生成された顔/他の特性データを参加者のコンピューティングデバイス105(および子孫コンピューティングデバイス106)に送信する代わりに、ユーザのコンピューティングデバイス102は、参加者のコンピューティングデバイス105(および子孫コンピューティングデバイス106)と通信し得るサーバ110に、顔のデータを送信することができることを除いて、
図4Aおよび
図4Bを参照して上で説明された方法400と同様である。
【0135】
ブロック402において、ユーザのコンピューティングデバイス102は、未知の第三者(たとえば、画像)の顔のデータ(すなわち、生成された顔/他の特性データ)を、ユーザのコンピューティングデバイス102に記憶されている連絡先データと比較することができる。判定ブロック404において、ユーザのコンピューティングデバイス102は、生成された顔/他の特性データとユーザのモバイルデバイス102に記憶されているデータとの間で一致が発見されたと、判定することができる。一致が発見されると(すなわち、判定ブロック404=「Yes」)、ユーザのコンピューティングデバイス102は、
図2を参照して上で説明されたブロック212の動作を実行することができる。
【0136】
一致が発見されない場合(すなわち、判定ブロック404=「No」)、ブロック702において、ユーザのコンピューティングデバイス102は、生成された顔/他の特性データおよびビデオ通話の参加者の情報を、助成のためにサーバ110に送信することができる。ユーザのコンピューティングデバイス102は、有線データリンクまたはワイヤレスデータリンク701を利用して、ネットワーク(たとえば、インターネット、LAN、セルラーネットワークなど)を介して、メッセージをサーバ110に送信することができる。ビデオ通話の参加者を記述する情報は、データベースからの連絡先記録のリストであってよく、電子メールアドレス、IPアドレス、Skypeのユーザ名、または、電子メッセージを送信するための任意の他の宛先情報などの、参加者のコンピューティングデバイス105に対する名前および連絡先の情報を含み得る。ある実施形態では、サーバ110はすでに、ビデオ通話を確立するために使用される参加者の情報を保持していることがある。たとえば、サーバ110は、特定のビデオ会議/通話サービスまたはソフトウェアのユーザと関連付けられるビデオデータを、記憶しルーティングすることができる。別の例として、サーバ110は、様々なデバイスによってビデオ通話が送信される際に使用される、ローカルエリアネットワークを保持し得る。
【0137】
ブロック704において、サーバ110は、データリンク701などを介して、ユーザのコンピューティングデバイス102から、顔データおよびビデオ通話の参加者の情報を伴うメッセージを受信することができる。
図4Aを参照して上で説明されたように、ブロック706〜718の動作は、ユーザのコンピューティングデバイス102によって実行される動作と同様である。ブロック706において、サーバ110は、ユーザのコンピューティングデバイス102からのメッセージ中で受信される参加者のリストにおいて次にあるものなどの、次の参加者のコンピューティングデバイス105を繰り返し選択することができる。ブロック708において、サーバ110は、選択された参加者のコンピューティングデバイス105に対する連絡先情報を取り出す(たとえば、探す、または別様に決定する)ことができる。ブロック710において、取り出された連絡先情報を使用して、サーバ110は、顔/他の特性データを含む要求メッセージを、選択された参加者のコンピューティングデバイス105に送信することができる。たとえば、要求メッセージは、含まれている顔のデータを、選択された参加者のコンピューティングデバイス105に記憶されている連絡先情報(たとえば、記憶されている電話帳情報)と比較するための、選択された参加者のコンピューティングデバイス105に対する要求命令を含み得る。サーバ110は、ワイドエリアネットワーク(たとえば、インターネット)を通じたインターネットプロトコル送信などの、データリンク711を介したネットワークを通じて、要求メッセージを参加者のコンピューティングデバイス105に送信することができる。
【0138】
ブロック712において、選択された参加者のコンピューティングデバイス105は、サーバ110から要求メッセージを受信することができる。上で説明されたように、ブロック412において、選択された参加者のコンピューティングデバイス105は、受信された顔のデータを、参加者のコンピューティングデバイス105に記憶されている連絡先情報と比較することができる。ブロック714において、参加者のコンピューティングデバイス105は、たとえば、データリンク711を使用したインターネットを通じた送信を介して、比較動作に基づく任意の発見または一致を示す報告メッセージ(または応答メッセージ)をサーバ110に送信することができる。
【0139】
ブロック715において、サーバ110は、参加者のコンピューティングデバイス105から、報告メッセージ(または応答メッセージ)、たとえば、顔/他の特性データと、参加者のコンピューティングデバイス105に記憶されている連絡先情報との比較動作の結果を示す、報告メッセージを受信することができる。ユーザのコンピューティングデバイス102によって実行され、
図4Aの判定ブロック416の動作を参照して上で説明される動作と同様に、判定ブロック716において、サーバ110は、選択された参加者のコンピューティングデバイス105からの受信された報告メッセージに基づいて、一致が発見されたかどうかを判定することができる。一致があった場合(すなわち、判定ブロック716=「Yes」)、サーバ110は、
図7Bを参照して以下で説明されたブロック790の動作を続けることができる。受信された報告メッセージにおいて示されるように一致が発見されなかった場合(すなわち、判定ブロック716=「No」)、判定ブロック718において、サーバ110は、別の参加者のコンピューティングデバイス105があるかどうかを判定することができる。別の参加者のコンピューティングデバイス105がある場合(すなわち、判定ブロック718=「Yes」)、サーバ110は、ブロック706の動作を実行することによって、動作ループを続けることができる。
【0140】
図7Bは、すべての参加者のコンピューティングデバイス105が顔/他の特性データを記憶されている情報と比較し、一致が発見されなかったことを示す報告メッセージをサーバ110に送信した場合に実行され得る、方法700の追加の動作を示す。具体的には、一致が発見されず、サーバ110がすべてのビデオ通話の参加者について繰り返した場合(すなわち、
図7Aの判定ブロック716=「No」かつ
図7Aの判定ブロック718=「No」)、サーバ110は、
図4Bを参照して上で説明されたユーザのコンピューティングデバイス102によって実行された動作と同様に、参加者のコンピューティングデバイス105を選択することによって、別の動作ループを開始することができる。ブロック750において、サーバ110は、参加者のコンピューティングデバイス105のリストとして、第1のリストを設定することができる。言い換えると、サーバ110は、現在のビデオ通話(またはビデオ通話)に参加しているデバイスのリストを含むように、データ構造(たとえば、アレイ)を初期化することができる。ブロック752において、サーバ110は、たとえば、参加者のコンピューティングデバイス105を選択することによって、第1のリスト上の次のデバイスを選択することができる。ブロック754において、サーバ110は、たとえば、データリンク711を使用して参加者のコンピューティングデバイス105と通信することによって、顔のデータを伴う開始メッセージを選択されたデバイスに送信することができる。上で説明されたように、開始メッセージは、命令、コード、メタデータ、指示、または、受信者のデバイスに知られている子孫コンピューティングデバイス106(たとえば、参加者のコンピューティングデバイス105に記憶されている電話帳に含まれる子孫コンピューティングデバイス106)への顔のデータの送信を開始するように、その受信者のデバイスに指示し得る、他の情報を含み得る。
【0141】
ブロック756において、選択された参加者のコンピューティングデバイス105は、たとえばデータリンク711を使用した送信を介して、サーバ110から開始メッセージを受信することができる。ブロック452において、選択された参加者のコンピューティングデバイス105は、選択された参加者のコンピューティングデバイス105の近くの子孫連絡先(およびそれぞれの子孫コンピューティングデバイス106)を決定することができる。たとえば、参加者のコンピューティングデバイス105は、記憶されている連絡先情報(たとえば、選択された参加者のコンピューティングデバイス105の電話帳)を評価し、未知の第三者の推定される位置の近くの子孫コンピューティングデバイス106を特定することができる。ブロック453において、選択された参加者のコンピューティングデバイス105は、顔の特性データと未知の第三者を特定することに対する支援の要求とを送信するための、次の子孫コンピューティングデバイス106を繰り返し選択することができる。たとえば、選択された参加者のコンピューティングデバイス105は、選択された参加者のコンピューティングデバイス105の最も近くに位置する、または未知の第三者の推定される位置にあると判定された、子孫コンピューティングデバイス106を選ぶことができる。ユーザのコンピューティングデバイス102がブロック406〜418の動作を複数の参加者のコンピューティングデバイス105について繰り返す方法と同様に、選択された参加者のコンピューティングデバイス105は、ブロック453〜456において、子孫コンピューティングデバイス106を順番に選択し、子孫コンピューティングデバイス106に要求メッセージを送信することができる。
【0142】
ブロック454において、選択された参加者のコンピューティングデバイス105は、たとえば、有線データリンクまたはワイヤレスデータリンク472(たとえば、ピアツーピア、Bluetooth(登録商標)、LANを通じて、セルラーネットワークなど)を介してメッセージを送信することによって、受信された顔/他の特性データを伴う要求メッセージを、選択された子孫コンピューティングデバイス106に送信することができる。要求メッセージは、選択された子孫コンピューティングデバイス106がメッセージをユーザのコンピューティングデバイス102に送信できるように、ユーザのコンピューティングデバイス102に対する返信アドレス情報(たとえば、返信IPアドレス、電子メールアドレスなど)を含み得る。
【0143】
ある実施形態では、返信アドレス情報は、ユーザのコンピューティングデバイス102のユーザの身元を特定してもしなくてもよい(たとえば、匿名の連絡先情報のみが与えられ得る)。判定ブロック456において、選択された参加者のコンピューティングデバイス105は、要求メッセージの送信先となり得るさらなる子孫コンピューティングデバイス106があるかどうかを判定することができる。他の子孫コンピューティングデバイス106があると判定されると(すなわち、判定ブロック456=「Yes」)、動作ループはブロック453の動作を続けることができる。選択された参加者のコンピューティングデバイス105に対する他の子孫コンピューティングデバイス106がない場合(すなわち、判定ブロック456=「No」)、ブロック760において、選択された参加者のコンピューティングデバイス105は、データリンク711を介した送信などで、完了報告メッセージをサーバ110に送信することができる。完了報告は、選択された参加者のコンピューティングデバイス105が顔/他の特性データを子孫コンピューティングデバイス106のすべて(たとえば、選択された参加者のコンピューティングデバイス105の電話帳に記載されているすべてのデバイス)に送信したことを示す任意の通信であってよく、メッセージがすべてのそのような子孫コンピューティングデバイス106から受信されるときをサーバ110が検出し得るように、識別子、カウント、および/または子孫コンピューティングデバイス106についての他の情報を含み得る。
【0144】
ある実施形態では、選択された参加者のコンピューティングデバイス105は、データリンク472を介して子孫コンピューティングデバイス106によって参加者のコンピューティングデバイス105に送信されるメッセージ(たとえば、一致が存在するという確認メッセージ、一致が存在しないという否定メッセージなど)に基づいて、ブロック453の動作を続けるように構成され得る。たとえば、選択された参加者のコンピューティングデバイス105は、選択された子孫の報告メッセージに基づいて、一致が発見されなかったことを検出し、ブロック453の動作に進むことができる。あるいは、選択された参加者のコンピューティングデバイス105は、サーバ110からの追加のメッセージ(たとえば、一致する情報が検出されない場合の定期的なプロンプト)に基づいて、ブロック453の動作を続けることができる。
【0145】
ブロック761において、サーバ110は、たとえばデータリンク711を介して、選択された参加者のコンピューティングデバイス105から完了報告を受信することができ、次いで次のデバイスを選択することによって、ブロック752の動作を続けることができる。たとえば、サーバ110は、ユーザのコンピューティングデバイス102によってビデオ通話に現在参加しているすべての参加者のコンピューティングデバイス105のリストから、次の参加者のコンピューティングデバイス105を選択することができる。ある実施形態では、サーバ110は、ブロック752の動作を実行する前に、完了報告を待機するように構成されてよく、または代替的には、完了報告が複数の参加者のコンピューティングデバイス105から受信されるのを監視することができる。たとえば、開始メッセージは、現在のビデオ通話に関するすべての参加者のコンピューティングデバイス105に送信されてよく、次いで、サーバ110は、各々の参加者のコンピューティングデバイス105からの完了報告メッセージを監視してよい。
【0146】
ブロック460において、選択された子孫コンピューティングデバイス106は、たとえばデータリンク472を介して、選択された参加者のコンピューティングデバイス105から要求メッセージ内で顔のデータを受信することができる。ブロック461において、選択された子孫コンピューティングデバイス106は、受信された顔のデータを、記憶されている情報、たとえば、子孫コンピューティングデバイス106の電話帳に記憶されている連絡先の記録と比較して、一致する可能性がある者を発見することができる。この比較手順は、ブロック402を参照して上で説明された動作と同様であり得る。ブロック770において、選択された子孫コンピューティングデバイス106は、報告メッセージ(または応答メッセージ)、たとえば、データリンク792を介してネットワーク(たとえば、インターネット、LAN、セルラーネットワークなど)を通じて送信された比較動作の結果を記述する情報を含むメッセージを、サーバ110に送信することができる。ある実施形態では、選択された子孫コンピューティングデバイス106はまた、報告メッセージを選択された参加者のコンピューティングデバイス105に送信することができる。
【0147】
判定ブロック771において、サーバ110は、たとえばデータリンク792を介して(たとえば、LAN、セルラーネットワークなどを通じて)選択された子孫コンピューティングデバイス106から報告メッセージ(または応答メッセージ)が受信されるかどうかを判定することができる。ある実施形態では、サーバ110は、たとえば、受信回路またはバッファを評価することによって、受信されたメッセージ(または追加の応答メッセージ)を継続的または定期的に監視することができる。
【0148】
連絡先情報と顔のデータとの比較の報告が受信されないとサーバ110が判定すると(すなわち、判定ブロック771=「No」)、サーバ110は、判定ブロック771の動作を実行し続けることができる。たとえば、サーバ110は、着信するメッセージを継続的および/または定期的に確認して、そのような報告が子孫コンピューティングデバイス106から受信されるかどうかを判定することができる。
【0149】
報告が受信されるとサーバ110が判定すると(すなわち、判定ブロック771=「Yes」)、ブロック772において、サーバ110は、第2のリストに子孫コンピューティングデバイス106についての情報、たとえば、子孫コンピューティングデバイス106の連絡先情報および/または識別子を記憶することができる。第2のリストは、上で説明されたようにデバイスを選択して開始メッセージを送信するための反復的な動作を可能にするために使用され得る。
【0150】
判定ブロック716において、サーバ110は、受信された報告メッセージに基づいて、一致が発見されたかどうかを判定することができる。一致が発見されたと判定される場合(すなわち、判定ブロック716=「Yes」)、ブロック790において、サーバ110は、データリンク701などを介して、一致する連絡先情報をユーザのコンピューティングデバイス102に送信することができる。ある実施形態では、サーバ110から一致する連絡先情報を伴うメッセージを受信したことに応答して、ユーザのコンピューティングデバイス102は、
図2を参照して上で説明されたような、ブロック212の動作に進むように構成され得る。
【0151】
一致が発見されないと判定されると(すなわち、判定ブロック716=「No」)、判定ブロック774において、サーバ110は、さらなる報告メッセージが着信しているかどうかを判定することができる。言い換えると、上で説明されたような、選択された参加者のコンピューティングデバイス105からの受信された完了報告の中の情報を使用して、サーバ110は、子孫コンピューティングデバイス106から受信されるべき顕著な報告メッセージが残されているかどうかを特定することができる。たとえば、サーバ110は、第2のリストを完了報告内の情報と比較して、予想される数の報告メッセージ(たとえば、選択された参加者のコンピューティングデバイス105に関する、各子孫コンピューティングデバイス106当たり、1つの報告メッセージ)が受信されたかどうかを判定することができる。さらなる報告が着信すると判定されると(すなわち、判定ブロック774=「Yes」)、サーバ110は、判定ブロック771の動作を続けることができる。
【0152】
報告がこれ以上子孫コンピューティングデバイス106から着信しないと判定されると(すなわち、判定ブロック774=「No」)、判定ブロック776において、サーバ110は、方法700の動作ループの次のレベルなどの、次のレベルに行くかどうかを判定することができる。言い換えると、サーバ110は、顔のデータが子孫コンピューティングデバイス106の近くのデバイスと比較され得るように、子孫コンピューティングデバイス106に開始メッセージを送信すべきかどうかを判定することができる。判定ブロック776の判定は、顔のデータとの一致を検索するために何回の繰り返しが実行されるべきかを示す、サーバ110に記憶されている変数、ビット、または他のデータに基づいて行われ得る。
【0153】
いくつかの実施形態では、サーバ110は、方法700が無制限に実行されるのを防ぐために、事前に定義された数のレベル(たとえば、子孫)のみに対する一致を探すように構成され得る。ある実施形態では、判定ブロック776における判定は、タイマーが事前に定義されたタイムアウト値を超えた場合にサーバ110が次のレベルの検索を試せないように、タイマーに基づき得る。別の実施形態では、判定ブロック776の判定は、サーバ110に報告メッセージを送信したデバイスの数に基づき得る。たとえば、ある数のデバイスが、顔のデータと記憶されている連絡先情報との間に一致を発見できないと、サーバ110は、方法700を終了するように構成され得る。サーバ110が次のレベルに行かないと判定する場合(すなわち、判定ブロック776=「No」)、方法700は停止し得る。
【0154】
サーバ110が次のレベルに行くと判定する場合(すなわち、判定ブロック776=「Yes」)、ブロック778において、サーバ110は、第2のリストを新たな第1のリストとして設定することができ、ブロック752の動作を続けることができる。たとえば、サーバ110は、開始メッセージを第2のリストから選択し、第1の子孫コンピューティングデバイス106に送信することができる。このようにして、サーバ110は、生成された顔/他の特性データに対する一致がサーバ110に報告されるまで、生成された顔/他の特性データが子孫の連絡先情報データベース(たとえば、電話帳)に記載されている連絡先へと子孫コンピューティングデバイス106によって送信されるように、反復的に方法700を実行し続けることができる。
【0155】
実施形態の方法200、400、600、および700は、メッセージが順次的な方式で(すなわち、「1つずつ」)参加者および子孫連絡先に送信され得るように、コンピューティングデバイスによって実行されるものとして、上で説明される。しかしながら、様々な参加者のコンピューティングデバイスおよび任意の子孫連絡先のコンピューティングデバイスへの送信は、ユーザデバイス、サーバ、または、未知の第三者を特定する目的で顔のデータを送信する任意の他のデバイスによって、同時に開始され得る。たとえば、生成される顔/他の特性データは、同時に、またはそのままの順番で、すべてのビデオ通話の参加者のコンピューティングデバイスに送信され得る。結果として、様々な参加者のコンピューティングデバイス、子孫連絡先のデバイス、または、顔のデータの評価を行う任意の他のデバイスは、記憶されている情報を、ユーザのコンピューティングデバイスから受信された顔のデータと同時に比較することができる。
【0156】
様々な実施形態の方法200、400、600、および700では、ユーザのコンピューティングデバイスは、参加者のコンピューティングデバイス、子孫コンピューティングデバイス、および様々な実施形態の任意の他のコンピューティングデバイスへと送信されるメッセージへ挿入するための、寿命時間または満了時間のメタデータを生成することができる。寿命または満了のメタデータを使用して、ユーザのコンピューティングデバイスは、未知の第三者の検索の範囲を制御することができ、無限の検索(および対応するメッセージング)を避けることができる。寿命または満了のメタデータは、未知の第三者(または関連する顔のデータ)の特定に関するメッセージングが送信され得る時間的な期間(または期限)を定義することができる。たとえば、メタデータは、メッセージ受信の時間が要求の満了時間の前である場合、メッセージに対する活動または応答のみを行うように、メッセージの受信者に指示することができる。あるいは、寿命または満了のメタデータは、検索が終了しなければならないときよりも前に連絡され得る、連絡先のレベルの数を記述し得る。たとえば、メタデータは、未知の第三者の特定を要求するメッセージをコンピューティングデバイスが受信するたびにデクリメントする、カウンタを含み得る。カウンタが0になると、受信者のコンピューティングデバイスは受信されたメッセージを無視することができ、この時点で検索は終了する。
【0157】
上で論じられるように、グループビデオ通話の参加者は、ビデオ通話の既存の参加者の近くに位置する、身元特定された第三者を認めると決めることができる。しかしながら、参加者と第三者の両方にビデオ記録デバイス(たとえば、スマートフォンのカメラ、ウェブカメラなど)を固定することは、参加者にとって負担が重いことがある。加えて、すべての参加者の間で別個のビデオデータをストリーミングすることは、リソースを極端に必要とすることがある。
図8A〜
図8Cは、近くの未知の第三者が特定されビデオ通話に加わる状況を示す。
【0158】
図8Aは、ユーザのコンピューティングデバイス102と、離れた位置にある参加者のコンピューティングデバイス105との間の、確立されたビデオ通話を示す。ユーザのコンピューティングデバイス102および参加者のコンピューティングデバイス105は各々、ビデオカメラ(マイクロフォンを有する)およびプロセッサに接続されたワイヤレス信号送受信機などの、ビデオ/オーディオデータの記録および送信の機能を有し得る。同様の機能の未知の第三者のコンピューティングデバイス107が、同じ位置に位置しており、参加者のコンピューティングデバイス105と物理的に近接しているが、ユーザのコンピューティングデバイス102または参加者のコンピューティングデバイス105とのデータ通信および/またはビデオ通話に関与していないことがある。ユーザのコンピューティングデバイス102は、ビデオ(およびオーディオ)データを記録し、信号802を介して参加者のコンピューティングデバイス105に送信することができ、同様に、参加者のコンピューティングデバイス105は、信号801を介してデータを送信することができる。ユーザのコンピューティングデバイス102は、参加者のコンピューティングデバイスのユーザを表す受信されたビデオ/オーディオデータ(すなわち、参加者に似たもの805)を表示/放出することができ、参加者のコンピューティングデバイス105は、ユーザのコンピューティングデバイスのユーザを表す受信されたビデオ/オーディオデータ(すなわち、ユーザに似たもの815)を表示/放出することができる。加えて、ユーザのコンピューティングデバイス102は、未知の第三者のコンピューティングデバイスのユーザの画像(すなわち、第三者に似たもの806)を表示することができ、それは、参加者のコンピューティングデバイス105のカメラが未知の第三者の画像を撮影している可能性があるからである。ある実施形態では、コンピューティングデバイス102、105、および107は、コンピューティングデバイス(たとえば、スマートフォンまたはタブレットデバイス)、ラップトップコンピュータ、またはデスクトップコンピュータであってよく、いずれもが有線送信またはワイヤレス送信を利用してよい。
【0159】
図8Bは、
図2〜
図7Bを参照して上で説明されたような未知の第三者の身元を発見するための動作とともに発生し得る、通信状況を示す。たとえば、ユーザのコンピューティングデバイス102は、未知の第三者に似たもの806(すなわち、未知の第三者のコンピューティングデバイスのユーザの画像)を表示した可能性があり、ディスプレイユニット上で未知の第三者に似たもの806をユーザが選択したことに応答して、ユーザのコンピューティングデバイス102は、顔/他の特性データを生成し、未知の第三者を特定し、第三者のコンピューティングデバイス107に対する連絡先情報を取得するための動作を実行した可能性がある。
【0160】
取得された連絡先情報を使用して、ユーザのコンピューティングデバイス102は、信号813(たとえば、ワイドエリアネットワークを通じたインターネットプロトコルを使用する通信)を介してメッセージ(たとえば、電子メール、SMSテキストメッセージなど)を第三者のコンピューティングデバイス107に送信することができ、ビデオ通話に参加するように第三者を招待することができる。たとえば、ユーザのコンピューティングデバイス102は、第三者のコンピューティングデバイス107がユーザのコンピューティングデバイス102とのビデオ通話リンクを確立することを可能にする、機能的なリンク、コード、または指示を提供する、電子メールメッセージを第三者のコンピューティングデバイス107に送信することができる。ユーザのコンピューティングデバイス102からメッセージを受信したことに応答して、第三者のコンピューティングデバイス107は、ビデオフィードデータなどのデータを、インターネットを通じたデータパケットなどの信号812を介して、ユーザのコンピューティングデバイス102に返信することができる。加えて、ある実施形態では、ユーザのコンピューティングデバイス102は、第三者のコンピューティングデバイス107の連絡先情報を、信号802を介して参加者のコンピューティングデバイス105に送信して、参加者のコンピューティングデバイス105が、信号811などを介して第三者のコンピューティングデバイス107に連絡することを可能にし得る。たとえば、第三者のコンピューティングデバイス107が信号810を介して参加者のコンピューティングデバイス105に直接データを送信できるように、参加者のコンピューティングデバイス105は、自身の連絡先情報(たとえば、ビデオ通話の連絡先情報、ユーザ名、アクセスコードなど)を第三者のコンピューティングデバイス107に送信することができる。
【0161】
ユーザのコンピューティングデバイス102と、参加者のコンピューティングデバイス105と、第三者のコンピューティングデバイス107との間で交換されるメッセージに基づいて、三者によるビデオ通話が確立されることが可能であり、このビデオ通話において、すべてのデバイスが、様々なユーザに似たもの805、806、815を表すビデオ/オーディオデータを他のデバイスに送信する。コンピューティングデバイス102、105、107は、ピアツーピアデータ接続、ローカルエリアネットワーク、またはリアルタイムのビデオ通話を送信することが可能な任意のインターネットプロトコルを通じて、ビデオ/オーディオデータを交換することができる。たとえば、参加者のコンピューティングデバイス105は、ワイヤレス信号811を介して、ビデオフィードデータを第三者のコンピューティングデバイス107に送信することができ、第三者のコンピューティングデバイス107は、ワイヤレス信号810を介して、ビデオフィードデータを参加者のコンピューティングデバイス105に送信することができる。ある実施形態では、すべてのコンピューティングデバイス102、105、107は、そのようなビデオデータの配信、受信、およびレンダリングのために、通信ソフトウェアパッケージまたはアプリケーションを実行することができる。
【0162】
ある実施形態では、参加者のコンピューティングデバイス105および第三者のコンピューティングデバイス107から発信されたビデオ通話データは、ユーザのコンピューティングデバイス102を通じて様々な関係者にルーティングされ得る。言い変えると、参加者のコンピューティングデバイス105および第三者のコンピューティングデバイス107は、データを互いに直接送信することなく、ビデオ通話に参加することができる。
【0163】
図8Cは、参加者の第三者との近接を利用することによってリソースを最適化しネットワークへの影響を低減する、代替的なビデオ通話の状況を示す。参加者のコンピューティングデバイス105とのビデオ通話をすでに確立しており、上で説明されたように第三者のコンピューティングデバイス107の連絡先情報を検出しているので、ユーザのコンピューティングデバイス102は、収集されたGPS座標、WiFiアクセス情報、短距離無線信号報告、人によるインジケータ、または上で説明されたような任意の他の手段を使用して、参加者のコンピューティングデバイス105と第三者のコンピューティングデバイス107との距離を推定することができる。コンピューティングデバイス105、107が互いに近い(たとえば、許容範囲のレベル内の距離を有する)という判定に基づいて、ユーザのコンピューティングデバイス102は、ビデオ/オーディオストリーミングデータを交換するためのローカルのピアツーピアデータ接続を確立するように、参加者のコンピューティングデバイス105(たとえば、信号802を介して)および第三者のコンピューティングデバイス107(たとえば、上で説明された信号813を介して)に指示するメッセージを送信することができる。ユーザのコンピューティングデバイス102は、信号802、851を介して、参加者のコンピューティングデバイス105との独占的なビデオ通話に関するビデオ/オーディオデータを交換することができる。
【0164】
参加者のコンピューティングデバイス105は、信号850を介して、ユーザのコンピューティングデバイス102から受信されたビデオ/オーディオストリーミングデータを第三者のコンピューティングデバイス107に中継することができる。それに応答して、第三者のコンピューティングデバイス107は、ユーザに似たもの815のビデオ/オーディオを受信し、表示/放出することができる。第三者のコンピューティングデバイス107は、信号810を介して、第三者に似たもの806を表すビデオ/オーディオデータを参加者のコンピューティングデバイス105に送信することができる。参加者および第三者が物理的に近接しており、互いを見る可能性が高くなり得るとき、参加者のコンピューティングデバイス105は、第三者に似たもの806を表すビデオ/オーディオストリーミングデータをレンダリングしなくてよい。参加者のコンピューティングデバイス105は、第三者に似たもの806を表すビデオ/オーディオデータを、参加者に似たもの805を表すビデオ/オーディオデータと統合し、信号851を介して、結合されたビデオデータをユーザのコンピューティングデバイス102に送信するための動作を実行することができる。ユーザのコンピューティングデバイス102は、1つの結合された表示855において、参加者と第三者の両方の受信されたビデオ/オーディオを表示/放出することができる。
【0165】
様々な実施形態では、上で説明された様々なデバイス102、105、107の間の様々な信号801、802、810〜813、850〜851は、遠隔通信ネットワークを通じたインターネットプロトコルを使用した通信などの、ネットワークを通じた送信であり得る。他の実施形態では、信号810、811、および850は、ワイヤレス短距離送信および/またはピアツーピア送信であり得る。
【0166】
図9A〜
図9Bは、未知の第三者308に関するシグナリング情報を含むビデオフィードを表示する、ある実施形態のユーザのコンピューティングデバイス102を示す。上で説明されたように、タブレットモバイルコンピューティングデバイスなどのユーザのコンピューティングデバイス102は、ビデオフィード内のシグナリング情報を検出するように構成され得る。たとえば、参加者のコンピューティングデバイス(図示せず)を利用する離れた参加者306との進行中のビデオ通話セッション(たとえば、SkypeまたはFaceTimeセッション)の間に、ユーザのコンピューティングデバイス102は、ビデオ通話のビデオ/オーディオデータを分析してシグナリング情報を検出することができる。具体的には、ユーザのコンピューティングデバイス102は、ビデオ通話データを分析して、点滅する/ストロボの光、色付きの光、記号、および/または他の視覚的なシグナリング情報を検出するための動作を実行することができる。たとえば、
図9Aにおいて、ユーザのコンピューティングデバイス102は、未知の第三者によって持ち運ばれるコンピューティングデバイス901(たとえば、スマートフォン)のディスプレイにレンダリングされる、点滅する光902を検出することができる。別の実施形態では、ユーザのコンピューティングデバイス102は、ビデオ通話データを分析して、さえずり、鳴き声、音楽、可聴ではない音、および他のオーディオシグナリング情報を検出するための動作を実行するように構成され得る。たとえば、
図9Bにおいて、ユーザのコンピューティングデバイス102は、未知の第三者によって持ち運ばれるコンピューティングデバイス901のスピーカーによって放出される、音楽パターン912を検出することができる。
【0167】
様々な実施形態では、ユーザのコンピューティングデバイス102は、ビデオ通話データを継続的に分析してシグナリング情報を検出するように構成されてよく、または代替的に、ユーザ入力データを検出したことに応答して、ビデオ通話データを分析するための動作を実行することができる。たとえば、ユーザのコンピューティングデバイス102は、視覚的なシグナリング情報に対応するタッチスクリーンの一部分をユーザのコンピューティングデバイス102のユーザがタップしたことを検出したことに応答して、受信されたビデオ通話データの分析を実行することができる。別の例として、ユーザのコンピューティングデバイス102は、ユーザのコンピューティングデバイス102のプロセッサによって実行されるオーディオ分析ルーチンをトリガするように構成されるソフトボタンをユーザのコンピューティングデバイス102のユーザがタップしたことを検出したことに応答して、受信されたビデオ通話データの分析を実行することができる。
【0168】
図9Cは、ビデオ通話データ内で表現されるシグナリング情報に基づいてコンピューティングデバイスが未知の第三者を特定するための、ある実施形態の方法950を示す。様々な実施形態では、方法950の動作は、様々な顔認識動作および上で説明されたようなビデオ通話データ内で表される未知の第三者を特定するための技法の代わりに、またはそれらと組み合わせて、コンピューティングデバイスによって実行され得る。たとえば、コンピューティングデバイスは、方法950の動作と組み合わせて、上で説明された方法200、400、600、または700の動作を実行するように構成されてよく、第三者と関連付けられる顔画像および/またはシグナリング情報に基づいて、未知の第三者を特定することができる。別の例として、方法200の動作を実行する間、コンピューティングデバイスは、ビデオ通話データの画像の中で表される点滅する光のシグナリング情報に基づいて、未知の第三者を特定することができる。
【0169】
ブロック952において、コンピューティングデバイスは、未知の第三者の表現を含むビデオ通話データ、たとえば、ビデオ通話の参加者の後ろに立っている未知の人のビデオ画像を受信し得る。ブロック954において、コンピューティングデバイスは、未知の第三者と関連付けられる、一連の点滅する光またはオーディオサンプルなどのシグナリング情報を、ビデオ通話データ内で検出することができる。そのようなシグナリング情報は元々、一連の光をレンダリングする、または音声ファイルを再生するためにスピーカーを使用するスマートフォンなどの、未知の第三者によって使用されるデバイスにより生成されたものであり得る。ある実施形態では、コンピューティングデバイスは、ビデオ通話全体にわたってレンダリングされたビデオデータを自動的および継続的に分析して、特別なシグナリング情報を検出するように構成され得る。たとえば、コンピューティングデバイスは、既知のシグナリング技法(たとえば、モールス信号など)に関連し得る、集中したまたは別様に可視の発光する人工物を有する画像中の領域を特定するルーチンを、ビデオデータがレンダリングされるにつれて実行することができる。別の例として、コンピューティングデバイスは、ビデオ通話に関する任意のオーディオデータに対するオーディオ分析ルーチンを継続的に実行して、任意の事前に定義されているオーディオサンプル(超音波のパターンなど)がビデオ通話データ内に存在するかどうかを判定することができる。代替的な実施形態では、受信されたビデオデータは、ビデオ通話と関連付けられることもまたは関連付けられないこともある。たとえば、ユーザが個人の画像/音を記録するために、よく見えるようにコンピューティングデバイスを単に持ち上げたときに、ビデオデータは記録され得る。
【0170】
別の実施形態では、コンピューティングデバイスは、ユーザ入力に応答してシグナリング情報を検出するように構成され得る。たとえば、コンピューティングデバイスは、ビデオ通話の画像内の点滅する光と同期する、タッチスクリーン上でのタップするユーザ入力を検出することができる。そのようなユーザ入力は、ビデオ通話データ内で検出され得るシグナリング情報の存在、範囲、タイプ、および/または領域を示し得る。たとえば、コンピューティングデバイスは、オーディオシグナリング(たとえば、鳴き声、音波など)のみを検出するために、または代替的に、ビデオ通話の画像内のある選択された領域内の可視のシグナリングを検出するためにコンピューティングデバイスによって実行されるルーチンをアクティブ化または非アクティブ化するソフトキーをユーザが押したことを、検出することができる。ある実施形態では、コンピューティングデバイスは、ビデオ通話データ内のシグナリング情報をコンピューティングデバイスに検出させるモードまたは動作状態となるように構成され得る。
【0171】
ブロック956において、コンピューティングデバイスは、未知の第三者と関連付けられる検出されたシグナリング情報を処理することができる。コンピューティングデバイスは、ビデオシーケンス、画像、および/または音のサンプルの選択部分を使用して、パターン照合動作を実行し、検出されたシグナリング情報に対応する意味、メッセージ、または他の情報を決定することができる。たとえば、コンピューティングデバイスは、ある数のビデオフレームの選択領域を分析して、ビデオ通話データの背景の中の、未知の第三者のスマートフォンの画面によってレンダリングされる明滅する光に基づいて、繰り返しのメッセージを特定することができる。ある実施形態では、コンピューティングデバイスは、暗号を利用して、シグナリング情報を使用可能な情報へと復号または別様に変換することができる。
【0172】
ブロック958において、コンピューティングデバイスは、処理されたシグナリング情報に基づいて、未知の第三者の身元特定情報を取得することができる。たとえば、ビデオ通話の画像において特定されるモールス信号パターンに基づいて、コンピューティングデバイスは、IPアドレス、URI、名前、電話番号、電子メールアドレス、および/または、モールス信号パターンをレンダリングするスマートフォンを持っている第三者と関連付けられる他の情報を取得することができる。様々な実施形態では、コンピューティングデバイスは、復号、暗号解除、および、検出したシグナリング情報に対するスクランブリングフィルタなどの難読化を解除するための他の動作を実行することができる。たとえば、処理されたシグナリング情報は、秘密鍵のみによって復号され得る、符号化されたメッセージへと変換され得る。このことは、あるタイプのユーザの、たとえば、グループ(たとえば、クラブ、学校など)のメンバーのデバイスのみが、シグナリング情報から身元特定情報を取得することが可能であり得ることを確実にするのに、価値があり得る。
【0173】
任意選択のブロック960において、コンピューティングデバイスは、取得された身元特定情報に基づいて、未知の第三者のデバイスにメッセージを送信することができる。たとえば、コンピューティングデバイスは、点滅する光のシグナリングから取得される電子メールアドレスを使用して、導入メッセージ(たとえば、「こんにちは!」)、ソーシャルグループに加わるための招待メッセージ(たとえば、LinkedInの招待など)、および/または、コード、リンク、または第三者が参加することを可能にする他の情報などの、ビデオ通話に加わるための招待メッセージを送信することができる。
【0174】
任意選択のブロック962において、コンピューティングデバイスは、取得された身元特定情報を示すメッセージを、ビデオ通話と関連付けられる他の参加者のコンピューティングデバイスに送信することができる。たとえば、第三者の連絡先情報は、他の参加者のコンピューティングデバイスが、招待メッセージ、挨拶、デジタル名刺、または任意の他の情報もしくはデータを第三者のデバイスに送信できるように、現在のビデオ通話の他のメンバーと共有され得る。ある実施形態では、他の参加者のコンピューティングデバイスへのメッセージは、第三者の身元に対する検索が終了し得ることを示す、コード、データ、または情報を含み得る。言い換えると、コンピューティングデバイスが上で説明された方法400、600、または700の動作を実行し、続いて方法950の動作を使用して身元特定情報を取得した場合、コンピューティングデバイスは、第三者を特定するために不必要なリソースを浪費するのを避けられるように、停止メッセージを参加者のコンピューティングデバイスに送信することができる。
【0175】
様々な実施形態は、種々のタブレットモバイルコンピューティングデバイスのいずれでも実装されることが可能であり、その一例が
図10に示される。たとえば、タブレットコンピューティングデバイス102は、内部メモリ1002に結合されたプロセッサ1001を含み得る。内部メモリ1002は、揮発性メモリまたは不揮発性メモリであってよく、また、セキュアメモリおよび/もしくは暗号化メモリ、または非セキュアメモリおよび/もしくは非暗号化メモリ、またはそれらの任意の組合せであってよい。プロセッサ1001はまた、抵抗性感知タッチスクリーン、静電容量感知タッチスクリーン、赤外線感知タッチスクリーンなどのタッチスクリーンディスプレイ1010に結合され得る。タブレットコンピューティングデバイス102は、1つまたは複数の無線信号送受信機1004(たとえば、Peanut、Bluetooth(登録商標)、Zigbee(登録商標)、WiFi、RF無線など)と、本明細書で説明されるようなワイヤレス信号を送信しかつ受信するためのアンテナ1008とを有し得る。送受信機1004およびアンテナ1008は、様々なワイヤレス送信プロトコルスタックおよびインターフェースを実装するために、上述の回路とともに使用され得る。タブレットコンピューティングデバイス102は、セルラーネットワークを介した通信を可能にする、セルラーネットワークワイヤレスモデムチップ1020を含み得る。タブレットコンピューティングデバイス102はまた、ユーザ入力を受け取るための物理ボタン1006を含み得る。タブレットコンピューティングデバイス102は、対応するオーディオデータとともに静止画像およびビデオデータを記録し記憶するように構成される、カメラ1022および接続されたマイクロフォン1023を含み得る。
【0176】
様々な実施形態は、種々のモバイルコンピューティングデバイス(たとえば、スマートフォン、フィーチャーフォンなど)のいずれでも実装されることが可能であり、そのスマートフォンの例が
図11に示される。たとえば、スマートフォン105は、内部メモリ1102に結合されたプロセッサ1101を含み得る。内部メモリ1102は、揮発性メモリまたは不揮発性メモリであってよく、また、セキュアメモリおよび/もしくは暗号化メモリ、または非セキュアメモリおよび/もしくは非暗号化メモリ、またはそれらの任意の組合せであってよい。プロセッサ1101はまた、抵抗性感知タッチスクリーン、静電容量感知タッチスクリーン、赤外線感知タッチスクリーンなどのタッチスクリーンディスプレイ1106に結合され得る。ある実施形態では、スマートフォンコンピューティングデバイス105のディスプレイ1106は、タッチスクリーン機能を有する必要はない。スマートフォンコンピューティングデバイス105は、1つまたは複数の無線信号送受信機1118(たとえば、Peanut、Bluetooth(登録商標)、Zigbee(登録商標)、WiFi、RF無線など)と、本明細書で説明されるようなワイヤレス信号を送信しかつ受信するためのアンテナ1108とを有し得る。送受信機1118およびアンテナ1108は、様々なワイヤレス送信プロトコルスタック/インターフェースを実装するために、上述の回路とともに使用され得る。スマートフォンコンピューティングデバイス105は、セルラーネットワークを介した通信を可能にする、セルラーネットワークワイヤレスモデムチップ1120を含み得る。スマートフォンコンピューティングデバイス105はまた、ユーザ入力を受け取るための物理ボタン1112aおよび1112bを含み得る。スマートフォンコンピューティングデバイス105は、対応するオーディオデータとともに静止画像およびビデオデータを記録し記憶するように構成される、カメラ1122および接続されたマイクロフォン1123を含み得る。
【0177】
様々な実施形態はまた、
図12に示されるサーバ110などの、種々の市販のサーバデバイスのいずれでも実装され得る。そのようなサーバ110は通常、プロセッサ1201を含む。ある実施形態では、サーバ110は、複数のプロセッサシステム(図示せず)を含んでよく、その1つまたは複数はマルチコアプロセッサであってよく、またはマルチコアプロセッサを含んでよい。プロセッサ1201は、揮発性内部メモリ1202、およびディスクドライブ1203などの大容量不揮発性メモリに結合され得る。サーバ110はまた、プロセッサ1201に結合されたフロッピー(登録商標)ディスクドライブ、コンパクトディスク(CD)またはDVDディスクドライブ1204を含み得る。サーバ110はまた、他のブロードキャストシステムコンピュータおよびサーバに結合されたローカルエリアネットワークのような、ネットワークとのネットワークインターフェース接続を確立するための、プロセッサ1201に結合されたネットワークアクセスポート1206(またはネットワークインターフェース)を含み得る。
【0178】
プロセッサ1001、1101、および1201は、上で説明された様々な実施形態の機能を含む、様々な機能を実行するようにソフトウェア命令(アプリケーション)によって構成され得る、任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、または1つもしくは複数の多重プロセッサチップであり得る。様々なデバイスでは、1つのプロセッサをワイヤレス通信機能専用とし、1つのプロセッサを他のアプリケーションの実行専用とするなど、複数のプロセッサが設けられ得る。通常、ソフトウェアアプリケーションは、アクセスされてプロセッサ1001、1101、1201にロードされる前に、内部メモリ1002、1102、1202に記憶され得る。プロセッサ1001、1101、および1201は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含み得る。多くのデバイスでは、内部メモリは、揮発性メモリ、もしくはフラッシュメモリなどの不揮発性メモリ、または両方の混合であり得る。本明細書では、メモリへの一般的な言及は、内部メモリ、または様々なデバイスに差し込まれるリムーバブルメモリと、プロセッサ1001、1101、および1201の中のメモリとを含む、プロセッサ1001、1101、および1201によってアクセス可能なメモリを指す。
【0179】
上記の方法の説明およびプロセスフロー図は、単に説明のための例として提供され、様々な実施形態のステップが提示された順序で実行されなければならないことを要求または暗示するものではない。当業者によって諒解されるように、上記の実施形態におけるステップの順序は、任意の順序で実行され得る。「その後」、「次いで」、「次に」などの言葉は、ステップの順序を限定するものではなく、これらの言葉は単に、読者に本方法の説明を案内するために使用される。さらに、たとえば、冠詞「a」、「an」または「the」を使用する単数形での請求要素への任意の言及は、その要素を単数に限定するものとして解釈されるべきではない。
【0180】
本明細書で開示される実施形態に関して説明される様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装され得る。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、上では概してそれらの機能に関して説明された。そのような機能がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、具体的な適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明された機能を具体的な適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
【0181】
本明細書で開示された実施形態に関して説明された様々な例示的な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェアコンポーネント、または本明細書で説明された機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサは、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成としても実装され得る。代替として、いくつかのステップまたは方法は、所与の機能に固有の回路によって実行され得る。
【0182】
1つまたは複数の例示的な実施形態では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。機能は、ソフトウェアで実装される場合、1つまたは複数の命令またはコードとして、非一時的コンピュータ可読媒体もしくはサーバ可読媒体または非一時的プロセッサ可読記憶媒体に記憶され、または送信され得る。本明細書で開示された方法またはアルゴリズムのステップは、有形の、非一時的コンピュータ可読記憶媒体、非一時的サーバ可読記憶媒体、および/または非一時的プロセッサ可読記憶媒体上に存在し得る、プロセッサ実行可能ソフトウェアモジュールで具現化され得る。様々な実施形態では、そのような命令は、記憶されたプロセッサ実行可能命令または記憶されたプロセッサ実行可能ソフトウェア命令であり得る。有形の非一時的コンピュータ可読記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのような非一時的コンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令またはデータ構造の形式で所望のプログラムコードを記憶するために使用され得るとともに、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザで光学的にデータを再生する。上記の組合せも非一時的コンピュータ可読媒体の範囲内に含まれるべきである。加えて、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、非一時的プロセッサ可読記憶媒体および/またはコンピュータ可読媒体上のコードおよび/または命令の、1つまたは任意の組合せ、またはそのセットとして存在し得る。
【0183】
開示された実施形態の上記の説明は、任意の当業者が本発明を作成または使用することを可能にするために提供される。これらの実施形態への様々な修正が当業者には容易に明らかになり、本明細書で定義された一般原理は、本発明の趣旨および範囲を逸脱することなく他の実施形態に適用され得る。したがって、本発明は、本明細書に示される実施形態に限定されるものではなく、以下の特許請求の範囲ならびに本明細書で開示する原理および新規の特徴に一致する最大の範囲を与えられるものである。