KR20230094695A - 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법 및 장치 - Google Patents

멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법 및 장치 Download PDF

Info

Publication number
KR20230094695A
KR20230094695A KR1020210184044A KR20210184044A KR20230094695A KR 20230094695 A KR20230094695 A KR 20230094695A KR 1020210184044 A KR1020210184044 A KR 1020210184044A KR 20210184044 A KR20210184044 A KR 20210184044A KR 20230094695 A KR20230094695 A KR 20230094695A
Authority
KR
South Korea
Prior art keywords
segment
view
view stream
stream
size
Prior art date
Application number
KR1020210184044A
Other languages
English (en)
Inventor
현은희
류관웅
이제원
정준영
최동준
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020210184044A priority Critical patent/KR20230094695A/ko
Priority to US17/895,973 priority patent/US11997366B2/en
Publication of KR20230094695A publication Critical patent/KR20230094695A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2385Channel allocation; Bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26233Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving content or additional data duration or size, e.g. length of a movie, size of an executable file
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/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/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 개시는 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법 및 장치에 관한 것이다. 보다 구체적으로는, 본 개시는 임의의 순간에 수개 이상의 다중 영상을 동시에 전송하는 멀티뷰 스트리밍 서비스 환경에서 네트워크 상태 및 전송 환경의 변화를 반영하여 적응적으로 적응형 스트리밍을 처리하거나 전송하는 방법 및 장치에 관한 것이다. 본 개시의 실시예에 따른, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법은, 메인뷰 스트림의 i번째 세그먼트를 제1 품질레벨로 선택하여 다운로드 하는 단계, 상기 메인뷰 스트림의 i번째 세그먼트의 다운로드 시간 및 전송레이트에 기반하여, 다운로드 가능한 주변뷰 스트림들의 i번째 세그먼트의 크기를 유추하는 단계, 및 상기 유추된 주변뷰 스트림들의 i번째 세그먼트 크기에 부합하는 제2 품질레벨을 선택하고, 상기 선택된 제2 품질레벨에 기반하여 상기 주변뷰 스트림의 i번째 세그먼트를 다운로드 하는 단계를 포함한다.

Description

멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법 및 장치 {METHOD AND APPARATUS FOR PROCESSING ADAPTIVE MULTIVIEW STREAMING}
본 개시는 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법 및 장치에 관한 것이다. 보다 구체적으로는, 본 개시는 임의의 순간에 수개 이상의 다중 영상을 동시에 전송하는 멀티뷰 스트리밍 서비스 환경에서 네트워크 상태 및 전송 환경의 변화를 반영하여 적응적으로 적응형 스트리밍을 처리하거나 전송하는 방법 및 장치에 관한 것이다.
인터넷을 통해 최고의 경험 품질(QoE)을 갖춘 비디오 서비스를 제공하기 위해 제안된 HTTP 적응적 스트리밍(HAS: HTTP adaptive streaming)이라고 부르는 패러다임은 미디어 콘텐츠를 일반 웹 콘텐츠처럼 취급하여 HTTP 프로토콜을 통해 작은 조각 단위로 전달하게 된다. HAS는 출현 이후 서비스 및 콘텐츠 제공업체들의 선도적인 채택으로 인해 빠르게 비디오 스트리밍 분야에서 지배적인 접근법이 되었다. 하지만 다양한 업체들이 자신들만의 고유한 HAS 방식을 제안하여 적용함으로써 스트리밍 서비스를 제공하고자 하는 서비스 플랫폼들은 여러가지의 방안들을 모두 수용해야 하는 상황에 처하게 되었다. 따라서, 이러한 부담을 해결하기 위해 HTTP 기반의 동적 적응형 스트리밍(DASH: Dynamic Adaptive Streaming over HTTP)에 대한 표준화 작업이 진행되어 완료되었으며 현재 아주 많은 분야에서 표준화된 방식이 채택되어 적용 범위를 확장해 가고 있다.
관련하여, 도 1은 일반적인 HTTP 적응 스트리밍 시스템에서의 동작 원리를 도시한 것이다. 도 1의 서버(sever, 110)는 비디오를 짧은 길이(예를 들어, 수 초의 세그먼트, 혹은 수십, 수백 밀리초 단위의 청크들의 집합으로 구성된 세그먼트)의 세그먼트로 나누고 각 세그먼트는 다양한 속도로 (예를 들어, 저화질에서 고화질까지) 코딩 되어 서버(110)에 여러 개의 파일로 나누어 저장된다(123). 도 1의 클라이언트(client, 120)는 네트워크(130, 예를 들어 '인터넷') 상태를 모니터링 하고(122), 사용 가능한 네트워크 용량을 추정하여 스트리밍할 비디오 속도를 결정하게 된다(121). 상기 종래 프로세스를 적응형 비트 전송률 선택 또는 ABR(adaptive bitrate streaming) 이라고 한다. 관련하여, 여기서 상기 클라이언트(120)는, 스마트 폰, 가정용 TV, 게임 콘솔, 웹 브라우저, DVD 플레이어 등이 될 수 있다.
구체적으로, DASH에서 미디어 서버(110)는 본질적으로 미디어 세그먼트를 호스트하는 HTTP 서버이다. 서버에서 인코더를 통해 압축되어 저장되는 미디어 세그먼트들은 일반적으로 수 초 길이의 미디어 조각이며, 각 세그먼트는 다양한 비트율 (예, 480, 720p, 2K, 4K 등 비디오 재생 품질과 연관됨)로 인코딩 되어 저장되고 이러한 정보들이 미디어 프레젠테이션 디스크립션(MPD, Media Presentation Description)이라는 매니페스트(manifest)에 나열된다.
상기 MPD는 서버(110)에서 사용 가능한 미디어 세그먼트에 대한 색인을 제공하는 XML 문서로 HAS 기법은 DASH 클라이언트(120)에서 레이트 적응 로직을 구현하여, 필요시 적절한 레벨의 세그먼트에 대한 요구를 서버에 요청하게 된다. 예를 들어, 클라이언트(120)가 HTTP GET 메시지를 이용하여 MPD에 기술되어 있는 세그먼트들 중 특정 레벨에 해당하는 세그먼트를 서버(110)로부터 다운로드하는 형태로 구동된다.
여기서, DASH 클라이언트가 서버로부터 비디오를 다운로드 받아 재생하는 동안 후속 세그먼트들의 품질레벨을 선택하기 위해 현재 사용 가능한 네트워크 용량을 추정하여 사용하며 클라이언트에서 운용하는 버퍼의 상태 정보를 이용한다. 이러한 동작을 비트레이트 스위칭(bitrate switching)이라고도 하며, 여기서 클라이언트(120)의 목표는 비디오 재생 끊김을 방지하면서 좋은 QoE를 달성할 수 있도록 재생 버퍼에 충분한 데이터를 보관하는 것이다. 클라이언트(120)는 현재 재생이 진행중인 세그먼트 이후에 재생될 세그먼트들을 미리 다운받아 재생 버퍼에 저장하게 되는데 현재 사용 가능한 네트워크 대역폭 상황에 따라 서버(110)에 저장된 다양한 품질의 세그먼트들 중에 어떤 품질의 세그먼트를 다운받을 지를 결정하게 된다. 이때 일반적으로 현재 사용 가능한 네트워크 대역폭 추정을 위해 바로 이전에 다운로드 완료된 세그먼트의 비트레이트를 이용하는 바, 다운로드 받은 세그먼트의 크기를 해당 세그먼트를 다운로드하는데 소요되는 시간으로 나누어 구한 값을 사용한다. 결국 단위시간당 다운로드 가능한 데이터 량을 해당 시점의 비트레이트로 간주하고 바로 다음에 다운로드해야 할 세그먼트의 비트레이트를 선택하는 기준으로 활용한다. 전술한 바와 같이, 서버(110)에는 스트리밍을 위한 각 영상에 대해 다양한 레벨의 비트레이트를 갖는 세그먼트들이 생성되어 저장되어 있다.
상기 종래 일반적인 동작은 단일 소스 비디오 스트리밍 서비스 뿐 만 아니라 서로 다른 장면의 비디오 스트림을 동시에 전송하고자 하는 비디오 캐스트와 같은 라이브 스트리밍 애플리케이션이나, 다중 카메라를 통해 각각 다른 위치에서 촬영된 멀티 뷰 영상을 전송한 후 사용자의 선택에 의해 시청할 수 있도록 하는 인터렉티브 멀티뷰 스트리밍 서비스, 더 나아가 수십개의 카메라 센서 어레이를 통해 수집된 영상들을 전송하여 사용자에게 실제 해당 공간에 있는 듯한 3차원 실감형 체험 서비스를 제공하기 위해 하나 이상의 영상을 동시에 전송하여야 하는 멀티뷰 스트리밍 서비스 환경에서도 적용될 수 있다. 이 경우, 클라이언트의 재생 능력 및 전송 중 가변적인 대역폭의 상황에 따라 자원을 효율적으로 활용하고 멀티뷰 영상 서비스의 품질을 보장하기 위한 솔루션으로 활용된다.
보다 구체적으로, 단일 비디오 스트리밍과 달리 멀티뷰 서비스 환경에서는 동시에 전달된 여러 영상들 중에 사용자들이 선택적으로 시청 뷰를 지정하여 소비하며 시선 이동이나 헤드 이동 등의 움직임에 의해 시청 도중 랜덤하게 뷰포트(Viewport)를 변경할 수 있다. 이와 같은 인터렉티브 멀티뷰 스트리밍 서비스를 제공하는데 있어 가장 우선적으로 고려해야 하는 사항은 사용자의 시선이 이동하여 현재 시청하던 뷰포트를 변경하였을 때 비디오 재생이 끊김 없이 빠른 응답시간 안에 이동한 뷰에 대응되는 영상을 재생할 수 있어야 한다는 것이다.
이를 위해 사용자의 시선이 머물고 있는 현재의 뷰포트 이외에 추후 시선이 이동 가능한 주변 뷰의 영상들을 함께 다운로드하여 시선 이동시 미리 다운로드된 영상을 재생함으로써 지연 없는 뷰포트 전환을 제공하는 방안들이 제안되어 활용되고 있다. 하지만, 이러한 방법들은 동시에 전송해야 하는 영상의 수가 늘어남에 따라 엄청난 양의 네트워크 자원을 필요로 하게 되므로, 현재 시선이 머물고 있는 메인뷰 영상의 품질은 가능한 최상으로 유지하고 그 외 주변 뷰에 해당하는 영상들은 저화질로 다운로드하여 사용자의 시선 이동시 이동된 뷰포인트에 대한 고화질 영상이 다운로드되기 전까지 영상 재생의 끊김을 방지할 목적으로 활용한다. 이때 시선 이동을 대비하여 미리 다운로드한 주변 영상의 품질은 사용가능한 네트워크 자원에 의존하며 사용자들의 QoE 보장을 위해 가능한한 메인뷰 영상의 품질과의 격차를 줄이는 것이 필요하다.
상기 필요성을 해결하기 위해서는, 현재 사용 가능한 네트워크 자원의 정확한 추정이 필요하며 그 한도내에서 각각의 비디오 세그먼트 다운로드를 위한 적절한 품질 선택이 가능하여야 한다. 적응적 스트리밍 기법에서 클라이언트가 특정 세그먼트 다운로드를 요청할 때 변동성이 심한 네트워크 용량에 적응적으로 적용될 수 있는 데이터 전송을 위해 이전 세그먼트 다운로드시 측정된 평균 비트레이트(예를 들어, 다운로드된 세그먼트 크기/다운로드하는데 걸린 시간)를 이용하게 되는데 이때 측정된 값이 활용 가능한 가용 대역폭을 실제보다 낮게 추정하게 되면 실제 더 큰 비트레이트의 데이터 전송이 가능함에도 불구하고 이전 세그먼트와 동일한 수준의 평균 비트레이트를 갖는 세그먼트만을 선택하게 된다.
예를 들어, 실제 세그먼트 다운로드시 TCP 전송 메커니즘 때문에 현재 사용 가능한 대역폭 리소스를 낮게 추정하도록 한다는 문제점이 있으며 이러한 현상은 세그먼트의 크기가 작을 수록 그 오차의 크기가 더 커지게 된다. 즉, 후속 세그먼트의 품질 선택에 이전 세그먼트의 평균 전송률을 사용하게 되면 실제 가용한 대역폭을 더 적게 추정하게 됨으로 실제 전송 가능한 품질의 세그먼트보다 더 낮은 품질의 세그먼트를 가져오게 되는 문제점이 발생한다.
이하, 도 2 내지 도 3을 참고하여 종래 적응적 스트리밍 처리 방식의 문제점에 대해 상세히 설명한다.
서버에서 다양한 품질레벨로 인코딩 되어 저장되는 세그먼트들은 일정한 시간(예를 들어, 세그먼트 길이, 초 단위로 계산, 지연시간을 줄이기 위한 목적으로 수십, 또는 수백 밀리초 단위의 청크들의 집합으로 구성된 세그먼트를 사용할 수도 있음)동안 재생될 수 있는 프레임들의 집합으로 이루어져 있다. 각 세그먼트의 길이는 일정하지만 인코더의 VBR 특성 때문에 도 2에서 보는 바와 같이 하나의 영상 스트림에 대해 실제 생성되는 세그먼트의 크기(총 비트수)가 평균 크기를 중심으로 가변성이 심하게 나타나며 인코딩 레이트에 따라 그 패턴이 일정하지 않음을 알 수 있다.
예를 들어, 도 2 및 도 3은 하나의 스트림을 10개의 레벨로 인코딩하여 생성된 세그먼트들 중에 레벨 7 (도 2)과 레벨 10 (도 3)에 해당하는 세그먼트들의 크기 변화를 도시한 것이다. 여기서, 각 스트림 별로 생성된 세그먼트들은 199개였으며 2056bps(도 2)의 인코딩 레이트로 생성된 세그먼트들의 평균 크기는 6151480 비트(201) 이고, 6000bps(도 3)의 인코딩 레이트로 생성된 세그먼트들의 평균은 17976064 비트(202)의 크기를 갖는다.
이와 같이 세그먼트의 크기가 가변적인 상황에서 세그먼트를 다운로드 할 때 측정되는 평균 비트레이트가, 실제 사용 가능한 대역폭을 보다 작게 추정하게 된다. 따라서, 후속 세그먼트의 다운로드를 위한 품질레벨을 이전 세그먼트의 평균 전송률을 기준으로 선택할 때 이전 세그먼트의 크기가 작을수록 실제 전송 가능한 비트레이트를 더 낮게 추정(underestimate)될 문제점이 있다. 또한 동시에 전송되어야 하는 각 비디오 스트림 별로 후속 세그먼트의 품질 레벨을 결정하게 되면 각 스트림마다 낮게 추정된 가용 대역폭의 오차들이 누적되어 전체적으로 실제 활용 가능한 대역폭을 충분히 활용하지 못하게 되는 문제점이 있다. 이는 실제 제공 가능한 품질보다 더 낮은 품질의 영상들을 제공하게 되어 사용자 QoE를 저하시키는 요인이 될 수 있다.
즉, 각 스트림 별로 이전 세그먼트 다운로드 동안 얻어진 평균 전송률을 참조하여 후속 세그먼트의 품질을 결정하게 되면 각 스트림 별로 더 낮게 추정된 대역폭 오차들이 누적되어 실제 사용가능한 품질보다 더 낮은 품질의 세그먼트를 다운로드 하게 되는 문제점이 발생한다.
본 개시는 대역폭 사용을 최대화하는 적응적 스트리밍 처리 방법 및 장치를 제공하는데 목적이 있다.
또한, 본 개시는 대역폭 사용을 최대화하는 적응적 스트리밍 전송 방법 및 장치를 제공하는데 목적이 있다.
또한, 본 개시는 향상된 품질의 스트림을 제공하는 적응적 스트리밍 처리 방법 및 장치를 제공하는데 목적이 있다.
본 개시의 기술적 해결 수단은, 동시 다운로드 가능한 스트림의 세그먼트들이 하나의 다운로드 주기를 통해 주어진 시간 자원을 가능한한 많이 활용하기 위해, 후속 세그먼트의 품질레벨 선정을 위해 이전 세그먼트의 평균 전송률을 단순 활용하지 않고, 대신 다운로드 주기동안 각 스트림에 할당된 전송 시간 최대로 활용하여 다운로드 가능한 세그먼트들의 크기를 구하는 것에 있다.
본 개시의 실시예에 따른, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법은, 메인뷰 스트림의 i번째 세그먼트를 제1 품질레벨로 선택하여 다운로드 하는 단계, 상기 메인뷰 스트림의 i번째 세그먼트의 다운로드 시간 및 전송레이트에 기반하여, 다운로드 가능한 주변뷰 스트림들의 i번째 세그먼트의 크기를 유추하는 단계, 및 상기 유추된 주변뷰 스트림들의 i번째 세그먼트 크기에 부합하는 제2 품질레벨을 선택하고, 상기 선택된 제2 품질레벨에 기반하여 상기 주변뷰 스트림의 i번째 세그먼트를 다운로드 하는 단계를 포함한다.
이때, 상기 제1 품질레벨은, 상기 메인뷰 스트림의 i번째 세그먼트를 최상의 품질로 다운로드하기 위한 가장 높은 레벨로 선택한다.
또한, 상기 다운로드 가능한 주변뷰 스트림들의 i번째 세그먼트의 크기를 유추하는 단계는, 메인뷰 스트림의 i번째 세그먼트의 전송레이트
Figure pat00001
를 계산하는 단계, 상기 메인뷰 스트림의 i번째 세그먼트의 다운로드 시간과 기설정된 다운로드 주기로부터, 주변뷰 스트림들의 i번째 세그먼트를 다운로드하기 위해 사용 가능한 시간
Figure pat00002
를 계산하는 단계, 메인뷰 스트림의 i번째 세그먼트와 함께 다운로드되어야 하는 j번째 주변뷰 스트림의 i번째 세그먼트 다운로드에 활용할 수 있는 시간
Figure pat00003
을 계산하는 단계. 및 j번째 주변뷰 스트림의 i번째 세그먼트의 크기
Figure pat00004
를 계산하는 단계를 포함한다.
또한, 본 개시의 실시예에 따른, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법은, 서버로부터 멀티뷰 스트림 세그먼트들의 크기를 기술한 미디어 프레젠테이션 디스크립션 (MPD)을 수신하는 단계를 더 포함하며, 상기 유추된 주변뷰 스트림의 i번째 세그먼트 크기에 부합하는 제2 품질레벨의 선택은, 상기 MPD에 기반으로 한다.
또한, 상기 수신된 MPD로부터, 다운로드 가능한 세그먼트의 크기보다 작은 크기를 가지는 세그먼트들 중 가장 큰 값을 가지는 세그먼트가 선택되도록 상기 제2 품질레벨을 선택한다.
또한, 본 개시의 실시예에 따른, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법은, 상기 다운로드된 주변뷰 스트림들의 세그먼트에 기반하여, 메인뷰 스트림의 i+1번째 이후 세그먼트를 다운로드 하기 위한 제3 품질레벨을 결정하는 단계를 더 포함한다.
이때, 상기 제3 품질레벨은, 상기 다운로드된 주변뷰 스트림들의 세그먼트들의 크기 및 다운로드에 걸린 시간으로부터 계산된 상기 주변뷰 스트림들의 다운로드 동안의 평균 비트레이트에 기반하여 결정된다.
또한, 상기 결정된 제3 품질레벨을 서버에 전송하고, 서버로부터 상기 제3 품질레벨에 부합하는 메인뷰 스트림의 i+1번째 이후 세그먼트를 다운로드 하는 단계를 포함한다.
본 개시의 다른 실시예에 따른, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법은, 메인뷰 스트림의 i번째 세그먼트를 제1 품질레벨로 선택하여 다운로드 하는 단계, 상기 메인뷰 스트림의 i번째 세그먼트의 다운로드 시간 및 전송레이트에 기반하여, 다운로드 가능한 주변뷰 스트림들의 i번째 세그먼트의 크기를 유추하는 단계, 및 상기 유추된 주변뷰 스트림들의 i번째 세그먼트 크기 정보를 서버에 전송하고, 서버로부터 제2 품질레벨에 부합하는 주변뷰 스트림의 i번째 세그먼트를 다운로드 하는 단계를 포함한다.
본 개시의 실시예에 따른, 서버에서의 멀티뷰 스트림을 위한 적응적 스트리밍 전송 방법은, 클라이언트가 요청한 제1 품질레벨로 메인뷰 스트림의 i번째 세그먼트를 상기 클라이언트에게 전송하는 단계, 상기 클라이언트로부터 수신한 주변뷰 스트림들의 i번째 세그먼트의 크기 정보에 부합하는 주변뷰 스트림의 i번째 세그먼트를 선택하는 단계, 및 상기 선택된 세그먼트를 상기 클라이언트에 전송하는 단계를 포함한다. 이때, 상기 주변뷰 스트림의 i번째 세그먼트를 선택하는 단계는, 서버내에 저장되어 있는 세그먼트 중 상기 수신한 주변뷰 스트림들의 i번째 세그먼트의 크기 정보 보다 작은 값을 가지는 세그먼트들 중 가장 큰 값을 갖는 세그먼트를 선택한다. 또한, 상기 클라이언트로부터 세그먼트 다운로드 요청과 함께 세그먼트 선택 파라미터(SSP) 정보를 수신하고, 상기 수신된 SSP 정보를 이용하여 전송될 세그먼트를 선택할 수 있다.
본 개시는 다운로드 구간동안 동시에 받아야 하는 모든 스트림의 i번째 세그먼트들을 다운받는데 사용할 수 있는 시간 자원을 가능한한 최대로 사용하여 실제 받을 수 있는 세그먼트의 크기를 크게 요청함으로써 보다 나은 레벨의 품질의 세그먼트들을 다운받아 사용자들에게 보다 높은 QoE를 제공할 수 있게 된다.
또한, 다운로드 주기가 가능한한 최대로 활용될 수 있도록 유지함으로써 휴지 상태로 유지되는 다운로드 기간을 최소화하여 다중 클라이언트들이 서비스를 이용하는 상황에서 사용가능한 대역폭이 과도하게 혹은 과소하게 추정될 수 있는 오류 확률을 줄일 수 있는 효과가 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1 내지 도 3은 종래 일반적인 HTTP 적응 스트리밍 시스템에서의 동작 원리 및 결과를 도시한 것이다.
도 4는 본 개시의 실시예에 따른, 멀티뷰 스트리밍 환경을 도시한 것이다.
도 5는 본 개시의 실시예에 따른, 멀티뷰 스트리밍 예를 도시한 것이다.
도 6은 본 개시의 실시예에 따른, DASH 서버와 클라이언트 구조를 도시한 것이다.
도 7은 본 개시의 실시예에 따른, 적응적 스트리밍 처리 방법을 적용한 실험 결과를 도시한 것이다
도 8a 및 8b는 본 개시의 실시예에 따른 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법을 도시한 것이고, 도 8c는 본 개시에 다른 실시예에 따른, 서버에서의 멀티뷰 스트림을 위한 적응적 스트리밍 전송 방법을 도시한 것이다.
도 9는 본 개시의 또 다른 실시예에 따른 멀티뷰 스트림을 위한 적응적 스트리밍 처리 장치를 나타낸 도면이다.
이하에서는 첨부한 도면을 참고로 하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 개시의 실시예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 개시에 대한 설명과 관계없는 부분은 생략하였으며, 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시에 있어서, 어떤 구성요소가 다른 구성요소와 "연결", "결합" 또는 "접속"되어 있다고 할 때, 이는 직접적인 연결관계 뿐만 아니라, 그 중간에 또 다른 구성요소가 존재하는 간접적인 연결관계도 포함할 수 있다. 또한 어떤 구성요소가 다른 구성요소를 "포함한다" 또는 "가진다"고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 배제하는 것이 아니라 또 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시에 있어서, 제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 특별히 언급되지 않는 한 구성요소들 간의 순서 또는 중요도 등을 한정하지 않는다. 따라서, 본 개시의 범위 내에서 일 실시예에서의 제1 구성요소는 다른 실시예에서 제2 구성요소라고 칭할 수도 있고, 마찬가지로 일 실시예에서의 제2 구성요소를 다른 실시예에서 제1 구성요소라고 칭할 수도 있다.
본 개시에 있어서, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위함으로, 구성요소들이 반드시 분리되는 것을 의미하지는 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시예도 본 개시의 범위에 포함된다.
본 개시에 있어서, 다양한 실시예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들을 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시예에서 설명하는 구성요소들의 부분집합으로 구성되는 실시예도 본 개시의 범위에 포함된다. 또한, 다양한 실시예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시예도 본 개시의 범위에 포함된다.
본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 제시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시의 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
이하 본 개시의 실시예에 대해 도 4 내지 도 9를 참고하여 상세히 설명한다.
본 개시에서는 한 시점에 여러 개의 영상 스트림을 동시에 전송해야 하는 상황에서 가변적인 네트워크 대역폭을 효과적으로 활용하여 사용자 QoE를 향상시키는 적응적 스트리밍 기법을 제안한다. 발명의 상세한 설명을 위해 도 4에서 도시한 바와 같이, 5x5 카메라 렌즈를 통해 촬영된 영상을 사용자의 뷰포인트를 중심으로 메인 영상 스트림과 주변 영상 스트림을 동시에 전송하는 실시예에 대해 설명하고자 한다. 그러나 본 개시의 적용은 이 실시예에 국한되지 않으며 임의의 순간에 두개 이상의 영상 스트림을 동시에 전송해야 하는 모든 경우의 스트리밍에도 일반적으로 적용 가능하다.
일반적으로 적응형 스트리밍 기법에서는 버퍼에 대한 상태와 이전 세그먼트의 평균 비트레이트를 함께 연동하여 동작한다. 본 개시에서는 버퍼동작 알고리즘과의 연계 부분은 논외로 하며 네트워크 대역폭 추정과 관련된 기능에 대해 새로운 방법을 제안한다. 즉, 버퍼관리 방법과 연동하여 동작 시킬 경우 연동을 위한 단계들이 추가로 포함될 수 있다.
도 4는 예를 들어, 총 5x5의 25개 카메라를 통해 촬영된 영상 중 13번째 카메라를 통해 입력된 영상이 사용자의 현재의 뷰포인트(즉, 메인뷰) Mv(211)를 나타내며 이를 중심으로 Sv1에서 Sv8까지 주변뷰(212)에 해당하는 8개의 영상 스트림이 현 시점 이후 사용자의 뷰포인트 이동을 대비하기 위해 함께 다운로드 되는 상황을 도시한 것이다. 이때 메인뷰는 가능한한 최상의 품질로 제공되도록 보장하고 주변뷰 스트림은 사용자의 시선 이동시 이동된 뷰포트를 위한 고화질의 영상이 도착하기 전까지 영상 재생의 끊김을 방지하기 위해 저화질이라도 일단 재생되도록 하여 시청의 끊김을 방지하기 위해 활용된다.
관련하여, 비트레이트 적응적 알고리즘에서는 클라이언트의 서비스 시작시점이나 버퍼에 저장된 재생 가능 세그먼트가 시스템이 정한 일정 수준 이하인 경우 이전 세그먼트 다운로드가 끝나는 즉시 다음 세그먼트를 다운로드 하여 빠른 시간내에 버퍼에 확보된 세그먼트의 양을 일정 수준까지 끌어올린다. 그후 버퍼에 저장된 세그먼트의 양이 일정 수준 이상으로 올라오면 비디오 재생을 위한 세그먼트 다운로드를 주기적으로 실행하게 된다. 대개의 경우 이 다운로드 주기는 세그먼트의 길이(일반적으로 1~3초이나 전송지연을 최소화 하고자 하는 경우 수십 수백 밀리초 단위의 청크를 사용하기도 하며 이들 청크의 집합으로 구성된 세그먼트들을 활용)로 전 구간에서 동일한 값으로 설정될 수 있다. 이들 두 경우 모두 다운로드 시점이 되면 다운받아야 하는 세그먼트의 품질을 판단한 후 서버로 해당 품질의 세그먼트 다운로드 요청을 송신한다. 이러한 동작을 도 4에서와 같은 멀티뷰 스트리밍 환경에 적용하여 실행 가능한 실시예를 도 5를 이용하여 설명한다.
도 5는 특정 크기의 다운로드 주기동안 사용 가능한 전체 대역폭(303)을 모두 활용하여 메인뷰 스트림의 세그먼트(301, 311, 321)를 최우선적으로 다운로드한다. 메인뷰 스트림의 세그먼트를 다운로드 하고 남은 시간에, 메인뷰 스트림의 세그먼트 다운로드를 통해 구한 평균 비트레이트
Figure pat00005
를 곱해, 주변뷰 스트림들의 세그먼트(302, 312, 322)들을 다운로드할 수 있는 데이터 크기를 계산하고 이를 주변뷰의 개수로 나누어 각 주변뷰 스트림을 위해 다운로드 가능한 세그먼트의 크기를 산출한다. 이러한 방식은 사용자의 뷰포트 이동이 감지되기 전까지 재생될 확률이 높은 메인뷰 스트림의 세그먼트들을 빠른 시간내에 다운로드 하여 재생대기 하도록 하고 주변뷰 스트림 다운로드에 있어 남아 있는 다운로드 주기가 가능한한 최대로 활용될 수 있도록 유지함으로써 다운로드 기간이 휴지 상태로 유지되는 상황을 방지할 수 있게 된다. 결국, 상기 휴지 기간의 축소를 통해, 다중 클라이언트들이 서비스를 이용하는 상황에서 사용가능한 대역폭 추정을 과도하게 혹은 과소하게 판단하도록 하는 오류를 줄일 수 있는 효과가 있다.
여기서, 다운로드 주기
Figure pat00006
는 세그먼트 길이(예를 들어, 통상 1~3초, 또는 수십, 수백 밀리초 단위의 청크 또는 청크 그룹)이거나 시스템이 임의로 지정한 시간을 사용할 수 있다. 이때, 다운로드 주기
Figure pat00007
길이가 고정되어 있는 기존의 방법과는 달리, 본 개시의 일 실시예 의하면, 다운로드 주기
Figure pat00008
는 고정 길이가 아니라 경우에 따라 가변 길이로 운용 가능하다.
상기 설명한 과정을 구체적인 수식과 예를 활용하여 설명하면 다음과 같다.
하나의 뷰영상이 Ns개의 세그먼트로 이루어져 있을 때 (1
Figure pat00009
i
Figure pat00010
Ns), 메인뷰 스트림의 i 번째 세그먼트의 다운로드 시간을
Figure pat00011
, 메인뷰 스트림의 i 번째 세그먼트의 크기를
Figure pat00012
라 하면 메인뷰 스트림의 i 번째 세그먼트의 전송레이트
Figure pat00013
는 다음과 같다.
Figure pat00014
Figure pat00015
/
Figure pat00016
또한, 주변뷰 스트림들의 i 번째 세그먼트들을 다운로드하기 위해 사용 가능한 시간
Figure pat00017
및 주변뷰 스트림들의 i 번째 세그먼트들의 총크기
Figure pat00018
는 각각 다음과 같다.
Figure pat00019
Figure pat00020
Figure pat00021
Figure pat00022
=
Figure pat00023
x
Figure pat00024
여기서 주변뷰 스트림의 세그먼트 품질을 선택하는데 메인뷰 스트림의 세그먼트 다운로드로부터 얻은 평균 전송률을 사용하는 것은, 다운로드 구간동안 사용 가능한 전체 대역폭을 추정한다는 의미이며 세그먼트의 크기가 클수록 구해진 평균 비트레이트에 포함된 TCP 전송 기법(scheme)에 따른 오차가 최소화될 수 있기 때문이다.
따라서, 본 개시에 의한 일 실시예에 의하면, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법은 다음 단계로 동작할 수 있다.
1. 메인뷰에 해당하는 스트림의 첫번째 세그먼트는 가장 높은 레벨로 선택하여 다운로드 한다.
2. 메인뷰 스트림의 i 번째 세그먼트의 전송레이트
Figure pat00025
를 계산한다.
3. 주변뷰 스트림들의 i 번째 세그먼트들을 다운로드하기 위해 사용 가능한 시간
Figure pat00026
를 계산한다.
4. 다운로드 해야 하는 주변뷰 스트림 수가
Figure pat00027
(예를 들어, 8개)일 때 메인뷰 스트림의 i 번째 세그먼트와 함께 다운로드되어야 하는 j(0~7)번째 주변뷰 스트림의 i 번째 세그먼트 다운로드에 활용할 수 있는 시간을 계산한다.
Figure pat00028
=
Figure pat00029
/
Figure pat00030
,
Figure pat00031
, 1
Figure pat00032
i
Figure pat00033
Ns
Figure pat00034
5. 클라이언트가 요청하는 j 번째 주변뷰 스트림의 i 번째 세그먼트의 크기
Figure pat00035
를 계산한다
Figure pat00036
/
Figure pat00037
여기서, 본 개시의 일 실시예에 의하면, 클라이언트는 상기 구해진
Figure pat00038
값을 서버로 송신하고, 서버가 저장된 여러 레벨의 세그먼트들 중에 해당 값보다 작은 세그먼트들 중 가장 큰 세그먼트를 선택하여 전송하도록 할 수 있다. 즉, 클라이언트는 세그먼트 선택에 참조하도록 수신 가능한 세그먼트의 최대 크기 정보를 서버로 전송하고 서버가 저장되어 있는 세그먼트들 중에 클라이언트가 제시한 값보다 작은 값을 가지는 세그먼트들 중에 가장 큰 값을 갖는 세그먼트를 선택하여 전송하도록 하기 때문에 서버 측에 세그먼트 선택을 위한 기능 모듈이 구성되어야 한다. 이에 대해서는 도 6을 참조하여 상세히 후술할 것이다.
또한, 본 개시의 다른 실시예에 의하면, 클라이언트는 상기 구해진
Figure pat00039
값을 서버로 송신하지 않고, 다운로드 될 세그먼트의 품질레벨을 클라이언트가 직접 결정하여 해당 세그먼트를 서버에 지정 요청하는 것도 가능하다. 이 경우, 서버는 클라이언트로 전달되는 MPD내에 각 세그먼트의 크기를 나타내는 필드를 추가하여 전달하고 클라이언트는 각 주변뷰를 위해 다운로드 가능한 데이터의 크기가 결정되면, 결정된 크기를 기반으로 상기 MPD에 기술된 세그먼트 정보를 참조하여 적합한 세그먼트를 선택하여 서버로 요청하도록 동작할 수 있다. 이에 대해서는 도 6을 참조하여 상세히 후술할 것이다.
또한, 상기 주변뷰 스트림 다운로드 후, 메인뷰 스트림의 두번째 이후 세그먼트 다운로드시 세그먼트의 품질레벨 선택 방법은 다음과 같다.
1. 주변뷰 스트림 다운로드시 다운로드된 세그먼트의 크기
Figure pat00040
와 다운로드하는데 걸린 시간
Figure pat00041
을 측정하여 저장한다.
Figure pat00042
2. 모든 주변뷰 (예를 들어, 8개) 스트림의 세그먼트들의 크기와 다운로드에 소요된 시간을 모두 더하고 이 값들을 이용하여 주변뷰 스트림 다운로드 기간 동안의 평균 비트레이트를 계산한다.
Figure pat00043
=
Figure pat00044
/
Figure pat00045
3. 클라이언트가 계산된
Figure pat00046
값을 기준으로 메인뷰 스트림의 세그먼트의 품질을 지정하여 해당 세그먼트 다운로드를 요청한다.
도 6은 본 개시의 실시예에 의한, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법 및 전송 방법이 적용된 DASH 클라이언트 및 서버 구조를 예를 들어 도시한 것이다. 즉, 전술한 비트레이트 적응적 알고리즘은 DASH 서버/클라이언트 상에 탑재되어 동작하며 해당 장치의 구성은 도 6과 같다.
도 6은 DASH 서버(400)와 클라이언트(410) 구조하에 전술한 본 개시의 실시예에 해당하는 알고리즘을 적용하기 위한 추가적인 기능 모듈이 정의된다. 특히, 도 6의 빗금 강조 기능 블록 모듈들 (412, 413, 414, 403, 404)이 이에 해당되며, 해당 모듈들은 일반적인 HAS 동작 모듈내에 통합되어 구성 가능하거나, 별도의 모듈로도 구성할 수 있다. 또한, 본 개시에서는 설명의 편의를 위해 각 기능 블록의 모듈에 특정 이름으로 명명하였으나, 본 개시의 실시예가 반드시 이에 한정되는 것은 아니다.
DASH 서버(400)는 HAS에 의해 적응적 전송이 가능하도록 인코더를 통해 압축된 스트림을 세그먼트화 하는 기능(402)을 포함하며, 이를 데이터베이스(405,406)로 저장 관리한다. 온-디맨드(On-demand)나 실시간으로 인코딩 되어 세그먼트화된 영상 스트림 조각들은 HTTP 서버/클라이언트 통신 모듈(401, 411)을 통해 클라이언트(410)의 요청에 따라 적절한 세그먼트가 전송된다.
이때 본 개시의 방식을 적용하는데 있어 클라이언트(410)가 세그먼트의 품질을 결정하는 구조를 따르는 경우, 기존 MPD 디스크립션에 추가적으로 각 세그먼트 별 사이즈를 기술하는 기능(403)을 추가하여야 한다.
반면, 본 개시의 방식을 적용하는데 있어 서버(400)가 세그먼트의 품질을 결정하는 구조를 따르는 경우, 클라이언트로부터 세그먼트 다운로드 요청(423)과 함께 전달되는 세그먼트 선택 파라메터(SSP, Segment Selection Parameter)를 이용하여 전송될 세그먼트를 선택하는 기능(404)을 수행하여 이를 요청한 클라이언트로 전송한다(424).
본 개시의 방식을 실현하기 위해 DASH 클라이언트(410)는, 하나의 다운로드 구간내에 다운로드 되어야 하는 메인뷰와 주변뷰의 그룹을 관리하고 사용자의 현 뷰포트 위치에 따라 해당 뷰들을 구성하여 스트림 전송 요청을 수행하는 다중 뷰포트 관리자(Multi-Viewport Manager)(412)를 포함하여 구성할 수 있다. 또한, DASH 클라이언트(410)는 전술한 바와 같이 세그먼트 크기 기반 세그먼트 선택 알고리즘을 수행하기 위한 적응형 스트리밍 모듈(Adaptive Streaming Module)(414)을 더 포함한다. 이때, 상기 적응형 스트리밍 모듈(414)은 기존의 DASH 클라이언트가 운용하는 비트레이트 적응적 알고리즘을 위한 버퍼 관리 모듈(415)과 적응적 스트리밍 알고리즘에 의해 다운로드 되는 세그먼트들을 해석하여 영상을 재생하도록 하는 세그먼트 파서(416)와 연동 가능하다.
본 개시의 실시예에 의해, 클라이언트에서 다운로드될 세그먼트를 선택하는 구조로 실현될 경우, MPD 파서(413)는 서버로부터 수신되는 MPD내에서 각 세그먼트의 크기 정보를 읽어 들여 현재 다운로드 가능한 세그먼트의 크기와 비교하여 최선의 세그먼트를 선택하도록 하는 기능을 수행한다.
도 7은 본 개시의 실시예로서, 세그먼트 크기 기반 세그먼트 선택 알고리즘의 적용한 실험 결과를 도시한 것이다. 이하, 도 7을 참고하여, 본 개시의 실시예에 의한 효과를 상세히 설명한다.
우선, 도 2 내지 도 3에서 전술한 바와 같이, 인코더로부터 하나의 품질레벨로 생성된 세그먼트들은 실제 그 크기의 편차가 큼을 알 수 있다. 이러한 특성들 때문에, 서버에 저장된 하나의 스트림을 구성하는 세그먼트들이 인코딩 되어 저장되어 있을 때 도 7의 품질레벨 5단계와 6단계의 세그먼트들의 크기를 비교해보면 각 레벨의 세그먼트들은 평균 값을 중심으로 위아래로 많은 변동을 보임을 알 수 있다.
이때 클라이언트에서 측정한 다운로드 가능 세그먼트의 크기가 두 레벨의 평균 사이 어느 지점이 되었을 때 임의의 순간에 선택될 세그먼트들의 레벨이 세그먼트마다 달라지게 된다.
예를 들어, 종래 방법의 경우 클라이언트가 다운로드 할 스트림의 품질 레벨을 선택하게 되고 해당 레벨에 속한 세그먼트들의 크기가 작든 크든 해당 레벨의 세그먼트들을 다운로드 하는 방식으로 동작한다. 이에 비해 본 개시에 의해 제안된 방법을 적용하면 동일한 네트워크 자원을 활용하면서 임의의 순간에 보다 나은 레벨의 세그먼트를 다운로드 할 수 있도록 하며, 이는 곧 사용자의 QoE 향상으로 직결된다.
구체적으로, 예를 들어, 도 7은 총 10단계의 품질레벨을 갖도록 인코딩된 영상 스트림들 중 5번째 품질레벨과 6번째 품질레벨을 구성하는 세그먼트의 크기 분포를 나타낸다. 이때 레벨 5의 인코딩 레이트는 991bps이고 (가는 실선), 레벨 6의 인코딩 레이트는 1427bps이다 (굵은 실선). 여기서, 세그먼트 평균 크기는 각각 대략 2.9 메가비트 ('2959462')와 4.3 메가비트 ('4266190')이 된다. 하지만 이 평균값을 기준으로 각 세그먼트 크기의 변동 폭이 크다는 것을 알 수 있다.
이러한 상황에서 종래 방법을 이용하면 클라이언트가 레벨 5면 5, 레벨 6이면 6과 같은 식으로 하나의 품질레벨에 대한 스트림을 선택하게 되는 데 반해, 전술한 본 개시의 실시예에 의한 제안 방법에 따르면, 주변뷰의 스트림에 대한 세그먼트 크기를 기반으로 상위 품질레벨을 선택하는 것이 가능하게 된다. 예를 들어, 도 7을 참고하면, 클라이언트가 주변뷰의 스트림에 대한 세그먼트 크기의 한도 값을 선정하여 다운로드될 세그먼트를 선택하게 되면 클라이언트에서 계산된 다운로드 가능한 각 주변뷰 스트림의 세그먼트 크기가 3.9메가비트일 경우 도 7에서 표시된 50개의 세그먼트 중에 10개에 해당하는 세그먼트들(501)이 레벨 6의 품질로 인코딩된 세그먼트를 다운받을 수 있게 된다. 이는 20% 정도의 세그먼트가 기존의 방법을 사용한 경우에 비해 한 레벨 위 품질의 세그먼트를 다운받게 됨을 의미하며, 사용자의 QoE를 매우 높일 수 있음을 알 수 있다.
도 8a 및 8b는 본 개시의 실시예에 따른 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법을 각각 나타낸 도면이다. 또한, 도 8c는 본 개시의 다른 실시예에 따라, 서버에서의 멀티뷰 스트림을 위한 적응적 스트리밍 전송 방법을 도시한 것이다.
도 8a는 본 개시의 일 일시예에 따라, 클라이어트가 주변뷰 스트림의 품질레벨을 선택하는 경우에 관한 것이다. 구체적으로, 메인뷰 스트림의 i번째 세그먼트를 제1 품질레벨로 선택하여 다운로드 하는 단계 (810), 상기 메인뷰 스트림의 i번째 세그먼트의 다운로드 시간 및 전송레이트에 기반하여, 다운로드 가능한 주변뷰 스트림들의 i번째 세그먼트의 크기를 유추하는 단계 (820), 및 상기 유추된 주변뷰 스트림들의 i번째 세그먼트 크기에 부합하는 제2 품질레벨을 선택하고, 상기 선택된 제2 품질레벨에 기반하여 상기 주변뷰 스트림의 i번째 세그먼트를 다운로드 하는 단계 (830)을 포함한다.
구체적으로, 상기 810 단계는, 예를 들어, 메인뷰 스트림의 i번째 세그먼트를 제1 품질레벨로 선택하여 다운로드 하는 단계일 수 있다. 여기서, 상기 제1 품질레벨은, 상기 메인뷰 스트림의 i번째 세그먼트를 최상의 품질로 다운로드하기 위한 가장 높은 레벨로 선택된다.
또한, 상기 820 단계는, 메인뷰 스트림의 i번째 세그먼트의 전송레이트
Figure pat00047
를 계산하는 단계, 상기 메인뷰 스트림의 i번째 세그먼트의 다운로드 시간과 기설정된 다운로드 주기로부터, 주변뷰 스트림들의 i번째 세그먼트를 다운로드하기 위해 사용 가능한 시간
Figure pat00048
를 계산하는 단계, 메인뷰 스트림의 i번째 세그먼트와 함께 다운로드되어야 하는 j번째 주변뷰 스트림의 i번째 세그먼트 다운로드에 활용할 수 있는 시간
Figure pat00049
을 계산하는 단계, 및 j번째 주변뷰 스트림의 i번째 세그먼트의 크기
Figure pat00050
를 계산하는 단계를 포함할 수 있다.
또한, 상기 830 단계는, 서버로부터 멀티뷰 스트림 세그먼트들의 크기를 기술한 미디어 프레젠테이션 디스크립션 (MPD)을 수신하는 단계를 더 포함할 수 있으며, 상기 유추된 주변뷰 스트림의 i번째 세그먼트 크기에 부합하는 제2 품질레벨의 선택은, 상기 MPD에 기반하여 결정될 수 있다. 또한, 상기 수신된 MPD로부터, 다운로드 가능한 세그먼트의 크기보다 작은 크기를 가지는 세그먼트들 중 가장 큰 값을 가지는 세그먼트가 선택되도록 상기 제2 품질레벨을 선택하게 된다.
도 8b는 본 개시의 다른 실시예에 따라, 서버가 주변뷰 스트림의 품질레벨을 선택하는 경우에 관한 것이다. 구체적으로, 메인뷰 스트림의 i번째 세그먼트를 제1 품질레벨로 선택하여 다운로드 하는 단계 (840), 상기 메인뷰 스트림의 i번째 세그먼트의 다운로드 시간 및 전송레이트에 기반하여, 다운로드 가능한 주변뷰 스트림들의 i번째 세그먼트의 크기를 유추하는 단계 (850), 및 상기 유추된 주변뷰 스트림들의 i번째 세그먼트 크기 정보를 서버에 전송하고, 서버로부터 제2 품질레벨에 부합하는 주변뷰 스트림의 i번째 세그먼트를 다운로드 하는 단계 (860)를 포함한다.
이때, 상기 840 단계는 전술한 810 단계와 동일하고, 상기 850 단계는 전술한 820 단계와 동일한 기능을 수행한다. 반면, 상기 860 단계를 위해, 서버는 클라이언트로 전달되는 MPD내에 각 세그먼트의 크기를 나타내는 필드를 추가하여 전달하고 클라이언트는 각 주변뷰를 위해 다운로드 가능한 데이터의 크기가 결정되면, 결정된 크기를 기반으로 상기 MPD에 기술된 세그먼트 정보를 참조하여 적합한 세그먼트를 선택하여 서버로 요청하도록 동작할 수 있다.
도 8c는 본 개시의 다른 실시예에 따라, 서버에서의 멀티뷰 스트림을 위한 적응적 스트리밍 전송 방법을 도시한 것이다. 구체적으로, 클라이언트가 요청한 제1 품질레벨로 메인뷰 스트림의 i번째 세그먼트를 상기 클라이언트에게 전송하는 단계 (870), 상기 클라이언트로부터 수신한 주변뷰 스트림들의 i번째 세그먼트의 크기 정보에 부합하는 주변뷰 스트림의 i번째 세그먼트를 선택하는 단계 (880) 및 상기 선택된 세그먼트를 상기 클라이언트에 전송하는 단계 (890)를 포함한다. 여기서, 상기 880 단계는, 서버내에 저장되어 있는 세그먼트 중 상기 수신한 주변뷰 스트림들의 i번째 세그먼트의 크기 정보 보다 작은 값을 가지는 세그먼트들 중 가장 큰 값을 갖는 세그먼트를 선택하는 동작을 수행한다.
도 9는 본 개시의 또 다른 실시예에 따른, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 장치 (900)를 나타낸 도면이다. 도 9의 장치(900)는, 통신부 (901), 메모리(902), 디스플레이(903), 사용자 인터페이스(904) 및 프로세서(905)를 포함할 수 있다. 또한, 도 9에 도시되지 않은 다른 구성을 더 포함할 수 있으며, 상술한 실시예로 한정되지 않는다.
보다 상세하게는, 도 9의 멀티뷰 스트림을 위한 적응적 스트리밍 처리 장치는, 전술한 멀티뷰 적응적 스트리밍 처리 방법을 수행하는, 사용자 단말기, 스마트 폰, 노트북, 휴대용 개인 정보장치 등이 될 수 있으며, 본 개시는 특정 물품에 한정되지 않는다.
이때, 일 예로, 상기 메모리(902)는 비이동식 메모리 또는 이동식 메모리일 수 있다. 또한, 일 예로, 상기 디스플레이(903), LED, OLED, QLED 등 다양한 디스플레이 방식을 적용할 수 있으며, 본 개시는 상술한 실시예로 한정되지 않는다.
또한, 일 예로, 상기 통신수단(901)은, 통신 회로를 포함할 수 있으며, 이에 기초하여 외부 디바이스와 통신을 수행할 수 있다.
또한, 일 예로, 상기 프로세서(905)는 범용 프로세서, DSP(digital signal processor), DSP 코어, 제어기, 마이크로제어기, ASIC들(Application Specific Integrated Circuits), FPGA(Field Programmable Gate Array) 회로들, 임의의 다른 유형의 IC(integrated circuit) 및 상태 머신과 관련되는 하나 이상의 마이크로프로세서 중 적어도 하나 이상일 수 있다. 즉, 상기 프로세서(905)는 전술한 본 개시에 의한 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법을 수행하는 하드웨어적/소프트웨어적 구성일 수 있다.
일 예로, 상기 프로세서(905)는 통신수단(901)를 통해 다른 장치들과 통신을 수행할 수 있다. 일 예로, 상기 통신수단(901)은 안테나를 통해 RF 신호를 전송할 수 있으며, 다양한 통신망에 기초하여 신호를 전송할 수 있다. 여기서, 일 예로, 안테나 기술로는, MIMO 기술, 빔포밍 등이 적용될 수 있으며, 상술한 실시예로 한정되지 않는다. 또한, 통신수단(901)를 통해 송수신한 신호는 변조 및 복조되어 상기 프로세서(905)에 의해 제어될 수 있으며, 상술한 실시 예로 한정되지 않는다.
또한, 일 예로 사용자 인터페이스(904) 사용자 명령을 상기 프로세서(904) 또는 디스플레이(903)에 전달하기 위한 수단으로 활용된다. 예를 들어, 전술한 사용자 뷰 전환 요청 명령을 수신하고 이를 상기 프로세서(904)에 전달하여 멀티뷰 비디오 스트리밍 처리를 위한 세그먼트 비트레이트 결정을 위한 입력으로 활용할 수 있다.
본 개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.
본 개시의 다양한 실시예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.
또한, 본 개시의 다양한 실시예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
본 개시의 범위는 다양한 실시예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다.
400 : DASH 스트리밍 서버
410 : DASH 클라이언트

Claims (16)

  1. 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법에 있어서,
    메인뷰 스트림의 i번째 세그먼트를 제1 품질레벨로 선택하여 다운로드 하는 단계;
    상기 메인뷰 스트림의 i번째 세그먼트의 다운로드 시간 및 전송레이트에 기반하여, 다운로드 가능한 주변뷰 스트림들의 i번째 세그먼트의 크기를 유추하는 단계; 및
    상기 유추된 주변뷰 스트림들의 i번째 세그먼트 크기에 부합하는 제2 품질레벨을 선택하고, 상기 선택된 제2 품질레벨에 기반하여 상기 주변뷰 스트림의 i번째 세그먼트를 다운로드 하는 단계를 포함하는, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법.
  2. 제 1 항에 있어서,
    상기 제1 품질레벨은, 상기 메인뷰 스트림의 i번째 세그먼트를 최상의 품질로 다운로드하기 위한 가장 높은 레벨로 선택하는, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법.
  3. 제 1 항에 있어서,
    상기 다운로드 가능한 주변뷰 스트림들의 i번째 세그먼트의 크기를 유추하는 단계는,
    메인뷰 스트림의 i번째 세그먼트의 전송레이트
    Figure pat00051
    를 계산하는 단계;
    상기 메인뷰 스트림의 i번째 세그먼트의 다운로드 시간과 기설정된 다운로드 주기로부터, 주변뷰 스트림들의 i번째 세그먼트를 다운로드하기 위해 사용 가능한 시간
    Figure pat00052
    를 계산하는 단계;
    메인뷰 스트림의 i번째 세그먼트와 함께 다운로드되어야 하는 j번째 주변뷰 스트림의 i번째 세그먼트 다운로드에 활용할 수 있는 시간
    Figure pat00053
    을 계산하는 단계; 및
    j번째 주변뷰 스트림의 i번째 세그먼트의 크기
    Figure pat00054
    를 계산하는 단계를 포함하는, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법.
  4. 제 1 항에 있어서,
    서버로부터 멀티뷰 스트림 세그먼트들의 크기를 기술한 미디어 프레젠테이션 디스크립션 (MPD)을 수신하는 단계를 더 포함하며,
    상기 유추된 주변뷰 스트림의 i번째 세그먼트 크기에 부합하는 제2 품질레벨의 선택은, 상기 MPD에 기반하는, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법.
  5. 제 4 항에 있어서,
    상기 수신된 MPD로부터, 다운로드 가능한 세그먼트의 크기보다 작은 크기를 가지는 세그먼트들 중 가장 큰 값을 가지는 세그먼트가 선택되도록 상기 제2 품질레벨을 선택하는, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법.
  6. 제 1 항에 있어서,
    상기 다운로드된 주변뷰 스트림들의 세그먼트에 기반하여, 메인뷰 스트림의 i+1번째 이후 세그먼트를 다운로드 하기 위한 제3 품질레벨을 결정하는 단계를 더 포함하는, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법.
  7. 제 6 항에 있어서,
    상기 제3 품질레벨은, 상기 다운로드된 주변뷰 스트림들의 세그먼트들의 크기 및 다운로드에 걸린 시간으로부터 계산된 상기 주변뷰 스트림들의 다운로드 동안의 평균 비트레이트에 기반하여 결정되는, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법.
  8. 제 7 항에 있어서,
    상기 결정된 제3 품질레벨을 서버에 전송하고, 서버로부터 상기 제3 품질레벨에 부합하는 메인뷰 스트림의 i+1번째 이후 세그먼트를 다운로드 하는 단계를 포함하는, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법.
  9. 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법에 있어서,
    메인뷰 스트림의 i번째 세그먼트를 제1 품질레벨로 선택하여 다운로드 하는 단계;
    상기 메인뷰 스트림의 i번째 세그먼트의 다운로드 시간 및 전송레이트에 기반하여, 다운로드 가능한 주변뷰 스트림들의 i번째 세그먼트의 크기를 유추하는 단계; 및
    상기 유추된 주변뷰 스트림들의 i번째 세그먼트 크기 정보를 서버에 전송하고, 서버로부터 제2 품질레벨에 부합하는 주변뷰 스트림의 i번째 세그먼트를 다운로드 하는 단계를 포함하는, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법.
  10. 제 9 항에 있어서,
    상기 제1 품질레벨은, 상기 메인뷰 스트림의 i번째 세그먼트를 최상의 품질로 다운로드하기 위한 가장 높은 레벨로 선택하는, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법.
  11. 제 9 항에 있어서,
    상기 다운로드 가능한 주변뷰 스트림들의 i번째 세그먼트의 크기를 유추하는 단계는,
    메인뷰 스트림의 i번째 세그먼트의 전송레이트
    Figure pat00055
    를 계산하는 단계;
    상기 메인뷰 스트림의 i번째 세그먼트의 다운로드 시간과 기설정된 다운로드 주기로부터, 주변뷰 스트림들의 i번째 세그먼트를 다운로드하기 위해 사용 가능한 시간
    Figure pat00056
    를 계산하는 단계;
    메인뷰 스트림의 i번째 세그먼트와 함께 다운로드되어야 하는 j번째 주변뷰 스트림의 i번째 세그먼트 다운로드에 활용할 수 있는 시간
    Figure pat00057
    을 계산하는 단계; 및
    j번째 주변뷰 스트림의 i번째 세그먼트의 크기
    Figure pat00058
    를 계산하는 단계를 포함하는, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법.
  12. 제 9 항에 있어서,
    상기 다운로드된 주변뷰 스트림들의 세그먼트에 기반하여, 메인뷰 스트림의 i+1번째 이후 세그먼트를 다운로드 하기 위한 제3 품질레벨을 결정하는 단계를 더 포함하는, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법.
  13. 제 12 항에 있어서,
    상기 제3 품질레벨은, 상기 다운로드된 주변뷰 스트림들의 세그먼트들의 크기 및 다운로드에 걸린 시간으로부터 계산된 상기 주변뷰 스트림들의 다운로드 동안의 평균 비트레이트에 기반하여 결정되는, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법.
  14. 제 13 항에 있어서,
    상기 결정된 제3 품질레벨을 서버에 전송하고, 서버로부터 상기 제3 품질레벨에 부합하는 메인뷰 스트림의 i+1번째 세그먼트를 다운로드 하는 단계를 포함하는, 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법.
  15. 서버에서의 멀티뷰 스트림을 위한 적응적 스트리밍 전송 방법에 있어서,
    클라이언트가 요청한 제1 품질레벨로 메인뷰 스트림의 i번째 세그먼트를 상기 클라이언트에게 전송하는 단계;
    상기 클라이언트로부터 수신한 주변뷰 스트림들의 i번째 세그먼트의 크기 정보에 부합하는 주변뷰 스트림의 i번째 세그먼트를 선택하는 단계, 여기서 서버내에 저장되어 있는 세그먼트 중 상기 수신한 주변뷰 스트림들의 i번째 세그먼트의 크기 정보 보다 작은 값을 가지는 세그먼트들 중 가장 큰 값을 갖는 세그먼트를 선택하고; 및
    상기 선택된 세그먼트를 상기 클라이언트에 전송하는 단계를 포함하는, 멀티뷰 스트림을 위한 적응적 스트리밍 전송 방법.
  16. 제 15 항에 있어서,
    상기 클라이언트로부터 세그먼트 다운로드 요청과 함께 세그먼트 선택 파라미터(SSP) 정보를 수신하고, 상기 수신된 SSP 정보를 이용하여 전송될 세그먼트를 선택하는, 멀티뷰 스트림을 위한 적응적 스트리밍 전송 방법.
