KR102403081B1 - 브로드캐스트 적응형 비트레이트 스트리밍에 대한 지연 보상 - Google Patents

브로드캐스트 적응형 비트레이트 스트리밍에 대한 지연 보상 Download PDF

Info

Publication number
KR102403081B1
KR102403081B1 KR1020177023544A KR20177023544A KR102403081B1 KR 102403081 B1 KR102403081 B1 KR 102403081B1 KR 1020177023544 A KR1020177023544 A KR 1020177023544A KR 20177023544 A KR20177023544 A KR 20177023544A KR 102403081 B1 KR102403081 B1 KR 102403081B1
Authority
KR
South Korea
Prior art keywords
media content
processor
receiver device
protocol stack
determining
Prior art date
Application number
KR1020177023544A
Other languages
English (en)
Other versions
KR20170122749A (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 KR20170122749A publication Critical patent/KR20170122749A/ko
Application granted granted Critical
Publication of KR102403081B1 publication Critical patent/KR102403081B1/ko

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/75Media network packet handling
    • 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/26258Content 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 for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/0852Delays
    • 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/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • 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
    • 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/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 

Landscapes

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

Abstract

다양한 실시예들의 시스템들, 방법들 및 디바이스들은 미디어 수신기 디바이스에서 미디어 콘텐츠의 시작 시간을 관리하는 것을 가능하게 한다. 수신기 디바이스의 프로세서는 전송 디바이스로부터의 송신 시간으로 라벨링된 미디어 콘텐츠를 수신할 수 있다. 프로세서는 미디어 콘텐츠의 서비스 구성 지연을 결정할 수 있다. 프로세서는 서비스 구성 지연에 기초하여 미디어 콘텐츠의 시간 오프셋을 결정할 수 있다. 프로세서는 시간 오프셋을 사용하여 미디어 콘텐츠를 수신기 디바이스 내의 스트리밍 미디어 클라이언트로 전달할 수 있다.

Description

브로드캐스트 적응형 비트레이트 스트리밍에 대한 지연 보상
[0001] 본 출원은, 2015년 2월 26일에 출원되고 명칭이 "Delay Compensation For Broadcast Adaptive Bitrate Streaming"인 미국 가출원 제 62/121,303 호, 및 2015년 2월 27일에 출원되고 명칭이 "Delay Compensation For Broadcast Adaptive Bitrate Streaming"인 미국 가출원 제 62/126,089 호를 우선권으로 주장하며, 이로써 상기 가출원 둘 모두의 전체 내용들이 인용에 의해 포함된다.
[0002] 적응형 비트레이트 스트리밍은 통신 네트워크를 통해 미디어 데이터(가령, 비디오, 오디오 및 다른 멀티미디어 데이터)를 스트리밍하는데 사용되는 기술이다. 적응형 비트레이트 스트리밍 기술들의 예들은 DASH(Dynamic Adaptive Streaming over HTTP(Hypertext Transfer Protocol)), 플래쉬를 위한 어도비 동적 스트리밍(Adobe Dynamic Streaming for Flash), 애플 HLS(HTTP Live Streaming) 및 마이크로소프트 원활한 스트리밍(Microsoft Smooth Streaming)을 포함한다. DASH는 HTTP 프로토콜을 사용하는 적응형 스트리밍을 지원하는 스트리밍 표준이다. DASH의 하나의 변형예에서, 미디어 인터벌들은 하나 이상의 계층형 청크들(layered chunks)로 구성될 수 있고, 베이스 계층 청크에 부가되는 각각의 부가적인 계층형 청크는 그 미디어 인터벌에 대한 미디어 프리젠테이션의 품질을 증가시킬 수 있다. 각각의 미디어 프리젠테이션은, 각각의 미디어 인터벌이 베이스 계층 청크 및 하나 이상의 개선된 계층 청크들을 포함하도록, 스케일링 가능한 인코더를 사용하여 인코딩될 수 있다.
[0003] 스트리밍된 콘텐츠 데이터(예를 들면, 미디어 콘텐츠)는 스트리밍 미디어 클라이언트와 같은 클라이언트 애플리케이션에 의해 수신기 디바이스에서 수신 및 렌더링된다. 다른 지연들 중에서, 수신된 콘텐츠 데이터는 수신기 디바이스의 프로토콜 스택에 의한 콘텐츠 데이터의 핸들링으로 인한 지연들에 영향을 받을 수 있다. 수신기 디바이스가 특정 레벨의 지연을 예상하도록 구성될 수 있지만, 예상된 것보다 더 많거나 더 적은 지연들이 존재하면, 스트리밍 미디어 클라이언트의 성능이 악영향을 받을 수 있다. 예를 들면, 스트리밍 미디어 클라이언트는 콘텐츠 데이터의 프리젠테이션을 시작할 수 있거나, 스트리밍 미디어 클라이언트는 너무 빠르거나 너무 늦게 론칭할 수 있다. 스트리밍 미디어 클라이언트가 콘텐츠 데이터를 너무 빨리 프리젠테이션하기 시작할 때, 콘텐츠의 원활한 프리젠테이션(smooth presentation)을 위한 충분한 데이터의 부족으로 인해 프리젠테이션 스톨들(stalls)이 발생할 수 있다. 스트리밍 미디어 클라이언트가 콘텐츠 데이터를 너무 늦게 프리젠테이션하기 시작할 때, 다른 것들 중에서도, 스트리밍 미디어 클라이언트는 콘텐츠 데이터의 프리젠테이션을 엄격히 필요한 것보다 더 길게 지연시킬 수 있어서, 채널 변화 성능을 저하시키고, 전체 레이턴시를 불필요하게 증가시킨다.
[0004] 다양한 실시예들은 미디어 콘텐츠의 시작 시간을 관리하기 위해 수신기 디바이스 상에서 구현될 수 있는 방법들을 포함한다. 다양한 실시예들은, 수신기 디바이스의 프로세서에 의해, 전송 디바이스로부터의 송신 시간으로 라벨링된 미디어 콘텐츠를 수신하는 단계, 프로세서에 의해, 미디어 콘텐츠의 서비스 구성 지연을 결정하는 단계, 프로세서에 의해, 서비스 구성 지연에 기초하여 미디어 콘텐츠의 시간 오프셋을 결정하는 단계, 및 프로세서에 의해, 시간 오프셋을 사용하여 미디어 콘텐츠를 스트리밍 미디어 클라이언트로 전달하는 단계를 포함할 수 있다.
[0005] 일부 실시예들은, 프로세서에 의해, 결정된 시간 오프셋에 기초하여 미디어 콘텐츠의 시작 시간을 결정하는 단계를 더 포함할 수 있고, 프로세서에 의해, 시간 오프셋을 사용하여 미디어 콘텐츠를 스트리밍 미디어 클라이언트로 전달하는 단계는, 프로세서에 의해, 시작 시간에 기초하여 미디어 콘텐츠를 스트리밍 미디어 클라이언트로 전달하는 단계를 포함한다. 일부 실시예들은, 프로세서에 의해, 미디어 콘텐츠의 프로토콜 스택 지연을 결정하는 단계를 더 포함할 수 있다.
[0006] 일부 실시예들에서, 미디어 콘텐츠의 프로토콜 스택 지연을 결정하는 단계는, 프로세서에 의해, 수신기 디바이스의 로컬 시간을 결정하는 단계, 및 프로세서에 의해, 송신 시간과 수신기 디바이스의 로컬 시간을 비교하는 단계를 포함할 수 있다. 그러한 실시예들에서, 미디어 콘텐츠의 시간 오프셋을 결정하는 단계는 프로토콜 스택 지연에 기초하여 시간 오프셋을 결정하는 단계를 포함할 수 있다.
[0007] 일부 실시예들에서, 프로세서에 의해, 미디어 콘텐츠의 서비스 구성 지연을 결정하는 단계는 미디어 콘텐츠의 송신 계층 프리젠테이션 시간에 기초하여 서비스 구성 지연을 결정하는 단계를 포함할 수 있다. 일부 실시예들은, 프로세서에 의해, 미디어 콘텐츠의 바이트 범위(byte range)에 대한 요청을 수신하는 단계를 더 포함할 수 있고, 미디어 콘텐츠의 서비스 구성 지연을 결정하는 단계는 미디어 콘텐츠의 요청된 바이트 범위에 대한 서비스 구성 지연에 기초하여 서비스 구성 지연을 결정하는 단계를 포함할 수 있다.
[0008] 일부 실시예들에서, 요청된 미디어 콘텐츠가 송신 버퍼에 완전히 존재하기 전에 도착한 미디어 콘텐츠에 대한, 클라이언트 애플리케이션으로부터 프로토콜 스택의 송신 계층으로의 요청에 대한 응답으로, 프로토콜 스택의 송신 계층은 요청된 미디어 콘텐츠의 바이트 범위 전달을 위한 요청으로서 요청을 해석할 수 있다. 일부 실시예들에서, 결정된 시간 오프셋에 기초하여 미디어 콘텐츠의 시작 시간을 결정하는 단계는 미디어 콘텐츠의 결정된 프로토콜 스택 지연 및 송신 계층 프리젠테이션 시간의 총합(sum)을 결정하는 단계를 포함할 수 있다. 일부 실시예들에서, 미디어 콘텐츠의 프로토콜 스택 지연은 수신기 디바이스의 프로토콜 스택에 의한 미디어 콘텐츠의 프로세싱으로 인한 지연 시간을 포함할 수 있다.
[0009] 일부 실시예들에서, 미디어 콘텐츠의 프로토콜 스택 지연을 결정하는 단계는, 미디어 콘텐츠의 미디어 콘텐츠 부분이 수신기 디바이스의 프로토콜 스택의 송신 계층에 의해 프로세싱된 후에, 프로토콜 스택 지연을 결정하는 단계를 포함할 수 있다. 일부 실시예들에서, 미디어 콘텐츠의 프로토콜 스택 지연을 결정하는 단계는 수신기 디바이스의 메모리로부터 미리 결정된 프로토콜 스택 지연 값을 리트리브(retrieve)하는 단계를 포함할 수 있다. 일부 실시예들에서, 미디어 콘텐츠의 시작 시간을 결정하는 단계는, 프로세서에 의해, 시간 오프셋에 기초하여 미디어 콘텐츠의 미디어 프리젠테이션 디스크립션을 수정하는 단계, 및 프로세서에 의해, 수정된 미디어 프리젠테이션 디스크립션에 기초하여 미디어 콘텐츠의 시작 시간을 결정하는 단계를 포함할 수 있다.
[0010] 일부 실시예들에서, 미디어 콘텐츠의 시작 시간을 결정하는 단계는, 프로세서에 의해, 시간 오프셋에 기초하여 수신기 디바이스의 로컬 시간을 수정하는 단계, 및 프로세서에 의해, 수정된 로컬 시간에 기초하여 미디어 콘텐츠의 시작 시간을 결정하는 단계를 포함할 수 있다. 일부 실시예들에서, 미디어 콘텐츠는 전송 디바이스로부터의 송신 시간으로 라벨링된 헤더 부분을 포함할 수 있다. 일부 실시예들은, 프로세서에 의해, 결정된 시간 오프셋에 기초하여 타이머를 생성하는 단계를 더 포함하고, 프로세서에 의해, 시간 오프셋을 사용하여 미디어 콘텐츠를 스트리밍 미디어 클라이언트로 전달하는 단계는, 프로세서에 의해, 타이머가 만료한 것에 대한 응답으로, 미디어 콘텐츠를 스트리밍 미디어 클라이언트로 전달하는 단계를 포함할 수 있다.
[0011] 추가의 실시예들은 메모리, 수신기 회로, 및 메모리 및 수신기 회로에 커플링되고, 위에서 설명된 방법들의 동작들을 수행하기 위한 프로세서-실행 가능 명령들로 구성되는 프로세서를 포함하는 수신기 디바이스를 포함할 수 있다. 추가의 실시예들은 위에서 설명된 방법들의 기능들을 수행하기 위한 수단을 포함하는 수신기 디바이스를 포함할 수 있다. 추가의 실시예들은, 수신기 디바이스의 프로세서로 하여금 위에서 설명된 방법들의 동작들을 수행하게 하도록 구성된 프로세서-실행 가능 명령들이 저장된 프로세서-판독 가능 저장 매체들을 포함할 수 있다.
[0012] 본 명세서에 통합되고 본 명세서의 일부를 구성하는 첨부 도면은, 다양한 실시예들의 예들을 도시하고, 상기 주어진 개괄적인 설명 및 아래에 주어진 상세한 설명과 함께, 다양한 실시예들의 특징을 설명하는 역할을 한다.
[0013] 도 1a 및 1b는 다양한 실시예들에서 사용하기에 적합한 통신 시스템들의 블록도들이다.
[0014] 도 2는 다양한 실시예들에서 사용하기에 적합한 스트리밍 미디어 클라이언트의 프로토콜 스택의 블록도이다.
[0015] 도 3은 다양한 실시예들에서 사용하기에 적합한 통신 시스템의 블록도이다.
[0016] 도 4a는 다양한 실시예들에 따라 콘텐츠 이용가능 시작 시간을 결정하는데 사용될 수 있는 값들의 관계들의 예시이다.
[0017] 도 4b는 수신기 디바이스에서 미디어 콘텐츠의 시작 시간을 관리하기 위한 방법을 예시한 호 흐름도이다.
[0018] 도 5는 다양한 실시예들에 따라 수신기 디바이스에서 미디어 콘텐츠의 시작 시간을 관리하기 위한 방법을 예시한 프로세스 흐름도이다.
[0019] 도 6은 다양한 실시예들에서 사용하기에 적합한 예시적인 수신기 디바이스의 컴포넌트 도면이다.
[0020] 도 7은 다양한 실시예들에서 사용하기에 적합한 예시적인 서버의 컴포넌트 도면이다.
[0021] 다양한 실시예들은 첨부된 도면을 참조하여 상세히 설명될 것이다. 가능하다면, 동일한 참조 번호들은 동일하거나 유사한 부분들을 지칭하도록 도면들 전반에 걸쳐 사용될 것이다. 특정 예들 및 구현들에 대해 이루어진 참조는 예시 목적이며, 다양한 실시예들 또는 청구항의 범위를 제한하는 것으로 의도되는 것은 아니다.
[0022] 본원에 사용된 바와 같이, 용어들 "수신 디바이스" 및 "수신기 디바이스"는, 셀룰러 전화들, 스마트 폰들, 개인용 또는 모바일 멀티미디어 플레이어들, 개인 휴대 정보 단말들(PDA들), 랩탑 컴퓨터들, 태블릿 컴퓨터들, 스마트북들, 팜탑 컴퓨터들, 무선 전자 메일 수신기들, 멀티미디어 인터넷 가능 셀룰러 전화들, 무선 게이밍 제어기들, 퍼스널 컴퓨터들, 텔레비전 셋 탑 박스들, 텔레비전들, 케이블 텔레비전 수신기들, 및 미디어 콘텐츠를 수신 및 프리젠테이션하기 위한 프로그래밍가능 프로세서 및 메모리 및 회로를 포함하는 유사한 개인용 전자 디바이스들 중 임의의 하나 또는 전부를 지칭하기 위해 상호 교환 가능하게 본 명세서에서 사용된다.
[0023] 마스터 교환 서버, 웹 서버, 메일 서버, 문서 서버 또는 임의의 다른 타입의 서버와 같이 콘텐츠 데이터의 제공자로서 기능할 수 있는 임의의 컴퓨팅 디바이스를 지칭하기 위해 용어 "콘텐츠 서버"를 이용하여 다양한 실시예들이 본원에서 설명된다. 콘텐츠 서버는, 전용 컴퓨팅 디바이스, 또는 서버 컴포넌트(예를 들어, 컴퓨팅 디바이스로 하여금 서버로 동작하게 할 수 있는 애플리케이션을 실행함)를 포함하는 컴퓨팅 디바이스일 수 있다. 서버 컴포넌트(예를 들어, 서버 애플리케이션)는 전체 기능 서버 컴포넌트, 또는 모바일 디바이스들 상의 동적 데이터베이스들 사이에 동기화 서비스들을 제공하도록 구성되는 경량 또는 보조 서버 컴포넌트(예를 들어, 경량 또는 보조 서버 애플리케이션)일 수 있다. 경량 서버 또는 보조 서버는, 수신기 디바이스 상에서 구현될 수 있는 서버-타입 기능의 슬림-다운 버전일 수 있어서, 수신기 디바이스가 본 명세서에서 설명되는 기능을 제공하기 위해 필요한 범위까지만 인터넷 서버로 기능할 수 있게 한다.
[0024] 전형적인 콘텐츠 브로드캐스트 분배 방식에서, 수신 디바이스의 클라이언트 애플리케이션은 전형적으로 미디어 오브젝트들, 바이트 범위들 또는 데이터 패킷들을 예상된 도착 시간에 수신하는 것을 예상한다. 예상된 도착 시간은 전형적으로 MPD(Media Presentation Description) 또는 콘텐츠 데이터에 포함되거나 콘텐츠 데이터와 함께 또는 개별적인 시그널링으로 송신되고 콘텐츠의 적응형 스트리밍을 위한 스트리밍 미디어 클라이언트에 대한 정보를 제공하는 다른 데이터 디스크립션에 반영된다. 다른 것들 중에서, MPD는 프리젠테이션 타임라인과 "벽 시계"(즉, 브로드캐스트 또는 유니캐스트 수단들에 의해 스트리밍 미디어 클라이언트에서 설정될 수 있는 시간) 사이의 관계를 설명할 수 있다. 프리젠테이션 타임라인과 시간 사이의 관계는 물론 다른 방법들을 통해 설정될 수 있다.
[0025] MPD(또는 다른 전달 방법)로 제공되는 예상된 도착 시간과 프리젠테이션 타임라인 사이의 시간 관계들은 프리젠테이션 타임라인을 계산하는데 사용될 수 있다. MPD로 제공된 시간 관계들은, 다른 것들 중에서도, 수신 디바이스 내부의 분배 시스템에서의 지연들에 관한 하나 이상의 추정들을 반영할 수 있다. 어떤 이유에선지, 브로드캐스트 시스템 및 수신기 디바이스의 예상된 거동보다 더 많거나 더 적은 지연이 존재하면, 수신 디바이스의 스트리밍 미디어 클라이언트는 콘텐츠 데이터의 프리젠테이션을 너무 빨리 또는 너무 늦게 론칭 또는 시작할 수 있다. 스트리밍 미디어 클라이언트가 콘텐츠를 너무 빨리 프리젠테이션하기 시작할 때, 프리젠테이션 스톨들이 발생할 수 있고, 콘텐츠 데이터를 너무 늦게 프리젠테이션하는 것은 콘텐츠의 프리젠테이션을 엄격히 필요한 것보다 더 길게 지연시켜서, 채널 변경 성능을 저하시킨다.
[0026] 종래의 콘텐츠 브로드캐스트 분배 방식들에서 이러한 제한들을 해결하기 위해, 다양한 실시예들의 시스템들, 방법들 및 디바이스들은, 수신기 디바이스에서 발생할 수 있는 프로토콜 스택 지연을 결정 및 보상함으로써 수신기 디바이스로의 미디어 콘텐츠의 송신 지연들을 관리한다. 수신기 디바이스는 전송 디바이스로부터의 콘텐츠 데이터 또는 콘텐츠 데이터의 일부의 송신 시간(방사 시간)과 콘텐츠 데이터가 수신기 디바이스의 프로토콜 스택의 일부로부터 출현하는 시간("출현 시간") 사이의 시간 오프셋을 계산할 수 있다. 계산된 시간 오프셋에 기초하여, 수신기 디바이스는 콘텐츠 데이터 또는 콘텐츠 데이터 부분의 이용가능 시작 시간을 결정할 수 있다. 이러한 계산된 이용가능 시작 시간은, DASH 클라이언트 애플리케이션 렌더링 세그먼트들에 대해 DASH에서 사용될 수 있는 "세그먼트 이용가능 시작 시간"과 유사할 수 있다. 일부 실시예들에서, 송신 인프라구조(예를 들면, 콘텐츠 서버)는 결정된 방사 시간(즉, 콘텐츠 데이터 부분이 콘텐츠 서버에 의해 송신되는 시간)을 사용하여 콘텐츠 데이터 또는 콘텐츠 데이터 부분을 라벨링할 수 있다. 일부 실시예들에서, 방사 시간은 2009년 10월, 제안된 표준 LCT(Layered Coding Transport) 빌딩 블록, RFC(Request for Comments) 5651, <http,//tools.ietf.org/html/rfc5651>에 설명된 SCT(Sender Current Time)일 수 있다.
[0027] 다양한 실시예들은, 다양한 통신 시스템들(100A 및 100B) 내에서 동작할 수 있는 미디어 수신기 디바이스들에서 구현될 수 있고, 통신 시스템들(100A 및 100B)의 2 개의 예들이 도 1a 및 1b에 예시된다. 도 1a를 참조하면, 수신기 디바이스(102)는, 기지국(104), 액세스 포인트(106) 및 콘텐츠 서버(110)를 포함할 수 있는 통신 네트워크(108)와 통신할 수 있다. 기지국(104)은 유선 또는 무선 통신 링크(114)를 통해 통신 네트워크(108)와 통신할 수 있고, 액세스 포인트(106)는 유선 또는 무선 통신 링크(118)를 통해 통신 네트워크(108)와 통신할 수 있다. 통신 링크들(114 및 118)은 광 섬유 백홀 링크들, 마이크로웨이브 백홀 링크들 및 다른 통신 링크들을 포함할 수 있다. 일부 실시예들에서, 통신 네트워크(108)는 모바일 텔레포니 통신 네트워크를 포함할 수 있다.
[0028] 수신기 디바이스(102)는 무선 통신 링크(112)를 통해 기지국(104)과 통신하고, 무선 통신 링크(116)를 통해 액세스 포인트(106)와 통신할 수 있다. 일부 실시예들에서, 무선 통신 링크(112)는 브로드캐스트 또는 멀티캐스트 송신을 포함할 수 있고, 무선 통신 링크(116)는 유니캐스트 송신을 포함할 수 있다. 일부 실시예들에서, 유니캐스트 송신은 선택사항일 수 있다. 콘텐츠 서버(110)는 애플리케이션 서버, 미디어 서버, 또는, 예를 들면, 수신기 디바이스(102) 상의 클라이언트 애플리케이션(102a)에 대한 콘텐츠 데이터를 제공하도록 구성된 다른 네트워크 노드 또는 네트워크 엘리먼트일 수 있다. 콘텐츠 서버(110)는 유선 또는 무선 통신 링크(120)를 통해 통신 네트워크와 통신할 수 있다. 수신기 디바이스(102)는 비디오, 오디오 또는 멀티미디어 콘텐츠와 같은 콘텐츠 데이터에 대한 요청들을 통신 네트워크(108)를 통해 콘텐츠 서버(110)로 전송하여, 클라이언트 애플리케이션(102a)으로의 콘텐츠 데이터의 전달을 요청할 수 있다. 이에 대한 응답으로, 콘텐츠 서버(110)는 요청된 콘텐츠 데이터를 하나 이상의 유선 또는 무선 통신 링크들(120)을 통해 수신기 디바이스(102)로 스트리밍할 수 있다. 일부 실시예들에서, 수신기 디바이스(102)는 요청된 콘텐츠 데이터를 단일 인터페이스를 통해(예를 들면, 셀룰러 통신 인터페이스를 통해 또는 Wi-Fi 통신 인터페이스를 통해) 수신할 수 있다. 일부 실시예들에서, 수신기 디바이스(102)는 다수의 인터페이스들을 통해(예를 들면, Wi-Fi 및 셀룰러 통신 인터페이스들을 통해) 콘텐츠 데이터를 수신할 수 있고, 수신기 디바이스(102)는 다수의 네트워크 인터페이스들을 통해 다수의 병렬 스트림들을 수신할 수 있다.
[0029] 통신 네트워크(108)는 하나 이상의 라디오 액세스 기술들을 사용하여 통신들을 지원할 수 있고, 무선 통신 링크들(112 및 116) 각각은, 하나 이상의 라디오 액세스 기술들을 사용하여 2-방향 무선 통신 링크들을 통해 이루어질 수 있는 셀룰러 연결들을 포함할 수 있다. 라디오 액세스 기술의 예들은 3GPP LTE(Long Term Evolution), WiMAX(Worldwide Interoperability for Microwave Access), CDMA(Code Division Multiple Access), TDMA(Time Division Multiple Access), WCDMA(Wideband CDMA), GSM(Global System for Mobility), IEEE(Institute for Electrical and Electronics Engineers) 802.11 프로토콜 패밀리 내의 라디오 액세스 프로토콜(예를 들면, Wi-Fi), ATSC(Advanced Television System Committee) 3.0, DVB(Digital Video Broadcasting)-T2 및 다른 라디오 액세스 기술들을 포함할 수 있다. 통신 링크들(112 및 116)이 단일 링크들로서 예시되지만, 통신 링크들 각각은 복수의 주파수들 또는 주파수 대역들을 포함할 수 있고, 이들 각각은 복수의 논리 채널들을 포함할 수 있다.
[0030] 도 1b를 참조하면, 대안적인 네트워크 구성에서, 기지국(104)은 통신 링크(112)를 통해 수신기 디바이스(122)와 통신할 수 있고, 액세스 포인트(124)는 유선 또는 무선 통신 링크(126)를 통해 수신기 디바이스(122)와 통신할 수 있다. 수신기 디바이스(102)는, 멀티캐스트 및/또는 유니캐스트 송신들을 포함할 수 있는 무선 통신 링크(128)를 통해 액세스 포인트(124)와 통신할 수 있다. 수신기 디바이스(122)는, 예를 들면, 콘텐츠 서버(110)로부터 기지국(104)을 통해 콘텐츠 데이터를 수신하도록 구성될 수 있고, 액세스 포인트(124)는 수신기 디바이스(122)를 통해 수신된 콘텐츠 데이터를 수신기 디바이스로 송신하도록 구성될 수 있다. 따라서, 콘텐츠 데이터는 수신기 디바이스(122) 및 액세스 포인트(124)를 통해, 예를 들면, Wi-Fi와 같은 단거리 송신을 통해 중간 홉(intermediate hop)을 통해 전달될 수 있다. 그러한 중간 홉을 통한 콘텐츠 데이터의 전달(passage)은 "재분배"로 지칭될 수 있다.
[0031] 도 2는 다양한 실시예들을 구현하기에 적합한 스트리밍 미디어 클라이언트(예를 들면, 도 1a 및 1b의 클라이언트 애플리케이션(102a))의 프로토콜 스택(200)을 예시한다. 도 1a-2를 참조하면, 수신기 디바이스(예를 들면, 수신기 디바이스(102))는 PHY 계층(physical layer)(204)의 콘텐츠 데이터(202)를 수신할 수 있다. PHY 계층은 수신기 로컬 시간(204a)(예를 들면, 수신기 "벽 시계" 시간)을 설정할 수 있다. PHY 계층은 또한 "체크 표시(tick)"와 같은, 로컬 시간의 표시(220) 또는 다른 정보 마케팅(informational marketing)을 프로토콜 스택(200)의 더 높은 계층들에 제공할 수 있다. 수신기 디바이스의 프로세서는 PHY 계층 체크 표시로부터 시간(예를 들면, UTC(Coordinated Universal Time))을 도출할 수 있다. 물리적 계층은 또한 시간 표시(예를 들면, UTC)로 직접적으로 라벨링될 수 있다.
[0032] 콘텐츠 데이터(202)는 MPD(media presentation description) 또는, 콘텐츠 데이터, 가령, 콘텐츠 데이터의 헤더 부분 또는 콘텐츠 데이터의 몇몇의 다른 부분에 포함될 수 있는 다른 미디어 디스크립션을 포함할 수 있다. MPD는, 클라이언트 애플리케이션(예를 들면, 클라이언트 애플리케이션(102a))을 실행하는 수신기 디바이스의 프로세서가 콘텐츠 데이터를 프로세싱 및 렌더링하는 것을 가능하게 하기 위한 콘텐츠 데이터에 관한 정보를 설명할 수 있다. 다른 것들 중에서도, MPD는 프리젠테이션 타임라인과 벽 시계(예를 들면, PHY 계층(204)에 의해 설정될 수 있는 시간) 사이의 관계를 설명할 수 있다. MPD는 또한 전송자에 의해 추정되고 MPD에 기록된 하나 이상의 지연 시간들과 같은 타이밍 정보를 포함할 수 있다. MPD는 콘텐츠 데이터의 전송자로부터의 송신 시간 또는 방사 시간을 더 포함할 수 있다. 타이밍 정보는 또한 FLUTE(File Delivery over Unidirectional Transport) 또는 ROUTE(Real-Time Object over Unidirectional Transport)와 같은 송신 프로토콜의 확장 헤더들(extension headers)에 통합될 수 있다.
[0033] 물리적 계층(204)은 콘텐츠 데이터를 MAC(media access control) 계층과 같은 기계 액세스 제어 계층(206)에 제공할 수 있다. MAC 계층(206)은 네트워크 송신 프로토콜(예를 들면, IP(internet protocol), UDP(user datagram protocol) 또는 다른 유사한 네트워크 송신 프로토콜), 가령, IP/UDP 스택으로부터의 콘텐츠 데이터를 디코딩하기 위해 콘텐츠 데이터를 네트워킹 프로토콜 계층(208)에 제공할 수 있다. 네트워킹 프로토콜 계층(208)은 콘텐츠 데이터를 송신 계층(210)(예를 들면, FEC(forward error correction)(예를 들면, AL(application layer)-FEC)를 포함할 수 있는 파일 전달 프로토콜 계층)에 제공할 수 있다. 송신 계층(210)은 콘텐츠 데이터를 클라이언트 애플리케이션(212)에 제공할 수 있고, 클라이언트 애플리케이션(212)은, 예를 들면, ISO(International Organization for Standardization) 베이스 미디어 파일 포맷(예를 들면, BMFF) 또는 MMT(MPEG(Moving Picture Experts Group) Media Transport) 포맷에 따라 콘텐츠 데이터의 인코딩을 해석할 수 있다. 클라이언트 애플리케이션(212)은 디코딩 및 렌더링을 위해 콘텐츠 데이터를 CODEC(coding/decoding circuit)(214)에 제공할 수 있다.
[0034] 콘텐츠 데이터는, 예를 들면, MAC 계층(206) 및/또는 PHY(physical) 계층(204) 내의 지연(예를 들면, 버퍼 지연 또는 유사한 데이터 핸들링 지연)으로부터 발생한 지연(218)으로 송신 계층(210)으로부터 출현한다. 일부 실시예들에서, 지연(218)은 또한, 가령, 클라이언트 디바이스가 네트워크 어댑터(예를 들면, 수신기 디바이스(122))로부터 데이터를 수신(또는 페칭)할 때, 중간 분배 또는 재분배에 의해 도입된 지연을 포함할 수 있고, 중간 분배 또는 재분배는 콘텐츠 데이터의 일부 알려지지 않은 분배 지연을 도입할 수 있다.
[0035] 지연(들)은 콘텐츠 데이터의 도착 시간이 MPD 내의 타이밍 정보(예를 들면, 지연 시간)와 상이하게 할 수 있다. 또한, 수신기 디바이스에 의해 PHY 계층(physical layer(204))으로부터 도출된 시간은 상대적으로 정확할 수 있지만, 콘텐츠 데이터가 프로토콜 스택을 수송할 때 도입된 어느 지연도 반영하지 않을 수 있다. 지연들(218)은 콘텐츠 데이터가 프로토콜 스택(200)을 통해 이동할 때 전파될 수 있고, 클라이언트 애플리케이션(212)이, 예를 들면, MPD 내의 정보에 기초하여 예상할 수 있는 것과 상이한 시간(즉, 더 늦은 시간)에 콘텐츠 데이터가 클라이언트 애플리케이션(212)으로 전달되게 할 수 있다.
[0036] 프로토콜 스택 지연을 결정하기 위해, PHY 계층(204)은, 수신기 디바이스의 프로세서가 콘텐츠 데이터의 방사 시간(즉, 송신 시간)과 비교할 수 있는 로컬 시간(예를 들면, 수신기 디바이스의 로컬 시간/벽 시계 시간(204a))의 표시(220)를 제공할 수 있다. 데이터 특징(예를 들면, 바이트 범위의 마지막 바이트)의 방사 시간과 수신기 디바이스의 벽 시계 시간(물리적 계층을 통해 설정될 수 있음) 사이의 차이는 프로토콜 스택(200)에 의한 콘텐츠 데이터의 핸들링에 의해 발생되는 프로토콜 스택 지연의 양을 표시할 수 있다. 따라서, 수신기 디바이스는 프로토콜 스택 지연을 자체-결정할 수 있다.
[0037] 부가적으로 또는 대안적으로, 수신기 디바이스의 프로세서는 수신기 디바이스의 메모리에 저장될 수 있는 프로토콜 스택 지연 값을 소환(recall)할 수 있다. 예를 들면, 수신기 디바이스는, 수신기 디바이스 내의 프로토콜 스택의 특정 구현에 대해 결정된 프로토콜 스택 지연의 미리 결정된 값으로 구성될 수 있다. 일부 실시예들에서, 미리 결정된 프로토콜 스택 지연 값은 특정 수신기 디바이스에서 구현되는 특정 프로토콜 스택의 테스팅으로부터 도출될 수 있다. 미리 결정된 프로토콜 스택 지연 값은 수신기 디바이스의 메모리에 저장될 수 있고, 수신기 디바이스의 프로세서에 의해 질의 및 리트리브될 수 있다. 미리 결정된 프로토콜 스택 지연 값은, 예를 들면, 수신기 디바이스에 제공될 수 있는 프로토콜 스택의 개정된 빌드(build)에서 업데이트될 수 있다.
[0038] 도 3은 다양한 실시예들에서 사용하기에 적합한 통신 시스템(300)의 블록도이다. 다양한 실시예들에서, 도 3의 엘리먼트들은 도 1a, 1b 및 2를 참조하여 설명된 수신기 디바이스(102) 또는 서버(110)의 엘리먼트들과 유사할 수 있다.
[0039] 도 1a-3을 참조하면, 미디어 인코더(302)는, 수신기 디바이스(예를 들면, 수신기 디바이스(102))에 의해 또는 수신기 디바이스 상의 클라이언트 애플리케이션(예를 들면, 클라이언트 애플리케이션(102a))에 의해 요청되었거나 요청될 콘텐츠 데이터(350)를 수신할 수 있다. 미디어 인코더(302)는 콘텐츠 데이터를 인코딩하고, 인코딩된 콘텐츠 데이터(352)를 분할기(segmenter)(304)에 제공할 수 있다. 분할기는 인코딩된 콘텐츠 데이터를 하나 이상의 세그먼트들로 분할할 수 있다. 분할기는 또한 SCT(Sender Current Time)에 따라 또는 이를 준수하여 MPD를 기록할 수 있다. 전형적으로, MPD는 콘텐츠 데이터로부터의 일반적인 개별 오브젝트(예를 들면, 세그먼트)에 있을 수 있지만, MPD 및 콘텐츠 데이터는 공통 세션(예를 들면, ROUTE 세션)을 통해 수신기 디바이스로 전달될 수 있고 그리고/또는 공통 바이트 범위에서 전달될 수 있다.
[0040] 분할기(310)는 미디어 인식 바이트 범위들(356) 및 시간 QoS(quality of service) 목적지 IP를 포함할 수 있는 다른 정보(354)를 전송자 네트워크 프로토콜 계층(306)(예를 들면, 전송자 IP/UDP)에 제공할 수 있다. 전송자 네트워크 프로토콜 계층(306)은 네트워크 송신 프로토콜(360)을 사용하여 인코딩된(예를 들면, IP, UDP 및 ROUTE 또는 FLUTE와 같은 다른 네트워크 송신 프로토콜을 사용하여 인코딩된) 미디어 인식 바이트 범위들 및 FEC(forward error correction) 프레임 체크 표시(362)를 포함하는 다른 정보(358)를 캡슐화기(308)에 제공할 수 있다. 캡슐화기(308)는 FEC 프레임 체크 표시(362)를 스케줄러(310)에 제공할 수 있고, 예를 들면, GSE(generic stream encapsulator) 프로토콜을 사용하여 네트워크 송신을 위해 캡슐화된 미디어 인식 바이트 범위들(364)을 기저대역 컴포저(312)에 제공할 수 있다.
[0041] 스케줄러(310)는 물리적 계층 할당들(368)을 기저대역 컴포저(312)에 제공할 수 있다. 스케줄러는 또한 콘텐츠 데이터의 송신 시간(즉, 방사 시간)을 결정할 수 있다. 일부 실시예들에서, 송신 시간은 콘텐츠 데이터의 제 1 바이트 또는 콘텐츠 데이터의 마지막 바이트 중 어느 하나에 정의될 수 있다. 송신 시간은 SCT(sender current time)일 수 있다. 일부 실시예들에서, 콘텐츠 데이터의 송신 시간은 시간 QoS 정보(354)에 제공된 가장 최근의 시간과 일치할 수 있다. 스케줄러(310)는 또한 레이트 적응 정보(366)(예를 들면, 피드백 정보)를 미디어 인코더(302)에 제공할 수 있다. 일부 실시예들에서, 스케줄러(310)는 송신 전에 콘텐츠 데이터를 라벨링하는데 사용되는 송신 시간을 결정할 수 있다.
[0042] 기저대역 컴포저(312)는 송신할 준비가 된 콘텐츠 데이터(370)뿐만 아니라 콘텐츠 데이터의 기저대역 디스크립션을 송신기(314)에 제공할 수 있다. 송신기(314)는 콘텐츠 데이터(372)를 수신기 디바이스로 송신할 수 있다. 콘텐츠 데이터(372)의 송신 바로 전에 또는 송신 시에, 송신기(314)는 콘텐츠 데이터의 일부를 송신 시간(예를 들면, SCT(sender current time))으로 라벨링(예를 들면, 인코딩)할 수 있다. 송신 시간의 값은 스케줄러(310)에 의해 제공될 수 있고, 스케줄러(310)에 의해 또는 전송자(306)에 의해 인코딩될 수 있다. 일부 실시예들에서, 전송자는 송신을 생성할 때 이러한 필드(들)를 설정할 수 있어서, 송신되는 콘텐츠 데이터의 크기는 라벨의 적용에 의해 변경되지 않는다.
[0043] 일부 실시예들에서, 송신 시간은 콘텐츠 데이터의 헤더(또는 세그먼트와 같은 콘텐츠 데이터의 일부의 헤더)에 인코딩될 수 있다. 일부 실시예들에서, 송신 시간은 ROUTE EXT_TIME 헤더 부분에서 인코딩될 수 있다. 일부 실시예들에서, 헤더 시간은 콘텐츠 데이터의 일부(예를 들면, 세그먼트)의 제 1 바이트로서 정의될 수 있다. 일부 실시예들에서, 헤더 시간은 콘텐츠 데이터의 일부(예를 들면, 세그먼트)의 마지막 바이트에 정의될 수 있다. 예를 들면, 세그먼트의 마지막 바이트는, 세그먼트 또는 바이트 범위(MDE)의 방사 시간에 대응하는 SCT로 라벨딩(예를 들면, 인코딩)될 수 있다.
[0044] 수신기 디바이스에서, 프로토콜 스택의 수신 엘리먼트들은 수신기 디바이스 상에서 콘텐츠 데이터를 수신할 수 있다. 수신 엘리먼트들은 물리적 계층 및 MAC 계층(예를 들면, 도 2를 참조하여 설명된 PHY 계층(204) 및 MAC 계층(206)과 유사할 수 있는 수신기 PHY/MAC(316))을 포함할 수 있다. 수신기 PHY/MAC(316)는, 송신 시간으로 라벨링된 미디어 인식 바이트 범위들 또는 오브젝트들(374)을 수신기 네트워크 프로토콜 계층(318)(예를 들면, 수신기 IP/UDP)에 제공할 수 있다. 수신기 네트워크 프로토콜 계층(318)은 콘텐츠 데이터(378)를 수신기 디바이스 프로토콜 스택의 더 높은 계층들, 및 궁극적으로 클라이언트 애플리케이션(예를 들면, 클라이언트 애플리케이션(102a))에 제공할 수 있다.
[0045] 수신기 PHY/MAC(316)는 또한 로컬적으로 도출된 시간(예를 들면, 벽 시계 시간)(376)의 표시를 비교기(380)에 제공할 수 있고, 이는 수신기 디바이스의 프로세서에 의해 수행되는 비교 동작일 수 있다. 수신기 네트워크 프로토콜 계층(318)은 콘텐츠 데이터 방사 시간의 표시(384)(예를 들면, EXT_TIME 라벨)를 비교기(380)에 제공할 수 있다. 비교기(380)는, 수신기 디바이스의 프로토콜 스택의 프로토콜 스택 지연(382)을 결정하기 위해 로컬적으로 도출된 시간(예를 들면, 벽 시계 시간)과 콘텐츠 데이터의 방사 시간을 비교할 수 있다. 예를 들면, 비교기(380)는, 로컬적으로 도출된 시간(376)이 콘텐츠 데이터 방사 시간(384)의 표시보다 더 클 때, 프로토콜 스택 지연을 결정할 수 있다. 프로토콜 스택 지연(382)을 사용하여, 수신기 디바이스의 프로세서는 오프셋 시간을 결정할 수 있고, 수신기 디바이스의 프로세서는 결정된 프로토콜 스택 지연을 보상하기 위해 오프셋 시간을 사용할 수 있다. 일부 실시예들에서, 수신 디바이스의 프로세서는 수신기 디바이스의 로컬 벽 시계 시간을 조정할 수 있다. 일부 실시예들에서, 수신 디바이스의 프로세서는 결정된 오프셋 시간에 따라 하나 이상의 MPD 파라미터들을 조정 및/또는 재기록할 수 있다.
[0046] 부가적으로 또는 대안적으로, 수신기 디바이스의 프로세서는 수신기 디바이스의 메모리에 저장될 수 있는 프로토콜 스택 지연 값을 소환할 수 있다. 예를 들면, 수신기 디바이스는, 수신기 디바이스 내의 프로토콜 스택의 특정 구현에 대해 결정된 프로토콜 스택 지연의 미리 결정된 값으로 구성될 수 있다. 일부 실시예들에서, 미리 결정된 프로토콜 스택 지연 값은 특정 수신기 디바이스에서 구현되는 특정 프로토콜 스택의 테스팅으로부터 도출될 수 있다. 미리 결정된 프로토콜 스택 지연 값은 수신기 디바이스의 메모리 저장될 수 있고, 수신기 디바이스의 프로세서에 의해 질의될 수 있다.
[0047] 도 4a는 다양한 실시예들에 따른, 콘텐츠 데이터의 이용가능 시작 시간(예를 들면, 세그먼트 이용가능 시작 시간)을 결정하는데 사용될 수 있는 값들 사이의 관계들(400)을 예시한다.
[0048] 도 1a-4a를 참조하면, 수신기 디바이스(예를 들면, 수신기 디바이스(102))의 프로세서는 다양한 시간 값들 사이의 관계들에 따라 콘텐츠 이용가능 시작 시간(408)(예를 들면, 세그먼트 이용가능 시작 시간)을 결정할 수 있다. 다양한 시간 값들의 관계들은, 예를 들면, 콘텐츠 데이터 또는 다른 유사한 또는 관련 디스크립션에 포함되거나 이와 함께 송신되는 MPD에 정의될 수 있다.
[0049] 위에 설명된 바와 같이, 전송 디바이스는 수신기 디바이스들로 전송될 콘텐츠 데이터를 방사 시간(402)(즉, 송신 시간)으로 라벨링할 수 있다. 비행 시간(412)은 전송 디바이스로부터 수신기 디바이스로의 콘텐츠 데이터의 주행(transit) 시간을 나타낸다. 수신기 디바이스는, 예를 들면, 수신기 디바이스에 있는 프로토콜 스택의 물리적 계층(예를 들면, PHY 계층(204))으로부터 수신기 디바이스의 로컬 시간(404)(예를 들면, 벽 시계 시간)을 결정할 수 있다.
[0050] 콘텐츠 데이터가 수신기 디바이스의 프로토콜 스택에 의해 프로세싱될 때, 콘텐츠 데이터는 특정 지연들, 이를테면, 수신기 PHY/MAC 지연(414) 및/또는 프로토콜 스택의 최상부(예를 들면, ROUTE 또는 FLUTE와 같은 송신 계층(210))에서의 콘텐츠 데이터의 도착 시간(406) 전에 프로토콜 스택(416)의 다른 부분들로 인한 지연을 발생시킬 수 있다. 수신기 PHY/MAC 지연(414) 및 프로토콜 스택(416)의 다른 부분들의 지연의 결합은 구현 특정 지연(418)으로서 표현될 수 있다. 서비스 구성 관련 지연(420)은 또한 프로토콜 스택의 최상부에서의 콘텐츠 데이터의 도착 시간(406)에 후속하여 콘텐츠 데이터에 부과될 수 있다. 서비스 구성 관련 지연(420)은, 콘텐츠 데이터의 원활한 재생을 가능하게 하기 위해 수신기 디바이스에 도착하고 버퍼링되기에 충분한 양의 콘텐츠 데이터를 허용하기 위한 대기 시간을 포함할 수 있다. 콘텐츠 이용가능 시작 시간(408)은 수신기 벽 시계 시간(404) 후에 정적 시간의 양으로서 결정될 수 있다. 수신기 벽 시계와 콘텐츠 이용가능 시작 시간(422) 사이의 정적 차이는 또한 구현 특정 지연(418) 및 서비스 구성 관련 지연(420)의 총합으로서 결정될 수 있다.
[0051] 일부 실시예들에서, 구현 특정 지연(418)은 콘텐츠 데이터의 방사 시간과 수신기 벽 시계 시간(404)을 비교함으로써 수신기 디바이스의 프로세서에 의해 결정될 수 있다. 부가적으로 또는 대안적으로, 수신기 디바이스의 프로세서는 수신기 디바이스의 메모리에 저장될 수 있는 미리 결정된 프로토콜 스택 지연 값을 소환할 수 있고, 구현 특정 지연(418)으로서 미리 결정된 프로토콜 스택 지연 값을 사용할 수 있다.
[0052] 콘텐츠 이용가능 시작 시간(408)을 결정하기 위해, 수신기 디바이스의 프로세서는 구현 특정 지연(418), 서비스 구성 관련 지연(420) 및 수신기 벽 시계와 콘텐츠 이용가능 시작 시간 사이의 정적 차이(422) 중 적어도 2 개를, 직접적으로 또는 간접적으로, 수신할 수 있다. 서비스 구성 관련 지연(420) 및/또는 수신기 벽 시계와 콘텐츠 이용가능 시작 시간 사이의 정적 차이(422)는, 예를 들면, 콘텐츠 데이터의 MPD에 포함될 수 있다. 구현 특정 지연(418)은, 가령, 콘텐츠 데이터의 방사 시간과 수신기 벽 클록 시간(404)을 비교함으로써, 또는 미리 결정된 프로토콜 스택 지연 값을 사용함으로써 수신기 디바이스의 프로세서에 의해 결정될 수 있다.
[0053] 콘텐츠 이용가능 시작 시간(408)에 기초하여, 콘텐츠 데이터의 전달 또는 페치 시간(426)은 수신기 디바이스 프로세서에 의해 결정될 수 있다. 콘텐츠 데이터의 전달 또는 페치 시간(426)은 콘텐츠 데이터의 렌더링/재생 모드에 기초할 수 있다. 예를 들면, 프로토콜 스택의 송신 계층(예를 들면, 송신 계층(210))이 콘텐츠 데이터의 바이트 범위들 또는 MDE들(media delivery events)을 클라이언트 애플리케이션(예를 들면, 클라이언트 애플리케이션(212))에 제공(즉, 전달)하면, 클라이언트 애플리케이션은 전형적으로 콘텐츠 데이터의 바이트 범위들을 렌더링하기 시작하기 위해 콘텐츠 이용가능 시작 시간만큼 길게 대기할 필요가 없다. 수신기 디바이스의 프로세서는 바이트 범위 오프셋 값, 가령, @tbdByteRangeOffsetTime(430)를 적용함으로써 바이트 범위 전달 시간(424)을 결정할 수 있다. 프로토콜 스택의 송신 계층이 콘텐츠 데이터의 세그먼트들을 클라이언트 애플리케이션으로 전달하면, 수신기 디바이스의 프로세서는 클라이언트 애플리케이션이 콘텐츠 부분들(예를 들면, 세그먼트들)을 페칭(예를 들면, 버퍼로부터의 요청)하기 위한 콘텐츠 부분 전달/페치 시간(426)으로서 콘텐츠 이용가능 시작 시간(408)을 사용할 수 있다.
[0054] 일부 실시예들에서, 다수의 클라이언트 애플리케이션/수신 디바이스들이 콘텐츠 데이터를 실질적으로 동시에 렌더링하도록, 다수의 클라이언트 애플리케이션들 또는 다수의 수신 디바이스들이 동기화를 요구하면, 수신기 디바이스의 프로세서는, 각각의 스트리밍 미디어 클라이언트에 대한 다중-디바이스 동기화된 세그먼트 레벨 페치 시간(428)을 결정하기 위해 부가적인 지연, 이를테면, @suggestedPresentationDelay(433)를 합산할 수 있다.
[0055] 대안적으로, 바이트 범위 전달 시간(424)은, 송신 계층(예를 들면, 송신 계층(210))이 MDE 또는 바이트 범위를 스트리밍 미디어 클라이언트(예를 들면, 클라이언트 애플리케이션(212))로 전달할 수 있는 시간을 포함할 수 있다.
[0056] 바이트 범위 전달 시간(424)을 결정하기 위해, 프로세서는 MDE RAP(representation access point) 전달을 위한 서비스 구성 관련 지연과 같은 서비스 구성 지연(432)을 결정할 수 있다. 일부 실시예들에서, 송신 계층은, 바이트 범위 또는 MDE가 스트리밍 미디어 클라이언트에 의해 생산적으로 프로세싱될 수 있다는 구문론의 표시(syntactical indication)일 수 있는 RAP로 마킹된 바이트 범위 또는 MDE만을 전송할 수 있다.
[0057] 도 4b는 다양한 실시예들에 따른, 수신기 디바이스에서 미디어 콘텐츠의 시작 시간을 관리하기 위한 방법(400A)의 통신들을 예시하는 호 흐름도이다. 방법(400A)의 호 흐름들은 무선 수신기 디바이스(예를 들면, 도 1의 무선 수신기 디바이스(102))의 프로세서에 의해 구현될 수 있다.
[0058] 애플리케이션(448)은 콘텐츠 데이터에 대한 서비스 요청(460)을 서비스 계층(446)으로 전송할 수 있고, 서비스 계층(446)은 IP 흐름에 대한 요청(462)을 수신기 디바이스의 프로토콜 스택의 물리적 계층 및 MAC 계층(예를 들면, PHY/MAC(440))으로 전송할 수 있다. 물리적 계층 및 MAC 계층(440)은 콘텐츠 데이터를 수신하기 시작할 수 있고, IP 데이터그램들(464)과 같은 콘텐츠 데이터를 프로토콜 스택 위의 송신 계층(442)으로 전달할 수 있다. 송신 계층(442)은 하나 이상의 IS(initialization segments) 및 콘텐츠 데이터와 연관된 MPD(예를 들면, IS(들) 및 MPD(466))를 포스팅할 수 있다(예를 들면, 이용가능하게 함). 스트리밍 미디어 클라이언트(예를 들면, MDE(media data event) 클라이언트(444))는 송신 계층에 의해 이용가능하게 된 초기화 세그먼트(들) 및 MPD를 페칭(468)할 수 있다.
[0059] 송신 계층(442)은 콘텐츠 데이터에 대한 요청(예를 들면, 제 1 미디어 세그먼트에 대한 요청(470))을 수신할 수 있고, 콘텐츠 데이터에 대한 요청(470)을 가능한 가장 빠른 시간에 바이트 범위들 또는 MDE들(media delivery events)을 전송하기 위한 요청으로서 해석할 수 있고, 가능한 가장 빠른 시간의 결정이 아래에 설명된다. 콘텐츠 데이터에 대한 요청(470)에 대한 응답으로, 송신 계층(442)은 요청의 확인응답(예를 들면, OK(200) 응답(472))을 스트리밍 미디어 클라이언트(444)로 전송할 수 있다. 이어서, 송신 계층(442)은 결정된 전달 시간(예를 들면, 바이트 범위 전달 시간(424))에 바이트 범위들 또는 MDE들을 스트리밍 미디어 클라이언트(444)로 전송할 수 있다.
[0060] 바이트 범위 또는 MDE가 송신 계층(442)으로부터 스트리밍 미디어 클라이언트(444)로 전송될 수 있는 시간을 결정하기 위해, 수신기 디바이스의 프로세서는 미디어의 각각의 바이트 범위 또는 MDE에 대한 서비스 구성 관련 지연(예를 들면, MDE RAP 전달에 대한 서비스 구성 관련 지연(432))을 계산할 수 있다. 예를 들면, 콘텐츠 데이터는 2 개의 시간 표시들을 포함할 수 있다. 제 1 시간 표시는, ROUTE EXT_TIME 헤더 부분에 인코딩될 수 있는 바이트 범위 또는 MDE의 송신 시간(즉, 방사 시간)의 표시일 수 있다. 제 2 시간 표시는, ROUTE EXT_ROUTE_PRESENTATION_TIME 헤더 부분에 인코딩될 수 있는 바이트 범위 또는 MDE에 특정한 서비스 관련 지연 + 콘텐츠 데이터의 송신 시간의 표시인 송신 계층 프리젠테이션 시간일 수 있다.
[0061] 일부 실시예들에서, 프로세서는, 바이트 범위 또는 MDE에 특정한 서비스 관련 지연(예를 들면, MDE RAP 전달에 대한 서비스 구성 관련 지연(432))을 결정하기 위해, 제 2 시간 표시로부터 제 1 시간 표시를 감산할 수 있다(예를 들면, 프로세서는 송신 계층 프리젠테이션 시간(EXT_ROUTE_PRESENTATION_TIME) 값으로부터 EXT_TIME 값을 감산할 수 있음).
[0062] 송신 계층이 바이트 범위 또는 MDE를 스트리밍 미디어 클라이언트로 전송할 수 있는 시간(예를 들면, 바이트 범위 또는 MDE에 특정한 바이트 범위 전달 시간(424))을 결정하기 위해, 프로세서는 구현 특정 지연(가령, 구현 특정 지연(418), 예를 들면, 총 프로토콜 스택 지연) 및 바이트 범위 또는 MDE에 특정한 서비스 관련 지연을 합산할 수 있다. 따라서, 프로세서는 송신 계층이 MDE 또는 바이트 범위를 스트리밍 미디어 클라이언트로 전달할 수 있는 시간을 결정할 수 있고, 그 시간은 특정 MDE 또는 바이트 범위의 EXT_TIME에 대해 상대적일 수 있다.
[0063] 대안적으로 또는 부가적으로, 프로세서는, 바이트 범위/MDE 전달 시간을 계산하기 위해, 구현 특정 지연(예를 들면, 구현 특정 지연(418) 또는 총 프로토콜 스택 지연) 및 송신 계층 프리젠테이션 시간(EXT_ROUTE_PRESENTATION_TIME) 값을 합산할 수 있다.
[0064] 결정된 바이트 범위 전달 시간을 사용하여, 송신 계층(442)은 바이트 범위(들) 또는 MDE(들)(474)를 스트리밍 미디어 클라이언트로 전송할 수 있다. 스트리밍 미디어 클라이언트는 조기의(early) 동기화된 압축된 미디어(476)로서 바이트 범위/MDE(474)를 코덱(450)(예를 들면, 코덱(214))에 제공할 수 있다. 코덱(450)은 조기의 동기화된 압축된 미디어(476)(예를 들면, 바이트 범위(들) 또는 MDE(들))를 프로세싱할 수 있고, 그러한 프로세싱된 콘텐츠 데이터(예를 들면, 조기의 동기화된 비압축된 미디어(478))를 프리젠테이션 계층(452)에 제공할 수 있다.
[0065] 도 5는 다양한 실시예들에 따른, 수신기 디바이스로의 미디어 콘텐츠의 송신 지연을 관리하기 위한 방법(500)을 예시한다. 방법(500)은 수신기 디바이스(예를 들면, 도 1의 무선 수신기 디바이스(102))의 프로세서에 의해 구현될 수 있다.
[0066] 블록(502)에서, 전송 디바이스(예를 들면, 콘텐츠 서버(110))는 콘텐츠 데이터를 방사(예를 들면, 송신) 시간으로 라벨링할 수 있고, 블록(504)에서, 전송 디바이스는 물리적 계층을 시간 표시로 마킹할 수 있다(예를 들면, 수신기 디바이스가 로컬 시간/벽 시계 시간을 설정하도록 허용하기 위해 물리적 계층 체크 표시 또는 다른 시간 표시를 제공할 수 있음). 방사 시간으로의 콘텐츠 데이터의 라벨링은 전송 디바이스의 프로토콜 스택의 송신 계층에 의해 수행될 수 있고, 시간 표시로의 물리적 계층의 마킹은 전송 디바이스 또는 전송자의 프로토콜 스택의 물리적 계층에 의해 수행될 수 있다. 이어서, 전송 디바이스는 라벨링된 콘텐츠 데이터를 수신기 디바이스의 정의된 송신 및 수신 스택을 통해 수신 디바이스(예를 들면, 수신기 디바이스(102))로 전송할 수 있다.
[0067] 블록(506)에서, 수신기 디바이스는, 예를 들면, 수신기 디바이스의 프로토콜 스택의 물리적 계층(예를 들면, PHY 계층(204))에서 방사 시간으로 라벨링된 콘텐츠 데이터를 수신할 수 있다. 블록(508)에서, 수신기 디바이스는 프로토콜 스택의 물리적 계층을 통해 시간의 표시를 수신할 수 있다.
[0068] 블록(510)에서, 수신기 디바이스의 프로세서는 프로토콜 스택 수신기 디바이스에서 수신된 콘텐츠 데이터를 프로세싱할 수 있다. 블록(512)에서, 수신 디바이스의 프로세서는, 예를 들면, 프로토콜 스택의 물리적 계층에 의해 제공된 정보로부터 수신기 디바이스(예를 들면, 로컬 벽 시계 또는 수신기 벽 시계)의 로컬 시간을 설정할 수 있다. 일부 실시예들에서, 수신기 디바이스의 프로토콜 스택의 물리적 계층은 전송 디바이스로부터의 시간 표시의 물리적 계층 마킹에 기초하여 수신기 디바이스의 로컬 시간을 설정할 수 있다.
[0069] 블록(514)에서, 수신기 디바이스의 프로세서는 콘텐츠 데이터 라벨로부터 방사 시간을 리트리브할 수 있다.
[0070] 블록(516)에서, 프로세서는 리트리브된 방사 시간과 수신기 디바이스의 설정된 로컬 시간을 비교할 수 있고, 비교에 기초하여 프로토콜 스택 지연을 결정할 수 있다.
[0071] 블록(518)에서, 프로세서는 리트리브된 방사 시간과 수신기 디바이스의 설정된 로컬 시간의 비교에 기초하여 시간 오프셋을 결정할 수 있다. 일부 실시예들에서, 프로세서는 결정된 시간 오프셋에 기초하여 타이머를 생성할 수 있다. 프로세서는, 미디어 콘텐츠를 스트리밍 미디어 클라이언트로 전달하기 위한 시간을 결정하기 위해, 결정된 타이머를 사용할 수 있다.
[0072] 선택적인 블록(520)에서, 프로세서는 결정된 시간 오프셋을 사용하여 콘텐츠 데이터의 MPD의 하나 이상의 값들을 수정할 수 있다. 선택적인 블록(522)에서, 프로세서는 결정된 시간 오프셋을 사용하여 수신기 디바이스의 로컬 시간을 조정할 수 있다.
[0073] 블록(524)에서, 프로세서는, 스트리밍 미디어 클라이언트(예를 들면, 클라이언트 애플리케이션(212) 및 스트리밍 미디어 클라이언트(444))가 바이트 범위들 또는 MDE들을 요청한다고 결정할 수 있다. 예를 들면, 프로토콜 스택의 송신 계층(예를 들면, 송신 계층(210) 및 송신 계층(442))은 가능한 가장 빠른 시간에 바이트 범위들 또는 MDE들을 전송하기 위한 요청으로서 콘텐츠 데이터에 대한 요청을 해석할 수 있다.
[0074] 블록(526)에서, 프로세서는 바이트 범위 전달 시간(예를 들면, 바이트 범위 전달 시간(424)), 가령, 송신 계층이 MDE 또는 바이트 범위를 스트리밍 미디어 클라이언트로 전달할 수 있는 시간을 결정할 수 있다. 일부 실시예들에서, 프로세서는, 구현 특정 지연(예를 들면, 총 프로토콜 스택 지연일 수 있는 구현 특정 지연(418))과 바이트 범위 또는 MDE에 특정한 서비스 관련 지연(예를 들면, MDE RAP 전달을 위한 서비스 구성 관련 지연(430))을 합산함으로써 바이트 범위 전달 시간을 결정할 수 있다. 대안적으로 또는 부가적으로, 프로세서는 구현 특정 지연(즉, 구현 특정 지연(418))과 송신 계층 프리젠테이션 시간(EXT_ROUTE_PRESENTATION_TIME) 값을 합산함으로써 바이트 범위/MDE 전달 시간을 계산할 수 있다.
[0075] 블록(528)에서, 프로세서는 바이트 범위 전달 시간을 사용하여 바이트 범위 또는 MDE를 스트리밍 미디어 클라이언트로 전달할 수 있다. 예를 들면, 바이트 범위 전달 시간을 사용하여, 프로세서는 스트리밍 바이트 범위들/MDE들로서 콘텐츠 데이터(예를 들면, 바이트 범위 또는 MDE)를 클라이언트 애플리케이션의 인터페이스(예를 들면, ROUTE/DASH 인터페이스)로 전달할 수 있다. 일부 실시예들에서, 프로세서는 결정된 시간 오프셋에 기초하여 생성된 타이머가 만료되었다고 결정할 수 있다. 그러한 실시예들에서, 프로세서는 타이머 만료에 대한 응답으로(예를 들면, 타이머가 만료되었다고 결정한 것에 대한 응답으로) 미디어 콘텐츠를 스트리밍 미디어 클라이언트로 전달할 수 있다.
[0076] 다양한 실시예들이 다양한 수신기 디바이스들 중 임의의 수신기 디바이스에서 구현될 수 있고, 그 일례는 도 6에 예시된다. 예를 들어, 수신기 디바이스(600)는, 내부 메모리들(604 및 606)에 커플링되는 프로세서(602)를 포함할 수 있다. 내부 메모리들(604 및 606)은 휘발성 또는 비휘발성 메모리들일 수 있고, 또한 보안 및/또는 암호화 메모리들, 또는 비보안 및/또는 비암호화 메모리들 또는 이들의 임의의 조합일 수 있다. 프로세서(602)는 또한, 터치 스크린 디스플레이(612), 예를 들어, 저항성-감지 터치 스크린, 용량성-감지 터치 스크린, 적외선 감지 터치 스크린 등에 커플링될 수 있다. 추가적으로, 수신기 디바이스(600)의 디스플레이는 터치 스크린 능력을 가질 필요가 없다. 수신기 디바이스(600)는, 서로 커플링되고 그리고/또는 프로세서(602)에 커플링되는, 전송 및 수신을 위한 하나 이상의 라디오 신호 트랜시버들(608)(예를 들어, Peanut®, Bluetooth®, Zigbee®, Wi-Fi, RF(radio frequency) 라디오) 및 안테나(610)를 가질 수 있다. 수신기 디바이스(600)는 셀룰러 데이터 네트워크(예를 들어, CDMA, TDMA, GSM, PCS, 3G, 4G, LTE, ATSC 3.0, DVB-T2 또는 임의의 다른 타입의 셀룰러 또는 브로드캐스트 데이터 네트워크)를 통한 통신을 가능하게 하고, 프로세서(602)에 커플링되는, 셀룰러 네트워크 인터페이스, 예를 들어, 무선 모뎀 칩(616)을 포함할 수 있다. 수신기 디바이스(600)는, 프로세서(602)에 커플링되는 주변기기 디바이스 접속 인터페이스(618)를 포함할 수 있다. 주변기기 디바이스 접속 인터페이스(618)는, 일 타입의 접속을 수용하도록 단일로 구성될 수 있거나, 또는 USB, FireWire, Thunderbolt 또는 PCIe와 같이 공통의 또는 사설의(proprietary) 다양한 타입들의 물리적 및 통신 접속들을 수용하도록 다수로 구성될 수 있다. 주변기기 디바이스 접속 인터페이스(618)는 또한 유사하게 구성된 주변기기 디바이스 접속 포트에 커플링될 수 있다. 수신기 디바이스(600)는 또한 오디오 출력들을 제공하기 위한 스피커들(614)을 포함할 수 있다. 수신기 디바이스(600)는 또한, 본 명세서에서 논의되는 컴포넌트들의 전부 또는 일부를 포함하기 위해, 플라스틱, 금속 또는 재료들의 조합으로 구성되는 하우징(620)을 포함할 수 있다. 수신기 디바이스(600)는, 일회용 또는 재충전가능 배터리와 같이, 프로세서(602)에 커플링되는 전원(622)을 포함할 수 있다. 재충전가능 배터리는 또한, 수신기 디바이스(600)의 외부의 소스로부터 충전 전류를 수신하기 위해 주변기기 디바이스 접속 포트에 커플링될 수 있다. 수신기 디바이스(600)는 또한 사용자 입력들을 수신하기 위한 물리적 버튼(624) 및 수신기 디바이스(600)를 턴 온 및 오프하기 위한 전원 버튼(626)을 포함할 수 있다.
[0077] 다양한 실시예들은 또한, 도 7에 도시된 서버(700)와 같은 다양한 상업적으로 이용가능한 서버 디바이스들 중 임의의 서버 디바이스 상에서 구현될 수 있다. 이러한 서버(700)는 통상적으로, 디스크 드라이브(704)와 같은 대용량 비휘발성 메모리 및 휘발성 메모리(702)에 커플링되는 프로세서(701)를 포함할 수 있다. 서버(700)는 또한 프로세서(701)에 커플링되는 플로피 디스크 드라이브, 컴팩트 디스크(CD) 또는 DVD 디스크 드라이브(706)를 포함할 수 있다. 서버(700)는 또한, 다른 브로드캐스트 시스템 컴퓨터들 및 서버들, 인터넷, 공중 교환 전화 네트워크 및/또는 셀룰러 데이터 네트워크(예를 들어, CDMA, TDMA, GSM, PCS, 3G, 4G, LTE, 또는 임의의 다른 타입의 셀룰러 데이터 네트워크)에 커플링되는 로컬 영역 네트워크와 같은 네트워크(707)와 네트워크 인터페이스 접속들을 설정하기 위해 프로세서(701)에 커플링되는 네트워크 액세스 포트들(703)을 포함할 수 있다.
[0078] 프로세서들(602 및 701)은, 앞서 설명된 다양한 실시예들의 기능들을 포함하는 다양한 기능들을 수행하도록 소프트웨어 명령들(애플리케이션들)에 의해 구성될 수 있는 임의의 프로그래머블 마이크로프로세서, 마이크로컴퓨터 또는 다중 프로세서 칩 또는 칩들일 수 있다. 몇몇 디바이스들에서, 하나의 프로세서는 무선 통신 기능들에 전용되고 하나의 프로세서는 다른 애플리케이션들을 실행시키는데 전용되는 것과 같은 다수의 프로세서들이 제공될 수 있다. 통상적으로, 소프트웨어 애플리케이션들은, 액세스되고 프로세서들(602 및 701)로 로딩되기 전에, 내부 메모리(604, 606, 702, 704)에 저장될 수 있다. 프로세서들(602, 701)은 애플리케이션 소프트웨어 명령들을 저장하기에 충분한 내부 메모리를 포함할 수 있다. 많은 디바이스들에서, 내부 메모리는 플래쉬 메모리와 같은 비휘발성 또는 휘발성 메모리 또는 둘 모두의 혼합일 수 있다. 이 설명의 목적들로, 메모리에 대한 일반적 참조는, 디바이스에 플러그되는 착탈식 메모리 또는 내부 메모리 및 프로세서들(602 및 701) 자체 내의 메모리를 포함하는, 프로세서(602 및 701)에 의해 액세스가능한 메모리를 지칭한다.
[0079] 상기 방법 설명들 및 프로세스 흐름도들은 단지 예시적인 예들로서 제공되고, 다양한 실시예들의 동작들이 제시된 순서로 수행되어야 함을 요구하거나 암시하도록 의도되지 않는다. 당업자에 의해 인식될 바와 같이, 상기 실시예들의 동작들의 순서는 임의의 순서로 수행될 수 있다. "그 후", "그 다음", "다음" 등과 같은 단어들은 동작들의 순서를 제한하도록 의도되지 않고; 이 단어들은 단순히, 방법들의 설명을 통해 독자를 안내하기 위해 사용된다. 추가로, 예를 들어, 단수형 표현을 이용해 단수로 청구항 엘리먼트들에 대한 임의의 언급은 그 엘리먼트를 단수로 제한하는 것으로 해석되어서는 안 된다.
[0080] 본 명세서에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 로직 블록들, 컴포넌트들, 회로들 및 알고리즘 동작들은 전자 하드웨어, 컴퓨터 소프트웨어 또는 이 둘의 조합으로 구현될 수 있다. 하드웨어 및 소프트웨어의 이러한 상호 교환 가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 컴포넌트들, 회로들 및 동작들이 일반적으로 그들의 기능적 관점에서 앞서 설명되었다. 이러한 기능성이 하드웨어로 구현되는지 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션, 및 전체 시스템에 대해 부과된 설계 제한들에 의존한다. 당업자들은 설명된 기능을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수 있지만, 이러한 구현 결정들이 청구항들의 범위를 벗어나게 하는 것으로 해석되어서는 안 된다.
[0081] 본 명세서에서 개시되는 실시예들과 관련하여 설명된 다양한 예시적인 로직, 로직 블록들, 컴포넌트들 및 회로들을 구현하는데 이용되는 하드웨어는 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA) 또는 다른 프로그래머블 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에서 설명된 기능들을 수행하도록 설계된 이것들의 임의의 조합에 의해 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기 또는 상태 머신일 수 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 조합, 예를 들어 DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 이상의 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로서 구현될 수 있다. 대안적으로, 몇몇 단계들 또는 방법들은, 주어진 기능에 특정된 회로에 의해 수행될 수 있다.
[0082] 하나 이상의 실시예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현되면, 상기 기능들은 비일시적 컴퓨터 판독가능 저장 매체 또는 비일시적 프로세서-판독가능 저장 매체 상에 하나 이상의 명령들 또는 코드로서 저장될 수 있다. 본 명세서에 개시된 알고리즘 또는 방법의 단계들은, 비일시적 컴퓨터 판독가능 또는 프로세서-판독가능 저장 매체 상에 상주할 수 있는 프로세서 실행가능 소프트웨어 컴포넌트에서 구현될 수 있다. 비일시적 컴퓨터 판독가능 또는 프로세서 판독가능 저장 매체는, 컴퓨터 또는 프로세서에 의해 액세스될 수 있는 임의의 저장 매체일 수 있다. 제한이 아닌 예시로, 이러한 비일시적 컴퓨터 판독가능 또는 프로세서 판독가능 매체는 RAM, ROM, EEPROM, FLASH 메모리, CD-ROM 또는 다른 광학 디스크 저장소, 자기 디스크 저장 또는 다른 자기 저장 디바이스들 또는 명령들 또는 데이터 구조들의 형태로 요구되는 프로그램 코드를 저장하는데 이용될 수 있고, 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 여기서 사용되는 디스크(disk 및 disc)는 컴팩트 디스크(disc)(CD), 레이저 디스크(disc), 광 디스크(disc), 디지털 다기능 디스크(DVD), 플로피 디스크(disk), 및 블루-레이 디스크(disc)를 포함하며, 여기서 디스크(disk)들은 보통 데이터를 자기적으로 재생하지만, 디스크(disc)들은 레이저들로 데이터를 광학적으로 재생한다. 상기한 것의 조합들 또한 비일시적 컴퓨터 판독가능 및 프로세서 판독가능 매체의 범위 내에 포함된다. 추가적으로, 방법 또는 알고리즘의 동작들은, 컴퓨터 프로그램 제품에 통합될 수 있는 비일시적 프로세서 판독가능 매체 및/또는 컴퓨터 판독가능 매체 상에 코드들 및/또는 명령들의 하나 또는 임의의 조합 또는 세트로서 상주할 수 있다.
[0083] 개시된 실시예들의 상기 설명은 이 분야의 임의의 당업자가 청구항들을 이용하거나 또는 실시할 수 있도록 제공된다. 이 실시예들에 대한 다양한 변형들은 이 분야의 당업자들에게 쉽게 명백할 것이며, 본 명세서에 정의된 일반적인 원리들은 청구항들의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 따라서, 청구항들은 본 명세서에 제시된 실시예들로 한정되는 것으로 의도되지 않고, 본 명세서에 개시된 하기 청구항들 및 원리들 및 신규한 특징들과 부합하는 가장 넓은 범위에 따라야 한다.

Claims (64)

  1. 수신기 디바이스에서 미디어 콘텐츠의 시작 시간을 관리하기 위한 방법으로서,
    상기 수신기 디바이스의 회로에서 구현되는 프로세서에 의해, 전송 디바이스로부터의 송신 시간과 연관된 미디어 콘텐츠를 수신하는 단계;
    프로토콜 스택의 최상부에서의 상기 미디어 콘텐츠의 도착에 후속하여 상기 수신기 디바이스의 상기 프로세서에 의해, 상기 미디어 콘텐츠에 부과될 상기 미디어 콘텐츠의 서비스 구성 지연을 결정하는 단계;
    상기 프로세서에 의해, 상기 서비스 구성 지연에 기초하여 상기 미디어 콘텐츠의 시간 오프셋을 결정하는 단계;
    상기 프로세서에 의해 상기 시간 오프셋을 사용하여 상기 서비스 구성 지연을 조정하는 단계; 및
    상기 프로세서에 의해, 조정된 서비스 구성 지연을 사용하여 상기 미디어 콘텐츠를 상기 프로토콜 스택의 최상부로부터 스트리밍 미디어 클라이언트로 전달하는 단계를 포함하는,
    수신기 디바이스에서 미디어 콘텐츠의 시작 시간을 관리하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 방법은,
    상기 프로세서에 의해, 결정된 시간 오프셋에 기초하여 상기 미디어 콘텐츠의 시작 시간을 결정하는 단계를 더 포함하고,
    상기 프로세서에 의해, 조정된 서비스 구성 지연을 사용하여 상기 미디어 콘텐츠를 상기 프로토콜 스택의 최상부로부터 스트리밍 미디어 클라이언트로 전달하는 단계는,
    상기 프로세서에 의해, 상기 시작 시간에 기초하여 상기 미디어 콘텐츠를 상기 프로토콜 스택의 최상부로부터 상기 스트리밍 미디어 클라이언트로 전달하는 단계를 포함하는,
    수신기 디바이스에서 미디어 콘텐츠의 시작 시간을 관리하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 프로세서에 의해, 상기 미디어 콘텐츠의 프로토콜 스택 지연을 결정하는 단계를 더 포함하는,
    수신기 디바이스에서 미디어 콘텐츠의 시작 시간을 관리하기 위한 방법.
  4. 제 3 항에 있어서,
    상기 미디어 콘텐츠의 프로토콜 스택 지연을 결정하는 단계는,
    상기 프로세서에 의해, 상기 수신기 디바이스의 로컬 시간을 결정하는 단계; 및
    상기 프로세서에 의해, 상기 송신 시간과 상기 수신기 디바이스의 로컬 시간을 비교하는 단계를 포함하는,
    수신기 디바이스에서 미디어 콘텐츠의 시작 시간을 관리하기 위한 방법.
  5. 제 3 항에 있어서,
    상기 미디어 콘텐츠의 시간 오프셋을 결정하는 단계는 상기 프로토콜 스택 지연에 기초하여 상기 시간 오프셋을 결정하는 단계를 포함하는,
    수신기 디바이스에서 미디어 콘텐츠의 시작 시간을 관리하기 위한 방법.
  6. 제 1 항에 있어서,
    상기 프로세서에 의해, 상기 미디어 콘텐츠의 서비스 구성 지연을 결정하는 단계는 상기 미디어 콘텐츠의 송신 계층 프리젠테이션 시간에 기초하여 상기 서비스 구성 지연을 결정하는 단계를 포함하는,
    수신기 디바이스에서 미디어 콘텐츠의 시작 시간을 관리하기 위한 방법.
  7. 제 1 항에 있어서,
    상기 방법은,
    상기 프로세서에 의해, 상기 미디어 콘텐츠의 바이트 범위(byte range)에 대한 요청을 수신하는 단계를 더 포함하고,
    상기 미디어 콘텐츠의 서비스 구성 지연을 결정하는 단계는 상기 미디어 콘텐츠의 요청된 바이트 범위에 대한 서비스 구성 지연에 기초하여 상기 서비스 구성 지연을 결정하는 단계를 포함하는,
    수신기 디바이스에서 미디어 콘텐츠의 시작 시간을 관리하기 위한 방법.
  8. 제 1 항에 있어서,
    요청된 미디어 콘텐츠가 송신 버퍼에 완전히 존재하기 전에 도착한 미디어 콘텐츠에 대한, 클라이언트 애플리케이션으로부터 프로토콜 스택의 송신 계층으로의 요청에 대한 응답으로, 상기 프로토콜 스택의 송신 계층은 요청된 미디어 콘텐츠의 바이트 범위 전달을 위한 요청으로서 상기 요청을 해석하는,
    수신기 디바이스에서 미디어 콘텐츠의 시작 시간을 관리하기 위한 방법.
  9. 제 2 항에 있어서,
    상기 결정된 시간 오프셋에 기초하여 상기 미디어 콘텐츠의 시작 시간을 결정하는 단계는 상기 미디어 콘텐츠의 결정된 프로토콜 스택 지연 및 송신 계층 프리젠테이션 시간의 총합(sum)을 결정하는 단계를 포함하는,
    수신기 디바이스에서 미디어 콘텐츠의 시작 시간을 관리하기 위한 방법.
  10. 제 3 항에 있어서,
    상기 미디어 콘텐츠의 프로토콜 스택 지연은 상기 수신기 디바이스의 프로토콜 스택에 의한 상기 미디어 콘텐츠의 프로세싱으로 인한 지연 시간을 포함하는,
    수신기 디바이스에서 미디어 콘텐츠의 시작 시간을 관리하기 위한 방법.
  11. 제 3 항에 있어서,
    상기 미디어 콘텐츠의 프로토콜 스택 지연을 결정하는 단계는, 상기 미디어 콘텐츠의 미디어 콘텐츠 부분이 상기 수신기 디바이스의 프로토콜 스택의 송신 계층에 의해 프로세싱된 후에, 상기 프로토콜 스택 지연을 결정하는 단계를 포함하는,
    수신기 디바이스에서 미디어 콘텐츠의 시작 시간을 관리하기 위한 방법.
  12. 제 3 항에 있어서,
    상기 미디어 콘텐츠의 프로토콜 스택 지연을 결정하는 단계는 상기 수신기 디바이스의 메모리로부터 미리 결정된 프로토콜 스택 지연 값을 리트리브(retrieve)하는 단계를 포함하는,
    수신기 디바이스에서 미디어 콘텐츠의 시작 시간을 관리하기 위한 방법.
  13. 제 2 항에 있어서,
    상기 미디어 콘텐츠의 시작 시간을 결정하는 단계는,
    상기 프로세서에 의해, 상기 시간 오프셋에 기초하여 상기 미디어 콘텐츠의 미디어 프리젠테이션 디스크립션을 수정하는 단계; 및
    상기 프로세서에 의해, 수정된 미디어 프리젠테이션 디스크립션에 기초하여 상기 미디어 콘텐츠의 시작 시간을 결정하는 단계를 포함하는,
    수신기 디바이스에서 미디어 콘텐츠의 시작 시간을 관리하기 위한 방법.
  14. 제 2 항에 있어서,
    상기 미디어 콘텐츠의 시작 시간을 결정하는 단계는,
    상기 프로세서에 의해, 상기 시간 오프셋에 기초하여 상기 수신기 디바이스의 로컬 시간을 수정하는 단계; 및
    상기 프로세서에 의해, 수정된 로컬 시간에 기초하여 상기 미디어 콘텐츠의 시작 시간을 결정하는 단계를 포함하는,
    수신기 디바이스에서 미디어 콘텐츠의 시작 시간을 관리하기 위한 방법.
  15. 제 1 항에 있어서,
    상기 미디어 콘텐츠는 상기 전송 디바이스로부터의 연관된 송신 시간으로 라벨링된 헤더 부분을 포함하는,
    수신기 디바이스에서 미디어 콘텐츠의 시작 시간을 관리하기 위한 방법.
  16. 제 1 항에 있어서,
    상기 방법은,
    상기 프로세서에 의해, 결정된 시간 오프셋에 기초하여 타이머를 생성하는 단계를 더 포함하고,
    상기 프로세서에 의해, 상기 시간 오프셋을 사용하여 상기 미디어 콘텐츠를 상기 프로토콜 스택의 최상부로부터 스트리밍 미디어 클라이언트로 전달하는 단계는, 상기 프로세서에 의해, 상기 타이머가 만료한 것에 대한 응답으로, 상기 미디어 콘텐츠를 상기 프로토콜 스택의 최상부로부터 상기 스트리밍 미디어 클라이언트로 전달하는 단계를 포함하는,
    수신기 디바이스에서 미디어 콘텐츠의 시작 시간을 관리하기 위한 방법.
  17. 수신기 디바이스로서,
    메모리;
    수신기 회로; 및
    상기 메모리 및 상기 수신기 회로에 커플링되고, 프로세서-실행 가능 명령들로 구성되는, 회로에서 구현되는 프로세서를 포함하고,
    상기 프로세서-실행 가능 명령들은,
    전송 디바이스로부터의 송신 시간과 연관된 미디어 콘텐츠를 수신하고;
    프로토콜 스택의 최상부에서의 상기 미디어 콘텐츠의 도착에 후속하여 상기 수신기 디바이스의 프로세서에 의해 상기 미디어 콘텐츠에 부과될 상기 미디어 콘텐츠의 서비스 구성 지연을 결정하고;
    상기 서비스 구성 지연에 기초하여 상기 미디어 콘텐츠의 시간 오프셋을 결정하고;
    상기 시간 오프셋을 사용하여 상기 서비스 구성 지연을 조정하고; 그리고
    조정된 서비스 구성 지연을 사용하여 상기 미디어 콘텐츠를 상기 프로토콜 스택의 최상부로부터 스트리밍 미디어 클라이언트로 전달하기 위한 것인,
    수신기 디바이스.
  18. 제 17 항에 있어서,
    상기 프로세서는,
    결정된 시간 오프셋에 기초하여 상기 미디어 콘텐츠의 시작 시간을 결정하기 위한 프로세서-실행 가능 명령들로 추가로 구성되고,
    상기 조정된 서비스 구성 지연을 사용하여 상기 미디어 콘텐츠를 상기 프로토콜 스택의 최상부로부터 스트리밍 미디어 클라이언트로 전달하기 위한 프로세서-실행 가능 명령들은 상기 시작 시간에 기초하여 상기 미디어 콘텐츠를 상기 스트리밍 미디어 클라이언트로 전달함으로써 수행되는,
    수신기 디바이스.
  19. 제 17 항에 있어서,
    상기 프로세서는,
    상기 미디어 콘텐츠의 프로토콜 스택 지연을 결정하기 위한 프로세서-실행 가능 명령들로 추가로 구성되는,
    수신기 디바이스.
  20. 제 19 항에 있어서,
    상기 프로세서는,
    상기 수신기 디바이스의 로컬 시간을 결정하고; 그리고
    상기 송신 시간과 상기 수신기 디바이스의 로컬 시간을 비교함으로써 상기 미디어 콘텐츠의 프로토콜 스택 지연을 결정하기 위한 프로세서-실행 가능 명령들로 추가로 구성되는,
    수신기 디바이스.
  21. 제 19 항에 있어서,
    상기 프로세서는, 상기 프로토콜 스택 지연에 기초하여 상기 시간 오프셋을 결정함으로써 상기 미디어 콘텐츠의 시간 오프셋을 결정하기 위한 프로세서-실행 가능 명령들로 추가로 구성되는,
    수신기 디바이스.
  22. 제 17 항에 있어서,
    상기 프로세서는, 상기 미디어 콘텐츠의 송신 계층 프리젠테이션 시간에 기초하여 상기 서비스 구성 지연을 결정함으로써 상기 미디어 콘텐츠의 서비스 구성 지연을 결정하기 위한 프로세서-실행 가능 명령들로 추가로 구성되는,
    수신기 디바이스.
  23. 제 17 항에 있어서,
    상기 프로세서는,
    상기 미디어 콘텐츠의 바이트 범위에 대한 요청을 수신하고,
    상기 미디어 콘텐츠의 요청된 바이트 범위에 대한 서비스 구성 지연에 기초하여 상기 서비스 구성 지연을 결정함으로써 상기 미디어 콘텐츠의 서비스 구성 지연을 결정하기 위한 프로세서-실행 가능 명령들로 추가로 구성되는,
    수신기 디바이스.
  24. 제 17 항에 있어서,
    상기 프로세서는, 요청된 미디어 콘텐츠가 송신 버퍼에 완전히 존재하기 전에 도착한 미디어 콘텐츠에 대한, 클라이언트 애플리케이션으로부터 프로토콜 스택의 송신 계층으로의 요청에 대한 응답으로, 상기 프로토콜 스택의 송신 계층이 요청된 미디어 콘텐츠의 바이트 범위 전달을 위한 요청으로서 상기 요청을 해석하기 위한 프로세서-실행 가능 명령들로 추가로 구성되는,
    수신기 디바이스.
  25. 제 18 항에 있어서,
    상기 프로세서는, 상기 미디어 콘텐츠의 결정된 프로토콜 스택 지연 및 송신 계층 프리젠테이션 시간의 총합을 결정함으로써 상기 결정된 시간 오프셋에 기초하여 상기 미디어 콘텐츠의 시작 시간을 결정하기 위한 프로세서-실행 가능 명령들로 추가로 구성되는,
    수신기 디바이스.
  26. 제 19 항에 있어서,
    상기 미디어 콘텐츠의 프로토콜 스택 지연은 상기 수신기 디바이스의 프로토콜 스택에 의한 상기 미디어 콘텐츠의 프로세싱으로 인한 지연 시간을 포함하는,
    수신기 디바이스.
  27. 제 19 항에 있어서,
    상기 프로세서는, 상기 미디어 콘텐츠의 미디어 콘텐츠 부분이 상기 수신기 디바이스의 프로토콜 스택의 송신 계층에 의해 프로세싱된 후에, 상기 프로토콜 스택 지연을 결정함으로써 상기 미디어 콘텐츠의 프로토콜 스택 지연을 결정하기 위한 프로세서-실행 가능 명령들로 추가로 구성되는,
    수신기 디바이스.
  28. 제 19 항에 있어서,
    상기 프로세서는, 상기 수신기 디바이스의 메모리로부터 미리 결정된 프로토콜 스택 지연 값을 리트리브함으로써 상기 미디어 콘텐츠의 프로토콜 스택 지연을 결정하기 위한 프로세서-실행 가능 명령들로 추가로 구성되는,
    수신기 디바이스.
  29. 제 18 항에 있어서,
    상기 프로세서는,
    상기 시간 오프셋에 기초하여 상기 미디어 콘텐츠의 미디어 프리젠테이션 디스크립션을 수정하고; 그리고
    수정된 미디어 프리젠테이션 디스크립션에 기초하여 상기 미디어 콘텐츠의 시작 시간을 결정함으로써,
    상기 미디어 콘텐츠의 시작 시간을 결정하기 위한 프로세서-실행 가능 명령들로 추가로 구성되는,
    수신기 디바이스.
  30. 제 18 항에 있어서,
    상기 프로세서는,
    상기 시간 오프셋에 기초하여 상기 수신기 디바이스의 로컬 시간을 수정하고; 그리고
    수정된 로컬 시간에 기초하여 상기 미디어 콘텐츠의 시작 시간을 결정함으로써 상기 미디어 콘텐츠의 시작 시간을 결정하기 위한 프로세서-실행 가능 명령들로 추가로 구성되는,
    수신기 디바이스.
  31. 제 17 항에 있어서,
    상기 미디어 콘텐츠는 상기 전송 디바이스로부터의 연관된 송신 시간으로 라벨링된 헤더 부분을 포함하는,
    수신기 디바이스.
  32. 제 17 항에 있어서,
    상기 프로세서는,
    결정된 시간 오프셋에 기초하여 타이머를 생성하기 위한 프로세서-실행 가능 명령들로 추가로 구성되고,
    조정된 서비스 구성 지연을 사용하여 상기 미디어 콘텐츠를 상기 프로토콜 스택의 최상부로부터 스트리밍 미디어 클라이언트로 전달하기 위한 프로세서-실행 가능 명령들은 상기 타이머가 만료한 것에 대한 응답으로, 상기 미디어 콘텐츠를 상기 프로토콜 스택의 최상부로부터 상기 스트리밍 미디어 클라이언트로 전달함으로써 수행되는,
    수신기 디바이스.
  33. 프로세서-실행 가능 명령들이 저장된 비일시적인 프로세서 판독 가능 저장 매체로서,
    상기 프로세서-실행 가능 명령들은 수신기 디바이스의 회로에서 구현되는 프로세서로 하여금 동작들을 수행하게 하도록 구성되고, 상기 동작들은,
    전송 디바이스로부터의 송신 시간과 연관된 미디어 콘텐츠를 수신하는 동작;
    프로토콜 스택의 최상부에서의 상기 미디어 콘텐츠의 도착에 후속하여 상기 수신기 디바이스에 의해 상기 미디어 콘텐츠에 부과될 상기 미디어 콘텐츠의 서비스 구성 지연을 결정하는 동작;
    상기 서비스 구성 지연에 기초하여 상기 미디어 콘텐츠의 시간 오프셋을 결정하는 동작;
    상기 시간 오프셋을 사용하여 상기 서비스 구성 지연을 조정하는 동작; 및
    조정된 서비스 구성 지연을 사용하여 상기 미디어 콘텐츠를 상기 프로토콜 스택의 최상부로부터 스트리밍 미디어 클라이언트로 전달하는 동작을 포함하는,
    비일시적인 프로세서 판독 가능 저장 매체.
  34. 제 33 항에 있어서,
    상기 프로세서-실행 가능 명령들은 상기 수신기 디바이스의 프로세서로 하여금,
    결정된 시간 오프셋에 기초하여 상기 미디어 콘텐츠의 시작 시간을 결정하는 동작을 더 포함하는 동작들을 수행하게 하도록 구성되고,
    조정된 서비스 구성 지연을 사용하여 상기 미디어 콘텐츠를 상기 프로토콜 스택의 최상부로부터 스트리밍 미디어 클라이언트로 전달하는 동작은 상기 시작 시간에 기초하여 상기 미디어 콘텐츠를 상기 프로토콜 스택의 최상부로부터 상기 스트리밍 미디어 클라이언트로 전달하는 동작을 포함하는,
    비일시적인 프로세서 판독 가능 저장 매체.
  35. 제 33 항에 있어서,
    상기 프로세서-실행 가능 명령들은 상기 수신기 디바이스의 프로세서로 하여금,
    상기 미디어 콘텐츠의 프로토콜 스택 지연을 결정하는 동작을 더 포함하는 동작들을 수행하게 하도록 구성되는,
    비일시적인 프로세서 판독 가능 저장 매체.
  36. 제 35 항에 있어서,
    상기 프로세서-실행 가능 명령들은 상기 수신기 디바이스의 프로세서로 하여금, 상기 미디어 콘텐츠의 프로토콜 스택 지연을 결정하는 동작이,
    상기 수신기 디바이스의 로컬 시간을 결정하는 동작; 및
    상기 송신 시간과 상기 수신기 디바이스의 로컬 시간을 비교하는 동작을 포함하도록, 동작들을 수행하게 하도록 구성되는,
    비일시적인 프로세서 판독 가능 저장 매체.
  37. 제 35 항에 있어서,
    상기 프로세서-실행 가능 명령들은 상기 수신기 디바이스의 프로세서로 하여금, 상기 미디어 콘텐츠의 시간 오프셋을 결정하는 동작이 상기 프로토콜 스택 지연에 기초하여 상기 시간 오프셋을 결정하는 동작을 포함하도록, 동작들을 수행하게 하도록 구성되는,
    비일시적인 프로세서 판독 가능 저장 매체.
  38. 제 33 항에 있어서,
    상기 프로세서-실행 가능 명령들은 상기 수신기 디바이스의 프로세서로 하여금, 상기 프로세서에 의해, 상기 미디어 콘텐츠의 서비스 구성 지연을 결정하는 동작이 상기 미디어 콘텐츠의 송신 계층 프리젠테이션 시간에 기초하여 상기 서비스 구성 지연을 결정하는 동작을 포함하도록, 동작들을 수행하게 하도록 구성되는,
    비일시적인 프로세서 판독 가능 저장 매체.
  39. 제 33 항에 있어서,
    상기 프로세서-실행 가능 명령들은 상기 수신기 디바이스의 프로세서로 하여금,
    상기 프로세서에 의해, 상기 미디어 콘텐츠의 바이트 범위에 대한 요청을 수신하는 동작을 더 포함하는 동작들을 수행하게 하도록 구성되고,
    상기 미디어 콘텐츠의 서비스 구성 지연을 결정하는 동작은 상기 미디어 콘텐츠의 요청된 바이트 범위에 대한 서비스 구성 지연에 기초하여 상기 서비스 구성 지연을 결정하는 동작을 포함하는,
    비일시적인 프로세서 판독 가능 저장 매체.
  40. 제 33 항에 있어서,
    상기 프로세서-실행 가능 명령들은 상기 수신기 디바이스의 프로세서로 하여금, 요청된 미디어 콘텐츠가 송신 버퍼에 완전히 존재하기 전에 도착한 미디어 콘텐츠에 대한, 클라이언트 애플리케이션으로부터 프로토콜 스택의 송신 계층으로의 요청에 대한 응답으로, 상기 프로토콜 스택의 송신 계층이 요청된 미디어 콘텐츠의 바이트 범위 전달을 위한 요청으로서 상기 요청을 해석하도록, 동작들을 수행하게 하도록 구성되는,
    비일시적인 프로세서 판독 가능 저장 매체.
  41. 제 34 항에 있어서,
    상기 프로세서-실행 가능 명령들은 상기 수신기 디바이스의 프로세서로 하여금, 상기 결정된 시간 오프셋에 기초하여 상기 미디어 콘텐츠의 시작 시간을 결정하는 동작이 상기 미디어 콘텐츠의 결정된 프로토콜 스택 지연 및 송신 계층 프리젠테이션 시간의 총합을 결정하는 동작을 포함하도록, 동작들을 수행하게 하도록 구성되는,
    비일시적인 프로세서 판독 가능 저장 매체.
  42. 제 35 항에 있어서,
    상기 프로세서-실행 가능 명령들은 상기 수신기 디바이스의 프로세서로 하여금, 상기 미디어 콘텐츠의 프로토콜 스택 지연이 상기 수신기 디바이스의 프로토콜 스택에 의한 상기 미디어 콘텐츠의 프로세싱으로 인한 지연 시간을 포함하도록, 동작들을 수행하게 하도록 구성되는,
    비일시적인 프로세서 판독 가능 저장 매체.
  43. 제 35 항에 있어서,
    상기 프로세서-실행 가능 명령들은 상기 수신기 디바이스의 프로세서로 하여금, 상기 미디어 콘텐츠의 프로토콜 스택 지연을 결정하는 동작이, 상기 미디어 콘텐츠의 미디어 콘텐츠 부분이 상기 수신기 디바이스의 프로토콜 스택의 송신 계층에 의해 프로세싱된 후에, 상기 프로토콜 스택 지연을 결정하는 동작을 포함하도록, 동작들을 수행하게 하도록 구성되는,
    비일시적인 프로세서 판독 가능 저장 매체.
  44. 제 35 항에 있어서,
    상기 프로세서-실행 가능 명령들은 상기 수신기 디바이스의 프로세서로 하여금, 상기 미디어 콘텐츠의 프로토콜 스택 지연을 결정하는 동작이 상기 수신기 디바이스의 메모리로부터 미리 결정된 프로토콜 스택 지연 값을 리트리브하는 동작을 포함하도록, 동작들을 수행하게 하도록 구성되는,
    비일시적인 프로세서 판독 가능 저장 매체.
  45. 제 34 항에 있어서,
    상기 프로세서-실행 가능 명령들은 상기 수신기 디바이스의 프로세서로 하여금, 상기 미디어 콘텐츠의 시작 시간을 결정하는 동작이,
    상기 시간 오프셋에 기초하여 상기 미디어 콘텐츠의 미디어 프리젠테이션 디스크립션을 수정하는 동작; 및
    수정된 미디어 프리젠테이션 디스크립션 에 기초하여 상기 미디어 콘텐츠의 시작 시간을 결정하는 동작을 포함하도록, 동작들을 수행하게 하도록 구성되는,
    비일시적인 프로세서 판독 가능 저장 매체.
  46. 제 34 항에 있어서,
    상기 프로세서-실행 가능 명령들은 상기 수신기 디바이스의 프로세서로 하여금, 상기 미디어 콘텐츠의 시작 시간을 결정하는 동작이,
    상기 시간 오프셋에 기초하여 상기 수신기 디바이스의 로컬 시간을 수정하는 동작; 및
    수정된 로컬 시간에 기초하여 상기 미디어 콘텐츠의 시작 시간을 결정하는 동작을 포함하도록, 동작들을 수행하게 하도록 구성되는,
    비일시적인 프로세서 판독 가능 저장 매체.
  47. 제 33 항에 있어서,
    상기 프로세서-실행 가능 명령들은 상기 수신기 디바이스의 프로세서로 하여금, 상기 미디어 콘텐츠가 상기 전송 디바이스로부터의 연관된 송신 시간으로 라벨링된 헤더 부분을 포함하도록, 동작들을 수행하게 하도록 구성되는,
    비일시적인 프로세서 판독 가능 저장 매체.
  48. 제 33 항에 있어서,
    상기 프로세서-실행 가능 명령들은 상기 수신기 디바이스의 프로세서로 하여금,
    결정된 시간 오프셋에 기초하여 타이머를 생성하는 동작을 더 포함하는 동작들을 수행하게 하도록 구성되고,
    상기 시간 오프셋을 사용하여 상기 미디어 콘텐츠를 상기 프로토콜 스택의 최상부로부터 스트리밍 미디어 클라이언트로 전달하는 동작은 상기 타이머가 만료한 것에 대한 응답으로, 상기 미디어 콘텐츠를 상기 프로토콜 스택의 최상부로부터 상기 스트리밍 미디어 클라이언트로 전달하는 동작을 포함하는,
    비일시적인 프로세서 판독 가능 저장 매체.
  49. 수신기 디바이스로서,
    전송 디바이스로부터의 송신 시간과 연관된 미디어 콘텐츠를 수신하기 위한 수단;
    프로토콜 스택의 최상부에서의 상기 미디어 콘텐츠의 도착에 후속하여 상기 수신기 디바이스에 의해 상기 미디어 콘텐츠에 부과될 상기 미디어 콘텐츠의 서비스 구성 지연을 결정하기 위한 수단;
    상기 서비스 구성 지연에 기초하여 상기 미디어 콘텐츠의 시간 오프셋을 결정하기 위한 수단;
    상기 시간 오프셋을 사용하여 상기 서비스 구성 지연을 조정하기 위한 수단; 및
    조정된 서비스 구성 지연을 사용하여 상기 미디어 콘텐츠를 상기 프로토콜 스택의 최상부로부터 스트리밍 미디어 클라이언트로 전달하기 위한 수단을 포함하는,
    수신기 디바이스.
  50. 제 49 항에 있어서,
    상기 수신기 디바이스는 결정된 시간 오프셋에 기초하여 상기 미디어 콘텐츠의 시작 시간을 결정하기 위한 수단을 더 포함하고,
    상기 조정된 서비스 구성 지연을 사용하여 상기 미디어 콘텐츠를 상기 프로토콜 스택의 최상부로부터 스트리밍 미디어 클라이언트로 전달하기 위한 수단은 상기 시작 시간에 기초하여 상기 미디어 콘텐츠를 상기 프로토콜 스택의 최상부로부터 상기 스트리밍 미디어 클라이언트로 전달하기 위한 수단을 포함하는,
    수신기 디바이스.
  51. 제 49 항에 있어서,
    상기 미디어 콘텐츠의 프로토콜 스택 지연을 결정하기 위한 수단을 더 포함하는,
    수신기 디바이스.
  52. 제 51 항에 있어서,
    상기 미디어 콘텐츠의 프로토콜 스택 지연을 결정하기 위한 수단은,
    상기 수신기 디바이스의 로컬 시간을 결정하기 위한 수단; 및
    상기 송신 시간과 상기 수신기 디바이스의 로컬 시간을 비교하기 위한 수단을 포함하는,
    수신기 디바이스.
  53. 제 51 항에 있어서,
    상기 미디어 콘텐츠의 시간 오프셋을 결정하기 위한 수단은 상기 프로토콜 스택 지연에 기초하여 상기 시간 오프셋을 결정하기 위한 수단을 포함하는,
    수신기 디바이스.
  54. 제 49 항에 있어서,
    상기 미디어 콘텐츠의 서비스 구성 지연을 결정하기 위한 수단은 상기 미디어 콘텐츠의 송신 계층 프리젠테이션 시간에 기초하여 상기 서비스 구성 지연을 결정하기 위한 수단을 포함하는,
    수신기 디바이스.
  55. 제 49 항에 있어서,
    상기 수신기 디바이스는,
    상기 미디어 콘텐츠의 바이트 범위에 대한 요청을 수신하기 위한 수단을 더 포함하고,
    상기 미디어 콘텐츠의 서비스 구성 지연을 결정하기 위한 수단은 상기 미디어 콘텐츠의 요청된 바이트 범위에 대한 서비스 구성 지연에 기초하여 상기 서비스 구성 지연을 결정하기 위한 수단을 포함하는,
    수신기 디바이스.
  56. 제 49 항에 있어서,
    요청된 미디어 콘텐츠가 송신 버퍼에 완전히 존재하기 전에 도착한 미디어 콘텐츠에 대한, 클라이언트 애플리케이션으로부터 프로토콜 스택의 송신 계층으로의 요청에 대한 응답으로, 상기 프로토콜 스택의 송신 계층은 요청된 미디어 콘텐츠의 바이트 범위 전달을 위한 요청으로서 상기 요청을 해석하는,
    수신기 디바이스.
  57. 제 50 항에 있어서,
    상기 결정된 시간 오프셋에 기초하여 상기 미디어 콘텐츠의 시작 시간을 결정하기 위한 수단은 상기 미디어 콘텐츠의 결정된 프로토콜 스택 지연 및 송신 계층 프리젠테이션 시간의 총합을 결정하기 위한 수단을 포함하는,
    수신기 디바이스.
  58. 제 51 항에 있어서,
    상기 미디어 콘텐츠의 프로토콜 스택 지연은 상기 수신기 디바이스의 프로토콜 스택에 의한 상기 미디어 콘텐츠의 프로세싱으로 인한 지연 시간을 포함하는,
    수신기 디바이스.
  59. 제 51 항에 있어서,
    상기 미디어 콘텐츠의 프로토콜 스택 지연을 결정하기 위한 수단은, 상기 미디어 콘텐츠의 미디어 콘텐츠 부분이 상기 수신기 디바이스의 프로토콜 스택의 송신 계층에 의해 프로세싱된 후에, 상기 프로토콜 스택 지연을 결정하기 위한 수단을 포함하는,
    수신기 디바이스.
  60. 제 51 항에 있어서,
    상기 미디어 콘텐츠의 프로토콜 스택 지연을 결정하기 위한 수단은 상기 수신기 디바이스의 메모리로부터 미리 결정된 프로토콜 스택 지연 값을 리트리브하기 위한 수단을 포함하는,
    수신기 디바이스.
  61. 제 50 항에 있어서,
    상기 미디어 콘텐츠의 시작 시간을 결정하기 위한 수단은,
    상기 시간 오프셋에 기초하여 상기 미디어 콘텐츠의 미디어 프리젠테이션 디스크립션을 수정하기 위한 수단; 및
    수정된 미디어 프리젠테이션 디스크립션 에 기초하여 상기 미디어 콘텐츠의 시작 시간을 결정하기 위한 수단을 포함하는,
    수신기 디바이스.
  62. 제 50 항에 있어서,
    상기 미디어 콘텐츠의 시작 시간을 결정하기 위한 수단은,
    상기 시간 오프셋에 기초하여 상기 수신기 디바이스의 로컬 시간을 수정하기 위한 수단; 및
    수정된 로컬 시간에 기초하여 상기 미디어 콘텐츠의 시작 시간을 결정하기 위한 수단을 포함하는,
    수신기 디바이스.
  63. 제 49 항에 있어서,
    상기 미디어 콘텐츠는 상기 전송 디바이스로부터의 연관된 송신 시간으로 라벨링된 헤더 부분을 포함하는,
    수신기 디바이스.
  64. 제 49 항에 있어서,
    상기 수신기 디바이스는,
    결정된 시간 오프셋에 기초하여 타이머를 생성하기 위한 수단을 더 포함하고,
    상기 시간 오프셋을 사용하여 상기 미디어 콘텐츠를 상기 프로토콜 스택의 최상부로부터 스트리밍 미디어 클라이언트로 전달하기 위한 수단은, 상기 타이머가 만료한 것에 대한 응답으로, 상기 미디어 콘텐츠를 상기 프로토콜 스택의 최상부로부터 상기 스트리밍 미디어 클라이언트로 전달하기 위한 수단을 포함하는,
    수신기 디바이스.
KR1020177023544A 2015-02-26 2016-02-23 브로드캐스트 적응형 비트레이트 스트리밍에 대한 지연 보상 KR102403081B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201562121303P 2015-02-26 2015-02-26
US62/121,303 2015-02-26
US201562126089P 2015-02-27 2015-02-27
US62/126,089 2015-02-27
US15/049,974 2016-02-22
US15/049,974 US10298647B2 (en) 2015-02-26 2016-02-22 Delay compensation for broadcast adaptive bitrate streaming
PCT/US2016/019045 WO2016137935A1 (en) 2015-02-26 2016-02-23 Delay compensation for broadcast adaptive bitrate streaming

Publications (2)

Publication Number Publication Date
KR20170122749A KR20170122749A (ko) 2017-11-06
KR102403081B1 true KR102403081B1 (ko) 2022-05-26

Family

ID=55543057

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177023544A KR102403081B1 (ko) 2015-02-26 2016-02-23 브로드캐스트 적응형 비트레이트 스트리밍에 대한 지연 보상

Country Status (9)

Country Link
US (1) US10298647B2 (ko)
EP (1) EP3262845B1 (ko)
JP (1) JP6731937B2 (ko)
KR (1) KR102403081B1 (ko)
CN (1) CN107258085B (ko)
BR (1) BR112017018324A2 (ko)
CA (1) CA2974228C (ko)
TW (1) TWI712282B (ko)
WO (1) WO2016137935A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10075282B2 (en) * 2016-02-22 2018-09-11 Stmicroelectronics, Inc. Managing burst transmit times for a buffered data stream over bonded upstream channels
US11108840B2 (en) 2017-07-03 2021-08-31 At&T Intellectual Property I, L.P. Transport layer network service for live content broadcasting
US10271077B2 (en) 2017-07-03 2019-04-23 At&T Intellectual Property I, L.P. Synchronizing and dynamic chaining of a transport layer network service for live content broadcasting
US11889445B2 (en) * 2018-06-20 2024-01-30 Sony Corporation Infrastructure equipment, communications device and methods
CN111131272B (zh) * 2019-12-27 2022-01-11 广州酷狗计算机科技有限公司 流服务器的调度方法、装置及系统、计算设备、存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110134766A1 (en) * 2009-12-07 2011-06-09 Zampetti George P Method and apparatus for finding latency floor in packet networks
US20120300769A1 (en) 2009-12-14 2012-11-29 Miroslaw Andrzej Narbutt Real-Time VoIP Transmission Quality Predictor and Quality-Driven De-Jitter Buffer
US20140189052A1 (en) 2012-12-28 2014-07-03 Qualcomm Incorporated Device timing adjustments and methods for supporting dash over broadcast

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20031911A0 (fi) * 2003-12-29 2003-12-29 Nokia Corp Menetelmä ja järjestelmä access-verkkopalvelun kontrolloimiseksi reaaliaikaisessa datapalvelussa
US7590151B2 (en) * 2004-02-09 2009-09-15 Semtech Corporation Method and apparatus for aligning time references when separated by an unreliable data packet network
WO2006031925A2 (en) * 2004-09-15 2006-03-23 Nokia Corporation Providing zapping streams to broadcast receivers
CN101432991B (zh) * 2006-04-29 2013-01-30 汤姆森特许公司 基于互连网协议的无线网络中利用错位播放的多播会话的无缝切换
JP5184527B2 (ja) * 2006-07-25 2013-04-17 トムソン ライセンシング スタガーキャスティング及びクロスパケット前方誤り訂正を用いたインターネットプロトコル型無線ネットワークでのバーストパケット損失からの回復
CN101578842B (zh) * 2007-01-10 2014-03-05 高通股份有限公司 用于多媒体电话的依赖于内容和链路的编码自适应
US8331315B2 (en) * 2007-02-16 2012-12-11 Interdigital Technology Corporation Media independent handover for smart phone architecture
US8090241B2 (en) * 2007-05-15 2012-01-03 Broadcom Corporation System and method for simultaneous network recording and playback of digital television programs
DE102008014237A1 (de) * 2008-03-14 2009-09-17 J. Rettenmaier & Söhne Gmbh + Co. Kg Direktverpressbares Tablettierhilfsmittel
EP2266365A4 (en) * 2008-04-04 2011-12-28 Powerwave Cognition Inc METHOD AND SYSTEMS FOR MOBILE ROUTING-WIDE BROADBAND INTERNET
US8023425B2 (en) * 2009-01-28 2011-09-20 Headwater Partners I Verifiable service billing for intermediate networking devices
EP2292060B1 (en) * 2008-06-27 2017-08-09 Telefonaktiebolaget LM Ericsson (publ) Method for achieving an optimal shaping rate for a new packet flow
TWI449707B (zh) * 2008-07-15 2014-08-21 Univ Nat Chunghsing 新穎磷系雙酚及其衍生物之製造方法
US20100165856A1 (en) * 2008-12-31 2010-07-01 Stmicroelectronics S.R.L. Cross-layer optimization in multimedia communications
US9917874B2 (en) * 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US20120011265A1 (en) * 2010-07-09 2012-01-12 Nokia Corporation Method and apparatus for calculating a probable throughput for a location based at least in part on a received throughput
US9032427B2 (en) * 2010-10-28 2015-05-12 Avvasi Inc. System for monitoring a video network and methods for use therewith
US20120155360A1 (en) * 2010-12-20 2012-06-21 Lockheed Martin Corporation Negative-acknowledgment oriented reliable multicast offload engine architecture
EP2661866A4 (en) * 2011-01-07 2014-10-15 Nokia Corp METHOD AND DEVICE FOR PRESENTING SIGNALING
US8849950B2 (en) * 2011-04-07 2014-09-30 Qualcomm Incorporated Network streaming of video data using byte range requests
US9055464B2 (en) * 2011-07-07 2015-06-09 Optis Cellular Technology, Llc RLC Data transmission control based on UE memory capacity
US9351028B2 (en) * 2011-07-14 2016-05-24 Qualcomm Incorporated Wireless 3D streaming server
JP2013134119A (ja) 2011-12-26 2013-07-08 Sony Corp 送信装置、送信方法、受信装置、受信方法、同期伝送システム、同期伝送方法、およびプログラム
US9264481B2 (en) 2012-03-30 2016-02-16 Qualcomm Incorporated Responding to hypertext transfer protocol (HTTP) requests
US9241166B2 (en) * 2012-06-11 2016-01-19 Qualcomm Incorporated Technique for adapting device tasks based on the available device resources
JP6072276B2 (ja) 2012-11-13 2017-02-01 テレフオンアクチーボラゲット エルエム エリクソン(パブル) マルチメディアデータの処理
US9419737B2 (en) * 2013-03-15 2016-08-16 Concio Holdings LLC High speed embedded protocol for distributed control systems
IN2013MU02464A (ko) * 2013-07-24 2015-07-03 Tata Consultancy Services Ltd
WO2015026132A1 (en) * 2013-08-19 2015-02-26 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
US9210488B2 (en) * 2013-10-10 2015-12-08 Futurewei Technologies, Inc. Timestamp adjustment in multi-point control protocol (MPCP) messages for ethernet passive optical network (PON) protocol over coaxial network
WO2015065104A1 (en) * 2013-11-01 2015-05-07 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
US10708328B2 (en) * 2014-03-17 2020-07-07 Intel Corporation Hardware assisted media playback and capture synchronization
WO2015178690A1 (ko) * 2014-05-21 2015-11-26 엘지전자 주식회사 방송 신호 송/수신 처리 방법 및 장치
KR102202597B1 (ko) * 2014-06-20 2021-01-13 삼성전자주식회사 이종망 기반 방송 서비스를 제공하는 방법 및 장치
WO2016018042A1 (en) * 2014-07-31 2016-02-04 Lg Electronics Inc. Apparatus and method for transmitting/receiving processes of a broadcast signal
US9973345B2 (en) * 2014-09-10 2018-05-15 Qualcomm Incorporated Calculating and signaling segment availability times for segments of media data
US20160094802A1 (en) * 2014-09-25 2016-03-31 Nagravision S.A. Receiver-side marking of content for unique identification
US9935991B2 (en) * 2015-10-13 2018-04-03 Cisco Technology, Inc. Pipelining get requests in adaptive streaming

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110134766A1 (en) * 2009-12-07 2011-06-09 Zampetti George P Method and apparatus for finding latency floor in packet networks
US20120300769A1 (en) 2009-12-14 2012-11-29 Miroslaw Andrzej Narbutt Real-Time VoIP Transmission Quality Predictor and Quality-Driven De-Jitter Buffer
US20140189052A1 (en) 2012-12-28 2014-07-03 Qualcomm Incorporated Device timing adjustments and methods for supporting dash over broadcast

