KR20220045031A - 5g flus 제어를 통한 nbmp 배치 방법 - Google Patents

5g flus 제어를 통한 nbmp 배치 방법 Download PDF

Info

Publication number
KR20220045031A
KR20220045031A KR1020227008463A KR20227008463A KR20220045031A KR 20220045031 A KR20220045031 A KR 20220045031A KR 1020227008463 A KR1020227008463 A KR 1020227008463A KR 20227008463 A KR20227008463 A KR 20227008463A KR 20220045031 A KR20220045031 A KR 20220045031A
Authority
KR
South Korea
Prior art keywords
flus
media
nbmp
sink
source
Prior art date
Application number
KR1020227008463A
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 KR20220045031A publication Critical patent/KR20220045031A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • H04L65/4069
    • H04L65/601
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • 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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

미디어 프로세싱 및 스트리밍을 위한 시스템이 및 방법이 제공된다. 방법은 애플리케이션 서버 상에서 동작하는 제1 애플리케이션이, 라이브 업링크 스트리밍을 위한 프레임워크(Framework for Live Uplink Streaming, FLUS) 세션을 시작하기 위해 상기 애플리케이션 서버와 별개의 사용자 디바이스 상에서 동작하는 제2 애플리케이션으로부터 라이브 세션 요청을 수신하는 단계; 복수의 FLUS 싱크의 목록을 획득하는 단계; 상기 복수의 FLUS 싱크 중에서 싱크 디바이스 상에서 동작하는 FLUS 미디어 싱크를 선택하는 단계 - 상기 싱크 디바이스는 상기 애플리케이션 서버 및 상기 사용자 디바이스와 별개임 - ; 상기 FLUS 미디어 싱크와 관련된 NBMP 워크플로를 시작하기 위해 NBMP 소스에 워크플로 요청을 전송하는 단계; 및 상기 NBMP 워크플로 및 상기 FLUS 미디어 싱크를 사용하여 상기 FLUS 세션을 설정하기 위한 세션 정보를 포함하는 응답을 상기 제2 애플리케이션에 전송하는 단계를 포함한다.

Description

5G FLUS 제어를 통한 NBMP 배치 방법
본 출원은 미국 특허청에 2020년 7월 10일에 출원된 미국 가출원 번호 63/050,517, 2020년 8월 17일에 출원된 미국 가출원 번호 63/066,703, 및 2021년 6월 3일에 출원된 미국 가출원 번호 17/337,964로부터 우선권을 주장하며, 그 개시 내용은 그 전문이 참조로 여기에 통합되었다.
본 개시의 실시예는 미디어 프로세싱 및 스트리밍 방법 및 시스템, 보다 구체적으로 동영상 전문가 그룹(Moving Picture Experts Group, MPEG) 네트워크 기반 미디어 프로세싱(Network Based Media Processing, NBMP) 및 라이브 업링크 스트리밍을 위한 프레임워크(Framework for Live Uplink Streaming, FLUS) 방법 및 시스템에 관한 것이다.
동영상 전문가 그룹(Moving Picture Experts Group, MPEG) 네트워크 기반 미디어 프로세싱(Network Based Media Processing, NBMP) 프로젝트는 클라우드에서 미디어를 처리하는 개념을 개발하였다. "Text of ISO/IEC DIS 23090-8 Network-based Media Processing", ISO/IEC JTC 1/SC 29/WG 11(N 18657), 2019년 7월 12일자 그 전문이 여기에 통합된다.
3세대 파트너쉽 프로젝트(3rd Generation Partnership Project, 3GPP) 라이브 업링크 스트리밍을 위한 프레임워크(Framework for Live Uplink Streaming, FLUS)는 소스 디바이스에서 네트워크로 멀티미디어 콘텐츠를 업링크 스트리밍하고 그 콘텐츠를 하나 이상의 목적지로 전송/분배하기 위한 메커니즘을 제공한다. “3세대 파트너십 프로젝트; 기술 사양 그룹 서비스 및 시스템 측면; 업링크 스트리밍(Uplink Streaming) (Release 16)”, 3GPP TS 26.238 V16.2.0, 2019년 9월 일자는 그 전문이 여기에 통합된다.
3GPP 에지 프로토콜은 에지 요소의 하드웨어 능력의 발견을 포함하여 에지 애플리케이션을 가능하게 하기 위한 일반적인 아키텍처를 정의한다. “3세대 파트너십 프로젝트; 기술 사양 그룹 서비스 및 시스템 측면; 에지 애플리케이션 활성화를 위한 아키텍처(릴리스 17)”, 2020년 6월자 3GPP TS 23.558 V0.3.0이 여기에 그 전문이 포함된다.
하나 이상의 실시예에 따라, 동영상 전문가 그룹(Moving Picture Experts Group, MPEG) 네트워크 기반 미디어 프로세싱(Network Based Media Processing, NBMP)에서의 미디어 콘텐츠 프로세싱 방법이 제공된다. 상기 미디어 콘텐츠 프로세싱 방법은: 애플리케이션 서버 상에서 동작하는 제1 애플리케이션이, 라이브 업링크 스트리밍을 위한 프레임워크(Framework for Live Uplink Streaming, FLUS) 세션을 시작하기 위해 상기 애플리케이션 서버와 별개의 사용자 디바이스 상에서 동작하는 제2 애플리케이션으로부터 라이브 세션 요청을 수신하는 단계; 복수의 FLUS 싱크의 목록을 획득하는 단계; 상기 복수의 FLUS 싱크 중에서 싱크 디바이스 상에서 동작하는 FLUS 미디어 싱크를 선택하는 단계 - 상기 싱크 디바이스는 상기 애플리케이션 서버 및 상기 사용자 디바이스와 별개임 - ; 상기 FLUS 미디어 싱크와 관련된 NBMP 워크플로(workflow)를 시작하기 위해 NBMP 소스에 워크플로 요청을 전송하는 단계; 및 상기 NBMP 워크플로 및 상기 FLUS 미디어 싱크를 사용하여 상기 FLUS 세션을 설정하기 위한 세션 정보를 포함하는 응답을 상기 제2 애플리케이션에 전송하는 단계를 포함한다.
하나 이상의 실시예에 따라, 동영상 전문가 그룹(Moving Picture Experts Group, MPEG) 네트워크 기반 미디어 프로세싱(Network Based Media Processing, NBMP)에서의 미디어 콘텐츠 프로세싱 장치가 제공된다. 상기 미디어 콘텐츠 프로세싱 장치는: 프로그램 코드를 저장하도록 구성된 적어도 하나의 메모리; 및 상기 프로그램 코드를 판독하고 상기 프로그램 코드에 의해 지시된 대로 동작하도록 구성된 적어도 하나의 프로세서를 포함하며, 상기 프로그램 코드는: 상기 적어도 하나의 프로세서로 하여금 애플리케이션 서버 상에서 동작하는 제1 애플리케이션이, 라이브 업링크 스트리밍을 위한 프레임워크(Framework for Live Uplink Streaming, FLUS) 세션을 시작하기 위해 상기 애플리케이션 서버와 별개의 사용자 디바이스 상에서 동작하는 제2 애플리케이션으로부터 라이브 세션 요청을 수신하게 하도록 구성된 수신 코드; 상기 적어도 하나의 프로세서로 하여금 복수의 FLUS 싱크의 목록을 획득하게 하도록 구성된 획득 코드; 상기 적어도 하나의 프로세서로 하여금 상기 복수의 FLUS 싱크 중에서 싱크 디바이스 상에서 동작하는 FLUS 미디어 싱크를 선택하게 하도록 구성된 선택 코드 - 상기 싱크 디바이스는 상기 애플리케이션 서버 및 상기 사용자 디바이스와 별개임 - ; 상기 적어도 하나의 프로세서로 하여금 상기 FLUS 미디어 싱크와 관련된 NBMP 워크플로를 시작하기 위해 NBMP 소스에 워크플로 요청을 전송하게 하도록 구성된 제1 전송 코드; 및 상기 적어도 하나의 프로세서로 하여금 상기 NBMP 워크플로 및 상기 FLUS 미디어 싱크를 사용하여 상기 FLUS 세션을 설정하기 위한 세션 정보를 포함하는 응답을 상기 제2 애플리케이션에 전송하게 하도록 구성된 제2 전송 코드를 포함한다.
하나 이상의 실시예에 따라, 컴퓨터 명령을 저장하는 비일시적 컴퓨터 판독 가능형 매체가 제공된다. 상기 컴퓨터 명령은 동영상 전문가 그룹(Moving Picture Experts Group, MPEG) 네트워크 기반 미디어 프로세싱(Network Based Media Processing, NBMP)에서의 미디어 콘텐츠 프로세싱 장치의 적어도 하나의 프로세서에 의해 실행될 때, 적어도 하나의 프로세서가: 애플리케이션 서버 상에서 동작하는 제1 애플리케이션이, 라이브 업링크 스트리밍을 위한 프레임워크(Framework for Live Uplink Streaming, FLUS) 세션을 시작하기 위해 상기 애플리케이션 서버와 별개의 사용자 디바이스 상에서 동작하는 제2 애플리케이션으로부터 라이브 세션 요청을 수신하고; 복수의 FLUS 싱크의 목록을 획득하고; 상기 복수의 FLUS 싱크 중에서 싱크 디바이스 상에서 동작하는 FLUS 미디어 싱크를 선택하고 - 상기 싱크 디바이스는 상기 애플리케이션 서버 및 상기 사용자 디바이스와 별개임 - ; 상기 FLUS 미디어 싱크와 관련된 NBMP 워크플로를 시작하기 위해 NBMP 소스에 워크플로 요청을 전송하며; 그리고 상기 NBMP 워크플로 및 상기 FLUS 미디어 싱크를 사용하여 상기 FLUS 세션을 설정하기 위한 세션 정보를 포함하는 응답을 상기 제2 애플리케이션에 전송하게 하도록 구성된다.
도 1은 실시예에 따른 여기에서 설명된 방법, 장치 및 시스템이 구현될 수 있는 환경의 도면이다.
도 2는 도 1의 하나 이상의 디바이스의 예시적인 컴포넌트의 블록도이다.
도 3은 실시예에 따른 NBMP 시스템의 블록도이다.
도 4는 실시예에 따른 3GPP FLUS 아키텍처의 블록도이다.
도 5는 실시예에 따른 네트워크 아키텍처의 블록도이다.
도 6은 실시예에 따른 네트워크 아키텍처의 블록도이다.
도 7은 실시예에 따른 네트워크 아키텍처의 블록도이다.
도 8은 실시예에 따른 네트워크 아키텍처의 블록도이다.
도 9는 실시예에 따른 네트워크 아키텍처의 블록도이다.
도 10은 실시예에 따른 네트워크 아키텍처의 블록도이다.
도 11은 실시예에 따른 네트워크 아키텍처의 블록도이다.
도 12는 실시예에 따른 네트워크 아키텍처의 블록도이다.
도 13은 실시예에 따른, 네트워크 성능 발견을 위한 예시적인 프로세스를 예시하는 블록도이다.
도 14는 실시예에 따른 네트워크 아키텍처의 블록도이다.
도 15는 실시예에 따른 미디어 스트리밍 네트워크의 능력을 관리하기 위한 예시적인 프로세스의 흐름도이다.
도 1은 실시예에 따른, 여기에 설명된 방법, 장치, 및 시스템이 구현될 수 있는 환경(100)의 도면이다. 도 1에 도시된 바와 같이, 환경(100)은 사용자 디바이스(110), 플랫폼(120), 및 네트워크(130)를 포함할 수 있다. 환경(100)의 디바이스들은 유선 연결, 무선 연결, 또는 유선 및 무선 연결의 조합을 통해 상호접속될 수 있다.
사용자 디바이스(110)는 플랫폼(120)과 관련된 정보를 수신, 생성, 저장, 처리 및/또는 제공할 수 있는 하나 이상의 장치를 포함한다. 예를 들어, 사용자 디바이스(110)는 컴퓨팅 장치(예를 들어, 데스크탑 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 핸드헬드 컴퓨터, 스마트 스피커, 서버 등), 휴대폰(예를 들어, 스마트 폰, 무선 전화기 등), 웨어러블 장치(예를 들어, 한 쌍의 스마트 안경 또는 스마트 워치) 또는 이와 유사한 장치를 포함할 수 있다. 일부 구현에서, 사용자 디바이스(110)는 플랫폼(120)으로부터 정보를 수신 및/또는 플랫폼(120)에 정보를 전송할 수 있다.
플랫폼(120)은 본 명세서의 다른 곳에서 설명된 바와 같은 하나 이상의 장치를 포함한다. 일부 구현에서, 플랫폼(120)은 클라우드 서버 또는 클라우드 서버의 그룹을 포함할 수 있다. 일부 구현에서, 플랫폼(120)은 특정 필요에 따라 소프트웨어 구성요소가 교체되거나 교체될 수 있도록 모듈식으로 설계될 수 있다. 이와 같이, 플랫폼(120)은 상이한 용도를 위해 쉽고 그리고/또는 신속하게 재구성될 수 있다.
일부 구현에서, 도시된 바와 같이, 플랫폼(120)은 클라우드 컴퓨팅 환경(122)에서 호스팅될 수 있다. 특히, 여기에 설명된 구현은 플랫폼(120)이 클라우드 컴퓨팅 환경(122)에서 호스팅되는 것으로 설명하지만, 일부 구현에서 플랫폼(120)은 클라우드 기반이 아니거나(즉, 클라우드 컴퓨팅 환경 외부에서 구현될 수 있음) 부분적으로 클라우드 기반일 수 있다.
클라우드 컴퓨팅 환경(122)은 플랫폼(120)을 호스팅하는 환경을 포함한다. 클라우드 컴퓨팅 환경(122)은 최종 사용자(예를 들어, 사용자 디바이스(110))가 플랫폼(120)을 호스팅하는 시스템(들) 및/또는 장치(들)의 물리적 위치 및 구성에 대한 지식을 필요로 하지 않는 계산, 소프트웨어, 데이터 액세스, 저장 등의 서비스를 제공할 수 있다. 도시된 바와 같이, 클라우드 컴퓨팅 환경(122)은 컴퓨팅 리소스(124)의 그룹을 포함할 수 있다(집합적으로 "컴퓨팅 리소스(124)"로 지칭되고 개별적으로 "컴퓨팅 리소스(124)"로 지칭된다).
컴퓨팅 리소스(124)는 하나 이상의 개인용 컴퓨터, 워크스테이션 컴퓨터, 서버 장치, 또는 다른 유형의 계산 및/또는 통신 장치를 포함한다. 일부 구현에서, 컴퓨팅 리소스(124)는 플랫폼(120)을 호스팅할 수 있다. 클라우드 리소스는 컴퓨팅 리소스(124)에서 실행되는 컴퓨팅 인스턴스, 컴퓨팅 리소스(124)에 제공된 저장 장치, 컴퓨팅 리소스(124)에 의해 제공되는 데이터 전송 장치 등을 포함할 수 있다. 일부 구현에서, 컴퓨팅 리소스(124)는 유선 연결, 무선 연결, 또는 유선 및 무선 연결의 조합을 통해 다른 컴퓨팅 리소스(124)와 통신할 수 있다.
도 1에 추가로 도시된 바와 같이, 컴퓨팅 리소스(124)는 하나 이상의 애플리케이션("APP")(124-1), 하나 이상의 가상 머신("VM")(124-2), 가상화된 스토리지("VS")(124-3), 하나 이상의 하이퍼바이저("HYP")(124-4) 등과 같은 클라우드 리소스 그룹을 포함한다.
애플리케이션(124-1)은 사용자 디바이스(110) 및/또는 플랫폼(120)에 제공되거나 액세스될 수 있는 하나 이상의 소프트웨어 애플리케이션을 포함한다. 예를 들어, 애플리케이션(124-1)은 플랫폼(120)과 연관된 소프트웨어 및/또는 클라우드 컴퓨팅 환경(122)을 통해 제공될 수 있는 임의의 다른 소프트웨어를 포함할 수 있다. 일부 구현에서, 하나의 애플리케이션(124-1)은 가상 머신(124-2)을 통해 하나 이상의 다른 애플리케이션(124-1)으로/으로부터 정보를 수신한다.
가상 머신(124-2)은 물리적 머신과 같은 프로그램을 실행하는 머신(예를 들어, 컴퓨터)의 소프트웨어 구현을 포함한다. 가상 머신(124-2)은 사용 및 가상 머신(124-2)에 의한 임의의 실제 머신에 대한 대응 정도에 따라 시스템 가상 머신 또는 프로세스 가상 머신일 수 있다. 시스템 가상 머신은 완전한 운영 체제("OS")의 실행을 지원하는 완전한 시스템 플랫폼을 제공할 수 있다. 프로세스 가상 머신은 단일 프로그램을 실행할 수 있으며 단일 프로세스를 지원할 수 있다. 일부 구현에서, 가상 머신(124-2)은 사용자(예를 들어, 사용자 디바이스(110))를 대신하여 실행할 수 있고, 데이터 관리, 동기화, 또는 장기간 데이터 전송과 같은 클라우드 컴퓨팅 환경(122)의 인프라를 관리할 수 있다.
가상화된 스토리지(124-3)는 컴퓨팅 리소스(124)의 스토리지 시스템 또는 디바이스 내에서 가상화 기술을 사용하는 하나 이상의 스토리지 시스템 및/또는 하나 이상의 디바이스를 포함한다. 일부 구현에서, 스토리지 시스템의 컨텍스트 내에서, 가상화 유형에는 블록 가상화 및 파일 가상화가 포함될 수 있다. 블록 가상화는 물리적 스토리지 또는 이기종 구조에 관계없이 스토리지 시스템에 액세스할 수 있도록 물리적 스토리지에서 논리적 스토리지를 추상화(또는 분리)하는 것을 의미할 수 있다. 분리를 통해 스토리지 시스템 관리자는 관리자가 최종 사용자를 위해 스토리지를 관리하는 방식에 유연성을 부여할 수 있다. 파일 가상화는 파일 수준에서 액세스하는 데이터와 파일이 물리적으로 저장된 위치 간의 종속성을 제거할 수 있다. 이를 통해 스토리지 사용, 서버 통합 및/또는 무중단 파일 마이그레이션 성능(performance of non-disruptive file migrations)을 최적화할 수 있다.
하이퍼바이저(124-4)는 다중 운영 체제(예를 들어, "게스트 운영 체제")가 컴퓨팅 리소스(124)와 같은 호스트 컴퓨터에서 동시에 실행할 수 있도록 하는 하드웨어 가상화 기술을 제공할 수 있다. 하이퍼바이저(124-4)는 가상 게스트 운영 체제에 운영 플랫폼을 제공하고 게스트 운영 체제의 실행을 관리할 수 있다. 다양한 운영 체제의 여러 인스턴스가 가상화된 하드웨어 리소스를 공유할 수 있다.
네트워크(130)는 하나 이상의 유선 및/또는 무선 네트워크를 포함한다. 예를 들어, 네트워크(130)는 셀룰러 네트워크(예를 들어, 5G(5세대) 네트워크, 롱텀에볼루션(Long-Term Evolution, LTE) 네트워크, 3G(3G) 네트워크, 코드분할다중접속(Code Division Multiple Access, CDMA) 네트워크, 공용육상이동통신망(Public Land Mobile Network, PLMN), 근거리 통신망(Local Area Network, LAN), 광역통신망(Wide Area Network, WAN), 대도시 통신망(Metropolitan Area Network, MAN), 전화망(예를 들어, PSTN), 사설 네트워크, 애드혹 네트워크, 인트라넷, 인터넷, 광섬유 기반 네트워크 등, 및/또는 이들 또는 다른 유형의 네트워크의 조합 등을 포함할 수 있다.
도 1에 도시된 장치 및 네트워크의 수 및 배열이 예시로 제공된다. 실제로, 추가 장치 및/또는 네트워크, 더 적은 장치 및/또는 네트워크, 상이한 장치 및/또는 네트워크, 또는 도 1에 도시된 것보다 다르게 배열된 장치 및/또는 네트워크가 있을 수 있다. 또한, 도 1에 도시된 2개 이상의 디바이스는 단일 장치 내에서 구현될 수 있거나 또는 도 1에 도시된 단일 장치는 다중 분산 장치로 구현될 수 있다. 추가적으로, 또는 대안적으로, 환경(100)의 디바이스들의 세트(예를 들어, 하나 이상의 디바이스들)는 환경(100)의 디바이스들의 다른 세트에 의해 수행되는 것으로 설명된 하나 이상의 기능들을 수행할 수 있다.
도 2는 도 1의 하나 이상의 디바이스의 예시적인 컴포넌트의 블록도이다. 디바이스(200)는 사용자 디바이스(110) 및/또는 플랫폼(120)에 대응할 수 있다. 도 2를 참조하면, 디바이스(200)는 버스(210), 프로세서(220), 메모리(230), 저장 컴포넌트(240), 입력 컴포넌트(250), 출력 컴포넌트(260), 및 통신 인터페이스(270)를 포함할 수 있다.
버스(210)는 디바이스(200)의 컴포넌트 간의 통신을 허용하는 컴포넌트를 포함한다. 프로세서(220)는 하드웨어, 펌웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현된다. 프로세서(220)는 CPU(Central Processing Unit), GPU(Graphics Processing Unit), APU(Accelerated Processing Unit), 마이크로프로세서, 마이크로컨트롤러, 디지털 신호 프로세서(Digital Signal Processor, DSP), 필드 프로그래머블 게이트 어레이(Field Programmable Gate Array, FPGA), 주문형 집적 회로(application-specific integrated circuit, ASIC), 또는 다른 유형의 프로세싱 컴포넌트이다. 일부 구현에서, 프로세서(220)는 기능을 수행하도록 프로그래밍될 수 있는 하나 이상의 프로세서를 포함한다. 메모리(230)는 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 및/또는 프로세서(220)에 의한 사용을 위한 정보 및/또는 명령을 저장하는 다른 유형의 동적 또는 정적 저장 장치(예를 들어, 플래시 메모리, 자기 메모리 및/또는 광학 메모리)를 포함한다.
저장 컴포넌트(240)는 디바이스(200)의 동작 및 사용과 관련된 정보 및/또는 소프트웨어를 저장한다. 예를 들어, 저장 컴포넌트(240)는 하드 디스크(예를 들어, 자기 디스크, 광 디스크, 광자기 디스크 및/또는 솔리드 스테이트 디스크), 콤팩트 디스크(CD), 디지털 다목적 디스크(DVD), 플로피 디스크, 카트리지, 자기 테이프 및/또는 해당 드라이브와 함께 다른 유형의 비일시적 컴퓨터 판독 가능형 매체를 포함한다.
입력 컴포넌트(250)는 디바이스(200)가 사용자 입력(예를 들어, 터치 스크린 디스플레이, 키보드, 키패드, 마우스, 버튼, 스위치, 및/또는 마이크로폰)을 통해 정보를 수신하도록 하는 컴포넌트를 포함한다. 추가적으로 또는 대안적으로, 입력 컴포넌트(250)는 정보를 감지하기 위한 센서(예를 들어, GPS(Global Positioning System) 컴포넌트, 가속도계, 자이로스코프, 및/또는 액추에이터)를 포함할 수 있다. 출력 컴포넌트(260)는 디바이스(200)(예를 들어, 디스플레이, 스피커, 및/또는 하나 이상의 발광 다이오드(LED))로부터의 출력 정보를 제공하는 컴포넌트를 포함한다.
통신 인터페이스(270)는 디바이스(200)가 예를 들어 유선 연결, 무선 연결 또는 유선 및 무선 연결의 조합을 통해 다른 디바이스와 통신할 수 있게 하는 송수신기형 컴포넌트(예를 들어, 송수신기 및/또는 별도의 수신기 및 송신기)를 포함한다. 통신 인터페이스(270)는 디바이스(200)가 다른 디바이스로부터 정보를 수신 및/또는 다른 디바이스에 정보를 제공하도록 허용할 수 있다. 예를 들어, 통신 인터페이스(270)는 이더넷 인터페이스, 광 인터페이스, 동축 인터페이스, 적외선 인터페이스, RF(Radio Frequency) 인터페이스, USB(Universal Serial Bus) 인터페이스, Wi-Fi 인터페이스, 셀룰러 네트워크 인터페이스 등을 포함할 수 있다.
디바이스(200)는 여기에 설명된 하나 이상의 프로세스를 수행할 수 있다. 디바이스(200)는 프로세서(220)가 메모리(230) 및/또는 저장 컴포넌트(240)와 같은 비일시적 컴퓨터 판독 가능형 매체에 의해 저장된 소프트웨어 명령을 실행하는 것에 응답하여 이러한 프로세스를 수행할 수 있다. 여기서는 컴퓨터 판독 가능형 매체가 비일시적 기억 장치로 정의된다. 메모리 장치는 단일 물리적 저장 장치 내의 메모리 공간 또는 여러 물리적 저장 장치에 분산된 메모리 공간을 포함한다.
소프트웨어 명령은 다른 컴퓨터 판독 가능형 매체 또는 통신 인터페이스(270)를 통해 다른 장치로부터 메모리(230) 및/또는 저장 컴포넌트(240)로 판독될 수 있다. 실행될 때, 메모리(230) 및/또는 저장 컴포넌트(240)에 저장된 소프트웨어 명령은 프로세서(220)가 본 명세서에 설명된 하나 이상의 프로세스를 수행하게 할 수 있다. 추가적으로, 또는 대안적으로, 하드와이어드 회로는 여기에 설명된 하나 이상의 프로세스를 수행하기 위해 소프트웨어 명령 대신에 또는 이와 함께 사용될 수 있다. 따라서, 여기에 설명된 구현은 하드웨어 회로 및 소프트웨어의 특정 조합으로 제한되지 않는다.
도 2에 도시된 컴포넌트의 수 및 배열은 예시로 제공된다. 실제로, 디바이스(200)는 도 2에 도시된 것보다 추가 컴포넌트, 더 적은 컴포넌트, 상이한 컴포넌트, 또는 상이하게 배열된 컴포넌트를 포함할 수 있다. 추가적으로, 또는 대안적으로, 디바이스(200)의 컴포넌트의 세트(예를 들어, 하나 이상의 컴포넌트)는 디바이스(200)의 컴포넌트의 다른 세트에 의해 수행되는 것으로 설명된 하나 이상의 기능들을 수행할 수 있다.
본 개시의 실시예에서, NBMP 시스템(300)이 제공된다. 도 3을 참조하면, NBMP 시스템(300)은 NBMP 소스(310), NBMP 워크플로우(workflow) 관리자(320), 기능 저장소(330), 하나 이상의 미디어 프로세싱 엔티티(350), 미디어 소스(360), 및 미디어 싱크(370)를 포함할 수 있다.
NBMP 소스(310)는 제3자 엔티티(380)로부터 명령을 수신할 수 있고, NBMP 워크플로우 API(392)를 통해 NBMP 워크플로우 관리자(320)와 통신할 수 있고, 기능 발견(function discovery) API(391)를 통해 기능 저장소(330)와 통신할 수 있다. 예를 들어, NBMP 소스(310)는 워크플로 설명 문서(들)(WDD)를 NBMP 워크플로 관리자(320)에 보낼 수 있고, 기능 저장소(330)에 저장된 기능의 기능 설명을 읽을 수 있으며, 기능은 저장소(330)의 메모리에 저장된 미디어 처리 기능이며, 예를 들어, 미디어 디코딩, 특징점 추출, 카메라 파라미터 추출, 프로젝션 방법, 이음매 정보 추출, 블렌딩, 포스트-프로세싱 및 인코딩의 기능이다. NBMP 소스(310)는 적어도 하나의 프로세서로 하여금 NBMP 소스(310)의 기능을 수행하게 하도록 구성된 코드를 저장하는 메모리 및 적어도 하나의 프로세서를 포함하거나 이에 의해 구현될 수 있다.
NBMP 소스(310)는 NBMP 워크플로우 관리자(320)에게 워크플로우 설명 문서를 전송함으로써 하나 이상의 미디어 프로세싱 엔티티(350)에 의해 수행될 태스크(352)를 포함하는 워크플로우를 생성하도록 요청할 수 있으며, 각각의 디스크립터는 수 개의 파라미터를 가질 수 있다.
예를 들어, NBMP 소스(310)는 기능 저장소(330)에 저장된 기능을 선택하고 입력 및 출력 데이터, 필요한 기능, 및 워크플로에 대한 요구 사항과 같은 상세한 내용에 대한 다양한 디스크립터를 포함하는 워크플로 설명 문서를 NBMP 워크플로우 관리자(320)에 송신한다. 워크플로우 설명 문서는 미디어 프로세싱 엔티티(350) 중 하나 이상에 의해 수행될 태스크(352)의 입력 및 출력의 연결 맵 및 태스크 설명 세트를 포함할 수 있다. NBMP 워크플로우 관리자(320)가 NBMP 소스(310)로부터 이러한 정보를 수신할 때 NBMP 워크플로우 매니저(320)는 기능명에 기초하여 태스크를 인스턴스화하고 연결 맵에 따라 태스크를 연결하여 워크플로우를 생성할 수 있다.
대안적으로 또는 추가적으로, NBMP 소스(310)는 키워드 세트를 사용하여 워크플로우를 생성하도록 NBMP 워크플로우 관리자(320)를 요청할 수 있다. 예를 들어, NBMP 소스(310)는 NBMP 워크플로 관리자(320)가 기능 저장소(330)에 저장된 적절한 기능을 찾기 위해 사용할 수 있는 키워드 세트를 포함할 수 있는 워크플로 설명 문서를 보낼 수 있다. NBMP 소스(310)로부터 이러한 정보가 있는 경우, NBMP 워크플로 관리자(320)는 워크플로 설명 문서의 프로세싱 디스크립터에 지정될 수 있는 키워드를 사용하여 적절한 기능을 검색함으로써 워크플로를 생성하고 워크플로 설명 문서의 다른 디스크립터를 사용하여 작업을 프로비저닝하고 그것들을 연결하여 워크플로를 생성할 수 있다.
NBMP 워크플로 관리자(320)는 기능 발견 API(391)와 동일하거나 다른 API일 수 있는 기능 발견 API(393)를 통해 기능 저장소(330)와 통신할 수 있고, NBMP 작업 API(394)를 통해 미디어 프로세싱 엔티티(350) 중 하나 이상과 통신할 수 있다. NBMP 작업 흐름 관리자(320)는 적어도 하나의 프로세서로 하여금 NBMP 작업 흐름 관리자(320)의 기능을 수행하게 하도록 구성된 코드를 저장하는 메모리 및 적어도 하나의 프로세서를 포함하거나 이에 의해 구현될 수 있다.
NBMP 작업 흐름 관리자(320)는 NBMP 작업 API(394)를 사용하여 하나 이상의 미디어 프로세싱 엔티티(350)에 의해 수행 가능한 작업 흐름의 하나 이상의 작업(352)을 설정, 구성, 관리 및 모니터링할 수 있다. 일 실시예에서, NBMP 작업 흐름 관리자(320)는 작업(352)을 업데이트 및 파괴하기 위해 NBMP 작업 API(394)를 사용할 수 있다. 작업 흐름의 작업(352)을 구성, 관리 및 모니터링하기 위해, NBMP 작업 흐름 관리자(320)는 요청과 같은 메시지를 하나 이상의 미디어 프로세싱 엔티티(350)에 송신할 수 있으며, 여기서 각각의 메시지는 여러 파라미터를 갖는 여러 디스크립터를 가질 수 있다. 태스크(352)는 각각 미디어 처리 기능(354) 및 미디어 처리 기능(354)을 위한 구성(353)을 포함할 수 있다.
일 실시예에서, 작업 목록을 포함하지 않는(예를 들어, 작업 목록 대신 키워드 목록을 포함하는) NBMP 소스(310)로부터 작업 흐름 설명 문서를 수신한 후, NBMP 작업 흐름 관리자(320)는 기능 디스커버리 API(393)를 통해 기능 저장소(330)를 검색하여 현재 워크플로에 대한 작업(352)으로 실행할 적절한 기능을 찾기 위해 작업 흐름 설명 문서의 작업 설명에 기반한 태스크를 선택할 수 있다. 예를 들어, NBMP 워크플로우 관리자(320)는 워크플로우 설명 문서에 제공된 키워드에 기초하여 태스크를 선택할 수 있다. NBMP 소스(310)에 의해 제공되는 키워드 또는 태스크 설명 세트를 사용하여 적절한 기능을 식별한 후, NBMP 워크플로우 관리자(320)는 NBMP 태스크 API(394)를 사용하여 워크플로우에서 선택된 태스크를 구성할 수 있다. 예를 들어, NBMP 워크플로 관리자(320)는 NBMP 소스로부터 수신된 정보로부터 구성 데이터를 추출하고, 구성 데이터에 기초하여 태스크(352)를 구성할 수 있다.
하나 이상의 미디어 프로세싱 엔티티(350)는 미디어 소스(360)로부터 미디어 콘텐츠를 수신하고, NBMP 워크플로 관리자(320)에 의해 생성된 작업(350)을 포함하는 워크플로에 따라 미디어 콘텐츠를 처리하고, 처리된 미디어 콘텐츠를 미디어 싱크(370)에 출력하도록 구성될 수 있다. 하나 이상의 미디어 프로세싱 엔티티(350) 각각은 적어도 하나의 프로세서가 미디어 프로세싱 엔티티(350)의 기능을 수행하게 하도록 구성된 코드를 저장하는 메모리 및 적어도 하나의 프로세서를 포함하거나 이에 의해 구현될 수 있다.
미디어 소스(360)는 미디어를 저장하는 메모리를 포함할 수 있고, NBMP 소스(310)와 통합되거나 분리될 수 있다. 일 실시예에서, NBMP 워크플로 관리자(320)는 워크플로가 준비되었을 때 NBMP 소스(310)에 알릴 수 있고 미디어 소스(360)는 워크플로우가 준비되었다는 통지에 기초하여 미디어 프로세싱 엔티티(350) 중 하나 이상에 미디어 콘텐츠를 전송할 수 있다.
미디어 싱크(370)는 적어도 하나의 프로세서 및 하나 이상의 미디어 프로세싱 엔티티(350)에 의해 처리되는 미디어를 디스플레이하도록 구성된 적어도 하나의 디스플레이를 포함하거나 이에 의해 구현될 수 있다.
제3자 엔티티(380)는 적어도 하나의 프로세서로 하여금 제3자 엔티티(380)의 기능을 수행하게 하도록 구성된 코드를 저장하는 메모리 및 적어도 하나의 프로세서를 포함하거나 이에 의해 구현될 수 있다.
위에서 논의된 바와 같이, NBMP 소스(310)로부터 NBMP 워크플로 관리자(320)로의 메시지(예를 들어, 워크플로의 생성을 요청하기 위한 워크플로 설명 문서) 및 및 NBMP 워크플로 관리자(320)로부터 하나 이상의 미디어 프로세싱 엔티티(350)로의 메시지(예를 들어, 워크플로가 수행되게 하기 위한 메시지)는 각각이 여러 파라미터를 가질 수 있는 여러 디스크립터를 포함할 수 있다. 경우에 따라, API를 사용하는 NBMP 시스템(300)의 컴포넌트 중 임의의 컴포넌트 사이의 통신은 여러 디스크립터를 포함할 수 있으며, 각각은 여러 파라미터를 가질 수 있다.
도 4를 참조하면, 본 개시의 실시예의 3GPP FLUS 아키텍처(400)의 블록도가 도시된다. 3GPP FLUS 아키텍처(400)는 제1 환경(402)(예를 들어, 하나 이상의 사용자 디바이스를 포함하는 사용자 환경) 및 제2 환경(404)(예를 들어, 사용자 환경 또는 네트워크)을 포함할 수 있다. 제1 환경(402)은 하나 이상의 캡처 장치(406) 및 FLUS 소스(408)를 포함할 수 있다. FLUS 소스(408)는 제어 소스(410), 미디어 소스(412), 어시스턴트 수신기(414), 및 원격 제어 대상(416)을 포함할 수 있다. 제2 환경(404) FLUS 싱크(418), 어시스턴트 송신기(420), 및 원격 컨트롤러(422)를 포함할 수 있다. FLUS 싱크(418)는 제어 싱크(424) 및 미디어 싱크(426)를 포함할 수 있다.
임의의 수의 캡처 장치(406), 제어 소스(410), 미디어 소스(412), 어시스턴트 수신기(414), 및 원격 제어 대상(416)은 제1의 컴퓨터 명령을 저장하는 동일하거나 상이한 적어도 하나의 프로세서 및 메모리에 의해 구현될 수 있다. 또한, 임의의 수의 제어 싱크(424), 미디어 싱크(426), 어시스턴트 송신기(420), 및 원격 제어기(422)는 제2 환경(404)의 컴퓨터 명령을 저장하는 동일하거나 상이한 적어도 하나의 프로세서 및 메모리에 의해 구현될 수 있다.
제1 환경(402)과 제2 환경(404) 사이의 통신은 예를 들어 네트워크에 의해 제공될 수 있다. 예를 들어, 통신은 예를 들어 API일 수 있는 F-C 링크, F-U 링크, F-A 링크 및 F-RC 링크를 통해 제공될 수 있다. F-C 링크는 제어 소스(410)와 제어 싱크(424) 사이의 통신 경로의 종단점을 나타낼 수 있다. F-U 링크는 미디어 소스(412)와 미디어 싱크(426) 간의 통신 경로의 종단점을 나타낼 수 있다. F-A 링크는 어시스턴트 수신기(414)와 어시스턴트 송신기(420) 간의 통신 루트의 종단점을 나타낼 수 있다. F-RC 링크는 원격 제어 대상(416)과 원격 컨트롤러(422) 사이의 통신 경로의 종단점을 나타낼 수 있다.
FLUS 소스(408)는 제1 환경(402) 내에서 또는 제1 환경에 연결된 하나 이상의 캡처 디바이스(406)로부터 미디어 콘텐츠를 수신할 수 있고, 미디어 콘텐츠를 FLUS 싱크(426)에 전달할 수 있다. FLUS 싱크(426)는 미디어 콘텐츠를 디코딩 및 렌더링 기능 및/또는 제2 환경(404) 내의 처리 또는 배치 하위 기능으로 포워딩할 수 있다.
제어 소스(410)는 F-C 링크를 통해 제어 싱크(424)를 제어하여 후속 다운스트림 배치를 위해 수신된 미디어 콘텐츠를 처리하고 FLUS 미디어 인스턴스화를 선택할 수 있다. F-C 링크는 FLUS 싱크(418)의 구성의 생성 및 수정과 관련된 상호작용을 나타낼 수 있다. 예를 들어, F-C 링크는 제어 소스(410)가 FLUS 미디어 인스턴스화를 선택하고, FLUS 세션에 존재하는 각 미디어 세션과 관련된 정적 메타데이터를 제공하고, 처리 및 배치 하위 기능을 선택하도록 구성할 수 있다.
미디어 소스(412) 및 미디어 싱크(426)는 F-U 링크를 사용하여 하나 이상의 미디어 세션 및 미디어 스트림을 통한 후속 미디어 데이터 전송을 설정할 수 있다. FLUS 미디어 인스턴스화는 FLUS 세션의 일부로 정의될 수 있다. 하나의 FLUS 세션에 대해 여러 미디어 스트림을 설정할 수 있다. 미디어 스트림은 하나 이상의 미디어 콘텐츠 유형(예를 들어, 오디오 및/또는 비디오)의 미디어 구성 요소를 포함할 수 있다. FLUS 세션은 예를 들어 동일한 콘텐츠 유형(예를 들어, 비디오의 다중 미디어 스트림)을 포함하는 하나 이상의 미디어 스트림으로 구성될 수 있다.
어시스턴트 송신기(420)는 F-A 링크를 통해 지원 메시지를 어시스턴트 수신기(414)로 전송할 수 있다. FLUS 소스(408)는 지원 메시지에 기반한 FLUS 소스(408). 지원 메시지 내의 지원 정보는 예를 들어, 네트워크 관련 조건, 콘텐츠 수신자로부터의 시청률 또는 참여 정보, 또는 사용자 선호도 데이터와 관련될 수 있다. 어시스턴트 수신기(414)에 의해 미디어 소스(412)에 발행된 예시적인 추천은 라이브 업링크 스트리밍 콘텐츠의 시청률이 현재 부재하기 때문에 비디오의 처음 5초만 FLUS 싱크(418)에 업로드하는 것일 수 있다.
원격 컨트롤러(422)는 F-RC 링크를 통해 원격 제어 대상(416)에 제어 메시지를 보낼 수 있다. 제어 메시지는 예를 들어 FLUS 소스(408)에서 미디어 업스트림 프로세스를 시작 또는 중지하는 것과 같은 명령을 포함할 수 있다. FLUS 소스(408)는 제어 메시지에 기초하여 미디어 소스(412)의 거동을 변경하도록 구성될 수 있다. 원격 제어기(422)는 F-U 링크를 통해 미디어 싱크 정보를 FLUS 소스(408)에 제공하고, FLUS 미디어 인스턴스화를 선택하고, 캡처 장치 설정 및 다른 FLUS 소스 파라미터를 결정할 수 있다.
실시예는 5G FLUS와 함께 NBMP를 전개하기 위한 다양한 시나리오와 관련될 수 있다. 실시예는 일반적인 아키텍처 및 그 변형뿐만 아니라 각 시나리오에 대일 예시적인 호출 흐름을 제공할 수 있다.
위에서 논의된 바와 같이, NBMP 표준에서 NBMP 소스는 미디어 워크플로를 생성, 실행, 관리 및 모니터링하기 위해 워크플로 관리자에 워크플로 설명을 제공하는 엔티티이다. NBMP 소스와 워크플로 관리자 간의 상호 작용은 NBMP 작업 API 집합을 통해 이루어진다. 3GPP FLUS 프로토콜의 경우 미디어 스트림의 소스 디바이스는 네트워크를 통해 싱크(Sink)와 업링크 세션을 설정한다. FLUS API를 사용하면 소스 디바이스가 세션을 제어할 수 있고 싱크가 소스 디바이스에 대한 피드백 또는 원격 제어를 제공할 수 있다.
현재의 3GPP FLUS 프로토콜은 소스 디바이스에 의한 세션 제어 업데이트의 일부로서 NBMP WDD(Workflow Description Document)를 포함하는 것을 지원한다. 그러나 5G FLUS와 함께 NBMP를 사용하기 위한 실제 배치 시나리오는 포함하지 않는다.
FLUS와 함께 NBMP를 배치하기 위해, 실시예는 위에서 논의된 아키텍처를 확장할 수 있다. 예를 들어, 도 5는 아키텍처(500)의 실시예를 도시하며, 이것은 제1 환경(402)에 애플리케이션 UA(504)를 포함하고 싱크 디바이스일 수 있는 싱크(502)에 FLUS 제어 싱크(424) 및 FLUS 미디어 싱크(426)를 포함하며 그리고 제1 환경(402) 및 싱크(502)와 통신하는 외부 애플리케이션 서버(506)에 애플리케이션 EA(508)을 포함함으로써 아키텍처(400)를 확장한 것이다. 불필요한 중복을 피하기 위해 중복 설명은 생략되었다.
또한, 아키텍처(500)는 예를 들어 API일 수 있는 링크 F1, 링크 F2, 링크 F3, 링크 F5, 및 링크 F7을 보여준다. 도 5에 도시된 바와 같이, 링크 F1은 애플리케이션 EA(508)와 FLUS 제어 싱크(424) 사이의 통신 경로의 종단점을 나타낼 수 있다. 링크 F2는 FLUS 미디어 싱크(426)와 다른 요소 또는 디바이스 사이의 통신 경로의 종단점을 나타낼 수 있다. 링크 F3은 FLUS 제어 싱크(424)와 FLUS 미디어 싱크(426) 사이의 통신 경로의 종단점을 나타낼 수 있다. 링크 F5는 FLUS 제어 소스(410)와 애플리케이션 UA(504) 간의 통신 경로의 종단점을 나타낼 수 있다. 링크 F7은 FLUS 미디어 소스(412)와 애플리케이션 US(504) 사이의 통신 루트의 종단점을 나타낼 수 있다. 링크 F8은 애플리케이션 EA(508)와 애플리케이션 UA(504) 사이의 통신 경로의 종단점을 나타낼 수 있다.
도 6 내지 도 10은 도 5의 일반적인 아키텍처에 기초한 상이한 전개 시나리오를 예시한다.
도 6은 5의 아키텍처(500)로부터의 요소들이 도 3의 아키텍처(300)로부터의 요소들과 결합되는 아키텍처(600)를 도시한다. 불필요한 중복을 피하기 위해 중복되는 설명은 생략하였다. 도 6에 도시된 바와 같이, 아키텍처(600)에서, 외부 애플리케이션 서버(506)는 NBMP 소스(310), NBMP 워크플로우 관리자(320), 및 미디어 프로세싱 엔티티(350)를 포함한다. 도 6에 도시된 바와 같이, 아키텍처(600)는 NBMP 미디어 소스(360) 및 FLUS 미디어 소스(412) 중 하나 이상에 대응할 수 있는 NBMP/FLUS 미디어 소스(602), 및 NBMP 미디어 싱크(370)에 대응할 수 있는 오리지널 서버(604)를 포함한다. EA(508)는 제3자 엔티티(380)에 대응할 수 있고, 링크 N1은 애플리케이션 EA(508)와 NBMP 소스(310) 사이의 통신 경로의 종단점을 나타낼 수 있고, 링크 N2는 NBMP 워크플로우 API(392)에 대응할 수 있고, 링크 N3은 NBMP 태스크 API(394)에 대응할 수 있다.
도 6을 참조하면, 아키텍처(600)를 사용하여 FLUS-NBMP 세션을 설정, 운영 및 해제하는 단계의 예는 다음과 같이 진행될 수 있다.
1. 애플리케이션 UA(504)는 링크 F8을 통해 애플리케이션 EA(508)에 요청하여 라이브 세션을 시작한다.
2. 애플리케이션 EA(508)는 싱크 디스커버리 서버(도시되지 않음)로부터 FLUS 싱크 목록을 요청한다.
3. 싱크 디스커버리 서버(Sink Discovery Server)는 애플리케이션 EA(508) 요청에 응답한다.
4. 애플리케이션 EA(508)은 싱크(Sink)(502)를 선택하고 FLUS 미디어 싱크(Media Sink)(426) 주소를 찾는다.
5. 애플리케이션 EA(508)는 사용자 프로필을 검색하고 서비스를 실행하는 데 필요한 리소스를 식별한다.
6. 애플리케이션 EA(508)는 NBMP 워크플로를 시작하도록 NBMP 소스(310)에 요청한다.
7. NBMP 소스(310)는 WDD를 구축하고 NBMP 워크플로 관리자(320)에 워크플로를 인스턴스화하도록 요청한다.
8. NBMP 워크플로 관리자(Workflow Manager)(320)는 다양한 MPE를 검색하고 워크플로를 실행하기에 충분한 수의 MPE를 찾는다.
9. NBMP 워크플로 관리자(320)는 워크플로를 인스턴스화한다.
10. NBMP 워크플로 관리자(320)는 업데이트된 WDD로 NBMP 소스(310)에 응답한다.
11. NBMP 소스(310)는 애플리케이션 EA(508)에 대한 워크플로 인스턴스화를 확인한다.
12. 애플리케이션 EA(508)는 싱크 제어 정보 및 미디어 싱크 정보로 애플리케이션 UA(504)에 응답한다.
13. 애플리케이션 UA(504)는 FLUS 세션을 설정하기 위해 FLUS 제어 소스(410)를 요청한다.
14. FLUS 제어 소스(410)는 FLUS 세션을 설정하고 애플리케이션 UA(504)를 승인한다.
15. 애플리케이션 UA 504가 콘텐츠 수집을 시작한다.
16. 세션이 실행된다
...
...
...
17. 애플리케이션 UA(504)는 애플리케이션 EA(508)에 세션을 종료하도록 요청한다.
18. 애플리케이션 EA(508)는 NBMP 워크플로를 중지하도록 NBMP 소스(310)에 요청한다.
19. NBMP 소스(310)는 NBMP 세션의 중지를 승인한다.
20. 애플리케이션 EA(508)는 워크플로우의 중지를 애플리케이션 UA(504)에 승인한다.
21. 애플리케이션 UA(504)는 FLUS 세션을 중지하도록 FLUS 제어 싱크(424)를 요청한다.
표 1은 도 6의 시나리오에서 요구되는 표준 인터페이스를 나타낸다:
FLUS F-C, F-U, F1
NBMP N4, F2
애플리케이션 서버의 NBMP에 필요한 표준 API
도 7은 도 5의 아키텍처(500)로부터의 요소들이 도 3의 아키텍처(300)로부터의 요소들과 결합되는 아키텍처(700)를 도시한다. 불필요한 중복을 피하기 위해 중복되는 설명은 생략하였다. 도 7에 도시된 바와 같이, 아키텍처(700)에서, 외부 애플리케이션 서버(506)는 NBMP 소스(310) 및 NBMP 워크플로우 관리자(320)를 포함하고, 싱크(502)는 미디어 프로세싱 엔티티(350)를 포함한다.
도 7을 참조하면, 아키텍처(700)를 사용하여 FLUS-NBMP 세션을 설정, 작동 및 해제하는 단계의 예는 다음과 같이 진행될 수 있다.
1. 애플리케이션 UA(504)는 링크 F8을 통해 애플리케이션 EA(508)에 요청하여 라이브 세션을 시작한다.
2. 애플리케이션 EA(508)는 사용자 프로필을 검색하고 서비스를 실행하는 데 필요한 리소스를 식별한다.
3. 애플리케이션 EA(508)는 싱크 디스커버리 서버(Sink Discovery Server)(도시되지 않음)로부터 FLUS 싱크(Sink) 및 그 기능의 목록을 요청한다.
4. 애플리케이션 EA(508)은 MPE(350)에서 워크플로를 실행할 수 있는 싱크(Sink)(502)를 선택하고 해당 기능에서 MPE 주소와 MPE API를 찾는다.
5. 애플리케이션 EA(508)는 NBMP 소스(310)에 FLUS 미디어 싱크(426) 주소로 NBMP 워크플로를 시작하도록 요청한다.
6. NBMP 소스(310)는 WDD를 구축하고 할당된 MPE(350)를 사용하여 워크플로를 인스턴스화하도록 NBMP 워크플로 관리자(320)에 요청한다.
7. NBMP 워크플로 관리자(320)는 할당된 MPE(350)에서 워크플로를 인스턴스화한다.
8. NBMP 워크플로 관리자(320)는 업데이트된 WDD로 NBMP 소스(310)에 응답한다.
9. NBMP 소스(310)는 애플리케이션 EA(508)에 대한 워크플로 인스턴스화를 승인한다.
10. 애플리케이션 EA(508)는 싱크 제어 및 미디어 싱크 정보로 애플리케이션 UA(504)에 응답한다.
11. 애플리케이션 UA(504)는 FLUS 세션을 설정하기 위해 FLUS 제어 소스(410)를 요청한다.
12. FLUS 제어 소스(410)는 FLUS 세션을 설정하고 애플리케이션 UA(504)를 승인한다.
13. 애플리케이션 UA(504)가 콘텐츠 수집을 시작한다.
14. 세션이 실행된다
...
...
...
15. 애플리케이션 UA(504)는 애플리케이션 EA(508)에 세션을 종료하도록 요청한다.
16. 애플리케이션 EA(508)는 NBMP 워크플로우를 중지하기 위해 NBMP 소스(310)를 요청한다.
...
17. NBMP 소스(310)는 NBMP 세션의 중지를 승인한다.
18. 애플리케이션 EA(508)는 워크플로의 중지를 애플리케이션 UA(504)에 승인한다.
19. 애플리케이션 UA(504)는 FLUS 세션을 중지하도록 FLUS 제어 싱크(424)에 요청한다.
상기에서, 기울임꼴 텍스트는 이전 시나리오와의 호출 흐름의 차이점을 예시한다.
표 2는 도 7의 시나리오에서 요구되는 표준 인터페이스를 나타낸다:
표준 FLUS F-C, F-U, F1
NBMP N4, N3*
애플리케이션 서버의 NBMP, 싱크의 MPE에 필요한 표준 API
Figure pct00001
*N3는 애플리케이션 공급자-운영자 계약에 의해 구현된 폐쇄형 API일 수 있다.
도 8은 도 5의 아키텍처(500)로부터의 요소들이 도 3의 아키텍처(300)로부터의 요소들과 결합되는 아키텍처(800)를 도시한다. 불필요한 중복을 피하기 위해 중복되는 설명은 생략하였다. 도 8에 도시된 바와 같이, 아키텍처(800)에서, 외부 애플리케이션 서버(506)는 NBMP 소스(310)를 포함하고, 싱크(502)는 미디어 프로세싱 엔티티(350) 및 NBMP 워크플로우 관리자(320)를 포함한다.
도 8을 참조하면, 아키텍처(800)를 사용하여 FLUS-NBMP 세션을 설정, 운영 및 해제하는 단계의 예는 다음과 같이 진행될 수 있다:
1. 애플리케이션 UA(504)는 링크 F8을 통해 애플리케이션 EA(508)에 요청하여 라이브 세션을 시작한다.
2. 애플리케이션 EA(508)는 사용자 프로필을 검색하고 서비스를 실행하는 데 필요한 리소스를 식별한다.
3. 애플리케이션 EA(508)는 싱크 디스커버리 서버(Sink Discovery Server)(도시되지 않음)로부터 FLUS 싱크(Sink) 및 그 기능의 목록을 요청한다.
4. 애플리케이션 EA(508)은 MPE(350)에서 워크플로를 실행할 수 있는 싱크(Sink)(502)를 선택하고 싱크(Sink) 기능에서 NBMP 워크플로 관리자(320) 및 FLUS 미디어 싱크(426) 주소를 찾는다.
5. 애플리케이션 EA(508)는 NBMP 소스(310)에 FLUS 미디어 싱크(426) 주소로 NBMP 워크플로를 시작하도록 요청한다.
6. NBMP 소스는 WDD를 구축하고 할당된 MPE(350)를 사용하여 워크플로를 인스턴스화하도록 NBMP 워크플로 관리자(320)에 요청한다.
7. NBMP 워크플로 관리자(320)는 할당된 MPE(350)에서 워크플로를 인스턴스화한다.
8. NBMP 워크플로 관리자(320)는 업데이트된 WDD로 NBMP 소스(310)에 응답한다.
9. NBMP 소스(310)는 애플리케이션 EA(508)에 대한 워크플로 인스턴스화를 확인한다.
10. 애플리케이션 EA(508)는 싱크 제어 및 미디어 싱크 정보로 애플리케이션 UA(504)에 응답한다.
11. 애플리케이션 UA(504)는 FLUS 세션을 설정하기 위해 FLUS 제어 소스(410)를 요청한다.
12. FLUS 제어 소스(410)는 FLUS 세션을 설정하고 애플리케이션 UA(504)를 승인한다.
13. UA가 콘텐츠 수집을 시작한다.
14. 세션이 실행된다
...
...
...
15. 애플리케이션 UA(504)는 애플리케이션 EA(508)에 세션을 종료하도록 요청한다.
16. 애플리케이션 EA(508)는 NBMP 워크플로우의 중지를 위해 NBMP 소스(310)를 요청한다.
...
17. NBMP 소스(310)는 NBMP 세션의 중지를 승인한다.
18. 애플리케이션 EA(508)는 워크플로우의 중지를 애플리케이션 UA(504)에 승인한다.
19. 애플리케이션 UA(504)는 FLUS 세션을 중지하도록 FLUS 제어 싱크(424)에 요청한다.
...
상기에서, 기울임꼴 텍스트는 이전 시나리오와의 호출 흐름의 차이점을 예시한다.
표 3은 도 1의 시나리오에서 요구되는 표준 인터페이스를 나타낸다. 8:
표준 FLUS F-C, F-U, F1
NBMP N2, N4
애플리케이션 서버의 NBMP 소스, 싱크의 NBMP 워크플로 관리자 및 MPE
도 9는 도 5의 아키텍처(500)로부터의 요소들이 도 3의 아키텍처(300)로부터의 요소들과 결합되는 아키텍처(900)를 도시한다. 불필요한 중복을 피하기 위해 중복되는 설명은 생략하였다. 도 9에 도시된 바와 같이, 아키텍처(900)에서, FLUS 제어 소스(410)는 NBMP 소스(310)를 포함하고, 싱크(502)는 미디어 프로세싱 엔티티(350) 및 NBMP 워크플로우 관리자(320)를 포함한다.
도 9를 참조하면, 아키텍처(900)를 사용하여 FLUS-NBMP 세션을 설정, 작동 및 해제하는 단계의 예는 다음과 같이 진행될 수 있다:
1. 애플리케이션 UA(504)는 링크 F8을 통해 애플리케이션 EA(508)에 요청하여 라이브 세션을 시작한다.
2. 애플리케이션 EA(508)는 사용자 프로필을 검색하고 서비스를 실행하는 데 필요한 리소스를 식별한다.
3. 애플리케이션 EA(508)는 싱크 디스커버리 서버(도시되지 않음)로부터 FLUS 싱크 및 그 기능의 목록을 요청한다.
4. 애플리케이션 EA(508)은 MPE(350)에서 워크플로를 실행할 수 있는 싱크(502)를 선택하고 싱크 기능에서 NBMP 워크플로 관리자(320) 및 미디어 싱크(426) 주소를 찾는다.
5. 애플리케이션 EA(508)는 FLUS 제어 싱크(Control Sink)(424)를 통해 NBMP 워크플로 관리자(320)의 전체 URL 또는 상대 URL로 UE에 응답한다.
6. 애플리케이션 UA(504)는 FLUS 세션을 설정하기 위해 FLUS 제어 소스(410)를 요청한다.
7. FLUS 제어 소스(410)는 FLUS 세션을 설정하고 애플리케이션 UA(504)를 승인한다.
8. EA는 NBMP 소스(Source)(310)가 워크플로를 시작하도록 요청한다.
9. NBMP 소스(310)는 WDD를 구축하고 NBMP 워크플로 관리자(320)에(직접 또는 FLUS 제어 싱크 424를 통해) 워크플로를 인스턴스화하도록 요청한다.
10. NBMP 워크플로 관리자(320)는 MPE(350)에서 워크플로를 인스턴스화한다.
11. NBMP 워크플로 관리자(320)는 업데이트된 WDD로 NBMP 소스(310)에 응답한다.
12. NBMP 소스(310)는 애플리케이션 UA(504)에 대한 워크플로우 인스턴스화를 승인한다.
13. 애플리케이션 UA 504가 콘텐츠 수집을 시작한다.
14. 세션이 실행된다
...
...
...
15. 애플리케이션 UA(504)는 세션을 종료하도록 FLUS 제어 소스(410)를 요청한다.
16. NBMP 소스(310)는 NBMP 워크플로 관리자(320)에 워크플로를 중지하도록 요청한다.
17. FLUS 제어 소스(410)는 FLUS 세션을 종료하도록 요청한다.
...
상기에서, 기울임꼴 텍스트는 이전 시나리오와의 호출 흐름의 차이점을 예시한다.
표 4는 도 9의 시나리오에서 요구되는 표준 인터페이스를 나타낸다:
Standard FLUS F-C*, F-U, F1
NBMP N4
FLUS 제어 소스의 NBMP 소스, 싱크의 NBMP 워크플로 관리자 및 MPE
*NBMP 워크플로 관리자 API 지원
표 5는 전개 시나리오의 요약을 보여준다.
시나리오 표준 API
애플리케이션 서버의 NBMP (도 6) FLUS F-C, F-U, F1
NBMP N4, F2
애플리케이션 서버의 NBMP, 싱크의 MPE (도 7) FLUS F-C, F-U, F1
NBMP N4, N3*
애플리케이션 서버의 NBMP 소스, NBMP 워크플로 관리자, 및 싱크의 MPE (도 8) FLUS F-C, F-U, F1
NBMP N2, N4
FLUS 제어 소스의 NBMP 소스, NBMP 워크플로 관리자 및 싱크의 MPE (도 9) FLUS F-C**, F-U, F1
NBMP N4
배치 시나리오 요약
Figure pct00002
*N3는 애플리케이션 공급자-운영자 계약에 의해 구현된 폐쇄형 API일 수 있다.
Figure pct00003
**NBMP 워크플로 관리자 API 지원
따라서, 실시예는 4개의 상이한 시나리오가 고려되는 5G FLUS 환경에서 NBMP 워크플로우 관리를 배치하기 위한 방법을 제공할 수 있으며, 여기에는 a) 애플리케이션 서버의 NBMP, b) 애플리케이션 서버의 NBMP, 싱크의 MPE, c) FLUS 제어 소스의 싱크 NBMP 소스의 워크플로 관리자 및 MPE, 애플리케이션 서버의 NBMP 소스, 및 d) 싱크의 NBMP 워크플로 관리자 및 MPE 를 구현하며, 여기서 각 시나리오에서, NBMP 모듈은 FLUS 아키텍처의 다른 모듈에서 구현될 수 있으며, 각 시나리오에 대해 NBMP와 FLUS 간의 API가 정의되며, 여기서 API는 NBMP 표준에 따른 API, 3GPP FLUS 표준에 따른 API, 각 모듈에 대한 내부 API 및 서비스 제공자와 운영자 간의 프라이빗 API로 분할된다.
또한, 실시예는 위의 4가지 시나리오 각각에 대한 NBMP-FLUS 공동 세션의 설정, 관리 및 해제를 위한 별도의 호출 흐름을 포함하는 방법을 제공할 수 있으며, 여기서 각 경우의 호출 흐름, NBMP 및 FLUS 세션이 설정되고, 위에서 정의한 API를 통해 적절한 정보를 교환하여 공동 세션을 설정하고 관리하며 여기서 FLUS를 사용하여 디바이스에서 네트워크로 콘텐츠를 업스트림하고 그런 다음 NBMP 표준을 사용하여 클라우드 또는 에지 서비스에서 처리된다.
또한, 실시예는 5G 에지 데이터 아키텍처를 사용하여 FLUS 미디어 네트워크 처리 능력을 발견하기 위한 인터페이스, 워크플로우 및 절차를 제공할 수 있다. 이 기능을 통해 외부 애플리케이션 서버는 FLUS로 네트워크 기반 처리 설정을 요청하기 전에 5G 네트워크의 현재 기능에 대해 학습할 수 있다.
현재의 3GPP FLUS 프로토콜은 소스 디바이스에 의한 세션 제어 업데이트의 일부로서 NBMP WDD(Workflow Description Document)를 포함하는 것을 지원한다. 그러나 FLUS 서비스에 대한 다른 에지 서버의 네트워크 처리 기능 검색은 다루지 않는다.
도 10은 미디어 스트리밍을 위한 미디어 아키텍처(1000)의 도면이다. 실시예에서, 미디어 아키텍처(1000)는 업링크 스트리밍 또는 다운링크 스트리밍에 사용될 수 있다. 5G 미디어 스트리밍 업링크(Media Streaming Uplink)(5GMS) 애플리케이션 제공자(1001)는 스트리밍 서비스를 위해 5GMS를 사용할 수 있다. 5GMS 애플리케이션 제공자(1001)는 5GMS에 정의된 인터페이스 및 API를 사용하여 5GMS 클라이언트(1004) 및 네트워크 기능을 사용하도록 UE(1003)에 5GMS 인식 애플리케이션(1002)을 제공할 수 있다. 5GMS 애플리케이션 서버(AS)는 5G 미디어 스트리밍 전용 AS일 수 있다. 5GMS 클라이언트(1004)는 5G 미디어 스트리밍 전용 UE(1003) 내부 기능일 수 있다.
5GMS 애플리케이션 기능(AF)(1006) 및 5GMS AS(1005)는 데이터 네트워크(DN)(1007) 기능일 수 있다. 신뢰할 수 있는 DN의 기능은 운영자 네트워크에서 신뢰할 수 있다. 따라서 신뢰할 수 있는 DN의 AF는 모든 5G 코어 기능과 직접 통신할 수 있다. 외부 DN의 기능은 링크 N33을 사용하는 네트워크 노출 기능(Network Exposure Function, NEF)(1008)을 통해서만 5G 핵심 기능과 통신할 수 있다.
미디어 아키텍처(1000)는 5G 미디어 업링크 스트리밍을 위한 UE(1003) 내부 기능 및 관련 네트워크 기능을 연결할 수 있다. 따라서, 미디어 아키텍처(1000)는 다수의 기능을 포함할 수 있다. 예를 들어, UE(1003) 상의 5GMS 클라이언트(1004)는 인터페이스/API를 통해 액세스될 수 있는 5GMS 서비스의 발신자일 수 있다. 5GMS 클라이언트(1004)는 미디어 세션 핸들러(media session handler, MSH)(1009) 및 미디어 스트리머(1010)의 2개의 하위 기능을 포함할 수 있다. MSH(1009)는 미디어 세션의 전달을 설정, 제어 및 지원하기 위해 5GMS AF(1006)와 통신할 수 있다. MSH(1009)는 5GMS 인식 애플리케이션(1002)에 의해 사용될 수 있는 API를 노출할 수 있다. 미디어 스트리머(1010)는 미디어 콘텐츠를 스트리밍하고 미디어 캡처 및 스트리밍을 위한 5GMS 인식 애플리케이션(1002) 및 미디어 세션 제어를 위한 MSH(1009)에 서비스를 제공하기 위해 5GMS AS(1005)와 통신할 수 있다. 5GMS 인식 애플리케이션(1002)은 외부 애플리케이션 또는 콘텐츠 서비스 제공자 특정 로직을 구현하고 미디어 세션의 설정을 가능하게 함으로써 5GMS 클라이언트(1003)를 제어할 수 있다. 5GMS AS(1005)는 5G 미디어 기능을 호스팅할 수 있다. 5GMS 애플리케이션 제공자(1001)는 외부 애플리케이션 또는 콘텐츠 특정 미디어 기능, 예를 들어 5GMS를 사용하여 5GMS 인식 애플리케이션(1002)으로부터 미디어를 스트리밍하는 미디어 저장, 소비, 트랜스코딩 및 재배치일 수 있다. 5GMS AF(1006)는 UE(1003) 상의 MSH(1009) 및/또는 5GMS 애플리케이션 제공자(1001)로 다양한 제어 기능을 제공할 수 있다. 5GMS AF(1006)는 상이한 정책 또는 과금 기능(PCF)(1011) 처리에 대한 요청을 릴레이 또는 개시하거나 또는 다른 네트워크 기능과 상호작용할 수 있다.
미디어 아키텍처(1000)는 다수의 상이한 인터페이스를 포함할 수 있다. 예를 들어, 링크 M1은 미디어 아키텍처(1000)의 사용을 프로비저닝하고 피드백을 얻기 위해 5GMS AF(1006)에 의해 노출된 5GMS 프로비저닝 API일 수 있다. 링크 M2는 5GMS AS 1005에 의해 노출되는 5GMS 게시 API일 수 있으며 DN 1007과 같은 신뢰할 수 있는 DN의 5GMS AS 1005가 스트리밍 서비스를 위한 콘텐츠를 수신하도록 선택될 때 사용된다. 링크 M3은 DN 1007과 같은 신뢰할 수 있는 DN 내에서 5GMS AS 1005에서 호스팅되는 콘텐츠에 대한 정보를 교환하는 데 사용되는 내부 API일 수 있다. 링크 M4는 미디어 콘텐츠를 스트리밍하기 위해 5GMS AS 1023에 의해 미디어 스트리머(1010)에 노출되는 미디어 업링크 스트리밍 API일 수 있다. 링크 M5는 적절한 보안 메커니즘, 예를 들어 권한 부여 및 인증을 포함하는 미디어 세션 핸들링, 제어 및 지원을 위해 5GMS AF 1005에 의해 미디어 세션 핸들러에 노출된 미디어 세션 핸들링 API일 수 있다. 링크 M6은 5GMS 기능을 사용하기 위해 MSH(1009)에 의해 5GMS 인식 애플리케이션(1002)에 노출되는 UE(1003) 미디어 세션 처리 API일 수 있다. 링크 M7은 미디어 스트리머(Media Streamer)(1010)를 사용하기 위해 미디어 스트리머(1010)에 의해 5GMS 인식 애플리케이션(Aware Application)(1002) 및 MSH(1009)에 노출된 UE 미디어 스트리머 API일 수 있다. 링크 M8은 예를 들어 5GMS 인식 애플리케이션(1002)에 서비스 액세스 정보를 제공하기 위해, 5GMS 인식 애플리케이션(1002)과 5GMS 애플리케이션 제공자(1001) 간의 정보 교환에 사용되는 애플리케이션 API일 수 있다.
도 11은 실시예에 따른 5G 에지 네트워크 아키텍처(1100)의 도면이다. 에지 데이터 네트워크(EDN)(1101)는 로컬 데이터 네트워크이다. 에지 애플리케이션 서버(Edge Application Server, EAS)(1102) 및 에지 인에이블러 서버(Edge Enabler Server, EES)(1103)는 EDN(1101) 내에 포함된다. 에지 구성 서버(Edge Configuration Server, ECS)(1104)는 EES(1103)를 호스팅하는 EDN(1101)의 자세한 내용을 포함하여 EES(1103)와 관련된 구성을 제공한다. 사용자 기기(UE)(1105)는 애플리케이션 클라이언트(AC)(1106) 및 에지 인에이블러 클라이언트(EEC)(1107)를 포함한다. EAS(1102), EES(1103) 및 ECS(1104)는 3GPP 코어 네트워크(1108)와 상호작용할 수 있다.
EES(1103)는 EAS(1102) 및 EEC(1107)에 필요한 지원 기능을 제공한다. EES(1103)의 기능은 다음: EAS와 애플리케이션 데이터 트래픽의 교환을 가능하게 하는 EEC(1107)에 구성 정보 제공; 예를 들어 3GPP TS 23.222에 명시된 바와 같이 API 호출자의 기능 지원 및 API 노출 기능; 네트워크 기능의 기능에 직접(예를 들어, PCF를 통해) 또는 간접적으로(예를 들어, SCEF(Service Capability Exposure Function)/NEF/SCEF+NEF를 통해) 액세스하기 위해 3GPP 코어 네트워크(1108)와의 상호 작용; 애플리케이션 컨텍스트 전송 기능 지원; 링크 EDGE-3을 통해 EAS(1102)에 대한 3GPP 네트워크 및 서비스 기능의 외부 노출 지원; EEC(1107) 및 EAS에 대한 등록(즉, 등록, 업데이트 및 등록 취소) 기능 지원; 및 요청 시 EAS(1102) 인스턴스화를 트리거하는 기능을 지원하기를 포함할 수 있다.
EEC(1107)은 AC에 필요한 지원 기능을 제공한다. EEC(1107)의 기능은 다음: EAS(1102)와 애플리케이션 데이터 트래픽의 교환을 가능하게 하는 구성 정보의 검색 및 프로비저닝; 및 EDN(1101)에서 이용 가능한 EAS(1102)의 발견을 포함할 수 있다.
ECS(1104)는 EEC(1107)가 EES(1103)와 연결하는 데 필요한 지원 기능을 제공한다. ECS(1104)의 기능은 다음과 같다: EEC(1107)에 대한 에지 구성 정보, 예를 들어 EES(1103)에 연결하기 위한 EEC(1107)에 대한 정보(예를 들어, LADN에 적용 가능한 서비스 지역 정보)의 프로비저닝; EES(1103)와의 연결을 설정하기 위한 정보(예를 들어, URI); EES(1103)에 대한 등록(즉, 등록, 업데이트 및 등록 취소) 기능을 지원하기; 3GPP TS 23.222에 명시된 바와 같이 API 호출자의 기능 및 API 노출 기능 지원하기; 및 네트워크 기능의 성능에 직접적으로(예를 들어, PCF) 또는 간접적으로(예를 들어, SCEF/NEF/SCEF+NEF를 통해) 액세스하기 위해 3GPP 코어 네트워크(1108)와 상호 작용하기.
AC(1106)은 클라이언트 기능을 수행하는 UE(1105)에 상주하는 애플리케이션이다.
EAS(1102)는 서버 기능을 수행하는 EDN(1101)에 상주하는 애플리케이션 서버이다. AC(1106)은 에지 컴퓨팅의 이점과 함께 애플리케이션의 서비스를 이용하기 위해 EAS(1102)에 연결된다. 애플리케이션의 서버 기능은 EAS(1102)로만 사용할 수 있다. 그러나 특정 서버 기능은 EAS(1102) 및 애플리케이션 서버가 클라우드에 각각 상주하므로, 에지와 클라우드 모두에서 사용할 수 있다. EAS(1102) 및 해당 클라우드 애플리케이션 서버에서 제공하는 서버 기능은 동일하거나 다를 수 있으며, 그들이 다르면 AC와 교환되는 애플리케이션 데이터 트래픽도 다를 수 있다. EAS(1102)는 다음과 같은 다양한 방식으로 3GPP 코어 네트워크(1108) 기능을 소비할 수 있다: 3GPP 코어 네트워크(1108)에 의해 신뢰되는 엔티티인 경우 3GPP 코어 네트워크(1108) 기능 API를 직접 호출할 수 있고; EES(1103)를 통해 3GPP 코어 네트워크(1108) 기능을 호출할 수 있고; 능력 노출 기능, 즉 SCEF 또는 NEF를 통해 3GPP 코어 네트워크(1108) 능력을 호출할 수 있다.
아키텍처(1100)는 기준점으로 지칭될 수 있는 에지 애플리케이션을 가능하게 하기 위한 다수의 상이한 인터페이스를 포함할 수 있다. 예를 들어, 링크 EDGE-1은 EES(1103)와 EEC(1107) 사이의 상호작용을 가능하게 하는 참조 포인트일 수 있다. 이것은 다음을 지원한다: EEC(1107)의 EES(1103)에 대한 등록 및 등록 취소; EAS(1102) 구성 정보의 검색 및 제공; 및 EDN(1101)에서 이용 가능한 EAS(1102)의 발견.
링크 EDGE-2는 EES(1103)와 3GPP 코어 네트워크(1108) 사이의 상호작용을 가능하게 하는 참조 포인트일 수 있다. 이것은 다음을 지원한다: 예를 들어, 3GPP TS 23.501, 3GPP TS 23.502, 3GPP TS 29.522, 3GPP TS 23.682, 3GPP TS 29.122에 정의된 SCEF 및 NEF API를 통해 네트워크 능력 정보의 검색을 위한 API 및 3GPP 코어 네트워크(1108) 기능에 대한 액세스; 또는 MNO 신뢰 도메인 내에 배치된 EES 1103 사용(3GPP TS 23.501 조항 5.13, 3GPP TS 23.503, 3GPP TS 23.682 참조). Link EDGE-2는 다른 배치 모델을 고려하여 3GPP 참조점 또는 EPS 또는 5GS의 인터페이스를 재사용할 수 있다.
링크 EDGE-3은 EES(1103)와 EAS(1102) 사이의 상호작용을 가능하게 하는 기준점일 수 있다. 이것은 다음을 지원한다: 가용성 정보(예를 들어, 시간 제약, 위치 제약)를 갖는 EAS(1102)의 등록; EES(1103)에서 EAS(1102)의 등록 취소; 애플리케이션 컨텍스트 전송을 지원하기 위한 타겟 EAS(1102) 정보의 발견; 네트워크 기능 정보(예를 들어, 위치 정보, 서비스 품질(QoS) 관련 정보)에 대한 액세스 제공하기; 및 특정 QoS를 갖는 AC와 EAS(1102) 사이의 데이터 세션의 설정을 요청하기.
링크 EDGE-4는 ECS(1104)와 EEC(1107) 사이의 상호작용을 가능하게 하는 참조 포인트일 수 있다. EEC(1107)에 에지 구성 정보 프로비저닝을 지원한다.
링크 EDGE-5는 AC와 EEC(1107) 사이의 상호작용을 가능하게 하는 기준점일 수 있다.
링크 EDGE-6은 ECS(1104)와 EES(1103) 사이의 상호작용을 가능하게 하는 참조 포인트일 수 있다. 이것은 ECS(1104)에 EES(1103) 정보의 등록을 지원한다.
링크 EDGE-7은 EAS(1102)와 3GPP 코어 네트워크(1108) 사이의 상호작용을 가능하게 하는 참조 포인트일 수 있다. 이것은 다음을 지원한다: 예를 들어, 3GPP TS 23.501, 3GPP TS 23.502, 3GPP TS 29.522, 3GPP TS 23.682, 3GPP TS 29.122에 정의된 SCEF 및 NEF API를 통해 네트워크 능력 정보의 검색을 위한 API 및 3GPP 코어 네트워크(1108) 기능에 대한 액세스; 또는 MNO 신뢰 도메인 내에 배치된 EAS(1102) 사용(3GPP TS 23.501 조항 5.13, 3GPP TS 23.682 참조). 링크 EDGE-7은 다른 배치 모델을 고려하여 3GPP 참조점 또는 EPS 또는 5GS의 인터페이스를 재사용할 수 있다.
링크 EDGE-8은 ECS(1104)와 3GPP 코어 네트워크(1108) 사이의 상호작용을 가능하게 하는 참조 포인트일 수 있다. 이것은 다음을 지원한다: a) 예를 들어 3GPP TS 23.501, 3GPP TS 23.502, 3GPP TS 29.522, 3GPP TS 23.682, 3GPP TS 29.122에 정의된 SCEF 및 NEF API를 통해 네트워크 능력 정보의 검색을 위한 3GPP 코어 네트워크(1108) 기능 및 API에 대한 액세스; 및 MNO 신뢰 도메인 내에 배치된 ECS(1104) 사용(3GPP TS 23.501 조항 5.13, 3GPP TS 23.682 참조). 링크 EDGE-8은 다른 배치 모델을 고려하여 3GPP 참조점 또는 EPS 또는 5GS의 인터페이스를 재사용할 수 있다.
도 12는 도 11의 아키텍처(1100)로부터의 요소들이 있는 아키텍처(1200)를 예시한다. 도 11은 도 10의 아키텍처(1000)로부터의 요소들과 결합된다. 불필요한 중복을 피하기 위해 중복되는 설명은 생략하였다.
도 12에 도시된 바와 같이, 링크 EDGE-9는 EAS(1102)와 5GMS AP 1001 간의 통신을 허용하고, 링크 EDGE-10은 EES 1103과 5GMS AP 1001 간의 통신을 허용하고, 링크 EDGE-11은 ECS(1104)와 5GMS AP 1001 간의 통신을 허용한다.
도 13은 에지 데이터 네트워크(1101) 능력을 발견하기 위한 호출 흐름과 관련될 수 있는 프로세스(1300)를 예시한다. 프로세스(1300)는 아키텍처(1200), 아래에서 논의되는 아키텍처(1000), 또는 원하는 대로 임의의 다른 아키텍처를 사용하여 수행될 수 있다.
프로세스(1300)는 5GMS AP(1001)에 의한 에지 데이터 네트워크의 미디어 능력의 발견을 가능하게 하기 위해 TS23.558 API를 확장할 수 있다.
프로세스(1300)에 따르면, 동작 13010에서, 5GMS AP(1001)는 링크 EDGE-11을 사용하여 ECS(1104)에 프로비저닝 요청을 보낼 수 있다. 동작 13020에서, ECS(1104)는 링크 EDGE-11을 사용하여 5GMS AP(1001)에 EES(1103)의 목록을 프로비저닝하고 제공한다. 동작 13030에서, 5GMS AP(1001)는 링크 EDGE-10을 이용하여 EES(1103) 목록에 포함된 EES(1103)에 등록을 요청한다. 동작 13040에서, EES(1103)는 링크 EDGE-10을 사용하여 5GMS AP(1001)에 EAS(1102)의 목록 및 위치를 등록하고 제공한다. 동작 13050에서, 5GMS AP(1001)는 링크 EDGE-9를 이용하여 EAS(1102) 목록에 포함된 EAS(1102)에게 서비스를 요청할 수 있다. 동작 13050에서, EAS(1102)는 서비스 실행을 시작하고 링크 EDGE-9를 사용하여 5GMS AP(1001)에 대한 서비스를 확인하고, 5GMS AP(1001)는 EAS(1102)에 연결하여 서비스를 사용한다.
도 14는 도 5의 아키텍처(500)로부터의 요소들이 도 12의 아키텍처(1200)로부터의 요소들과 결합되는 아키텍처(1400)를 예시한다. 불필요한 중복을 피하기 위해 중복되는 설명은 생략하였다. 도 14에 도시된 바와 같이, 아키텍처(1400)에서, UE(1105)는 FLUS 소스(408), FLUS 제어 소스(410), 및 FLUS 미디어 소스(412)를 포함하고, DN(1007)은 FLUS 제어 싱크(7424) 및 FLUS 미디어 싱크(426)를 포함한다.
도 14에 도시된 예시적인 아키텍처(1400) 및 본 개시의 다른 곳에서, FLUS 제어 싱크(424) 및 FLUS 미디어 싱크(426) 뿐만 아니라 ECS(1104) 및 EES(1103)는 논리적 엔티티이다. 구현 시 전체 또는 일부를 결합할 수 있다. 또한, EAS(1102)는 다중 엔티티이다. FLUS의 관점에서 보면 모든 EAS(1102) 엔티티는 5GMS 애플리케이션 공급자(1001)의 일부이다. F2는 FLUS 싱크와 5GMS 응용 프로그램 공급자 1001 사이의 미디어 흐름을 제공한다. 애플리케이션(의 일부)이 EAS(1102)에서 실행될 수 있기 때문에, FLUS 미디어 싱크(426)는 5GMS 애플리케이션 제공자(1001)를 통해 EAS(1102)에 연결될 수 있다.
실시예에서, 5GMS 애플리케이션 제공자(1001)는 에지 애플리케이션 서버(1102)의 목록 및 위치를 직접 발견할 수 있다.
실시예에서, 5GMS 애플리케이션 제공자(1001)는 에지 애플리케이션의 능력을 직접 발견할 수 있다.
실시예에서, 5GMS 애플리케이션 제공자(1001)는 에지 애플리케이션 서버(1102)로부터 서비스(들)를 직접 요청할 수 있고 이러한 서비스를 인스턴스화하고 사용할 수 있다.
실시예에서, 5GMS 애플리케이션 제공자(1001)는 임의의 위의 기능을 수행하기 위해 UE(1105)를 거칠 필요가 없다.
실시예에서, UE(1105)가 에지 데이터 네트워크(1007)와 통신하기 위해 사용하는 동일한 자원이 5GMS 애플리케이션 제공자(1001)에 의해 사용될 수 있고 새로운 자원이 필요하지 않다.
실시예에서, 5G 에지 아키텍처는 FLUS 아키텍처와 결합되어 에지 서버에 미디어 서비스를 설정하는 메커니즘을 제공하고 FLUS와 에지 애플리케이션 서버(들) 사이에 미디어 흐름을 제공한다.
따라서, 실시예는 5G 에지 데이터 네트워크와 FLUS를 결합하는 방법을 제공할 수 있으며, 여기서 2개의 아키텍처가 결합되고 미디어 애플리케이션의 일부가 에지 애플리케이션 서버 및 세션에서 실행될 수 있도록 제어 및 데이터 흐름이 배열된다. 5G 에지 네트워크 및 FLUS 아키텍처의 표준 프로세스를 사용하여 구축할 수 있다.
도 15는 동영상 전문가 그룹(Moving Picture Experts Group, MPEG) 네트워크 기반 미디어 처리(NBMP)에서 미디어 콘텐츠를 처리하기 위한 예시적인 프로세스(1500)의 흐름도이다. 일부 구현에서, 도 15의 하나 이상의 프로세스 블록들은 위에서 논의된 시스템 또는 아키텍처 중 임의의 것의 하나 이상의 요소에 의해 수행될 수 있다.
도 15에 도시된 바와 같이, 프로세스(1500)는 애플리케이션 서버 상에서 동작하는 제1 애플리케이션이, 라이브 업링크 스트리밍을 위한 프레임워크(FLUS) 세션을 시작하기 위해 애플리케이션 서버와 별개의 사용자 디바이스 상에서 동작하는 제2 애플리케이션으로부터 라이브 세션 요청을 수신하는 단계를 포함할 수 있다(블록 1502). 실시예에서, 사용자 디바이스는 제1 환경(402)에 대응할 수 있고, 애플리케이션 서버는 외부 애플리케이션 서버(506)에 대응할 수 있다.
도 15에 추가로 도시된 바와 같이, 프로세스(1500)는 복수의 FLUS 싱크의 리스트를 획득하는 단계를 포함할 수 있다(블록 1504).
도 15에 추가로 도시된 바와 같이, 프로세스(1500)는 복수의 FLUS 싱크들 중에서 싱크 디바이스 상에서 동작하는 FLUS 미디어 싱크를 선택하는 단계를 포함할 수 있고, 여기서 싱크 디바이스는 애플리케이션 서버 및 사용자 디바이스로부터 분리된다(블록 1506). 실시예에서, FLUS 미디어 싱크는 FLUS 미디어 싱크(426)에 대응할 수 있고, 싱크 디바이스는 싱크(502)에 대응할 수 있다.
도 15에 추가로 도시된 바와 같이, 프로세스(1500)는 FLUS 미디어 싱크와 연관된 NBMP 워크플로우를 시작하기 위해 NBMP 소스에 워크플로우 요청을 전송하는 단계를 포함할 수 있다(블록 1508). 실시예에서, NBMP 소스는 NBMP 소스(310)에 대응할 수 있다.
도 15에 추가로 도시된 바와 같이, 프로세스(1500)는 NBMP 워크플로우 및 FLUS 미디어 싱크를 사용하여 FLUS 세션을 설정하기 위한 세션 정보를 포함하는 응답을 제2 애플리케이션에 전송하는 단계를 포함할 수 있다(블록 1500).
실시예에서, 애플리케이션 서버는 NBMP 소스, NBMP 워크플로우 관리자, 및 적어도 하나의 미디어 프로세싱 엔티티를 포함할 수 있고, 싱크 디바이스는 FLUS 제어 싱크를 포함할 수 있고, 사용자 디바이스는 FLUS 제어 소스 및 FLUS 미디어 소스를 포함할 수 있다. 실시예에서, NBMP 워크플로우 관리자는 NBMP 워크플로우 관리자(320)에 대응할 수 있고, 적어도 하나의 미디어 프로세싱 엔티티는 미디어 프로세싱 엔티티(350)에 대응할 수 있고, FLUS 제어 싱크는 FLUS 제어 싱크(424)에 대응할 수 있고, FLUS 제어 소스는 FLUS에 대응할 수 있다. 제어 소스(410) 및 FLUS 미디어 소스는 NBMP 미디어 소스(360), FLUS 미디어 소스(412) 및 NBMP/FLUS 미디어 코스(602) 중 하나 이상에 대응할 수 있다.
실시예에서, NBMP 워크플로에 대응하는 워크플로 설명 문서는 NBMP 소스에 의해 구성되고 NBMP 워크플로 관리자에 의해 인스턴스화될 수 있으며, 여기서 세션 정보는 FLUS 제어 싱크에 대응하는 싱크 제어 정보 및 미디어 싱크 정보를 포함할 수 있다. FLUS 미디어 싱크에 대응한다.
실시예에서, 애플리케이션 서버는 NBMP 소스 및 NBMP 워크플로우 관리자를 포함할 수 있고, 싱크 디바이스는 FLUS 제어 싱크 및 적어도 하나의 미디어 프로세싱 엔티티를 포함할 수 있고, 사용자 디바이스는 FLUS 제어 소스 및 FLUS 미디어 소스를 포함할 수 있다.
실시예에서, FLUS 미디어 싱크는 적어도 하나의 미디어 프로세싱 엔티티의 능력에 기초하여 선택될 수 있고, 워크플로우 요청은 FLUS 미디어 싱크의 주소 정보를 포함할 수 있고, NBMP 워크플로우에 대응하는 워크플로우 설명 문서는 NBMP 소스에 의해 구성되고 적어도 하나의 미디어 프로세싱 엔티티에서 NBMP 워크플로 관리자에 의해 인스턴스화되고, 세션 정보는 FLUS 제어 싱크에 대응하는 싱크 제어 정보 및 FLUS 미디어 싱크에 대응하는 미디어 싱크 정보를 포함할 수 있다.
실시예에서, 애플리케이션 서버는 NBMP 소스를 포함할 수 있고, 싱크 디바이스는 FLUS 제어 싱크, NBMP 워크플로우 관리자, 및 적어도 하나의 미디어 프로세싱 엔티티를 포함할 수 있고, 사용자 디바이스는 FLUS 제어 소스를 포함할 수 있고, FLUS 미디어 소스를 포함할 수 있다.
실시예에서, FLUS 미디어 싱크는 적어도 하나의 미디어 프로세싱 엔티티의 능력에 기초하여 선택될 수 있고, 워크플로 요청은 FLUS 미디어 싱크의 주소 정보를 포함할 수 있고, NBMP 워크플로에 대응하는 워크플로 설명 문서는 NBMP 소스이고 적어도 하나의 미디어 프로세싱 엔티티에서 NBMP 워크플로 관리자에 의해 인스턴스화되고, 세션 정보는 FLUS 제어 싱크에 대응하는 싱크 제어 정보 및 FLUS 미디어 싱크에 대응하는 미디어 싱크 정보를 포함할 수 있다.
실시예에서, 싱크 디바이스는 FLUS 제어 싱크, NBMP 워크플로우 관리자, 및 적어도 하나의 미디어 프로세싱 엔티티를 포함할 수 있고, 사용자 디바이스는 FLUS 제어 소스, FLUS 미디어 소스, 및 NBMP 소스를 포함할 수 있다.
실시예에서, NBMP 워크플로우에 대응하는 워크플로우 설명 문서는 NBMP 소스에 의해 구성되고 NBMP 워크플로우 관리자에 의해 인스턴스화될 수 있고, 세션 정보는 NBMP 워크플로우 관리자의 주소 정보를 포함할 수 있다.
실시예에서, 사용자 디바이스는 에지 인에이블러 클라이언트를 포함할 수 있다. 실시예에서, 에지 인에이블러 클라이언트는 에지 인에이블러 클라이언트(1107)에 대응할 수 있다.
도 15는 프로세스(1500)의 예시적인 블록들을 도시하고 있으나, 일부 구현에서, 프로세스(1500)는 도 15에 도시된 것들보다 추가 블록, 더 적은 블록, 상이한 블록, 또는 다르게 배열된 블록을 포함할 수 있다. 추가적으로, 또는 대안적으로, 프로세스(1500)의 블록들 중 둘 이상이 병렬로 수행될 수 있다.
또한, 제안된 방법은 프로세싱 회로(예를 들어, 하나 이상의 프로세서 또는 하나 이상의 집적 회로)에 의해 구현될 수 있다. 일 예에서, 하나 이상의 프로세서는 제안된 방법 중 하나 이상을 수행하기 위해 비일시적 컴퓨터 판독 가능형 매체에 저장된 프로그램을 실행한다.
위에서 설명된 기술은 컴퓨터 판독 가능 명령을 사용하여 컴퓨터 소프트웨어로서 구현될 수 있고 물리적으로 하나 이상의 컴퓨터 판독 가능형 매체에 저장될 수 있다.
본 개시의 실시예는 개별적으로 사용되거나 임의의 순서로 조합될 수 있다. 또한, 각각의 실시예(및 그 방법)는 프로세싱 회로(예를 들어, 하나 이상의 프로세서 또는 하나 이상의 집적 회로)에 의해 구현될 수 있다. 일 예에서, 하나 이상의 프로세서는 비일시적 컴퓨터 판독 가능형 매체에 저장된 프로그램을 실행한다.
전술한 개시 내용은 예시 및 설명을 제공하지만, 완전한 형태로 구현되거나 개시된 정확한 형태로 구현을 제한하도록 의도되지 않는다. 수정 및 변형은 상기 개시 내용에 비추어 가능하거나 구현의 실행으로부터 획득될 수 있다.
본 명세서에서 사용되는 바와 같이, 컴포넌트라는 용어는 하드웨어, 펌웨어, 또는 하드웨어와 소프트웨어의 조합으로 광범위하게 해석되도록 의도된다.
특징들의 조합이 청구범위에 인용되고 및/또는 명세서에 개시되더라도, 이러한 조합은 가능한 구현의 개시를 제한하도록 의도되지 않는다. 사실, 이들 특징 중 다수는 청구범위에 구체적으로 언급되지 않은 방식 및/또는 명세서에 개시되지 않은 방식으로 조합될 수 있다. 아래에 나열된 각 종속항은 하나의 청구항에만 직접적으로 의존할 수 있지만 가능한 구현의 개시는 청구항 세트의 다른 모든 청구항과 조합된 각 종속항을 포함한다.
여기에 사용된 어떤 요소, 행위 또는 지시도 그렇게 명시적으로 설명되지 않는 한 중요하거나 필수적인 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 사용된 관사 "a" 및 "an"은 하나 이상의 항목을 포함하도록 의도되고, "하나 이상"과 상호교환적으로 사용될 수 있다. 또한, 본 명세서에 사용된 바와 같이, 용어 "세트"는 하나 이상의 항목(예를 들어, 관련 항목, 관련되지 않은 항목, 관련 및 관련되지 않은 항목의 조합 등)을 포함하도록 의도되고, "하나 이상”과 상호 교환해서 사용될 수 있다. 하나의 항목만 의도된 경우 용어 "하나" 또는 유사한 언어가 사용된다. 또한, 본 명세서에서 사용된 바와 같이, "가지다", "가진다", "갖다" 등의 용어는 제한이 없는 용어로 의도된다. 또한, "~에 기초한"이라는 문구는 달리 명시적으로 언급되지 않는 한 "적어도 부분적으로 ~에 기초한"을 의미한다.

