(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-09
(54)【発明の名称】マルチ解像度ポイントクラウドのセキュアな配信
(51)【国際特許分類】
H04L 9/08 20060101AFI20221202BHJP
H04L 9/14 20060101ALI20221202BHJP
【FI】
H04L9/08 B
H04L9/08 E
H04L9/14
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022521509
(86)(22)【出願日】2020-10-05
(85)【翻訳文提出日】2022-04-08
(86)【国際出願番号】 US2020054296
(87)【国際公開番号】W WO2021071785
(87)【国際公開日】2021-04-15
(32)【優先日】2019-10-08
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(71)【出願人】
【識別番号】596102126
【氏名又は名称】ソニー ピクチャーズ エンターテインメント インコーポレイテッド
(74)【代理人】
【識別番号】100092093
【氏名又は名称】辻居 幸一
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(72)【発明者】
【氏名】ディール エリック
(57)【要約】
フル解像度ポイントクラウドのうちの異なる解像度のポイントクラウドを配信することは、前記フル解像度ポイントクラウド(PC)に複数のふるい関数を適用して、複数の部分ポイントクラウド(PC)を生成するステップであって、前記部分PCは、前記フル解像度PCのばらばらの要素である、ステップと、複数の秘密鍵のうちのそれぞれ1つを使用して、前記複数の部分PCのうちの各部分PCをスクランブルするステップと、対象受信者に、少なくとも1つのスクランブルされたPC及び選択された秘密鍵を配信するステップであって、前記選択された秘密鍵は、前記対象受信者に対して決定される適切な解像度に基づいて選択される、ステップと、を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ポイントクラウド配信システムであって、
フル解像度ポイントクラウド(PC)にふるい関数を適用して、複数の部分ポイントクラウド(PC)を生成するように構成される複数のふるい関数ジェネレータであって、
前記複数の部分PCは、前記フル解像度PCを一緒に構成するばらばらの要素のグループである、複数のふるい関数ジェネレータと、
複数の秘密鍵を使用して前記複数の部分PCをスクランブルして、複数のスクランブルされたPCを生成するように構成される複数のスクランブラと、
を含むことを特徴とするポイントクラウド配信システム。
【請求項2】
少なくとも1つのスクランブルされたPC及び少なくとも1つの選択された秘密鍵を配信するように構成されるディストリビュータを更に含み、
前記選択された秘密鍵は、対象受信者に対して決定される適切な解像度に基づいて選択される、
ことを特徴とする、請求項1に記載のシステム。
【請求項3】
第1のPCに対して第1の秘密鍵を選択し、前記第1のPCよりも高い解像度である第2のPCに対して第2の秘密鍵を選択し、前記第2の秘密鍵から前記第1の秘密鍵を導出することができることを特徴とする、請求項1に記載のシステム。
【請求項4】
前記フル解像度ポイントクラウドを再作成することができる秘密鍵から開始する一方向ハッシュ関数を使用して、前記複数の秘密鍵のうちのカスケード秘密鍵を生成することを特徴とする、請求項1に記載のシステム。
【請求項5】
所望の解像度のポイントクラウドを生成するためのシステムであって、前記システムは、
複数のスクランブルされたポイントクラウド(PC)を受け取り、少なくとも1つの秘密鍵を使用してスクランブルを解除して少なくとも1つの部分PCを生成するように構成される複数のデスクランブラと、
前記少なくとも1つの部分PCを受け取り、前記少なくとも1つの部分PCを再結合して少なくとも1つの結合された部分PCを形成して、前記少なくとも1つの結合された部分PCを、結合されたPCに再フォーマットすることによって、前記少なくとも1つの部分PCを変換するように構成されるビルダ(builder)と、
を含むことを特徴とするシステム。
【請求項6】
前記結合されたPCは、前記結合されたPCを使用するであろうツールに準拠するフォーマットを有することを特徴とする、請求項5に記載のシステム。
【請求項7】
前記結合されたPCは、前記所望の解像度のPCであることを特徴とする、請求項5に記載のシステム。
【請求項8】
第1のPCに対して第1の秘密鍵を選択し、前記第1のPCよりも高い解像度である第2のPCに対して第2の秘密鍵を選択し、前記第1の秘密鍵は、前記第1のPC及び前記第2のPCの両方のスクランブルを解除することを特徴とする、請求項5に記載のシステム。
【請求項9】
フル解像度ポイントクラウドのうちの異なる解像度のポイントクラウドを配信するための方法であって、前記方法は、
前記フル解像度ポイントクラウド(PC)に複数のふるい関数を適用して、複数の部分ポイントクラウド(PC)を生成するステップであって、
前記部分PCは、前記フル解像度PCのばらばらの要素である、ステップと、
複数の秘密鍵のうちのそれぞれ1つを使用して、前記複数の部分PCのうちの各部分PCをスクランブルするステップと、
対象受信者に、少なくとも1つのスクランブルされたPC及び選択された秘密鍵を配信するステップであって、
前記選択された秘密鍵は、前記対象受信者に対して決定される適切な解像度に基づいて選択される、ステップと、
を含むことを特徴とする方法。
【請求項10】
前記複数のふるい関数を適用するステップは、
前記複数のふるい関数のうちの各ふるい関数を使用して、前記フル解像度PCを間引きして、ばらばらの部分PCを生成するステップ、
を含むことを特徴とする、請求項9に記載の方法。
【請求項11】
前記ばらばらの部分PCは、前記フル解像度PCを形成することを特徴とする、請求項10に記載の方法。
【請求項12】
前記複数のふるい関数の数は、前記複数の部分PCの数に等しいことを特徴とする、請求項9に記載の方法。
【請求項13】
前記複数のふるい関数の数は、前記複数の秘密鍵の数に等しいことを特徴とする、請求項9に記載の方法。
【請求項14】
前記選択された秘密鍵は、前記少なくとも1つのスクランブルされたPCのうちの少なくとも1つのスクランブルを解除することができることを特徴とする、請求項9に記載の方法。
【請求項15】
第1のPCに対して第1の秘密鍵を選択し、前記第1のPCよりも高い解像度である第2のPCに対して第2の秘密鍵を選択し、前記第2の秘密鍵から前記第1の秘密鍵を導出することができることを特徴とする、請求項9に記載の方法。
【請求項16】
フル解像度ポイントクラウドのうちの異なる解像度のポイントクラウドを配信するための装置であって、前記装置は、
前記フル解像度ポイントクラウド(PC)に複数のふるい関数を適用して、複数の部分ポイントクラウド(PC)を生成するためのふるい関数適用手段であって、
前記部分PCは、前記フル解像度PCのばらばらの要素である、ふるい関数適用手段と、
複数の秘密鍵のうちのそれぞれ1つを使用して、前記複数の部分PCのうちの各部分PCを保護するための保護手段と、
対象受信者に、少なくとも1つのスクランブルされたPC及び選択された秘密鍵を配信するための配信手段と、
を含むことを特徴とする装置。
【請求項17】
前記選択された秘密鍵は、前記対象受信者に対して決定される適切な解像度に基づいて選択されることを特徴とする、請求項16に記載の装置。
【請求項18】
前記選択された秘密鍵に対する前記適切な解像度にスクランブル解除する必要があるスクランブルされたPCのみを配信することを特徴とする、請求項17に記載の装置。
【請求項19】
前記保護手段は、スクランブラであることを特徴とする、請求項16に記載の装置。
【請求項20】
前記保護手段は、AESスクランブラであることを特徴とする、請求項16に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
[0001] 本開示は、ポイントクラウドに関し、具体的には、マルチ解像度ポイントクラウドのセキュアな配信に関する。
【背景技術】
【0002】
[0002] ポイントクラウド(PC)は、空間内のデータポイントのセットであり、3次元(3D)オブジェクト又は風景を描写するための新しい方法を提供する。したがって、デジタル資産としてのPCは、固有の価値を有し、適切に保護されていない場合、海賊行為を受ける可能性がある。更に、ディストリビュータは、異なる解像度でPCの資産を配信して、ユーザが許可された解像度のみにアクセスできるようにすることによって、その配信のより良好な制御を適用できるようにすることに、関心がある場合がある。
【0003】
[0003] 上記の配信問題の1つの解決法は、予想解像度ごとにPC資産の1つの表現を作成して、各表現を独立して保護することである。しかしながら、PC資産は大きいデジタル表現である可能性があるので、予想解像度ごとにPC資産の1つの表現を作成すると、元のボリュームよりもはるかに大きいボリュームになる可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
[0004] 本開示は、配信されたコンテンツの全体サイズを大きくすることなく、同じPCの異なる解像度の配信を制御することを提供する。
【課題を解決するための手段】
【0005】
[0005] 1つの実装では、ポイントクラウド配信システムを開示する。前記システムは、フル解像度ポイントクラウド(PC)にふるい関数を適用して、複数の部分ポイントクラウド(PC)を生成するように構成される複数のふるい関数ジェネレータであって、前記複数の部分PCは、前記フル解像度PCを一緒に構成するばらばらの要素のグループである、複数のふるい関数ジェネレータと、複数の秘密鍵を使用して前記複数の部分PCをスクランブルして、複数のスクランブルされたPCを生成するように構成される複数のスクランブラと、を含む。
【0006】
[0006] 1つの実装では、前記システムは、少なくとも1つのスクランブルされたPC及び少なくとも1つの選択された秘密鍵を配信するように構成されるディストリビュータを更に含み、前記選択された秘密鍵は、対象受信者に対して決定される適切な解像度に基づいて選択される。1つの実装では、第1のPCに対して第1の秘密鍵を選択し、前記第1のPCよりも高い解像度である第2のPCに対して第2の秘密鍵を選択し、前記第2の秘密鍵から前記第1の秘密鍵を導出することができる。1つの実装では、前記フル解像度ポイントクラウドを再作成することができる秘密鍵から開始する一方向ハッシュ関数を使用して、前記複数の秘密鍵のうちのカスケード秘密鍵を生成する。
【0007】
[0007] 別の実装では、所望の解像度のポイントクラウドを生成するためのシステムを開示する。前記システムは、複数のスクランブルされたポイントクラウド(PC)を受け取り、少なくとも1つの秘密鍵を使用してスクランブルを解除して少なくとも1つの部分PCを生成するように構成される複数のデスクランブラと、前記少なくとも1つの部分PCを受け取り、前記少なくとも1つの部分PCを再結合して少なくとも1つの結合された部分PCを形成して、前記少なくとも1つの結合された部分PCを、結合されたPCに再フォーマットすることによって、前記少なくとも1つの部分PCを変換するように構成されるビルダ(builder)と、を含む。
【0008】
[0008] 1つの実装では、前記結合されたPCは、前記結合されたPCを使用するであろうツールに準拠するフォーマットを有する。1つの実装では、前記結合されたPCは、前記所望の解像度のPCである。1つの実装では、第1のPCに対して第1の秘密鍵を選択し、前記第1のPCよりも高い解像度である第2のPCに対して第2の秘密鍵を選択し、前記第1の秘密鍵は、前記第1のPC及び前記第2のPCの両方のスクランブルを解除する。
【0009】
[0009] 別の実装では、フル解像度ポイントクラウドのうちの異なる解像度のポイントクラウドを配信するための方法を開示する。前記方法は、前記フル解像度ポイントクラウド(PC)に複数のふるい関数を適用して、複数の部分ポイントクラウド(PC)を生成するステップであって、前記部分PCは、前記フル解像度PCのばらばらの要素である、ステップと、複数の秘密鍵のうちのそれぞれ1つを使用して、前記複数の部分PCのうちの各部分PCをスクランブルするステップと、対象受信者に、少なくとも1つのスクランブルされたPC及び選択された秘密鍵を配信するステップであって、前記選択された秘密鍵は、前記対象受信者に対して決定される適切な解像度に基づいて選択される、ステップと、を含む。
【0010】
[0010] 1つの実装では、前記複数のふるい関数を適用するステップは、前記複数のふるい関数のうちの各ふるい関数を使用して、前記フル解像度PCを間引きして、ばらばらの部分PCを生成するステップを含む。1つの実装では、前記ばらばらの部分PCは、前記フル解像度PCを形成する。1つの実装では、前記複数のふるい関数の数は、前記複数の部分PCの数に等しい。1つの実装では、前記複数のふるい関数の数は、前記複数の秘密鍵の数に等しい。1つの実装では、前記選択された秘密鍵は、前記少なくとも1つのスクランブルされたPCのうちの少なくとも1つのスクランブルを解除することができる。1つの実装では、第1のPCに対して第1の秘密鍵を選択し、前記第1のPCよりも高い解像度である第2のPCに対して第2の秘密鍵を選択し、前記第2の秘密鍵から前記第1の秘密鍵を導出することができる。
【0011】
[0011] 別の実装では、フル解像度ポイントクラウドのうちの異なる解像度のポイントクラウドを配信するための装置を開示する。前記装置は、前記フル解像度ポイントクラウド(PC)に複数のふるい関数を適用して、複数の部分ポイントクラウド(PC)を生成するためのふるい関数適用手段であって、前記部分PCは、前記フル解像度PCのばらばらの要素である、ふるい関数適用手段と、複数の秘密鍵のうちのそれぞれ1つを使用して、前記複数の部分PCのうちの各部分PCを保護するための保護手段と、対象受信者に、少なくとも1つのスクランブルされたPC及び選択された秘密鍵を配信するための配信手段と、を含む。
【0012】
[0012] 1つの実装では、前記選択された秘密鍵は、前記対象受信者に対して決定される適切な解像度に基づいて選択される。1つの実装では、前記選択された秘密鍵に対する前記適切な解像度にスクランブル解除する必要があるスクランブルされたPCのみを配信する。1つの実装では、前記保護手段は、スクランブラである。1つの実装では、前記保護手段は、AESスクランブラである。
【0013】
[0013] 本開示の態様を一例として示す本明細書からは、他の特徴及び利点も明らかになるはずである。
【0014】
[0014] 同じ部分を同じ参照数字によって示す添付図面を検討することにより、本開示の詳細をその構造及び動作の両方に関して部分的に収集することができる。
【図面の簡単な説明】
【0015】
【
図1】本開示の1つの実装によるPC配信システムのブロック図である。
【
図2】本開示の1つの実装による、最低解像度PC(ResPC
1)を生成するためのシステムのブロック図である。
【
図3】本開示の1つの実装による、第1の中間解像度PC(ResPC
2)を生成するためのシステムのブロック図である。
【
図4】本開示の別の実装によるPC配信システムのブロック図である。
【
図5】本開示の1つの実装による、3つの解像度のうちの最低解像度PC(ResPC
1)を生成するためのシステムのブロック図である。
【
図6】本開示の別の実装による、3つの解像度のうちの第1の中間解像度PC(ResPC
2)を生成するためのシステムのブロック図である。
【
図7A】本開示の1つの実装による、フル解像度PCのうちの異なる解像度のPCを配信するためのプロセスのフロー図である。
【
図7B】本開示の1つの実装による、所望の解像度のPCを生成するためのプロセスのフロー図である。
【
図8】本開示の1つの実装による、フル解像度PCのうちの異なる解像度のPCを配信するための装置のブロック図である。
【
図9A】本開示の実装による、コンピュータシステム及びユーザの図である。
【
図9B】本開示の実装による、PC配信アプリケーションをホストするコンピュータシステムを示す機能ブロック図である。
【発明を実施するための形態】
【0016】
[0026] 上記のように、ポイントクラウド(PC)資産は大きいデジタル表現である可能性があるので、予想解像度ごとにPC資産の1つの表現を作成すると、元のボリュームよりもはるかに大きいボリュームになる可能性がある。本開示の特定の実装は、配信されたコンテンツの全体サイズを大きくすることなく、同じPCの異なる解像度の配信を制御することを提供する。これらの説明を読んだ後には、様々な実装及び用途における本開示の実施方法が明らかになるであろう。本明細書では本開示の様々な実装について説明するが、これらの実装は、限定ではなく一例として提示するものにすぎないと理解されたい。したがって、様々な実装についての詳細な説明は、本開示の範囲又は外延を限定するものとして解釈すべきではない。
【0017】
[0027] 1つの実装では、「ふるい」関数を使用して、フル解像度PCをばらばらの要素(予想解像度ごとに1つの要素)に分割する。更に、各要素に固有の秘密鍵を使用して、各ばらばらの要素を保護する。
【0018】
[0028]
図1は、本開示の1つの実装によるPC配信システム100のブロック図である。1つの実装では、PC配信システム100は、n個のふるい関数ジェネレータ(sieve
1,sieve
2,...sieve
n)120、122、124と、n個のスクランブラ(E
k1,E
k2,...E
kn)150、152、154とを含む。更に、PC配信システム100は、フル解像度PC110を受け取り、スクランブルされたPC160、162、164のn個の要素に変換する。
【0019】
[0029]
図1に示す実装では、フル解像度PC110にふるい関数ジェネレータ(sieve
1,sieve
2,...sieve
n)120、122、124を適用して、n個の部分PC(PPC
1,PPC
2,...PPC
n)130、132、134を生成する。したがって、ふるい関数ジェネレータは、フル解像度PC110をn個のばらばらの要素に分割する。すなわち、sieve
1関数120は、フル解像度PC110を間引きして、所与の論理、例えばポイントの予想密度に従ういくつかのポイントを保持する。したがって、
である。したがって、ふるい関数ジェネレータ(sieve
1,sieve
2,...sieve
n)120、122、124は、ばらばらの部分PC(PPC
1,PPC
2,...PPC
n)130、132、134を生成し、これらは、フル解像度PC110全体をカバーする。したがって、次式が真である。
【0020】
[0030]
図1に示す実装では、スクランブラ(E
k1)150は、秘密鍵K
1を使用して、PPC
1130を保護して、スクランブルされたPC(SPC
1)160を生成する。1つの実装では、スクランブラ150は、暗号学的暗号化又は幾何学的変換である。したがって、
である。同様に、スクランブラ(E
k2...E
kn)152、154は、対応する秘密鍵(K
2...K
n)を使用して、他の部分PCを保護して、他のスクランブルされたPC(SPC
2,...SPC
n)162、164を生成する。したがって、一般化によって、
である。鍵(K
1,K
2,...K
n)を使用して、n個のスクランブルされたPC(SPC
1,SPC
2,...SPC
n)160、162、164を生成すると、対象受信機に対して決定される適切な解像度に基づいて、対象受信機に、スクランブルされたPC及び選択された鍵を配信することができる。一方で、選択された鍵が、対象受信機に対して決定される適切な解像度に基づいて選択される限り、いかなるリスクもなく全てのスクランブルされたPCを配信することができることに留意されたい。
【0021】
[0031]
図2は、本開示の1つの実装による、最低解像度PC(ResPC
1)を生成するためのシステム200のブロック図である。
図2に示す実装では、システム200は、デスクランブラ220と、ビルダ(builder)240とを含む。
【0022】
[0032] 1つの実装では、デスクランブラ(D
k1)220は、最低解像度のスクランブルされたPC(SPC
1)210を受け取り、秘密鍵K
1を使用してスクランブルを解除する。鍵K
1がSPC
1210にとって適切な鍵である場合、デスクランブラ(D
k1)220は、次式のように部分PC(PPC
1)230を出力する。
次に、ビルダ240は、部分PC(PPC
1)230を受け取り、PPC
1を、PCを使用するであろうツールに準拠するフォーマットに再フォーマットすることによって、部分PC(PPC
1)230を最低解像度PC(ResPC
1)に変換する。
【0023】
[0033]
図3は、本開示の1つの実装による、第1の中間解像度PC(ResPC
2)を生成するためのシステム300のブロック図である。
図3に示す実装では、システム300は、デスクランブラ(D
k1,D
k2)320、322と、ビルダ340とを含む。
【0024】
[0034] 1つの実装では、デスクランブラ(D
k1,D
k2)320、322は、2つのスクランブルされたPC(SPC
1及びSPC
2)310、312を受け取り、それぞれ2つの秘密鍵(K
1及びK
2)を使用してスクランブルを解除する。したがって、デスクランブラ(D
k1)320は、秘密鍵K
1を使用して、スクランブルされたPC
1(SPC
1)310のスクランブルを解除して部分PC
1(PPC
1)330を生成し、一方で、デスクランブラ(D
k2)322は、秘密鍵K
2を使用して、スクランブルされたPC
2(SPC
2)312のスクランブルを解除して部分PC
2(PPC
2)332を生成する。次に、ビルダ340は、部分PC
1(PPC
1)330及び部分PC
2(PPC
2)332を受け取り、部分PC
1(PPC
1)330及び部分PC
2(PPC
2)332を再結合して、結合された部分PCを、PCを使用するであろうツールに準拠するフォーマットに再フォーマットすることによって、部分PC
1(PPC
1)330及び部分PC
2(PPC
2)332を第1の中間解像度PC(ResPC
2)350に変換する。次式に、システム300を要約する。
【0025】
[0035] 拡張によって、フル解像度PCは、次式のように表すことができる。
【0026】
[0036] いくつかの実装では、ふるい関数は、算術圧縮関数に関連付けることができる。その場合、部分PCのサイズは、圧縮に起因してより小さい。したがって、この場合、ビルダ関数は、まず、スクランブル解除されたPCを圧縮解除して、その後、再結合する。
【0027】
[0037]
図4は、本開示の別の実装によるPC配信システム400のブロック図である。
図4に示す実装では、基本データ構造(例えば、線形の一連のポイント)を使用して、3つの解像度、すなわち最低、中間、及びフル解像度がサポートされるPCを表現する。最低解像度は、フル解像度の1/16であり、中間解像度は、フル解像度の1/4である。
【0028】
[0038]
図4に示す実装では、配信システム400は、3つのふるい関数(sieve
1,sieve
2,sieve
3)420、422、424と、3つのスクランブラ(すなわち、AES256 E
k1,E
k2,E
k3)450、452、454とを含む。
図4において、ふるい関数420、422、424は、16個のポイントのスライスで動作する。表1に示すように、sieve
1420は、各スライスの第1のポイントを保持し、sieve
2422は、各スライスの第5、第9及び第13のポイントを保持し、sieve
3424は、各スライスの第2、第3、第4、第6、第7、第8、第10、第11、第12、第14、第15及び第16のポイントを保持する。更に、スクランブラ450は、暗号学的暗号化AES256である。
【表1】
【0029】
[0039] 一方で、
図4のシステム400では、鍵管理がより精緻化され、パッケージングが、256ビットの乱数K
3を生成する。次に、次式で鍵K
1及びK
2を計算する。
【0030】
[0040] すなわち、最高解像度専用の鍵から開始する一方向ハッシュ関数(例えばSHA256関数)を使用して、カスケード鍵を生成する。したがって、
図4において、AES256スクランブラ(E
k3)454は、秘密鍵K
3を使用して、PPC
3434を保護して、スクランブルされたPC(SPC
3)464を生成する。次に、スクランブラ(E
k1,E
k2)450、452は、上記のようにSHA256関数(すなわち一方向ハッシュ関数)を使用して生成される対応する秘密鍵(K
1,K
2)を使用して、他の部分PCを保護して、他のスクランブルされたPC(SPC
1,SPC
2)460、462を生成する。鍵(K
1,K
2,K
3)を使用して、3つのスクランブルされたPC(SPC
1,SPC
2,SPC
3)460、462、464を生成すると、対象受信機に送信されるべき適切な解像度に基づいて、受信機に、スクランブルされたPC及び選択された鍵を配信することができる。
【0031】
[0041]
図5は、本開示の1つの実装による、3つの解像度のうちの最低解像度PC(ResPC
1)を生成するためのシステム500のブロック図である。
図5に示す実装では、システム500は、AES256デスクランブラ(D
k1)520と、ビルダ540とを含む。
【0032】
[0042] 1つの実装では、AES256デスクランブラ(Dk1)520は、最低解像度のスクランブルされたPC(SPC1)510を受け取り、秘密鍵K1を使用してスクランブルを解除する。鍵K1がSPC1510にとって適切な鍵である場合、AES256デスクランブラ(Dk1)520は、部分PC(PPC1)530を出力する。次に、ビルダ540は、部分PC(PPC1)530を受け取り、最低解像度PC(ResPC1)550に変換する。一方で、この実装では、ビルダ540は、部分PC(PPC1)530を変更する必要がない。したがって、ビルダ540の関数は恒等関数である。
【0033】
[0043]
図6は、本開示の別の実装による、3つの解像度のうちの第1の中間解像度PC(ResPC
2)を生成するためのシステム600のブロック図である。
図6に示す実装では、システム600は、AES256デスクランブラ(D
k1,D
k2)620、622と、ビルダ640とを含む。
【0034】
[0044] 1つの実装では、AES256デスクランブラ(Dk1,Dk2)620、622は、2つのスクランブルされたPC(SPC1及びSPC2)610、612を受け取り、3つの秘密鍵のうちのそれぞれ2つ(K1及びK2)を使用してスクランブルを解除する。前述のように、K3を、256ビットの乱数K3として生成する。次に、K2及びK1を、K2=SHA256(K3)及びK1=SHA256(K2)として計算する。したがって、AES256デスクランブラ(Dk1)620は、秘密鍵K1を使用して、スクランブルされたPC1(SPC1)610のスクランブルを解除して部分PC1(PPC1)630を生成し、一方で、AES256デスクランブラ(Dk2)622は、秘密鍵K2を使用して、スクランブルされたPC2(SPC2)612のスクランブルを解除して部分PC2(PPC2)632を生成する。次に、ビルダ640は、部分PC1(PPC1)630及び部分PC2(PPC2)632を受け取り、部分PC1(PPC1)630及び部分PC2(PPC2)632を再結合することによって、部分PC1(PPC1)630及び部分PC2(PPC2)632を第1の中間解像度PC(ResPC2)650に変換する。
【0035】
【0036】
[0046] 拡張によって、フル解像度PCは、この実装では、次式のように表すことができる。
【表2】
【0037】
[0047] したがって、表2に示すように、式[7]のBuilder
2(
図6のビルダ640に相当する)は、4個のポイントのスライスで動作する(表2参照)。
【表3】
【0038】
[0048] 表3に示すように、フルPCを構築する式[8]のBuilder3は、16個のポイントのスライスで動作する。
【0039】
[0049] 1つの実装では、ディストリビュータは、最低解像度PC(ResPC1)へのアクセスのみを許可したいと望む場合、K1のみを配信する。更に、ディストリビュータは、全ての3つのスクランブルされたPC(SPC1,SPC2,SPC3)を配信することができるが、ユーザは、スクランブルされたPC1(SPC1)しかスクランブルを解除することができない。ディストリビュータは、第1の中間解像度PC(ResPC2)へのアクセスを許可したいと望む場合、K2を配信する。そうでなければ、ディストリビュータは、フル解像度へのアクセスを許可したいと望む場合、K3を配信する。
【0040】
[0050]
図7Aは、本開示の1つの実装による、フル解像度PCのうちの異なる解像度のPCを配信するためのプロセス700のフロー図である。
図7Aに示す実装では、ブロック710において、フル解像度PCに複数のふるい関数を適用して、(ふるい関数の数に対応する)対応する数の部分PCを生成する。これらの部分PCは、ばらばらの要素である。したがって、各ふるい関数は、フル解像度PCを間引きして、所与の論理に従ういくつかのポイントを保持して、ばらばらの部分PCを生成し、これらは、フル解像度PC全体をカバーする。
【0041】
[0051] 次に、ブロック720において、対応する数の秘密鍵を使用して、対応する数の部分PCのうちの各PCを保護して、対応する数のスクランブルされたPCを生成する。例えば、対応する数の部分PCが保護されるまで、秘密鍵K1を使用してPPC1を保護してSPC1を生成し、秘密鍵K2を使用してPPC2を保護してSPC2を生成するなどする。ブロック730において、対応する数のスクランブルされたPCと、(対象受信機にとって適切な解像度に基づいて選択される)秘密鍵とを配信する。
【0042】
[0052]
図7Bは、本開示の1つの実装による、所望の解像度のPCを生成するためのプロセス750のフロー図である。
図7Bに示す実装では、ブロック760において、複数のスクランブルされたPCを受け取り、少なくとも1つの秘密鍵を使用してスクランブルを解除して少なくとも1つの部分PCを生成する。次に、ブロック770において、少なくとも1つの部分PCを受け取り、部分PCを再結合して、結合された部分PCを、結合されたPCに再フォーマットすることによって、少なくとも1つの部分PCを変換する。
【0043】
[0053] 1つの実装では、結合されたPCは、結合されたPCを使用するであろうツールに準拠するフォーマットを有する。1つの実装では、結合されたPCは、所望の解像度のPCである。1つの実装では、より低い解像度のPCに対して選択される第2の秘密鍵よりも高い解像度のPCに対して選択される第1の秘密鍵を使用して、より高い解像度のPC及びより低い解像度のPCのスクランブルを解除することができる。
【0044】
[0054]
図8は、本開示の1つの実装による、フル解像度PCのうちの異なる解像度のPCを配信するための装置800のブロック図である。
図8に示す実装では、装置800は、ふるい関数を適用するための手段810と、各PCを保護するための手段820と、SPCを配信するための手段830とを含む。
【0045】
[0055] 1つの実装では、ふるい関数を適用するための手段810は、フル解像度PCに複数のふるい関数を適用して、(ふるい関数の数に対応する)対応する数の部分PCを生成する。これらの部分PCは、ばらばらの要素である。したがって、ふるい関数を適用するための手段810は、各ふるい関数を使用して、フル解像度PCを間引きして、所与の論理に従ういくつかのポイントを保持して、ばらばらの部分PCを生成し、これらは、フル解像度PC全体をカバーする。
【0046】
[0056] 1つの実装では、各PCを保護するための手段820は、対応する数の秘密鍵を使用して、対応する数の部分PCのうちの各PCを保護して、対応する数のスクランブルされたPCを生成する。例えば、対応する数の部分PCが保護されるまで、秘密鍵K1を使用してPPC1を保護してSPC1を生成し、秘密鍵K2を使用してPPC2を保護してSPC2を生成するなどする。1つの実装では、各PCを保護するための手段820は、スクランブラである。別の実装では、各PCを保護するための手段820は、AESスクランブラである。
【0047】
[0057] 1つの実装では、SPCを配信するための手段830は、(1)対応する数のスクランブルされたPCと、(2)対象受信機にとって適切な解像度に基づいて選択される秘密鍵とを配信する。1つの実装では、配信されるスクランブルされたPCの数は、各PCを保護するための手段820によって生成されるスクランブルされたPCの数に等しい。別の実装では、選択された秘密鍵に対する適切な解像度にスクランブル解除する必要があるスクランブルされたPCのみを配信する。
【0048】
[0058]
図9Aは、本開示の実装による、コンピュータシステム900及びユーザ902の図である。ユーザ902は、コンピュータシステム900を使用して、
図1に示すブロック図のPC配信システム100及び
図7に示すプロセス700に関して図示及び説明されるようなPC配信アプリケーション990を実装する。
【0049】
[0059] コンピュータシステム900は、
図9BのPC配信アプリケーション990を記憶して実行する。更に、コンピュータシステム900は、ソフトウェアプログラム904と通信することができる。ソフトウェアプログラム904は、PC配信アプリケーション990のためのソフトウェアコードを含むことができる。ソフトウェアプログラム904は、以下で更に説明するように、CD、DVD又はストレージドライブなどの外部媒体にロードすることができる。
【0050】
[0060] 更に、コンピュータシステム900は、ネットワーク980に接続することができる。ネットワーク980は、様々な異なるアーキテクチャ、例えば、クライアント-サーバアーキテクチャ、ピアツーピアネットワークアーキテクチャ、又は他のタイプのアーキテクチャにおいて接続することができる。例えば、ネットワーク980は、PC配信アプリケーション990内で使用されるエンジン及びデータを協調させるサーバ985と通信することができる。また、ネットワークは、異なるタイプのネットワークとすることができる。例えば、ネットワーク980は、インターネット、ローカルエリアネットワーク又はローカルエリアネットワークの任意の変形、ワイドエリアネットワーク、メトロポリタンエリアネットワーク、イントラネット又はエクストラネット、又は無線ネットワークとすることができる。
【0051】
[0061]
図9Bは、本開示の実装による、PC配信アプリケーション990をホストするコンピュータシステム900を示す機能ブロック図である。コントローラ910はプログラマブルプロセッサであり、コンピュータシステム900及びそのコンポーネントの動作を制御する。コントローラ910は、メモリ920又は内蔵コントローラメモリ(図示せず)から(例えば、コンピュータプログラムの形で)命令をロードして、これらの命令を実行してシステムを制御する。その実行において、コントローラ910は、PC配信アプリケーション990にソフトウェアシステムを提供して、例えば、PC配信アプリケーション990内のエンジン及びデータ抽出部の作成及び構成を可能にする。代替的に、このサービスは、コントローラ910又はコンピュータシステム900において別個のハードウェアコンポーネントとして実装することができる。
【0052】
[0062] メモリ920は、コンピュータシステム900の他のコンポーネントによって使用するためにデータを一時的に記憶する。1つの実装では、メモリ920はRAMとして実装される。1つの実装では、メモリ920は、また、フラッシュメモリ及び/又はROMなどの長期又は永久メモリを含む。
【0053】
[0063] ストレージ930は、コンピュータシステム900の他のコンポーネントによって使用するために、データを一時的に又は長期間にわたって記憶する。例えば、ストレージ930は、PC配信アプリケーション990によって使用されるデータを記憶する。1つの実装では、ストレージ930は、ハードディスクドライブである。
【0054】
[0064] メディアデバイス940は、リムーバブルメディアを受け入れて、挿入されたメディアに対してデータの読み出し及び/又は書き込みを行う。1つの実装では、例えば、メディアデバイス940は、光ディスクドライブである。
【0055】
[0065] ユーザインターフェイス950は、コンピュータシステム900のユーザからユーザ入力を受け取ってユーザ902に情報を提示するためのコンポーネントを含む。1つの実装では、ユーザインターフェイス950は、キーボード、マウス、オーディオスピーカ、及びディスプレイを含む。コントローラ910は、ユーザ902からの入力を使用して、コンピュータシステム900の動作を調整する。
【0056】
[0066] I/Oインターフェイス960は、1又は2以上のI/Oポートを含み、外部記憶又は補足装置(例えば、プリンタ又はPDA)などの対応するI/Oデバイスに接続する。1つの実装では、I/Oインターフェイス960のポートは、USBポート、PCMCIAポート、シリアルポート、及び/又はパラレルポートなどのポートを含む。別の実装では、I/Oインターフェイス960は、外部装置と無線で通信するための無線インターフェイスを含む。
【0057】
[0067] ネットワークインターフェイス970は、イーサネット接続をサポートするRJ-45又は「Wi-Fi」インターフェイス(802.11を含むが、これに限定されるわけではない)などの有線及び/又は無線ネットワーク接続を含む。
【0058】
[0068] コンピュータシステム900は、コンピュータシステムに典型的な追加のハードウェア及びソフトウェア(例えば、電力、冷却、オペレーティングシステム)を含むが、これらのコンポーネントは、簡略化のために、
図9Bに具体的に示されていない。他の実装では、コンピュータシステムの異なる構成を使用することができる(例えば、異なるバス又はストレージ構成又はマルチプロセッサ構成)。
【0059】
[0069] 1つの実装では、PC配信システム100は、1又は2以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲート/ロジックアレイ(FPGA)、又はその他の等価集積又はディスクリート論理回路を含むハードウェアで全体が構成されるシステムである。別の実装では、PC配信システム100は、ハードウェアとソフトウェアの組み合わせで構成される。例えば、ふるい関数120、122、124は、別個のプロセッサ内に常駐するソフトウェアで構成され、一方、スクランブラ150は、ハードウェアとして構成される。
【0060】
[0070] 開示した実装についての本明細書の説明は、当業者が本開示を実施又は利用できるように行ったものである。当業者には、これらの実装の多数の修正が容易に明らかになると思われ、また本明細書で定義した原理は、本開示の趣旨又は範囲から逸脱することなく他の実装にも適用することができる。したがって、本開示は、本明細書に示す実装に限定されることを意図するものではなく、本明細書で開示した原理及び新規の特徴と一致する最も広い範囲が与えられるべきである。
【0061】
[0071] 本開示の様々な実装は、電子ハードウェア、コンピュータソフトウェア、又はこれらの技術の組み合わせの形で実現される。いくつかの実装は、1又は2以上のコンピュータ装置により実行される1又は2以上のコンピュータプログラムを含む。一般に、コンピュータ装置は、1又は2以上のプロセッサ、1又は2以上のデータ記憶構成要素(例えば、ハードディスクドライブ、CD-ROMドライブ、及び磁気テープドライブなどの揮発性又は不揮発性メモリモジュール及び持続的な光学及び磁気記憶装置)、1又は2以上の入力装置(例えば、ゲームコントローラ、マウス及びキーボード)、及び1又は2以上の出力装置(例えば、ディスプレイ装置)を含む。
【0062】
[0072] コンピュータプログラムは、通常、持続的な記憶媒体に記憶され、実行時にメモリにコピーされる実行可能なコードを含む。少なくとも1つのプロセッサが、所定の順序でメモリからプログラム命令を取り出すことによって、コードを実行する。プログラムコードの実行中には、コンピュータは、入力及び/又は記憶装置からデータを受け取り、データに対して処理を実行し、これにより得られたデータを出力及び/又は記憶装置に供給する。
【0063】
[0073] 当業者であれば、本明細書で説明した様々な例示的なモジュール及び方法ステップを電子ハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせとして実装することができると理解するであろう。このハードウェアとソフトウェアの互換性を明確に示すために、本明細書では、様々な例示的なモジュール及び方法ステップについて、一般にこれらの機能面から説明した。このような機能をハードウェア又はソフトウェアのいずれとして実装するかは、特定の用途及びシステム全体に課せられる設計制約に依存する。当業者であれば、説明した機能を各特定の用途のために様々な方法で実装することができるが、このような実装の決定を、本開示の範囲からの逸脱を引き起こすものとして解釈すべきではない。また、モジュール又はステップ内の機能のグループ化は、説明を容易にするためのものである。本開示から逸脱することなく、特定の機能を1つのモジュール又はステップから別のモジュール又はステップへ移すことができる。
【0064】
[0074] 上記の各実施例の全ての特徴が、本開示の特定の実装において必ずしも必要というわけではない。更に、本明細書で提示した説明及び図面は、本開示が広く意図する主題を表すものであると理解されたい。更に、本開示の範囲は、当業者にとって明らかになり得る他の実装を完全に含み、したがって、本開示の範囲は、添付の特許請求の範囲以外のものによって限定されるものではないと理解されたい。
【符号の説明】
【0065】
100 PC配信システム
110 フル解像度PC
120,122,124 ふるい関数ジェネレータ(sieve1,sieve2,...sieven)
130,132,134 部分PC(PPC1,PPC2,...PPCn)
150,152,154 スクランブラ(Ek1,Ek2,...Ekn)
160,162,164 スクランブルされたPC(SPC1,SPC2,...SPCn)
200 最低解像度PC(ResPC1)を生成するためのシステム
210 最低解像度のスクランブルされたPC(SPC1)
220 デスクランブラ(Dk1)
230 部分PC(PPC1)
240 ビルダ
300 第1の中間解像度PC(ResPC2)を生成するためのシステム
310,312 スクランブルされたPC(SPC1,SPC2)
320,322 デスクランブラ(Dk1,Dk2)
330 部分PC1(PPC1)
332 部分PC2(PPC2)
340 ビルダ
350 第1の中間解像度PC(ResPC2)
400 PC配信システム
410 フル解像度ポイントクラウド
420,422,424 ふるい関数(sieve1,sieve2,sieve3)
434 PPC3
450,452,454 スクランブラ(AES256 Ek1,Ek2,Ek3)
460,462 スクランブルされたPC(SPC1,SPC2)
464 スクランブルされたPC(SPC3)
500 最低解像度PC(ResPC1)を生成するためのシステム
510 最低解像度のスクランブルされたPC(SPC1)
520 AES256デスクランブラ(Dk1)
530 部分PC(PPC1)
540 ビルダ
550 最低解像度PC(ResPC1)
600 第1の中間解像度PC(ResPC2)を生成するためのシステム
610,612 スクランブルされたPC(SPC1,SPC2)
620,622 AES256デスクランブラ(Dk1,Dk2)
630 部分PC1(PPC1)
632 部分PC2(PPC2)
640 ビルダ
650 第1の中間解像度PC(ResPC2)
700 異なる解像度のPCを配信するためのプロセス
710 フル解像度PCにふるい関数を適用して、対応する数のPPCを生成
720 秘密鍵を使用して各PCを保護して、スクランブルされたPC(SPC)を生成
730 SPCと、対象受信機にとって適切な解像度に基づいて選択される秘密鍵とを配信
750 所望の解像度のPCを生成するためのプロセス
760 スクランブルされたPCを受け取り、少なくとも1つの秘密鍵を使用してスクランブルを解除して少なくとも1つの部分PCを生成
770 少なくとも1つの部分PCを受け取り、部分PCを再結合して、結合された部分PCを結合されたPCに再フォーマットすることによって、少なくとも1つの部分PCを変換
800 異なる解像度のPCを配信するための装置
802 フル解像度PC
810 ふるい関数を適用するための手段
820 各PCを保護するための手段
830 SPCを配信するための手段
840 対象受信機
900 コンピュータシステム
902 ユーザ
904 ソフトウェアプログラム
910 コントローラ
920 メモリ
930 ストレージ
940 メディアデバイス
950 ユーザインターフェイス
960 I/Oインターフェイス
970 ネットワークインターフェイス
980 ネットワーク
985 サーバ
990 PC配信アプリケーション
【国際調査報告】