Also Published As

Publication number Publication date
WO2016137935A1 (en) 2016-09-01
EP3262845A1 (en) 2018-01-03
CN107258085A (zh) 2017-10-17
JP2018513577A (ja) 2018-05-24
CN107258085B (zh) 2020-06-05
US20160255129A1 (en) 2016-09-01
TWI712282B (zh) 2020-12-01
JP6731937B2 (ja) 2020-07-29
KR20170122749A (ko) 2017-11-06
US10298647B2 (en) 2019-05-21
BR112017018324A2 (pt) 2018-04-17
CA2974228A1 (en) 2016-09-01
EP3262845B1 (en) 2020-12-09
CA2974228C (en) 2021-03-02
TW201635740A (zh) 2016-10-01

Similar Documents

Publication Publication Date Title
JP6487076B2 (ja) インターネットプロトコル(ip)マルチメディア・サブシステム(ims)ベースのピアツーピア(p2p)コンテンツ配信
KR102403081B1 (ko) 브로드캐스트 적응형 비트레이트 스트리밍에 대한 지연 보상
US10200668B2 (en) Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content
CN110417752B (zh) 用于dash的客户端/服务器信令命令
EP3282726B1 (en) Multicast broadcast multimedia service-assisted content distribution
US8717890B2 (en) Application, usage and radio link aware transport network scheduler
KR102486847B1 (ko) 링크 인식 스트리밍 적응
CN107251561A (zh) 设备对通过广播的dash的可用性开始时间调整
US10701408B2 (en) Devices and methods for transmitting/receiving data in communication system
CN107113459B (zh) 记录有用于提供网络自适应内容的程序的计算机可读记录介质和用于提供网络自适应内容的装置
JP6009501B2 (ja) データセグメントのオプションのブロードキャスト配信によるストリーミング

Legal Events

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