Claims (20)

  1. 동영상 전문가 그룹(Moving Picture Experts Group, MPEG) 네트워크 기반 미디어 프로세싱(Network Based Media Processing, NBMP)에서의 미디어 콘텐츠 프로세싱 방법으로서,
    상기 미디어 콘텐츠 프로세싱 방법은:
    애플리케이션 서버 상에서 동작하는 제1 애플리케이션이, 라이브 업링크 스트리밍을 위한 프레임워크(Framework for Live Uplink Streaming, FLUS) 세션을 시작하기 위해 상기 애플리케이션 서버와 별개의 사용자 디바이스 상에서 동작하는 제2 애플리케이션으로부터 라이브 세션 요청을 수신하는 단계;
    복수의 FLUS 싱크의 목록을 획득하는 단계;
    상기 복수의 FLUS 싱크 중에서 싱크 디바이스 상에서 동작하는 FLUS 미디어 싱크를 선택하는 단계 - 상기 싱크 디바이스는 상기 애플리케이션 서버 및 상기 사용자 디바이스와 별개임 - ;
    상기 FLUS 미디어 싱크와 관련된 NBMP 워크플로(workflow)를 시작하기 위해 NBMP 소스에 워크플로 요청을 전송하는 단계; 및
    상기 NBMP 워크플로 및 상기 FLUS 미디어 싱크를 사용하여 상기 FLUS 세션을 설정하기 위한 세션 정보를 포함하는 응답을 상기 제2 애플리케이션에 전송하는 단계
    를 포함하는 미디어 콘텐츠 프로세싱 방법.
  2. 제1항에 있어서,
    상기 애플리케이션 서버는 상기 NBMP 소스, NBMP 워크플로우 관리자, 및 적어도 하나의 미디어 프로세싱 엔티티를 포함하고,
    상기 싱크 디바이스는 FLUS 제어 싱크를 포함하고,
    여기서 상기 사용자 디바이스는 FLUS 제어 소스 및 FLUS 미디어 소스를 포함하는, 미디어 콘텐츠 프로세싱 방법.
  3. 제2항에 있어서,
    상기 NBMP 워크플로에 대응하는 워크플로 설명 문서는 상기 NBMP 소스에 의해 구성되고 상기 NBMP 워크플로 관리자에 의해 인스턴스화되며,
    여기서 상기 세션 정보는 상기 FLUS 제어 싱크에 대응하는 싱크 제어 정보 및 상기 FLUS 미디어 싱크에 대응하는 미디어 싱크 정보를 포함하는, 미디어 콘텐츠 프로세싱 방법.
  4. 제1항에 있어서,
    상기 애플리케이션 서버는 상기 NBMP 소스 및 NBMP 워크플로 관리자를 포함하며,
    상기 싱크 디바이스는 FLUS 제어 싱크 및 적어도 하나의 미디어 프로세싱 엔티티를 포함하고,
    상기 사용자 디바이스는 FLUS 제어 소스 및 FLUS 미디어 소스를 포함하는, 미디어 콘텐츠 프로세싱 방법.
  5. 제4항에 있어서,
    상기 FLUS 미디어 싱크는 상기 적어도 하나의 미디어 프로세싱 엔티티의 능력에 기초하여 선택되고,
    상기 워크플로 요청은 상기 FLUS 미디어 싱크의 주소 정보를 포함하고,
    상기 NBMP 워크플로에 대응하는 워크플로 설명 문서는 상기 NBMP 소스에 의해 구성되고 상기 적어도 하나의 미디어 프로세싱 엔티티에서 NBMP 워크플로 관리자에 의해 인스턴스화되고,
    상기 세션 정보는 상기 FLUS 제어 싱크에 대응하는 싱크 제어 정보 및 상기 FLUS 미디어 싱크에 대응하는 미디어 싱크 정보를 포함하는, 미디어 콘텐츠 프로세싱 방법.
  6. 제1항에 있어서,
    상기 애플리케이션 서버는 NBMP 소스를 포함하고,
    상기 싱크 디바이스는 FLUS 제어 싱크, NBMP 워크플로 관리자, 및 적어도 하나의 미디어 프로세싱 엔티티를 포함하고,
    상기 사용자 디바이스는 FLUS 제어 소스 및 FLUS 미디어 소스를 포함하는, 미디어 콘텐츠 프로세싱 방법.
  7. 제6항에 있어서,
    상기 FLUS 미디어 싱크는 상기 적어도 하나의 미디어 프로세싱 엔티티의 능력에 기초하여 선택되고,
    상기 워크플로 요청은 상기 FLUS 미디어 싱크의 주소 정보를 포함하고,
    상기 NBMP 워크플로에 대응하는 워크플로 설명 문서는 상기 NBMP 소스에 의해 구성되고 상기 적어도 하나의 미디어 프로세싱 엔티티에서 NBMP 워크플로 관리자에 의해 인스턴스화되고,
    상기 세션 정보는 상기 FLUS 제어 싱크에 대응하는 싱크 제어 정보 및 상기 FLUS 미디어 싱크에 대응하는 미디어 싱크 정보를 포함하는, 미디어 콘텐츠 프로세싱 방법.
  8. 제1항에 있어서,
    상기 싱크 디바이스는 FLUS 제어 싱크, NBMP 워크플로 관리자, 및 적어도 하나의 미디어 프로세싱 엔티티를 포함하고,
    상기 사용자 디바이스는 FLUS 제어 소스, FLUS 미디어 소스, 및 NBMP 소스를 포함하는, 미디어 콘텐츠 프로세싱 방법.
  9. 제8항에 있어서,
    상기 NBMP 워크플로에 대응하는 워크플로 설명 문서는 상기 NBMP 소스에 의해 구성되고 상기 NBMP 워크플로 관리자에 의해 인스턴스화되며,
    상기 세션 정보는 상기 NBMP 워크플로 관리자의 주소 정보를 포함하는, 미디어 콘텐츠 프로세싱 방법.
  10. 제1항에 있어서,
    상기 사용자 디바이스는 에지 인에이블러 클라이언트(edge enabler client)를 포함하는, 미디어 콘텐츠 프로세싱 방법.
  11. 동영상 전문가 그룹(Moving Picture Experts Group, MPEG) 네트워크 기반 미디어 프로세싱(Network Based Media Processing, NBMP)에서의 미디어 콘텐츠 프로세싱 장치로서,
    상기 미디어 콘텐츠 프로세싱 장치는:
    프로그램 코드를 저장하도록 구성된 적어도 하나의 메모리; 및
    상기 프로그램 코드를 판독하고 상기 프로그램 코드에 의해 지시된 대로 동작하도록 구성된 적어도 하나의 프로세서
    를 포함하며, 상기 프로그램 코드는:
    상기 적어도 하나의 프로세서로 하여금 애플리케이션 서버 상에서 동작하는 제1 애플리케이션이, 라이브 업링크 스트리밍을 위한 프레임워크(Framework for Live Uplink Streaming, FLUS) 세션을 시작하기 위해 상기 애플리케이션 서버와 별개의 사용자 디바이스 상에서 동작하는 제2 애플리케이션으로부터 라이브 세션 요청을 수신하게 하도록 구성된 수신 코드;
    상기 적어도 하나의 프로세서로 하여금 복수의 FLUS 싱크의 목록을 획득하게 도록 구성된 획득 코드;
    상기 적어도 하나의 프로세서로 하여금 상기 복수의 FLUS 싱크 중에서 싱크 디바이스 상에서 동작하는 FLUS 미디어 싱크를 선택하게 하도록 구성된 선택 코드 - 상기 싱크 디바이스는 상기 애플리케이션 서버 및 상기 사용자 디바이스와 별개임 - ;
    상기 적어도 하나의 프로세서로 하여금 상기 FLUS 미디어 싱크와 관련된 NBMP 워크플로를 시작하기 위해 NBMP 소스에 워크플로 요청을 전송하게 하도록 구성된 제1 전송 코드; 및
    상기 적어도 하나의 프로세서로 하여금 상기 NBMP 워크플로 및 상기 FLUS 미디어 싱크를 사용하여 상기 FLUS 세션을 설정하기 위한 세션 정보를 포함하는 응답을 상기 제2 애플리케이션에 전송하게 하도록 구성된 제2 전송 코드
    를 포함하는, 미디어 콘텐츠 프로세싱 장치.
  12. 제11항에 있어서,
    상기 애플리케이션 서버는 상기 NBMP 소스, NBMP 워크플로우 관리자, 및 적어도 하나의 미디어 프로세싱 엔티티를 포함하고,
    상기 싱크 디바이스는 FLUS 제어 싱크를 포함하고,
    여기서 상기 사용자 디바이스는 FLUS 제어 소스 및 FLUS 미디어 소스를 포함하는, 미디어 콘텐츠 프로세싱 장치.
  13. 제12항에 있어서,
    상기 NBMP 워크플로에 대응하는 워크플로 설명 문서는 상기 NBMP 소스에 의해 구성되고 상기 NBMP 워크플로 관리자에 의해 인스턴스화되며,
    여기서 상기 세션 정보는 상기 FLUS 제어 싱크에 대응하는 싱크 제어 정보 및 상기 FLUS 미디어 싱크에 대응하는 미디어 싱크 정보를 포함하는, 미디어 콘텐츠 프로세싱 장치.
  14. 제11항에 있어서,
    상기 애플리케이션 서버는 상기 NBMP 소스 및 NBMP 워크플로 관리자가 포함되며,
    상기 싱크 디바이스는 FLUS 제어 싱크 및 적어도 하나의 미디어 프로세싱 엔티티를 포함하고,
    상기 사용자 디바이스는 FLUS 제어 소스 및 FLUS 미디어 소스를 포함하는, 미디어 콘텐츠 프로세싱 장치.
  15. 제14항에 있어서,
    상기 FLUS 미디어 싱크는 상기 적어도 하나의 미디어 프로세싱 엔티티의 능력에 기초하여 선택되고,
    상기 워크플로 요청은 상기 FLUS 미디어 싱크의 주소 정보를 포함하고,
    상기 NBMP 워크플로에 대응하는 워크플로 설명 문서는 상기 NBMP 소스에 의해 구성되고 상기 적어도 하나의 미디어 프로세싱 엔티티에서 NBMP 워크플로 관리자에 의해 인스턴스화되고,
    상기 세션 정보는 상기 FLUS 제어 싱크에 대응하는 싱크 제어 정보 및 상기 FLUS 미디어 싱크에 대응하는 미디어 싱크 정보를 포함하는, 미디어 콘텐츠 프로세싱 장치.
  16. 제11항에 있어서,
    상기 애플리케이션 서버는 NBMP 소스를 포함하고,
    상기 싱크 디바이스는 FLUS 제어 싱크, NBMP 워크플로 관리자, 및 적어도 하나의 미디어 프로세싱 엔티티를 포함하고,
    상기 사용자 디바이스는 FLUS 제어 소스 및 FLUS 미디어 소스를 포함하는, 미디어 콘텐츠 프로세싱 장치.
  17. 제16항에 있어서,
    상기 FLUS 미디어 싱크는 상기 적어도 하나의 미디어 프로세싱 엔티티의 능력에 기초하여 선택되고,
    상기 워크플로 요청은 상기 FLUS 미디어 싱크의 주소 정보를 포함하고,
    상기 NBMP 워크플로에 대응하는 워크플로 설명 문서는 상기 NBMP 소스에 의해 구성되고 상기 적어도 하나의 미디어 프로세싱 엔티티에서 NBMP 워크플로 관리자에 의해 인스턴스화되고,
    상기 세션 정보는 상기 FLUS 제어 싱크에 대응하는 싱크 제어 정보 및 상기 FLUS 미디어 싱크에 대응하는 미디어 싱크 정보를 포함하는, 미디어 콘텐츠 프로세싱 장치.
  18. 제11항에 있어서,
    상기 싱크 디바이스는 FLUS 제어 싱크, NBMP 워크플로 관리자, 및 적어도 하나의 미디어 프로세싱 엔티티를 포함하고,
    상기 사용자 디바이스는 FLUS 제어 소스, FLUS 미디어 소스, 및 NBMP 소스를 포함하는, 미디어 콘텐츠 프로세싱 장치.
  19. 제18항에 있어서,
    상기 NBMP 워크플로에 대응하는 워크플로 설명 문서는 상기 NBMP 소스에 의해 구성되고 상기 NBMP 워크플로 관리자에 의해 인스턴스화되며,
    상기 세션 정보는 상기 NBMP 워크플로 관리자의 주소 정보를 포함하는, 미디어 콘텐츠 프로세싱 장치.
  20. 비 일시적 컴퓨터 판독 가능형 매체로서,
    동영상 전문가 그룹(Moving Picture Experts Group, MPEG) 네트워크 기반 미디어 프로세싱(Network Based Media Processing, NBMP)에서의 미디어 콘텐츠 프로세싱 장치의 적어도 하나의 프로세서에 의해 실행될 때, 적어도 하나의 프로세서가:
    애플리케이션 서버 상에서 동작하는 제1 애플리케이션이, 라이브 업링크 스트리밍을 위한 프레임워크(Framework for Live Uplink Streaming, FLUS) 세션을 시작하기 위해 상기 애플리케이션 서버와 별개의 사용자 디바이스 상에서 동작하는 제2 애플리케이션으로부터 라이브 세션 요청을 수신하고;
    복수의 FLUS 싱크의 목록을 획득하고;
    상기 복수의 FLUS 싱크 중에서 싱크 디바이스 상에서 동작하는 FLUS 미디어 싱크를 선택하고 - 상기 싱크 디바이스는 상기 애플리케이션 서버 및 상기 사용자 디바이스와 별개임 - ;
    상기 FLUS 미디어 싱크와 관련된 NBMP 워크플로를 시작하기 위해 NBMP 소스에 워크플로 요청을 전송하며; 그리고
    상기 NBMP 워크플로 및 상기 FLUS 미디어 싱크를 사용하여 상기 FLUS 세션을 설정하기 위한 세션 정보를 포함하는 응답을 상기 제2 애플리케이션에 전송하게 하는
    명령을 저장하는 비 일시적 컴퓨터 판독 가능형 매체.
KR1020227008463A 2020-07-10 2021-06-22 5g flus 제어를 통한 nbmp 배치 방법 KR20220045031A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US202063050517P 2020-07-10 2020-07-10
US63/050,517 2020-07-10
US202063066703P 2020-08-17 2020-08-17
US63/066,703 2020-08-17
US17/337,964 2021-06-03
US17/337,964 US11743512B2 (en) 2020-07-10 2021-06-03 Methods for NBMP deployments through 5G FLUS control
PCT/US2021/038473 WO2022010645A1 (en) 2020-07-10 2021-06-22 Methods for nbmp deployments through 5g flus control

Publications (1)

Publication Number Publication Date
KR20220045031A true KR20220045031A (ko) 2022-04-12

Family

ID=79173317

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227008463A KR20220045031A (ko) 2020-07-10 2021-06-22 5g flus 제어를 통한 nbmp 배치 방법

Country Status (6)

Country Link
US (2) US11743512B2 (ko)
EP (1) EP4028898A4 (ko)
JP (2) JP7449382B2 (ko)
KR (1) KR20220045031A (ko)
CN (1) CN114631085A (ko)
WO (1) WO2022010645A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240058980A (ko) * 2020-10-05 2024-05-03 삼성전자주식회사 에지 데이터 네트워크(edn)에서 에지 어플리케이션 서버(eas)로 서비스를 제공하는 방법 및 장치
US12010159B2 (en) * 2022-03-30 2024-06-11 Tencent America LLC Triggering of edge server discovery and instantiation by a 5GMS-aware application
US20230370825A1 (en) * 2022-05-10 2023-11-16 Electronics And Telecommunications Research Institute Method of performing dynamic edge application server (eas) instantiation triggering and apparatus for performing the same
US20240155008A1 (en) * 2022-11-07 2024-05-09 Tencent America LLC Method and apparatus for remote controlling uplink streaming in 5g networks

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8805110B2 (en) 2008-08-19 2014-08-12 Digimarc Corporation Methods and systems for content processing
US11303826B2 (en) * 2018-01-31 2022-04-12 Lg Electronics Inc. Method and device for transmitting/receiving metadata of image in wireless communication system
US11249796B2 (en) * 2018-10-03 2022-02-15 Samsung Electronics Co., Ltd. Method and apparatus for enhanced assertion management in cloud media processing
WO2020075096A1 (en) * 2018-10-09 2020-04-16 Telefonaktiebolaget Lm Ericsson (Publ) Apparatuses, methods, computer programs, and computer program products for flus remote control channels
US20210105338A1 (en) * 2020-01-06 2021-04-08 Intel Corporation Quality of service (qos) management with network-based media processing (nbmp)
US11496532B2 (en) * 2020-04-10 2022-11-08 Samsung Electronics Co., Ltd. Offering media services through network edge