KR1020210184044A 2021-12-21 2021-12-21 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법 및 장치 KR20230094695A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210184044A KR20230094695A (ko) 2021-12-21 2021-12-21 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법 및 장치
US17/895,973 US11997366B2 (en) 2021-12-21 2022-08-25 Method and apparatus for processing adaptive multi-view streaming

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210184044A KR20230094695A (ko) 2021-12-21 2021-12-21 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20230094695A true KR20230094695A (ko) 2023-06-28

Family

ID=86769534

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210184044A KR20230094695A (ko) 2021-12-21 2021-12-21 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법 및 장치

Country Status (2)

Country Link
US (1) US11997366B2 (ko)
KR (1) KR20230094695A (ko)

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6771644B1 (en) * 1999-09-17 2004-08-03 Lucent Technologies Inc. Program insertion in real time IP multicast
US6665705B1 (en) * 1999-10-19 2003-12-16 International Business Machines Corporation Method and apparatus for proxy replication
US7594249B2 (en) * 2001-05-04 2009-09-22 Entropic Communications, Inc. Network interface device and broadband local area network using coaxial cable
US8392952B2 (en) * 2002-05-03 2013-03-05 Time Warner Cable Enterprises Llc Programming content processing and management system and method
US7792984B2 (en) * 2003-01-23 2010-09-07 International Business Machines Corporation Systems and methods for the distribution of bulk data using multicast routing that mitigates network traffic on subnets
US20080037420A1 (en) * 2003-10-08 2008-02-14 Bob Tang Immediate ready implementation of virtually congestion free guaranteed service capable network: external internet nextgentcp (square waveform) TCP friendly san
US7430222B2 (en) * 2004-02-27 2008-09-30 Microsoft Corporation Media stream splicer
US8135040B2 (en) * 2005-11-30 2012-03-13 Microsoft Corporation Accelerated channel change
US20080098420A1 (en) * 2006-10-19 2008-04-24 Roundbox, Inc. Distribution and display of advertising for devices in a network
US20090025027A1 (en) * 2007-07-20 2009-01-22 Michael Craner Systems & methods for allocating bandwidth in switched digital video systems based on interest
US8316409B2 (en) * 2007-10-11 2012-11-20 James Strothmann Simultaneous access to media in a media delivery system
US8578432B2 (en) * 2007-12-07 2013-11-05 Cisco Technology, Inc. Policy control over switched delivery networks
US9094140B2 (en) * 2008-04-28 2015-07-28 Time Warner Cable Enterprises Llc Methods and apparatus for audience research in a content-based network
US8953511B2 (en) * 2008-07-03 2015-02-10 Telefonaktiebolaget L M Ericsson (Publ) Fast channel switching in TV broadcast systems
US8014393B1 (en) * 2008-08-05 2011-09-06 Cisco Technology, Inc. Bandwidth optimized rapid channel change in IP-TV network
US8112781B2 (en) * 2008-10-07 2012-02-07 General Instrument Corporation Content delivery system having an edge resource manager performing bandwidth reclamation
US8321887B2 (en) * 2008-11-10 2012-11-27 Time Warner Cable Inc. Displaying enhanced advertisements simultaneously across substantially all channels
US8949888B2 (en) * 2008-12-30 2015-02-03 Verizon Patent And Licensing Inc. Systems and methods for efficient messaging and targeted IP multicast advertisement in communication networks
KR101182518B1 (ko) 2009-01-22 2012-09-12 에스케이플래닛 주식회사 영상 전송 시스템 및 방법
WO2011034956A2 (en) * 2009-09-15 2011-03-24 Comcast Cable Communications, Llc Dynamic content packaging
US10264029B2 (en) * 2009-10-30 2019-04-16 Time Warner Cable Enterprises Llc Methods and apparatus for packetized content delivery over a content delivery network
US10003851B2 (en) * 2009-11-24 2018-06-19 Imagine Communications Corp. Managed multiplexing of video in an adaptive bit rate environment
US9158769B2 (en) * 2009-12-28 2015-10-13 Adam Dunstan Systems and methods for network content delivery
EP2534836A4 (en) * 2010-02-11 2014-10-01 Beaumaris Networks Inc D B A Bni Video BANDWIDTH ALLOCATION FOR MULTIPLE SERVICES
JP5569053B2 (ja) * 2010-03-11 2014-08-13 ソニー株式会社 コンテンツ配信装置、コンテンツ配信方法および送信サーバ
GB2490659A (en) * 2011-05-04 2012-11-14 Nds Ltd Fast channel change using channel packs comprising independently decodable frame segments having differing qualities
US9380079B2 (en) * 2011-06-29 2016-06-28 Cable Television Laboratories, Inc. Content multicasting
US8676995B1 (en) * 2011-07-07 2014-03-18 Cisco Technology, Inc. System and method for enabling pairing of a companion device with a mate device for performing a companion service
US9264508B2 (en) * 2011-08-19 2016-02-16 Time Warner Cable Enterprises Llc Apparatus and methods for reduced switching delays in a content distribution network
US9197907B2 (en) * 2011-10-07 2015-11-24 Ericsson Ab Adaptive ads with advertising markers
US9319721B2 (en) * 2011-10-13 2016-04-19 Electronics And Telecommunications Research Institute Method of configuring and transmitting an MMT transport packet
CA2851783C (en) 2011-10-21 2023-04-04 Thomas Schierl Resource management concept
KR20130138638A (ko) * 2012-06-11 2013-12-19 한국전자통신연구원 비트 에러율을 이용한 효과적인 멀티미디어 전송 방법
US9485526B2 (en) * 2012-07-16 2016-11-01 Time Warner Cable Enterprises Llc Multi-stream shared communication channels
US10708335B2 (en) * 2012-11-16 2020-07-07 Time Warner Cable Enterprises Llc Situation-dependent dynamic bit rate encoding and distribution of content
US9402107B2 (en) * 2013-03-15 2016-07-26 Time Warner Cable Enterprises Llc Apparatus and methods for delivery of multicast and unicast content in a content delivery network
US9066153B2 (en) * 2013-03-15 2015-06-23 Time Warner Cable Enterprises Llc Apparatus and methods for multicast delivery of content in a content delivery network
KR101350915B1 (ko) 2013-06-27 2014-02-18 주식회사 넥스트이온 다시점 비디오 스트리밍 시스템 및 그 제공방법
US9628405B2 (en) * 2014-04-07 2017-04-18 Ericsson Ab Merging multicast ABR and unicast ABR with progressive download ABR in a customer premises device within the same video delivery pipe
JP6419848B2 (ja) 2014-06-30 2018-11-07 ディッシュ テクノロジーズ エル.エル.シー.DISH Technologies L.L.C. 帯域幅最適化のための適応的データセグメント配信調停
US10104413B2 (en) * 2016-07-07 2018-10-16 Telefonaktiebolaget Lm Ericsson (Publ) Bandwidth and ABR video QoE management based on OTT video providers and devices
US9888278B2 (en) * 2016-07-07 2018-02-06 Telefonaktiebolaget Lm Ericsson (Publ) Bandwidth and ABR video QoE management based on OTT video providers and devices
JP6872631B2 (ja) * 2017-03-23 2021-05-19 ヴィド スケール インコーポレイテッド 360度適応ストリーミングのエクスペリエンスを改善するためのメトリックおよびメッセージ
US20220217314A1 (en) * 2019-05-24 2022-07-07 Lg Electronics Inc. Method for transmitting 360 video, method for receiving 360 video, 360 video transmitting device, and 360 video receiving device
US11785290B2 (en) * 2020-06-24 2023-10-10 Qualcomm Incorporated Media access function for scene descriptions
US11671665B2 (en) * 2021-02-23 2023-06-06 Amazon Technologies, Inc. Adaptive bitrate control for simultaneous content streaming
US11888913B2 (en) * 2021-04-28 2024-01-30 Lemon Inc. External stream representation properties
US11611799B2 (en) * 2021-08-06 2023-03-21 Sony Group Corporation ATSC 3 application context switching and sharing

Also Published As

Publication number Publication date
US11997366B2 (en) 2024-05-28
US20230199267A1 (en) 2023-06-22

Similar Documents

Publication Publication Date Title
Carlsson et al. Optimized adaptive streaming of multi-video stream bundles
EP3183884B1 (en) Video quality of experience based on video quality estimation
US8589583B2 (en) Method and apparatus for adaptive bit rate switching
CN110636346B (zh) 一种码率自适应切换方法、装置、电子设备及存储介质
US9479807B1 (en) Gateway-based video client-proxy sub-system for managed delivery of A/V content using fragmented method in a stateful system
CN109891850A (zh) 用于减少360度视区自适应流媒体延迟的方法和装置
US9521178B1 (en) Dynamic bandwidth thresholds
CN117581552A (zh) 在传输预创作视频帧和合成视频帧之间切换
KR102012528B1 (ko) 수신 비트율 및 연관된 수신기의 동적 적응 방법
JP7354411B2 (ja) ビデオプレイバックにおける予測ベースドロップフレームハンドリング論理
US10708667B1 (en) Combining fragments with different encodings
TWI723394B (zh) 修正視訊串流流量的方法、機上盒及電腦可讀儲存介質
JP2014090419A (ja) 通信パラメータに従ってコンテンツをダウンロードするための方法、および、関連するコンテンツ受信機
EP3354033B1 (en) Dynamic seeking in video delivery systems
US11082741B2 (en) Dynamic multi-content delivery network selection during video playback
US11622135B2 (en) Bandwidth allocation for low latency content and buffered content
CN116980662A (zh) 流媒体播放方法、装置、电子设备、存储介质及程序产品
KR20230094695A (ko) 멀티뷰 스트림을 위한 적응적 스트리밍 처리 방법 및 장치
Tanjung et al. Qoe optimization in dash-based multiview video streaming
US20210144080A1 (en) Dynamic variation of media segment durations for optimization of network round trip times
US11350160B1 (en) Management of a client device buffer
Nguyen et al. Scalable and resilient 360-degree-video adaptive streaming over HTTP/2 against sudden network drops
Fernandez et al. An Interactive Video Streaming Architecture Featuring Bitrate Adaptation.
KR20230092199A (ko) 체감 품질 기반 적응적 멀티뷰 비디오 스트리밍 처리 장치 및 방법
US11178206B2 (en) Method for managing progressive and adaptive streaming of digital content by a multimedia stream player terminal connected to a communication network, and associated management device, multimedia stream player terminal and computer program

Legal Events

Date Code Title Description
E902 Notification of reason for refusal