KR20230085767A - 성능 기반의 스플릿 컴퓨팅 제공 방법 및 장치 - Google Patents

성능 기반의 스플릿 컴퓨팅 제공 방법 및 장치 Download PDF

Info

Publication number
KR20230085767A
KR20230085767A KR1020210174255A KR20210174255A KR20230085767A KR 20230085767 A KR20230085767 A KR 20230085767A KR 1020210174255 A KR1020210174255 A KR 1020210174255A KR 20210174255 A KR20210174255 A KR 20210174255A KR 20230085767 A KR20230085767 A KR 20230085767A
Authority
KR
South Korea
Prior art keywords
terminal
server
performance
media
content
Prior art date
Application number
KR1020210174255A
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 삼성전자주식회사
Priority to KR1020210174255A priority Critical patent/KR20230085767A/ko
Priority to PCT/KR2022/019228 priority patent/WO2023106721A1/en
Priority to US18/074,874 priority patent/US20230176915A1/en
Publication of KR20230085767A publication Critical patent/KR20230085767A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 개시는 성능 기반의 스플릿 컴퓨팅을 위한 방법 및 장치를 제공할 수 있다. 상기 방법은, 단말(UE)에 포함되는 장치 및/또는 프로세스에 대한 환경 파라미터와 상기 장치 및/또는 프로세스의 성능 파라미터를 기반으로 단말의 상태가 비정상임을 검출하는 동작과, 상기 환경 파라미터 및/또는 상기 성능 파라미터와 관련된 단말 성능 정보를 포함하는 메시지를 서버로 전송하는 동작과, 상기 단말 성능 정보에 따라 조정된 컨텐츠 및 조정된 프로세스와 관련된 정보를 상기 서버로부터 수신하는 동작과, 상기 조정된 프로세스를 실행하여 상기 조정된 컨텐츠를 수신하는 동작을 포함할 수 있다.

Description

성능 기반의 스플릿 컴퓨팅 제공 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING SPLIT COMPUTING BASED ON DEVICE CAPABILITY}
본 개시는 통신 시스템에서 성능 기반의 스플릿 컴퓨팅을 제공하는 방법 및 장치와 관련된 것이다.
4G(4th generation) 통신 시스템 상용화 이후 증가 추세에 있는 무선 데이터 트래픽 수요를 충족시키기 위해, 개선된 5G(5th generation) 통신 시스템 또는 pre-5G 통신 시스템을 개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 5G 통신 시스템 또는 pre-5G 통신 시스템은 4G 네트워크 이후(Beyond 4G Network) 통신 시스템 또는 LTE(Long Term Evolution) 시스템 이후(Post LTE) 시스템이라 불리어지고 있다.
높은 데이터 전송률을 달성하기 위해, 5G 통신 시스템은 초고주파(mmWave) 대역(예를 들어, 60기가(60GHz) 대역과 같은)에서의 구현이 고려되고 있다. 초고주파 대역에서의 전파의 경로손실 완화 및 전파의 전달 거리를 증가시키기 위해, 5G 통신 시스템에서는 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO), 전차원 다중입출력(Full Dimensional MIMO, FD-MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 및 대규모 안테나(large scale antenna) 기술들이 논의되고 있다.
또한 시스템의 네트워크 개선을 위해, 5G 통신 시스템에서는 진화된 소형 셀, 개선된 소형 셀(advanced small cell), 클라우드 무선 액세스 네트워크(cloud radio access network, cloud RAN), 초고밀도 네트워크(ultra-dense network), 기기 간 통신(Device to Device communication, D2D), 무선 백홀(wireless backhaul), 이동 네트워크(moving network), 협력 통신(cooperative communication), CoMP(Coordinated Multi-Points), 및 수신 간섭제거(interference cancellation) 등의 기술 개발이 이루어지고 있다.
이 밖에도, 5G 시스템에서는 진보된 코딩 변조(Advanced Coding Modulation, ACM) 방식인 FQAM(Hybrid Frequency Shift Keying and Quadrature Amplitude Modulation) 및 SWSC(Sliding Window Superposition Coding)과, 진보된 접속 기술인 FBMC(Filter Bank Multi Carrier), NOMA(Non Orthogonal Multiple Access), 및 SCMA(Sparse Code Multiple Access) 등이 개발되고 있다.
한편, 인터넷은 인간이 정보를 생성하고 소비하는 인간 중심의 연결 망에서, 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 IoT(Internet of Things, 사물인터넷) 망으로 진화하고 있다. 클라우드 서버 등과의 연결을 통한 빅데이터(Big data) 처리 기술 등이 IoT 기술에 결합된 IoE(Internet of Everything) 기술도 대두되고 있다. IoT를 구현하기 위해서, 센싱 기술, 유무선 통신 및 네트워크 인프라, 서비스 인터페이스 기술, 및 보안 기술과 같은 기술 요소 들이 요구되어, 최근에는 사물간의 연결을 위한 센서 네트워크(sensor network), 사물 통신(Machine to Machine, M2M), MTC(Machine Type Communication)등의 기술이 연구되고 있다. IoT 환경에서는 연결된 사물들에서 생성된 데이터를 수집, 분석하여 인간의 삶에 새로운 가치를 창출하는 지능형 IT(Internet Technology) 서비스가 제공될 수 있다. IoT는 기존의 IT(Information Technology)기술과 다양한 산업 간의 융합 및 복합을 통하여 스마트홈, 스마트 빌딩, 스마트 시티, 스마트 카 혹은 커넥티드 카, 스마트 그리드, 헬스 케어, 스마트 가전, 첨단의료서비스 등의 분야에 응용될 수 있다.
이에, 5G 통신 시스템을 IoT 망에 적용하기 위한 다양한 시도들이 이루어지고 있다. 예를 들어, 센서 네트워크(sensor network), 사물 통신(Machine to Machine, M2M), MTC(Machine Type Communication)등의 5G 통신이 빔 포밍, MIMO, 및 어레이 안테나 등의 기법에 의해 구현되고 있는 것이다. 앞서 설명한 빅데이터 처리 기술로써 클라우드 무선 액세스 네트워크(cloud RAN)가 적용되는 것도 5G 기술과 IoT 기술 융합의 일 예라고 할 수 있을 것이다.
컴퓨팅 장치를 구성하는 컴포넌트는 동적으로 전압이 인가받아 동작할 수 있다. 컴포넌트는 예를 들어 수백억 개의 게이트들로 구성될 수 있으며, 연산량 또는 특정 알고리즘에 따라 연관되는/사용되는 게이트들의 개수가 달라진다. 동시에 사용되는 게이트들의 개수에 따라 상기 게이트들을 구동하기 위해 컴포넌트에 인가되는 전압이 달라지며, 일반적으로 게이트는 사용량(전압&전류)과 발열이 비례하는 전기적 특성을 갖는다.
도 1은 발열 온도 상승에 따른 읽기/쓰기 성능을 나타낸 그래프이다. 여기에서는 컴퓨팅 장치의 온도 센서(thermal sensor)에 의해 측정되는 현재 온도 Tc의 시간에 따른 변화가 도시되었다.
도 1을 참조하면, (a)에 도시한 바와 같이 발열이 발생할 때 컴포넌트의 성능이 저하될 수 있다. 발열로 인한 성능 저하가 나타난 이후에는 (b)와 같이 정상 온도에 대해서도 한동안 프로세스 처리 성능이 복원되기 어려울 수 있다.
도 2는 발열 온도 상승에 따른 전력의 누수를 나타내는 그래프이다.
도 2를 참조하면, 금형(die) 온도에 따른 전력 누수가 전체 전력 대비 퍼센트로 표시되었으며, 금형 온도는 전류의 누수와 비례한다.
도 3은 온도 상승에 따른 전압 조정 및 클럭 조정을 나타내는 그래프이다.
도 3을 참조하면, 일정 온도 이상의 발열이 발생할 때 발열 조정, 전압 조정, 또는 CPU(central processing unit)의 클럭 속도에 대한 조정이 실시될 수 있다. (a)에서 급격한 온도 상승이 발생할 때, (b)와 같이 전압 조정이 실시되거나, 또는 (c)와 같이 클럭 주파수의 조정이 실시될 수 있다. 상기한 조정에 의해 CPU의 온도가 내려갈 수 있다.
확장 현실(extended reality: XR) 서비스는 가상 현실(virtual reality: VR), 증강 현실(augmented reality: AR) 또는 혼합 현실(mixed reality: MR)을 포함할 수 있다. 3GPP TR 26.998에 따르는 AR(augmented reality) glass 단말(user equipment: UE)은 STAR (STand-alone AR) 아키텍처 또는 EDGAR (EDGe-dependent AR) 아키텍처를 구비하고 및 상기 아키텍처들 중 적어도 하나에 따라 동작할 수 있다.
STAR는 컨텐츠(content)를 단말 자체에서 처리할 수 있는 아키텍처이다. EDGAR는 오프로딩을 위해 컨텐츠를 클라우드/에지(cloud/edge) 서버(또는 에지/클라우드 서버라 칭함)에 요청해 컨텐츠를 받아 단말에서 전처리(post-processing)하는 아키텍처이다.
STAR는 컨텐츠를 단말 자체에서 처리할 수 있는 단말 아키텍처이며, 단말 성능이 부족하면 단말은 EDGAR로 동작할 수 있다.
두 개 이상의 컴퓨팅 장치들에서, 일 장치(예를 들어 단말)에 인가된 하나 이상의 프로세스 작업들의 복잡도가 상기 장치가 주어진 처리 조건 (예: fps(frame per second)) 내에 처리할 수 있는 수준보다 높은 경우, 상기 일 장치는 상기 프로세스 작업들의 일부를 다른 장치에 보내 처리하고 상기 다른 장치로부터 그 결과를 수신해 작업을 완료할 수 있으며, 이러한 절차를 오프로딩이라 칭한다.
3GPP SA4의 5G AR Glass study (TR 26.998) 규격에서는, AR을 위한 현실/가상 객체 결합 프로세스 처리를 위해, AR 컨텐츠를 장면(Scene)과 가상 객체와 가상 객체를 위한 미디어로 구성해 표현하는 것을 검토하고 있다. 오프로딩의 한 예로서, AR 스플릿 렌더링(Split Rendering)을 지원하는 EDGAR (5G EDGe-Dependent AR) type glass (예를 들어 glass-type 장치)를 위한 단말 아키텍처에서 단말은 컨텐츠를 수신한 후 상기 컨텐츠를 5G cloud/edge 서버의 AR 장면 관리자(scene manager)에 전송하고, AR 장면 관리자는 간단한 컨텐츠(예를 들어 Lightweight Scene과 rasterized 2D/3D rendering output을 포함하는 영상)을 생성하며, 단말은 상기 생성된 컨텐츠를 수신해 AR 효과를 생성할 수 있다. 단말은, 요구 시점 이후 서버에서 rendering되고 encoding되어 수신된 시점의 rendering output에 대해, 요구 시점 이후 변경된 사용자의 단말 위치 (예: AR glass를 착용한 상태에서 머리 또는 몸 전체의 움직임)로 인한 영상과 위치 간 불일치를 상쇄하기 위한 프로세스 처리를 수행할 수 있다.
상기 규격의 프로비저닝(provisioning) 단계는 단말이 컨텐츠를 5G cloud/edge 서버에 전송하고, 상기 컨텐츠의 재생에 필요한 서버의 리소스를 할당 받는 과정을 포함한다.
통합 프로세스 서비스를 제공하는 시스템은 두 개 이상의 장치와 그 장치들에서 수행되는 프로세스들로 구성될 수 있고, 각 프로세스는 하나 이상의 다른 프로세스들의 입력 또는 출력으로 연결될 수 있다.
두 개 이상의 장치에서 수행된 프로세스들의 결과물이 통합 프로세스의 결과물이 되기 때문에, 결과물의 제공에 있어 시간적 요구 사항이 포함되는 경우, 시스템을 구성하는 모든 장치의 성능이 인지되어지고 각 장치에서 수행될 프로세스의 종류의 복잡도가 통합 프로세스 구성 단계에서 고려되어져야 품질이 만족될 수 있다.일 예로, 종래 기술(3GPP TR 26.998, TR 26.803, 또는 TS 23.558)에서 고려되고 있는 AR 스플릿 렌더링(split rendering)에 따르면, 단말의 비전 엔진(Vision engine)(또는 SLAM(simultaneous localization and mapping), 또는 spatial computing) 프로세스는 사용자의 포즈(pose)(예를 들어 위치, 및/또는 방향)에 대한 정보를 수집하여 서버의 AR 장면 관리자(예를 들어 장면 관리자 프로세스)로 전달하고, 서버의 렌더러(예를 들어 렌더러 프로세스)는 상기 전달된 포즈를 2D rasterized image 또는 Physically based rendering image로 생성하고, 서버의 encoder 프로세스는 상기 Physically based rendering image를 영상 압축(즉 encoding)하여 단말로 전달하고, 단말의 decoder 프로세스는 서버로부터 전달된 상기 인코딩된 영상(image)을 decode하고, 단말의 pose corrector 프로세스는 상기 서버로 전달된 포즈를 사용자의 최종 pose와 비교하여 그 차이만큼 상기 디코딩된 영상을 warping/보정한 후 디스플레이를 통해 출력할 수 있다.
AR split rendering은 최종 결과의 이미지가 사용자의 시선 방향 및 머리 위치와 일치해야 증강된 현실을 제공할 수 있는데, 단말의 성능 정보가 서버에 제공되지 않으면 목표한 시간보다 더 늦게 이미지가 단말에 표시되고, 그에 따라 표시되는 이미지가 사용자의 pose와 불일치하게 되는 문제가 발생할 수 있다. Pose 불일치가 발생하면 사용자가 보는 현실과 가상의 객체 간에 위치 차이가 발생하게 되며, 따라서 증강 현실이 제공될 수 없다. 단말이 통합 프로세스의 일부분을 담당하고 있으므로 단말의 성능에 따라 단말에서 수행될 프로세스의 실행 시간이 달라질 수 있으나, 종래 기술에서는 단말의 성능 정보가 서버에 제공되지 않는 문제가 있다.
종래 기술(3GPP TR 26.998, TR 26.803, 또는 TS 23.558)에서 서버는 provisioning 단계에서 단말이 요구한 KPI(key performance indicator)를 만족하는 EAS (Edge Application Server) instance를 생성해 프로세스들을 실행할 수 있다.
예를 들어 TR 26.998에서 고려되고 있는 AR conversational service는 여러 사람들이 AR 회의에 참여하는 multi-party 시나리오를 지원하고 있으나, 사용자가 많아지고 그에 따른 AR object rendering이 증가함에 따라 서버의 장면 관리자 프로세스 또는 서버의 렌더러 프로세스에 가중되는 복잡도 변화를 고려할 필요가 있다.
또한 단말의 성능 변화에 따라 단말의 성능이 낮아지면 통합 프로세스가 재구성될 필요가 발생할 수 있다. 예를 들어 단말이 Vision engine 프로세스를 실시하지 못하는 경우 단말은 카메라 및 센서를 통해 정보를 수집하는 프로세스의 출력을 자신의 Vision engine 프로세스가 아니라 서버에 전송하고, 서버는 단말을 위한 vision engine 프로세스와 pose 정정 프로세스를 추가로 수행해야 한다.
일 실시예에 따른 성능 기반의 스플릿 컴퓨팅을 위한 방법은, 단말(UE)에 포함되는 장치 및/또는 프로세스에 대한 환경 파라미터와 상기 장치 및/또는 프로세스의 성능 파라미터를 기반으로 단말의 상태가 비정상임을 검출하는 동작과, 상기 환경 파라미터 및/또는 상기 성능 파라미터와 관련된 단말 성능 정보를 포함하는 메시지를 서버로 전송하는 동작과, 상기 단말 성능 정보에 따라 조정된 컨텐츠 및 조정된 프로세스와 관련된 정보를 상기 서버로부터 수신하는 동작과, 상기 조정된 프로세스를 실행하여 상기 조정된 컨텐츠를 수신하는 동작을 포함할 수 있다.
도 1은 발열 온도 상승에 따른 읽기/쓰기 성능을 나타낸 그래프이다.
도 2는 발열 온도 상승에 따른 전력의 누수를 나타내는 그래프이다.
도 3은 온도 상승에 따른 전압 조정 및 클럭 조정을 나타내는 그래프이다.
도 4는 일 실시예에 따라 단일 장치에서 프로세스를 처리하는 예시를 도시한 것이다.
도 5는 일 실시예에 따라 장치가 부여받은 프로세스를 외부 장치와 나누어 처리하는 offloading의 예시를 도시한 것이다.
도 6은 일 실시예에 따른 통합 프로세스 시스템의 구성을 도시한 블록도이다.
도 7은 성능 모델에 따른 정상 범위와 비정상 범위를 설명하기 위한 도면이다.
도 8(도 8a 및 도 8b를 포함함)은 일 실시예에 따른 단말 장치의 구성을 도시한 블록도이다.
도 9는 일 실시예에 따라 단말에 의해 보고되는 CAS capability KPI의 포맷을 예시한 것이다.
도 10은 일 실시예에 따라 단말에 의해 보고되는 소비 리포트의 포맷을 예시한 것이다.
도 11은 일 실시예에 따라 다운링크 스트리밍을 위한 STAR 기반 call flow 절차에서 M8 인터페이스를 통해 단말 성능 정보를 제공하는 동작을 설명하기 위한 흐름도이다.
도 12는 일 실시예에 따라 다운링크 스트리밍을 위한 STAR 기반 call flow 절차에서 M5 인터페이스를 통해 단말 성능 정보를 제공하는 동작을 설명하기 위한 흐름도이다.
도 13은 일 실시예에 따라 다운링크 스트리밍을 위한 STAR 기반 call flow 절차에서 M4 인터페이스를 통해 단말 성능 정보를 제공하는 동작을 설명하기 위한 흐름도이다.
도 14는 일 실시예에 따른 단말 구동 호 흐름도에서 단말 성능 정보를 제공하는 동작을 설명하기 위한 흐름도이다.
도 15는 일 실시예에 따른 스플릿 렌더링 호 흐름도에서 단말 성능 정보를 제공하는 동작을 설명하기 위한 흐름도이다.
도 16은 일 실시예에 따라 STAR 기반의 스트리밍 단계에서 단말 성능 정보를 제공하는 동작을 설명하기 위한 흐름도이다.
도 17은 일 실시예에 따른 EDGAR 기반의 스트리밍 단계에서 단말 성능 정보를 제공하는 동작을 설명하기 위한 흐름도이다.
도 18은 일 실시예에 따른 장면 세션을 통해 단말 성능 정보를 제공하는 동작을 설명하기 위한 흐름도이다.
도 19는 일 실시예에 따른 미디어 세션을 통해 단말 성능 정보를 제공하는 동작을 설명하기 위한 흐름도이다.
도 20(도 20a 및 도 20b로 구성됨)은 일 실시예에 따라 프로비저닝 단계에서 서버 리소스를 추가 확보하는 동작을 설명하기 위한 흐름도이다.
도 21(도 21a 및 도 21b로 구성됨)은 일 실시예에 따라 프로비저닝 단계에서 서버 리소스를 추가 확보하는 동작을 설명하기 위한 흐름도이다.
도 22(도 22a 및 도 22b로 구성됨)는 일 실시예에 따라 STAR 기반의 스트리밍 서비스를 위한 시스템 구조를 도시한 것이다.
도 23(도 23a 및 도 23b로 구성됨)은 일 실시예에 따른 STAR 기반의 호 흐름도를 설명하는 도면이다.
도 24는 일 실시예에 따라 사용자 선호를 고려하여 미디어 컨텐츠를 선택하는 동작을 설명하는 흐름도이다.
도 25(도 25a 및 도 25b로 구성됨)는 일 실시에에 따라 EDGAR 기반의 다운링크 스트리밍을 위한 시스템 구조를 도시한 것이다.
도 26(도 26a 및 도 26b로 구성됨)은 일 실시예에 따라 EDGAR 기반의 호 흐름도를 설명하는 도면이다.
도 27(도 27a 및 도 27b로 구성됨)은 일 실시예에 따라 STAR 기반의 상호작용 몰입형 서비스를 위한 시스템 구조를 도시한 것이다.
도 28(도 28a 및 도 28b로 구성됨)은 일 실시예에 따라 상호작용 몰입형 서비스를 위한 STAR 기반 절차를 설명하는 흐름도이다.
도 29(도 29a 및 도 29b로 구성됨)는 일 실시에에 따른 서비스 어나운스먼트 및 컨텐츠 디스커버리 절차를 설명하기 위한 도면이다.
도 30은 일 실시예에 따라 장면 세션을 통해 조정된 장면을 전달하는 절차를 설명하기 위한 도면이다.
도 31은 일 실시에에 따라 조정된 장치 성능의 보고 및 그에 기반한 미디어 프로세스의 처리 수준을 변경하는 절차를 설명하기 위한 도면이다.
도 32(도 32a 및 도 32b로 구성됨)는 일 실시예에 따른 소비 리포팅 절차를 설명하기 위한 도면이다.
도 33은 일 실시예에 따른 EAS 디스커버리 절차를 설명하기 위한 흐름도이다.
도 34는 일 실시예에 따른 EAS 디스커버리 필터의 정보 요소들을 나타낸 도면이다.
도 35는 일 실시예에 따라 장치 성능을 전달하기 위한 AC 서비스 KPI를 설명하기 위한 도면이다.
도 36은 일 실시예에 따른 EMSA 구조에서 세션 수립을 설명하기 위한 도면이다.
이하, 본 개시의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 개시의 실시예를 설명함에 있어서 본 개시가 속하는 기술 분야에 익히 알려져 있고 본 개시와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 개시의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다. 또한 실시예에서 '~부'는 하나 이상의 프로세서를 포함할 수 있다.
본 개시에서 단말은 terminal, UE (User Equipment), MS (Mobile Station), 셀룰러폰, 스마트폰, 컴퓨터, 또는 통신 기능을 수행할 수 있는 멀티미디어시스템을 포함할 수 있다. 또한, 이하에서 설명하는 본 개시의 실시예와 유사한 기술적 배경 또는 채널형태를 갖는 여타의 통신시스템에도 본 개시의 실시예가 적용될 수 있다. 또한, 본 개시의 실시예는 숙련된 기술적 지식을 가진자의 판단으로써 본 개시의 범위를 크게 벗어나지 아니하는 범위에서 일부 변형을 통해 다른 통신시스템에도 적용될 수 있다.
이하 본 개시의 설명에서 사용되는 접속 노드(node)/네트워크 엔터티를 식별하기 위한 용어, 네트워크 객체(network entity) 또는 NF(network function)들을 지칭하는 용어, 메시지들을 지칭하는 용어, 망 객체들 간 인터페이스를 지칭하는 용어, 다양한 식별 정보들을 지칭하는 용어 등은 설명의 편의를 위해 예시된 것이다. 따라서, 본 개시가 후술되는 용어들에 한정되는 것은 아니며, 동등한 기술적 의미를 가지는 대상을 지칭하는 다른 용어가 사용될 수 있다.
본 개시의 실시 예들을 구체적으로 설명함에 있어서, 통신 시스템은 각종 유선 혹은 무선 통신 시스템을 이용할 수 있으며, 예를 들어 무선 통신 규격 표준화 단체인 3GPP가 5G 통신 규격 상의 무선 접속 네트워크인 New RAN (NR)과 코어 네트워크인 패킷 코어 (5G System, 혹은 5G Core Network, 혹은 NG Core: Next Generation Core)를 이용할 수 있다. 그리고 유사한 기술적 배경을 가지는 여타의 통신 시스템에도 본 개시의 범위를 크게 벗어 나지 아니 하는 범위에서 약간의 변형으로 적용 가능하며, 이는 본 개시의 기술 분야에서 숙련된 기술적 지식을 가진 자의 판단으로 가능 할 것이다.
또한 이하 설명에서 네트워크 엔터티(들)을 지칭하는 용어, 메시지들을 지칭하는 용어, 네트워크 엔티티들 간 송수신되는 정보를 지칭하는 용어 등은 설명의 편의를 위해 예시된 것이다. 따라서, 본 개시에서 사용하는 용어들에 한정되는 것은 아니며, 동등한 기술적 의미를 가지는 대상을 지칭하는 다른 용어가 사용될 수 있다.
다양한 실시예들의 기술적인 배경은 장치와, 장치에서 발생하는 성능 변화 문제와, 장치에 인가되는 고성능 프로세스의 처리와, 외부 장치를 이용해 고성능 프로세스를 처리할 수 있는 Offloading에 관련한 것이며, case study를 위해 3GPP 5G AR Glass 규격을 중심으로 실시예들이 설명된다.
<시스템의 구성>
후술되는 실시예들에서는 장치(예를 들어 단말(UE) 또는 단말 장치(UE device))를 위한 성능 모델(power model) 및 장치 성능 판단부(capability & performance evaluator)와, 서버(예를 들어 클라우드/에지 서버)를 위한 통합 프로세스 관리 프로세스를 포함하는 통합 프로세스 시스템을 설명할 것이다.
다양한 실시예들에 따른 통합 프로세스 시스템은 장치와, 장치에서 발생하는 성능 변화 문제와, 장치에 인가되는 고성능 프로세스의 처리와, 외부 장치를 이용해 고성능 프로세스를 처리할 수 있는 Offloading에 관련된 것이다.
장치는 어떤 프로세스를 부여받아 실행할 수 있으며, 장치의 실행 능력, 및 단위 시간내 처리 능력은 장치의 내부적 외부적 요인에 의해 매 순간 달라질 수 있다.
장치는 부여받은 프로세스를 자체적으로 처리할 수도 있고 외부 장치와 나누어 처리할 수도 있다. 장치는 휴대폰 또는 태블릿과 같은 사용자용 모바일 단말, 노트북, 컴퓨터, 서버, 클라우드, Edge computing 장치, 가상 머신, 또는 서버 인스턴스로 구현될 수 있다.
도 4는 일 실시예에 따라 단일 장치에서 프로세스를 처리하는 예시를 도시한 것이다.
도 4를 참조하면, 장치(402)(예를 들어 단말(UE))와 컨텐츠 서버(404)가 도시되었다. 컨텐츠 서버(404)는 컨텐츠(content)를 저장하고 있다가 단말(402)의 컨텐츠 요청에 따라 상기 저장된 컨텐츠를 단말(402)에게 전송할 수 있다. 단말(402)은 상기 수신한 컨텐츠를 재생 프로세스에 의해서 재생할 수 있다. 단말(402)은 수신한 컨텐츠를 다른 장치의 도움없이 재생하기에 충분한 성능을 가지고 있거나, 컨텐츠 서버(404)에 컨텐츠를 요청하는 단계에서 다른 장치(예를 들어 클라우드/에지 서버)의 도움없이 재생할 수 있는 복잡도 수준의 컨텐츠를 요청할 수 있다. 예를 들어 2.5K(2560x1440) display를 가지는 단말(402)은 4K(3840x2160) 컨텐츠를 요청하지 않고 2K(1920x1080)를 요청할 수 있다.
도 5는 일 실시예에 따라 장치가 부여받은 프로세스를 외부 장치와 나누어 처리하는 offloading의 예시를 도시한 것이다.
도 5를 참조하면, 장치(502)(예를 들어 단말(UE))와 cloud/edge 서버(506)와 컨텐츠 서버(504)(또는 컨텐츠 제공자) 도시되어 있다. 단말(502)은 요청하고자 하는 컨텐츠가 단말(502)이 자체적으로 처리할 수 없는 복잡도 수준을 가진다고 판단하는 경우 cloud/edge 서버(506)의 프로세스 처리 능력을 사용할 수 있다. 단말(502)은 cloud/edge 서버(506)에게, 컨텐츠 서버(504)로부터의 컨텐츠 수신 및 단말(502)의 해상도에 맞는 다운스케일링 (예: 4K -> 2.5K 해상도)와 다운스케일된 영상의 encoding을 요청할 수 있다. cloud/edge 서버(506)는 상기 요청에 따라 컨텐츠를 수신하고 상기 수신된 컨텐츠의 영상을 변환해서 단말(502)에 전송할 수 있다. 단말(502)은 상기 변환된 컨텐츠를 단말(502) 자체의 프로세싱 능력을 사용해 재생할 수 있다.
오프로딩(Offloading)이 필요한 다른 예시로는 AR 스플릿 렌더링(split rendering)을 고려할 수 있다. 증강 현실(AR)은 현실에 가상의 오브젝트를 덧붙여 실재하는 것과 같이 나타내는 기술을 의미한다. AR glass와 같은 단말 장치(UE device)(예를 들어 AR 단말 장치)는 사용자의 얼굴에 착용되므로, 상기 단말 장치의 컴퓨팅 성능이 휴대폰이나 노트북 같은 단말에 비해 제한적인 것이 통상적이다. AR split rendering에 따르면, 단말(예를 들어 AR 단말 장치)의 Vision engine(또는 SLAM/Spatial computing) 프로세스는 사용자의 포즈(pose)(예를 들어 위치 및/또는 방향)를 수집하여 서버의 AR 장면 관리자 프로세스로 전달하고, 서버의 Renderer 프로세스는 상기 전달된 포즈를 rendering하여 2D rasterized image 또는 Physically based rendering image로 생성하고, 서버의 encoder 프로세스는 상기 rendering image를 영상 압축(즉 encoding)하여 단말로 전달하고, 단말의 decoder 프로세스는 서버로부터 전달된 상기 인코딩된 영상을 decode하고, 단말의 pose corrector 프로세스는 상기 서버로 전달된 포즈를 사용자의 최종 pose와 비교하여 그 차이만큼 상기 디코딩된 영상을 warping/보정한 후 디스플레이를 통해 출력할 수 있다.
단말이 결과물을 요청하기 위해 pose를 전달하는 시점 대비, 서버의 모든 프로세싱 및 단말의 후처리가 끝난 이후 시점에는 차이가 있고, 예를 들어 상기 차이는 수십-수백 ms일 수 있다. 사용자는 상기 차이에 해당하는 기간 동안 자유롭게 움직일 수 있으며, 의도적으로 움직이지 않겠다고 해도 고정되지 않은 상태에서는 단말의 위치가 변화할 수 있다. 이에 따라, 서버는 요청받은 pose대로 rendering을 실시하지 않고, 단말에서 표시될 미래 시점에 사용자가 취하게 될 미래 pose를 예상(Estimate)해 rendering을 실시할 수 있다. 단말은 예상된 pose와 예상된 시점 대비 최종 pose와 최종 시점간의 차이를 상쇄하기 위해 pose corrector 프로세스를 실시할 수 있다.
AR split rendering에서, 단말은 수신한 컨텐츠에 대해 decoding 및 pose correction와 같은 프로세스들을 실시하는데, 단말 성능의 변화에 따라 프로세스 처리에 소요되는 시간이 달라질 수 있으며 그에 따라, 단말이 서버로부터 수신한 컨텐츠인 가상의 오브젝트 이미지가 단말이 속한 현실과 제대로 정합되지 않고, 그에 따라 AR 효과가 나타나지 않는 문제가 발생할 수 있다.
도 6은 일 실시예에 따른 통합 프로세스 시스템의 구성을 도시한 블록도이다.
도 6을 참조하면, 통합 프로세스 시스템은 적어도 하나의 장치(602)(예를 들어 단말, 단말 장치 또는 AR 단말 장치), 클라우드/에지 서버(612)(또는 에지/클라우드 서버라 칭함), 및 컨텐츠 서버(622)(또는 컨텐츠 제공자)로 구성될 수 있다. 장치(602)는 장치(602)에서 실행되는 하나 이상의 프로세스들을 포함할 수 있다. 클라우드/에지 서버(612)는 통합 프로세스 관리 프로세스(614)를 포함할 수 있다. 장치(602)는 내부에서 실행되는 프로세스(예를 들어 재생 프로세스)를 포함할 수 있고, 장치(602) 또는 장치(602)에서 실행되는 각 프로세스는 자체의 성능 모델(604) 그리고 성능을 판단할 수 있는 성능 판단부(606)를 내부 또는 외부에 구비할 수 있다.
장치(602)는 통합 프로세스 관리 프로세스(614)로부터 하나 이상의 프로세스를 부여받아 수행할 수 있다.
상기 프로세스들은 다른 프로세스들의 입력 또는 출력으로 연결될 수 있다.
성능 모델(604)은 장치(602) 또는 각 프로세스로부터 얻을 수 있는 환경 파라미터(또는 파라미터 세트)를 입력으로 하고, 장치(602) 또는 각 프로세스가 수행할 수 있는 성능 파라미터(또는 파라미터 세트)를 출력으로 하는 관계식 또는 값들의 테이블을 포함할 수 있다.
성능 모델(604)은 장치(602) 또는 장치(602)에 포함되는 구성 요소의 제조사 또는 3rd party 업체에 의해 작성되고 업데이트 될 수 있다.
예를 들어 성능 모델(604)은 장치(602)에 포함되는 모뎀(modem)의 온도 및/또는 전송 대역폭(bandwidth)을 포함할 수 있다. 예를 들어 성능 모델(604)은 장치(602)에 포함되는 메모리의 온도 및/또는 읽기 성능을 포함할 수 있다. 예를 들어 성능 모델(604)은 장치(602)에 포함되는 GPU(graphic processing unit)의 온도 및/또는 encoding 프로세스의 영상 압축 프레임율(frame rate)을 포함할 수 있다.
장치(602) 또는 구성요소 각각에 대한 성능 모델은 각 요소가 최적의 성능을 갖는 조건을 포함할 수 있다. 일정 조건(예를 들어 환경 파라미터)이 변경(예: 온도 상승)됨에 따라, 요소의 성능 파라미터(예: 읽기 속도)은 변화가 없거나, 임계 값 이후 급격하게 변화할 수 있다. 조건의 값의 범위 중 요소의 성능에 변화가 없거나 변화가 상대적으로 작은 범위를 정상 범위, 성능에 급격한 변화를 초래하는 조건 범위를 비정상 범위라 한다.
도 7은 성능 모델에 따른 정상 범위와 비정상 범위를 설명하기 위한 도면이다.
도 7을 참조하면, 환경 파라미터의 값에 대해, 정상 범위(702)에서 비정상 범위(706)로 진입하는 중간에 임계 범위(704)가 있다.
구성요소에 따라 환경 파라미터의 값이 비정상 범위(706)로 진입한 후 정상 범위(702)로 복원되어도, 일시적으로 요소의 성능 회복에 시간(down time)이 걸리는 경우가 있다. (예를 들어 도 1의 (b) 참고)
장치(602) 또는 구성요소에서 실행되는 프로세스는 성능 모델(604)에 따라 관찰되고 정상 범위 내에서 프로세스 부하가 결정되는 것이 바람직하다. 정상 범위에서 벗어나지 않아도 임계 범위(704) 또는 비정상 범위(706)에 진입하기 전에 프로세스 부하를 줄여 down time의 가능성을 최소화하는 것이 바람직하다.
장치(602) 또는 프로세스의 성능 판단부(606)는 통합 프로세스 관리 프로세스(614)에게 장치(602) 또는 프로세스의 성능 및 성능 변화를 나타내는 단말 성능 정보(610)를 리포트할 수 있다. 장치(602) 또는 프로세스는 통합 프로세스 관리 프로세스(614)가 허용하는 범위 내에서 프로세스의 복잡도를 변경할 수 있기 때문에, 통합 프로세스 관리 프로세스(614)는 상기 단말 성능 정보(610)를 기반으로 하나 이상의 장치(예를 들어 장치(602) 또는 하나 이상의 프로세스에서 발생하는 성능 변화 또는 프로세스 복잡도 변화를 분석하고, 장치(602) 또는 다른 장치에서 실시되기 위한 프로세스를 변경한 후 변경된 프로세스를 장치(602)에게 부여함으로써, 성능 기반 통합 프로세스 서비스를 제공할 수 있다.
도 8(도 8a 및 도 8b를 포함함)은 일 실시예에 따른 단말 장치의 구성을 도시한 블록도이다. 도시된 단말 장치(802)는 예를 들어 3GPP TR 26.998 기반 5G Glass type AR/MR 단말 장치일 수 있다.
도 8을 참조하면, 단말 장치(802)(예를 들어 장치(602)(예를 들어 5G EDGAR UE)는 Sensor, display, camera, speakers, 또는 user input 중 적어도 하나와 같은 외부 입출력 컴포넌트들(또는 주변장치(peripherals))을 포함할 수 있다.
도시하지 않을 것이지만 단말 장치(802)는 CPU, GPU, RAM(random access memory), 또는 storage와 같은 기본 컴포넌트들을 포함할 수 있다.
일 실시예에 따른 단말 장치(802)는 아래와 같은 기능 블록들(function blocks) 중 적어도 하나를 포함할 수 있다.
- 5G 시스템과 통신을 위한 5GMS(5G media streaming) client (812) (또는 Media Access Function 또는 Interactive Immersive Client): AR 경험을 제공하기 위해 필요한 미디어 및 다른 AR 관련 데이터에 대한 액세스를 가능하게 하는 기능들의 집합
- AR 서비스를 위한 AR 런타임 (808) : 플랫폼과의 인터페이스하기 위한 기능들의 집합
- AR 서비스를 위한 AR 장면 관리자(810) (또는 Lightweight Scene Manager, 또는 Basic Scene Manager): AR runtime 기능 블록(808)의 지원을 기반으로 다중 감각 장면(multisensorial scene)의 논리적 공간적 표현을 배열하는 어플리케이션을 지원하는 기능들의 집합
- AR application (814) (또는 basic AR/MR Application) : 오디오-비디오 컨텐츠를 사용자의 실제 환경에 결합(integrate)시키는 소프트웨어 어플리케이션.
5GMS client (812)는 다음의 functions (또는 프로세스들) 중 적어도 하나를 포함할 수 있다.
- Scene description/content delivery; 또는
- codecs
AR 장면 관리자(810)는 다음의 functions (또는 프로세스들) 중 적어도 하나를 포함할 수 있다.
- Scene graph handler; 또는
- Compositor
AR Runtime 기능 블록(808)은 다음의 functions (또는 프로세스들) 중 적어도 하나를 포함할 수 있다.
- Vision engine(또는 SLAM, 또는 Spatial computing, 또는 XR Spatial Compute) : AR 사용자들을 둘러싼 3차원 공간에 대한 정보를 생성하기 위해 센서 데이터를 처리하는 AR 기능들.
- Pose correction : 사용자가 AR 미디어를 안정화(stabilise)하는 것을 도와주는 기능.
- Soundfield mapping
- 성능 모델 (Power model)(804) (예를 들어 성능 모델(604)); 또는
- 성능 판단부 (Capability & performance evaluator)(806) (예를 들어 성능 판단부(606))
일 실시예에 따른 클라우드/에지 서버(850)(예를 들어 클라우드/에지 서버(612)(예를 들어 3GPP TR 26.998 기반 5G Glass-type Augmented Reality / Mixed Reality (AR/MR) 서버)는 다음과 같은 기능 블록들을 포함할 수 있다.
- Media Delivery Functions (854)
- AR/MR Application (856): 단말(예를 들어 단말(802))의 서비스 수신 관련 각종 정책을 판단하는 Application Function을 포함할 수 있음,
- 단말 성능 기반의 통합 프로세스 관리 프로세스(852)
일 실시예에서 통합 프로세스 관리 프로세스(852)는 서비스 제공자의 서비스 configuration에 따라Media Application Function, Media Application Server 내의 edge application server (EAS), 또는 Application Service Provider (예를 들어 Application Provider (860))에서 실행될 수 있다.
일 실시예에 따라 AR/MR application provider (860)(예를 들어 컨텐츠 서버(622))는 네트워크 기반 AR 기능들 및 렌더링에 의해 단말(예를 들어 단말(802))에게 AR 컨텐트를 제공하기 위한 AR 컨텐트 구성 요소 (Scene description, manifest server, 및/또는 segment server)를 포함할 수 있다.
<성능 판단>
일 실시예에서 성능 판단은 다음을 기반으로 이루어질 수 있다.
- 환경 파라미터 (또는 파라미터 세트) 및/또는
- 성능 파라미터 (또는 파라미터 세트).
일 실시예에 따른 성능 판단부(예를 들어 성능 판단부(606) 또는 성능 판단부(806))는 장치(예를 들어 단말 장치(602) 또는 단말 장치(802)) 또는 프로세스로부터 얻을 수 있는 환경 파라미터와, 장치 또는 프로세스가 수행할 수 있는 성능 파라미터와, 성능 모델(예를 들어 성능 모델(604) 또는 성능 모델(804))을 기반으로, 장치 또는 프로세스의 성능 수준의 이상 여부를 판단하고, 통합 프로세스 관리 프로세스(예를 들어 통합 프로세스 관리 프로세스 (614) 또는 통합 프로세스 관리 프로세스(852))에 보고 여부의 판단 및 그에 따른 적절한 처리를 수행할 수 있다.
일 실시예에서 장치 및/또는 프로세스의 환경 파라미터는 온도, 전압, 또는 작동 frequency 중 적어도 하나를 포함할 수 있으며, 여기에 한정하지 않는다.
일 실시예에서 온도(또는 발열 상태)는 장치(예를 들어 단말 장치(602))의 현재 온도, 현재 온도의 지속 시간, 또는 최근 일정 시구간 내 온도 상승률 중 적어도 하나를 포함할 수 있다. 장치 또는 장치의 구성요소들은 내장된 센서의 (온도) 측정값을 확인하여 온도 상태를 성능 판단부(606)에게 보고할 수 있다. 장치 전체에 대한 열은 별도의 공용 센서를 사용하거나 각 구성요소 별 센서의 값, 및/또는 열원이 되는 구성요소들의 상호 위치를 종합하거나 가중치를 주어 판단될 수 있다.
일 실시예에서 장치 및 프로세스의 성능 파라미터는 처리 성능을 포함할 수 있다. 처리 성능은 단말 자체, 및/또는 단말의 HW 또는 SW 구성 요소들의 입출력 전송 속도를 포함할 수 있다. 단말의 HW 구성 요소는 메모리, GPU, Display Camera, Network, 또는 CPU 중 적어도 하나를 포함할 수 있고, 단말의 SW 구성 요소는 프로세스 즉, AR runtime, AR 장면 관리자, Media Access Function, 렌더링, 위치 추적(vision engine/ spatial computing), 또는 Entry point 처리 중 적어도 하나를 포함할 수 있다.
예를 들어 메모리 읽기 프로세스의 처리 성능은 초당 읽은 바이트 크기로 나타낼 수 있고, 인코딩 프로세스의 처리 성능은 초당 인코딩한 프레임 개수로 나타낼 수 있고, vision engine의 성능은 초당 인식한 6DoF(degree of freedom) (좌표의 개수)로 나타낼 수 있다.
환경 파라미터의 변화에 따라 장치 및 프로세스는 성능 파라미터의 값이 달라질 수 있으며, 성능 판단부(606)는 성능 모델(604)에 현재 환경 파라미터의 값을 입력해 성능 파라미터의 값을 유추하거나, 실제 성능 파라미터의 값을 측정하고, 상기 성능 파라미터의 값이 성능 모델(604)에 따른 정상 범위(예를 들어 정상 범위(702)) 내인지 비정상 범위(예를 들어 비정상 범위(706))인지 또는 임계 범위(예를 들어 임계 범위(704))인지를 판단할 수 있다.
성능 판단부(606)는 장치 및 프로세스의 환경값 또는 성능값이 임계 범위 내에 있다면 장치 및 프로세스의 최적 성능을 위해 장치 및 프로세스의 이상 상태를 통합 프로세스 관리 프로세스(612)에 알릴 수 있다. 이후 성능 판단부(606)는 통합 프로세스 관리 프로세스(612)로부터 새로운 프로세스 지시를 부여받거나 현재 프로세스 수행을 위해 수신한 process manifest (또는 processing manifest)(예를 들어 process manifest file) 상의 다른 선택 사항을 선택하도록 결정할 수 있다. 만일 수신한 process manifest 상의 최하위 선택 사항도 만족할 수 없다면 더 넓은 범위의 Process manifest를 통합 프로세스 관리 프로세스에 요청할 수도 있다.
<단말 성능 정보>
일 실시예에서 단말(예를 들어 단말 장치(602 또는 802))에 의해 서버(예를 들어 클라우드/에지 서버(612 또는 850)로 전달될 수 있는 단말 성능 정보(610)(예를 들어 성능 정보 또는 성능 보고 정보라 칭함)는 아래의 정보 중 적어도 하나를 포함할 수 있다.- 온도
- Throughput
- Latency, 및/또는
- Capability/KPI(key performance indicator)
일 실시예에서 단말은 서버에게 사용자 선호 사양에 대한 정보를 보고할 수 있다.
일 실시예에서 성능 판단부(예를 들어 성능 판단부(606 또는 806)는 장치(예를 들어 단말 장치(602)) 및 프로세스의 환경 파라미터 또는 성능 파라미터를 서버(예를 들어 클라우드/에지 서버(612 또는 850) 내의 통합 프로세스 관리 프로세스(예를 들어 통합 프로세스 관리 프로세스(614 또는 852))에게 보고할 수 있다.
장치의 구성 요소 (예: CPU, memory, storage, 카메라, 또는 센서), 장치 또는 프로세스가 측정할 수 있는 환경 파라미터는 온도, 전압, 또는 동작 frequency 중 적어도 하나를 포함할 수 있다.
장치의 구성 요소 (예: CPU, memory, storage, 카메라, 또는 센서), 장치 또는 프로세스가 측정할 수 있는 성능 파라미터는 구성요소 입출력 속도, 또는 프로세스 처리속도 중 적어도 하나를 포함할 수 있다.
일 실시예에 따른 성능 판단부(606 또는 806)는 장치 및 프로세스에 따라 달라지는 처리 대상과 그 처리 대상에 따른 수행 결과를 표현할 수 있는 지표 및 지표의 수치를 성능 파라미터로 사용할 수 있다.
예를 들어 수신한 영상에 최종 투사 보정 (Late Stage Projection)을 실시해 디스플레이에 출력하는 장치는 수신으로부터 출력까지에 소요되는 시간인 downloadToDisplayLatency를 지표와 그 성능 파라미터로 사용할 수 있다. 예를 들어 Rendering만을 실시하는 프로세스 또는 장치 구성 요소는 렌더링 명령과 대상 컨텐츠 수신후 렌더링까지에 소요되는 시간인 renderingLatency를 지표와 그 성능 파라미터로 사용할 수 있다. 예를 들어 입력 영상을 출력하는 장치는 수신 영상의 출력에서 처리시간 내 처리하지 못해 누락되는 프레임의 개수인 frameDropped를 지표와 그 성능 파라미터로 사용할 수 있다.
일 실시예에서 장치가 프로세스를 처리할 수 있는 능력 또는 프로세스가 할당받은 리소스의 능력이 장치 및 프로세스의 성능 파라미터로 사용할 수 있다. 예를 들어 availability, compute, graphical compute, memory, storage, 또는 latency 중 적어도 하나는 장치의 전체 성능 중 해당 프로세스의 수행을 위해 할당한 리소스의 능력에 포함될 수 있다. 각 리소스에 대한 설명 및 정의는 3GPP TS 23.558 문서를 따를 수 있다.
3GPP TR 26.803 및 TS 23.558와 같이 3GPP 에서 고려되고 있는 cloud/edge architecture에서는 단말에서의 프로세스 실행을 고려하거나, 단말에서 실행되어야 할 프로세스를 처리할 처리부(예를 들어, Edge에서의 EAS(Edge Application Server))를 고려하고 있지 않다.
단말 성능 기반 서버-단말 통합 프로세스 서비스를 지원하기 위해, 단말(예를 들어 단말 장치(602))은 서비스 제공자(예를 들어 컨텐츠 서버(622))가 지시하는 프로세스를 실행할 수 있으며, 상기 프로세스를 실행할 수 있는 단말 내 처리부의 성능은 서비스 제공자(예를 들어 컨텐츠 서버(622)) 또는 통합 프로세스 서비스를 관리하는 프로세스(예를 들어 통합 프로세스 관리 프로세스(614))에 보고될 수 있다. 후술되는 실시예들 #1,2,3,4에서 처리부에 대한 도입 이전에 단말, 단말의 구성요소 또는 단말에서 실행되는 프로세스의 성능 지표(performance indicator) 정보가 서버(예를 들어 클라우드/에지 서버(612))에 전달하는 것으로 설명하였고, 본 개시에서는 단말 내 프로세스를 실행하는 처리부를 클라우드 어플리케이션 서버(Client Application Server: CAS)라 정의하고 단말에서 CAS의 성능을 보고하는 실시예들을 개시한다.
예를 들어 TS 23.558의 Table 8.2.3.1에 개시된 AC Service KPI는 단말의 AC(Application Client)가 필요로 하는 성능 요구사항을 포함할 수 있다. 본 개시의 실시예들에서 CAS capability KPI는 단말의 CAS가 제공할 수 있는 성능을 나타낼 수 있다.
일 실시예에 따른 CAS는 어플리케이션 제공자(또는 어플리케이션 서비스 제공자)(예를 들어 컨텐츠 서버(622) 또는 어플리케이션 제공자(860))로부터 직접 단말로 수신되거나, 또는 5GMS-Aware Application과 Application Client를 통해 단말로 수신한 프로세스를 실행/처리할 수 있다. 일 예로서 3GPP TR 26.803의 Figure 8에 개시된 어플리케이션 클라이언트(Application Client: AC) 또는 미디어 스트림 핸들러(Media Stream Handler)가 CAS가 될 수 있다. AC 또는 미디어 스트림 핸들러가 단말에서 실행될 때, 단말 성능 정보는 CAS capability KPI에 포함되어 서버(예를 들어 클라우드/에지 서버(612) 또는 클라우드/에지 서버(850))에게 보고될 수 있다.
도 9는 일 실시예에 따라 단말에 의해 보고되는 CAS capability KPI의 포맷을 예시한 것이다.
도 9를 참조하면, CAS capability KPI (900)는 Availability, Compute, Graphical Compute, Memory, Storage, 또는 Latency 중 적어도 하나의 정보 요소를 포함할 수 있다. 상기한 정보 필드들의 정의는 예를 들어 3GPP TS 23.558을 참조할 수 있다.
장치(예를 들어 장치(602) 또는 단말 장치(802)) 또는 프로세스는 상기 환경 파라미터 및 지표 별 성능 파라미터를 예를 들어 CAS capability KPI에 포함하여 통합 프로세스 관리 프로세스에 보고할 수 있다.
일 실시예(실시예#4)에서, AR Split Rendering의 경우 서버에서 렌더링된 결과물(rendered output)이 단말에 표시될 수 있다. 단말이 상기 렌더링된 결과물의 수신으로부터 표시까지를 수행하는데 소요된 시간 정보를 서버에 제공할 수 있고, 서버는 상기 시간 정보를 기반으로 다음 프레임이 표시되기까지 소요될 시간을 예측하고 그에 따른 미래 시간의 미래 사용자 위치를 더 잘 예측할 수 있다.
도 10은 일 실시예에 따라 단말에 의해 보고되는 소비 리포트의 포맷을 예시한 것이다.
도 10을 참조하면, Consumption Reporting Unit (1000)은 mediaConsumed, startTime, duration, downloadToDisplayLatency, renderingLatency, 또는 frameDropped 중 적어도 하나의 속성 필드를 포함할 수 있다. 상기한 속성 필드들의 정의는 예를 들어 3GPP TS 26.512를 참조할 수 있다. 일 실시예에서 downloadToDisplayLatency, renderingLatency, 또는 frameDropped 중 적어도 하나는 단말의 상태를 나타내기 위해 사용될 수 있다.
일 실시예에서 단말에서 서버로 상태를 전송하는 통신 방법에는 consumption reporting unit (1000) 외에도 다른 리포팅 메시지 및 DASH(dynamic adaptive streaming over HTTP) QoE (quality of experience) 관련 방식들(schemes)이 존재할 수 있으며, 본 개시의 실시예들에서 전달하고자 하는 정보는 다양한 리포팅 메시지 및 DASH QoE 관련 방식에 추가될 수 있고 consumption reporting unit (1000)에 국한되지 않는다.
downloadToDisplayLatency 는 단말이 렌더링된 결과물의 수신으로부터 display까지 소요하는 시간(latency from download, decode, (rendering) to display)을 나타내며, MTP(motion to photon)의 달성 여부 및 연속되는 향후 프레임의 위치/시간 보정에 반영될 수 있다.
renderingLatency는 downloadToDisplayLatency 보다 상세하게 한 프레임을 rendering하는데 소요되는 시간을 나타내며, 단말에서 하나 이상의 미디어를 decoding해 3차원 상에 위치시키고 composite하는 데 소요되는 시간이다. renderingLatency가 길면(예를 들어 임계값보다 큼) 서버는 단일 미디어의 복잡도를 낮추거나 및/또 미디어의 개수와 관련된 복잡도를 보정할 수 있다.
frameDropped (or fpsRendered)는 (최근 n초 동안) 컨텐츠의 목표 fps 대비 최종 rendering되지 못하고 drop된 frame의 개수를 나타낼 수 있다.
3GPP TS26.501 5GMS architecture를 사용하는 AR Split rendering system에서, 위 정보는 M5 interface를 통해 MSH (Media Session Handler)가 AF(Application Function)에 보고하는 report의 한 attribute 로 추가될 수 있다.
단말이 보고하는 사용자 선호 사양에 대한 정보는 예를 들어 다운링크 스트리밍을 위한 절차(예를 들어 도 23에 도시됨) 도중에 전송될 수 있다. 예를 들어 도 24에서 후술될 절차에서와 같이 단말은 사용자의 선호 사양을 확인할 수 있고, 선호 사양은 단말 성능 정보와 함께 서버(예를 들어 AR/MR 장면 관리자)에 제공될 수 있다. 단말은 서버가 지원하는 사용자 선호 사양 표현 scheme을 기반으로 사용자 선호 사양을 단말 성능 정보와 함께 지시할 수 있고, 서버는 프로세스의 선택 사항에 부가정보로서 영향을 받는 사용자 선호 사양을 기재하여 단말에게 제공할 수 있다.
예를 들어 서버는 단말에 process manifest를 제공할 때, 각 프로세스의 선택 사항 별로 사용자의 선호 사양에 영향을 주는 지 여부와 정도를 상기 process manifest 내에 기재할 수 있다. 단말은 프로세스의 선택 사항을 선택 시에, 상기 process manifest에 포함된, 영향을 받는 사용자 선호 사양을 기반으로 사용자 선호 사양이 저해되지 않는 선택 사항의 항목을 선택할 수 있다.
<성능 보고 방법>
일 실시예에서 단말 성능 정보는 Provisioning 단계에서 제공될 수 있다.
일 실시예에서 3GPP TR 26.998의 STAR architecture에서 STAR streaming 흐름도(예를 들어 3GPP TR 26.998의 Figure 6.2.4.1-1에 도시된 5G downlink streaming을 위한 STAR 기반 절차) 중 서비스 개시를 위한 Provisioning 단계 중에서, 단말의 AR/MR application (예를 들어 AR/MR application(814))과 AR/MR application provider (예를 들어 AR/MR application provider (860))(예를 들어 컨텐츠 서버)간의 M8 인터페이스(예를 들어 도 11), 단말의 media session handler와 media AF 간의 M5 인터페이스(예를 들어 도 12), 또는 단말의 media client와 서버의 media AS 간의 컨텐츠 다운링크/업링크 경로인 M4 인터페이스(도 13) 중 적어도 하나가 단말 성능 정보를 전달하기 위해 사용될 수 있다.
일 실시예에서 3GPP TR 26.803의 EMSA(streaming architecture extension for edge processing) architecture에서 서비스 개시를 위한 provisioning 단계 중에서, Client call flow의 EDGE-5 및 EDGE-1 인터페이스(예를 들어 도 14), 또는 Split rendering call flow의 M6 및 M5 인터페이스(예를 들어 도 15)가 사용될 수 있다.
일 실시예에서 단말 성능 정보는 Streaming 진행 단계에서 제공될 수 있다.
일 실시예에서 STAR 기반의 streaming 단계(예를 들어 도 16), EDGAR 기반의 streaming 단계(예를 들어 도 17), STAR interactive scene session 기반의 streaming 단계(예를 들어 도 18), 또는 STAR interactive media session 기반의 streaming 단계(예를 들어 도 19) 중 적어도 하나가 사용될 수 있다.
상기한 바와 같이, 단말(예를 들어 장치 또는 단말 장치)가 단말 성능 정보를 자체적으로 확인하고 상기 단말 성능 정보를 보고하는 동작은 단말이 서버와 서비스 개시를 위한 서비스 준비 및 리소스 확보를 수행하는Provisioning 단계에서 실시되거나, 및/또는 Provisioning이 완료되어 확보된 리소스를 활용해 서비스가 실행 중인 streaming 단계에서 실시될 수 있다.
일 실시예에서 STAR architecture에서 단말은 서비스 개시를 위한 컨텐츠 및 Provisioning 요청 단계(예를 들어 3GPP TS 26.998의 Figure 6.2.3.1-1에 도시된 call flow)에서 단말 성능 정보를 서버에 제공할 수 있다. 서버는 수신한 단말 성능 정보를 기반으로, 단말에게 제공할 컨텐츠의 수준을 판단하고 그에 따른 컨텐츠를 수신할 수 있는 정보를 단말에게 제공할 수 있다.
도 11은 일 실시예에 따라 다운링크 스트리밍을 위한 STAR 기반 call flow 절차에서 M8 인터페이스를 통해 단말 성능 정보를 제공하는 동작을 설명하기 위한 흐름도이다. 일 실시예에서 단말의 AR/MR Application과 컨텐츠 서버(예를 들어 AR/MR Application Provider)는 3GPP 5GMS의 M8 인터페이스를 통해 통신할 수 있다. 일 실시예에서 단말과 컨텐츠 서버는 도 22의 STAR 구조로부터 참조될 수 있다.
도 11을 참조하면, 동작 1101에서 서버(예를 들어 클라우드/에지 서버(612 또는 850)의 AS (예를 들어 media AS)는 장면 컨텐트를 취득(ingest)할 수 있다. 동작 1102는 단말의 AR/MR application에 의해 트리거되는 서비스 어나운스먼트 및 컨텐트 디스커버리로서, 동작 1102a 내지 동작 1102f를 포함할 수 있다. 동작 1102a에서 단말의 AR/MR application은 AR runtime으로부터 device status를 수신할 수 있다. 일 실시예에서, 도 8에 도시한 바와 같이, AR runtime(808)은 성능 모델(804)과 성능 판단부(806)에 의해 센서와 같은 하드웨어 구성요소와 주요 기능들의 상태를 확인할 수 있다. 동작 1102b에서 AR/MR application은 상기 device status를 기반으로 단말의 상태가 정상인지 혹은 비정상(예를 들어 성능 저하)인지를 확인할 수 있다. 예를 들어 단말의 상태가 비정상인 경우 동작 1102c로 진행할 수 있다.
동작 1102c에서 단말의 AR/MR application은 서버가 인식하고 있는 단말 성능에 대한 변경을 요청하기 위해 M8 인터페이스를 통해, 조정된 장치 성능(adjusted device capability)(예를 들어 장치 성능 조정값)에 대한 보고(예를 들어 단말 성능 정보)를 포함하는 서비스 어나운스먼트를 트리거할 수 있다. 상기 조정된 장치 성능은 컨텐츠 서버에 대한 단말 요구 사항을 나타낼 수 있다. 동작 1102d에서 컨텐츠 서버의 장면 서버는 상기 수신된 단말 성능 조정값에 대해 available한 컨텐츠 옵션(예를 들어 단말 요구 사항의 성능을 만족하는 컨텐츠)이 클라우드/에지 서버의 AS 내에 존재하는 지 확인하고 , 사용 가능한 컨텐츠가 존재하지 않을 경우 동작 1102e에서 컨텐츠 서버는 조정된 컨텐츠(예를 들어 단말 요구 사항의 성능을 만족하는 컨텐츠)를 클라우드/에지 서버의 AS로 제공할 수 있다. 동작 1102f에서 서버의 AS는 상기 조정된 컨텐츠와 process manifest를 단말의 AR/MR application에 어나운스먼트 절차를 통해 제공할 수 있다.
동작 1103에서 단말의 AR/MR application은 원하는 미디어 컨텐츠를 선택할 수 있다. 이후 단말은 상기 선택된 미디어 컨텐츠를 클라우드/에지 서버의 AS로부터 수신하기 위한 이후의 동작들(예를 들어 도 23의 동작 2304 내지 동작 2323)을 수행할 수 있다.
도 12는 일 실시예에 따라 다운링크 스트리밍을 위한 STAR 기반 call flow 절차에서 M5 인터페이스를 통해 단말 성능 정보를 제공하는 동작을 설명하기 위한 흐름도이다. 일 실시예에서 단말과 컨텐츠 서버는 도 22의 STAR 구조로부터 참조될 수 있다.
도 12를 참조하면, 동작 1201에서 서버(예를 들어 클라우드/에지 서버(612 또는 850)의 AS (예를 들어 media AS)는 장면 컨텐트를 취득(ingest)할 수 있다. 동작 1202는 단말의 AR/MR application에 의해 트리거되는 서비스 어나운스먼트 및 컨텐트 디스커버리로서, 동작 1202a 내지 동작 1202f를 포함할 수 있다.
동작 1202a에서 단말의 AR/MR application은 AR runtime으로부터 device status를 수신할 수 있다. 일 실시예에서 도 8에 도시한 바와 같이 AR Runtime(808)은 센서와 같은 HW 구성요소와 기능들을 포함하며, 성능 모델(804)과 성능 판단부(806)에 의해 상기 HW 구성요소와 기능들의 상태를 확인할 수 있다.
동작 1202b에서 AR/MR application은 상기 device status를 기반으로 단말의 상태가 정상인지 또는 비정상(예를 들어 성능 저하)인지를 확인할 수 있다. 예를 들어 단말의 상태가 비정상인 경우 동작 1202c로 진행할 수 있다.
동작 1202c에서 AR/MR Application은 단말의 Media Access Function (예를 들어 media access function (812)) 내 Media Session Handler와, 서버(850)의 5GMSd AF (예를 들어 미디어 AF)간 통신(예를 들어 M5 인터페이스)을 통해 조정된 장치 성능(device capability)을 포함하는 단말 상태를 (예를 들어 단말 성능 정보로서) 보고할 수 있고, 상기 단말 상태는 5GMSd AF와 5GMSd AS간 통신을 통해 전달될 수 있다.
동작 1202d에서 서버의 미디어 AS는 상기 단말 상태 내의 상기 장치 성능을 만족하는 컨텐츠가 존재하는지, 다시 말해서 상기 컨텐츠가 AR/MR Application Provider (예를 들어 AR/MR Application Provider (622))로부터 취득되었는지 확인할 수 있다.
동작 1202e에서 상기 장치 성능을 만족하는 컨텐츠가 수신되어 있지 않은 경우 미디어 AS는 AR/MR Application Provider에 상기 장치 성능을 만족하는 조정된 컨텐츠의 취득(ingest)을 요청하고, 상기 조정된 컨텐츠가 미디어 AS에 의해 취득될 수 있다.
동작 1202f에서 상기 조정된 컨텐츠가 미디어 AS로부터 단말의 AR/MR application으로 어나운스될 수 있다.
동작 1203에서 단말의 AR/MR application은 원하는 미디어 컨텐츠(예를 들어 상기 조정된 컨텐츠)를 선택할 수 있다. 이후 단말은 상기 선택된 미디어 컨텐츠를 클라우드/에지 서버의 AS로부터 수신하기 위한 이후의 동작들(예를 들어 도 23의 동작 2304 내지 동작 2323)을 수행할 수 있다.
도 13은 일 실시예에 따라 다운링크 스트리밍을 위한 STAR 기반 call flow 절차에서 M4 인터페이스를 통해 단말 성능 정보를 제공하는 동작을 설명하기 위한 흐름도이다. 일 실시예에서 단말과 컨텐츠 서버는 도 22의 STAR 구조로부터 참조될 수 있다.
도 13을 참조하면, 동작 1301에서 서버(예를 들어 클라우드/에지 서버(612 또는 850)의 AS (예를 들어 media AS)는 장면 컨텐트를 취득(ingest)할 수 있다. 동작 1302는 단말의 AR/MR application에 의해 트리거되는 서비스 어나운스먼트 및 컨텐트 디스커버리로서, 동작 1302a 내지 동작 1302f를 포함할 수 있다.
동작 1302a에서 단말의 AR/MR application은 AR runtime으로부터 device status를 수신할 수 있다. 일 실시예에서 도 8에 도시한 바와 같이 AR Runtime (808)은 센서와 같은 HW 구성요소와 기능들을 포함하며, 성능 모델(804)과 성능 판단부(806)에 의해 상기 HW 구성요소와 기능들의 상태를 확인할 수 있다.
동작 1302b에서 AR/MR application은 상기 device status를 기반으로 단말의 상태가 정상인지 또는 비정상(예를 들어 성능 저하)인지를 확인할 수 있다. 예를 들어 단말의 상태가 비정상인 경우 동작 1302c로 진행할 수 있다.
동작 1302c에서 AR/MR Application은 단말의 Media Access Function (예를 들어 media access function (812))내 Media Client와, 서버(850)의 5GMSd AS (예를 들어 미디어 AS)간 통신 (예를 들어 M4 인터페이스)을 통해 조정된 장치 성능을 포함하는 단말 상태를 (예를 들어 단말 성능 정보로서) 보고할 수 있다.
동작 1302d에서 서버의 미디어 AS는 상기 단말 상태 내의 상기 장치 성능을 만족하는 컨텐츠가 존재하는지, 다시 말해서 상기 컨텐츠가 AR/MR Application Provider (예를 들어 AR/MR Application Provider (622))로부터 취득되었는지 확인할 수 있다.
동작 1302e에서 상기 장치 성능을 만족하는 컨텐츠가 수신되어 있지 않은 경우 미디어 AS는 AR/MR Application Provider에 상기 장치 성능을 만족하는 조정된 컨텐츠의 취득(ingest)를 요청하고, 상기 조정된 컨텐츠가 미디어 AS에 의해 취득될 수 있다.
동작 1302f에서 상기 조정된 컨텐츠가 미디어 AS로부터 단말의 AR/MR application으로 어나운스될 수 있다.
동작 1203에서 단말의 AR/MR application은 원하는 미디어 컨텐츠(예를 들어 상기 조정된 컨텐츠)를 선택할 수 있다. 이후 단말은 상기 선택된 미디어 컨텐츠를 클라우드/에지 서버의 AS로부터 수신하기 위한 이후의 동작들(예를 들어 도 23의 동작 2304 내지 동작 2323)을 수행할 수 있다.
도 14는 일 실시예에 따른 단말 구동 호 흐름도에서 단말 성능 정보를 제공하는 동작을 설명하기 위한 흐름도이다. 도시된 절차는 예를 들어 3GPP TS 26.803의 Figure 9에 도시된 client-driven session establishment를 참조할 수 있다.
도 14를 참조하면, 서비스 개시를 위한 Provisioning 단계에서 어플리케이션 초기화를 위한 동작 1407은 동작 1407a 및 동작 1407b를 포함할 수 있다. 동작 1407a에서 단말의 어플리케이션(예를 들어 5GMS-Aware application)은 어플리케이션 제공자가 단말 성능을 고려하여 단말 및 서버를 통해 프로세스들을 분산시킬 수 있도록 하기 위해 장치 성능을 확인할 수 있다. 동작 1407b에서 5GMS-Aware application은 상기 확인된 장치 성능을 5GMS-Aware application 내 application Client (AC)과 공유할 수 있다. 동작 1408에서 AC는 media session handler 내부의 EEC(edge enabler client)에게 상기 장치 성능을 전달할 수 있다.
동작 1409에서 EEC는 적절한 EES (edge enabler server)를 찾기 위해 ECS(edge configuration server)에게 문의할 수 있다. 동작 1410에서 EEC는 상기 선택된 EES에 등록할 수 있다.
동작 1411에서 EEC는 EES에게 접촉하여, 5GMS AS 성능을 제공 가능한 EAS 인스턴스의 목록을 질의하는 메시지에, 단말 상태와 관련된 상기 장치 성능을 나타내는 정보를 (단말 성능 정보로서) 포함시킬 수 있다. EEC는 EES에게 접촉하기 위해 EAS 디스커버리 필터들을 사용할 수 있다. EES는 Split rendering을 지원하는 EAS를 할당함에 있어, 단말의 상기 장치 성능에 따른 추가 프로세스를 감안하여, EAS의 필요 KPI를 결정할 수 있다. 일 실시예에서 EEC는 EES에게 단말이 현재 장치 성능과 함께 스플릿 렌더링 서비스를 제공하는 EAS를 요청할 수 있다. EES는 스플릿 렌더링을 지원하는 EAS의 할당에 있어서 단말의 장치 성능과 그에 따른 추가 프로세스를 고려하여 EAS에 대해 필요한 KPI를 결정할 수 있다.
도 15는 일 실시예에 따른 스플릿 렌더링 호 흐름도에서 단말 성능 정보를 제공하는 동작을 설명하기 위한 흐름도이다. 도시된 절차는 예를 들어 3GPP TR 26.803의 Figure 15에 도시된 call flow for split rendering을 참조할 수 있다.
도 15를 참조하면, 동작 1501은 application provider가 어플리케이션 세션들을 위해 요구된 자원을 설정하는 절차를 의미하며 동작 1501a 및 동작 1501b를 포함할 수 있다. 동작 1501a에서 application provider는 5GMS AF (예를 들어 미디어 AF)에게 새로운 프로비저닝 세션을 생성할 것을 요청할 수 있다. 동작 1501b에서 미디어 AF는 QoS(quality of service)를 생성하고 자원 템플릿들을 계산할 수 있다.
동작 1502에서 단말의 application (APP)(예를 들어 AR/MR application 또는 5GMS-Aware application)은 단말에서 개시되고 새로운 어플리케이션 세션을 생성하기 위해 application provider에게 접속할 수 있다.
동작 1503에서 AR/MR application은EEC를 통해 단말의 장치 성능을 나타내는 정보(예를 들어 단말 성능 정보)를 포함하는 EAS 서버 리소스 할당 요구사항을 EEC (예를 들어 media session handler)에 전달할 수 있다. 일 실시예에서 AR/MR application은 스플릿 렌더링을 위한 세션 시작을 요청하기 위해 상기 장치 성능을 EEC에게 전달할 수 있다.
동작 1504에서 EEC는 상기 장치 성능에 대한 정보를 EES (예를 들어 미디어 AF)에게 전달할 수 있다. 동작 1505a에서 EES는 Split rendering 서비스에 필요한 일반적인 EAS discovery filter 대신, 상기 장치 성능에 대한 정보를 기반으로, 필요한 EAS를 찾기 위한 EAS discovery filter를 생성할 수 있다. 일 실시예에서 EES는 장치 성능이 입수되면 상기 장치 성능에 따라 서버 및/또는 단말에서 수행되어야 하는 프로세스들을 결정하고, EEC가 요청한 것에 비해 추가 리소스(예를 들어 EAS)가 필요한 경우 추가적인 KPI가 포함된 상기 EAS 디스커버리 필터를 생성하여, EAS의 검색/확보에 사용하도록 할 수 있다.
동작 1505b에서 EES는 상기 생성된 EAS discovery filter의 조건을 만족하는 EAS를 검색하고, 상기 조건을 만족하는 EAS가 없으면 새로 생성할 수 있다.
동작 1506에서 EES는 EEC로 자원 유효성을 확인하기 위해 potential EAS/5GMS AS의 리스트를 전달할 수 있다.
동작 1507에서 EEC는 적절한 EAS/5GMS AS 인스턴스들의 리스트를 단말의 어플리케이션으로 제공할 수 있다. 어플리케이션은 하나의 EAS/5GMS AS 인스턴스를 선택하여 연결을 수립할 수 있다.
동작 1508에서 단말의 어플리케이션이 상기 발견된 EAS AS와 연결되면, 어플리케이션은 렌더링된 viewport와 포즈 정보를 상기 EAS AS와 교환할 수 있다.
후술되는 도 16, 도 17, 도 18, 도 19의 실시예들은 서버와 통신해 프로세스를 조절하는 경우를 설명한다. 단말(예를 들어 단말(602 또는 802)은 단말이 실행해야 할 프로세스를 서버(예를 들어 클라우드 에지 서버(612 또는 850))로부터 수신했으나, 수신된 프로세스가 목표 시간/성능을 만족하지 못하는 경우, 서버와 통신하여 상기 프로세스의 성능(예를 들어 복잡도)을 변경할 수 있다. 서버에서 processing manifest를 제공하지 않았거나, 제공된 process manifest내에 단말 성능으로 처리할 수 있는 선택 사항이 없는 경우가 이에 해당된다.
일 실시예에서 단말은 장치 상태를 판단하고, 서버에 상기 장치 상태를 보고하며, 서버로부터 변경된 entry point 또는/함께 process manifest를 수신할 수 있다.
도 16은 일 실시예에 따라 STAR 기반의 스트리밍 단계에서 단말 성능 정보를 제공하는 동작을 설명하기 위한 흐름도이다. 도시된 예에서 단말은 service/content discovery 뿐만 아니라 결정한 컨텐츠의 재생 중에도 성능 변화를 감지하고 상기 성능 변화를 서버로 보고할 수 있다. 도시된 절차는 예를 들어 3GPP TR 26.998의 Figure 6.2.4.1-1에 도시된 5G downlink streaming을 위한 STAR 기반 절차를 참조할 수 있다.
도 16을 참조하면, 동작 1608 이전에 STAR 기반 스트리밍을 위한 프로비저닝 동작들이 수행될 수 있다.
동작 1608에서 서버(예를 들어 클라우드/에지 서버(802))의 AR/MR 장면 관리자 (예를 들어 scene manager (810))는 장면 디스크립션을 포함하는 엔트리 포인트를 처리하고 장면 세션을 생성할 수 있다. 동작 1609에서 AR/MR Scene Manager는 새로운 AR/MR 세션의 생성을 AR runtime(예를 들어 AR runtime (808))로 요청할 수 있다.
동작 1610은 AR/MR application에서 새로운 AR/MR 세션을 생성하기 위한 절차로서, 동작 1610a 내지 동작 1610f를 포함할 수 있다.
동작 1610a에서 AR runtime은 AR/MR application으로 장치 상태를 보고할 수 있다. 동작 1610b에서 AR/MR application은 상기 장치 상태를 기반으로 단말의 상태가 정상인지 또는 비정상(예를 들어 성능 저하)인지를 확인할 수 있다. 예를 들어 단말의 상태가 비정상인 경우 동작 1610c로 진행할 수 있다.
동작 1610c에서 AR/MR application은 서버가 인식하고 있는 단말 성능에 대한 변경을 요청하기 위해 조정된 장치 성능을 포함하는 보고(예를 들어 단말 성능 정보)를 서버의 AS (예를 들어 미디어 AS)로 전송할 수 있다. 동작 1610d에서 AS는 상기 장치 성능을 만족하는 컨텐츠가 서버에 존재하는지 확인하고, 만일 존재하지 않은 경우 동작 1610e에서 AR/MR application provider (예를 들어 AR/MR application provider (622 또는 860))로부터 조정된 컨텐츠 (예를 들어 조정된 장치 성능을 만족하는 컨텐츠)를 취득할 수 있다.
동작 1610f에서 AS는 상기 조정된 컨텐츠와 process manifest를 어나운스먼트 절차를 통해 단말의 AR/MR application에게 제공할 수 있다.
동작 1611에서 단말의 AR/MR scene manager는 미디어 클라이언트의 media session handler에게 스트리밍 세션의 생성을 지시하면서 필요한 QoS 정보를 제공할 수 있다.
동작 1612에서 media session handler는 스트리밍 세션의 설정 동안 상기 QoS 정보를 서버의 미디어 AF와 공유할 수 있다.
이후 STAR 기반 스트리밍을 위한 나머지 동작들이 수행될 수 있다.
도 17은 일 실시예에 따른 EDGAR 기반의 streaming 단계에서 단말 성능 정보를 제공하는 동작을 설명하기 위한 흐름도이다. 도시된 절차는 예를 들어 3GPP TR 26.998의 Figure 6.2.4.121에 도시된 5G downlink streaming을 위한 EDGAR 기반 절차를 참조할 수 있다.
도 17을 참조하면, 동작 1709 이전에 STAR 기반 스트리밍을 위한 프로비저닝 동작들(예를 들어 도 23의 동작 2301 내지 동작 2308)이 수행될 수 있다. 동작 1709는 장면 디스크립션과 장치 성능에 기반하여 AS/EAS/를 선택하고 에지 프로세싱을 인스턴스화(instantiate)하기 위하여, 동작 1709a 내지 동작 1709d를 포함할 수 있다.
동작 1709a에서 단말의 scene manager는 자원별 요구사항을 확인할 수 있다. 동작 1709b에서 scene manager는 새로운 장면을 위한 엔트리 포인트를 서버의 미디어 AS에게 요청할 수 있다. 동작 1709c에서 단말의 media session handler는 필요한 경우 미디어 AS와 EAS KPI들을 도출하고 5GMS AS 성능을 제공 가능한 새로운 AS/EAS를 인스턴스화할 수 있다. 동작 1709d에서 미디어 AS는 새로운 장면 디스크립션을 위한 엔트리 포인트 주소(예를 들어 URL)와 process manifest를 단말의 scene manager에게 제공할 수 있다.
동작 1710에서 단말의 scene manager는 media client를 통해 미디어 ASfh 단순화된 엔트리 포인트를 요청하고 수신할 수 있다.
이후 상기 엔트리 포인트를 사용하여 미디어 AS와 단말의 AR runtime 간에 미디어 데이터의 처리와 관련된 동작들(예를 들어 도 26의 동작 2611 내지 동작 2628)이 수행될 수 있다.
도 18은 일 실시예에 따른 장면 세션을 통해 단말 성능 정보를 제공하는 동작을 설명하기 위한 흐름도이다.
도 18을 참조하면, 동작 1808에서 단말의 AR/MR scene manager는 AR runtime에게 AR/MR 세션을 요청할 수 있다. 동작 1809에서 AR runtime은 AR/MR 세션을 생성하고, 동작 1809a에서 AR/MR application에게 장치 상태를 보고할 수 있다. 동작 1809b에서 AR/MR application은 상기 장치 상태를 기반으로 단말의 상태가 정상인지 또는 비정상(예를 들어 성능 저하)인지를 확인할 수 있다. 예를 들어 단말의 상태가 비정상인 경우 동작 1809c로 진행할 수 있다.
동작 1809c에서 AR/MR application은 조정된 장치 성능을 포함하는 보고를 서버의 장면 서버로 보고할 수 있다. 동작 1810에서 AR runtime은 AR/MR scene manager를 통해 장면 서버에게 interaction 및 포즈 정보를 전송할 수 있다.
동작 1811에서 장면 서버는 장면 처리를 수행할 수 있고, 동작 1812에서 수신된 interaction 및 포즈 정보에 따라 조정된 장면을 단말의 미디어 클라이언트로 전달할 수 있다. 또한 동작 1813에서 장면 서버는 조정된 process manifest를 단말의 AR/MR application에게 전송할 수 있다.
도 19는 일 실시예에 따른 미디어 세션을 통해 단말 성능 정보를 제공하는 동작을 설명하기 위한 흐름도이다.
도 19를 참조하면, 각 미디어 스트림/오브젠트를 위한 미디어 세션 도중에 delivery manifest를 요청하고 수신하기 위한 동작 1917이 수행될 수 있다. 동작 1917은 후술되는 동작 1917a 내지 동작 1917f를 포함할 수 있다.
동작 1917a에서 미디어 세션 도중에 단말의 AR runtime은 AR/MR application에게 장치 상태를 보고할 수 있다. 동작 1917b에서 AR/MR application은 상기 장치 상태를 기반으로 단말의 상태가 정상인지 또는 비정상(예를 들어 성능 저하)인지를 확인할 수 있다. 예를 들어 단말의 상태가 비정상인 경우 동작 1917c로 진행할 수 있다.
동작 1917c에서 AR/MR application은 조정된 장치 성능을 포함하는 보고를 서버의 미디어 AS로 보고할 수 있다. 동작 1917d에서 미디어 AS는 각 미디어 스트림/오브젝트에 대한 복잡도를 조정할 수 있다.
동작 1917e에서 미디어 AS는 상기 조정된 복잡도에 따른 조정된 delivery manifest를 단말의 미디어 클라이언트로 전달할 수 있다. 또한 동작 1917f에서 서버의 미디어 AF는 조정된 process manifest를 단말의 media session handler를 통해 AR/MR application에게 전송할 수 있다.
<통합 프로세스 구성>
일 실시예에 따른 process manifest는 여러 장치에서 실행할 프로세스들로 이루어진 절차들을 제공하고, 각 프로세스 별로 서로 다른 복잡도를 갖는 여러 선택 사항을 제공하는 정보를 제공할 수 있다. 각 선택 사항은 목표 성능을 포함할 수 있다.
예를 들어 encoding 프로세스(또는 encoders 프로세스)에 대한 복잡도는 해상도 정보를 포함할 수 있고, 해상도 정보는 VGA(video graphics array), HD(high density), 또는 4K 중 적어도 하나를 포함할 수 있다. processing manifest는 encoding 프로세스에 대해 서로 다른 해상도를 갖는 3개 혹은 그 이상의 선택 사항들을 제공할 수 있다. 각각의 선택 사항은 목표 성능을 포함할 수 있다. 예를 들어 목표 성능은 초당 처리 속도 (예: 90 fps)를 포함할 수 있다. 프로세스의 복잡도를 낮출 필요가 있는 경우, 단말(예를 들어 단말(602 또는 802)은 processing manifest의 선택 사항들을 검토하고, 더 낮은 복잡도를 가지면서 목표 성능을 만족할 수 있는 선택 사항에 따라 프로세스 변경 대상을 결정할 수 있다.
예를 들어, 단말은 4K 해상도로 인코딩하는 프로세스를 실행하고 있고, 온도 상승에 의한 임계 범위의 진입 및 그로 인해 성능이 부족하게 될 것으로 예상되어 서버(예를 들어 서버(612 또는 850))로부터 프로세스 변경 판단의 지시가 수신된 경우, 단말은 서버로부터 수신한 processing manifest를 기반으로 encoding 프로세스에 대한 복잡도 선택 사항들을 검토하여, 2K 해상도를 가지는 복잡도 선택사항에 대한 목표 성능이 90 fps인 것을 확인할 수 있다. 단말은 90 fps의 목표 성능을 만족할 수 이쓴 상기 복잡도 선택사항에 따라 encoding 프로세스의 해상도를 2K로 낮출 것으로 결정할 수 있다.
일 실시에에서 process manifest에서 제공 가능한 프로세스의 예시는, decoding, encoding, rendering, encrypting, decrypting, compositing, displaying, pose sensing, pose correcting, feature extracting, feature matching, anchor mapping, object tracking, hand tracking, 또는 eye tracking 중 적어도 하나를 포함할 수 있고, 상기 열거된 예시만으로 제공 가능한 프로세스의 종류를 국한하지 않는다.
일 실시예에서 process manifest는 별도 URL을 갖는 문서, 별도 Message, 또는 별도 metadata를 통해 전달될 수 있다. 일 실시예에서 process manifest는 entry point에 포함되거나, entry point에 첨부되거나, 또는 entry point가 지시하는 information element에 포함되어 전달될 수도 있다.
일 실시예에서 process manifest는 프로세스를 명시하기 위한 scheme, 프로세스의 복잡도/profile을 명시하기 위한 scheme, 각 프로세스의 복잡도에 따른 선택 항목별 목표 성능을 명시하기 위한 scheme, 또는 사용자 선호 사양을 명시하기 위한 scheme 중 적어도 하나에 따라 생성될 수 있다.
일 실시예에서 단말의 성능 저하에 따란 처리는 프로세스 복잡도 조정, 또는 프로세스 삭제(또는 대치) 중 적어도 하나를 포함할 수 있다.
복잡도 조정은 프로세스가 생성/처리하는 미디어의 해상도 조절, fps 조절, 또는 압축 품질 조절 중 적어도 하나를 포함할 수 있다.
프로세스 삭제는 단말에서 실행되던 프로세스를 서버에서 실행하는 동작 또는 컨텐츠 품질(예를 들어 단말에서의 화질 개선)에 큰 영향이 없다면 상기 프로세스를 삭제하는 동작 중 적어도 하나를 포함할 수 있다.
일 실시예에서 상기 프로세스를 서버에서 실행하는 동작의 일 예를 다음과 같이 설명한다. 단말은 2개 이상의 서로 다른 미디어를 수신하고 상기 미디어를 하나의 영상으로 합치는 composition 프로세스를 수행할 수 있다. 단말의 성능 저하에 따라 상기 composition 프로세스의 수행이 단말의 실행 목록에서 삭제될 수 있고, 서버는 상기 미디어에 대한 composition을 수행하고 합쳐진 영상을 단말로 전송할 수 있. 단말은 두 개 이상의 미디어를 수신하고, composition을 수행하는 대신, composition된 하나의 미디어를 수행하므로 프로세스 부담이 줄어들 수 있다. 단말은 Composition이 서버에서 실행되는 동안 발생하는 artefact(예를 들어 시간차)를 보정하기 위해 전/후 프로세스의 조정을 수행할 수 있다.
<프로세스 변경 (단말, 서버)>
일 실시예에서 프로세스 변경은 단말에 의해 판단되거나, 단말이 프로세스 변경 결과를 서버로 전달하거나, 단말이 서버에 프로세스 변경을 요청하거나, 또는 서버가 프로세스 변경을 판단함으로써 수행될 수 있다.
일 실시예에서 통합 프로세스의 수행(예를 들어 단말에서 실행되는 프로세스들과 서버에서 실행되는 프로세스들의 협력) 시, 프로세스 실행 순서와 각 프로세스의 입출력이 프로세스들간에 긴밀하게 연결되므로, 단말에서의 프로세스 변경/삭제 처리 이전에 서버와의 교섭 및 그에 따른 서버에서의 허가/consent/acknowledge가 선행되어야 한다.
일 실시예에서 단말은 서버로부터 기수신한 process manifest내 프로세스 조절 범위 정보를 기반으로 프로세스 변경을 판단할 수 있다.
단말이 프로세스 변경을 판단하는 경우 단말이 결정할 수 있는 프로세스 변경(예를 들어 복잡도 조절/삭제)의 선택 범위가 포함된 process manifest가 서버로부터 단말에 제공될 수 있고, 단말은 주어진 선택 범위 내에서 서버의 허가 절차 없이 프로세스 변경을 결정할 수 있다.
단말에서 실행한 프로세스 결과물이 서버로 전송될 때 단말이 생성하기로 했던 프로세스 처리 결과가 성능 이슈에 따른 프로세스 변경으로 인해 달라지는 경우 서버의 프로세스 중 단말의 프로세스 처리 결과물을 입력으로 실행되는 프로세스가 영향받을 수 있으므로, 단말은 프로세스 변경 내역에 대해 서버에게 통지할 수 있다. 일 실시예에서 프로세스를 변경한 장치(예를 들어 단말) 및 프로세스는, 변경된 프로세스의 결과물을 입력으로 사용하는 연결된 프로세스 및 프로세스를 실행하는 장치(예를 들어 서버)에 프로세스 변경을 통지할 수 있다.
예를 들어, 공간상에서 단말의 위치를 식별하기 위한 vision engine/spatial computing이 서버에서 실행되는 경우, 단말은 주변 영상이나 센서 정보(예: 2D RGB Video capture)를 서버로 전송하는 판단(예를 들어 프로세스 변경)을 내릴 수 있다. 단말 성능의 문제로 2D RGB Video 대신 Gray-scale video가 전송되면, 서버에서 RGB 정보를 활용해 입체를 판단하는 프로세스(예를 들어 vision engine/spatial computing 프로세스)는 gray scale 기반 프로세스로 변경되어야 한다.
process manifest에 따라 단말이 서버의 허가 없이 프로세스 변경하였고 상기 변경된 프로세스에서 생성된 출력이 서버의 다음 프로세스에 영향을 미치는 경우, 단말에서 서버로 상기 프로세스 변경을 통지할 수 있다. 상기 프로세스 변경의 통지는 별도의 메시지, 리포트 또는 미디어 파일의 metadata 공간내 미디어 프로파일 표시, processing manifest내 프로세스/선택 식별자 표시, 또는 SDP(session description protocol) 기반 request/response내 표시 중 적어도 하나에 포함될 수 있으며 본 개시에서 언급한 예시에 한정되지 않는다.
일 실시예에서 단말은 서버로부터 수신된 process manifest에 근거해 프로세스를 결정할 수 있다. process manifest에서 허용하는 최저 성능 요구사항에 단말 성능이 미치지 못한다고 판단한 경우 단말은 서버에 더 낮은 range를 갖는 새로운 process manifest를 요청하거나, process manifest가 지원하지 않는 더 낮은 성능의 단말 성능을 나타내는 단말 성능 정보를 서버로 전송하고 서버로부터 더 넓은 범위의 process manifest를 다시 제공받을 수 있다.
일 실시에에서 서버의 통합 프로세스 관리 프로세스(예를 들어 통합 프로세스 관리 프로세스(614 또는 852))는 단말의 요청으로 인해 서버에서 추가로 실행되는 프로세스의 부담이 증가하고, 그에 따라 추가 리소스가 필요한 지 판단할 수 있다.
도 20(도 20a 및 도 20b로 구성됨)은 일 실시예에 따라 프로비저닝 단계에서 서버 리소스를 추가 확보하는 동작을 설명하기 위한 흐름도이다. 도시된 절차는 예를 들어 3GPP TR 26.803의 EMSA architecture를 기반으로 하는 Figure 9에 도시된 client-driven session establishment 절차 중 Provisioning 단계에서 단말이 어플리케이션과 ASP(application service provider)(예를 들어 application provider)간 통신을 사용할 수 있다.
도 20을 참조하면, 동작 2020에서 단말의 application (예를 들어 AR/MR application 또는 5GMS-Aware application)은 단말의 미디어 스트림 핸들러에게 적절한 스트리밍 액세스 파라미터를 전달하여 세션을 개시할 수 있다. 동작 2021에서 미디어 스트림 핸들러는 단말의 미디어 세션 핸들러에게 세션 시작 이벤트를 전송하여 새로운 세션이 시작됨을 알릴 수 있다. 동작 2022에서 단말의 미디어 세션 핸들러는 서버의 AF (예를 들어 5GMS AF)로부터 세션에 적절한 서비스 액세스 정보를 획득할 수 있다.
동작 2023에서 미디어 스트림 핸들러는 선택된 EAS를 포함하는 서버의 AF와 접속할 수 있다. 상기 접속을 통해 미디어 전달을 위한 스트리밍이 시작될 수 있다. 동작 2024에서 세션에 대한 지원 정보가 미디어 스트림 핸들러로부터 미디어 세션 핸들러로 전달될 수 있다. 동작 2025에서 미디어 세션 핸들러는 서 버의 AF와 세션과 관련된 지원 정보(예를 들어 보고, 네트워크 지원, 또는 다이나믹 정책)를 교환할 수 있다.
동작 2026은 서버 리소스(예를 들어 새로운 EAS)를 추가 확보하기 위한 것으로서 후술되는 동작 2026a 내지 동작 2026g를 포함할 수 있다.
동작 2026a에서 단말의 어플리케이션(예를 들어 AR application)은 단말 상태를 확인하고 프로세스 변경을 결정할 수 있다. 동작 2026b에서 어플리케이션은 AR application과 ASP(application service provider)(예를 들어 5GMS Application provider)간 통신 인터페이스를 통해 단말의 프로세스 변경을 통지할 수 있다. 동작 2026c에서 ASP는 상기 프로세스 변경에 따른 추가 프로세스 부담을 감안한 EAS KPI를 재설정할 수 있다.
동작 2026d에서 ASP는 상기 새로 설정된 EAS KPI를 포함하는 service discovery filter를 AF를 통해 EES에게 전달할 수 있다. 동작 2026e에서 EES는 MnS (management service) entity와 통신하여 새로운 EAS를 할당받고, 동작 2026f에서 상기 새로운 EAS에 대한 정보(예를 들어 list of suitable “5GMS AS” EAS instances”)를 EEC에게 전달할 수 있다. 동작 2026g에서 단말의 AC는 동작 2026a에서의 판단에 따른 변경된 프로세스를 실행하고 상기 변경된 프로세스에 의해 생성되는 결과를 상기 새로운 EAS에 전달할 수 있다.
동작 2027에서 미디어 스트림 핸들러는 선택된 EAS를 포함하는 서버의 AF와 접속할 수 있다. 상기 접속을 통해 미디어 전달을 위한 스트리밍이 시작될 수 있다. 동작 2028에서 세션에 대한 지원 정보가 미디어 스트림 핸들러로부터 미디어 세션 핸들러로 전달될 수 있다. 동작 2029에서 미디어 세션 핸들러는 서 버의 AF와 세션과 관련된 지원 정보(예를 들어 보고, 네트워크 지원, 또는 다이나믹 정책)를 교환할 수 있다.
동작 2030에서 단말의 어플리케이션은 미디어 스트림 핸들러에게 세션이 종료됨을 통보할 수 있다. 동작 2031에서 미디어 스트림 핸들러는 미디어 세션 핸들러에게 상기 세션의 종료를 통보할 수 있다. 동작 2032에서 미디어 세션 핸들러는 AF에 대한 최종 보고를 수행할 수 있다.
도 21(도 20a 및 도 20b로 구성됨)은 일 실시예에 따라 프로비저닝 단계에서 서버 리소스를 추가 확보하는 동작을 설명하기 위한 흐름도이다. 도시된 절차는 예를 들어 3GPP TR 26.803의 EMSA architecture를 기반으로 하는 Figure 9에 도시된 client-driven session establishment 절차 중 Provisioning 단계에서 미디어 세션 핸들러와 AF 간 통신을 사용할 수 있다.
도 21을 참조하면, 동작 2127은 서버 리소스(예를 들어 새로운 EAS)를 추가 확보하기 위한 것으로서 후술되는 동작 2127a 내지 2127g를 포함할 수 있다.
동작 2127a에서 단말의 어플리케이션(예를 들어 AR application)은 단말 상태를 확인하고 프로세스 변경을 결정할 수 있다. 동작 2127b에서 AR 어플리케이션은 미디어 세션 핸들러를 통해 AF와 통신하여 단말의 프로세스 변경을 통지할 수 있다. 동작 2127c에서 프로세스 변경에 따른 추가 프로세스 부담을 감안한 EAS KPI가 AF의 EES에 의해 재설정될 수 있다. 동작 2127d에서 EES는 새로운 EAS Service discovery filter를 생성하고 EAS 목록을 작성할 수 있다. 동작 2127e에서 EES는 MnS entity와 통신하여 새로운 EAS를 할당받을 수 있다. 동작 2127f에서 상기 새로운 EAS에 대한 정보(예를 들어 EAS 목록)이 EES로부터 EEC로 전달될 수 있다. 동작 2127g에서 AC는 동작 2127a에서의 판단에 따른 변경된 프로세스를 실행하고 상기 변경된 프로세스에 의해 생성되는 결과를 상기 새로운 EAS에 전달할 수 있다.
동작 2128 내지 동작 2133에 대한 설명은 동작 2027 내지 동작 2032와 동일할 수 있다.
일 실시예에서 단말 요청없이 단말에서 보고하는 성능을 기반으로 서버에서 프로세스 변경을 판단하고 및 상기 판단에 따라 새로운 EAS를 포함하는 성능을 확보하는 방법을 아래에 설명한다.
AR 어플리케이션은 단말 상태를 확인 후 상기 단말 상태를 보고할 수 있다. AR 어플리케이션은 ASP에게 또는 미디어 세션 핸들러를 통해 서버의 AF에게 상기 단말 상태를 보고할 수 있다. ASP 또는 AF는 최초로 EAS 할당을 요청한 시점 (예를 들어 서비스 개시 시점) 대비 단말 성능이 저하된 경우, 단말을 포함한 전체 서비스 프로세스 흐름의 영향을 판단해 단말과 서버에서의 프로세스 처리 능력을 조정할 수 있다. 추가 EAS 성능이 필요한 경우, 상기 추가 EAS에 따른 추가 프로세스 부담을 감안한 EAS KPI가 재정의될 수 있다.
AF는 EES를 통해 MnS와 통신하여 새로운 EAS를 할당받아 EEC에 전달할 수 있다. AC는 변경된 프로세스를 실행하고 상기 변경된 프로세스에 의해 생성된 결과를 상기 새로운 EAS에 전달할 수 있다. 상기에서 설명한 바와 같이 단말 프로세스의 조정이 필요한 경우, 단말의 어플리케이션은 미디어 세션 핸들러를 통해 AF와 통신하거나, 또는 ASP와 통신하여 단말 프로세스를 조정할 수 있다.
도 22(도 22a 및 도 22b로 구성됨)는 일 실시예에 따라 STAR 기반의 스트리밍 서비스를 위한 시스템 구조를 도시한 것이다. 도시된 구조는 예를 들어 3GPP TS 26.998의 Figure 6.2.3.1-1, STAR 기반 5GMS 다운링크 구조를 참조할 수 있다.
도 22를 참조하면, 단말(2202)(예를 들어 5G STAR UE)은 서비스 제공자(2260)로부터 직접 컨텐츠를 수신하거나, 5GMSd AF(2255) 또는 5GMSd AS(2250)로부터 컨텐츠를 수신할 수 있다. AS(2250)는 단말(2202)로부터 수신한 포즈 및 상호작용(interaction) 정보를 기반으로 미디어를 미리 렌더링할 수 있다.
서비스 개시 단계에서 단말 성능 정보를 전달하는 실시예들은 도 11, 도 12, 및 도 13에 도시한 바와 같다.
서비스 개시 전, 개시 단계, 또는 개시 이후 사용자는 단말 성능 저하에 따라 컨텐츠 품질 또는 제공 범위 등의 변경 시 우선적으로 고려할 수 있는 사용자 선호 사양을 지정하는 방법을 도 24에서 설명될 것이다. 서비스 개시 단계 이후 서비스 실행중 단말 성능 보고 및 이에 기반한 컨텐츠 변경은 도 14에 도시한 바와 같다.
도 23(도 23a 및 도 23b로 구성됨)은 일 실시예에 따른 STAR 기반의 호 흐름도를 설명하는 도면이다. 일 예로서 도시된 절차는 3GPP TS 26.998의 Figure 6.2.4.1-1을 참조할 수 있다.
도 23을 참조하면, 동작 2301에서 장면 컨텐츠가 5GMSd AS에 의해 취득될 수 있다. 동작 2302에서 서비스 어나운스먼트가 단말의 AR/MR 어플리케이션에 의해 트리거될 수 있다. 미디어 클라이언트 엔트리를 포함하는 서비스 액세스 정보 또는 서비스 액세스 정보에 대한 참조가 M8d 인터페이스를 통해 제공될 수 있다.
단말 성능 정보를 전달하기 위해 M8 인터페이스가 사용되는 경우 동작 2302 대신 도 11의 절차가 적용될 수 있다.
단말 성능 정보를 전달하기 위해 M5 인터페이스가 사용되는 경우 2302 대신 도 12의 절차가 적용될 수 있다.
단말 성능 정보를 전달하기 위해 M4 인터페이스가 사용되는 경우 동작 2302 대신 도 13의 절차가 적용될 수 있다.
동작 2303에서 원하는 미디어 컨텐츠가 선택될 수 있다. 일 실시예에서 동작 2303은 도 24의 절차(예를 들어 동작 2403)로 대체될 수 있다.
도 24는 일 실시예에 따라 사용자 선호를 고려하여 미디어 컨텐츠를 선택하는 동작을 설명하는 흐름도이다.
도 24를 참조하면, AR 컨텐츠/장면을 선택하는 동작 2403은 동작 2403a 및 동작 2403b를 포함할 수 있다.
동작 2403a에서 AR/MR 어플리케이션은 사용자 선호 사양(User preference)을 미리, 또는 필요 시점에 확인할 수 있다. 상기 확인된 사용자 선호 사양은 단말 성능 정보에 포함되어 AR/MR 장면 관리자로 전달할 수 있다.(예를 들어 동작 1102c) 서버는 컨텐츠 엔트리 포인트 또는 process manifest를, 변경된 컨텐트에 대한 어나운스먼트 단계(예를 들어 동작 1102f)에서 단말로 전송할 수 있다. 동작 2403b에서 단말의 AR/MR application 또는 AR/MR 장면 관리자는 상기 process manifest를 기반으로 프로세스를 선택할 때 상기 사용자 선호 사양을 고려할 수 있다.
동작 2304에서 선택적으로, 서비스 액세스 정보가 획득되거나 업데이트될 수 있다. 동작 2305에서 AR/MR 어플리케이션은 엔트리 포인트 URL (예를 들어 전체 장면 디스크립션)을 가지고 장면 관리자를 초기화할 수 있다. 동작 2306에서 미디어 클라이언트는 상기 엔트리 포인트 (예를 들어 상기 장면 디스크립션)을 수신하기 위한 트랜스포트 세션을 수립할 수 있다. 동작 2307에서 미디어 클라이언트는 상기 트랜스포트 세션을 통해 5GMSd AS에게 전체 장면 디스크립션을 요청하고 수신할 수 있다.
동작 2308에서 AR/MR 장면 관리자에 의해 엔트리 포인트 (예를 들어 상기 장면 디스크립션)가 처리될 수 있다. 동작 2309에서 AR/MR 장면 관리자는 AR 런타임은 새로운 AR/MR 세션의 생성을 요청할 수 있다. 동작 2310에서 AR 런타임은 새로운 AR/MR 세션을 생성할 수 있다.
단말은 서비스/컨텐트 디스커버리 단계 뿐만 아니라, 결정한 컨텐츠의 재생 중에도 성능 변화를 감지하고 예를 들어 도 16의 절차를 통해 상기 성능 변화를 보고할 수 있다.
도 16을 참조하면, 동작 1610a에서 단말은 장치 성능 및/또는 처리 성능을 반복적으로 확인하고 동작 1610b에서 성능 변화에 따른 비정상을 결정할 수 있다. 동작 1610c에서 단말은 상기 성능 변화를 서버(예를 들어 5GMSd AS)에게 전달할 수 있다. 동작 1610d 및 동작 1610e에서 필요시 5GMSd AS는 어플리케이션 제공자의 장면 서버와 통신하여 조정된 장면을 취득할 수 있다. 상기 조정된 장면은 도 16의 이후 동작들(예를 들어 동작 1610f)과 같이 단말에게 전달될 수 있다. 도 16은 M5 인터페이스를 통한 전달을 서술하며, M8 인터페이스 또는 M4 인터페이스가 사용되는 경우 도 11 또는 도 13의 절차가 사용될 수 있다.
동작 2311에서 미디어 클라이언트 및/또는 AR/MR 장면 관리자는 미디어 세션 핸들러에게 요구되는 QoS 정보를 통지할 수 있다. 동작 2312에서 미디어 세션 핸들러는 5GMSd AF와 상기 QoS 정보를 공유할 수 있다. AR/MR 어플리케이션 제공자에 의한 기존 프로비저닝에서 5GMSd AF는 PDU 세션들에 대한 QoS 변경을 요청할 수 있다. 각 미디어 스트림/오브젝트에 대한 미디어 딜리버리 세션이 존재할 수 있다. 정적 AR 오브젝트에 대해 단순한 URL이, AR 오브젝트 미디어 데이터의 다운로드를 위한 엔트리 포인트 정보를 통해 제공될 수 있다.
동작 2313에서, 요구된 미디어 컨텐츠에 대해 미디어 클라이언트는 적어도 하나의 딜리버리 매니페스트(delivery manifest) 정보를 획득하기 위한 트랜스포트 세션을 수립할 수 있다. 동작 2314에서 미디어 클라이언트는 5GMSd AS로 상기 딜리버리 매니페스트를 요청하고 수신할 수 있다. 동작 2315에서 미디어 클라이언트는 상기 딜리버리 매니페스트를 처리하여 예를 들어 미디어 획득을 위해 필요한 트랜스포트 세션들의 개수를 결정할 수 있다. 미디어 클라이언트는 각 미디어 스트림에 대한 미디어 파이프라인들을 초기화하기 위해 상기 매니페스트들의 정보를 사용할 수 있다. 동작 2316에서 AR/MR 장면 관리자 및 미디어 클라이언트는 렌더링 및 딜리버리 미디어 파이프라인들을 설정할 수 있다.
동작 2317에서 미디어 클라이언트는 상기 미디어 컨텐츠를 획득하기 위한 트랜스포트 세션(들)을 수립할 수 있다. 동작 2318에서 AR/MR 장면 관리자는 가장 최근의 포즈 정보를 획득하고 미디어 클라이언트와 공유할 수 있다. 동작 2319에서 미디어 클라이언트는 상기 포즈 정보 (예를 들어 뷰포트별 스트리밍)를 고려하여, 상기 처리된 딜리버리 매니페스트에 따라 몰입형 미디어 데이터를 요청할 수 있다. 동작 2320에서 미디어 클라이언트는 몰입형 미디어 데이터를 수신하고, 그에 따라 AR 컨텐츠를 현실 세계에 등록하는 것을 포함하는 상기 미디어 렌더링 파이프라인을 트리거할 수 있다.
동작 2321에서 미디어 클라이언트는 상기 미디어 데이터를 디코딩하고 처리할 수 있다. 암호화된 미디어 데이터의 경우 미디어 클라이언트는 복호화를 추가로 수행할 수 있다. 동작 2322에서 미디어 클라이언트는 상기 미디어 데이터를 AR/MR 장면 관리자에게 전달할 수 있다. 동작 2323에서 AR/MR 장면 관리자는 상기 미디어 데이터를 렌더링하고, 렌더링된 미디어 데이터를 AR 런타임으로 전달할 수 있다. AR 런타임은 AR 컨텐츠를 현실 세계에 등록하고 포즈 정정을 수행하는 등의 추가적인 처리를 수행할 수 있다.
도 25(도 25a 및 도 25b로 구성됨)는 일 실시에에 따라 EDGAR 기반의 다운링크 스트리밍을 위한 시스템 구조를 도시한 것이다. 도시된 구조는 예를 들어 3GPP TR 26.998의 Figure 6.2.3.2-1, EDGAR 기반 5GMS 다운링크 구조를 참조할 수 있다.
도 25를 참조하면, 단말(2502)(예를 들어 5G EDGAR UE)은 서비스 제공자(2560)로부터의 컨텐츠를 클라우드/에지 서버(2550)를 통해 수신할 수 있다. 클라우드/에지 서버(2550)는 단말(2502)로부터 수신한 포즈 및 상호작용(interaction) 정보를 기반으로 미디어를 미리 렌더링할 수 있다.
도 26(도 26a 및 도 26b로 구성됨)은 일 실시예에 따라 EDGAR 기반의 호 흐름도를 설명하는 도면이다. 일 예로서 도시된 절차는 3GPP TS 26.998의 Figure 6.2.4.2-1을 참조할 수 있다.
도 26을 참조하면, 동작 2601 내지 동작 2608은 도 23의 동작 2301 내지 동작 2308과 동일할 수 있다. 상기한 동작들에서 단말은 성능(예를 들어 장치 성능)을 기반으로 서비스 어나운스먼트를 요청하고, 서버로부터 생성/전송된 장면(예를 들어 장면 디스크립션)을 수신할 수 있다.
동작 2609에서 상기 처리된 장면 디스크립션 및 장치 성능에 근거하여 5GMSd AS의 EAS가 선택되고, 에지 프로세스가 인스턴스화될 수 있다.
EDGAR 기반의 장면 관리자는 클라우드/에지 서버로부터 수신한 컨텐츠를 단말에서 단독으로 재생하기에 단말의 장치 성능이 부족할 수 있다고 판단하고, 상기 컨텐츠의 전체 또는 일부 미디어 리소스에 대해 스플릿 렌더링(Split rendering)을 사용하는 것으로 결정할 수 있다.
단말은 상기 컨텐츠의 엔트리 포인트를 송신했던 서버에게 상기 컨텐츠와 단말 성능 정보를 전송할 수 있다. 단말은 미디어 리소스 별로 단말에서 실행할 수 있는지 서버에 렌더링을 요청할지, 및/또는 단말의 가용한 렌더링의 성능 수준(예를 들어 2D 또는 2D+3D)을 상기 단말 성능 정보 내에 명시할 수 있다.
단말은 컨텐츠 엔트리 포인트(예: 장면 디스크립션)을 수정하여, 상기 컨텐츠 엔트리 포인트 내 종래 노드의 하위 엘리먼트/프로퍼티(element/property)에 스플릿 렌더링의 필요 여부를 표시하거나, 별도 노드에 스플릿 렌더링이 필요한 노드/미디어 리소스 별로 단말에서 처리할 수 있는 성능 수준을 표시할 수 있다.
5GMS AS는 단말의 렌더링 요청을 기반으로 EAS KPI를 생성하고 새로운 AS/EAS를 AF를 통해서 요청할 수 있다. 새로운 AS/EAS는 경량 장면(light weight scene)을 생성하고 필요한 미디어 리소스를 생성 (2D, 2D+3D rendering)한다. 에지 프로세스는 상기 경량 장면의 엔트리 포인트를 전송할 수 있다.
일 실시예에서 AR/MR 장면 관리자는 장면 디스크립션과 장치 성능을 5GMS AS로 전송할 수 있다. 5GMS AS는 EAS KPI들을 도출하고 필요한 경우 상기 새로운 KPI에 기반하여 (AF를 통해) 새로운 AS/EAS를 선택할 수 있다. 에지 프로세스가 시작되면, 새로운 엔트리 포인트 URL이 AR/MR 장면 관리자에게 제공될 수 있다.
일 실시예에서 AR/MR 장면 관리자는 장면 디스크립션가 장치 성능으로부터 EAS KPI들을 도출하고, AF에게 적절한 EAS의 목록을 제공하여줄 것을 요청할 수 있다. 그러면 AR/MR 장면 관리자는 AS/EAS를 선택하고 ASA 내에서 에지 프로세스를 시작하도록 요청할 수 있다. 에지 프로세스가 시작되면 새로운 엔트리 포인트 URL이 AR/MR 장면 관리자에게 제공될 수 있다.
동작 2610에서 AR/MR 장면 관리자는 단순화된 장면 디스크립션을 요청할 수 있다. 에지 프로세스는 전체 장면 디스크립션으로부터 상기 단순화된 장면 디스크립션을 도출하고, AR/MR 장면 관리자에게 제공할 수 있다. 동작 2611에서 상기 단순화된 장면 디스크립션을 포함하는 단순화된 엔트리 포인트가 처리될 수 있다. 동작 2612 내지 동작 2619는 도 23의 동작 2309 내지 동작 2316과 동일할 수 있다.
동작 2620에서 미디어 클라이언트는 미디어 컨텐츠를 획득하기 위한 트랜스포트 세션(들)을 수립할 수 있다. 동작 2621에서 5GMSd AS는 미디어 세션을 개시하고 시작할 수 있다. 상기 미디어 세션은 동작 2622 내지 동작 2625를 포함하는 단말별 상태 저장 세션 루프를 형성할 수 있다.
동작 2622에서 가장 최근의 포즈 정보가 AR/MR 장면 관리자에 의해 획득되고 미디어 클라이언트와 공유될 수 있다. 동작 2623에서 미디어 클라이언트는 상기 가장 최근의 포즈 정보를 5GMSd AS에게 전송할 수 있다. 동작 2624에서 5GMSd AS는 상기 가장 최근의 포즈 정보에 기반하여 미디어의 프리-렌더링을 수행할 수 있다. 일 실시예에서 프리렌더링은 몰입형 미디어의 디코딩 및 렌더링과, 렌더링된 (2D) 미디어의 인코딩을 포함할 수 있다. 동작 2625에서 프리렌더링된 미디어는 5GMSd AS에 의해 미디어 클라이언트로 전송될 수 있다.
동작 2626에서 미디어 클라이언트는 상기 전달된 미디어(예를 들어 미디어 데이터)를 디코딩하고 처리할 수 있으며, 암호화된 미디어 데이터인 경우 복호화를 추가로 수행할 수 있다. 동작 2627에서 미디어 클라이언트는 상기 처리된 미디어 데이터를 AR/MR 장면 관리자에게 전달할 수 있다. 동작 2628에서 AR/MR 장면 관리자는 상기 미디어를 렌더링하고, 렌더링된 미디어를 AR 런타임으로 전달할 수 있다. AR 런타임은 AR 컨텐츠를 현실 세계에 등록하고 포즈 정정을 수행하는 등의 추가적인 처리를 수행할 수 있다.
도 27(도 27a 및 도 27b로 구성됨)은 일 실시예에 따라 STAR 기반의 상호작용 몰입형 서비스를 위한 시스템 구조를 도시한 것이다. 도시된 구조는 예를 들어 3GPP TR 26.998의 Figure 6.3.3.1-1, STAR 기반 구조를 참조할 수 있다.
도 27을 참조하면, 단말(2702)(예를 들어 5G STAR UE)은 서버(2750)(예를 들어 상호작용 몰입형 서버(interactive immersive server))로부터의 미디어 컨텐츠를 수신할 수 있다. 서버(2750)는 단말(2702)을 위한 몰입형 상호작용 미디어 분배(immersive interactive media distribution)을 지원할 수 있다.
도 28(도 28a 및 도 28b로 구성됨)은 일 실시예에 따라 상호작용 몰입형 서비스를 위한 STAR 기반 절차를 설명하는 흐름도이다. 일 예로서 도시된 절차는 3GPP TS 26.998의 Figure 6.3.4.1-1을 참조할 수 있다.
도 28을 참조하면, 사용자 상호작용은 단말(예를 들어 단말(2702))로부터 서버(예를 들어 서버(2750))로 전송될 수 있고 서버는 사용자 상호작용에 따라 몰입형 미디어 장면(예를 들어 번역, 회전 스케일링과 같은 컨텍스트 변경)에 대한 사용자 요청을 처리할 수 있다. 처리된 장면은 몰입형 미디어 스트리밍의 경우와 비슷한 방식으로 단말에게 다시 전달될 수 있다.
도 28을 참조하면, 동작 2801에서 서버(예를 들어 서버(2750)) 내에서 미디어 AS와 AR/MR 어플리케이션 간에 장면 서버 컨텍스트가 수립될 수 있다. 동작 2802에서 서비스 어나운스먼트 및 컨텐츠 디스커버리가 예를 들어 도 29에 의해 수행될 수 있다.
도 29(도 29a 및 도 29b로 구성됨)는 일 실시에에 따른 서비스 어나운스먼트 및 컨텐츠 디스커버리 절차를 설명하기 위한 도면이다.
도 29를 참조하면, 서비스 어나운스먼트 및 컨텐츠 디스커버리는 시그널링을 포함하는 동작 2902 또는 시그널링을 포함하지 않는 동작 2902-1과 같이 수행될 수 있다.
동작 2902는 일 예로서 단말 상태에 기반한 요청에 의해 수행될 수 있으며, 동작 2902a 내지 동작 2902f를 포함할 수 있다. 동작 2902a에서 AR 런타임은 장치 상태를 AR/MR 어플리케이션으로 전달할 수 있고, 동작 2902b에서 AR/MR 어플리케이션은 상기 장치 상태를 기반으로 단말의 상태가 비정상임을 결정할 수 있다. 동작 2902c에서 AR/MR 어플리케이션은 조정된 장치 성능을 포함하는 단말 성능 정보를 서버의 장면 서버로 전달할 수 있다. 동작 2902d에서 장면 서버는 상기 장치 성능에 부합하는 장면이 이미 취득되었는지를 판단하고, 만일 존재하지 않으면 동작 2902e에서 미디어 AS로부터 상기 장치 성능에 부합하는 조정된 장면을 포함하는 조정된 컨텐츠를 취득할 수 있다. 동작 2902f에서 서버의 AR/MR 어플리케이션은 상기 조정된 컨텐츠와 프로세스 매니페스트를 어나운스먼트 절차를 통해 단말의 AR/MR 어플리케이션으로 전달할 수 있다. 동작 2903에서 AR/MR 어플리케이션은 상기 조정된 컨텐츠(예를 들어 조정된 장면)을 선택할 수 있다.
동작 2902-1은 일 예로서 시그널링 없이 단말의 판단에 의해 수행도리 수 있으며, 동작 2902a-1 내지 동작 2902d-1을 포함할 수 있다. 동작 2902a-1에서 단말의 AR/MR 어플리케이션은 서버의 AR/MR 어플리케이션으로부터 어나운스먼트 절차를 통해 장면을 제공받을 수 있다. 동작 2902b-1에서 AR/MR 어플리케이션은 AR 런타임으로부터 장치 성능을 포함하는 장치 상태를 보고받고, 동작 2902c-1에서 상기 장치 상태를 기반으로 단말의 상태가 비정상임을 결정할 수 있다. 동작 2902d-1에서 AR/MR 어플리케이션은 장면의 요구사양을 장치 성능과 비교하여 상기 장치 성능을 가지는 장면을 식별할 수 있다. 동작 2903에서 AR/MR 어플리케이션은 상기 조정된 컨텐츠(예를 들어 조정된 장면)을 선택할 수 있다.
동작 2803에서 단말의 AR/MR 어플리케이션은 AR 컨텐츠/장면을 선택할 수 있다. (예를 들어 동작 2903) 동작 2804에서 AR/MR 어플리케이션은 필요한 경우 서버의 미디어 AF로부터 서비스 액세스 정보를 획득할 수 있다. 동작 2805에서 AR/MR 어플리케이션은 장면 엔트리 포인트 URL을 사용하여 AR/MR 장면 관리자를 초기화할 수 있다. 동작 2806에서 AR/MR 장면 관리자는 장면 세션을 위한 트랜스포트 세션을 수립할 수 있다. 동작 2807에서 AR/MR 장면 관리자는 장면 엔트리 포인트를 처리하고 서버의 장면 서버와 장면 세션을 생성할 수 있다. 단말은 미디어 세션 핸들러를 통해 장치 성능을 서버로 보고할 수 있고, 필요시 미디어 AS는 장면 서버와 통신하여 조정된 장면을 생성할 수 있다. 동작 2808에서 AR/MR 장면 관리자는 AR 런타임으로 AR/MR 세선을 요청할 수 있다. 동작 289에서 AR 런타임은 AR/MR 세션을 생성할 수 있다. 예를 들어 상기 AR/MR 세션을 통해 단말 상태가 미디어 세션 핸들러에 의해 서버에게 주기적으로 보고될 수 있다.
일 실시예에서 동작 2808 내지 동작 2813은 도 30의 동작 3008 내지 동작 3013으로 대체될 수 있다.
도 30은 일 실시예에 따라 장면 세션을 통해 조정된 장면을 전달하는 절차를 설명하기 위한 도면이다.
도 30을 참조하면, 동작 3008, 3009는 동작 2808, 2809와 동일할 수 있다. 동작 3009a에서 AR 런타임은 AR/MR 어플리케이션으로 장치 상태를 보고할 수 있고, 동작 3009b에서 AR/MR 어플리케이션은 단말의 상태가 비정상임을 결정하고, 동작 3009c를 실행할 수 있다. 동작 3009c는 동작 2810과 동일할 수 있고, 동작 3010 내지 3013은 동작 2810 내지 2813과 동일할 수 있다.
동작 2810에서 AR 런타임은 상호작용 및 포즈 정보를 M4 인터페이스를 통해 서버의 장면 서버로 전달할 수 있다. 동작 2811에서 장면 서버는 장면 처리를 수행할 수 있고, 동작 2812에서 장면 서버는 처리된 장면과 장면 업데이트를 단말의 AR/MR 장면 관리자로 전송할 수 있다. 동작 2813에서 AR/MR 관리자는 미디어 세션 핸들러에게 스트리밍 세션의 생성을 요청할 수 있다.
동작 2814에서 미디어 세션 핸들러는 미디어 AF와 스트리밍 세션을 설정할 수 있다. 동작 2815에서 AR/MR 장면 관리자는 미디어 세션의 생성을 미디어 세션 핸들러에게 요청할 수 있다. 동작 2816에서 미디어 AS는 미디어 클라이언트와 딜리버리 매니페스트(들)을 위한 트랜스포트 세션(들)을 수립할 수 있다. 동작 2817에서 미디어 클라이언트는 미디어 AS에게 딜리버리 매니페스트들을 요청하고 수신할 수 있다.
일 실시예에서 동작 2817은 도 31의 동작 3117로 대체될 수 있다.
도 31은 일 실시에에 따라 조정된 장치 성능의 보고 및 그에 기반한 미디어 프로세스의 처리 수준을 변경하는 절차를 설명하기 위한 도면이다.
도 31을 참조하면, 동작 3117은 동작 3117a 내지 동작 3117f를 포함할 수 있다.
동작 3117a에서 AR/MR 어플리케이션은 AR 런타임으로부터 장치 상태를 보고받으며, 동작 3117b에서 단말의 상태가 비정상임을 결정할 수 있다. 동작 3117c에서 AR/MR 어플리케이션은 조정된 장치 성능을 포함하는 단말 성능 정보를 미디어 세션 핸들러와 미디어 AF를 통해 미디어 AS로 전송할 수 있다. 동작 3117d에서 미디어 AS는 각 미디어 스트림/오브젝트에 대한 복잡도를 조정할 수 있다. 동작 3117e에서 미디어 AS는 조정된 복잡도를 포함하는 조정된 딜리버리 매니페스트를 미디어 클라이언트로 전달할 수 있다. 미디어 AF는 미디어 세션 핸들러를 통해 조정된 프로세스 매니페스트를 단말의 AR/MR 어플리케이션으로 전달할 수 있다.
동작 2818에서 단말의 미디어 클라이언트는 딜리버리 매니페스트(들)을 처리할 수 있다. 동작 2819에서 미디어 클라이언트는 AR/MR 장면 관리자에 대해 미디어 파이프라인들을 설정할 수 있다. 동작 2820에서 미디어 클라이언트는 서버의 미디어 AS와 컨텐츠를 위한 트랜스포트 세션들을 수립할 수 있다. 동작 2821에서 미디어 클라이언트는 몰입형 미디어를 미디어 AS에게 요청할 수 있다. 동작 2822에서 미디어 AS는 미디어 클라이언트에게 몰입형 미디어를 전달할 수 있다. 동작 2823에서 미디어 클라이언트는 미디어 데이터를 디코딩하고 처리한 후, 동작 2824에서 처리된 미디어 데이터를 AR/MR 장면 관리자로 전달할 수 있다. 동작 2825에서 AR/MR 장면 관리자는 전달된 미디어를 렌더링할 수 있다.
도 32(도 32a 및 도 32b로 구성됨)는 일 실시예에 따른 소비 리포팅 절차를 설명하기 위한 도면이다. 일 예로서 도시된 절차는 3GPP TS 26.501의 Figure 5.6-1을 참조할 수 있다.
도 32를 참조하면, 동작 3201에서 단말의 어플리케이션(예를 들어 5GMSd-Aware Application)이 개시되고, 동작 3202에서 어플리케이션은 미디어 컨텐츠를 선택할 수 있다. 동작 3203에서 어플리케이션은 컨텐츠 플레이백을 시작하도록 미디어 세션 핸들러를 트리거할 수 있다. 미디어 플레이어 엔트리가 제공될 수 있다. 동작 3204에서 서버의 미디어 AF(예를 들어 5GMSd AF)는 소비 리포팅 설정을 위한 파라미터들(예를 들어 주파수)을 초기화할 수 있다. 동작 3205에서 미디어 세션 핸들러는 소비 리포팅을 트리거할 수 있다.
동작 3206에서 미디어 세션 핸들러는 미디어 플레이어 엔트리를 사용하여 미디어 플레이어를 시작할 수 있다. 동작 3207에서 어플리케이션은 사용자 선호사양을 선택 및/또는 변경할 수 있다. 동작 3208에서 미디어 플레이어는 소비 보고 사용자 선호 사양을 미디어 세션 핸들러로 전송할 수 있다. 미디어가 플레이 중일 때, 소비 리포팅 파라미터가 업데이트될 수 있다.
동작 3209에서 서버의 5GMSd AF는 소비 리포팅 파라미터들을 업데이트할 수 있다. 미디어가 플레이중인 경우 동작 3210에서 미디어 플레이어는 미디어 컨텐츠를 액세스할 수 있다. 동작 3211에서 소비되는 미디어 프로퍼티들로 변경하는 경우 미디어 플레이어는 미디어 세션 핸들러로 상기 변경 내용을 전송할 수 있다. 동작 3212에서 미디어 세션 핸들러는 미디어 AF(예를 들어 5GMSd AF)에게 소비 리포트를 전송할 수 있다.
동작 3213에서 어플리케이션은 컨텐츠 플레이백을 중지하도록 미디어 세션 핸들러를 트리거할 수 있다. 동작 3214에서 미디어 세션 핸들러는 소비 리포팅을 중단할 수 있다. 동작 3215에서 미디어 세션 핸들러는 미디어 AF에게 마지막 소비 리포트를 전송할 수 있다. 동작 3216에서 미디어 세션 핸들러는 미디어 플레이어를 중단시킬 수 있다.
일 실시예에서 단말에 의해 보고되는 consumption reporting unit의 예시는 도 10에 도시한 바와 같다.
도 33은 일 실시예에 따른 EAS 디스커버리 절차를 설명하기 위한 흐름도이다. 도시된 절차는 예를 들어 3GPP TS 23.558의 Figure 8.5.2.2-1을 참조할 수 있다.
도 33을 참조하면, 동작 3301에서 EEC (예를 들어 단말의 미디어 세션 핸들러)는 EES (예를 들어 서버의 미디어 AF)에게 EAS 디스커버리 요청 메시지를 전송할 수 있다. 상기 요청 메시지는 EAS 디스커버리 필터(들)을 포함할 수 있다. 동작 3302에서 상기 요청 메시지의 수신에 따라 EES는 상기 EEC가 상기 요청된 EAS를 디스커버하도록 인증되었는지를 판단할 수 있다. EEC가 인증된 경우 동작 3303에서 EES는 EAS 디스커버리 응답 메시지를 통해 EEC에게 발견된 EAS(들)에 대한 정보를 전달할 수 있다. 발견된 EAS들에 대해 상기 정보는 엔드포인트 정보를 포함할 수 있다.
도 34는 일 실시예에 따른 EAS 디스커버리 필터의 정보 요소들을 나타낸 도면이다.
도 34를 참조하면, EAS 디스커버리 필터(3400)는 동작 3301의 EAS 디스커버리 요청 메시지에 포함될 수 있으며, EES는 EAS 디스커버리 필터(3400)에 포함되는 정보 요소들과 단말 위치에 근거하여 EAS(들)을 식별할 수 있다.
일 실시예에서 도 26의 동작 2609는 아래와 같은 동작 2609a 또는 동작 2609b로 대체될 수 있다.
동작 2609a에서 장면 관리자는 장면과 장치 성능을 미디어 AS로 전송할 수 있다. 미디어 AS는 상기 장면을 분석하여 필요한 EAS 디스커버리 필터 를 생성하고, 상기 EAS 디스커버리 필터를 가지고 EES (예를 들어 미디어 AF)에게 가용한 EAS를 요청할 수 있다. 미디어 AS는 가용한 EAS의 목록을 수신하고 상기 목록으로부터 그 중 하나의 EAS를 선택해 상기 선택된 EAS에게 경량 장면의 생성을 요청하고, 상기 경량 장면을 포함하는 엔트리 포인트를 장면 관리자에게 전달할 수 있다.
도 35는 일 실시예에 따라 장치 성능을 전달하기 위한 AC 서비스 KPI를 설명하기 위한 도면이다. 도시된 포맷에 따른 AC service KPI (3500)는 예를 들어, 단말, 단말의 AC 또는 EEC에서 자체 프로세스의 실행 능력을 표현하기 위해 사용될 수 있다.
동작 2609b에서 AC의 장면 관리자는 장면을 분석하고 필요한 EAS 디스커버리 필터를 생성해서 ECS를 통해 EES에게 EAS 디스커버리를 요청할 수 있다. 장면 관리자는 상기 요청에 따라 가용한 EAS 목록을 EES로부터 수신하고 상기 목록으로부터 그 중 하나의 EAS를 선택해 상기 선택된 EAS에게 경량 장면(Light weight scene)의 생성을 요청하고, 상기 경량 장면을 포함하는 엔트리 포인트를 수신할 수 있다.
도 36은 일 실시예에 따른 EMSA 구조에서 세션 수립을 설명하기 위한 도면이다. 도시된 절차는 예를 들어 3GPP TR 26.803의 Figure 8에 도시된 구조를 참조할 수 있으며, 앞서 설명된 도 14, 도 20, 또는 도 21의 절차에 적용될 수 있다.
도 36을 참조하면, EMSA 구조에서 단말(3602)는 미디어 클라이언트(예를 들어 5GMS client) 내에 미디어 세션 핸들러와 미디어 스트림 핸들러를 포함할 수 있다. 미디어 세션 핸들러는 EEC로서 동작할 수 있다. 에지 데이터 네트워크(edge data network (DN))(3650)는 EES로서 동작하는 미디어 AF(예를 들어 5GMS AF)와 EAS로서 동작하는 미디어 AS(예를 들어 5GMS AS)를 포함할 수 있다.
도시된 구조를 이용하여 단말에 의해 구동되는 세션 수립 절차는 3GPP TS 26.803의 Figure 9에 도시된 client-driven session establishment를 참조할 수 있다.
일 실시예에서 어플리케이션 제공자(예를 들어 ASP)는 AF와 통신하여 AR 스플릿 렌더링 세션을 생성할 수 있다. 단말의 어플리케이션(예를 들어 AR 어플리케이션)은 미디어 세션 핸들러의 EEC를 통해 ECS와 통신하여 미디어 AF의 EES에 대한 정보를 수신할 수 있다. EEC는 상기 선택된 EES에 등록할 수 있고, EES에 접촉하여 하나 이상의 EAS를 요청할 수 있다. EES는 EEC에 의해 요청된 KPI의 가용한 EAS를 검색하고, MnS에게 신규 EAS의 생성을 요청할 수 있다. MnS는 요청된 성능을 제공하는 신규 EAS를 생성하고 새로 인스턴스화된 EAS가 설정될 수 있다. EAS는 EES에게 자기 자신을 등록할 수 있다. EES는 EEC의 요청에 따라 EAS를 프로비저닝된 특징들을 설정할 수 있다. EES는 상기 EAS를 포함하는 가용한 EAS의 목록을 EEC에게 전달할 수 있다. AC는 EEC로부터 상기 EAS의 목록을 수신하고 상기 목록 중에서 원하는 조건에 기반하여 하나의 EAS 인스턴스를 선택할 수 있다.
상기한 본 개시의 명세서에 기재된 실시 예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체가 제공될 수 있다. 컴퓨터 판독 가능 저장 매체에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM: Read Only Memory), 전기적 삭제가능 프로그램가능 롬(EEPROM: Electrically Erasable Programmable Read Only Memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM: Compact Disc-ROM), 디지털 다목적 디스크(DVDs: Digital Versatile Discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN), 또는 SAN(Storage Area Network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 개시의 실시 예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 본 개시의 실시 예를 수행하는 장치에 접속할 수도 있다.
상술한 본 개시의 구체적인 실시 예들에서, 발명에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
또한, 본 개시의 상기한 방법을 설명하는 도면들에서 설명의 순서가 반드시 실행의 순서와 대응되지는 않으며, 선후 관계가 변경되거나 병렬적으로 실행 될 수도 있다.
또한, 본 개시의 방법을 설명하는 도면들은 본 개시의 본질을 해치지 않는 범위 내에서 일부의 구성 요소가 생략되고 일부의 구성요소만을 포함할 수 있다.
또한, 본 개시의 방법은 발명의 본질을 해치지 않는 범위 내에서 각 실시예에 포함된 내용의 일부 또는 전부가 조합되어 실행될 수도 있다.
본 개시의 다양한 실시예들이 전술되었다. 전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시의 실시예들은 개시된 실시예들에 한정되는 것은 아니다. 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (10)

  1. 성능 기반의 스플릿 컴퓨팅을 제공하는 방법에 있어서,
    단말(UE)에 포함되는 장치 및/또는 프로세스에 대한 환경 파라미터와 상기 장치 및/또는 프로세스의 성능 파라미터를 기반으로 단말의 상태가 비정상임을 검출하는 동작과,
    상기 환경 파라미터 및/또는 상기 성능 파라미터와 관련된 단말 성능 정보를 포함하는 메시지를 서버로 전송하는 동작과,
    상기 단말 성능 정보에 따라 조정된 컨텐츠 및 조정된 프로세스와 관련된 정보를 상기 서버로부터 수신하는 동작과,
    상기 조정된 프로세스를 실행하여 상기 조정된 컨텐츠를 수신하는 동작을 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서, 상기 단말 성능 정보는,
    상기 환경 파라미터 및/또는 상기 성능 파라미터에 따른 상기 단말의 조정된 장치 성능을 포함하는 것을 특징으로 하는 방법.
  3. 제 1 항에 있어서, 상기 단말 성능 정보는,
    호 흐름도의 프로비저닝 단계 또는 스트리밍 단계에서 상기 서버로 전달되는 것을 특징으로 하는 방법.
  4. 제 1 항에 있어서, 상기 단말 성능 정보는,
    STAR(standalone AR(augmented reality)) 기반의 호 흐름을 위한 프로비저닝 단계에서 단말의 어플리케이션과 어플리케이션 서비스 제공자(ASP)간의 M8 인터페이스를 통해 전달되는 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서, 상기 단말 성능 정보는,
    STAR 기반의 호 흐름을 위한 프로비저닝 단계에서 상기 단말의 어플리케이션과 어플리케이션 서버(AS)간의 M5 또는 M4 인터페이스를 통해 전달되는 것을 특징으로 하는 방법.
  6. 제 1 항에 있어서, 상기 단말 성능 정보는,
    EMSA(streaming architecture extension for edge processing) 기반의 클라이언트 구동 호 흐름을 위한 프로비저닝 단계에서 상기 단말의 미디어 세션 핸들러로부터 상기 서버의 미디어 어플리케이션 기능(AF)으로 전달되는 것을 특징으로 하는 방법.
  7. 제 1 항에 있어서, 상기 단말 성능 정보는,
    EMSA 기반의 스플릿 렌더링을 위한 호 흐름의 프로비저닝 단계에서 상기 단말의 미디어 세션 핸들러로부터 상기 서버의 미디어 어플리케이션 기능(AF)으로 전달되는 것을 특징으로 하는 방법.
  8. 제 1 항에 있어서, 상기 단말 성능 정보는,
    호 흐름의 스트리밍 단계에서 증강현실(AR)/혼합현실(MR) 세션, 상호작용 장면 세션 또는 상호작용 미디어 세션을 통해 상기 서버의 미디어 어플리케이션 서버(AS)로 전달되는 것을 특징으로 하는 방법.
  9. 제 1 항에 있어서, 상기 조정된 프로세스와 관련된 정보는,
    적어도 하나의 조정된 프로세스와 관련된 프로세스 매니페스트를 포함하고,
    상기 적어도 하나의 조정된 프로세스는, 디코딩, 인코딩, 렌더링, 암호화, 복호화, 결합(compositing), 디스플레이(displaying), 포즈 감지(pose sensing), 포즈 정정(pose correcting), 특징 추출(feature extracting), 특징 매칭(feature matching), 앵커 매핑(anchor mapping), 오브젝트 추적(object tracking), 핸드 추적(hand tracking), 또는 아이 추적(eye tracking) 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  10. 성능 기반의 스플릿 컴퓨팅을 제공하는 단말에 있어서,
    메모리와,
    송수신기와,
    프로세서를 포함하고,
    상기 프로세서는,
    단말(UE)에 포함되는 장치 및/또는 프로세스에 대한 환경 파라미터와 상기 장치 및/또는 프로세스의 성능 파라미터를 기반으로 단말의 상태가 비정상임을 검출하는 동작과,
    상기 환경 파라미터 및/또는 상기 성능 파라미터와 관련된 단말 성능 정보를 포함하는 메시지를 서버로 전송하는 동작과,
    상기 단말 성능 정보에 따라 조정된 컨텐츠 및 조정된 프로세스와 관련된 정보를 상기 서버로부터 수신하는 동작과,
    상기 조정된 프로세스를 실행하여 상기 조정된 컨텐츠를 수신하는 동작을 수행하도록 구성되는 것을 특징으로 하는 단말.
KR1020210174255A 2021-12-07 2021-12-07 성능 기반의 스플릿 컴퓨팅 제공 방법 및 장치 KR20230085767A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210174255A KR20230085767A (ko) 2021-12-07 2021-12-07 성능 기반의 스플릿 컴퓨팅 제공 방법 및 장치
PCT/KR2022/019228 WO2023106721A1 (en) 2021-12-07 2022-11-30 Method and device for providing split computing based on device capability
US18/074,874 US20230176915A1 (en) 2021-12-07 2022-12-05 Method and device for providing split computing based on device capability

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210174255A KR20230085767A (ko) 2021-12-07 2021-12-07 성능 기반의 스플릿 컴퓨팅 제공 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20230085767A true KR20230085767A (ko) 2023-06-14

Family

ID=86607471

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210174255A KR20230085767A (ko) 2021-12-07 2021-12-07 성능 기반의 스플릿 컴퓨팅 제공 방법 및 장치

Country Status (3)

Country Link
US (1) US20230176915A1 (ko)
KR (1) KR20230085767A (ko)
WO (1) WO2023106721A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220321627A1 (en) * 2021-03-31 2022-10-06 Tencent America LLC Methods and apparatus for just-in-time content preparation in 5g networks

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8374172B2 (en) * 2009-04-03 2013-02-12 At&T Intellectual Property I, L.P. Method and apparatus for managing communication sessions
US9037922B1 (en) * 2012-05-01 2015-05-19 Amazon Technololgies, Inc. Monitoring and analysis of operating states in a computing environment
JP6534710B2 (ja) * 2017-08-31 2019-06-26 本田技研工業株式会社 通信状態解析方法および通信状態解析システム
US20200245029A1 (en) * 2019-01-24 2020-07-30 Rockwell Collins, Inc. Avionics Streaming Service

Also Published As

Publication number Publication date
US20230176915A1 (en) 2023-06-08
WO2023106721A1 (en) 2023-06-15

Similar Documents

Publication Publication Date Title
US11050810B2 (en) Method and apparatus for transmitting and receiving image data for virtual-reality streaming service
Jedari et al. Video caching, analytics, and delivery at the wireless edge: A survey and future directions
Dai et al. A view synthesis-based 360° VR caching system over MEC-enabled C-RAN
US10979663B2 (en) Methods and apparatuses for image processing to optimize image resolution and for optimizing video streaming bandwidth for VR videos
EP4115591B1 (en) Offering media services through network edge
KR102395395B1 (ko) 뷰포트 의존성 비디오 스트리밍 이벤트
You et al. Fog computing as an enabler for immersive media: Service scenarios and research opportunities
Garcia-Luna-Aceves et al. Network support for ar/vr and immersive video application: A survey
Huang et al. Utility-oriented resource allocation for 360-degree video transmission over heterogeneous networks
WO2018200337A1 (en) System and method for simulating light transport between virtual and real objects in mixed reality
US11159823B2 (en) Multi-viewport transcoding for volumetric video streaming
US20200404241A1 (en) Processing system for streaming volumetric video to a client device
Zhou et al. QoE-aware 3D video streaming via deep reinforcement learning in software defined networking enabled mobile edge computing
US11483533B2 (en) System and method for social immersive content rendering
CN116134474A (zh) 在支持混合现实/增强现实的通信系统中相对于三维媒体数据使用延迟补偿姿势预测来执行渲染的方法和装置
Salehi et al. Enhancing next-generation extended reality applications with coded caching
US20220321628A1 (en) Apparatus and method for providing media streaming
KR20220004961A (ko) 라이트 필드의 다중화 렌더링을 위한 시스템 및 방법
US20230176915A1 (en) Method and device for providing split computing based on device capability
Huang et al. Qoe-oriented resource allocation for 360-degree video transmission over heterogeneous networks
CN115989527A (zh) 用于对增强现实媒体对象执行基于锚点的渲染的方法和装置
US20240033624A1 (en) 5g optimized game rendering
Yang et al. Intelligent cache and buffer optimization for mobile VR adaptive transmission in 5G edge computing networks
CN114930812B (zh) 用于解码3d视频的方法和装置
Jinjia et al. Networked VR: State of the Art