[go: up one dir, main page]

KR20170101192A - 링크 인식 스트리밍 적응 - Google Patents

링크 인식 스트리밍 적응 Download PDF

Info

Publication number
KR20170101192A
KR20170101192A KR1020177013810A KR20177013810A KR20170101192A KR 20170101192 A KR20170101192 A KR 20170101192A KR 1020177013810 A KR1020177013810 A KR 1020177013810A KR 20177013810 A KR20177013810 A KR 20177013810A KR 20170101192 A KR20170101192 A KR 20170101192A
Authority
KR
South Korea
Prior art keywords
segment
physical layer
processors
slope
throughput
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020177013810A
Other languages
English (en)
Other versions
KR102486847B1 (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 KR20170101192A publication Critical patent/KR20170101192A/ko
Application granted granted Critical
Publication of KR102486847B1 publication Critical patent/KR102486847B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • H04L65/4084
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • H04L65/4092
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • 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/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/323Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the physical layer [OSI layer 1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic

Landscapes

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

Abstract

링크 인식 스트리밍 적응을 제공하는 기술이 개시된다. 일례에서, 이동 디바이스는 노드로부터 이동 디바이스에서 수신되는 HTTP 적응적 스트림에 대한 매니페스트 파일을 처리하고; HAS에 대한 노드와의 이동 디바이스의 물리 계층 굿풋을 결정하고; HAS에 대한 세그먼트 처리량 추정을 식별하고; HAS에 대한 물리 계층 굿풋 및 HAS에 대한 세그먼트 처리량에 기초하여 선택된 주기에 대한 매니페스트 파일의 표현을 선택하도록 구성되는 하나 이상의 프로세서를 포함할 수 있다.

Description

링크 인식 스트리밍 적응{LINK-AWARE STREAMING ADAPTATION}
스트리밍 및 대화식 서비스를 포함하는 멀티미디어 서비스의 성장은 새로운 이동 광대역 기술 및 표준으로의 진화의 핵심 동인 중 하나이다. 디지털 비디오 콘텐츠는 이동 디바이스에서 점점 더 많이 소비된다. 일상생활에서 이동 디바이스에서 광범위하게 사용되는 많은 비디오 애플리케이션이 있다. 예를 들어, 온라인 비디오 스트리밍은 YouTube 및 Hulu와 같은 인기 있는 서비스를 포함한다. 비디오 녹화 및 비디오 회의는 Skype 및 Google Hangout과 같은 서비스를 포함한다. 2013년에, YouTube는 하루당 10억 초과의 이동 비디오 뷰를 가졌다. 더 많은 스마트폰, 태블릿 및 다른 이동 컴퓨팅 디바이스가 구매됨에 따라, 비디오 녹화 및 비디오 회의를 위한 그들의 사용이 현저히 증가할 것이다. 미디어 압축 및 무선 네트워크 기반구조의 개발과 결합된 멀티미디어 서비스에 대한 그러한 높은 소비자 수요에 따라, 미래의 셀룰러 및 이동 광대역 시스템의 멀티미디어 서비스 능력을 향상시키고 소비자에게 높은 체감 품질(QoE)을 제공하여, 임의의 디바이스 및 기술을 이용하여 언제 어디서나 비디오 콘텐츠 및 서비스에 대한 유비쿼터스 액세스를 보장하는 것이 관심 대상이다.
본 개시내용의 특징들 및 이점들은 본 개시내용의 특징들을 예로서 함께 예시하는 첨부된 도면들과 연계하여 취해지는 이하의 상세한 설명으로부터 명백할 것이다; 그리고:
도 1은 일례에 따른 미디어 프리젠테이션 설명(media presentation description, MPD) 메타데이터 파일 구성의 블록도를 도시한다;
도 2는 일례에 따른 하이퍼텍스트 전송 프로토콜(HTTP) 스트리밍의 블록도를 도시한다;
도 3은 일례에 따른 하이퍼텍스트 전송 프로토콜 기반(HTTP 기반) 링크 인식 적응적 스트리밍을 위한 라디오 액세스 네트워크(RAN) 아키텍처의 블록도를 도시한다;
도 4는 일례에 따라 다수의 프레임 및 표현 레벨을 계산하기 위해 클라이언트에 의해 사용되는 프레임 레벨들의 도면을 도시한다;
도 5는 일례에 따른 링크 인식 적응적 스트리밍 클라이언트 플레이어 상태들의 도면을 도시한다;
도 6은 일례에 따른 링크 인식 레이트 적응 흐름도를 도시한다;
도 7a는 일례에 따른 지연 바인딩된 품질 최적화된 기동 흐름도를 도시한다;
도 7b는 일례에 따른 상태-의존 링크 인식 HAS 클라이언트 레이트 적응을 도시한다;
도 8은 일례에 따른 대체 요청 특징을 갖는 링크 인식 HAS 레이트 적응에 대한 흐름도를 도시한다;
도 9는 일례에 따라 대체된 세그먼트의 품질을 선택하기 위한 알고리즘의 흐름도를 도시한다;
도 10은 일례에 따라 하나 이상의 프로세서에 의해 실행될 때 하이퍼텍스트 전송 프로토콜(HTTP) 적응적 스트리밍(HAS)을 제공하기 위한 동작들을 수행하는 명령어들이 구현된 컴퓨터 판독 가능 저장 매체의 흐름도를 도시한다;
도 11은 일례에 따라 HAS를 제공하기 위한 방법의 흐름도를 도시한다;
도 12는 일례에 따라, HAS를 수신하도록 동작 가능한 이동 디바이스의 하나 이상의 프로세서의 기능성을 도시한다; 그리고
도 13은 일례에 따른 무선 디바이스(예컨대, UE)의 도면을 도시한다.
이제 예시된 예시적인 실시예들에 대한 참조가 이루어질 것이며, 이들을 설명하기 위해 본 명세서에서 특정한 언어가 이용될 것이다. 그럼에도 불구하고, 이에 의해 본 발명의 범위의 제한이 의도되지는 않는다는 점이 이해될 것이다.
본 발명이 개시되고 설명되기 이전에, 본 발명은, 여기서 개시된 특정한 구조들, 프로세스 단계들, 또는 재료들로 제한되지 않고, 관련 기술분야의 통상의 기술자가 인식하는 그 균등물들로 확장된다는 점을 이해해야 한다. 본 명세서에서 이용되는 용어는 제한하고자 함이 아니라 단지 특정한 예를 설명하기 위한 목적으로 이용된다는 점도 역시 이해해야 한다. 상이한 도면들에서 동일한 참조 번호는 동일한 요소를 나타낸다. 흐름도들 및 프로세스들에서 제공되는 번호들은 단계들 및 동작들을 예시하는데 있어서 명료성을 제공하기 위한 것이며 반드시 특정한 순서나 시퀀스를 나타내는 것은 아니다.
예시적인 실시예
기술 실시예들의 초기 개요가 이하에 제공된 다음, 구체적인 기술 실시예들이 이후에 더 상세히 설명된다. 이 초기 요약은, 기술을 더 신속하게 이해하는데 있어서 독자를 돕기 위한 것이지, 기술의 핵심 특징이나 본질적인 특징을 식별하기 위함도 아니고, 청구된 주제의 범위를 제한하고자 함도 아니다.
하이퍼텍스트 전송 프로토콜 적응적 스트리밍(HAS: Hypertext transfer protocol(HTTP) adaptive streaming)이 인터넷 비디오의 멀티미디어 전달의 형태로서 이용될 수 있다. HTTP 기반 전달은, 전송 제어 프로토콜(TCP)/인터넷 프로토콜(IP)을 포함하여, HTTP와 HTTP의 기저 프로토콜 양쪽 모두의 광범위한 채택으로 인해 신뢰성 및 배치 간이성을 제공할 수 있다. HTTP 기반 전달은, NAT(network address translation) 및 방화벽 통과 이슈(firewall traversal issue)들을 회피함으로써 용이하고 수월한 스트리밍 서비스들을 가능하게 할 수 있다. 또한, HTTP 기반 전달 또는 스트리밍은 전문화된 스트리밍 서버들 대신에 표준의 HTTP 서버들 및 캐시들을 이용하는 능력을 제공할 수 있다. HTTP 기반 전달은 서버 측 상에서의 최소의 또는 감소된 상태 정보로 인해 확장성을 제공할 수 있다.
인터넷 멀티미디어 콘텐츠를 전달하기 위해 HAS를 이용할 때, 이동 디바이스 상에서 동작하는 비디오 클라이언트는 멀티미디어 서버와 같은, 특정 리소스로부터 데이터를 검색하기 위해 HTTP GET 또는 부분적 GET 명령을 이용하여 비디오 서버로부터 적절한 비디오 표현 레벨들을 선택하고 요청하는 것에 의해 레이트 적응에 있어서 중요한 역할을 수행하도록 구성될 수 있다. 비디오 클라이언트는 오디오 또는 비디오와 같은, 스트리밍 멀티미디어 콘텐츠를 재생하기를 시작하기 전에 초기에 버퍼를 특정 레벨로 구축한다. 이 국면은 기동 국면으로서 지칭된다. 그 후에, 클라이언트는 버퍼링된 멀티미디어 콘텐츠의 재생을 시작한다.
클라이언트 디바이스에서의 멀티미디어 재생의 품질 및 해상도는 이용 가능한 링크 대역폭에 의존한다. 비디오 클라이언트는 단지 더 높은 계층 처리량 추정들, 예컨대 HTTP-레벨 비디오 스트리밍 처리량, 또는 전송 제어 프로토콜(transmission control protocol, TCP) 처리량에 기초하여 이용 가능한 링크 대역폭을 일반적으로 추정한다. 이러한 접근법은 무선 네트워크들에서 발생하는 채널 조건들의 급속한 변동들을 추적하는 것에 제한이 있다. 변동들을 추적하는 것에서의 이들 제한은 링크 조건들의 변동들에 적응하기 위해 레이트 적응 알고리즘들의 능력을 제한할 수 있다. 또한, 이용 가능한 링크 대역폭을 추정하기 위해 더 높은 계층 처리량 추정의 이용은 처음 몇 개의 비디오 프레임이 수신되기 전에 이용 가능하지 않다.
본 발명의 일 실시예에 따르면, HTTP(DASH) 표준을 통한 동적 적응적 스트리밍(dynamic adaptive streaming)을 사용하도록 구성된 시스템들과 같은 HAS 시스템들에 대한 물리 계층 인식 비디오 적응 접근법을 사용하는 것에 의해 무선 네트워크에서의 HAS에 대해 이용 가능한 대역폭의 더 나은 추정이 제공될 수 있다. 이 접근법은 시스템 상의 부하뿐만 아니라 물리적 환경에 의존하여 특성들이 시간에 따라 변동하는 무선 링크들에 특히 적합하다.
그러나, 물리 계층 처리량만의 이용은 또한 제한들을 가질 수 있다. 물리 계층 처리량은 이동 디바이스의 위치의 변경과 같은 전송 조건들의 변경들로 인해 상대적으로 급속한 변경들을 가질 수 있다.
일 실시예에서, 이용 가능한 링크 대역폭 정보는 전송 또는 애플리케이션 계층에서의 더 높은 계층 추정에 대한 보완책으로서 물리 계층 처리량 정보에 기초하여 추정될 수 있다. 셀룰러 시나리오에서, 이러한 정보는 사용자 장비(UE)의 라디오에 의해 HAS 클라이언트의 비디오 적응 모듈에 제공될 수 있다.
링크 대역폭 정보의 이용은 HAS의 선택적 기능으로 이용될 수 있고, PHY 계층 처리량이 링크 조건, 버퍼 상태 또는 다른 원하는 기준에 관한 특정 조건들이 충족되는 경우에만 비디오 레이트 적응에 이용될 수 있다. 예를 들어, PHY 계층 처리량은 더 높은 계층 처리량들의 양호한 추정이 이용 가능하지 않는 경우에 이용될 수 있다. 더 높은 계층 처리량 추정들은 스트리밍 세션의 시작에서 정확도가 제한될 수 있다. 또한 PHY 계층 처리량은 무선 채널 조건들이 상대적으로 급속하게 변하는 경우에 사용될 수 있다. 임계값은, 더 높은 계층 처리량 추정 대신에 물리 계층 굿풋(goodput) 측정이 이용되게 하는 무선 채널 조건들의 변동량을 결정하도록 설정될 수 있다. 임계값 레벨은 시스템 설계 및 이용에 기초하여 변할 수 있다. 일 실시예에서, 더 높은 계층 처리량 추정이 물리 계층 굿풋의 이용에 비해 선택된 백분율을 초과하여 HAS의 다수의 비디오 프레임의 실제 처리량을 감소시키면, 물리 계층 굿풋이 이용될 수 있다. 임계값은 무선 디바이스가 동작하는 시스템의 유형에 따라 0.1 %와 같은 작은 백분율로부터 20 % 이상과 같은 상대적으로 높은 백분율까지 변할 수 있다.
무선 디바이스가 이동하는 경우와 같이 채널 조건들의 빈번한 변경들이 존재하는 경우, 무선 링크 조건들의 변경을 따르는 중에 더 높은 계층 처리량 추정은 늦어진다. 시간 경과에 따른 물리 계층 처리량의 추세를 관찰하는 것에 의해 급속한 무선 채널 변동들이 추론될 수 있다. 물리 계층 처리량 추정을 이용하는 능력은 멀티미디어 플레이어가 채널 변동들에 기회주의적으로(opportunistically) 적응하고 사용자 비디오 품질 및 재버퍼링 백분율의 주요 성능 메트릭들을 해결하는 것에 의해 사용자의 체감 품질(QoE)을 향상시키는 것을 가능하게 한다.
일 실시예에서, 물리 계층 링크 조건들 및 버퍼 상태에 기초하여 비디오 레이트를 기회주의적으로 적응시키는 비디오 레이트-적응 알고리즘들의 이용은 허용 가능한 기동 지연 하에서 기동 비디오 품질을 개선하고 비디오 재생 동안의 재버퍼링을 감소시키는 데 이용될 수 있다. 따라서, 사용자에 대한 QoE가 상당히 개선될 수 있다. 이는 후속 단락들에서 추가로 논의될 것이다.
무선 멀티미디어 표준들
멀티미디어가 이동 컴퓨팅 디바이스들로, 그들로부터 또는 그들 사이에서 통신될 수 있도록 개발된 다수의 멀티미디어 표준이 존재해왔다. 예를 들어 스트리밍 비디오에서, 3세대 파트너십 프로젝트(Third Generation Partnership Project: 3GPP)는 주문형 또는 라이브 콘텐츠의 유니캐스트 스트리밍을 위한 실시간 스트리밍 프로토콜(RTSP)에 기초하는 패킷 교환 스트리밍 서비스(PSS)를 설명하는 기술 사양(TS) 26.234(예를 들어, 릴리스 11.0.0)를 개발하였다. 게다가, HTTP(DASH)를 통한 프로그레시브 다운로드 및 동적 적응적 스트리밍을 포함하는, 하이퍼텍스트 전송 프로토콜(HTTP) 기반 스트리밍 서비스는 3GPP TS 26.247(예를 들어, 릴리스 11.0.0)에 설명된다. 3GPP 기반 멀티미디어 브로드캐스트 및 멀티캐스트 서비스(MBMS) 사양 TS 26.346(예를 들어, 릴리스 11.0.0)은 멀티캐스트/브로드캐스트 콘텐츠 분배를 위한 스트리밍 및 다운로드 기술을 규정한다. 그에 따라, DASH/PSS/MBMS 기반 이동 컴퓨팅 디바이스, 예컨대 사용자 장비(UE)는 스트리밍된 비디오를 UE 디바이스들에서 디코딩하고 렌더링한다. 3GPP TS 26.244(예를 들어, 릴리스 11.0.0)에서의 3GP 파일 포맷에 대한 지원이 이러한 모든 사양에서 파일 다운로드 및 HTTP 기반 스트리밍 사용 사례를 지원하기 위해 요구된다.
비디오 회의와 같은, 대화식 비디오 통신에 대한 표준의 일례가 3GPP TS 26.114(예를 들어, 11.0.0)에 제공된다. 이 표준은 인터넷 프로토콜(IP) 멀티미디어 서브시스템(IMS) 기반 네트워크를 통한 진보된 멀티미디어 대화식 서비스 및 콘텐츠의 전달을 가능하게 하는 IMS를 통한 멀티미디어 전화 통신 서비스(MTSI)를 설명한다. IMS는 3GPP TS 26.140(예를 들어, 릴리스 11.0.0)에서 표준화된다. MTSI 기반 송신기 UE 단말기는 비디오를 캡처 및 녹화하고, 이어서 3GPP 네트워크를 통해 MTSI 기반 수신기 UE 단말기로 비디오를 전송할 수 있다. 이어서, 수신기 UE 단말기는 비디오를 디코딩하고 렌더링할 수 있다. 3GPP TS 26.140은 또한, 3GP 파일 포맷에 대한 지원이 제공되는, MMS(multimedia sharing services)를 이용하여 비디오 공유를 가능하게 한다.
전술한 표준들은 멀티미디어 파일들을 멀티미디어 디바이스들로, 그들로부터, 및/또는 그들 사이에서 통신하는 데 이용될 수 있는 무선 멀티미디어 표준들의 예들로서 제공된다. 이 예들은 제한하고자 의도되지 않는다. 추가적 표준들이 비디오 스트리밍, 대화형 비디오, 또는 비디오 공유를 제공하기 위해 이용될 수 있다.
스트리밍 미디어 표준들
본 명세서에서는 본 발명의 실시예들의 컨텍스트에서, HTTP 스트리밍 및 더 구체적으로는 DASH 표준에 대한 더 상세한 설명이 제공된다. 상세한 설명은 제한하도록 의도되지 않는다. 후속 단락들에서 더 설명되는 바와 같이, 본 발명의 실시예들은, 이동 디바이스들, 또는 이동 디바이스들과 통신하는 서버들이 원하는 에너지 특성화(energy characterization)를 갖는 멀티미디어를 선택 및/또는 통신할 수 있게 하는 것에 의해, 이동 디바이스들로, 그들로부터, 및/또는 그들 사이에서 멀티미디어를 효율적으로 통신하는 데 이용될 수 있다. 멀티미디어는 표준화된 또는 비표준화된 통신 스킴을 이용하여 통신될 수 있다.
HTTP(hypertext transfer protocol) 스트리밍은 인터넷 비디오의 멀티미디어 전달의 형태로서 이용될 수 있다. HTTP 스트리밍에서, 멀티미디어 파일은 하나 이상의 세그먼트로 분할되고, HTTP 프로토콜을 이용하여 클라이언트로 전달될 수 있다. HTTP 기반 전달은, 전송 제어 프로토콜(TCP)/인터넷 프로토콜(IP)을 포함하여, HTTP와 HTTP의 기저 프로토콜 양쪽 모두의 광범위한 채택으로 인해 신뢰성 및 배치 간이성을 제공할 수 있다. HTTP 기반 전달은 NAT(network address translation) 및 방화벽 통과 이슈들을 회피함으로써 간소화된 스트리밍 서비스들을 가능하게 할 수 있다. 또한, HTTP 기반 전달 또는 스트리밍은 전문화된 스트리밍 서버들 대신에 표준의 HTTP 서버들 및 캐시들을 이용하는 능력을 제공할 수 있다. HTTP 기반 전달은 서버 측 상에서의 최소의 또는 감소된 상태 정보로 인해 확장성을 제공할 수 있다. HTTP 스트리밍 기술의 예는, 마이크로소프트 IIS 원활한 스트리밍(Microsoft IIS Smooth Streaming), 애플 HTTP 라이브 스트리밍(Apple HTTP Live Streaming), 및 어도비 HTTP 동적 스트리밍(Adobe HTTP Dynamic Streaming)을 포함할 수 있다.
DASH는 표준화된 HTTP 스트리밍 프로토콜이다. 도 1에 도시된 바와 같이, DASH는 서버에 저장된 미디어 콘텐츠 표현들의 구조 및 상이한 버전들뿐만 아니라 세그먼트 포맷들에 관한 정보를 제공하는 미디어 프리젠테이션 설명(MPD) 메타데이터 파일(102)에 대한 상이한 포맷들을 규정할 수 있다. MPD 메타데이터 파일은 다른 표현들과의 스위칭 및 동기적 프리젠테이션을 위해 세그먼트들의 미디어 프리젠테이션 타임라인으로의 매핑을 보장하기 위해 미디어 플레이어에 대한 초기화 및 미디어 세그먼트들에 대한 정보를 포함한다(예를 들어, 미디어 플레이어는 컨테이너 포맷 및 미디어 타이밍 정보를 결정하기 위해 초기화 세그먼트를 살펴볼 수 있다). DASH 기술은 동화상 전문가 그룹(MPEG), 오픈 IPTV 포럼(OIPF) 및 하이브리드 브로드캐스트 광대역 TV(HbbTV)와 같은 다른 조직들에 의해서도 표준화되었다.
DASH 클라이언트는 일련의 HTTP 요청-응답 트랜잭션을 통해 세그먼트들을 다운로딩하는 것에 의해 멀티미디어 콘텐츠를 수신할 수 있다. DASH는 이동 디바이스에 이용 가능한 대역폭이 변함에 따라 미디어 콘텐츠의 상이한 비트레이트 표현들 간에 동적으로 스위칭하기 위한 능력을 제공할 수 있다. 따라서, DASH는, 변화하는 네트워크 및 무선 링크 조건들, 사용자 선호도들, 및 디스플레이 해상도, 채택된 중앙 처리 유닛(CPU)의 유형, 및 이용 가능한 메모리 리소스들 등과 같은 디바이스 능력들에 대한 빠른 적응을 허용할 수 있다. DASH의 동적 적응은 다른 스트리밍 프로토콜들보다 짧은 기동 지연들 및 적은 재버퍼링 이벤트들과 함께 사용자에게 더 양호한 체감 품질(QoE)을 제공할 수 있다.
DASH에서, 미디어 프리젠테이션 설명(MPD) 메타데이터(102)는 도 2에 도시된 바와 같이 웹/미디어 서버(212) 내에 저장되는 미디어 콘텐츠 표현들의 구조 및 상이한 버전들에 대한 정보를 제공할 수 있다. MPD 메타데이터는 매니페스트 파일로 통신될 수 있다. 도 1에 도시된 예에서, MPD 메타데이터는 이 예에서 60초와 같은 미리 결정된 길이를 갖는 기간들로 시간적으로 분할된다. 각각의 기간은 복수의 적응 세트(104)를 포함할 수 있다. 각각의 적응 세트는 다수의 인코딩된 대안들을 가진 하나 이상의 미디어 컴포넌트에 대한 정보를 제공할 수 있다. 예를 들어, 이 예에서 적응 세트 0은 예컨대 상이한 비트레이트들, 모노, 스테레오, 또는 서라운드 사운드, 등과 같이 다양한 상이하게 인코딩된 오디오 대안들을 포함할 수 있다. 기간 ID를 통해 멀티미디어 프리젠테이션에 대한 상이한 품질의 오디오를 제공하는 것 외에도, 적응 세트는 상이한 언어들로 된 오디오도 포함할 수 있다. 적응 세트에 제공되는 상이한 대안들은 표현들(106)로서 지칭된다.
도 1에서, 적응 세트 1은 5 Mbps(mega-bits per second), 2 Mbps, 500 kbps(kilo-bits per second) 또는 트릭 모드와 같은 상이한 비트레이트들에서 비디오를 제공하는 것으로 도시된다. 트릭 모드는 탐색, 고속 전진 감기, 되감기, 또는 멀티미디어 스트리밍 파일에서의 위치의 다른 변경들에 대해 이용될 수 있다. 게다가, 비디오는 2차원(2D) 또는 3차원(3D) 비디오와 같은 상이한 포맷들로 이용 가능할 수도 있다. 각각의 표현(106)은 세그먼트 정보(108)를 포함할 수 있다. 세그먼트 정보는 초기화 정보(110) 및 실제 미디어 세그먼트 데이터(112)를 포함할 수 있다. 이 예에서는, MPEG 4(MP4) 파일이 서버로부터 이동 디바이스로 스트리밍된다. 이 예에서는 MP4가 사용되지만, 앞서 논의한 바와 같이, 광범위하게 다양한 상이한 코덱들이 이용될 수 있다.
적응 세트에서의 멀티미디어는 더 작은 세그먼트들이 되도록 더 분할될 수 있다. 도 1의 예에서, 적응 세트 1의 60초 비디오 세그먼트는 각각 15초의 4개의 서브 세그먼트들(112)로 더 분할된다. 이러한 예들은 제한하는 것으로 의도되지 않는다. 적응 세트 및 각각의 미디어 세그먼트 또는 서브 세그먼트의 실제 길이는 미디어의 유형, 시스템 요건들, 간섭의 잠재적 유형 등에 의존한다. 실제 미디어 세그먼트들 및 서브 세그먼트들은 1초 미만 내지 몇 분이 되는 길이를 가질 수 있다.
도 2에 도시된 바와 같이, MPD 메타데이터 정보는 이동 디바이스와 같은, 클라이언트(220)로 통신될 수 있다. 이동 디바이스는 스트리밍 미디어를 수신하고 표시하도록 구성되는 무선 디바이스일 수 있다. 일 실시예에서, 이동 디바이스는 예컨대, 스트리밍 미디어를 수신하고 그 후에 그것을 렌더링하기 위해 다른 디바이스 또는 디스플레이 디바이스로 통신하는 것과 같은, 이러한 기능의 일부만을 수행할 수 있다. 이동 디바이스는 클라이언트(220)를 실행하도록 구성될 수 있다. 클라이언트는 HTTP GET(240) 메시지 또는 일련의 부분 GET 메시지들을 이용하여 세그먼트들을 요청할 수 있다. 클라이언트는 무선 링크, 디바이스 상태 또는 사용자 선호도의 변경들에 대응하기 위해, 세그먼트들의 시퀀스의 정기적인 요청 및 원활한 플레이-아웃을 관리하는 것 또는 비트 레이트들 또는 다른 속성들을 잠재적으로 조정하는 것과 같이 스트리밍 세션을 제어할 수 있다.
도 2는 DASH 기반 스트리밍 프레임워크를 도시한다. 웹/미디어 서버(212)에서의 미디어 인코더(214)는 오디오/비디오 입력(210)으로부터의 입력 미디어를 저장 또는 스트리밍을 위한 포맷이 되도록 인코딩할 수 있다. 미디어 세그먼터(216)는 입력 미디어를, 웹 서버(218)에 제공될 수 있는 일련의 세그먼트들(232)이 되도록 분할하는 데 이용될 수 있다. 클라이언트(220)는 웹 서버(예를 들어, HTTP 서버)에게 송신되는 HTTP GET 메시지들(234)을 이용하여 세그먼트들에서의 새로운 데이터를 요청할 수 있다.
예를 들어, 클라이언트(220)의 웹 브라우저(222)는 HTTP GET 메시지(240)를 이용하여 멀티미디어 콘텐츠를 요청할 수 있다. 웹 서버(218)는 멀티미디어 콘텐츠에 대한 MPD(242)를 클라이언트에게 제공할 수 있다. MPD는 연관된 메타데이터 정보(252)에 보여지는 대로의 각각의 세그먼트의 인덱스 및 세그먼트의 대응 위치들을 전달하는 데 이용될 수 있다. 웹 브라우저는 (236)에 도시된 바와 같이 MPD(242)에 따라 미디어를 세그먼트 단위로 서버로부터 풀링할 수 있다. 예를 들어, 웹 브라우저는 HTTP GET URL(frag 1 req)(244)을 이용하여 제1 세그먼트를 요청할 수 있다. URL(uniform resource locator) 또는 URL(universal resource locator)은, 클라이언트가 어느 세그먼트를 요청하는지를 웹 서버에 알리기 위해 이용될 수 있다(254). 웹 서버는 제1 프래그먼트(즉, 세그먼트 1(246))를 제공할 수 있다. 후속 세그먼트들에 대해, 웹 브라우저는 HTTP GET URL(frag i req)(248)을 이용하여 세그먼트 i를 요청할 수 있으며, 여기서 i는 세그먼트의 정수 인덱스이다. 결과적으로, 웹 서버는 세그먼트 i(250)을 제공할 수 있다. 세그먼트들은 미디어 디코더/플레이어(224)를 통해 클라이언트에 프리젠팅될 수 있다.
도 3은 UE(336)와 같은 이동 디바이스 상에서 동작하는 3GPP 클라이언트(338)에 멀티미디어 콘텐츠를 제공하는 HTTP 서버(310) 사이의 멀티미디어 콘텐츠(312)의 흐름을 나타낸다. HTTP 서버는 WWAN(wireless wide area network)의 코어 네트워크(324)와 통신하는 공중 또는 사설 네트워크(322)(또는 인터넷)와 인터페이싱할 수 있다. 일 실시예에서, WWAN은 3GPP LTE 기반 네트워크 또는 IEEE 802.16 기반 네트워크(즉, 802.16-2009)일 수 있다. 코어 네트워크는 라디오 액세스 네트워크(RAN)(332)를 통해 진화된 패킷 시스템(EPS)과 같은 무선 네트워크(330)에 액세스할 수 있다. RAN은 노드(예를 들어, eNB(evolved Node B)(334))를 통해 UE 상에서 동작하는 클라이언트에게 멀티미디어 콘텐츠를 제공할 수 있다. 또한, WLAN 네트워크는 HTTP 서버와 UE 사이에서 또한 구현될 수 있다. WLAN 네트워크는 IEEE 802.11a, 802.11b, 802.11g, 802.11n, 802.11ac, 및 802.11ad를 포함하지만 이에 제한되지 않는 IEEE 802.11 네트워크일 수 있다. WLAN은 액세스 포인트(AP)를 통해 UE 상에서 동작하는 클라이언트에게 멀티미디어 콘텐츠를 제공할 수 있다. Bluetooth 네트워크 또는 다른 근거리 네트워크와 같은 추가적인 유형의 WLAN 네트워크도 이용될 수 있다.
링크 인식 스트리밍 적응
일 실시예에 따르면, 기지국에 의해 서빙되는 다수의 무선 비디오 사용자를 갖는 시스템이 개시된다. 시스템이 여러 비디오 클라이언트를 포함하지만, 각각의 클라이언트는 다른 클라이언트들과 독립적으로 작용할 수 있다. 대표 클라이언트에 의해 요청된 비디오의 상이한 표현들은 문자 k를 사용하여 인덱싱될 수 있다. 값 k = 1은 최하 비트레이트 표현 레벨을 표현하도록 설정될 수 있고, k = N은 최고 표현 레벨을 나타낼 수 있다. 변수 bk는 표현 레벨 k의 인코딩된 비디오의 비트 레이트를 나타낼 수 있으며, 여기서 bi ≤ b2 ≤ b3 ≤...≤ bN.
MPD에서 상이한 비디오 표현 레벨들의 레이트들은 MPD에서 서버에 의해 클라이언트로 통신될 수 있다. 이는 멀티미디어의 스트리밍의 시작 전에 발생한다. 플레이 아웃 프로세스 및 레이트 적응은 비디오 프레임 지속기간 τ의 시간 세분성(granularity)에서 발생할 수 있다. 비디오 프레임 지속기간 τ는 비디오 프레임 레이트 Fr의 역수, 즉 τ = 1/Fr이다. 특정 비디오 프레임 지속기간은 프레임슬롯(frameslot)이라고 불린다. 각각의 프레임슬롯은 문자 i를 사용하여 인덱싱될 수 있다.
HTTP 세그먼트 처리량
일반적인 더 높은 계층 처리량 추정은 세그먼트의 다운로드 시간에 대한 세그먼트 크기의 평균 비율로서 정의되는 프래그먼트 또는 세그먼트 처리량이다:
Figure pct00001
(1)
여기서, Sfrag(j),
Figure pct00002
Figure pct00003
는 요청된 j 번째 비디오 프래그먼트의 크기, 다운로드 시간 및 페치 시간이고, St는 시간 t까지 요청된 가장 최근 프래그먼트이고, F는 안정적인 추정을 얻기 위해 평균화하는 데 사용된 세그먼트의 수이다.
물리 계층 굿풋
비디오 레이트 적응 알고리즘이 라디오 링크 처리량의 변동들에 대해 기회주의적으로 적응할 수 있게 하기 위해, 물리 계층 굿풋의 추정이 수행되어 비디오 레이트 적응에 이용될 수 있다. 굿풋은 물리 레벨 처리량이다. 처리량은 단위 시간당 UE와 같은 특정 목적지로 네트워크에 의해 전달되는 유용한 정보 비트의 수이다. 처리량 데이터는 재송신된 데이터 패킷들뿐만 아니라 프로토콜 오버헤드 비트들도 제외한다.
Xi가 i 번째 비디오 프레임슬롯에서 성공적으로 수신된 비트의 수이면, i 번째 프레임슬롯에서 물리 계층 굿풋은 다음과 같이 주어진다:
Figure pct00004
i 번째 프레임슬롯에서의 평균 물리 굿풋은 과거 T개의 프레임슬롯에 대한 물리 계층 굿풋의 평균, 즉,
Figure pct00005
이다.
평균 PHY 계층 굿풋은 또한 시간 기간에 대한 특정 시간 기간 동안 수신된 비트들의 수의 비율로서 정의될 수 있다:
Figure pct00006
(2)
여기서, X(t)는 시간 t까지 수신된 비트들의 수이고, T는 피드백의 지속기간이고, TRx ≤ T는 UE가 데이터를 기대하고 있는 서브 지속기간이다. 평균 물리 계층 굿풋의 추정은 전형적으로 물리 계층과의 협업을 수반한다. 예를 들어, 추정은 PHY 계층에 의해 수신되고 API(Application Program Interface)를 통해 애플리케이션 계층에 주기적으로 보고되는 모든 데이터 버스트에 대한 PHY 계층에 의해 계산될 수 있다.
더 높은 계층들을 이용한 처리량 측정
전통적으로, HAS에서 비디오 레이트 적응을 위해 이용 가능한 링크 대역폭을 추정하기 위해 TCP 또는 애플리케이션 계층들에서 더 높은 계층 처리량 추정이 이용된다. 더 높은 계층 처리량 추정의 예들은 후속 단락들에서 제공된다.
평균 비디오 프래그먼트 처리량
평균 비디오 프래그먼트는 다음 수학식에 설명된 바와 같이, 비디오 프래그먼트들을 다운로딩하는 동안 경험되는 평균 처리량이다:
Figure pct00007
여기서,
Figure pct00008
,
Figure pct00009
Figure pct00010
는 각각 요청된 j 번째 비디오 프래그먼트의 크기, 다운로드 시간 및 페치 시간이다. 변수 LF는 요청된 가장 최근 프래그먼트이며, F는 평균화하는 데 이용되는 세그먼트들의 수이다. 이는 대역폭의 보수적인 추정이다. 이 처리량 추정이 프래그먼트들에 대한 평균화를 수반하기 때문에, 추정은 시간에 따른 무선 링크 대역폭의 변동들을 추적하지 않을 수 있다. 또한, 제1 비디오 프래그먼트들이 다운로딩된 후까지 평균 비디오 프래그먼트 처리량이 이용 가능하지 않다.
TCP 처리량
다른 더 높은 계층 접근법은 다음에 의해 주어지는 이용 가능한 링크 대역폭의 TCP 추정을 이용하는 것이다:
Figure pct00011
여기서 Cwnd는 소위 TCP 혼잡 윈도우이고 RTT는 신호의 추정된 왕복 시간이다. 변수 Cwnd는 이용 가능한 링크 대역폭에 대한 TCP의 현재의 추정이다. 일반적으로 Cwnd는 그것이 네트워크가 더 높은 대역폭을 지원할 수 있다는 표시이기 때문에 확인응답(ACKS) 수신 시 증가되고, 손실이 혼잡으로 인한 것으로 가정하기 때문에 그것이 손실을 인지하는 경우(타임아웃 또는 중복 ACK를 통해 인지됨) 그것은 감소된다. Cwnd가 확인응답 수신 시 지수적으로(exponentially) 증가되는 느린 시작 국면이 있고, Cwnd가 확인응답 시 선형적으로 증가되는 혼잡 회피 단계가 있다.
그러나, TCP는 유선 네트워크들을 위해 그리고 지속적으로 데이터를 송신하는 벌크 애플리케이션들을 위해 설계되었다. 그것은 무선 네트워크들을 위해서도 설계되지 않았고 HTTP 적응적 스트리밍과 같은 애플리케이션 레이트 제한 애플리케이션들을 위해서도 설계되지 않았다. 처리량을 추정하기 위해 TCP의 이용은 적어도 2개의 문제를 갖는다. 첫째, TCP 추정의 이용은 무선 손실이 또한 혼잡이라고 가정한다. 이 가정은 실제 처리량이 감소를 요구하지 않는 경우에도 불필요하게 윈도우 크기를 감소시킨다. 둘째로, TCP 추정은 애플리케이션 레이트가 제한되는 경우 동안에도 Cwnd를 불필요하게 증가시킨다. 따라서 Cwnd 대역폭 추정은 애플리케이션이 RTT 기간 내에서 송신하는 TCP 패킷들의 수보다 훨씬 커질 수 있다. 애플리케이션이 Cwnd 대역폭 추정에 의해 허용된 것보다 적은 패킷들을 송신하는 경우, TCP는 이용 가능한 네트워크 대역폭을 적절히 탐색할 수 없다. 따라서 Cwnd 대역폭 추정은 더 이상 현재 이용 가능한 네트워크 대역폭을 반영하지 않는다. 이러한 이유들로 인해, TCP 기반 대역폭 추정의 이용은 무선 시나리오를 통한 HAS의 레이트 적응에 사용하기가 매우 적절하지 않다.
링크 계층 굿풋의 이점들
일 실시예에 따르면, 링크 계층 굿풋은 더 높은 계층 추정에 대한 보완책으로서 사용될 수 있다. 링크 계층 굿풋은 시간 경과에 따른 링크 처리량 변동들을 추적할 수 있어서, 기회주의적 비디오 레이트 적응 및 버퍼 구축을 위한 더 높은 범위를 제공하여 사용자의 QoE를 개선시킨다. 링크 계층의 이용은 구식(outdated)일 수 있는 더 높은 계층 추정과는 달리, 사용자에 의해 획득되는 실제 현재 굿풋을 나타낸다. 링크 계층 굿풋은 상대적으로 짧은 시간 기간에 극적으로 변할 수 있다. 그러나, 링크 계층 굿풋은 시간 경과에 따라 평균화되어 원활한 추정을 제공해서, 무선 링크의 전반적인 추세를 여전히 포착하면서 급격한 변동들을 방지할 수 있다. 또한, 링크 계층 굿풋의 이용은 무선 채널들을 통한 레이트 제한 애플리케이션들에 대해 TCP 기반 대역폭 추정이 갖는 단점들 중 일부를 방지한다. 또한 링크 계층 굿풋은 처음 몇 개의 비디오 세그먼트의 다운로드 후에서보다 오히려 스트리밍 세션의 처음 비디오 세그먼트로부터 이용 가능하다.
따라서, 링크 계층 굿풋은 HTTP 적응적 스트림에서 실제 처리량의 더 신속하고 더 정확한 지식을 제공할 수 있다. 그 후 이 지식은 무선 링크의 변경들로 인해 추가의 대역폭이 이용 가능한 경우, 버퍼를 구축하기 위해 선행적으로 추가의 프레임들을 다운로딩하는 데 사용될 수 있다. 또한 HAS 세션의 시작에서 굿풋에 대한 정확한 지식은 더 신속한 기동 및 더 나은 디스플레이 해상도를 가능하게 한다.
선택된 처리량
일 실시예에서, 평균 링크 계층 굿풋은 비디오 프래그먼트 처리량과 같은 더 높은 계층 처리량들과 연계하여 이용될 수 있다. 비디오 레이트 적응을 위해 선택된 처리량은 HAS 클라이언트의 버퍼 레벨뿐만 아니라 무선 링크 조건들의 변경들의 진화에 기초할 수 있다. 프레임슬롯 i에서 대표 사용자에 의한 레이트 적응에 사용되는 선택된 처리량은
Figure pct00012
에 의해 표시될 수 있다. 일 실시예에서, 보수적인 추정은 다음과 같이 PHY 굿풋 및 세그먼트 처리량에 기초하여 결정될 수 있다:
Figure pct00013
여기서, 상수 β는 링크 조건들의 단기 변동들이 레이트 적응을 변경시키는 것을 방지한다. 일반적으로 PHY 굿풋은 무선 링크 변동들에 신속하게 응답하는 반면 세그먼트 처리량은 링크 변동들에 대해 훨씬 더 느리게 응답하기 때문에 정상 상태에서 이러한 보수적인 방법이 이용될 수 있다.
HAS 세션의 기동 국면에서, 더 나은 비디오 품질을 획득하기 위해 관계식
Figure pct00014
가 이용될 수 있다. 변수 χ는 1보다 작거나 같고, 기동 비디오 품질과 기동 지연 사이의 디자인 트레이드오프를 획득하는 데 이용될 수 있는 스케일링 팩터이다. χ 값은 사용자 QoE 선호도들에 기초하여 설정될 수 있다. 이것들은 단지 대표적인 예들이고 클라이언트 버퍼 상태 및 링크 조건들에 기초한 다른 일반화된 조건들이 HAS 비디오 레이트 적응을 위한 선택된 처리량을 결정하는 데 이용될 수 있다.
버퍼 진화 및 추적
적절한 표현 레벨을 요청하기 위해, 클라이언트는 요청, 수신, 버퍼링 및 재생된 프레임들의 추적을 유지할 수 있다. 도 3은 UE 클라이언트에 의해 행해진 프레임 추적을 도시한다. Ni 및 Qi는 각각 레이트 적응 알고리즘에 의해 결정된 바와 같이, 프레임들의 수 및 프레임슬롯 i, 즉 클라이언트가 서버 Ni로부터 요청하는 각각 프레임슬롯 i의 말단에서 요청되는 표현 레벨 Qi를 나타낸다. 클라이언트는 물리 계층 굿풋뿐만 아니라 더 높은 레벨에서 결정된 세그먼트 처리량에 기초하여 Ni 및 Qi에 대해 결정할 수 있다.
도 4는 비디오 프레임 추적의 예시적인 도면을 제공한다. 변수 Ai, Bi, Ci 및 Ei는 클라이언트가 Ni 및 Qi를 계산 시에 사용하는 다양한 프레임 레벨들을 나타낸다. 변수 Ai는 클라이언트가 프레임슬롯 i에서 그 요청을 하기 전에 클라이언트에 의해 수신된 비디오 프레임들의 총 수를 나타낸다. 변수 Bi는 재생에 이용 가능한 클라이언트 버퍼의 프레임들의 수를 나타내고 Ci는 클라이언트에 의해 요청된 프레임들의 수를 나타낸다:
Figure pct00015
변수 Ei는 클라이언트에 의해 요청되었지만 수신되지 않은 비디오 프레임들의 수를 나타낸다. 클라이언트는 전체 요청되고 수신된 프레임에 기초하여 Ei를 추정할 수 있다. 예를 들면 :
Figure pct00016
버퍼 진화는 사용자에 의해 경험되는 PHY 굿풋과 밀접하게 관련된다. bi,k는 프레임슬롯 i에서 다운로딩된 비디오 표현 레벨의 레이트를 나타낸다. 그 후 프레임슬롯 i에서 클라이언트 버퍼에 진입하는 프레임들의 수는 다음과 같다:
Figure pct00017
여기서 β은 비디오 표현 레벨의 레이트에 대한 링크 계층에서의 굿풋의 비율이다. 그것은 클라이언트 버퍼가 채워지는 레이트를 나타낸다.
클라이언트 상태들
HTTP 적응적 스트리밍(HAS)의 중앙 지능은 서버보다 오히려 클라이언트에 상주한다. 다운로딩될 비디오 세그먼트의 적응 레벨은 클라이언트에 의해 결정되고 적응적 스트리밍 세션 내에서 주기적으로 서버로 통신된다. 프레임 레벨들에 기초하여, 본 발명의 링크 인식 적응적 스트리밍 프레임워크에서 클라이언트 플레이어의 동작은 도 5에 도시된 바와 같이 4개의 모드 또는 상태로 특성화될 수 있다: i) 기동; ii) 과도 상태; iii) 정상 상태; 또는 iv) 재버퍼링 상태.
기동 모드는 HAS에 의해 전달된 비디오 또는 오디오를 재생하는 것을 시작하기 전에 클라이언트가 비디오 프레임들을 특정 한계까지 버퍼링하는 초기 버퍼링 모드를 나타낸다. 정상 상태는 UE 버퍼 레벨이 특정 임계값 초과인 상태를 나타낸다. 과도 상태는 재생을 시작한 후에 UE 버퍼 레벨이 특정 한계 미만으로 떨어지는 상태이다. 재버퍼링 상태는 재생하는 것을 시작한 후 버퍼 레벨이 0이 될 때 클라이언트가 진입한 상태이고, 재버퍼링 상태는 그 버퍼 레벨을 만족스러운 레벨로 재구축해서 다시 재생을 시작할 때까지 재버퍼링 상태는 해당 상태를 유지한다. 클라이언트는 기동 및 재버퍼링 모드 동안에만 멀티미디어를 재생하지 않는다는 점을 유의해야 한다.
링크 인식 레이트 적응 프레임워크
일 실시예에 따르면, 무선 디바이스에서 동작하는 클라이언트는 프레임들의 수 Ni 및 모든 프레임슬롯 i에서의 비디오 표현 레벨 Qi를 결정할 수 있다. 링크 인식 레이트 적응 알고리즘의 일례가 도 6의 흐름도에 도시된다.
도 6은 대체 요청 특징을 포함하지 않는 링크 인식 HAS 레이트 적응 알고리즘을 나타낸다. 알고리즘은 프레임슬롯 i에서 HAS 클라이언트 j에 대해 예시된다. 이 예시적인 실시예에서, HAS 클라이언트는 각각의 프레임슬롯에서 PHY 계층 굿풋뿐만 아니라 HAS 세그먼트 처리량의 추정을 계산할 수 있다. 그 후 클라이언트는 처리량 추정에 기초하여 가능한 최상의 비디오 표현 레벨을 보수적으로 계산할 수 있다. 이를 위해, 최대 처리량에 대한 보수적인 추정은 다음과 같이 PHY 굿풋 및 세그먼트 처리량에 기초하여 결정될 수 있다:
Figure pct00018
여기서,
Figure pct00019
이고, 상기 수학식에서 상수 β는 무선 링크 조건들의 단기 변동들을 고려하는 데 사용된다. 링크 조건들이 양호한 경우,
Figure pct00020
이고, 링크 조건들이 불량한 경우,
Figure pct00021
이다. 이 접근법은 i) 링크 조건들이 불량하고 세그먼트 처리량이 링크 조건들의 변동을 따를 수 없으면, PHY 굿풋이 비디오 레이트 적응에 사용되는 링크 대역폭의 추정을 낮추는 데 이용될 수 있고 ii) 링크 조건들이 양호한 경우, 세그먼트 처리량은 보수적인 추정이다. 비디오 품질은, 세그먼트 처리량이 링크 처리량을 따라잡을 수 있게 하면서 PHY 링크 비인식(unaware) 접근법을 사용하는 경우인 품질만큼 양호할 수 있다. 프레임슬롯 i에서 가능한 최상의 비디오 표현 레벨
Figure pct00022
는,
Figure pct00023
에 기초하여 보수적으로 결정된다.
Figure pct00024
;
지연 바인딩된 품질 최적화
일 실시예에서, 비디오 품질은 지연에 대한 제약에 종속하여 최적화될 수 있다. 타깃 시간
Figure pct00025
이 설정된다. 타깃 시간 동안, 기동 국면은 기동에 요구되는 프레임들 모두를 다운로딩하는 것에 의해 완료되어야 한다. 이 제약 내에서, 기동 국면 동안 비디오 품질을 최적화하려는 시도가 이루어진다. 알고리즘은 도 7의 흐름도를 이용하여 요약될 수 있다. 알고리즘의 세부 사항들은 다음과 같이 요약될 수 있다:
지연 바인딩된 품질 최적화: 모든 프레임슬롯 i에서
1. 최소 요구 프레임 다운로드 레이트를 결정한다:
Figure pct00026
여기서 Bi는 비디오 프레임의 관점에서 현재의 버퍼 레벨이고
Figure pct00027
은 버퍼에서 재생을 시작하는 데 요구되는 프레임들의 임계 수이다.
2. 현재의 링크 조건들 하에서 모든 비디오 표현 레벨에 대한 프레임 다운로드 레이트를 계산한다. 레이트 bk를 갖는 비디오 표현 레벨에 대한 프레임 다운로드 레이트는 다음에 의해 주어진다:
Figure pct00028
표현 레벨에 대한 프레임 다운로드는 PHY 굿풋에 직접적으로 비례하고 비디오 표현 레벨의 레이트에 반비례한다.
3.
Figure pct00029
이 되도록 최상의 비디오 표현 레벨, 즉,
Figure pct00030
을 선택한다.
도 7a는 지연 바인딩된 품질 최적화된 기동을 도시하는 흐름도를 제공한다. 각각의 프레임슬롯에 대해, 지연 제약을 충족시키기 위해 최소 요구 프레임 레이트가 결정될 수 있다. 그 후 프레임 다운로드 레이트들은 링크 조건에 기초하여 각각의 표현 레벨에 대해 결정될 수 있다. 최소 임계값을 충족시키는 최상의 표현 레벨이 선택될 수 있다. 비디오 품질과 기동(버퍼링) 지연 사이의 트레이드오프를 획득하기 위해 임계값
Figure pct00031
Figure pct00032
가 조정될 수 있다.
최상의 표현 레벨을 결정한 후, 버퍼 레벨들이 업데이트될 수 있고 HAS 클라이언트가 그 상태를 업데이트할 수 있다. 그 후, 이전에 요청된 세그먼트가 수신되지 않은 경우, HAS 클라이언트는 다음 프레임슬롯을 기다릴 수 있다. 이전 비디오 세그먼트가 수신되면, HAS 클라이언트 상태에 따라 신규 세그먼트가 요청될 수 있다. 도 7b는 상태-의존 링크 인식 HAS 클라이언트 레이트 적응의 일례를 도시한다. 기동/재버퍼/과도 상태에 기초하여, Qi 값은 Ni = 1을 갖는 지연 바인딩된 품질 최적화(DBQOpt)에 기초하여 선택될 수 있다.
링크 대역폭 터널 식별
PHY 계층 굿풋은 매 T초마다 API를 통해 애플리케이션/클라이언트에 보고될 수 있다. 일 실시예에서, 변수
Figure pct00033
는 k 번째 PHY 계층 처리량 피드백 사이클 동안 물리 계층 굿풋을 표시할 수 있다. 값
Figure pct00034
는 사이클 1에서 사이클 k까지의 PHY 계층 굿풋 샘플들의 시퀀스를 나타낼 수 있다. 시간 t에서, 피드백 사이클 수는
Figure pct00035
에 의해 주어진다. 과거의 N개의 샘플들은 무선 채널의 추세, 즉
Figure pct00036
을 결정하는 데 사용될 수 있다. 샘플들의 선형 맞춤의 기울기가 시간 t에서와
Figure pct00037
로서 결정될 수 있다. s(t)에 의해 표시되는 이 기울기는 링크 대역폭의 추세를 결정한다. s(t)의 부호는 변경 방향을 나타내고, 그 크기는 라디오 링크 대역폭의 변경의 경사도를 나타낸다. s(t)가 음수이고 s(t)의 크기가 임계값보다 큰 경우, 즉
Figure pct00038
인 경우, 링크 계층 대역폭에서 급강하(steep descent)를 식별할 수 있다.
Figure pct00039
의 값인 경우, 그것은 링크 대역폭 터널 조건으로서 지칭된다.
채널이 가파르게 떨어지는 경우, PHY 계층 굿풋 추정은 실제 링크 대역폭을 밀접하게 따른다. 보수적인 추정
Figure pct00040
은 이 추정과 동일하다. 그러나, s(t)≤ -δ 일 때와 같이 링크 대역폭 하강이 가파른 경우, 향후 세그먼트 요청들에 대해 보수적인 추정을 이용하는 것에 더하여 HAS 클라이언트에 의해 특정의 다른 수정 액션들을 취해야 할 수 있다.
도 8은 대체 요청 특징을 갖는 예시적인 링크 인식 HAS 레이트 적응에 대한 흐름도를 도시한다. 본 발명의 일 실시예에 따라, 대체 요청 특징은 이전 단락들에서 설명된 링크 인식 스트리밍 적응과 연계하여 사용될 수 있다. HAS에 대한 이러한 향상에서, 링크 인식은 라디오 링크 대역폭이 가파르게 떨어지는 터널 조건들을 식별하는 데 사용될 수 있다.
이전에 요청된 세그먼트가 완전히 수신되지 않은 경우, 터널 조건이 검사될 수 있다. 터널 조건이 거짓이면, HAS 클라이언트는 Ni=0 및 Qi=0을 설정할 수 있다. 그러나, 이전의 HAS 세그먼트가 수신되지 않고 터널 조건이 충족되면(즉,
Figure pct00041
), HAS 클라이언트는 이전 세그먼트 요청을 대체할지 여부를 결정하기 위해 추가의 조건들을 검사하도록 진행할 수 있다.
특정 조건들의 세트가 충족되면, 서버에서 이전 세그먼트 요청이 취소될 수 있고 더 낮은 품질 레벨에서의 동일한 비디오 세그먼트에 대한 신규 요청이 HAS 클라이언트에 의해 배치될 수 있다. 테스트된 조건들의 세트는 수신된 비디오 세그먼트의 지속기간, 수신된 비디오 세그먼트의 크기 및 클라이언트 미디어 버퍼 레벨의 조합을 수반할 수 있다.
조건들의 세트 및 대체된 세그먼트의 품질을 선택하는 알고리즘의 일 예시적인 실시예가 도 9에 도시된다. 이 예에서, 대체 요청 기능은 수신된 비디오 세그먼트의 지속기간(SegDurRcvd)이 임계값 Dth보다 작고, 수신된 세그먼트의 크기가 임계값 Sth보다 작고, 클라이언트에서의 버퍼 레벨이 임계값 Bth보다 작은 경우에만 이용된다. 이러한 조건들이 충족되면, HAS 클라이언트는 요청된 이전 비디오 세그먼트를 취소하기 위해 서버에 시그널링한다.
또한, 처리량
Figure pct00042
의 보수적인 추정은 α가 1보다 작은 상수 값 α만큼 감소될 수 있고, 프레임슬롯 i에서 가능한 최상의 비디오 표현 레벨
Figure pct00043
가 재계산될 수 있다. 더 낮은 품질 레벨에서 동일한 비디오 세그먼트에 대한 신규 요청이 HAS 클라이언트에 의해 배치될 수 있다. 값 Ni가 1로 재설정될 수 있고, 비디오 표현 레벨이
Figure pct00044
의 재계산 값으로 설정될 수 있다.
일 예시적인 실시예는 하나 이상의 프로세서에 의해 실행될 때 도 10의 흐름도에 도시된 바와 같이 하이퍼텍스트 전송 프로토콜(HTTP) 적응적 스트리밍(HAS)을 제공하기 위해 다음 동작들을 수행하는 명령어들(1000)이 구현된 비일시적 머신 판독 가능 저장 매체를 제공한다. 동작들은 블록 1010에 도시된 바와 같이 노드로부터 사용자 장비(UE)에서 수신되는 HTTP 적응적 스트림에 대한 매니페스트 파일을 처리하는 단계를 포함한다. 매니페스트 파일은 기간 동안 복수의 표현 레벨을 식별한다. 각각의 표현 레벨은 도 1에 설명된 바와 같이 복수의 세그먼트를 식별할 수 있다.
명령어들(1000)의 추가의 동작은 블록 1020에 도시된 바와 같이 HAS에 대한 노드와의 UE의 물리 계층 굿풋을 결정하는 단계를 포함한다. 블록 1030에 도시된 바와 같이, 복수의 물리 계층 굿풋 샘플들이 HAS로부터 선택될 수 있다. 블록 1040에 도시된 바와 같이, 시간 t에서 취해진 물리 계층 굿풋 샘플들의 곡선 맞춤의 기울기가 계산될 수 있다. 일 실시예에서, 곡선 맞춤은 물리 계층 굿풋 샘플들의 선형 곡선 맞춤일 수 있다. 시간은 기울기가 계산되는 시간 기간이 될 수 있다.
명령어들(1000)의 추가적인 동작은 계산된 기울기에 기초하여 HAS에 대한 매니페스트 파일에서 식별된 이전에 수신된 세그먼트를 상이한 표현 레벨에서의 동일한 세그먼트로 언제 대체할지를 식별하는 단계를 포함한다. 예를 들어, 더 낮은 표현에서 또는 더 높은 표현에서의 동일한 세그먼트가 수신된 세그먼트를 대체하는 데 사용될 수 있다. 본 명세서에서 사용된 바와 같이, 더 높은 표현(higher representation)이라는 용어는 도 1에서 2 Mbps의 데이터 레이트를 갖는 표현 2(106)로부터 5Mbps의 데이터 레이트를 갖는 표현 1로 이동하는 것과 같이 더 높은 데이터 레이트를 갖는 표현을 지칭하는 데 사용된다. 반대로, 더 낮은 표현(lower representation)이라는 용어는 2 Mbps의 데이터 레이트를 갖는 표현 2로부터 500 Kbps의 표현 3으로 이동하는 것과 같이 더 낮은 데이터 레이트를 갖는 표현을 지칭하는 데 사용된다.
명령어들(1000)은 기울기가 음인 경우를 결정하는 동작; 음의 기울기가 미리 결정된 임계값보다 큰, 즉
Figure pct00045
와 같은 경우를 식별하고, 미리 결정된 임계값보다 큰 음의 기울기를 링크 대역폭 터널 조건으로서 분류하는 동작을 추가로 포함할 수 있다. 일례에서, 링크 대역폭 터널 조건이 존재하면, 이전에 수신된 세그먼트는 조건들의 세트에 기초하여 대체될 수 있다. 링크 대역폭 터널 조건이 발생할 때 대체 세그먼트 조건 세트의 상태가 모니터링될 수 있다. 대신에, 링크 대역폭 터널 조건이 발생하지 않은 경우에도 상태가 모니터링될 수 있다. 대체 세그먼트 조건 세트는 이전에 수신된 세그먼트에 대한 조건들의 세트이며, UE에서 이전에 수신된 세그먼트에 대해 수신된 세그먼트 지속기간이 지속기간 임계값보다 작은 것; UE에서 이전에 수신된 세그먼트에 대해 수신된 세그먼트 크기가 크기 임계값보다 작은 것; 및 UE에서 동작하는 HAS 클라이언트에서의 버퍼 레벨이 버퍼 임계값보다 작은 것을 포함한다. 일 실시예에서, 조건들 모두가 충족되면, 대체 세그먼트 조건 세트의 상태는 참이다.
명령어들(1000)은 대체 세그먼트 조건 세트의 상태 및 링크 대역폭 터널 조건에 기초하여 이전에 수신된 세그먼트에 대한 요청을 취소하는 동작; 및 이전에 수신된 세그먼트가 더 낮은 표현 레벨에서의 UE로 송신되도록 요청하는 동작을 추가로 포함할 수 있다. 예를 들어, 기울기가 음인 경우 더 낮은 표현이 송신될 수 있다. 대신에, 기울기가 양인 경우, 더 높은 표현이 송신될 수 있다. 양의 기울기 및 음의 기울기에 대해 상이한 임계값들이 설정될 수 있다. 추가의 명령어는 대체 세그먼트 조건의 상태가 참이고 대역폭 터널 조건이 발생하는 경우에, 처리량 값을 일정량만큼 감소시키는 것을 포함한다. 대신에, 양의 기울기에 대한 임계값이 충족되면, 대체 세그먼트 조건의 상태가 참일 때 처리량 값이 일정량만큼 증가될 수 있다.
다른 예에서, 도 11의 흐름도에 도시된 바와 같이, 하이퍼텍스트 전송 프로토콜(HTTP) 적응적 스트리밍(HAS)을 제공하는 방법(1100)이 개시된다. 이 방법은 머신, 컴퓨터 회로, 또는 이동 디바이스(예를 들어, UE)에 대한 하나 이상의 프로세서 상에서 명령어들로서 실행될 수 있고, 명령어들은 적어도 하나의 컴퓨터 판독 가능 매체 또는 하나의 비일시적 머신 판독 가능 저장 매체에 포함된다. 이 방법은 블록 1110에 도시된 바와 같이, 노드로부터 사용자 장비(UE)에서 HTTP 적응적 스트림에 대한 매니페스트 파일을 수신하는 동작을 포함한다. 매니페스트 파일은 복수의 표현 레벨을 식별하는 데 사용될 수 있고 각각의 표현 레벨은 복수의 세그먼트에 대한 정보를 포함한다. 추가의 동작들은, 블록 1120에 도시된 바와 같이, HAS에 대한 노드와의 UE의 물리 계층 굿풋을 결정하는 것; 블록 1130에 도시된 바와 같이, 시간 기간에 걸쳐 복수의 물리 계층 굿풋 샘플들을 선택하는 단계; 블록 1140에 도시된 바와 같이, 시간 기간에 걸쳐 물리 계층 굿풋 샘플들의 곡선 맞춤의 기울기를 계산하는 단계; 및 계산된 기울기에 기초하여, 블록 1150에 도시된 바와 같이, 상이한 표현 레벨에서 동일한 세그먼트를 갖는 HAS에 대한 매니페스트 파일에서 식별된 이전에 수신된 세그먼트를 UE에서 언제 대체할지를 식별하는 단계를 포함한다. 이전에 논의된 바와 같이, 곡선 맞춤은 기울기를 계산하는 데 사용되는 선형 곡선 맞춤이 될 수 있다.
방법 1100은 기울기가 음인 경우를 결정하는 동작; 상기 음의 기울기가 미리 결정된 임계값보다 큰 경우를 식별하는 동작; 및 미리 결정된 임계값보다 큰 음의 기울기를 링크 대역폭 터널 조건으로서 분류하는 동작을 추가로 포함할 수 있다.
방법 1100에서, 대체 세그먼트 조건 세트의 상태가 모니터링될 수 있다. 일 실시예에서, 세트는 링크 대역폭 터널 조건이 발생하는 경우에 모니터링될 수 있다. 대신에, 세트는 링크 대역폭 터널 조건과 독립적으로 모니터링될 수 있다. 대체 세그먼트 조건 세트는 이전에 수신된 세그먼트에 대한 조건들의 세트이며, 이전에 수신된 세그먼트의 UE에서 수신된 세그먼트 지속기간이 지속기간 임계값보다 작은 것; 이전에 수신된 세그먼트의 UE에서 수신된 세그먼트 크기가 크기 임계값보다 작은 것; 및 UE에서 동작하고 있는 HAS에 대한 클라이언트에서의 버퍼 레벨이 버퍼 임계값보다 작은 것을 포함한다.
방법 1100은 대체 세그먼트 조건 세트의 상태 및 링크 대역폭 터널 조건에 기초하여 이전 세그먼트 요청을 취소하는 단계; 및 이전 세그먼트가 더 낮은 표현 레벨에서 UE로 송신되도록 요청하는 단계를 추가로 포함할 수 있다. 이 방법에서 사용된 바와 같이, 더 낮은(lower) 및 더 높은(upper) 표현이라는 용어는 이전에 정의된 것과 동일한 의미를 갖는다. 이 방법은 곡선 맞춤의 계산된 기울기의 기울기가 양인 경우, 그리고 기울기가 선택된 임계값보다 큰 경우, 대체 세그먼트 조건 세트의 상태에 기초하여 이전 세그먼트 요청을 취소하는 단계; 및 이전 세그먼트가 더 높은 표현 레벨에서 UE로 송신되도록 요청하는 단계를 추가로 포함할 수 있다.
방법 1100은 대체 세그먼트 조건의 상태가 참이고 대역폭 터널 조건이 발생하는 경우 처리량 값을 일정량만큼 감소시키는 동작을 추가로 포함할 수 있다. 또한, 대체 세그먼트 조건의 상태가 참이고 곡선 맞춤의 계산된 기울기가 양이고 선택된 임계값보다 큰 경우, 처리량 값이 일정량만큼 증가될 수 있다.
다른 예는 도 12의 흐름도에 도시된 바와 같이, 하이퍼텍스트 전송 프로토콜(HTTP) 적응적 스트리밍(HAS)을 수신하도록 동작 가능한 이동 디바이스의 하나 이상의 프로세서의 기능성(1200)을 제공한다. 이 기능성은 방법으로서 구현될 수 있거나 기능성은 머신 상에서 명령어들로서 실행될 수 있고, 명령어들은 적어도 하나의 컴퓨터 판독 가능 매체 또는 하나의 비일시적 머신 판독 가능 저장 매체에 포함된다. 본 명세서에 설명된 바와 같이, 프로세서들은 디지털 데이터를 처리하도록 구성된 디지털 프로세서 및 송수신기가 데이터를 송신 및 수신하는 것을 보조하도록 구성된 기저대역 프로세서들 양자 모두일 수 있다.
하나 이상의 프로세서는 블록 1210에서와 같이 노드로부터 이동 디바이스에서 수신되는 HTTP 적응적 스트림에 대한 매니페스트 파일을 처리하도록 구성될 수 있다. 매니페스트 파일은 복수의 표현을 식별할 수 있고 각각의 표현은 복수의 세그먼트에 대한 정보를 갖는다. 하나 이상의 프로세서는 블록 1220에서와 같이 HAS에 대한 노드와의 이동 디바이스의 물리 계층 굿풋을 결정하고, 블록 1230에서와 같이 HAS에 대한 세그먼트 처리량 추정을 식별하도록 더 구성될 수 있고; 블록 1240에서와 같이 HAS에 대한 물리 계층 굿풋 및 HAS에 대한 세그먼트 처리량에 기초하여 선택된 기간 동안 매니페스트 파일의 표현을 선택한다.
하나 이상의 프로세서는 HAS에 대한 물리 계층 굿풋 및 HAS에 대한 세그먼트 처리량 추정에 기초하여 매니페스트 파일에서 식별된 표현에 있는 노드로부터 선택된 수의 세그먼트를 요청하도록 추가로 구성될 수 있다. 또한, 프로세서(들)는 HAS에 대한 물리 계층 굿풋 및 전송 계층으로부터의 HAS에 대한 세그먼트 처리량 추정 또는 애플리케이션 계층으로부터의 HAS에 대한 세그먼트 처리량 추정 중 하나에, 적어도 부분적으로 기초하여 선택된 기간 동안 표현을 선택하도록 구성될 수 있다.
일 실시예에서, 프로세서(들)는,
Figure pct00046
로서 프레임슬롯 i에서 레이트 적응에 사용되는 처리량을 선택하도록 구성될 수 있고, 여기서,
Figure pct00047
는 비디오 프레임 지속기간당 성공적으로 수신된 비트의 수이고,
Figure pct00048
은 세그먼트의 다운로드 시간에 대한 세그먼트의 세그먼트 크기의 평균 비율이고, β는 비디오 표현 레벨에서의 레이트에 대한 링크 계층에서의 굿풋의 비율이다.
다른 실시예에서, 프로세서(들)는: HAS로부터 복수의 물리 계층 굿풋 샘플을 선택하고; 시간 t에서의 물리 계층 굿풋 샘플들의 선형 맞춤의 기울기를 계산하고; 기울기에 기초하여 물리 계층에서의 대역폭의 변경을 결정하도록 구성될 수 있다. 프로세서들은 대역폭의 변경이 음이고 대역폭의 변경이 선택된 임계값보다 큰 경우를 식별하여 링크 대역폭 터널 조건을 생성할 수 있다. 또한, 프로세서들은 링크 대역폭 터널 조건이 발생하는 경우에 대체 세그먼트 조건 세트를 검사하도록 구성될 수 있다.
대체 세그먼트 조건은, 수신된 세그먼트 지속기간이 지속기간 임계값보다 작은 것; 수신된 세그먼트 크기가 크기 임계값보다 작은 것; 및 이동 디바이스 상에서 동작하는 클라이언트에서의 버퍼 레벨이 버퍼 임계값보다 작은 것을 포함할 수 있다. 프로세서(들)는 대체 세그먼트 조건 세트 및 링크 대역폭 조건에 기초하여 이전 세그먼트 요청을 취소하고; 이전 세그먼트를 상이한 표현 레벨에서 요청하도록 추가로 구성될 수 있다. 일 실시예에서, 프로세서들은 대체 세그먼트 조건 세트가 참이고 대역폭 터널 조건이 발생하는 경우, 처리량 값을 일정량만큼 감소시키도록 구성될 수 있다.
도 13은, 사용자 장비(UE), 이동국(MS), 이동 무선 디바이스, 이동 통신 디바이스, 태블릿, 핸드셋, 또는 다른 유형의 무선 디바이스와 같은 이동 디바이스의 예시적인 도면을 제공한다. 무선 디바이스는 기지국(BS), 진화된 노드 B(eNB), 기저대역 유닛(BBU), 원격 라디오 헤드(RRH), 원격 라디오 장비(RRE), 중계국(RS), 라디오 장비(RE), 원격 라디오 유닛(RRU), 중앙 처리 모듈(CPM) 또는 다른 유형의 무선 광역 네트워크(WWAN) 액세스 포인트와 같은 노드 또는 송신 스테이션과 통신하도록 구성된 하나 이상의 안테나를 포함할 수 있다. 무선 디바이스는 3GPP LTE, WiMAX, HSPA(High Speed Packet Access), Bluetooth 및 WiFi를 포함하는 적어도 하나의 무선 통신 표준을 사용하여 통신하도록 구성될 수 있다. 무선 디바이스는, 각각의 무선 통신 표준을 위한 개별 안테나, 또는 다수의 무선 통신 표준을 위한 공유된 안테나를 이용하여 통신할 수 있다. 무선 디바이스는, WLAN(wireless local area network), WPAN(wireless personal area network), 및/또는 WWAN에서 통신할 수 있다.
도 13은 또한 무선 디바이스로부터 오디오 입력 및 출력을 위해 사용될 수 있는 하나 이상의 스피커 및 마이크로폰의 도면을 제공한다. 디스플레이 스크린은 액정 디스플레이(LCD) 스크린 또는 유기 발광 다이오드(OLED) 디스플레이와 같은 다른 유형의 디스플레이 스크린일 수 있다. 디스플레이 스크린은 터치 스크린으로서 구성될 수 있다. 터치 스크린은, 용량식, 저항식, 또는 다른 유형의 터치 스크린 기술을 이용할 수 있다. 처리 및 디스플레이 능력을 제공하기 위해 애플리케이션 프로세서 및 그래픽 프로세서가 내부 메모리에 연결될 수 있다. 비휘발성 메모리 포트가 역시 이용되어 사용자에게 데이터 입력/출력 옵션을 제공할 수 있다. 비휘발성 메모리 포트는 또한, 무선 디바이스의 메모리 능력을 확장하기 위하여 이용될 수 있다. 키보드가 무선 디바이스와 통합되거나 무선 디바이스에 무선으로 접속되어 추가의 사용자 입력을 제공할 수 있다. 가상 키보드도 역시 터치 스크린을 이용하여 제공될 수 있다.
다양한 기술들 또는 그 기술들의 특정의 양태들이나 일부분들은 플로피 디스켓, CD-ROM(compact disc-read-only memory), 하드 드라이브, 비일시적 컴퓨터 판독 가능 저장 매체, 또는 임의의 다른 머신 판독 가능 저장 매체와 같은 유형의 미디어(tangible media)에서 실시되는 프로그램 코드(즉, 명령어들)의 형태를 취할 수 있고, 프로그램 코드는 컴퓨터와 같은 머신에 의해 로딩 및 실행되며, 머신은 다양한 기술들을 실시하기 위한 장치가 된다. 회로는 하드웨어, 펌웨어, 프로그램 코드, 실행 가능 코드, 컴퓨터 명령어 및/또는 소프트웨어를 포함할 수 있다. 비일시적인 컴퓨터 판독 가능 저장 매체는, 신호를 포함하지 않는 컴퓨터 판독 가능 저장 매체일 수 있다. 프로그램가능 컴퓨터 상에서의 프로그램 코드 실행의 경우에, 컴퓨팅 디바이스는 프로세서, 프로세서에 의해 판독 가능한 저장 매체(휘발성 및 비휘발성 메모리 및/또는 저장 요소들을 포함함), 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스를 포함할 수 있다. 휘발성 및 비휘발성 메모리 및/또는 저장 요소는 랜덤 액세스 메모리(RAM), EPROM(erasable programmable read only memory), 플래시 드라이브, 광학 드라이브, 자기 하드 드라이브, 고체 상태 드라이브, 또는 전자 데이터를 저장하기 위한 다른 매체일 수 있다. 노드 및 무선 디바이스는 또한 송수신기 모듈(즉, 송수신기), 카운터 모듈(즉, 카운터), 처리 모듈(즉, 프로세서) 및/또는 클럭 모듈(즉, 클럭) 또는 타이머 모듈(타이머)을 포함할 수 있다. 본 명세서에서 설명된 다양한 기술들을 구현할 수 있거나 사용할 수 있는 하나 이상의 프로그램은 애플리케이션 프로그래밍 인터페이스(application programming interface)(API), 재이용 가능한 제어부 등을 이용할 수 있다. 이러한 프로그램들은 컴퓨터 시스템과 통신하기 위해 하이 레벨 절차적 또는 객체 지향형 프로그래밍 언어로 구현될 수 있다. 그러나, 프로그램(들)은, 원한다면 어셈블리 또는 기계 언어로 구현될 수 있다. 임의의 경우에, 언어는 컴파일형 또는 인터프리팅형 언어일 수도 있으며, 하드웨어 구현과 결합될 수도 있다.
본 명세서에서 설명되는 많은 기능 유닛들은 그들의 구현 독립성을 더욱 특별히 강조하기 위하여 모듈로서 라벨링되었다는 점을 이해해야 한다. 예를 들어, 모듈은, 하나 이상의 디지털 프로세서를 이용하여 및/또는 맞춤형 VLSI(very-large-scale integration) 회로나 게이트 어레이를 포함하는 하드웨어 회로, 로직 칩(logic chip)과 같은 규격품(off-the-shelf) 반도체, 트랜지스터, 또는 다른 개별 컴포넌트로서 구현될 수 있다. 모듈은 또한, 필드 프로그램가능 게이트 어레이(FPGA), 프로그램가능 어레이 로직, 프로그램가능 로직 디바이스 등과 같은 프로그램가능 하드웨어 디바이스로 구현될 수 있다.
본 명세서에서 사용된 것으로서, 용어 프로세서는, 범용 프로세서, VLSI, FPGA, 또는 다른 유형의 전문화된 프로세서와 같은 전문화된 프로세서뿐만 아니라, 송수신기에서 무선 통신을 송신, 수신, 및 처리하는 데 이용되는 기저대역 프로세서를 포함할 수 있다.
모듈들은 또한 다양한 유형의 프로세서들에 의한 실행을 위해 소프트웨어로 구현될 수 있다. 실행 가능한 코드의 식별된 모듈은, 예를 들어, 객체, 프로시져, 또는 함수로서 구성될 수 있는, 컴퓨터 명령어들의 하나 이상의 물리적 또는 논리적 블록을 포함할 수 있다. 그럼에도 불구하고, 식별된 모듈의 실행파일들은 물리적으로 함께 위치될 필요는 없고, 논리적으로 함께 결합될 때, 모듈을 포함하고 그 모듈의 기술된 목적을 달성하는, 상이한 위치들에 저장된 이질적인 명령어들을 포함할 수 있다.
사실상, 실행 가능한 코드의 모듈은, 단일 명령어, 또는 다수의 명령어일 수 있고, 심지어, 수 개의 상이한 코드 세그먼트들에 걸쳐, 상이한 프로그램들 사이에, 및 수 개의 메모리 디바이스들에 걸쳐 분산될 수 있다. 유사하게, 운영 데이터는 본 명세서에서는 모듈 내에서 식별되고 예시될 수 있고, 임의의 적절한 형태로 구현되고 임의의 적절한 유형의 데이터 구조 내에서 구성될 수 있다. 운영 데이터는 단일 데이터 세트로 수집될 수 있거나, 상이한 저장 디바이스들을 포함하는 상이한 위치들에 걸쳐 분산될 수 있고, 시스템 또는 네트워크 상에서 전자 신호들로서만 적어도 부분적으로 존재할 수 있다. 모듈들은, 원하는 기능들을 수행하도록 동작 가능한 에이전트들을 포함한, 수동형 또는 능동형일 수 있다.
본 명세서 전체에 걸쳐 "예" 또는 "예시적인"에 대한 언급은, 이 예와 함께 설명되는 특정한 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 명세서 전반의 다양한 곳에서의 "일례에서"라는 문구 또는 "예시적인"이라는 단어의 출현은 모두가 반드시 동일한 실시예를 지칭하지는 않는다.
본 명세서에서 사용되는 바와 같이, 복수의 항목들, 구조적 요소들, 구성적 요소들 및/또는 재료들은 편의를 위해 공통 목록으로 제시될 수 있다. 그러나, 이러한 목록은 마치 목록의 멤버 각각이 분리되고 고유한 멤버로서 개별적으로 식별되는 것처럼 해석되어야 한다. 따라서, 그러한 목록의 어떤 개별적 멤버도, 반대되는 지시들이 없다면 이들이 공통 그룹에 제시되었다는 것에만 기초하여, 동일한 목록의 임의의 다른 멤버와 사실상 균등물인 것으로 해석해서는 안된다. 또한, 본 발명의 다양한 실시예 및 예는 본 명세서에서 그 다양한 컴포넌트들에 대한 대안들과 함께 참조될 수 있다. 이 실시예들, 예들, 및 대안들이 서로의 사실상의 균등물인 것으로 해석되어서는 안되며, 본 발명의 개별적이고 자율적인 표현들로서 고려되어야 한다는 점이 이해된다.
또한, 설명된 특징들, 구조들 또는 특성들은, 하나 이상의 실시예에서 임의의 적절한 방식으로 결합될 수 있다. 이하의 설명에서, 본 발명의 실시예에 대한 완전한 이해를 제공하기 위해, 레이아웃들, 거리들, 네트워크 예들 등의 예들과 같은 다수의 특정 세부 사항이 제공된다. 그러나, 관련 기술분야의 통상의 기술자라면, 본 발명은 하나 이상의 상기 특정한 세부 사항 없이, 또는 다른 방법들, 컴포넌트들, 레이아웃들 등을 이용하여 실시될 수 있다는 것을 인식할 것이다. 다른 경우에, 본 발명의 양태들을 불명료하게 하는 것을 피하기 위해 널리 공지된 구조들, 재료들, 또는 동작들이 상세히 도시되지도 않고 설명되지도 않는다.
전술한 예는 하나 이상의 특정 응용에서의 본 발명의 원리를 예시하지만, 구현의 형태, 사용 및 세부 사항에 있어서의 다수의 변경이 발명 능력의 발휘 없이 그리고 본 발명의 원리 및 개념을 벗어나지 않고서 이루어질 수 있다는 것이 본 기술분야의 통상의 기술자에게 명백할 것이다. 따라서, 이하에 기재되는 청구항들에 의한 경우를 제외하고는 본 발명을 제한하고자 하는 의도는 없다.

Claims (24)

  1. 하나 이상의 프로세서에 의해 실행될 때 하이퍼텍스트 전송 프로토콜(HTTP) 적응적 스트리밍(HAS)을 제공하기 위해 다음 동작들을 수행하는 명령어들이 구현된 비일시적 머신 판독 가능 저장 매체로서, 상기 동작들은,
    노드로부터 사용자 장비(UE)에서 수신되는 HTTP 적응적 스트림에 대한 매니페스트 파일을 처리하는 것 - 상기 매니페스트 파일은 기간 동안 복수의 표현 레벨을 식별하고 각각의 표현 레벨은 복수의 세그먼트를 식별함 -;
    상기 HAS에 대한 상기 노드와의 상기 UE의 물리 계층 굿풋(goodput)을 결정하는 것;
    상기 HAS로부터 복수의 물리 계층 굿풋 샘플을 선택하는 것;
    시간 t에서의 상기 물리 계층 굿풋 샘플들의 곡선 맞춤의 기울기를 계산하는 것; 및
    상기 계산된 기울기에 기초하여, 상기 HAS에 대한 상기 매니페스트 파일에서 식별된 이전에 수신된 세그먼트를 상이한 표현 레벨에서의 동일한 세그먼트로 언제 대체할지를 식별하는 것
    을 포함하는, 비일시적 머신 판독 가능 저장 매체.
  2. 제1항에 있어서,
    상기 하나 이상의 프로세서에 의해 실행될 때,
    상기 기울기가 음인 경우를 결정하는 것;
    상기 음의 기울기가 미리 결정된 임계값보다 큰 경우를 식별하는 것; 및
    미리 결정된 임계값보다 큰 상기 음의 기울기를 링크 대역폭 터널 조건으로서 분류하는 것
    을 포함하는 명령어들을 추가로 포함하는, 적어도 하나의 비일시적 머신 판독 가능 저장 매체.
  3. 제2항에 있어서,
    상기 하나 이상의 프로세서에 의해 실행될 때, 상기 링크 대역폭 터널 조건이 발생하는 경우에 대체 세그먼트 조건 세트의 상태를 모니터링하는 것을 포함하는 명령어들을 추가로 포함하는, 적어도 하나의 비일시적 머신 판독 가능 저장 매체.
  4. 제3항에 있어서,
    상기 대체 세그먼트 조건 세트는 상기 이전에 수신된 세그먼트에 대한 조건들의 세트이며,
    상기 UE에서 상기 이전에 수신된 세그먼트에 대해 수신된 세그먼트 지속기간이 지속기간 임계값보다 작은 것;
    UE에서 이전에 수신된 세그먼트에 대해 수신된 세그먼트 크기가 크기 임계값보다 작은 것; 및
    상기 UE에서 동작하는 HAS 클라이언트에서의 버퍼 레벨이 버퍼 임계값보다 작은 것을 포함하는, 적어도 하나의 비일시적 머신 판독 가능 저장 매체.
  5. 제4항에 있어서,
    상기 하나 이상의 프로세서에 의해 실행될 때,
    상기 대체 세그먼트 조건 세트의 상태 및 상기 링크 대역폭 터널 조건에 기초하여 상기 이전에 수신된 세그먼트에 대한 요청을 취소하는 것; 및
    상기 이전에 수신된 세그먼트가 더 낮은 표현 레벨에서의 상기 UE로 송신되도록 요청하는 것
    을 포함하는 명령어들을 추가로 포함하는, 적어도 하나의 비일시적 머신 판독 가능 저장 매체.
  6. 제4항에 있어서,
    상기 하나 이상의 프로세서에 의해 실행될 때, 상기 대체 세그먼트 조건의 상태가 참이고 상기 대역폭 터널 조건이 발생하는 경우에, 처리량 값을 일정량만큼 감소시키는 명령어들을 추가로 포함하는, 적어도 하나의 비일시적 머신 판독 가능 저장 매체.
  7. 하이퍼텍스트 전송 프로토콜(HTTP) 적응적 스트리밍(HAS)을 제공하는 방법으로서,
    노드로부터 사용자 장비(UE)에서 HTTP 적응적 스트림에 대한 매니페스트 파일을 수신하는 단계 - 상기 매니페스트 파일은 복수의 표현 레벨을 식별하고 각각의 표현 레벨은 복수의 세그먼트에 대한 정보를 포함함 -;
    상기 HAS에 대한 상기 노드와의 상기 UE의 물리 계층 굿풋을 결정하는 단계;
    시간 기간에 걸쳐 복수의 물리 계층 굿풋 샘플을 선택하는 단계;
    시간 기간에 걸쳐 상기 물리 계층 굿풋 샘플의 곡선 맞춤의 기울기를 계산하는 단계; 및
    상기 계산된 기울기에 기초하여, 상기 HAS에 대한 상기 매니페스트 파일에서 식별된 이전에 수신된 세그먼트를 상이한 표현 레벨에서의 동일한 세그먼트로 상기 UE에서 언제 대체할지를 식별하는 단계
    를 포함하는 동작들을 포함하는, 방법.
  8. 제7항에 있어서,
    상기 기울기가 음인 경우를 결정하는 단계;
    상기 음의 기울기가 미리 결정된 임계값보다 큰 경우를 식별하는 단계; 및
    미리 결정된 임계값보다 큰 상기 음의 기울기를 링크 대역폭 터널 조건으로서 분류하는 단계
    를 추가로 포함하는, 방법.
  9. 제8항에 있어서,
    상기 링크 대역폭 터널 조건이 발생하는 경우에 대체 세그먼트 조건 세트의 상태를 모니터링하는 단계를 추가로 포함하는, 방법.
  10. 제9항에 있어서,
    상기 대체 세그먼트 조건 세트는 상기 이전에 수신된 세그먼트에 대한 조건들의 세트이며,
    상기 이전에 수신된 세그먼트의 상기 UE에서 수신된 세그먼트 지속기간이 지속기간 임계값보다 작은 것;
    상기 이전에 수신된 세그먼트의 상기 UE에서 수신된 세그먼트 크기가 크기 임계값보다 작은 것; 및
    상기 UE에서 동작하고 있는 상기 HAS에 대한 클라이언트에서의 버퍼 레벨이 버퍼 임계값보다 작은 것
    을 포함하는, 방법.
  11. 제10항에 있어서,
    상기 대체 세그먼트 조건 세트의 상태 및 상기 링크 대역폭 터널 조건에 기초하여 이전 세그먼트 요청을 취소하는 단계; 및
    상기 이전 세그먼트가 더 낮은 표현 레벨에서 상기 UE로 송신되도록 요청하는 단계
    를 추가로 포함하는, 방법.
  12. 제10항에 있어서,
    상기 대체 세그먼트 조건 세트의 상태; 및 상기 곡선 맞춤의 상기 계산된 기울기의 상기 기울기가 양이고 선택된 임계값보다 큰 것에 기초하여 이전 세그먼트 요청을 취소하는 단계; 및
    상기 이전 세그먼트가 더 높은 표현 레벨에서 상기 UE로 송신되도록 요청하는 단계
    를 추가로 포함하는, 방법.
  13. 제10항에 있어서,
    상기 대체 세그먼트 조건의 상태가 참이고 상기 대역폭 터널 조건이 발생하는 경우에, 처리량 값을 일정량만큼 감소시키는 단계를 추가로 포함하는, 방법.
  14. 제12항에 있어서,
    상기 대체 세그먼트 조건의 상태가 참이고 상기 곡선 맞춤의 상기 계산된 기울기가 양이고 상기 선택된 임계값보다 큰 경우, 처리량 값을 일정량만큼 증가시키는 단계를 추가로 포함하는, 방법.
  15. 하이퍼텍스트 전송 프로토콜(HTTP) 적응적 스트리밍(HAS)을 수신하도록 동작 가능한 이동 디바이스로서,
    노드로부터 이동 디바이스에서 수신되는 HTTP 적응적 스트림에 대한 매니페스트 파일을 처리하고 - 상기 매니페스트 파일은 복수의 표현 레벨을 식별하고 각각의 표현 레벨은 복수의 세그먼트에 대한 정보를 가짐 -;
    상기 HAS에 대한 상기 노드와의 상기 이동 디바이스의 물리 계층 굿풋을 결정하고;
    상기 HAS에 대한 세그먼트 처리량 추정을 식별하고;
    상기 HAS에 대한 상기 물리 계층 굿풋 및 상기 HAS에 대한 상기 세그먼트 처리량에 기초하여 선택된 주기에 대한 상기 매니페스트 파일의 표현을 선택하도록 구성된 하나 이상의 프로세서를 갖는, 이동 디바이스.
  16. 제15항에 있어서,
    상기 하나 이상의 프로세서는, 상기 HAS에 대한 상기 물리 계층 굿풋 및 상기 HAS에 대한 상기 세그먼트 처리량 추정에 기초하여 상기 매니페스트 파일에서 식별된 표현에 있는 상기 노드로부터 선택된 수의 세그먼트를 요청하도록 더 구성되는, 이동 디바이스.
  17. 제15항에 있어서,
    상기 하나 이상의 프로세서는, 상기 HAS에 대한 상기 물리 계층 굿풋 및 전송 계층으로부터의 상기 HAS에 대한 상기 세그먼트 처리량 추정 또는 애플리케이션 계층으로부터의 상기 HAS에 대한 상기 세그먼트 처리량 추정 중 하나에, 적어도 부분적으로 기초하여 선택된 기간 동안 상기 표현을 선택하도록 더 구성되는, 이동 디바이스.
  18. 제15항에 있어서,
    하나 이상의 프로세서는,
    Figure pct00049

    로서 프레임슬롯 i에서 레이트 적응에 사용되는 처리량을 선택하도록 더 구성되고, 여기서,
    Figure pct00050
    는 비디오 프레임 지속기간당 성공적으로 수신된 비트의 수이고,
    Figure pct00051
    은 세그먼트의 다운로드 시간에 대한 세그먼트의 세그먼트 크기의 평균 비율이고, β는 비디오 표현 레벨에서의 레이트에 대한 링크 계층에서의 굿풋의 비율인, 이동 디바이스.
  19. 제15항에 있어서,
    하나 이상의 프로세서는,
    상기 HAS로부터 복수의 물리 계층 굿풋 샘플을 선택하고;
    시간 t에서의 상기 물리 계층 굿풋 샘플의 선형 맞춤의 기울기를 계산하고;
    상기 기울기에 기초하여 상기 물리 계층에서의 대역폭의 변경을 결정하도록 더 구성되는, 이동 디바이스.
  20. 제19항에 있어서,
    상기 하나 이상의 프로세서는, 대역폭의 상기 변경이 음이고 대역폭의 상기 변경이 선택된 임계값보다 큰 경우를 식별하여 링크 대역폭 터널 조건을 생성하도록 더 구성되는, 이동 디바이스.
  21. 제20항에 있어서,
    상기 하나 이상의 프로세서는 상기 링크 대역폭 터널 조건이 발생하는 경우에, 대체 세그먼트 조건 세트를 검사하도록 더 구성되는, 이동 디바이스.
  22. 제21항에 있어서,
    상기 대체 세그먼트 조건 세트는,
    수신된 세그먼트 지속기간이 지속기간 임계값보다 작은 것;
    수신된 세그먼트 크기가 크기 임계값보다 작은 것; 및
    상기 이동 디바이스 상에서 동작하는 클라이언트에서의 버퍼 레벨이 버퍼 임계값보다 작은 것을 포함하는, 이동 디바이스.
  23. 제20항에 있어서,
    상기 하나 이상의 프로세서는,
    대체 세그먼트 조건 세트 및 상기 링크 대역폭 터널 조건에 기초하여 이전 세그먼트 요청을 취소하고;
    상기 이전 세그먼트를 상이한 표현 레벨에서 요청하도록 더 구성되는, 이동 디바이스.
  24. 제22항에 있어서,
    상기 하나 이상의 프로세서는, 상기 대체 세그먼트 조건 세트가 참이고 상기 대역폭 터널 조건이 발생하는 경우에, 처리량 값을 일정량만큼 감소시키도록 더 구성되는, 이동 디바이스.
KR1020177013810A 2014-12-24 2015-11-25 링크 인식 스트리밍 적응 Active KR102486847B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/583,034 2014-12-24
US14/583,034 US10812546B2 (en) 2014-12-24 2014-12-24 Link-aware streaming adaptation
PCT/US2015/062791 WO2016105846A1 (en) 2014-12-24 2015-11-25 Link-aware streaming adaptation

Publications (2)

Publication Number Publication Date
KR20170101192A true KR20170101192A (ko) 2017-09-05
KR102486847B1 KR102486847B1 (ko) 2023-01-11

Family

ID=54838456

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177013810A Active KR102486847B1 (ko) 2014-12-24 2015-11-25 링크 인식 스트리밍 적응

Country Status (5)

Country Link
US (2) US10812546B2 (ko)
EP (2) EP3238405B1 (ko)
KR (1) KR102486847B1 (ko)
CN (1) CN107210999B (ko)
WO (1) WO2016105846A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105227535B (zh) 2014-07-01 2019-12-06 思科技术公司 用于边缘缓存和客户端设备的装置及方法
US10433023B1 (en) * 2015-10-27 2019-10-01 Amazon Technologies, Inc. Heuristics for streaming live content
WO2017077704A1 (ja) * 2015-11-06 2017-05-11 日本電気株式会社 スループット計測装置、方法および記録媒体
US11979470B2 (en) * 2016-03-01 2024-05-07 Comcast Cable Communications, Llc Delivering notification information
US10587934B2 (en) * 2016-05-24 2020-03-10 Qualcomm Incorporated Virtual reality video signaling in dynamic adaptive streaming over HTTP
US20180191868A1 (en) * 2017-01-03 2018-07-05 Black Sails Technology Inc. Method and System for Downloading Multiple Resolutions Bitrate for Virtual Reality (VR) Video Streaming Optimization
US11076188B1 (en) * 2019-12-09 2021-07-27 Twitch Interactive, Inc. Size comparison-based segment cancellation
US11153581B1 (en) 2020-05-19 2021-10-19 Twitch Interactive, Inc. Intra-segment video upswitching with dual decoding
US11811842B2 (en) 2020-07-08 2023-11-07 Qualcomm Incorporated Attention (AT) interface for radio access network bitrate recommendations
CN117440177A (zh) * 2022-07-12 2024-01-23 腾讯科技(深圳)有限公司 视频流传输的控制方法及装置、设备、介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130275610A1 (en) * 2012-04-16 2013-10-17 Adobe Systems Inc. Method and apparatus for improving the adaptive bit rate behavior of a streaming media player
US20140201324A1 (en) * 2013-01-15 2014-07-17 Futurewei Technologies, Inc. Using quality information for adaptive streaming of media content
US20140372569A1 (en) * 2013-06-14 2014-12-18 Samsung Electronics Co., Ltd. Controlling dash client rate adaptation

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149291B1 (en) * 2000-06-27 2006-12-12 Cisco Technology, Inc. Method and apparatus for reducing inbound traffic congestion in a voice frame network
US7397805B2 (en) * 2003-04-02 2008-07-08 Ntt Docomo Inc. Systems and methods for goodput guarantee through adaptive fair queuing
US8089939B1 (en) * 2007-05-18 2012-01-03 Marvell International Ltd. Predictive roaming by a wireless LAN client station
US9185439B2 (en) * 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
EP2525587B1 (en) 2011-05-17 2017-07-05 Alcatel Lucent Method for streaming video content, node in a network for monitoring video content streaming
US8751679B2 (en) * 2011-10-07 2014-06-10 Ericsson Television Inc. HTTP adaptive streaming server with automatic rate shaping
EP3764687B1 (en) * 2011-10-21 2021-11-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Resource management concept
US10397294B2 (en) * 2011-12-15 2019-08-27 Dolby Laboratories Licensing Corporation Bandwidth adaptation for dynamic adaptive transferring of multimedia
US9769281B2 (en) * 2011-12-19 2017-09-19 Google Technology Holdings LLC Method and apparatus for determining a multimedia representation for a multimedia asset delivered to a client device
US20130227158A1 (en) * 2012-02-24 2013-08-29 Stmicroelectronics S.R.L. Media-quality adaptation mechanisms for dynamic adaptive streaming
US9246842B2 (en) 2012-04-27 2016-01-26 Intel Corporation QoE-aware radio access network architecture for http-based video streaming
CN103475906B (zh) 2012-06-08 2016-08-10 华为技术有限公司 用于多媒体流的测量方法和测量装置
US9591513B2 (en) * 2012-08-06 2017-03-07 Vid Scale, Inc. Rate adaptation using network signaling
US20140040496A1 (en) * 2012-08-06 2014-02-06 General Instrument Corporation On-demand http stream generation
EP2901751A4 (en) * 2012-09-28 2016-10-05 Intel Corp ENERGY-ADVANCED MULTIMEDIA ADAPTATION FOR STREAMING AND CONVERSION SERVICES
CN104756539A (zh) * 2012-10-29 2015-07-01 阿尔卡特朗讯公司 用于在具有移动http自适应流的无线网络中的拥塞管理的方法与装置
WO2014133589A1 (en) 2013-03-01 2014-09-04 Intel Corporation Wireless local area network (wlan) traffic offloading
ITBA20130077A1 (it) * 2013-11-25 2015-05-26 Cicco Luca De Meccanismo per il controllo del bitrate di codifica in un sistema di video streaming adattivo basato su buffer di playout e sulla stima di banda.
US9794155B2 (en) * 2014-12-19 2017-10-17 Tube Incorporated System and method for coordinating client-side inference of mobile network loading and capacity

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130275610A1 (en) * 2012-04-16 2013-10-17 Adobe Systems Inc. Method and apparatus for improving the adaptive bit rate behavior of a streaming media player
US20140201324A1 (en) * 2013-01-15 2014-07-17 Futurewei Technologies, Inc. Using quality information for adaptive streaming of media content
US20140372569A1 (en) * 2013-06-14 2014-12-18 Samsung Electronics Co., Ltd. Controlling dash client rate adaptation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Vishwanath Ramamurthi et al., "Link Aware HTTP Adaptive Streaming for Enhanced Quality of Experience", 2013 IEEE Global Communications Conference(GLOBECOM) (2013.12.9-13.)* *