Also Published As

Publication number Publication date
US20220014799A1 (en) 2022-01-13
WO2022010645A1 (en) 2022-01-13
US20230336791A1 (en) 2023-10-19
JP2023501639A (ja) 2023-01-18
JP2024059926A (ja) 2024-05-01
US11743512B2 (en) 2023-08-29
EP4028898A4 (en) 2022-11-16
JP7449382B2 (ja) 2024-03-13
CN114631085A (zh) 2022-06-14
EP4028898A1 (en) 2022-07-20

Similar Documents

Publication Publication Date Title
JP7455204B2 (ja) 5gエッジのメディア機能の検出のための方法
JP7449382B2 (ja) 5gのflus制御を介したnbmp展開のための方法
KR102499219B1 (ko) 동적 네트워크 인터페이스를 사용하는 상호운용가능 클라우드 기반 미디어 처리
US11356534B2 (en) Function repository selection mode and signaling for cloud based processing
US11196778B2 (en) NBMP workflow management in 5G flus
US20240214432A1 (en) Method for edge application server discovery or instantiation by an application provider to run media streaming and services on 5g networks
JP7497529B2 (ja) ダイナミックシーン更新を含む5gエッジサーバ/クラウド上でar/mr処理を実行することによって5gデバイスにar/mrアプリケーションを提供するための手順
US11388067B2 (en) Systems and methods for network-based media processing (NBMP) for describing capabilities
US11601491B2 (en) Network-based media processing (NBMP) workflow management direct access in 5G framework for live uplink streaming (FLUS)
CN112689192B (zh) 媒体处理和流传输的方法、系统以及存储介质
US20220263923A1 (en) Function repository selection mode and signaling for cloud based processing
JP2023525711A (ja) クラウドワークフロー入出力のためのプロトコル特性をシグナリングする方法
KR20230113394A (ko) 5g 네트워크들에서의 에지 서버들 사이의 애플리케이션컨텍스트 전송을 위한 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal