KR20200144543A - 우선 변환에 기반한 동적 포인트 클라우드를 최적화하는 시스템 및 방법 - Google Patents

우선 변환에 기반한 동적 포인트 클라우드를 최적화하는 시스템 및 방법 Download PDF

Info

Publication number
KR20200144543A
KR20200144543A KR1020207028390A KR20207028390A KR20200144543A KR 20200144543 A KR20200144543 A KR 20200144543A KR 1020207028390 A KR1020207028390 A KR 1020207028390A KR 20207028390 A KR20207028390 A KR 20207028390A KR 20200144543 A KR20200144543 A KR 20200144543A
Authority
KR
South Korea
Prior art keywords
point cloud
reference point
client
server
change
Prior art date
Application number
KR1020207028390A
Other languages
English (en)
Inventor
타투 뷔. 제이. 하비아이넨
Original Assignee
피씨엠에스 홀딩스, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 피씨엠에스 홀딩스, 인크. filed Critical 피씨엠에스 홀딩스, 인크.
Publication of KR20200144543A publication Critical patent/KR20200144543A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/38Registration of image sequences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Architecture (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Generation (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

예시적인 개시된 방법은, (i) 제1 포인트 클라우드 - 제1 포인트 클라우드는 기준 포인트 클라우드에 대응함 - 를 클라이언트로 송신하는 것, (ii) 제2 포인트 클라우드를 수신하는 것, (iii) 기준 포인트 클라우드로부터의 제2 포인트 클라우드에서의 변화를 계층적으로 결정하는 것을 포함하고, 변화를 계층적으로 결정하는 것은, (a) 기준 포인트 클라우드로부터 변경된 제1 영역을 제2 포인트 클라우드에서 식별하는 것, 및 (b) 가장 높은 우선 순위를 갖는 제1 영역에 대해, 기준 포인트 클라우드로부터의 제1 변화를 근사하는 제1 강체 3D 변환을 결정하고, 제1 강체 3D 변환이 결정될 수 없는 경우, 기준 포인트 클라우드를 수정하기 위해 사용될 제1 포인트를 추가로 결정하는 것을 포함하고, 제1 포인트는 제1 변화를 나타낸다.

Description

우선 변환에 기반한 동적 포인트 클라우드를 최적화하는 시스템 및 방법
본 출원은 2018년 3월 20일자로 출원된 발명의 명칭이 "System and Method for Optimizing Dynamic Point Clouds Based on Prioritized Transformations"인 미국 특허 가출원 일련 번호 제62/645,603의 정식(non-provisional) 출원이며, 이로부터 35 U.S.C. §119(e) 하에서의 이익을 주장하는데, 이 가출원은 참조에 의해 그 전체가 본원에 통합된다.
고해상 도 3 차원(three dimensional; 3D) 데이터를 캡쳐하는 데 새로운 시스템 및 센서가 이용 가능하게 됨에 따라, 큰 데이터 사이즈의 동적 포인트 클라우드 시퀀스를 송신하는 데 도전 과제가 생기고 있다. 예를 들면, 한 사람의 전체 3D 모습을 분배하는 데 필요한 데이터 스루풋의 테스트는, 고해상도 데이터 캡쳐 및 분배의 실용성을 제한하는 여러 가지 네트워크 병목 현상을 드러내었다.
몇몇 실시형태에 따르면, 서버에서 수행되는 방법은: 클라이언트로 제1 포인트 클라우드 - 제1 포인트 클라우드는 기준 포인트 클라우드에 대응함 - 를 송신하는 것; 제2 포인트 클라우드를 수신하는 것; 및 기준 포인트 클라우드로부터의 제2 포인트 클라우드에서의 변화를 계층적으로(hierarchically) 결정하는 것을 포함하되, 변화를 계층적으로 결정하는 것은: 기준 포인트 클라우드로부터 변경된 제1 영역을 제2 포인트 클라우드에서 식별하는 것; 제1 영역의 우선 순위를 지정하는 것; 가장 높은 우선 순위를 갖는 제1 영역에 대해, 기준 포인트 클라우드로부터의 제1 변화를 근사하는 제1 강체 3D 변환이 존재하는지의 여부를 결정하는 것; 제1 강체 3D 변환이 존재한다는 결정에 응답하여, 기준 포인트 클라우드로부터의 제1 변화를 근사하는 제1 강체 3D 변환(rigid 3D transformation)을 결정하는 것; 및 제1 강체 3D 변환이 존재하지 않는다는 결정에 응답하여, 기준 포인트 클라우드를 수정하기 위해 사용될 제1 포인트 - 제1 포인트는 제1 변화를 나타냄 - 를 추가로 결정하는 것을 포함한다.
몇몇 실시형태에 따르면, 서버에서 수행되는 방법은: 클라이언트로 제1 포인트 클라우드 - 제1 포인트 클라우드는 기준 포인트 클라우드에 대응함 - 를 송신하는 것; 제2 포인트 클라우드를 수신하는 것; 및 기준 포인트 클라우드로부터의 제2 포인트 클라우드에서의 변화를 계층적으로(hierarchically) 결정하는 것을 포함하되, 변화를 계층적으로 결정하는 것은: 기준 포인트 클라우드로부터 변경된 제1 영역을 제2 포인트 클라우드에서 식별하는 것; 제1 영역의 우선 순위를 지정하는 것; 가장 높은 우선 순위를 갖는 제1 영역에 대해, 기준 포인트 클라우드로부터의 제1 변화를 근사하는 제1 강체 3D 변환을 결정하고, 제1 강체 3D 변환이 결정될 수 없는 경우, 기준 포인트 클라우드를 수정하기 위해 사용될 제1 포인트 - 제1 포인트는 제1 변화를 나타냄 - 를 추가로 결정하는 것을 포함한다.
몇몇 실시형태에서, 기준 포인트 클라우드를 수정하기 위해 사용될 제1 포인트는, (i) 기준 포인트 클라우드로부터 제거될 포인트 또는 (ii) 기준 포인트 클라우드에 추가되는 포인트 중 적어도 하나를 포함한다. 몇몇 실시형태에서, 제1 영역을 식별하는 것은, 기준 포인트 클라우드로부터 일탈하는(deviate) 영역을 제2 포인트 클라우드에서 식별하기 위해 제2 포인트 클라우드를 기준 포인트 클라우드와 비교하는 것을 포함한다. 제1 영역의 우선 순위를 지정하는 것은, 몇몇 실시형태에서, 클라이언트의 현재의 관점에 적어도 부분적으로 기초하여 제1 영역의 각각에게 각각의 제1 우선 순위를 할당하는 것을 포함한다. 몇몇 실시형태에서, 각각의 제1 우선 순위를 제1 영역의 각각에게 할당하는 것은, 메인 영역의 사이즈, 기준 포인트 클라우드로부터의 제1 영역의 일탈(deviation)의 양, 및 클라이언트의 현재의 관점으로부터의 제1 영역의 거리를 사용하여 각각의 제1 우선 순위를 결정하는 것을 포함한다. 게다가, 몇몇 실시형태에서, 제1 강체 3D 변환이 존재하는지의 여부를 결정하는 것은, 기준 포인트 클라우드와 제2 포인트 클라우드 사이의 형상 관련성(shape correspondence)이 발견되었는지의 여부를 결정하는 것을 포함한다.
몇몇 실시형태에서, 방법은, 클라이언트로부터, 현재의 관점을 수신하는 것을 더 포함한다. 몇몇 실시형태에서, 방법은 기준 포인트 클라우드를 저장하는 것, 및 제1 3D 강체 변환이 결정된 경우, 기준 포인트 클라우드에 제1 강체 3D 변환을 적용하는 것에 의해 서버에 저장되는 기준 포인트 클라우드를 업데이트하는 것을 더 포함한다. 몇몇 실시형태에서, 방법은, 클라이언트에서 기준 포인트 클라우드를 업데이트하기 위해, 가장 높은 우선 순위를 갖는 제1 영역의 표시 및 3D 변환을 클라이언트로 송신하는 것을 더 포함한다. 가장 높은 우선 순위를 갖는 제1 메인 영역의 표시는, 몇몇 실시형태에서, 경계를 정하는 볼륨 좌표(bounding volume coordinate)를 포함한다.
방법은, 몇몇 실시형태에서, 기준 포인트 클라우드를 저장하는 것, 및 제1 포인트가 결정된 경우 제1 포인트를 사용하여 기준 포인트 클라우드를 수정하는 것에 의해 서버에 저장되는 기준 포인트 클라우드를 업데이트하는 것을 더 포함한다. 몇몇 실시형태에서, 방법은 클라이언트에서 기준 포인트 클라우드를 업데이트하기 위해 제1 포인트의 표시를 클라이언트로 송신하는 것을 더 포함한다.
몇몇 실시형태에서, 변화를 계층적으로 결정하는 것은 다음의 것을 더 포함한다: 가장 높은 우선 순위를 갖는 제1 영역 내에서 하나 이상의 하위 영역을 식별하는 것, 제1 하위 영역의 우선 순위를 지정하는 것, 우선 순위가 지정된 제1 하위 영역을 나머지 우선 순위가 지정된 제1 영역에 추가하는 것. 몇몇 실시형태에서, 방법은, 나머지 우선 순위가 지정된 제1 영역 및 우선 순위가 지정된 제1 하위 영역 중에서 다음으로 가장 높은 우선 순위를 갖는 영역에 대해, (i) 업데이트된 기준 포인트 클라우드로부터의 제2 변화를 근사하는 제2 강체 3D 변환, 또는 (ii) 업데이트된 기준 포인트 클라우드를 수정하기 위해 사용될 제2 포인트 - 제2 포인트는 제2 변화를 나타냄 - 를 결정하는 것을 더 포함한다. 이와 관련하여, 몇몇 실시형태에서, 방법은, 프로세싱 버짓(processing budget)을 클라이언트와 협상하는 것을 더 포함하는데, 여기서 프로세싱 버짓은, 적어도, 포인트 클라우드 업데이트를 위해 이용 가능한 대역폭 및 시간의 양을 제공하고, 제2 강체 3D 변환 또는 다음으로 가장 높은 우선 순위를 갖는 영역에 대한 제2 포인트를 결정하는 것은 프로세싱 버짓이 이용 가능한 경우에만 실행된다.
하나 이상의 제1 하위 영역을 식별하는 것은, 몇몇 실시형태에서, 업데이트된 기준 포인트 클라우드로부터 일탈하는 더 미세하게 세분된 영역(finer grained area)을 식별하기 위해, 제2 포인트 클라우드를 업데이트된 기준 포인트 클라우드와 비교하는 것을 포함한다. 제1 하위 영역 영역의 우선 순위를 지정하는 것은, 몇몇 실시형태에서, 제1 하위 영역의 각각에 각각의 제2 우선 순위를 할당하는 것을 포함한다. 몇몇 실시형태에서, 방법은 프로세싱 버짓을 클라이언트와 협상하는 것을 포함하는데, 여기서 프로세싱 버짓은, 적어도, 포인트 클라우드 업데이트를 위해 이용 가능한 대역폭 및 시간의 양을 제공한다.
기준 포인트 클라우드 또는 제2 포인트 클라우드 중 적어도 하나는, 몇몇 실시형태에서, 센서 데이터를 포함한다. 몇몇 실시형태에서, 기준 포인트 클라우드 및 제2 포인트 클라우드는 포인트 클라우드 데이터의 사전 캡쳐된 동적 시퀀스로서 저장 매체로부터 수신된다. 게다가, 몇몇 실시형태에서, 방법은 복수의 클라이언트와 통신하는 것, 및 복수의 클라이언트의 각각에 대해 방법을 실행하는 것을 더 포함한다.
몇몇 실시형태에 따르면, 서버에서 수행되는 방법은: 초기 포인트 클라우드를 클라이언트로 송신하는 것; 및 초기 포인트 클라우드로부터의 현재의 포인트 클라우드에서의 변화를 계층적으로 결정하는 것을 포함하되, 변화를 계층적으로 결정하는 것은: 현재의 포인트 클라우드에서 메인 변화 영역을 식별하는 것; 초기 포인트 클라우드로부터의 제1 변화를 근사하는 제1 강체 3D 변환이 존재하는지의 여부를 결정하기 위해, 제1 메인 변화 영역을 사용하는 것; 제1 강체 3D 변환이 존재한다는 결정에 응답하여, 초기 포인트 클라우드로부터의 제1 변화를 근사하는 제1 강체 3D 변환을 결정하는 것; 제1 강체 3D 변환이 존재하지 않는다는 결정에 응답하여, 초기 포인트 클라우드를 수정하기 위해 사용될 제1 포인트 - 제1 포인트는 제1 변화를 나타냄 - 를 추가로 결정하는 것; 메인 변화 영역 내에서 하나 이상의 더 미세하게 세분된 잔여 변화 영역(finer-grained area of residual change)을 식별하는 것; 초기 포인트 클라우드로부터의 제2 변화를 근사하는 제2 강체 3D 변환이 존재하는지의 여부를 결정하기 위해, 하나 이상의 더 미세하게 세분된 잔여 변화 영역 및 나머지 메인 변화 영역을 사용하는 것; 제2 강체 3D 변환이 존재한다는 결정에 응답하여, 초기 포인트 클라우드로부터의 제2 변화를 근사하는 제2 강체 3D 변환을 결정하는 것; 및 제2 강체 3D 변환이 존재하지 않는다는 결정에 응답하여, 초기 포인트 클라우드를 추가로 수정하기 위해 사용될 제2 포인트 - 제2 포인트는 제2 변화를 나타냄 - 를 추가로 결정하는 것을 포함한다.
몇몇 실시형태에 따르면, 시간에 따라 변하는 포인트 클라우드 데이터를 송신하는, 서버에서 수행되는 방법은: 초기 포인트 클라우드를 클라이언트로 송신하는 것; 및 초기 포인트 클라우드로부터의 현재의 포인트 클라우드에서의 변화를 계층적으로 결정하는 것을 포함하되, 변화를 계층적으로 결정하는 것은: 현재의 포인트 클라우드에서 메인 변화 영역을 식별하는 것; 초기 포인트 클라우드로부터의 제1 변화를 근사하는 제1 강체 3D 변환을 결정하기 위해 제1 메인 변화 영역을 사용하고, 제1 강체 3D 변환이 결정될 수 없는 경우, 초기 포인트 클라우드를 수정하기 위해 사용될 제1 포인트 - 제1 포인트는 제1 변화를 나타냄 - 를 추가로 결정하는 것; 메인 변화 영역 내에서 하나 이상의 더 미세하게 세분된 잔여 변화 영역을 식별하는 것; 및 초기 포인트 클라우드로부터의 제2 변화를 근사하는 제2 강체 3D 변환을 결정하기 위해 하나 이상의 더 미세하게 세분된 잔여 변화 영역 및 나머지 메인 변화 영역을 사용하고, 제2 강체 3D 변환이 결정될 수 없는 경우, 초기 포인트 클라우드를 추가로 수정하기 위해 사용될 제2 포인트 - 제2 포인트는 제2 변화를 나타냄 - 를 추가로 결정하는 것을 포함한다.
몇몇 실시형태에서, 제2 강체 3D 변환은 하나 이상의 더 미세하게 세분된 잔여 변화 영역 중 하나에 대해 결정된다. 몇몇 실시형태에서, 제2 강체 3D 변환은 나머지 메인 변화 영역 중 하나에 대해 결정된다. 몇몇 실시형태에서, 제2 강체 3D 변환은 나머지 메인 변화 영역 중 하나에 대해 결정된다. 게다가, 몇몇 실시형태에서, 방법은, (i) 제1 강체 3D 변환 및 제1 변화된 영역을 나타내는 제1 경계를 정하는 볼륨 좌표, (ii) 제2 강체 3D 변환 및 제2 변화된 영역을 나타내는 제2 경계를 정하는 볼륨 좌표, (iii) 제1 포인트, 및 (iv) 제2 포인트 중 적어도 하나를 클라이언트로 송신하는 것을 더 포함한다.
몇몇 실시형태에 따르면, 서버에서 수행되는 방법은: 초기 포인트 클라우드로서 제1 3D 데이터를 수신하는 것; 포인트 클라우드 데이터 스트리밍에 대한 클라이언트로부터의 요청에 응답하여, 초기 포인트 클라우드를 클라이언트로 송신하고 초기 포인트 클라우드를 기준 포인트 클라우드로서 저장하는 것; 및 각각의 현재의 포인트 클라우드에 대해 프로세스를 반복적으로 수행하는 것을 포함하되, 프로세스는: 제2 3D 데이터를 현재의 포인트 클라우드로서 수신하는 것; 제2 3D 데이터를 현재의 포인트 클라우드로서 수신하는 것; 기준 포인트 클라우드와 관련하여 다음의 것을 포함하는 현재의 포인트 클라우드의 계층적 검사를 수행하는 것: 기준 포인트 클라우드로부터 일탈하는 영역을 식별하는 것; 일탈 영역(deviating area)을 제1 클러스터로 분리하는 것; 제1 클러스터의 각각에 대한 중요도를 나타내는 각각의 제1 점수 - 각각의 제1 점수는 클라이언트의 현재의 관점에 적어도 부분적으로 기초하여 계산됨 - 를 계산하는 것에 의해 제1 클러스터의 우선 순위를 지정하는 것; 및 가장 높은 우선 순위를 갖는 제1 클러스터에 대해, 기준 포인트 클라우드로부터의 제1 일탈을 근사하는 변환이 존재하는지의 여부를 결정하는 것; 변환이 존재하는 경우, 기준 포인트 클라우드를 업데이트하기 위해, 저장된 기준 포인트 클라우드에 변환을 적용하고, 제1 클러스터 내의 영역의 표시 및 변환을 클라이언트로 송신하는 것; 및 변환이 존재하지 않는 경우, 기준 포인트 클라우드를 업데이트하기 위해, 저장된 기준 포인트 클라우드에서 포인트를 추가하고 제거하는 것 중 적어도 하나를 수행하고, 포인트를 클라이언트로 송신하는 것을 포함한다.
몇몇 실시형태에서, 기준 포인트 클라우드와 관련하여 현재의 포인트 클라우드의 계층적 검사를 수행하는 것은: 가장 높은 우선 순위를 갖는 제1 클러스터를 프로세싱한 이후, 업데이트된 기준 포인트 클라우드로부터 여전히 일탈하는 하위 영역을 제1 클러스터에서 식별하는 것; 일탈하는 하위 영역을 제2 클러스터로 분리하는 것; 제2 클러스터의 각각에 대한 중요도를 나타내는 각각의 제2 점수 - 각각의 제2 점수는 클라이언트의 현재의 관점에 적어도 부분적으로 기초하여 계산됨 - 를 계산하는 것에 의해 제2 클러스터의 우선 순위를 지정하는 것; 우선 순위가 지정된 제2 클러스터를 우선 순위가 지정된 제1 클러스터의 나머지에 추가하고, 다음으로 가장 높은 우선 순위를 갖는 다음 번의 클러스터에 대해, 업데이트된 기준 포인트 클라우드로부터의 제2 일탈을 근사하는 다른 변환이 존재하는지의 여부를 결정하는 것; 다른 변환이 존재하는 경우, 기준 포인트 클라우드를 추가로 업데이트하기 위해 업데이트된 저장된 업데이트된 기준 포인트 클라우드에 다른 변환을 적용하고, 프로세싱된 제1 클러스터 내의 하위 영역의 다른 표시 및 다른 변환을 클라이언트로 송신하는 것; 및 다른 변환이 존재하지 않는 경우, 기준 포인트 클라우드를 업데이트하기 위해, 업데이트된 기준 포인트 클라우드에서 추가적인 포인트를 추가하거나 또는 제거하는 것 중 적어도 하나를 수행하는 것, 및 추가적인 포인트를 클라이언트로 송신하는 것을 더 포함한다.
몇몇 실시형태에서, 프로세스는 클라이언트로부터의 요청시 또는 서버와 클라이언트 사이에서 협상되는 프로세싱 버짓이 추가적인 프로세싱에 대해 더 이상 이용 가능하지 않은 경우에 종료된다.
다른 실시형태는 본원에서 설명되는 방법을 수행하도록 구성되는(예를 들면, 프로세서 및 프로세서에 의한 실행을 위한 복수의 명령어를 저장하는 비일시적 컴퓨터 판독 가능 매체를 갖는) 시스템 및 서버를 포함한다. 몇몇 실시형태에서, 시스템은 적어도 하나의 3D 센서를 또한 포함한다.
첨부의 도면과 연계하여 예로서 제시되는 하기의 설명으로부터 더욱 상세한 이해가 얻어질 수도 있다. 더구나, 도면에서 같은 참조 번호는 같은 엘리먼트를 나타내고, 도면에서:
도 1a는 하나 이상의 개시된 실시형태가 구현될 수도 있는 예시적인 통신 시스템을 예시하는 시스템 다이어그램이다.
도 1b는 실시형태에 따른 도 1a에서 예시되는 통신 시스템 내에서 사용될 수도 있는 예시적인 무선 송수신 유닛(WTRU)을 예시하는 시스템 다이어그램이다.
도 1c는 실시형태에 따른 도 1a에서 예시되는 통신 시스템 내에서 사용될 수도 있는 예시적인 무선 액세스 네트워크(radio access network; RAN) 및 예시적인 코어 네트워크(core network; CN)를 예시하는 시스템 다이어그램이다.
도 1d는 실시형태에 따른 도 1a에서 예시되는 통신 시스템 내에서 사용될 수도 있는 추가의 예시적인 RAN 및 추가의 예시적인 CN을 예시하는 시스템 다이어그램이다.
도 2는, 몇몇 실시형태에 따른, 본 개시의 다양한 실시형태가 활용될 수도 있는 예시적인 시스템 배열을 예시한다.
도 3a는, 몇몇 실시형태에 따른, 캡쳐 및 프로세싱될 수도 있는 예시적인 장면을 예시한다.
도 3b는, 몇몇 실시형태에 따른 프로세싱될 수도 있는 예시적인 포인트 클라우드를 예시한다.
도 4는, 몇몇 실시형태에 따른, 메시지 시퀀스 다이어그램을 예시한다.
도 5는, 몇몇 실시형태에 따른, 포인트 클라우드 데이터를 프로세싱하는 예시적인 방법의 플로우차트이다.
도 6은, 몇몇 실시형태에 따른, 포인트 클라우드 데이터를 프로세싱하는 다른 예시적인 방법의 플로우차트이다.
도 7a 및 도 7b는, 몇몇 실시형태에 따른, 포인트 클라우드 데이터를 프로세싱하는 또 다른 예시적인 방법의 각각의 플로우차트이다.
도 8은, 몇몇 실시형태에 따른, 클러스터를 프로세싱하는 예시적인 방법의 플로우차트이다.
도 9는, 몇몇 실시형태에 따른, 예시적인 방법을 예시하는 플로우차트이다.
도 10a 및 도 10b는, 몇몇 실시형태에 따른, 다른 예시적인 방법을 예시하는 각각의 플로우차트이다.
다양한 도면에서, 그리고 그들과 관련하여 묘사되는 엔티티, 연결, 배열, 및 등등은 제한이 아닌 예로서 제시된다. 그러한 만큼, 특정한 도면이 묘사하는 것, 특정한 도면의 특정한 엘리먼트 또는 엔티티가 무엇인지 또는 무엇을 갖는지에 대한 임의의 그리고 모든 진술 또는 다른 표시(indication), 및 분리되어 그리고 문맥을 벗어나 절대적인 것으로 따라서 제한적인 것으로 판독될 수도 있는 임의의 그리고 모든 진술은 "적어도 몇몇 실시형태에서, ...."와 같은 절이 구조적으로 선행되는 것으로만 적절하게 판독될 수도 있다. 표현의 간략화 및 명확화를 위해, 이 암시된 선행 절은 도면의 상세한 설명에서 지겨울 정도로 반복되지는 않는다.
이제, 예시적인 실시형태의 상세한 설명이 다양한 도면을 참조로 설명될 것이다. 비록 이 설명이 가능한 구현예의 상세한 예를 제공하지만, 세부 사항은 예시적인 것으로 의도된 것이며 본 출원의 범위를 어떤 식으로든 제한하도록 의도되는 것이 아니다는 것을 유의해야 한다.
이제 예시적인 실시형태의 구현을 위한 예시적인 네트워크가 설명될 것이다.
도 1a는 하나 이상의 개시된 실시형태가 구현될 수도 있는 예시적인 통신 시스템(100)을 예시하는 도면이다. 통신 시스템(100)은 음성, 데이터, 비디오, 메시징, 브로드캐스트(broadcast), 등등과 같은 콘텐츠를 다수의 무선 유저에게 제공하는 다중 액세스 시스템(multiple access system)일 수도 있다. 통신 시스템(100)은, 무선 대역폭을 비롯한 시스템 리소스의 공유를 통해 다수의 무선 유저가 이러한 콘텐츠에 액세스하는 것을 가능하게 할 수도 있다. 예를 들면, 통신 시스템(100)은, 코드 분할 다중 액세스(code division multiple access; CDMA), 시분할 다중 액세스(time division multiple access; TDMA), 주파수 분할 다중 액세스(frequency division multiple access; FDMA), 직교 FDMA (orthogonal FDMA; OFDMA), 싱글 캐리어 FDMA(single-carrier FDMA; SC-FDMA), 제로 테일 고유 워드 DFT 확산 OFDM(zero-tail unique-word DFT-Spread OFDM; ZT UW DTS-s OFDM), 고유 워드 OFDM(unique word OFDM; UW-OFDM), 리소스 블록 필터링 OFDM(resource block-filtered OFDM), 필터 뱅크 멀티캐리어(filter bank multicarrier; FBMC), 및 등등과 같은, 하나 이상의 채널 액세스 방법을 활용할 수도 있다.
도 1a에서 도시되는 바와 같이, 통신 시스템(100)은 무선 송수신 유닛(WTRU)(102a, 102b, 102c, 102d), RAN(104/113), CN(106/115), 공중 교환식 전화망(public switched telephone network; PSTN)(108), 인터넷(110), 및 다른 네트워크(112)를 포함할 수도 있지만, 개시된 실시형태는 임의의 수의 WTRU, 기지국(base station), 네트워크, 및/또는 네트워크 엘리먼트를 고려한다는 것이 인식될 것이다. WTRU(102a, 102b, 102c, 102d)의 각각은 무선 환경에서 동작하도록 및/또는 통신하도록 구성되는 임의의 타입의 디바이스일 수도 있다. 예로서, WTRU(102a, 102b, 102c, 102d)는, 이들 중 임의의 것이 "스테이션" 및/또는 "STA"로 칭해질 수도 있으며, 무선 신호를 송신 및/또는 수신하도록 구성될 수도 있고, 유저 기기(user equipment; UE), 이동국, 고정된 또는 이동식 가입자 유닛, 가입 기반 유닛, 페이저, 셀룰러 폰, 개인 휴대 정보 단말(personal digital assistant; PDA), 스마트 폰, 랩탑, 넷북, 퍼스널 컴퓨터, 무선 센서, 핫스팟 또는 Mi-Fi 디바이스, 사물 인터넷(Internet of Things; IoT) 디바이스, 워치 또는 다른 웨어러블, 헤드 마운트형 디스플레이(head-mounted display; HMD), 차량, 드론, 의료 디바이스 및 애플리케이션(예를 들면, 원격 수술), 산업 디바이스 및 애플리케이션(예를 들면, 로봇 및/또는 산업 및/또는 자동화된 프로세싱 체인 컨텍스트에서 동작하는 다른 무선 디바이스), 소비자 전자기기 디바이스, 상업 및/또는 산업용 무선 네트워크 상에서 동작하는 디바이스, 및 등등을 포함할 수도 있다. WTRU(102a, 102b, 102c 및 102d) 중 임의의 것은 UE로서 상호 교환 가능하게 칭해질 수도 있다.
통신 시스템(100)은 또한 기지국(114a) 및/또는 기지국(114b)을 포함할 수도 있다. 기지국(114a, 114b)의 각각은, CN(106/115), 인터넷(110), 및/또는 다른 네트워크(112)와 같은 하나 이상의 통신 네트워크에 대한 액세스를 용이하게 하기 위해 WTRU(102a, 102b, 102c, 102d) 중 적어도 하나와 무선으로 인터페이싱하도록 구성되는 임의의 타입의 디바이스일 수도 있다. 예로서, 기지국(114a, 114b)은 기지국 트랜스시버(base transceiver station; BTS), Node-B, eNode B, 홈 노드 B, 홈 eNode B, gNB, NR NodeB, 사이트 컨트롤러(site controller), 액세스 포인트(access point; AP), 무선 라우터, 및 등등일 수도 있다. 기지국(114a, 114b) 각각이 단일의 엘리먼트로서 묘사되지만, 기지국(114a, 114b)은 임의의 수의 인터커넥트된(interconnected) 기지국 및/또는 네트워크 엘리먼트를 포함할 수도 있다는 것이 인식될 것이다.
기지국(114a)은, 기지국 컨트롤러(base station controller; BSC), 무선 네트워크 컨트롤러(radio network controller; RNC), 중계 노드, 등등과 같은, 다른 기지국 및/또는 네트워크 엘리먼트(도시되지 않음)를 또한 포함할 수도 있는 RAN(104/113)의 일부일 수도 있다. 기지국(114a) 및/또는 기지국(114b)은, 셀(도시되지 않음)로서 칭해질 수도 있는 하나 이상의 캐리어 주파수 상에서 무선 신호를 송신하도록 및/또는 수신하도록 구성될 수도 있다. 이들 주파수는 허가 스펙트럼(licensed spectrum), 비허가 스펙트럼(unlicensed spectrum) 또는 허가 및 비허가 스펙트럼의 조합일 수도 있다. 셀은, 상대적으로 고정될 수도 있는 또는 시간에 걸쳐 변할 수도 있는 특정한 지리적 영역에 무선 서비스를 위한 커버리지를 제공할 수도 있다. 셀은 셀 섹터로 더 분할될 수도 있다. 예를 들면, 기지국(114a)과 관련되는 셀은 세 개의 섹터로 분할될 수도 있다. 따라서, 하나의 실시형태에서, 기지국(114a)은 세 개의 트랜스시버, 즉, 셀의 각각의 섹터에 대해 하나의 트랜스시버를 포함할 수도 있다. 한 실시형태에서, 기지국(114a)은 다중입력 다중출력(multiple-input multiple output; MIMO) 기술을 활용할 수도 있고, 따라서, 셀의 각각의 섹터에 대해 다수의 트랜스시버를 활용할 수도 있다. 예를 들면, 빔포밍은 소망되는 공간 방향으로 신호를 송신 및/또는 수신하기 위해 사용될 수도 있다.
기지국(114a, 114b)은, 임의의 적절한 무선 통신 링크(예를 들면, 무선 주파수(radio frequency; RF), 마이크로파, 센티미터파(centimeter wave), 마이크로미터파(micrometer wave), 적외선(infrared; IR), 자외선(ultraviolet; UV), 가시광, 등등)일 수도 있는 무선 인터페이스(air interface; 116)를 통해 WTRU(102a, 102b, 102c, 102d) 중 하나 이상과 통신할 수도 있다. 무선 인터페이스(116)는 임의의 적절한 무선 액세스 기술(radio access technology; RAT)을 사용하여 확립될 수도 있다.
더 구체적으로는, 상기에서 언급되는 바와 같이, 통신 시스템(100)은 다중 액세스 시스템일 수도 있고 CDMA, TDMA, FDMA, OFDMA, SC-FDMA, 및 등등과 같은 하나 이상의 채널 액세스 스킴을 활용할 수도 있다. 예를 들면, RAN(104/113) 내의 기지국(114a) 및 WTRU(102a, 102b, 102c)는, 광대역 CDMA(wideband CDMA; WCDMA)를 사용하여 무선 인터페이스(115/116/117)를 확립할 수도 있는, 범용 이동 통신 시스템(Universal Mobile Telecommunications System; UMTS) 지상 무선 액세스(Terrestrial Radio Access)(UTRA)와 같은 무선 기술을 구현할 수도 있다. WCDMA는 고속 패킷 액세스(High-Speed Packet Access; HSPA) 및/또는 진화형 HSPA(Evolved HSPA; HSPA+)와 같은 통신 프로토콜을 포함할 수도 있다. HSPA는 고속 다운링크(Downlink; DL) 패킷 액세스(High-Speed Downlink Packet Access; HSDPA) 및/또는 고속 UL 패킷 액세스(High-Speed UL Packet Access; HSUPA)를 포함할 수도 있다.
한 실시형태에서, 기지국(114a) 및 WTRU(102a, 102b, 102c)는, 롱 텀 에볼루션(Long Term Evolution; LTE) 및/또는 LTE 어드밴스드(LTE-Advanced; LTE-A) 및/또는 LTE 어드밴스드 프로(LTE-Advanced Pro; LTE-A Pro)를 사용하여 무선 인터페이스(116)를 확립할 수도 있는 진화형 UMTS 지상 무선 액세스(Evolved UMTS Terrestrial Radio Access; E-UTRA)와 같은 무선 기술을 구현할 수도 있다.
한 실시형태에서, 기지국(114a) 및 WTRU(102a, 102b, 102c)는 뉴 라디오(New Radio; NR)를 사용하여 무선 인터페이스(116)를 확립할 수도 있는 NR 무선 액세스와 같은 무선 기술을 구현할 수도 있다.
한 실시형태에서, 기지국(114a) 및 WTRU(102a, 102b, 102c)는 다수의 무선 액세스 기술을 구현할 수도 있다. 예를 들면, 기지국(114a) 및 WTRU(102a, 102b, 102c)는, 예를 들면, 이중 연결성(dual connectivity; DC) 원리를 사용하여 LTE 무선 액세스 및 NR 무선 액세스를 함께 구현할 수도 있다. 따라서, WTRU(102a, 102b, 102c)에 의해 활용되는 무선 인터페이스는, 다수의 타입의 기지국(예를 들면, eNB 및 gNB)으로/으로부터 전송되는 송신 및/또는 다수의 타입의 무선 액세스 기술에 의해 특성 묘사될 수도 있다.
다른 실시형태에서, 기지국(114a) 및 WTRU(102a, 102b, 102c)는, IEEE 802.11(즉, 무선 충신도(Wireless Fidelity; WiFi)), IEEE 802.16(즉, 와이맥스(Worldwide Interoperability for Microwave Access; WiMAX)), CDMA2000, CDMA2000 1X, CDMA2000 EV-DO, IS-2000(Interim Standard 2000), IS-95(Interim Standard 95), IS-856(Interim Standard 856), 이동 통신용 글로벌 시스템(Global System for Mobile communications; GSM), GSM 에볼루션을 위한 향상된 데이터 레이트(Enhanced Data rates for GSM Evolution; EDGE), GSM EDGE(GERAN), 및 등등과 같은 무선 기술을 구현할 수도 있다.
도 1a의 기지국(114b)은, 예를 들면, 무선 라우터, 홈 노드 B, 홈 eNode B, 또는 액세스 포인트일 수도 있고, 사업장, 가정, 차량, 캠퍼스, 산업 시설, 공중 전용 통로(air corridor)(예를 들면, 드론에 의해 사용됨), 도로(roadway), 및 등등의 장소와 같은 국소화된 영역에서 무선 연결성을 용이하게 하기 위해 임의의 적절한 RAT를 활용할 수도 있다. 하나의 실시형태에서, 기지국(114b) 및 WTRU(102c, 102d)는 무선 근거리 통신망(wireless local area network; WLAN)을 확립하기 위해 IEEE 802.11과 같은 무선 기술을 구현할 수도 있다. 다른 실시형태에서, 기지국(114b) 및 WTRU(102c, 102d)는 무선 사설 영역 네트워크(wireless personal area network; WPAN)를 확립하기 위해 IEEE 802.15와 같은 무선 기술을 구현할 수도 있다. 여전히 다른 실시형태에서, 기지국(114b) 및 WTRU(102c, 102d)는 피코셀 또는 펨토셀을 확립하기 위해 셀룰러 기반 RAT(예를 들면, WCDMA, CDMA2000, GSM, LTE, LTE-A, LTE-A 프로, NR , 등등)를 활용할 수도 있다. 도 1a에서 도시되는 바와 같이, 기지국(114b)은 인터넷(110)에 대한 직접 연결을 구비할 수도 있다. 따라서, 기지국(114b)은 CN(106/115)을 통해 인터넷(110)에 액세스할 필요가 없을 수도 있다.
RAN(104/113)은, WTRU(102a, 102b, 102c, 102d) 중 하나 이상으로 음성, 데이터, 애플리케이션, 및/또는 인터넷 전화 프로토콜(voice over internet protocol; VoIP) 서비스를 제공하도록 구성되는 임의의 타입의 네트워크일 수도 있는 CN(106/115)과 통신할 수도 있다. 데이터는 상이한 스루풋 요건, 레이턴시 요건, 에러 허용도 요건, 신뢰성 요건, 데이터 스루풋 요건, 이동성 요건, 및 등등과 같은 다양한 서비스 품질(Quality of Service; QoS) 요건을 가질 수도 있다. CN(106/115)은 호 제어(call control), 과금 서비스(billing service), 모바일 위치 기반 서비스, 선불 통화(pre-paid calling), 인터넷 연결성(Internet connectivity), 비디오 분배, 등등을 제공할 수도 있고, 및/또는 유저 인증과 같은 하이 레벨의 보안 기능을 수행할 수도 있다. 비록 도 1a에서 도시되지는 않지만, RAN(104/113) 및/또는 CN(106/115)은, RAN(104/113)과 동일한 RAT 또는 상이한 RAT를 활용하는 다른 RAN과 직접적으로 또는 간접적으로 통신할 수도 있다는 것이 인식될 것이다. 예를 들면, NR 무선 기술을 활용하고 있을 수도 있는 RAN(104/113)에 연결되는 것 이외에, CN(106/115)은 또한 GSM, UMTS, CDMA 2000, WiMAX, E-UTRA, 또는 WiFi 무선 기술을 활용하는 다른 RAN(도시되지 않음)과 통신할 수도 있다.
CN(106/115)은 WTRU(102a, 102b, 102c, 102d)가 PSTN(108), 인터넷(110), 및/또는 다른 네트워크(112)에 액세스하기 위한 게이트웨이로서 또한 기능할 수도 있다. PSTN(108)은, 기존 전화 서비스(plain old telephone service; POTS)를 제공하는 회선 교환식 전화 네트워크(circuit-switched telephone network)를 포함할 수도 있다. 인터넷(110)은, TCP/IP 인터넷 프로토콜 일군(suite)에서의 송신 제어 프로토콜(transmission control protocol; TCP), 유저 데이터그램 프로토콜(user datagram protocol; UDP) 및/또는 인터넷 프로토콜(internet protocol; IP)과 같은 일반적인 통신 프로토콜을 사용하는 인터커넥트된 컴퓨터 네트워크 및 디바이스의 글로벌 시스템을 포함할 수도 있다. 네트워크(112)는 다른 서비스 공급자에 의해 소유되는 및/또는 운영되는 유선 및/또는 무선 통신 네트워크를 포함할 수도 있다. 예를 들면, 네트워크(112)는, RAN(104/113)과 동일한 RAT 또는 상이한 RAT를 활용할 수도 있는 하나 이상의 RAN에 연결되는 다른 CN을 포함할 수도 있다.
통신 시스템(102d)에서의 WTRU(102a, 102b, 102c, 102d) 중 몇몇 또는 전체는 멀티 모드 성능을 포함할 수도 있다(예를 들면, WTRU(102a, 102b, 102c, 100)는 상이한 무선 링크를 통해 상이한 무선 네트워크와 통신하기 위한 다수의 트랜스시버를 포함할 수도 있다). 예를 들면, 도 1a에서 도시되는 WTRU(102c)는, 셀룰러 기반 무선 기술을 활용할 수도 있는 기지국(114a)과, 그리고 IEEE 802 무선 기술을 활용할 수도 있는 기지국(114b)과 통신하도록 구성될 수도 있다.
도 1b는 예시적인 WTRU(102)의 시스템 도면이다. 도 1b에서 도시되는 바와 같이, WTRU(102)는, 다른 것들 중에서도, 프로세서(118), 트랜스시버(120), 송신/수신 엘리먼트(122), 스피커/마이크(124), 키패드(126), 디스플레이/터치패드(128), 비착탈식 메모리(130), 착탈식 메모리(132), 전원(134), 전지구 위치 결정 시스템(global positioning system; GPS) 칩셋(136), 및/또는 다른 주변장치(138)를 포함할 수도 있다. WTRU(102)는 한 실시형태와 여전히 부합하면서 전술한 엘리먼트의 임의의 부조합을 포함할 수도 있다는 것이 인식될 것이다.
프로세서(118)는 범용 프로세서, 특수 목적의 프로세서, 종래의 프로세서, 디지털 신호 프로세서(digital signal processor; DSP), 복수의 마이크로프로세서, DSP 코어와 관련하는 하나 이상의 마이크로프로세서, 컨트롤러, 마이크로컨트롤러, 주문형 집적 회로(Application Specific Integrated Circuit; ASIC), 필드 프로그래머블 게이트 어레이(Field Programmable Gate Array; FPGA) 회로, 임의의 다른 타입의 집적 회로(integrated circuit; IC), 상태 머신, 및 등등일 수도 있다. 프로세서(118)는 신호 코딩, 데이터 프로세싱, 전력 제어, 입력/출력 프로세싱, 및/또는 WTRU(102)가 무선 환경에서 동작하는 것을 가능하게 하는 임의의 다른 기능성(functionality)을 수행할 수도 있다. 프로세서(118)는, 송신/수신 엘리먼트(122)에 커플링될 수도 있는 트랜스시버(120)에 커플링될 수도 있다. 도 1b가 프로세서(118) 및 트랜스시버(118)를 별개의 컴포넌트로서 묘사하지만, 프로세서(120) 및 트랜스시버(120)는 전자적 패키지 또는 칩에 함께 집적될 수도 있다는 것이 인식될 것이다.
송신/수신 엘리먼트(122)는 무선 인터페이스(116)를 통해 기지국(예를 들면, 기지국(114a))으로 신호를 송신하도록, 또는 그 기지국으로부터 신호를 수신하도록 구성될 수도 있다. 예를 들면, 하나의 실시형태에서, 송신/수신 엘리먼트(122)는 RF 신호를 송신하도록 및/또는 수신하도록 구성되는 안테나일 수도 있다. 다른 실시형태에서, 송신/수신 엘리먼트(122)는, 예를 들면, IR, UV, 또는 가시광 신호를 송신 및/또는 수신하도록 구성되는 방출기(emitter)/검출기(detector)일 수도 있다. 또 다른 실시형태에서, 송신/수신 엘리먼트(122)는 RF 및 광 신호 둘 모두를 송신 및/또는 수신하도록 구성될 수도 있다. 송신/수신 엘리먼트(122)는 무선 신호의 임의의 조합을 송신하도록 및/또는 수신하도록 구성될 수도 있다는 것이 인식될 것이다.
비록 송신/수신 엘리먼트(122)가 도 1b에서 단일의 엘리먼트로서 묘사되지만, WTRU(122)는 임의의 수의 송신/수신 엘리먼트(102)를 포함할 수도 있다. 더 구체적으로는, WTRU(102)는 MIMO 기술을 활용할 수도 있다. 따라서, 하나의 실시형태에서, WTRU(102)는, 무선 인터페이스(116)를 통해 무선 신호를 송신 및 수신하기 위한 두 개 이상의 송신/수신 엘리먼트(122)(예를 들면, 다수의 안테나)를 포함할 수도 있다.
트랜스시버(120)는, 송신/수신 엘리먼트(122)에 의해 송신될 신호를 변조하도록 그리고 송신/수신 엘리먼트(122)에 의해 수신되는 신호를 복조하도록 구성될 수도 있다. 상기에서 언급되는 바와 같이, WTRU(102)는 멀티 모드 성능을 가질 수도 있다. 따라서, 트랜스시버(120)는, WTRU(102)가, 예를 들면, NR 및 IEEE 802.11과 같은 다수의 RAT를 통해 통신하는 것을 가능하게 하기 위한 다수의 트랜스시버를 포함할 수도 있다.
WTRU(102)의 프로세서(118)는, 스피커/마이크(124), 키패드(126), 및/또는 디스플레이/터치패드(128)(예를 들면, 액정 디스플레이(liquid crystal display; LCD) 디스플레이 유닛 또는 유기 발광 다이오드(organic light-emitting diode; OLED) 디스플레이 유닛)에 커플링될 수도 있고, 그리고 이들로부터 유저 입력 데이터를 수신할 수도 있다. 프로세서(118)는 유저 데이터를 스피커/마이크(124), 키패드(126), 및/또는 디스플레이/터치패드(128)로 또한 출력할 수도 있다. 또한, 프로세서(118)는, 비착탈식 메모리(130) 및/또는 착탈식 메모리(132)와 같은 임의의 타입의 적절한 메모리로의 정보에 액세스할 수도 있고, 그리고 그 임의의 타입의 적절한 메모리에 데이터를 저장할 수도 있다. 비착탈식 메모리(130)는 랜덤 액세스 메모리(random-access memory; RAM), 리드 온리 메모리(read-only memory; ROM), 하드디스크, 또는 임의의 다른 타입의 메모리 저장 디바이스를 포함할 수도 있다. 착탈식 메모리(132)는 가입자 식별 모듈(subscriber identity module; SIM) 카드, 메모리 스틱, 시큐어 디지털(secure digital; SD) 메모리 카드, 및 등등을 포함할 수도 있다. 다른 실시형태에서, 프로세서(118)는, WTRU(102) 상에 물리적으로 위치되지 않는 메모리, 예컨대 서버 또는 가정용 컴퓨터(도시되지 않음) 상의 메모리의 정보에 액세스할 수도 있고, 그리고 그 메모리에 데이터를 저장할 수도 있다.
프로세서(118)는 전원(134)으로부터 전력을 수신할 수도 있고, WTRU(102)의 다른 컴포넌트로 전력을 분배하도록 및/또는 그 전력을 제어하도록 구성될 수도 있다. 전원(134)은 WTRU(102)에 전력을 공급하기 위한 임의의 적절한 디바이스일 수도 있다. 예를 들면, 전원(134)은 하나 이상의 드라이 셀 배터리(예를 들면, 니켈 카드뮴(NiCd), 니켈 아연(NiZn), 니켈 금속 수소(NiMH), 리튬 이온(Li ion), 등등), 솔라 셀, 연료 전지, 및 등등을 포함할 수도 있다.
프로세서(118)는, WTRU(102)의 현재 위치에 관한 위치 정보(예를 들면, 경도 및 위도)를 제공하도록 구성될 수도 있는 GPS 칩셋(136)에 또한 커플링될 수도 있다. 또한, GPS 칩셋(136)으로부터의 정보 외에, 또는 그 정보 대신, WTRU(102)는 무선 인터페이스(116)를 통해 기지국(예를 들면, 기지국(114a, 114b))으로부터 위치 정보를 수신할 수도 있고 및/또는 두 개 이상의 인근의 기지국으로부터 수신되고 있는 신호의 타이밍에 기초하여 자신의 위치를 결정할 수도 있다. WTRU(102)는 한 실시형태와 여전히 부합하면서 임의의 적절한 위치 결정 방법을 통해 위치 정보를 획득할 수도 있다는 것이 인식될 것이다.
프로세서(118)는 또한, 추가적인 피쳐, 기능성, 및/또는 유선 또는 무선 연결성을 제공하는 하나 이상의 소프트웨어 및/또는 하드웨어 모듈을 포함할 수도 있는 다른 주변장치(138)에 커플링될 수도 있다. 예를 들면, 주변장치(138)는 가속도계, 전자 콤파스, 위성 트랜스시버, (사진 및/또는 비디오용의) 디지털 카메라, 범용 직렬 버스(universal serial bus; USB) 포트, 진동 디바이스, 텔레비전 트랜스시버, 핸즈프리 헤드셋, Bluetooth® 모듈, 주파수 변조(frequency modulated; FM) 무선 유닛, 디지털 뮤직 플레이어, 미디어 플레이어, 비디오 게임 플레이어 모듈, 인터넷 브라우저, 가상 현실(Virtual Reality) 및/또는 증강 현실(Augmented Reality)(VR/AR) 디바이스, 활동 추적기(activity tracker), 및 등등을 포함할 수도 있다. 주변장치(138)는 하나 이상의 센서를 포함할 수도 있고, 센서는 자이로스코프, 가속도계, 홀 효과 센서(hall effect sensor), 자력계, 방위 센서, 근접 센서, 온도 센서, 시간 센서; 지오로케이션 센서; 고도계, 광 센서, 터치 센서, 자력계, 기압계, 제스쳐 센서, 생체 인식 센서, 및/또는 습도 센서 중 하나 이상일 수도 있다.
WTRU(102)는, (예를 들면, (예를 들면, 송신을 위한) UL 및 (예를 들면, 수신을 위한) 다운링크 둘 모두에 대한 특정한 서브프레임과 관련되는) 신호 중 일부 또는 전체의 송신 및 수신이 동시 발생적일 수도 있고 및/또는 동시적일 수도 있는 전이중 무선부(full duplex radio)를 포함할 수도 있다. 전이중 무선은, 프로세서(예를 들면, 별개의 프로세서(도시되지 않음) 또는 프로세서(118)를 통한)를 통한 신호 프로세싱 또는 하드웨어(예를 들면, 초크) 중 어느 하나를 통해 자체 간섭(self-interference)을 감소시키기 위한 및 또는 실질적으로 제거하기 위한 간섭 관리 유닛을 포함할 수도 있다. 한 실시형태에서, WRTU(102)는 반이중 무선(half-duplex radio)을 포함할 수도 있는데, 반이중 무선의 경우, (예를 들면, (예를 들면, 송신을 위한) UL 또는 (예를 들면, 수신을 위한) 다운링크 중 어느 하나에 대한 특정한 서브프레임과 관련되는) 신호의 일부 또는 모두의 송신 및 수신.
도 1c는 한 실시형태에 따른 RAN(104) 및 CN(106)을 예시하는 시스템 도면이다. 상기에서 언급되는 바와 같이, RAN(104)은 무선 인터페이스(116)를 통해 WTRU(102a, 102b, 102c)와 통신하기 위해 E-UTRA 무선 기술을 활용할 수도 있다. RAN(104)은 또한 CN(106)과 통신할 수도 있다.
RAN(104)은 eNode-B(160a, 160b, 160c)를 포함할 수도 있지만, RAN(104)은 한 실시형태와 여전히 부합하면서 임의의 수의 eNode-B를 포함할 수도 있다는 것이 인식될 것이다. eNode-B(160a, 160b, 160c) 각각은 무선 인터페이스(116)를 통해 WTRU(102a, 102b, 102c)와 통신하기 위한 하나 이상의 트랜스시버를 포함할 수도 있다. 하나의 실시형태에서, eNode-B(160a, 160b, 160c)는 MIMO 기술을 구현할 수도 있다. 따라서, eNode-B(160a)는, 예를 들면, WTRU(102a)로 무선 신호를 송신하기 위해, 및/또는 WTRU(102a)로부터 무선 신호를 수신하기 위해 다수의 안테나를 사용할 수도 있다.
eNode-B(160a, 160b, 160c)의 각각은 특정한 셀(도시되지 않음)과 관련될 수도 있고 무선 리소스 관리 결정, 핸드오버 결정, UL 및/또는 DL에서의 유저의 스케줄링, 및 등등을 핸들링하도록 구성될 수도 있다. 도 1c에서 도시되는 바와 같이, eNode-B(160a, 160b, 160c)는 X2 인터페이스를 통해 서로 통신할 수도 있다.
도 1c에서 도시되는 CN(106)은 이동성 관리 엔티티(mobility management entity; MME)(162), 서빙 게이트웨이(serving gateway; SGW)(164), 및 패킷 데이터 네트워크(packet data network; PDN) 게이트웨이(PDN gateway)(또는 PGW)(166)를 포함할 수도 있다. 전술한 엘리먼트의 각각은 CN(106)의 일부로서 묘사되지만, 이들 엘리먼트 중 임의의 것은 CN 오퍼레이터 이외의 엔티티에 의해 소유될 수도 있고 및/또는 운영될 수도 있다는 것이 인식될 것이다.
MME(162)는 S1 인터페이스를 통해 RAN(104) 내의 eNode-B(162a, 162b, 162c)의 각각에 연결될 수도 있고 제어 노드로서 기능할 수도 있다. 예를 들면, MME(162)는 WTRU(102a, 102b, 102c)의 유저를 인증하는 것, 베어러 활성화/비활성화, WTRU(102a, 102b, 102c)의 초기 접속 동안 특정한 서빙 게이트웨이를 선택하는 것, 및 등등을 담당할 수도 있다. MME(162)는, GSM 및/또는 WCDMA와 같은 다른 무선 기술을 활용하는 다른 RAN(도시되지 않음)과 RAN(104) 사이를 스위칭하기 위한 제어 평면 기능(control plane function)을 또한 제공할 수도 있다.
SGW(164)는 S1 인터페이스를 통해 RAN(104) 내의 eNodeB(160a, 160b, 160c)의 각각에 연결될 수도 있다. SGW(164)는 일반적으로 WTRU(102a, 102b, 102c)로/로부터 유저 데이터 패킷을 라우팅 및 포워딩할 수도 있다. SGW(164)는 다른 기능, 예컨대 eNode B간 핸드오버(inter-eNode B handover) 동안 유저 평면을 앵커링하는 것, DL 데이터가 WTRU(102a, 102b, 102c)에 대해 이용 가능할 때 페이징을 트리거하는 것, WTRU(102a, 102b, 102c)의 컨텍스트를 관리 및 저장하는 것, 및 등등을 수행할 수도 있다.
SGW(164)는, WTRU(102a, 102b, 102c)와 IP 대응 디바이스(IP-enabled device) 사이의 통신을 용이하게 하기 위해, 패킷 교환식 네트워크, 예컨대 인터넷(110)에 대한 액세스를 WTRU(102a, 102b, 102c)에게 제공할 수도 있는 PGW(166)에 연결될 수도 있다.
CN(106)은 다른 네트워크와의 통신을 용이하게 할 수도 있다. 예를 들면, CN(106)은, WTRU(102a, 102b, 102c)와 전통적인 지상 회선 통신 디바이스 사이의 통신을 용이하게 하기 위해, PSTN(108)과 같은 회선 교환식 네트워크에 대한 액세스를 WTRU(102a, 102b, 102c)에게 제공할 수도 있다. 예를 들면, CN(106)은 CN(106)과 PSTN(108) 사이의 인터페이스로서 기능하는 IP 게이트웨이(예를 들면, IP 멀티미디어 서브시스템(IMS) 서버)를 포함할 수도 있거나, 또는 그들과 통신할 수도 있다. 또한, CN(106)은, 다른 서비스 공급자에 의해 소유되는 및/또는 운영되는 다른 유선 및/또는 무선 네트워크를 포함할 수도 있는 다른 네트워크(112)에 대한 액세스를 WTRU(102a, 102b, 102c)에게 제공할 수도 있다.
비록 WTRU가 무선 단말로서 도 1a 내지 도 1d에서 설명되지만, 소정의 대표적인 실시형태에서는, 그러한 단말이 통신 네트워크와의 유선 통신 인터페이스를 (예를 들면, 일시적으로 또는 영구적으로) 사용할 수도 있다는 것이 고려된다.
대표적인 실시형태에서, 다른 네트워크(112)는 WLAN일 수도 있다.
인프라(infrastructure) 기본 서비스 세트(basic service set; BSS) 모드의 WLAN은, BSS에 대한 액세스 포인트(AP) 및 AP와 관련되는 하나 이상의 스테이션(STA)을 구비할 수도 있다. AP는, 분배 시스템(distribution system; DS) 또는 BSS 안으로 및/또는 밖으로 트래픽을 반송하는(carry) 다른 타입의 유선/무선 네트워크에 액세스할 수도 있거나 또는 그들에 대한 인터페이스를 구비할 수도 있다. BSS 외부에서 시작하는 STA로의 트래픽은 AP를 통해 도달할 수도 있고 STA로 전달될 수도 있다. STA로부터 시작하여 BSS 외부의 목적지로 향하는 트래픽은 AP로 전송되어 각각의 목적지로 전달될 수도 있다. BSS 내의 STA 사이의 트래픽은 AP를 통해 전송될 수도 있는데, 예를 들면, 이 경우, 소스 STA는 트래픽을 AP로 전송할 수도 있고 AP는 그 트래픽을 목적지 STA로 전달할 수도 있다. BSS 내의 STA 사이의 트래픽은 피어 투 피어(peer-to-peer) 트래픽으로 간주될 수도 있고 및/또는 칭해질 수도 있다. 피어 투 피어 트래픽은 직접 링크 셋업(direct link setup; DLS)을 통해 소스 STA와 목적지 STA 사이에서(예를 들면, 그들 사이에서 직접적으로) 전송될 수도 있다. 소정의 대표적인 실시형태에서, DLS는 802.11e DLS 또는 802.11z 터널링 DLS(tunneled DLS; TDLS)를 사용할 수도 있다. 독립 BSS(Independent BSS; IBSS) 모드를 사용하는 WLAN은 AP를 구비하지 않을 수도 있고, IBSS 내의 또는 IBSS를 사용하는 STA(예를 들면, 모든 STA)는 서로 직접적으로 통신할 수도 있다. IBSS 통신 모드는 때로는 본원에서 "애드혹(ad-hoc)" 통신 모드로 칭해질 수도 있다.
802.11ac 인프라 동작 모드 또는 유사한 동작 모드를 사용하는 경우, AP는 주 채널과 같은 고정 채널 상에서 비콘을 송신할 수도 있다. 주 채널은 고정 폭(예를 들면, 20 MHz 폭의 대역폭) 또는 시그널링을 통한 동적으로 설정되는 폭일 수도 있다. 주 채널은 BSS의 동작 채널일 수도 있고 AP와의 연결을 확립하기 위해 STA에 의해 사용될 수도 있다. 소정의 대표적인 실시형태에서, 충돌 방지를 갖는 캐리어 감지 다중 액세스(Carrier Sense Multiple Access with Collision Avoidance; CSMA/CA)는, 예를 들면, 802.11 시스템에서 구현될 수도 있다. CSMA/CA의 경우, AP를 비롯한 STA(예를 들면, 모든 STA)는 주 채널을 감지할 수도 있다. 주 채널이 특정한 STA에 의해 감지/검출되고 및/또는 사용 중인 것으로 결정되면, 특정한 STA는 백 오프될 수도 있다. 하나의 STA(예를 들면, 단지 하나의 스테이션)는 주어진 BSS에서 임의의 주어진 시간에 송신할 수도 있다.
하이 스루풋(High Throughput; HT) STA는, 예를 들면, 40 MHz 폭의 채널을 형성할 20 MHz 주 채널과 인접 또는 비인접 20 MHz 채널의 조합을 통해, 통신을 위해 40 MHz 폭의 채널을 사용할 수도 있다.
매우 높은 스루풋(Very High Throughput; VHT) STA는 20 MHz, 40 MHz, 80 MHz, 및/또는 160 MHz 폭의 채널을 지원할 수도 있다. 40 MHz, 및/또는 80 MHz 채널은, 예를 들면, 연속하는 20 MHz 채널을 결합하는 것에 의해 형성될 수도 있다. 8 개의 인접한 20 MHz 채널을 결합하는 것에 의해, 또는 두 개의 비인접 80 MHz 채널을 결합하는 것에 의해 160 MHz 채널이 형성될 수도 있는데, 두 개의 비인접 80 MHz 채널을 결합하는 것은, 80 + 80 구성으로 칭해질 수도 있다. 80 + 80 구성의 경우, 데이터는, 채널 인코딩 이후, 그 데이터를 두 개의 스트림으로 분할할 수도 있는 세그먼트 파서(segment parser)를 통과할 수도 있다. 역 고속 푸리에 변환(Inverse fast Fourier transform; IFFT) 프로세싱, 및 시간 도메인 프로세싱은, 각각의 스트림 상에서 개별적으로 행해질 수도 있다. 스트림은 두 개의 80 MHz 채널 상으로 매핑될 수도 있고, 데이터는 STA를 송신하는 것에 의해 송신될 수도 있다. 수신 STA의 수신기에서, 80 + 80 구성에 대한 상기에서 설명된 동작은 반대로 될 수도 있고, 결합된 데이터는 매체 액세스 제어(Medium Access Control; MAC)로 전송될 수도 있다.
1 GHz 미만(sub 1 GHz)의 동작 모드는 802.11af 및/또는 802.11ah에 의해 지원된다. 채널 동작 대역폭 및 캐리어는, 802.11n 및 802.11ac에서 사용되는 것들에 비해, 802.11af 및 802.11ah에서 감소된다. 802.11af는 TV 화이트 스페이스(TV white space; TVWS) 스펙트럼에서 5 MHz, 10 MHz 및 20 MHz 대역폭을 지원하고, 802.11ah는 비TVWS(non-TVWS) 스펙트럼을 사용하여 1 MHz, 2 MHz, 4 MHz, 8 MHz, 및 16 MHz 대역폭을 지원한다. 대표적인 실시형태에 따르면, 802.11ah는, 매크로 커버리지 영역에서의 MTC 디바이스와 같은, 미터 타입 제어(Meter Type Control)/머신 타입 통신(Machine-Type Communication)을 지원할 수도 있다. MTC 디바이스는 소정의 성능, 예를 들면, 소정의 및/또는 제한된 대역폭에 대한 지원을 포함하는(예를 들면, 그 지원만을 포함하는) 제한된 성능을 가질 수도 있다. MTC 디바이스는, (예를 들면, 아주 긴 배터리 수명을 유지하기 위해) 임계치를 초과하는 배터리 수명을 갖는 배터리를 포함할 수도 있다.
802.11n, 802.11ac, 802.11af, 및 802.11ah와 같은, 다수의 채널 및 채널 대역폭을 지원할 수도 있는 WLAN 시스템은, 주 채널로 지정될 수도 있는 채널을 포함한다. 주 채널은, 예를 들면, BSS 내의 모든 STA에 의해 지원되는 가장 큰 공통 동작 대역폭과 동일한 대역폭을 가질 수도 있다. 주 채널의 대역폭은, BSS에서 동작하는 모든 STA 중에서, 가장 작은 대역폭 동작 모드를 지원하는 STA에 의해 설정 및/또는 제한될 수도 있다. 802.11ah의 예에서, 심지어 AP, 및 BSS 내의 다른 STA가 2 MHz, 4 MHz, 8 MHz, 16 MHz, 및/또는 다른 채널 대역폭 동작 모드를 지원하는 경우에도, 1 MHz 모드를 지원하는(예를 들면, 1 MHz 모드만을 지원하는) STA(예를 들면, MTC 타입 디바이스)의 경우, 주 채널은 1 MHz 폭일 수도 있다. 캐리어 감지 및/또는 네트워크 할당 벡터(Network Allocation Vector; NAV) 설정은, 주 채널의 상태에 의존할 수도 있다. 주 채널이 사용 중인 경우, 예를 들면, STA(이것은 1 MHz 동작 모드만을 지원함)가 AP로 송신하는 것에 기인하여, 전체 이용 가능한 주파수 대역은, 대부분의 주파수 대역이 아이들 상태로 남아 있고 이용 가능할 수도 있더라도, 사용 중인 것으로 간주될 수도 있다.
미국에서, 802.11ah에 의해 사용될 수도 있는 이용 가능한 주파수 대역은 902 MHz 내지 928 MHz이다. 한국에서는, 이용 가능한 주파수 대역은 917.5 MHz에서부터 923.5 MHz까지이다. 일본에서는, 이용 가능한 주파수 대역은 916.5 MHz에서부터 927.5 MHz까지이다. 802.11ah에 대해 이용 가능한 총 대역폭은 국가 코드에 따라 6 MHz 내지 26 MHz이다.
도 1d는 한 실시형태에 따른 RAN(113) 및 CN(115)을 예시하는 시스템 도면이다. 상기에서 언급되는 바와 같이, RAN(113)은 무선 인터페이스(116)를 통해 WTRU(102a, 102b, 102c)와 통신하기 위해 NR 무선 기술을 활용할 수도 있다. RAN(113)은 또한 CN(115)과 통신할 수도 있다.
RAN(113)은 gNB(180a, 180b, 180c)를 포함할 수도 있지만, RAN(113)은 한 실시형태와 여전히 부합하면서 임의의 수의 gNB를 포함할 수도 있다는 것이 인식될 것이다. gNB(180a, 180b, 180c) 각각은 무선 인터페이스(116)를 통해 WTRU(102a, 102b, 102c)와 통신하기 위한 하나 이상의 트랜스시버를 포함할 수도 있다. 하나의 실시형태에서, gNB(180a, 180b, 180c)는 MIMO 기술을 구현할 수도 있다. 예를 들면, gNB(180a, 108b)는 gNB(180a, 180b, 180c)로 신호를 송신하기 위해 및/또는 gNB(180a, 180b, 180c)로부터 신호를 수신하기 위해 빔포밍을 활용할 수도 있다. 따라서, gNB(180a)는, 예를 들면, WTRU(102a)로 무선 신호를 송신하기 위해, 및/또는 WTRU(102a)로부터 무선 신호를 수신하기 위해 다수의 안테나를 사용할 수도 있다. 한 실시형태에서, gNB(180a, 180b, 180c)는 캐리어 애그리게이션 기술(carrier aggregation technology)을 구현할 수도 있다. 예를 들면, gNB(180a)는 다수의 컴포넌트 캐리어를 WTRU(102a)(도시되지 않음)로 송신할 수도 있다. 이들 컴포넌트 캐리어의 서브세트는 비허가 스펙트럼 상에 존재할 수도 있고, 나머지 컴포넌트 캐리어는 허가 스펙트럼 상에 있을 수도 있다. 한 실시형태에서, gNB(180a, 180b, 180c)는 다지점 협력(Coordinated Multi-Point; CoMP) 기술을 구현할 수도 있다. 예를 들면, WTRU(102a)는 gNB(180a) 및 gNB(180b)(및/또는 gNB(180c))로부터 조정된 송신(coordinated transmission)을 수신할 수도 있다.
WTRU(102a, 102b, 102c)는 스케일러블 뉴머롤로지(scalable numerology)와 관련되는 송신을 사용하여 gNB(180a, 180b, 180c)와 통신할 수도 있다. 예를 들면, OFDM 심볼 간격 및/또는 OFDM 서브캐리어 간격은, 상이한 송신, 상이한 셀, 및/또는 무선 송신 스펙트럼의 상이한 부분에 대해 변할 수도 있다. WTRU(102a, 102b, 102c)는 (예를 들면, 다양한 수의 OFDM 심볼을 포함하는 및/또는 다양한 길이의 절대 시간을 지속시키는) 다양한 또는 확장 가능한 길이의 서브프레임 또는 송신 시간 간격(transmission time interval; TTI)을 사용하여 gNB(180a, 180b, 180c)와 통신할 수도 있다.
gNB(180a, 180b, 180c)는 독립형 구성 및/또는 비표준 구성으로 WTRU(102a, 102b, 102c)와 통신하도록 구성될 수도 있다. 독립형 구성에서, WTRU(예컨대, 102a, 102b, 102c)는 (예를 들면, eNode-Bs(160a, 160b, 160c)와 같은) 다른 RAN에 또한 액세스하지 않으면서 gNB(180a, 180b, 180c)와 통신할 수도 있다. 독립형 구성에서, WTRU(102a, 102b, 102c)는 gNB(180a, 180b, 180c) 중 하나 이상을 이동성 앵커 포인트로서 활용할 수도 있다. 독립형 구성에서, WTRU(102a, 102b, 102c)는 비허가 대역의 신호를 사용하여 gNB(180a, 180b, 180c)와 통신할 수도 있다. 비독립형 구성에서, WTRU(102a, 102b, 102c)는 eNode-Bs(160a, 160b, 160c)와 같은 다른 RAN과 또한 통신/연결하면서 gNB(180a, 180b, 180c)와 통신/연결될 수도 있다. 예를 들면, WTRU(102a, 102b, 102c)는 실질적으로 동시에 하나 이상의 gNB(180a, 180b, 180c) 및 하나 이상의 eNode-B(160a, 160b, 160c)와 통신하기 위해 DC 원리를 구현할 수도 있다. 비독립형 구성에서, eNode-B(160a, 160b, 160c)는 WTRU(102a, 102b, 102c)에 대한 이동성 앵커로서 기능할 수도 있고 gNB(180a, 180b, 180c)는 WTRU(102a, 102b, 102c)를 서빙하기 위한 추가적인 커버리지 및/또는 스루풋을 제공할 수도 있다.
gNB(180a, 180b, 180c)의 각각은 특정한 셀(도시되지 않음)과 관련될 수도 있고, 무선 리소스 관리 결정, 핸드오버 결정, UL 및/또는 DL에서의 유저의 스케줄링, 네트워크 슬라이싱의 지원, 이중 연결성, NR과 E-UTRA 사이의 상호연동, 유저 평면 기능(User Plane Function; UPF))(184a, 184b)을 향하는 유저 평면 데이터의 라우팅, 액세스 및 이동성 관리 기능(Access and Mobility Management Function; AMF)(182a, 182b)을 향하는 제어 평면 정보의 라우팅, 및 등등을 핸들링하도록 구성될 수도 있다. 도 1d에서 도시되는 바와 같이, gNB(180a, 180b, 180c)는 Xn 인터페이스를 통해 서로 통신할 수도 있다.
도 1d에서 도시되는 CN(115)은 적어도 하나의 AMF(182a, 182b), 적어도 하나의 UPF(184a, 184b), 적어도 하나의 세션 관리 기능(Session Management Function; SMF)(183a, 183b), 및 어쩌면 데이터 네트워크(Data Network; DN)(185a, 185b)를 포함할 수도 있다. 전술한 엘리먼트의 각각은 CN(115)의 일부로서 묘사되지만, 이들 엘리먼트 중 임의의 것은 CN 오퍼레이터 이외의 엔티티에 의해 소유될 수도 있고 및/또는 운영될 수도 있다는 것이 인식될 것이다.
AMF(182a, 182b)는 N2 인터페이스를 통해 RAN(113) 내의 gNB(180a, 180b, 180c) 중 하나 이상에 연결될 수도 있고 제어 노드로서 기능할 수도 있다. 예를 들면, AMF(182a, 182b)는, WTRU(102a, 102b, 102c)의 유저를 인증하는 것, 네트워크 슬라이싱에 대한 지원(예를 들면, 상이한 요건을 갖는 상이한 PDU 세션의 핸들링), 특정한 SMF(183a, 183b)의 선택, 등록 영역의 관리, NAS 시그널링의 종료, 이동성 관리, 및 등등을 담당할 수도 있다. WTRU(102a, 102b, 102c)에 활용되고 있는 서비스의 타입에 기초하여 WTRU(102a, 102b, 102c)에 대한 CN 지원을 커스터마이징하기 위해 네트워크 슬라이싱이 AMF(182a, 182b)에 의해 사용될 수도 있다. 예를 들면, 상이한 네트워크 슬라이스는, 초 신뢰 가능 저 레이턴시(ultra-reliable low latency; URLLC) 액세스에 의존하는 서비스, 향상된 대규모 모바일 브로드밴드(enhanced massive mobile broadband; eMBB) 액세스에 의존하는 서비스, 머신 타입 통신(machine type communication; MTC) 액세스를 위한 서비스, 및/또는 등등과 같은 상이한 사용 사례에 대해 확립될 수도 있다. AMF(162)는, LTE, LTE-A, LTE-A Pro, 및/또는 비3GPP 액세스 기술 예컨대 WiFi와 같은 다른 무선 기술을 활용하는 다른 RAN(도시되지 않음)과 RAN(113) 사이에서 스위칭하기 위한 제어 평면 기능을 제공할 수도 있다.
SMF(183a, 183b)는 N11 인터페이스를 통해 CN(115) 내의 AMF(182a, 182b)에 연결될 수도 있다. SMF(183a, 183b)는 또한 N4 인터페이스를 통해 CN(115) 내의 UPF(184a, 184b)에 연결될 수도 있다. SMF(183a, 183b)는 UPF(184a, 184b)를 선택 및 제어할 수도 있고 UPF(184a, 184b)를 통한 트래픽의 라우팅을 구성할 수도 있다. SMF(183a, 183b)는 다른 기능, 예컨대 UE IP 어드레스를 관리 및 할당하는 것, PDU 세션을 관리하는 것, 정책 시행 및 QoS를 제어하는 것, 다운링크 데이터 통지를 제공하는 것, 및 등등을 수행할 수도 있다. PDU 세션 타입은 IP 기반, 비IP 기반, 이더넷 기반, 및 등등일 수도 있다.
UPF(184a, 184b)는, WTRU(102a, 102b, 102c)와 IP 대응 디바이스 사이의 통신을 용이하게 하기 위해, 패킷 교환식 네트워크, 예컨대 인터넷(110)에 대한 액세스를 WTRU(102a, 102b, 102c)에게 제공할 수도 있는, RAN(113) 내의 gNB(180a, 180b, 180c) 중 하나 이상에 N3 인터페이스를 통해 연결될 수도 있다. UPF(184, 184b)는 패킷의 라우팅 및 포워딩, 유저 평면 정책의 시행, 멀티 홈 PDU 세션(multi-homed PDU session)의 지원, 유저 평면 QoS의 핸들링, 다운링크 패킷의 버퍼링, 이동성 앵커링의 제공, 및 등등과 같은 다른 기능을 수행할 수도 있다.
CN(115)은 다른 네트워크와의 통신을 용이하게 할 수도 있다. 예를 들면, CN(115)은, CN(115)과 PSTN(108) 사이의 인터페이스로서 기능하는 IP 게이트웨이(예를 들면, IP 멀티미디어 서브시스템(IP multimedia subsystem; IMS) 서버)를 포함할 수도 있거나, 또는 그것과 통신할 수도 있다. 또한, CN(115)은, 다른 서비스 공급자에 의해 소유되는 및/또는 운영되는 다른 유선 및/또는 무선 네트워크를 포함할 수도 있는 다른 네트워크(112)에 대한 액세스를 WTRU(102a, 102b, 102c)에게 제공할 수도 있다. 하나의 실시형태에서, WTRU(102a, 102b, 102c)는, UPF(184a, 184b)에 대한 N3 인터페이스 및 UPF(184a, 184b)와 DN(185a, 185b) 사이의 N6 인터페이스를 통해 UPF(184a, 184b)를 통해 로컬 데이터 네트워크(DN)(185a, 185b)에 연결될 수도 있다.
도 1a 내지 도 1d, 및 도 1a 내지 도 1d의 대응하는 설명을 고려하면, WTRU(102a-d), 기지국(114a-d), eNode-B(160a-c), MME(162), SGW(164), PGW(166), gNB(180a-c), AMF(182a-b), UPF(184a-b), SMF(183a-b), DN(185a-b), 및/또는 본원에서 설명되는 다른 디바이스(들) 중 임의의 것: 중 하나 이상과 관련하여 본원에서 설명되는 기능 중 하나 이상, 또는 전체는, 하나 이상의 에뮬레이션 디바이스(도시되지 않음)에 의해 수행될 수도 있다. 에뮬레이션 디바이스는 본원에서 설명되는 기능 중 하나 이상, 또는 전체를 에뮬레이팅하도록(emulate) 구성되는 하나 이상의 디바이스일 수도 있다. 예를 들면, 에뮬레이션 디바이스는 다른 디바이스를 테스트하기 위해 및/또는 네트워크 및/또는 WTRU 기능을 시뮬레이팅하기 위해 사용될 수도 있다.
에뮬레이션 디바이스는 랩 환경에서 및/또는 오퍼레이터 네트워크 환경에서 다른 디바이스의 하나 이상의 테스트를 구현하도록 설계될 수도 있다. 예를 들면, 하나 이상의 에뮬레이션 디바이스는, 통신 네트워크 내의 다른 디바이스를 테스트하기 위해 유선 및/또는 무선 통신 네트워크의 일부로서 완전히 또는 부분적으로 구현 및/또는 배치되는 동안, 하나 이상의 또는 모든 기능을 수행할 수도 있다. 하나 이상의 에뮬레이션 디바이스는, 유선 및/또는 무선 통신 네트워크의 일부로서 일시적으로 구현되면서/배치되면서, 하나 이상의, 또는 모든 기능을 수행할 수도 있다. 에뮬레이션 디바이스는 테스트의 목적을 위해 다른 디바이스에 직접적으로 커플링될 수도 있고 및/또는 오버 디 에어(over-the-air) 무선 통신을 사용하여 테스트를 수행할 수도 있다.
하나 이상의 에뮬레이션 디바이스는, 유선 및/또는 무선 통신 네트워크의 일부로서 구현/배치되지 않는 동안, 전체를 비롯한 하나 이상의 기능을 수행할 수도 있다. 예를 들면, 에뮬레이션 디바이스는, 하나 이상의 컴포넌트의 테스트를 구현하기 위해, 테스트 연구실 및/또는 배치되지 않은(예를 들면, 테스트용) 유선 및/또는 무선 통신 네트워크의 테스트 시나리오에서 활용될 수도 있다. 하나 이상의 에뮬레이션 디바이스는 테스트 기기일 수도 있다. 직접 RF 커플링 및/또는 RF 회로부(circuitry)(예를 들면, 이것은 하나 이상의 안테나를 포함할 수도 있음)를 통한 무선 통신은, 데이터를 송신 및/또는 수신하기 위해 에뮬레이션 디바이스에 의해 사용될 수도 있다.
상기에서 언급되는 바와 같이, 동적 포인트 클라우드 시퀀스의 스트리밍을 최적화하기 위한 몇몇 실시형태에 따른 시스템 및 방법이 개시된다.
더 구체적으로, 동적 포인트 클라우드 시퀀스의 스트리밍을 최적화하기 위한 몇몇 실시형태에 따른 시스템 및 방법이 개시된다. 몇몇 실시형태에서, 예를 들면, 모든 캡쳐된 포인트 클라우드 데이터를 완전한 스냅샷으로서 순차적으로 전달하는 대신, 포인트 클라우드는 계층적 강체 변환(hierarchical rigid body transformation)을 갖는 지속적으로 변하는 시스템으로서 동적으로 핸들링될 수도 있다. 몇몇 실시형태에서, 이들 변환은, 포인트 클라우드 외관에 대해 그들 각각이 야기하는 시각적 영향의 중요도에 따라 연속적으로 우선 순위가 지정된다. 몇몇 실시형태에서, 변환은, 그 다음, 변환(예를 들면, 영역 및 강체 변환 쌍)의 연속적인 스트림으로서, 캡쳐된 센서 데이터를 프로세싱하는 서버로부터 클라이언트로 전달된다. 이것은 업데이트된 원시 포인트 클라우드 데이터를 연속적으로 전송하는 것을 배제한다. 그러한 예시적인 방법은 다수의 시나리오에 대한 데이터 분배를 최적화할 수도 있다.
이제 몇몇 실시형태에 따른, 예시적인 포인트 클라우드 수집(collection) 및 뷰잉(viewing)이 설명될 것이다.
도 2는, 본 개시의 예시적인 실시형태가 활용될 수도 있는 예시적인 시스템 배열(200)을 도시한다. 도시되는 바와 같이, 시스템 배열(200)은, 몇몇 실시형태에서, 포인트 클라우드를 캡쳐하고 프로세싱할 수도 있는 서버(예를 들면, 가상 현실(virtual reality; VR) 서버)(202)를 포함한다. VR 서버(202)는 프로세서(204) 및 본원에서 개시되는 다양한 방법의 실시형태를 실행하기 위해 프로세서(204)에 의해 실행 가능한 복수의 명령어를 포함하는 비일시적 컴퓨터 판독 가능 메모리(206)를 포함할 수도 있다. 비록 명시적으로 도시되지는 않지만, 프로세서(204) 및 메모리(206)는 버스 또는 유사한 메커니즘을 통해 인터커넥트될 수도 있다. VR 서버(204)에는 다수의 센서(208)가 연결되는데, 다수의 센서(208)의 예는, 3D 스테레오 카메라, RGB-D 카메라, 및 광 검출 및 거리 측정(light detection and range; LIDAR) 데이터 수집기일 수도 있는 카메라(예를 들면, 카메라 어레이)를 포함한다. VR 서버(202)는, 예를 들면, 포인트 클라우드 데이터(예를 들면, 이전에 저장된 동적 포인트 클라우드 데이터, 새로 캡쳐된 포인트 클라우드 데이터, 등등)를 유지할 수도 있는 데이터베이스(210)에 또한 커플링된다. 비록 데이터베이스(210)가 VR 서버(202) 외부에 위치되는 것으로 도시되지만, 몇몇 실시형태에서, 데이터베이스(210) 및 VR 서버(202)는 함께 위치될 수도 있다(예를 들면, 서버(202)는 데이터베이스(210)를 포함할 수도 있다).
게다가, 서버(202)는 클라이언트(212)와의 통신을 위해 인터넷(220) 및 다른 네트워크(222)에 커플링될 수도 있다. 클라이언트(212)는 프로세서(214) 및 본원에서 개시되는 다양한 방법의 실시형태를 실행하기 위해 프로세서(204)에 의해 실행 가능한 복수의 명령어를 포함할 수도 있는 비일시적 컴퓨터 판독 가능 메모리(216)를 포함할 수도 있다. 또한, 몇몇 실시형태에서, 메모리(216)는 포인트 클라우드 데이터를 저장하도록 구성될 수도 있다. 그러나, 그 목적을 위해, 별개의 저장 매체가 대신 제공될 수도 있다. 게다가, 도시되는 바와 같이, 클라이언트(212)는 VR 뷰잉 디바이스(viewing device)(218)를 포함한다. 예를 들면, 서버(202) 및 클라이언트(212)(예를 들면, VR 뷰잉 디바이스(218) 그 자체) 중 어느 하나 또는 둘 모두는, 도 1a 내지 도 1d와 관련하여 상기에서 설명되는 WTRU일 수도 있다. 도 2에서 도시되는 다양한 엔티티는 이제 도시되는 임의의 적절한 유선 및/또는 무선 링크 및/또는 다른 중간 엘리먼트를 통해 서로 커플링될 수도 있다는 것을 유의한다.
이제, 몇몇 실시형태에 따른 예시적인 포인트 클라우드 프로세싱이 설명될 것이다.
도 3a는, 몇몇 실시형태에 따른, 수신 및 프로세싱될 수도 있는 예시적인 장면(300)을 예시한다. 장면은, 어떤 겉보기 높이를 갖는 관찰자 관점으로부터 이미지화되는, 멀리 있는 다수의 빌딩 및 약간의 더 가까운 오브젝트를 포함한다. 게다가, 캡쳐된 장면은 "고정된" 배경 및 그것을 통해 움직이는 동적 엘리먼트를 가질 수도 있다. 그러나, 뷰어(viewer)의 위치가 동적으로 변경되면 "고정된" 배경은 더 이상 고정되지 않을 수도 있다. 또한 예를 들면, 비디오 카메라가 움직이는 경우, "정지(still)" 장면은 변한다. 어쩌면 빌딩 또는 다른 장면 엘리먼트에 대해 더 낮게 또는 더 가깝게 이동하는 것에 의해 관찰자 관점이 변함에 따라, 포인트 클라우드 내의 포인트에 대한 상대적 각도는 변경될 수도 있다. 포인트 클라우드는, 가상 오브젝트와 함께 생성되는 현실 세계 장면에서 검출될 수도 있거나, 또는 경우에 따라 이들 또는 다른 기술의 임의의 조합에서 검출될 수도 있다. 그러나, 포인트 클라우드 데이터를 변경하는 것은 송신하기 위한 다소 많은 양의 대역폭을 필요로 할 수도 있다.
도 3b는, 몇몇 실시형태에 따른, 프로세싱될 수도 있는 예시적인 포인트 클라우드(이미지)(400)를 예시한다. 도 3b에서 명시적으로 도시되지는 않지만, 포인트 클라우드 이미지(400)는 일반적으로 포인트 클라우드 내에 많은 포인트를 포함할 것이다. 포인트는, 오브젝트(402)의 일부가 존재하는 것으로 검출되는 삼차원(3D) 좌표를 나타낸다. 그러한 검출은 광 검출 및 거리 측정(LIDAR), 스테레오 비디오, 및 RGB-D 카메라와 같은 3D 센서를 사용하여 발생할 수도 있다. 게다가, 포인트 클라우드 데이터는 3D 위치 및 복사 휘도 이미지 데이터(radiance image data) 또는 볼륨 픽셀(volume pixel; voxel; 복셀)을 포함할 수도 있다.
VR 및 증강 현실(augmented reality; AR) 플랫폼이 더 많은 수의 소비자에 의한 대량의 채택을 위해 개발되고 있기 때문에, 고해상도 3D 콘텐츠에 대한 수요가 증가할 것이다. 그러한 전체 3D 콘텐츠에 대한 전통적인 사실상의 표준은, 모델링에 의해 수동으로 생성되며, 실시간 3D 게임을 생성하기 위해 사용되는 도구 및 기술을 사용하여 렌더링되는 다각형 3D 그래픽이었다. 그러나, VR 헤드 마운트형 디스플레이(head mounted display; HMD), AR HMD, RGB-D 센서, 및 라이트 필드 카메라(light field camera)와 같은, 신흥의 혼합 현실(mixed reality; MR) 디스플레이 및 콘텐츠 캡쳐 기술은, 완전한 몰입형 3D 콘텐츠 제조 및 분배를 위한 새로운 요건을 설정하였다.
현실 캡쳐 기술의 개발을 주도하는 MR을 넘어, 가까운 미래에, 인간-컴퓨터 상호 작용 시스템이 더욱 공간 인식적으로 될 것으로 예상될 수 있다. 환경의 구조적 이해를 가능하게 하는 환경 감지 기술은, 스마트 홈 환경, 자동차 시스템, 및 모바일 디바이스에서 점점 더 많이 임베딩되고 있다. 이들 공간 인식 시스템은 환경으로부터 포인트 클라우드 데이터를 수집하고, 따라서, 소정의 애플리케이션의 경우, 그러한 공간 데이터가 다수의 시스템 및 서비스를 통해 송신되어야 하는 시나리오에서 환경 데이터를 전달하기 위한 효율적인 도구를 필요로 할 수도 있다.
3D 엘리먼트의 전통적인 수동 3D 모델링은, 종종, 환경과 인간의 현실 세계 모습의 미세한 뉘앙스를 캡쳐하기에 불충분하여, 완전한 3D 콘텐츠를 캡쳐하기 위한 새로운 기술의 개발로 이어진다. 그러한 최근 기술은, 예를 들면, 멀티 뷰 카메라 스테이지의 사용(예를 들면, [Collet, Alvaro et al., "High-quality streamable free-viewpoint video", ACM Transactions on Graphics (TOG), 34.4: 69, 2015] 참조), 다수의 RGB-D 센서(예를 들면, [Orts-Escolano, Sergio et al., "Holoportation: Virtual 3d teleportation in real-time", Proceedings of the 29th Annual Symposium on User Interface Software and Technology, ACM, pp. 741-754, 2016] 참조)을 포함하고, 라이트 필드 카메라의 사용을 또한 포함한다. 이들 접근법 중 많은 것을 통해, 캡쳐 시스템은 일시적으로 변하는 구조체에서 동적 포인트 클라우드의 시퀀스를 생성한다. 포인트 클라우드로서 현실 세계 장면의 동적 캡쳐를 가능하게 하는 이들 신흥의 방법이 널리 사용되게 되는 경우, 동적 포인트 클라우드 데이터 시퀀스를 효율적으로 분배하기 위한 접근법이 점점 더 중요해질 것이다(예를 들면, [Thanou, Dorina et al., "Graph-based motion estimation and compensation for dynamic 3D point cloud compression", Image Processing (ICIP), 2015 IEEE International Conference, pp. 3235-3239, 2015] 참조).
이미지 품질 및 깊이/구조체 정보 둘 모두를 보존하는 방식의 현실 세계 장면의 원시 캡쳐는, 캡쳐된 데이터의 통상적으로 큰 사이즈에 기인하여, 캡쳐 및 분배 시스템에 현저한 요구를 제기한다. 동적 센서를 사용하여 생성되는 동적 포인트 클라우드 데이터의 시퀀스를 분배하기 위한 몇몇 실시형태에 따른 예시적인 방법은, 분배 채널의 다양한 스루풋에 적응할 수도 있고, 상대적인 시각적 중요도에 기초하여 콘텐츠 업데이트의 우선 순위를 지정하는 방식으로 성능을 렌더링할 수도 있다. 시각적 중요도는 클라이언트마다 상이할 수도 있고; 데이터 분배 동안 이것을 고려하는 것은 유저에 대한 전반적인 경험 품질을 향상시킬 수 있다.
몇몇 실시형태에서, 가능한 최적화는, 포인트 클라우드 데이터의 시퀀스를, 단지, 시간적인 순간 동안의 완전한 환경 지오메트리(geometry)의 스냅샷으로서 취급하는 것이 아니라, 대신, 더욱 미묘한 변화에 비해 더 많이 중요한 시각적 변화를 갖는 그들 변화에 우선 순위를 지정하면서, 클라이언트로 스트리밍될 수 있는 환경 지오메트리에서의 변화의 연속체로서 취급하는 것을 포함할 수도 있다. 환경 지오메트리의 '전체 프레임'을 스트리밍하는 대신, 지오메트리의 하위 영역의 변환이 대신 스트리밍될 수도 있다. 몇몇 실시형태에서, 스트리밍된 변화의 우선 순위는, 변환이 특정한 클라이언트에 대해 초래하는 시각적 영향의 양에 의존하는데, 이것은 변환에 의해 영향을 받는 지오메트리의 영역의 사이즈 및 결과적으로 나타나는 변형의 양(예를 들면, 변환의 양)의 요인일 수도 있다. 더구나, 시각적 영향이 지오메트리 변환의 클라이언트의 관찰(예를 들면, 클라이언트로부터 얼마나 멀리 떨어져 변환이 발생하는지)에 의존할 수도 있기 때문에, 시각적 영향은 개개의 클라이언트에게 주관적이다.
고정된 배경 및 비디오 캡쳐 장면을 통해 움직이는 동적 엘리먼트를 갖는 비디오 캡쳐 장면을 고려하면, 관찰자의 관점이 변경되면, 고정된 배경은 관찰자와 관련하여 더 이상 제자리에 고정되지 않는다.
몇몇 실시형태에서, 포인트 클라우드 시퀀스에 의해 요구될 수도 있는 데이터 양을 최적화하기 위한 접근법은, 예를 들면, 옥트리 공간 분할(octree space partition)을 사용하여(예를 들면, [De Gueiroz, Ricardo et al., "Compression of 3d point clouds using a region-adaptive hierarchical transform", IEEE Transactions on Image Processing, 25.8: 3947-3956, 2016] 참조) 또는 완전한 포인트 클라우드 - 이것은 그 다음 사이에 델타 프레임을 갖는 전체 키 프레임 포인트 클라우드의 세트로 축소됨 - 를 추출하기 위해 사전 캡쳐된 데이터의 광범위한 오프라인 프로세싱을 사용하여(예를 들면, [Collet, Alvaro et al., "High-quality streamable free-viewpoint video", ACM Transactions on Graphics (TOG), 34.4: 69, 2015] 참조) 포인트 클라우드를 복셀 그리드로 변환하는 것에 기초한다.
그러나, 이들 방법 중 어느 것도, 정상적인 일상의 환경으로부터 캡쳐되는 데이터에서, 오브젝트의 대부분이 강체 변환으로서 모델링될 수 있는 움직임의 상태에 있거나 또는 정적이다는 것을 고려하는 것으로 이해되지는 않는다. 더구나, 포인트 클라우드 데이터는 계층적인 것으로 간주될 수 있다.
몇몇 실시형태에 따르면, 포인트 클라우드(예를 들면, 환경)의 공간적 계층적 성질은, 상이한 레벨의 세부 사항을 가지고 검사될 수 있는 다수의 하위 오브젝트를 포함한다. 유사하게, 몇몇 실시형태에서, 모션은 전체 오브젝트의 모션으로부터, 그 오브젝트를 구성하는 부품의 모션에 이르기까지, 그리고 그 다음, (예를 들면, 실제 모션이 되기 보다는) 센서 노이즈에 의해 실제로 야기될 수도 있는 개개의 포인트의 모션에 이르기까지 계층적으로 분해될 수도 있다. 몇몇 실시형태에서, 포인트 클라우드의 계층적 고려는 또한, 큰 영역을 수반하는 및/또는 큰 양의 움직임을 갖는 변화가 더 미묘하고 더 작은 변화(예를 들면, 센서 노이즈에 관련되는 변화)보다 뷰어에게 어떻게 통상적으로 더 잘 보이는지에 관련된다. 따라서, 몇몇 실시형태에 따르면, 포인트 클라우드 업데이트는 그들의 우선 순위에서 계층적인 것으로 간주될 수 있다: 예를 들면, 더 작고 더 미묘한 변화보다 더 큰 가시적 변화를 시각화하는 것이 더 중요하다.
전체적인 포인트 클라우드 모습에 대한 시각적 영향에 기초하여 우선 순위가 지정되는 계층적 강체 변환을 사용하여 3D 포인트 클라우드 데이터를 지속적으로 변하는(예를 들면, 시간에 따라 변하는) 시스템으로 표현하는 것에 의해 3D 포인트 클라우드 데이터를 통합하기 위한, 몇몇 실시형태에 따른 방법 및 시스템이 본원에서 개시된다.
본원에서 앞서 언급되는 바와 같이, 동적 포인트 클라우드 시퀀스의 스트리밍을 최적화하기 위한 몇몇 실시형태에 따른 시스템 및 방법이 개시된다. 몇몇 실시형태에서, 예를 들면, 모든 캡쳐된 포인트 클라우드 데이터를 완전한 스냅샷으로서 순차적으로 전달하는 대신, 포인트 클라우드는 계층적 강체 변환을 갖는 지속적으로 변하는 시스템으로서 동적으로 핸들링될 수도 있다. 몇몇 실시형태에서, 이들 변환은, 포인트 클라우드 외관에 대해 그들 각각이 야기하는 시각적 영향의 중요도에 따라 연속적으로 우선 순위가 지정된다. 몇몇 실시형태에서, 변환은, 그 다음, 변환(예를 들면, 영역 및 강체 변환 쌍)의 연속적인 스트림으로서, 캡쳐된 센서 데이터를 프로세싱하는 서버로부터 클라이언트로 전달될 수도 있다. 몇몇 실시형태에 따른 이들 예시적인 기술은 업데이트된 원시 포인트 클라우드 데이터를 연속적으로 전송하는 것을 배제할 수도 있다. 그러한 방법은 다수의 시나리오에 대한 데이터 분배를 최적화할 수도 있다.
도 4는, 몇몇 실시형태에 따른, 예시적인 메시지 시퀀스 다이어그램(500)을 예시한다. 몇몇 실시형태에 따른 그리고 도 4에서 예시되는 하나의 예시적인 방법에서, 서버는 센서로부터 포인트 클라우드 데이터를 캡쳐하고 데이터를 (예를 들면, 최적화된) 포맷으로 클라이언트로 스트리밍하는데, 여기서 원시 포인트 클라우드 데이터를 전송하는 대신, 캡쳐된 포인트 클라우드의 동적 변화를 근사하는 상이한 레벨의 포인트 클라우드 하위 영역에서의 변환의 스트림이 대신 클라이언트로 전송된다. 도 4는, 몇몇 실시형태에 따른, 클라이언트 및 서버에 의해 수행되는 동작의 예시적인 시퀀스뿐만 아니라, 예시적인 통상적인 사용 세션에서 서버와 클라이언트 사이에서 발생하는 메시징의 개요를 예시한다.
즉, 도 4를 참조하면, 508에서, 서버(504)는 포인트 클라우드 데이터의 캡쳐를 시작하도록 하나 이상의 센서(506)를 초기화하기 위해 임의의(예를 들면, 적절한) 메시지(들)를 전송할 수도 있다. 510에서, 센서(들)(506)는 제1(예를 들면, 초기) 포인트 클라우드 (데이터)를 서버(504)로 전달할 수도 있다. 포인트 클라우드 데이터는 삼차원(3D) 데이터를 포함한다. 512에서, 서버(504)는 포인트 클라우드 데이터 스트리밍에 대한 클라이언트(502)로부터의 요청을 대기할 수도 있다. 비록 도 4에서 명시적으로 도시되지는 않지만, 클라이언트 요청을 대기하는 동안, 서버(504)는 센서(들)(506)에 의해 캡쳐되는 새로운 포인트 클라우드 데이터를 계속 수신할 수도 있다. 514에서, 서버(504)는 포인트 클라우드 데이터 스트리밍에 대한 클라이언트 요청을 수신할 수도 있다. 클라이언트 요청에 응답하여, 516에서, 서버(504)는 센서(들)(506)로부터 수신되는 현재의(예를 들면, 최신의) 포인트 클라우드를 기준 포인트 클라우드로서 저장할 수도 있다. 게다가, 518에서, 서버(504)는 그 기준 포인트 클라우드를 클라이언트(502)로 전달할 수도 있다.
520에서, 클라이언트(502)는 (예를 들면, 포인트 클라우드 데이터 스트리밍 요청의 연속으로서) 서버(504)에게 기준 포인트 클라우드에 대한 현재의 클라이언트 위치를 제공할 수도 있다. 더 상세하게 설명될 바와 같이, 현재의 클라이언트 위치는, 몇몇 실시형태에서, 예를 들면, 클라이언트 관점과 관련하여, 주어진 포인트 클라우드 내의 영역의 우선 순위를 지정하기 위해 사용되는 거리를 결정하기 위해 사용될 것이다. 몇몇 실시형태에서, 현재의 클라이언트 위치는 514에서 실행되는 포인트 클라우드 데이터 스트리밍에 대한 클라이언트 요청의 일부로서 또는 그 요청과 동시에 제공될 수도 있다는 것을 유의한다. 게다가, 몇몇 실시형태에서, 서버(504)가 기준 포인트 클라우드의 해상도를 상응하게 조정할 수 있을 수도 있도록, 포인트 클라우드 스트리밍 요청과 함께, 클라이언트(502)가 (예를 들면, 클라이언트(502)가, 예를 들면, 전체 기준 포인트 클라우드를 먼저 수신하지 않고도 사용될 초기 관점을 이미 알고 있는 경우) 자신의 관점을 시그널링하는 것이 가능할 수도 있다.
522에서, 서버(504)는 센서(들)(506)로부터 제2(예를 들면, 현재의, 예를 들면, 새롭게 캡쳐된) 포인트 클라우드 (데이터)를 수신한다. 524에서, 서버(504)는 (i) 3D 변환(들)(예를 들면, 기준 포인트 클라우드로부터의 제2 포인트 클라우드에서의 변화(들)를 근사하는 강체 변환(들)) - 이들이 존재하는 경우 - , 및/또는 (ii) 기준 포인트 클라우드를 수정하기 위해, 예컨대, 예를 들면, 기준 포인트 클라우드와 제2 포인트 클라우드 사이의 일탈(들)을 실질적으로 재생성(예를 들면, 복제)하기 위해, 제거 및/또는 추가될 변화(들)를 나타내는 포인트를 결정하기 위해 기준 포인트 클라우드 및 제2 포인트 클라우드를 상응하게 프로세싱하도록 구성된다. 일단 변환(들) 및/또는 포인트가 결정되면, 서버(504)는 서버(504)에 저장되는 기준 포인트 클라우드를 업데이트할 수도 있다.
게다가, 526에서, 서버(504)는, 예를 들면, 결정된 변환(그들이 결정될 수 있는 경우), 또는, 예를 들면, 기준 포인트 클라우드로부터 추가 및/또는 제거될 포인트를 사용하여 변환될 기준 포인트 클라우드의 영역(들)의 표시(들)를 클라이언트(502)로 송신할 수도 있고, 그 결과, 클라이언트(502)는 클라이언트 측에서 기준 포인트 클라우드의 로컬 사본을 업데이트할 수 있다. 이러한 방식으로, 클라이언트(502)는, 원시의 업데이트된 포인트 클라우드 데이터의 새로운 전체 세트를 서버로부터 연속적으로 수신하기보다는, 새롭게 캡쳐된 포인트 클라우드에서 발생한 변화를 반영하도록 업데이트(들)를 행할 수 있다.
이제, 도 4에서 예시되는 예시적인 전체 프로세스가 몇몇 실시형태에 따라 더 상세하게 설명될 것이다.
도 5는, 몇몇 실시형태에 따른, 포인트 클라우드 데이터를 프로세싱하는 예시적인 방법을 예시하는 플로우차트(600)이다. 몇몇 실시형태에서, 도 5의 예시적인 방법은, 예를 들면, 도 4의 서버(504), 또는 도 2의 서버(202)와 같은 서버에 의해 실행될 수도 있다.
도 5에서 도시되는 바와 같이, 단계(602)에서, 서버는 센서에 의해 캡쳐되는 포인트 클라우드 데이터를 (예를 들면, 연속적으로) 수신할 수도 있다. 604에서, 서버는 뷰잉 클라이언트(viewing client)가 포인트 클라우드 데이터 스트림을 요청하기를 대기한다. 단계(606)에서, 서버는 클라이언트 요청이 수신되었는지의 여부를 결정한다. 클라이언트 요청이 수신되면, 단계(610)에서, 서버는 현재의 포인트 클라우드를 기준 포인트 클라우드로서 저장하고, 단계(612)에서, 현재의 포인트 클라우드를 클라이언트로 전송한다. 단계(614)에서, 서버는, 포인트 클라우드 데이터를 클라이언트로 스트리밍하기 위한 프로세스를 시작한다(또는, 예를 들면, 계속한다). 몇몇 실시형태에서, 프로세스는 센서로부터 캡쳐되며 서버에서 수신되는 각각의 새로운 포인트 클라우드 인스턴스에 대해 실행될 수도 있다.
프로세스는 단계(616)에서 시작(또는, 예를 들면, 계속)되는데, 여기서 서버는 기준 포인트 클라우드와 관련하여 주어진 포인트 클라우드를 렌더링하기 위해 사용될 현재의 관점을 뷰잉 클라이언트로부터 수신한다. 몇몇 실시형태에서, 클라이언트 관점은, 주어진 포인트 클라우드에서 어떤 변화가 클라이언트에게 중요한지 결정하기 위해 사용되는데, 중요도의 하나의 척도는, 예를 들면, 클라이언트 관점 전망으로부터 주어진 변화가 야기하는 시각적 영향의 양에 의해 결정된다.
단계(618)에서, 서버는 새롭게 캡쳐된 포인트 클라우드를 수신한다. 그 다음, 단계(620)에서, 서버는, 변경된 영역을 분리하기 위해, 새롭게 캡쳐된 포인트 클라우드를 기준 포인트 클라우드와 비교하여 계층적으로 검사한다. 도 5에서 도시되는 바와 같이, 몇몇 실시형태에서, 단계(620)는 다수의 추가적인 하위 단계를 갖는 하위 프로세스(622)를 포함할 수도 있다.
더 구체적으로, 하위 단계(624)에서, 서버는 변경된 영역을 식별한다. 몇몇 실시형태에서, 목적은, 변경된 영역에 대응하는 클러스터 내에서 변경된 포인트 위치를 가장 잘 추정하는 변환을 근사하기 위해, 가장 최근의 업데이트 이후, 캡쳐된 포인트 클라우드의 어떤 영역이 변경되었는지를 식별하는 것이다. 그러한 만큼, 하위 단계(626)는 기준 포인트 클라우드와 캡쳐된 포인트 클라우드 사이에서 일탈하는 영역을 클러스터링하는 것을 수반한다. 몇몇 실시형태에서, 클러스터링은 기준 포인트 클라우드와는 상이한 최근 캡쳐된 포인트 클라우드의 영역을 분리하는 것을 포함한다.
하위 단계(628)에서, 서버는 각각의 클러스터에 대한 각각의 점수를 결정(예를 들면, 도 5에서와 같이 계산)할 수도 있는데, 몇몇 실시형태에서, 각각의 점수는 일탈의 시각적 영향의 중요도를 나타낸다. 몇몇 실시형태에서, 그러한 중요도는, 예를 들면, 일탈 영역의 사이즈, 일탈의 양, 및 클라이언트가 클라이언트 측 상의 포인트 클라우드를 검사하기 위해 사용하고 있는 현재의(가상) 관점으로부터 일탈 영역의 거리의 가중된 합으로서 계산될 수도 있지만, 이것은, 물론, 한 예이며 다른 공식이 사용될 수도 있다.
하위 단계(630)에서, 가장 높은 점수(따라서 가장 높은 우선 순위의 예)를 갖는 제1 클러스터에 대해, 서버는, 일탈이 클러스터링된 영역 근처의 두 개의 포인트 클라우드(즉, 캡쳐된 포인트 클라우드 및 기준 포인트 클라우드) 사이의 형상 관련성을 결정한다. 일반적인 문제로서, 몇몇 실시형태에 따르면, 일탈을 갖는 영역이 처음 검출되는 경우, 일탈은, 예를 들면, 이동한 세그먼트에 의해 야기된다는 것을 일반적으로 가정할 수도 있다. 몇몇 실시형태에서, 그 세그먼트가 이동한 곳을 찾기 위해, 제2 시간 단계를 나타내는 포인트 클라우드로부터 더 큰 영역을 검사하는 것이 필요할 수도 있다. 일탈이 엘리먼트의 강체 변환에 의해 야기되는 경우, 엘리먼트는 자신의 원래의 위치에 상대적으로 가까울 수도 있다. 그러므로, 몇몇 실시형태에서, 형상 관련성(예를 들면, 매칭)은 일탈의 영역에 비해 약간 더 클 수도 있는 영역에 대해 수행된다. 몇몇 실시형태에서, 더 큰 영역의 사이즈는 엘리먼트의 예상 모션 속도와 프레임 사이의 시간의 길이를 검사하는 것에 의해 제어될 수도 있다. 그 다음, 하위 단계(632)에서, 예를 들면, 유사한 형상이 발견되면, 하위 단계(634)에서, 서버는 기준 포인트 클라우드와 캡쳐된 포인트 클라우드 사이의 일탈을 근사하는 변환을 결정(예를 들면, 해결)할 수도 있다. 하위 단계(636)에서, 서버는, 그 다음, 기준 포인트 클라우드에 변환을 추가(예를 들면, 적용)할 수도 있고, 하위 단계(638)에서, 일탈을 갖는 영역의 표시 및 변환을 클라이언트로 전송한다.
몇몇 실시형태에서, 일탈의 영역은 그 영역을 캡슐화하는 경계를 정하는 볼륨 좌표로서 전송될 수도 있다. 몇몇 실시형태에서, 변환은, 예를 들면, 3×4 변환 매트릭스와 같은 변환 매트릭스로서 전송될 수도 있다. 일반적인 문제로서, 변환 매트릭스는 선형 대수 및 컴퓨터 그래픽에서 변환을 설명하는 표준 방식인데, 여기서 단일의 매트릭스는 회전 및 병진(translation)을 포함하는 3D 강체 변환을 정의한다. 그 다음, (변환될) 포인트 좌표를 변환 매트릭스와 승산하는 것에 의해, 새로운 포인트 위치가 획득될 수 있다. 예를 들면, en.wikipedia.org/wiki/Transformation_matrix의 논문을 참조한다.
하위 단계(632)에서 유사한 형상이 발견되지 않으면, 하위 프로세스(622)는, 서버가 캡쳐된 포인트 클라우드에 따라 기준 포인트 클라우드로부터 제거될 및/또는 기준 포인트 클라우드에 추가될 포인트를 결정하는 하위 단계(640)로 이동하고, 그 다음, 하위 단계(642)에서, 추가된 및/또는 제거된 포인트를 클라이언트로 스트리밍한다.
하위 단계(644)에서, 몇몇 실시형태에서, 서버는 아직 주소가 지정되지 않은 추가적인 더 미세하게 세분된 영역(예를 들면, 본원에서 "하위 영역"으로 또한 지칭됨)을 방금 프로세싱된 클러스터로부터 분리할 수도 있다. 이들 주소 지정되지 않은 영역은, 예를 들면, 여전히 상당한 양의 일탈을 가질 수도 있다. 몇몇 실시형태에서, 서버는 그들 하위 영역을 새로운 일탈 클러스터로 클러스터링하고, 상기에서 설명되는 바와 같이 그들 새로운 클러스터의 각각에 대한 중요도 점수(예를 들면, 또는 다른 메트릭)를 계산할 수도 있다.
하위 단계(646)에서, 서버 및/또는 클라이언트 측에서의 시간, 프로세싱, 및 통신 대역폭 리소스 가용성의 결정에 응답하여, 서버는 나머지 클러스터의 프로세싱 및 분할을 계속할 수도 있다. 예를 들면, 서버는 하위 단계(628)로 복귀하여, 다음으로 가장 높은 중요도 점수, 및 그러므로 (예를 들면) 다음으로 가장 높은 우선 순위를 갖는 (예를 들면, 이전에서 형성된 클러스터 및 방금 프로세싱된 하위 영역에 대응하는 새로운 클러스터의 조합 내에서부터의) 다음의 아직 프로세싱되지 않은 클러스터의 프로세싱을 계속할 수도 있다. 그러나, 그 예에 따르면, 더 이상의 프로세싱 버짓이 남아 있지 않다는 것을 서버가 결정하면, 하위 프로세스(622)는 종료되고, 프로세싱은, 예를 들면, 단계(614)로 복귀할 수도 있다.
다른 한편으로, 단계(648)에서, 예를 들면, 서버 또는 클라이언트가 스트리밍을 중단하기 위한 요청을 시그널링한다는 결정이 이루어지면, 그러면, 프로세스는 종료될 수도 있다. 그렇지 않으면, 프로세스는 단계(604)로 복귀할 수도 있다.
몇몇 실시형태에서 구현되고 도 4 및 도 5의 예에 일반적으로 예시되는 바와 같은, 몇몇 실시형태에 따른 본원에서 제안되는 예시적인 방법 및 시스템은, 동적 포인트 클라우드 데이터의 시퀀스의 효율적인 스트리밍을 가능하게 할 수도 있다. 몇몇 실시형태에서, 송신될 필요가 있을 수도 있는 데이터의 양은, 예를 들면, 데이터를 보는 클라이언트에 대한 시각적 영향에 따라 우선 순위가 지정되는 연속적인 계층적 강체 변환으로서 포인트 클라우드 데이터에서의 변화를 고려하는 것에 의해 최적화될 수도 있다. 몇몇 실시형태에서, 예를 들면, 유저 경험의 품질에 가장 큰 영향을 끼칠 수도 있는 콘텐츠 업데이트를 위해, 이것은, 예를 들면, 이용 가능한 대역폭 및 프로세싱 전력이 소비되는 것을 보장할 수도 있다.
포인트 클라우드 최적화를 위한 몇몇 다른 접근법과는 대조적으로, 몇몇 실시형태에 따른 본원에서 개시되는 예시적인 방법 및 시스템은 일반적으로, 예를 들면, 대부분의 지오메트리가 정적이고 변환이 통상적으로 강체 애니메이션, 예를 들면, 움직이고 있는 개개의 오브젝트로 근사될 수 있는, 통상적인 제어되지 않은 캡쳐 환경, 예컨대 실내 또는 실외 환경에 대한 액션의 애드혹 캡쳐(ad hoc capture)에서 잘 동작할 수도 있다.
공간 감지가 스마트 환경, 자동차 시스템 및 모바일 디바이스에서 점점 더 많이 임베딩됨에 따라, 몇몇 실시형태에 따른, 본원에서 제안되는 예시적인 접근법은 환경 데이터를 공유하는 서비스와 시스템 사이에서 데이터를 스트리밍하기 위한 효율적인 방법을 제공할 수도 있다. 대부분의 예시적인 경우에, 환경 데이터는 정적인 환경 지오메트리 및 그 환경 내에서 움직이는 강체 오브젝트 둘 모두를 포함할 것으로 예상될 수 있다. 그러한 경우에, 몇몇 실시형태에서, 몇몇 실시형태에 따른 본원에서 설명되는 예시적인 압축 접근법이 잘 적합될 수도 있다.
몇몇 실시형태에 따르면, 변화는, 포인트 클라우드 데이터에 대한 유저의 현재의 관점에 따라 우선 순위가 지정될 수도 있고, 예를 들면, 변화를 갖는 각각의 영역이 데이터에서의 변화를 상이한 레벨에서 설명하는 추가적인 하위 영역을 가질 수 있도록 계층적으로 전달될 수도 있다. 포인트 클라우드 데이터의 경우, 센서 노이즈에 기인하여, 각각의 프레임은 지속적인 변화를 가질 수도 있다. 유리하게는, 본원에서 제안되는 접근법으로, 몇몇 실시형태에 따라, 가장 중요한 변화만이 이용 가능한 대역폭의 한계 내에서 전달된다.
도 6은, 몇몇 실시형태에 따른, 포인트 클라우드 데이터를 프로세싱하는 다른 예시적인 방법(700)의 플로우차트를 예시한다. 몇몇 실시형태에서, 도 6의 예시적인 방법은, 예를 들면, 도 4의 서버(504), 또는 도 2의 서버(202)와 같은 서버에 의해 실행될 수도 있다. 몇몇 실시형태에서, 도 6의 예시적인 방법은, 예를 들면, 서버가, 예를 들면, 시간적 변화에 대해, 또는 시간 단계 사이에서 전체 포인트 클라우드를 검사하는 대신, 예를 들면, 주어진 시간 인스턴스(예를 들면, 단계(720)에서와 같이, 스냅샷 포인트 클라우드)에서 클라이언트가 볼 수 있는 포인트 클라우드의 영역을 검사할 수도 있는 경우에 적용될 수도 있다.
도 6에서 도시되는 바와 같이, 단계(702)에서, 서버는, 예를 들면, 유저 환경을 나타내는 3-D 데이터를 (예를 들면, 연속적으로) 수신할 수도 있다. 3D 데이터는 센서에 의해 수집될 수도 있는데, 센서의 예는, RGB-D, LIDAR, 및/또는 그들 및/또는 다른 센서의 조합을 포함한다.
704에서, 서버는 (예를 들면, 여기서) 포인트 클라우드 데이터 및 복사 휘도 이미지 데이터에 대한 클라이언트 공동 요청을 대기하고, 단계(706)에서, 서버는 클라이언트 요청이 수신되었는지의 여부를 결정한다. 클라이언트 요청이 수신되면, 단계(708)에서, 서버는 현재의 포인트 클라우드(센서에 의해 캡쳐되는 3D 데이터) 및 복사 휘도 이미지 데이터를 기준 포인트 클라우드로서 저장하고, 단계(710)에서, 서버는 현재의 포인트 클라우드 및 복사 휘도 이미지 데이터를 클라이언트로 또한 전송한다.
단계(712)에서, 서버는 포인트 클라우드 데이터를 클라이언트로 스트리밍하기 위한 프로세스를 시작(또는, 예를 들면, 계속)한다. 몇몇 실시형태에서, 프로세스는 센서로부터 캡쳐되며 서버에서 수신되는 각각의 새로운 포인트 클라우드 인스턴스에 대해 실행될 수도 있다.
프로세스는, 서버는, (예컨대, 예를 들면, 현실 세계 장면 전환의 캡쳐된 이미지에 기인하는) 포인트 클라우드 데이터에 대한 캡쳐된(예를 들면, 센서 수집된) 업데이트 및, 예를 들면, 복사 휘도 이미지 데이터에 대한 업데이트를 (만약 있다면) 수신하여 저장하는 단계(714)에서 시작(또는, 예를 들면, 계속)된다. 일반적으로, 몇몇 실시형태에서, 포인트 클라우드 데이터는, 예를 들면, 원시 지오메트리의 형태일 수도 있고, 그 지오메트리에 대한 컬러는, 예를 들면, 개별적으로 분포될 수도 있는, 예를 들면, 복사 휘도 이미지로부터 유래할 수도 있다. 그러나, 몇몇 실시형태에서, 지오메트리 및 그와 관련되는 컬러는 포인트 클라우드 데이터에 대신 포함될 수도 있다.
단계(716)에서, 서버는 (예를 들면, 몰입형 장면 내에서의) 클라이언트의 현재 관점을 수신한다. 클라이언트의 현재의 관점의 수신에 응답하여, 단계(718-720)에서, 서버는 기준 포인트 클라우드와 관련되는 관점에 대한 관점에서의 변화를 결정할 수도 있고 이 새로운 전망 뷰/관점으로부터 (캡쳐된 장면의) 스냅샷 포인트 클라우드를 수신할 수도 있다. 도 6의 예는, 예를 들면, 클라이언트에 의해 현재 보이는 영역(들)에 대해서만 수행될 포인트 클라우드 시간적 변동의 검사를 제한하는 것에 의해 최적화될 프로세싱을 제공할 수도 있다.
단계(722)에서, 서버는, 변경된 영역을 분리하기 위해, 기준 포인트 클라우드에 대한, 스냅샷 포인트 클라우드, 또는 현재 새롭게 캡쳐된 포인트 클라우드를 계층적으로 검사한다. 도 6에서 도시되는 바와 같이, 몇몇 실시형태에서, 단계(722)는 다수의 추가적인 하위 단계를 갖는 하위 프로세스(724)를 포함할 수도 있다.
더 구체적으로, 하위 단계(726)에서, 서버는 변경된 영역을 식별하고, 예를 들면, 소정의 양태에서 도 5에서 예시되는 하위 프로세스와 유사하게, 서버는 기준 포인트 클라우드와 스냅샷 포인트 클라우드 사이에서 일탈하는 영역을, 하위 단계(726)에서, 클러스터링할 수도 있다. 또한, 서버는 각각의 클러스터의 각각의 점수를 결정(예를 들면, 계산)할 수도 있는데, 여기서, 몇몇 실시형태에서, 각각의 점수는 일탈의 시각적 영향의 중요도를 나타낸다. 몇몇 실시형태에서, 그러한 중요도는, 예를 들면, 일탈 영역의 사이즈, 일탈의 양, 및 클라이언트의 현재의 관점으로부터 일탈 영역의 거리의 가중된 합으로서 계산될 수도 있다.
하위 단계(728)에서, 가장 높은 점수를 갖는 제1 클러스터에 대해, 예를 들면, 가장 높은 우선 순위의 예에 대해, 서버는, 일탈이 클러스터링된 두 포인트 클라우드(즉, 스냅샷 포인트 클라우드와 기준 포인트 클라우드) 사이의 형상 관련성을 결정한다. 그 다음, 유사한 형상이 발견되면(예를 들면, 검출되면), 하위 단계(730)에서, 서버는, 하위 단계(732)에서, 기준 포인트 클라우드와 스냅샷 포인트 클라우드 사이의 일탈을 근사하는 변환을 결정할 수도 있다(예를 들면, 구할 수도 있다). 하위 단계(734)에서, 서버는, 그 다음, 변환을 기준 포인트 클라우드에 추가(예를 들면, 적용)하고, 하위 단계(736)에서, 일탈을 갖는 영역의 표시 및 변환을 뷰잉 클라이언트로 전송한다. 이들 하위 단계는 도 5의 설명에서 더 상세하게 설명된다.
하위 단계(730)에서 유사한 형상이 발견되지 않으면, 하위 프로세스는, 서버가 스냅샷 포인트 클라우드에 따라 기준 포인트 클라우드로부터 제거될 및/또는 추가될 포인트를 결정하는 하위 단계(738)로 이동하고, 하위 단계(740)에서, 예를 들면, 전체 포인트 클라우드 데이터세트가 아니라, 추가된 및/또는 제거된 포인트를 클라이언트로 스트리밍한다.
하위 단계(742)에서, 몇몇 실시형태에서, 서버는 아직 주소가 지정되지 않은 추가적으로 더 미세하게 세분된 영역(예를 들면, 본원에서 "하위 영역"으로 또한 지칭됨)을, 방금 프로세싱된 클러스터로부터 분리할 수도 있다. 몇몇 실시형태에서, 서버는 그들 하위 영역을 새로운 일탈 클러스터로 클러스터링하고, 도 5와 관련하여 설명되는 바와 같이 그들 새로운 클러스터의 각각에 대한 중요도 점수(예를 들면, 또는 다른 메트릭)를 계산할 수도 있다.
하위 단계(744)에서, 프로세싱 버짓(예를 들면, 캡쳐된 포인트 클라우드의 하나의 인스턴스를 프로세싱하기 위해 예약되는 프로세싱 시간, 변환을 전송하는 데 이용 가능한 대역폭 또는 클라이언트 및/또는 서버 측에서의 추정된 프로세싱 용량)이 여전히 허용하는 경우, 서버는 나머지 클러스터의 프로세싱 및 분할을 계속할 수도 있다. 예를 들면, 서버는, 예를 들면, 하위 단계(728)로 복귀하여, 다음으로 가장 높은 중요도 점수, 및 그러므로, 예를 들면, 다음으로 가장 높은 우선 순위를 갖는 (예를 들면, 이전에서 형성된 클러스터 및 방금 프로세싱된 하위 영역에 대응하는 새로운 클러스터의 조합 내에서부터의) 다음의 아직 프로세싱되지 않은 클러스터의 프로세싱을 계속할 수도 있다. 그러나, 더 이상의 프로세싱 버짓이 남아 있지 않다는 것을 서버가 결정하면, 하위 프로세스(724)는 종료되고, 프로세싱은, 예를 들면, 단계(712)로 복귀할 수도 있다.
다른 한편으로, 단계(746)에서, 예를 들면, 서버 또는 클라이언트가 스트리밍을 중단하기 위한 요청을 시그널링한다는 결정이 이루어지면, 그러면, 프로세스는 종료될 수도 있다. 그렇지 않으면, 프로세스는 단계(704)로 복귀할 수도 있다.
도 7a 및 도 7b는, 몇몇 실시형태에 따른, 포인트 클라우드 데이터를 프로세싱하는 다른 예시적인 방법의 각각의 플로우차트이다. 도 7b는 도 7a에서 도시되는 방법 단계의 계속이다는 것을 유의한다. 정리하면, 도 7a 및 도 7b는, 환경 감지에 이용 가능한 센서로부터의 센서 데이터의 수집으로부터 유래하는 포인트 클라우드의 캡쳐를 담당할 수도 있는 (예를 들면) 서버에 의해 실행되는 예시적인 프로세스를 예시한다. 센서는, 예를 들면, RGB-D 센서(들), 카메라 어레이(들), 깊이 정보를 생성하는 스테레오 카메라(들), LIDAR(들), 등등 중 임의의 것일 수 있다. 프로세스의 시작에서, 단계(802)에서, 서버는 원시 센서 데이터를 생성할 준비가 되도록 센서를 초기화하고, 단계(804)에서, 클라이언트가 (예를 들면, 최적화된) 포인트 클라우드 스트림을 요청하기를 대기한다.
몇몇 실시형태에서, 클라이언트가 서버로부터(예를 들면, 최적화된) 동적 포인트 클라우드 스트림을 수신할 것을 요청하는 경우, 단계(806)에서, 먼저, 서버 및 클라이언트는 적절한 프로세싱 버짓을 협상할 수도 있다. 몇몇 실시형태에서, 프로세싱 버짓은 서버로부터 클라이언트로의 각각의 단일의 동적 포인트 클라우드 업데이트 단계에 대해 데이터를 스트리밍하기 위해 얼마나 많은 시간 및 대역폭이 사용될 수 있는지를 정의한다. 몇몇 실시형태에서, 사용될 버짓을 협상하기 위해, 클라이언트와 서버 사이의 네트워크 연결의 대역폭이 테스트될 수 있다. 이와 관련하여, 몇몇 실시형태에서, 클라이언트는, 예를 들면, 서버가 각각의 업데이트 단계를 얼마나 많은 시간 프로세싱해야 하는지를 정의하는 (예를 들면, 필수) 업데이트 프레임 레이트를 정의할 수 있다. 또한, 몇몇 실시형태에서, 클라이언트의 성능은, 각각의 업데이트 단계 동안 클라이언트가 핸들링할 수 있는 변환의 대략적인 수를 정의하기 위해 테스트될 수 있다. 몇몇 실시형태에서, 클라이언트는 또한 각각의 디스플레이 업데이트 사이클 동안 클라이언트가 얼마나 많은 포인트 클라우드 포인트를 프로세싱하고 렌더링할 수 있는지를 근사할 수 있다.
프로세싱에 대한 버짓이 정의되는 경우, 단계(808)에서, 서버는 원시 센서 데이터를 사용하여 최신 포인트 클라우드 데이터를 캡쳐하고 단계(810)에서 최신 포인트 클라우드 데이터를 기준 포인트 클라우드로서 저장할 수도 있다. 단계(812)에서, 서버는 또한 기준 포인트 클라우드를 클라이언트로 전송할 수도 있다. 몇몇 실시형태에서, 서버는, 예를 들면, 서버 또는 클라이언트가 실시간으로 핸들링하기에 데이터 사이즈가 너무 큰 경우, 기준 포인트 클라우드를 저장할 때 (예를 들면, 적절한 압축 기술을 사용하여) 기준 포인트 클라우드 복잡도를 감소시킬 수도 있다. 초기 기준 프레임은 클라이언트 관점에 의존하지 않을 수도 있다는 것을 유의한다.
세션의 시작에서, 전체 기준 포인트 클라우드를 전송하는 것에 추가하여, 몇몇 실시형태에서, 예를 들면, 포인트 클라우드에서의 변화를 계층적 변환으로서 누적하여 근사하는 것에 의해 야기되는 데이터 저하를 방지하기 위해, 새로운 기준 포인트 클라우드를 주기적으로 전송하는 것이 가능하다. 새로운 기준 포인트 클라우드는, 예를 들면, 새로운 전체 기준 포인트 클라우드가 N 번째 업데이트 단계마다 전송되는 것과 같은 고정된 간격을 사용하여 전송될 수 있다. 몇몇 실시형태에서, 누적 변화의 크기가 새로운 기준 포인트 클라우드를 전송하는 것을 보장해야 한다는 것을 결정하기 위해 다른 방법이 사용될 수 있을 것이다. 그러한 방법은, 예를 들면, 현재 캡쳐되는 장면과 기준 포인트 클라우드로서 더 앞서 전송된 장면 사이의 전체적인 변화를 확인하고, 그 다음, 변화가 임계치를 초과하는 경우 새로운 기준 포인트 클라우드를 전송할 수 있다.
기준 포인트 클라우드가 클라이언트로 전송되면, 프로세스는 포인트 클라우드 스트리밍의 각각의 시간 단계에 대해 실행되는 연속적인 하위 프로세스로 진행한다. 연속하는 하위 프로세스에서, 단계(812)에서, 서버는, 먼저, 기준 포인트 클라우드와 관련하여 최신 클라이언트 위치를 수신하거나, 또는 예측한다. 그 다음, 포인트(816)에서, 서버는 원시 센서 데이터를 최신 포인트 클라우드로 캡쳐하는데, 최신 포인트 클라우드는, 그 다음, 마지막 캡쳐 이후 발생한 변화가, 클라이언트에 대한 우선 순위가 지정된 변환으로서 변환되도록 프로세싱된다.
포인트 클라우드 데이터는 가상 콘텐츠를 완전한 3D 포맷으로 설명하기 위한 포맷이기 때문에, 장면 데이터를 검사하기 위한 상이한 관점이 선택될 수도 있다. 따라서, 몇몇 실시형태에서, 특정한 클라이언트에 대한 품질 요건을 더욱 정확하게 준수하기 위해, 콘텐츠를 최적화할 때, 클라이언트에 의해 사용되는 관점도 또한 고려된다. 본원의 다양한 실시형태에서, 동적 포인트 클라우드에서의 변화는 뷰어에 의해 인식되는 바와 같은 특정한 변화의 시각적 영향의 크기에 따라 우선 순위가 지정되기 때문에, 뷰어에 의해 사용되는 콘텐츠에 대한 관점은 특정한 변화의 시각적 영향에 가중치를 부여하는 효과를 갖는다. 몇몇 실시형태에서, 뷰어에 가까운 변화는 유저(또는 뷰어)로부터 멀리 떨어진 오브젝트에 대한 유사한 변화보다 통상적으로 더 잘 보이고, 따라서 그에 따라 우선 순위가 지정될 수도 있다. 따라서, 본원에서 설명되는 다양한 실시형태에서, 콘텐츠를 검사하기 위해 사용되는 관점을 서버에게 연속적으로 다시 보고하는 클라이언트에 대한 값이 있다.
이전에 프로세싱된 시간 단계 이후 발생한 캡쳐된 포인트 클라우드에서의 변화의 스트리밍은, 단계(818)에서, 이전에 캡쳐되는 포인트 클라우드로부터 일탈이 있는 포인트 클라우드의 영역을 먼저 분리하는 것에 의해 시작된다. 새롭게 캡쳐된 포인트 클라우드(및 그러므로 프로세싱될 현재의 포인트 클라우드)는 기준 포인트 클라우드에 대해 비교된다. 몇몇 실시형태에서, 예를 들면, 뚜렷하게 일탈하는 전체 지오메트리를 특징으로 하는 캡쳐 포인트의 모든 영역은 별개의 클러스터로 분리된다.
몇몇 실시형태에서, 클러스터는, 예를 들면, 기준 포인트 클라우드와는 상이한 포인트 클라우드의 분리된 (예를 들면) 연속하는 영역이다. 몇몇 실시형태에서, 연속 영역은, 예를 들면, 서로 상대적으로 가까운(예를 들면, 서로로부터 주어진 임계 거리 이하에 위치되는) 포인트의 콜렉션(예를 들면, 그룹)으로 구성되는 영역을 지칭할 수도 있다. 더 상세하게 설명될 바와 같이, 예를 들면, 일단 원래의 클러스터 영역이 프로세싱되면, 클러스터는, 여전히 일탈하고 있는 임의의 더 미세하게 세분된 영역 또는 하위 영역을 식별하기 위해, (예를 들면, 후속하는 프로세싱에서) 다시 검사될 수도 있다. 몇몇 실시형태에서, 클러스터의 식별은, 다음에 그 클러스터 내에서 변경된 포인트 위치를 가장 잘 추정하는 변환을 근사할 수 있기 위해, 마지막 업데이트 단계 이후 포인트 클라우드의 어떤 영역이 변경되었는지의 식별을 가능하게 할 수도 있다. 몇몇 실시형태에서, 클러스터링은, 먼저 기준 포인트 클라우드로부터 새롭게 캡쳐된 포인트 클라우드를 제하는 것, 및, 그러므로, 기준 포인트 클라우드와 캡쳐된 포인트 클라우드 사이의 포인트 위치를 유클리드 거리(Euclidean distance)의 어떤 공차와 비교하는 것에 의해 달성될 수 있고, 그 결과, 공차 거리 내에 포인트가 있는 경우, 새롭게 캡쳐된 포인트 클라우드에서의 대응하는 포인트는 일탈이 없는 것으로 마킹될 수 있다. 예에 따르면, 일단 캡쳐된 포인트 클라우드에서 일탈되지 않았던 포인트가 제거되면, 결과는 일탈 영역이다. 이들 영역은, 그 다음, 분리된 일탈 영역으로 클러스터링될 수 있다.
포인트 클라우드 등록 및 차이 비교는 반복 최근 포인트 접근법(iterative closest point approach), 또는 다른 유사한 접근법에 의해 달성될 수도 있다. 예를 들면, [HUANG, Jing et al., "Point cloud matching based on 3D self-similarity", Computer Vision and Pattern Recognition Workshops (CVPRW), 2012 IEEE Computer Society Conference on IEEE, 2012. p. 41-48]; [BOUAZIZ, Sofien et al., "Sparse iterative closest point", Computer graphics forum. Blackwell Publishing Ltd, 2013. p. 113-123]; 및 www.pointclouds.org/documentation/tutorials/cluster_extraction의 논문을 참조한다.
이제 도 7b를 참조하면, 일탈 영역이 클러스터로 분리되면(단계(818)), 단계(820)에서, 클러스터는, 예를 들면, 클라이언트 뷰에 대한 주어진 클러스터에 포함되는 변화의 시각적 영향에 따라 우선 순위가 지정된다. 본원에서 앞서 논의되는 바와 같이, 클라이언트 관점은, 몇몇 실시형태에서, 그것이 포인트 클라우드 데이터에서의 어떤 변화가 클라이언트에게 중요한지를 결정하기 위해 사용되기 때문에, 중요하다. 몇몇 실시형태에서, 시각적 영향은, 상대적으로 큰, 뷰잉 유저 근처에 있는 그리고 뷰잉 방향의 현재 초점 근처에 있는 변화가, 뷰잉 유저로부터 멀리 떨어져 있는 더 작은 변화 및 뷰잉 유저의 뒤쪽을 더 많이 향하는 방향보다 더 중요하도록 결정될 수도 있다. 몇몇 실시형태에서, 변화의 크기는 변화하는 포인트 클라우드의 영역 및 뷰어로부터의 그 영역의 거리 둘 모두에 의존할 수도 있다. 몇몇 상황에서, 관점으로부터 멀리 떨어진 변화는 뷰어에 대한 유의미한 시각적 영향을 갖지 않을 수도 있다.
몇몇 실시형태에서, 각각의 클러스터에 대한 우선 순위(도 7b에서 "중요도"로서 또한 표기됨)를 계산하기 위해 사용되는 거리는, (예를 들면, 클라이언트 측에서 포인트 클라우드를 검사하기 위해 클라이언트가 사용하고 있는) 가상 관점으로부터의 포인트의 거리일 수도 있다. 이 거리는 단계(814)에서 제공되는 현재의 클라이언트 위치로부터 계산될 수도 있다. 몇몇 실시형태에서, 클러스터의 경우, 거리는 클라이언트가 사용하고 있는 가상 관점으로부터 클러스터 내의 각각의 포인트의 평균 거리일 수도 있다. 몇몇 실시형태에서, 포인트 클라우드 내의 모든 포인트는 글로벌 포인트 클라우드 좌표 시스템을 사용하여 정의될 수도 있고 클라이언트 관점은 이 동일한 좌표 시스템을 사용할 수도 있다. 예를 들면, 현재의 관점이 포인트 클라우드에서 좌표 (x, y, z)에 위치되는 경우, 관점은 좌표 (x2, y2, z2)와 벡터 (x3, y3, z3)의 조합으로 주어질 수도 있다. 몇몇 상황에서, 관점 벡터는 단위 벡터일 수도 있다. 게다가, 몇몇 실시형태에서, 클라이언트에 의해 사용되는 뷰잉 프러스텀(viewing frustum)과 같은 추가적인 정보가 서버로 시그널링될 수 있다. 예를 들면, 도 6의 예시적인 프로세스를 다시 참조하면, 클라이언트가 볼 수 있는 포인트 클라우드의 부분만이 프로세싱될 수도 있다. 몇몇 실시형태에서, 서버가 가시 영역을 결정하는 것을 가능하게 하기 위해, 서버는, 예를 들면, 관점 및 방향에 추가하여, 예를 들면, 시야(field of view)(예를 들면, 뷰잉 프러스텀)를 알 필요가 있을 수도 있다.
단계(822)에서, 가장 높은 우선 순위(예를 들면, 도 7b에서와 같이, 가장 높은 계산된 중요도 메트릭(예를 들면, 점수))를 갖는 클러스터가 프로세싱된다. 도 5 및 도 6과 관련하여 앞서 설명되고 도 8과 관련하여 더 상세하게 설명될 바와 같이, 주어진 클러스터(예를 들면, 가장 높은 우선 순위를 갖는 클러스터)의 프로세싱은, 몇몇 실시형태에서, 기준 포인트 클라우드에 적용될 3D 변환을 결정하는 것, 또는, 그러한 변환이 결정될 수 없는 경우, 변화에 따라 기준 포인트 클라우드에서 추가될 및/또는 제거될 포인트를 결정하는 것을 수반한다.
단계(824)에서, 기준 포인트 클라우드에서의 클러스터 영역은 프로세싱 결과에 따라 서버에 의해 업데이트된다. 게다가, 도 7b에서 도시되는 바와 같이, 단계(824)에서, 프로세싱 결과에 관한 정보(예를 들면, 변환 또는 포인트 제거 및/또는 추가에 관련되는 정보)는, 클라이언트 측에서 기준 포인트 클라우드를 업데이트하기 위해 서버에 의해 클라이언트로 또한 송신될 수도 있다. 단계(826)에서, 방금 프로세싱된 클러스터는, 프로세싱된 클러스터에서 여전히 일탈하는 추가적인 영역(본원에서 "하위 영역"또는 "더 미세하게 세분된 잔여 변화 영역"으로 또한 지칭됨)을 식별하기 위해 서버에 의해 다시 검사된다. 일단 식별되면, 새로운 클러스터가 형성되고 각각의 새 클러스터의 중요도가 앞서 설명되는 바와 같이 계산된다.
단계(828)에서, 서버는 프로세싱을 계속하기 위한 여전히 충분한 프로세싱 버짓이 남아 있는지의 여부를 결정한다. 결정 결과가 긍정적이면, 프로세싱은 단계(822)로 복귀하는데, 여기서, 새롭게 형성된 클러스터 및 그들의 대응하는 중요도 값은, 다음으로 가장 높은 우선 순위를 갖는 클러스터를 다시 결정하고, 설명되는 바와 같이 프로세싱 블록 아래로 진행하기 위해, 이전에 형성된 클러스터에 추가된다.
다른 한편, 결정 결과가 부정적이면, 프로세스는 단계(830)로 이동하는데, 여기에서, 현재의 세션의 종료가, 예를 들면, 클라이언트에 의해 요청되었는지의 여부에 관한 결정이 이루어진다. 결정 결과가 부정적이면, 프로세스는 단계(814)로 복귀한다. 결정 결과가 긍정적이면, 프로세싱은 단계(832)로 이동하는데, 여기에서, 프로세싱 종료가 요청되었는지의 여부에 관한 결정이 이루어진다. 만약 그렇다면, 프로세스는 834에서 종료된다. 그렇지 않은 경우, 프로세스는, 도 7a에서 도시되는 바와 같이, 단계(804)로 복귀하는데, 여기에서, 서버는 포인트 클라우드 스트리밍을 위한 클라이언트로부터의 다른 요청을 대기한다.
몇몇 실시형태에 따른 예시적인 클러스터 프로세싱이 이제 더 상세하게 설명될 것이다.
몇몇 실시형태에서, 각각의 클러스터의 프로세싱에서, 목표는, 기준 포인트 클라우드와 캡쳐된 포인트 클라우드 사이의 일탈을 정확하게 설명하는 강체 변환을 찾는 것일 수도 있다. 일탈을 설명하는 어떠한 변환도 발견되지 않는 경우, 그러면, 몇몇 실시형태에서, 기준 포인트 클라우드를, 예를 들면, 캡쳐된 포인트 클라우드와 유사하게 만들기 위해, 포인트가 기준 포인트 클라우드에서 추가 및/또는 제거될 수 있다.
도 8은, 몇몇 실시형태에 따른, 클러스터를 프로세싱하는 예시적인 방법의 플로우차트이다. 몇몇 실시형태에서, 프로세싱은 서버에 의해 실행될 수도 있다.
클러스터의 프로세싱은 각각의 클러스터에게 각각의 우선 순위를 할당하는 것을 수반할 수도 있고, 그 결과, 가장 높은 우선 순위를 갖는 클러스터가 프로세싱을 위해 먼저 선택된다.
그러한 만큼, 단계(902)에서, 서버는 프로세싱을 위해 가장 높은 우선 순위를 갖는 클러스터를 선택할 수도 있다. 상기에서 설명되는 바와 같이, 주어진 클러스터의 우선 순위의 결정은, 몇몇 실시형태에서, 클러스터의 중요도(예를 들면, 중요도, 또는, 예를 들면, 우선 순위를 나타내는 점수)를 결정(예를 들면, 계산)하는 것에 기초할 수도 있는데, 여기서 중요도는 뷰어의 현재의 관점과 관련하여 클러스터에 포함되는 변화의 시각적 영향을 나타낸다. 프로세싱될 클러스터가 선택된 이후, 단계(904)에서, 서버는 기준 포인트 클라우드와 새롭게 캡쳐된 포인트 클라우드를 비교하여 두 포인트 클라우드 사이의 클러스터 영역의 형상 관련성을 찾는다. 몇몇 실시형태에서, 목표는, 동일한 전체 지오메트리 형상이 포인트 클라우드 둘 모두에서 존재하는지의 여부를 확인하는 것인데, 이것은 클러스터 영역이 두 시점 사이에서 변환되었다는 것을 의미할 수 있다. (단계(906)에서의) 형상 관련성이 발견되는지의 여부에 따라, 몇몇 실시형태에서, 프로세싱은 (단계(908) 및 그 이후에서) 변환을 구하도록 또는 (단계(912)에서) 포인트 추가 및/또는 제거의 프로세스로 (예를 들면, 직접적으로) 이동하도록 분기한다.
일반적으로, 두 포인트 클라우드 사이의 형상 관련성이 실행될 수도 있는 방법에 관한 수많은 예시적인 기술이 있다는 것이 이해될 것이다. 이 프로세스는, 예를 들면, 두 포인트 클라우드 데이터세트의 등록 프로세스를 수반할 수도 있다. 포인트 클라우드 등록 프로세스는 일반적으로, 예를 들면, 피쳐와 위치 사이의 유사성에 기초하여 관련성을 추정하는 것을 수반할 수도 있는데, 변환은 (예컨대, 데이터세트 중 하나에 적용되는 경우, 그것을 다른 데이터세트와 정렬할 수 있는 강체 변환 매트릭스의 형태로) 그 유사성으로부터 추정될 수도 있다. 예를 들면, pointclouds.org/documentation/tutorials/registration_api.php#registration-api의 논문을 참조한다.
하나의 예시적인 예로서, 몇몇 실시형태에서, 서버는, 기준 포인트 클라우드 및 새롭게 캡쳐된 포인트 클라우드에서 서로 상대적으로 가깝게 위치되는 일탈 클러스터 사이에서 상당히 대략적인 형상 추정을 실행하도록 구성될 수도 있다. 결과적으로, 매치가 있는 것으로 보이는 경우, 서버는 (예를 들면, 최적의) 변환을 찾기 위해 후속하여 반복 최근 포인트(iterative closest point; ICP) 알고리즘을 실행할 수도 있다. 몇몇 실시형태에서, 필요로 되는 경우, 서버는, 관련성이 존재한다는 것을 보장하기 위해, 등록된 클러스터 사이의 에러가, 예를 들면, 주어진 임계치 미만인 경우 추가적인 체크를 수행할 수도 있다.
본원에서 설명되는 예시적인 실시형태의 이점을 통해, 몇몇 실시형태에 따라 본원에서 설명되는 바와 같이, 클러스터의 계층적 포인트 클라우드 데이터 프로세싱 또는 검사가 데이터에서의 잔여 에러를 정정할 것이기 때문에, 형상 관련성의 정확도가 상대적으로 높을 필요가 없다는 것을 유의한다. 그러한 만큼, 몇몇 실시형태에서, 클러스터에 대해 ICP를 수행하는 것이 충분할 수도 있는데, 그 이유는, 심지어 불량하게 매칭하는 클러스터에서도, (앞서 그리고 하기에서 더 상세하게 설명되는 바와 같은) 다음의 하위 영역 클러스터 프로세싱이 잔여 에러를 정정할 수도 있기 때문이다.
게다가, 몇몇 실시형태에서, 형상 관련성(예를 들면, 매칭)을 찾는 것은, 클러스터 영역에 대한 경계를 정하는 볼륨을 생성하는 것 및 그것을 대략 동일한 사이즈/형상의 경계를 정하는 볼륨에 매칭시키는 것을 포함할 수 있다. 이 경우, 매치의 정확도가 증가될 필요가 있는 경우, 경계를 정하는 볼륨이 더 복잡한 지오메트리(예를 들면, 단순한 박스보다 더 복잡함)를 가지고 생성될 수도 있다.
단계(906)에서, 하나의 포인트 클라우드로부터 일탈 영역으로서 검출되는 유사한 지오메트리 영역이 제2 포인트 클라우드로부터 검출되는 경우, 그러면, 서버는 일탈이 일탈 영역의 변환에 의해 야기된다는 것을 결정할 수도 있다. 이 경우, 몇몇 실시형태에서, 변환을 가장 잘 설명할 수도 있는 변환이, 단계(908)에서, 구해진다. 일반적으로, 몇몇 실시형태에 따르면, 강체 변환(예를 들면, 병진 및 회전)은, 두 개의 대응하는 포인트 클라우드 영역(기준 포인트 클라우드에서의 A 및 캡쳐된 포인트 클라우드에서의 B)로부터 선형 시스템 B = R * A + t를 형성하는 것에 의해 고려되고 구해진다. 선형 시스템으로부터, R 및 t는, 대응하는 두 대응하는 포인트 클라우드 영역 사이의 포인트의 일탈로부터 계산되는 최소 제곱 오차(least square error)를 최소화하는 것에 의해 구해진다. 가장 작은 제곱 오차를 제공하는 R 및 t를 구하기 위해, 다수의 상이한 분석 또는 반복 선형 솔버(solver)가 사용될 수 있다.
변환은 선형 대수 및 컴퓨터 그래픽에서 사용되는 공지된 방법(예를 들면, 변환 매트릭스)을 포함할 수도 있다. 변환 매트릭스는 회전 및 병진을 단일의 매트릭스로 결합할 수도 있다. 변환 매트릭스를 통해, 포인트는, 포인트 좌표를 변환 매트릭스와 승산하는 것에 의해 변환될 수 있다. 3D 변환 매트릭스는 통상적으로 형상 3×4를 갖는다. 강체 변환을 통해, 처음 3×3 부분은 회전을 설명하는 것으로 해석될 수도 있고, 한편 나머지 3×1 부분은 병진을 설명할 수도 있다. 예를 들면, en.wikipedia.org/wiki/Transformation_matrix의 논문을 참조한다.
단계(908)에서, 두 포인트 클라우드 사이의 일탈을 근사하는 변환(예를 들면, 강체 변환)이 구해진다. 몇몇 실시형태에서, 구해진 변환은 기준 포인트 클라우드 클러스터를 캡쳐된 포인트 클러스터로 (예를 들면, 최적으로) 변환할 수도 있다. 단계(910)에서, 서버는, 기준 포인트 클라우드 내의 일탈 영역(본원의 곳곳에서 "변경된 영역"으로 또한 지칭됨)에 변환을 적용하는 것에 의해 기준 포인트 클라우드를 수정할 수도 있다. 단계(910)에서, 변환 및 일탈 영역의 표시는 또한 서버에 의해 클라이언트로 전송될 수도 있고, 그 결과, 클라이언트는 클라이언트 측에서 기준 포인트 클라우드의 로컬 사본을 상응하게 업데이트할 수 있다. 몇몇 실시형태에서, 표시는 변경된 영역을 나타내는 경계를 정하는 볼륨 좌표의 형태일 수도 있다. 이러한 방식으로, 클라이언트는 기준 포인트 클라우드에 대한 서버의 업데이트를 로컬하게 추적할 수 있다.
형상 관련성이 발견되지 않는 경우(단계(906)), 단계(912)에서, 캡쳐된 포인트 클라우드에서의 일탈 영역의 모습을, 예를 들면, 복제하는 기준 포인트 클라우드에서의 포인트 추가(예를 들면, 추가될 포인트) 및/또는 포인트 제거(예를 들면, 제거될 포인트)를 정의하기 위해, 클러스터의 기준 및 캡쳐된 포인트 클라우드 영역이 서버에 의해 검사될 수도 있다. 예시하기 위해, 데이터가 이제 보이게 되는 기준 포인트 클라우드에서의 지오메트리에 구멍이 존재하는 경우, 캡쳐된 포인트 클라우드의 구멍을 충전하는 새로운 데이터의 그 부분은 포인트를 추가하는 것에 의해 기준 포인트 클라우드에 추가된다. 대안적으로, 기준 포인트 클라우드에서 나타나는 포인트가 캡쳐된 포인트 클라우드에서 더 이상 존재하지 않는 경우, 그들 포인트는 기준 포인트 클라우드로부터 제거될 수도 있다. 그러한 포인트 제거는, 예를 들면, 캡쳐된 영역 외부로 움직이는 오브젝트에 의해 야기될 수 있다. 단계(912)에서, 서버에 의해 기준 포인트 클라우드에서 포인트가 추가 및/또는 제거됨에 따라, 몇몇 실시형태에서, 도 8에서 도시되는 바와 같이, 포인트 정보는, 클라이언트가 기준 포인트 클라우드의 클라이언트의 로컬 사본에 대해 동일한 포인트 추가/제거 동작을 수행할 수 있도록, 클라이언트로 또한 전송된다(예를 들면, 스트리밍된다). 몇몇 실시형태에서, 추가되는 포인트는 캡쳐된 포인트 클라우드에 존재하는 전체 해상도 데이터로부터 다운 샘플링될 수도 있다. 이것은, 예를 들면, 캡쳐된 포인트 클라우드의 해상도가 기준 포인트 클라우드 내에서 사용되는 해상도에 비해 상당히 더 높은 경우에 발생할 수도 있다.
기준 포인트 클라우드(단계(910))에 대해, 또는 기준 포인트 클라우드에 추가되는 및/또는 기준 포인트 클라우드로부터 제거되는 포인트(단계(912))에 대해 변환이 수행된 경우, 단계(914)에서, 서버는, 여전히 일탈하고 있을 수도 있는, 또는 잔여 변화(들)를 나타내고 있을 수도 있는 방금 프로세싱된 클러스터 내의 가능한 하위 영역(본원의 곳곳에서 "더 미세하게 세분된 영역" 또는 "더 미세하게 세분된 잔여 변화 영역"으로 또한 지칭됨)을 클러스터링하기 위해, 클러스터 영역(본원의 곳곳에서 "메인 변화 영역" 또는 "메인 클러스터 영역"으로 또한 지칭됨)을 다시 검사할 수도 있다. 몇몇 실시형태에서, 프로세싱된 클러스터 내에서 가장 높은 우선 순위를 갖는 하나 이상의 하위 영역을 식별하기 위해, 서버는 캡쳐된 포인트 클라우드를 업데이트된 기준 포인트 클라우드와 비교하여, 업데이트된 기준 포인트 클라우드로부터 여전히 일탈할 수도 있는 더 미세하게 세분된 영역을 (만약 있다면) 식별할 수도 있다.
앞서 설명되는 바와 같이, 업데이트된 기준 포인트 클라우드는, 변환이 적용된 또는 포인트 추가 및/또는 제거를 통해 수정된 원래의 기준 포인트 클라우드일 수도 있다. 몇몇 실시형태에서, 새로운 클러스터는 식별된 하위 영역에 대해 정의될 수도 있고, 단계(916)에서, 새로운 클러스터는 각각의 새로운 클러스터에 대한 각각의 중요도를 결정(예를 들면, 계산)하는 것에 의해 우선 순위를 지정받을 수도 있다(예를 들면, 각각의 우선 순위를 할당받을 수도 있다). 그러한 계산은 메인 클러스터 영역에 대응하는 클러스터에 대해 본원의 상기에서 설명되는 바와 유사한 방식으로 수행될 수도 있다. 그 다음, 서버는, 단계(918)에서, 프로세싱 버짓이 여전히 남아 있다는 것을 결정하는 경우, 서버는 프로세싱될 클러스터 목록에 이들 새로운 클러스터를 추가할 수도 있다. 그러므로, 클러스터의 목록은, 이제, (그들의 중요도에 기초하여) 이전에 우선 순위가 지정된 메인 클러스터 영역 및 그들 각각의 중요도 값, 또는 우선 순위를 갖는 새로운 클러스터를 포함할 것이다. 몇몇 실시형태에서, 프로세싱 버짓은, 각각의 포인트 클라우드 업데이트 사이클 사이에서 필요한 변환 및/또는 포인트 추가/제거를 계산하는 데 이용 가능한 서버가 갖는 시간을 포함한다. 프로세싱 버짓이 더 이상 이용 가능하지 않은 경우, 그러면, 단계(920)에서, 서버는 도 7a 및 도 7b에서 도시되는 바와 같은 메인 프로세싱으로 복귀할 수도 있다(예를 들면, 도 7b 및 그에 대응하는 설명(예를 들면, 단계(830 및 832)) 참조).
프로세싱 버짓이 여전히 남아 있는 경우, 가장 높은 우선 순위를 갖는 클러스터가 프로세싱되고 여전히 일탈을 갖는 그 클러스터 내의 하위 영역에 대해 새로운 클러스터가 분리되면, 프로세싱은 단계(902)로 복귀하는데, 여기서, 서버는, 우선 순위가 지정된 클러스터 목록으로부터 프로세싱될 다음으로 가장 높은 우선 순위를 갖는 다음 번의 클러스터를 선택한다. 이와 관련하여, 몇몇 실시형태에서, 다음으로 가장 높은 우선 순위를 갖는 다음 번의 클러스터는, 메인 변화 영역에 대해 앞서 식별된 나머지 클러스터 중 하나일 수도 있거나 또는 하위 영역 중 하나(예를 들면, 이전의 가장 높은 우선 순위를 갖는 방금 프로세싱된 클러스터 내의 하위 영역)에 대응하는 클러스터일 수도 있다. 몇몇 실시형태에서, 도 8에서 도시되는 프로세싱은, 포인트 클라우드 업데이트 사이클 사이에서 가능한 한 많은 시각적 변화가 기준 포인트 클라우드에서 재생성되어 클라이언트로 전송되는 것을 보장하기 위해, 식별된 클러스터 중에서 가장 큰 시각적 영향을 갖는 클러스터의 우선 순위를 연속적으로 지정한다.
몇몇 실시형태에서, 업데이트의 프로세싱은 (예를 들면, 도 5 내지 도 8에서 설명되는 예시적인 프로세스에서 도시되는 바와 같이) 클라이언트 측 또는 서버 측에 있는 유저가 프로세스 종료를 요청할 때까지 연속적으로 실행될 수도 있다. 그 다음, 예를 들면, 요청에 따라, 서버 측에 대한 프로세싱은 클라이언트 연결 요청을 대기하는 것으로 되돌아가거나 또는 프로세스를 완전히 종료할 수도 있다.
이제, 몇몇 실시형태에 따른, 예시적인 변형예가 설명될 것이다.
몇몇 실시형태에서, 서버는 다수의 클라이언트와의 연결을 동시에 핸들링할 수도 있다. 이 경우, 서버는, 예를 들면, 클라이언트 연결 요청을 연속적으로 청취할 수도 있고, 예를 들면, 클라이언트가 서버에 연결하려는 의도를 시그널링할 때마다, 서버는 현재의 기준 포인트 클라우드를 연결하는 클라이언트로 전송할 수도 있다. 그러한 만큼, 몇몇 실시형태에 따르면, 본원에서 설명되는 다양한 방법은 서버에 능동적으로 연결되는 클라이언트의 각각에 대해 수행될 수도 있다. 몇몇 실시형태에서, 서버는 또한, 예를 들면, 특정한 클라이언트에 대해 프로세싱되는 클러스터에 대한 각각의 중요도 값(예를 들면, 점수)을 결정(예를 들면, 계산)할 때 위치를 고려하기 위해, 모든 연결된 클라이언트의 각각으로부터 주어진 위치를 수신할 수도 있다. 본원에서 앞서 언급되는 바와 같이, 몇몇 실시형태에서, 클라이언트 위치는, 예를 들면, 클라이언트 관점과 관련하여, 주어진 포인트 클라우드 내의 영역의 거리를 결정하기 위해 사용될 수도 있다. 이와 관련하여, 몇몇 실시형태에서, 앞서 설명되는 바와 같이, 중요도 계산(그러므로, 예를 들면, 클러스터 우선 순위)은 클라이언트의 현재의 관점으로부터의 변화의 영역의 거리에 적어도 부분적으로 기초한다.
몇몇 실시형태에서, 개시된 방법의 다양한 실시형태는 사전 캡쳐된 동적 포인트 클라우드 시퀀스에 기초하여 서버에 의해 실행될 수도 있다. 즉, 몇몇 실시형태에 따르면, 이 특정한 변형예에서, 포인트 클라우드 데이터는 저장 매체 상에 저장될 수도 있고, 센서로부터 보다는, 저장 매체로부터 검색될 수도 있다. 게다가, 몇몇 실시형태에서, 그 데이터는, 임의의 클라이언트가 데이터를 요청하기 이전에 사전 프로세싱 단계로서 (예를 들면, 몇몇 실시형태에 따라 본원에서 설명되는 다양한 기술을 사용하여) 우선 순위가 지정된 변환의 (예를 들면, 최적화된) 스트림으로 변환될 수 있다.
몇몇 실시형태에서, 서버는 사전 정의된 오브젝트 모델과의 영역 관련성을 추정하기 위해 포인트 클라우드 데이터를 추가적으로 검사할 수도 있다. 그 다음, 서버는 클라이언트가 뷰잉 애플리케이션의 상황에 맞는 조정(contextual adjustment)을 위해 사용할 수도 있는 몇몇 자연적인 마커를 뷰어에게 나타낼 수 있다. 이와 관련하여, 몇몇 실시형태에서, 포인트 클라우드 (데이터)가 프로세싱되고 있을 때, 예를 들면, 공지된 오브젝트 타입이 포인트 클라우드로부터 식별될 수도 있는지를 검출하기 위해, 별개의 형상 분류가 포인트 클라우드에 대해 또한 실행될 수 있을 것이다.
몇몇 실시형태에서, 서버는 기준 포인트 클라우드와 함께 상황에 맞는 정보(contextual information)를 클라이언트에게 제공하기 위해 포인트 클라우드를 분석할 수도 있다. 예를 들면, 서버는 포인트 클라우드를 분석하여 포인트 클라우드에서 바닥면(floor plane)을 추정하고, 이 정보를 클라이언트에게 제공할 수도 있다. 그 다음, 클라이언트는, 포인트 클라우드 데이터 내에서 특색을 이루는 바닥면이 뷰어의 물리적 환경의 바닥면과 일치하도록 포인트 클라우드 디스플레이를 정렬하기 위해 바닥면 정보를 사용할 수도 있다. 몇몇 실시형태에서, 이것은 오브젝트 인식이 어떻게 사용될 수 있는지의 한 예이다. 더 구체적으로, 포인트 클라우드에 대해 별개의 오브젝트 인식이 서버에 의해 실행될 수도 있고, '상황에 맞게' 유의미한 어떤 것, 예를 들면, 이 경우에서는 바닥면이 검출되면, 서버는 그 정보를 클라이언트로 송신할 수도 있다.
몇몇 실시형태에서, 포인트 클라우드 데이터의 상황에 맞는 이해는 콘텐츠의 일부를 필터링하기 위해 서버에 의해 사용될 수도 있다. 이와 관련하여, 몇몇 실시형태에서, (예를 들면, 상기에서 설명되는 바와 같이) 상황에 맞게 의미있는 정보를 클라이언트로 단지 시그널링하는 대신, 서버는 그 정보를 사용하여 서버 측에서 포인트 클라우드 데이터를 프로세싱할 수도 있다. 몇몇 실시형태에서, 필터링은 클라이언트 요청 또는 (예를 들면, 서버 측에서의) 몇몇 사전 정의된 설정에 의해 구동될 수도 있다. 예를 들면, 클라이언트는 장면에서의 동적 엘리먼트에 대한 업데이트만을 스트리밍할 것을, 또는 캡쳐된 콘텐츠의 바닥(floor) 및 천장(ceiling)을 필터링할 것을 서버에게 요청할 수도 있다. 그러므로, 몇몇 실시형태에서, 서버는, 정지 상태의 엘리먼트가 아니라, (예를 들면, 적어도 부분적으로) 동적인 (그러므로, 시간에 따라 변경될 가능성이 있는) 엘리먼트로만 업데이트를 스트리밍할 수도 있다.
이제, 몇몇 실시형태에 따른, 예시적인 동작이 설명될 것이다. 하나의 가능한 예시적인 동작에서, 카메라 어레이는 벽과 문을 겨냥할 수도 있다. 카메라 어레이 데이터로부터, 3D 포인트 클라우드가 생성될 수도 있는데, 이것은 그 다음 클라이언트(들)에게 분배될 수 있다. 클라이언트 측에서, 모션 시차(motion parallax)를 가능하게 하는 방식으로 MR 안경을 사용하여 3D 포인트 클라우드를 볼 수 있다. 몇몇 실시형태에 따른 개시된 방법 및 시스템을 사용하여, 서버는 카메라 어레이 데이터로부터 포인트 클라우드를 생성할 수도 있다. 클라이언트가 서버에 연결되는 경우, 서버는, 기준 포인트 클라우드로서 설정될 제1 포인트 클라우드로 시작하여, 동적 포인트 클라우드 시퀀스를 클라이언트로 스트리밍하기 시작할 수도 있다. 로컬 디바이스 추적은 클라이언트 디바이스에 상에서 실행될 수도 있고 클라이언트는, 일단 클라이언트가 기준 포인트 클라우드를 수신하고 초기 관점을 선택하면, 기준 포인트 클라우드에 대한 관점 위치를 전송하기 시작할 수도 있다. 몇몇 실시형태에서, 클라이언트는 로컬 유저 선호도에 기초하여 포인트 클라우드 데이터에 대한 초기 관점을 선택할 수도 있다.
클라이언트가, 먼저, 서버와 연결되고 (예를 들면, 최적화된) 동적 포인트 클라우드 스트림을 요청하는 경우, 서버는 기준 포인트 클라우드로 사용되는 전체 포인트 클라우드를 전송한다. 기준 포인트 클라우드가 클라이언트로 전송된 이후, 몇몇 실시형태에서, 이 기준 포인트 클라우드에 대한 업데이트만이 (예를 들면, 어떤 시간 기간 동안) 전송된다.
어떤 시간 기간 동안 장면에서 아무것도 변하지 않으면, 몇몇 실시형태에서, 1차 데이터 교환(primary data exchange)은 클라이언트가, 포인트 클라우드에 대한 자신의 위치를 서버로 전송하는 것을 수반한다. 이 시간 동안, 서버는, 가장 큰 시각적 영향을 갖는 그들 변화를 클라이언트로 송신하기 위해, 발생하는 변화의 우선 순위를 지정함에 있어서 업데이트된 클라이언트 관점 위치를 사용하여, 동적 포인트 클라우드 데이터에서 발생하는 변화를 연속적으로 추정한다. 몇몇 실시형태에서, 엘리먼트가 움직이지 않는 또는 변경되지 않는 정적인 장면을 캡쳐할 때, 포인트 클라우드를 캡쳐하기 위해 사용되는 센서는 측정 노이즈 또는 일관성이 없는 측정 밀도를 가질 수 있는데, 이들은, 캡쳐된 포인트 클라우드 시퀀스가 정적인 장면으로부터 기록되고 있더라도, 캡쳐된 포인트 클라우드 시퀀스로 하여금 동적 거동의 특색을 이루게 할 수도 있다. 몇몇 실시형태에서, 서버는 포인트 클라우드 데이터에서의 변화를 연속적으로 검출할 것이고, 가장 최신 클라이언트 위치를 사용하여 변화의 우선 순위를 지정할 것이고, 그들 변화와 관련되는 우선 순위에 기초하여 변화를 변환으로서 클라이언트로 스트리밍할 것이다.
게다가, 이 예시적인 동작(벽 및 문을 캡쳐하는 것)에서, 문이 열리기 시작할 수도 있다. 서버는 문이 열리기 시작할 때의 시간 단계로부터 포인트 클라우드 데이터를 캡쳐할 수도 있다. 프로세스는 문을 일탈 영역의 클러스터로 분리하고 각각의 시간 단계에 대해 문을 포함하는 포인트 클라우드의 영역의 모션을 근사하는 변환을 찾을 수도 있다. 센서가 문을 여는 사람의 이미지를 캡쳐할 때, 몇몇 실시형태에서, 프로세스는 또한 기준 포인트 클라우드에서 이전에 존재하지 않았던 (사람을 캡쳐하는) 이들 새로운 포인트를 전송하기 시작할 수도 있다.
문을 여는 사람이 완전히 보이고 (캡쳐된 사람의) 포인트 클라우드의 새로운 포인트가 클라이언트로 전송되면, 몇몇 실시형태에서, 사람의 모션은 대략적인 레벨에서 강체 변환으로서 근사될 수도 있고, 캡쳐의 각각의 프레임 동안, 이들 강체 변환은 (예를 들면, 본원에서 앞서 설명되는 바와 같이) 대략적인 레벨로부터 더 미세한 세부 레벨로 추가로 추정될 수도 있고, 그 결과, 캡쳐되는 프레임으로부터 프레임으로의 신체 모습의 변형이 연속적으로 근사된다.
도 9는, 몇몇 실시형태에 따른, 예시적인 방법(1000)을 예시하는 플로우차트이다. 몇몇 실시형태에서, 방법은 서버에 의해 수행된다. 단계(1002)에서, 서버는 제1 포인트 클라우드를 클라이언트로 송신하는데, 여기서 제1 포인트 클라우드는 기준 포인트 클라우드에 대응한다. 단계(1004)에서, 서버는 제2 포인트 클라우드를 수신한다. 단계(1006)에서, 서버는 기준 포인트 클라우드로부터의 제2 포인트 클라우드에서의 변화를 계층적으로 결정한다. 변화를 계층적으로 결정하기 위해, 단계(1108)에서, 서버는 기준 포인트 클라우드로부터 변경된 제1 영역을 제2 포인트 클라우드에서 식별한다. 변화를 계층적으로 결정하기 위해, 단계(1110)에서, 서버는 제1 영역의 우선 순위를 추가로 지정한다. 변화를 계층적으로 결정하기 위해, 단계(1012)에서, 가장 높은 우선 순위를 갖는 제1 영역에 대해, 서버는 기준 포인트 클라우드로부터의 제1 변화를 근사하는 제1 강체 3D 변환이 존재하는지의 여부를 결정한다. 단계(1014)에서, 제1 강체 3D 변환이 존재한다는 결정에 응답하여, 서버는 기준 포인트 클라우드로부터의 제1 변화를 근사하는 제1 강체 3D 변환을 결정한다. 마지막으로, 단계(1016)에서, 제1 강체 3D 변환이 존재하지 않는다는 결정에 응답하여, 서버는, 기준 포인트 클라우드를 수정하기 위해 사용될 제1 포인트를 추가로 결정하는데, 여기서 제1 포인트는 제1 변화를 나타낸다.
도 10a 및 도 10b는, 몇몇 실시형태에 따른, 다른 예시적인 방법(1100)을 예시하는 각각의 플로우차트이다. 도 10b는 도 10a에서 도시되는 방법 단계의 계속이다는 것을 유의한다. 몇몇 실시형태에서, 방법은 서버에 의해 수행된다. 단계(1102)에서, 서버는 초기 포인트 클라우드를 클라이언트로 송신한다. 단계(1104)에서, 서버는 초기 포인트 클라우드로부터의 현재의 포인트 클라우드에서의 변화를 계층적으로 결정한다. 변화를 계층적으로 결정하기 위해, 단계(1106)에서, 서버는 현재의 포인트 클라우드에서 메인 변화 영역을 식별한다. 변화를 계층적으로 결정하기 위해, 단계(1108)에서, 서버는, 초기 포인트 클라우드로부터의 제1 변화를 근사하는 제1 강체 3D 변환이 존재하는지의 여부를 결정하기 위해 제1 메인 변화 영역을 추가로 사용한다. 단계(1110)에서, 제1 강체 3D 변환이 존재한다는 결정에 응답하여, 서버는 초기 포인트 클라우드로부터의 제1 변화를 근사하는 제1 강체 3D 변환을 결정한다. 단계(1112)에서, 제1 강체 3D 변환이 존재하지 않는다는 결정에 응답하여, 서버는 초기 포인트 클라우드를 수정하기 위해 사용될 제1 포인트를 추가로 결정하는데, 여기서 제1 포인트는 제1 변화를 나타낸다. 단계(1114)에서, 변화를 계층적으로 결정하기 위해, 서버는 또한, 메인 변화 영역 내에서 하나 이상의 더 미세하게 세분된 잔여 변화 영역을 식별한다. 변화를 계층적으로 결정하기 위해, 단계(1116)에서, 서버는 또한, 초기 포인트 클라우드로부터의 제2 변화를 근사하는 제2 강체 3D 변환이 존재하는지의 여부를 결정하기 위해, 하나 이상의 더 미세하게 세분된 잔여 변화 영역 및 나머지 메인 변화 영역을 사용한다. 단계(1118)에서, 제2 강체 3D 변환이 존재한다는 결정에 응답하여, 서버는 초기 포인트 클라우드로부터의 제2 변화를 근사하는 제2 강체 3D 변환을 결정한다. 마지막으로, 단계(1120)에서, 제2 강체 3D 변환이 존재하지 않는다는 결정에 응답하여, 서버는, 초기 포인트 클라우드를 추가로 수정하기 위해 사용될 제2 포인트를 추가로 결정하는데, 여기서 제2 포인트는 제2 변화를 나타낸다.
게다가, 다양한(예를 들면, 관련된) 실시형태가 본원의 상기에서 설명되었다.
몇몇 실시형태에 따르면, 시계열의 포인트 클라우드 프레임을, 기준 포인트 클라우드에 적용되는 계층적 3D 변환의 세트로서 나타내는 방법이 개시된다. 몇몇 실시형태에서, 일련의 강체 변환이 기준 포인트 클라우드를 변경하기 위해 사용될 수도 있다. 몇몇 실시형태에서, 추가적인 시그널링은 기준 포인트 클라우드에서 포인트를 추가하거나 또는 제거할 수 있다.
몇몇 실시형태에 따르면, 콘텐츠의 표현을 위한 변환의 인코더 측 선택의 방법이 개시된다.
몇몇 실시형태에 따르면, 라이브 인코딩이 아닌 클라이언트로의 분배하기 위한 사전 캡쳐된 콘텐츠의 최적화가 개시된다.
몇몇 실시형태에 따르면, 포인트 클라우드 및 변환에 추가하여, 예를 들면, 인식된 엘리먼트의 위치와 같은 추가적인 컨텍스트 분석 데이터를 시그널링하는 것이 개시된다.
몇몇 실시형태에 따르면, 3D 데이터를 클라이언트로 제공하는 방법은: 3D 데이터를 제1 포인트 클라우드로서 수신하는 것; 클라이언트로부터 요청을 수신하는 것에 응답하여, 제1 포인트 클라우드를 클라이언트로 전송하고 제1 포인트 클라우드를 기준 포인트 클라우드로서 저장하고, 그 다음, 현재의 포인트 클라우드로서 3D 데이터를 반복적으로 수신하는 것; 클라이언트로부터, 현재의 관찰 관점을 수신하는 것; 및 현재의 관찰 관점을 수신하는 것에 응답하여; 기준 포인트 클라우드의 관점에 대한 현재의 포인트 클라우드의 관점에서의 변화를 결정하는 것; 기준 포인트 클라우드에 대한 현재의 포인트 클라우드의 계층적 검사를 수행하여, 일탈의 영역을 식별하는 것; 일탈의 영역을 클러스터링하는 것; 일탈의 클러스터링된 영역에 대한 점수를 계산하는 것; 일탈의 클러스터링된 영역에 대한 형상 관련성을 결정하는 것; 및 일탈의 클러스터링된 영역에 대한 유사한 형상을 결정하는 것에 응답하여; 기준 포인트 클라우드에 변환을 적용하는 것; 및 변환 및 클러스터링된 영역의 표시를 클라이언트로 전송하는 것; 일탈의 클러스터링된 영역에 대한 유사한 형상을 결정하지 않는 것에 응답하여; 기준 포인트 클라우드에서 포인트를 추가 또는 제거하는 것; 및 추가된 또는 제거된 포인트를 클라이언트로 전송하는 것을 포함할 수도 있다.
몇몇 실시형태에 따르면, 3D 데이터를 클라이언트로 제공하는 다른 방법은: 3D 데이터를 제1 포인트 클라우드로서 수신하는 것; 클라이언트로부터 요청을 수신하는 것에 응답하여, 제1 포인트 클라우드를 클라이언트로 전송하고 제1 포인트 클라우드를 기준 포인트 클라우드로서 저장하는 것; 포인트 클라우드 데이터를 클라이언트로 스트리밍하기 위한 프로세스를 시작하는 것을 포함할 수도 있는데, 프로세스는, 중단 요청이 수신될 때까지 새로운 포인트 클라우드에 대해 반복적으로 수행되고, 프로세스는: 3D 데이터를 현재의 포인트 클라우드로서 수신하는 것; 기준 포인트 클라우드에 대한 현재의 포인트 클라우드의 계층적 검사를 수행하여, 일탈의 영역을 식별하는 것; 일탈의 영역을 클러스터링하는 것; 일탈의 클러스터링된 영역에 대한 점수를 계산하는 것; 일탈의 클러스터링된 영역의 형상을 근사하는 변환을 결정하는 것; 및 변환을 결정하는 것에 응답하여; 기준 포인트 클라우드에 변환을 적용하는 것; 및 변환 및 클러스터링된 영역의 표시를 클라이언트로 전송하는 것; 변환을 결정하지 않는 것에 응답하여; 기준 포인트 클라우드에서 포인트를 추가 또는 제거하는 것; 및 추가된 또는 제거된 포인트를 클라이언트로 전송하는 것을 포함한다.
몇몇 실시형태에서, 3D 데이터를 수신하는 것은 센서로부터 데이터를 수신하는 것 또는 저장 매체로부터 사전 캡쳐된 동적 포인트 클라우드 시퀀스를 수신하는 것을 포함할 수도 있다. 몇몇 실시형태에서, 센서 데이터는 RGB-D 캡쳐 데이터, LIDAR 캡쳐 데이터, 또는 어떤 다른 타입일 수도 있다. 제1 포인트 클라우드를 클라이언트로 전송하는 것은, 몇몇 실시형태에서, 복사 휘도 이미지 데이터를 클라이언트로 전송하는 것을 포함할 수도 있다. 몇몇 실시형태에서, 점수는, 영역의 사이즈, 일탈의 양, 및 현재의 관점으로부터의 일탈 영역의 거리의 가중된 합에 기초하여 계산될 수도 있다. 추가적으로, 몇몇 실시형태에서, 방법의 각각은, 추가적인 클러스터를 프로세싱하기 위한 프로세싱 버짓에서 시간이 남아 있는지의 여부를 결정하는 것, 및 시간이 남아 있는 경우, 추가적인 클러스터를 프로세싱하는 것을 더 포함할 수도 있다. 몇몇 실시형태에서, 방법은 포인트 클라우드 업데이트를 위한 시간 및 대역폭 제한을 설정하기 위한 프로세싱 버짓을, 서버와 클라이언트 사이에서 협상하는 것을 더 포함할 수도 있다.
시스템은, 프로세서 및 프로세서에 의한 실행시 개시된 방법 중 임의의 것을 수행하도록 동작하는 명령어를 저장하는 비일시적 컴퓨터 판독 가능 매체를 사용하여 방법을 수행할 수도 있다. 몇몇 실시형태에서, 시스템은 3D 센서를 또한 포함할 수도 있다.
설명된 실시형태 중 하나 이상의 실시형태의 다양한 하드웨어 엘리먼트는, 각각의 모듈과 관련하여 본원에서 설명되는 다양한 기능을 실행하는(carry out)(즉, 수행하는(perform), 실행하는(execute), 및 등등을 하는) "모듈"로 지칭된다는 것을 유의한다. 본원에서 사용되는 바와 같이, 모듈은, 주어진 구현을 위한 관련 기술 분야에서 숙련된 자에 의해 적절한 것으로 간주되는 하드웨어(예를 들면, 하나 이상의 프로세서, 하나 이상의 마이크로프로세서, 하나 이상의 마이크로컨트롤러, 하나 이상의 마이크로칩, 하나 이상의 주문형 집적 회로(ASIC), 하나 이상의 필드 프로그래머블 게이트 어레이(FPGA), 하나 이상의 메모리 디바이스)를 포함한다. 각각의 설명된 모듈은 또한, 각각의 모듈에 의해 수행되는 것으로 설명되는 하나 이상의 기능을 수행하도록 실행 가능한 명령어를 포함할 수도 있고, 그들 명령어는 하드웨어(즉, 하드웨어에 내장되는) 명령어, 펌웨어 명령어, 소프트웨어 명령어, 및/또는 등등의 형태를 취할 수 있거나 또는 그들을 포함할 수 있으며, RAM, ROM, 등등으로 일반적으로 칭해지는 것과 같은, 임의의 적절한 비일시적 컴퓨터 판독 가능 매체 또는 매체들에 저장될 수도 있다는 것을 유의한다.
비록 피쳐 및 엘리먼트가 특정 조합으로 상기에서 설명되었지만, 기술 분야에서 통상의 지식을 가진 자는, 각각의 피쳐 또는 엘리먼트는 단독으로 또는 다른 피쳐 및 엘리먼트와 임의의 조합으로 사용될 수 있다는 것을 인식할 것이다. 또한, 본원에서 설명되는 방법은, 컴퓨터 또는 프로세서에 의한 실행을 위해 컴퓨터 판독 가능 매체에 통합되는 컴퓨터 프로그램, 소프트웨어, 또는 펌웨어로 구현될 수도 있다. 컴퓨터 판독 가능 저장 매체의 예는, 리드 온리 메모리(ROM), 랜덤 액세스 메모리(RAM), 레지스터, 캐시 메모리, 반도체 메모리 디바이스, 내장 하드 디스크 및 착탈식 디스크와 같은 자기 매체, 광자기 매체, 및 CD-ROM 디스크 및 디지털 다기능 디스크(digital versatile disk; DVD)와 같은 광학 매체를 포함하지만, 그러나 이들로 제한되는 것은 아니다. 소프트웨어와 관련하는 프로세서는, WTRU, UE, 단말, 기지국, RNC, 또는 임의의 호스트 컴퓨터에서 사용하기 위한 무선 주파수 트랜스시버를 구현하기 위해 사용될 수도 있다.

Claims (37)

  1. 서버에서 수행되는 방법으로서,
    클라이언트로 제1 포인트 클라우드 - 상기 제1 포인트 클라우드는 기준 포인트 클라우드에 대응함 - 를 송신하는 단계;
    제2 포인트 클라우드를 수신하는 단계; 및
    상기 기준 포인트 클라우드로부터의 상기 제2 포인트 클라우드에서의 변화를 계층적으로 결정하는 단계를 포함하되, 상기 변화를 계층적으로 결정하는 단계는:
    상기 기준 포인트 클라우드로부터 변경된 제1 영역을 상기 제2 포인트 클라우드에서 식별하는 단계;
    상기 제1 영역의 우선 순위를 지정하는 단계;
    가장 높은 우선 순위를 갖는 제1 영역에 대해, 상기 기준 포인트 클라우드로부터의 제1 변화를 근사하는 제1 강체 3D 변환(rigid 3D transformation)이 존재하는지의 여부를 결정하는 단계;
    상기 제1 강체 3D 변환이 존재한다는 결정에 응답하여, 상기 기준 포인트 클라우드로부터의 상기 제1 변화를 근사하는 상기 제1 강체 3D 변환을 결정하는 단계; 및
    상기 제1 강체 3D 변환이 존재하지 않는다는 결정에 응답하여, 상기 기준 포인트 클라우드를 수정하기 위해 사용될 제1 포인트 - 상기 제1 포인트는 상기 제1 변화를 나타냄 - 를 추가로 결정하는 단계를 포함하는, 서버에서 수행되는 방법.
  2. 제1항에 있어서,
    상기 기준 포인트 클라우드를 수정하기 위해 사용될 상기 제1 포인트는, (i) 상기 기준 포인트 클라우드로부터 제거될 포인트 또는 (ii) 상기 기준 포인트 클라우드에 추가되는 포인트 중 적어도 하나를 포함하는, 서버에서 수행되는 방법.
  3. 제1항에 있어서,
    상기 제1 영역을 식별하는 단계는, 상기 기준 포인트 클라우드로부터 일탈하는(deviate) 제1 영역을 상기 제2 포인트 클라우드에서 식별하기 위해 상기 제2 포인트 클라우드를 상기 기준 포인트 클라우드와 비교하는 단계를 포함하는, 서버에서 수행되는 방법.
  4. 제1항에 있어서,
    상기 제1 영역의 우선 순위를 지정하는 단계는, 상기 클라이언트의 현재의 관점에 적어도 부분적으로 기초하여 상기 제1 영역의 각각에게 각각의 제1 우선 순위를 할당하는 단계를 포함하는, 서버에서 수행되는 방법.
  5. 제4항에 있어서,
    상기 각각의 제1 우선 순위를 상기 제1 영역의 각각에게 할당하는 단계는, 상기 제1 영역의 사이즈, 상기 기준 포인트 클라우드로부터의 상기 제1 영역의 일탈(deviation)의 양, 및 상기 클라이언트의 상기 현재의 관점으로부터의 상기 제1 영역의 거리를 사용하여 상기 각각의 제1 우선 순위를 결정하는 단계를 포함하는, 서버에서 수행되는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 클라이언트로부터, 상기 현재의 관점을 수신하는 단계를 더 포함하는, 서버에서 수행되는 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 기준 포인트 클라우드를 저장하는 단계; 및
    상기 제1 3D 강체 변환이 결정된 경우, 상기 기준 포인트 클라우드에 상기 제1 강체 3D 변환을 적용하는 것에 의해 상기 서버에 저장되는 상기 기준 포인트 클라우드를 업데이트하는 단계를 더 포함하는, 서버에서 수행되는 방법.
  8. 제7항에 있어서,
    상기 클라이언트에서 상기 기준 포인트 클라우드를 업데이트하기 위해, 상기 가장 높은 우선 순위를 갖는 상기 제1 영역의 표시 및 상기 제1 강체 3D 변환을 상기 클라이언트로 송신하는 단계를 더 포함하는, 서버에서 수행되는 방법.
  9. 제8항에 있어서,
    상기 가장 높은 우선 순위를 갖는 상기 제1 영역의 상기 표시는 경계를 정하는 볼륨 좌표(bounding volume coordinate)를 포함하는, 서버에서 수행되는 방법.
  10. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 기준 포인트 클라우드를 저장하는 단계; 및
    상기 제1 포인트가 결정된 경우 상기 제1 포인트를 사용하여 상기 기준 포인트 클라우드를 수정하는 것에 의해 상기 서버에 저장되는 상기 기준 포인트 클라우드를 업데이트하는 단계를 더 포함하는, 서버에서 수행되는 방법.
  11. 제10항에 있어서,
    상기 클라이언트에서 상기 기준 포인트 클라우드를 업데이트하기 위해 상기 제1 포인트의 표시를 상기 클라이언트로 송신하는 단계를 더 포함하는, 서버에서 수행되는 방법.
  12. 제7항 내지 제11항 중 어느 한 항에 있어서,
    상기 변화를 계층적으로 결정하는 단계는:
    상기 가장 높은 우선 순위를 갖는 상기 제1 영역 내에서 하나 이상의 제1 하위 영역을 식별하는 단계;
    상기 제1 하위 영역의 우선 순위를 지정하는 단계; 및
    상기 우선 순위가 지정된 제1 하위 영역을 나머지 우선 순위가 지정된 제1 영역에 추가하는 단계를 더 포함하는, 서버에서 수행되는 방법.
  13. 제12항에 있어서,
    상기 나머지 우선 순위가 지정된 제1 영역 및 상기 우선 순위가 지정된 제1 하위 영역 중에서 다음으로 가장 높은 우선 순위를 갖는 영역에 대해, (i) 상기 업데이트된 기준 포인트 클라우드로부터의 제2 변화를 근사하는 제2 강체 3D 변환, 또는 (ii) 상기 업데이트된 기준 포인트 클라우드를 수정하기 위해 사용될 제2 포인트 - 상기 제2 포인트는 상기 제2 변화를 나타냄 - 를 결정하는 단계를 더 포함하는, 서버에서 수행되는 방법.
  14. 제12항 또는 제13항에 있어서,
    상기 하나 이상의 제1 하위 영역을 식별하는 단계는, 상기 업데이트된 기준 포인트 클라우드로부터 일탈하는 더 미세하게 세분된 영역(finer grained area)을 식별하기 위해, 상기 제2 포인트 클라우드를 상기 업데이트된 기준 포인트 클라우드와 비교하는 단계를 포함하는, 서버에서 수행되는 방법.
  15. 제12항 또는 제13항에 있어서,
    상기 제1 하위 영역 영역의 우선 순위를 지정하는 단계는, 상기 제1 하위 영역의 각각에 각각의 제2 우선 순위를 할당하는 단계를 포함하는, 서버에서 수행되는 방법.
  16. 제13항에 있어서,
    프로세싱 버짓(processing budget)을 상기 클라이언트와 협상하는 단계를 더 포함하되, 상기 프로세싱 버짓은, 적어도, 포인트 클라우드 업데이트를 위해 이용 가능한 대역폭 및 시간의 양을 제공하고, 다음으로 가장 높은 우선 순위를 갖는 상기 영역에 대한 상기 결정은 상기 프로세싱 버짓이 이용 가능한 경우에만 실행되는, 서버에서 수행되는 방법.
  17. 제1항 내지 제15항 중 어느 한 항에 있어서,
    프로세싱 버짓을 상기 클라이언트와 협상하는 단계를 더 포함하되, 상기 프로세싱 버짓은, 적어도, 포인트 클라우드 업데이트를 위해 이용 가능한 대역폭 및 시간의 양을 제공하는, 서버에서 수행되는 방법.
  18. 제1항 내지 제17항 중 어느 한 항에 있어서,
    상기 기준 포인트 클라우드 또는 상기 제2 포인트 클라우드 중 적어도 하나는 센서 데이터를 포함하는, 서버에서 수행되는 방법.
  19. 제1항 내지 제17항 중 어느 한 항에 있어서,
    상기 기준 포인트 클라우드 및 상기 제2 포인트 클라우드는 포인트 클라우드 데이터의 사전 캡쳐된 동적 시퀀스로서 저장 매체로부터 수신되는, 서버에서 수행되는 방법.
  20. 제1항 내지 제19항 중 어느 한 항에 있어서,
    복수의 클라이언트와 통신하는 단계; 및
    상기 복수의 클라이언트의 각각에 대해 상기 방법을 실행하는 단계를 더 포함하는, 서버에서 수행되는 방법.
  21. 제1항 내지 제20항 중 어느 한 항에 있어서,
    상기 제1 강체 3D 변환이 존재하는지의 여부를 결정하는 단계는, 상기 기준 포인트 클라우드와 상기 제2 포인트 클라우드 사이의 형상 관련성(shape correspondence)이 발견되었는지의 여부를 결정하는 단계를 포함하는, 서버에서 수행되는 방법.
  22. 서버에서 수행되는 방법으로서,
    초기 포인트 클라우드를 클라이언트로 송신하는 단계; 및
    상기 초기 포인트 클라우드로부터의 현재의 포인트 클라우드에서의 변화를 계층적으로 결정하는 단계를 포함하되, 상기 변화를 계층적으로 결정하는 단계는:
    상기 현재의 포인트 클라우드에서 메인 변화 영역을 식별하는 단계;
    상기 초기 포인트 클라우드로부터의 제1 변화를 근사하는 제1 강체 3D 변환이 존재하는지의 여부를 결정하기 위해, 제1 메인 변화 영역을 사용하는 단계;
    상기 제1 강체 3D 변환이 존재한다는 결정에 응답하여, 상기 초기 포인트 클라우드로부터의 상기 제1 변화를 근사하는 상기 제1 강체 3D 변환을 결정하는 단계;
    상기 제1 강체 3D 변환이 존재하지 않는다는 결정에 응답하여, 상기 초기 포인트 클라우드를 수정하기 위해 사용될 제1 포인트 - 상기 제1 포인트는 상기 제1 변화를 나타냄 - 를 추가로 결정하는 단계;
    상기 메인 변화 영역 내에서 하나 이상의 더 미세하게 세분된 잔여 변화 영역을 식별하는 단계; 및
    상기 초기 포인트 클라우드로부터의 제2 변화를 근사하는 제2 강체 3D 변환이 존재하는지의 여부를 결정하기 위해, 상기 하나 이상의 더 미세하게 세분된 잔여 변화 영역 및 나머지 메인 변화 영역을 사용하는 단계;
    상기 제2 강체 3D 변환이 존재한다는 결정에 응답하여, 상기 초기 포인트 클라우드로부터의 상기 제2 변화를 근사하는 상기 제2 강체 3D 변환을 결정하는 단계; 및
    상기 제2 강체 3D 변환이 존재하지 않는다는 결정에 응답하여, 상기 초기 포인트 클라우드를 추가로 수정하기 위해 사용될 제2 포인트 - 상기 제2 포인트는 상기 제2 변화를 나타냄 - 를 추가로 결정하는 단계를 포함하는, 서버에서 수행되는 방법.
  23. 제22항에 있어서,
    상기 제2 강체 3D 변환은 상기 하나 이상의 더 미세하게 세분된 잔여 변화 영역 중 하나에 대해 결정되는, 서버에서 수행되는 방법.
  24. 제22항에 있어서,
    상기 제2 강체 3D 변환은 상기 나머지 메인 변화 영역 중 하나에 대해 결정되는, 서버에서 수행되는 방법.
  25. 제22항에 있어서,
    (i) 상기 제1 강체 3D 변환 및 제1 변화된 영역을 나타내는 제1 경계를 정하는 볼륨 좌표, (ii) 상기 제2 강체 3D 변환 및 제2 변화된 영역을 나타내는 제2 경계를 정하는 볼륨 좌표, (iii) 상기 제1 포인트, 또는 (iv) 상기 제2 포인트 중 적어도 하나를 상기 클라이언트로 송신하는 단계를 더 포함하는, 서버에서 수행되는 방법.
  26. 서버에서 수행되는 방법으로서,
    초기 포인트 클라우드로서 제1 삼차원(3D) 데이터를 수신하는 단계;
    포인트 클라우드 데이터 스트리밍에 대한 클라이언트로부터의 요청에 응답하여, 상기 초기 포인트 클라우드를 상기 클라이언트로 송신하고 상기 초기 포인트 클라우드를 기준 포인트 클라우드로서 저장하는 단계; 및
    각각의 현재의 포인트 클라우드에 대해 프로세스를 반복적으로 수행하는 단계를 포함하되, 상기 프로세스는:
    제2 3D 데이터를 상기 현재의 포인트 클라우드로서 수신하는 것; 및
    상기 기준 포인트 클라우드와 관련하여:
    상기 기준 포인트 클라우드로부터 일탈하는 영역을 식별하는 것;
    상기 일탈 영역(deviating area)을 제1 클러스터로 분리하는 것;
    상기 제1 클러스터의 각각에 대한 중요도를 나타내는 각각의 제1 점수 - 각각의 제1 점수는 상기 클라이언트의 현재의 관점에 적어도 부분적으로 기초하여 계산됨 - 를 계산하는 것에 의해 상기 제1 클러스터의 우선 순위를 지정하는 것;
    가장 높은 우선 순위를 갖는 제1 클러스터에 대해, 상기 기준 포인트 클라우드로부터의 제1 일탈을 근사하는 변환이 존재하는지의 여부를 결정하는 것;
    상기 변환이 존재하는 경우, 상기 기준 포인트 클라우드를 업데이트하기 위해, 상기 저장된 기준 포인트 클라우드에 상기 변환을 적용하고, 상기 제1 클러스터 내의 영역의 표시 및 상기 변환을 상기 클라이언트로 송신하는 것; 및
    상기 변환이 존재하지 않는 경우, 상기 기준 포인트 클라우드를 업데이트하기 위해, 상기 저장된 기준 포인트 클라우드에서 포인트를 추가하고 제거하는 것 중 적어도 하나를 수행하고, 상기 포인트를 클라이언트로 송신하는 것
    을 포함하는 상기 현재의 포인트 클라우드의 계층적 검사를 수행하는 것을 포함하는, 서버에서 수행되는 방법.
  27. 제26항에 있어서,
    상기 기준 포인트 클라우드와 관련하여 상기 현재의 포인트 클라우드의 상기 계층적 검사를 수행하는 것은:
    상기 가장 높은 우선 순위를 갖는 상기 제1 클러스터를 프로세싱한 이후, 상기 업데이트된 기준 포인트 클라우드로부터 여전히 일탈하는 하위 영역을 상기 제1 클러스터 내에서 식별하는 것;
    상기 일탈하는 하위 영역을 제2 클러스터로 분리하는 것;
    상기 제2 클러스터의 각각에 대한 중요도를 나타내는 각각의 제2 점수 - 각각의 제2 점수는 상기 클라이언트의 상기 현재의 관점에 적어도 부분적으로 기초하여 계산됨 - 를 계산하는 것에 의해 상기 제2 클러스터의 우선 순위를 지정하는 것;
    상기 우선 순위가 지정된 제2 클러스터를 상기 우선 순위가 지정된 제1 클러스터의 나머지에 추가하고, 다음으로 가장 높은 우선 순위를 갖는 다음 번의 클러스터에 대해, 상기 업데이트된 기준 포인트 클라우드로부터의 제2 일탈을 근사하는 다른 변환이 존재하는지의 여부를 결정하는 것;
    상기 다른 변환이 존재하는 경우, 상기 기준 포인트 클라우드를 추가로 업데이트하기 위해 상기 업데이트된 저장된 업데이트된 기준 포인트 클라우드에 상기 다른 변환을 적용하고, 상기 프로세싱된 제1 클러스터 내의 하위 영역의 다른 표시 및 상기 다른 변환을 상기 클라이언트로 송신하는 것; 및
    상기 다른 변환이 존재하지 않는 경우, 상기 기준 포인트 클라우드를 업데이트하기 위해, 상기 업데이트된 기준 포인트 클라우드에서 추가적인 포인트를 추가하거나 또는 제거하는 것 중 적어도 하나를 수행하고, 상기 추가적인 포인트를 클라이언트로 송신하는 것을 더 포함하는, 서버에서 수행되는 방법.
  28. 제26항 또는 제27항에 있어서,
    상기 프로세스는 상기 클라이언트로부터의 요청시 또는 상기 서버와 상기 클라이언트 사이에서 협상되는 프로세싱 버짓이 추가적인 프로세싱에 대해 더 이상 이용 가능하지 않은 경우 종료되는, 서버에서 수행되는 방법.
  29. 시스템으로서,
    프로세서; 및
    상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 제1항 내지 제21항 중 어느 한 항의 상기 방법을 수행하게 하는 복수의 명령어를 저장하는 비일시적 컴퓨터 판독 가능 매체를 포함하는, 시스템.
  30. 제29항에 있어서,
    적어도 하나의 3D 센서를 더 포함하는, 시스템.
  31. 시스템으로서,
    프로세서; 및
    상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 제22항 내지 제25항 중 어느 한 항의 상기 방법을 수행하게 하는 복수의 명령어를 저장하는 비일시적 컴퓨터 판독 가능 매체를 포함하는, 시스템.
  32. 제31항에 있어서,
    적어도 하나의 3D 센서를 더 포함하는, 시스템.
  33. 제31항에 있어서,
    상기 시스템은 상기 서버에서 구현되는, 시스템.
  34. 시스템으로서,
    프로세서; 및
    상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 제26항 내지 제28항 중 어느 한 항의 상기 방법을 수행하게 하는 복수의 명령어를 저장하는 비일시적 컴퓨터 판독 가능 매체를 포함하는, 시스템.
  35. 제34항에 있어서,
    적어도 하나의 3D 센서를 더 포함하는, 시스템.
  36. 제34항에 있어서,
    상기 시스템은 상기 서버에서 구현되는, 시스템.
  37. 서버로서,
    프로세서; 및
    복수의 명령어를 저장하는 비일시적 컴퓨터 판독 가능 매체를 포함하되, 상기 복수의 명령어는, 상기 프로세서에 의해 실행될 때, 상기 프로세서로 하여금:
    클라이언트로 제1 포인트 클라우드 - 상기 제1 포인트 클라우드는 기준 포인트 클라우드에 대응함 - 를 송신하는 것;
    제2 포인트 클라우드를 수신하는 것; 및
    상기 기준 포인트 클라우드로부터의 상기 제2 포인트 클라우드에서의 변화를 계층적으로 결정하는 것
    을 포함하는 기능을 수행하게 하고, 상기 변화를 계층적으로 결정하는 것은:
    상기 기준 포인트 클라우드로부터 변경된 제1 영역을 상기 제2 포인트 클라우드에서 식별하는 것;
    상기 제1 영역의 우선 순위를 지정하는 것;
    가장 높은 우선 순위를 갖는 제1 영역에 대해, 상기 기준 포인트 클라우드로부터의 제1 변화를 근사하는 제1 강체 3D 변환이 존재하는지의 여부를 결정하는 것;
    상기 제1 강체 3D 변환이 존재한다는 결정에 응답하여, 상기 기준 포인트 클라우드로부터의 상기 제1 변화를 근사하는 상기 제1 강체 3D 변환을 결정하는 것; 및
    상기 제1 강체 3D 변환이 존재하지 않는다는 결정에 응답하여, 상기 기준 포인트 클라우드를 수정하기 위해 사용될 제1 포인트 - 상기 제1 포인트는 상기 제1 변화를 나타냄 - 를 추가로 결정하는 것을 포함하는, 서버.
KR1020207028390A 2018-03-20 2019-03-19 우선 변환에 기반한 동적 포인트 클라우드를 최적화하는 시스템 및 방법 KR20200144543A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862645603P 2018-03-20 2018-03-20
US62/645,603 2018-03-20
PCT/US2019/022994 WO2019183113A1 (en) 2018-03-20 2019-03-19 System and method for optimizing dynamic point clouds based on prioritized transformations

Publications (1)

Publication Number Publication Date
KR20200144543A true KR20200144543A (ko) 2020-12-29

Family

ID=66323896

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207028390A KR20200144543A (ko) 2018-03-20 2019-03-19 우선 변환에 기반한 동적 포인트 클라우드를 최적화하는 시스템 및 방법

Country Status (6)

Country Link
US (2) US11373319B2 (ko)
EP (1) EP3769530A1 (ko)
JP (2) JP7376496B2 (ko)
KR (1) KR20200144543A (ko)
CN (1) CN112106370A (ko)
WO (1) WO2019183113A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102451797B1 (ko) * 2021-06-01 2022-10-12 씨드로닉스(주) 타겟 객체를 모델링하는 모델링 방법, 모델링 장치 및 모델링 시스템

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11200700B2 (en) * 2019-01-10 2021-12-14 Mediatek Singapore Pte. Ltd. Methods and apparatus for signaling viewports and regions of interest for point cloud multimedia data
US11762390B1 (en) * 2019-01-25 2023-09-19 Amazon Technologies, Inc. Autonomous machine safety management in a dynamic environment
JP6647433B1 (ja) * 2019-02-19 2020-02-14 株式会社メディア工房 点群データ通信システム、点群データ送信装置および点群データ送信方法
US11281917B2 (en) * 2019-10-31 2022-03-22 Aptiv Technologies Limited Multi-domain neighborhood embedding and weighting of point cloud data
MX2022009490A (es) * 2020-02-06 2022-11-09 Pcms Holdings Inc Mejora de nube de puntos 3d con múltiples mediciones.
CN111325779B (zh) * 2020-02-07 2020-12-11 贝壳找房(北京)科技有限公司 点云配准方法和装置、电子设备和存储介质
CN111738051B (zh) * 2020-04-02 2022-02-11 腾讯科技(深圳)有限公司 点云处理方法、装置、计算机设备和存储介质
US20220135074A1 (en) * 2020-11-02 2022-05-05 Waymo Llc Classification of objects based on motion patterns for autonomous vehicle applications
CN112446844B (zh) * 2020-11-27 2024-01-23 广东电网有限责任公司肇庆供电局 一种基于点云特征提取与配准融合方法
CN114915664A (zh) * 2021-01-29 2022-08-16 华为技术有限公司 一种点云数据传输方法及装置
CN112967230A (zh) * 2021-02-06 2021-06-15 东华理工大学 一种考虑局部点云密度的自适应阈值3d变化检测方法
US11675329B2 (en) * 2021-06-21 2023-06-13 Rockwell Automation Technologies, Inc. Functional safety system using three dimensional sensing and dynamic digital twin
CN113484875B (zh) * 2021-07-30 2022-05-24 燕山大学 一种基于混合高斯排序的激光雷达点云目标分级识别方法
WO2023170726A1 (ja) * 2022-03-07 2023-09-14 日本電信電話株式会社 点群データ表示装置、点群データ記憶装置、点群データ表示方法及び点群データ表示プログラム
CN115047471B (zh) * 2022-03-30 2023-07-04 北京一径科技有限公司 确定激光雷达点云分层的方法、装置、设备及存储介质
CN117409161A (zh) * 2022-07-06 2024-01-16 戴尔产品有限公司 点云处理方法和电子设备
CN115222899B (zh) * 2022-09-21 2023-02-21 湖南草根文化传媒有限公司 虚拟数字人生成方法、系统、计算机设备及存储介质
WO2024065296A1 (zh) * 2022-09-28 2024-04-04 华为技术有限公司 数据传输方法及装置
US11790031B1 (en) * 2022-10-31 2023-10-17 Content Square SAS Website change detection

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6201546B1 (en) 1998-05-29 2001-03-13 Point Cloud, Inc. Systems and methods for generating three dimensional, textured models
US7583857B2 (en) * 2005-08-24 2009-09-01 Siemens Medical Solutions Usa, Inc. System and method for salient region feature based 3D multi modality registration of medical images
US8314791B2 (en) * 2007-11-19 2012-11-20 Rdv Systems Ltd. Method and apparatus for determining view impact
CA2737724A1 (en) 2008-09-19 2010-03-25 The University Of Sydney A method and system of data modelling
US20110115812A1 (en) 2009-11-13 2011-05-19 Harris Corporation Method for colorization of point cloud data based on radiometric imagery
US8525848B2 (en) 2009-11-16 2013-09-03 Autodesk, Inc. Point cloud decimation engine
EP2385483B1 (en) * 2010-05-07 2012-11-21 MVTec Software GmbH Recognition and pose determination of 3D objects in 3D scenes using geometric point pair descriptors and the generalized Hough Transform
US8570320B2 (en) 2011-01-31 2013-10-29 Microsoft Corporation Using a three-dimensional environment model in gameplay
US8471849B1 (en) 2012-03-19 2013-06-25 Google Inc. Prioritization of display of portions of three-dimensional object models
EA201492098A1 (ru) * 2012-05-14 2015-04-30 Лука Россато Кодирование и декодирование на основании смешивания последовательностей выборок с течением времени
US9256961B2 (en) 2012-06-28 2016-02-09 Here Global B.V. Alternate viewpoint image enhancement
US8848201B1 (en) 2012-10-20 2014-09-30 Google Inc. Multi-modal three-dimensional scanning of objects
US20140198097A1 (en) 2013-01-16 2014-07-17 Microsoft Corporation Continuous and dynamic level of detail for efficient point cloud object rendering
NL2010463C2 (nl) 2013-03-15 2014-09-16 Cyclomedia Technology B V Werkwijze voor het genereren van een panoramabeeld.
US9286717B2 (en) 2013-07-30 2016-03-15 Hewlett-Packard Development Company, L.P. 3D modeling motion parameters
CN103745459B (zh) * 2013-12-26 2017-01-18 西安交通大学 一种非结构化点云特征点检测方法及其提取方法
WO2015106799A1 (en) 2014-01-14 2015-07-23 Sandvik Mining And Construction Oy Mine vehicle, mine control system and mapping method
US9619691B2 (en) 2014-03-07 2017-04-11 University Of Southern California Multi-view 3D object recognition from a point cloud and change detection
CN104978549B (zh) * 2014-04-03 2019-04-02 北京邮电大学 三维人脸图像特征提取方法和系统
EP3167577B1 (en) * 2014-07-08 2020-09-09 Nokia Solutions and Networks Oy Method of operating a network entity
WO2016040153A1 (en) 2014-09-08 2016-03-17 Intel Corporation Environmentally mapped virtualization mechanism
WO2016040473A1 (en) 2014-09-10 2016-03-17 Vangogh Imaging, Inc. Real-time dynamic three-dimensional adaptive object recognition and model reconstruction
WO2016069496A1 (en) * 2014-10-26 2016-05-06 Galileo Group, Inc. Swarm approach to consolidating and enhancing smartphone target imagery by virtually linking smartphone camera collectors across space and time using machine-to-machine networks
CN104502919A (zh) * 2015-01-13 2015-04-08 南京大学 利用机载激光雷达点云提取城市植被三维覆盖的方法
US10397802B2 (en) * 2015-04-14 2019-08-27 ETAK Systems, LLC Detecting changes at cell sites and surrounding areas using unmanned aerial vehicles
CN105630905A (zh) * 2015-12-14 2016-06-01 西安科技大学 一种基于散乱点云数据的分层式压缩方法及装置
US20170214943A1 (en) 2016-01-22 2017-07-27 Mitsubishi Electric Research Laboratories, Inc. Point Cloud Compression using Prediction and Shape-Adaptive Transforms
US10373380B2 (en) 2016-02-18 2019-08-06 Intel Corporation 3-dimensional scene analysis for augmented reality operations
US9986177B2 (en) * 2016-03-09 2018-05-29 Galileo Group, Inc. Spectral enhancements to mobile devices
US10026230B2 (en) 2016-03-30 2018-07-17 Daqri, Llc Augmented point cloud for a visualization system and method
GB2550567A (en) * 2016-05-20 2017-11-29 Nokia Technologies Oy Point Cloud Matching Method
US10694210B2 (en) 2016-05-28 2020-06-23 Microsoft Technology Licensing, Llc Scalable point cloud compression with transform, and corresponding decompression
US10282918B2 (en) 2016-09-20 2019-05-07 Siemens Healthcare Gmbh Two-dimensional cinematic medical imaging in color based on deep learning
KR102383427B1 (ko) * 2016-12-16 2022-04-07 현대자동차주식회사 자율주행 제어 장치 및 방법
US10699421B1 (en) * 2017-03-29 2020-06-30 Amazon Technologies, Inc. Tracking objects in three-dimensional space using calibrated visual cameras and depth cameras
CN107194983B (zh) 2017-05-16 2018-03-09 华中科技大学 一种基于点云与影像数据的三维可视化方法和系统
US10362296B2 (en) 2017-08-17 2019-07-23 Microsoft Technology Licensing, Llc Localized depth map generation
CN107862293B (zh) 2017-09-14 2021-05-04 北京航空航天大学 基于对抗生成网络的雷达生成彩色语义图像系统及方法
US11113845B2 (en) * 2017-09-18 2021-09-07 Apple Inc. Point cloud compression using non-cubic projections and masks
US10482575B2 (en) 2017-09-28 2019-11-19 Intel Corporation Super-resolution apparatus and method for virtual and mixed reality
DE102017011562A1 (de) 2017-12-14 2018-05-30 Daimler Ag Verfahren zur Umwandlung eines Rohbilds in ein Farbbild
US10740876B1 (en) 2018-01-23 2020-08-11 Facebook Technologies, Llc Systems and methods for generating defocus blur effects
EP3518001B1 (en) * 2018-01-25 2020-09-16 Aptiv Technologies Limited Method for increasing the reliability of determining the position of a vehicle on the basis of a plurality of detection points
CN111837144A (zh) 2018-03-13 2020-10-27 奇跃公司 使用机器学习的增强图像深度感测

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102451797B1 (ko) * 2021-06-01 2022-10-12 씨드로닉스(주) 타겟 객체를 모델링하는 모델링 방법, 모델링 장치 및 모델링 시스템
WO2022255777A1 (ko) * 2021-06-01 2022-12-08 씨드로닉스㈜ 타겟 객체를 모델링하는 모델링 방법, 모델링 장치 및 모델링 시스템
KR20220163306A (ko) * 2021-06-01 2022-12-09 씨드로닉스(주) 타겟 객체를 모델링하는 모델링 방법, 모델링 장치 및 모델링 시스템

Also Published As

Publication number Publication date
JP2024012389A (ja) 2024-01-30
WO2019183113A1 (en) 2019-09-26
JP2021518602A (ja) 2021-08-02
US20220309689A1 (en) 2022-09-29
US20210049779A1 (en) 2021-02-18
EP3769530A1 (en) 2021-01-27
CN112106370A (zh) 2020-12-18
JP7376496B2 (ja) 2023-11-08
US11373319B2 (en) 2022-06-28

Similar Documents

Publication Publication Date Title
US11373319B2 (en) System and method for optimizing dynamic point clouds based on prioritized transformations
CN111183646B (zh) 用于编码的方法和装置、用于解码的方法和装置以及存储介质
CN111713111B (zh) 用于360度视频译码的面不连续性滤波
US11616981B2 (en) Hybrid cubemap projection for 360-degree video coding
CN112106063A (zh) 用于动态调整点云的细节级别系统及方法
CN114128303B (zh) 获得3d场景元素的方法和客户端设备
CN110870317B (zh) 用于对360度视频内容进行编码的方法和装置
WO2019083943A1 (en) PROJECTION OF CUBEMAP CARD ANGLE HYBRID VIDEO CODING 360 DEGREES
CN117560504A (zh) 基于几何图形填充的用于360度视频的预测编码
KR20220004961A (ko) 라이트 필드의 다중화 렌더링을 위한 시스템 및 방법
JP2023532436A (ja) トポロジフレンドリ表現を用いたグラフ条件付きオートエンコーダ(gcae)のための方法、装置、及びシステム
WO2020139766A2 (en) System and method for optimizing spatial content distribution using multiple data systems
US11727602B2 (en) Resolution of a picture
WO2023133350A1 (en) Coordinate refinement and upsampling from quantized point cloud reconstruction
KR20240089399A (ko) 깊이 모션 기반 다중 유형 트리 분할
WO2024015454A1 (en) Learning based bitwise octree entropy coding compression and processing in light detection and ranging (lidar) and other systems

Legal Events

Date Code Title Description
A201 Request for examination