Also Published As

Publication number Publication date
HK1244121A1 (zh) 2018-07-27
EP3923544A1 (en) 2021-12-15
US10812546B2 (en) 2020-10-20
CN107210999B (zh) 2021-01-15
EP3238405B1 (en) 2022-01-05
US20160191585A1 (en) 2016-06-30
US20210029181A1 (en) 2021-01-28
KR102486847B1 (ko) 2023-01-11
WO2016105846A1 (en) 2016-06-30
US11477257B2 (en) 2022-10-18
CN107210999A (zh) 2017-09-26
EP3238405A1 (en) 2017-11-01

Similar Documents

Publication Publication Date Title
US10721715B2 (en) Link-aware streaming adaptation
US10455404B2 (en) Quality of experience aware multimedia adaptive streaming
US11038944B2 (en) Client/server signaling commands for dash
US11477257B2 (en) Link-aware streaming adaptation
KR20170101193A (ko) 미디어 콘텐츠 스트리밍
WO2015148016A1 (en) Adaptive media streaming
HK1244121B (zh) 鏈路感知流送自適應
HK1258336B (en) Apparatus and machine readable storage medium for multimedia adaptive streaming
HK1217250B (en) Method and device for providing multimedia adaptive streaming

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20170522

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20201125

Comment text: Request for Examination of Application

PN2301 Change of applicant

Patent event date: 20210615

Comment text: Notification of Change of Applicant

Patent event code: PN23011R01D

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20211129

Patent event code: PE09021S01D

E90F Notification of reason for final refusal
PE0902 Notice of grounds for rejection

Comment text: Final Notice of Reason for Refusal

Patent event date: 20220825

Patent event code: PE09021S02D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20221207

PG1601 Publication of registration