KR102600572B1 - 원격 단말들을 위한 몰입형 원격회의 및 원격현전을 위하여 rtcp 뷰포트의 시그널링을 위한 이벤트-기반 트리거 간격 - Google Patents

원격 단말들을 위한 몰입형 원격회의 및 원격현전을 위하여 rtcp 뷰포트의 시그널링을 위한 이벤트-기반 트리거 간격 Download PDF

Info

Publication number
KR102600572B1
KR102600572B1 KR1020227010607A KR20227010607A KR102600572B1 KR 102600572 B1 KR102600572 B1 KR 102600572B1 KR 1020227010607 A KR1020227010607 A KR 1020227010607A KR 20227010607 A KR20227010607 A KR 20227010607A KR 102600572 B1 KR102600572 B1 KR 102600572B1
Authority
KR
South Korea
Prior art keywords
event
video
viewport
rtcp
triggered
Prior art date
Application number
KR1020227010607A
Other languages
English (en)
Other versions
KR20220054656A (ko
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 KR20220054656A publication Critical patent/KR20220054656A/ko
Application granted granted Critical
Publication of KR102600572B1 publication Critical patent/KR102600572B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • H04N7/155Conference systems involving storage of or access to video conference sessions
    • 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/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/194Transmission of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/302Image reproducers for viewing without the aid of special glasses, i.e. using autostereoscopic displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

프로세서 또는 프로세서들로 하여금, 뷰포트로의 비디오 회의 호출의 전달을 제어하는 것, 비디오 회의 호출에 대한 이벤트-기반 임계치를 설정하는 것, 이벤트에 기초하여 이벤트-기반 임계치가 트리거링되었는지 여부, 및 또 다른 이벤트로부터 경과한 시간의 양이 미리 결정된 시간의 양 미만인지 여부를 결정하는 것, 이벤트-기반 임계치가 트리거링되었는지 여부, 및 다른 이벤트로부터 경과한 시간의 양이 미리 결정된 시간의 양 미만인지 여부를 결정하는 것에 기초하여 뷰포트로의 비디오 회의 호출의 전달을 추가로 제어하는 것을 수행하게 하도록 구성된 컴퓨터 코드를 포함하는 방법 및 장치가 포함된다.

Description

원격 단말들을 위한 몰입형 원격회의 및 원격현전을 위하여 RTCP 뷰포트의 시그널링을 위한 이벤트-기반 트리거 간격
관련 출원에 대한 상호 참조
본 출원은 2020년 5월 8일자로 출원된 미국 가출원 제63/022,394호 및 2020년 11월 11일자 출원된 미국 출원 제17/095,282호에 대한 우선권을 주장하고, 이 미국 출원들은 이로써, 그 전체적으로 참조로 본 출원 내로 명백히 편입된다.
본 개시내용은 실시간 전송 제어 프로토콜(Real-Time Transport Control Protocol)(RTCP)에 관한 것으로, 더 구체적으로, 원격 단말들을 위한 몰입형 원격회의 및 원격현전(Immersive Teleconferencing and Telepresence)을 위한 RTCP 뷰포트 피드백 시그널링에서의 이벤트-기반 트리거 간격들에 관한 것이다.
몰입형 원격회의는 회의들을 위한 대면의 고해상도 비디오 및 오디오 경험을 제공한다. 그것은 헤드 장착형 디바이스(head mounted device)(HMD) 디바이스들/비디오 플레이어 상에서의 몰입형 비디오의 실시간 멀티-접속 스트리밍을 지원한다. 몰입형 원격회의는 고해상도 비디오 및 오디오 서비스들과의 현실적인 통신을 경험하는 것을 허용한다. 그것은 원격으로 회의에 참여하는 사용자들을 위한 몰입형 경험을 생성하는 것을 목적으로 한다.
IMS를 위한 멀티미디어 전화 서비스(multimedia telephony service for IMS)(MTSI) 및 IMS-기반 원격현전에서의 VR 지원은 원격회의 및 원격현전 세션들에 합류하는 원격 단말들을 위한 몰입형 경험의 지원을 가능하게 한다. 이것은 양방향 오디오 및 일방향 몰입형 비디오를 가능하게 하고, 예컨대, HMD를 착용하는 원격 사용자는 회의에 참여하고, 회의실에서의 전방향 카메라에 의해 캡처된 몰입형 오디오 및 비디오를 수신하는 반면, 오디오 및 임의적으로 2D 비디오를 오직 전송한다.
대역폭 및 다른 기술적 제한들은 HMD 공간적 배향이 실시간으로 원격으로 업데이팅될 때, 뷰포인트 마진 업데이트(viewpoint margin update)에 대한 몰입형 비디오의 개선된 전달을 배제하였다.
그러므로, 네트워크 오버헤드(network overhead) 및 서버 연산 오버헤드(server computational overhead)들을 수반하는 이러한 문제들의 기술적 해결책에 대한 희망이 있다.
하나 이상의 상이한 기술적 문제들을 다루기 위하여, 이 개시내용은 예시적인 실시예들에 따라, 하나 이상의 뷰포트 마진 업데이트(viewport margin update)들에 대하여 몰입형 비디오(immersive video)를 전달하면서, 네트워크 오버헤드 및 서버 연산 오버헤드들을 감소시키기 위한 기술적 해결책들을 제공한다.
컴퓨터 프로그램 코드를 저장하도록 구성된 메모리, 및 컴퓨터 프로그램 코드를 액세스하고 컴퓨터 프로그램 코드에 의해 명령된 바와 같이 동작하도록 구성된 프로세서 또는 프로세서들을 포함하는 방법 및 장치가 포함된다. 컴퓨터 프로그램 코드는, 적어도 하나의 프로세서로 하여금, 뷰포트로의 비디오 회의 호출의 전달을 제어하게 하도록 구성된 제어 코드, 적어도 하나의 프로세서로 하여금, 비디오 회의 호출에 대한 이벤트-기반 임계치를 설정하게 하도록 구성된 설정 코드, 적어도 하나의 프로세서로 하여금, 이벤트에 기초하여 이벤트-기반 임계치가 트리거링되었는지 여부, 및 또 다른 이벤트로부터 경과한 시간의 양이 미리 결정된 시간의 양 미만인지 여부를 결정하게 하도록 구성된 결정 코드, 적어도 하나의 프로세서로 하여금, 이벤트-기반 임계치가 트리거링되었는지 여부와, 다른 이벤트로부터 경과한 시간의 양이 미리 결정된 시간의 양 미만인지 여부를 결정하는 것에 기초하여 뷰포트로의 비디오 회의 호출의 전달을 추가로 제어하게 하도록 구성된 추가의 제어 코드를 포함한다.
예시적인 실시예들에 따르면, 이벤트-기반 임계치는 뷰포트의 공간적 배향에서의 적어도 변경의 정도를 포함한다.
예시적인 실시예들에 따르면, 이벤트-기반 임계치가 트리거링되었는지 여부를 결정하는 것은 뷰포트의 공간적 배향이 이벤트-기반 임계치의 변경의 정도 초과만큼 변경되었는지 여부를 결정하는 것을 포함한다.
예시적인 실시예들에 따르면, 뷰포트로의 비디오 회의 호출의 전달을 추가로 제어하는 것은 뷰포트의 공간적인 배향이 이벤트-기반 임계치의 변경의 정도 초과만큼 변경된 것으로 결정될 경우에, 비디오 회의 호출의 적어도 추가적인 마진을 뷰포트로 전달하는 것을 포함한다.
예시적인 실시예들에 따르면, 뷰포트로의 비디오 회의 호출의 전달을 추가로 제어하는 것은 타이머가 트리거링되었는지 여부 또는 이벤트-기반 임계치가 트리거링되었는지 여부에 따라 상이한 길이 패킷들을 프로세싱하는 것을 포함한다.
예시적인 실시예들에 따르면, 상이한 길이 패킷들 중에서, 타이머가 트리거링된 제1 패킷은 이벤트-기반 임계치가 트리거링된 제2 패킷보다 더 길다.
예시적인 실시예들에 따르면, 컴퓨터 프로그램 코드는, 적어도 하나의 프로세서로 하여금, 다른 이벤트로부터 경과한 시간의 양이 미리 결정된 시간의 양 미만인지 여부에 기초하여, 이벤트가 이벤트-기반 임계치를 트리거링하는 빈도가 빈도 임계치를 초과하는지 여부를 결정하게 하도록 구성된 추가의 결정 코드를 더 포함한다.
예시적인 실시예들에 따르면, 컴퓨터 프로그램 코드는, 적어도 하나의 프로세서로 하여금, 이벤트가 이벤트-기반 임계치를 트리거링하는 빈도가 빈도 임계치를 초과하는 것으로 결정하는 것에 응답하여 타이머를 업데이팅하게 하도록 구성된 업데이팅 코드를 더 포함한다.
예시적인 실시예들에 따르면, 뷰포트는 헤드셋 및 핸드헬드 이동 디바이스(handheld mobile device)(HMD) 중의 적어도 하나의 디스플레이이다.
개시된 발명 요지의 추가의 특징들, 본질, 및 다양한 장점들은 다음의 상세한 설명 및 동반 도면들로부터 더 분명할 것이고, 여기서:
도 1은 실시예들에 따른 단순화된 개략적인 예시도이다.
도 2는 실시예들에 따른 단순화된 개략적인 예시도이다.
도 3은 실시예들에 따른 디코더들에 관한 단순화된 블록도이다.
도 4는 실시예들에 따른 인코더들에 관한 단순화된 블록도이다.
도 5는 실시예들에 따른 회의 호출에 관한 단순화된 개략적인 예시도이다.
도 6은 실시예들에 따른 메시지 포맷들에 관한 단순화된 개략적인 예시도이다.
도 7은 실시예들에 따른 픽처들에 관한 단순화된 블록도이다.
도 8은 실시예들에 따른 단순화된 흐름도이다.
도 9는 실시예들에 따른 단순화된 플로우차트이다.
도 10은 실시예들에 따른 단순화된 그래프 도면이다.
도 11은 실시예들에 따른 단순화된 그래프 도면이다.
도 12는 실시예들에 따른 단순화된 그래프 도면이다.
도 13은 실시예들에 따른 단순화된 그래프이다.
도 14는 실시예들에 따른 개략적인 예시도이다.
이하에서 논의된 제안된 특징들은 별도로 이용될 수 있거나 임의의 순서로 조합될 수 있다. 또한, 실시예들은 프로세싱 회로부(예컨대, 하나 이상의 프로세서들 또는 하나 이상의 집적 회로들)에 의해 구현될 수 있다. 하나의 예에서, 하나 이상의 프로세서들은 비-일시적 컴퓨터-판독가능 매체 내에 저장되는 프로그램을 실행한다.
도 1은 본 개시내용의 실시예에 따른 통신 시스템(100)의 단순화된 블록도를 예시한다. 통신 시스템(100)은 네트워크(105)를 통해 상호접속된 적어도 2 개의 단말들(102 및 103)을 포함할 수 있다. 데이터의 단방향 송신을 위하여, 제1 단말(103)은 네트워크(105)를 통한 다른 단말(102)로의 송신을 위하여 로컬 위치에서의 비디오 데이터를 코딩할 수 있다. 제2 단말(102)은 네트워크(105)로부터 다른 단말의 코딩된 비디오 데이터를 수신할 수 있고, 코딩된 데이터를 디코딩할 수 있고, 복원된 비디오 데이터를 디스플레이할 수 있다. 단방향 데이터 송신은 미디어 서빙 애플리케이션들 등에서 보편적일 수 있다.
도 1은 예를 들어, 비디오회의 동안에 발생할 수 있는 코딩된 비디오의 양방향 송신을 지원하도록 제공된 단말들(101 및 104)의 제2 쌍을 예시한다. 데이터의 양방향 송신을 위하여, 각각의 단말(101 및 104)은 네트워크(105)를 통한 다른 단말로의 송신을 위하여 로컬 위치에서 캡처된 비디오 데이터를 코딩할 수 있다. 각각의 단말(101 및 104)은 또한, 다른 단말에 의해 송신된 코딩된 비디오 데이터를 수신할 수 있고, 코딩된 데이터를 디코딩할 수 있고, 로컬 디스플레이 디바이스에서 복원된 비디오 데이터를 디스플레이할 수 있다.
도 1에서, 단말들(101, 102, 103, 및 104)은 서버들, 개인용 컴퓨터들, 및 스마트폰들로서 예시될 수 있지만, 본 개시내용의 원리들은 그렇게 제한되지는 않는다. 본 개시내용의 실시예들은 랩톱 컴퓨터들, 태블릿 컴퓨터들, 미디어 플레이어들, 및/또는 전용 비디오 회의 장비에 있어서 애플리케이션을 발견한다. 네트워크(105)는 예를 들어, 유선 및/또는 무선 통신 네트워크들을 포함하는, 단말들(101, 102, 103, 및 104) 사이에서 코딩된 비디오 데이터를 운반하는 임의의 수의 네트워크들을 표현한다. 통신 네트워크(105)는 회선-교환 및/또는 패킷-교환 채널들에서 데이터를 교환할 수 있다. 대표적인 네트워크들은 전기통신 네트워크들, 로컬 영역 네트워크들, 광역 네트워크들, 및/또는 인터넷을 포함한다. 본 논의의 목적들을 위하여, 네트워크(105)의 아키텍처 및 토폴로지(topology)는 이하의 본 명세서에서 설명되지 않으면, 본 개시내용의 동작에 중요하지 않을 수 있다.
도 2는 개시된 발명 요지에 대한 애플리케이션을 위한 예로서, 스트리밍 환경에서의 비디오 인코더 및 디코더의 배치를 예시한다. 개시된 발명 요지는 예를 들어, 비디오 회의, 디지털 TV, CD, DVD, 메모리 스틱 등을 포함하는 디지털 매체들 상의 압축된 비디오의 저장 등을 포함하는 다른 비디오 가능형 애플리케이션들에 동일하게 적용가능할 수 있다.
스트리밍 시스템은 예를 들어, 비압축된 비디오 샘플 스트림(213)을 생성하는 비디오 소스(201), 예를 들어, 디지털 카메라를 포함할 수 있는 캡처 서브시스템(203)을 포함할 수 있다. 그 샘플 스트림(213)은 인코딩된 비디오 비트스트림들과 비교될 때에 높은 데이터 용량으로서 강조될 수 있고, 카메라(201)에 결합된 인코더(202)에 의해 프로세싱될 수 있다. 인코더(202)는 이하에 더 상세하게 설명된 바와 같은 개시된 발명 요지의 양태들을 가능하게 하거나 구현하기 위한 하드웨어, 소프트웨어, 또는 그 조합을 포함할 수 있다. 샘플 스트림과 비교될 때에 더 낮은 데이터 용량으로서 강조될 수 있는 인코딩된 비디오 비트스트림(204)은 미래의 이용을 위하여 스트리밍 서버(205) 상에서 저장될 수 있다. 하나 이상의 스트리밍 클라이언트들(212 및 207)은 인코딩된 비디오 비트스트림(204)의 복사본(copy)들(208 및 206)을 취출(retrieve)하기 위하여 스트리밍 서버(205)를 액세스할 수 있다. 클라이언트(212)는 비디오 디코더(211)를 포함할 수 있고, 비디오 디코더(211)는 인코딩된 비디오 비트스트림(208)의 착신 복사본을 디코딩하고, 디스플레이(209) 또는 다른 렌더링 디바이스(도시되지 않음) 상에서 렌더링될 수 있는 발신 비디오 샘플 스트림(210)을 생성한다. 일부 스트리밍 시스템들에서, 비디오 비트스트림들(204, 206, 및 208)은 어떤 비디오 코딩/압축 표준들에 따라 인코딩될 수 있다. 그 표준들의 예들은 위에서 언급되고 본 명세서에서 추가로 설명된다.
도 3은 본 발명의 실시예에 따른 비디오 디코더(300)의 기능적인 블록도일 수 있다.
수신기(302)는 디코더(300)에 의해 디코딩되어야 할 하나 이상의 코덱 비디오 시퀀스들을; 동일한 또는 또 다른 실시예에서는, 한 번에 하나의 코딩된 비디오 시퀀스를 수신할 수 있고, 여기서, 각각의 코딩된 비디오 시퀀스의 디코딩은 다른 코딩된 비디오 시퀀스들로부터 독립적이다. 코딩된 비디오 시퀀스는 인코딩된 비디오 데이터를 저장하는 저장 디바이스에 대한 하드웨어/소프트웨어 링크일 수 있는 채널(301)로부터 수신될 수 있다. 수신기(302)는 그 개개의 이용 엔티티들(도시되지 않음)로 포워딩될 수 있는, 다른 데이터, 예를 들어, 코딩된 오디오 데이터 및/또는 부수적인 데이터 스트림들과 함께 인코딩된 비디오 데이터를 수신할 수 있다. 수신기(302)는 다른 데이터로부터 코딩된 비디오 시퀀스를 분리시킬 수 있다. 네트워크 지터(network jitter)를 방지하기 위하여, 버퍼 메모리(303)는 수신기(302)와 엔트로피 디코더/파서(304)(이후로 "파서(parser)") 사이에 결합될 수 있다. 수신기(302)가 충분한 대역폭 및 제어가능성의 저장/포워드 디바이스로부터 또는 등시동기식 네트워크(isosynchronous network)로부터 데이터를 수신하고 있을 때, 버퍼(303)는 필요하지 않을 수 있거나 작을 수 있다. 인터넷과 같은 최선형(best effort) 패킷 네트워크들 상에서의 이용을 위하여, 버퍼(303)가 요구될 수 있고, 비교적 클 수 있고, 유리하게도 적응적 크기일 수 있다.
비디오 디코더(300)는 엔트로피 코딩된 비디오 시퀀스로부터 심볼(symbol)들(313)을 재구성하기 위한 파서(304)를 포함할 수 있다. 그 심볼들의 범주(category)들은 디코더(300)의 동작을 관리하기 위하여 이용된 정보, 및 잠재적으로, 디코더의 일체부가 아니라 디코더에 결합될 수 있는 디스플레이(312)와 같은 렌더링 디바이스를 제어하기 위한 정보를 포함한다. 렌더링 디바이스(들)를 위한 제어 정보는 보충적 강화 정보(Supplementary Enhancement Information)(SEI) 메시지들 또는 비디오 이용가능성 정보(Video Usability Information) 파라미터 세트 프래그먼트(fragment)들(도시되지 않음)의 형태일 수 있다. 파서(304)는 수신된 코딩된 비디오 시퀀스를 파싱/엔트로피-디코딩할 수 있다. 코딩된 비디오 시퀀스의 코딩은 비디오 코딩 기술 또는 표준에 따를 수 있고, 가변 길이 코딩, 허프만 코딩(Huffman coding), 컨텍스트 감도(context sensitivity)를 갖거나 갖지 않는 산술 코딩 등을 포함하는, 본 기술분야에서의 통상의 기술자에게 널리 공지된 원리들을 따를 수 있다. 파서(304)는 그룹에 대응하는 적어도 하나의 파라미터들에 기초하여, 코딩된 비디오 시퀀스로부터, 비디오 디코더에서의 픽셀들의 서브그룹(subgroup)들 중의 적어도 하나에 대한 서브그룹 파라미터들의 세트를 추출할 수 있다. 서브그룹들은 픽처들의 그룹(Group of Pictures)(GOP)들, 픽처들, 타일들, 슬라이스들, 매크로블록들, 코닝 유닛(Coding Unit)(CU)들, 블록들, 변환 유닛(Transform Unit)(TU)들, 예측 유닛(Prediction Unit)(PU)들 등을 포함할 수 있다. 엔트로피 디코더/파서는 또한, 코딩된 비디오 시퀀스로부터, 변환 계수들, 양자화기 파라미터 값들, 모션 벡터들 등과 같은 정보를 추출할 수 있다.
파서(304)는 심볼들(313)을 생성하기 위하여, 버퍼(303)로부터 수신된 비디오 시퀀스에 대해 엔트로피 디코딩/파싱 동작을 수행할 수 있다. 파서(304)는 인코딩된 데이터를 수신할 수 있고, 특정한 심볼들(313)을 선택적으로 디코딩할 수 있다. 또한, 파서(304)는 특정한 심볼들(313)이 모션 보상 예측 유닛(Motion Compensation Prediction unit)(306), 스케일러/역변환 유닛(scaler/inverse transform unit)(305), 인트라 예측 유닛(Intra Prediction Unit)(307), 또는 루프 필터(loop filter)(311)에 제공되어야 하는지 여부를 결정할 수 있다.
심볼들(313)의 재구성은 (인터 및 인트라 픽처, 인터 및 인트라 블록과 같은) 코딩된 비디오 픽처 또는 그 부분들의 유형 및 다른 인자들에 따라, 다수의 상이한 유닛들을 수반할 수 있다. 어느 유닛들이 그리고 어떻게 수반되는지는 파서(304)에 의해 코딩된 비디오 시퀀스로부터 파싱되었던 서브그룹 제어 정보에 의해 제어될 수 있다. 파서(304)와 이하의 다수의 유닛들 사이의 이러한 서브그룹 제어 정보의 흐름은 명확함을 위하여 도시되지 않는다.
이미 언급된 기능적 블록들을 넘어서, 디코더(300)는 이하에 설명된 바와 같은 다수의 기능적 유닛들로 개념적으로 하위분할될 수 있다. 상업적인 제약들 하에서의 실제적인 구현 동작에서, 이 유닛들 중의 많은 것은 서로 밀접하게 상호작용하고, 적어도 부분적으로 서로에 통합될 수 있다. 그러나, 개시된 발명 요지를 설명하는 목적을 위하여, 이하의 기능적 유닛들로의 개념적인 하위분할이 적절하다.
제1 유닛은 스케일러/역변환 유닛(305)이다. 스케일러/역변환 유닛(305)은 파서(304)로부터 심볼(들)(313)로서, 양자화된 변환 계수 뿐만 아니라, 어느 변환을 이용할 것인지, 블록 크기, 양자화 인자, 양자화 스케일링 행렬(quantization scaling matrix)들 등을 수신한다. 그것은 어그리게이터(aggregator)(310)로 입력될 수 있는 샘플 값들을 포함하는 블록들을 출력할 수 있다.
일부 경우들에는, 스케일러/역변환(305)의 출력 샘플들은 인트라 코딩된 블록; 즉, 이전에 재구성된 픽처들로부터의 예측 정보를 이용하는 것이 아니라, 현재의 픽처의 이전에 재구성된 부분들로부터의 예측 정보를 이용할 수 있는 블록에 속할 수 있다. 이러한 예측 정보는 인트라 픽처 예측 유닛(307)에 의해 제공될 수 있다. 일부 경우들에는, 인트라 픽처 예측 유닛(307)은 현재의(부분적으로 재구성된) 픽처(309)로부터 페치된(fetched) 포위하는 이미 재구성된 정보를 이용하여, 재구성 중인 블록의 동일한 크기 및 형상의 블록을 생성한다. 어그리게이터(310)는 일부 경우들에는, 샘플 마다에 기초하여, 인트라 예측 유닛(307)이 생성한 예측 정보를, 스케일러/역변환 유닛(305)에 의해 제공된 바와 같은 출력 샘플 정보에 추가한다.
다른 경우들에는, 스케일러/역변환 유닛(305)의 출력 샘플들은 인터 코딩된 그리고 잠재적으로 모션 보상된 블록에 속할 수 있다. 이러한 경우에, 모션 보상 예측 유닛(306)은 예측을 위하여 이용된 샘플들을 페치하기 위하여 참조 픽처 메모리(308)를 액세스할 수 있다. 블록에 속하는 심볼들(313)에 따라 페치된 샘플들을 모션 보상한 후에, 이 샘플들은 출력 샘플 정보를 생성하기 위하여, 어그리게이터(310)에 의해 스케일러/역변환 유닛의 출력(이 경우에, 잔차 샘플(residual sample)들 또는 잔차 신호로 칭해짐)에 추가될 수 있다. 모션 보상 유닛이 참조 픽처 메모리로부터 예측 샘플들을 페치하는 참조 픽처 메모리 내의 어드레스들은, 예를 들어, X, Y, 및 참조 픽처 컴포넌트들을 가질 수 있는 심볼들(313)의 형태로 모션 보상 유닛에게 이용가능한 모션 벡터들에 의해 제어될 수 있다. 모션 보상은 또한, 서브-샘플 정확한 모션 벡터들, 모션 벡터 예측 메커니즘들 등이 이용 중일 때, 참조 픽처 메모리로부터 페치된 바와 같은 샘플 값들의 보간(interpolation)을 포함할 수 있다.
어그리게이터(310)의 출력 샘플들은 루프 필터 유닛(311)에서의 다양한 루프 필터링 기법들에 종속적일 수 있다. 비디오 압축 기술들은, 코딩된 비디오 비트스트림 내에 포함되고 파서(304)로부터의 심볼들(313)로서 루프 필터 유닛(311)에 의해 이용가능하게 된 파라미터들에 의해 제어되지만, 또한, 코딩된 픽처 또는 코딩된 비디오 시퀀스의 이전의 (디코딩 순서에서의) 부분들의 디코딩 동안에 획득된 메타-정보(meta-information)에 응답할 수 있을 뿐만 아니라, 이전에 재구성되고 루프-필터링된 샘플 값들에 응답할 수 있는 인-루프(in-loop) 필터 기술들을 포함할 수 있다.
루프 필터 유닛(311)의 출력은, 렌더 디바이스(312)로 출력될 수 있을 뿐만 아니라, 미래의 인터-픽처 예측에서의 이용을 위하여 참조 픽처 메모리(557) 내에 저장될 수 있는 샘플 스트림일 수 있다.
어떤 코딩된 픽처들은, 일단 완전히 재구성되면, 미래의 예측을 위한 참조 픽처들로서 이용될 수 있다. 일단 코딩된 픽처가 완전히 재구성되고 코딩된 픽처가 (예를 들어, 파서(304)에 의해) 참조 픽처로서 식별되었으면, 현재의 참조 픽처(309)는 참조 픽처 버퍼(308)의 부분이 될 수 있고, 신선한 현재의 픽처 메모리는 후행하는 코딩된 픽처의 재구성을 시작하기 전에 재할당될 수 있다.
비디오 디코더(300)는 ITU-T Rec. H.265와 같은 표준에서 문서화될 수 있는 미리 결정된 비디오 압축 기술에 따라 디코딩 동작들을 수행할 수 있다. 코딩된 비디오 시퀀스는 비디오 압축 기술 문서 또는 표준에서 그리고 구체적으로 그 안의 프로파일들 문서에서 특정된 바와 같이, 코딩된 비디오 시퀀스가 비디오 압축 기술 또는 표준의 신택스를 고수한다는 의미에서, 이용되고 있는 비디오 압축 기술 또는 표준에 의해 특정된 신택스에 따를 수 있다. 또한, 코딩된 비디오 시퀀스의 복잡성이 비디오 압축 기술 또는 표준의 레벨에 의해 정의된 바와 같은 경계들 내에 있다는 것은 준수성(compliance)을 위하여 필요할 수 있다. 일부 경우들에는, 레벨들이 최대 픽처 크기, 최대 프레임 레이트, 최대 재구성 샘플 레이트(예를 들어, 초당 메가샘플(megasample per second)들로 측정됨), 최대 참조 픽처 크기 등을 한정한다. 레벨들에 의해 설정된 제한들은 일부 경우들에는, 코딩된 비디오 시퀀스에서 시그널링된 HRD 버퍼 관리를 위한 가설적 참조 디코더(Hypothetical Reference Decoder)(HRD) 사양들 및 메타데이터를 통해 추가로 한정될 수 있다.
실시예에서, 수신기(302)는 인코딩된 비디오와 함께 추가적인(중복적인) 데이터를 수신할 수 있다. 추가적인 데이터는 코딩된 비디오 시퀀스(들)의 일부로서 포함될 수 있다. 추가적인 데이터는 데이터를 적절하게 디코딩하고 및/또는 원래의 비디오 데이터를 더 정확하게 재구성하기 위하여 비디오 디코더(300)에 의해 이용될 수 있다. 추가적인 데이터는 예를 들어, 시간적, 공간적, 또는 신호-대-잡음 비율(signal-to-noise ratio)(SNR) 강화 계층들, 중복적인 슬라이스들, 중복적인 픽처들, 순방향 에러 정정 코드들 등의 형태일 수 있다.
도 4는 본 개시내용의 실시예에 따른 비디오 인코더(400)의 기능적인 블록도일 수 있다.
인코더(400)는 인코더(400)에 의해 코딩되어야 할 비디오 이미지(들)를 캡처할 수 있는 (인코더의 부분이 아닌) 비디오 소스(401)로부터 비디오 샘플들을 수신할 수 있다.
비디오 소스(401)는, 임의의 적당한 비트 깊이(예를 들어: 8 비트, 10 비트, 12 비트 ...), 임의의 컬러공간(예를 들어, BT.601 Y CrCB, RGB, ...), 및 임의의 적당한 샘플링 구조(예를 들어, Y CrCb 4:2:0, Y CrCb 4:4:4)일 수 있는 디지털 비디오 샘플 스트림의 형태로 인코더(303)에 의해 코딩되어야 할 소스 비디오 시퀀스를 제공할 수 있다. 미디어 서빙 시스템에서, 비디오 소스(401)는 이전에 준비된 비디오를 저장하는 저장 디바이스일 수 있다. 비디오회의 시스템에서, 비디오 소스(401)는 로컬 이미지 정보를 비디오 시퀀스로서 캡처하는 카메라일 수 있다. 비디오 데이터는 시퀀스로 관측될 때에 모션을 부여하는 복수의 개별적인 픽처들로서 제공될 수 있다. 픽처들 자체는 픽셀들의 공간적 어레이로서 편성될 수 있고, 여기서, 각각의 픽셀은 이용 중인 샘플링 구조, 컬러 공간 등에 따라 하나 이상의 샘플들을 포함할 수 있다. 본 기술분야에서의 통상의 기술자는 픽셀들과 샘플들 사이의 관계를 용이하게 이해할 수 있다. 이하의 설명은 샘플들에 초점을 맞춘다.
실시예에 따르면, 인코더(400)는 실시간으로 또는 애플리케이션에 의해 요구된 바와 같은 임의의 다른 시간 제약들 하에서, 소스 비디오 시퀀스의 픽처들을 코딩된 비디오 시퀀스(410)로 코딩할 수 있고 압축할 수 있다. 적절한 코딩 속력을 집행하는 것은 제어기(402)의 하나의 기능이다. 제어기는 이하에 설명된 바와 같은 다른 기능적 유닛들을 제어하고, 이 유닛들에 기능적으로 결합된다. 결합은 명확함을 위하여 도시되지 않는다. 제어기에 의해 설정된 파라미터들은 레이트 제어 관련된 파라미터들(픽처 스킵(picture skip), 양자화기, 레이트-왜곡 최적화 기법들의 람다 값(lambda value), ...), 픽처 크기, 픽처들의 그룹(GOP) 레이아웃, 최대 모션 벡터 검색 범위 등을 포함할 수 있다. 본 기술분야에서의 통상의 기술자는 어떤 시스템 설계를 위하여 최적화된 비디오 인코더(400)에 속할 수 있는 바와 같은 제어기(402)의 다른 기능들을 용이하게 식별할 수 있다.
일부 비디오 인코더들은 본 기술분야에서의 통상의 기술자가 "코딩 루프(coding loop)"로서 용이하게 인식하는 것에서 동작한다. 과다 단순화된 설명으로서, 코딩 루프는 (코딩되어야 할 입력 픽처 및 참조 픽처(들)에 기초하여 심볼들을 생성하는 것을 담당하는) 인코더(402)(이후로 "소스 코더")의 인코딩 부분, 및 (심볼들과 코딩된 비디오 비트스트림 사이의 임의의 압축이 개시된 발명 요지에서 고려된 비디오 압축 기술들에서 무손실일 때) (원격) 디코더가 또한 생성할 샘플 데이터를 생성하기 위하여 심볼들을 재구성하는 인코더(400)에서 구체화된 (로컬) 디코더(406)로 구성될 수 있다. 그 재구성된 샘플 스트림은 참조 픽처 메모리(405)로 입력된다. 심볼 스트림의 디코딩은 디코더 위치(로컬 또는 원격)에 독립적인 비트-정확한 결과들을 초래하므로, 참조 픽처 버퍼 내용은 또한, 로컬 인코더와 원격 인코더 사이에서 비트가 정확하다. 다시 말해서, 인코더의 예측 부분은 디코딩 동안에 예측을 이용할 때에 디코더가 "간주하는" 것과 정확하게 동일한 샘플 값들을 참조 픽처 샘플들로서 "간주한다". 참조 픽처 동기성(및 예를 들어, 채널 에러들로 인해, 동기성이 유지될 수 없을 경우의 결과적인 드리프트(drift))의 이러한 기본적인 원리는 본 기술분야에서의 통상의 기술자에게 양호하게 공지된다.
"로컬" 디코더(406)의 동작은 "원격" 디코더(300)와 동일할 수 있고, 이것은 도 3과 함께 위에서 상세하게 이미 설명되었다. 그러나, 도 4를 또한 간략하게 참조하면, 심볼들이 이용가능하고, 엔트로피 코더(408) 및 파서(304)에 의한 코딩된 비디오 시퀀스로의 심볼들의 인코딩/디코딩은 무손실일 수 있으므로, 채널(301), 수신기(302), 버퍼(303), 및 파서(304)를 포함하는, 디코더(300)의 엔트로피 디코딩 부분들은 로컬 디코더(406)에서 완전히 구현되지 않을 수 있다.
이 시점에서 행해질 수 있는 관찰은 디코더에서 존재하는 파싱/엔트로피 디코딩을 제외한 임의의 디코더 기술이 대응하는 인코더에서 실질적으로 동일한 기능적 형태로 반드시 또한 존재할 필요가 있다는 것이다. 인코더 기술들의 설명은 인코더 기술들이 철저하게 설명된 디코더 기술들의 역이기 때문에 축약될 수 있다. 오직 어떤 영역들에서, 더 상세한 설명이 요구되고 이하에 제공된다.
그 동작의 부분으로서, 소스 코더(403)는 "참조 프레임들"로서 지정되었던 비디오 시퀀스로부터의 하나 이상의 이전에-코딩된 프레임들을 참조하여 입력 프레임을 예측적으로 코딩하는 모션 보상된 예측 코딩을 수행할 수 있다. 이러한 방식으로, 코딩 엔진(407)은 입력 프레임의 픽셀 블록들과, 입력 프레임에 대한 예측 참조(들)로서 선택될 수 있는 참조 프레임(들)의 픽셀 블록들 사이의 차이들을 코딩한다.
로컬 비디오 디코더(406)는 소스 코더(403)에 의해 생성된 심볼들에 기초하여, 참조 프레임들로서 지정될 수 있는 프레임들의 코딩된 비디오 데이터를 디코딩할 수 있다. 코딩 엔진(407)의 동작들은 유리하게도 손실 프로세스들일 수 있다. 코딩된 비디오 데이터가 비디오 디코더(도 4에서 도시되지 않음)에서 디코딩될 수 있을 때, 재구성된 비디오 시퀀스는 전형적으로, 일부 에러들을 갖는 소스 비디오 시퀀스의 복제본(replica)일 수 있다. 로컬 비디오 디코더(406)는, 참조 프레임들에 대해 비디오 디코더에 의해 수행될 수 있고 재구성된 참조 프레임들이 참조 픽처 캐시(405) 내에 저장되게 할 수 있는 디코딩 프로세스들을 복제한다. 이러한 방식으로, 인코더(400)는 원단(far-end) 비디오 디코더(송신 에러들이 없음)에 의해 획득될 재구성된 참조 프레임들로서 공통적인 내용을 가지는 재구성된 참조 프레임들의 복사본들을 로컬 방식으로 저장할 수 있다.
예측기(404)는 코딩 엔진(407)에 대한 예측 검색들을 수행할 수 있다. 즉, 코딩되어야 할 새로운 프레임에 대하여, 예측기(404)는 (후보 참조 픽셀 블록들로서의) 샘플 데이터, 또는 새로운 픽처들에 대한 적절한 예측 참조로서 역할을 할 수 있는 참조 픽처 모션 벡터들, 블록 형상들 등과 같은 어떤 메타데이터를 위하여 참조 픽처 메모리(405)를 검색할 수 있다. 예측기(404)는 적절한 예측 참조들을 구하기 위하여 샘플 블록-대-픽셀 블록(sample block-by-pixel block)에 기초하여 동작할 수 있다. 일부 경우들에는, 예측기(404)에 의해 획득된 검색 결과들에 의해 결정된 바와 같이, 입력 픽처는 참조 픽처 메모리(405) 내에 저장된 다수의 참조 픽처들로부터 인출된 예측 참조들을 가질 수 있다.
제어기(402)는 예를 들어, 비디오 데이터를 인코딩하기 위하여 이용된 파라미터들 및 서브그룹 파라미터들의 설정을 포함하는, 비디오 코더(403)의 코딩 동작들을 관리할 수 있다.
모든 전술한 기능적 유닛들의 출력은 엔트로피 코더(408)에서 엔트로피 코딩에 종속적일 수 있다. 엔트로피 코더는 예를 들어, 허프만 코딩, 가변 길이 코딩, 산술 코딩 등으로서 본 기술분야에서의 통상의 기술자에게 공지된 기술들에 따라 심볼들을 무손실 압축함으로써, 다양한 기능적 유닛들에 의해 생성된 바와 같은 심볼들을 코딩된 비디오 시퀀스로 변환한다.
송신기(409)는 인코딩된 비디오 데이터를 저장할 저장 디바이스에 대한 하드웨어/소프트웨어 링크일 수 있는 통신 채널(411)을 통한 송신을 위하여 코딩된 비디오 시퀀스(들)를 준비하기 위하여, 엔트로피 코더(408)에 의해 생성된 바와 같은 코딩된 비디오 시퀀스(들)를 버퍼링할 수 있다. 송신기(409)는 비디오 코더(403)로부터의 코딩된 비디오 데이터를 송신되어야 할 다른 데이터, 예를 들어, 코딩된 오디오 데이터 및/또는 부수적인 데이터 스트림들(소스들이 도시되지 않음)과 병합할 수 있다.
제어기(402)는 인코더(400)의 동작을 관리할 수 있다. 코딩 동안에, 제어기(405)는 이 개개의 픽처에 적용될 수 있는 코딩 기법들에 영향을 줄 수 있는 어떤 코딩된 픽처 유형을 각각의 코딩된 픽처에 배정할 수 있다. 예를 들어, 픽처들은 종종 다음의 프레임 유형들 중의 하나로서 배정될 수 있다:
인트라 픽처(Intra Picture)(I 픽처)는 시퀀스에서의 임의의 다른 프레임을 예측의 소스로서 이용하지 않으면서 코딩될 수 있고 디코딩될 수 있는 것일 수 있다. 일부 비디오 코덱들은 예를 들어, 독립적 디코더 리프레시 픽처(Independent Decoder Refresh Picture)들을 포함하는 상이한 유형들의 인트라 픽처들을 허용한다. 본 기술분야에서의 통상의 기술자는 I 픽처들의 그 변형들 및 그 개개의 애플리케이션들 및 특징들을 인지한다.
예측 픽처(P 픽처)는 각각의 블록의 샘플 값들을 예측하기 위하여 최대한 하나의 모션 벡터 및 참조 인덱스를 이용하는 인트라 예측 또는 인터 예측을 이용하여 코딩될 수 있고 디코딩될 수 있는 것일 수 있다.
양방향 예측 픽처(B 픽처)는 각각의 블록의 샘플 값들을 예측하기 위하여 최대한 2 개의 모션 벡터들 및 참조 인덱스들을 이용하는 인트라 예측 또는 인터 예측을 이용하여 코딩될 수 있고 디코딩될 수 있는 것일 수 있다. 유사하게, 다수-예측 픽처들은 단일 블록의 재구성을 위한 2 개 초과의 참조 픽처들 및 연관된 메타데이터를 이용할 수 있다.
소스 픽처들은 통상적으로, 복수의 샘플 블록들(예를 들어, 각각 4 x 4, 8 x 8, 4 x 8, 또는 16 x 16 샘플들의 블록들)로 공간적으로 하위분할될 수 있고, 블록-대-블록(block-by-block)에 기초하여 코딩될 수 있다. 블록들은 블록들의 개개의 픽처들에 적용된 코딩 배정에 의해 결정된 바와 같은 다른(이미 코딩된) 블록들을 참조하여 예측적으로 코딩될 수 있다. 예를 들어, I 픽처들의 블록들은 비-예측적으로 코딩될 수 있거나, 이들은 동일한 픽처의 이미 코딩된 블록들을 참조하여 예측적으로 코딩될 수 있다(공간적 예측 또는 인트라 예측). P 픽처들의 픽셀 블록들은 하나의 이전에 코딩된 참조 픽처들을 참조하여 공간적 예측을 통해 또는 시간적 예측을 통해, 비-예측적으로 코딩될 수 있다. B 픽처들의 블록들은 1 또는 2 개의 이전에 코딩된 참조 픽처들을 참조하여 공간적 예측을 통해 또는 시간적 예측을 통해, 비-예측적으로 코딩될 수 있다.
비디오 코더(400)는 ITU-T Rec. H.265와 같은 미리 결정된 비디오 코딩 기술 또는 표준에 따라 코딩 동작들을 수행할 수 있다. 그 동작 시에, 비디오 코더(400)는 입력 비디오 시퀀스에서의 시간적 및 공간적 중복성들을 활용하는 예측 코딩 동작들을 포함하는 다양한 압축 동작들을 수행할 수 있다. 그러므로, 코딩된 비디오 데이터는 이용되고 있는 비디오 코딩 기술 또는 표준에 의해 특정된 신택스를 따를 수 있다.
실시예에서, 송신기(409)는 인코딩된 비디오와 함께 추가적인 데이터를 송신할 수 있다. 소스 코더(403)는 이러한 데이터를 코딩된 비디오 시퀀스의 부분으로서 포함할 수 있다. 추가적인 데이터는 시간적/공간적/SNR 강화 계층들, 중복적인 픽처들 및 슬라이스들과 같은 다른 형태들의 중복적인 데이터, 보충적 강화 정보(SEI) 메시지들, 시각적 이용가능성 정보(VUI) 파라미터 세트 프래그먼트들 등을 포함할 수 있다.
도 5는 예시적인 실시예들에 따른, 360 도 회의 호출과 같은 호출(500)을 예시한다. 도 5를 참조하면, 회의 호출은 룸(501)에서 편성되고 있다. 룸(501)은 룸(501)에서 물리적으로 존재하는 사람들, 전방향 카메라(505), 및 뷰 스크린(502)으로 구성된다. 2 명의 다른 사람들(503 및 504)은 모임에 합류하고, 예시적인 실시예들에 따르면, 사람(503)은 VR 및/또는 AR 헤드셋을 이용하고 있을 수 있고, 사람(504)은 스마트폰 또는 태블릿을 이용하고 있을 수 있다. 사람들(503 및 504)은 전방향 카메라(505)를 통해 회의실의 360도 뷰를 수신하고, 수신된 뷰들은 예를 들어, 그 특정 뷰-스크린 배향들에 관련된 360 도 뷰의 상이한 부분들을 관측할 수 있거나 관측하지 않을 수 있는 사람들(503 및 504)에 대한 것일 수 있다. 원격 참여자들, 예를 들어, 사람들(503 및 504)은 또한, 서로의 카메라 피드(camera feed)에 초점을 맞추는 옵션을 가진다. 도 5에서, 사람들(503 및 504)은 그 뷰포트 정보(507 및 508)를 룸(501), 또는 전방향 카메라(505) 및 뷰 스크린(502)에 관련된 다른 네트워크화된 디바이스들로 각각 전송하고, 이들은 궁극적으로, 사람들(503 및 504)에게 뷰포트 종속적 비디오(509 및 510)를 각각 전송한다.
원격 사용자, 예를 들어, 회의에 원격으로 합류하는 헤드 장착 디스플레이(HMD)를 착용하는 사람(503)은 전방향 카메라에 의해 캡처된 회의실로부터의 스테레오 또는 몰입형 음성/오디오 및 몰입형 비디오를 수신한다. 사람(504)은 또한, HMD를 착용할 수 있거나, 스마트폰 또는 태블릿과 같은 핸드헬드 이동 디바이스를 이용할 수 있다.
예시적인 실시예들에 따르면, 전방향 미디어 포맷(Omnidirectional Media format)(OMAF)은 (i) 뷰포트-독립적이고 (ii) 뷰포트-종속적인 2 개의 유형들의 미디어 프로파일을 정의한다. 뷰포트-독립적 스트리밍(viewport-independent streaming)(VIS)을 이용할 때, 전체 비디오는 사용자의 뷰포트에 관계 없이 고품질로 송신된다. VIS가 이용될 때, HMD 이동 동안에 지연이 경험되지 않지만; 그러나, 대역폭 요건은 상대적으로 높을 수 있다.
전체 고해상도 몰입형 비디오들을 바람직한 품질로 스트리밍하는 것은 사용자의 관측 시야(field of view)(FoV)가 제한될 수 있으므로, 네트워크 대역폭에 대한 제한들, 디코딩 복잡도들, 및 최종 디바이스들의 컴퓨팅 제약들로 인해 덜 효율적일 수 있다. 그러므로, 예시적인 실시예들에 따르면, 뷰포트-종속적 스트리밍(viewport-dependent streaming)(VDS)은 전방향 미디어 포맷(OMAF)으로 정의되었다. VDS가 이용될 때, 오직 사용자의 현재의 뷰포트가 고품질로 스트리밍되는 반면, 나머지는 비교적 더 낮은 품질로 스트리밍된다. 이것은 상당한 양의 대역폭을 절감하는 것을 돕는다.
VDS를 이용하는 동안에, 원격 사용자들, 예를 들어, 사람들(503 및 504)은 그 뷰포트 배향 정보를 RTCP 보고들을 통해 전송할 수 있다. 이 보고들은 고정된 간격들로, 이벤트-기반 트리거들로, 또는 규칙적인 간격 및 이벤트-기반 트리거들을 포함하는 하이브리드 방식을 이용하여 전송될 수 있다.
예시적인 실시예들에 따르면, 이벤트-기반 피드백은 뷰포트가 변경되고 즉각적인 피드백이 전송될 때마다 트리거링된다. RTCP 보고의 빈도는 HMD의 속력에 종속적일 것이고, HMD 속력이 증가함에 따라 증가할 것이다.
이제, HMD 속력이 크고 피드백 트리거 각도가 상대적으로 짧을 경우에, 큰 수의 이벤트-기반 RTCP 보고들이 생성될 것이고 서버로 전송될 것이다. 이것은 요구된 대역폭이 RTCP 5 % 대역폭 제한들을 초과하는 것으로 귀착될 수 있다. 예를 들어, 20 Mbps 비디오에 대한 점대점 시나리오(point to point scenario)의 예시도(1000)에 대하여 도 10을 참조하고, 피드백 트리거가 0.1 도이고, HMD 속력이 초당 125 도를 초과할 때, RTCP 보고들이 전송되기 위하여 요구된 대역폭은 1 Mbps의 RTCP 대역폭 제한을 초과한다. 도 10은 0.1, 0.5, 1, 및 2 도 트리거들에 대한 초당(per second) 생성된 이벤트-기반 RTCP 피드백을 지칭한다.
사용자의 초기 뷰포트 배향, 디코딩/렌더링 메타데이터, 및 캡처된 관측-시야는 회의실(801)과 원격 사용자(802) 사이의 도 8에서의 S803과 같은, IMS를 위한 정상적인 멀티미디어 전화 서비스(MTSI) 호출 시그널링에 추가적으로, 호출 셋업 동안에 세션 설명 프로토콜(session description protocol)(SDP)에서 시그널링된다. 호출 확립 후에, 원격 당사자들은 그 뷰포트 배향 정보를 RTCP 보고들을 통해 전송한다.
RTCP 피드백은 예시적인 실시예들에 따라, 5 % 대역폭 사용량 규칙을 따를 수 있다. 그러므로, RTCP의 빈도는 그룹 크기 또는 원격 참여자들의 수에 종속된다. 그룹 크기가 증가함에 따라, 피드백은 대역폭 사용량 제한들을 따르기 위하여 덜 빈번하게 전송될 수 있다. 즉각적인 피드백은 원격 참여자들의 수가 작을 때에 이용될 수 있다. 참여자들의 수가 증가함에 따라, 조기 RTCP 피드백이 이용될 수 있다. 그러나, 그룹 크기가 커질 경우에, 규칙적인 RTCP 피드백이 전송되어야 한다. 인터넷 공학 태스크 포스(internet engineering task force)(IETF) 코멘트들에 대한 요청(request for comments)(RFC) 3550에 따라, RTCP를 위한 최소 송신 간격은 5 초일 수 있다. 그룹 크기가 증가함에 따라, RTCP 피드백 간격은 또한 증가할 수 있고, 추가적인 지연으로 귀착될 수 있다. 본 명세서에서의 예시적인 실시예들에 따르면, 그리고 예를 들어, 몰입형 비디오에서의 이용을 위하여, RTCP 보고들은 고정된 간격-기반, 및 도 5에서의 사람(503) 및/또는 사람(504)과 같은 원격 사람 당 뷰포트 배향에서의 변경에 의해 트리거링될 수 있는 이벤트-기반 중의 임의의 것에 따라 전송될 수 있다.
예시적인 실시예들에 따르면, RTCP 피드백 패킷들은 스테이터스 보고(status report) 및 피드백(feedback)(FB) 메시지들로 구성되는 합성 패킷들일 수 있다. 또한, 전송자 보고(sender report)(SR)/수신된 보고(received report)(RR) 패킷들은 다른 메시지들 외에 소스들 설명을 포함하는 합성 RTCP 패킷들의 일부로서 규칙적인 간격들로 송신되는 스테이터스 보고들을 포함한다.
예시적인 실시예들에 따르면, FB 메시지들을 포함하는 합성 RTCP 패킷들에서의 RTCP 패킷들의 순서는 다음과 같다:
- 임의적 암호화된 프리픽스(prefix),
- 강제적 SR 또는 RR,
- 강제적 SDES,
- 하나 이상의 FB 메시지들.
합성 패킷에서, FB 메시지들은 RR 및 소스 설명 RTCP 패킷들(source description RTCP packets)(SDES) 이후에 배치될 수 있다.
피드백 패킷들을 반송하는 2 개의 합성 RTCP 패킷들이 설명될 수 있다: 최소 합성 RTCP 피드백 패킷 및 전체 합성 RTCP 피드백 패킷
RTCP 피드백 메시지들은 IETF 4585에서 특정된다. 그것은 페이로드-특정 피드백 메시지를 지칭하는 PT(payload type(페이로드 유형)) = PSFB (206)에 의해 식별될 수 있다. 예시적인 실시예들에 따르면, 피드백 메시지는 규칙적인 간격 및 이벤트 기반의 둘 모두에 대한 뷰포트 정보의 시그널링을 수반할 수 있다.
도 1에서의 사람(503) 및 사람(504) 중의 하나와 같은 임의의 원격 참여자가 (그 개개의 디스플레이 디바이스의 공간적 배향을 변경하는 것에 의한 것과 같이) 그 개개의 뷰포트를 변경할 때, RTCP 뷰포트 피드백은 시기적절하게 전달되어야 하고, 그렇지 않으면, 그것은 지연을 야기시킬 것이고, 그 사용자를 위한 고품질 VR 경험에 영향을 미칠 것이다. 원격 참여자들의 수가 증가함에 따라, RTCP 피드백 간격이 증가한다. 단독으로 5 초 기반과 같이, 규칙적인 RTCP 피드백 간격이 전송될 경우에, 그것은 원격 참여자들의 수가 증가함에 따라 지연될 수 있다. 그러므로, 예시적인 실시예들에 따르면, RTCP 간격은 이러한 기술적 결점들에 대해 개선시키기 위하여 규칙적인 피드백 간격 및 이벤트-기반 간격의 조합일 수 있다.
예시적인 실시예들에 따르면, 규칙적인 RTCP 피드백 간격은 연속적인 송신 사이의 최소 RTCP 간격(Tmin)이 5 초이어야 하는 RTP 규칙들을 준수하는 합성 RTCP 패킷들로서 전송되어야 한다. 이 RTCP 간격은 RTCP 패킷 크기 및 이용가능한 RTCP 대역폭으로부터 도출될 수 있다. 전체 합성 패킷은 추가적인 수신기 보고들, 추가적인 SDES 항목들 등과 같은 임의의 추가적인 RTCP 패킷들을 포함한다.
뷰포트가 변경될 때, 이벤트-기반 피드백이 트리거링된다. 이 경우에, 최소 합성 RTCP 패킷이 전송될 수 있다. 최소 합성 RTCP 피드백 패킷은 필요한 암호화 프리픽스, 정확하게 하나의 SR 또는 RR, (존재하는 오직 CNAME 항목을 갖는) 정확하게 하나의 SDES, 및 FB 메시지(들)와 같은 강제적인 정보를 오직 포함한다. 이것은 피드백을 위하여 송신된 RTCP 패킷을 최소화하는 것을 돕고, 따라서, 대역폭에 대해 최소의 효과를 가질 것이다. 이벤트-기반 피드백은 규칙적인 RTCP 피드백 간격과 달리, 그룹 크기에 의해 영향받지 않는다.
사용자가 도 7에서와 같이, 뷰포트(701)를 변경할 때, 이벤트-기반 피드백이 트리거링되고, 규칙적인 피드백 간격은 최소 간격(Tmin) 후에 시작해야 한다. 이제, 사용자가 최소 간격 전에 그 뷰포트(701)를 변경할 경우에, 이벤트-기반 피드백은 다시 트리거링된다. 이것은 이 이벤트들이 연속적으로 발생할 경우에, 5 % 대역폭 규칙에 영향을 줄 수 있다. 그러나, 이벤트-기반 피드백들에 대해 최소 간격 제약을 두는 것은 사용자의 경험을 열화시킬 것이다. 따라서, 전송되어야 할 이벤트-기반 피드백들에 대하여 정의된 최소 간격이 없어야 한다. RTCP 피드백을 위한 대역폭 사용량을 준수하기 위하여, 규칙적인 피드백들을 위한 간격은 증가될 수 있고, 그러므로, 그것은 이벤트-기반 피드백들의 빈도 및 그들 사이의 간격들에 종속적이어야 한다.
본 명세서에서 설명된 예시적인 실시예들을 감안하면, 사용자는 M2HQdelay와 같은 지연을 최소화하고 사용자 경험을 강화하기 위하여 뷰포트(701) 주위에서, 도 7의 예시도(700)에서의 702와 같은 추가적인 더 고품질 마진(margin)들을 요청할 수 있다. 뷰포트(701)는 도 5에서의 원격 사람들(503 및 504)의 디바이스들 중의 임의의 것의 뷰포트일 수 있다. 이것은 원격 사람들(503 및 504) 중의 하나가 작은 헤드 모션 섭동(head motion perturbation)들을 수행하고 있을 때에 상당히 유용하다. 그러나, 도 8에서의 S805에서와 같은, 호출 동안에, 사용자가 자신의 헤드를 뷰포트 마진(702)의 외부에 있는 (무시가능한) 작은 정도만큼 이동시킬 때, 마진외(out-of-margin) 뷰포트 영역이 비교적 무시가능하고, 따라서, 송신되어야 할 규칙적인 피드백을 대기해야 하므로, 이벤트-기반 피드백은 트리거링되지 않아야 한다. 그러므로, 이벤트-기반 피드백이 트리거링될 수 있기 전에 요(yaw), 피치(pitch), 및 롤(roll)에 대하여 정의된 어느 정도의 공차(tolerance)(703)가 있을 수 있고, 예를 들어, 도 8에서 S804를 참조하면, 여기서, 공차 정보는 원격 사용자(802)로부터 회의실(801)로 송신될 수 있다. 이러한 공차의 정도(703), 즉, 이벤트-기반 피드백 공차 마진(705)을 포함하는 공차 정보는 사용자의 뷰포트로부터의 회전 각도 요(tyaw), 피치(tpitch), 및 롤(troll) 중의 하나 이상으로서 정의될 수 있다. 이러한 정보는 도 8에서와 같이, 초기 SDP 세션(S804) 동안에, 또는 S806에서와 같이, 실시예들에 따른 세션 사이에서 협상될 수 있다.
도 6은 예시적인 실시예들에 따라 본 명세서에서 설명된 이러한 피드백 메시지들에 대한 포맷(600)을 예시한다.
도 6은 RTCP 피드백 메시지 포맷(600)을 도시한다. 도 6에서, FMT는 피드백 메시지 유형을 나타내는 반면, PT는 페이로드 유형을 나타낸다. RTCP 피드백 메시지에 대하여, FMT는 값 '9'로 설정될 수 있는 반면, PT는 206으로 설정된다. FCI(feedback message control information(피드백 메시지 제어 정보))는 뷰포트 정보를 포함하고, 예시적인 실시예들에 따라, 다음의 파라미터들로 구성된다: Viewport_azimuth; Viewport_elevation; Viewport_tilt; Viewport_azimuth_range; Viewport_elevation_range; Viewport_stereoscopic.
도 9는 플로우차트(900)를 예시한다. S901에서는, 도 8에서의 S803에서와 같은 초기화를 포함하는 호출 셋업(901)이 있고, 실시예들에 따르면, IMS를 위한 정상적인 멀티미디어 전화 서비스(MTSI) 호출 시그널링에 추가적으로, 호출 셋업 동안에 세션 설명 프로토콜(SDP)에서 시그널링되는 사용자의 뷰포트 배향, 디코딩/렌더링 메타데이터, 및 캡처된 관측-시야를 포함하는 정보의 제공이 있다. 위에서 설명된 바와 같은 공차의 정도는 이 S901에서 설정될 수 있다.
호출 확립 후에, S902에서, 원격 당사자들은 호출의 시작과 함께, 그 뷰포트 배향 정보를 RTCP 보고들을 통해 전송한다. 그 다음으로, S903에서, 트리거링되는 이벤트-기반 피드백이 있는지 여부, 및 규칙적인 피드백 간격이 트리거링되는지 여부가 결정될 수 있다. 규칙적인 피드백 간격은 시간-기반 피드백으로서, 예를 들어, 5 초와 같은 일부 시간 주기가 통과하였는지 여부를 결정함으로써 트리거링될 수 있다. 이벤트-기반 피드백은 원격 사용자의 뷰포트가 공간적 배향에서 변경되었는지 여부, 및 그러한 경우에, 도 7에서의 공차 마진들(705)에 대한 것과 같이, 그 변경이 미리 설정된 공차 범위들 내에 또는 이를 넘어서는지 여부에 의해 결정될 수 있다.
시간-기반 피드백이 S905에서 결정될 경우에, 합성 RTCP 패킷이 전송될 수 있다. 예시적인 실시예들에 따르면, 규칙적인 RTCP 피드백 간격은 연속적인 송신 사이의 최소 RTCP 간격(Tmin)이 5 초이어야 하는 RTP 규칙들을 준수하는 합성 RTCP 패킷들로서 전송되어야 한다. 이 RTCP 간격은 RTCP 패킷 크기 및 이용가능한 RTCP 대역폭으로부터 도출될 수 있다. 전체 합성 패킷은 추가적인 수신기 보고들, 추가적인 SDES 항목들 등과 같은 임의의 추가적인 RTCP 패킷들을 포함한다. 나중에, S904에서, 공차 정보에 대한 일부 업데이트의 사용자 입력 또는 다른 입력이 있는지 여부가 결정될 수 있고, 그렇지 않을 경우에, 프로세스는 S905의 합성 RTCP 패킷에 대하여 수신된 임의의 통신들에 따라 S902에서의 호출을 루프화할 수 있거나 그렇지 않을 경우에 S902에서의 호출을 진행할 수 있다. 이 S905는 또한, 5 초와 같은 또 다른 시간 주기를 카운팅하기 위하여 타이머를 재설정할 수 있다.
이벤트-기반 피드백이 S906에서 결정될 경우에, 최소 RTCP 패킷이 전송될 수 있다. 예를 들어, 뷰포트가 변경될 때, 이벤트-기반 피드백이 트리거링된다. 이 경우에, 최소 합성 RTCP 패킷이 전송될 수 있다. 최소 합성 RTCP 피드백 패킷은 필요한 암호화 프리픽스, 정확하게 하나의 SR 또는 RR, (존재하는 오직 CNAME 항목을 갖는) 정확하게 하나의 SDES, 및 FB 메시지(들)와 같은 강제적인 정보를 오직 포함한다. 이것은 피드백을 위하여 송신된 RTCP 패킷을 최소화하는 것을 돕고, 따라서, 대역폭에 대해 최소의 효과를 가질 것이다. 이벤트-기반 피드백은 규칙적인 RTCP 피드백 간격과 달리, 그룹 크기에 의해 영향받지 않는다. 나중에, S904에서, 공차 정보에 대한 일부 업데이트의 사용자 입력 또는 다른 입력이 있는지 여부가 결정될 수 있고, 그렇지 않을 경우에, 프로세스는 S906의 최소 RTCP 패킷에 대하여 수신된 임의의 통신들에 따라 S902에서의 호출을 루프화할 수 있거나 그렇지 않을 경우에 S902에서의 호출을 진행할 수 있다. 이 S906은 또한, 5 초와 같은 또 다른 시간 주기를 카운팅하기 위하여 타이머를 재설정할 수 있다. 또한, S906으로부터, 예를 들어, 도 10, 도 11, 도 12, 및 도 13에 대하여 추가로 설명된 바와 같은 실시예들에 따라 RTCP의 5 % 대역폭 규칙의 과잉에 기여하는 것과 같이, 이벤트-기반 트리거링의 빈도가 임계치를 초과하는 것으로 S906에서 또한 결정될 경우에, 증가된 경과된 시간을 카운팅하기 위하여 타이머를 업데이팅할 것인지 여부가 S904에서 또한 결정될 수 있다.
예시적인 실시예들은 2 개의 연속적인 이벤트-기반 RTCP 피드백들, 예를 들어, 중간 S905 없이 S906 내지 S906 사이의 최소 간격을 정의하기 위한 파라미터를 도입하여, 대역폭 요건은 RTCP 대역폭 제한을 초월하지 않고, 업데이트에 의해, 또는 그렇지 않을 경우에 S904에서 참작될 수 있다.
S906에서의 상대적으로 짧은 피드백 트리거가 큰 HMD 모션을 위하여 이용될 때, RTCP 대역폭 요건은 RTCP 대역폭 제한들을 초과할 수 있다. 따라서, 이벤트-기반 RTCP 보고들에 대한 대역폭 요건은 예시적인 실시예들에 따라, HMD 속력 및 피드백 트리거 정도에 종속적일 수 있다.
이벤트-기반 피드백 간격은 2 개의 연속적인 트리거들 사이의 시간 간격이다. HMD 속력이 증가함에 따라, 이벤트-기반 피드백 간격이 감소하여, 대역폭 요건에서의 증가로 귀착된다. 이벤트-기반 피드백은 이하로서 정의될 수 있다:
이벤트-기반 피드백 간격 = (수학식 1)
그러므로, 5 % RTCP 규칙을 준수하도록 대역폭 요건을 제한하기 위하여, 임계치 파라미터가 정의된다. 이 임계치 파라미터는 이벤트-기반 피드백 간격에 종속적일 수 있다.
다음의 가정들은 예시적인 실시예들에 따라 행해질 수 있다:
대역폭(bps) = B, (수학식 2)
RTCP 할당된 대역폭(bps) = RB (수학식 3)
RTCP 패킷 크기(바이트들) = P (수학식 4)
RTCP 최소 간격 = Imin (수학식 5)
RTCP 대역폭은 RTCP 규칙에 따라 5 % 대역폭을 초과하지 않아야 한다. 그러므로,
RB = 0.05B (수학식 6)
반면에, Imin는 이하로서 기재될 수 있고,
(수학식 7)
20 Mbps의 총 대역폭을 가정하면, 피드백 정도가 0.1 도이고 HMD 속력이 125 도/sec 초과일 때, 대역폭 값들은 5 % RTCP 대역폭 제한들을 초과한다. 도 10에서의 예시도(1000)로부터 알 수 있는 바와 같다. 그러나, 이 값은 트리거가 0.5, 1, 및 2로 증가할 때에 양호하게 제한들 내에 있다.
0.1, 0.5, 1, 및 2 도 트리거들에 대하여 초당 전송된 이벤트-기반 RTCP 피드백들의 수는 도 11에서의 예시도(1100)에서 도시된다. 그러므로, RTCP 대역폭 제한을 준수하기 위하여, 예시적인 실시예들은 RTCP 이벤트-기반 피드백 간격을 증가시킬 수 있고, 2 개의 연속적인 RTCP 피드백들 사이의 최소 간격으로서 정의될 수 있고 되도록 선택될 수 있는 파라미터 Imin를 도입할 수 있다.
HMD 속력이 증가할 때, 초당 트리거들의 수는 마찬가지로 증가하여, 트리거 간격의 감소 및 RTCP 비트레이트의 증가로 귀착된다. 트리거 간격이 최소 포인트 Imin에 도달할 때, 그것은 추가로 감소되지 않아야 하고, 그러므로, 트리거들/sec의 최대 수는 점선 곡선으로 도 12의 예시도(1200)에서 도시된 바와 같이 도달된다. 도 12는 실시예들에 따라, Imin 파라미터가 도입된 후에, 0.1, 0.5, 1, 및 2 도 트리거들에 대하여 초당 생성된 이벤트-기반 RTCP 피드백을 지칭한다. 이 최소 포인트는 RTCP 대역폭(RB)이 대역폭의 5 %에 근접하지만 더 크지 않을 때에 도달될 것이다. 그러므로, Imin 파라미터는 허용된 RTCP 대역폭에 종속적일 것이다. 0.1 도 트리거에 대한 Imin 파라미터의 도입 이전 및 이후의 비트레이트는 도 13의 예시도(1300)에서 도시된다. 따라서, 최소 포인트 Imin에 도달된 후에, 곡선은 평탄화된다.
도 13을 추가로 참조하면, Imin은 일정한 헤드 속력에 대하여 계산되고, 실시예들에 따라, Imin 파라미터가 도입되기 이전 및 이후에 0.1 도 트리거에 대한 비트 레이트를 지칭한다. 그러나, 헤드의 상대적으로 짧은 통행 시간으로 인해, 평균과 일정한 헤드 속력 사이의 차이는 무관심하다.
예시적인 실시예들에 따르면, 규칙적인 간격 및 이벤트-기반 트리거들로 구성되는 이러한 하이브리드 보고 방식이 이용될 때:
(i) 규칙적인 간격은 RTCP 최소 간격과 동일하거나 더 커야(통상적으로, 그 배수 인자) 한다;
(ii) 트리거 임계치 각도 및 RTCP 최소 간격은 다음과 같도록 선택되어야 한다
(수학식 8)
도 10, 도 11, 도 12, 및 도 13에 대하여 위에서 설명된 이러한 계산들 중의 하나 이상은 도 9에서의 S904에서 수행될 수 있다.
따라서, 본 명세서에서 설명된 예시적인 실시예들에 의해, 위에서 언급된 기술적 문제들은 이 기술적 해결책들 중의 하나 이상에 의해 유리하게 개선될 수 있다. 예를 들어, 2 개의 연속적인 트리거들 사이의 최소 간격으로서 정의되는 파라미터 Imin는 이벤트-기반 RTCP 피드백들에 대하여 도입되어야 한다. 이것은 초당 전송된 이벤트-기반 트리거들의 수를 제한함으로써 대역폭 요건을 억제하는 것을 돕는다. 이 때문에, 헤드 모션이 증가하고 RTCP 간격이 최소(Imin) 값에 도달함에 따라, 비트 레이트는 포화되고 추가로 증가하지 않는다.
위에서 설명된 기법들은 컴퓨터-판독가능 명령들을 이용하고 하나 이상의 컴퓨터-판독가능 매체들에서 물리적으로 저장된 컴퓨터 소프트웨어로서, 또는 구체적으로 구성된 하나 이상의 하드웨어 프로세서들에 의해 구현될 수 있다. 예를 들어, 도 14는 개시된 발명 요지의 어떤 실시예들을 구현하기 위하여 적당한 컴퓨터 시스템(1400)을 도시한다.
컴퓨터 소프트웨어는 컴퓨터 중앙 프로세싱 유닛(central processing unit)(CPU)들, 그래픽 프로세싱 유닛(Graphics Processing Unit)(GPU)들 등에 의해 직접적으로, 또는 해독, 마이크로-코드 실행 등을 통해 실행될 수 있는 명령들을 포함하는 코드를 생성하기 위하여 어셈블리(assembly), 컴파일링(compilation), 링크(linking) 또는 유사한 메커니즘들에 종속적일 수 있는 임의의 적당한 머신 코드 또는 컴퓨터 언어를 이용하여 코딩될 수 있다.
명령들은 예를 들어, 개인용 컴퓨터들, 태블릿 컴퓨터들, 서버들, 스마트폰들, 게이밍 디바이스들, 사물 인터넷 디바이스들 등을 포함하는 다양한 유형들의 컴퓨터들 또는 그 컴포넌트들 상에서 실행될 수 있다.
컴퓨터 시스템(1400)을 위한 도 14에서 도시된 컴포넌트들은 본질적으로 예시적이고, 본 개시내용의 실시예들을 구현하는 컴퓨터 소프트웨어의 이용 또는 기능성의 범위에 대한 임의의 제한을 제안하도록 의도되지는 않는다. 컴포넌트들의 구성은 컴퓨터 시스템(1400)의 예시적인 실시예에서 예시된 컴포넌트들의 임의의 하나 또는 조합에 관련되는 임의의 종속성 또는 요건을 가지는 것으로서 해독되지 않아야 한다.
컴퓨터 시스템(1400)은 어떤 인간 인터페이스 입력 디바이스들을 포함할 수 있다. 이러한 인간 인터페이스 입력 디바이스는 예를 들어(키스트로크(keystroke)들, 스와이프(swipe)들, 데이터 글러브(data glove) 이동들과 같은) 촉각적 입력, (보이스, 클랩핑(clapping)과 같은) 오디오 입력, (제스처(gesture)들과 같은) 시각적 입력, 후각적 입력(도시되지 않음)을 통한 하나 이상의 인간 사용자들에 의한 입력에 응답할 수 있다. 인간 인터페이스 디바이스들은 또한, (음성, 음악, 주변 음과 같은) 오디오, (스캐닝된 이미지들, 스틸 이미지 카메라로부터 획득된 사진 이미지들과 같은) 이미지들, (2 차원 비디오, 입체적 비디오를 포함하는 3 차원 비디오와 같은) 비디오와 같은, 인간에 의한 지각적 입력에 반드시 직접적으로 관련되지 않은 어떤 미디어를 캡처하기 위하여 이용될 수 있다.
입력 인간 인터페이스 디바이스들은 키보드(1401), 마우스(1402), 트랙패드(1403), 터치 스크린(1410), 조이스틱(1405), 마이크로폰(1406), 스캐너(1408), 카메라(1407) 중의 하나 이상(각각의 도시된 것의 오직 하나)을 포함할 수 있다.
컴퓨터 시스템(1400)은 또한, 어떤 인간 인터페이스 출력 디바이스들을 포함할 수 있다. 이러한 인간 인터페이스 출력 디바이스들은 예를 들어, 촉각적 출력, 음, 및 냄새/맛을 통해 하나 이상의 인간 사용자들의 감각들을 자극하고 있을 수 있다. 이러한 인간 인터페이스 출력 디바이스들은 촉각적 출력 디바이스들(예를 들어, 터치-스크린(1410) 또는 조이스틱(1405)에 의한 촉각적 피드백이지만, 입력 디바이스들로서 역할을 하지 않는 촉각적 피드백 디바이스들이 또한 있을 수 있음), (스피커들(1409), 헤드폰들(도시되지 않음)과 같은) 오디오 출력 디바이스들, (각각이 터치-스크린 입력 능력을 갖거나 갖지 않고, 각각이 촉각적 피드백 능력을 갖거나 갖지 않고, 그 일부는 입체적 출력, 가상 현실 안경(도시되지 않음), 홀로그래픽 디스플레이들, 및 연기 탱크(smoke tank)들(도시되지 않음)과 같은 수단을 통해 2 차원 시각적 출력 또는 3 차원 초과 출력을 출력하는 것이 가능할 수 있는, CRT 스크린들, LCD 스크린들, 플라즈마 스크린들, OLED 스크린들을 포함하기 위한 스크린들(1410)과 같은) 시각적 출력 디바이스들, 및 프린터들(도시되지 않음)을 포함할 수 있다.
컴퓨터 시스템(1400)은 또한, CD/DVD(1411) 또는 유사한 매체들을 갖는 CD/DVD ROM/RW(1420)를 포함하는 광학 매체들, 썸-드라이브(thumb-drive)(1422), 분리가능 하드 드라이브 또는 솔리드 스테이트 드라이브(1423), 테이프 및 플로피 디스크(도시되지 않음)와 같은 레거시 자기 매체들, 보안 동글(security dongle)들(도시되지 않음)과 같은 특화된 ROM/ASIC/PLD 기반 디바이스들 등과 같은 인간 액세스가능한 저장 디바이스들 및 그 연관된 매체들을 포함할 수 있다.
본 기술분야에서의 통상의 기술자들은 또한, 이전에 개시된 발명 요지와 관련하여 이용된 바와 같은 용어 "컴퓨터 판독가능 매체들"은 송신 매체들, 반송파들, 또는 다른 일시적 신호들을 망라하지 않는다는 것을 이해해야 한다.
컴퓨터 시스템(1400)은 또한, 하나 이상의 통신 네트워크들(1498)에 대한 인터페이스(1499)를 포함할 수 있다. 네트워크들(1498)은 예를 들어, 무선, 유선, 광학적일 수 있다. 네트워크들(1498)은 추가로, 로컬, 광역, 대도시, 차량 및 산업, 실시간, 내지연성(delay-tolerant) 등일 수 있다. 네트워크들(1498)의 예들은 이더넷(Ethernet), 무선 LAN들, GSM, 3G, 4G, 5G, LTE 등을 포함하기 위한 셀룰러 네트워크들, 케이블 TV, 위성 TV, 및 지상 방송 TV를 포함하기 위한 TV 유선 또는 무선 광역 디지털 네트워크들, CANBus를 포함하기 위한 차량 및 산업 등과 같은 로컬 영역 네트워크들을 포함한다. 어떤 네트워크들(1498)은 (예를 들어, 컴퓨터 시스템(1400)의 USB 포트들과 같은) 어떤 범용 데이터 포트들 또는 주변 버스들(1450 및 1451)에 연결된 외부 네트워크 인터페이스 어댑터들을 보편적으로 요구하고; 다른 것들은 통상적으로, 이하에 설명된 바와 같은 시스템 버스로의 연결(예를 들어, PC 컴퓨터 시스템으로의 이더넷 인터페이스, 또는 스마트폰 컴퓨터 시스템으로의 셀룰러 네트워크 인터페이스)에 의해 컴퓨터 시스템(1400)의 코어로 통합된다. 이 네트워크들(1498) 중의 임의의 것을 이용하여, 컴퓨터 시스템(1400)은 다른 엔티티들과 통신할 수 있다. 이러한 통신은 예를 들어, 로컬 또는 광역 디지털 네트워크들을 이용하는 다른 컴퓨터 시스템들에 대해 단방향성 수신 단독(예를 들어, 방송 TV), 단방향성 전송-단독(예를 들어, 어떤 CANbus 디바이스들에 대한 CANbus), 또는 양방향성일 수 있다. 어떤 프로토콜들 및 프로토콜 스택(protocol stack)들은 위에서 설명된 바와 같은 그 네트워크들 및 네트워크 인터페이스들의 각각 상에서 이용될 수 있다.
전술한 인간 인터페이스 디바이스들, 인간-액세스가능한 저장 디바이스들, 및 네트워크 인터페이스들은 컴퓨터 시스템(1400)의 코어(1440)에 연결될 수 있다.
코어(1440)는 하나 이상의 중앙 프로세싱 유닛들(CPU)(1441), 그래픽 프로세싱 유닛들(GPU)(1442), 그래픽 어댑터(1417), 필드 프로그래밍가능 게이트 영역(Field Programmable Gate Area)(FPGA)들(1443)의 형태인 특화된 프로그래밍가능 프로세싱 유닛들, 어떤 태스크들을 위한 하드웨어 가속기들(1444) 등을 포함할 수 있다. 이 디바이스들은 판독-전용 메모리(Read-only memory)(ROM)(1445), 랜덤-액세스 메모리(Random-access memory)(1446), 내부 비-사용자 액세스가능한 하드 드라이브들과 같은 내부 대용량 스토리지, SSD들 등(1447)과 함께, 시스템 버스(1448)를 통해 접속될 수 있다. 일부 컴퓨터 시스템들에서, 시스템 버스(1448)는 추가적인 CPU들, GPU 등에 의한 확장들을 가능하게 하기 위하여 하나 이상의 물리적 플러그들의 형태로 액세스가능할 수 있다. 주변 디바이스들은 직접적으로 코어의 시스템 버스(1448)에, 또는 주변 버스(1451)를 통해 연결될 수 있다. 주변 버스를 위한 아키텍처들은 PCI, USB 등을 포함한다.
CPU들(1441), GPU들(1442), FPGA들(1443), 및 가속기들(1444)은 전술한 컴퓨터 코드를 조합으로 구성할 수 있는 어떤 명령들을 실행할 수 있다. 그 컴퓨터 코드는 ROM(1445) 또는 RAM(1446) 내에 저장될 수 있다. 과도적 데이터는 또한, RAM(1446) 내에 저장될 수 있는 반면, 영구적 데이터는 예를 들어, 내부 대용량 스토리지(1447) 내에 저장될 수 있다. 메모리 디바이스들 중의 임의의 것에 대한 고속 저장 및 취출은 하나 이상의 CPU(1441), GPU(1442), 대용량 스토리지(1447), ROM(1445), RAM(1446) 등과 밀접하게 연관될 수 있는 캐시 메모리의 이용을 통해 가능하게 될 수 있다.
컴퓨터 판독가능 매체들은 다양한 컴퓨터-구현된 동작들을 수행하기 위하여 그 상에 컴퓨터 코드를 가질 수 있다. 매체들 및 컴퓨터 코드는 본 개시내용의 목적들을 위하여 특수하게 설계되고 구성된 것들일 수 있거나, 이들은 컴퓨터 소프트웨어 기술분야들에서 통상의 기술자들에게 널리 공지되고 이용가능한 종류일 수 있다.
제한이 아닌 예로서, 아키텍처(1400) 및 구체적으로 코어(1440)를 가지는 컴퓨터 시스템은 하나 이상의 유형의 컴퓨터-판독가능 매체들에서 구체화된 소프트웨어를 실행하는 (CPU들, GPU들, FPGA, 가속기들 등을 포함하는) 프로세서(들)의 결과로서의 기능성을 제공할 수 있다. 이러한 컴퓨터-판독가능 매체들은 위에서 도입된 바와 같은 사용자-액세스가능한 대용량 스토리지 뿐만 아니라, 코어-내부 대용량 스토리지(1447) 또는 ROM(1445)과 같은, 비-일시적 본질인 코어(1440)의 어떤 스토리지와 연관된 매체들일 수 있다. 본 개시내용의 다양한 실시예들을 구현하는 소프트웨어는 이러한 디바이스들 내에 저장될 수 있고 코어(1440)에 의해 실행될 수 있다. 컴퓨터-판독가능 매체는 특정한 필요성들에 따라, 하나 이상의 메모리 디바이스들 또는 칩들을 포함할 수 있다. 소프트웨어는 코어(1440) 및 구체적으로, (CPU, GPU, FPGA 등을 포함하는) 그 안의 프로세서들로 하여금, RAM(1446) 내에 저장된 데이터 구조들을 정의하는 것, 및 소프트웨어에 의해 정의된 프로세스들에 따라 이러한 데이터 구조들을 수정하는 것을 포함하는, 본 명세서에서 설명된 특정한 프로세스들 또는 특정한 프로세스들의 특정한 부분들을 실행하게 할 수 있다. 추가적으로 또는 대안으로서, 컴퓨터 시스템은 본 명세서에서 설명된 특정한 프로세스들 또는 특정한 프로세스들의 특정한 부분들을 실행하기 위하여 소프트웨어 대신에 또는 소프트웨어와 함께 동작할 수 있는, 회로(예를 들어, 가속기(1444))에서 하드와이어링되거나 또는 그렇지 않을 경우에 구체화된 로직의 결과로서의 기능성을 제공할 수 있다. 소프트웨어에 대한 참조는 로직을 망라할 수 있고, 적절할 경우에 그 반대도 마찬가지이다. 컴퓨터-판독가능 매체들에 대한 참조는 실행을 위한 소프트웨어를 저장하는 (집적 회로(integrated circuit; IC)와 같은) 회로, 실행을 위한 로직을 구체화하는 회로, 또는 적절할 경우에 둘 모두를 망라할 수 있다. 본 개시내용은 하드웨어 및 소프트웨어의 임의의 적당한 조합을 망라한다.
이 개시내용은 몇몇 예시적인 실시예들을 설명하였지만, 개시내용의 범위 내에 들어가는 개조들, 치환들, 다양한 대체 등가물들이 있다. 본 기술분야에서의 통상의 기술자들은, 본 명세서에서 명시적으로 도시되거나 설명되지 않았지만, 개시내용의 원리들을 구체화하고, 이에 따라, 그 사상 및 범위 내에 있는 수 많은 시스템들 및 방법들을 고안할 수 있을 것이라는 것이 이에 따라 인식될 것이다.

Claims (20)

  1. 비디오 시그널링을 위한 방법으로서,
    상기 방법은 적어도 하나의 프로세서에 의해 수행되고, 상기 방법은:
    뷰포트(viewport)로의 비디오 회의 호출의 전달을 제어하는 단계;
    상기 비디오 회의 호출에 대한 이벤트-기반 임계치를 설정하는 단계;
    이벤트에 기초하여 상기 이벤트-기반 임계치가 트리거링되었는지 여부, 및 또 다른 이벤트로부터 경과한 시간의 양이 미리 결정된 시간의 양 미만인지 여부를 결정하는 단계; 및
    상기 이벤트-기반 임계치가 트리거링되었는지 여부, 및 다른 이벤트로부터 경과한 상기 시간의 양이 상기 미리 결정된 시간의 양 미만인지 여부를 결정하는 것에 기초하여, 상기 뷰포트로의 상기 비디오 회의 호출의 상기 전달을 추가로 제어하는 단계
    를 포함하고,
    상기 뷰포트로의 상기 비디오 회의 호출의 상기 전달을 추가로 제어하는 단계는 타이머가 트리거링되었는지 여부 또는 상기 이벤트-기반 임계치가 트리거링되었는지 여부에 따라 상이한 길이 패킷들을 프로세싱하는 단계를 포함하는, 비디오 시그널링을 위한 방법.
  2. 제1항에 있어서,
    상기 이벤트-기반 임계치는 상기 뷰포트의 공간적 배향에서의 적어도 변경의 정도를 포함하는, 비디오 시그널링을 위한 방법.
  3. 제2항에 있어서,
    상기 이벤트-기반 임계치가 트리거링되었는지 여부를 결정하는 단계는 상기 뷰포트의 상기 공간적 배향이 전에 상기 이벤트-기반 임계치의 상기 변경의 정도 초과만큼 변경되었는지 여부를 결정하는 단계를 포함하는, 비디오 시그널링을 위한 방법.
  4. 제3항에 있어서,
    상기 뷰포트로의 상기 비디오 회의 호출의 상기 전달을 추가로 제어하는 단계는 상기 뷰포트의 상기 공간적인 배향이 상기 이벤트-기반 임계치의 상기 변경의 정도 초과만큼 변경된 것으로 결정될 경우에, 상기 비디오 회의 호출의 적어도 추가적인 마진을 상기 뷰포트로 전달하는 단계를 포함하는, 비디오 시그널링을 위한 방법.
  5. 삭제
  6. 제1항에 있어서,
    상기 상이한 길이 패킷들 중에서, 타이머가 트리거링된 제1 패킷은 상기 이벤트-기반 임계치가 트리거링된 제2 패킷보다 더 긴, 비디오 시그널링을 위한 방법.
  7. 제1항에 있어서,
    상기 다른 이벤트로부터 경과한 상기 시간의 양이 상기 미리 결정된 시간의 양 미만인지 여부를 결정하는 것에 기초하여, 상기 이벤트가 상기 이벤트-기반 임계치를 트리거링하는 빈도가 빈도 임계치를 초과하는지 여부를 결정하는 단계를 더 포함하는, 비디오 시그널링을 위한 방법.
  8. 제7항에 있어서,
    상기 이벤트가 상기 이벤트-기반 임계치를 트리거링하는 상기 빈도가 상기 빈도 임계치를 초과하는 것으로 결정하는 것에 응답하여 타이머를 업데이팅하는 단계를 더 포함하는, 비디오 시그널링을 위한 방법.
  9. 제1항에 있어서,
    상기 뷰포트는 헤드셋 및 핸드헬드 이동 디바이스 중의 적어도 하나의 디스플레이인, 비디오 시그널링을 위한 방법.
  10. 제1항에 있어서,
    상기 비디오 회의 호출은 전방향 카메라의 360°비디오 데이터를 포함하는, 비디오 시그널링을 위한 방법.
  11. 비디오 시그널링을 위한 장치로서,
    컴퓨터 프로그램 코드를 저장하도록 구성된 적어도 하나의 메모리;
    상기 컴퓨터 프로그램 코드를 액세스하고 제1항 내지 제4항 및 제6항 내지 제10항 중 어느 한 항에 따른 방법을 수행하기 위해 상기 컴퓨터 프로그램 코드에 의해 명령된 바와 같이 동작하도록 구성된 적어도 하나의 프로세서
    를 포함하는, 비디오 시그널링을 위한 장치.
  12. 컴퓨터로 하여금 제1항 내지 제4항 및 제6항 내지 제10항 중 어느 한 항에 따른 방법을 실행하게 하는 프로그램을 저장하는 비-일시적 컴퓨터 판독가능 매체.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020227010607A 2020-05-08 2021-04-12 원격 단말들을 위한 몰입형 원격회의 및 원격현전을 위하여 rtcp 뷰포트의 시그널링을 위한 이벤트-기반 트리거 간격 KR102600572B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063022394P 2020-05-08 2020-05-08
US63/022,394 2020-05-08
US17/095,282 2020-11-11
US17/095,282 US11470300B2 (en) 2020-05-08 2020-11-11 Event-based trigger interval for signaling of RTCP viewport for immersive teleconferencing and telepresence for remote terminals
PCT/US2021/026792 WO2021225753A1 (en) 2020-05-08 2021-04-12 Event-based trigger interval for signaling of rtcp viewport for immersive teleconferencing and telepresence for remote terminals

Publications (2)

Publication Number Publication Date
KR20220054656A KR20220054656A (ko) 2022-05-03
KR102600572B1 true KR102600572B1 (ko) 2023-11-10

Family

ID=78413288

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227010607A KR102600572B1 (ko) 2020-05-08 2021-04-12 원격 단말들을 위한 몰입형 원격회의 및 원격현전을 위하여 rtcp 뷰포트의 시그널링을 위한 이벤트-기반 트리거 간격

Country Status (5)

Country Link
US (2) US11470300B2 (ko)
EP (1) EP4000259A4 (ko)
JP (2) JP7408798B2 (ko)
KR (1) KR102600572B1 (ko)
WO (1) WO2021225753A1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130250786A1 (en) 2012-03-23 2013-09-26 Avaya Inc. System and method for end-to-end call quality indication
US20200077124A1 (en) 2018-08-31 2020-03-05 At&T Intellectual Property I, L.P. Methods, devices, and systems for providing panoramic video content to a mobile device from an edge server

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8917632B2 (en) 2010-04-07 2014-12-23 Apple Inc. Different rate controller configurations for different cameras of a mobile device
CN102547214B (zh) 2012-02-22 2013-05-29 腾讯科技(深圳)有限公司 一种多人视频通信中的视频编码方法以及终端
US9386275B2 (en) * 2014-01-06 2016-07-05 Intel IP Corporation Interactive video conferencing
US10560660B2 (en) * 2017-01-04 2020-02-11 Intel Corporation Rectilinear viewport extraction from a region of a wide field of view using messaging in video transmission
US20190364261A1 (en) * 2017-01-10 2019-11-28 Lg Electronics Inc. Method for transmitting 360-degree video, method for receiving 360-degree video, apparatus for transmitting 360-degree video and apparatus for receiving 360-degree video
CN111684795B (zh) * 2017-12-15 2022-08-12 Pcms控股公司 用于在360°视频导航中使用查看路径的方法
US10848978B2 (en) * 2018-04-30 2020-11-24 Qualcomm Incorporated Radio (NR) for spectrum sharing
US11228622B2 (en) * 2019-04-08 2022-01-18 Imeve, Inc. Multiuser asymmetric immersive teleconferencing
US20210029326A1 (en) * 2019-10-15 2021-01-28 Intel Corporation Session description protocol (sdp) based signaling of camera calibration parameters
US11190802B2 (en) * 2020-03-27 2021-11-30 Nokia Technologies Oy Apparatus, a method and a computer program for omnidirectional video

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130250786A1 (en) 2012-03-23 2013-09-26 Avaya Inc. System and method for end-to-end call quality indication
US20200077124A1 (en) 2018-08-31 2020-03-05 At&T Intellectual Property I, L.P. Methods, devices, and systems for providing panoramic video content to a mobile device from an edge server

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
3GPP TSG-SA4 Meeting #108e Online Meeting, April 6-9, 2020 (S4-200650). Intel, Nokia Corporation. ITT4RT Permanent Document-Requirements, Working Assumptions and Potential Solutions. 2020.04.09. 1부.*

Also Published As

Publication number Publication date
JP2023500936A (ja) 2023-01-11
US20210352256A1 (en) 2021-11-11
JP2024019620A (ja) 2024-02-09
WO2021225753A1 (en) 2021-11-11
EP4000259A1 (en) 2022-05-25
US20220394232A1 (en) 2022-12-08
EP4000259A4 (en) 2022-08-31
US11838489B2 (en) 2023-12-05
JP7408798B2 (ja) 2024-01-05
US11470300B2 (en) 2022-10-11
KR20220054656A (ko) 2022-05-03
CN114514745A (zh) 2022-05-17

Similar Documents

Publication Publication Date Title
KR20240051290A (ko) 전방향 미디어 코딩을 위한 랩-어라운드 패딩 방법, 디바이스, 및 컴퓨터 판독가능 매체
US11677972B2 (en) Identifying tile from network abstraction unit header
CN113273185A (zh) 视频编码中的段类型
JP7254188B2 (ja) 点群符号化のためのパラメータセット設計の方法並びにその装置及びプログラム
US11711492B2 (en) Signaling of the RTCP viewport feedback for immersive teleconferencing and telepresence for remote terminals
US20230075516A1 (en) System and method for decoding including network abstraction layer unit structure with picture header
US20220217431A1 (en) In-manifest update event
EP3903477B1 (en) Method for syntax controlled decoded picture buffer management
KR102600572B1 (ko) 원격 단말들을 위한 몰입형 원격회의 및 원격현전을 위하여 rtcp 뷰포트의 시그널링을 위한 이벤트-기반 트리거 간격
CN114514745B (zh) 视频信号发送方法、装置、计算机设备及存储介质
US20230252735A1 (en) Apparatus for creating shared virtual conversational space with ar and non-ar devices using edge processing
US20230362257A1 (en) Procedure for discovery of capabilities and performance of 5g edgar devices
US20230222823A1 (en) Method for annotating vvc subpictures in dash

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant