KR102203162B1 - Dash 클라이언트 qoe 메트릭들의 미들웨어 전달 - Google Patents
Dash 클라이언트 qoe 메트릭들의 미들웨어 전달 Download PDFInfo
- Publication number
- KR102203162B1 KR102203162B1 KR1020177036301A KR20177036301A KR102203162B1 KR 102203162 B1 KR102203162 B1 KR 102203162B1 KR 1020177036301 A KR1020177036301 A KR 1020177036301A KR 20177036301 A KR20177036301 A KR 20177036301A KR 102203162 B1 KR102203162 B1 KR 102203162B1
- Authority
- KR
- South Korea
- Prior art keywords
- reports
- qoe
- data
- target application
- dash
- Prior art date
Links
- 238000005259 measurement Methods 0.000 claims abstract description 56
- 238000000034 method Methods 0.000 claims description 115
- 238000003860 storage Methods 0.000 claims description 29
- 238000005070 sampling Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims description 8
- 230000001360 synchronised effect Effects 0.000 claims description 7
- 230000011664 signaling Effects 0.000 claims 1
- 239000012634 fragment Substances 0.000 description 38
- 238000010586 diagram Methods 0.000 description 32
- 230000000875 corresponding effect Effects 0.000 description 27
- 238000005538 encapsulation Methods 0.000 description 27
- 230000006978 adaptation Effects 0.000 description 23
- 238000012545 processing Methods 0.000 description 16
- 230000002123 temporal effect Effects 0.000 description 14
- 230000014509 gene expression Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 12
- 238000002360 preparation method Methods 0.000 description 12
- 238000013442 quality metrics Methods 0.000 description 12
- 230000006399 behavior Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 101100182935 Penicillium citrinum MSDC gene Proteins 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 101100412093 Schizosaccharomyces pombe (strain 972 / ATCC 24843) rec16 gene Proteins 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- FMYKJLXRRQTBOR-UBFHEZILSA-N (2s)-2-acetamido-4-methyl-n-[4-methyl-1-oxo-1-[[(2s)-1-oxohexan-2-yl]amino]pentan-2-yl]pentanamide Chemical group CCCC[C@@H](C=O)NC(=O)C(CC(C)C)NC(=O)[C@H](CC(C)C)NC(C)=O FMYKJLXRRQTBOR-UBFHEZILSA-N 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000002716 delivery method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5061—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the interaction between service providers and their network customers, e.g. customer relationship management
- H04L41/5067—Customer-centric QoS measurements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/022—Capturing of monitoring data by sampling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H04L65/4076—
-
- H04L65/4084—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H04L67/42—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Environmental & Geological Engineering (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
품질 측정 보고들을 생성하기 위한 예시적인 디바이스는 디지털 회로를 사용하여 구현되는 하나 또는 그 초과의 하드웨어-기반 프로세서들을 포함하고, 프로세서들은 미들웨어 유닛 및 미디어 데이터에 대한 타겟 애플리케이션을 실행하도록 구성된다. 미들웨어 유닛은 브로드캐스트 또는 멀티캐스트를 통해서 미디어 데이터를 서버 디바이스로부터 수신하고, 수신된 보고 지시들에 따라, 미디어 데이터의 수신을 커버하는 수신 보고들을 생성하고, 클라이언트 디바이스의 타겟 애플리케이션에 미디어 데이터의 적어도 일부를 전달하고, 타겟 애플리케이션으로부터 QoE(quality of experience) 보고들을 수신하며, 그리고 QoE 보고들의 콘텐츠를 수신 보고 서버에 제공하도록 구성된다.
Description
[0001] 본 출원은, 2015년 6월 19일자로 출원된 미국 가출원 번호 제62/182,267호를 우선권으로 주장하며, 그 미국 가출원의 전체 내용은 이로써 인용에 의해 포함된다.
[0002] 본 개시내용은 미디어 데이터의 전송에 관한 것이다.
[0003] 디지털 비디오 성능들은, 디지털 텔레비전들, 디지털 직접 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, PDA(personal digital assistant)들, 랩톱 또는 데스크톱 컴퓨터들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 라디오 전화들, 비디오 원격회의 디바이스들 등을 비롯한 광범위한 디바이스들에 통합될 수 있다. 게다가, 서버 디바이스들(이를테면, 네트워크 서버들, CDN(content delivery network)들의 디바이스들 등)은, 예컨대 스트리밍 또는 온-디맨드 네트워크 프로토콜들을 통해, 미디어 데이터를 클라이언트 디바이스들(이를테면, 개인 컴퓨터들, 셋톱 박스들, 모바일 디바이스들, 이를테면, 랩톱들, 셀룰러 전화들 등)에 송신할 수 있다. 디지털 비디오 디바이스들은, 디지털 비디오 정보를 더 효율적으로 송신 및 수신하기 위해, 비디오 압축 기법들, 이를테면, MPEG-2, MPEG-4, ITU-T H.263 또는 ITU-T H.264/MPEG-4, Part 10, AVC(Advanced Video Coding), ITU-T H.265(HEVC(High Efficiency Video Coding)로 또한 알려짐) 및 이러한 표준들의 확장들에 의해 정의된 표준들에서 설명된 것들을 구현한다.
[0004] 비디오 데이터가 인코딩된 후, 비디오 데이터는 송신 또는 저장을 위해 패킷화될 수 있다. 비디오 데이터는, 다양한 표준들, 이를테면, ISO(International Organization for Standardization) 베이스 미디어 파일 포맷, 및 이들의 확장들, 이를테면, AVC 중 임의의 표준을 준수하는 비디오 파일로 어셈블링될 수 있다.
[0005] 데이터, 이를테면, 비디오, 오디오, 및 타이밍된 텍스트 데이터를 포함하는 미디어 데이터는 다양한 전송 방법들로 전달될 수 있다. 하나의 그러한 방법은 3GPP(Third Generation Partnership Project) 네트워크들에서의 MBMS(multimedia broadcast/multicast service)들이다. 예컨대, MBMS는 단일 전달 파이프를 사용하여 많은 수의 가입자들에게 관심 있는 서비스들의 전달을 가능하게 할 수 있다.
[0006] 비디오 클라이언트들에 의한 QoE(Quality of Experience) 보고는, 시스템의 전달 성능을 모니터링하고 최종 사용자들의 뷰잉 품질을 측정하는데 중요하다. 예컨대, MBMS는 그것의 수신 보고 프레임워크를 통해 전송 품질 및 사용자 QoE를 측정하는 방법들을 제공한다. 비디오 전달 방법들은 또한, 최종 디바이스 상에서 2개의 상이한 보고 포인트들을 생성하는 그들 고유의 품질 측정 보고들을 포함할 수 있다. 2개의 타입들의 보고들(MBMS 및 비디오 클라이언트 타입들)을 어그리게이팅하는 것은, 콘텐츠 전달 성능의 다수의 양상들을 커버하는 통합된 보고들이 서비스 제공자들에게 용이하게 이용가능하다는 것을 보장하는데 가치가 있다.
[0007] 일반적으로, 본 개시내용은 DASH(Dynamic Adaptive Streaming over HTTP) 클라이언트 QoE(quality of experience) 메트릭들을 미들웨어 유닛에 의해 보고 서버에 전달하는 것과 관련된 기법들을 설명한다. 즉, 클라이언트 디바이스는, 미디어 데이터의 리트리브를 위해 DASH를 구현하는 DASH 클라이언트(예컨대, 클라이언트 디바이스 내의 유닛, 이를테면, 전용된 하드웨어 유닛 또는 소프트웨어 모듈, 이를테면, 웹 브라우저 확장), 및 브로드캐스트 또는 멀티캐스트 서비스, 이를테면, MBMS(Multimedia Broadcast/Multicast Service)들 또는 eMBMS(enhanced MBMS)를 사용하여 미디어 데이터를 수신하는 미들웨어 유닛을 포함할 수 있다. 미들웨어 유닛은 또한, 미들웨어 유닛이, 수신된 미디어 데이터를 캐시하고 그리고 클라이언트 디바이스로부터의 요청들에 대한 응답으로 미디어 데이터를 DASH 클라이언트에 제공한다는 점에서, DASH 클라이언트에 대한 프록시 서버로서의 역할을 한다. 게다가, 미들웨어 유닛은 클라이언트 디바이스로부터 DASH QoE 메트릭들 보고들을 수신하고, DASH 클라이언트를 대신하여 이들 DASH QoE 메트릭들 보고들을 보고 서버에 전달할 수 있다.
[0008] 일 예에서, 품질 측정 보고들을 생성하는 방법은 클라이언트 디바이스의 미들웨어 유닛에 의해 수행되며, 브로드캐스트 또는 멀티캐스트를 통해서 미디어 데이터를 서버 디바이스로부터 수신하는 단계, 수신된 보고 지시들에 따라, 미디어 데이터의 수신을 커버하는 수신 보고들을 생성하는 단계, 클라이언트 디바이스의 타겟 애플리케이션에 미디어 데이터의 적어도 일부를 전달하는 단계, 타겟 애플리케이션으로부터 QoE(quality of experience) 보고들을 수신하는 단계, 및 QoE 보고들의 콘텐츠를 수신 보고 서버에 제공하는 단계를 포함한다. 또한, 이 예에서, 수신 보고들은 QoE 보고들의 콘텐츠를 포함하지만, 다른 예들에서, 이들 보고들은 개별적으로 그리고/또는 별개의 보고 서버들에 전달될 수 있다.
[0009] 다른 예에서, 품질 측정 보고들을 생성하기 위한 디바이스는 디지털 회로를 사용하여 구현되는 하나 또는 그 초과의 하드웨어-기반 프로세서들을 포함하고, 프로세서들은 미들웨어 유닛 및 미디어 데이터에 대한 타겟 애플리케이션을 실행하도록 구성된다. 미들웨어 유닛은, 브로드캐스트 또는 멀티캐스트를 통해서 미디어 데이터를 서버 디바이스로부터 수신하고, 수신된 보고 지시들에 따라, 미디어 데이터의 수신을 커버하는 수신 보고들을 생성하고, 클라이언트 디바이스의 타겟 애플리케이션에 미디어 데이터의 적어도 일부를 전달하고, 타겟 애플리케이션으로부터 QoE(quality of experience) 보고들을 수신하며, 그리고 QoE 보고들의 콘텐츠를 수신 보고 서버에 제공하도록 구성된다.
[0010] 또 다른 예에서, 품질 측정 보고들을 생성하기 위한 디바이스는, 브로드캐스트 또는 멀티캐스트를 통해서 미디어 데이터를 서버 디바이스로부터 수신하기 위한 수단, 수신된 보고 지시들에 따라, 미디어 데이터의 수신을 커버하는 수신 보고들을 생성하기 위한 수단, 디바이스의 타겟 애플리케이션에 미디어 데이터의 적어도 일부를 전달하기 위한 수단, 타겟 애플리케이션으로부터 QoE(quality of experience) 보고들을 수신하기 위한 수단, 및 QoE 보고들의 콘텐츠를 수신 보고 서버에 제공하기 위한 수단을 포함한다.
[0011] 또 다른 예에서, 컴퓨터-판독가능 저장 매체는 저장된 명령들을 갖고, 명령들은 실행될 때 클라이언트 디바이스의 프로세서로 하여금, 브로드캐스트 또는 멀티캐스트를 통해서 미디어 데이터를 서버 디바이스로부터 수신하게 하고, 수신된 보고 지시들에 따라, 미디어 데이터의 수신을 커버하는 수신 보고들을 생성하게 하고, 클라이언트 디바이스의 타겟 애플리케이션에 미디어 데이터의 적어도 일부를 전달하게 하고, 타겟 애플리케이션으로부터 QoE(quality of experience) 보고들을 수신하게 하며, 그리고 QoE 보고들의 콘텐츠를 수신 보고 서버에 제공하게 한다.
[0012] 하나 또는 그 초과의 예들의 세부사항들은 아래의 설명 및 첨부 도면들에서 제시된다. 다른 특징들, 목적들, 및 장점들은 상세한 설명 및 도면들로부터 그리고 청구항들로부터 자명해질 것이다.
[0013] 도 1은 종래의 보고 기법들을 사용하는 시스템을 예시하는 개념적인 다이어그램이다.
[0014] 도 2는 본 개시내용의 기법들에 따른 예시적인 시스템을 예시하는 개념적인 다이어그램이다.
[0015] 도 3은 본 개시내용의 기법들에 따른 다른 예시적인 시스템을 예시하는 개념적인 다이어그램이다.
[0016] 도 4는 네트워크를 통해 미디어 데이터를 스트리밍하기 위한 기법들을 구현하는 예시적인 시스템을 예시하는 블록 다이어그램이다.
[0017] 도 5는 도 4의 리트리벌 유닛의 컴포넌트들의 예시적인 세트를 더 상세히 예시하는 블록 다이어그램이다.
[0018] 도 6은 예시적인 멀티미디어 콘텐츠의 엘리먼트들을 예시하는 개념적인 다이어그램이다.
[0019] 도 7은 예시적인 비디오 파일의 엘리먼트들을 예시하는 블록 다이어그램이다.
[0020] 도 8은 본 개시내용의 기법들에 따른 매니페스트 파일에 포함될 수 있는 예시적인 데이터, 이를테면 DASH의 MPD(media presentation description)를 예시하는 개념적인 다이어그램이다.
[0021] 도 9는 본 개시내용의 기법들에 따른 ADPD(associated delivery procedure description)에 대한 예시적인 수정을 예시하는 개념적인 다이어그램이다.
[0022] 도 10은 본 개시내용의 기법들에 따른 ADPD에 대한 대안적인 개요를 예시하는 개념적인 다이어그램이다.
[0023] 도 11a는 본 개시내용의 기법들의 예를 예시하는 개념적인 다이어그램이다.
[0024] 도 11b는 병렬 유니캐스트/브로드캐스트 수신에 대한 거동의 예를 예시하는 개념적인 다이어그램이다.
[0025] 도 12는 다수의 DASH 클라이언트들에 대한 거동의 예를 예시하는 개념적인 다이어그램이다.
[0026] 도 13은 본 개시내용의 기법들에 따른 예시적인 방법을 예시하는 흐름도이다.
[0027] 도 14는 본 개시내용의 기법들에 따른 다른 예시적인 방법을 예시하는 흐름도이다.
[0028] 도 15는 본 개시내용의 기법들에 따라 구성되는 서버 디바이스 및 클라이언트 디바이스의 예들을 예시하는 블록 다이어그램이다.
[0014] 도 2는 본 개시내용의 기법들에 따른 예시적인 시스템을 예시하는 개념적인 다이어그램이다.
[0015] 도 3은 본 개시내용의 기법들에 따른 다른 예시적인 시스템을 예시하는 개념적인 다이어그램이다.
[0016] 도 4는 네트워크를 통해 미디어 데이터를 스트리밍하기 위한 기법들을 구현하는 예시적인 시스템을 예시하는 블록 다이어그램이다.
[0017] 도 5는 도 4의 리트리벌 유닛의 컴포넌트들의 예시적인 세트를 더 상세히 예시하는 블록 다이어그램이다.
[0018] 도 6은 예시적인 멀티미디어 콘텐츠의 엘리먼트들을 예시하는 개념적인 다이어그램이다.
[0019] 도 7은 예시적인 비디오 파일의 엘리먼트들을 예시하는 블록 다이어그램이다.
[0020] 도 8은 본 개시내용의 기법들에 따른 매니페스트 파일에 포함될 수 있는 예시적인 데이터, 이를테면 DASH의 MPD(media presentation description)를 예시하는 개념적인 다이어그램이다.
[0021] 도 9는 본 개시내용의 기법들에 따른 ADPD(associated delivery procedure description)에 대한 예시적인 수정을 예시하는 개념적인 다이어그램이다.
[0022] 도 10은 본 개시내용의 기법들에 따른 ADPD에 대한 대안적인 개요를 예시하는 개념적인 다이어그램이다.
[0023] 도 11a는 본 개시내용의 기법들의 예를 예시하는 개념적인 다이어그램이다.
[0024] 도 11b는 병렬 유니캐스트/브로드캐스트 수신에 대한 거동의 예를 예시하는 개념적인 다이어그램이다.
[0025] 도 12는 다수의 DASH 클라이언트들에 대한 거동의 예를 예시하는 개념적인 다이어그램이다.
[0026] 도 13은 본 개시내용의 기법들에 따른 예시적인 방법을 예시하는 흐름도이다.
[0027] 도 14는 본 개시내용의 기법들에 따른 다른 예시적인 방법을 예시하는 흐름도이다.
[0028] 도 15는 본 개시내용의 기법들에 따라 구성되는 서버 디바이스 및 클라이언트 디바이스의 예들을 예시하는 블록 다이어그램이다.
[0029] 일반적으로, 본 개시내용은 QoE(quality of experience) 메트릭들을 하나 또는 그 초과의 서버들에 보고하기 위한 기법들을 설명한다. 특히, 이러한 기법들은, 스트리밍 애플리케이션이 LTE 네트워크를 통해 브로드캐스트된 콘텐츠에 액세스하는 것을 가능하게 하는 미들웨어 유닛을 클라이언트 디바이스(UE(user equipment)로 또한 지칭됨)가 포함하는 경우에 적용될 수 있다. 미들웨어 유닛은 또한, 클라이언트 디바이스에 의해 실행되는 스트리밍 애플리케이션(스트리밍 애플리케이션은 HTTP(DASH) 클라이언트를 통한 동적 적응형 스트리밍일 수 있음)에 서빙되는 브로드캐스트 콘텐츠에 대한 http 서버로서 동작한다. 통상적으로는 DASH 클라이언트가 QoE 메트릭들을 서버에 보고하는 반면에, 본 개시내용의 기법들은, DASH QoE 메트릭들을 서버에 보고하는 대신에 또는 그에 부가하여, 미들웨어 유닛이 QoE 메트릭들을 자신에게 보고하라고 DASH 클라이언트에 지시하는 것을 허용한다. 따라서, 미들웨어 유닛은 MBMS 수신 보고 내부의 또는 그에 첨부된 DASH QoE 측정 보고를 포함할 것이다. 본 개시내용의 기법들은 일반적으로, 스트리밍 애플리케이션으로부터 QoE 메트릭들을 수신하여 그 QoE 메트릭들을 수신 보고 서버에 주로 제공하고 그리고 선택적으로는 DASH QoE 서버에 제공하는 미들웨어 유닛에 관한 것이다.
[0030] 도 1은 종래의 보고 기법들을 사용하는 시스템(100)을 예시하는 개념적인 다이어그램이다. 이러한 예에서, 시스템(100)은, 미들웨어 유닛의 예인 MSDC(multicast service device client)(112) 및 DASH 클라이언트(108)를 포함하는 UE(user equipment)(106)를 포함한다. UE(106)는, 클라이언트 디바이스의 예, 이를테면 개인 컴퓨터, 셀룰러 전화, 랩톱, 태블릿, 셋톱 박스 등을 나타낸다. MSDC(112)는 또한, MBMS(Multimedia Broadcast Multicast Service) 미들웨어 유닛 또는 eMBMS(enhanced Multimedia Broadcast Multicast Service) 미들웨어 유닛으로 지칭될 수 있다.
[0031] 이러한 예에서, 프로비저닝 서버 및 BMSC(broadcast multicast service center)(104)는 서비스 공고들(118)을 UE(106)의 MSDC(112)에 전달한다. 서비스 공고들(118)은, 예컨대, 매니페스트 파일(이를테면, MPD(media presentation description)(122)), SDP(session description protocol), 및/또는 ADPD(associated delivery procedure description)를 포함한다. MSDC(112)의 수신 보고 유닛(114)은 서비스 공고(118)의 SDP 프래그먼트에서 특정된 메트릭들에 따른 수신 통계들 및 서비스 공고(118)의 ADPD 프래그먼트에서의 수신 보고 지시들을 수집한다.
[0032] DASH MPD(122)는 또한 DASH 클라이언트(108)가 수집할 메트릭들을 특정할 수 있다. 따라서, DASH 클라이언트(108)는, 특정된 메트릭들(측정들로서 또한 설명됨)(116)을 수집하고 그리고 QoE 메트릭들(116)을 DASH 품질 메트릭 수집 서버(102)에 업로드하는 DASH QoE 유닛(110)을 포함한다. 따라서, 이러한 예에서, 2개의 상이한 수집 포인트들인, QoE 메트릭들에 대한 제1 수집 포인트(DASH 품질 메트릭 수집 서버(102)) 및 MBMS 수신 보고 메트릭들(120)에 대한 제2 수집 포인트(프로비저닝 서버 및 BMSC(104))가 존재한다.
[0033] 도 2는 본 개시내용의 기법들에 따른 예시적인 시스템(100')을 예시하는 개념적인 다이어그램이다. 본 개시내용의 기법들에 따라, 도 2의 예에서, UE(106')의 DASH 클라이언트(108')는 DASH QoE 메트릭들(116')을 UE(106')의 MSDC(112')에 업로드한다. 특히, 프로비저닝 서버 및 BMSC(104)는 이러한 예에서 MPD 및 세그먼트들(122')을 포함하는 서비스 공고(118')를 전송한다. MSDC(112')는 MPD 및 세그먼트들(122')을 DASH 클라이언트(108)에 전송한다. MPD는 DASH 보고 지시들을 포함한다. 본 개시내용의 기법들에 따라, DASH QoE(110')는 MPD에 따라 DASH QoE 메트릭들(116')을 MSDC(112')에 전송한다. 따라서, MSDC(112')는 DASH QoE 측정 보고(116')를 수집할 수 있으며, 수신 보고 유닛(114')은 대응하는 수신 보고(120')(3GPP MBMS 표준에 따라 수집 및 보고될 수 있음)에 DASH QoE 측정 보고를 포함시킬 수 있다.
[0034] 예컨대, MSDC(112')는 MSDC(112')에 의해 호스팅되는 HTTP 서버로의 DASH QoE 측정들의 포스팅을 허용하기 위하여, 업로드될 메트릭들에 대한 MPD 섹션을 수정할 수 있다. MPD를 수정하는 것은 MSDC(112')에 의해 호스팅되는 로컬 HTTP 서버에 MPD의 세그먼트 URL들을 포인팅하기 위하여 미들웨어(예컨대, MSDC(112'))에 의해 사전에 수행될 수 있다. MSDC(112')는 또한 예컨대 DASH 클라이언트(108')로부터의 DASH QoE 수집과 관련된 HTTP POST 커맨드들을 수용하도록 구성될 수 있다. 더욱이, MSDC(112')는 대응하는 수신 보고들(120')에 DASH QoE 로그 파일(들)을 임베딩할 수 있다. 이러한 예에서, UE(106')는 DASH 품질 메트릭 수집 서버(102')에 DASH QoE 보고들을 보고할 필요가 없다. 대신에, UE(106')는 단순히 MBMS 수신 보고들과 함께 DASH QoE 메트릭(116') 보고들을 프로비저닝 서버 및 BMSC(104')에 제출할 수 있다. 후속하여, BMSC(104')는 DASH 품질 메트릭 수집 서버(102')에 DASH QoE 보고들을 제출할 수 있다.
[0035] 도 3는 본 개시내용의 기법들에 따른 다른 예시적인 시스템(100")을 예시하는 개념적인 다이어그램이다. 일반적으로, 이러한 예는 도 3의 예에서 UE(106")가 프로비저닝 서버 및 BMSC(104")외에도 DASH 품질 메트릭 수집 서버(102")에 MBMS 수신 보고들(120")과 함께 QoE 측정들(116")을 보고한다는 점을 제외하고 도 2의 예와 유사하다. 즉, 이러한 예에서, 프로비저닝 서버 및 BMSC(104)는 서비스 공고(118")를 UE(106)에 전송하며, UE(106)의 MSDC(112")는 MPD 및 세그먼트들(122")를 추출하여 DASH 클라이언트(108)에 포워딩한다. DASH QoE 유닛(110")은 DASH QoE 메트릭들(116")을 MSDC(112")에 보고한다. 게다가, 이하에서 더 상세히 설명되는 바와 같이, DASH QoE(110") 및/또는 MSDC(112") 중 하나 또는 둘다가 복제, 프록시 또는 부가 DASH QoE 보고를 DASH 품질 메트릭 수집 서버(102)에 전송한다.
[0036] QoE 메트릭들은 그 메트릭들이 보고되는 서버에 기반하여 변할 수 있다. 더욱이, 보고된 메트릭들은 본 예에서 DASH 표준이 사용되는지(예컨대, 3GP-DASH 대 MPEG-DASH)에 의존할 수 있다. 3GP-DASH에서, 예컨대, DASH 클라이언트(108)는 HTTP 요청/응답 트랜잭션들의 리스트, 표현 스위치 이벤트들의 리스트, 버퍼 레벨 및/또는 플레이 리스트 외에도 평균 스루풋, 초기 플레이아웃 지연 및 MPD 정보를 보고할 수 있다. 다른 한편으로, MPEG-DASH에서, 보고된 메트릭들은 HTTP 요청/응답 트랜잭션들의 리스트, 표현 스위치 이벤트들의 리스트, 버퍼 레벨 및/또는 플레이 리스트 외에도 TCP 연결들의 리스트를 포함할 수 있다.
[0037] 3GP-DASH 26.247 버전 d00의 섹션 10.6은 품질 보고 프로토콜이 3GP-DASH의 섹션 10.6.2에서 정의된 XML-기반 보고 포맷 및 3GP-DASH의 섹션 10.6.3에서 정의된 보고 프로토콜을 포함한다는 것을 규정한다. 더욱이, 3GP-DASH는 그 부록 J에서 정의되는 바와 같이, “application/3gpdash-qoe-report+xml"로서 XML-포맷화 QoE 보고의 MIME 타입을 규정한다.
[0038] 보고가 DASH 품질 메트릭 수집 서버(102")에 업로드되어야 한다는 것을 콘텐츠 제공자/오퍼레이터가 요구하는 것이 본 예에서 가정된다. 따라서, 본 예에서, DASH 클라이언트(108")(특히, DASH QoE(110"))는 MSDC(112")에 직접 보고를 포스팅할 수 있으며(로컬호스트 위치에 포스팅할 수 있으며), MSDC(112")는 DASH 품질 메트릭 수집 서버(102")에 보고를 복제할 수 있다("프록싱/복제된 DASH QoE 보고(116)B"로서 지칭되는, 복제 대안으로 도 3의 화살표 B). 대안적으로, DASH QoE(110")가 DASH QoE 메트릭들을 MSDC(112")에 직접 보고하는 것보다 오히려, MSDC(112")는 DASH 품질 메트릭 수집 서버(102")로의 측정 보고를 도중에 인터셉트할 수 있다("프록싱/복제된 DASH QoE 보고(116B)"로서 지칭된, 프록싱 대안으로 도 3의 화살 표 B).
[0038] 부가적으로 또는 대안적으로, DASH 클라이언트(108")는 다수의 보고들을 송출할 수 있는데, 즉 하나의 보고를 MSDC(112")에 송출하고 다른 보고를 DASH 품질 메트릭 수집 서버(102")에 송출할 수 있다("복제된/다른 DASH QoE 보고(116A)"로서 지칭되는, 도 3의 화살표 A). 보고들은 동일하거나 또는 상이한 수집 및 업로드 지시들에 기반하여 상이한 메트릭들에 대한 것이거나 또는 동일한 메트릭들에 대한 것일 수 있다.
[0040] HTTP 스트리밍을 사용하여 3GPP 데이터를 스트리밍하는 예에서는, 멀티미디어 콘텐츠의 비디오 및/또는 오디오 데이터의 다수의 표현들이 존재할 수 있다. 이하에서 설명되는 바와 같이, 상이한 표현들은 상이한 코딩 특성들(예컨대, 비디오 코딩 표준의 상이한 프로파일들 또는 레벨들), 상이한 코딩 표준들 또는 코딩 표준들의 확장들(이를테면, 다시점 및/또는 스케일가능 확장들) 또는 상이한 비트레이트들에 대응할 수 있다. 이러한 표현들의 매니페스트는 MPD(Media Presentation Description) 데이터 구조에 정의될 수 있다. 특정 미디어 표현은 HTTP 스트리밍 클라이언트 디바이스에 액세스할 수 있는 데이터의 구조화된 수집에 대응할 수 있다. HTTP 스트리밍 클라이언트 디바이스는 스트리밍 서비스를 클라이언트 디바이스의 사용자에게 제시하기 위하여 미디어 데이터 정보를 요청하고 다운로드할 수 있다. 미디어 표현은 MPD의 업데이트들을 포함할 수 있는 MPD 데이터 구조로 설명될 수 있다.
[0041] 미디어 표현은 하나 또는 그 초과의 기간들의 시퀀스를 포함할 수 있다. 각각의 기간은 동일한 미디어 콘텐츠에 대한 하나 또는 그 초과의 표현들을 포함할 수 있다. 표현은 오디오 또는 비디오 데이터의 다수의 대안적인 인코딩된 버전들 중 하나일 수 있다. 표현들은 인코딩 타입들, 예컨대 비트레이트, 해상도, 및/또는 비디오 데이터 및 비트레이트에 대한 코덱, 언어 및/또는 오디오 데이터에 대한 코덱에 의해 상이할 수 있다. 표현이라는 용어는, 멀티미디어 콘텐츠의 특정 기간에 대응하며 특정 방식으로 인코딩된 인코딩된 오디오 또는 비디오 데이터의 섹션을 지칭하기 위하여 사용될 수 있다.
[0042] 특정 기간의 표현들은, 표현들이 속하는 적응 세트를 표시하는 MPD 내의 속성에 의해 표시된 그룹에 할당될 수 있다. 동일한 적응 세트의 표현들은 일반적으로, 클라이언트 디바이스가 예컨대 대역폭 적응을 수행하기 위하여 이들 표현들 간을 동적으로 그리고 끊김없이 스위칭할 수 있다는 점에서, 서로에 대한 대안들로 고려된다. 예컨대, 특정 기간 동안 비디오 데이터의 각각의 표현은 동일한 적응 세트에 할당될 수 있어서, 표현들 중 임의의 표현은 대응하는 기간 동안 멀티미디어 콘텐츠의 미디어 데이터, 이를테면 비디오 데이터 또는 오디오 데이터를 제시하기 위한 디코딩을 위해 선택될 수 있다. 하나의 기간 내의 미디어 콘텐츠는, 일부 예들에서, 존재하면 그룹 0으로부터의 하나의 표현에 의해, 또는 각각 비-제로(non-zero) 그룹으로부터의 최대 하나의 표현의 조합에 의해 표현될 수 있다. 임의의 기간의 각각의 표현에 대한 타이밍 데이터는 그 기간의 시작 시간에 관련하여 표현될 수 있다.
[0043] 표현은 하나 또는 그 초과의 세그먼트들을 포함할 수 있다. 각각의 표현은 초기화 세그먼트를 포함할 수 있거나, 표현의 각각의 세그먼트는 자체-초기화될 수 있다. 존재할 때, 초기화 세그먼트는 표현을 액세스하기 위한 초기화 정보를 포함할 수 있다. 일반적으로, 초기화 세그먼트는 미디어 데이터를 포함하지 않는다. 세그먼트는 식별자, 이를테면 URL(uniform resource locator), URN(uniform resource name), 또는 URI(uniform resource identifier)에 의해 고유하게 참조될 수 있다. MPD는 각각의 세그먼트에 대한 식별자들을 제공할 수 있다. 일부 예들에서, MPD는 또한 URL, URN 또는 URI에 의해 액세스가능한 파일 내의 세그먼트에 대한 데이터에 대응할 수 있는, 범위 속성 형태의 바이트 범위들을 제공할 수 있다.
[0044] 상이한 표현들은 상이한 타입들의 미디어 데이터에 대한 실질적으로 동시적인 리트리벌(retrieval)을 위해 선택될 수 있다. 예컨대, 클라이언트 디바이스는 세그먼트들을 리트리브할 오디오 표현, 비디오 표현, 및 타이밍된 텍스트 표현을 선택할 수 있다. 일부 예들에서, 클라이언트 디바이스는 대역폭 적응을 수행하기 위해 특정 적응 세트들을 선택할 수 있다. 즉, 클라이언트 디바이스는 비디오 표현들을 포함하는 적응 세트, 오디오 표현들을 포함하는 적응 세트, 및/또는 타이밍된 텍스트를 포함하는 적응 세트를 선택할 수 있다. 대안적으로, 클라이언트 디바이스는 소정의 타입들의 미디어(예컨대, 비디오)에 대한 적응 세트들을 선택하고, 그리고 다른 타입들의 미디어(예컨대, 오디오 및/또는 타이밍된 텍스트)에 대한 표현들을 직접 선택할 수 있다.
[0045] 도 4는 네트워크를 통해 미디어 데이터를 스트리밍하기 위한 기법들을 구현하는 예시적인 시스템(130)을 예시하는 블록 다이어그램이다. 이 예에서, 시스템(130)은 콘텐츠 준비 디바이스(140), 서버 디바이스(160), 및 클라이언트 디바이스(180)를 포함한다. 클라이언트 디바이스(180) 및 서버 디바이스(160)는 인터넷을 포함할 수 있는 네트워크(174)에 의해 통신가능하게 커플링된다. 일부 예들에서, 콘텐츠 준비 디바이스(140) 및 서버 디바이스(160)는 또한 네트워크(174) 또는 다른 네트워크에 의해 커플링될 수 있거나 통신가능하게 직접 커플링될 수 있다. 일부 예들에서, 콘텐츠 준비 디바이스(140) 및 서버 디바이스(160)는 동일한 디바이스를 포함할 수 있다.
[0046] 콘텐츠 준비 디바이스(140)는, 도 4의 예에서, 오디오 소스(142) 및 비디오 소스(144)를 포함한다. 오디오 소스(142)는 예컨대, 오디오 인코더(146)에 의해 인코딩될 캡처된 오디오 데이터를 나타내는 전기 신호들을 생성하는 마이크로폰을 포함할 수 있다. 대안적으로, 오디오 소스(142)는 사전에 레코딩된 오디오 데이터를 저장하는 저장 매체, 오디오 데이터 생성기 이를테면 컴퓨터화된 합성기, 또는 오디오 데이터의 임의의 다른 소스를 포함할 수 있다. 비디오 소스(144)는 비디오 인코더(148)에 의해 인코딩될 비디오 데이터를 생성하는 비디오 카메라, 사전에 레코딩된 비디오 데이터로 인코딩된 저장 매체, 비디오 데이터 생성 유닛, 이를테면 컴퓨터 그래픽 소스, 또는 비디오 데이터의 임의의 다른 소스를 포함할 수 있다. 콘텐츠 준비 디바이스(140)는 반드시 모든 예들에서 서버 디바이스(160)에 통신가능하게 커플링되는 것이 아니라, 서버 디바이스(160)에 의해 판독되는 별개의 매체에 멀티미디어 콘텐츠를 저장할 수 있다.
[0047] 미가공(raw) 오디오 및 비디오 데이터는 아날로그 또는 디지털 데이터를 포함할 수 있다. 아날로그 데이터는, 오디오 인코더(146) 및/또는 비디오 인코더(148)에 의해 인코딩되기 전에 디지털화될 수 있다. 오디오 소스(142)는 말하고 참가자 말하고 있는 동안 그 말하는 참가자로부터 오디오 데이터를 획득할 수 있고, 비디오 소스(144)는 말하고 있는 참가자의 비디오 데이터를 동시에 획득할 수 있다. 다른 예들에서, 오디오 소스(142)는 저장된 오디오 데이터를 포함하는 컴퓨터-판독가능 저장 매체를 포함할 수 있고, 비디오 소스(144)는 저장된 비디오 데이터를 포함하는 컴퓨터-판독가능 저장 매체를 포함할 수 있다. 이런 방식에서, 본 개시내용에 설명된 기법들은 라이브, 스트리밍, 실시간 오디오 및 비디오 데이터에 또는 보관된, 사전-레코딩된 오디오 및 비디오 데이터에 적용될 수 있다.
[0048] 비디오 프레임들에 대응하는 오디오 프레임들은 일반적으로 비디오 프레임들 내에 포함된, 비디오 소스(144)에 의해 캡처된(또는 생성된) 비디오 데이터와 동시에 오디오 소스(142)에 의해 캡처된(또는 생성된) 오디오 데이터를 포함하는 오디오 프레임이다. 예컨대, 말하고 있는 참가자가 일반적으로 말함으로써 오디오 데이터를 생성하는 동안, 오디오 소스(142)는 오디오 데이터를 캡처하고, 비디오 소스(144)는 동시에, 즉 오디오 소스(142)가 오디오 데이터를 캡처하는 동안 말하고 있는 참가자의 비디오 데이터를 캡처한다. 따라서, 오디오 프레임은 시간적으로 하나 또는 그 초과의 특정 비디오 프레임들에 대응할 수 있다. 그에 따라서, 비디오 프레임에 대응하는 오디오 프레임은 일반적으로, 오디오 데이터 및 비디오 데이터가 동시에 캡처되고 오디오 프레임과 비디오 프레임이 동시에 캡처된 오디오 데이터 및 비디오 데이터를 각각 포함하는 상황에 대응한다.
[0049] 일부 예들에서, 오디오 인코더(146)는, 인코딩된 오디오 프레임에 대한 오디오 데이터가 레코딩된 시간을 나타내는 타임스탬프를 각각의 인코딩된 오디오 프레임에 인코딩할 수 있고, 그리고 유사하게 비디오 인코더(148)는, 인코딩된 비디오 프레임에 대한 비디오 데이터가 레코딩된 시간을 나타내는 타임스탬프를 각각의 인코딩된 비디오 프레임에 인코딩할 수 있다. 그런 예들에서, 비디오 프레임에 대응하는 오디오 프레임은 타임스탬프를 포함하는 오디오 프레임 및 동일한 타임스탬프를 포함하는 비디오 프레임을 포함할 수 있다. 콘텐츠 준비 디바이스(140)는, 오디오 인코더(146) 및/또는 비디오 인코더(148)가 타임스탬프들을 생성할 수 있거나 오디오 소스(142) 및 비디오 소스(144)가 오디오 및 비디오 데이터를 각각 타임스탬프와 연관시키기 위하여 사용할 수 있는 내부 클록을 포함할 수 있다.
[0050] 일부 예들에서, 오디오 소스(142)는 오디오 데이터가 레코딩되었던 시간에 대응하는 데이터를 오디오 인코더(146)에 전송할 수 있고, 비디오 소스(144)는 비디오 데이터가 레코딩되었던 시간에 대응하는 데이터를 비디오 인코더(148)에 전송할 수 있다. 일부 예들에서, 오디오 인코더(146)는 인코딩된 오디오 데이터의 상대적인 시간적 순서를 표시(그러나, 오디오 데이터가 레코딩되었던 절대 시간을 반드시 표시하는 것은 아님)하기 위해 시퀀스 식별자를 인코딩된 오디오 데이터에 인코딩할 수 있으며, 유사하게, 비디오 인코더(148)는 또한, 인코딩된 비디오 데이터의 상대적인 시간적 순서를 표시하기 위해 시퀀스 식별자들을 사용할 수 있다. 유사하게, 일부 예들에서, 시퀀스 식별자는 맵핑되거나 그렇지 않으면 타임스탬프와 상관될 수 있다.
[0051] 오디오 인코더(146)는 일반적으로 인코딩된 오디오 데이터의 스트림을 생성하는 반면, 비디오 인코더(148)는 인코딩된 비디오 데이터의 스트림을 생성한다. (오디오이든 비디오이든 간에) 데이터의 각각의 개별적인 스트림은 기본 스트림으로서 지칭될 수 있다. 기본 스트림은 표현의 단일의 디지털적으로 코딩된(가능하게는 압축된) 컴포넌트이다. 예컨대, 표현의 코딩된 비디오 또는 오디오 부분이 기본 스트림일 수 있다. 기본 스트림은 비디오 파일 내에 캡슐화되기 전에 PES(packetized elementary stream)으로 변환될 수 있다. 동일 표현 내에서, 스트림 ID는 하나의 기본 스트림에 속하는 PES-패킷들을 다른 것과 구별하는데 사용될 수 있다. 기본 스트림의 데이터의 기본 유닛은 PES(packetized elementary stream) 패킷이다. 따라서, 코딩된 비디오 데이터는 일반적으로 기본 비디오 스트림들에 대응한다. 유사하게, 오디오 데이터는 하나 또는 그 초과의 개개의 기본 스트림들에 대응한다.
[0052] 많은 비디오 코딩 표준들, 이를테면 ITU-T H.264/AVC 및 차후 HEVC(High Efficiency Video Coding) 표준은, 구문, 시멘틱스, 및 에러 없는 비트스트림들에 대한 디코딩 프로세스를 정의하며, 이들 중 임의의 것은 소정의 프로파일 또는 레벨을 준수한다. 비디오 코딩 표준들은 통상적으로 인코더를 특정하지 않지만, 인코더는 생성된 비트스트림들이 디코더에 대해 표준을 준수하는 것을 보증하는 임무를 행한다. 비디오 코딩 표준들의 콘텍스트에서, "프로파일"은 알고리즘들, 피처들, 또는 툴들의 서브세트 및 이들에 적용되는 제약들에 대응한다. 예컨대, H.264 표준에 의해 정의되는 바와 같이, "프로파일"은 H.264 표준에 의해 특정되는 전체 비트스트림 구문의 서브세트이다. "레벨"은 디코더 자원 소비, 이를테면, 예컨대 디코더 메모리 및 컴퓨테이션의 제한들에 대응하며, 이 제한들은 화상들, 비트 레이트 및 블록 프로세싱 레이트의 해상도과 관련된다. 프로파일은 profile_idc(프로파일 표시자) 값으로 시그널링될 수 있는 반면, 레벨은 level_idc(레벨 표시자) 값으로 시그널링될 수 있다.
[0053] 예컨대, H.264 표준은, 주어진 프로파일의 구문에 의해 부여되는 경계들 내에서, 비트스트림의 구문 엘리먼트들에 의해 취해지는 값들, 이를테면 디코딩된 화상들의 특정된 사이즈에 의존하여 인코더들 및 디코더들의 성능에서의 큰 변동을 요구하는 것이 여전히 가능하다는 것을 인지한다. H.264 표준은 추가로, 많은 애플리케이션들에서, 특정 프로파일 내에서의 구문의 모든 가설적 사용들을 처리할 수 있는 디코더를 구현하는 것이 실용적이거나 경제적이지 않다는 것을 인식한다. 그에 따라서, H.264 표준은 비트스트림에서의 구문 엘리먼트들의 값들에 부과되는 제약들의 특정된 세트로서 "레벨"을 정의한다. 이 제약들은 값들에 대한 단순한 제한들일 수 있다. 대안적으로, 이 제약들은 값들의 산술 조합들(예컨대, 화상 폭 × 화상 높이 × 초당 디코딩된 화상들의 수)에 대한 제약들의 형태를 취할 수 있다. H.264 표준은 추가로, 개별적인 구현들이 각각의 지원되는 프로파일에 대해 상이한 레벨을 지원할 수 있다는 것을 제공한다.
[0054] 프로파일을 준수하는 디코더는 통상적으로 프로파일에 정의된 피처들 모두를 지원한다. 예컨대, 코딩 피처로서, B-화상 코딩은 H.264/AVC의 베이스라인 프로파일에서 지원되는 것이 아니라 H.264/AVC의 다른 프로파일들에서 지원된다. 레벨을 준수하는 디코더는 레벨에 정의된 제한들을 넘어서는 자원들을 요구하지 않는 임의의 비트스트림을 디코딩할 수 있어야 한다. 프로파일들 및 레벨들의 정의들은 해석능력에 도움이 될 수 있다. 예컨대, 비디오 송신 동안, 한 쌍의 프로파일 및 레벨 정의들이 전체 송신 세션에 대해 협상 및 협의될 수 있다. 보다 상세하게는, H.264/AVC의 예에서, 레벨은 프로세싱될 필요가 있는 매크로블록들의 수, DPB(decoded picture buffer) 사이즈, CPB(coded picture buffer) 사이즈, 수직 모션 벡터 범위, 2개의 연속적인 MB들 당 모션 벡터들의 최대 수, 및 B-블록이 8x8 픽셀들 미만의 서브-매크로블록 파티션들을 가질 수 있는지 여부에 대한 제한들을 정의할 수 있다. 이런 방식으로, 디코더는 디코더가 비트스트림을 적절히 디코딩할 수 있는지 여부를 결정할 수 있다.
[0055] 도 4의 예에서, 콘텐츠 준비 디바이스(140)의 캡슐화 유닛(150)은 코딩된 비디오 데이터를 포함하는 기본 스트림들을 비디오 인코더(148)로부터 수신하고 코딩된 오디오 데이터를 포함하는 기본 스트림들을 오디오 인코더(146)로부터 수신한다. 일부 예들에서, 비디오 인코더(148) 및 오디오 인코더(146)는 각각, 인코딩된 데이터로부터 PES 패킷들을 형성하기 위한 패킷화기들을 포함할 수 있다. 다른 예들에서, 비디오 인코더(148) 및 오디오 인코더(146)는 각각, 인코딩된 데이터로부터 PES 패킷들을 형성하기 위한 개개의 패킷화기들과 인터페이싱할 수 있다. 또 다른 예들에서, 캡슐화 유닛(150)은 인코딩된 오디오 및 비디오 데이터로부터 PES 패킷들을 형성하기 위한 패킷화기들을 포함할 수 있다.
[0056] 비디오 인코더(148)는, 다양한 비트레이트들로, 그리고 다양한 특성들을 갖는, 이를테면 픽셀 해상도들, 프레임 레이트들, 다양한 코딩 표준들에 대한 준수, 다양한 코딩 표준들에 대한 프로파일들의 레벨들 및/또는 다양한 프로파일들에 대한 준수, (예컨대, 2 차원 또는 3 차원 플레이백에 대한) 하나 또는 다수의 뷰들 갖는 표현들, 또는 이러한 다른 특성들을 갖는 멀티미디어 콘텐츠의 상이한 표현들을 생성하기 위해, 다양한 방식들로 멀티미디어 콘텐츠의 비디오 데이터를 인코딩할 수 있다. 본 개시내용에서 사용되는 바와 같은 표현은 오디오 데이터, 비디오 데이터, (예컨대, 폐쇄 자막들에 대한) 텍스트 데이터, 또는 이러한 다른 데이터 중 하나를 포함할 수 있다. 표현은 기본 스트림, 이를테면 오디오 기본 스트림 또는 비디오 기본 스트림을 포함할 수 있다. 각각의 PES 패킷은 PES 패킷이 속하는 기본 스트림을 식별하는 stream_id를 포함할 수 있다. 캡슐화 유닛(150)은 기본 스트림들을 다양한 표현들의 비디오 파일들(예컨대, 세그먼트들)로 어셈블링하는 것을 담당한다.
[0057] 캡슐화 유닛(150)은 오디오 인코더(146) 및 비디오 인코더(148)로부터 표현의 기본 스트림들에 대한 PES 패킷들을 수신하고 PES 패킷들로부터 대응하는 NAL(network abstraction layer) 유닛들을 형성한다. H.264/AVC(Advanced Video Coding)의 예에서, 코딩된 비디오 세그먼트들은 NAL 유닛들로 조직화되고, NAL 유닛들은 "네트워크-친화적인" 비디오 표현 어드레싱 애플리케이션들, 이를테면 비디오 텔레포니, 저장, 브로드캐스트 또는 스트리밍을 제공한다. NAL 유닛들은 VCL(Video Coding Layer) NAL 유닛들 및 비-VCL NAL 유닛들로 카테고리화될 수 있다. VCL 유닛들은 코어 압축 엔진을 포함할 수 있고, 블록, 매크로블록, 및/또는 슬라이스 레벨 데이터를 포함할 수 있다. 다른 NAL 유닛들은 비-VCL NAL 유닛들일 수 있다. 일부 예들에서, 1차 코딩된 화상으로 통상적으로 제시되는 일 시간 순간의 코딩된 화상은, 하나 또는 그 초과의 NAL 유닛들을 포함할 수 있는 액세스 유닛에 포함될 수 있다.
[0058] 비-VCL 유닛들은, 특히 파라미터 세트 NAL 유닛들 및 SEI NAL 유닛들을 포함할 수 있다. 파라미터 세트들은 (SPS(sequence parameter sets)에) 시퀀스-레벨 헤더 정보를 그리고, (PPS(picture parameter sets)에) 드물게 변화하는 화상-레벨 헤더 정보를 포함할 수 있다. 파라미터 세트들(예컨대, PPS 및 SPS)에 있어서, 드물게 변화하는 정보는 각각의 시퀀스 또는 화상 마다 반복될 필요가 없으며, 따라서 코딩 효율성이 개선될 수 있다. 더욱이, 파라미터 세트들의 사용은 중요한 헤더 정보의 대역외 송신을 가능하게 할 수 있어서, 에러 복원을 위한 중복 송신들에 대한 필요성을 방지한다. 대역외 송신 예들에서, 파라미터 세트 NAL 유닛들은 다른 NAL 유닛들, 이를테면 SEI NAL 유닛들과 상이한 채널 상에서 송신될 수 있다.
[0059] SEI(Supplemental Enhancement Information)는 VCL NAL 유닛들로부터의 코딩된 화상 샘플들을 디코딩할 필요는 없는 정보를 포함하지만, 디코딩, 디스플레이, 에러 복원 및 다른 목적들에 관련된 프로세스들을 보조할 수 있다. SEI 메시지들은 비-VCL NAL 유닛들에 포함될 수 있다. SEI 메시지들은 일부 표준 규격들의 규범적 부분이며, 따라서 표준 준수 디코더 구현을 위해 언제나 의무적인 것은 아니다. SEI 메시지들은 시퀀스 레벨 SEI 메시지들 또는 화상 레벨 SEI 메시지들일 수 있다. 일부 시퀀스 레벨 정보는 SEI 메시지들, 이를테면 SVC의 예의 스케일러빌러티 정보 SEI 메시지들 및 MVC의 뷰 스케일러빌러티 정보 SEI 메시지들에 포함될 수 있다. 이러한 예시적인 SEI 메시지들은 예컨대, 동작 포인트들의 추출 및 동작 포인트들의 특성들에 대한 정보를 전달할 수 있다. 게다가, 캡슐화 유닛(150)은, 표현들의 특성들을 설명하는 매니페스트 파일, 이를테면, MPD(media presentation descriptor)를 형성할 수 있다. 캡슐화 유닛(150)은 XML(extensible markup language)에 따라 MPD를 포맷팅할 수 있다.
[0060] 캡슐화 유닛(150)은, 출력 인터페이스(152)에, 매니페스트 파일(예컨대, MPD)과 함께, 멀티미디어 콘텐츠의 하나 또는 그 초과의 표현들에 대한 데이터를 제공할 수 있다. 출력 인터페이스(152)는, 네트워크 인터페이스 또는 저장 매체에 기록하기 인터페이스, 이를테면 USB(universal serial bus) 인터페이스, CD 또는 DVD 라이터 또는 버너, 자기 또는 플래시 저장 매체에 대한 인터페이스, 또는 미디어 데이터를 저장 또는 송신하기 위한 다른 인터페이스들을 포함할 수 있다. 캡슐화 유닛(150)은 멀티미디어 콘텐츠의 표현들 각각의 데이터를 출력 인터페이스(152)에 제공할 수 있고, 출력 인터페이스(152)는 이 데이터를 네트워크 송신 또는 저장 매체를 통해 서버 디바이스(160)에 전송할 수 있다. 도 4의 예에서, 서버 디바이스(160)는 다양한 멀티미디어 콘텐츠들(164)을 저장하는 저장 매체(162)를 포함하며, 멀티미디어 콘텐츠들(164) 각각은 개개의 매니페스트 파일(166) 및 하나 또는 그 초과의 표현들(168A-168N)(표현들(168))을 포함한다. 일부 예들에서, 출력 인터페이스(152)는 또한 데이터를 네트워크(174)로 직접 전송할 수 있다.
[0061] 일부 예들에서, 표현들(168)은 적응 세트들로 분리될 수 있다. 즉, 표현들(168)의 다양한 서브세트들은, 특성들의 개개의 공통 세트들, 이를테면 코덱, 프로파일 및 레벨, 해상도, 뷰들의 수, 세그먼트들에 대한 파일 포맷, 표현으로 디스플레이될 텍스트 및/또는 예컨대 스피커들에 의해 제시되고 디코딩될 오디오 데이터의 언어 또는 다른 특성들을 식별할 수 있는 텍스트 타입 정보, 적응 세트에서 표현들에 대한 장면의 실-세계 카메라 시각 또는 카메라 각도를 설명할 수 있는 카메라 각도 정보, 특정 청중들에 대한 콘텐츠 적합성을 설명하는 레이팅 정보 등을 포함할 수 있다.
[0062] 매니페스트 파일(166)은 특정 적응 세트들에 대한 공통 특성들뿐만 아니라, 이 특정 적응 세트들에 대응하는 표현들(168)의 서브세트들을 나타내는 데이터를 포함할 수 있다. 매니페스트 파일(166)은 또한, 적응 세트들의 개별적인 표현들에 대한 개별적인 특성들, 이를테면 비트 레이트들을 나타내는 데이터를 포함할 수 있다. 이러한 방식으로, 적응 세트는 간략화된 네트워크 대역폭 적응을 제공할 수 있다. 적응 세트의 표현들은 매니페스트 파일(166)의 적응 세트 엘리먼트의 자손 엘리먼트들을 사용하여 표시될 수 있다.
[0063] 서버 디바이스(160)는 요청 프로세싱 유닛(170) 및 네트워크 인터페이스(172)를 포함한다. 일부 예들에서, 서버 디바이스(160)는 복수의 네트워크 인터페이스들을 포함할 수 있다. 더욱이, 서버 디바이스(160)의 임의의 또는 모든 피처들은 콘텐츠 전달 네트워크의 다른 디바이스들, 이를테면 라우터들, 브리지들, 프록시 디바이스들, 스위치들, 또는 다른 디바이스들 상에서 구현될 수 있다. 일부 예들에서, 콘텐츠 전달 네트워크의 중간 디바이스들은 멀티미디어 콘텐츠(164)의 데이터를 캐시하고, 서버 디바이스(160)의 컴포넌트들과 실질적으로 일치하는 컴포넌트들을 포함할 수 있다. 일반적으로, 네트워크 인터페이스(172)는 네트워크(174)를 통해 데이터를 전송 및 수신하도록 구성된다.
[0064] 요청 프로세싱 유닛(170)은 저장 매체(162)의 데이터에 대한, 클라이언트 디바이스들, 이를테면 클라이언트 디바이스(180)로부터의 네트워크 요청들을 수신하도록 구성된다. 예컨대, 요청 프로세싱 유닛(170)은 RFC 2616 "Hypertext Transfer Protocol - HTTP/1.1"(by R. Fielding et al, Network Working Group, IETF. June 1999)에 설명된 HTTP(hypertext transfer protocol) 버전 1.1을 구현할 수 있다. 즉, 요청 프로세싱 유닛(170)은 HTTP GET 또는 부분 GET 요청들을 수신하고, 이 요청들에 대한 응답으로 멀티미디어 콘텐츠(164)의 데이터를 제공하도록 구성될 수 있다. 이 요청들은, 예컨대, 세그먼트의 URL을 사용하여, 표현들(168) 중 하나의 표현의 세그먼트를 특정할 수 있다. 일부 예들에서, 요청들은 또한, 세그먼트의 하나 또는 그 초과의 바이트 범위들을 특정할 수 있고, 따라서 부분 GET 요청들을 포함한다. 요청 프로세싱 유닛(170)은, 표현들(168) 중 하나의 표현의 세그먼트의 헤더 데이터를 제공하기 위해 HTTP HEAD 요청들을 서비스하도록 추가로 구성될 수 있다. 어떤 경우든지, 요청 프로세싱 유닛(170)은 요청 디바이스, 이를테면 클라이언트 디바이스(180)에 요청된 데이터를 제공하기 위한 요청들을 프로세싱하도록 구성될 수 있다.
[0065] 부가적으로 또는 대안적으로, 요청 프로세싱 유닛(170)은 브로드캐스트 또는 멀티캐스트 프로토콜, 이를테면 eMBMS를 통해 미디어 데이터를 전달하도록 구성될 수 있다. 콘텐츠 준비 디바이스(140)는 설명된 것과 실질적으로 동일한 방식으로 DASH 세그먼트들 및/또는 서브-세그먼트들을 생성할 수 있지만, 서버 디바이스(160)는 eMBMS 또는 다른 브로드캐스트 또는 멀티캐스트 네트워크 전송 프로토콜을 사용하여 이러한 세그먼트들 또는 서브-세그먼트들을 전달할 수 있다. 예컨대, 요청 프로세싱 유닛(170)은 클라이언트 디바이스(180)로부터 멀티캐스트 그룹 조인 요청을 수신하도록 구성될 수 있다. 즉, 서버 디바이스(160)는 멀티캐스트 그룹과 연관된 IP(Internet protocol) 어드레스를 특정 미디어 콘텐츠(예컨대, 라이브 이벤트의 브로드캐스트)와 연관된, 클라이언트 디바이스(180)를 포함하는, 클라이언트 디바이스들에 통지할 수 있다. 클라이언트 디바이스(180)는 차례로, 멀티캐스트 그룹에 조인하기 위한 요청을 제출할 수 있다. 이 요청은, 네트워크(174), 예컨대 네트워크(174)를 구성하는 라우터들 전체에 걸쳐 전파될 수 있어서, 라우터들은 멀티캐스트 그룹과 연관된 IP 어드레스를 목적지로 하는 트래픽을 가입 클라이언트 디바이스들, 이를테면 클라이언트 디바이스(180)로 지향시키게 된다.
[0066] 도 4의 예에 예시된 바와 같이, 멀티미디어 콘텐츠(164)는 MPD(media presentation description)에 대응할 수 있는 매니페스트 파일(166)을 포함한다. DASH 표준에 대응하는 MPD의 경우, 매니페스트 파일(166)은 또한, 클라이언트가 어떤 메트릭들을 수집하여 특정 서버에 보고할 수 있는 지에 관한 지시를 포함할 수 있다. 매니페스트 파일(166)은 상이한 대안적인 표현들(168)(예컨대, 상이한 품질들을 갖는 비디오 서비스들)의 설명들을 포함할 수 있고, 설명은 예컨대 코덱 정보, 프로파일 값, 레벨 값, 비트레이트, 및 표현들(168)의 다른 설명 특성들을 포함할 수 있다. 클라이언트 디바이스(180)는 표현들(168)의 세그먼트들에 어떻게 액세스할지를 결정하기 위해서 미디어 표현의 MPD를 리트리브할 수 있다.
[0067] 특히, 리트리벌 유닛(192)은 비디오 디코더(188)의 디코딩 성능들 및 비디오 출력(184)의 렌더링 성능들을 결정하기 위해서 클라이언트 디바이스(180)의 구성 데이터(도시되지 않음)를 리트리브할 수 있다. 구성 데이터는 또한 클라이언트 디바이스(180)의 사용자에 의해 선택되는 언어 선호도, 클라이언트 디바이스(180)의 사용자에 의해 세팅된 깊이 선호도들에 대응하는 하나 또는 그 초과의 카메라 시점들, 및/또는 클라이언트 디바이스(180)의 사용자에 의해 선택되는 레이팅 선호도 중 임의의 것 또는 모두를 포함할 수 있다. 리트리벌 유닛(192)은 예컨대 HTTP GET 및 부분적 GET 요청들을 제출하도록 구성된 웹 브라우저 또는 미디어 클라이언트를 포함할 수 있다. 리트리벌 유닛(192)은 클라이언트 디바이스(180)의 하나 또는 그 초과의 프로세서들 또는 프로세싱 유닛들(도시되지 않음)에 의해 실행되는 소프트웨어 명령들에 대응할 수 있다. 일부 예들에서, 리트리벌 유닛(192)에 대해 설명된 기능성 모두 또는 부분들은 하드웨어나 또는 하드웨어, 소프트웨어 및/또는 펌웨어의 조합으로 구현될 수 있고, 여기서 필요한 하드웨어는 소프트웨어 또는 펌웨어에 대한 명령들을 실행하기 위해서 제공될 수 있다.
[0068] 리트리벌 유닛(192)은 클라이언트 디바이스(180)의 디코딩 및 렌더링 성능들을 매니페스트 파일(166)의 정보에 의해 표시되는 표현들(168)의 특성들에 비교할 수 있다. 리트리벌 유닛(192)은 표현들(168)의 특성들을 결정하기 위해서 매니페스트 파일(166)의 적어도 일부를 초기에 리트리브할 수 있다. 예컨대, 리트리벌 유닛(192)은 하나 또는 그 초과의 적응 세트들의 특성들을 설명하는 매니페스트 파일(166)의 부분을 요청할 수 있다. 리트리벌 유닛(192)은 클라이언트 디바이스(180)의 코딩 및 렌더링 성능들에 의해 만족될 수 있는 특성들을 갖는 표현들(168)의 서브세트(예컨대, 적응 세트)를 선택할 수 있다. 이어서, 리트리벌 유닛(192)은 적응 세트의 표현들에 대한 비트레이트들을 결정하고, 현재 이용가능한 네트워크 대역폭의 양을 결정하고, 그리고 네트워크 대역폭에 의해 만족될 수 있는 비트레이트를 갖는 표현들 중 하나로부터 세그먼트들을 리트리브할 수 있다.
[0069] 일반적으로, 더 높은 비트레이트 표현들은 더 높은 품질의 비디오 플레이백을 산출할 수 있는데 반해, 더 낮은 비트레이트 표현들은 이용가능한 네트워크 대역폭이 감소할 때 충분한 품질의 비디오 플레이백을 제공할 수 있다. 그에 따라서, 이용가능한 네트워크 대역폭이 비교적 높을 때, 리트리벌 유닛(192)은 비교적 높은 비트레이트 표현들로부터 데이터를 리트리브할 수 있는데 반해, 이용가능한 네트워크 대역폭이 낮을 때, 리트리벌 유닛(192)은 비교적 낮은 비트레이트 표현들로부터 데이터를 리트리브할 수 있다. 이러한 방식으로, 클라이언트 디바이스(180)는 네트워크(174)를 통해 멀티미디어 데이터를 스트림할 수 있는 동시에 또한 네트워크(174)의 네트워크 대역폭 가용성을 변화시키도록 적응할 수 있다.
[0070] 부가적으로 또는 대안적으로, 리트리벌 유닛(192)은 브로드캐스트 또는 멀티캐스트 네트워크 프로토콜, 이를테면 MBMS, eMBMS, 또는 IP 멀티캐스트에 따라 데이터를 수신하도록 구성될 수 있다. 이러한 예들에서, 리트리벌 유닛(192)은 특정 미디어 콘텐츠와 연관된 멀티캐스트 네트워크 그룹에 조인하기 위한 요청을 제출할 수 있다. 멀티캐스트 그룹에 조인한 이후에, 리트리벌 유닛(192)은 서버 디바이스(160) 또는 콘텐츠 준비 디바이스(140)에 송출되는 추가적인 요청들이 없이도 멀티캐스트 그룹의 데이터를 수신할 수 있다. 멀티캐스트 그룹의 데이터가 더 이상 필요하지 않을 때 그 멀티캐스트 그룹을 떠나기 위해서, 예컨대 플레이백을 중단시키거나 상이한 멀티캐스트 그룹으로 채널들을 변화시키기 위해서, 리트리벌 유닛(192)은 요청을 제출할 수 있다.
[0071] 본 개시내용의 기법들에 따르면, 리트리벌 유닛(192)은 스트리밍 애플리케이션(예컨대, DASH 클라이언트) 및 미들웨어 유닛을 포함할 수 있다. 미들웨어 유닛은, DASH 클라이언트로부터 QoE(quality of experience) 측정들을 수신하고, eMBMS 수신 보고들과 함께 QoE 측정들을, 예컨대 서버 디바이스(160)에 전달하도록 구성될 수 있다. 즉, 클라이언트 디바이스(180)는 도 2 및 3의 UE(106', 106")에 대응할 수 있고, 서버 디바이스(160)는 도 2 및 3의 프로비저닝 서버 및 BMSC(104', 104")에 대응할 수 있다. 비록 도 4에는 도시되지 않았지만, 일부 예들에서, 시스템(130)은 부가적으로, DASH 품질 메트릭 수집 서버를 포함할 수 있으며, 위의 도 3에 대해 논의된 바와 같이, DASH 클라이언트 및/또는 미들웨어 유닛은 그러한 DASH 품질 메트릭 수집 서버에 DASH QoE 측정들을 보고할 수 있다.
[0072] 네트워크 인터페이스(194)는 선택된 표현의 세그먼트들의 데이터를 수신하여 리트리벌 유닛(192)에 제공할 수 있으며, 리트리벌 유닛(192)은 차례로, 세그먼트들을 캡슐화해제 유닛(190)에 제공할 수 있다. 캡슐화해제 유닛(190)은, 비디오 파일의 엘리먼트들을 구성 PES 스트림들로 캡슐화해제하고, PES 스트림들을 패킷화해제하여 인코딩된 데이터를 리트리브하며, 그리고, 예컨대 스트림의 PES 패킷 헤더들에 의해 표시된 바와 같이 인코딩된 데이터가 오디오 스트림의 일부인지 또는 비디오 스트림의 일부인지에 의존하여, 인코딩된 데이터를 오디오 디코더(186) 또는 비디오 디코더(188) 중 어느 하나에 전송할 수 있다. 오디오 디코더(186)는 인코딩된 오디오 데이터를 디코딩하고 디코딩된 오디오 데이터를 오디오 출력(182)에 전송하는 반면, 비디오 디코더(188)는 인코딩된 비디오 데이터를 디코딩하고, 스트림의 복수의 뷰들을 포함할 수 있는 디코딩된 비디오 데이터를 비디오 출력(184)에 전송한다.
[0073] 비디오 인코더(148), 비디오 디코더(188), 오디오 인코더(146), 오디오 디코더(186), 캡슐화 유닛(150), 리트리벌 유닛(192), 요청 프로세싱 유닛(170), 및 캡슐화해제 유닛(190) 각각은, 적용가능할 때 임의의 다양한 적절한 고정 및/또는 프로그램가능 프로세싱 회로, 이를테면, 하나 또는 그 초과의 마이크로프로세서들, DSP(digital signal processor)들, ASIC(application specific integrated circuit)들, FPGA(field programmable gate array)들, 이산 로직 회로, 소프트웨어, 하드웨어, 펌웨어, 또는 이들의 임의의 조합들로 구현될 수 있다. 비디오 인코더(148) 및 비디오 디코더(188) 각각은 하나 또는 그 초과의 인코더들 또는 디코더들에 포함될 수 있으며, 이들 중 어느 하나는 결합된 비디오 인코더/디코더(CODEC)의 일부로서 통합될 수 있다. 마찬가지로, 오디오 인코더(146) 및 오디오 디코더(186) 각각은 하나 또는 그 초과의 인코더들 또는 디코더들에 포함될 수 있으며, 이들 중 어느 하나는 결합된 코덱의 일부로서 통합될 수 있다. 비디오 인코더(148), 비디오 디코더(188), 오디오 인코더(146), 오디오 디코더(186), 캡슐화 유닛(150), 리트리벌 유닛(192), 요청 프로세싱 유닛(170) 및/또는 캡슐화해제 유닛(190)을 포함하는 장치는 집적 회로, 마이크로프로세서, 및/또는 무선 통신 디바이스, 이를테면 셀룰러 전화를 포함할 수 있다.
[0074] 클라이언트 디바이스(180), 서버 디바이스(160) 및/또는 콘텐츠 준비 디바이스(140)는 본 개시내용의 기법들에 따라 동작하도록 구성될 수 있다. 예의 목적들을 위해, 본 개시내용은 클라이언트 디바이스(180) 및 서버 디바이스(160)에 대해 이러한 기법들을 설명한다. 그러나 서버 디바이스(160) 대신(또는 그 외에도), 콘텐츠 준비 디바이스(140)가 이러한 기법들을 수행하도록 구성될 수 있다는 것이 이해되어야 한다.
[0075] 캡슐화 유닛(150)은, NAL 유닛이 속하는 프로그램을 식별하는 헤더뿐만 아니라 페이로드, 예컨대 오디오 데이터, 비디오 데이터, 또는 NAL 유닛에 대응하는 전송 또는 프로그램 스트림을 설명하는 데이터를 포함하는 NAL 유닛들을 형성할 수 있다. 예컨대, H.264/AVC에서, NAL 유닛은 1-바이트 헤더 및 가변 사이즈의 페이로드를 포함한다. 자신의 페이로드에 비디오 데이터를 포함하는 NAL 유닛은 다양한 입도 레벨들의 비디오 데이터를 포함할 수 있다. 예컨대, NAL 유닛은 비디오 데이터의 블록, 복수의 블록들, 비디오 데이터의 슬라이스, 또는 비디오 데이터의 전체 화상을 포함할 수 있다. 캡슐화 유닛(150)은 비디오 인코더(148)로부터 인코딩된 비디오 데이터를 기본 스트림들의 PES 패킷들의 형태로 수신할 수 있다. 캡슐화 유닛(150)은 대응하는 프로그램과 각각의 기본 스트림을 연관시킬 수 있다.
[0076] 캡슐화 유닛(150)은 또한, 복수의 NAL 유닛들로부터의 액세스 유닛들을 어셈블링할 수 있다. 일반적으로, 액세스 유닛은 비디오 데이터의 프레임뿐만 아니라 프레임에 대응하는 오디오 데이터가 이용가능할 때 그러한 오디오 데이터를 나타내기 위한 하나 또는 그 초과의 NAL 유닛들을 포함할 수 있다. 액세스 유닛은 일반적으로, 하나의 출력 시간 순간 동안의 모든 NAL 유닛들, 예컨대 하나의 시간 순간 동안의 모든 오디오 및 비디오 데이터를 포함한다. 예컨대, 만약 각각의 뷰가 20 fps(frames per second)의 프레임 레이트를 갖는다면, 각각의 시간 순간은 0.05초의 시간 인터벌에 대응할 수 있다. 이러한 시간 인터벌 동안, 동일한 액세스 유닛(동일한 시간 순간)의 모든 뷰들에 대한 특정 프레임들이 동시적으로 렌더링될 수 있다. 일 예에서, 액세스 유닛은 하나의 시간 순간에 코딩된 화상을 포함할 수 있으며, 그 화상은 1차 코딩된 화상으로서 제시될 수 있다.
[0077] 그에 따라서, 액세스 유닛은 공통 시간적 인스턴스의 모든 오디오 및 비디오 프레임들, 예컨대 시간(X)에 대응하는 모든 뷰들을 포함할 수 있다. 본 개시내용은 또한, 특정 뷰의 인코딩된 화상을 "뷰 컴포넌트"로 지칭한다. 즉, 뷰 컴포넌트는 특정 시간에 특정 뷰에 대한 인코딩된 화상(또는 프레임)을 포함할 수 있다. 그에 따라서, 액세스 유닛은 공통 시간적 인스턴스의 모든 뷰 컴포넌트들을 포함하는 것으로 정의될 수 있다. 액세스 유닛들의 디코딩 순서는 출력 또는 디스플레이 순서와 반드시 동일할 필요는 없다.
[0078] 미디어 표현은 상이한 대안적인 표현들(예컨대, 상이한 품질들을 갖는 비디오 서비스들)의 설명들을 포함할 수 있는 MPD(media presentation description)를 포함할 수 있으며, 설명은 예컨대, 코덱 정보, 프로파일 값, 및 레벨 값을 포함할 수 있다. MPD는 매니페스트 파일, 이를테면 매니페스트 파일(166)의 일 예이다. 클라이언트 디바이스(180)는 다양한 표현들의 영화 프래그먼트들에 어떻게 액세스할지를 결정하기 위해 미디어 표현의 MPD를 리트리브할 수 있다. 영화 프래그먼트들은 비디오 파일들의 영화 프래그먼트 박스들(무프 박스들)에 로케이팅될 수 있다.
[0079] (예컨대, MPD를 포함할 수 있는) 매니페스트 파일(166)은 표현들(168)의 세그먼트들의 가용성을 통지할 수 있다. 즉, MPD는 표현들(168) 중 하나의 제1 세그먼트가 이용가능하게 되는 벽-클록 시간을 표시하는 정보뿐만 아니라 표현들(168) 내의 세그먼트들의 지속기간들을 표시하는 정보를 포함할 수 있다. 이런 식으로, 클라이언트 디바이스(180)의 리트리벌 유닛(192)은 특정 세그먼트에 선행하는 세그먼트들의 시작 시간뿐만 아니라 지속기간들에도 기반하여 각각의 세그먼트가 언제 이용가능한지를 결정할 수 있다.
[0080] 캡슐화 유닛(150)이 수신된 데이터에 기반하여 NAL 유닛들 및/또는 액세스 유닛들을 비디오 파일로 어셈블링한 이후, 캡슐화 유닛(150)은 출력을 위해 비디오 파일을 출력 인터페이스(152)에 전달한다. 일부 예들에서, 캡슐화 유닛(150)은 비디오 파일을 클라이언트 디바이스(180)에 직접 전송하기보다는, 비디오 파일을 로컬로 저장하거나 비디오 파일을 출력 인터페이스(152)를 통해 원격 서버에 전송할 수 있다. 출력 인터페이스(152)는 예컨대, 송신기, 트랜시버, 컴퓨터-판독가능 매체, 이를테면 예컨대, 광학 드라이브, 자기 매체 드라이브(예컨대, 플로피 드라이브)에 데이터를 기입하기 위한 디바이스, USB(universal serial bus) 포트, 네트워크 인터페이스, 또는 다른 출력 인터페이스를 포함할 수 있다. 출력 인터페이스(152)는 컴퓨터-판독가능 매체, 이를테면 예컨대, 송신 신호, 자기 매체, 광학 매체, 메모리, 플래시 드라이브, 또는 다른 컴퓨터-판독가능 매체에 비디오 파일을 출력한다.
[0081] 네트워크 인터페이스(194)는 네트워크(174)를 통해 NAL 유닛 또는 액세스 유닛을 수신하고, 리트리벌 유닛(192)을 통해 NAL 유닛 또는 액세스 유닛을 캡슐화해제 유닛(190)에 제공할 수 있다. 캡슐화해제 유닛(190)은 비디오 파일의 엘리먼트들을 구성 PES 스트림들로 캡슐화해제하고, PES 스트림들을 패킷화해제하여 인코딩된 데이터를 리트리브하고, 그리고 예컨대, 스트림의 PES 패킷 헤더들에 의해 표시된 바와 같이, 인코딩된 데이터가 오디오 스트림의 일부인지 아니면 비디오 스트림의 일부인지에 따라, 인코딩된 데이터를 오디오 디코더(186) 또는 비디오 디코더(188)에 전송할 수 있다. 오디오 디코더(186)는 인코딩된 오디오 데이터를 디코딩하고 디코딩된 오디오 데이터를 오디오 출력(182)에 전송하는 한편, 비디오 디코더(188)는 인코딩된 비디오 데이터를 디코딩하고 스트림의 복수의 뷰들을 포함할 수 있는 디코딩된 비디오 데이터를 비디오 출력(184)에 전송한다.
[0082] MPD는 수집될 메트릭들을 포함하는 메트릭들의 엘리먼트, 및 업로드 파라미터들을 포함한다. 업로드 파라미터들은 특정 보고@schemeIdUri 값들의 사용을 통해 확장될 수 있는 보고 엘리먼트를 포함한다. 3GP-DASH 26.246 버전 d00의 섹션 10.5는 Reporting@schemeIdUri에 사용될 URN이 "urn:3GPP:ns:PSS:DASH:QM10"이 될 것임을 특정한다. 3GP-DASH는 또한, 3GP-DASH 품질 보고 방식에 대한 방식 정보의 의미론을 다음과 같이 정의한다:
엘리먼트 또는 속성 이름 | 사용 | 설명 | |
@apn | O | 이 속성은 QoE 보고들을 전송하기 위해 사용되어야 하는 액세스 포인트를 부여한다. | |
@format | O | 이 필드는 보고들에 대해 요청된 포맷을 부여한다. 가능한 포맷들은: "uncompressed" 및 "gzip"이다. | |
@samplepercentage | O | QoE를 보고해야 하는 클라이언트들의 퍼센테이지. 클라이언트는 주어진 퍼센테이지와 함께 난수 생성기를 사용하여, 클라이언트가 보고해야 하는지 여부를 알아낸다. | |
@reportingserver | M | 보고들이 전송될 보고 서버 URL. | |
@reportinginterval | O | 보고들이 전송되어야 하는 시점(들)을 표시함. 만약 존재하지 않는다면, 클라이언트는 스트리밍 세션이 끝난 후 보고를 전송해야 한다. 만약 존재한다면, @reportingInterval=n은 이전 보고 이후로 새로운 메트릭들의 정보가 이용가능해졌으면 n초마다 클라이언트가 보고를 전송해야 함을 표시한다. | |
레전드 : 속성들에 대해: M=의무적, O=선택적, OD=디폴트 값과 함께 선택적, CM=조건부 의무적. 엘리먼트들에 대해: <minOccurs>…<maxOccurs> (N=무한) 엘리먼트들은 볼드이고 ; 속성들은 볼드가 아니며 @가 선행됨 |
[0083] 도 5는 도 4의 리트리벌 유닛(192)의 컴포넌트들의 예시적인 세트를 더 상세히 예시하는 블록 다이어그램이다. 이 예에서, 리트리벌 유닛(192)은 eMBMS 미들웨어 유닛(200), DASH 클라이언트(212) 및 미디어 애플리케이션(214)을 포함한다. eMBMS 미들웨어 유닛(200)은 일반적으로 도 2, 도 3의 MSDC(112', 112")에 대응할 수 있는 한편, DASH 클라이언트(212)는 도 2, 도 3의 DASH 클라이언트(108', 108")에 대응할 수 있다.
[0084] 이 예에서, eMBMS 미들웨어 유닛(200)은 eMBMS 수신 유닛(206), 캐시(204), 프록시/로컬 서버(202) 및 수신 보고 유닛(210)을 더 포함한다. 이 예에서, eMBMS 수신 유닛(206)은 예컨대, tools.ietf.org/html/rfc6726에서 이용가능한 T. Paila 등의 "FLUTE―File Delivery over Unidirectional Transport"(Network Working Group, RFC 6726, Nov. 2012)에서 설명된 FLUTE(File Delivery over Unidirectional Transport) 또는 ROUTE(Real-Time Object Delivery over Unidirectional Transport) 프로토콜에 따라 eMBMS를 통해 데이터를 수신하도록 구성된다. 즉, eMBMS 수신 유닛(206)은 예컨대, BM-SC로서 작동할 수 있는 도 4의 서버 디바이스(160)로부터의 브로드캐스트를 통해 파일들을 수신할 수 있다.
[0085] eMBMS 미들웨어 유닛(200)이 파일들에 대한 데이터를 수신할 때, eMBMS 미들웨어 유닛은 수신된 데이터를 캐시(204)에 저장할 수 있다. 캐시(204)는 컴퓨터-판독가능 저장 매체, 이를테면 플래시 메모리, 하드 디스크, RAM 또는 임의의 다른 적절한 저장 매체를 포함할 수 있다.
[0086] 프록시/로컬 서버(202)는 DASH 클라이언트(212)에 대한 HTTP 서버로서 작동할 수 있다. 예컨대, 미들웨어는 DASH 클라이언트(212)에 대한 MPD 파일 또는 다른 매니페스트 파일을 수정할 수 있다. 미들웨어(200)는 MPD 파일 내의 세그먼트들에 대한 조정된 가용성 시간들뿐만 아니라, 세그먼트들이 로컬로 리트리브될 수 있는 하이퍼링크들을 통지할 것이다. 이러한 하이퍼링크들은 도 4의 클라이언트 디바이스(180)에 대응하는 로컬호스트 어드레스 프리픽스(예컨대, IPv4에 대한 127.0.0.1)를 포함할 수 있다. 이러한 방식으로, DASH 클라이언트(212)는 HTTP GET 또는 부분적 GET 요청들을 사용하여 로컬 HTTP 서버(202)로부터의 세그먼트들을 요청할 수 있다. 예컨대, 링크 http://127.0.0.1/rep1/seg3으로부터 이용가능한 세그먼트의 경우, DASH 클라이언트(212)는 http://127.0.0.1/rep1/seg3에 대한 요청을 포함하는 HTTP GET 요청을 구성하고, 프록시/로컬 서버(202)에 요청을 제출할 수 있다. 프록시/로컬 서버(202)는 이러한 요청들에 대한 응답으로, 요청된 데이터를 캐시(204)로부터 리트리브하여 DASH 클라이언트(212)에 데이터를 제공할 수 있다. 대안적으로, eMBMS 미들웨어 유닛(200)은 MPD 내의 URL들을 수정하고 프록시로서 작동할 필요가 없다. DASH 서버(170)에 대해 타겟팅된 요청들은 eMBMS 미들웨어 유닛(200)에 의해 인터셉트되고 로컬 캐시로부터 서빙된다.
[0087] 본 개시내용의 기법들에 따르면, HTTP 프록시/로컬 서버(202)는 또한 DASH QoE 메트릭들 수신 유닛(208)을 포함한다. DASH QoE 메트릭들 수신 유닛(208)은 일반적으로, 예컨대 HTTP 포스트 커맨드들을 수용하는 DASH 클라이언트로부터의 DASH 보고들을 인터셉트(프록시의 경우, 프록시/로컬 서버(202)는 선택적으로 보고들이 DASH 측정 서버로 통과되게 할 수 있음을 주목함) 또는 수신(로컬 서버로서 작동하는 경우)하도록 구성된다. 이어서, 보고는 수신 보고 유닛(210)에 포워딩되고, 이어서 수신 보고 유닛(210)은 DASH 클라이언트(212)를 대신하여 DASH QoE 메트릭들을 서버 디바이스에 보고할 수 있고 그리고/또는 DASH QoE 측정 보고를 수신 보고에 포함시킬 수 있다. 예컨대, DASH QoE 메트릭들은 DASH 클라이언트(212)로부터 QoE 메트릭들을 수신할 수 있다. 즉, 프록시/로컬 서버(202)는 MPD(media presentation description) 또는 다른 매니페스트 파일에 따라 DASH QoE 메트릭들을 포함하는 HTTP POST 커맨드들을 DASH 클라이언트(212)로부터 수신하도록 구성될 수 있다. 또한, 수신 보고 유닛(210)은 예컨대 eMBMS에 따라 수신을 보고한다. 일부 예들에서, 수신 보고 유닛(210)은 DASH QoE 메트릭들 및 eMBMS 수신 보고들 둘 모두를 포함하는 단일 보고를 전송한다. 다른 예들에서, 수신 보고 유닛(210)은 eMBMS 수신 보고들 및 DASH QoE 메트릭들에 대해 별개의 보고들을 전송한다.
[0088] DASH 클라이언트(212)로부터 DASH QoE 측정 보고를 수신한 후, 수신 보고 유닛(210)은, DASH 데이터를 캡슐화한 파일들의 수신 시에 eMBMS 미들웨어 유닛(200)이 보고하는 프로토콜과 관련된 수신 보고들과 함께, DASH QoE 메트릭들을 서버 디바이스에 보고할 수 있다. 또한, 일부 예들에서, eMBMS 미들웨어 유닛(200) 및/또는 DASH 클라이언트(212) 중 하나 또는 둘 모두는 또한, 위의 도 3에 대해 논의된 바와 같이, 전용 DASH 메트릭 서버에 DASH QoE 메트릭들을 보고하도록 구성될 수 있다.
[0089] 서버 디바이스(160)(도 1)는 또한 eMBMS 미들웨어 유닛(200)에 서비스 공고를 전달하는 MBSC 기능을 포함할 수 있다. 본 발명의 일부로서, 서비스 공고는 원하는 DASH QoE 측정 보고의 타입 및 콘텐츠에 대한 지시들을 더 포함할 수 있다. 예컨대, 서비스 공고의 ADP(Associated Delivery Procedure) 프래그먼트는 DASH QoE 보고뿐만 아니라 다른 파라미터에 대한 원하는 메트릭들을 설명하는 새로운 필드들 및 엘리먼트들을 포함할 수 있다. 예시적인 구현은 아래의 도 9 및 도 10에서 나중에 설명된다. 더 일반적인 관점에서, DASH QoE 수집 지시들은 다른 수단, 예컨대, OMA DM, 구성 파일, 오리지널 MPD 자체 또는 임의의 다른 수단을 통해 전달될 수 있다.
[0090] 이어서, eMBMS 미들웨어 유닛(200)은 위의 지시들을 DASH 클라이언트(212)에 통신할 수 있다. 이러한 지시들을 통신하기 위한 하나의 방법은, eMBMS 미들웨어 유닛(200)이 도 4의 서버(160)로부터 획득된 메트릭 수집 파라미터들을 반영하기 위해 로컬로 호스팅된 MPD를 수정할 수 있는 것이다(오리지널 MPD가 지시들을 반송하는 경우를 제외하며, 이 경우 eMBMS 미들웨어 유닛(200)은 MPD를 수정할 필요가 없다).
[0091] 다른 예에서, eMBMS 미들웨어 유닛(200)은 원하는 메트릭들 또는 메트릭들의 수퍼세트를 수집하도록 그리고 eMBMS 미들웨어 유닛(200)에 항상 보고하도록 MPD를 수정할 수 있다. 이어서, eMBMS 미들웨어 유닛(200)은 메트릭들을 서버(160)에 의해 요청된 세트로 감소시킬 수 있고, 서버(160)에 의해 요청된 확률과 함께 보고할 수 있다.
[0092] 또 다른 예에서, 서버(160)는 수신 보고 수집 확률(현재 ADP 프래그먼트에서 samplingPercentage 파라미터)을 포함하는 수집 지시들에 따라 수신 보고들을 수집하도록 eMBMS 미들웨어 유닛(200)에 명령한다. 이어서, eMBMS 미들웨어 유닛(200)에 전송되는 DASH QoE 수집 지시는 독립적인 수집 확률 또는 조건부 수집 확률을 포함할 수 있다. 상대적인 수집 확률은 오직 수신 보고가 수집되고 있을 때에만 DASH QoE 측정들의 조건부 수집을 표시하여, 예컨대, 수신 보고 샘플링 퍼센테이지 파라미터가 50%이고 조건부 수집 확률의 퍼센테이지가 또한 50%이면, 수신 보고들은 세션들의 50%에 대해 수집되고, DASH 측정 보고들은 수신 보고가 활성인 그러한 세션들의 50%에 대해 수집된다. 이어서, DASH QoE 측정들에 대한 수집의 결과적 절대 확률은 25%이다.
[0093] 도 6은 예시적인 멀티미디어 콘텐츠(220)의 엘리먼트들을 예시하는 개념적인 다이어그램이다. 멀티미디어 콘텐츠(220)는 멀티미디어 콘텐츠(164)(도 4) 또는 저장 매체(162)에 저장된 다른 멀티미디어 콘텐츠에 대응할 수 있다. 도 6의 예에서, 멀티미디어 콘텐츠(220)는 MPD(media presentation description)(222) 및 복수의 표현들(224A-224N)(표현들(224))을 포함한다. 표현(224A)은 선택적인 헤더 데이터(226) 및 세그먼트들(228A-228N)(세그먼트들(228))을 포함하는 한편, 표현(224N)은 선택적인 헤더 데이터(230) 및 세그먼트들(232A-232N)(세그먼트들(232))을 포함한다. 문자 N은 편의상 표현들(224) 각각의 마지막 영화 프래그먼트를 지정하기 위해 사용된다. 일부 예들에서, 표현들(224) 사이에 상이한 수의 영화 프래그먼트들이 존재할 수 있다.
[0094] MPD(222)는 표현들(224)과 별개인 데이터 구조를 포함할 수 있다. MPD(222)는 도 4의 매니페스트 파일(166)에 대응할 수 있다. 마찬가지로, 표현들(224)은 도 4의 표현들(168)에 대응할 수 있다. 일반적으로, MPD(222)는, 표현들(224)의 특성들, 이를테면, 코딩 및 렌더링 특성들, 적응 세트들, MPD(222)가 대응하는 프로파일, 텍스트 타입 정보, 카메라 각도 정보, 레이팅 정보, 트릭 모드(trick mode) 정보(예컨대, 시간적 서브-시퀀스들을 포함하는 표현들을 표시하는 정보), 및/또는 (예컨대, 플레이백 동안 미디어 콘텐츠로의 타겟팅된 광고 삽입을 위한) 원격 기간들을 리트리브하기 위한 정보를 일반적으로 설명하는 데이터를 포함할 수 있다.
[0095] 헤더 데이터(226)는, 존재할 때, 세그먼트들(228)의 특성들, 예컨대, RAP(random access point)들(SAP(stream access point)들로 또한 지칭됨)의 시간적 위치들, 세그먼트들(228)의 어느 것이 랜덤 액세스 포인트들을 포함하는지 여부, 세그먼트들(228) 내의 랜덤 액세스 포인트들에 대한 바이트 오프셋들, 세그먼트들(228)의 URL(uniform resource locator)들, 또는 세그먼트들(228)의 다른 양상들을 설명할 수 있다. 헤더 데이터(230)는, 존재할 때, 세그먼트들(232)에 대한 유사한 특성들을 설명할 수 있다. 부가적으로 또는 대안적으로, 이러한 특성들은 MPD(222) 내에 완전히 포함될 수 있다.
[0096] 세그먼트들(228, 232)은 하나 또는 그 초과의 코딩된 비디오 샘플들을 포함하며, 이 코딩된 비디오 샘플들 각각은 비디오 데이터의 프레임들 또는 슬라이스들을 포함할 수 있다. 세그먼트들(228)의 코딩된 비디오 샘플들 각각은 유사한 특성들, 예컨대, 높이, 폭, 및 대역폭 요건들을 가질 수 있다. 이러한 특성들은 MPD(222)의 데이터에 의해 설명될 수 있지만, 이러한 데이터가 도 6의 예에 예시되진 않는다. MPD(222)는, 본 개시내용에서 설명되는 시그널링된 정보 중 임의의 것 또는 전부에 부가하여, 3GPP 규격에 의해 설명되는 특성들을 포함할 수 있다.
[0097] 세그먼트들(228, 232) 각각은 고유한 URL(uniform resource locator)과 연관될 수 있다. 따라서, 세그먼트들(228, 232) 각각은, 스트리밍 네트워크 프로토콜, 이를테면 DASH를 사용하여 독립적으로 리트리브가능할 수 있다. 이러한 방식에서, 목적지 디바이스, 이를테면 도 4의 클라이언트 디바이스(180)는 세그먼트들(228 또는 232)을 리트리브하기 위해 HTTP GET 요청을 사용할 수 있다. 일부 예들에서, 클라이언트 디바이스(180)는 세그먼트들(228 또는 232)의 특정 바이트 범위들을 리트리브하기 위해 HTTP 부분적 GET 요청들을 사용할 수 있다.
[0098] 본 개시내용의 기법들에 따라, MPD(222)는 서버 디바이스로 보고될 메트릭들을 특정하는 데이터를 포함할 수 있다. 예컨대, MPD(222)는 아래의 도 8에 대해 설명되는 것을 준수하는 데이터를 포함할 수 있다.
[0099] 도 7은 표현의 세그먼트, 이를테면 도 6의 세그먼트들(228, 232) 중 하나에 대응할 수 있는 예시적인 비디오 파일(250)의 엘리먼트들을 예시하는 블록 다이어그램이다. 세그먼트들(228, 232) 각각은, 도 7의 예에서 예시된 데이터의 어레인지먼트를 실질적으로 준수하는 데이터를 포함할 수 있다. 비디오 파일(250)은 세그먼트를 캡슐화한다고 말할 수 있다. 위에 설명된 바와 같이, ISO 베이스 미디어 파일 포맷 및 이의 확장들에 따른 비디오 파일들은, "박스들"로 지칭되는 일련의 오브젝트들에 데이터를 저장한다. 도 7의 예에서, 비디오 파일(250)은 파일 타입(FTYP; file type) 박스(252), 영화(MOOV; movie) 박스(254), 세그먼트 인덱스(sidx; segment index) 박스들(262), 영화 프래그먼트(MOOF; movie fragment) 박스들(164), 및 영화 프래그먼트 랜덤 액세스(MFRA; movie fragment random access) 박스(266)를 포함한다. 도 7이 비디오 파일의 예를 나타내지만, 다른 미디어 파일들은, ISO 베이스 미디어 파일 포맷 및 이의 확장들에 따라, 비디오 파일(250)의 데이터와 유사하게 구조화되는 다른 타입들의 미디어 데이터(예컨대, 오디오 데이터, 타이밍된 텍스트 데이터 등)를 포함할 수 있다는 것이 이해되어야 한다.
[0100] 파일 타입(FTYP) 박스(252)는 일반적으로, 비디오 파일(250)에 대한 파일 타입을 설명한다. 파일 타입 박스(252)는, 비디오 파일(250)에 대한 최선의 사용을 설명하는 규격을 식별하는 데이터를 포함할 수 있다. 파일 타입 박스(252)는 대안적으로, MOOV 박스(254), 영화 프래그먼트 박스들(164), 및/또는 MFRA 박스(266) 이전에 배치될 수 있다.
[0101] 일부 예들에서, 세그먼트, 이를테면 비디오 파일(250)은 FTYP 박스(252) 이전에 MPD 업데이트 박스(도시되지 않음)를 포함할 수 있다. MPD 업데이트 박스는, MPD를 업데이트하기 위한 정보와 함께, 비디오 파일(250)을 포함하는 표현에 대응하는 MPD가 업데이트되어야 함을 표시하는 정보를 포함할 수 있다. 예컨대, MPD 업데이트 박스는, MPD를 업데이트하기 위해 사용될 자원에 대한 URI 또는 URL을 제공할 수 있다. 다른 예로서, MPD 업데이트 박스는, MPD를 업데이트하기 위한 데이터를 포함할 수 있다. 일부 예들에서, MPD 업데이트 박스는 비디오 파일(250)의 세그먼트 타입(STYP; segment type) 박스(도시되지 않음)에 바로 후속될 수 있으며, 여기서, STYP 박스는 비디오 파일(250)에 대한 세그먼트 타입을 정의할 수 있다. 아래에 더 상세히 논의되는 도 7은, MPD 업데이트 박스에 관련하여 부가적인 정보를 제공한다.
[0102] MOOV 박스(254)는, 도 7의 예에서, 영화 헤더(MVHD; movie header) 박스(256), 트랙(TRAK; track) 박스(258), 및 하나 또는 그 초과의 영화 확장(MVEX; movie extends) 박스들(260)을 포함한다. 일반적으로, MVHD 박스(256)는 비디오 파일(250)의 일반적인 특성들을 설명할 수 있다. 예컨대, MVHD 박스(256)는, 비디오 파일(250)이 최초에 생성된 때, 비디오 파일(250)이 마지막 수정된 때, 비디오 파일(250)에 대한 타임스케일(timescale), 비디오 파일(250)에 대한 플레이백의 지속기간 또는 일반적으로 비디오 파일(250)을 설명하는 다른 데이터를 설명하는 데이터를 포함할 수 있다.
[0103] TRAK 박스(258)는 비디오 파일(250)의 트랙에 대한 데이터를 포함할 수 있다. TRAK 박스(258)는, TRAK 박스(258)에 대응하는 트랙의 특성들을 설명하는 트랙 헤더(TKHD; track header) 박스를 포함할 수 있다. 일부 예들에서, TRAK 박스(258)는 코딩된 비디오 화상들을 포함할 수 있지만, 다른 예들에서, 트랙의 코딩된 비디오 화상들은, TRAK 박스(258) 및/또는 sidx 박스들(262)의 데이터에 의해 참조될 수 있는 영화 프래그먼트들(264)에 포함될 수 있다.
[0104] 일부 예들에서, 비디오 파일(250)은 하나 초과의 트랙을 포함할 수 있다. 따라서, MOOV 박스(254)는, 비디오 파일(250)의 트랙들의 수와 동일한 수의 TRAK 박스들을 포함할 수 있다. TRAK 박스(258)는 비디오 파일(250)의 대응하는 트랙의 특성들을 설명할 수 있다. 예컨대, TRAK 박스(258)는, 대응하는 트랙에 대한 시간적 및/또는 공간적 정보를 설명할 수 있다. MOOV 박스(254)의 TRAK 박스(258)와 유사한 TRAK 박스는, 캡슐화 유닛(150)(도 6)이 비디오 파일, 이를테면 비디오 파일(250)에 파라미터 세트 트랙을 포함할 때, 파라미터 세트 트랙의 특성들을 설명할 수 있다. 캡슐화 유닛(150)은, 파라미터 세트 트랙을 설명하는 TRAK 박스 내의 파라미터 세트 트랙에서의 시퀀스 레벨 SEI 메시지들의 존재를 시그널링할 수 있다.
[0105] MVEX 박스들(260)은, 만일 있다면 MOOV 박스(254) 내에 포함된 비디오 데이터 외에도, 예컨대, 비디오 파일(250)이 영화 프래그먼트들(264)을 포함한다는 것을 시그널링하기 위해서, 대응하는 영화 프래그먼트들(264)의 특성들을 설명할 수 있다. 스트리밍 비디오 데이터의 콘텍스트에서, 코딩된 비디오 화상들은 MOOV 박스(254) 내에 포함되기보다는 영화 프래그먼트들(264)에 포함될 수 있다. 그에 따라서, 모든 코딩된 비디오 샘플들은 MOOV 박스(254) 내에 포함되기보다는 영화 프래그먼트들(264)에 포함될 수 있다.
[0106] MOOV 박스(254)는 비디오 파일(250)의 영화 프래그먼트들(264)의 수와 동일한 수의 MVEX 박스들(260)을 포함할 수 있다. MVEX 박스들(260) 각각은 영화 프래그먼트들(264) 중 대응하는 것의 특성들을 설명할 수 있다. 예컨대, 각각의 MVEX 박스는 영화 프래그먼트들(264) 중 대응하는 것에 대한 시간적 지속기간을 설명하는 MEHD(movie extends header box) 박스를 포함할 수 있다.
[0107] 위에 언급된 바와 같이, 도 4의 캡슐화 유닛(150)은 실제 코딩된 비디오 데이터를 포함하지 않는 비디오 샘플에 시퀀스 데이터 세트를 저장할 수 있다. 비디오 샘플은 일반적으로 특정 시간 순간에서의 코딩된 화상의 표현인 액세스 유닛에 대응할 수 있다. AVC의 콘텍스트에서, 코딩된 화상은 액세스 유닛의 모든 픽셀들 및 다른 연관된 비-VCL NAL 유닛들을 구성하는 정보, 이를테면, SEI 메시지를 포함하는 하나 또는 그 초과의 VCL NAL 유닛들을 포함한다. 그에 따라서, 캡슐화 유닛(150)은 시퀀스 레벨 SEI 메시지들을 포함할 수 있는 시퀀스 데이터 세트를 영화 프래그먼트들(264) 중 하나에 포함시킬 수 있다. 캡슐화 유닛(150)은 시퀀스 데이터 세트 및/또는 시퀀스 레벨 SEI 메시지들의 존재를, 영화 프래그먼트들(264) 중 하나에 대응하는 MVEX 박스들(260) 중 하나 내의 영화 프래그먼트들(264) 중 하나에 존재하는 것으로 추가로 시그널링할 수 있다.
[0108] SIDX 박스들(262)은 비디오 파일(250)의 선택적인 엘리먼트들이다. 즉, 3GPP 파일 포맷, 또는 다른 그러한 파일 포맷들을 따르는 비디오 파일들이 반드시 SIDX 박스들(262)을 포함하는 것은 아니다. 3GPP 파일 포맷의 예에 따르면, SIDX 박스는 세그먼트(예컨대, 비디오 파일(250) 내에 포함된 세그먼트)의 서브-세그먼트를 식별하는데 사용될 수 있다. 3GPP 파일 포맷은 서브-세그먼트를 "대응하는 미디어 데이터 박스(들), 및 영화 프래그먼트 박스에 의해 참조되는 데이터를 포함하는 미디어 데이터 박스(이 미디어 데이터 박스는 그 영화 프래그먼트 박스 다음에 오고 동일한 트랙에 대한 정보를 포함하는 다음 영화 프래그먼트 박스 앞에 와야 한다)를 갖는 하나 또는 그 초과의 연속적인 영화 프래그먼트 박스들의 독립형 세트"로서 서브-세그먼트를 정의한다. 3GPP 파일 포맷은 또한, SIDX 박스가 그 박스에 의해 다큐먼트된 (서브)세그먼트의 서브세그먼트들에 대한 참조들의 시퀀스를 포함한다는 것을 표시한다. 참조된 서브세그먼트들은 프리젠테이션 시간에 있어서 인접하다. 유사하게, 세그먼트 인덱스 박스에 의해 참조되는 바이트들은 세그먼트 내에서 항상 인접하다. 참조되는 사이즈는 참조되는 자료의 바이트들의 수의 카운트를 제공한다.
[0109] SIDX 박스들(262)은 일반적으로 비디오 파일(250)에 포함된 세그먼트의 하나 또는 그 초과의 서브-세그먼트들을 나타내는 정보를 제공한다. 예컨대, 이러한 정보는, 서브-세그먼트들이 시작 및/또는 종료하는 플레이백 시간들, 서브-세그먼트들에 대한 바이트 오프셋들, 서브-세그먼트들이 SAP(stream access point)를 포함하는지 여부(예컨대, SAP로 시작하는지 여부), SAP에 대한 타입(예컨대, SAP가 IDR(instantaneous decoder refresh) 화상, CRA(clean random access) 화상, BLA(broken link access) 화상 등인지 여부), 서브-세그먼트에서의 (플레이백 시간 및/또는 바이트 오프셋의 측면에서) SAP의 포지션, 기타 등등을 포함할 수 있다.
[0110] 영화 프래그먼트들(264)은 하나 또는 그 초과의 코딩된 비디오 화상들을 포함할 수 있다. 일부 예들에서, 영화 프래그먼트들(264)은 하나 또는 그 초과의 GOP(groups of picture)들을 포함할 수 있으며, 이들 각각은 다수의 코딩된 비디오 화상들, 예컨대, 프레임들 또는 화상들을 포함할 수 있다. 게다가, 위에서 설명된 바와 같이, 영화 프래그먼트들(264)은 일부 예들에서 시퀀스 데이터 세트들을 포함할 수 있다. 영화 프래그먼트들(264) 각각은 MFHD(movie fragment header box, 도 7에 도시되지 않음)를 포함할 수 있다. MFHD 박스는 대응하는 영화 프래그먼트, 이를테면, 영화 프래그먼트에 대한 시퀀스 번호의 특징들을 설명할 수 있다. 영화 프래그먼트들(264)은 비디오 파일(250)에 시퀀스 번호의 순서로 포함될 수 있다.
[0111] MFRA 박스(266)는 비디오 파일(250)의 영화 프래그먼트들(264) 내의 랜덤 액세스 포인트들을 설명할 수 있다. 이는, 트릭 모드들을 수행하는 것, 이를테면, 비디오 파일(250)에 의해 캡슐화된 세그먼트 내에서 특정 시간적 위치들(즉, 플레이백 시간들)에 대해 탐색(seek)들을 수행하는 것을 보조할 수 있다. 일부 예들에서, MFRA 박스(266)는 일반적으로 선택적이며 비디오 파일들에 포함될 필요가 없다. 마찬가지로, 클라이언트 디바이스, 이를테면, 도 4의 클라이언트 디바이스(180)가 비디오 파일(250)의 비디오 데이터를 정확하게 디코딩하고 디스플레이하기 위해서 반드시 MFRA 박스(266)를 참조할 필요가 있는 것은 아니다. MFRA 박스(266)는 비디오 파일(250)의 트랙들의 수와 동일한 수의 TFRA(track fragment random access) 박스들(도시되지 않음)을 포함하거나 또는 일부 예들에서는, 비디오 파일(250)의 매체 트랙들(예컨대, 비-힌트 트랙들)의 수와 동일한 수의 TFRA 박스들(도시되지 않음)을 포함할 수 있다.
[0112] 일부 예들에서, 영화 프래그먼트들(264)은 하나 또는 그 초과의 SAP(stream access point)들, 이를테면, IDR 화상들을 포함할 수 있다. 마찬가지로, MFRA 박스(266)는 SAP들의 비디오 파일(250) 내부의 위치들의 표시들을 제공할 수 있다. 그에 따라서, 비디오 파일(250)의 시간적 서브-시퀀스는 비디오 파일(250)의 SAP들로부터 형성될 수 있다. 시간적 서브-시퀀스는 또한 다른 화상들, 이를테면, SAP들에 의존하는 P-프레임들 및/또는 B-프레임들을 포함할 수 있다. 시간적 서브-시퀀스의 프레임들 및/또는 슬라이스들은 세그먼트들 내에 배열될 수 있어서, 서브-시퀀스의 다른 프레임들/슬라이스들에 의존하는 시간적 서브-시퀀스의 프레임들/슬라이스들이 적절하게 디코딩될 수 있다. 예컨대, 데이터의 계층적 어레인지먼트에서, 다른 데이터에 대한 예측을 위해 사용되는 데이터는 또한 시간 서브-시퀀스에 포함될 수 있다.
[0113] 도 8은 본 개시내용의 기법들에 따라 DASH의 MPD(media presentation description)와 같이 매니페스트 파일에 포함될 수 있은 예시적인 데이터(280)를 예시하는 개념적인 다이어그램이다. 이 예에서, MPD는 MPD 타입 박스에 하나 또는 그 초과의 메트릭들 엘리먼트들(282)을 포함할 수 있다. 기존 3GP-DASH 제한들은 메트릭들 엘리먼트의 한 번 발생을 지원한다.
[0114] 또한, MPD는 수집할 메트릭들(286)을 특정하는 메트릭들 타입(284) 속성들 리스트를 포함한다(그리고 예컨대, 괄호들 안에 수집 파라미터들을 또한 포함할 수 있음). 메트릭들 타입 속성들 리스트(284)는 또한 하나 또는 그 초과의 보고 엘리먼트들(288)을 포함할 수 있다. 각각의 보고 엘리먼트는 3GP-DASH에서 정의된 바와 같이 URN(uniform resource name)일 수 있는 SchemIdURI(290)를 특정하는 속성을 포함할 수 있다. 이 SchemeIdURI(290) 엘리먼트는 별개의 네임스페이스에서 확장 엘리먼트들 또는 속성들로서 부가된 구조화된 데이터를 포함할 수 있다. SchemeIdURI(290) 엘리먼트의 값은 보고할 서버의 식별자를 특정할 수 있다.
[0115] 게다가, MPD는 메트릭들 타입 엘리먼트에 대한 0개 또는 그 초과의 범위 엘리먼트들(292)을 포함한다. 각각의 범위 엘리먼트(292)는 일반적으로 QoE 메트릭들을 수집할 시기를 표시하는 데이터를 포함한다. 범위 엘리먼트(292)가 생략되면, DASH 클라이언트/미들웨어 유닛은 전체 세션 동안 메트릭들이 수집되었음을 결정할 수 있다. 이 예에서 범위 엘리먼트(292)는 시작시간 엘리먼트(289) 및 지속기간 엘리먼트(291)를 포함한다. 라이브 미디어 콘텐츠를 스트리밍할 때, 시작시간 엘리먼트(289)는 미디어 콘텐츠에 대한 가용성 시작 시간에 대해 시작 시간을 특정할 수 있다. 지속기간 엘리먼트(291)는 메트릭들이 보고될 범위에 대한 플레이백 시간의 지속기간을 특정할 수 있다.
[0116] 따라서, 메트릭들 엘리먼트들(282)은 MPD 루트 레벨에서 정의될 수 있다. 보고 SchemeIdURI(290)의 가능한 값들은 MPEG DASH에 정의되어 있지 않다. 일반적으로, SchemeIdURI(290)는 URL(uniform resource locator), URN(uniform resource name), 또는 다른 식별자 값일 수 있다. 3GPP에 특정적인 값은 3GP-DASH 26.247에 정의되어 있다. 속성 리스트 내의 보고 엘리먼트(288)의 값 엘리먼트(285)는 파라미터들의 리스트에 대해 사용된다. 보고 엘리먼트(288)의 ID 엘리먼트(287)가 등가 보고 방식들을 식별하는데, 이로써, 다수의 이러한 엘리먼트들이 동일한 ID를 갖는 경우 다수의 보고 schemeIdURI들 중 하나만이 고려될 필요가 있다.
[0117] 3GP-DASH 26.247 버전 d00의 섹션 10.5는 다음과 같은 3GP-DASH 품질 보고 방식에 대한 방식 정보의 XML(extensible markup language) 구문을 특정한다.
이 개요는 3GPP DASH에 대한 품질 보고 방식 정보를 정의한다.
[0119] 상기 언급된 바와 같이, 본 개시내용에 따른 MPD는 다수의 메트릭들 엘리먼트들의 정의를 허용한다. 2개 이상의 메트릭들 엘리먼트들이 정의되는 경우, DASH 클라이언트(예컨대, 도 5의 DASH 클라이언트(212))는 MPD의 각각의 메트릭 엘리먼트에 대한 별개의 메트릭들 보고를 생성할 수 있다. 이는, 기존 3GP-DASH 규격과는 대조적으로, "최대 하나의 메트릭들 엘리먼트가 MPD에 존재할 것이다"라는 것을 언급한다. 게다가, 3GP-DASH 규격은, DASH 클라이언트들이 MPD의 메트릭들 엘리먼트 당 하나의 메트릭들 보고를 생성할 것을 그 규격이 강제하도록 본 개시내용에 따라 수정될 수 있다.
[0120] 도 9는 본 개시내용의 기법들에 따른 ADPD(associated delivery procedure description)에 대한 예시적인 수정(294)을 예시하는 개념적인 다이어그램이다. 이 개시내용의 기법들에 따라, ADPD에 대한 수정(294)은 다음을 제공할 수 있다:
● DASH QoE 보고가 수집되어야 하는지 여부를 표시하는 플래그(296A).
a) 대안적으로: DASH QoE 속성들이 엘리먼트 내에 추가될 수 있다; 엘리먼트가 존재하는 경우, DASH QoE 수집은 활성이다. 이 경우, 수집 플래그(296A)는 필요하지 않다.
● 위의 플래그(296A)가 참으로 세팅되면, 다음 조건부 속성들 중 임의의 것 또는 전부가 수정(294)의 일부로서 추가될 수 있다:
a) DASH QoE가 압축되어야 하는지 여부를 표시하는 플래그(296B).
b) 수집할 메트릭들(296C)의 리스트.
● 대안적으로, 이러한 메트릭들이 SDP(session description protocol) 데이터에서 특정될 수 있다.
c) DASH QoE 수집이 수신 보고와 동기화되어야 하는지 여부를 표시하는 플래그(296D).
d) 선택적인 DASH QoE 샘플링 퍼센테이지 데이터(296E).
[0121] 게다가, ADPD에 대한 수정(294)은 MPD 내의 기존 메트릭들 정보가 폐기/억제되어야 하는지 여부를 미들웨어에 표시하는 플래그(도시되지 않음)를 포함할 수 있다.
[0122] 도 10은 본 개시내용의 기법들에 따른, ADPD에 대한 대안적인 개요를 예시한 개념적인 다이어그램이다. 이러한 예에서, ADPD의 보고 절차 타입 엘리먼트(300)는 부가적인 DASHQoEProcedure 엘리먼트(302)를 포함한다. 이러한 부가적인 DASHQoEProcedure 엘리먼트(302)의 존재는 수신 보고들의 일부로서, DASH 메트릭들 엘리먼트(304)에서 특정된 DASH QoE 측정들의 수집을 트리거링한다. 도 10에서 원으로 표시된 DASH 메트릭들 엘리먼트(304)는 일부 메트릭들이 정의되는 것을 보장하기 위해 필수적이게 될 수 있다.
[0123] 위에서 언급된 바와 같이, DASH QoE 수집이 수신 보고에 동기화되어야 하는지 여부를 표시하는 플래그, 이를테면 DASH QoE 싱크 플래그(306)가 존재할 수 있다. 동기화 거동들은 DASH QoE 싱크 플래그(306)의 값에 따라 다음과 같이 정의될 수 있다:
● 시나리오 1: DASH QoE 싱크 플래그(306)는 참으로 세팅되고, 어떠한 다른 샘플링 퍼센테이지도 DASH QoE에 대해 포함되지 않는 경우, RR이 활성이면, DASH QoE 측정을 수집한다.
● 시나리오 2: DASH QoE 싱크 플래그(306)는 참으로 세팅되고, 조건부 샘플링 퍼센테이지(308)가 DASH QoE에 대해 포함된다. 이것은, 만약 RR이 활성이면, 미들웨어가 표시된 조건부 확률에 따라 DASH QoE 측정들을 수집해야 한다는 것을 암시한다.
a) 예: 수신 보고 샘플링 퍼센테이지는 50%이고; DASH QoE 샘플링 퍼센테이지는 50%이고, 이어서, 시간 수신 보고들의 50%가 수집되며; 수신 보고들이 수집될 때, DASH QoE 보고들은 시간의 50%에서 수신된다(이는, 수집 확률이 DASH QoE 측정 보고들에 대해 25%일 것임을 초래함).
● 시나리오 3: 싱크 플래그는 허위로 세팅되고, 샘플링 퍼센테이지는 DASH QoE에 대해 포함된다(또는 디폴트는 100%임). 이것은 RR 활성도와는 독립적으로, 미들웨어가 표시된 확률에서 DASH QoE 측정들을 수집해야 한다는 것을 암시한다. 이러한 대안에서, 수신 보고 서버에 전달된 수신 보고들은 DASH QoE 메트릭들만을 포함할 수 있다.
[0124] 수신 보고들 및 DASH QoE 측정 보고들의 어그리게이션의 예들이 아래에서 설명된다. 일부 예들에서, eMBMS 수신 보고들 및 DASH QoE 측정 보고들은, 다편/혼합 파일 포맷을 사용하는 기존의 절차를 사용하여 단일 로그 파일로 어그리게이팅된다.
[0125] 제1 예에서, 수신 보고들의 콘텐츠-타입은 2개의 타입들의 보고들, 예컨대, 수신 보고 로그 파일들에 대한 텍스트/xml 및 DASH 보고들에 대한 텍스트/xml-DASH를 구별하기 위해 사용될 수 있다. 이러한 제1 예에 따르면, 보고는 아래에 나타낸 바와 같이 포맷팅될 수 있다:
[0126] 제2 예에서, 동일한 텍스트/xml 콘텐츠 타입이 사용될 수 있다. 수신기는 xml 파일의 헤더 부분을 통해 보고 타입을 인지할 수 있다. 이러한 제2 예에 따르면, 보고는 아래에 나타낸 바와 같이 포맷팅될 수 있다:
[0127] 또 다른 예에서, DASH 측정 보고들은, MBMS 수신 보고 개요의 새로운 엘리먼트들로서 eMBMS 수신 보고들 내에 임베딩될 수 있다.
[0128] 일 예에서, 싱크 플래그가 온이라고 가정된다. 싱크 플래그가 항상 1(즉, 온)로 세팅되는 것이 권장될 수 있다. 일부 구현들에서, DASH QoE 측정들이 eMBMS 수신 보고들과의 싱크로 항상 수집된다고 가정하면, 싱크 플래그 속성/엘리먼트는 개요의 일부가 아닐 수 있다. 수신 보고 포스트를 통한 DASH QoE 측정은, 수신 보고가 활성인 경우에만 활성일 수 있다. 싱크 플래그가 온이면, 어그리게이팅된 수신 보고는, eMBMS 수신 보고들만을 또는 eMBMS 수신 보고들 및 DASH QoE 측정 보고들의 혼합을 포함할 수 있다.
[0129] 일 예에서, 메트릭 속성 리스트는 ADPD에서 제공되는 지시들의 리스트를 모방한다. SchemeIDURI 엘리먼트들은 다음과 같이 채워질 수 있다:
● 압축 플래그(ADPD 압축 지시를 따름).
● 샘플링 퍼센테이지(예컨대, 미들웨어에서 보고를 항상 수신하기 위해, 100%이며; 이어서, 미들웨어는, ADPD 샘플링 퍼센테이지 및 동기화 플래그 지시들마다 보고를 유지할지 또는 폐기할지를 판단할 수 있음).
● 포스트 URL(이는 미들웨어 HTTP 서버, 예컨대 도 5의 프록시/로컬 서버(202)를 가리킬 수 있음).
● 인터벌들은 선택적일 수 있다(더 작고 더 빈번한 보고들이 미들웨어에 의해 획득되는 것을 보장하기 위해 더 작은 인터벌들로 세팅될 수 있으며; DASH 클라이언트 및/또는 미들웨어의 고장들의 경우, 더 빈번한 보고는 견고성을 제공할 수 있음).
[0130] 일 예에서, 범위 엘리먼트가 제외되어서, 전체 세션에 대한 DASH QoE 보고가 항상 있을 수 있다. 대안적으로, QoE 메트릭들이 보고되어야 하는 시간 기간을 특정하기 위해 범위 엘리먼트가 포함될 수 있다.
[0131] 미들웨어 유닛(예컨대, 도 5의 미들웨어 유닛(200))이 DASH 클라이언트에 전달되는 MPD를 수정하여서, DASH 클라이언트는 DASH QoE 측정 보고들을 항상 생성할 수 있으며, 이어서, 이 DASH QoE 측정 보고들은 미들웨어에 포스팅된다. 그러나, 미들웨어 유닛은, 수신된 DASH QoE 메트릭들을 보고할지 여부를 확률적으로 결정하도록 구성될 수 있다. 즉, DASH QoE 메트릭들은 ADPD에서 특정된 것과 동일한 확률에 따라 보고될 수 있다. 따라서, 일부 인스턴스들에서, DASH 클라이언트로부터 미들웨어 유닛에 의해 수신되는 DASH QoE 보고는, 서버에 보고되지 않고(즉, ADPD 확률에 따라 수신을 보고하지 않는 것으로 결정되는 인스턴스들에서), 폐기될 수 있다.
[0132] 도 11a는 본 개시내용의 기법들의 예시적인 성능을 예시하는 개념적인 다이어그램이다. 본 예에서, 위에서 논의된 동기화 플래그가 온(on)이라는 것(즉, "참"의 값을 갖는다는 것)이 가정된다. 예시적인 프로세스는 다음과 같을 수 있다:
● DASH 측정 보고는 모든 각각의 DASH 뷰잉 세션의 종료 시에 생성된다.
● 3GPP eMBMS 규격마다, eMBMS 미들웨어는 수신/뷰잉 세션의 종료 시에 로깅 판단을 한다.
● eMBMS 세션의 종료 시에, 미들웨어는 수신 보고 로그들을 수집했다:
a) 미들웨어 로깅 판단이 로깅하는 것으로 가정하라. 미들웨어는 임의의 수신된 DASH 측정 보고들을 다중부분 mime 파일 포맷을 사용하는 eMBMS 수신 보고에 임베딩한다. 혼합된 다중부분 mime 파일 형태의 eMBMS 수신 보고는 ADPD에서 특정된 랜덤화 기간을 사용하여 업로드된다.
b) 미들웨어 로깅 판단이 로깅하지 않는 것으로 가정하라. 이 경우, 미들웨어에서 수집된 수신 보고는 폐기된다. 세션에 대한 DASH 클라이언트로부터의 임의의 후속 수신 보고들이 또한 폐기된다.
[0133] 대안으로서, DASH QoE 품질 보고들은 주기적으로 생성될 수 있다. 이는 DASH 클라이언트 고장들의 경우 더 나은 신뢰성을 제공할 수 있다. 보고들은 다중부분 mime 수신 보고 파일에 여전히 임베딩될 수 있다. 잠재적인 문제점은, 로그하기 위한 판단이 아직 이루어지지 않았으며, 따라서 미들웨어 유닛이 수신 보고 로깅 판단에 기반하여 나중에 보고들을 폐기해야 할 수 있다는 것이다.
[0134] 대안적인 예에서, 동기화 플래그가 오프(off)라는 것이 가정된다. 수신 보고 포스트를 통한 DASH QoE 측정 보고는, 판단이 eMBMS 수신 보고를 위해 로그하는 것인지 여부와 독립적으로, 활성일 수 있다. 어그리게이팅된 수신 보고는 단지 eMBMS 수신 보고들, eMBMS 수신 보고들 및 DASH QoE 측정 보고들의 혼합, 또는 단지 DASH QoE 측정 보고들을 포함할 수 있다. 이는, 업로드된 수신 보고 파일이 3GPP 수신 보고를 항상 포함하는, 동기화 플래그가 온일 때와 대조적이다.
[0135] 도 8의 예를 다시 참조하면, 동기화 플래그가 오프일 때 MPD는 위에서 논의된 바와 같이 동기화 플래그가 온일 때와 동일할 수 있다. 그러나, DASH QoE 메트릭 보고는 DASH 클라이언트에 의해 항상 수집될 수 있으며, 미들웨어 유닛은 DASH QoE 메트릭 보고를 수신 보고를 위한 로그 파일에 포함시킬지 여부를 결정할 수 있다.
[0136] 도 11b는 본 개시내용의 기법들에 따른, 병렬 유니캐스트/브로드캐스트 수신을 갖는 거동의 예를 예시하는 개념적인 다이어그램이다. 미들웨어 유닛(200)은 eMBMS를 통해 수신되는 eMBMS 등록 클라이언트 세그먼트들을 서빙하며, 만약 eMBMS 서비스가 더 이상 이용가능하지 않다면, 유니캐스트로 스위칭할 수 있다(MooD 설계). 이 경우, eMBMS는, 서비스가 활성인 세션의 지속기간에 걸쳐 DASH QoE 측정 보고들 및 수신 보고들을 어그리게이팅할 수 있다. 심지어 UE가 유니캐스트로 스위칭되더라도, 미들웨어 유닛(200)은 FLUTE 세션을 활성으로 유지하는 것으로 예상된다. 즉, 미들웨어 유닛(200)은 브로드캐스트 콘텐츠의 손실 기간 전체에 걸쳐 수신 보고를 계속해서 수집할 수 있다.
[0137] 도 12는 다수의 DASH 클라이언트들에 관련한 거동의 예를 예시하는 개념적인 다이어그램이다. 예컨대, softAP 아키텍처들의 경우, 다수의 DASH 클라이언트들은 공통 미들웨어로부터의 eMBMS 콘텐츠를 소비할 수 있다. 그러한 예들에서, 미들웨어는, 세션이 종료한 직후까지 그리고 그 동안 모든 DASH 측정 보고들을 수집할 수 있다. 미들웨어는 모든 DASH 측정 보고들을 공통 수신 보고에 임베딩할 수 있으며, 이 공통 수신 보고는 개개의 DASH 클라이언트들에 대한 식별자들을 (예컨대, DASH 측정 보고의 clientID 필드에서) 특정하는 것을 포함할 수 있다.
[0138] 도 13은 본 개시내용의 기법들에 따른 예시적인 방법을 예시하는 흐름도이다. 도 13의 예시적인 방법의 단계들은 각각, 도 5의 미들웨어 유닛(200) 및 DASH 클라이언트(212)에 의해 수행되는 것으로서 설명된다. 이러한 또는 유사한 방법이 미들웨어 및 DASH 클라이언트들의 다른 세트들, 이를테면, 예컨대 도 2 및 도 3의 MSDC(112', 112") 및 DASH 클라이언트(108', 108")에 의해 수행될 수 있다는 것이 이해되어야 한다.
[0139] 초기에, 미들웨어 유닛(200)은 DASH 보고 엘리먼트를 포함하는 ADPD를 수신한다(350). 위에서 논의된 바와 같이, DASH 보고 엘리먼트는, DASH 메트릭들이 보고되어야 하는지 여부를 표시하는 플래그, 보고될 DASH 메트릭들, DASH 메트릭 보고가 MBMS 수신 보고들과 동기화되어야 하는지 여부, 그리고/또는 만약 DASH 메트릭 보고가 MBMS 수신 보고들과 동기화되지 않는다면, DASH QoE 샘플링 퍼센테이지 중 하나 또는 그 초과를 포함할 수 있다.
[0140] ADPD가 DASH 메트릭들이 MBMS 수신 보고들에 포함되어야 하는 것을 표시한다고 가정하면, 미들웨어 유닛(200)은 DASH 메트릭들 보고에 대한 타겟으로서 미들웨어 유닛(200)을 식별하기 위해, 매니페스트 파일, 이를테면, DASH MPD를 업데이트한다(352). 예컨대, 미들웨어 유닛(200)은 매니페스트 파일 내의 DASH 메트릭 수신 보고 서버의 어드레스로서 로컬호스트 어드레스를 특정할 수 있다. 미들웨어 유닛(200)은 매니페스트 파일, 예컨대, DASH MPD를 DASH 클라이언트(212)에 추가로 전송할 수 있다(354). DASH 클라이언트(212)는 또한, 미들웨어 유닛(200)으로부터 MPD를 수신할 수 있다(356).
[0141] 후속적으로, 미들웨어 유닛(200)은, 예컨대, MBMS 또는 eMBMS 브로드캐스트 또는 멀티캐스트에 따라, 미디어 데이터를 수신할 수 있다(358). 미들웨어 유닛(200)은 수신된 미디어 데이터를, 예컨대, 캐시(204)에 캐시할 수 있다(360). 이어서, DASH 클라이언트(212)는 미들웨어 유닛(200)으로부터 수신된 미디어 데이터의 전부 또는 일부를 요청할 수 있다(362). 요청에 대한 응답으로, 미들웨어 유닛(200)은 요청된 미디어 데이터를 DASH 클라이언트(212)에 전송할 수 있다(364).
[0142] 이어서, DASH 클라이언트(212)는 미디어 데이터를 수신할 수 있다(366). DASH 클라이언트(212)는 또한, 예컨대, 미들웨어 유닛(200)으로부터 수신된 매니페스트 파일에 따라, 미디어 데이터 수신에 대한 DASH 메트릭들을 미들웨어 유닛(200)에 보고할 수 있다(368). 비록 도 13에 도시되지 않을지라도, DASH 클라이언트(212)가 또한, 예컨대, 수신된 미디어 데이터를 미디어 애플리케이션(214)에 전달함으로써, 수신된 미디어 데이터를 프로세싱할 수 있다는 것이 이해되어야 한다.
[0143] 미들웨어 유닛(200)은 DASH 클라이언트(212)로부터 DASH 메트릭들 보고를 수신할 수 있다(370). 예컨대, 미들웨어 유닛(200)은 DASH 클라이언트(212)로부터 DASH 메트릭들을 포함하는 HTTP POST 제출을 수신할 수 있다. 도 13의 예에서, 미들웨어 유닛(200)은 DASH 메트릭들을 포함하는 MBMS 수신 보고를 생성한다(372). 이러한 방식으로, 미들웨어 유닛(200)은, DASH 클라이언트(212)로부터 수신된 DASH QoE 보고들을 또한 포함하는, 서버 디바이스로부터 수신된 ADPD의 보고 지시들에 따라 미디어 데이터의 수신을 커버하는 수신 보고를 생성할 수 있다. 그러나, 다른 예들에서, 미들웨어 유닛(200)은 MBMS 수신 보고 및 DASH QoE 보고들을 개별적으로 전달하며, 일부 경우들에서는, 별개의 보고 서버들에 전달할 수 있다. 그러나, 도 13의 예에서, 미들웨어 유닛(200)은 DASH 클라이언트(212)로부터 수신된 DASH 메트릭들을 포함하는 수신 보고를 미디어 서버 ― 이 미디어 서버로부터 미디어 데이터가 수신되었음 ― 에 전송한다(374).
[0144] 일 예에서, 미들웨어 유닛(200)은 상이한 멀티파트 MIME 타입들을 MBMS 수신 보고 및 DASH 메트릭들에 할당하여, 이 두 보고들 간을 구별한다. 즉, 미들웨어 유닛(200)은 제 1 멀티파트 MIME 타입 값을 MBMS 수신 보고에 할당하고, 제2 상이한 멀티파트 MIME 타입 값을 DASH 메트릭들에 할당할 수 있다. 이러한 방식으로, 미들웨어 유닛(200)이 수신 보고들을 전달하는 수신 보고 서버는 멀티파트 MIME 타입들을 사용하여 DASH 메트릭들과 MBMS 수신 보고를 구별할 수 있다.
[0145] 이러한 방식으로, 도 13의 방법은, 클라이언트 디바이스의 미들웨어 유닛에 의해 수행되는 방법의 예를 나타내고, 이는 서버 디바이스로부터 브로드캐스트 또는 멀티캐스트를 통해 미디어 데이터를 수신하는 단계, 수신된 보고 지시들에 따라 미디어 데이터의 수신을 커버하는 수신 보고들을 생성하는 단계, 미디어 데이터 중 적어도 일부를 클라이언트 디바이스의 타겟 애플리케이션에 전달하는 단계, 타겟 애플리케이션으로부터 QoE(quality of experience) 보고들을 수신하는 단계, 및 QoE 보고들의 콘텐츠들을 수신 보고 서버에 제공하는 단계를 포함한다. 다시, 이 예에서, 수신 보고들은 QoE 보고들의 콘텐츠들을 포함하지만, 다른 예들에서, 이 보고들은 개별적으로 전달되고 그리고/또는 별개의 보고 서버들에 전달될 수 있다.
[0146] 도 14는 본 개시내용의 기법들에 따른 다른 예시적인 방법을 예시하는 흐름도이다. 비록 도 14의 방법은 미들웨어 유닛(200)에 대해 설명될지라도, 다른 디바이스들, 이를테면, 도 2 및 도 3의 MSDC(112'), (112")가 이러한 또는 유사한 방법을 수행하도록 구성될 수 있다는 것이 이해되어야 한다.
[0147] 이 예에서 초기에, 미들웨어 유닛(200)은, 예컨대 MBMS 또는 eMBMS에 따라, 브로드캐스트 또는 멀티캐스트를 통해 미디어 데이터를 수신한다(380). 비록 도 14에 도시되어 있지 않을지라도, 미디어 데이터를 수신하기 이전에, 미들웨어 유닛(200)은 특정 MBMS 또는 eMBMS 서비스에 가입할 수 있다는 것이 이해되어야 한다. 부가적으로, 미들웨어 유닛(200)은, 수신 보고들을 언제 생성할지, 수신 보고들에 어떤 정보를 포함할지 등과 같은 보고 지시들을 포함하는 ADPD를 수신할 수 있다. 게다가, 본 개시내용의 기법들에 따르면, ADPD는, DASH QoE 보고들이 수신 보고들에 포함될지 또는 별도로 제출될지 여부, 및 만약 DASH QoE 보고들이 별도로 제출될 경우, DASH QoE 메트릭 보고 서버의 네트워크 어드레스를 표시하는 데이터를 포함할 수 있다.
[0148] 이 예에서, 이어서, 미들웨어 유닛(200)은 ADPD의 수신된 보고 지시들에 따라 미디어 데이터의 수신을 커버하는 수신 보고를 생성한다(382). 일반적으로, 수신 보고들은 백오프 시간 및 랜덤화 기간 후에 전송된다. 이 지연은 미들웨어가 DASH 클라이언트에 의해 생성된 DASH Qoe 측정 보고들을 수신할 수 있는 것을 보장할 것이다. 어떤 경우든지, 아래에서 논의되는 바와 같이, 수신 보고의 포스팅이 미디어 데이터를 수신한 직후에 수행될 필요는 없지만, 만약 필요하다면, 대신에, DASH QoE 메트릭들 보고를 수신할 때까지 지연될 수 있다는 것이 이해되어야 한다.
[0149] 미들웨어 유닛(200)은 또한, 타겟 애플리케이션, 예컨대 DASH 클라이언트, 이를테면 도 5의 DASH 클라이언트(212)에 미디어 데이터를 전달한다(384). 특히, 미들웨어 유닛(200)은, 예컨대 캐시(204)에 수신된 미디어 데이터를 캐시할 수 있고, DASH 클라이언트(212)로부터 미디어 데이터 또는 미디어 데이터의 부분들에 대한 요청을 기다릴 수 있다. 미들웨어 유닛(200)은 그러한 요청들에 대한 응답으로 DASH 클라이언트(212)에 요청된 미디어 데이터를 전송할 수 있다. 요청들은 HTTP GET 또는 부분적인 GET 요청들(즉, 타겟 URL의 바이트 범위들을 특정하는 GET 요청들)을 포함할 수 있다. 더욱이, DASH 클라이언트(212)에 미디어 데이터를 전달하기 이전에, 미들웨어 유닛(200)은 DASH 클라이언트(212)에 MPD와 같은 매니페스트 파일을 전송할 수 있다. 매니페스트 파일은, DASH QoE 메트릭 보고들이 미들웨어 유닛(200)에 전달될 것임을 표시할 수 있을 뿐만 아니라, 다른 매니페스트 파일 정보, 이를테면, 미디어 파일들에 대한 URL들, 미디어 파일들이 언제 이용가능할지를 표시하는 월 클록 시간들 등을 표시할 수 있다. 게다가, 미들웨어 유닛(200)은 DASH 클라이언트(212)가 DASH QoE 메트릭들 보고들을 전송할 서버로서 미들웨어 유닛(200)을 식별하기 위해 매니페스트 파일을 수정할 수 있다.
[0150] 이 예에서, 타겟 애플리케이션에 미디어 데이터를 전달한 후에, 미들웨어 유닛(200)은 타겟 애플리케이션으로부터 QoE 보고를 수신한다(386). 예컨대, 미들웨어 유닛(200)은 DASH 클라이언트(212)로부터 DASH QoE 보고를 수신할 수 있다. DASH QoE 보고는, HTTP 요청/응답 트랜잭션들의 리스트, 표현 스위치 이벤트들의 리스트, 버퍼 레벨, TCP 연결들의 리스트, 표현 스위치 이벤트들의 리스트, 버퍼 레벨, 및/또는 플레이 리스트 외에도, 평균 스루풋, 초기 플레이아웃 지연, 및 MPD 정보와 같은 다양한 요청된 DASH 메트릭들에 대한 값들을 나타내는 데이터를 포함할 수 있다.
[0151] 이어서, 미들웨어 유닛(200)은, 예컨대 ADPD에 의해 표시된 바와 같은 수신 보고 서버에 DASH QoE 보고의 콘텐츠를 제공할 수 있다(388). 일 예에서, 미들웨어 유닛(200)은 MBMS 또는 eMBMS 수신 보고 및 DASH QoE 보고의 콘텐츠를 별도로 전달할 수 있다. 다른 예들에서, 미들웨어 유닛(200)은, 예컨대 단일 문헌(예컨대, 단일 파일 또는 다른 데이터 세트)으로 MBMS/eMBMS 수신 보고 및 DASH QoE 보고의 콘텐츠를 함께 전달할 수 있다. 일부 예들에서, 이들 보고들이 함께 전달될 때, 미들웨어 유닛(200)은 별개의 멀티파트 MIME 타입들, 예컨대 MBMS 수신 보고를 위한 제1 멀티파트 MIME 타입 및 DASH QoE 보고를 위한 제2의 상이한 멀티파트 MIME 타입을 사용하여 보고들을 식별할 수 있다.
[0152] 이러한 방식으로, 도 14의 방법은, 서버 디바이스로부터 브로드캐스트 또는 멀티캐스트를 통해 미디어 데이터를 수신하는 단계, 수신된 보고 지시들에 따라 미디어 데이터의 수신을 커버하는 수신 보고들을 생성하는 단계, 클라이언트 디바이스의 타겟 애플리케이션에 미디어 데이터의 적어도 일부를 전달하는 단계, 타겟 애플리케이션으로부터 QoE(quality of experience) 보고들을 수신하는 단계, 및 수신 보고 서버에 QoE 보고들의 콘텐츠를 제공하는 단계를 포함하는, 클라이언트 디바이스의 미들웨어 유닛에 의해 수행하는 예시적인 방법을 나타낸다. 또한, 이 예에서, 수신 보고들은 QoE 보고들의 콘텐츠를 포함하지만, 다른 예들에서, 이러한 보고들은 별개로 전달되고 그리고/또는 별개의 보고 서버들에 전달될 수 있다. 대안적으로, 미들웨어 유닛(200)은 DASH QoE 보고와 MBMS 수신 보고를 구별하기 위해 별개의 XML 헤더들을 사용할 수 있다.
[0153] 도 15는 본 개시내용의 기법들에 따라 구성된 서버 디바이스(400) 및 클라이언트 디바이스(410)의 예들을 예시하는 블록 다이어그램이다. 서버 디바이스(400)는 도 2 또는 도 3의 프로비저닝 서버 및 BMSC(104), 서버 디바이스(160), 및/또는 도 4의 콘텐츠 준비 디바이스(140)에 대응할 수 있다. 클라이언트 디바이스(410)는 도 2 또는 도 3의 UE(106) 및/또는 도 4의 클라이언트 디바이스(180)에 대응할 수 있다. 따라서, 클라이언트 디바이스(410)는 UE(user equipment)의 예, 이를테면, 개인용 컴퓨터, 셀폰과 같은 모바일 디바이스, 태블릿, 또는 랩톱, 셋톱 박스 등을 나타낸다.
[0154] 이 예에서, 클라이언트 디바이스(410)는 DASH 클라이언트(412) 및 미들웨어 유닛(414)을 포함한다. DASH 클라이언트(412)는, 도 2의 DASH 클라이언트(108'), 도 3의 DASH 클라이언트(108"), 또는 도 5에서 리트리벌 유닛(192)의 DASH 클라이언트(212)에 대응할 수 있다. 미들웨어 유닛(414)은, 도 2의 MSDC(112'), 도 3의 MSDC(112"), 또는 도 5에서 리트리벌 유닛(192)의 eMBMS 미들웨어(200)에 대응할 수 있다. DASH 클라이언트(412)는, 예컨대, 클라이언트 디바이스(410)에 의해 실행되는 웹 브라우저에 대한 소프트웨어-기반 플러그-인을 나타낼 수 있다.
[0155] 미들웨어 유닛(414) 및 DASH 클라이언트(412)는, 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합으로 구현될 수 있다. 소프트웨어 또는 펌웨어로 구현될 때, 필수 하드웨어, 이를테면, 컴퓨터-판독가능 매체들 및 하나 또는 그 초과의 프로세싱 유닛들이 또한 제공되는 것으로 예상된다. 일반적으로, 프로세싱 유닛들은 고정 또는 프로그램가능 디지털 로직 회로, 이를테면, 하나 또는 그 초과의 ASIC들, DSP들, FPGA들, 마이크로프로세서들 등을 사용하여 구현된다.
[0156] 본 개시내용의 기법들에 따라, 미들웨어 유닛(414)은 서버 디바이스(400)로부터 브로드캐스트 또는 멀티캐스트를 통해 미디어 데이터를 수신하고, 수신된 보고 지시들에 따라 미디어 데이터의 수신을 커버하는 수신 보고들을 생성하고, 클라이언트 디바이스(410)의 (이 예에서 타겟 애플리케이션의 예를 나타내는) DASH 클라이언트(412)에 미디어 데이터의 적어도 일부를 전달하고, DASH 클라이언트(412)로부터 QoE(quality of experience) 보고들을 수신하고, 그리고 수신 보고 서버에 QoE 보고들의 콘텐츠를 제공하도록 구성될 수 있다. 수신 보고 서버는, 서버 디바이스(400), 또는 별개의 서버 디바이스(도시되지 않음)에 대응할 수 있다.
[0157] 하나 또는 그 초과의 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 결합으로 구현될 수 있다. 소프트웨어로 구현되면, 기능들은, 컴퓨터 판독가능 매체 상에 하나 또는 그 초과의 명령들 또는 코드로서 저장되거나 이들을 통해 송신될 수 있고 그리고 하드웨어-기반 프로세싱 유닛에 의해 실행될 수 있다. 컴퓨터 판독가능 매체는, 예컨대, 통신 프로토콜에 따라, 데이터 저장 매체와 같은 유형의(tangible) 매체에 대응하는 컴퓨터-판독가능 저장 매체, 또는 일 장소에서 다른 장소로의 컴퓨터 프로그램의 전달을 가능하게 하는 임의의 매체를 포함하는 통신 매체를 포함할 수 있다. 이러한 방식으로, 컴퓨터-판독가능 매체는 일반적으로 (1) 비-일시적인 유형의 컴퓨터-판독가능 저장 매체 또는 (2) 통신 매체, 이를테면, 신호 또는 반송파에 대응할 수 있다. 데이터 저장 매체는, 본 개시내용에 설명된 기법들의 구현을 위해 명령들, 코드 및/또는 데이터 구조들을 리트리브(retrieve)하기 위해 하나 또는 그 초과의 컴퓨터들 또는 하나 또는 그 초과의 프로세서들에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 컴퓨터 프로그램 제품은 컴퓨터-판독가능 매체를 포함할 수 있다.
[0158] 제한이 아닌 예로서, 이러한 컴퓨터-판독가능 저장 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장부 또는 다른 자기 저장 디바이스들, 플래시 메모리, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 저장하는데 사용될 수 있고 그리고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속수단(connection)이 컴퓨터-판독가능 매체로 적절히 지칭된다. 예를 들어, 명령들이 동축 케이블, 광섬유 케이블, 연선(twisted pair), DSL(digital subscriber line), 또는 무선 기술들, 이를테면, 적외선, 라디오, 및 마이크로파를 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 송신되면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 무선 기술들, 이를테면, 적외선, 라디오, 및 마이크로파는 매체의 정의에 포함된다. 그러나, 컴퓨터-판독가능 저장 매체 및 데이터 저장 매체는 접속수단들, 반송파들, 신호들, 또는 다른 일시적 매체를 포함하지 않지만, 그 대신에 비-일시적, 유형의 저장 매체에 관련된다는 점이 이해되어야 한다. 본원에서 사용된 바와 같이, 디스크(disk) 및 디스크(disc)는, CD(compact disc), 레이저 디스크(laser disc), 광학 디스크(optical disc), DVD(digital versatile disc), 플로피 디스크(floppy disk) 및 블루-레이 디스크(Blu-ray disc)를 포함하며, 여기서 디스크(disk)들은 일반적으로 데이터를 자기적으로 재생하지만, 디스크(disc)들은 레이저를 이용하여 광학적으로 데이터를 재생한다. 상기한 것들의 결합들이 또한 컴퓨터-판독가능 매체들의 범위 내에 포함되어야 한다.
[0159] 명령들은, 하나 또는 그 초과의 DSP(digital signal processor)들, 범용 마이크로프로세서들, ASIC(application specific integrated circuit)들, FPGA(field programmable logic array)들, 또는 다른 동등한 집적 또는 이산 로직 회로와 같은 하나 또는 그 초과의 프로세서들에 의해 실행될 수 있다. 이에 따라, 본원에서 사용되는 바와 같이, “프로세서”라는 용어는, 본원에 설명된 기법들의 구현에 적합한 전술한 구조 또는 임의의 다른 구조 중 임의의 구조를 지칭할 수 있다. 게다가, 몇몇 양상들에서, 본원에 설명된 기능은, 인코딩 및 디코딩을 위해 구성된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에서 제공되거나, 결합된 코덱에 통합될 수 있다. 또한, 이 기법들은 하나 또는 그 초과의 회로들 또는 로직 엘리먼트로 완전하게 구현될 수 있다.
[0160] 본 발명의 기법들은, 무선 핸드셋, IC(integrated circuit) 또는 IC들의 세트(예컨대, 칩셋)를 포함하는 광범위하게 다양한 디바이스들 또는 장치들에서 구현될 수 있다. 다양한 컴포넌트들, 모듈들, 또는 유닛들은, 개시된 기법들을 수행하도록 구성된 디바이스들의 기능 양상들을 강조하기 위해 본 개시내용에 설명되지만, 상이한 하드웨어 유닛들에 의한 실현을 반드시 요구하지는 않는다. 오히려, 위에 설명된 바와 같이, 다양한 유닛들은, 코덱 하드웨어 유닛으로 결합될 수 있거나, 적절한 소프트웨어 및/또는 펌웨어와 함께 위에 설명된 것과 같은 하나 또는 그 초과의 프로세서들을 포함하는 상호동작하는(interoperative) 하드웨어 유닛들의 집합에 의해 제공될 수 있다.
[0161] 다양한 예들이 설명되었다. 이러한 그리고 다른 예들은 이하의 청구항들의 범위 내에 존재한다.
Claims (33)
- 품질 측정 보고들을 생성하는 방법으로서,
클라이언트 디바이스의 미들웨어 유닛에 의해, 서버 디바이스로부터 브로드캐스트 또는 멀티캐스트를 통해 미디어 데이터를 수신하는 단계;
상기 미들웨어 유닛에 의해, 수신된 보고 지시(directive)들에 따라, 상기 브로드캐스트 또는 상기 멀티캐스트를 통한 상기 미디어 데이터의 수신을 커버하는 브로드캐스트 또는 멀티캐스트 수신 보고들을 생성하는 단계;
브로드캐스트 또는 멀티캐스트 프로토콜에 따라 상기 미들웨어 유닛에 의해, 브로드캐스트 또는 멀티캐스트 수신 보고 서버에 상기 브로드캐스트 또는 멀티캐스트 수신 보고들을 전송하는 단계;
상기 미들웨어 유닛에 의해, 상기 클라이언트 디바이스의 타겟 애플리케이션으로부터의 HTTP(hypertext transfer protocol) 요청들에 응답하여 HTTP-기반 스트리밍 서비스를 통해 상기 타겟 애플리케이션에 상기 미디어 데이터의 적어도 일부를 전달하는 단계 ― 상기 타겟 애플리케이션은 스트리밍 애플리케이션을 포함함 ―;
상기 HTTP-기반 스트리밍 서비스를 통해 상기 미들웨어 유닛에 의해, 상기 타겟 애플리케이션으로부터 HTTP 스트리밍 QoE(quality of experience) 보고들을 수신하는 단계 ― 상기 HTTP 스트리밍 QoE 보고들은 HTTP 스트리밍 메트릭들을 나타내는 데이터를 포함함 ―; 및
상기 타겟 애플리케이션 대신 상기 미들웨어 유닛에 의해, HTTP 스트리밍 메트릭 수집 서버에 상기 HTTP 스트리밍 QoE 보고들의 콘텐츠를 제공하는 단계를 포함하는, 품질 측정 보고들을 생성하는 방법. - 제1 항에 있어서,
상기 HTTP 스트리밍 메트릭 수집 서버는 상기 서버 디바이스와 동일한, 품질 측정 보고들을 생성하는 방법. - 제1 항에 있어서,
상기 타겟 애플리케이션이 상기 QoE 보고들을 전송할 목적지 어드레스로서 상기 클라이언트 디바이스의 로컬호스트 어드레스를 상기 타겟 애플리케이션에 시그널링하는 단계를 더 포함하는, 품질 측정 보고들을 생성하는 방법. - 제3 항에 있어서,
상기 QoE 보고들을 수신하는 것은, 상기 미들웨어 유닛에 의해, 상기 타겟 애플리케이션으로부터, 특정된 로컬호스트 어드레스로의 상기 QoE 보고들의 HTTP POST를 수신하는 것을 포함하는, 품질 측정 보고들을 생성하는 방법. - 제1 항에 있어서,
보고될 상기 QoE 보고들을 표시하는 데이터를 포함하는 상기 미디어 데이터에 대한 매니페스트 파일을 상기 타겟 애플리케이션에 전송하는 단계를 더 포함하는, 품질 측정 보고들을 생성하는 방법. - 제5 항에 있어서,
상기 서버 디바이스에 제공될 상기 QoE 보고들을 표시하는 데이터를 포함하도록 상기 미디어 데이터에 대한 상기 매니페스트 파일의 오리지널 버전을 수정하는 단계를 더 포함하는, 품질 측정 보고들을 생성하는 방법. - 제6 항에 있어서,
상기 서버 디바이스로부터, 상기 서버 디바이스에 제공될 상기 QoE 보고들을 표시하는 데이터를 수신하는 단계를 더 포함하는, 품질 측정 보고들을 생성하는 방법. - 제5 항에 있어서,
상기 매니페스트 파일은 복수의 메트릭 엘리먼트들을 포함하고, 상기 복수의 메트릭 엘리먼트들 각각은 상기 서버 디바이스에 제공될 개개의 속성 메트릭들을 포함하는, 품질 측정 보고들을 생성하는 방법. - 제1 항에 있어서,
상기 QoE 보고들이 상기 HTTP 스트리밍 메트릭 수집 서버에 보고될 것임을 표시하는 데이터를 수신하는 단계를 더 포함하는, 품질 측정 보고들을 생성하는 방법. - 제9 항에 있어서,
상기 QoE 보고들이 상기 HTTP 스트리밍 메트릭 수집 서버에 보고될 것임을 표시하는 데이터를 수신하는 것은, 상기 QoE 보고들이 압축될지 여부, 보고될 상기 QoE 보고들의 리스트, QoE 보고들의 보고가 상기 브로드캐스트 또는 멀티캐스트에 대한 수신 보고와 동기화될지 여부, 또는 QoE 보고들이 보고되어야 하는 조건부 확률을 나타내는 DASH QoE 샘플링 퍼센테이지 중 적어도 하나를 표시하는 데이터를 수신하는 것을 더 포함하는, 품질 측정 보고들을 생성하는 방법. - 제9 항에 있어서,
상기 QoE 보고들이 상기 HTTP 스트리밍 메트릭 수집 서버에 보고될 것임을 표시하는 데이터를 수신하는 것은 ADPD(associated delivery procedure description)에서 상기 데이터를 수신하는 것을 포함하는, 품질 측정 보고들을 생성하는 방법. - 제1 항에 있어서,
상기 QoE 보고들을 제공하는 것은 상기 서버 디바이스에 단일 문헌을 전송하는 것을 포함하고,
상기 단일 문헌은 상기 QoE 보고들 및 수신 보고 데이터를 포함하고, 그리고
상기 단일 문헌을 전송하는 것은:
상기 단일 문헌의 상기 QoE 보고들의 다중부분 MIME 타입에 대해 제1 값을 세팅하는 것; 및
상기 단일 문헌의 상기 수신 보고 데이터의 다중부분 MIME 타입에 대해 상이한 제2 값을 세팅하는 것을 포함하는, 품질 측정 보고들을 생성하는 방법. - 제1 항에 있어서,
상기 QoE 보고들을 제공하는 것은 상기 서버 디바이스에 단일 문헌을 전송하는 것을 포함하고,
상기 단일 문헌은 상기 QoE 보고들 및 수신 보고 데이터를 포함하고, 그리고
상기 단일 문헌을 전송하는 것은:
상기 단일 문헌의 상기 QoE 보고들의 제1 XML(extensible markup language) 헤더를 세팅하는 것; 및
상기 단일 문헌의 상기 수신 보고 데이터의 상이한 제2 XML 헤더를 세팅하는 것을 포함하는, 품질 측정 보고들을 생성하는 방법. - 제1 항에 있어서,
모든 수신된 데이터에 대한 상기 QoE 보고들을 보고하라는 명령들을 상기 타겟 애플리케이션에 전송하는 단계; 및
수집 확률에 기초하여 보고들 중 적어도 일부를 폐기하는 단계를 더 포함하는, 품질 측정 보고들을 생성하는 방법. - 제1 항에 있어서,
상기 타겟 애플리케이션은 제1 타겟 애플리케이션을 포함하고,
상기 QoE 보고들을 수신하는 것은 상기 제1 타겟 애플리케이션으로부터 제1 세트의 QoE 보고들을 수신하는 것을 포함하고,
상기 방법은 상기 제1 타겟 애플리케이션을 포함한 복수의 타겟 애플리케이션들로부터 상기 제1 세트의 QoE 보고들을 포함한 복수의 QoE 보고들을 수신하는 단계를 더 포함하고,
상기 QoE 보고들을 제공하는 것은 상기 HTTP 스트리밍 메트릭 수집 서버에 상기 복수의 QoE 보고들을 포함하는 보고를 전송하는 것을 포함하는, 품질 측정 보고들을 생성하는 방법. - 품질 측정 보고들을 생성하기 위한 디바이스로서,
디지털 회로를 사용하여 구현되는 하나 이상의 하드웨어-기반 프로세서들을 포함하고,
상기 프로세서들은 미디어 데이터에 대한 타겟 애플리케이션 및 미들웨어 유닛을 실행하도록 구성되고,
상기 미들웨어 유닛은:
서버 디바이스로부터 브로드캐스트 또는 멀티캐스트를 통해 미디어 데이터를 수신하고;
수신된 보고 지시들에 따라, 브로드캐스트 또는 멀티캐스트를 통한 상기 미디어 데이터의 수신을 커버하는 브로드캐스트 또는 멀티캐스트 수신 보고들을 생성하고;
브로드캐스트 또는 멀티캐스트 프로토콜에 따라, 브로드캐스트 또는 멀티캐스트 수신 보고 서버에 상기 브로드캐스트 또는 멀티캐스트 수신 보고들을 전송하고;
클라이언트 디바이스의 타겟 애플리케이션으로부터의 HTTP(hypertext transfer protocol) 요청들에 응답하여 HTTP-기반 스트리밍 서비스를 통해 상기 타겟 애플리케이션에 상기 미디어 데이터의 적어도 일부를 전달하고 ― 상기 타겟 애플리케이션은 스트리밍 애플리케이션을 포함함 ―;
상기 HTTP-기반 스트리밍 서비스를 통해, 상기 타겟 애플리케이션으로부터 HTTP 스트리밍 QoE(quality of experience) 보고들을 수신하고 ― 상기 HTTP 스트리밍 QoE 보고들은 HTTP 스트리밍 메트릭들을 나타내는 데이터를 포함함 ―; 그리고
상기 타겟 애플리케이션 대신, HTTP 스트리밍 메트릭 수집 서버에 상기 HTTP 스트리밍 QoE 보고들의 콘텐츠를 제공하도록
구성되는, 품질 측정 보고들을 생성하기 위한 디바이스. - 제16 항에 있어서,
상기 미들웨어 유닛은, 상기 타겟 애플리케이션이 상기 QoE 보고들을 전송할 목적지 어드레스로서 상기 클라이언트 디바이스의 로컬호스트 어드레스를 특정하는 매니페스트 파일을 상기 타겟 애플리케이션에 전송하고, 그리고 상기 타겟 애플리케이션으로부터, 특정된 로컬호스트 어드레스에 대한 상기 QoE 보고들의 HTTP POST를 수신하도록 추가로 구성되는, 품질 측정 보고들을 생성하기 위한 디바이스. - 제16 항에 있어서,
상기 미들웨어 유닛은 보고될 상기 QoE 보고들을 표시하는 데이터를 포함하는 상기 미디어 데이터에 대한 매니페스트 파일을 상기 타겟 애플리케이션에 전송하도록 추가로 구성되는, 품질 측정 보고들을 생성하기 위한 디바이스. - 제16 항에 있어서,
상기 미들웨어 유닛은 ADPD(associated delivery procedure description)를 수신하도록 추가로 구성되고, 그리고
상기 ADPD는 상기 QoE 보고들이 상기 HTTP 스트리밍 메트릭 수집 서버에 보고될 것임을 표시하고, 그리고 상기 QoE 보고들이 압축될지 여부, 보고될 상기 QoE 보고들의 리스트, QoE 보고들의 보고가 상기 브로드캐스트 또는 멀티캐스트에 대한 수신 보고와 동기화될지 여부, 또는 QoE 보고들이 보고되어야 하는 조건부 확률을 나타내는 DASH QoE 샘플링 퍼센테이지 중 적어도 하나를 표시하는, 품질 측정 보고들을 생성하기 위한 디바이스. - 제16 항에 있어서,
상기 미들웨어 유닛은 상기 서버 디바이스에 단일 문헌을 전송하도록 구성되고,
상기 단일 문헌은 상기 QoE 보고들 및 수신 보고 데이터를 포함하고, 그리고
상기 단일 문헌을 전송하기 위해, 상기 미들웨어 유닛은:
상기 단일 문헌의 상기 QoE 보고들의 다중부분 MIME 타입에 대해 제1 값을 세팅하고; 그리고
상기 단일 문헌의 상기 수신 보고 데이터의 다중부분 MIME 타입에 대해 상이한 제2 값을 세팅하도록
구성되는, 품질 측정 보고들을 생성하기 위한 디바이스. - 제16 항에 있어서,
상기 미들웨어 유닛은 상기 서버 디바이스에 단일 문헌을 전송하도록 구성되고,
상기 단일 문헌은 상기 QoE 보고들 및 수신 보고 데이터를 포함하고, 그리고
상기 단일 문헌을 전송하기 위해, 상기 미들웨어 유닛은:
상기 단일 문헌의 상기 QoE 보고들의 제1 XML(extensible markup language) 헤더를 세팅하고; 그리고
상기 단일 문헌의 상기 수신 보고 데이터의 상이한 제2 XML 헤더를 세팅하도록
구성되는, 품질 측정 보고들을 생성하기 위한 디바이스. - 명령들이 저장된 비-일시적 컴퓨터-판독가능 저장 매체로서,
상기 명령들은 실행될 때 클라이언트 디바이스의 미들웨어 유닛의 프로세서로 하여금:
서버 디바이스로부터 브로드캐스트 또는 멀티캐스트를 통해 미디어 데이터를 수신하게 하고;
수신된 보고 지시들에 따라, 브로드캐스트 또는 멀티캐스트를 통한 상기 미디어 데이터의 수신을 커버하는 브로드캐스트 또는 멀티캐스트 수신 보고들을 생성하게 하고;
브로드캐스트 또는 멀티캐스트 프로토콜에 따라, 브로드캐스트 또는 멀티캐스트 수신 보고 서버에 상기 브로드캐스트 또는 멀티캐스트 수신 보고들을 전송하게 하고;
상기 클라이언트 디바이스의 타겟 애플리케이션으로부터의 HTTP(hypertext transfer protocol) 요청들에 응답하여 HTTP-기반 스트리밍 서비스를 통해 상기 타겟 애플리케이션에 상기 미디어 데이터의 적어도 일부를 전달하게 하고 ― 상기 타겟 애플리케이션은 스트리밍 애플리케이션을 포함함 ―;
상기 HTTP-기반 스트리밍 서비스를 통해, 상기 타겟 애플리케이션으로부터 HTTP 스트리밍 QoE(quality of experience) 보고들을 수신하게 하고 ― 상기 HTTP 스트리밍 QoE 보고들은 HTTP 스트리밍 메트릭들을 나타내는 데이터를 포함함 ―; 그리고
상기 타겟 애플리케이션 대신, HTTP 스트리밍 메트릭 수집 서버에 상기 HTTP 스트리밍 QoE 보고들의 콘텐츠를 제공하게 하는, 비-일시적 컴퓨터-판독가능 저장 매체. - 제22 항에 있어서,
상기 프로세서로 하여금 상기 타겟 애플리케이션이 상기 QoE 보고들을 전송할 목적지 어드레스로서 상기 디바이스의 로컬호스트 어드레스를 특정하는 매니페스트 파일을 상기 타겟 애플리케이션에 전송하게 하는 명령들을 더 포함하고,
QoE 보고들을 수신하기 위한 수단은, 상기 타겟 애플리케이션으로부터, 특정된 로컬호스트 어드레스로의 QoE 보고들의 HTTP POST를 수신하기 위한 수단을 포함하는, 비-일시적 컴퓨터-판독가능 저장 매체. - 제22 항에 있어서,
상기 프로세서로 하여금 보고될 상기 QoE 보고들을 표시하는 데이터를 포함하는 상기 미디어 데이터에 대한 매니페스트 파일을 상기 타겟 애플리케이션에 전송하게 하는 명령들을 더 포함하는, 비-일시적 컴퓨터-판독가능 저장 매체. - 제22 항에 있어서,
상기 프로세서로 하여금 ADPD(associated delivery procedure description)를 수신하게 하는 명령들을 더 포함하고,
상기 ADPD는 상기 QoE 보고들이 상기 브로드캐스트 또는 멀티캐스트 수신 보고 서버에 보고될 것임을 표시하고, 그리고 상기 QoE 보고들이 압축될지 여부, 보고될 상기 QoE 보고들의 리스트, QoE 보고들의 보고가 상기 브로드캐스트 또는 멀티캐스트에 대한 수신 보고와 동기화될지 여부, 또는 QoE 보고들이 보고되어야 하는 조건부 확률을 나타내는 DASH QoE 샘플링 퍼센테이지 중 적어도 하나를 표시하는, 비-일시적 컴퓨터-판독가능 저장 매체. - 제22 항에 있어서,
상기 프로세서로 하여금 상기 QoE 보고들을 제공하게 하는 명령들은 상기 프로세서로 하여금 상기 서버 디바이스에 단일 문헌을 전송하게 하는 명령들을 포함하고,
상기 단일 문헌은 상기 QoE 보고들 및 수신 보고 데이터를 포함하고, 그리고
상기 프로세서로 하여금 상기 단일 문헌을 전송하게 하는 명령들은, 상기 프로세서로 하여금:
상기 단일 문헌의 상기 QoE 보고들의 다중부분 MIME 타입에 대해 제1 값을 세팅하게 하고; 그리고
상기 단일 문헌의 상기 수신 보고 데이터의 다중부분 MIME 타입에 대해 상이한 제2 값을 세팅하게 하는
명령들을 포함하는, 비-일시적 컴퓨터-판독가능 저장 매체. - 제22 항에 있어서,
상기 프로세서로 하여금 상기 QoE 보고들을 제공하게 하는 명령들은 상기 프로세서로 하여금 상기 서버 디바이스에 단일 문헌을 전송하게 하는 명령들을 포함하고,
상기 단일 문헌은 상기 QoE 보고들 및 수신 보고 데이터를 포함하고, 그리고
상기 프로세서로 하여금 상기 단일 문헌을 전송하게 하는 명령들은, 상기 프로세서로 하여금:
상기 단일 문헌의 상기 QoE 보고들의 제1 XML(extensible markup language) 헤더를 세팅하게 하고; 그리고
상기 단일 문헌의 상기 수신 보고 데이터의 상이한 제2 XML 헤더를 세팅하게 하는
명령들을 포함하는, 비-일시적 컴퓨터-판독가능 저장 매체. - 제1 항에 있어서,
상기 브로드캐스트 또는 멀티캐스트 수신 보고 서버는 상기 HTTP 스트리밍 메트릭 수집 서버와 동일한, 품질 측정 보고들을 생성하는 방법. - 제1 항에 있어서,
상기 브로드캐스트 또는 멀티캐스트 수신 보고 서버는 상기 HTTP 스트리밍 메트릭 수집 서버와 상이한, 품질 측정 보고들을 생성하는 방법. - 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562182267P | 2015-06-19 | 2015-06-19 | |
US62/182,267 | 2015-06-19 | ||
US15/184,451 | 2016-06-16 | ||
US15/184,451 US11095537B2 (en) | 2015-06-19 | 2016-06-16 | Middleware delivery of dash client QoE metrics |
PCT/US2016/038150 WO2016205697A1 (en) | 2015-06-19 | 2016-06-17 | Middleware delivery of dash client qoe metrics |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180019580A KR20180019580A (ko) | 2018-02-26 |
KR102203162B1 true KR102203162B1 (ko) | 2021-01-13 |
Family
ID=56345221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177036301A KR102203162B1 (ko) | 2015-06-19 | 2016-06-17 | Dash 클라이언트 qoe 메트릭들의 미들웨어 전달 |
Country Status (10)
Country | Link |
---|---|
US (1) | US11095537B2 (ko) |
EP (1) | EP3311543B1 (ko) |
JP (1) | JP6770000B2 (ko) |
KR (1) | KR102203162B1 (ko) |
CN (1) | CN107743703B (ko) |
CA (1) | CA2986597C (ko) |
ES (1) | ES2784605T3 (ko) |
HU (1) | HUE047763T2 (ko) |
TW (1) | TWI714602B (ko) |
WO (1) | WO2016205697A1 (ko) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012134530A1 (en) * | 2011-04-01 | 2012-10-04 | Intel Corporation | Cross-layer optimized adaptive http streaming |
US20170111424A1 (en) * | 2015-07-08 | 2017-04-20 | Telefonaktiebolaget Lm Ericsson (Publ) | A method and apparatus for reporting data from a wireless device to a network node of a communication network |
US10270834B2 (en) * | 2015-08-20 | 2019-04-23 | Huawei Technologies Co., Ltd. | System and method for online multimedia streaming services |
EP3357208B1 (en) * | 2015-09-29 | 2020-02-26 | Telefonaktiebolaget LM Ericsson (PUBL) | Pcc control of http adaptive bit rate video streaming protocols |
TWI599218B (zh) * | 2016-07-29 | 2017-09-11 | 元智大學 | 即時影音傳輸系統 |
US10574718B2 (en) * | 2016-08-25 | 2020-02-25 | Comcast Cable Communications, Llc | Packaging content for delivery |
US9872062B1 (en) * | 2017-02-22 | 2018-01-16 | Wyse Technology L.L.C. | Enforcing synchronization by embedding audio within video frame data |
JP6611748B2 (ja) * | 2017-03-23 | 2019-11-27 | Kddi株式会社 | 画質情報でセグメント受信を制御するクライアント、システム、プログラム及び方法 |
EP3603006B1 (en) * | 2017-03-23 | 2024-05-01 | Vid Scale, Inc. | Metrics and messages to improve experience for 360-degree adaptive streaming |
US10652166B2 (en) * | 2017-06-27 | 2020-05-12 | Cisco Technology, Inc. | Non-real time adaptive bitrate recording scheduler |
CN110870339B (zh) * | 2017-07-10 | 2023-08-11 | 诺基亚技术有限公司 | 体验质量测量值收集报告的增强 |
US10594773B2 (en) * | 2018-01-22 | 2020-03-17 | Spredfast, Inc. | Temporal optimization of data operations using distributed search and server management |
US11178453B2 (en) * | 2018-01-29 | 2021-11-16 | Qualcomm Incorporated | Signaling and reporting interactivity usage in streaming services |
CN111654725B (zh) * | 2019-03-04 | 2021-12-21 | 北京开广信息技术有限公司 | 媒体流的实时接收方法及客户端 |
WO2021025946A1 (en) * | 2019-08-02 | 2021-02-11 | Dolby Laboratories Licensing Corporation | Personalized sensitivity measurements and playback factors for adaptive and personalized media coding and delivery |
US11076158B2 (en) * | 2019-09-09 | 2021-07-27 | Facebook Technologies, Llc | Systems and methods for reducing WiFi latency using transmit opportunity and duration |
GB2598102A (en) * | 2020-08-13 | 2022-02-23 | Sony Group Corp | A terminal device, infrastructure equipment and methods |
US11533346B2 (en) * | 2021-01-05 | 2022-12-20 | Tencent America LLC | Methods and apparatuses for dynamic adaptive streaming over HTTP |
WO2022201225A1 (ja) | 2021-03-22 | 2022-09-29 | 日本電信電話株式会社 | 制御装置、制御方法及びプログラム |
KR20230149021A (ko) * | 2022-04-19 | 2023-10-26 | 삼성전자주식회사 | 무선 통신 시스템에서 QoE 설정을 브로드캐스트 하기 위한 방법 및 장치 |
US20240089183A1 (en) * | 2022-09-12 | 2024-03-14 | Apple Inc. | Managing quality of experience in communications networks |
WO2024095220A1 (en) * | 2022-11-04 | 2024-05-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Systems and methods for alignment of quality of experience for an application and multicast broadcast services |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130268577A1 (en) * | 2012-04-09 | 2013-10-10 | Ozgur Oyman | Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content |
US20130326551A1 (en) * | 2012-05-30 | 2013-12-05 | Debdeep CHATTERJEE | Wireless multimedia quality of experience reporting |
WO2015027370A1 (en) * | 2013-08-26 | 2015-03-05 | Telefonaktiebolaget L M Ericsson (Publ) | A method and arrangements in a communication system for enabling feedback transmission |
US20150281913A1 (en) | 2014-03-25 | 2015-10-01 | Qualcomm Incorporated | Client id and multi-application support for reception reporting |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6882639B1 (en) * | 1998-09-21 | 2005-04-19 | Nortel Networks Limited | Telecommunications middleware |
TW201644278A (zh) | 2011-02-11 | 2016-12-16 | 內數位專利控股公司 | 內熔分配及接收方法及裝置 |
US9473967B2 (en) | 2011-11-17 | 2016-10-18 | Qualcomm Incorporated | Method and apparatus for physical layer measurements in multicast broadcast multimedia service systems |
US10511997B2 (en) | 2012-07-09 | 2019-12-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and arrangement for distributing information during broadcast delivery |
CN103001961B (zh) | 2012-12-03 | 2016-03-30 | 华为技术有限公司 | 一种获取流媒体缓存参数的方法及装置 |
EP2944089B1 (en) | 2013-01-11 | 2018-03-07 | Telefonaktiebolaget LM Ericsson (publ) | Technique for operating client and server devices in a broadcast communication network |
US20140199044A1 (en) | 2013-01-15 | 2014-07-17 | Qualcomm Incorporated | Supporting transport diversity and time-shifted buffers for media streaming over a network |
US9544802B2 (en) | 2013-03-13 | 2017-01-10 | Qualcomm Incorporated | System and methods for determining opt in/opt out status of middleware reception reporting for eMBMS services |
EP3065409A4 (en) | 2013-10-30 | 2017-08-09 | Sony Corporation | Transmission device, transmission method, reception device, and reception method |
-
2016
- 2016-06-16 US US15/184,451 patent/US11095537B2/en active Active
- 2016-06-17 JP JP2017564621A patent/JP6770000B2/ja active Active
- 2016-06-17 CA CA2986597A patent/CA2986597C/en active Active
- 2016-06-17 CN CN201680035147.1A patent/CN107743703B/zh active Active
- 2016-06-17 HU HUE16734801A patent/HUE047763T2/hu unknown
- 2016-06-17 KR KR1020177036301A patent/KR102203162B1/ko active IP Right Grant
- 2016-06-17 WO PCT/US2016/038150 patent/WO2016205697A1/en active Search and Examination
- 2016-06-17 EP EP16734801.0A patent/EP3311543B1/en active Active
- 2016-06-17 ES ES16734801T patent/ES2784605T3/es active Active
- 2016-06-17 TW TW105119223A patent/TWI714602B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130268577A1 (en) * | 2012-04-09 | 2013-10-10 | Ozgur Oyman | Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content |
US20130326551A1 (en) * | 2012-05-30 | 2013-12-05 | Debdeep CHATTERJEE | Wireless multimedia quality of experience reporting |
WO2015027370A1 (en) * | 2013-08-26 | 2015-03-05 | Telefonaktiebolaget L M Ericsson (Publ) | A method and arrangements in a communication system for enabling feedback transmission |
US20150281913A1 (en) | 2014-03-25 | 2015-10-01 | Qualcomm Incorporated | Client id and multi-application support for reception reporting |
Non-Patent Citations (1)
Title |
---|
3GPP S4-130418 |
Also Published As
Publication number | Publication date |
---|---|
ES2784605T3 (es) | 2020-09-29 |
JP2018526845A (ja) | 2018-09-13 |
HUE047763T2 (hu) | 2020-05-28 |
WO2016205697A1 (en) | 2016-12-22 |
CA2986597A1 (en) | 2016-12-22 |
TWI714602B (zh) | 2021-01-01 |
CN107743703B (zh) | 2021-05-14 |
EP3311543A1 (en) | 2018-04-25 |
US11095537B2 (en) | 2021-08-17 |
EP3311543B1 (en) | 2020-01-08 |
CN107743703A (zh) | 2018-02-27 |
CA2986597C (en) | 2022-07-19 |
US20160373324A1 (en) | 2016-12-22 |
JP6770000B2 (ja) | 2020-10-14 |
KR20180019580A (ko) | 2018-02-26 |
TW201711431A (zh) | 2017-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102203162B1 (ko) | Dash 클라이언트 qoe 메트릭들의 미들웨어 전달 | |
US20230283863A1 (en) | Retrieving and accessing segment chunks for media streaming | |
US10193994B2 (en) | Signaling cached segments for broadcast | |
US20160337424A1 (en) | Transferring media data using a websocket subprotocol | |
US11146852B2 (en) | Signaling missing sections of media data for network streaming in a segment | |
US20180176278A1 (en) | Detecting and signaling new initialization segments during manifest-file-free media streaming | |
US20150312303A1 (en) | Determining whether to use sidx information when streaming media data | |
KR20230030589A (ko) | 스위칭 세트들을 갖는 어드레스가능한 리소스 인덱스 트랙을 포함하는 미디어 데이터의 스트리밍 | |
US20220239601A1 (en) | Background data traffic distribution of media data | |
KR20160138044A (ko) | 미디어 데이터를 스트리밍하기 위한 목표된 광고 삽입 | |
US20210306703A1 (en) | Determination of availability of chunks of data for network streaming media data | |
US20210344992A1 (en) | Calculating start time availability for streamed media data | |
US11943501B2 (en) | Dynamic resolution change hints for adaptive streaming | |
US11582125B2 (en) | Repair mechanism for adaptive bit rate multicast | |
WO2022164862A1 (en) | Background data traffic distribution of media data | |
BR112017027511B1 (pt) | Distribuição de middleware de métricas de qoe de cliente dash |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |