KR20220029470A - 공간 인식 멀티미디어 라우터 시스템 및 방법 - Google Patents
공간 인식 멀티미디어 라우터 시스템 및 방법 Download PDFInfo
- Publication number
- KR20220029470A KR20220029470A KR1020210113899A KR20210113899A KR20220029470A KR 20220029470 A KR20220029470 A KR 20220029470A KR 1020210113899 A KR1020210113899 A KR 1020210113899A KR 20210113899 A KR20210113899 A KR 20210113899A KR 20220029470 A KR20220029470 A KR 20220029470A
- Authority
- KR
- South Korea
- Prior art keywords
- multimedia stream
- multimedia
- data
- media server
- server computer
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 52
- 230000002123 temporal effect Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 9
- 230000001143 conditioned effect Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 31
- 238000004891 communication Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000005457 optimization Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 230000033001 locomotion Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 238000000547 structure data Methods 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
- H04L45/3065—Route determination based on the nature of the carried application for real time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/308—Route determination based on user's profile, e.g. premium users
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
- H04N7/152—Multipoint control units therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
공간 인식 멀티미디어 라우터 시스템은 클라이언트 장치로부터의 인입 멀티미디어 스트림을 포함하는 인입 데이터를 수신 및 분석하고, 클라이언트 장치로부터 수신된 인입 데이터에 기초하여 개별 클라이언트 장치에 대한 아웃바운드 멀티미디어 스트림을 적응시키도록 구성된 적어도 하나의 미디어 서버 컴퓨터를 포함한다. 인입 멀티미디어 스트림에는 가상 환경 내의 엘리먼트가 포함된다. 아웃바운드 멀티미디어 스트림은 가상 환경 내의 인입 멀티미디어 스트림의 소스와 대응하는 사용자 그래픽 표현 사이의 공간 관계를 기술하는 사용자 우선순위 데이터 및 공간 방향 데이터를 기반으로 개별 클라이언트 장치에 맞게 조정된다.
Description
(관련 출원들에 대한 상호 참조)
본 출원은 "가상 실재(Virtual Presence)와의 가상 환경에서의 상호작용을 가능하게 하는 시스템 및 방법"이라는 제하로 이것과 함께 출원된 동시 계속 미국 특허 출원 번호 XX/XXX,ZZZ의 효익을 주장하며, 이는 여기에 참조로 포함된다.
(기술분야)
본 개시는 일반적으로 컴퓨터 시스템에 관한 것이고, 보다 구체적으로는 멀티미디어 라우터 시스템 및 방법에 관한 것이다.
화상 회의는 여러 사용자 간의 원격 통신을 가능하게 하며, 복수의 위치에 있는 사람들을 위한 비교적 저렴하고 빠른 통신 도구가 되고 있다. 비디오 회의는 광대역 네트워크의 광범위한 배포, 비디오 압축 기술의 발전, 더 낮은 인프라 요구 사항과 저렴한 비용으로 웹 기반 비디오 통신을 구현하기 위한 접근 방식의 가용성 증가로 인해 최근 인기를 얻었다.
예를 들어, 화상 회의를 가능하게 하는 그러한 접근 방식 중 하나는 메시(피어 투 피어) 인프라이며, 여기서 각 클라이언트 장치는 멀티미디어 스트림을 다른 모든 클라이언트 장치로 보낸다. 이는 중간 인프라가 필요하지 않지만 클라이언트 장치의 빠른 대역폭 과부하와 제한된 처리 용량으로 인해 확장성이 낮은 저비용 솔루션을 가져온다.
또 다른 예시적인 접근 방식은 중앙 미디어 서버에서 구현되는 멀티포인트 제어 장치(MCU)로, 클라이언트 장치로부터 모든 멀티미디어 스트림을 수신하고 이를 모든 스트림을 디코딩하여 재인코딩되고 모든 클라이언트 장치로 전송되는 하나의 스트림으로 결합하여, P2P 모델에 비해 대기 시간 및 대역폭 문제를 감소시킨다. 그러나 MCU 구현은 복잡한 경향이 있으며 미디어 서버에서 많은 양의 컴퓨팅 리소스가 필요하다.
또 다른 예시적 접근 방식은 WebRTC(Web Real-Time Communication) 화상 회의 표준에서 사용되는 SFU(Selective Forwarding Unit)이다. WebRTC 표준은 비디오 통신 엔드포인트를 연결하기 위한 플러그인의 필요성을 방지하면서, 일반적으로 음성 통화, 화상 채팅 및 P2P(피어 투 피어) 파일 공유 응용 프로그램과 같은 브라우저 간 응용 프로그램을 지원한다. 중앙 미디어 서버 컴퓨터에서 구현될 수 있는 SFU는 서버에서 집중적인 미디어 처리(예를 들어, 디코딩 및 재인코딩)를 수행하지 않고 비디오 스트림의 비디오 패킷을 다수의 참가자 장치로 라우팅하도록 구성된 소프트웨어 프로그램을 포함한다. 따라서 SFU는 네트워크를 통해 클라이언트 장치로부터 모든 인코딩된 미디어 스트림을 수신한 다음, 후속 디코딩 및 표시를 위해 스트림을 각 참가자의 클라이언트 장치에 선택적으로 포워딩한다. SFU의 포워딩의 선택성은 멀티미디어 스트림의 포워딩과 연관된 대역폭의 최적화에 사용될 수 있는 복수의 파라미터에 기초할 수 있고, 그 결과 더 높은 QoE(Quality of Experience)를 가져올 수 있다. 예를 들어, SFU는 수신된 멀티미디어 스트림에서 말하는 참가자를 식별할 수 있고, 높은 비트 레이트의 멀티미디어 스트림을 청취 참가자에게 포워딩할 수 있다. 반면에 SFU는 청취 참가자의 저비트 레이트 멀티미디어 스트림을 다른 참가자에게 전송하여, 어느 정도의 대역폭 및 QoE 개선을 달성할 수 있다.
상술한 접근 방식을 통한 것과 같은 일반적인 화상 회의 도구의 한 가지 제한은 중앙 미디어 또는 라우팅 서버 또는 참가 클라이언트 장치 중 어느 하나의 대역폭 및 처리 용량의 제한을 고려한 제한된 확장성이다. 따라서 멀티미디어 라우팅 및 포워딩 작업 동안 네트워크 대역폭 및 컴퓨팅 리소스를 추가로 최적화하는 동시에 관련 참가자에 대해 높은 QoE를 유지할 수 있는 새로운 접근 방식이 필요하다.
이 요약은 아래의 상세한 설명에서 더 자세히 설명하는 단순화된 형태로 개념 선택을 소개하기 위해 제공된다. 이 요약은 청구된 주제의 주요 특징을 식별하기 위한 것이 아니며 청구된 주제의 범위를 판정하는 데 도움을 주기 위해 사용될 의도도 아니다.
본 개시의 일 양태에서, 공간 인식 멀티미디어 라우터 시스템이 제공된다. 상기 공간 인식 멀티미디어 라우터 시스템은 클라이언트 장치들 간의 데이터 교환을 관리하는 데이터 교환 관리 모듈을 구현하는 명령어를 저장하는 메모리 및 적어도 하나의 프로세서를 포함하는 적어도 하나의 미디어 서버 컴퓨터를 포함한다. 일 실시 예에서, 시스템은 복수의 클라이언트 장치의 사용자의 하나 이상의 그래픽 표현(사용자 그래픽 표현이라고도 함)에 대한 액세스를 가능하게 하는 적어도 하나의 미디어 서버 컴퓨터에 연결된 적어도 하나의 가상 환경을 구현하는 하나 이상의 컴퓨팅 장치를 더 포함한다. 상기 가상 환경 내의 가상 엘리먼트 및 적어도 하나의 클라이언트 장치로부터의 입력 데이터를 고려하면서 상기 가상 환경 내에서부터 복수의 멀티미디어 스트림(예를 들어, 2D 비디오 스트림, 3D 비디오 스트림, 오디오 스트림, 또는 이러한 스트림이나 기타 미디어 스트림의 조합과 같은)이 생성된다. 따라서, 상기 입력 데이터는 복수의 가상 엘리먼트 및 상기 클라이언트 장치의 대응하는 사용자의 적어도 하나의 그래픽 표현을 포함하는 상기 가상 환경 내에서 수신 및 결합된다. 상기 복수의 클라이언트 장치는 네트워크를 통해 상기 적어도 하나의 미디어 서버 컴퓨터에 연결되고 멀티미디어 스트림을 포함하는 데이터를 상기 적어도 하나의 미디어 서버 컴퓨터로 전송하도록 구성된다.
상기 적어도 하나의 미디어 서버는 클라이언트 장치로부터의 인입 멀티미디어 스트림을 포함하는 인입 데이터를 수신 및 분석하고, 상기 인입 데이터에 기초하여 개별 클라이언트 장치에 대한 아웃바운드 멀티미디어 스트림을 조정하도록 구성된다. 상기 인입 멀티미디어 스트림은 적어도 하나의 가상 환경 내의 엘리먼트를 포함한다. 상기 아웃바운드 멀티미디어 스트림은, 예를 들어, 상기 적어도 하나의 가상 환경 내에서의 대응하는 사용자 그래픽 표현과 상기 인입 멀티미디어 스트림의 소스 사이의 공간 관계를 기술하는 공간 방향 데이터 및 사용자 우선순위 데이터에 기초하여 상기 개별 클라이언트 장치에 맞게 조정된다.
일 실시 예에서, 상기 적어도 하나의 미디어 서버 컴퓨터는 상기 클라이언트 장치로부터 멀티미디어 스트림을 구비하는 인커밍 데이터를 분석 및 처리하고, 상기 적어도 하나의 가상 환경 내로부터의 엘리먼트를 구비하는 상기 복수의 클라이언트 장치로부터 수신된 상기 인커밍 데이터에 기초하여 상기 아웃바운드 멀티미디어 스트림의 포워딩을 평가 및 최적화하는 것을 포함하는 데이터 교환 관리를 수행한다. 상기 인입 데이터는 사용자 우선순위 데이터 및 상기 대응하는 사용자 그래픽 표현과 상기 인입 멀티미디어 스트림 사이의 공간 관계와 연관된다.
일부 실시 예에서, 상기 적어도 하나의 가상 환경은 네트워크를 통해 상기 적어도 하나의 미디어 서버 컴퓨터에 연결된 적어도 하나의 전용 서버 컴퓨터에서 호스팅된다. 다른 실시예에서, 상기 적어도 하나의 가상 환경은 피어 투 피어 인프라에서 호스팅되고 상기 적어도 하나의 미디어 서버 컴퓨터를 통해 중계된다. 상기 가상 환경은 사용자가 서로 상호작용할 수 있는 실시간 비디오 통신을 호스팅하는 데 사용될 수 있으며, 무엇보다도 회의, 작업, 교육, 쇼핑, 엔터테인먼트 및 서비스에 사용될 수 있다. 일부 실시 예에서, 상기 가상 환경은 현실 세계 위치의 가상 복제본이고, 상기 현실 세계 위치는 상기 현실 세계 위치의 상기 가상 복제본에 추가 데이터를 제공하는 복수의 센서를 포함한다.
일부 실시 예에서, 상기 적어도 하나의 미디어 서버 컴퓨터는 라우팅 토폴로지를 사용한다. 다른 실시 예에서, 상기 적어도 하나의 미디어 서버 컴퓨터는 미디어 처리 토폴로지를 사용한다. 다른 실시 예에서, 상기 적어도 하나의 미디어 서버 컴퓨터는 포워딩 서버 토폴로지를 사용한다. 다른 실시 예에서, 상기 적어도 하나의 미디어 서버 컴퓨터는 다른 적절한 멀티미디어 서버 라우팅 토폴로지, 또는 미디어 처리 및 포워딩 서버 토폴로지, 또는 다른 적절한 서버 토폴로지를 사용한다.
상기 적어도 하나의 미디어 서버 컴퓨터는 라우팅 토폴로지를 사용하는 일부 실시 예에서, 상기 적어도 하나의 미디어 서버 컴퓨터는 SFU(Selective Forwarding Unit) 토폴로지, 또는 TURN(Traversal Using Relay NAT), 공간 분석된 미디어 서버 토폴로지(SAMS), 또는 일부 기타 멀티미디어 서버 라우팅 토폴로지를 사용한다.
상기 적어도 하나의 미디어 서버 컴퓨터가 미디어 처리 토폴로지를 사용하는 실시예에서, 상기 적어도 하나의 미디어 서버 컴퓨터는 압축, 암호화, 재암호화, 복호화, 디코딩, 조합, 개선, 믹싱, 향상, 증강, 컴퓨팅, 조작 또는 인코딩, 또는 이들의 조합을 포함하는 인입 데이터에 대한 하나 이상의 작업을 수행하도록 구성된다. 추가 실시 예에서, 인입 데이터를 조합하는 것은 사용자 그래픽 표현의 개별 멀티미디어 스트림이 스트리밍되는 개별 타일을 포함하는 모자이크 형태로 수행된다.
상기 적어도 하나의 미디어 서버 컴퓨터가 포워딩 서버 토폴로지를 사용하는 실시 예에서, 상기 적어도 하나의 미디어 서버 컴퓨터는 멀티포인트 제어 유닛(MCU), 또는 클라우드 미디어 믹서, 또는 클라우드 3D 렌더러로서 구성된다.
SAMS로서 구성되는 상기 적어도 하나의 미디어 서버 컴퓨터의 실시 예에서, 상기 적어도 하나의 미디어 서버 컴퓨터는 사용자 우선순위 및 공간 관계(예를 들어, 대응하는 사용자 그래픽 표현과 상기 인입 멀티미디어 스트림의 소스 사이의 공간 관계와 같은)에 관련된 각각의 클라이언트 장치의 상기 인입 데이터를 분석 및 처리하도록 구성된다. 그러한 실시 예에서, 상기 적어도 하나의 미디어 서버 컴퓨터는 그러한 데이터에 기초하여 사용자 우선순위 및/또는 공간 관계를 판정하도록 추가로 구성될 수 있다. 특정 실시 예에서, 상기 인입 데이터는: 메타 데이터, 우선순위 데이터, 데이터 클래스, 공간 구조 데이터, 장면 그래프, 3차원 위치, 방향 또는 이동*locomotion) 정보, 화자 또는 청자 상태 데이터, 가용성 상태 데이터, 이미지 데이터, 스케일러블 비디오 코덱 기반 비디오, 또는 이들의 조합, 중 하나 이상을 포함하다. 추가 실시 예에서, 아웃바운드 멀티미디어 스트림을 조정하는 것은(예를 들어, SAMS를 구현하는 적어도 하나의 미디어 서버 컴퓨터에 의해 구현되는 바와 같이) 상기 하나 이상의 수신 클라이언트 장치에 대한 대역폭 및 컴퓨팅 리소스 활용을 최적화하는 것을 포함한다. 상기 아웃바운드 멀티미디어 스트림의 조정은 또한 시간적 특징, 공간적 특징, 품질, 또는 색상 특징, 또는 이들의 조합을 조정하는 것을 포함할 수 있다. 또 다른 실시 예에서, 상기 SAMS는 시간적 특징, 공간적 특징, 품질 및 색상 특징에 대해 상기 미디어를 수정, 업스케일링 또는 다운스케일링함으로써 각 수신 클라이언트 장치로의 상기 아웃바운드 데이터 스트림의 포워딩을 최적화한다.
본 개시의 다른 양태에서, 공간 인식 멀티미디어 라우터 방법이 제공된다. 상기 공간 인식 멀티미디어 라우터 방법은 적어도 하나의 미디어 서버 컴퓨터의 메모리에 데이터 및 복수의 클라이언트 장치 간의 데이터 교환을 관리하는 클라이언트 장치 데이터 교환 관리 모듈을 구현하는 명령을 제공하는 단계를 포함한다. 상기 방법은 적어도 하나의 미디어 서버 컴퓨터에 의해 상기 복수의 클라이언트 장치로부터의 인입 멀티미디어 스트림을 포함하는 인입 데이터를 수신함으로써 진행되며, 여기서 상기 인입 데이터는 사용자 우선순위 데이터 및 공간 배향 데이터와 연관된다. 예를 들어, 상기 공간 배향 데이터는 예를 들어 대응하는 사용자 그래픽 표현과 상기 인입 멀티미디어 스트림의 하나 이상의 소스 사이의 공간 관계를 설명할 수 있다. 그 후, 상기 방법은 데이터 교환 관리 모듈에 의해 데이터 교환 관리를 수행함으로써 계속된다. 일 실시 예에서, 상기 데이터 교환 관리는 상기 가상 환경 내에서 그래픽 엘리먼트를 포함하는 상기 복수의 클라이언트 장치로부터 상기 인입 데이터를 분석 및/또는 처리하는 단계; 및 상기 복수의 클라이언트 장치로부터 수신된 상기 인입 데이터에 기초하여 상기 아웃바운드 멀티미디어 스트림을 조정하는 단계;를 포함한다. 상기 방법은 조정된 상기 아웃바운드 멀티미디어 스트림을 하나 이상의 수신 클라이언트 장치로 포워딩함으로써 종료되며, 여기서 상기 조정된 아웃바운드 멀티미디어 스트림은 상기 수신 클라이언트 장치(들)에서(예를 들어, 사용자 그래픽 표현으로 표시되는 사용자에게) 표시되도록 구성된다.
일부 실시 예에서, 상기 방법은 상기 아웃바운드 멀티미디어 스트림을 포워딩할 때 라우팅 토폴로지, 또는 미디어 처리 토폴로지, 또는 포워딩 서버 토폴로지, 또는 다른 적절한 멀티미디어 서버 라우팅 토폴로지, 또는 미디어 처리 및 포워딩 서버 토폴로지, 또는 기타 적절한 서버 토폴로지를 사용하는 단계를 더 포함한다.
일부 실시 예에서, 라우팅 토폴로지에서, 상기 적어도 하나의 미디어 서버 컴퓨터는 SFU(Selective Forwarding Unit) 토폴로지, TURN(Traversal Using Relay NAT), SAMS(spatially Analyzed Media Server Topology), 또는 다른 멀티미디어 서버 라우팅 토폴로지를 사용한다.
일부 실시 예에서, 미디어 처리 토폴로지에서, 상기 적어도 하나의 미디어 서버 컴퓨터는 압축, 암호화, 재암호화, 복호화, 디코딩, 조합, 개선, 믹싱, 향상, 증강, 컴퓨팅, 조작 또는 인코딩, 또는 이들의 조합을 포함하는 상기 인입 데이터에 대한 하나 이상의 미디어 처리 작업을 수행하도록 구성된다.
일부 실시 예에서, 상기 방법은 포워딩 서버 토폴로지를 사용할 때 멀티포인트 제어 유닛(MCU: Multipoint Control Unit), 클라우드 미디어 믹서, 및 클라우드 3D 렌더러 중 하나 이상을 활용하는 단계를 더 포함한다.
일부 실시 예에서, SAMS 구성을 사용하여, 상기 방법은 사용자 우선순위 및 공간 관계(예를 들어, 상기 대응하는 사용자 그래픽 표현과 인입 멀티미디어 스트림의 소스 사이의 거리 관계 또는 기타 공간 관계)에 관련된 각각의 클라이언트 장치의 상기 인입 데이터를 분석 및 처리하는 단계를 더 포함한다. 그러한 실시 예에서, 상기 방법은 그러한 데이터에 기초하여 사용자 우선순위 및/또는 공간 관계를 판정하는 단계를 더 포함할 수 있다. 상기 인입 데이터는: 메타 데이터, 우선순위 데이터, 데이터 클래스, 공간 구조 데이터, 장면 그래프, 3차원 위치, 방향 또는 이동 정보, 화자 또는 청자 상태 데이터, 가용성 상태 데이터, 이미지 데이터 및 스케일러블 비디오 코덱 기반 비디오, 또는 이들의 조합중 하나 이상을 포함한다.
일부 실시 예에서, 상기 아웃바운드 멀티미디어 스트림(예를 들어, SAMS를 구현하는 상기 적어도 하나의 미디어 서버 컴퓨터에 의해 구현됨)을 조정하는 것은 대역폭을 최적화하는 단계 및 상기 하나 이상의 수신 클라이언트 장치에 대한 리소스 활용을 계산하는 단계를 포함한다. 상기 아웃바운드 멀티미디어 스트림의 조정은 또한 시간적 특징, 공간적 특징, 품질, 또는 색상 특징, 또는 이들의 조합을 조정하는 단계를 포함할 수 있다. 추가 실시 예에서, 상기 SAMS는 시간적 특징, 공간적 특징, 품질, 및 색상 특징에 대해 상기 미디어를 수정, 업스케일링 또는 다운스케일링함으로써 상기 아웃바운드 데이터 스트림을 각각의 수신 클라이언트 장치로 포워딩하는 단계를 최적화한다.
본 개시의 다른 양태에서, 컴퓨터 판독가능 매체는 하나 이상의 컴퓨팅 디바이스로 하여금 여기에 설명된 임의의 기술을 수행하도록 구성되는 명령을 그 위에 저장한다. 일 실시 예에서, 적어도 하나의 컴퓨터 판독가능 매체는 프로세서 및 메모리를 구비한 적어도 하나의 미디어 서버 컴퓨터로 하여금: 적어도 하나의 미디어 서버 컴퓨터에 의해 복수의 클라이언트 장치로부터의 인입 멀티미디어 스트림을 포함하는 인커밍 데이터를 수신하는 단계로서, 여기서 상기 인입 데이터는 하나 이상의 사용자 그래픽 표현 및 적어도 하나의 가상 환경의 적어도 하나의 엘리먼트 사이의 공간 관계를 기술하는 공간 방향 데이터와 연관되는 상기 수신하는 단계; 상기 복수의 클라이언트 장치로부터의 상기 인입 데이터를 분석하는 단계; 상기 복수의 클라이언트 장치로부터 수신된 상기 인커밍 데이터에 기초하여 상기 아웃바운드 멀티미디어 스트림을 조정하는 단계; 및 조정된 상기 아웃바운드 멀티미디어 스트림을 수신 클라이언트 장치로 포워딩하는 단계로서, 상기 조정된 아웃바운드 멀티미디어 스트림은 상기 수신 클라이언트 장치에서 디스플레이되도록 구성되는 상기 포워딩하는 단계;를 수행하도록 구성된 명령어를 저장한다.
상기 요약은 본 개시의 모든 양태의 완전한 목록을 포함하지 않는다. 본 개시 내용은 아래의 상세한 설명에 개시되고 특히 출원서와 함께 출원된 청구 범위에서 지적된 것들뿐만 아니라 위에 요약된 다양한 양태의 모든 적합한 조합으로부터 실시될 수 있는 모든 시스템 및 방법을 포함하는 것으로 고려된다. 이러한 조합은 상기 요약에서 구체적으로 언급되지 않은 특별한 이점을 갖는다. 본 개시의 다른 특징 및 이점은 첨부된 도면 및 이하의 상세한 설명으로부터 명백해질 것이다.
본 개시의 특정 피처, 양태 및 이점은 다음의 설명 및 첨부 도면과 관련하여 더 잘 이해될 것이다.
도 1은 종래의 SFU(Selective Forwarding Unit) 라우팅 토폴로지의 개략도를 도시한다.
도 2는 일 실시 예에 따른 공간 인식 멀티미디어 라우터 시스템의 개략도를 도시한다.
도 3은 일 실시 예에 따른 SAMS로서 구성된 적어도 하나의 미디어 서버 컴퓨터를 포함하는 시스템의 개략도를 도시한다.
도 4a는 가상 환경의 개략도를 도시한다.
도 4b는 일 실시 예에 따른, 본 개시의 SAMS 토폴로지를 사용하는 가상 환경 내에서 말하는 사용자로부터의 아웃바운드 미디어 스트림의 포워딩의 개략도를 도시한다.
도 5a-5b는 일 실시 예에 따라 SAMS가 복수의 클라이언트 장치의 미디어 스트림을 조합하는 사용 시나리오의 개략도를 도시한다.
도 6은 일 실시 예에 따른 본 개시의 공간 인식 멀티미디어 라우터 방법의 블록도를 도시한다.
도 1은 종래의 SFU(Selective Forwarding Unit) 라우팅 토폴로지의 개략도를 도시한다.
도 2는 일 실시 예에 따른 공간 인식 멀티미디어 라우터 시스템의 개략도를 도시한다.
도 3은 일 실시 예에 따른 SAMS로서 구성된 적어도 하나의 미디어 서버 컴퓨터를 포함하는 시스템의 개략도를 도시한다.
도 4a는 가상 환경의 개략도를 도시한다.
도 4b는 일 실시 예에 따른, 본 개시의 SAMS 토폴로지를 사용하는 가상 환경 내에서 말하는 사용자로부터의 아웃바운드 미디어 스트림의 포워딩의 개략도를 도시한다.
도 5a-5b는 일 실시 예에 따라 SAMS가 복수의 클라이언트 장치의 미디어 스트림을 조합하는 사용 시나리오의 개략도를 도시한다.
도 6은 일 실시 예에 따른 본 개시의 공간 인식 멀티미디어 라우터 방법의 블록도를 도시한다.
다음의 설명에서, 다양한 실시 예를 도시하는 도면을 참조한다. 또한, 다수의 예를 참조하여 다양한 실시 예를 하기에 설명한다. 실시 예는 청구된 주제의 범위를 벗어나지 않고 설계 및 구조의 변경을 포함할 수 있음을 이해해야 한다.
본 개시는 복수의 클라이언트 장치로부터 입력 데이터를 수신하고, 상기 입력 데이터에 대한 데이터 교환 관리를 구현하도록 구성된 공간 인식 멀티미디어 라우터 시스템 및 방법을 제공한다. 상기 입력 데이터는 복수의 가상 엘리먼트 및 상기 클라이언트 장치의 대응하는 사용자의 적어도 하나의 그래픽 표현을 포함하는 가상 환경 내에서 수신 및 조합된다. 상기 가상 환경은 사용자가 서로 상호작용할 수 있는 실시간 비디오 통신을 호스팅하는 데 사용될 수 있으며, 무엇보다도 회의, 작업, 교육, 쇼핑, 엔터테인먼트 및 서비스에 사용될 수 있다. 상기 데이터 교환 관리는 상기 클라이언트 장치로부터 적어도 멀티미디어 스트림(예를 들어, 2D 비디오 스트림, 3D 비디오 스트림, 오디오 스트림, 또는 이러한 스트림 또는 다른 미디어 스트림의 조합)을 포함하는 인입 데이터를 분석 및 처리하는 단계, 상기 적어도 하나의 가상 환경 내로부터의 엘리먼트들을 포함하는 상기 복수의 클라이언트 장치로부터 수신된 상기 인입 데이터에 기초하여 상기 아웃바운드 멀티미디어 스트림들의 포워딩 및 평가를 최적화하는 단계를 포함한다. 상기 인입 데이터는 사용자 우선순위 데이터 및 상기 대응하는 사용자 그래픽 표현과 상기 인입 멀티미디어 스트림 간의 공간 관계와 연관된다. 따라서, 본 발명의 시스템 및 방법은 상기 클라이언트 장치에 의해 수신된 멀티미디어 스트림의 라우팅이 가상 환경 내에서 발생하는 동시에 수신 클라이언트 장치의 최적의 선택이 수행되도록 입력 데이터 및 아웃바운드 멀티미디어 스트림의 포워딩을 최적화할 수 있고, 대역폭과 컴퓨팅 리소스의 효율성이 동시에 이루어지도록 할 수 있다. 이러한 효율성은 본 발명의 공간 인식 멀티미디어 라우터 시스템 및 방법을 가상 환경에 액세스하는 많은 수(예를 들어, 수백 또는 수천)의 사용자를 포함하는 다중 사용자 화상 회의의 처리를 위한 실행 가능하고 효과적인 옵션으로 개시한다.
도 1은 종래의 SFU(Selective Forwarding Unit) 라우팅 토폴로지(100)의 개략도를 도시한다.
예시적인 종래의 SFU 라우팅 토폴로지(100)는 실시간 비디오 애플리케이션에서 비디오 포워딩을 제공하기 위한 SFU(108)를 구현하는 컴퓨터 프로그램을 저장하는 메모리(106) 및 적어도 하나의 프로세서(104)를 갖는 적어도 하나의 미디어 서버 컴퓨터(102)를 포함한다. 복수의 클라이언트 장치(110)는 SFU(108)를 통해 실시간으로 통신할 수 있고, 여기서 SFU(108)는 하나 이상의 파라미터에 기초하여 실시간 전송 프로토콜(RTP) 비디오 패킷을 포함하는 아웃바운드 미디어 스트림을 클라이언트 장치(110)에 전달한다. 예를 들어, 클라이언트 장치 B는 클라이언트 장치 A와 실시간 통신하는 동안 현재 화자를 나타낼 수 있다. 클라이언트 장치 B는 클라이언트 장치 A에 둘 이상의 미디어 스트림을 전송하고, 여기서 예를 들어, 하나의 미디어 스트림이 고 해상도(B)(112)에서 전송되고 하나의 미디어 스트림이 저해상도(B)(114)에서 전송된다. 또한, 이 예에서, 클라이언트 장치 A는 또한 고해상도(A)(116)에서 하나의 미디어 스트림 및 저해상도(A)(118)에서 하나의 미디어 스트림과 같이 클라이언트 장치(B)로 2개 이상의 미디어 스트림을 전송할 수 있다. 클라이언트 장치 A가 클라이언트 장치 B의 사용자에 대해 그 순간에 청취하는 유일한 패시브 사용자에 의해 사용될 수 있기 때문에, 클라이언트 장치 B는 클라이언트 장치 A로부터 저해상도(A)(118) 미디어 스트림을 수신할 수 있다. 한편, 클라이언트 장치 B의 사용자가 현재 말하고 있는 활성 사용자일 수 있기 때문에 클라이언트 장치 A는 클라이언트 장치 B로부터 고해상도(B)(112) 미디어 스트림을 수신할 수 있다. 적어도 하나의 미디어 서버 컴퓨터(102) 및 2개 이상의 클라이언트 장치(110)는 하나 이상의 유선 또는 무선 통신 네트워크(예를 들어, LAN(Local Area Network), WAN(Wide Area Network), 인터넷, 경로, 링크 및 라우터, 게이트웨이, 방화벽, 스위치 등과 같은 임의의 중간 노드 네트워크 하드웨어와 같은)와 같은 네트워크를 통해 연결할 수 있다. 비디오 애플리케이션은 예를 들어 다자간 화상 회의 애플리케이션을 구현하기 위해 WebRTC 표준을 활용할 수 있다.
SFU 라우팅 토폴로지(100)는 클라이언트 장치(110)의 상태에 관계없이 각 클라이언트 장치(110)의 각각의 미디어 스트림을 포워딩해야 하고; 미디어 스트림에 대한 데이터 작업(예를 들어, 증강, 향상, 조합 등)과 같은 미디어 수정을 활성화하지 않고; 및 아웃바운드 미디어 스트림의 우선순위를 지정하고 최적화하기 위해 제한된 파라미터를 고려하여 시스템에 대해 차선의 네트워크 대역폭 및 리소스 최적화를 가져오고 궁극적으로 멀티미디어 스트림을 동시에 상호작용하고 볼 수 있는 사용자의 수를 제한하는 것;과 같은 제한을 포함할 수 있다. 마지막으로, 기존의 SFU 라우팅 토폴로지(100)는 가상 환경에서 화상 통신 및 사회적 상호작용과 같은 상호작용을 가능하게 하는 데 최적은 아니다.
도 2는 일 실시예에 따른 공간 인식 멀티미디어 라우터 시스템(200)의 개략도를 도시한다.
공간 인식 멀티미디어 라우터 시스템(200)은 네트워크(212)를 통해 적어도 하나의 미디어 서버 컴퓨터에 연결된 클라이언트 장치(210) 간의 데이터 교환을 관리하는 데이터 교환 관리 모듈(208)을 구현하는 명령어를 저장하는 메모리(206) 및 적어도 하나의 프로세서(204)를 포함하는 적어도 하나의 미디어 서버 컴퓨터(202)를 포함한다. 공간 인식 멀티미디어 라우터 시스템(200)은 가상 환경(214)에서 복수의 클라이언트 장치(210)의 사용자(216)의 하나 이상의 사용자 그래픽 표현에 대한 액세스를 가능하게 하는 적어도 하나의 미디어 서버 컴퓨터(202)에 연결된 적어도 하나의 가상 환경 서버(220)를 더 포함할 수 있다. 하나 이상의 사용자(216)로부터 라이브 피드 데이터 및 가상 환경 내에서 그래픽 엘리먼트를 획득하는 카메라(218)에 의해 획득된 멀티미디어 스트림을 포함하는 복수의 멀티미디어 스트림이 가상 환경(214) 내에서 생성된다.
적어도 하나의 미디어 서버 컴퓨터(202)는 복수의 클라이언트 장치(210)로부터 수신된 입력 데이터를 저장, 처리, 라우팅 및 포워딩하는 것과 같은 본 명세서에 개시된 기술을 수행하기 위한 리소스(예를 들어, 네트워크 액세스 능력과 함께 적어도 하나의 프로세서(204) 및 메모리(206))를 포함하는 서버 컴퓨팅 장치이다. 적어도 하나의 미디어 서버 컴퓨터(202)는 가상 환경(214) 내로부터의 그래픽 엘리먼트를 포함하는 클라이언트 장치(210)로부터의 멀티미디어 스트림을 포함하는 인입 데이터를 분석 및 처리하는 단계, 및 아웃바운드 멀티미디어 스트림을 조정하는 단계를 포함하는 데이터 교환 관리 모듈(208)을 통해 클라이언트 장치 데이터 교환 관리를 수행한다. 일 실시 예에서, 이것은 복수의 클라이언트 장치(210)로부터 수신된 인입 데이터에 기초하여 아웃바운드 멀티미디어 스트림들의 포워딩을 평가하고 최적화하는 단계를 포함한다. 아웃바운드 멀티미디어 스트림들은 인입 데이터, 예를 들어 적어도 하나의 가상 환경 내에서 인입 멀티미디어 스트림의 소스 및 대응하는 사용자 그래픽 표현 사이의 공간 관계를 설명하는 예를 들어 사용자 우선순위 데이터 및 공간 방향 데이터에 기초하여 개벌 클라이언트 장치에 대해 조정된다. 일 실시 예에서, 인입 데이터는 하나 이상의 사용자 그래픽 표현과 적어도 하나의 가상 환경(214)의 작어도 하나의 엘리먼트 사이의 공간 관계와 연관된다.
적어도 하나의 가상 환경(214)은 일부 실시 예에서 현실 세계 위치의 가상 복제본이다. 현실 세계 위치는 가상 환경(214)을 통해 현실 세계 위치의 가상 복제본에 현실 세계 데이터를 제공하는 복수의 센서를 포함할 수 있다. 센서는 캡처된 데이터를 네트워크(212)를 통해 가상 환경 서버(220)에 보낼 수 있고, 이는 적어도 하나의 가상 환경에서 현실 세계 엘리먼트의 대응하는 가상 복제본을 업데이트, 강화 및 동기화하기 위해 적어도 하나의 미디어 서버(202)에 의해 이용될 수 있다. 또한, 하나 이상의 미디어 서버(202)는 센서에 의해 캡처된 현실 세계 데이터와 가상 환경(214)의 가상 데이터를 가상 환경(214)으로 병합하여 현실 세계 데이터를 가상 환경으로 증강하도록 추가로 구성될 수 있다.
본 개시에서, "강화"라는 용어는 다중 소스 데이터를 기반으로 가상 복제본에 추가 속성을 제공하는 행위를 설명하는 데 사용된다. 가상 복제본을 강화하는 것은 가상 복제본에 이전에 없었을 수 있는 하나 이상의 새로운 형태의 데이터로 가상 복제본을 업데이트하는 특별한 형태로 간주될 수 있다. 예를 들어, 가상 복제본을 강화하는 것은 복수의 장치에서 감지 메커니즘으로부터 캡처된 현실 세계 데이터를 제공하는 것을 의미할 수 있다. 추가적인 현실 세계 데이터는 예를 들어, 비디오 데이터, 온도 데이터, 실시간 에너지 소비 데이터, 실시간 물소비 데이터, 속도 또는 가속도 데이터 등을 포함할 수 있다.
일 실시 예에서, 적어도 하나의 가상 환경(214)은 적어도 하나의 프로세서(222) 및 가상 환경(214)을 구현하는 메모리(224)를 포함하는 적어도 하나의 가상 환경 서버 컴퓨터(220)에서 호스팅된다. 다른 실시 예에서, 적어도 하나의 가상 환경(214)은 P2P(Peer-to-Peer) 인프라에서 호스팅되고, 적어도 하나의 미디어 서버 컴퓨터(202)를 통해 복수의 클라이언트 장치(210)로 중계된다.
적어도 하나의 가상 환경(214)의 배열은 회의(예를 들어, 가상 회의실), 작업(예를 들어, 가상 사무실 공간), 교육(예를 들어, 가상 교실), 쇼핑(예룰 들어, 가상 상점), 엔터테인먼트(예를 들어, 노래방, 이벤트 홀 또는 경기장, 극장, 나이트클럽, 스포츠 경기장 또는 스타디움, 박물관, 유람선, 비디오 게임 등) 및 서비스(예를 들어, 호텔, 여행사 또는 레스토랑 예약 또는 주문, 정부 기관 서비스 등)을 위한 것과 같은 하나 이상의 테마에 연관될 수 있다. 동일한 및/또는 상이한 테마로부터의 가상 환경(214)의 조합은 가상 환경 클러스터를 형성할 수 있으며, 이는 수백 또는 수천 개의 가상 환경을 포함할 수 있다(예를 들어, 복수의 가상 교실은 가상 학교의 일부일 수 있음). 가상 환경(214)은 가상 환경(214)의 테마와 연관된 물리적 배치 및 시각적 외관을 포함하는 2D 또는 3D 가상 환경일 수 있으며, 이는 사용자의 선호도 또는 필요에 따라 사용자에 의해 맞춤화될 수 있다. 사용자는 가상 환경(214)에 삽입될 수 있고 2차원 또는 3차원 가상 환경(214)과 그래픽적으로 조합될 수 있는 그래픽 표현을 통해 가상 환경(214)에 액세스할 수 있다.
가상 환경(214) 각각은 적어도 하나의 가상 환경 서버 컴퓨터(220) 또는 P2P 인프라에 의해 대응하는 리소스(예를 들어, 메모리, 네트워크 및 컴퓨팅 파워)가 제공될 수 있다. 적어도 하나의 가상 환경(214)은 클라이언트 장치(210)를 통해 그래픽 사용자 인터페이스를 통해 하나 이상의 사용자(216)에 의해 액세스될 수 있다. 예를 들어, WebRTC 표준을 이용하고,선택된 가상 환경(214)을 실행하고 그 안에서 복수의 상호작용을 가능하게 하기 위해 필요한 애플리케이션 데이터 및 명령을 제공하는 그래픽 사용자 인터페이스가 다운로드 가능한 클라이언트 애플리케이션 또는 웹 브라우저 애플리케이션에 포함될 수 있다. 더욱이, 각각의 가상 환경(214)은 대응하는 사용자 그래픽 표현을 통해 필요한 데이터 및/또는 서비스를 제공함으로써 가상 환경(214) 내에서 사용자를 도울 수 있는 하나 이상의 인간 또는 인공 지능(AI) 호스트 또는 어시스턴트를 포함할 수 있다. 예를 들어, 인간 또는 AI 은행 서비스 점원은 사용자가 요구하는 대로 프레젠테이션, 양식, 목록 등의 형태로 필요한 정보를 제공하여 가상 은행 사용자를 지원할 수 있다.
일부 실시 예에서, 사용자 그래픽 표현은 배경이 제거된 사용자 업로드 또는 제3자 소스 사진과 같은 하나 이상의 입력 이미지로부터 구성될 수 있는 사용자 3D 가상 컷아웃이거나; 또는 실시간 2D, 스테레오 또는 깊이 이미지 또는 비디오 데이터와 같은 입력 데이터 또는 사용자의 실시간 비디오 스트림, 배경이 제거되지 않은 비디오, 또는 배경이 제거된 비디오를 포함하는 카메라로부터 획득한 라이브 비디오 스트림 데이터 피드의 3D 비디오 데이터와 같은 입력 데이터를 기반으로 생성될 수 있는 배경이 제거된 사용자 실시간 3D 가상 컷아웃;일 수 있다. 일부 실시 예에서, 사용자 그래픽 표현은 다각형 구조를 이용하여 렌더링 및 디스플레이될 수 있다. 이러한 다각형 구조는 비디오를 지원하는 가상 프레임으로 사용되는 쿼드 구조 또는 더 복잡한 3D 구조일 수 있다. 또 다른 실시 예에서, 하나 이상의 사용자 그래픽 표현이 가상 환경(214) 내의 3차원 좌표에 삽입되고 그 안에서 그래픽으로 조합된다.
본 개시에서, "사용자 3D 가상 컷아웃"이라는 용어는 사용자 업로드 또는 제3자 소스 2D 사진으로부터 구축된 사용자의 가상 복제본을 가리킨다. 사용자 3D 가상 컷아웃은 사용자 업로드 또는 제3자 소스 2D 사진을 입력 데이터로 사용하여 머신 비전 기술을 통한 3D 가상 재구성 프로세스를 통해 생성되어 배경이 제거된 사용자의 3D 메쉬 또는 3D 포인트 클라우드를 생성한다. 본 개시에서, "사용자 실시간 3D 가상 컷아웃"이라는 용어는 카메라로부터 획득한 실시간 2D 또는 3D 라이브 비디오 스트림 데이터 피드를 기반으로 사용자 배경을 제거한 후의 사용자의 가상 복제본을 가리킨다. 사용자 실시간 3D 가상 컷아웃은 배경이 제거된 사용자의 3D 메쉬 또는 3D 포인트 클라우드를 생성하여 사용자 라이브 데이터 피드를 입력 데이터로 사용하는 머신 비전 기술을 통한 3D 가상 재구성 프로세스를 통해 생성된다. 본 개시에서 "배경이 제거된 비디오"라는 용어는 클라이언트 장치로 스트리밍되는 비디오를 가리키며, 이 비디오에 대해 배경 제거 프로세스가 수행되어 사용자만 볼 수 있도록 한 다음 화면의 다각형 구조를 사용하여 수신 클라이언트 장치상에 표시되도록 한다. 본 개시에서 "배경이 제거되지 않은 비디오"라는 용어는 클라이언트 장치에 스트리밍되는 비디오를 가리키며, 여기서 비디오는 카메라 캡처를 충실하게 나타내어 사용자와 그의 배경을 볼 수 있고 다각형 구조를 활용하여 수신 클라이언트 장치 상에 표시되도록 한다.
P2P 인프라는 적절한 API(application programming interface)를 통해 가상 환경(214)에서 클라이언트 장치(210) 사이의 실시간 통신을 가능하게 하는 적절한 P2P 통신 프로토콜을 사용하여 실시간 상호작용 및 그의 동기화를 가능하게 할 수 있다. 적절한 P2P 통신 프로토콜의 예는 표준, 프로토콜 및 JavaScript API의 모음인 WebRTC 통신 프로토콜일 수 있으며, 이는 조합하여 피어 클라이언트 장치(210) 간의 P2P 오디오, 비디오 및 데이터 공유를 가능하게 한다. P2P 인프라를 사용하는 클라이언트 장치(210)는 예를 들어 하나 이상의 렌더링 엔진을 사용하여 라이브 세션의 실시간 3D 렌더링을 수행할 수 있다. 예시적인 렌더링 엔진은 플러그인을 사용하지 않고 임의의 호환되는 웹 브라우저 내에서 2D 및 3D 그래픽을 렌더링하기 위한 JavaScript API인 WebGL 기반 3D 엔진일 수 있으며, 이는 적어도 하나의 클라이언트 장치(210)(예를 들어, 하나 이상의 그래픽 처리 유닛(GPU))의 하나 이상의 프로세서에 의한 물리 및 이미지 처리 및 효과의 가속화된 사용을 허용한다. 또한, P2P 인프라를 사용하는 클라이언트 장치(210)는 하나 이상의 적절한 컴퓨터 비전 라이브러리를 통해 이미지 및 비디오 처리 및 머신 러닝 컴퓨터 비전 기술을 수행할 수 있다. 적절한 컴퓨터 비전 라이브러리의 예로는 주로 실시간 컴퓨터 비전 작업을 위해 구성된 프로그래밍 함수의 라이브러리인 OpenCV가 있다.
일부 실시 예에서, 적어도 하나의 미디어 서버 컴퓨터(202)는 라우팅 토폴로지를 사용한다. 다른 실시 예에서, 적어도 하나의 미디어 서버 컴퓨터(202)는 미디어 처리 토폴로지를 사용한다. 다른 실시 예에서, 적어도 하나의 미디어 서버 컴퓨터(202)는 포워딩 서버 토폴로지를 사용한다. 다른 실시 예에서, 적어도 하나의 미디어 서버 컴퓨터(202)는 다른 적절한 멀티미디어 서버 라우팅 토폴로지, 또는 미디어 처리 및 포워딩 서버 토폴로지, 또는 다른 적절한 서버 토폴로지를 사용한다. 적어도 하나의 미디어 서버 컴퓨터(202)에 의해 사용되는 토폴로지는 클라이언트 장치 및/또는 적어도 하나의 미디어 서버 컴퓨터의 처리 용량뿐만 아니라 이용되는 네트워크 인프라의 용량에 따를 수 있다.
일부 실시 예에서, 미디어 처리 토폴로지에서, 적어도 하나의 미디어 서버 컴퓨터(202)는 압축, 암호화, 재암호화, 복호화, 디코딩, 조합, 개선, 믹싱, 향상, 증강, 컴퓨팅, 조작, 인코딩 또는 이들의 조합을 포함하는 인입 데이터에 대해 하나 이상의 미디어 처리 동작을 수행하도록 구성된다. 따라서, 미디어 처리 토폴로지에서 적어도 하나의 미디어 서버 컴퓨터(202)는 인입 데이터를 라우팅하고 포워딩할 뿐만 아니라 클라이언트 장치(210)로 아웃바운드 멀티미디어 스트림을 확장하고 그렇지 않으면 변조하는 복수의 미디어 처리 동작을 수행하도록 구성된다.
일부 실시 예에서, 포워딩 서버 토폴로지에서, 적어도 하나의 미디어 서버 컴퓨터(202)는 멀티포인트 제어 유닛(MCU), 또는 클라우드 미디어 믹서, 또는 클라우드 3D 렌더러로서 구성된다. MCU로서, 적어도 하나의 미디어 서버 컴퓨터(202)는 클라이언트 장치로부터 모든 멀티미디어 스트림을 수신하고 모든 스트림을 디코딩하고 재인코딩하고 모든 클라이언트 장치(210)로 전송되는 하나의 스트임으로 모든 스트림을 조합하도록 구성된다. 클라우드 미디어 믹서로서, 적어도 하나의 미디어 서버 컴퓨터(202)는 다양한 클라이언트 장치(210) 및 적어도 하나의 가상 환경(214)과 같은 다른 멀티미디어 소스(예를 들어, 오디오 및 비디오) 중에서 선택하고, 클라이언트 장치(210)를 위해 처리된 출력 멀티미디어 스트림을 생성하기 위해 입력 데이터 멀티미디어 스트림을 푸티지 및/또는 특별한 노력을 추가하는 것과 함께 입력 데이터 멀티미디어 스트림을 혼합하도록 구성된다. 시각 효과는 예를 들어 단순한 믹스 및 소거(wipe)로부터 정교한 효과에 이르기까지 다양할 수 있다. 클라우드 3D 렌더러로서, 적어도 하나의 미디어 서버 컴퓨터(202)는 클라이언트 장치(210)로 다시 전송되는 최종 애니메이션 멀티미디어 스트림을 생성하기 위해 다수의 컴퓨터 계산을 통해 가상 환경으로부터 3D 장면을 계산하도록 구성된다.
라우팅 토폴로지에서, 적어도 하나의 미디어 서버 컴퓨터(202)는 최상의 경로인 인터페이스를 선택하기 위해 인터넷 프로토콜(IP) 라우팅 테이블을 통해 수행될 수 있는 멀티미디어 스트림을 보낼 곳(예를 들어, 클라이언트 장치(210) 중 하나 이상)을 결정하도록 구성된다. 라우팅 테이블에서의 그러한 라우팅 결정은 수신 클라이언트 장치(210)의 최적의 선택이 수행되도록 우선순위 데이터 및 대응하는 사용자 그래픽 표현과 인입 멀티미디어 스트림 사이의 공간 관계를 고려하여 데이터 교환 관리 모듈(208)에 저장된 규칙에 기초한다. 일부 실시 예에서, 라우팅 토폴로지로서, 적어도 하나의 미디어 서버 컴퓨터는 SFU(Selective Forwarding Unit) 토폴로지, TURN(Traversal Using Relay NAT) 토폴로지, 또는 SAMS(spatially Analyzed Media Server Topology), 또는 일부 다른 멀티미디어 서버 라우팅 토폴로지를 이용한다.
도 1을 참조하여 설명된 SFU는 WebRTC 화상 회의 표준에 사용되며, 이는 일반적으로 음성 통화, 화상 채팅 및 P2P 파일 공유 응용 프로그램과 같은 브라우저 간 응용 프로그램을 지원하는 동시에 비디오 통신 엔드포인트를 연결하기 위한 플러그인의 필요성을 방지한다. SFU는 디코딩 및 재인코딩하는 단계, 클라이언트 장치로부터 인코딩된 모든 미디어 스트림을 수신하는 단계, 그런 다음 스트림을 디코딩 및 표시를 위해 각각의 참가자로 선택적으로 포워딩하는 단계와 같은 집중적인 미디어 처리 작업을 수행하지 않고 비디오 스트림의 비디오 패킷을 여러 참가자 장치로 라우팅 및 포워딩하도록 구성된 소프트웨어 프로그램을 포함한다.
적어도 하나의 미디어 서버 컴퓨터(202)가 클라이언트 장치(210) 사이의 연결을 구축할 수 없는 상황에 적합할 수 있는 TURN 토폴로지는 NAT가 Network Address Translation를 나타내는 STUN(Session Traversal Utilities for NAT)의 확장이다. NAT는 패킷이 트래픽 라우팅 장치를 통해 전송되는 동안 패킷의 IP 헤더에 있는 네트워크 주소 정보를 수정하여 인터넷 프로토콜(IP) 주소 공간을 다른 주소 공간으로 다시 매핑하는 방법이다. 따라서 NAT는 사설 IP 주소가 인터넷과 같은 네트워크에 액세스할 수 있도록 하고, 라우팅 장치와 같은 단일 장치가 인터넷과 사설 네트워크 사이에서 에이전트 역할을 할 수 있도록 한다. NAT는 대칭 또는 비대칭일 수 있다. 클라이언트 장치를 연결하는 최적의 경로를 찾도록 구성된 ICE(Interactive Connectivity Establishment)라는 프레임워크는 대칭 또는 비대칭 NAT가 필요한지 여부를 판정할 수 있다. 대칭 NAT는 IP 주소를 사설에서 공개적으로 또는 그 반대로 변환하는 작업을 수행할 뿐만 아니라 포트도 변환한다. 반면에 비대칭 NAT는 STUN 서버를 사용하여 클라이언트가 공개 IP 주소와 뒤에 있는 NAT 유형을 검색할 수 있도록 하며, 이는 연결을 구축하는 데 사용될 수 있다. 다수의 경우, STUN은 연결 설정 중에만 사용될 수 있으며 해당 세션이 설정되면 클라이언트 장치 간에 데이터가 흐르기 시작할 수 있다. TURN은 대칭 NAT의 경우에 사용될 수 있으며, 처리 및/또는 처리되지 않은 데이터가 클라이언트 장치 간에 중계되는 동안 연결이 설정된 후 미디어 경로에 남아 있을 수 있다.
도 3은 일 실시예에 따른 SAMS(302)로서 구성된 적어도 하나의 미디어 서버 컴퓨터를 포함하는 시스템(300)의 개략도를 도시한다. 도 3의 일부 엘리먼트는 도 2와 유사한 엘리먼트를 참조할 수 있고, 따라서 동일한 참조 번호를 사용할 수 있다.
SAMS(302)는 각 클라이언트 장치의 인입 데이터(304)를 분석하고 처리하도록 구성된다. 인입 데이터(304)는 일부 실시 예에서 사용자 우선순위 및 가상 환경에서의 대응하는 사용자 그래픽 표현과 멀티미디어 스트림 사이의 거리 관계와 관련될 수 있다. 인입 데이터(302)는 메타 데이터(306), 우선순위 데이터(308), 데이터 클래스(310), 공간 구조 데이터(312), 장면 그래프(미도시), 위치, 방향 또는 이동 데이터를 포함하는 3차원 데이터(314), 사용자 가용성 상태 데이터(예를 들어, 활성 또는 수동 상태)(316), 이미지 데이터(318), 미디어(320), 및 스케일러블 비디오 코덱(SVC) 기반 비디오 데이터(322), 또는 이들의 조합 중 하나 이상을 포함한다. SVC 기반 비디오 데이터(322)는 2개 이상의 스트림, 해상도당 각각의 스트림을 전송할 필요 없이 상이한 해상도를 포함하는 데이터를 클라이언트 장치에 의해 전송하는 것을 가능하게 할 수 있다.
인입 데이터(304)는 클라이언트 장치에 의해 전송되며, 이는 가상 환경에서 실행되는 클라이언트 장치에 의해 실행되는 애플리케이션의 맥락에서, SAMS(302)에 의해 인입 데이터 작업(324) 및 데이터 포워딩 최적화(326)를 수행하는 데 사용되는 인입 데이터(304)를 생성한다. 따라서 SAMS(302)는 가상 환경에서 실행되고 SAMS(302)에 대한 처리 효율성을 생성하는 애플리케이션에 관해 클라이언트에 의해 전송된 인입 데이터에 데이터가 이미 포함되어 있기 때문에, 가상 환경, 사용자 그래픽 표현 간의 거리 관계, 가용성 상태 등에 대한 정보를 저장할 필요가 없다. 이러한 효율성으로 인해 SAMS(302)는 멀티미디어 스트림을 클라이언트 장치로 전송하기 전에 SAMS(302)가 데이터 작업, 라우팅 및 포워딩 최적화에만 리소스를 집중할 수 있으므로, SAMS가 가상 환경에 액세스하는 많은 수의(예를 들어, 수백 또는 수천) 사용자를 포함하는 다중 사용자 화상 회의의 처리에 대한 실행 가능하고 효과적인 선택사항이 되도록 할 수 있다. 대안적으로, 인입 데이터(304)는 데이터 포워딩 계산이 이미 수행된 사전 처리된 공간 포워딩 지침을 포함할 수 있다. 이러한 상황에서, SAMS(302)는 추가 계산을 수행하지 않고 멀티미디어 스트림을 클라이언트 장치에 전송하기 위해 이 지침을 간단히 사용할 수 있다.
일부 실시 예에서, SAMS를 구현하는 적어도 하나의 미디어 서버 컴퓨터에 의해 구현되는 인입 데이터 작업(326)은 인입 데이터에 대한 압축, 암호화, 재암호화, 복호화, 개선, 혼합, 향상, 증강, 컴퓨팅, 조작, 인코딩, 또는 그의 조합을 포함할 수 있다. 이러한 인입 데이터 동작(326)은 멀티미디어 스트림의 소스 및 나머지 사용자 그래픽 표현과의 사용자 그래픽 표현의 우선순위 및 공간 관계(예를 들어, 거리 관계)에 따라 클라이언트 인스턴스마다 수행될 수 있다.
일부 실시 예에서, SAMS를 구현하는 적어도 하나의 미디어 서버 컴퓨터에 의해 구현되는 데이터 포워딩 최적화(326)는 대역폭을 최적화하고 하나 이상의 수신 클라이언트 장치에 대한 리소스 활용을 계산하는 것을 포함한다. 추가 실시 예에서 SAMS는 시간적 특징, 공간적 특징, 품질, 및 색상 특징에 대한 미디어를 수정, 업스케일링 또는 다운스케일링함으로써 각각의 수신 클라이언트 장치로의 아웃바운드 데이터 스트림의 포워딩을 최적화한다. 시간적 특징에 대한 인입 데이터의 그러한 수정, 업스케일링 또는 다운스케일링은 예를 들어 프레임 레이트를 변경하는 것을 포함할 수 있고; 공간적 특징은 예를 들어 이미지 크기를 가리킬 수 있고; 품질은 예를 들어 다른 압축 또는 인코딩 기반 품질을 가리키고; 색상은 예를 들어 색상 해상도 및 범위를 가리킨다. 이러한 작업은 특정 수신 클라이언트 장치 사용자의 공간, 3차원 방향, 이러한 인입 데이터와의 거리 및 우선순위 관계를 기반으로 수행되며 대역폭 및 컴퓨팅 리소스의 최적화에 기여할 수 있다.
우선순위 데이터는 예를 들어 화자 또는 청자 상태 데이터와 연관되며, 화자로부터의 하나 이상의 멀티미디어 스트림은 청자의 멀티미디어 스트림보다 더 높은 우선순위 점수를 갖는다. 공간 관계는 가상 멀티미디어 스트림의 소스와 나머지 사용자 그래픽 표현에 대한 사용자 그래픽 표현의 방향과 거리 사이의 직접적인 상관관계를 연관시키는 것을 포함한다. 따라서, 공간 관계는 가상 멀티미디어 스트림의 소스에 더 가깝고 마주하는 사용자 그래픽 표현에 더 높은 해상도 또는 더 향상된 멀티미디어 스트림을 제공하고, 멀티미디어 스트림의 소스에서 더 멀리 떨어져 있고 부분적으로 마주하거나 마주하지 않는 사용자 그래픽 표현에 더 낮은 해상도 또는 덜 향상된 멀티미디어 스트림을 제공하는 것에 연관된다. 임의의 마주하는 각도 및 헤드의 배향 및 멀티미디어 스트림 소스로부터의 임의의 거리에서 멀티미디어 스트림의 소스를 부분적으로 마주하고, 사용자에 의해 수신된 멀티미디어 스트림의 품질에 직접적인 영향을 주는 사용자 그래픽 표현과 같이 그 사이의 임의의 조합이 적용될 수 있다.
멀티미디어 스트림의 소스는 예를 들어 가상 환경 내에서 발생하는 가상 화상 회의에서 말하는 사용자, 가상 환경 내에서 토론 또는 회의에 참여하는 연사 패널, 웨비나, 엔터테인먼트 이벤트, 쇼 등일 수 있고, 여기서 적어도 한 명의 사용자는 화자이다. 사용자가 말하는 것(예를 들어, 연설, 웨비나, 회의 등)의 예에서, 복수의 사용자가 화자에 귀를 기울이는 가상 환경 내에 위치할 수 있다. 일부 사용자는 화자와 대면하거나 부분적으로 대면하거나 대면하지 않을 수 있으며, 이는 각 사용자의 우선순위 및 그에 따른 수신된 멀티미디어 스트림의 품질에 영향을 미친다. 그러나, 다른 실시 예에서, 멀티미디어 스트림은 다른 사용자 그래픽 표현에서 오는 것이 아니라 가상 애니메이션, 증강 현실 가상 객체, 이벤트 또는 장소의 사전 녹화 또는 라이브 비디오, 애플리케이션 그래픽 표현, 비디오 게임 등으로부터 오며, 여기서 데이터 동작은 이러한 멀티미디어 스트림에 대한 특정 수신 클라이언트 장치 사용자의 공간, 3차원 방향, 거리 및 우선순위 관계에 기초하여 수행된다.
도 4a는 일 실시 예에 따른, 본 개시의 SAMS 토폴로지가 사용될 수 있는 가상 환경(400)의 개략도를 도시한다.
가상 환경(400)은 5개의 사용자 그래픽 표현(402), 즉 사용자 그래픽 표현A-E를 포함하며, 여기서 사용자 그래픽 표현 A는 화자를 나타내고 사용자 그래픽 표현 B-E는 각각 가상 환경(400)의 다른 3D 좌표 위치에 위치하고 다른 관점(PoV)과 함께 다른 얼굴과 머리 방향을 가진 4명의 청자를 나타낸다. 각각의 사용자 그래픽 표현(402)은 가상 환경(404) 및 도 3을 참조하여 개시된 SAMS(302)와 같은 본 개시의 SAMS 토폴로지를 사용하는 적어도 하나의 미디어 서버 컴퓨터에 연결된 클라이언트 장치를 통해 가상 환경(404)에서 상호작용하고 있는 대응하는 사용자와 연관된다.
사용자 그래픽 표현 A가 말하는 동안 사용자 그래픽 표현 B-E는 서로 다른 3D 좌표와 함께 개별 방향(예를 들어, 동일하거나 다른 방향) 및 해당 PoVs에서 각각 마주할 수 있다. 예를 들어, 사용자 그래픽 표현 B는 사용자 그래픽 표현 A에 가장 가까운 위치에 있으며 사용자 그래픽 표현 A를 직접 보고 있다. 사용자 그래픽 표현 C는 사용자 그래픽 표현 B보다 약간 더 멀리 위치하며 부분적으로 사용자 그래픽 표현 A 방향으로 보고 있다. 사용자 그래픽 표현 D는 사용자 그래픽 표현 A에서 가장 멀리 떨어져 위치하며 부분적으로 사용자 그래픽 표현 A의 방향을 보고 있을 수 있다. 사용자 그래픽 표현 E는 사용자 그래픽 표현 B만큼 사용자 그래픽 표현 A에 가깝지만 사용자 그래픽 표현 A와 다른 방향으로 볼 수 있다.
따라서 SAMS는 5개의 사용자 그래픽 표현 각각으로부터의 인입 데이터를 캡처하고, 입력 데이터 작업 및 데이터 포워딩 최적화를 수행하고, 결과 멀티미디어 스트림을 5개의 클라이언트 장치에 선택적으로 보낸다. 따라서, 각각의 클라이언트 장치는 그들 자신의 입력 데이터를 전송하고 대응하여 하나 이상의 멀티미디어 스트림(예를 들어, 4개의 멀티미디어 스트림으로서, 도 4a에서 서로의 사용자 그래픽 표현 중 하나)을 수신하며, 여기서 수신된 각각의 멀티미디어 스트림은, 특정 수신 클라이언트 장치 사용자의 공간, 3차원 방향, 거리 및 이러한 인입 데이터에 대한 우선 순위 관계를 기반으로 대응하는 사용자 그래픽 표현에 대해 개별적으로 조정되어(예를 들어, 관리 및 최적화되어) 최적의 대역폭 및 컴퓨팅 리소스를 달성하도록 한다.
도 4b는 일 실시 예에 따라 본 개시의 SAMS(406) 토폴로지를 사용하는 도 4a의 가상 환경(404)의 5개의 사용자 그래픽 표현으로부터 적응된 아웃바운드 미디어 스트림의 포워딩의 개략도를 도시한다. SAMS(406)는 도 4a의 사용자 그래픽 표현에 대응하는 클라이언트 장치(408)로부터의 멀티미디어 스트림을 포함하는 인입 데이터를 분석하고 최적화할 수 있고, 도 4a의 적어도 하나의 가상 환경(404) 내로부터의 엘리먼트들을 포함하는 복수의 클라이언트 장치들(408)로부터 수신된 인입 데이터에 기초하여 아웃바운드 멀티미디어 스트림들의 포워딩을 평가 및 최적화한다. 상기 데이터 동작 및 최적화는 SAMS(406)의 데이터 교환 관리 모듈(410)에 의해 수행될 수 있다.
각 클라이언트 장치(408)는 자신의 입력 데이터를 SAMS(402)로 보내고 이에 따라 다른 클라이언트 장치(408)의 4개의 멀티미디어 스트림을 수신한다. 따라서, 클라이언트 장치(A)는, 그것이 화자에 의해 사용되기 때문에, 높은 우선순위 데이터를 가지고 인입 미디어 스트림을 SAMS(402)에 보내고, 대응하는 4개의 클라이언트 장치(408)로부터 4개의 낮은 우선순위 멀티미디어 스트림(B-E)을 수신한다.
사용자 그래픽 표현 B는 사용자 그래픽 표현 A에 가장 가까운 위치에 있고 사용자 그래픽 표현 A를 직접 보고 있으므로, 클라이언트 장치 B는 나머지 사용자와 비교할 때 가장 높은 해상도로 클라이언트 A로부터 멀티미디어 스트림을 수신하고, 나머지 멀티미디어 스트림 C-E를 각각 사용자 그래픽 표현 C-E와의 공간 관계에 기초하여 자신들의 해상도로 수신하고, 자신의 대응하는 멀티미디어 스트림 B를 전송한다.
클라이언트 장치 C는 사용자 그래픽 표현 C가 사용자 그래픽 표현 B보다 약간 더 떨어져 있고 부분적으로 사용자 그래픽 표현 A의 방향을 보고 있기 때문에, 클라이언트 장치 A로부터 세 번째로 높은 해상도를 수신하고, 나머지 멀티미디어 스트림 B-E를 각각 사용자 그래픽 표현 B-E와의 공간 관계에 기초하여 자신들의 해상도로 수신하고, 자신의 대응하는 멀티미디어 스트림 C를 보낸다.
클라이언트 장치 D는 대응하는 사용자 그래픽 표현 D가 사용자 그래픽 표현 A에서 가장 멀리 떨어져 있고 부분적으로 사용자 그래픽 표현 A 방향을 바라보고 있기 때문에, 클라이언트 장치 A로부터 가장 낮은 해상도를 수신하고, 나머지 멀티미디어 스트림 B, C 및 E를 각각 사용자 그래픽 표현 B, C 및 E와의 공간 관계에 기초하여 자신들의 해상도로 수신하고, 자신의 대응하는 멀티미디어 스트림 D를 전송한다.
클라이언트 장치 E는 사용자 그래픽 표현 E가 사용자 그래픽 표현 B만큼 사용자 그래픽 표현 A에 가깝지만 그 사용자 그래픽 표현 A와 다른 방향을 보고 있을 수 있기 때문에, 두 번째로 높은 해상도를 수신하고, 나머지 멀티미디어 스트림 B-D를 각각 사용자 그래픽 표현 B-D와의 공간 관계에 기초하여 자신들의 해상도로 수신하고, 자신의 대응하는 멀티미디어 스트림 E를 전송한다. 그러나 SAMS(402)의 구성에 따라, 사용자 그래픽 표현 E가 사용자 그래픽 표현 A에서 약간 멀리 바라보고 있음에도 불구하고, 클라이언트 장치 E도 클라이언트 장치 B의 해상도와 동일한 해상도를 수신할 수 있다. 이는, 사용자 그래픽 표현 E가 사용자 그래픽 표현 A를 직접 보고 있지 않더라도 사용자 그래픽 표현 E가 갑자기 사용자 그래픽 표현 A를 바라보기 위해 가상 세계(404) 내에서 자신의 방향을 돌릴 수 있고, 그리고 사용자 그래픽 표현 A로부터의 멀티미디어 스트림이 없거나 사용자 그래픽 표현 A로부터의 멀티미디어 스트림이 서로 가까운 거리에도 불구하고 저해상도인 경우, 대응하는 클라이언트 장치 E의 경험 품질은 방해가 되거나 최적이 아닐 수 있기 때문이다. 따라서, 본 실시 예에서는, 클라이언트 장치 B가 수신한 것과 동일한 해상도를 고려하는 것이 더 효율적일 수 있다.
설명으로부터 알 수 있는 바와 같이, 나머지 4개의 사용자 그래픽 표현(402)으로부터 각각의 사용자 그래픽 표현(402)에 의해 수신된 멀티미디어 스트림은 또한 다른 사용자 그래픽 표현의 멀티미디어 스트림에 대한 대응하는 사용자 그래픽 표현의 공간, 3차원 방향, 거리 및 우선순위 관계를 개별적으로 관리하고 그에 대해 최적화된다. 따라서, 클라이언트 장치(408) 각각은 멀티미디어 스트림이 대응하는 클라이언트 장치(408)와 관련된 경우 나머지 4개의 클라이언트 장치로부터 개별 멀티미디어 스트림을 수신한다.
일부 실시 예에서, 사용자 그래픽 표현(402)이 도 4a의 예시에서와 같이 멀티미디어 소스로부터 너무 멀리 위치한다면, 사용자 A로부터의 사용자 그래픽 표현(402)은 멀티미디어 소스로부터 멀티미디어 스트림을 수신하는 것으로부터 SAMS(406)에 의해 방지될(spared) 수 있다. 이것은 예를 들어 SAMS(406)가 그에 따라 구성되는 경우 사용자 그래픽 표현 D에 적용될 수 있다.
일부 실시 예에서, 멀티미디어 스트림은 다른 사용자 그래픽 표현에서 오는 것이 아니라, 가상 애니메이션, 증강 현실 가상 객체, 이벤트 또는 장소의 사전 녹화 또는 라이브 비디오, 애플리케이션 그래픽 표현, 비디오 게임 등과 같은 다른 멀티미디어 소스에서 올 수 있다. 이러한 실시 예에서, 멀티미디어 스트림은 여전히 조정 가능하고, 예를 들어, 수신된 멀티미디어 스트림 소스의 멀티미디어 스트림에 대한 대응하는 사용자 그래픽 표현의 공간, 3차원 방향, 거리 및 우선순위 관계에 대해 개별적으로 관리되고 최적화될 수 있다. 다른 실시 예에서, 멀티미디어 스트림은 사용자 그래픽 표현과 다른 멀티미디어 소스의 조합으로부터 나온다.
도 5a-5b는 일 실시 예에 따라, SAMS가 복수의 클라이언트 장치의 미디어 스트림을 결합하는 개략도를 도시한다. SAMS가 복수의 클라이언트 장치의 미디어 스트림을 조합하도록 구성될 수 있는 실시 예에서, SAMS는 스트림을 모자이크 형태로 조합할 수 있다. 모자이크는 사용자 그래픽 표현의 개별 멀티미디어 스트림이 스트리밍되는 개별 가상 타일을 포함하는 가상 프레임일 수 있다. 모자이크는 멀티미디어 스트림 소스 및 나머지 사용자 그래픽 표현과의 클라이언트 장치의 사용자 그래픽 표현 거리 관계에 따라 클라이언트 장치별로 조정될 수 있다.
도 5a에서, 7개의 사용자 그래픽 표현(502)은 가상 환경(504) 내에서 상호작용하고 있으며, 여기서 사용자 그래픽 표현 A는 화자이고 나머지 사용자 그래픽 표현 B-G는 사용자 그래픽 표현 A를 청취하고 있다. 사용자 그래픽 표현 G 및 F는 사용자 그래픽 표현 A에 상대적으로 근접한 것으로 발견되고; 사용자 그래픽 표현 E 및 F는 사용자 그래픽 표현 A에서 상대적으로 더 멀리 위치할 수 있고; 사용자 그래픽 표현 D 및 C는 사용자 그래픽 표현 A에서 가장 멀리 위치할 수 있다.
도 5b는 사용자 그래픽 표현 G의 관점에서 가상 환경(504)의 대응하는 사용자 그래픽 표현(502)으로부터 개별 멀티미디어 스트림 각각을 스트리밍하는 개별 가상 타일(508), 가상 타일(A-F)을 포함하는 모자이크(506) 형태의 조합된 멀티미디어 스트림을 도시한다. 사용자 그래픽 표현 G의 관점에서, 사용자 그래픽 표현 A는 화자이기 때문에 자신의 아웃바운드 미디어 스트림에 대해 더 높은 우선순위를 갖기 때문에 가상 타일 A는 최고 해상도로 제공되는 더 큰 타일일 수 있고; 가상 타일 F는 사용자 그래픽 표현 G가 사용자 그래픽 표현 F에 매우 가깝기 때문에 두 번째로 높은 해상도에서 제공되는 두 번째로 큰 타일일 수 있고; 사용자 그래픽 표현 B-E는 동등하게 작을 수 있고 서로 동일하거나 유사한 상대적으로 낮은 해상도를 가질 수 있다. 일부 실시 예에서, SAMS(406)는 동일한 모자이크(506)를 모든 클라이언트 장치에 보낼 수 있고, 클라이언트 장치는 가상 환경에서의 자신들의 위치 및 방향과 관련이 없을 수 있는 불필요한 타일을 잘라내어 진행할 수 있다.
도 6은 일 실시 예에 따른, 본 개시의 공간 인식 멀티미디어 라우터 방법(600) 토폴로지의 블록도를 도시한다. 방법(600)은 도 2 내지 도 3의 시스템(200 및 300)을 참조하여 개시된 것과 같은 시스템에서 구현될 수 있다.
방법(600)은 적어도 하나의 미디어 서버 컴퓨터 데이터 및 복수의 클라이언트 장치 사이의 데이터 교환을 관리하는 클라이언트 장치 데이터 교환 관리 모듈을 구현하는 명령을 메모리에 제공함으로써 단계(602)에서 시작한다.
그런 다음, 단계(604)에서, 방법(600)은 적어도 하나의 미디어 서버 컴퓨터에 의해 복수의 클라이언트 장치로부터의 적어도 멀티미디어 스트림을 포함하는 인입 데이터를 수신함으로써 진행된다. 상기 인입 데이터는 사용자 우선순위 데이터 및 대응하는 사용자 그래픽 표현과 인입 멀티미디어 스트림 사이의 공간 관계와 연관된다.
단계(606)에서, 방법(600)은 데이터 교환 관리 모듈에 의해 클라이언트 장치 데이터 교환 관리를 수행함으로써 진행된다. 데이터 교환 관리는 가상 환경 내에서 그래픽 엘리먼트를 포함하는 복수의 클라이언트 장치로부터의 인입 데이터를 분석 및 처리하는 단계; 및 복수의 클라이언트 장치로부터 수신된 인입 데이터에 기초하여 아웃바운드 멀티미디어 스트림의 포워딩을 평가하고 최적화하는 단계를 포함한다.
마지막으로, 단계(608)에서, 방법(600)은 데이터 교환 관리에 기초하여 대응하는 멀티미디어 스트림을 클라이언트 장치로 포워딩함으로써 진행할 수 있으며, 여기서 멀티미디어 스트림은 적어도 하나의 클라이언트 장치의 사용자의 사용자 그래픽 표현에 디스플레이된다.
일부 실시 예에서, 방법(600)은 아웃바운드 멀티미디어 스트림을 포워딩할 때 라우팅 토폴로지, 또는 미디어 처리 토폴로지, 또는 포워딩 서버 토폴로지, 또는 다른 적절한 멀티미디어 서버 라우팅 토폴로지, 또는 미디어 처리 및 포워딩 서버 토폴로지, 또는 기타 적절한 서버 토폴로지를 이용하는 단계를 더 포함한다.
추가 실시 예에서, 라우팅 토폴로지로서, 적어도 하나의 미디어 서버 컴퓨터는 SFU(Selective Forwarding Unit) 토폴로지, TURN(Traversal Using Relay NAT), SAMS(Spatially Analyzed Media Server Topology), 또는 멀티미디어 서버 라우팅 토폴로지를 사용한다.
추가 실시 예에서, 미디어 처리 토폴로지로서, 적어도 하나의 미디어 서버 컴퓨터는 압축, 암호화, 재암호화, 복호화, 디코딩, 결합, 개선, 믹싱, 향상, 증강, 컴퓨팅, 조작, 인코딩 또는 이들의 조합을 포함하는 인입 데이터에 대한 하나 이상의 동작을 수행하도록 구성된다.
추가 실시 예에서, 포워딩 서버 토폴로지를 이용할 때, 방법(600)은 MCU, 클라우드 미디어 믹서, 및 클라우드 3D 렌더러 중 하나 이상을 이용하는 단계를 더 포함한다.
일부 실시 예에서, SAMS로서, 적어도 하나의 미디어 서버 컴퓨터는 대응하는 사용자 그래픽 표현과 멀티미디어 스트림 사이의 거리 관계 및 사용자 우선순위와 관련된 각 클라이언트 장치의 인입 데이터를 분석 및 처리하도록 구성된다. 인입 데이터는 메타 데이터, 우선순위 데이터, 데이터 클래스, 공간 구조 데이터, 3차원 위치, 방향 또는 이동 정보, 화자 또는 청자 상태 데이터, 가용성 상태 데이터, 이미지, 미디어 및 확장 가능한 비디오 코덱 기반 비디오 또는 이들의 조합 중 하나 이상을 포함한다. 일부 실시 예에서, SAMS를 구현하는 적어도 하나의 미디어 서버 컴퓨터에 의해 구현되는 아웃바운드 멀티미디어 스트림의 포워딩을 최적화하는 것은 대역폭을 최적화하는 단계 및 하나 이상의 수신 클라이언트 장치에 대한 리소스 활용을 계산하는 단계를 포함한다.
일부 실시 예에서, SAMS는 시간적 특징, 공간적 특징, 품질, 및 색상 특징에 대해 미디어를 수정, 업스케일링 또는 다운스케일링함으로써 아웃바운드 데이터 스트림을 각각의 수신 클라이언트 장치로 포워딩하는 것을 최적화한다.
하나 이상의 컴퓨터로 하여금 본 명세서에 기술된 임의의 방법을 수행하게 하도록 구성된 명령을 저장한 컴퓨터 판독가능 매체가 또한 설명된다. 본 명세서에 사용된 바와 같이, "컴퓨터 판독 가능 매체"라는 용어는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장할 수 있는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 및 착탈식 및 비착탈식 매체를 포함한다. 일반적으로, 본원에 기술된 컴퓨팅 장치의 기능은 C, C++, COBOL, JAVA™, PHP, Perl, Python, Ruby, HTML, CSS, JavaScript, VBScript, ASPX, C#과 같은 Microsoft .NET™ 언어 및/또는 등의 프로그래밍 언어로 작성될 수 있는 하드웨어 또는 소프트웨어 명령으로 구현되는 컴퓨팅 로직으로 구현될 수 있다. 컴퓨팅 로직은 실행가능한 프로그램으로 컴파일되거나 또는 인터프리트 프로그래밍 언어로 작성될 수 있다. 일반적으로, 본원에 기술된 기능은 더 큰 처리 능력을 제공하기 위해 복제되거나, 다른 모듈과 병합되거나, 하위 모듈로 분할될 수 있는 논리 모듈로서 구현될 수 있다. 컴퓨팅 로직은 임의의 유형의 컴퓨터 판독 가능 매체(예를 들어, 메모리 또는 저장 매체와 같은 비일시적 매체) 또는 컴퓨터 저장 장치에 저장될 수 있으며, 하나 이상의 범용 또는 전용 프로세서에 저장되고 그에 의해 실행될 수 있어서 본원에 기술된 기능을 제공하도록 구성된 전용 컴퓨팅 장치를 생성할 수 있다.
특정 실시 예가 설명되고 첨부 도면에 도시되었지만, 그러한 실시 예는 단지 예시일 뿐이고 광범위한 개시를 제한하지 않으며, 당업자에게는 다양한 다른 변형이 발생할 수 있기 때문에 본 개시는 도시되고 설명된 특정 구성 및 배열로 제한되지 않는다는 것을 이해해야 한다. 따라서 설명은 제한적인 것이 아니라 예시적인 것으로 간주되어야 한다.
Claims (20)
- 멀티미디어 라우터 시스템에 있어서,
적어도 하나의 프로세서 및 메모리를 구비하는 적어도 하나의 미디어 서버 컴퓨터로서, 상기 적어도 하나의 미디어 서버 컴퓨터는 클라이언트 장치로부터의 인입 멀티미디어 스트림을 포함하는 인입 데이터를 수신 및 분석하고, 상기 클라이언트 장치로부터 수신된 상기 인입 데이터를 기초로 하여 개별 클라이언트 장치에 대한 아웃바운드 멀티미디어 스트림을 조정하도록 구성되고, 상기 인커밍 멀티미디어 스트림은 적어도 하나의 가상 환경 내로부터의 엘리먼트를 포함하고, 상기 아웃바운드 멀티미디어 스트림은 상기 적어도 하나의 가상 환경 내에서의 상기 인입 멀티미디어 스트림의 소스 및 대응하는 사용자 그래픽 표현 사이의 공간 관계를 기술하는 공간 방향 데이터 및 사용자 우선순위 데이터에 기초하여 상기 개별 클라이언트 장치에 대해 조정되는 상기 적어도 하나의 미디어 서버 컴퓨터를 포함하는 것을 특징으로 하는 멀티미디어 라우터 시스템. - 제1 항에 있어서, 상기 적어도 하나의 가상 환경은 네트워크를 통해 상기 적어도 하나의 미디어 서버 컴퓨터에 연결된 적어도 하나의 전용 서버 컴퓨터에서 호스팅되거나, 피어 투 피어 인프라에서 호스팅되고, 상기 적어도 하나의 미디어 서버 컴퓨터를 통해 중계되는 것을 특징으로 하는 멀티미디어 라우터 시스템.
- 제1 항에 있어서, 상기 적어도 하나의 가상 환경은 현실 세계 위치의 가상 복제본을 포함하고, 상기 현실 세계 위치는 상기 현실 세계 위치의 상기 가상 복제본에 추가 데이터를 제공하는 복수의 센서를 포함하는 것을 특징으로 하는 멀티미디어 라우터 시스템.
- 제1 항에 있어서, 상기 적어도 하나의 미디어 서버 컴퓨터는 SFU(Selective Forwarding Unit) 토폴로지, 또는 TURN(Traversal Using Relay NAT) 토폴로지, 또는 SAMS(Spatially Analyzed Media Server Topology)를 사용하는 것을 특징으로 하는 멀티미디어 라우터 시스템.
- 제1 항에 있어서, 상기 적어도 하나의 미디어 서버 컴퓨터는 사용자 그래픽 표현의 상기 개별 멀티미디어 스트림이 스트리밍되는 별개의 타일을 포함하는 모자이크 형태로 상기 인입 데이터를 결합하도록 추가로 구성되는 것을 특징으로 하는 멀티미디어 라우터 시스템.
- 제1 항에 있어서, 상기 적어도 하나의 미디어 서버 컴퓨터는 멀티포인트 제어 유닛(MCU), 클라우드 미디어 믹서, 또는 클라우드 3D 렌더러로서 구성되는 것을 특징으로 하는 멀티미디어 라우터 시스템.
- 제1 항에 있어서, 상기 적어도 하나의 미디어 서버 컴퓨터는 각 클라이언트 장치의 상기 인입 데이터를 분석 및 처리하고, 상기 대응하는 사용자 그래픽 표현과 상기 인입 멀티미디어 스트림의 소스 간의 상기 공간 관계 및 사용자 우선순위를 판정하도록 구성되는 것을 특징으로 하는 멀티미디어 라우터 시스템.
- 제1 항에 있어서, 상기 아웃바운드 멀티미디어 스트림을 조정하는 단계는 대역폭을 최적화하는 단계 및 상기 하나 이상의 수신 클라이언트 장치에 대한 리소스 활용을 계산하는 단계를 포함하는 것을 특징으로 하는 멀티미디어 라우터 시스템.
- 제1 항에 있어서, 상기 아웃바운드 멀티미디어 스트림을 조정하는 단계는 시간적 특징, 공간적 특징, 품질, 또는 색상 특징, 또는 이들의 조합을 조정하는 단계를 포함하는 것을 특징으로 하는 멀티미디어 라우터 시스템.
- 멀티미디어 라우팅 방법에 있어서,
적어도 하나의 미디어 서버 컴퓨터에 의해, 복수의 클라이언트 장치로부터의 인입 멀티미디어 스트림을 구비하는 인입 데이터를 수신하는 단계로서, 상기 인입 데이터는 대응하는 사용자 그래픽 표현과 가상 환경 내의 상기 인입 멀티미디어 스트림의 소스 사이의 공간 관계를 기술하는 공간 방향 데이터 및 사용자 우선순위 데이터와 연관되는 상기 수신하는 단계;
상기 가상 환경 내로부터의 그래픽 엘리먼트를 포함하는 상기 복수의 클라이언트 장치로부터의 상기 인입 데이터를 분석하는 단계;
상기 복수의 클라이언트 장치로부터 수신된 상기 인입 데이터에 기초하여 아웃바운드 멀티미디어 스트림을 조정하는 단계; 및
조정된 상기 아웃바운드 멀티미디어 스트림을 하나 이상의 수신 클라이언트 장치로 포워딩하는 단계로서, 상기 조정된 아웃바운드 멀티미디어 스트림은 상기 하나 이상의 수신 클라이언트 장치의 사용자에게 디스플레이되도록 구성되는 상기 포워딩하는 단계;
를 포함하는 것을 특징으로 하는 멀티미디어 라우팅 방법. - 제10 항에 있어서, 상기 적어도 하나의 미디어 서버 컴퓨터는 SFU(Selective Forwarding Unit) 토폴로지, TURN(Traversal Using Relay NAT) 토폴로지 또는 SAMS(Spatially Analyzed Media Server Topology)를 사용하는 것을 특징으로 하는 멀티미디어 라우팅 방법.
- 제10 항에 있어서, 멀티포인트 제어 유닛(MCU), 클라우드 미디어 믹서, 또는 클라우드 3D 렌더러 중 하나 이상을 활용하는 단계를 더 포함하는 것을 특징으로 하는 멀티미디어 라우팅 방법.
- 제10 항에 있어서, 사용자 그래픽 표현의 상기 개별 멀티미디어 스트림이 스트리밍되는 개별 타일을 구비하는 모자이크 형태로 상기 인입 데이터를 결합하는 단계를 더 포함하는 것을 특징으로 하는 멀티미디어 라우팅 방법.
- 제10 항에 있어서, 상기 대응하는 사용자 그래픽 표현과 상기 인입 멀티미디어 스트림의 상기 소스 사이의 공간 관계 및 사용자 우선순위를 판정하는 단계를 더 포함하는 것을 특징으로 하는 멀티미디어 라우팅 방법.
- 제10 항에 있어서, 상기 아웃바운드 멀티미디어 스트림을 조정하는 단계는 대역폭을 최적화하는 단계 및 상기 하나 이상의 수신 클라이언트 장치에 대한 리소스 활용을 계산하는 단계를 포함하는 것을 특징으로 하는 멀티미디어 라우팅 방법.
- 제10 항에 있어서, 상기 아웃바운드 멀티미디어 스트림을 조정하는 단계는 시간적 특징, 공간적 특징, 품질, 또는 색상 특징, 또는 이들의 조합을 조정하는 단계를 포함하는 것을 특징으로 하는 멀티미디어 라우팅 방법.
- 프로세서 및 메모리를 포함하는 적어도 하나의 미디어 서버 컴퓨터로 하여금:
적어도 하나의 미디어 서버 컴퓨터에 의해, 복수의 클라이언트 장치로부터의 인입 멀티미디어 스트림을 구비하는 인입 데이터를 수신하는 단계로서, 상기 인입 데이터는 하나 이상의 사용자 그래픽 표현과 적어도 하나의 가상 환경의 적어도 하나의 엘리먼트 사이의 공간 관계를 기술하는 공간 방향 데이터와 연관되는 상기 수신하는 단계;
상기 복수의 클라이언트 장치로부터의 상기 인입 데이터를 분석하는 단계;
상기 복수의 클라이언트 장치로부터 수신된 상기 인커밍 데이터에 기초하여 아웃바운드 멀티미디어 스트림을 조정하는 단계; 및
조정된 상기 아웃바운드 멀티미디어 스트림을 수신 클라이언트 장치로 포워딩하는 단계로서, 상기 조정된 아웃바운드 멀티미디어 스트림은 상기 수신 클라이언트 장치에서 디스플레이되도록 구성되는 상기 포워딩하는 단계;
를 포함하는 단계들을 수행하게 하도록 구성되는 명령을 저장한 것을 특징으로 하는 컴퓨터 판독가능 매체. - 제17 항에 있어서, 상기 단계들은 상기 인입 데이터에 기초하여 사용자 우선순위 및 상기 공간 관계를 판정하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
- 제17항에 있어서, 상기 아웃바운드 멀티미디어 스트림을 조정하는 단계는 대역폭을 최적화하는 단계 및 상기 하나 이상의 수신 클라이언트 장치에 대한 리소스 활용을 계산하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
- 제17 항에 있어서, 상기 아웃바운드 멀티미디어 스트림을 조정하는 단계는 시간적 특징, 공간적 특징, 품질, 또는 색상 특징, 또는 이들의 조합을 조정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 판독가능 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/005,767 US11012482B1 (en) | 2020-08-28 | 2020-08-28 | Spatially aware multimedia router system and method |
US17/005,767 | 2020-08-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220029470A true KR20220029470A (ko) | 2022-03-08 |
Family
ID=75910543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210113899A KR20220029470A (ko) | 2020-08-28 | 2021-08-27 | 공간 인식 멀티미디어 라우터 시스템 및 방법 |
Country Status (9)
Country | Link |
---|---|
US (1) | US11012482B1 (ko) |
EP (2) | EP3962038B1 (ko) |
JP (1) | JP7412781B2 (ko) |
KR (1) | KR20220029470A (ko) |
CN (1) | CN114205548A (ko) |
DK (1) | DK3962038T3 (ko) |
ES (1) | ES2968394T3 (ko) |
HU (1) | HUE064379T2 (ko) |
ZA (1) | ZA202105602B (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11194452B1 (en) * | 2020-09-24 | 2021-12-07 | Gather Wholesale, Inc. | Methods, devices, and systems for providing interfaces and audio/video data for a virtual event |
WO2022242854A1 (en) * | 2021-05-19 | 2022-11-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Prioritizing rendering by extended reality rendering device responsive to rendering prioritization rules |
US11902571B2 (en) * | 2021-09-28 | 2024-02-13 | Advanced Micro Devices, Inc. | Region of interest (ROI)-based upscaling for video conferences |
US20240064199A1 (en) * | 2022-08-16 | 2024-02-22 | Tmrw Foundation Ip S. À R.L. | Level of detail management within virtual environments |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7636339B2 (en) * | 2005-08-10 | 2009-12-22 | Cisco Technology, Inc. | Method and system for automatic configuration of virtual talk groups based on location of media sources |
US20070174429A1 (en) | 2006-01-24 | 2007-07-26 | Citrix Systems, Inc. | Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment |
US8191001B2 (en) * | 2008-04-05 | 2012-05-29 | Social Communications Company | Shared virtual area communication environment based apparatus and methods |
US9009603B2 (en) * | 2007-10-24 | 2015-04-14 | Social Communications Company | Web browser interface for spatial communication environments |
US10872322B2 (en) | 2008-03-21 | 2020-12-22 | Dressbot, Inc. | System and method for collaborative shopping, business and entertainment |
US8032799B2 (en) | 2008-09-17 | 2011-10-04 | International Business Machines Corporation | System and method for managing server performance degradation in a virtual universe |
EP2361423A4 (en) * | 2008-12-01 | 2015-08-19 | Rockstar Consortium Us Lp | METHOD AND APPARATUS FOR PROVIDING VIDEO REPRESENTATION OF THREE-DIMENSIONAL COMPUTER-GENERATED VIRTUAL ENVIRONMENT |
CN102362269B (zh) * | 2008-12-05 | 2016-08-17 | 社会传播公司 | 实时内核 |
EP2237200A1 (en) * | 2009-04-01 | 2010-10-06 | Alcatel Lucent | Method for filtering the streaming of virtual environment content assets, a related system, network element and a related virtual environment content asset |
US9084001B2 (en) * | 2011-07-18 | 2015-07-14 | At&T Intellectual Property I, Lp | Method and apparatus for multi-experience metadata translation of media content with metadata |
WO2013119802A1 (en) | 2012-02-11 | 2013-08-15 | Social Communications Company | Routing virtual area based communications |
US9264668B2 (en) * | 2013-09-27 | 2016-02-16 | Clearone Communications Hong Kong Ltd. | Methodology for negotiating video camera and display capabilities in a multi-camera/multi-display video conferencing environment |
DE112016003352T5 (de) | 2015-07-24 | 2018-04-12 | Max Andaker | Reibungslose Benutzeroberfläche für virtuelle Kollaboration, Kommunikation und Cloud-Computing |
GB2543913B (en) | 2015-10-30 | 2019-05-08 | Walmart Apollo Llc | Virtual conference room |
CN105610979B (zh) * | 2016-02-23 | 2021-01-05 | 山东乾云启创信息科技股份有限公司 | 一种基于虚拟化技术的网络资源传输***及其方法 |
CN106027679B (zh) | 2016-07-15 | 2019-05-24 | 中兴通讯股份有限公司 | 视频会议的实现方法、装置及***、云桌面终端 |
EP3549230B1 (en) * | 2016-11-30 | 2021-10-06 | Bombardier Recreational Products Inc. | Electric system and method for energizing the electric system |
US10841660B2 (en) * | 2016-12-29 | 2020-11-17 | Dressbot Inc. | System and method for multi-user digital interactive experience |
US10348784B2 (en) * | 2017-02-15 | 2019-07-09 | Microsoft Technology Licensing, Llc | Conferencing server directly accessible from public internet |
WO2018208384A1 (en) | 2017-05-11 | 2018-11-15 | Channelfix.Com Llc | Video-tournament platform |
US10841537B2 (en) | 2017-06-09 | 2020-11-17 | Pcms Holdings, Inc. | Spatially faithful telepresence supporting varying geometries and moving users |
US11036285B2 (en) | 2017-09-04 | 2021-06-15 | Abhinav Aggarwal | Systems and methods for mixed reality interactions with avatar |
US10542238B2 (en) * | 2017-09-22 | 2020-01-21 | Faro Technologies, Inc. | Collaborative virtual reality online meeting platform |
US10601773B2 (en) * | 2017-10-18 | 2020-03-24 | Nexmo, Inc. | Method and a system for using relays for network optimization in IP-based communication networks |
US10250921B1 (en) | 2017-12-22 | 2019-04-02 | Dialogic Corporation | Systems and methods of video forwarding with adaptive video transcoding capabilities |
US11093103B2 (en) * | 2018-04-09 | 2021-08-17 | Spatial Systems Inc. | Augmented reality computing environments-collaborative workspaces |
US10455194B1 (en) | 2018-11-27 | 2019-10-22 | Dialogic Corporation | Robust handling of sudden changes of bandwidth in selective forwarding unit conferences |
US10346378B1 (en) | 2018-11-30 | 2019-07-09 | Slack Technologies, Inc. | Data storage architecture for an enterprise communication system |
-
2020
- 2020-08-28 US US17/005,767 patent/US11012482B1/en active Active
-
2021
- 2021-08-10 ZA ZA2021/05602A patent/ZA202105602B/en unknown
- 2021-08-24 CN CN202110973122.9A patent/CN114205548A/zh active Pending
- 2021-08-27 HU HUE21193511A patent/HUE064379T2/hu unknown
- 2021-08-27 KR KR1020210113899A patent/KR20220029470A/ko unknown
- 2021-08-27 JP JP2021138812A patent/JP7412781B2/ja active Active
- 2021-08-27 EP EP21193511.9A patent/EP3962038B1/en active Active
- 2021-08-27 ES ES21193511T patent/ES2968394T3/es active Active
- 2021-08-27 EP EP23192857.3A patent/EP4258624A3/en active Pending
- 2021-08-27 DK DK21193511.9T patent/DK3962038T3/da active
Also Published As
Publication number | Publication date |
---|---|
EP4258624A2 (en) | 2023-10-11 |
HUE064379T2 (hu) | 2024-03-28 |
ZA202105602B (en) | 2024-06-26 |
US11012482B1 (en) | 2021-05-18 |
DK3962038T3 (en) | 2023-12-18 |
CN114205548A (zh) | 2022-03-18 |
EP3962038A1 (en) | 2022-03-02 |
JP7412781B2 (ja) | 2024-01-15 |
ES2968394T3 (es) | 2024-05-09 |
EP3962038B1 (en) | 2023-09-27 |
EP4258624A3 (en) | 2023-12-06 |
JP2022040097A (ja) | 2022-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7412781B2 (ja) | 空間認識型マルチメディアルータシステムおよび方法 | |
JP7464989B2 (ja) | 仮想環境での相互作用を可能にするシステム及び方法 | |
JP5723905B2 (ja) | 共用仮想領域通信環境における自動化されたリアルタイム・データ・ストリーム切換え | |
JP5232239B2 (ja) | 共用仮想領域通信環境における自動化されたリアルタイム・データ・ストリーム切換え | |
JP7496139B2 (ja) | 空間ビデオベースの仮想プレゼンスを可能にするシステム及び方法 | |
JP7340281B2 (ja) | 仮想環境内でのアプリケーションの配信システム及び方法 | |
JP7492746B2 (ja) | ユーザグラフィック表現間のアドホック仮想通信 | |
Zeebaree et al. | Multilevel client/server peer-to-peer video broadcasting system | |
EP3962076A1 (en) | System and method for virtually broadcasting from within a virtual environment | |
KR20230006495A (ko) | 몰입형 원격 회의 및 텔레프레즌스를 위한 다중 그룹화 | |
EP3961396A1 (en) | System and method to provision cloud computing-based virtual computing resources within a virtual environment | |
WO2012059280A2 (en) | System and method for multiperspective telepresence communication | |
WO2012059279A1 (en) | System and method for multiperspective 3d telepresence communication | |
EP4325342A1 (en) | Level of detail management within virtual environments | |
US11985181B2 (en) | Orchestrating a multidevice video session | |
Seo et al. | Spatializer: A web-based positional audio toolkit | |
US12058020B1 (en) | Synchronizing audio playback for co-located devices | |
US11895164B1 (en) | Digital automation of virtual events | |
Petrovic et al. | A distributed delivery model for 3D-video streams | |
KR20240019043A (ko) | 특정 보안 딥 링크들을 통한 화상회의 미팅 슬롯들 | |
KR20240019045A (ko) | 특정 보안 딥 링크들을 통한 화상회의 미팅 슬롯들 |