(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022099261
(43)【公開日】2022-07-04
(54)【発明の名称】ビデオフレーム内の関心領域への階層化アクセス
(51)【国際特許分類】
H04N 21/4728 20110101AFI20220627BHJP
G06F 16/908 20190101ALI20220627BHJP
H04N 21/4623 20110101ALI20220627BHJP
H04N 21/266 20110101ALI20220627BHJP
G06F 21/62 20130101ALI20220627BHJP
【FI】
H04N21/4728
G06F16/908
H04N21/4623
H04N21/266
G06F21/62 309
【審査請求】未請求
【請求項の数】24
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2021189284
(22)【出願日】2021-11-22
(31)【優先権主張番号】17/131,417
(32)【優先日】2020-12-22
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.3GPP
(71)【出願人】
【識別番号】593096712
【氏名又は名称】インテル コーポレイション
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】プラヴィーン プラサド ナイール
(72)【発明者】
【氏名】スティーヴン ジェイ. トゥ
(72)【発明者】
【氏名】ローレンス エー. ブース ジュニア
(72)【発明者】
【氏名】ワーナー アダム メッツ ジュニア
【テーマコード(参考)】
5B175
5C164
【Fターム(参考)】
5B175BA01
5B175CA08
5B175FA03
5B175FB02
5B175FB04
5C164MB13S
5C164PA02
5C164PA26
5C164SA32S
5C164SB41S
5C164SC02P
5C164UC22P
5C164UD44P
5C164YA21
(57)【要約】 (修正有)
【課題】ビデオフレーム内の関心領域への階層化アクセスを実装するためのシステム及び方法を提供する。
【解決手段】方法は、複数の画像ブロックを含む複数のフレームを含むビデオストリームを、ロスレスビデオ圧縮規格を使用して圧縮し702、ビデオストリームの各フレーム内の各ブロックを、暗号化鍵を使用して暗号化し704、オブジェクト検出及び分類プロセスをビデオストリームに対して使用して、ビデオストリーム内のオブジェクトを識別し706、ポリシーストアに、オブジェクトの対応する保護レベルを判定するためにアクセスし708、対応する保護レベルを、ロスレスビデオ圧縮メタデータに格納する710。
【選択図】
図7
【特許請求の範囲】
【請求項1】
ビデオフレーム内の関心領域への階層化アクセスを実装するためのシステムであって、
マッピングテーブルを格納するメモリデバイスであって、前記マッピングテーブルは、保護レベルとコンシューマとの間の対応関係を格納する、メモリデバイスと、
ビデオ処理回路であって、
ロスレスビデオ圧縮規格を使用してビデオストリームを圧縮することであって、前記ビデオストリームは、複数のフレームを含み、各フレームは、複数の画像ブロックを含む、ことと、
ビデオストリームの各フレーム内の各ブロックを暗号化鍵を使用して暗号化することと、を行うビデオ処理回路と、
推論回路であって、
前記ビデオストリームに対してオブジェクト検出および分類プロセスを使用して、前記ビデオストリーム内のオブジェクトを識別することと、
ポリシーストアにアクセスして、前記オブジェクトの対応する保護レベルを判定することと、
前記対応する保護レベルをロスレスビデオ圧縮メタデータに記憶することであって、前記コンシューマは、前記マッピングテーブルにおいて前記コンシューマに割り当てられた前記保護レベルを使用して、前記ロスレスビデオ圧縮メタデータに格納された前記対応する保護レベルに基づいて、前記ビデオストリームの画像ブロックを選択的に復号することと、を行う推論回路と、を含む、システム。
【請求項2】
前記ビデオ処理回路は、
前記マッピングテーブルに、ビデオストリーム内の各ブロックのデフォルト保護レベルを格納することを行う、請求項1に記載のシステム。
【請求項3】
前記デフォルト保護レベルは、最も許容されるレベルに設定される、請求項2に記載のシステム。
【請求項4】
前記ビデオストリームを暗号化するために、前記ビデオストリーム内の各フレームは、それぞれのフレーム内の前記複数の画像ブロックのブロック境界で暗号化される、請求項1~3のいずれか一項に記載のシステム。
【請求項5】
前記ブロック境界は、2×2画素、4×4画素、8×8画素、または16×16画素である、請求項4に記載のシステム。
【請求項6】
前記ビデオストリームを暗号化するために、AES128ビットサイファーが使用される、請求項1~3のいずれか一項に記載のシステム。
【請求項7】
前記ビデオストリームを暗号化するために、AES128ビットサイファーが使用される、請求項1~3のいずれか一項に記載のシステム。
【請求項8】
前記推論回路は、前記オブジェクト検出および分類プロセスを使用する前に、前記暗号化鍵に対応する復号鍵を使用して前記ビデオストリームを復号することを行う、請求項1~7のいずれか一項に記載のシステム。
【請求項9】
前記暗号化鍵および前記復号は、対称鍵である、請求項8に記載のシステム。
【請求項10】
前記推論回路は、前記オブジェクト検出および分類プロセスを使用する前に、前記ビデオストリームを解凍することを行う、請求項8に記載のシステム。
【請求項11】
前記コンシューマは、仮想マシンである、請求項1~10のいずれか一項に記載のシステム。
【請求項12】
ビデオフレーム内の関心領域への階層化アクセスを実装するための方法であって、
ロスレスビデオ圧縮規格を使用してビデオストリームを圧縮することであって、前記ビデオストリームは、複数のフレームを含み、各フレームは、複数の画像ブロックを含む、ことと、
ビデオストリームの各フレーム内の各ブロックを暗号化鍵を使用して暗号化することと、
前記ビデオストリームに対してオブジェクト検出および分類プロセスを使用して、前記ビデオストリーム内のオブジェクトを識別することと、
ポリシーストアにアクセスして、前記オブジェクトの対応する保護レベルを判定することと、
前記対応する保護レベルをロスレスビデオ圧縮メタデータに格納することであって、コンシューマは、マッピングテーブルにアクセスし、前記マッピングテーブルは、保護レベルと前記コンシューマとの間の対応関係を格納し、前記コンシューマは、前記ロスレスビデオ圧縮メタデータに格納された前記対応する保護レベルと比較される、前記コンシューマに割り当てられた前記保護レベルに基づいて、前記ビデオストリームの画像ブロックを選択的に復号する、ことと、を含む、方法。
【請求項13】
前記マッピングテーブルに、ビデオストリーム内の各ブロックのデフォルト保護レベルを格納することを含む、請求項12に記載の方法。
【請求項14】
前記デフォルト保護レベルは、最も許容されるレベルに設定される、請求項13に記載の方法。
【請求項15】
前記ビデオストリームを暗号化することは、それぞれのフレーム内の前記複数の画像ブロックのブロック境界で前記ビデオストリーム内の各フレームを暗号化することを含む、請求項12~14のいずれか一項に記載の方法。
【請求項16】
前記ブロック境界は、2×2画素、4×4画素、8×8画素、または16×16画素である、請求項15に記載の方法。
【請求項17】
前記ビデオストリームを暗号化することは、AES128ビットサイファーを使用することを含む、請求項12~14のいずれか一項に記載の方法。
【請求項18】
前記ビデオストリームを暗号化することは、AES128ビットサイファーを使用することを含む、請求項12~14のいずれか一項に記載の方法。
【請求項19】
前記オブジェクト検出および分類プロセスを使用する前に、前記暗号化鍵に対応する復号鍵を使用して前記ビデオストリームを復号することを含む、請求項12~18のいずれか一項に記載の方法。
【請求項20】
前記暗号化鍵および前記復号は、対称鍵である、請求項19に記載の方法。
【請求項21】
前記オブジェクト検出および分類プロセスを使用する前に、前記ビデオストリームを解凍することを含む、請求項19に記載の方法。
【請求項22】
前記コンシューマは、仮想マシンである、請求項12~21のいずれか一項に記載の方法。
【請求項23】
命令を含む、少なくとも1つの機械可読媒体であって、前記命令は、マシンによって実行されるときに、前記マシンに請求項12~22のいずれか一項に記載の方法を実行させる、少なくとも1つの機械可読媒体。
【請求項24】
ビデオフレーム内の関心領域への階層化アクセスを実装するための装置であって、
ロスレスビデオ圧縮規格を使用してビデオストリームを圧縮するための手段であって、前記ビデオストリームは、複数のフレームを含み、各フレームは、複数の画像ブロックを含む、手段と、
ビデオストリームの各フレーム内の各ブロックを暗号化鍵を使用して暗号化するための手段と、
前記ビデオストリームに対してオブジェクト検出および分類プロセスを使用して、前記ビデオストリーム内のオブジェクトを識別するための手段と、
ポリシーストアにアクセスして、前記オブジェクトの対応する保護レベルを判定するための手段と、
前記対応する保護レベルをロスレスビデオ圧縮メタデータに格納するための手段であって、コンシューマは、マッピングテーブルにアクセスし、前記マッピングテーブルは、保護レベルと前記コンシューマとの間の対応関係を格納し、前記コンシューマは、前記ロスレスビデオ圧縮メタデータに格納された前記対応する保護レベルと比較される、前記コンシューマに割り当てられた前記保護レベルに基づいて、前記ビデオストリームの画像ブロックを選択的に復号する、手段と、を含む、少なくとも1つの機械可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書で説明される実施形態は、一般に、ビデオ処理システム、特に、ビデオフレーム内の関心領域への階層化アクセスを行うシステムに関係する。
【背景技術】
【0002】
エッジコンピューティングは、一般的なレベルでは、総所有コストを最適化し、アプリケーションのレイテンシを縮小し、サービス能力を改善し、セキュリティまたはデータのプライバシー要件の遵守を改善するために、エンドポイントデバイス(例えば、コンシューマコンピューティングデバイス、ユーザ機器など)により近いコンピューティングおよびストレージリソースの遷移を指す。エッジコンピューティングは、いくつかのシナリオにおいて、多くのタイプのストレージおよびコンピューティングリソース間のアプリケーションに対するオーケストレーションおよび管理を提供するクラウドのような分散サービスを提供する。その結果、エッジコンピューティングのいくつかの実装は「エッジクラウド」または「フォグ」と呼ばれている。これは、これまで大規模な遠隔データセンタでのみ利用可能であった強力なコンピューティングリソースが、エンドポイントに近づくように移動し、ネットワークの「エッジ」におけるコンシューマが利用できるようになるためである。
【0003】
「モバイルエッジコンピューティング」としても知られるMEC(multi-access edge computing)アプローチと統合するために、モバイルネットワーク設定におけるエッジコンピューティング使用ケースが開発された。MECアプローチは、ネットワークのエッジにおける動的モバイルネットワーク設定において、アプリケーション開発者およびコンテンツプロバイダがコンピューティング能力およびIT(information technology)サービス環境にアクセスすることを可能にするように設計される。MECシステム、プラットフォーム、ホスト、サービス、およびアプリケーションの動作のための共通インターフェースを定義する試みとして、限定された規格が、ETSI(European Telecommunications Standards Institute)ISG(industry specification group)によって開発された。
【0004】
エッジコンピューティング、MEC、および関係技術は、従来のクラウドネットワークサービスやワイドエリアネットワーク接続で提供されているものよりも、レイテンシの縮小、応答性の向上、および利用可能なコンピューティングパワーの増大を提供することを試みる。しかし、移動性と動的に立ち上げられたサービスをいくつかのモバイル使用およびデバイス処理使用ケースに統合することは、特に多くの参加者(デバイス、ホスト、テナント、サービスプロバイダ、オペレータ)が関与する複雑なモビリティ設定において、オーケストレーション、機能協働、およびリソース管理の制限および懸念をもたらしている。同様に、IoT(Internet of Things)ネットワークおよびデバイスは、様々なエンドポイントから分散コンピューティング配置を提供するように設計されている。IoTデバイスは、ネットワーク上で通信することができる物理的または仮想化されたオブジェクトであり、センサ、アクチュエータ、および他の入出力コンポーネントを含み、これらは、実世界環境においてデータを収集し、またはアクションを実行するために使用され得る。例えば、IoTデバイスは、建物、車両、パッケージ等の日常のものに埋め込まれるか、または取り付けられ、これらのものの人工的な感覚知覚のさらなるレベルを提供する低電力エンドポイント装置を含んでもよい。近年、IoTデバイスがより一般的になり、これらのデバイスを使用するアプリケーションが急速に普及している。
【0005】
様々なEdge、Fog、MEC、およびIoTネットワーク、デバイス、およびサービスの展開により、ネットワークのエッジにおいて、かつエッジに向かって発生する多くの高度な使用ケースおよびシナリオがもたらされた。しかしながら、これらの高度な使用ケースにより、特により多くのタイプのコンピューティングシステムおよび構成が展開されるにつれて、多くの課題の中でもとりわけ、セキュリティ、処理およびネットワークリソース、サービスの可用性および効率に関係する数多くの対応する技術的課題がもたらされた。そのような課題の1つは、セキュリティおよび信頼、ならびにメモリ(例えば、DRAMメモリ)、キャッシュメモリ(例えば、キャッシュ)、またはレジスタ(例えば、CPU、またはGPU)に表されるようなソフトウェアプログラムおよびデータの動作状態に関係するものである。
【図面の簡単な説明】
【0006】
図面は必ずしも縮尺で描かれていないが、図面において、類似の番号は類似の要素を互いに異なる視点で説明してもよい。末尾の文字が異なる類似の番号は、類似のコンポーネントの異なる例を表わしてもよい。いくつかの実施形態は、添付の図面の図に例として示されているが、これに限定されるものではない。
【0007】
【
図1】エッジコンピューティングのためのエッジクラウド構成の概要を示す。
【
図2】エンドポイント、エッジクラウド、およびクラウドコンピューティング環境間の動作層を示す。
【
図3】エッジコンピューティングシステムにおけるネットワーキングおよびサービスのための例示的なアプローチを示す。
【
図4A】エッジコンピューティングシステムにおけるコンピューティングノードにおいて展開されるコンピューティングための例示的なコンポーネントの概要を提供する。
【
図4B】エッジコンピューティングシステムにおけるコンピューティングデバイス内の例示的なコンポーネントのさらなる概要を提供する。
【
図5】一実施形態による、動作環境における制御およびデータフローを示すブロック図である。
【
図6】一実施形態によるシステムを示すブロック図である。
【
図7】一実施形態による、ビデオフレーム内の関心領域への階層化アクセスを実装するための方法を示すフローチャートである。
【
図8】例示的な実施形態による、本明細書で議論された技術(例えば、方法論)のうちのいずれか1つ以上が実行し得る例示的なマシンを示すブロック図である。
【発明を実施するための形態】
【0008】
本明細書で説明されるシステムおよび方法は、ビデオフレーム内の関心領域への階層化アクセス(tired access)を提供するシステムを提供する。様々な例において、本明細書で説明されるシステムおよび方法は、ハードウェアリソースおよびデコードされたカメラストリームを共有する仮想マシンに対する選択的アクセス権を実施する。このようなメカニズムは、人またはビデオストリームにキャプチャされたものの保護措置のプライバシーを改善する。
【0009】
システムオンチップ(SoC)は、複数の仮想マシン(VM)インスタンスを含んでもよい。各VMは、基本となるハードウェアリソースへのアクセスを有し、これらは、カメラまたはビデオリソースを含んでもよい。各VMは、ビデオストリームにアクセスし、異なる目的のためにこれを分析してもよい。カメラストリームおよびビデオストリームは、この文書では互換的に使用され、各々は画像の時間順序シリーズを指す。
【0010】
例示的なSoCは、カメラストリームが、交通、ユーティリティ、教育、および公共安全のような市の行政内の複数の部門によって推論されるシステムにおいて使用されてもよい。オブジェクトの初期検出および分類に基づいて、関心領域はデコードされたビデオフレーム内で識別される。SoCは、市政の各部門が必要とし、アクセスすることが可能なビデオデータのみへのアクセスを有するように、プライバシー保護措置を実装しなければならない。この文書説明されたメカニズムは、既存のSoCインフラストラクチャを使用してこの問題に対するハードウェアベースの解決策を提供し、それによってシステムの全体的な性能に影響を与えない。
【0011】
この状況に対処する1つのやり方は、ビデオストリームの複数のコピーを作成することであり、受信者ごとに1コピーを作成し、各コピーは、暗号化または他の難読化技術を使用してプライバシーが実施される。この方法はリソース集約的である。これは、コピーを作成し、それらをスクリーニングし、システム全体にコピーを送信し、さらなる分配を制御するために、コンピューティングおよびメモリを使用することを伴う。
【0012】
本文書は、ビデオストリーム内の既存のロスレス圧縮メタデータおよび関連するインフラストラクチャをオーバロードして、画素ブロックのアクセス保護レベルを記録するメカニズムを提供する。デコードされたフレームは、ブロック境界で完全に暗号化される。メタデータは、各ブロックの必要な保護レベルを記録するために使用される。SoC上の各VMは、どのデータがVMに利用可能であるかを示す対応する保護レベルを有してもよい。選択的記述は、ビデオストリームが受信VMに提供されるときに実装される。
【0013】
この技法は既存のSoCロスレス圧縮インフラストラクチャを利用するため、ソフトウェアで実装し、検証することは簡単である。追加されるオーバーヘッドは、1080pフレーム当たり約3Kバイトのメモリに過ぎない。例えば、16画素のブロックサイズと2ビットの保護レベルフィールドを使用すると、1080pフレーム内のブロックの保護レベルは約2KB
【数1】
である。
【0014】
さらに、既存の圧縮インフラストラクチャを再利用することは、この技法に性能上のペナルティがないことを保証する。ロスレス圧縮が適用された後にビデオストリームを暗号化すると、メモリ帯域幅効率がもたらされる。実装は、ハードウェアベースの厳格なプライバシー保護を実施しながら、同じハードウェアリソースを共有し、同じカメラストリームにアクセスするより多くの仮想マシンをサポートすることができる。
【0015】
図1は、「エッジクラウド」として以下の例の多くで参照される処理層を含む、エッジコンピューティングのための構成の概要を示すブロック
図100である。図示のように、エッジクラウド110は、アクセスポイントまたは基地局140、ローカル処理ハブ150、または中央オフィス120などのエッジ位置に共配置され、従って、複数のエンティティ、デバイス、および機器インスタンスを含んでもよい。エッジクラウド110は、クラウドデータセンタ130よりも、エンドポイント(コンシューマおよび生産者)データソース160(例えば、自律車両161、ユーザ機器162、ビジネスおよび産業機器163、ビデオキャプチャデバイス164、ドローン165、スマートシティおよび建物デバイス166、センサおよびIoTデバイス167など)により近くに位置する。エッジクラウド110におけるエッジで提供されるコンピューティング、メモリ、およびストレージリソースは、エンドポイントデータソース160によって使用されるサービスおよび機能のための超低レイテンシ応答時間を提供し、エッジクラウド110からクラウドデータセンタ130へのネットワークバックホールトラフィックを低減するために重要であり、これにより、他の利点の中でも、エネルギー消費および全体的なネットワーク使用量を改善する。
【0016】
コンピューティング、メモリ、およびストレージは、希少なリソースであり、一般に、エッジ位置に依存して減少する(例えば、中央オフィスよりも、基地局、基地局でよりもコンシューマエンドポイントデバイスで利用可能な処理リソースが少ない)。しかし、エッジ位置がエンドポイント(例えば、ユーザ機器(UE))に近いほど、そのスペースおよび電力は制約されることが多くなる。したがって、エッジコンピューティングは、地理的およびネットワークアクセス時間の両方においてより近くに位置するより多くのリソースの分配を通して、ネットワークサービスに必要とされるリソースの量を低減することを試みる。このように、エッジコンピューティングは、必要に応じて、ワークロードデータにコンピューティングリソースを持ち込むか、またはワークロードデータをコンピューティングリソースに持ち込むことを試みる。
【0017】
以下、複数の潜在的な展開をカバーし、一部のネットワークオペレータやサービスプロバイダが自身のインフラストラクチャにおいて有することがある制約に対処するエッジクラウドアーキテクチャの態様について説明する。これらは、エッジ位置に基づく構成のバリエーション(例えば、基地局レベルにおけるエッジは、マルチテナントシナリオにおいて、より制約された性能および能力を有することがあるため)、エッジ位置、位置の階層、または位置のグループに利用可能なコンピューティング、メモリ、ストレージ、ファブリック、アクセラレーション、または同様のリソースのタイプに基づく構成、サービス、セキュリティ、および管理およびオーケストレーション能力、ならびにエンドサービスの有用性および性能を達成するための関係目的を含む。これらの展開は、レイテンシ、距離、およびタイミング特性に応じて、「ニアエッジ」、「クロースエッジ」、「ローカルエッジ」、「ミドルエッジ」、または「ファーエッジ」層とみなすことができるネットワーク層における処理を達成してもよい。
【0018】
エッジコンピューティングは、典型的には、基地局、ゲートウェイ、ネットワークルータ、またはデータを生成し消費するエンドポイントデバイスにより近い他のデバイスに実装されたコンピューティングプラットフォーム(例えば、x86またはARMコンピューティングハードウェアアーキテクチャ)の使用を通じて、ネットワークの「エッジ」において、またはエッジにより近いところで、コンピューティングが実行される発展途上にあるパラダイムである。例えば、エッジゲートウェイサーバは、接続されたクライアントデバイスのための低レイテンシ使用ケース(例えば、自律運転またはビデオ監視)に対してリアルタイムで計算を実行するために、メモリおよびストレージリソースのプールを備えてもよい。あるいは、一例として、基地局は、バックホールネットワークを介してデータをさらに通信することなく、接続されたユーザ機器のためのサービスワークロードを直接処理するために、コンピューティングおよびアクセラレーションリソースで拡張されてもよい。あるいは、別の例として、中央オフィスネットワーク管理ハードウェアを、仮想化ネットワーク機能を実行し、接続されたデバイスのためのサービスおよびコンシューマ機能の実行のためのコンピューティングリソースを提供する標準化されたコンピューティングハードウェアに置き換えられてもよい。エッジコンピューティングネットワーク内では、コンピューティングリソースがデータに「移動」されるサービス内のシナリオ、およびデータがコンピューティングリソースに「移動」されるシナリオが存在してもよい。あるいは、例として、ベースステーションのコンピューティング、アクセラレーション、およびネットワークリソースは、めったに起きないケース、緊急事態を管理するために、または、かなり長い実装ライフサイクルにわたって展開されたリソースの長寿命化を提供するために、休止状態のキャパシティ(サブスクリプション、要求に応じたキャパシティ)をアクティブにすることにより、必要に応じてワークロード需要を拡大するためのサービスを提供することができる。
【0019】
図2は、エンドポイント、エッジクラウド、およびクラウドコンピューティング環境間の動作層を示す。具体的には、
図2は、ネットワークコンピューティングの複数の例示的な層の中のエッジクラウド110を利用する計算上の使用ケース205の例を示す。これらの層は、エッジクラウド110にアクセスして、データ作成、分析、およびデータ消費アクティビティを実行するエンドポイント(デバイスおよびモノ)層200で開始する。エッジクラウド110は、複数のネットワーク層、例えば、物理的に近接したエッジシステム内に位置するゲートウェイ、オンプレミスサーバ、またはネットワーク機器(ノード215)を有するエッジデバイス層210と、基地局、無線処理ユニット、ネットワークハブ、地域データセンタ、またはローカルネットワーク機器(機器225)を包含するネットワークアクセス層220と、それらの間に位置する任意の機器、デバイス、またはノード(詳細には図示されていないが、層212内にある)にまたがってもよい。エッジクラウド110内および様々な層の間のネットワーク通信は、図示されていない接続性アーキテクチャおよび技術を介するものを含む、任意の数の有線または無線媒体を介して発生してもよい。
【0020】
ネットワーク通信距離および処理時間の制約に起因する例示的なレイテンシとしては、エンドポイント層200間で1ミリ秒(ms)未満、エッジデバイス層210において5ミリ秒未満、ネットワークアクセス層220でノードと通信するときであれば10~40ミリ秒の範囲であってもよい。エッジクラウド110の外側には、コアネットワーク230およびクラウドデータセンタ240があり、各々では、レイテンシが増加する(例えば、コアネットワーク層230において50~60ms、クラウドデータセンタ層で100ms以上)。結果として、コアネットワークデータセンタ235またはクラウドデータセンタ245における動作は、少なくとも50~100ms以上のレイテンシがあり、使用ケース205の多くのタイムクリティカルな機能を達成することができない。これらのレイテンシ値の各々は、説明および強調の目的のために提供され、他のアクセスネットワーク媒体および技術の使用は、レイテンシをさらに低減することがあると理解されるであろう。いくつかの例において、ネットワークのそれぞれの部分は、ネットワークソースおよび宛先に対する「クロースエッジ」、「ローカルエッジ」、「ニアエッジ」、「ミドルエッジ」または「ファーエッジ」層として分類されてもよい。例えば、コアネットワークデータセンタ235またはクラウドデータセンタ245の観点から、中央オフィスまたはコンテンツデータネットワークは、「ニアエッジ」層(クラウドに「近く」、使用ケース205のデバイスおよびエンドポイントと通信するときに高いレイテンシ値を有する)内に位置するとみなされてもよいが、アクセスポイント、基地局、オンプレミスサーバまたはネットワークゲートウェイは、「ファーエッジ」層(クラウドから「遠く」、使用ケース205のデバイスおよびエンドポイントと通信するときに低レイテンシ値を有する)内に位置するとみなされてもよい。「クロース」、「ローカル」、「ニヤ」、「ミドル」または「ファー」エッジを構成するとして、特定のネットワーク層の他の分類分けが、遅延、距離、ネットワークホップ数、またはネットワーク層200~240のいずれかのソースから測定される他の測定可能な特性に基づいてもよいと理解されるだろう。
【0021】
様々な使用ケース205は、エッジクラウドを利用する複数のサービスにより、入力ストリームからの使用量圧力下でリソースにアクセスしてもよい。低レイテンシで結果を達成するために、エッジクラウド110内で実行されるサービスは、以下の観点から変動する要件のバランスをとる。すなわち、(a)優先度(スループットまたはレイテンシ)およびQoS(Quality of Service)(例えば、自律自動車のトラフィックは、応答時間要件に関して温度センサよりも高い優先度を有してもよいし、性能感度/ボトルネックは、アプリケーションに応じて、コンピューティング/アクセラレータ、メモリ、ストレージ、またはネットワークリソースにおいて存在してもよい)、(b)信頼性および弾力性(例えば、いくつかの入力ストリームは、作用される必要があり、トラフィックは、ミッションクリティカルな信頼性でルーティングされるが、他の入力ストリームは、アプリケーションに応じて、時折発生する障害を大目にみてもよい)、(c)物理的制約(例えば、電力、冷却、および形態ファクタ)。
【0022】
これらの使用ケースのエンドツーエンドサービスビューは、サービスフローの概念を伴い、トランザクションに関連する。トランザクションは、サービスを消費するエンティティに対する全体的なサービス要件と、リソース、ワークロード、ワークフロー、ビジネス機能およびビジネスレベルの要件に対する関連サービスを詳細に説明する。説明された「用語」で実行されるサービスは、サービスのライフサイクル中のトランザクションに対するリアルタイムおよびランタイムの契約遵守を保証するやり方で、各層において管理されてもよい。トランザクションにおけるコンポーネントがSLAに合意されたものに欠いているときに、システム全体(トランザクションにおけるコンポーネント)は、(1)SLA違反の影響を理解し、(2)トランザクション全体のSLAを再開するためにシステム内の他のコンポーネントを増強し、(3)是正するためのステップを実装するアビリティを提供し得る。
【0023】
したがって、これらのバリエーションおよびサービス特徴を念頭に置いて、エッジクラウド110内のエッジコンピューティングは、リアルタイムまたはリアルタイムに近い形で、使用ケース205の複数のアプリケーション(例えば、オブジェクト追跡、ビデオ監視、接続された車両など)を提供およびこれらに応答するアビリティを提供し、これらの複数のアプリケーションのための超低レイテンシ要件を満たすことができる。これらの利点は、全く新しいクラスのアプリケーション(VNF(Virtual Network Function)、FaaS(Function as a Service)、EaaS(Edge as a Service)、標準プロセスなど)を可能にし、これらは、レイテンシや他の制限のために従来のクラウドコンピューティングを活用することができない。
【0024】
しかし、エッジコンピューティングの利点には、以下の注意点がある。エッジに位置するデバイスは、しばしばリソースが制約されるため、エッジリソースの使用量に圧力がかかる。典型的には、これは、複数のユーザ(テナント)およびデバイスによって使用されるためのメモリおよびストレージリソースのプールを通じて対処される。エッジは、電力および冷却が制約されることがあり、したがって、電力使用量は、最も電力を消費しているアプリケーションによって説明される必要がある。これらのプールされたメモリリソースの多くは、より多くの電力がより大きなメモリ帯域幅を必要とする新興のメモリ技術を使用する可能性が高いため、これらのリソースには固有の電力性能のトレードオフが存在する可能性がある。同様に、エッジ位置が無人である可能性があり、許可されたアクセス(例えば、第三者の位置に収容されている場合)さえ必要である可能性があるため、ハードウェアおよび信頼できる機能のルートのセキュリティの改善も必要である。このような問題は、マルチテナント、マルチオーナー、またはマルチアクセス設定においてエッジクラウド110において拡大されるが、サービスおよびアプリケーションは、多くのユーザによって要求され、特に、ネットワーク使用量が動的に変動し、マルチステークホルダー、使用ケース、およびサービスの構成が変化するためである。
【0025】
より一般的なレベルでは、エッジコンピューティングシステムは、クライアントおよび分散コンピューティングデバイスから協調を提供するエッジクラウド110(ネットワーク層200~240)内で動作する、先に議論された層における任意の数の展開を包含するように説明されてもよい。1つ以上のエッジゲートウェイノード、1つ以上のエッジ集約ノード、および1つ以上のコアデータセンタは、通信サービスプロバイダ(「telco」または「TSP」)、モノのインターネットサービスプロバイダ、クラウドサービスプロバイダ(CSP)、エンタープライズエンティティ、または任意の他の数のエンティティによって、またはそれらの代わりにエッジコンピューティングシステムの実装を提供するために、ネットワークの複数の層にわたって分散されてもよい。エッジコンピューティングシステムの様々な実装および構成は、サービスの目的を満たすようにオーケストレーションされたときのように、動的に提供されてもよい。
【0026】
本明細書で提供される例と一致して、クライアントコンピューティングノードは、データの生産者またはコンシューマとして通信することが可能な任意のタイプのエンドポイントコンポーネント、デバイス、アプライアンス、または他のものとして具現化されてもよい。さらに、エッジコンピューティングシステムで使用されるようなラベル「ノード」または「デバイス」は、必ずしもそのようなノードまたはデバイスがクライアントまたはエージェント/ミニオン/フォロワの役割で動作することを意味するのではなく、むしろ、エッジコンピューティングシステムにおける任意のノードまたはデバイスは、エッジクラウド110を促進または使用するための個別のまたは接続されたハードウェアまたはソフトウェア構成を含む個々のエンティティ、ノードまたはサブシステムを指す。
【0027】
したがって、エッジクラウド110は、エッジゲートウェイノード、エッジ集約ノード、またはネットワーク層210~230の中の他のエッジコンピューティングノードによっておよびその中で動作するネットワークコンポーネントおよび機能的特徴から形成される。したがって、エッジクラウド110は、本明細書で論じられる、無線アクセスネットワーク(RAN)が可能なエンドポイントデバイス(例えば、モバイルコンピューティングデバイス、IoTデバイス、スマートデバイスなど)に近接して位置するエッジコンピューティングおよび/またはストレージリソースを提供する任意のタイプのネットワークとして具現化されてもよい。言い換えると、エッジクラウド110は、ストレージおよび/またはコンピューティング能力も提供しながら、イングレスポイントとして提供するエンドポイントデバイスおよび従来のネットワークアクセスポイントを、モバイルキャリアネットワーク(例えば、GSM(Global System for Mobile Communications)ネットワーク、LTE(Long-Term Evolution)ネットワーク、5G/6Gネットワークなど)を含むサービスプロバイダコアネットワークに接続する「エッジ」として想定されてもよい。他のタイプおよび形態のネットワークアクセス(例えば、Wi-Fi、長距離無線、光ネットワークを含む有線ネットワーク)も、このような3GPPキャリアネットワークの代わりに、またはそれと組み合わせて利用されてもよい。
【0028】
エッジクラウド110のネットワークコンポーネントは、サーバ、マルチテナントサーバ、アプライアンスコンピューティングデバイス、および/または任意の他のタイプのコンピューティングデバイスであってもよい。例えば、エッジクラウド110は、ハウジング、シャーシ、ケースまたはシェルを含む自己完結型電子デバイスであるアプライアンスコンピューティングデバイスを含んでもよい。いくつかの状況では、ハウジングは、人が搬送することができる、および/または出荷することができるように、可搬性のために寸法決めされてもよい。例示的なハウジングは、アプライアンスの内容物を部分的または完全に保護する1つ以上の外表面を形成する材料を含んでもよく、保護は、気象保護、危険な環境保護(例えば、EMI、振動、極端な温度)、および/または浸水を可能にすることを含んでもよい。例示的なハウジングは、AC電力入力、DC電力入力、AC/DCまたはDC/ACコンバータ、電力レギュレータ、変圧器、充電回路、バッテリ、有線入力および/または無線電力入力などの定置型および/または可搬型実装のための電力を供給するための電力回路を含んでもよい。例示的なハウジングおよび/またはその表面は、建物、電気通信構造(例えば、ポール、アンテナ構造など)および/またはラック(例えば、サーバラック、ブレードマウントなど)などへの取り付けを可能にするために、マウントハードウェアを含んでもよく、またはマウントハードウェアに接続してもよい。例示的なハウジングおよび/またはその表面は、1つ以上のセンサ(例えば、温度センサ、振動センサ、光センサ、音響センサ、容量性センサ、近接センサなど)を支持してもよい。1つ以上のそのようなセンサは、アプライアンスの表面に含まれていてもよいし、それによって搬送されていてもよいし、またはその他の方法で埋め込まれていてもよいし、および/または器具の表面にマウントされていてもよい。例示的なハウジングおよび/またはその表面は、推進ハードウェア(例えば、ホイール、プロペラなど)および/または関節形成ハードウェア(例えば、ロボットアーム、旋回可能な付属物など)のような機械的接続性を支持してもよい。いくつかの状況では、センサは、ユーザインターフェースハードウェア(例えば、ボタン、スイッチ、ダイヤル、スライダなど)のような任意のタイプの入力デバイスを含んでもよい。いくつかの状況では、例示的なハウジングは、その中に含まれ、搬送され、埋め込まれ、および/またはそれに取り付けられた出力デバイスを含む。出力デバイスは、ディスプレイ、タッチスクリーン、ライト、LED、スピーカ、I/Oポート(例えば、USB)などを含み得る。いくつかの状況では、エッジデバイスは、特定の目的(例えば、交通信号)のためにネットワークにおいて提示されるデバイスであるが、他の目的のために利用され得る処理および/または他のキャパシティを有してもよい。このようなエッジデバイスは、他のネットワーク接続されたデバイスから独立していてもよく、その主要な目的に適した形態ファクタを有するハウジングを有してもよく、その主要なタスクに干渉しない他のコンピューティングタスクにも利用可能である。エッジデバイスには、モノのインターネットデバイスを含む。アプライアンスコンピューティングデバイスは、デバイス温度、振動、リソース利用、更新、電力問題、物理的およびネットワークセキュリティなどの局所的な問題を管理するためのハードウェアおよびソフトウェアコンポーネントを含むことができる。アプライアンスコンピューティングデバイスを実装するための例示的なハードウェアが、
図4Bと併せて説明される。また、エッジクラウド110は、1つ以上のサーバおよび/または1つ以上のマルチテナントサーバを含んでもよい。このようなサーバは、オペレーティングシステムを含み、仮想コンピューティング環境を実装してもよい。仮想コンピューティング環境は、1つ以上の仮想マシン、1つ以上のコンテナなどを管理する(例えば、スポーン、展開、破棄など)ことを含んでもよい。そのような仮想コンピューティング環境は、実行環境を提供し、そこでは、1つ以上のアプリケーションおよび/または他のソフトウェア、コードまたはスクリプトが、1つ以上の他のアプリケーション、ソフトウェア、コードまたはスクリプトから隔離されながら実行することができる。
【0029】
図3において、様々なクライアントエンドポイント310(モバイルデバイス、コンピュータ、自律車両、ビジネスコンピューティング機器、産業処理機器の形態)は、エンドポイントネットワーク集約のタイプに固有の要求および応答を交換する。例えば、クライアントエンドポイント310は、オンプレミスネットワークシステム332を介して要求および応答322を交換することによって、有線ブロードバンドネットワークを介してネットワークアクセスを取得してもよい。モバイルコンピューティングデバイスなどのいくつかのクライアントエンドポイント310は、アクセスポイント(例えば、セルラネットワークタワー)334を介して要求および応答324を交換することによって、無線ブロードバンドネットワークを介してネットワークアクセスを取得してもよい。自律車両などのいくつかのクライアントエンドポイント310は、街頭に位置するネットワークシステム336を通じて、無線車両ネットワークを介して、要求および応答326のためのネットワークアクセスを取得してもよい。しかし、ネットワークアクセスのタイプに関係なく、TSPは、トラフィックおよび要求を集約するために、エッジクラウド110内に集約ポイント342、344を展開してもよい。したがって、エッジクラウド110内で、TSPは、要求されたコンテンツを提供するために、エッジ集約ノード340などにおいて様々なコンピューティングおよびストレージリソースを展開してもよい。エッジ集約ノード340およびエッジクラウド110の他のシステムは、クラウドまたはデータセンタ360に接続され、これらは、バックホールネットワーク350を使用して、ウェブサイト、アプリケーション、データベースサーバなどのために、クラウド/データセンタからの高レイテンシ要求を満たす。エッジ集約ノード340および集約ポイント342、344の追加インスタンスまたは統合インスタンスは、単一のサーバフレームワーク上に展開されたものを含めて、エッジクラウド110またはTSPインフラストラクチャの他の領域内に存在してもよい。
【0030】
さらなる例では、本エッジコンピューティングシステムおよび環境を参照して議論されたコンピューティングノードまたはデバイスのいずれも、
図4Aおよび4Bに示されたコンポーネントに基づいて満たされてもよい。それぞれのエッジコンピューティングノードは、デバイス、アプライアンス、コンピュータ、または他のエッジ、ネットワーキング、またはエンドポイントコンポーネントと通信可能な他の「モノ」のタイプとして具現化されてもよい。例えば、エッジコンピューティングデバイスは、パーソナルコンピュータ、サーバ、スマートフォン、モバイルコンピューティングデバイス、スマートアプライアンス、車載コンピューティングシステム(例えば、ナビゲーションシステム)、外装ケース、シェルなどを有する内蔵型デバイス、または説明された機能を実行することが可能な他のデバイスまたはシステムとして具現化されてもよい。
【0031】
図4Aに示された単純化された例では、エッジコンピューティングノード400は、コンピューティングエンジン(本明細書では「コンピューティング回路」とも呼ばれる)402、入力/出力(I/O)サブシステム408、データストレージ410、通信回路サブシステム412、および任意選択で1つ以上の周辺デバイス414を含む。他の例では、それぞれのコンピューティングデバイスは、コンピュータに典型的に見られるもの(例えば、ディスプレイ、周辺デバイスなど)などの他のまたは追加のコンポーネントを含むことができる。さらに、いくつかの例では、例示的なコンポーネントの1つ以上を、別のコンポーネントに組み込むか、または別の方法で別のコンポーネントの一部分を形成してもよい。
【0032】
コンピューティングノード400は、様々なコンピューティング機能を実行することが可能な任意のタイプのエンジン、デバイス、またはデバイスの集合として具現化されてもよい。いくつかの例では、コンピューティングノード400は、集積回路、埋め込みシステム、フィールドプログラマブルゲートアレイ(FPGA)、システムオンチップ(SoC)、または他の集積システムまたはデバイスなどの単一デバイスとして具現化されてもよい。例示的な例では、コンピューティングノード400は、プロセッサ404およびメモリ406を含むか、またはそれらとして具現化される。プロセッサ404は、本明細書で説明される機能を実行(例えば、アプリケーションを実行)することが可能な任意のタイプのプロセッサとして具現化されてもよい。例えば、プロセッサ404は、マルチコアプロセッサ、マイクロコントローラ、処理ユニット、特殊化されたもしくは特殊な目的の処理ユニットユニット、または他のプロセッサまたは処理/制御回路として具現化されてもよい。
【0033】
いくつかの例では、プロセッサ404は、FPGA、特定用途向け集積回路(ASIC)、再構成可能なハードウェアもしくはハードウェア回路、または本明細書で説明された機能の実行を容易にするための他の特殊化されたハードウェアとして具現化されるか、それらを含むか、またはこれらに結合されてもよい。また、いくつかの例では、プロセッサ404は、データ処理ユニット(DPU)、インフラストラクチャ処理ユニット(IPU)、またはネットワーク処理ユニット(NPU)としても知られている特殊化されたx-処理ユニット(xPU)として具現化されてもよい。そのようなxPUは、スタンドアロン回路または回路パッケージとして具現化され、SoC内に統合され、またはネットワーク回路(例えば、SmartNICまたは拡張SmartNIC)、アクセラレーション回路、ストレージデバイス、もしくはAIハードウェア(例えば、GPUまたはプログラムされたFPGA)と統合されてもよい。そのようなxPUは、CPUまたは汎用処理ハードウェアの外部で、1つ以上のデータストリームを処理し、データストリームのための特定のタスクおよびアクション(例えば、マイクロサービスのホスティング、サービス管理もしくはオーケストレーションの実行、サーバもしくはデータセンタのハードウェアの組織化もしくは管理、サービスメッシュの管理、またはテレメトリの収集および分配)を実行するためのプログラミングを受信するように設計されてもよい。しかしながら、xPU、SoC、CPU、およびプロセッサ404の他のバリエーションは、互いに協調して作業し、コンピューティングノード400内で、およびこれに代わって、多くのタイプの動作および命令を実行することができることが理解されるだろう。
【0034】
メモリ406は、本明細書で説明される機能を実行することが可能な任意のタイプの揮発性(例えば、ダイナミックランダムアクセスメモリ(DRAM)など)もしくは不揮発性メモリ、またはデータストレージとして具現化されてもよい。揮発性メモリは、媒体によって格納されたデータの状態を維持するために電力を必要とする記憶媒体であってもよい。揮発性メモリの非限定的な例は、DRAMまたはSRAM(static random access memory)などの様々なタイプのなどのRAM(random access memory)を含んでもよい。メモリモジュールにおいて使用され得る1つの具体的なタイプのDRAMは、SDRAM(ynchronous dynamic random access memory)である。
【0035】
一例では、メモリデバイスは、NANDまたはNOR技術に基づくもののようなブロックアドレス指定可能メモリデバイスである。メモリデバイスはまた、三次元クロスポイントメモリデバイス(例えば、Intel(登録商標)3D XPoint(商標)メモリ)、または他のバイトアドレス指定可能なwrite-in-placeの不揮発性メモリデバイスを含んでもよい。メモリデバイスは、ダイ自体および/またはパッケージ化されたメモリ製品を指してもよい。いくつかの例において、3Dクロスポイントメモリ(例えば、Intel 3D XPoint(商標)メモリ)は、メモリセルがワード線とビット線との交点に位置し、個々にアドレス指定可能であり、ビットストレージがバルク抵抗の変化に基づいているトランジスタレススタッカブルクロスポイントアーキテクチャを含んでもよい。いくつかの例では、メモリ406の全部または一部がプロセッサ404に統合されてもよい。メモリ406は、1つ以上のアプリケーション、アプリケーションによって動作されるデータ、ライブラリ、およびドライバなど、動作中に使用される様々なソフトウェアおよびデータを格納してもよい。
【0036】
コンピューティング回路402は、I/Oサブシステム408を介してコンピューティングノード400の他のコンポーネントに通信的に結合され、このコンポーネントは、コンピューティング回路402(例えば、プロセッサ404および/またはメインメモリ406を備える)およびコンピューティング回路402の他のコンポーネントとの入出力動作を容易にするための回路および/またはコンポーネントとして具現化されてもよい。例えば、I/Oサブシステム408は、メモリコントローラハブ、入出力制御ハブ、統合されたセンサハブ、ファームウェアデバイス、通信リンク(例えば、ポイントツーポイントリンク、バスリンク、ワイヤ、ケーブル、光ガイド、プリント回路基板トレースなど)、および/または入出力動作を容易にするための他のコンポーネントおよびサブシステムとして具現化されるか、または別の方法でこれらを含んでもよい。いくつかの例において、I/Oサブシステム408は、SoC(system-on-chip)の一部分を形成し、プロセッサ404、メモリ406、およびコンピューティング回路402の他のコンポーネントのうちの1つ以上とともに、コンピューティング回路402に組み込まれてもよい。
【0037】
1つ以上の例示的なデータストレージデバイス410は、例えば、メモリデバイスおよび回路、メモリカード、ハードディスクドライブ、ソリッドステートドライブ、または他のデータストレージデバイスなど、データの短期間または長期間のストレージのために構成された任意のタイプのデバイスとして具現化されてもよい。個々のデータストレージデバイス410は、データストレージデバイス410のためのデータおよびファームウェアコードを格納するシステムパーティションを含んでもよい。また、個々のデータストレージデバイス410は、例えば、コンピューティングノード400のタイプに応じて、データファイルおよびオペレーティングシステムに対して実行可能なものを格納する1つ以上のオペレーティングシステムパーティションを含んでもよい。
【0038】
通信回路412は、コンピューティング回路402と別のコンピューティングデバイス(例えば、実装するエッジコンピューティングシステムのエッジゲートウェイ)との間のネットワーク上の通信を可能にすることができる任意の通信回路、デバイス、またはそれらの集合として具現化されてもよい。通信回路412は、任意の1つ以上の通信技術(例えば、有線または無線通信)および関連プロトコル(例えば、3GPP 4Gまたは5G標準などのセルラーネットワーキングプロトコル、IEEE 802.11/Wi-Fi(登録商標)などの無線ローカルエリアネットワークプロトコル、無線ワイヤレスエリアネットワークプロトコル、Ethernet(登録商標)、Bluetooth(登録商標)、Bluetooth Low Energy、IEEE 802.15.4などのIoTプロトコルもしくはZigBee(登録商標)、LPWAN(low-power wide-area network)またはLPWA(low-power wide-area)プロトコルなど)を使用して、そのような通信をもたらすように構成されてもよい。
【0039】
例示的な通信回路412は、HFI(host fabric interface)とも呼ばれるNIC(network interface controller)420を含む。NIC420は、1つ以上のアドインボード、ドーターカード、ネットワークインターフェースカード、コントローラチップ、チップセット、または他のコンピューティングデバイス(例えば、エッジゲートウェイノード)と接続するためにコンピューティングノード400によって使用され得る他のデバイスとして具現化されてもよい。いくつかの例において、NIC420は、1つ以上のプロセッサを含むSoC(system-on-a-chip)の一部として埋め込まれるか、または1つ以上のプロセッサも含むマルチチップパッケージ上に含まれてもよい。いくつかの例において、NIC420は、両方ともNIC420に対してローカルであるローカルプロセッサ(図示せず)および/またはローカルメモリ(図示せず)を含んでもよい。このような例において、NIC420のローカルプロセッサは、本明細書で説明されるコンピューティング回路402のうちの1つ以上の機能を実行することが可能であり得る。追加的または代替的に、そのような例において、NIC420のローカルメモリは、ボードレベル、ソケットレベル、チップレベル、および/または他のレベルでクライアントコンピューティングノードの1つ以上のコンポーネントに統合されてもよい。
【0040】
追加的に、いくつかの例では、それぞれのコンピューティングノード400は、1つ以上の周辺デバイス414を含んでもよい。このような周辺デバイス414は、コンピューティングノード400の具体的なタイプに応じて、オーディオ入力デバイス、ディスプレイ、他の入出力デバイス、インターフェースデバイス、および/または他の周辺デバイスなど、コンピューティングデバイスまたはサーバに見出される任意のタイプの周辺デバイスを含んでもよい。さらに別の例では、コンピューティングノード400は、エッジコンピューティングシステムまたは同様の形態のアプライアンス、コンピュータ、サブシステム、回路、もしくは他のコンポーネントにおけるそれぞれのエッジコンピューティングノード(クライアントか、ゲートウェイか、または集約ノード)によって具現化されてもよい。
【0041】
より詳細な例において、
図4Bは、本明細書で説明される技法(例えば、動作、プロセス、方法、および方法論)を実装するためのエッジコンピューティングノード450内に存在し得るコンポーネントの一例のブロック図を示す。このエッジコンピューティングノード450は、コンピューティングデバイス(例えば、移動デバイス、基地局、サーバ、ゲートウェイなど)として、またはその一部として実装されるときに、ノード400のそれぞれのコンポーネントのより近い図を提供する。エッジコンピューティングノード450は、本明細書で参照するハードウェアまたは論理コンポーネントの任意の組み合わせを含んでもよく、エッジ通信ネットワークまたはそのようなネットワークの組み合わせで使用可能な任意のデバイスを含んでもよく、またはそれと結合してもよい。コンポーネントは、集積回路、その部分、個別電子デバイス、もしくは他のモジュール、命令セット、プログラマブル論理もしくはアルゴリズム、ハードウェア、ハードウェアアクセラレータ、ソフトウェア、ファームウェア、もしくはそれらの組み合わせとして、エッジコンピューティングノード450に適合されるように実装されてもよく、または、他の方法でより大きなシステムのシャーシ内に組み込まれるコンポーネントとして実装されてもよい。
【0042】
エッジコンピューティングノード450は、マイクロプロセッサ、マルチコアプロセッサ、マルチスレッドプロセッサ、超低電圧プロセッサ、埋め込みプロセッサ、xPU/DPU/IPU/NPU、特殊な目的の処理ユニット、特殊化された処理ユニット、または他の既知の処理要素であってもよいプロセッサ452の形態の処理回路を含んでもよい。プロセッサ452は、プロセッサ452および他のコンポーネントが単一の集積回路に形成されるSoC(system on chip)の一部、または単一のパッケージ、例えば、カリフォルニア州サンタクララのインテル社のエジソン(商標)またはガリレイ(商標)であってもよい。一例として、プロセッサ452は、Quark(商標)、Atom(商標)、i3、i5、i7、i9、またはMCUクラスのプロセッサなどのIntel(登録商標)Architecture Core(商標)ベースのCPUプロセッサ、またはIntel(登録商標)から入手可能な別のこのようなプロセッサを含んでもよい。ただし、カリフォルニア州サニーベールのAdvanced Micro Devices, Inc. (AMD(登録商標))から入手可能なもの、カリフォルニア州サニーベールのMIPS Technologies, Inc.のMIPS(登録商標)ベースの設計、ARM Holdings, Ltd.もしくはその顧客、またはそれらのライセンシーもしくは採用者からライセンス許諾されたARM(登録商標)ベースの設計など、任意の数の他のプロセッサを使用することができる。プロセッサは、Apple(登録商標)Inc.からのA5-13プロセッサ、Qualcomm(登録商標)Technologies, Inc.製のSnapdragon(商標)プロセッサ、Texas Instruments, Inc.からのOMAP(商標)プロセッサなどのユニットを含んでもよい。プロセッサ452および付随する回路は、
図4Bに示される全ての要素よりも少ない数の限定されたハードウェア構成または構成を含む、単一のソケット形態ファクタ、複数のソケット形態ファクタ、または様々な他のフォーマットで提供されてもよい。
【0043】
プロセッサ452は、相互接続456(例えば、バス)を介してシステムメモリ454と通信してもよい。任意の数のメモリデバイスを使用して、所与の量のシステムメモリを提供してもよい。例として、メモリ454は、DDRまたはモバイルDDR標準(例えば、LPDDR、LPDDR2、LPDR3、またはLPDDR4)のなどのJEDEC(Joint Electron Devices Engineering Council)設計に従ったランダムアクセスメモリ(RAM)であってもよい。特定の例において、メモリコンポーネントは、JEDECによって公表されたDRAM標準、例えば、DDR SDRAMのためのJESD79F、DDR2 SDRAMのためのJESD79-2F、DDR3 SDRAMのためのJESD79-3F、DDR4 SDRAMのためのJESD79-4A、低電力DDR (LPDR)のためのJESD209、LPDDR2のためのJESD209-2、LPDDR3のためのJESD209-3、およびLPDDR4のためのJESD209-4に準拠してもよい。そのような標準(および類似の標準)は、DDRベースの標準と呼ばれてもよく、そのような標準を実装するストレージデバイスの通信インターフェースは、DDRベースのインターフェースと呼ばれてもよい。様々な実装において、個々のメモリデバイスは、単一ダイパッケージ(SDP)、デュアルダイパッケージ(DDP)、またはクワッドダイパッケージ(Q17P)などの任意の数の異なるパッケージタイプのものであってもよい。これらのデバイスは、いくつかの例では、マザーボード上に直接半田付けされて、よりプロファイルの低い解決策を提供することができるが、他の例では、デバイスは、所与のコネクタによってマザーボードに結合される1つ以上のメモリモジュールとして構成されている。例えば、マイクロDIMMまたはミニDIMMを含むが、これらに限定されない、異なる種類のDIMM(dual inline memory module)である他のタイプのメモリモジュールなどの任意の数の他のメモリ実装が使用されてもよい。。
【0044】
データ、アプリケーション、オペレーティングシステムなどの情報の永続的なストレージを提供するために、ストレージ458はまた、相互接続456を介してプロセッサ452に結合してもよい。一例では、ストレージ458は、SSDD(solid-state disk drive)を介して実装されてもよい。ストレージ458に使用され得る他のデバイスは、SD(Secure Digital)カード、マイクロSDカード、XD(eXtreme Digital)ピクチャーカードなどのフラッシュメモリカード、およびUSB(Universal Serial Bus)フラッシュドライブを含む。一例では、メモリデバイスは、カルコゲナイドガラス、マルチスレッショルドレベルのNANDフラッシュメモリ、NORフラッシュメモリ、単一もしくはマルチレベルPCM(Phase Change Memory)、抵抗メモリ、ナノワイヤメモリ、FeTRAM(ferroelectric transistor random access memory)、反強誘電体メモリ、メモリスタ技術を組み込んだMRAM(magnetoresistive random access memory)、金属酸化物ベース、酸素空孔ベース、およびCB-RAM(conductive bridge Random Access Memory)、もしくはSTT(spin transfer torque)-MRAMを含む抵抗メモリ、スピントロン磁気接合メモリベースのデバイス、MTJ(magnetic tunneling junction)ベースのデバイス、DW (Domain Wall)およびSOT (Spin Orbit Transfer)ベースのデバイス、サイリスタベースのメモリデバイス、もしくはこれらのいずれかの組み合わせ、または他のメモリを使用するメモリデバイスであってもよいし、またはそれらを含んでもよい。
【0045】
低電力実装では、ストレージ458は、プロセッサ452に関連するオンダイメモリまたはレジスタであってもよい。しかし、いくつかの例では、ストレージ458は、マイクロHDD(hard disk drive)を使用して実装されてもよい。さらに、ストレージ458には、説明された技術に加えて、またはその代わりに、とりわけ、抵抗変化メモリ、相変化メモリ、ホログラフィックメモリ、または化学メモリなどの任意の数の新しい技術が使用されてもよい。
【0046】
コンポーネントは、相互接続456を介して通信してもよい。相互接続456は、ISA(industry standard architecture)、EISA(extended ISA)、PCI(peripheral component interconnect)、PCIx(peripheral component interconnect extended)、PCIe(PCI express)または任意の数の他の技術を含む、任意の数の技術を含んでもよい。相互接続456は、例えば、SoCベースのシステムで使用される専有バスであってもよい。他のバスシステム、とりわけ、I2C(Inter-Integrated Circuit)インターフェース、SPI(Serial Peripheral Interface)インターフェース、ポイントツーポイントインターフェース、およびパワーバスなどが含まれてもよい。
【0047】
相互接続456は、接続されたエッジデバイス462と通信するために、プロセッサ452をトランシーバ466に結合してもよい。トランシーバ466は、とりわけ、Bluetooth(登録商標)Special Interest Groupによって定義されるBLE(Bluetooth(登録商標)low energy)、またはZigBee(登録商標)標準を使用して、IEEE 802.15.4標準の2.4ギガヘルツ(GHz)伝送など、任意の数の周波数およびプロトコルを使用してもよい。特定の無線通信プロトコルのために構成された任意の数の無線装置が、接続されたエッジデバイス462への接続のために使用されてもよい。例えば、WLAN(wireless local area network)ユニットを使用して、IEEE(Institute of Electrical and Electronics Engineers)802.11標準に従ってWi-Fi(登録商標)通信を実装してもよい。追加的に、無線ワイドエリア通信は、例えば、セルラーまたは他の無線広域プロトコルに従って、WWAN(wireless wide area network)ユニットを介して発生してもよい。
【0048】
無線ネットワークトランシーバ466(または複数のトランシーバ)は、異なる範囲での通信のために複数の標準または無線装置を使用して通信してもよい。例えば、エッジコンピューティングノード450は、電力を節約するために、BLE(Bluetooth Low Energy)に基づくローカルトランシーバ、または別の低電力無線装置を使用して、例えば約10メートル以内で、近接するデバイスと通信してもよい。より遠くに接続されたエッジデバイス462は、例えば、約50メートル以内で、ZigBee(登録商標)または他の中間電力無線装置を介して到達することができる。両方の通信技術は、異なる電力レベルで単一の無線装置上で行われてもよいし、別個のトランシーバ、例えば、BLEを使用するローカルトランシーバおよびZigBee(登録商標)を使用する別個のメッシュトランシーバ上で行われてもよい。
【0049】
無線ネットワークトランシーバ466(例えば、無線トランシーバ)は、ローカルまたはワイドエリアネットワークプロトコルを介して、クラウド(例えば、エッジクラウド495)内のデバイスまたはサービスと通信するために含まれてもよい。無線ネットワークトランシーバ466は、とりわけ、IEEE 802.15.4、またはIEEE 802.15.4g標準に従うLPWA(low-power wide-area)トランシーバであってもよい。エッジコンピューティングノード450は、SemtechおよびLoRa Allianceによって開発されたLoraWAN(商標)(Long Range Wide Area Network)を使用して、ワイドエリアにわたって通信してもよい。本明細書で説明される技術は、これらの技術に限定されるものではないが、Sigfoxなどの長距離、低帯域幅通信、および他の技術を実装する任意の数の他のクラウドトランシーバと共に使用されてもよい。さらに、IEEE 802.15.4e仕様で説明されるタイムスロット化されたチャネルホッピングのような他の通信技術が使用されてもよい。
【0050】
本明細書で説明されるように、無線ネットワークトランシーバ466のために言及されるシステムに加えて、任意の数の他の無線通信およびプロトコルが使用されてもよい。例えば、トランシーバ466は、高速通信を実現するためにSPA/SAS(spread spectrum)を使用するセルラトランシーバを含んでもよい。さらに、中速通信のためのWi-Fi(登録商標)ネットワークやネットワーク通信の提供など、任意の数の他のプロトコルも使用されてもよい。トランシーバ466は、本開示の最後でさらに詳細に議論されるLTE(Long Term Evolution)および5G(5th Generation)通信システムなどの、任意の数の3GPP (Third Generation Partnership Project)仕様と互換性のある無線装置を含んでもよい。ネットワークインターフェースコントローラ(NIC)468は、エッジクラウド495のノードまたは接続されたエッジデバイス462のような他のデバイスに有線通信を提供するために含まれてもよい。有線通信は、Ethernet接続を提供してもよいし、とりわけ、CAN(Controller Area Network)、LIN(Local Interconnect Network)、DeviceNet、ControlNet、Data Highway+、PROFIBUS、またはPROFINETなどの他のタイプのネットワークに基づいてもよい。追加のNIC468は、第2のネットワークへの接続を可能にするために含まれてもよく、例えば、第1のNIC468は、イーサネット上でクラウドへの通信を提供し、第2のNIC468は、別のタイプのネットワーク上で他のデバイスへの通信を提供する。
【0051】
デバイスから別のコンポーネントまたはネットワークへの適用可能な通信のタイプが多様であることを考慮すると、デバイスによって使用される適用可能な通信回路は、コンポーネント464、466、468、または470のうちの任意の1つ以上を含むか、またはそれらのいずれかによって具現化されてもよい。したがって、様々な例において、通信(例えば、受信、送信等)のための適用可能な手段は、そのような通信回路によって具現化されてもよい。
【0052】
エッジコンピューティングノード450は、1つ以上の人工知能(AI)アクセラレータ、ニューラルコンピューティングスティック、ニューロモルフィックハードウェア、FPGA、GPUの配置、xPU/DPU/IPU/NPUの配置、1つ以上のSoC、1つ以上のCPU、1つ以上のデジタル信号プロセッサ、専用ASIC、または1つ以上の特殊化されたタスクを達成するように設計された他の形態の特殊化されたプロセッサまたは回路によって具現化され得るアクセラレーション回路464を含むか、またはそれに結合されてもよい。これらのタスクは、AI処理(機械学習、訓練、推論、および分類動作を含む)、視覚データ処理、ネットワークデータ処理、オブジェクト検出、ルール分析などを含んでもよい。これらのタスクはまた、本文書の他の場所で議論されるサービス管理およびサービス動作のための特定のエッジコンピューティングタスクを含んでもよい。
【0053】
相互接続456は、プロセッサ452を、追加のデバイスまたはサブシステムを接続するために使用されるセンサハブまたは外部インターフェース470に結合してもよい。デバイスは、加速度計、レベルセンサ、フローセンサ、光学光センサ、カメラセンサ、温度センサ、グローバルナビゲーションシステム(例えば、GPS)センサ、圧力センサ、気圧センサなどのセンサ472を含んでもよい。ハブまたはインターフェース470は、エッジコンピューティングノード450を、電力スイッチ、バルブアクチュエータ、可聴音発生器、視覚警告デバイスなどのアクチュエータ474に接続するためにさらに使用されてもよい。
【0054】
いくつかの任意選択の例では、様々な入出力(I/O)デバイスが、エッジコンピューティングノード450内に存在してもよく、またはこれに接続されてもよい。例えば、ディスプレイまたは他の出力デバイス484は、センサ読み取り値またはアクチュエータ位置などの情報を示すために含まれてもよい。入力を受け付けるために、タッチスクリーンまたはキーパッドなどの入力デバイス486が含まれてもよい。出力デバイス484は、文字、グラフィックス、マルチメディアオブジェクトなどの出力がエッジコンピューティングノード450の動作から生成または作成される、バイナリステータスインジケータ(例えば、発光ダイオード(LED))などの単純な視覚出力、およびマルチキャラクタ視覚出力、またはディスプレイスクリーン(例えば、液晶ディスプレイ(LCD)スクリーン)などのより複雑な出力を含む、任意の数の形態のオーディオまたは視覚ディスプレイを含んでもよい。本システムのコンテキストでは、ディスプレイまたはコンソールハードウェアを使用して、エッジコンピューティングシステムの出力を提供し、入力を受信するか、エッジコンピューティングシステムのコンポーネントまたはサービスを管理するか、エッジコンピューティングコンポーネントまたはサービスの状態を識別するか、または任意の他の数の管理または管理機能またはサービス使用ケースを実行してもよい。
【0055】
バッテリ476は、エッジコンピューティングノード450に電力を供給することができるが、エッジコンピューティングノード450が定位置にマウントされる例では、電力供給を電気グリッドに結合してもよく、バッテリをバックアップとして、または一時的な能力のために使用してもよい。バッテリ476は、リチウムイオンバッテリ、または亜鉛空気バッテリ、アルミニウム空気バッテリ、リチウム空気バッテリなどの金属空気バッテリであってもよい。
【0056】
バッテリモニタ/充電器478は、バッテリ476の充電状態(SoCh)を追跡するためにエッジコンピューティングノード450に含まれてもよい。バッテリモニタ/充電器478は、バッテリ476の健康状態(SoH)および機能状態(SoF)などの障害予測を提供するために、バッテリ476の他のパラメータを監視するために使用されてもよい。バッテリモニタ/充電器478は、LTC4020またはLTC2990(Linear Technologies社製)、ADT7488A(アリゾナ州、フェニックスのON Semiconductor社製)、またはUCD90xxxファミリー(テキサス州、ダラスのTexas Instruments社製)などのバッテリモニタリング集積回路を含んでもよい。バッテリモニタ/充電器478は、バッテリ476上の情報を相互接続456を介してプロセッサ452に通信してもよい。バッテリモニタ/充電器478はまた、プロセッサ452がバッテリ476の電圧またはバッテリ476からの電流を直接監視することを可能にするアナログ-デジタル(ADC)変換器を含んでもよい。伝送周波数、メッシュネットワーク動作、センシング周波数などのバッテリパラメータは、エッジコンピューティングノード450が実行し得るアクションを判定するために使用され得る。
【0057】
電力ブロック480、またはグリッドに結合された他の電源は、バッテリモニタ/充電器478に結合されてバッテリ476を充電してもよい。いくつかの例では、電力ブロック480は、例えばエッジコンピューティングノード450内のループアンテナを介して無線で電力を取得するために無線電力受信機で置き換えられてもよい。とりわけ、カリフォルニア州ミルピタスのLinear Technologies社製のLTC4020チップなどの無線バッテリ充電回路が、バッテリモニタ/充電器478に含まれてもよい。特定の充電回路は、バッテリ476のサイズ、したがって必要とされる電流に基づいて選択されてもよい。充電は、とりわけ、Airfuel Allianceによって公表されたAirfuel標準、Wireless Power Consortiumによって公表されたQiワイヤレス充電標準、またはAlliance for Wireless Powerによって公表されたRezence充電標準を使用して実行されてもよい。
【0058】
ストレージ458は、本明細書で説明される技術を実装するためのソフトウェア、ファームウェア、またはハードウェアコマンドの形態の命令482を含んでもよい。このような命令482は、メモリ454およびストレージ458に含まれるコードブロックとして示されるが、コードブロックのいずれも、例えば、特定用途向け集積回路(ASIC)に組み込まれたハードワイヤード回路に置き換えることができることが理解されよう。
【0059】
一例では、メモリ454、ストレージ458、またはプロセッサ452を介して提供される命令482は、プロセッサ452にエッジコンピューティングノード450内で電子動作を実行するように指示するコードを含む非一時的な機械可読媒体460として具現化されてもよい。プロセッサ452は、相互接続456を介して、非一時的な機械可読媒体460にアクセスすることができる。例えば、非一時的な機械可読媒体460は、ストレージ458について説明されたデバイスによって具現化されてもよいし、光ディスク、フラッシュドライブ、または任意の数の他のハードウェアデバイスなどの特定の格納ユニットを含んでもよい。非一時的な機械可読媒体460は、例えば、上述の動作および機能のフローチャートおよびブロック図に関して説明したように、特定のシーケンスまたはアクションのフローを実行するようにプロセッサ452に指示するための命令を含んでもよい。本明細書中で使用される場合、用語「機械可読媒体」および「コンピュータ可読媒体」は、互換性がある。
【0060】
また、特定の例では、プロセッサ452上の命令482(別個に、または機械可読媒体460の命令482と組み合わせて)は、TEE(trusted execution environment)490の実行または動作を構成してもよい。一実施形態では、TEE490は、命令の安全な実行およびデータへの安全なアクセスのために、プロセッサ452にアクセス可能な保護領域として動作する。例えば、Intel(登録商標)SGX(Software Guard Extension)またはARM(登録商標)TrustZone(登録商標)ハードウェアセキュリティ拡張、Intel(登録商標)ME(Management Engine)、またはIntel(登録商標)CSME(Converged Security Manageability Engine)の使用を通して、TEE 490の様々な実装、およびプロセッサ452またはメモリ454に付随するセキュア領域が提供されてもよい。セキュリティ強化の他の態様、ハードウェアの信頼のルート、および信頼または保護された動作は、TEE490およびプロセッサ452を通してノード450内に実装されてもよい。
【0061】
図5は、一実施形態による、動作環境500における制御およびデータフローを示すブロック図である。動作環境500は、単一のSoC上に、複数のSoCにわたって、または他の構成で存在してもよい。ビデオデコーダ502は、カメラまたは他のソースからビデオデータを受信する。ビデオデコーダ502は、ベースバンドアナログビデオ信号をデジタルビデオに変換する電子回路である。ビデオデコーダ502は、ビデオキャプチャデバイスと統合されてもよい。ビデオデコーダ502は、デジタルデータビデオストリームを出力する。
【0062】
一実施形態では、ビデオデコーダ502は、YUVを出力する。YUVは、色画像パイプラインの一部として典型的に使用される色符号化システムである。これは、人間の知覚を考慮に入れた色画像またはビデオを符号化し、クロミナンス成分のための帯域幅の低減を可能にし、それにより、典型的には、「直接」RGB表現を使用するよりも人間の知覚によって伝送エラーまたは圧縮アーチファクトをより効率的にマスクすることを可能にする。
【0063】
ビデオデコーダ502によるビデオストリーム出力は、ビデオプロセッサ504に送信される。ビデオプロセッサ504は、ロスレスメモリ圧縮回路506、暗号化回路508、およびメタデータコントローラ510を含む。
【0064】
ロスレス圧縮回路506は、そのデータサイズを低減するために、ビデオストリームにロスレス圧縮を適用するように設計、プログラム、適合、または他の方法で構成されてもよい。ロスレスデータ圧縮アルゴリズムを用いて圧縮されたデータは完全に回復可能であり、解凍時に完全に再構成される。対照的に、ロスありデータ圧縮は、解凍時に元のデータの近似のみを可能にする。ロスレス圧縮回路506は、H.264ロスレス(例えば、x264)、H.265ロスレス(例えば、x265)、Motion JPEG 2000ロスレスなどを含むが、これらに限定されない、いくつかのタイプのロスレス圧縮アルゴリズムのうちの1つ以上を実装してもよい。
【0065】
次いで、符号化されたビデオストリームは、暗号化回路508によって暗号化される。様々な暗号化標準が使用されてもよい。一実施形態では、符号化されたビデオストリームは、AES128ビットサイファーを使用して4×4画素ブロック境界で暗号化される。別の実施形態では、符号化されたビデオストリームは、AES256ビットサイファーを使用して4×4画素ブロック境界で暗号化される。ブロックサイズは、4、8、16、または32画素であってもよいことが理解される。
【0066】
メタデータコントローラ510は、各ブロックにデフォルトの保護レベルを割り当てる。デフォルトの保護は最低レベルの保護であり、任意のコンシューマが各ブロックにアクセスすることを可能にする。保護レベルは、ブロックが存在する関心領域(RoI)に応じて、プロセスの後半で変更される。
【0067】
メタデータコントローラ510は、各NxN画素ブロックのアクセス保護レベルを記録するために、既存のロスレス圧縮メタデータおよび関連インフラストラクチャをオーバロードしてもよい。保護レベルのレベルに応じて、少数のビットが必要である。例えば、4つの保護レベルでは、フレーム内の各ブロックに必要なのは2ビットだけである。これは、2KB未満のメモリ要件を占める。追加の保護レベルが使用されてもよく、その場合、ブロックに対して割り当てられた保護レベルを格納するために、追加のビットが必要とされることが理解される。
【0068】
フレーム512に示されるように、ある数の関心領域514A、514B、および514Cが検出される。フレーム512は、ブロックサイズに基づいていくつかの数のブロックに分割される。各ブロックは、1つ以上のRoIを含んでもよい。
【0069】
グローバルマッピングテーブル516は、環境500で使用される保護レベルを追跡し、保護レベルをコンシューマにマッピングするために使用される。各コンシューマには、固有の識別子が割り当てられているか、関連付けられている。仮想化システムにおいて、ホストソフトウェアは、各仮想マシンに固有の識別子を割り当ててもよい。この例では、コンシューマはSoC上の仮想マシンまたは仮想デバイスである。他の例では、コンシューマは、別個の物理的なマシンまたはデバイスであってもよい。
【0070】
推論アクセラレータ518は、RoIを検出し分類するためにビデオストリームの各フレームを分析するために使用される。推論アクセラレータ518は、フレーム内のブロックを復号し、フレームを解凍し(例えば、使用されたエンコーダに基づいて、FFmpegなどの適切なデコーダを使用して)、人工知能(AI)アクセラレータを使用してフレームに対する推論を実行する。AIアクセラレータは、ビデオフレーム内のRoIまたはオブジェクトを検出、分類、および識別するように設計、プログラム、適合、または他の方法で構成されたハードウェアであってもよい。例えば、AIアクセラレータは、一般的に「自動車」または「街路標識」などの尾久ジェクトを分類するか、または「ジョンスミス」として識別される「人」または値「ABC-001」を有する「ライセンスプレート」などのより特異性を有するオブジェクトを分類および認識してもよい。
【0071】
RoIの分類およびセキュリティポリシーに基づいて、推論アクセラレータ518は、ビデオフレームの各ブロックに保護レベルを割り当てる。保護レベルはRoIのコンテンツに基づく。セキュリティポリシーは、管理ユーザ、機械学習アルゴリズム、または、あるタイプのRoIを保護レベルに関連付ける何らかの他のメカニズムによって設計される。ブロックには複数のRoIを有してもよい。この場合、ブロックには、最も制限の厳しい保護レベルが割り当てられてもよい。
【0072】
保護レベルは、既存のロスレス圧縮メタデータおよび関連インフラストラクチャに格納されてもよい。メタデータレコード構造において保護レベルのために、2ビット、3ビット、またはそれ以上のビットが予約されてもよい。使用されるビットの数は、セキュリティスキームの個別の保護レベルの数に基づく。
【0073】
例えば、都市には、異なる理由で街路シーンのビデオコンテンツを消費する複数の部門があることがある。警察部門には最高の許可レベルが与えられるが、水道事業部門と廃棄物管理部門にはそれよりも低い許可レベルが与えられる。シーンに現れる車両のナンバープレートは、警察部門のメンバーには役立ち、見えるようされることがあるが、ナンバープレートは、公益事業部門には役に立たず、廃棄物管理部門にそのような機密情報を提供する理由はない。シーンに現れる消火栓の状態またはコンディションは、ユーティリティ部門では難読化されていなくてもよいが、シーンの人々には難読化されてもよい。
【0074】
一実施形態では、各保護レベルは、専用の暗号化鍵ペアに関連付けられる。仮想デバイスや仮想マシンなどのコンシューマには、その権限と関連する保護レベルに対応するキーペアが割り当てられる。その結果、ビデオストリームデータにアクセスするコンシューマは、コンシューマに割り当てられた保護レベル以下の保護レベルが割り当てられたブロックのみを復号することができる。
【0075】
仮想マシンまたは仮想デバイス520は、ビデオストリームにアクセスする。全てのブロックが単一の暗号化鍵を用いて暗号化される実施形態では、復号回路522は、どの保護レベルが仮想マシン520によってアクセス可能かを判定するために、グローバルマッピングテーブルにアクセスする。許可を取得した後、復号回路522は、仮想マシン520に割り当てられた権限レベル以下のブロックを復号する。より高い権限を持つブロックを暗号化したままにすることによって、エンドユーザは、より高い権限に関連付けられたデータを見ることができない。
【0076】
解凍回路524は、ロスレスメモリ圧縮回路506によって適用されるロスレス圧縮を反転する。任意選択で、AIアクセラレータ526は、さらなるオブジェクト検出、分類、または識別タスクのために、仮想マシン520に可視であるビデオストリームデータに対して動作してもよい。
【0077】
復号および解凍されたビデオストリームデータは、ディスプレイコントローラおよびグラフィックサブシステム528に送信され、ディスプレイ530上でエンドユーザに表示される。
【0078】
ブロックが、ブロックに割り当てられた保護レベルに固有のキーを使用して暗号化される別の実施形態では、仮想マシン520は、仮想マシン520に割り当てられた権限レベルまたはその下にあるコンテンツを復号するために、1つ以上の復号キーを有してもよい。復号は、各ブロックを、仮想マシン520によって保持される各キーで復号しようとする反復プロセスであってもよい。代替的には、復号は、並行に実行されてもよく、ここでは、各タスクまたはプロセスが別々のキーを持ち、ブロックのために並列にブロック復号が実行される。
【0079】
一実施形態では、仮想マシン(例えば、仮想マシン520)が、推論アクセラレータ518として使用されてもよい。例えば、VMは、推論アクセラレータ518を提供する分類器、アルゴリズム、ニューラルネットワークなどを実行またはサポートしてもよい。
【0080】
図6は、一実施形態によるシステム600を示すブロック図である。システム600は、コンピュータデバイスを表してもよく、コンピュータデバイスの1つ以上のコンポーネントを表してもよい。コンピュータデバイスは、エッジノード、IoTデバイス、ラップトップコンピュータ、ハイブリッドコンピュータ、タブレットコンピュータ、ゲームシステム、ファブレット、スマートフォン、テレビジョン、車載情報システム、自動販売機、キオスク、店内デジタルサイネージ、または他のコンピュータデバイスを含むが、これらに限定されない。
【0081】
システム600は、その一部または全部が同じプリント回路基板または基板上にあってもよい様々なコンポーネントを含む。コンポーネントは、チップ610に結合された無線602、バッテリ604、メモリ606、およびセンサ608A~Cを含むが、これらに限定されない。センサ608A~608Cは、マイクロホン、カメラ、容量性タッチパネルなどを含んでもよい。コンポーネントは、さらに、ビデオディスプレイ612またはスピーカーアレイ614に結合されてもよい。
【0082】
無線602は、無線ネットワーキング通信システムを提供するように構成されてもよい。無線ネットワーキング通信システムは、Wi-Fi、3G、および4G LTE/LTE-A、衛星通信ネットワーク、Bluetooth、NFC(near field communication)などを含む様々なプロトコルまたは技術の1つ以上を使用してもよい。
【0083】
バッテリ604は、再充電可能バッテリタイプ(例えば、ニッケル-カドミウム(NiCad)、鉛-酸、リチウムイオン(Liイオン)、もしくは他の適切な技術)または再充電不可能バッテリタイプ(例えば、一次バッテリ)であってもよい。バッテリ604は、システム600の様々なコンポーネントに電力を供給するために使用されてもよい。
【0084】
メモリ606は、揮発性メモリ(例えば、ダイナミックランダムアクセスメモリ-DRAM)またはフラッシュメモリ(例えば、電気的に消去可能な読み出し専用メモリ-EEPROM、NANDフラッシュ、NORフラッシュなど)などの不揮発性メモリであってもよい。メモリ606は、本明細書で説明される様々な動作を実行するための命令を格納するために使用され得る。メモリ606はまた、センサ608A~Cによって取得されたセンサデータ、姿勢データ、眼の追跡データ、ジェスチャデータ、画像、および本明細書で説明される機能を提供する他のデータを格納するために使用されてもよい。
【0085】
システム600は、マイクロホンアレイ、カメラシステム、LIDAR、レーダー、超音波検出器、赤外線検出器、運動検出器などを含んでもよいが、これらに限定されない、1つ以上のセンサ608A~608Cを含んでもよい。チップ610は、センサ608A~608Cの各々に外部供給電圧(Vdd)を提供する。様々なデジタルまたはアナログ信号が、センサ608A~608Cの各々からチップ610によって受信されてもよい。センサデータは、ラインから生データとして、または、センサデータをデータ構造にパッケージングする通信プロトコルを使用することによって、読み取られてもよい。センサ608A~608Cは、代替的に、チップ610を介さずに、他の回路または電力経路から電力を取得することができる。カメラシステムは、センサ608A~608Cと統合されてもよく、またはセンサの一部と統合されてもよい。
【0086】
カメラは、オフィスの建物の廊下、街路景観、外観建物景観、駐車場、空港ターミナル、または監視下に置かれることがある他のエリアなどの様々な環境をキャプチャするために使用されてもよい。チップ610に直接配線されるセンサ608A~608Cから一部のセンサデータを取得してもよいが、他のセンサデータを他のセンサから取得してもよい。センサデータは、無線602を使用して、またはネットワークインターフェース(図示せず)との有線接続を通じて無線で取得されてもよい。
【0087】
カメラは、ラップトップまたは携帯電話などのコンピューティングデバイスにマウントされてもよい。一実施形態では、カメラシステムはラップトップの蓋のベゼル上にマウントされ、ラップトップが開いていてユーザによって使用されているときに、カメラがユーザの身体位置、頭部姿勢、手のジェスチャ、または他の情報をキャプチャするように動作可能である。監視システムの一部として、カメラを建物または壁にマウントしてもよい。したがって、一実施形態では、カメラシステムは、人、車両、およびカメラの周囲の他のアクティビティをキャプチャするために、壁にマウントされる。カメラはまた、外向きまたは内向きのいずれかで車両にマウントしてもよい。したがって、一実施形態では、カメラシステムは、自律車両に組み込まれ、自律車両のフロントガラスにマウントされ、自律車両のオペレータ(内向き)または道路および近接車両または歩行者(外向き)の顔および身体位置情報をキャプチャするように位置付けられてもよい。
【0088】
チップ610は、1つ以上のマイクロプロセッサ、デジタル信号プロセッサなどを含んでもよい。チップ610は、1つ以上の処理コアを含んでもよく、その各コアは、1つ以上の算術論理ユニット(ALU)、命令フェッチユニット、命令デコードユニット、制御ユニット、レジスタ、データスタックポインタ、プログラムカウンタ、およびプロセッサの特定のアーキテクチャに従う他の必須コンポーネントを有する。例示的な例として、チップ610は、複数の知的財産(IP)ブロックまたはIPコアを含むシステムオンチップ(SOC)であってもよい。チップ610は、x86タイプのプロセッサを含んでもよく、これはIPブロックの1つとして実装されてもよい。チップ610はまた、グラフィック処理ユニット(GPU)を含んでもよい。再度、これはIPブロックとして実装されてもよい。GPUは、一定の計算集約的動作、特にグラフィックレンダリングに関連付けられた動作をオフロードする特殊化されたコプロセッサであってもよい。GPUは、別個の集積回路であってもよく、その場合、チップ610およびGPUは、一般に、メモリリソース、I/Oチャネルなど(例えば、SOC内で)へのアクセスを共有しながら、協働して作業する。
【0089】
システム600は、物理的に構築されたか、具体的に構成され(例えば、ハードワイヤード)たか、または一時的に(例えば、一過性的に)構成され(例えば、プログラムされ)て、特定の方法で動作するか、または本明細書で説明される任意の動作の一部もしくは全部を実行する有形エンティティを包含すると理解される。このような有形のエンティティは、専用のハードウェア(例えば、フィールドプログラマブルゲートアレイ(FPGA)、論理ゲート、グラフィック処理ユニット(GPU)、デジタル信号プロセッサ(DSP)など)などを備えた1つ以上の回路を使用して構築されてもよい。そのようなものとして、本明細書で説明される有形エンティティは、回路、回路(circuitry)、プロセッサユニット、サブシステムなどと呼ばれてもよい。
【0090】
上述したように、チップ610は、いくつかの知的財産(IP)ブロックを有してもよい。IPブロックは、指定された目的のために、独立した処理回路または再利用可能なロジックであってもよい。チップ610は、構成データ、状態データ、または他の制御信号に応じて、IPブロックに電力を選択的に供給することができる。
【0091】
チップ610に含まれるIPブロックは、ビデオデコードIPブロック616、ビデオ処理IPブロック618、および推論IPブロック620を含んでもよい。より多くのIPブロックがチップに実装されてもよいことが理解される。さらに、IPブロックは、処理回路または処理回路と呼ばれることがあるIPブロックは、メモリ、命令、プロセッサ、コンパレータ、加算器、減算器、トランジスタ、および他のデジタル回路コンポーネントを含み、IPブロックの設計に応じて、一般的な処理サポートまたは特定のアプリケーションタスクを提供する。
【0092】
ビデオデコードIPブロック616は、アナログビデオ信号をデコードし、それをデジタルビデオ信号に処理するために使用される。
【0093】
ビデオ処理IPブロック618は、ロスレス圧縮アルゴリズムを適用し、圧縮されたビデオストリームを暗号化し、ビデオストリームの各フレーム内の各ブロックに初期保護レベルを割り当てることにより、復号されたビデオストリームを処理するために使用される。保護レベルは、ビデオフレーム内のメタデータ構造に格納される。メタデータ構造は、ロスレスメタデータ構造であってもよい。ブロックは、サイズが構成可能であり、2×2、4×4、8×8、16×16などであってもよい。
【0094】
推論アクセラレータIPブロック620は、圧縮されたビデオストリームを復号し、ビデオストリームを解凍し、解凍されたビデオストリームに対して機械学習プロセスを実行して、オブジェクトを検出し、分類するために使用される。また、機械学習プロセスは、例えば、顔認識を使用すること、または、データストア内でルックアップを実行すること(例えば、画像内で認識されたナンバープレートに登録された車両を識別すること)により、オブジェクトを認識するように構成されてもよい。
【0095】
次に、推論アクセラレータIPブロック620は、画像ブロックおよびセキュリティポリシーに含まれるものに基づいて、画像ブロックに保護レベルを割り当てる。保護レベルは、ビデオフレーム内のメタデータ構造に格納される。メタデータ構造は、ロスレスメタデータ構造であってもよい。
【0096】
後にビデオストリームを消費する仮想マシンまたはデバイスは、フレーム内の各ブロックに割り当てられた保護レベルを使用して、各フレームの一部分を選択的に復号してもよい。
【0097】
図7は、一実施形態による、ビデオフレーム内の関心領域への階層化アクセスを実装するための方法を示すフローチャートである。方法700は、システム700などの装置、またはエッジノードなどの別のシステムによって実行されてもよい。
【0098】
702において、ビデオストリームは、ロスレスビデオ圧縮規格を使用して圧縮され、ビデオストリームは、複数のフレームを含み、各フレームは、複数の画像ブロックを含む。
【0099】
704において、ビデオストリームの各フレーム内の各ブロックは、暗号化鍵を使用して暗号化される。一実施形態では、ビデオストリームを暗号化することは、それぞれのフレーム内の前記複数の画像ブロックのブロック境界でビデオストリーム内の各フレームを暗号化することを含む。さらなる実施形態では、ブロック境界は、2×2画素、4×4画素、8×8画素、または16×16画素である。
【0100】
一実施形態では、ビデオストリームを暗号化することは、AES128ビットサイファーを使用することを含む。関係する実施形態では、ビデオストリームを暗号化することは、AES256ビットサイファーを使用することを含む。
【0101】
706において、オブジェクト検出および分類プロセスが、ビデオストリームに対して使用されて、ビデオストリーム内のオブジェクトを識別する。
【0102】
708において、ポリシーストアは、オブジェクトの対応する保護レベルを判定するためにアクセスされる。
【0103】
710において、対応する保護レベルは、ロスレスビデオ圧縮メタデータに格納される。後に、コンシューマはマッピングテーブルにアクセスすることができる。マッピングテーブルは、保護レベルとコンシューマとの間の対応を格納するように構成されている。コンシューマは、ロスレスビデオ圧縮メタデータに格納された対応する保護レベルと比較して、コンシューマに割り当てられた保護レベルに基づいて、ビデオストリームの画像ブロックを選択的に復号する。一実施形態では、コンシューマは、仮想マシンである。
【0104】
一実施形態によると、本方法700は、マッピングテーブルに、ビデオストリーム内の各ブロックのデフォルト保護レベルを格納することを含む。さらなる実施形態では、デフォルト保護レベルは、最も許容されるレベルに設定される。
【0105】
一実施形態では、オブジェクト検出および分類プロセスを使用する前に、ビデオストリームは、暗号化鍵に対応する復号鍵を使用して復号される。さらなる実施形態では、暗号化鍵および復号は、対称鍵である。別の実施形態では、方法700は、オブジェクト検出および分類プロセスを使用する前にビデオストリームを解凍することを含む。
【0106】
実施形態は、ハードウェア、ファームウェア、およびソフトウェアの1つまたは組み合わせで実装されてもよい。実施形態はまた、機械可読記憶デバイスに格納された命令として実装されてもよく、これは、本明細書で説明された動作を実行するために少なくとも1つのプロセッサによって読み出しおよび実行されてもよい。機械可読記憶デバイスは、機械(例えば、コンピュータ)による可読形態で情報を格納するための任意の非一時的メカニズムを含んでもよい。例えば、機械可読記憶デバイスは、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、ならびに他の記憶デバイスおよび媒体を含んでもよい。
【0107】
本明細書で記載される例は、ロジックまたはモジュール、知的財産(IP)ブロックもしくはコア、またはメカニズムなどの多数のコンポーネントを含んでもよいし、またはそれら上で動作してもよい。そのようなロジックまたはコンポーネントは、本明細書で説明される動作を実行するために、1つ以上のプロセッサに通信的に結合されるハードウェア、ソフトウェア、またはファームウェアであってもよい。ロジックまたはコンポーネントは、ハードウェアモジュール(例えば、IPブロック)であってもよく、それ自体、特定の動作を実行することが可能な有形エンティティと考えられてもよいし、特定の方式で構成または配置されてもよい。一例では、回路は、IPブロック、IPコア、システムオンチップ(SoC)などとして、特定の方式で(例えば、内部的に、または他の回路などの外部エンティティに関して)配置されてもよい。
【0108】
一例では、1つ以上のコンピュータシステム(例えば、スタンドアロン、クライアントもしくはサーバコンピュータシステム)または1つ以上のハードウェアプロセッサの全体または一部は、特定の動作を実行するために動作するモジュールとして、ファームウェアまたはソフトウェア(例えば、命令、アプリケーション部分、またはアプリケーション)によって構成されてもよい。一例では、ソフトウェアは、機械可読媒体上に常駐してもよい。一例では、ソフトウェアは、モジュールの基礎となるハードウェアによって実行されるときに、ハードウェアに特定の動作を実行させる。したがって、用語ハードウェアモジュールは、有形エンティティ、すなわち、物理的に構築されたか、具体的に構成され(例えば、ハードワイヤード)たか、または一時的に(例えば、一過性的に)構成され(例えば、プログラムされ)て、特定の方法で動作するか、または本明細書で説明される任意の動作の一部もしくは全部を実行するエンティティを包含すると理解される。
【0109】
モジュールが一時的に構成されている例を考慮すると、モジュールの各々は、いつ何時においてもインスタンス化される必要はない。例えば、モジュールがソフトウェアを用いて構成された汎用ハードウェアプロセッサを含む場合、汎用ハードウェアプロセッサは、異なる時間にそれぞれ異なるモジュールとして構成されてもよい。したがって、ソフトウェアは、ハードウェアプロセッサを、例えば、ある時点で特定のモジュールを構成し、異なる時点で異なるモジュールを構成するように構成してもよい。モジュールはまた、本明細書で説明される方法論を実行するように動作するソフトウェアまたはファームウェアモジュールであってもよい。
【0110】
IPブロック(IPコアとも呼ばれる)は、ロジック、セル、または集積回路の再利用可能なユニットである。IPブロックは、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、システムオンチップ(SoC)などの一部として使用されてもよい。それは、デジタル信号処理または画像処理などの特定の目的のために構成されてもよい。例示的なIPコアは、中央処理ユニット(CPU)、集積グラフィック、セキュリティ、入出力(I/O)、システムエージェント、グラフィック処理ユニット(GPU)、人工インテリジェンス、ニューラルプロセッサ、画像処理ユニット、通信インターフェース、メモリコントローラ、周辺デバイス制御、プラットフォームコントローラハブなどを含む。
【0111】
図8は、コンピュータシステム800の例示的な形式のマシンを示すブロック図であり、例示的な実施形態に従って、命令のセットまたはシーケンスを実行して、マシンに本明細書で議論された方法論のいずれか1つを実行させることができる。代替的な実施形態では、マシンは、スタンドアロンデバイスとして動作するか、または他のマシンに接続(例えば、ネットワーク接続)されてもよい。ネットワーク接続された展開では、マシンは、サーバクライアントネットワーク環境におけるサーバまたはクライアントマシンのいずれかキャパシティで動作してもよいし、ピアツーピア(または分散)ネットワーク環境におけるピアマシンとして活動してもよい。マシンは、車載システム、セットトップボックス、ウェアラブルデバイス、パーソナルコンピュータ(PC)、タブレットPC、ハイブリッドタブレット、パーソナルデジタルアシスタント(PDA)、移動電話、またはそのマシンによって取られるべき活動を特定する命令を(順次または他の方法で)実行することが可能である任意のマシンとしてもよい。さらに、単一のマシンのみが例示されているが、用語「マシン」は、本明細書で議論された方法論のいずれか1つ以上を実行するための命令のセット(または複数のセット)を個別にまたは共同で実行するマシンの任意の集合も含むと解されるものとする。同様に、用語「プロセッサベースのシステム」は、本明細書で議論された方法論のいずれか1つ以上を実行するための命令を個別にまたは共同で実行するためのプロセッサ(例えば、コンピュータ)によって制御されるか、または動作する1つ以上のマシンの任意のセットを含むと解されるものとする。
【0112】
コンピュータシステム800の例は、リンク808(例えばバス)を介して互いに通信する少なくとも1つのプロセッサ802(例えば、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、またはその両方、プロセッサコア、コンピューティングノードなど)、メインメモリ804、およびスタティックメモリ806を含む。コンピュータシステム800は、ビデオディスプレイユニット810、英数字入力デバイス812(例えば、キーボード)、およびユーザインターフェース(UI)ナビゲーションデバイス814(例えば、マウス)をさらに含んでもよい。一実施形態では、ビデオディスプレイユニット810、入力デバイス812およびUIナビゲーションデバイス814は、タッチスクリーンディスプレイに組み込まれる。コンピュータシステム800は、ストレージデバイス816(例えば、ドライブユニット)、信号生成デバイス818(例えば、スピーカ)、ネットワークインターフェースデバイス820、およびグローバルポジショニングシステム(GPS)センサ、コンパス、加速度計、または他のセンサなどの1つ以上のセンサ(図示せず)をさらに含んでもよい。
【0113】
ストレージデバイス816は、データ構造の1つ以上のセットと、本明細書で説明される方法論または機能のいずれか1つ以上によって具現化または利用される命令824(例えば、ソフトウェア)とが格納される機械可読媒体822を含む。また、命令824は、コンピュータシステム800による実行中に、メインメモリ804、スタティックメモリ806、および/またはプロセッサ802内に、完全にまたは少なくとも部分的に常駐することができ、メインメモリ804、スタティックメモリ806、およびプロセッサ802もまた、機械読み取り可能媒体を構成する。
【0114】
例示的な実施形態では、機械可読媒体822が単一媒体であるように図示されているが、用語「機械可読媒体」は、1つ以上の命令824を格納する単一の媒体または複数の媒体(例えば、集中型または分散型データベース、および/または関連するキャッシュおよびサーバ)を含んでもよい。用語「機械可読媒体」は、機械による実行のための命令を格納、符号化、または搬送することができ、機械に本開示の方法論のうちのいずれか1つ以上を実行させるか、またはそのような命令によって利用されるか、もしくは関連するデータ構造を格納、符号化、または搬送することができる、任意の有形媒体を含むと解釈されるべきである。用語「機械可読媒体」は、したがって、ソリッドステートメモリ、ならびに光学および磁気媒体を含むが、これらに限定されないと解釈されるものとする。機械可読媒体の特定の例としては、例として、半導体メモリデバイス(例えば、電気的プログラマブル読み出し専用メモリ(EPROM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM))、フラッシュメモリデバイス、内蔵ハードディスクおよび取り外し可能ディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクを含むが、これらに限定されない不揮発性メモリを含む。
【0115】
命令824は、さらに、多数の周知の転送プロトコル(例えば、HTTP)のうちのいずれか1つを利用して、ネットワークインターフェースデバイス820を介して伝送媒体を使用して、通信ネットワーク826を介して送信または受信されてもよい。通信ネットワークの例としては、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、移動電話ネットワーク、プレーンオールドフォン(POTS)ネットワーク、および無線データネットワーク(例えば、Wi-Fi、3G、および4G LTE/LTE-AまたはWiMAXネットワーク)を含む。用語「伝送媒体」は、機械による実行のための命令を格納し、符号化し、または搬送することが可能な任意の無形媒体を含み、そのようなデジタルもしくはアナログ通信信号またはそのようなソフトウェアの通信を容易にするための他の無形媒体を含むと解釈されるものとする。
【0116】
補足事項および例:
例1は、ビデオフレーム内の関心領域への階層化アクセスを実装するためのシステムであって、マッピングテーブルを格納するメモリデバイスであって、マッピングテーブルは、保護レベルとコンシューマとの間の対応関係を格納する、メモリデバイスと、ビデオ処理回路であって、ロスレスビデオ圧縮規格を使用してビデオストリームを圧縮することであって、ビデオストリームは、複数のフレームを含み、各フレームは、複数の画像ブロックを含む、ことと、ビデオストリームの各フレーム内の各ブロックを暗号化鍵を使用して暗号化することと、を行うビデオ処理回路と、推論回路であって、ビデオストリームに対してオブジェクト検出および分類プロセスを使用して、ビデオストリーム内のオブジェクトを識別することと、ポリシーストアにアクセスして、オブジェクトの対応する保護レベルを判定することと、対応する保護レベルをロスレスビデオ圧縮メタデータに記憶することであって、コンシューマは、マッピングテーブルにおいてコンシューマに割り当てられた保護レベルを使用して、ロスレスビデオ圧縮メタデータに格納された対応する保護レベルに基づいて、ビデオストリームの画像ブロックを選択的に復号することと、を行う推論回路と、を含む、システムである。
【0117】
例2では、例1の主題は、ビデオ処理回路は、マッピングテーブルに、ビデオストリーム内の各ブロックのデフォルト保護レベルを格納することを行う、ことを含む。
【0118】
例3では、例2の主題は、デフォルト保護レベルは、最も許容されるレベルに設定される、ことを含む。
【0119】
例4では、例1~3の主題は、ビデオストリームを暗号化するために、ビデオストリーム内の各フレームは、それぞれのフレーム内の複数の画像ブロックのブロック境界で暗号化される、ことを含む。
【0120】
例5では、例4の主題は、ブロック境界は、2×2画素、4×4画素、8×8画素、または16×16画素である、ことを含む。
【0121】
例6では、例1~5の主題は、ビデオストリームを暗号化するために、AES128ビットサイファーが使用される、ことを含む。
【0122】
例7では、例1~6の主題は、ビデオストリームを暗号化するために、AES256ビットサイファーが使用される、ことを含む。
【0123】
例8では、例1~7の主題は、推論回路は、オブジェクト検出および分類プロセスを使用する前に、暗号化キーに対応する復号キーを使用してビデオストリームを復号することを行う、ことを含む。
【0124】
例9では、例8の主題は、暗号化鍵および復号は、対称鍵である、ことを含む。
【0125】
例10では、例8~9の主題は、推論回路は、オブジェクト検出および分類プロセスを使用する前に、ビデオストリームを解凍することを行う、ことを含む。
【0126】
例11では、例1~10の主題は、コンシューマは、仮想マシンである、ことを含む。
【0127】
例12は、ビデオフレーム内の関心領域への階層化アクセスを実装するための方法であって、ロスレスビデオ圧縮規格を使用してビデオストリームを圧縮することであって、ビデオストリームは、複数のフレームを含み、各フレームは、複数の画像ブロックを含む、ことと、ビデオストリームの各フレーム内の各ブロックを暗号化鍵を使用して暗号化することと、ビデオストリームに対してオブジェクト検出および分類プロセスを使用して、ビデオストリーム内のオブジェクトを識別することと、ポリシーストアにアクセスして、オブジェクトの対応する保護レベルを判定することと、対応する保護レベルをロスレスビデオ圧縮メタデータに格納することであって、コンシューマは、マッピングテーブルにアクセスし、マッピングテーブルは、保護レベルとコンシューマとの間の対応関係を格納し、コンシューマは、ロスレスビデオ圧縮メタデータに格納された対応する保護レベルと比較される、コンシューマに割り当てられた保護レベルに基づいて、ビデオストリームの画像ブロックを選択的に復号する、ことと、を含む、方法である。
【0128】
例13では、例12の主題は、マッピングテーブルに、ビデオストリーム内の各ブロックのデフォルト保護レベルを格納することを含む。
【0129】
例14では、例13の主題は、デフォルト保護レベルは、最も許容されるレベルに設定される、ことを含む。
【0130】
例15では、例12~14の主題は、ビデオストリームを暗号化することは、それぞれのフレーム内の複数の画像ブロックのブロック境界でビデオストリーム内の各フレームを暗号化することを含む、ことを含む。
【0131】
例16では、例15の主題は、ブロック境界は、2×2画素、4×4画素、8×8画素、または16×16画素である、ことを含む。
【0132】
例17では、例12~16の主題は、ビデオストリームを暗号化することは、AES128ビットサイファーを使用することを含む、ことを含む。
【0133】
例18では、例12~17の主題は、ビデオストリームを暗号化することは、AES256ビットサイファーを使用することを含む、ことを含む。
【0134】
例19では、例12~18の主題は、オブジェクト検出および分類プロセスを使用する前に、暗号化キーに対応する復号キーを使用してビデオストリームを復号することを含む。
【0135】
例20では、例19の主題は、暗号化鍵および復号は、対称鍵である、ことを含む。
【0136】
例21では、例19~20の主題は、オブジェクト検出および分類プロセスを使用する前に、ビデオストリームを解凍することを含む。
【0137】
例22では、例12~21の主題は、コンシューマは、仮想マシンである、ことを含む。
【0138】
例23は、ビデオフレーム内の関心領域への階層化アクセスを実装するための命令を含む、少なくとも1つの機械可読媒体であって、命令は、マシンによって実行されるときに、マシンに動作を行わせ、動作は、ロスレスビデオ圧縮規格を使用してビデオストリームを圧縮することであって、ビデオストリームは、複数のフレームを含み、各フレームは、複数の画像ブロックを含む、ことと、ビデオストリームの各フレーム内の各ブロックを暗号化鍵を使用して暗号化することと、ビデオストリームに対してオブジェクト検出および分類プロセスを使用して、ビデオストリーム内のオブジェクトを識別することと、ポリシーストアにアクセスして、オブジェクトの対応する保護レベルを判定することと、対応する保護レベルをロスレスビデオ圧縮メタデータに格納することであって、コンシューマは、マッピングテーブルにアクセスし、マッピングテーブルは、保護レベルとコンシューマとの間の対応関係を格納し、コンシューマは、ロスレスビデオ圧縮メタデータに格納された対応する保護レベルと比較される、コンシューマに割り当てられた保護レベルに基づいて、ビデオストリームの画像ブロックを選択的に復号する、ことと、を含む、少なくとも1つの機械可読媒体である。
【0139】
例24では、例23の主題は、マッピングテーブルに、ビデオストリーム内の各ブロックのデフォルト保護レベルを格納することを含む。
【0140】
例25では、例24の主題は、デフォルト保護レベルは、最も許容されるレベルに設定される、ことを含む。
【0141】
例26では、例23~25の主題は、ビデオストリームを暗号化することは、それぞれのフレーム内の複数の画像ブロックのブロック境界でビデオストリーム内の各フレームを暗号化することを含む、ことを含む。
【0142】
例27では、例26の主題は、ブロック境界は、2×2画素、4×4画素、8×8画素、または16×16画素である、ことを含む。
【0143】
例28では、例23~27の主題は、ビデオストリームを暗号化することは、AES128ビットサイファーを使用することを含む、ことを含む。
【0144】
例29では、例23~28の主題は、ビデオストリームを暗号化することは、AES256ビットサイファーを使用することを含む、ことを含む。
【0145】
例30では、例23~29の主題は、オブジェクト検出および分類プロセスを使用する前に、暗号化キーに対応する復号キーを使用してビデオストリームを復号することを含む。
【0146】
例31では、例30の主題は、暗号化鍵および復号は、対称鍵である、ことを含む。
【0147】
例32では、例30~31の主題は、オブジェクト検出および分類プロセスを使用する前に、ビデオストリームを解凍することを含む。
【0148】
例33では、例23~32の主題は、コンシューマは、仮想マシンである、ことを含む。
【0149】
例34は、ビデオフレーム内の関心領域への階層化アクセスを実装するための装置であって、ロスレスビデオ圧縮規格を使用してビデオストリームを圧縮することであって、ビデオストリームは、複数のフレームを含み、各フレームは、複数の画像ブロックを含む、ことを行うための手段と、ビデオストリームの各フレーム内の各ブロックを暗号化鍵を使用して暗号化することを行うための手段と、ビデオストリームに対してオブジェクト検出および分類プロセスを使用して、ビデオストリーム内のオブジェクトを識別することを行うための手段と、ポリシーストアにアクセスして、オブジェクトの対応する保護レベルを判定することを行うための手段と、対応する保護レベルをロスレスビデオ圧縮メタデータに格納することであって、コンシューマは、マッピングテーブルにアクセスし、マッピングテーブルは、保護レベルとコンシューマとの間の対応関係を格納し、コンシューマは、ロスレスビデオ圧縮メタデータに格納された対応する保護レベルと比較される、コンシューマに割り当てられた保護レベルに基づいて、ビデオストリームの画像ブロックを選択的に復号する、ことを行うための手段とを含む、装置である。
【0150】
例35では、例34の主題は、マッピングテーブルに、ビデオストリーム内の各ブロックのデフォルト保護レベルを格納することを行うための手段を含む。
【0151】
例36では、例35の主題は、デフォルト保護レベルは、最も許容されるレベルに設定される、ことを含む。
【0152】
例37では、例34~36の主題は、ビデオストリームを暗号化することを行うための手段は、それぞれのフレーム内の複数の画像ブロックのブロック境界でビデオストリーム内の各フレームを暗号化することを行うための手段を含む、ことを含む。
【0153】
例38では、例37の主題は、ブロック境界は、2×2画素、4×4画素、8×8画素、または16×16画素である、ことを含む。
【0154】
例39では、例34~38の主題は、ビデオストリームを暗号化することを行うための手段は、AES128ビットサイファーを使用することを行うための手段を含む、ことを含む。
【0155】
例40では、例34~39の主題は、ビデオストリームを暗号化することを行うための手段は、AES256ビットサイファーを使用することを行うための手段を含む、ことを含む。
【0156】
例41では、例34~40の主題は、オブジェクト検出および分類プロセスを使用する前に、暗号化キーに対応する復号キーを使用してビデオストリームを復号することを行うための手段を含む。
【0157】
例42では、例41の主題は、暗号化鍵および復号は、対称鍵である、ことを含む。
【0158】
例43では、例41~42の主題は、オブジェクト検出および分類プロセスを使用する前に、ビデオストリームを解凍することを行うための手段を含む。
【0159】
例44では、例34~43の主題は、コンシューマは、仮想マシンである、ことを含む。
【0160】
例45は、命令を含む少なくとも1つの機械可読媒体であって、命令は、処理回路によって実行されるときに、処理回路に例1~44のいずれかを実装するための動作を行わせる。
【0161】
例46は、例1~44のいずれかを実装するための手段を含む装置である。
【0162】
例47は、例1~44のいずれかを実装するためのシステムである。
【0163】
例48は、例1~44のいずれかを実施するための方法である。
【0164】
例49は、複数のエッジコンピューティングノードを含むエッジコンピューティングシステムであり、複数のエッジコンピューティングノードは、例1~44のいずれかのバイオメトリックセキュリティ方法で構成されている。
【0165】
例50は、エッジコンピューティングシステムにおいて動作可能なエッジコンピューティングノードであって、例1~44のいずれかを実装するように構成されている処理回路を含むエッジコンピューティングノードである。
【0166】
例51は、エッジコンピューティングシステムにおいてサーバとして動作可能なエッジコンピューティングノードであり、例1~44のいずれかを行うように構成されているエッジコンピューティングノードである。
【0167】
例52は、エッジコンピューティングシステムにおいてクライアントとして動作可能なエッジコンピューティングノードであり、例1~44のいずれかを行うように構成されているエッジコンピューティングノードである。
【0168】
例53は、集約ノード、ネットワークハブノード、ゲートウェイノード、またはコアデータ処理ノードとして、エッジコンピューティングネットワークの層内で動作可能なエッジコンピューティングノードであって、例1~44のいずれかを行うように構成されているエッジコンピューティングノードである。
【0169】
例54は、通信ネットワークを提供または操作して、エッジコンピューティングシステムが、例1~44のいずれかを実装することを可能にするように構成されているネットワーキングおよび処理コンポーネントを含むエッジコンピューティングネットワークである。
【0170】
例55は、通信ネットワークを提供または操作して、エッジコンピューティングシステムが、例1~44のいずれかを実装することを可能にするように構成されているネットワーキングおよび処理コンポーネントを含むアクセスポイントである。
【0171】
例56は、通信ネットワークを提供または操作して、エッジコンピューティングシステムが、例1~44のいずれかを実装することを可能にするように構成されているネットワーキングおよび処理コンポーネントを含む基地局である。
【0172】
例57は、通信ネットワークを提供または操作して、エッジコンピューティングシステムが、例1~44のいずれかを実装することを可能にするように構成されているネットワークコンポーネントを含む路側ユニットである。
【0173】
例58は、公衆エッジコンピューティングネットワークとは別のプライベート通信ネットワーク内で動作可能なオンプレミスサーバであって、サーバは、エッジコンピューティングシステムが、例1~44のいずれかを実装することを可能にするように構成されている。
【0174】
例59は、3GPP 4G/LTE移動無線通信システムであり、例1~44のいずれかのバイオメトリックセキュリティ方法で構成されているネットワーキングおよび処理コンポーネントを含む。
【0175】
例60は、5Gネットワーク移動無線通信システムであり、例1~44のいずれかのバイオメトリックセキュリティ方法で構成されているネットワーキングおよび処理コンポーネントを含む。
【0176】
例61は、例1~44のいずれかを実装するように構成されているエッジコンピューティングシステムに接続するように構成されている、ネットワーキングおよび処理回路を含むユーザ機器デバイスである。
【0177】
例62は、例1~44のいずれかを実装するように構成されているエッジコンピューティングシステムとの計算動作を協働するように構成されている処理回路を含むクライアントコンピューティングデバイスである。
【0178】
例63は、例1~44のいずれかを実装するように構成されているエッジコンピューティングシステムにおいて動作可能なエッジプロビジョニングノードである。
【0179】
例64は、例1~44のいずれかを実装するように構成されているエッジコンピューティングシステムにおいて動作可能なサービスオーケストレーションノードである。
【0180】
例65は、例1~44のいずれかを実装するように構成されているエッジコンピューティングシステムにおいて動作可能なアプリケーションオーケストレーションノードである。
【0181】
例66は、例1~44のいずれかを実装するように構成されているエッジコンピューティングシステムにおいて動作可能なマルチテナント管理ノードである。
【0182】
例67は、処理回路を含むエッジコンピューティングシステムであり、1つ以上の機能およびサービスを動作させて、例1~44のいずれかを実装するように構成されているエッジコンピューティングシステムである。
【0183】
例68は、ネットワーク機能が実装されたネットワーキングハードウェアであり、例1~44のいずれかのバイオメトリックセキュリティ方法で構成されているエッジコンピューティングシステム内で動作可能であるネットワーキングハードウェアである。
【0184】
例69は、加速機能が実装され、エッジコンピューティングシステムにおいて動作可能である加速ハードウェアであり、加速機能は、例1~44の例のいずれかを実装するように構成されている、加速ハードウェアである。
【0185】
例70は、ストレージ能力が実装され、エッジコンピューティングシステムにおいて動作可能であるストレージハードウェアであり、ストレージハードウェアは、例1~44のいずれかを実装するように構成されている。
【0186】
例71は、計算能力が実装され、エッジコンピューティングシステムにおいて動作可能である計算ハードウェアであり、計算ハードウェアは、例1~44のいずれかを実装するように構成されている。
【0187】
例72は、例1~44のいずれかを実装するように構成されている、V2V(vehicle-to-vehicle)、V2X(vehicle-to-everything)、またはV2I(vehicle-to-infrastructure)シナリオをサポートするように適合されたエッジコンピューティングシステムである。
【0188】
例73は、例1~44のいずれかを実装するように構成されている、1つ以上のETSI(European Telecommunications Standards Institute)MEC(Multi-Access Edge Computing)仕様に従って動作するように適合されたエッジコンピューティングシステムである。
【0189】
例74は、1つ以上のMFC(multi-access edge computing)コンポーネントを動作させるように適合されたエッジコンピューティングシステムであって、MECコンポーネントは、ETSI(European Telecommunications Standards Institute)MEC(Multi-Access Edge Computing)設定に従って、MECプロキシ、MECアプリケーションオーケストレータ、MECアプリケーション、MECプラットフォーム、またはMECサービスのうちの1つ以上から提供され、MECコンポーネントは、例1~44のいずれかを実装するように構成されている、エッジコンピューティングシステムである。
【0190】
例75は、例1~44のいずれかを実装するように構成されている、マイクロサービスクラスタ、サイドカーを備えたマイクロサービスクラスタ、またはサイドカーを備えたリンクされたマイクロサービスクラスタを有するエッジメッシュとして構成されているエッジコンピューティングシステムである。.
【0191】
例76は、例1~44のいずれかを実装するように構成されている、専用ハードウェア、仮想マシン、コンテナ、コンテナ上の仮想マシンの間で提供される1つ以上の隔離環境を実装するように構成されている回路を含むエッジコンピューティングシステムである。
【0192】
例77は、例1~44のいずれかを実装するように構成されている、エンタープライズサーバ、ロードサイドサーバ、ストリートキャビネットサーバ、または電気通信サーバとして動作するように構成されているエッジコンピューティングサーバである。
【0193】
例78は、計算オフロード、データキャッシング、ビデオ処理、ネットワーク機能仮想化、無線アクセスネットワーク管理、拡張現実、仮想現実、自律運転、車両支援、車両通信、産業オートメーション、小売サービス、製造動作、スマートビルディング、エネルギー管理、モノのインターネット動作、物体検出、音声認識、ヘルスケアアプリケーション、ゲームアプリケーション、または加速されたコンテンツ処理のうちの1つ以上から提供される使用ケースで、例1~44のいずれかを実装するように構成されているエッジコンピューティングシステムである。
【0194】
例79は、例1~44のいずれかを実装するように構成されている、異なる地理的位置において複数のオーナーによって動作されるコンピューティングノードを含むエッジコンピューティングシステムである。
【0195】
例80は、それぞれのクラウドサービスを動作させるデータサーバを含むクラウドコンピューティングシステムであって、それぞれのクラウドサービスは、例1~44のいずれかを実装するためのエッジコンピューティングシステムと協働するように構成されている、クラウドコンピューティングシステムである。
【0196】
例81は、クラウドレット、エッジレット、またはアプレットサービスを動作させるためのハードウェアを含むサーバであり、サービスは、例1~44のいずれかを実装するエッジコンピューティングシステムと協働するように構成されている、サーバである。
【0197】
例82は、エッジコンピューティングシステムにおけるエッジノードであり、例1~44のいずれかを実装するための少なくとも1つのプロセッサおよびメモリを備える1つ以上のデバイスを含む、エッジノードである。
【0198】
例83は、エッジコンピューティングシステムにおけるエッジノードであり、エッジノードは、管理コンソールサービス、テレメトリサービス、プロビジョニングサービス、アプリケーションまたはサービスオーケストレーションサービス、仮想マシンサービス、コンテナサービス、機能展開サービスもしくはコンピュータ展開サービス、またはアクセラレーション管理サービスの中から提供される1つ以上のサービスを動作させ、1つ以上のサービスは、例1~44のいずれかを実装するように構成されている。
【0199】
例84は、例1~44のいずれかを実装するように構成されている、エッジコンピューティングシステムのネットワーク層の間に分散された分散エッジノードのセットであり、ネットワーク層は、クロースエッジ、ローカルエッジ、エンタープライズエッジ、オンプレミスエッジ、ニアエッジ、ミドルエッジ、またはファーエッジネットワーク層を含む。
【0200】
例85は、1つ以上のプロセッサと、命令を含む1つ以上のコンピュータ可読媒体と、を含む、エッジコンピューティングシステムの装置であって、命令は、1つ以上のプロセッサによって実行されるときに、1つ以上のプロセッサに例1~44のいずれかを行わせる、装置である。
【0201】
例86は、命令を含む1つ以上のコンピュータ可読記憶媒体であって、命令は、エッジコンピューティングシステムの電子デバイスに、電子デバイスの1つ以上のプロセッサによって命令が実行されると、例1~44のいずれかを行わせる、1つ以上のコンピュータ可読記憶媒体である。
【0202】
例87は、例1~44のいずれかを行うために、エッジコンピューティングシステムにおいて通信される通信信号である。
【0203】
例88は、例1~44のいずれかを行うために、エッジコンピューティングシステムにおいて通信されるデータ構造であり、データグラム、パケット、フレーム、セグメント、PDU(protocol data unit)、またはメッセージを含むデータ構造である。
【0204】
例89は、例1~44のいずれかを行うために、エッジコンピューティングシステムで通信される信号であり、データグラム、パケット、フレーム、セグメント、PDU(protocol data unit)、メッセージ、またはデータで符号化された信号である。
【0205】
例90は、エッジコンピューティングシステムにおいて通信される電磁信号であり、電磁信号は、コンピュータ可読命令を搬送し、1つ以上のプロセッサによるコンピュータ可読命令の実行は、1つ以上のプロセッサに例1~44のいずれかを行わせる、電磁信号である。
【0206】
例91は、エッジコンピューティングシステムにおいて使用されるコンピュータプログラムであり、コンピュータプログラムは、命令を含み、エッジコンピューティングシステムにおける処理要素によるプログラムの実行は、処理要素に例1~44のいずれかを行わせる、コンピュータプログラムである。
【0207】
例92は、例1~44のいずれかを実行するための手段を含むエッジコンピューティングシステムの装置である。
【0208】
例93は、例1~44のいずれかを実行するためのロジック、モジュール、または回路を含むエッジコンピューティングシステムの装置である。
【0209】
例94は、命令を含む少なくとも1つの機械可読媒体であって、命令は、処理回路によって実行されるときに、処理回路に例48~93のいずれかを実装するための動作を行わせる。
【0210】
例95は、例48~93のいずれかを実装するための手段を含む装置である。
【0211】
例96は、例48~93のいずれかを実装するためのシステムである。
【0212】
例97は、例48~93のいずれかを実装するための方法である。
【0213】
上記の発明を実施するための形態は、発明を実施するための形態の一部を形成する添付の図面への参照を含む。図面は、例示として、実施され得る特定の実施形態を示す。これらの実施形態は、本明細書では「例」とも呼ばれる。そのような例は、図示または説明されたものに加えて要素を含んでもよい。しかし、図示または説明される要素を含む例も企図される。さらに、本明細書に示されるか、または記載された特定の例(もしくはその1つ以上の態様)に関して、または他の例(もしくはその1つ以上の態様)に関して、示されるか、または記載されたそれらの要素(もしくはその1つ以上の態様)の任意の組み合わせまたは順列を使用する例も企図される。
【0214】
本文書で参照される出版物、特許、および特許文献は、あたかも個々に参照により組み込まれているかのように、全体として参照により本明細書に組み込まれている。本文書と参照により組み込まれているそれらの文書との間に矛盾する用法がある場合、組み込まれている参考文献の用法は、本文書の用法を補完するものであり、両立しない不一致がある場合は、本文書の用法が管理する。
【0215】
本文献において、用語「a」または「an」は、特許文献において通常であるように、「少なくとも1つ」または「1つ以上」の他の例または用法とは無関係に、1つ以上を含むために使用されている。本文献において、用語「or」は、非排他的なものを指すために使用されているか、あるいは「AまたはB」が「AではなくB」と、「AではなくB」と、「AおよびB」とを含むように使用されている。添付の請求項において、用語「include」および「in which」は、それぞれの用語「comprising」および「wherein」の平易な英語の均等物として使用されている。また、以下の請求項において、用語「includer」および「comprising」は、オープンエンドであり、すなわち、システム、装置、物品、または方法であって、請求項においてそのような用語の後に列挙されているものに加えて、要素を含むものは、依然として、その請求項の範囲に入るとみなされる。以下の請求項において、用語「第1」、「第2」および「第3」などは、単にラベルとして使用されるに過ぎず、それらのオブジェクトの番号順序を示唆することを意図するものではない。
【0216】
上記の説明は、例示的であって限定的ではない。例えば、上記に説明された例(またはその1つ以上の態様)は、他の例と組み合わせて使用されてもよい。他の実施形態は、上記の説明を検討した上で、当業者などによって使用されてもよい。要約は、読者が技術的開示の性質を迅速に確認することを可能にするものである。要約は、請求項の範囲または意味を解釈または限定するために使用されないという理解で提出されている。上記の詳細な説明において、開示を合理化すべく様々な特徴は共にまとめられてもよい。しかし、実施形態がそれらの特徴のサブセットを特徴付けてもよいため、請求項は、本明細書に開示された全ての特徴を記載しなくてもよい。さらに、実施形態は、特定の例で開示されたものよりも少ない特徴を含んでもよい。したがって、以下の請求項は、発明を実施する形態に組み込まれ、請求項は、それ自体が、別個の実施形態として位置する。本明細書に開示された実施形態の範囲は、添付の請求項を参照して、そのような請求項が権利を有する均等物の全範囲と共に判定されるべきである。
【外国語明細書】