KR20180044915A - 코딩된 오디오 데이터의 전송 - Google Patents
코딩된 오디오 데이터의 전송 Download PDFInfo
- Publication number
- KR20180044915A KR20180044915A KR1020187005327A KR20187005327A KR20180044915A KR 20180044915 A KR20180044915 A KR 20180044915A KR 1020187005327 A KR1020187005327 A KR 1020187005327A KR 20187005327 A KR20187005327 A KR 20187005327A KR 20180044915 A KR20180044915 A KR 20180044915A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- audio
- adaptation sets
- adaptation
- streaming client
- Prior art date
Links
- 230000005540 biological transmission Effects 0.000 title description 9
- 230000006978 adaptation Effects 0.000 claims abstract description 302
- 238000000034 method Methods 0.000 claims description 117
- 230000014509 gene expression Effects 0.000 claims description 34
- 238000000605 extraction Methods 0.000 claims description 27
- 238000003860 storage Methods 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 25
- 230000003044 adaptive effect Effects 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 15
- 230000000875 corresponding effect Effects 0.000 description 42
- 239000012634 fragment Substances 0.000 description 38
- 238000010586 diagram Methods 0.000 description 35
- 230000008569 process Effects 0.000 description 30
- 238000005538 encapsulation Methods 0.000 description 24
- 239000013598 vector Substances 0.000 description 17
- 230000002123 temporal effect Effects 0.000 description 15
- 238000012546 transfer Methods 0.000 description 14
- 238000012937 correction Methods 0.000 description 13
- 238000009877 rendering Methods 0.000 description 11
- 238000002360 preparation method Methods 0.000 description 10
- 238000013075 data extraction Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 6
- 101000847066 Homo sapiens Translin-associated protein X Proteins 0.000 description 4
- 102100032834 Translin-associated protein X Human genes 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 241000699666 Mus <mouse, genus> Species 0.000 description 2
- 101100412093 Schizosaccharomyces pombe (strain 972 / ATCC 24843) rec16 gene Proteins 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 239000012092 media component Substances 0.000 description 2
- 240000002791 Brassica napus Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
Images
Classifications
-
- 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/70—Media network packetisation
-
- H04L65/607—
-
- G06F17/3074—
-
- 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
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/233—Processing of audio elementary streams
-
- 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]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/442—Monitoring 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/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- 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]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4621—Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
-
- 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]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/637—Control signals issued by the client directed to the server or network components
- H04N21/6373—Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
-
- 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]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8106—Monomedia components thereof involving special audio data, e.g. different tracks for different languages
-
- 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]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
-
- 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/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Abstract
일례에서, 오디오 데이터를 리트리브하기 위한 디바이스는, 복수의 이용가능한 적응 세트들을 표현하는 이용가능성 데이터를 수신하고 ― 이용가능한 적응 세트들은 장면-기반 오디오 적응 세트들 및 하나 이상의 오브젝트-기반 오디오 적응 세트들을 포함함 ―, 장면-기반 오디오 적응 세트들 및 하나 이상의 오브젝트-기반 오디오 적응 세트들 중 어느 것이 리트리브될지를 식별하는 선택 데이터를 수신하고, 선택 데이터에 의해 식별된 적응 세트들 각각에 대한 데이터를 스트리밍 클라이언트가 리트리브하게 하기 위해 스트리밍 클라이언트에 명령 데이터를 제공하도록 구성되는 하나 이상의 프로세서들; 및 오디오 적응 세트들에 대해 리트리브된 데이터를 저장하도록 구성되는 메모리를 포함한다.
Description
[0001]
본 출원은 2015년 8월 25일에 출원된 미국 가출원 제62/209,779호 및 2015년 8월 25일에 출원된 미국 가출원 제62/209,764호의 이익을 주장하며, 상기 가출원들 각각의 전체 내용은 이로써 인용에 의해 통합된다.
[0002]
본 개시는 인코딩된 미디어 데이터의 저장 및 전송에 관한 것이다.
[0003]
디지털 비디오 능력들은, 디지털 텔레비전들, 디지털 다이렉트 브로드캐스트 시스템들, 무선 브로드캐스트 시스템들, PDA들(personal digital assistant), 랩탑 또는 데스크탑 컴퓨터들, 디지털 카메라들, 디지털 레코딩 디바이스들, 디지털 미디어 플레이어들, 비디오 게이밍 디바이스들, 비디오 게임 콘솔들, 셀룰러 또는 위성 라디오 전화들, 비디오 화상회의 디바이스들 등을 포함하는 광범위한 디바이스들에 통합될 수 있다. 디지털 비디오 디바이스들은, 디지털 비디오 정보를 더 효율적으로 송신 및 수신하기 위해, MPEG-2, MPEG-4, ITU-T H.263 또는 ITU-T H.264/MPEG-4, 파트 10, AVC(Advanced Video Coding), ITU-T H.265/HEVC(High Efficiency Video Coding)에 의해 정의된 표준들 및 이러한 표준들의 확장들에서 설명되는 것들과 같은 비디오 압축 기술들을 구현한다.
[0004]
HOA(higher-order ambisonics) 신호(종종 복수의 SHC들(spherical harmonic coefficients) 또는 다른 계층구조적 엘리먼트들에 의해 표현됨)는 사운드필드의 3차원 표현이다. HOA 또는 SHC 표현은, SHC 신호로부터 렌더링된 멀티-채널 오디오 신호를 재생하기 위해 사용되는 로컬 스피커 기하구조와 독립적인 방식으로 사운드필드를 표현할 수 있다.
[0005]
오디오 또는 비디오 데이터와 같은 미디어 데이터가 인코딩된 후, 미디어 데이터는 송신 또는 저장을 위해 패킷화될 수 있다. 미디어 데이터는 ISO(International Organization for Standardization) 베이스 미디어 파일 포맷 및 이의 확장들과 같은 다양한 표준들 중 임의의 것에 부합하는 미디어 파일에 어셈블링될 수 있다.
[0006]
일반적으로, 본 개시는 DASH(Dynamic Adaptive Streaming over HTTP)와 같은 스트리밍 미디어 전송 기술들을 사용하여 3차원(3D) 오디오 데이터를 전송하기 위한 기술들을 설명한다. 3D 오디오 데이터는 예를 들어, 하나 이상의 HOA 신호들 및/또는 SHC들(spherical harmonic coefficients)의 하나 이상의 세트들을 포함할 수 있다. 특히, 본 개시의 기술들에 따라, 다양한 타입들의 오디오 데이터는 예를 들어, DASH에 따라 별개의 적응 세트들에서 제공될 수 있다. 예를 들어, 제1 적응 세트는 장면 오디오 데이터를 포함할 수 있고, 적응 세트들 중 제1 세트는 채널 오디오 데이터를 포함할 수 있고, 적응 세트들 중 제2 세트는 오브젝트 오디오 데이터를 포함할 수 있다. 장면 오디오 데이터는 일반적으로 배경 잡음에 대응할 수 있다. 채널 오디오 데이터는 일반적으로 특정 채널들에 전용되는 (예를 들어, 특정한 대응하는 스피커들에 대한) 오디오 데이터에 대응할 수 있다. 오브젝트 오디오 데이터는 3차원 공간에서 사운드들을 생성하는 오브젝트들로부터 레코딩된 오디오 데이터에 대응할 수 있다. 예를 들어, 오브젝트는 악기, 말하고 있는 사람 또는 다른 사운드-생성 실세계 오브젝트들에 대응할 수 있다.
[0007]
이용가능성 데이터는 오디오 데이터의 타입들 각각을 포함하는 적응 세트를 표시하기 위해 사용될 수 있고, 이용가능성 데이터는 예를 들어, MPEG-H 3D 오디오 데이터 포맷에 따라 포맷될 수 있다. 따라서, MPEG-H 3D 오디오 디코더와 같은 전용 프로세싱 유닛은 이용가능성 데이터를 디코딩하기 위해 사용될 수 있다. 선택 데이터(예를 들어, 사용자 입력 또는 사전-구성된 데이터)는 오디오 데이터의 타입들 중 어느 타입이 리트리브될지를 선택하기 위해 사용될 수 있다. 그 다음, 스트리밍 클라이언트(예를 들어, DASH 클라이언트)는 선택된 적응 세트들에 대한 데이터를 리트리브하도록 명령받을 수 있다.
[0008]
일례에서, 오디오 데이터를 리트리브하는 방법은, 복수의 이용가능한 적응 세트들을 표현하는 이용가능성 데이터를 수신하는 단계 ― 이용가능한 적응 세트들은 장면-기반 오디오 적응 세트들 및 하나 이상의 오브젝트-기반 오디오 적응 세트들을 포함함 ―, 장면-기반 오디오 적응 세트들 및 하나 이상의 오브젝트-기반 오디오 적응 세트들 중 어느 것이 리트리브될지를 식별하는 선택 데이터를 수신하는 단계, 및 선택 데이터에 의해 식별된 적응 세트들 각각에 대한 데이터를 스트리밍 클라이언트가 리트리브하게 하기 위해 스트리밍 클라이언트에 명령 데이터를 제공하는 단계를 포함한다.
[0009]
다른 예에서, 오디오 데이터를 리트리브하기 위한 디바이스는, 복수의 이용가능한 적응 세트들을 표현하는 이용가능성 데이터를 수신하고 ― 이용가능한 적응 세트들은 장면-기반 오디오 적응 세트들 및 하나 이상의 오브젝트-기반 오디오 적응 세트들을 포함함 ―, 장면-기반 오디오 적응 세트들 및 하나 이상의 오브젝트-기반 오디오 적응 세트들 중 어느 것이 리트리브될지를 식별하는 선택 데이터를 수신하고, 선택 데이터에 의해 식별된 적응 세트들 각각에 대한 데이터를 스트리밍 클라이언트가 리트리브하게 하기 위해 스트리밍 클라이언트에 명령 데이터를 제공하도록 구성되는 하나 이상의 프로세서들; 및 오디오 적응 세트들에 대해 리트리브된 데이터를 저장하도록 구성되는 메모리를 포함한다.
[0010]
다른 예에서, 오디오 데이터를 리트리브하기 위한 디바이스는, 복수의 이용가능한 적응 세트들을 표현하는 이용가능성 데이터를 수신하기 위한 수단 ― 이용가능한 적응 세트들은 장면-기반 오디오 적응 세트들 및 하나 이상의 오브젝트-기반 오디오 적응 세트들을 포함함 ―, 장면-기반 오디오 적응 세트들 및 하나 이상의 오브젝트-기반 오디오 적응 세트들 중 어느 것이 리트리브될지를 식별하는 선택 데이터를 수신하기 위한 수단, 및 선택 데이터에 의해 식별된 적응 세트들 각각에 대한 데이터를 스트리밍 클라이언트가 리트리브하게 하기 위해 스트리밍 클라이언트에 명령 데이터를 제공하기 위한 수단을 포함한다.
[0011]
다른 예에서, 컴퓨터 판독가능 저장 매체는 저장된 명령들을 갖고, 명령들은 실행되는 경우 프로세서로 하여금, 복수의 이용가능한 적응 세트들을 표현하는 이용가능성 데이터를 수신하게 하고 ― 이용가능한 적응 세트들은 장면-기반 오디오 적응 세트들 및 하나 이상의 오브젝트-기반 오디오 적응 세트들을 포함함 ―, 장면-기반 오디오 적응 세트들 및 하나 이상의 오브젝트-기반 오디오 적응 세트들 중 어느 것이 리트리브될지를 식별하는 선택 데이터를 수신하게 하고, 선택 데이터에 의해 식별된 적응 세트들 각각에 대한 데이터를 스트리밍 클라이언트가 리트리브하게 하기 위해 스트리밍 클라이언트에 명령 데이터를 제공하게 한다.
[0012]
하나 이상의 예들의 세부사항들은 첨부된 도면들 및 아래의 설명에서 기술된다. 다른 특징들, 목적들 및 이점들은 설명 및 도면들로부터 및 청구항들로부터 자명할 것이다.
[0013]
도 1은 네트워크를 통해 미디어 데이터를 스트리밍하기 위한 기술들을 구현하는 예시적인 시스템을 예시하는 블록도이다.
[0014] 도 2는 리트리벌 유닛의 컴포넌트들의 예시적인 세트를 더 상세히 예시하는 블록도이다.
[0015] 도 3a 및 도 3b는 예시적인 멀티미디어 콘텐츠의 엘리먼트들을 예시하는 개념도들이다.
[0016] 도 4는 표현의 세그먼트에 대응할 수 있는 예시적인 미디어 파일의 엘리먼트들을 예시하는 블록도이다.
[0017] 도 5a 및 도 5b는 인코딩된 3D 오디오 데이터와 같은 인코딩된 미디어 데이터를 전송하기 위한 예시적인 시스템을 예시하는 블록도들이다.
[0018] 도 6a 및 도 6b는, 오브젝트-기반 콘텐츠로부터의 다양한 타입들의 데이터가 별개로 스트리밍되는 다른 예를 예시하는 블록도들이다.
[0019] 도 7a 내지 도 7c는 본 개시의 기술들에 따른 다른 예시적인 시스템을 예시하는 블록도들이다.
[0020] 도 8은 본 개시의 기술들에 따른 추가적인 예시적인 시스템을 예시하는 블록도이다.
[0021] 도 9는 본 개시의 기술들에 따른 다른 예시적인 시스템이다.
[0022] 도 10은 본 개시의 기술들이 사용될 수 있는 다른 예시적인 시스템을 예시적인 시스템을 예시하는 개념도이다.
[0023] 도 11은 본 개시의 기술들이 구현될 수 있는 다른 예시적인 시스템을 예시적인 시스템을 예시하는 개념도이다.
[0024] 도 12는 ATSC3.0에 대한 예시적인 개념적 프로토콜 모델을 예시하는 개념도이다.
[0025] 도 13a 및 도 13b는 멀티-층 오디오 데이터의 예들을 표현하는 개념도들이다.
[0026] 도 14a 및 도 14b는 멀티-층 오디오 데이터의 추가적인 예들을 예시하는 개념도들이다.
[0027] 도 15는 본 개시의 기술들에 따라 스케일링가능한 HOA 데이터가 전송되는 다른 예시적인 시스템을 예시하는 블록도이다.
[0028] 도 16은 본 개시의 기술들에 따른 예시적인 아키텍처를 예시하는 개념도이다.
[0029] 도 17은 본 개시의 기술들에 따른 예시적인 클라이언트 디바이스를 예시하는 블록도이다.
[0030] 도 18은 본 개시의 기술들을 수행하기 위한 예시적인 방법을 예시하는 흐름도이다.
[0031] 도 19는 본 개시의 기술들을 수행하기 위한 다른 예시적인 방법을 예시하는 흐름도이다.
[0014] 도 2는 리트리벌 유닛의 컴포넌트들의 예시적인 세트를 더 상세히 예시하는 블록도이다.
[0015] 도 3a 및 도 3b는 예시적인 멀티미디어 콘텐츠의 엘리먼트들을 예시하는 개념도들이다.
[0016] 도 4는 표현의 세그먼트에 대응할 수 있는 예시적인 미디어 파일의 엘리먼트들을 예시하는 블록도이다.
[0017] 도 5a 및 도 5b는 인코딩된 3D 오디오 데이터와 같은 인코딩된 미디어 데이터를 전송하기 위한 예시적인 시스템을 예시하는 블록도들이다.
[0018] 도 6a 및 도 6b는, 오브젝트-기반 콘텐츠로부터의 다양한 타입들의 데이터가 별개로 스트리밍되는 다른 예를 예시하는 블록도들이다.
[0019] 도 7a 내지 도 7c는 본 개시의 기술들에 따른 다른 예시적인 시스템을 예시하는 블록도들이다.
[0020] 도 8은 본 개시의 기술들에 따른 추가적인 예시적인 시스템을 예시하는 블록도이다.
[0021] 도 9는 본 개시의 기술들에 따른 다른 예시적인 시스템이다.
[0022] 도 10은 본 개시의 기술들이 사용될 수 있는 다른 예시적인 시스템을 예시적인 시스템을 예시하는 개념도이다.
[0023] 도 11은 본 개시의 기술들이 구현될 수 있는 다른 예시적인 시스템을 예시적인 시스템을 예시하는 개념도이다.
[0024] 도 12는 ATSC3.0에 대한 예시적인 개념적 프로토콜 모델을 예시하는 개념도이다.
[0025] 도 13a 및 도 13b는 멀티-층 오디오 데이터의 예들을 표현하는 개념도들이다.
[0026] 도 14a 및 도 14b는 멀티-층 오디오 데이터의 추가적인 예들을 예시하는 개념도들이다.
[0027] 도 15는 본 개시의 기술들에 따라 스케일링가능한 HOA 데이터가 전송되는 다른 예시적인 시스템을 예시하는 블록도이다.
[0028] 도 16은 본 개시의 기술들에 따른 예시적인 아키텍처를 예시하는 개념도이다.
[0029] 도 17은 본 개시의 기술들에 따른 예시적인 클라이언트 디바이스를 예시하는 블록도이다.
[0030] 도 18은 본 개시의 기술들을 수행하기 위한 예시적인 방법을 예시하는 흐름도이다.
[0031] 도 19는 본 개시의 기술들을 수행하기 위한 다른 예시적인 방법을 예시하는 흐름도이다.
[0032]
일반적으로, 본 개시는 인코딩된 3차원(3D) 오디오 데이터와 같은 인코딩된 미디어 데이터를 전송하기 위한 기술들을 설명한다. 서라운드 사운드의 진화는 엔터테인먼트를 위해 이용가능한 많은 출력 포맷들을 생성해왔다. 이러한 고객 서라운드 사운드 포맷들의 예들은, 이들이 특정 기하학적 좌표들에서 라우드스피커들에 대한 피드(feed)들을 묵시적으로 특정한다는 점에 기반하여 대개 '채널'이다. 고객 서라운드 사운드 포맷들은, 대중적 5.1 포맷(하기 6개의 채널들, 즉, FL(front left), FR(front right), 중앙 또는 전방 중앙, 후방 좌측 또는 서라운드 좌측, 후방 우측 또는 서라운드 우측 및 LFE(low frequency effects)을 포함함), 성장하는 7.1 포맷, 및 높이 스피커들을 포함하는 다양한 포맷들, 예를 들어 7.1.4 포맷 및 (예를 들어, 초고해상도 텔레비전 표준에서의 사용을 위한) 22.2 포맷을 포함한다. 넌-고객 포맷들은 종종 '서라운드 어레이들'로 지칭되는 (대칭적 및 비대칭적 기하구조들의) 임의의 수의 스피커들에 걸쳐 있을 수 있다. 이러한 어레이의 일례는 절단된 20면체의 코너들 상의 좌표들 상에 위치된 32개의 라우드스피커들을 포함한다.
[0033]
미래의 MPEG-H 인코더에 대한 입력은 선택적으로, 3개의 가능한 포맷들, 즉 (i) 미리 특정된 위치들의 라우드스피커들을 통해 재생되도록 의도되는 종래의 (앞서 논의된 바와 같은) 채널-기반 오디오; (ii) (다른 정보 중) 오디오 오브젝트들의 위치 좌표들을 포함하는 연관된 메타데이터를 갖는 단일 오디오 오브젝트들에 대한 이산적 PCM(pulse-code-modulation) 데이터를 수반하는 오브젝트-기반 오디오; 및 (iii) 구형 하모닉 베이시스 기능들(또한, "구형 하모닉 계수들" 또는 SHC, "고차 앰비소닉스" 또는 HOA 및 "HOA 계수들"로 지칭됨)의 계수들을 사용하여 사운드필드를 표현하는 것을 수반하는 장면-기반 오디오 중 하나이다. 예시적인 MPEG-H 인코더는, MPEG-H 3D 오디오 - The New Standard forCoding of Immersive Spatial Audio, Jurgen Herre, Senior Member, IEEE, Johannes Hilpert, Achim Kuntz, and Jan Plogsties, IEEE JOURNAL OF SELECTED TOPICS IN SIGNAL PROCESSING, VOL. 9, NO. 5, AUGUST 2015에서 더 상세히 설명된다.
[0034]
새로운 MPEG-H 3D 오디오 표준은 채널, 오브젝트 및 SCE 기반 오디오 스트림들 각각에 대한 표준화된 오디오 비트스트림들, 및 (렌더러를 수반하는) 재생 위치에서 스피커 기하구조(및 스피커들의 수) 및 음향 조건들에 대해 적응가능하고 미지인(agnostic) 후속 디코딩을 제공한다.
[0035]
IEEE 문헌(pg. 771)에서 적시된 바와 같이, HOA는 더 많은 계수 신호들 및 그에 따른 증가된 공간 선택도를 제공하고, 이는, 더 적은 크로스토크를 갖는 라우드스피커 신호들을 렌더링하는 것을 허용하여 감소된 음색 결함들을 도출한다. 오브젝트들과 반대로, HOA의 공간 정보는 명시적 기하구조적 메타데이터에서가 아니라 계수 신호들 자체에서 전달된다. 따라서, 앰비소닉스/HOA는 사운드 장면에서 개별적인 오브젝트들에 대한 액세스를 허용하기에 매우 적합하지는 않다. 그러나, 사운드필드를 표현하기 위해 엘리먼트들의 계층구조적 세트를 사용하여, 콘텐츠 생성자들에 대한 더 많은 유연성이 존재한다. 엘리먼트들의 계층구조적 세트는, 저차(lower-ordered)의 엘리먼트들의 기본 세트가 모델링된 사운드필드의 전체 표현을 제공하도록 엘리먼트들이 순서화되는 엘리먼트들이 세트를 지칭할 수 있다. 이 세트는 고차 엘리먼트들을 포함하도록 확장되기 때문에, 표현은 더 상세하게 되어 해상도를 증가시킨다.
[0036]
엘리먼트들의 계층구조적 세트의 일례는 SHC(spherical harmonic coefficients)의 세트이다. 하기 표현은 SHC를 사용하여 사운드필드의 설명 또는 표현을 예시한다.
[0037]
이 표현은, 시간 t에서 사운드필드의 임의의 포인트 {rr, θr, }에서의 압력 pi가 에 의해 고유하게 표현될 수 있음을 나타낸다. 여기서, 이고, c는 사운드의 속도(~343 m/s)이고, {rr, θr, }는 기준 포인트(또는 관측 포인트)이고, 는 차수 n의 구형 베셀(Bessel) 함수이고, 는 차수 n 및 하위차수 m의 구형 하모닉 기본 함수들이다. 대괄호들 내의 항들은 DFT(discrete Fourier transform), DCT(discrete cosine transform) 또는 웨이블릿(wavelet) 변환과 같은 다양한 시간-주파수 변환들에 의해 근사화될 수 있는 신호의 주파수-도메인 표현(즉, )임이 인식될 수 있다. 계층구조적 세트들의 다른 예들은 웨이블릿 변환 계수들의 세트들 및 다중해상도(multiresolution) 기본 기능들의 계수들의 다른 세트들을 포함한다.
[0038]
본 개시의 기술들은 DASH(Dynamic Adaptive Streaming over HTTP)와 같은 스트리밍 프로토콜을 사용하여 앞서 논의된 바와 같이 인코딩된 오디오 데이터를 전송하기 위해 사용될 수 있다. DASH의 다양한 양상들은, 예를 들어, "Information Technology-Dynamic Adaptive Streaming over HTTP (DASH)-Part 1: Media Presentation Description and Segment Formats," ISO/IEC 23089-1, April 1, 2012; 및 3세대 파트너쉽 프로젝트; 기술 규격 그룹 서비스들 및 시스템 양상들; 투명한 단대단 PSS(Packet-switched Streaming Service); 3GP-DASH(Progressive Download and Dynamic Adaptive Streaming over HTTP)(릴리즈 12) 3GPP TS 26.247, V12.1.0, Dec. 2013에 설명되어 있다.
[0039]
HTTP 스트리밍에서, 빈번하게 사용되는 동작들은 HEAD, GET 및 부분적 GET를 포함한다. HEAD 동작은, URL(uniform resource locator) 또는 URN(uniform resource name)과 연관된 페이로드를 리트리브함이 없이, 주어진 URL 또는 URN과 연관된 파일의 헤더를 리트리브한다. GET 동작은 주어진 URL 또는 URN과 연관된 전체 파일을 리트리브한다. 부분적 GET 동작은 입력 파라미터로서 바이트 범위를 수신하고, 파일의 연속적인 수의 바이트들을 리트리브하고, 여기서 바이트들의 수는 수신된 바이트 범위에 대응한다. 따라서, 영화 프래그먼트들은 HTTP 스트리밍에 대해 제공될 수 있는데, 이는, 부분적 GET 동작이 하나 이상의 개별적인 영화 프래그먼트들을 획득할 수 있기 때문이다. 영화 프래그먼트에서, 상이한 트랙들의 몇몇 트랙 프래그먼트가 존재할 수 있다. HTTP 스트리밍에서, 미디어 프리젠테이션은 클라이언트가 액세스가능한 데이터의 구조화된 집합물일 수 있다. 클라이언트는 사용자에게 스트리밍 서비스를 제시하기 위해 미디어 데이터 정보를 요청 및 다운로드할 수 있다.
[0040]
HTTP 스트리밍을 사용하여 3GPP 데이터를 스트리밍하는 예에서, 멀티미디어 콘텐츠의 비디오 및/또는 오디오 데이터에 대한 다수의 표현들이 존재할 수 있다.
[0041]
아래에서 설명되는 바와 같이, 상이한 표현들은 HoA, 즉 장면 기반 오디오에 대한 스케일링가능한 코딩의 상이한 형태들에 대응할 수 있다.
[0042]
이러한 표현들의 명확성은 MPD(Media Presentation Description) 데이터 구조에서 정의될 수 있다. 미디어 프리젠테이션은 HTTP 스트리밍 클라이언트 디바이스가 액세스가능한 데이터의 구조화된 집합물에 대응할 수 있다. HTTP 스트리밍 클라이언트 디바이스는 클라이언트 디바이스의 사용자에게 스트리밍 서비스를 제시하기 위해 미디어 데이터 정보를 요청 및 다운로드할 수 있다. 미디어 프리젠테이션은 MPD의 업데이트들을 포함할 수 있는 MPD 데이터 구조에서 설명될 수 있다.
[0043]
미디어 프리젠테이션은 하나 이상의 기간들의 시퀀스를 포함할 수 있다. 기간들은 MPD의 기간 엘리먼트에 의해 정의될 수 있다. 각각의 기간은 MPD에서 속성 시작을 가질 수 있다. MPD는 각각의 기간에 대한 시작 속성 및 availableStartTime 속성을 포함할 수 있다. 라이브 서비스들의 경우, 기간의 시작 속성과 MPD 속성 availableStartTime의 합산은 UTC 포맷에서 기간의 이용가능성 시간, 특히 대응하는 기간에서 각각의 표현의 제1 미디어 세그먼트를 특정할 수 있다. 온-디맨드 서비스들의 경우, 제1 기간의 시작 속성은 0일 수 있다. 임의의 다른 기간의 경우, 시작 속성은 제1 기간의 시작 시간에 대한 대응하는 기간의 시작 시간 사이의 시간 오프셋을 특정할 수 있다. 각각의 기간은, 다음 기간의 시작까지 또는 마지막 기간의 경우 미디어 프리젠테이션의 종료까지 확장될 수 있다. 기간 시작 시간들은 정확할 수 있다. 이들은 모든 이전 기간들의 미디어를 재생하는 것으로부터 얻어지는 실제 타이밍을 반영할 수 있다.
[0044]
각각의 기간은 동일한 미디어 콘텐츠에 대한 하나 이상의 표현들을 포함할 수 있다. 표현은 오디오 또는 비디오 데이터의 다수의 대안적인 인코딩된 버전들 중 하나일 수 있다. 표현들은 인코딩 타입들에 의해, 예를 들어, 비디오 데이터에 대한 비트레이트, 해상도 및/또는 코덱, 및 오디오 데이터에 대한 비트레이트, 언어 및/또는 코덱에 의해 상이할 수 있다. 표현이라는 용어는, 멀티미디어 콘텐츠의 특정 기간에 대응하고 특정 방식으로 인코딩되는 인코딩된 오디오 또는 비디오 데이터의 섹션을 지칭하기 위해 사용될 수 있다.
[0045]
특정 기간의 표현은, 그 표현이 속하는 적응 세트를 표시하는 MPD에서의 속성에 의해 표시되는 그룹에 할당될 수 있다. 동일한 적응 세트의 표현들은, 예를 들어, 클라이언트 디바이스가 대역폭 적응을 수행하기 위해 이러한 표현들 사이에서 동적으로 그리고 끊김없이 스위칭할 수 있다는 점에서 일반적으로 서로에 대한 대안들로 고려된다. 예를 들어, 특정 기간에 대한 비디오 데이터의 각각의 표현은 동일한 적응 세트에 할당될 수 있어서, 표현들 중 임의의 것은 대응하는 기간에 대한 멀티미디어 콘텐츠의 비디오 데이터 또는 오디오 데이터와 같은 미디어 데이터를 제시하도록 디코딩하기 위해 선택될 수 있다. 다른 예로, 오디오 적응 세트의 표현은 대역폭 적응을 지원하기 위해 상이한 비트레이트들에서 인코딩된 동일한 타입의 오디오 데이터를 포함할 수 있다. 일 기간 내의 미디어 콘텐츠는, 존재한다면 그룹 0으로부터의 하나의 표현, 또는 일부 예들에서는 각각의 넌-제로 그룹으로부터의 최대 하나의 표현의 조합에 의해 표현될 수 있다. 기간의 각각의 표현에 대한 타이밍 데이터는 기간의 시작 시간에 대해 표현될 수 있다.
[0046]
표현은 하나 이상의 세그먼트들을 포함할 수 있다. 각각의 표현은 초기화 세그먼트를 포함할 수 있거나, 또는 표현의 각각의 세그먼트는 자체-초기화할 수 있다. 존재하는 경우, 초기화 세그먼트는 표현에 액세스하기 위한 초기화 정보를 포함할 수 있다. 일반적으로, 초기화 세그먼트는 미디어 데이터를 포함하지 않는다. 세그먼트는 식별자, 예를 들어, URL(uniform resource locator), URN(uniform resource name) 또는 URI(uniform resource identifier)에 의해 고유하게 참조될 수 있다. MPD는 각각의 세그먼트에 대한 식별자들을 제공할 수 있다. 일부 예들에서, MPD는 또한, 범위 속성 형태로 바이트 범위들을 제공할 수 있고, 이는 URL, URN 또는 URI에 의해 액세스가능한 파일 내의 세그먼트에 대한 데이터에 대응할 수 있다.
[0047]
상이한 타입들의 미디어 데이터에 대한 실질적으로 동시적 리트리벌을 위해 상이한 표현들이 선택될 수 있다. 예를 들어, 클라이언트 디바이스는 오디오 표현, 비디오 표현 및 세그먼트들이 리트리브되는 타이밍된 텍스트 표현을 선택할 수 있다. 일부 예들에서, 클라이언트 디바이스는 대역폭 적응을 수행하기 위한 특정 적응 세트들을 선택할 수 있다. 즉, 클라이언트 디바이스는 비디오 표현들을 포함하는 비디오 적응 세트, 오디오 표현들을 포함하는 적응 세트 및/또는 타이밍된 텍스트를 포함하는 적응 세트를 선택할 수 있다.
[0048]
본 개시의 기술들은 미디어(예를 들어, 3D 오디오) 데이터를, 예를 들어, "Information technology -- Generic coding of moving pictures and associated audio information -- Part 1: Systems," ISO/IEC 13818-1:2013 (also ISO/IEC 13818-1:2015)에서 설명된 MPEG-2 시스템들로 멀티플렉싱하기 위해 사용될 수 있다. 시스템 규격은 시간 스탬프를 각각 갖는 액세스 유닛들을 갖는 스트림들/트랙들을 설명한다. 액세스 유닛들은 멀티플렉싱되고, 이러한 멀티플렉싱이 어떻게 수행될 수 있는지에 대한 일부 유연성이 통상적으로 존재한다. MPEG-H 오디오는 모든 오브젝트들의 샘플들이 하나의 스트림에 배치되도록 허용하는데, 예를 들어, 동일한 시간 코드를 갖는 모든 샘플들은 하나의 액세스 유닛에 맵핑될 수 있다. 시스템 레벨에서, 오브젝트들의, 상이한 시스템 스트림들로의 분리를 허용하는 하나의 마스터 스트림 및 다수의 보조 스트림들을 생성하는 것이 가능하다. 시스템 스트림들은 유연성을 생성하여: 이들은 상이한 전달 경로, 하이브리드 전달, 결코 전달하지 않는 것 등을 허용한다.
[0049]
미디어 데이터, 예를 들어, 오디오 및/또는 비디오 데이터를 포함하는 파일들은, 예를 들어, "Information technology-Coding of audio-visual objects-Part 12: ISO base media file format," ISO/IEC 14496-12:2012에서 설명되는 ISO BMFF(Base Media File Format)에 따라 형성될 수 있다. ISO BMFF에서, 스트림들은 트랙들이고, 액세스 유닛들은 영화 데이터(mdat) 박스에 포함된다. 각각의 트랙은 영화 헤더에서 샘플 엔트리를 얻고, 샘플들을 설명하는 샘플 테이블이 물리적으로 발견될 수 있다. 영화 프래그먼트들을 사용함으로써 분산형 저장이 또한 가능하다.
[0050]
MPEG-2 TS(Transport Stream)에서, 스트림들은 기본적 스트림들이다. MPEG-2 TS에서는 더 적은 유연성이 존재하지만, 일반적으로, 기술들은 ISO BMFF와 유사하다. 미디어 데이터(예를 들어, 3D 오디오 데이터)를 포함하는 파일들은 앞서 논의된 다양한 기술들 중 임의의 것에 따라 형성될 수 있지만, 본 개시는 ISO BMFF/파일 포맷에 대한 기술들을 설명한다. 따라서, 3D 오디오 데이터(예를 들어, 장면 오디오 데이터, 오브젝트 오디오 데이터 및/또는 채널 오디오 데이터)는 MPEG-H 3D 오디오에 따라 인코딩될 수 있고, 예를 들어, ISO BMFF에 따라 캡슐화될 수 있다. 유사하게, 이용가능성 데이터는 MPEG-H 3D 오디오에 따라 인코딩될 수 있다. 따라서, DASH 클라이언트(예를 들어, MPEG-H 3D 오디오 디코더)와 별개인 유닛 또는 디바이스는 이용가능성 데이터를 디코딩할 수 있고, 적응 세트들 중 어느 것이 리트리브될지를 결정할 수 있고, 그 다음, DASH 클라이언트에 명령 데이터를 전송하여, DASH 클라이언트로 하여금 선택된 적응 세트들에 대한 데이터를 리트리브하게 할 수 있다.
[0051]
일반적으로, 파일들은 인코딩된 미디어 데이터, 예를 들어, 인코딩된 3D 오디오 데이터를 포함할 수 있다. DASH에서, 이러한 파일들은 앞서 논의된 바와 같이 표현의 "세그먼트들"로 지칭될 수 있다. 또한, 콘텐츠 제공자는 앞서 언급된 바와 같이, 다양한 적응 세트들을 사용하여 미디어 콘텐츠를 제공할 수 있다. 3D 오디오 데이터에 대해, 장면 오디오 데이터는 하나의 적응 세트에서 제공될 수 있다. 이러한 적응 세트는 (예를 들어, 비트레이트에서는 서로 상이하지만 그렇지 않으면 실질적으로 동일한) 장면 오디오 데이터에 대한 다양한 스위칭가능한(즉, 대안적인) 표현들을 포함할 수 있다. 유사하게, 오디오 오브젝트들 각각은 각각의 적응 세트에서 제공될 수 있다. 대안적으로, 적응 세트는 다수의 오디오 오브젝트들을 포함할 수 있고, 그리고/또는 하나나 이상의 오디오 오브젝트들은 다수의 적응 세트들에서 제공될 수 있다.
[0052]
본 개시의 기술들에 따르면, 클라이언트 디바이스(예를 들어, 사용자 장비 "UE")는 MPEG-H 오디오 디코더, 또는 (MPEG-H 3D 오디오 표준에 따라 포맷될 수 있는) 오디오 메타데이터를 디코딩 및 파싱하도록 구성되는 다른 유닛을 포함할 수 있다. 오디오 메타데이터는 이용가능한 적응 세트들(하나 이상의 장면 적응 세트들 및 하나 이상의 오디오 오브젝트 적응 세트들을 포함함)의 설명을 포함할 수 있다. 더 상세하게는, 오디오 메타데이터는 장면/오브젝트 오디오 데이터를 포함하는 장면 및/또는 오브젝트 오디오 데이터 및 적응 세트들 사이의 맵핑을 포함할 수 있다. 이러한 메타데이터는 본원에서 이용가능성 데이터로 지칭될 수 있다.
[0053]
오디오 디코더(또는 다른 유닛)은 사용자 인터페이스로부터 선택 데이터를 추가로 수신할 수 있다. 사용자는, 장면 및/또는 오디오 오브젝트들 중 어느 것이 출력을 위해 요구되는지를 선택할 수 있다. 대안적으로, 사용자는 오디오 프로파일(예를 들어, "영화", "콘서트", "비디오 게임" 등)을 선택할 수 있고, 사용자 인터페이스(또는 다른 유닛)는 장면 및 오디오 오브젝트들 중 어느 것이 선택된 오디오 프로파일에 대응하는지를 결정하도록 구성될 수 있다.
[0054]
오디오 디코더(또는 다른 유닛)는, 선택 데이터 및 이용가능성 데이터에 기초하여 적응 세트들 중 어느 것이 리트리브될지를 결정할 수 있다. 그 다음, 오디오 디코더는 예를 들어, 클라이언트 디바이스의 DASH 클라이언트에 명령 데이터를 제공할 수 있다. 명령 데이터는, 적응 세트들 중 어느 것이 리트리브될지를, 또는 더 상세하게는, 적응 세트들 중 어느 것으로부터 데이터가 리트리브될지를 표시할 수 있다. 그 다음, DASH 클라이언트는 선택된 적응 세트들에 대한 표현들을 선택할 수 있고, 그에 따라(예를 들어, HTTP GET 또는 부분적 GET 요청들을 사용하여) 선택된 표현들로부터 세그먼트들을 리트리브할 수 있다.
[0055]
이러한 방식으로, DASH 클라이언트는 이용가능성 데이터 및 오디오 데이터 둘 모두를 수신할 수 있다. 그러나, 이용가능성 데이터는 오디오 데이터와 상이한 포맷에 따라 (예를 들어, ISO BMFF보다는 MPEG-H 3D 오디오 포맷으로) 포맷될 수 있다. 이용가능성 데이터는 또한 다른 메타데이터, 예를 들어, MPD(Media Presentation Description)의 데이터 또는 이용가능성 데이터를 포함할 수 있는 다른 명확성 파일과 상이하게 포맷될 수 있다. 따라서, DASH 클라이언트는 이용가능성 데이터를 정확하게 파싱 및 해석하지 못할 수 있다. 따라서, MPEG-H 3D 오디오 디코더(또는 DASH 클라이언트와 별개인 다른 유닛 또는 디바이스)는 이용가능성 데이터를 디코딩할 수 있고, 어느 적응 세트들로부터 오디오 데이터가 리트리브될지를 표시하는 명령 데이터를 DASH 클라이언트에 제공할 수 있다. 물론, DASH 클라이언트는 또한 비디오 적응 세트들로부터 비디오 데이터 및/또는 다른 미디어 데이터, 예를 들어, 타이밍된 텍스트 데이터를 리트리브할 수 있다. 이러한 명령 데이터를 별개의 유닛 또는 디바이스로부터 수신함으로써, DASH 클라이언트는 적절한 적응 세트를 선택할 수 있고, 선택된 적절한 적응 세트로부터 미디어 데이터를 리트리브할 수 있다.
[0056]
도 1은 네트워크를 통해 미디어 데이터를 스트리밍하기 위한 기술들을 구현하는 예시적인 시스템(10)을 예시하는 블록도이다. 이러한 예에서, 시스템(10)은 콘텐츠 준비 디바이스(20), 서버 디바이스(60) 및 클라이언트 디바이스(40)를 포함한다. 클라이언트 디바이스(40) 및 서버 디바이스(60)는, 인터넷을 포함할 수 있는 네트워크(74)에 의해 통신가능하게 커플링된다. 일부 예들에서, 콘텐츠 준비 디바이스(20) 및 서버 디바이스(60)는 또한 네트워크(74) 또는 다른 네트워크에 의해 커플링될 수 있거나, 또는 직접 통신가능하게 커플링될 수 있다. 일부 예들에서, 콘텐츠 준비 디바이스(20) 및 서버 디바이스(60)는 동일한 디바이스를 포함할 수 있다.
[0057]
콘텐츠 준비 디바이스(20)는 도 1의 예에서, 오디오 소스(22) 및 비디오 소스(24)를 포함한다. 오디오 소스(22)는 예를 들어, 오디오 인코더(26)에 의해 인코딩될 캡처된 오디오 데이터를 표현하는 전기 신호들을 생성하는 마이크로폰을 포함할 수 있다. 대안적으로, 오디오 소스(22)는 이전에 레코딩된 오디오 데이터를 저장하는 저장 매체, 컴퓨터화된 합성기와 같은 오디오 데이터 생성기 또는 오디오 데이터의 임의의 다른 소스를 포함할 수 있다. 비디오 소스(24)는, 비디오 인코더(28)에 의해 인코딩될 비디오 데이터를 생성하는 비디오 카메라, 이전에 레코딩된 비디오 데이터로 인코딩된 저장 매체, 컴퓨터 그래픽 소스와 같은 비디오 데이터 생성 유닛 또는 비디오 데이터의 임의의 다른 소스를 포함할 수 있다. 콘텐츠 준비 디바이스(20)는 모든 예들에서 반드시 서버 디바이스(60)에 통신가능하게 커플링될 필요는 없지만, 서버 디바이스(60)에 의해 판독되는 별개의 매체에 멀티미디어 콘텐츠를 저장할 수 있다.
[0058]
원시 오디오 및 비디오 데이터는 아날로그 또는 디지털 데이터를 포함할 수 있다. 아날로그 데이터는 오디오 인코더(26) 및/또는 비디오 인코더(28)에 의해 인코딩되기 전에 디지털화될 수 있다. 오디오 소스(22)는, 스피킹 참여자가 말하고 있는 동안 스피킹 참여자로부터 오디오 데이터를 획득할 수 있고, 동시에, 비디오 소스(24)는 스피킹 참여자의 비디오 데이터를 획득할 수 있다. 다른 예들에서, 오디오 소스(22)는 저장된 오디오 데이터를 포함하는 컴퓨터 판독가능 저장 매체를 포함할 수 있고, 비디오 소스(24)는 저장된 비디오 데이터를 포함하는 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 이러한 방식으로, 본 개시에 설명된 기술들은 라이브, 스트리밍, 실시간 오디오 및 비디오 데이터에, 또는 아카이브되고 미리 레코딩된 오디오 및 비디오 데이터에 적용될 수 있다.
[0059]
비디오 프레임들에 대응하는 오디오 프레임들은 일반적으로, 비디오 프레임들 내에 포함된 비디오 소스(24)에 의해 캡처된(또는 생성된) 비디오 데이터와 동시에 오디오 소스(22)에 의해 캡처된(또는 생성된) 오디오 데이터를 포함하는 오디오 프레임들이다. 예를 들어, 스피킹 참여자가 일반적으로 스피킹에 의해 오디오 데이터를 생성하는 동안, 오디오 소스(22)는 오디오 데이터를 캡처하고, 그와 동시에, 즉, 오디오 소스(22)가 오디오 데이터를 캡처하는 동안 비디오 소스(24)는 스피킹 참여자의 비디오 데이터를 캡처한다. 따라서, 오디오 프레임은 하나 이상의 특정 비디오 프레임들에 시간적으로 대응할 수 있다. 따라서, 비디오 프레임에 대응하는 오디오 프레임은 일반적으로, 오디오 데이터 및 비디오 데이터가 동시에 캡처되었고(또는 그렇지 않으면 동시에 제시되고), 오디오 프레임 및 비디오 프레임이 동시에 캡처된 오디오 데이터 및 비디오 데이터를 각각 포함하는 상황에 대응한다. 또한, 비디오 및 다른 오디오 데이터, 예를 들어, 나레이션과 동시에 제시될 오디오 데이터가 별개로 생성될 수 있다.
[0060]
일부 예들에서, 오디오 인코더(26)는, 인코딩된 오디오 프레임에 대한 오디오 데이터가 레코딩된 시간을 표현하는 각각의 인코딩된 오디오 프레임에서 타임스탬프를 인코딩할 수 있고, 유사하게, 비디오 인코더(28)는 인코딩된 비디오 프레임에 대한 비디오 데이터가 레코딩된 시간을 표현하는 각각의 인코딩된 비디오 프레임에서 타임스탬프를 인코딩할 수 있다. 이러한 예들에서, 비디오 프레임에 대응하는 오디오 프레임은 타임스탬프를 포함하는 오디오 프레임 및 동일한 타임스탬프를 포함하는 비디오 프레임을 포함할 수 있다. 콘텐츠 준비 디바이스(20)는, 오디오 인코더(26) 및/또는 비디오 인코더(28)가 타임스탬프들을 생성할 수 있거나 또는 오디오 및 비디오 데이터를 타임스탬프와 각각 연관시키기 위해 오디오 소스(22) 및 비디오 소스(24)가 사용할 수 있는 내부 클럭을 포함할 수 있다.
[0061]
일부 예에서, 오디오 소스(22)는 오디오 데이터가 레코딩된 시간에 대응하는 데이터를 오디오 인코더(26)에 전송할 수 있고, 비디오 소스(24)는 비디오 데이터가 레코딩된 시간에 대응하는 데이터를 비디오 인코더(28)에 전송할 수 있다. 일부 예들에서, 오디오 인코더(26)는 인코딩된 오디오 데이터의 상대적인 시간적 순서를 표시하기 위해 그러나 오디오 데이터가 레코딩된 절대적 시간을 반드시 표시할 필요는 없이 인코딩된 오디오 데이터에서 시퀀스 식별자를 인코딩할 수 있고, 유사하게, 비디오 인코더(28)는 또한 인코딩된 비디오 데이터의 상대적인 시간적 순서를 표시하기 위해 시퀀스 식별자들을 사용할 수 있다. 유사하게, 일부 예들에서, 시퀀스 식별자는 타임스탬프와 맵핑되거나 그렇지 않으면 상관될 수 있다.
[0062]
오디오 인코더(26)는 일반적으로 인코딩된 오디오 데이터의 스트림을 생성하는 한편, 비디오 인코더(28)는 인코딩된 비디오 데이터의 스트림을 생성한다. (오디오이든 또는 비디오이든) 각각의 개별적인 데이터 스트림은 기본적 스트림으로 지칭될 수 있다. 기본적 스트림은 표현의 단일하고 디지털 코딩된(가능하게는 압축된) 컴포넌트이다. 예를 들어, 표현의 코딩된 비디오 또는 오디오 부분은 기본적 스트림일 수 있다. 기본적 스트림은 비디오 파일 내에서 캡슐화되기 전에 PES(packetized elementary stream)로 변환될 수 있다. 동일한 표현 내에서, 스트림 ID는 하나의 기본적 스트림에 속하는 PES-패킷들을 다른 것으로부터 구별하기 위해 사용될 수 있다. 기본적 스트림의 기본 데이터 유닛은 PES(packetized elementary stream) 패킷이다. 따라서, 코딩된 비디오 데이터는 일반적으로 기본적 비디오 스트림들에 대응한다. 유사하게, 오디오 데이터는 하나 이상의 각각의 기본적 스트림들에 대응한다.
[0063]
도 1의 예에서, 콘텐츠 준비 디바이스(20)의 캡슐화 유닛(30)은 비디오 인코더(28)로부터 코딩된 비디오 데이터를 포함하는 기본적 스트림들 및 오디오 인코더(26)로부터 코딩된 오디오 데이터를 포함하는 기본적 스트림들을 수신한다. 일부 예들에서, 비디오 인코더(28) 및 오디오 인코더(26)는 각각 인코딩된 데이터로부터 PES 패킷들을 형성하기 위한 패킷화기들을 포함할 수 있다. 다른 예들에서, 비디오 인코더(28) 및 오디오 인코더(26)는 각각 인코딩된 데이터로부터 PES 패킷들을 형성하기 위한 각각의 패킷화기들과 인터페이싱할 수 있다. 또 다른 예들에서, 캡슐화 유닛(30)은 인코딩된 오디오 및 비디오 데이터로부터 PES 패킷들을 형성하기 위한 패킷화기들을 포함할 수 있다.
[0064]
비디오 인코더(28)는, 픽셀 해상도들, 프레임 레이트들, 다양한 코딩 표준들에 대한 준수, 다양한 프로파일들에 대한 준수 및/또는 다양한 코딩 표준들에 대한 프로파일들의 레벨들, 하나의 또는 (예를 들어, 2-차원 또는 3-차원 재생을 위한) 다수의 뷰들을 갖는 표현들, 또는 다른 이러한 특성들과 같은 다양한 특성들로 그리고 다양한 비트레이트들에서 멀티미디어 콘텐츠의 상이한 표현들을 생성하기 위해 다양한 방식들로 멀티미디어 콘텐츠의 비디오 데이터를 인코딩할 수 있다. 유사하게, 오디오 인코더(26)는 다양한 특성들을 갖는 다양한 상이한 방식들로 오디오 데이터를 인코딩할 수 있다. 아래에서 더 상세히 논의되는 바와 같이, 예를 들어, 오디오 인코더(26)는, 장면-기반 오디오 데이터, 채널-기반 오디오 데이터 및/또는 오브젝트-기반 오디오 데이터 중 하나 이상을 각각 포함하는 오디오 적응 세트들을 형성할 수 있다. 추가적으로 또는 대안적으로, 오디오 인코더(26)는 스케일링가능한 오디오 데이터를 포함하는 적응 세트들을 형성할 수 있다. 예를 들어, 오디오 인코더(26)는 아래에서 더 상세히 논의되는 바와 같이, 베이스 계층, 좌측/우측 정보 및 높이 정보에 대한 적응 세트들을 형성할 수 있다.
[0065]
본 개시에서 사용되는 바와 같은 표현은 오디오 데이터, 비디오 데이터, (예를 들어, 폐쇄 자막에 대한) 텍스트 데이터 또는 다른 이러한 데이터 중 하나를 포함할 수 있다. 표현은 기본적 스트림, 예를 들어, 오디오 기본적 스트림 또는 비디오 기본적 스트림을 포함할 수 있다. 각각의 PES 패킷은, PES 패킷이 속한 기본적 스트림을 식별하는 stream_id를 포함할 수 있다. 캡슐화 유닛(30)은 기본적 스트림들을 다양한 표현들의 비디오 파일들(예를 들어, 세그먼트들)로 어셈블링하는 것을 담당한다. 캡슐화 유닛(30)은 오디오 인코더(26) 및 비디오 인코더(28)로부터 표현의 기본적 스트림들에 대한 PES 패킷들을 수신하고, PES 패킷들로부터 대응하는 NAL(network abstraction layer) 유닛들을 형성한다.
[0066]
캡슐화 유닛(30)은 멀티미디어 콘텐츠의 하나 이상의 표현들에 대한 데이터를 명확성 파일(예를 들어, MPD)과 함께 출력 인터페이스(32)에 제공할 수 있다. 출력 인터페이스(32)는, 네트워크 인터페이스, 또는 USB(universal serial bus) 인터페이스, CD 또는 DVD 기록기 또는 버너(burner), 자기 또는 플래시 저장 매체들에 대한 인터페이스 또는 미디어 데이터를 저장 또는 송신하기 위한 다른 인터페이스들과 같은 저장 매체에 기록하기 위한 인터페이스를 포함할 수 있다. 캡슐화 유닛(30)은 멀티미디어 콘텐츠의 표현들 각각의 데이터를 출력 인터페이스(32)에 제공할 수 있고, 출력 인터페이스(32)는 네트워크 송신 또는 저장 매체들을 통해 서버 디바이스(60)에 데이터를 전송할 수 있다. 도 1의 예에서, 서버 디바이스(60)는, 각각의 명확성 파일(66) 및 하나 이상의 표현들(68A-68N)(표현들(68))을 각각 포함하는 다양한 멀티미디어 콘텐츠(64)를 저장하는 저장 매체(62)를 포함한다. 일부 예들에서, 출력 인터페이스(32)는 또한 데이터를 네트워크(74)에 직접 전송할 수 있다.
[0067]
일부 예들에서, 표현들(68)은 적응 세트들로 분리될 수 있다. 즉, 표현들(68)의 다양한 서브세트들은, 코덱, 프로파일 및 레벨, 해상도, 뷰들의 수, 세그먼트들에 대한 파일 포맷, 표현에 의해 디스플레이될 텍스트의 언어 또는 다른 특성들을 식별할 수 있는 텍스트 타입 정보 및/또는 예를 들어, 스피커들에 의해 디코딩 및 제시될 오디오 데이터, 카메라 각도 또는 적응 세트의 표현들에 대한 장면 관점에서 실세계 카메라를 설명할 수 있는 카메라 각도 정보, 특정 청중들에 대한 콘텐츠 적합성을 설명하는 레이팅 정보 등과 같은 특성들의 각각의 공통 세트들을 포함할 수 있다.
[0068]
명확성 파일(66)은 특정 적응 세트들에 대응하는 표현들(68)의 서브세트들 뿐만 아니라 적응 세트들에 대한 공통 특성들을 표시하는 데이터를 포함할 수 있다. 명확성 파일(66)은 또한 개별적인 특성들, 예를 들어, 적응 세트들의 개별적인 표현들에 대한 비트레이트들을 표현하는 데이터를 포함할 수 있다. 이러한 방식으로, 적응 세트는 단순화된 네트워크 대역폭 적응을 제공할 수 있다. 적응 세트의 표현들은 명확성 파일(66)의 적응 세트 엘리먼트의 자(child) 엘리먼트들을 사용하여 표시될 수 있다.
[0069]
서버 디바이스(60)는 요청 프로세싱 유닛(70) 및 네트워크 인터페이스(72)를 포함한다. 일부 예들에서, 서버 디바이스(60)는 복수의 네트워크 인터페이스들을 포함할 수 있다. 또한, 서버 디바이스(60)의 특징들 중 임의의 것 또는 전부는 라우터들, 브리지들, 프록시 디바이스들, 스위치들 또는 다른 디바이스들과 같은 콘텐츠 전달 네트워크의 다른 디바이스들 상에서 구현될 수 있다. 일부 예들에서, 콘텐츠 전달 네트워크의 중간적 디바이스들은 멀티미디어 콘텐츠(64)의 데이터를 캐시할 수 있고, 서버 디바이스(60)의 컴포넌트들과 실질적으로 부합하는 컴포넌트들을 포함할 수 있다. 일반적으로, 네트워크 인터페이스(72)는 네트워크(74)를 통해 데이터를 전송 및 수신하도록 구성된다.
[0070]
요청 프로세싱 유닛(70)은 저장 매체(62)의 데이터에 대한 네트워크 요청들을 클라이언트 디바이스들, 예를 들어, 클라이언트 디바이스(40)로부터 수신하도록 구성된다. 예를 들어, 요청 프로세싱 유닛(70)은 1999년 6월 Network Working Group, IETF에서 R. Fielding에 의한 RFC 2616, "Hypertext Transfer Protocol - HTTP/1.1"에서 설명된 바와 같이 HTTP(hypertext transfer protocol) 버전 1.1을 구현할 수 있다. 즉, 요청 프로세싱 유닛(70)은 HTTP GET 또는 부분적 GET 요청들을 수신하고, 요청들에 대한 응답으로 멀티미디어 콘텐츠(64)의 데이터를 제공하도록 구성될 수 있다. 요청들은 예를 들어, 세그먼트의 URL을 사용하여 표현들(68) 중 하나의 세그먼트를 특정할 수 있다. 일부 예들에서, 요청들은 또한 세그먼트의 하나 이상의 바이트 범위들을 특정하고, 따라서 부분적 GET 요청들을 포함할 수 있다. 요청 프로세싱 유닛(70)은 표현들(68) 중 하나의 세그먼트의 헤더 데이터를 제공하기 위해 HTTP 헤드 요청들을 서비스하도록 추가로 구성될 수 있다. 임의의 경우에, 요청 프로세싱 유닛(70)은 요청된 데이터를 클라이언트 디바이스(40)와 같은 요청 디바이스에 제공하기 위해 요청들을 프로세싱하도록 구성될 수 있다.
[0071]
추가적으로 또는 대안적으로, 요청 프로세싱 유닛(70)은 eMBMS와 같은 브로드캐스트 또는 멀티캐스트 프로토콜을 통해 미디어 데이터를 전달하도록 구성될 수 있다. 콘텐츠 준비 디바이스(20)는 설명된 것과 실질적으로 동일한 방식으로 DASH 세그먼트들 및/또는 서브-세그먼트들을 생성할 수 있지만, 서버 디바이스(60)는 eMBMS 또는 다른 브로드캐스트 또는 멀티캐스트 네트워크 전송 프로토콜을 사용하여 이러한 세그먼트들 또는 서브-세그먼트들을 전달할 수 있다. 예를 들어, 요청 프로세싱 유닛(70)은 클라이언트 디바이스(40)로부터 멀티캐스트 그룹 참가 요청을 수신하도록 구성될 수 있다. 즉, 서버 디바이스(60)는 특정 미디어 콘텐츠(예를 들어, 라이브 이벤트의 브로드캐스트)와 연관된, 클라이언트 디바이스(40)를 포함하는 클라이언트 디바이스들에 멀티캐스트 그룹과 연관된 인터넷 프로토콜(IP) 어드레스를 통지할 수 있다. 결국, 클라이언트 디바이스(40)는 멀티캐스트 그룹에 참가하기 위한 요청을 제출할 수 있다. 이러한 요청은 네트워크(74), 예를 들어, 네트워크(74)를 형성하는 라우터들 전반에 걸쳐 전파될 수 있어서, 라우터들은 멀티캐스트 그룹과 연관된 IP 어드레스로 향하는 트래픽을 가입 클라이언트 디바이스들, 예를 들어, 클라이언트 디바이스(40)로 지향시키게 된다.
[0072]
도 1의 예에 예시된 바와 같이, 멀티미디어 콘텐츠(64)는 MPD(media presentation description)에 대응할 수 있는 명확성 파일(66)을 포함한다. 명확성 파일(66)은 상이한 대안적인 표현들(68)(예를 들어, 상이한 품질들을 갖는 비디오 서비스들)의 설명들을 포함할 수 있고, 설명은, 예를 들어, 코덱 정보, 프로파일 값, 레벨 값, 비트레이트 및 표현들(68)의 다른 설명적 특성들을 포함할 수 있다. 클라이언트 디바이스(40)는 표현들(68)의 세그먼트들에 어떻게 액세스할지를 결정하기 위해 미디어 프리젠테이션의 MPD를 리트리브할 수 있다.
[0073]
특히, 리트리벌 유닛(52)은 비디오 디코더(48)의 디코딩 능력들 및 비디오 출력(44)의 렌더링 능력들을 결정하기 위해 클라이언트 디바이스(40)의 구성 데이터(미도시)를 리트리브할 수 있다. 구성 데이터는 또한 클라이언트 디바이스(40)의 사용자에 의해 선택된 언어 선호도, 클라이언트 디바이스(40)의 사용자에 의해 설정된 깊이 선호도들에 대응하는 하나 이상의 카메라 관점들, 및/또는 클라이언트 디바이스(40)의 사용자에 의해 선택된 레이팅 선호도 중 임의의 것 또는 전부를 포함할 수 있다. 리트리벌 유닛(52)은 예를 들어, HTTP GET 및 부분적 GET 요청들을 제출하도록 구성되는 웹 브라우저 또는 미디어 클라이언트를 포함할 수 있다. 리트리벌 유닛(52)은 클라이언트 디바이스(40)의 하나 이상의 프로세서들 또는 프로세싱 유닛들(미도시)에 의해 실행되는 소프트웨어 명령들에 대응할 수 있다. 일부 예들에서, 리트리벌 유닛(52)에 대해 설명된 기능 중 전부 또는 일부들은 하드웨어, 또는 하드웨어, 소프트웨어 및/또는 펌웨어의 조합으로 구현될 수 있고, 여기서 소프트웨어 또는 펌웨어에 대한 명령들을 실행하기 위해 필수적 하드웨어가 제공될 수 있다.
[0074]
리트리벌 유닛(52)은 클라이언트 디바이스(40)의 디코딩 및 렌더링 능력들을 명확성 파일(66)의 정보에 의해 표시되는 표현들(68)의 특성들과 비교할 수 있다. 리트리벌 유닛(52)은 표현들(68)의 특성들을 결정하기 위해 명확성 파일(66)의 적어도 일부를 초기에 리트리브할 수 있다. 예를 들어, 리트리벌 유닛(52)은 하나 이상의 적응 세트들의 특성들을 설명하는 명확성 파일(66)의 일부를 요청할 수 있다. 리트리벌 유닛(52)은 클라이언트 디바이스(40)의 코딩 및 렌더링 능력들에 의해 충족될 수 있는 특성들을 갖는 표현들(68)(예를 들어, 적응 세트)의 서브세트를 선택할 수 있다. 그 다음, 리트리벌 유닛(52)은 예를 들어, 적응 세트의 표현들에 대한 비트레이트들을 결정할 수 있고, 네트워크 대역폭의 현재 이용가능한 양을 결정할 수 있고, 네트워크 대역폭에 의해 충족될 수 있는 비트레이트를 갖는 표현들 중 하나로부터 세그먼트들을 리트리브할 수 있다.
[0075]
일반적으로, 더 높은 비트레이트의 표현들은 더 높은 품질의 재생을 도출할 수 있는 한편, 더 낮은 비트레이트 표현들은, 이용가능한 네트워크 대역폭이 감소하는 경우 충분한 품질 재생을 제공할 수 있다. 따라서, 이용가능한 네트워크 대역폭이 비교적 높은 경우, 리트리벌 유닛(52)은 비교적 높은 비트레이트 표현들로부터 데이터를 리트리브할 수 있는 한편, 이용가능한 네트워크 대역폭이 낮은 경우, 리트리벌 유닛(52)은 비교적 낮은 비트레이트 표현들로부터 데이터를리트리브할 수 있다. 이러한 방식으로, 클라이언트 디바이스(40)는 네트워크(74)를 통해 멀티미디어 데이터를 스트리밍할 수 있는 한편, 네트워크(74)의 네트워크 대역폭 이용가능성을 변경하도록 또한 적응될 수 있다.
[0076]
추가적으로 또는 대안적으로, 리트리벌 유닛(52)은 eMBMS 또는 IP 멀티캐스트와 같은 브로드캐스트 또는 멀티캐스트 네트워크 프로토콜에 따라 데이터를 수신하도록 구성될 수 있다. 이러한 예들에서, 리트리벌 유닛(52)은 특정 미디어 콘텐츠와 연관된 멀티캐스트 네트워크 그룹에 참가하기 위한 요청을 제출할 수 있다. 멀티캐스트 그룹에 참가한 후, 리트리벌 유닛(52)은 서버 디바이스(60) 또는 콘텐츠 준비 디바이스(20)에 발행되는 추가적인 요청들 없이 멀티캐스트 그룹의 데이터를 수신할 수 있다. 리트리벌 유닛(52)은, 멀티캐스트 그룹의 데이터가 더 이상 필요하지 않은 경우 멀티캐스트 그룹을 떠나기 위한, 예를 들어, 재생을 중지하거나 상이한 멀티캐스트 그룹으로 채널들을 변경하기 위한 요청을 제출할 수 있다.
[0077]
네트워크 인터페이스(54)는 선택된 표현의 세그먼트들의 데이터를 수신하여 리트리벌 유닛(52)에 제공할 수 있고, 리트리벌 유닛(52)은 결국 캡슐화해제 유닛(50)에 세그먼트들을 제공할 수 있다. 캡슐화해제 유닛(50)은 비디오 파일의 엘리먼트들을 구성 PES 스트림들로 캡슐화해제할 수 있고, 인코딩된 데이터를 리트리브하기 위해 PES 스트림들을 패킷화해제할 수 있고, 예를 들어, 스트림의 PES 패킷 헤더들에 의해 표시된 바와 같이 인코딩된 데이터가 오디오 또는 비디오 스트림의 일부인지 여부에 따라 오디오 디코더(46) 또는 비디오 디코더(48) 중 어느 하나에 인코딩된 데이터를 전송할 수 있다. 오디오 디코더(46)는 인코딩된 오디오 데이터를 디코딩하고, 디코딩된 오디오 데이터를 오디오 출력(42)에 전송하는 한편, 비디오 디코더(48)는 인코딩된 비디오 데이터를 디코딩하고, 스트림의 복수의 뷰들을 포함할 수 있는 디코딩된 비디오 데이터를 비디오 출력(44)에 전송한다. 오디오 출력(42)은 하나 이상의 스피커들을 포함할 수 있는 한편, 비디오 출력(44)은 하나 이상의 디스플레이들을 포함할 수 있다. 도 1에는 도시되지 않지만, 클라이언트 디바이스(40)는 또한 하나 이상의 사용자 인터페이스들, 예를 들어, 키보드들, 마우스들, 포인터들, 터치스크린 디바이스들, 원격 제어 인터페이스들(예를 들어, 블루투스 또는 적외선 원격 제어들) 등을 포함할 수 있다.
[0078]
비디오 인코더(28), 비디오 디코더(48), 오디오 인코더(26), 오디오 디코더(46), 캡슐화 유닛(30), 리트리벌 유닛(52) 및 캡슐화해제 유닛(50) 각각은, 적용가능한 대로, 하나 이상의 마이크로프로세서들, DSP들(digital signal processors), ASIC들(application specific integrated circuits), FPGA들(field programmable gate arrays), 이산적 로직 회로, 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합들과 같은 다양한 적절한 프로세싱 회로 중 임의의 것으로 구현될 수 있다. 비디오 인코더(28) 및 비디오 디코더(48) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수 있고, 이들 중 어느 하나는 결합된 비디오 인코더/디코더(CODEC)의 일부로서 통합될 수 있다. 유사하게, 오디오 인코더(26) 및 오디오 디코더(46) 각각은 하나 이상의 인코더들 또는 디코더들에 포함될 수 있고, 이들 중 어느 하나는 결합된 CODEC의 일부로서 통합될 수 있다. 비디오 인코더(28), 비디오 디코더(48), 오디오 인코더(26), 오디오 디코더(46), 캡슐화 유닛(30), 리트리벌 유닛(52) 및/또는 캡슐화해제 유닛(50)을 포함하는 장치는 집적 회로, 마이크로프로세서 및/또는 무선 통신 디바이스, 예를 들어, 셀룰러 전화를 포함할 수 있다.
[0079]
클라이언트 디바이스(40), 서버 디바이스(60) 및/또는 콘텐츠 준비 디바이스(20)는 본 개시의 기술들에 따라 동작하도록 구성될 수 있다. 예시의 목적으로, 본 개시는 클라이언트 디바이스(40) 및 서버 디바이스(60)에 대해 이러한 기술들을 설명한다. 그러나, 서버 디바이스(60) 대신에(또는 이에 추가로), 콘텐츠 준비 디바이스(20)가 이러한 기술들을 수행하도록 구성될 수 있음을 이해해야 한다.
[0080]
캡슐화 유닛(30)은, NAL 유닛이 속하는 프로그램을 식별하는 헤더 뿐만 아니라 페이로드, 예를 들어, 오디오 데이터, 비디오 데이터 또는 NAL 유닛이 대응하는 전송 또는 프로그램 스트림을 설명하는 데이터를 포함하는 NAL 유닛들을 형성할 수 있다. 예를 들어, H.264/AVC에서, NAL 유닛은 1-바이트 헤더 및 가변 크기의 페이로드를 포함한다. 비디오 데이터를 이의 페이로드에 포함하는 NAL 유닛은 비디오 데이터의 다양한 입도 레벨들을 포함할 수 있다. 예를 들어, NAL 유닛은 비디오 데이터의 블록, 복수의 블록들, 비디오 데이터의 슬라이스 또는 비디오 데이터의 전체 픽처를 포함할 수 있다. 캡슐화 유닛(30)은 기본적 스트림들의 PES 패킷들의 형태로 비디오 인코더(28)로부터 인코딩된 비디오 데이터를 수신할 수 있다. 캡슐화 유닛(30)은 각각의 기본적 스트림을 대응하는 프로그램과 연관시킬 수 있다.
[0081]
캡슐화 유닛(30)은 또한 복수의 NAL 유닛들로부터 액세스 유닛들을 어셈블링할 수 있다. 일반적으로, 액세스 유닛은 비디오 데이터의 프레임을 표현하는 하나 이상의 NAL 유닛들, 또한 오디오 데이터가 이용가능한 경우 프레임에 대응하는 이러한 오디오 데이터를 포함할 수 있다. 액세스 유닛은 일반적으로 하나의 출력 시간 인스턴스에 대한 모든 NAL 유닛들, 예를 들어, 하나의 시간 인스턴스에 대한 모든 오디오 및 비디오 데이터를 포함한다. 예를 들어, 각각의 뷰가 20 fps(frames per second)의 프레임 레이트를 가지면, 각각의 시간 인스턴스는 0.05 초의 시간 인터벌에 대응할 수 있다. 이러한 시간 인터벌 동안, 동일한 액세스 유닛(동일한 시간 인스턴스)의 모든 뷰들에 대한 특정 프레임들은 동시에 렌더링될 수 있다. 일례에서, 액세스 유닛은 1차 코딩된 픽처로서 제시될 수 있는 일 시간 인스턴스의 코딩된 픽처를 포함할 수 있다.
[0082]
따라서, 액세스 유닛은 공통의 시간적 인스턴스의 모든 오디오 및 비디오 프레임들, 예를 들어, 시간 X에 대응하는 모든 뷰들을 포함할 수 있다. 본 개시는 또한 특정 뷰의 인코딩된 픽처를 "뷰 컴포넌트"로서 지칭한다. 즉, 뷰 컴포넌트는 특정 시간에 특정 뷰에 대한 인코딩된 픽처(또는 프레임)를 포함할 수 있다. 따라서, 액세스 유닛은 공통의 시간적 인스턴스의 모든 뷰 컴포넌트들을 포함하는 것으로 정의될 수 있다. 액세스 유닛들의 디코딩 순서는 출력 또는 디스플레이 순서와 반드시 동일할 필요는 없다.
[0083]
미디어 프리젠테이션은 MPD(media presentation description)를 포함할 수 있고, 이는 상이한 대안적 표현들(예를 들어, 상이한 품질들을 갖는 비디오 서비스들)의 설명들을 포함할 수 있고, 설명은, 예를 들어, 코덱 정보, 프로파일 값 및 레벨 값을 포함할 수 있다. MPD는 명확성 파일, 예를 들어, 명확성 파일(66)의 일례이다. 클라이언트 디바이스(40)는 다양한 프리젠테이션들의 영화 프래그먼트들에 어떻게 액세스할지를 결정하기 위해 미디어 프리젠테이션의 MPD를 리트리브할 수 있다. 영화 프래그먼트들은 비디오 파일들의 영화 프래그먼트 박스들(무프(moof) 박스들)에 위치될 수 있다.
[0084]
명확성 파일(66)(이는 예를 들어 MPD를 포함할 수 있음)은 표현들(68)의 세그먼트들의 이용가능성을 통지할 수 있다. 즉, MPD는, 표현들(68) 중 하나의 제1 세그먼트가 이용가능하게 되는 벽시계 시간을 표시하는 정보 뿐만 아니라 표현들(68) 내의 세그먼트들의 지속기간들을 표시하는 정보를 포함할 수 있다. 이러한 방식으로, 클라이언트 디바이스(40)의 리트리벌 유닛(52)은, 특정 세그먼트에 선행하는 세그먼트들의 시작 시간 뿐만 아니라 지속기간들에 기초하여, 각각의 세그먼트가 언제 이용가능한지를 결정할 수 있다.
[0085]
캡슐화 유닛(30)이 수신된 데이터에 기초하여 NAL 유닛들 및/또는 액세스 유닛들을 비디오 파일로 어셈블링한 후, 캡슐화 유닛(30)은 비디오 파일을 출력을 위해 출력 인터페이스(32)에 전달한다. 일부 예들에서, 캡슐화 유닛(30)은 비디오 파일을 로컬로 저장할 수 있거나, 비디오 파일을 클라이언트 디바이스(40)에 직접 전송하기 보다는 비디오 파일을 출력 인터페이스(32)를 통해 원격 서버에 전송할 수 있다. 출력 인터페이스(32)는, 예를 들어, 송신기, 트랜시버, 데이터를, 예를 들어, 광 드라이브, 자기 매체 드라이브(예를 들어, 플로피 드라이브), USB(universal serial bus) 포트, 네트워크 인터페이스 또는 다른 출력 인터페이스와 같은 컴퓨터 판독가능 매체에 기록하기 위한 디바이스를 포함할 수 있다. 출력 인터페이스(32)는 예를 들어, 송신 신호, 자기 매체, 광 매체, 메모리, 플래시 드라이브 또는 다른 컴퓨터 판독가능 매체와 같은 컴퓨터 판독가능 매체에 비디오 파일을 출력한다.
[0086]
네트워크 인터페이스(54)는 네트워크(74)를 통해 NAL 유닛 또는 액세스 유닛을 수신할 수 있고, NAL 유닛 또는 액세스 유닛을 리트리벌 유닛(52)을 통해 캡슐화해제 유닛(50)에 제공할 수 있다. 캡슐화해제 유닛(50)은 비디오 파일의 엘리먼트들을 구성 PES 스트림들로 캡슐화해제할 수 있고, 인코딩된 데이터를 리트리브하기 위해 PES 스트림들을 패킷화해제할 수 있고, 예를 들어, 스트림의 PES 패킷 헤더들에 의해 표시된 바와 같이 인코딩된 데이터가 오디오 또는 비디오 스트림의 일부인지 여부에 따라 오디오 디코더(46) 또는 비디오 디코더(48) 중 어느 하나에 인코딩된 데이터를 전송할 수 있다. 오디오 디코더(46)는 인코딩된 오디오 데이터를 디코딩하고, 디코딩된 오디오 데이터를 오디오 출력(42)에 전송하는 한편, 비디오 디코더(48)는 인코딩된 비디오 데이터를 디코딩하고, 스트림의 복수의 뷰들을 포함할 수 있는 디코딩된 비디오 데이터를 비디오 출력(44)에 전송한다.
[0087]
도 2에 도시되고 그에 대해 더 상세히 논의된 바와 같이, 리트리벌 유닛(52)은 예를 들어, DASH 클라이언트를 포함할 수 있다. DASH 클라이언트는 MPEG-H 3D 오디오 디코더를 표현할 수 있는 오디오 디코더(46)와 상호작용하도록 구성될 수 있다. 도 1에는 도시되지 않았지만, 오디오 디코더(46)는 (예를 들어, 도 5 내지 도 9에 도시된 바와 같이) 사용자 인터페이스로부터 사용자 입력을 수신하도록 추가로 구성될 수 있다. 따라서, DASH 클라이언트는 이용가능성 데이터를 오디오 디코더(46)에 전송할 수 있고, 오디오 디코더(46)는, 어느 적응 세트들이 어느 타입들의 오디오 데이터(예를 들어, 장면, 오브젝트 및/또는 채널 오디오 데이터)에 대응하는지를 결정할 수 있다. 오디오 디코더(46)는 예를 들어, 사용자 인터페이스를 통해 사용자로부터 또는 미리 구성된 선택으로부터 선택 데이터를 추가로 수신할 수 있다. 그 다음, 오디오 디코더(46)는 리트리벌 유닛(52)에 명령 데이터를 전송하여(DASH 클라이언트에 전송되게 하여), DASH 클라이언트가 선택된 적응 세트들에 대한 오디오 데이터(선택된 타입들의 오디오 데이터, 예를 들어, 장면, 채널 및/또는 오브젝트 데이터에 대응함)를 리트리브하게 할 수 있다.
[0088]
도 2는 도 1의 리트리벌 유닛(52)의 컴포넌트들의 예시적인 세트를 더 상세히 예시하는 블록도이다. 도 2의 리트리벌 유닛(52)은 단지 일례이고, 다른 예들에서, 리트리벌 유닛(52)은 오직 DASH 클라이언트에 대응할 수 있음을 이해해야 한다. 이러한 예에서, 리트리벌 유닛(52)은 eMBMS 미들웨어 유닛(100), DASH 클라이언트(110) 및 미디어 애플리케이션(112)을 포함한다. 도 2는 또한 아래에서 논의되는 바와 같이, DASH 클라이언트(110)가 상호작용할 수 있는 도 1의 오디오 디코더(46)를 도시한다.
[0089]
이러한 예에서, eMBMS 미들웨어 유닛(100)은 eMBMS 수신 유닛(106), 캐시(104) 및 서버 유닛(102)을 더 포함한다. 이러한 예에서, eMBMS 수신 유닛(106)은, 예를 들어, http://tools.ietf.org/html/rfc6726에서 입수가능한, 2012년 11월의 Network Working Group, RFC 6726에서 T. Paila 등의 "FLUTE-File Delivery over Unidirectional Transport"에서 설명된 FLUTE(File Delivery over Unidirectional Transport)에 따라 eMBMS를 통해 데이터를 수신하도록 구성된다. 즉, eMBMS 수신 유닛(106)은, 예를 들어, BM-SC로 동작할 수 있는 서버 디바이스(60)로부터의 브로드캐스트를 통해 파일들을 수신할 수 있다.
[0090]
eMBMS 미들웨어 유닛(100)이 파일들에 대한 데이터를 수신할 때, eMBMS 미들웨어 유닛은 수신된 데이터를 캐시(104)에 저장할 수 있다. 캐시(104)는 플래시 메모리, 하드 디스크, RAM 또는 임의의 다른 적절한 저장 매체와 같은 컴퓨터 판독가능 저장 매체를 포함할 수 있다.
[0091]
프록시 서버(102)는 DASH 클라이언트(110)에 대한 서버로서 동작할 수 있다. 예를 들어, 프록시 서버(102)는 MPD 파일 또는 다른 명확성 파일을 DASH 클라이언트(110)에 제공할 수 있다. 프록시 서버(102)는 MPD 파일의 세그먼트들에 대한 이용가능성 시간들 뿐만 아니라 세그먼트들이 리트리브될 수 있는 하이퍼링크들을 통지할 수 있다. 이러한 하이퍼링크들은 클라이언트 디바이스(40)에 대응하는 로컬 호스트 어드레스 프리픽스를 포함할 수 있다(예를 들어, IPv4에 대한 127.0.0.1). 이러한 방식으로, DASH 클라이언트(110)는 HTTP GET 또는 부분적 GET 요청들을 사용하여 프록시 서버(102)로부터 세그먼트들을 요청할 수 있다. 예를 들어, 링크 http://127.0.0.1/rep1/seg3으로부터 입수가능한 세그먼트에 대해, DASH 클라이언트(110)는 http://127.0.0.1/rep1/seg3에 대한 요청을 포함하는 HTTP GET 요청을 구성할 수 있고, 요청을 프록시 서버(102)에 제출할 수 있다. 프록시 서버(102)는 캐시(104)로부터 요청된 데이터를 리트리브할 수 있고, 이러한 요청들에 대한 응답으로 DASH 클라이언트(110)에 데이터를 제공할 수 있다.
[0092]
도 2의 예에서, 리트리벌 유닛(52)은 eMBMS 미들웨어 유닛(100)을 포함하지만, 다른 예들에서는, 다른 타입들의 미들웨어가 제공될 수 있음을 이해해야 한다. 예를 들어, eMBMS 미들웨어(100) 대신에, 브로드캐스트 미들웨어, 예를 들어 ATSC(Advanced Television Systems Committee) 또는 NTSC(National Television System Committee) 미들웨어가 ATSC 또는 NTSC 브로드캐스트 신호들을 각각 수신하기 위해 제공될 수 있다. 이러한 ATSC 또는 NTSC 미들웨어는 eMBMS 수신 유닛(106) 대신에 ATSC 또는 NTSC 수신 유닛을 포함할 것이지만, 도 2의 예에 도시된 바와 같이 달리 프록시 서버 및 캐시를 포함할 것이다. 수신 유닛들은 모든 수신된 브로드캐스트 데이터를 수신 및 캐시할 수 있고, 프록시 서버는 오직 요청된 미디어 데이터(예를 들어, 요청된 오디오 데이터)를 단순히 DASH 클라이언트(110)에 전송할 수 있다.
[0093]
또한, DASH 클라이언트(110)는 도 1에 대해 앞서 논의된 바와 같이 오디오 디코더(46)와 상호작용할 수 있다. 즉, DASH 클라이언트(110)는 이용가능성 데이터를 포함하는 명확성 파일 또는 다른 데이터 세트를 수신할 수 있다. 이용가능성 데이터는 예를 들어, MPEG-H 3D 오디오에 따라 포맷될 수 있다. 또한, 이용가능성 데이터는, 어느 적응 세트(들)가 다양한 타입들의 오디오 데이터, 예를 들어, 장면 오디오 데이터, 채널 오디오 데이터, 오브젝트 오디오 데이터 및/또는 스케일링가능한 오디오 데이터를 포함하는지를 설명할 수 있다. DASH 클라이언트(110)는 오디오 디코더(46)로부터 선택 데이터를 수신할 수 있고, 여기서 선택 데이터는 예를 들어, 사용자의 선택에 기초하여 오디오 데이터가 리트리브될 적응 세트들을 표시할 수 있다.
[0094]
도 3a는 예시적인 멀티미디어 콘텐츠(120)의 엘리먼트들을 예시하는 개념도이다. 멀티미디어 콘텐츠(120)는 멀티미디어 콘텐츠(64)(도 1) 또는 저장 매체(62)에 저장된 다른 멀티미디어 콘텐츠에 대응할 수 있다. 도 3a의 예에서, 멀티미디어 콘텐츠(120)는 MPD(media presentation description)(122) 및 복수의 표현들(124A-124N)(표현들(124))을 포함한다. 표현(124A)은 선택적인 헤더 데이터(126) 및 세그먼트들(128A-128N)(세그먼트들(128))을 포함하는 한편, 표현(124N)은 선택적인 헤더 데이터(130) 및 세그먼트들(132A-132N)(세그먼트들(132))을 포함한다. 문자 N은 표현들(124) 각각의 마지막 영화 프래그먼트를 편의성 문제로 지정하기 위해 사용된다. 일부 예들에서, 표현들(124) 사이에 상이한 수들의 영화 프래그먼트들이 존재할 수 있다.
[0095]
MPD(122)는 표현들(124)과 별개의 데이터 구조를 포함한다. MPD(122)는 도 1의 명확성 파일(66)에 대응할 수 있다. 마찬가지로, 표현들(124)은 도 2의 표현들(68)에 대응할 수 있다. 일반적으로, MPD(122)는, 코딩 및 렌더링 특성들, 적응 세트들, MPD(122)가 대응하는 프로파일, 텍스트 타입 정보, 카메라 각도 정보, 레이팅 정보, 트릭 모드 정보(예를 들어, 시간적 서브-시퀀스들을 포함하는 표현들을 표시하는 정보) 및/또는 (예를 들어, 재생 동안 미디어 콘텐츠로의 타겟팅된 광고 삽입에 대한) 원격 기간들을 리트리브하기 위한 정보와 같은 표현들(124)의 특성들을 일반적으로 설명하는 데이터를 포함할 수 있다.
[0096]
헤더 데이터(126)는 존재하는 경우, 세그먼트들(128)의 특성들, 예를 들어, 랜덤 액세스 포인트들(SAP들(stream access points)로 또한 지칭되는 RAP들)의 시간적 위치들, 세그먼트들(128) 중 어느 것이 랜덤 액세스 포인트들을 포함하는지, 세그먼트들(128) 내의 랜덤 액세스 포인트들에 대한 바이트 오프셋들, 세그먼트들(128)의 URL들(uniform resource locators) 또는 세그먼트들(128)의 다른 양상들을 설명할 수 있다. 헤더 데이터(130)는 존재하는 경우, 세그먼트들(132)에 대한 유사한 특성들을 설명할 수 있다. 추가적으로 또는 대안적으로, 이러한 특성들은 MPD(122) 내에 완전히 포함될 수 있다.
[0097]
세그먼트들(128, 132)은 하나 이상의 코딩된 미디어 샘플들을 포함한다. 세그먼트들(128)의 코딩된 미디어 샘플들 각각은 유사한 특성들, 예를 들어, 언어(스피치가 포함된 경우), 위치, CODEC 및 대역폭 요건들을 가질 수 있다. 이러한 특성들은 MPD(122)의 데이터에 의해 설명될 수 있지만, 이러한 데이터는 도 3a의 예에 예시되지는 않는다. MPD(122)는 본 개시에 설명된 시그널링된 정보 중 임의의 것 또는 전부의 추가로, 3GPP 규격에 의해 설명되는 바와 같은 특성들을 포함할 수 있다.
[0098]
세그먼트들(128, 132) 각각은 고유의 URL(uniform resource locator)과 연관될 수 있다. 따라서, 세그먼트들(128, 132) 각각은 DASH와 같은 스트리밍 네트워크 프로토콜을 사용하여 독립적으로 리트리브가능할 수 있다. 이러한 방식으로, 목적지 디바이스, 예를 들어, 클라이언트 디바이스(40)는 세그먼트들(128 또는 132)을 리트리브하기 위해 HTTP GET 요청을 사용할 수 있다. 일부 예들에서, 클라이언트 디바이스(40)는 세그먼트들(128 또는 132)의 특정 바이트 범위들을 리트리브하기 위해 HTTP 부분적 GET 요청들을 사용할 수 있다.
[0099]
도 3b는 표현들(124BA-124BD)(표현들(124B))의 다른 예시적인 세트를 예시하는 개념도이다. 이러한 예에서, 다양한 표현들(124B) 각각은 상이한 각각의 적응 세트들에 대응하는 것으로 가정된다.
[0100]
스케일링가능한 장면 기반 오디오는 재생 레이아웃에 대한 정보를 포함할 수 있다. 상이한 타입들의 장면-기반 오디오 코덱들이 존재할 수 있다. 본 개시 전반에 걸쳐 상이한 예들이 설명된다. 예를 들어, 장면 기반 오디오 스케일링가능한 코덱 타입 0은 다음을 포함할 수 있다. 계층 0은 오디오 좌측 및 오디오 우측 채널들을 포함하고, 계층 1은 수평적 HOA 컴포넌트를 포함하고, 계층 2는 라우드스피커들의 높이에 관한 1차 HOA의 높이 정보를 포함한다(이는 도 13a 및 도 13b의 시나리오이다).
[0101]
제2 예에서, 장면 기반 오디오 스케일링가능한 코덱 타입 1은 다음을 포함할 수 있다. (예를 들어, 도 14a 및 도 14b에 도시된 바와 같이) 계층 0은 오디오 좌측 및 오디오 우측 채널들을 포함하고, 계층 1은 수평적 HOA 컴포넌트를 포함하고, 계층 2는 라우드스피커들의 높이에 관한 1차 HOA의 높이 정보를 포함한다.
[0102]
제3 예에서, 장면 기반 오디오 스케일링가능한 코덱 타입 2는 다음을 포함할 수 있다. 계층 0은 모노 채널을 포함하고, 계층 1은 오디오 좌측 및 오디오 우측 채널들을 포함하고, 계층 2는 오디오 전방 및 오디오 후방 채널들을 포함하고, 계층 3은 1차 HOA의 높이 정보를 포함한다.
[0103]
제4 예에서, 장면 기반 오디오 스케일링가능한 코덱 타입 3은 다음을 포함할 수 있다. 계층 0은 W, X 및 Y 신호의 형태인 1차 수평-전용 HOA 정보를 포함한다. 계층 1은 오디오 좌측 및 오디오 우측 채널들을 포함하고, 계층 2는 오디오 전방 및 오디오 후방 채널들을 포함한다.
[0104]
제5 예에서, 제1 내지 제4 예들이 사용될 수 있고, 추가적인 계층은, 예를 들어, 이전 예들의 스피커들이 위치될 수 있는 수평 평면 아래 또는 위의 높이에서 라우드스피커들의 상이한 어레이에 대한 높이 정보를 포함할 수 있다.
[0105]
따라서, 표현들(124) 각각은 다양한 타입들의 장면 기반 스케일링가능한 오디오 데이터를 포함하는 상이한 적응 세트들에 대응한다. 4개의 예시적인 표현들(124)이 도시되지만, 임의의 수의 적응 세트들(및 그러한 적응 세트들 내의 임의의 수의 표현들)이 제공될 수 있음을 이해해야 한다.
[0106]
도 3b의 예에서, 표현(124BA)은 타입 0 스케일링가능한 장면 기반 오디오 데이터를 포함하고, 표현(124BB)은 타입 1 스케일링가능한 장면 기반 오디오 데이터를 포함하고, 표현(124BC)은 타입 2 스케일링가능한 장면 기반 오디오 데이터를 포함하고, 표현(124BD)은 타입 3 스케일링가능한 장면 기반 오디오 데이터를 포함한다. 표현(124B)은 대응하는 타입들의 각각의 세그먼트들을 포함한다. 즉, 표현(124BA)은 헤더 데이터 타입 0(126BA) 및 타입 0 세그먼트들(128BA-128BN)을 포함하고, 표현(124BB)은 헤더 데이터 타입 1(126BB) 및 타입 1 세그먼트들(128CA-128CN)을 포함하고, 표현(124BC)은 헤더 데이터 타입 2(126BC) 및 타입 2 세그먼트들(128DA-128DN)을 포함하고, 표현(124BD)은 헤더 데이터 타입 3(126BD) 및 타입 3 세그먼트들(128EA-128EN)을 포함한다. 다양한 적응 세트들(특히, 적응 세트들에 포함된 스케일링가능한 오디오 계층들 뿐만 아니라 표현들(124B) 중 어느 것이 어느 적응 세트들에 대응하는지)이 MPD(122B)에서 설명된다.
[0107]
도 4는 표현의 세그먼트, 예를 들어, 도 3의 세그먼트들(114, 124) 중 하나에 대응할 수 있는 예시적인 미디어 파일(150)의 엘리먼트들을 예시하는 블록도이다. 세그먼트들(128, 132) 각각은 도 4의 예에 예시된 데이터의 배열에 실질적으로 부합하는 데이터를 포함할 수 있다. 미디어 파일(150)은 세그먼트를 캡슐화하는 것으로 지칭될 수 있다. 전술된 바와 같이, ISO 기반 미디어 파일 포맷 및 이의 확장들에 따른 미디어 파일들은 "박스들"로 지칭되는 일련의 오브젝트들에 데이터를 저장한다. 도 4의 예에서, 미디어 파일(150)은 파일 타입(FTYP) 박스(152), 영화(MOOV) 박스(154), 세그먼트 인덱스(sidx) 박스들(162), 영화 프래그먼트(MOOF) 박스들(164) 및 영화 프래그먼트 랜덤 액세스(MFRA) 박스(166)를 포함한다. 도 4는 비디오 파일의 예를 표현하지만, 다른 미디어 파일들은 ISO 기반 미디어 파일 포맷 및 이의 확장들에 따른 미디어 파일(150)의 데이터와 유사하게 구조화된 다른 타입들의 미디어 데이터(예를 들어, 오디오 데이터, 타이밍된 텍스트 데이터 등)를 포함할 수 있음을 이해해야 한다.
[0108]
파일 타입(FTYP) 박스(152)는 일반적으로 미디어 파일(150)에 대한 파일 타입을 설명한다. 파일 타입 박스(152)는 미디어 파일(150)에 대한 최상의 사용을 설명하는 규격을 식별하는 데이터를 포함할 수 있다. 파일 타입 박스(152)는 대안적으로, MOOV 박스(154), 영화 프래그먼트 박스들(164) 및/또는 MFRA 박스(166) 전에 배치될 수 있다.
[0109]
도 4의 예에서, MOOV 박스(154)는 영화 헤더(MVHD) 박스(156), 트랙(TRAK) 박스(158) 및 하나 이상의 영화 확장(MVEX) 박스들(160)을 포함한다. 일반적으로, MVHD 박스(156)는 미디어 파일(150)의 일반적 특성들을 설명할 수 있다. 예를 들어, MVHD 박스(156)는, 미디어 파일(150)이 언제 원래 생성되었는지, 미디어 파일(150)이 언제 마지막으로 수정되었는지, 미디어 파일(150)에 대한 타임스케일, 미디어 파일(150)에 대한 재생의 지속기간을 설명하는 데이터 또는 일반적으로 미디어 파일(150)을 설명하는 다른 데이터를 포함할 수 있다.
[0110]
TRAX 박스(158)는 미디어 파일(150)의 트랙에 대한 데이터를 포함할 수 있다. TRAX 박스(158)는 TRAX 박스(158)에 대응하는 트랙의 특성들을 설명하는 트랙 헤더(TKHD) 박스를 포함할 수 있다. 일부 예들에서, TRAK 박스(158)는 코딩된 비디오 픽처들을 포함할 수 있는 한편, 다른 예들에서, 트랙의 코딩된 비디오 픽처들은 TRAK 박스(158) 및/또는 sidx 박스들(162)의 데이터에 의해 참조될 수 있는 영화 프래그먼트들(164)에 포함될 수 있다.
[0111]
일부 예들에서, 미디어 파일(150)은 하나보다 많은 트랙을 포함할 수 있다. 따라서, MOOV 박스(154)는 미디어 파일(150)의 트랙들의 수와 동일한 TRAK 박스들의 수를 포함할 수 있다. TRAX 박스(158)는 미디어 파일(150)의 대응하는 트랙의 특성들을 설명할 수 있다. 예를 들어, TRAK 박스(158)는 대응하는 트랙에 대한 시간적 및/또는 공간적 정보를 설명할 수 있다. MOOV 박스(154)의 TRAK 박스(158)와 유사한 TRAK 박스는, 캡슐화 유닛(30)(도 3)이 미디어 파일(150)과 같은 비디오 파일의 파라미터 세트 트랙을 포함하는 경우, 파라미터 세트 트랙의 특성들을 설명할 수 있다. 캡슐화 유닛(30)은 파라미터 세트 트랙을 설명하는 TRAK 박스 내의 파라미터 세트 트랙에서 시퀀스 레벨 SEI 메시지들의 존재를 시그널링할 수 있다.
[0112]
MVEX 박스들(160)은, 존재하는 경우 MOOV 박스(154) 내에 포함된 비디오 데이터에 추가로, 예를 들어, 미디어 파일(150)이 영화 프래그먼트들(164)을 포함함을 시그널링하기 위해, 대응하는 영화 프래그먼트들(164)의 특성들을 설명할 수 있다. 비디오 데이터를 스트리밍하는 상황에서, 코딩된 비디오 픽처들은 MOOV 박스(154)에서보다 영화 프래그먼트들(164)에 포함될 수 있다. 따라서, 모든 코딩된 비디오 샘플들은 MOOV 박스(154)에서보다 영화 프래그먼트들(164)에 포함될 수 있다.
[0113]
MOOV 박스(154)는 미디어 파일(150)의 영화 프래그먼트들(164)의 수와 동일한 다수의 MVEX 박스들(160)을 포함할 수 있다. MVEX 박스들(160) 각각은 영화 프래그먼트들(164) 중 대응하는 것의 특성들을 설명할 수 있다. 예를 들어, 각각의 MVEX 박스는 영화 프래그먼트들(164) 중 대응하는 것에 대한 시간적 지속기간을 설명하는 영화 확장 헤더 박스(MEHD) 박스를 포함할 수 있다.
[0114]
앞서 언급된 바와 같이, 캡슐화 유닛(30)(도 1)은 실제 코딩된 비디오 데이터를 포함하지 않는 비디오 샘플에 시퀀스 데이터 세트를 저장할 수 있다. 비디오 샘플은 일반적으로 특정 시간 인스턴스에서 코딩된 픽처의 표현인 액세스 유닛에 대응할 수 있다. AVC의 상황에서, 코딩된 픽처는 액세스 유닛의 모든 픽셀들 및 SEI 메시지들과 같은 다른 연관된 넌-VCL NAL 유닛들을 구성하기 위한 정보를 포함하는 하나 이상의 VCL NAL 유닛들을 포함한다. 따라서, 캡슐화 유닛(30)은 영화 프래그먼트들(164) 중 하나에서 시퀀스 레벨 SEI 메시지들을 포함할 수 있는 시퀀스 데이터 세트를 포함할 수 있다. 캡슐화 유닛(30)은, 시퀀스 데이터 세트 및/또는 시퀀스 레벨 SEI 메시지들의 존재를, 영화 프래그먼트들(164) 중 하나에 대응하는 MVEX 박스들(160) 중 하나 내의 영화 프래그먼트들(164) 중 하나에 존재하는 것으로 추가로 시그널링할 수 있다.
[0115]
SIDX 박스들(162)은 미디어 파일(150)의 선택적 엘리먼트들이다. 즉, 3GPP 파일 포맷 또는 다른 이러한 파일 포맷들에 부합하는 비디오 파일들은 반드시 SIDX 박스들(162)을 포함하지는 않는다. 3GPP 파일 포맷의 예에 따르면, SIDX 박스는 세그먼트(예를 들어, 미디어 파일(150) 내에 포함된 세그먼트)의 서브-세그먼트를 식별하기 위해 사용될 수 있다. 3GPP 파일 포맷은 서브-세그먼트를 "대응하는 미디어 데이터 박스(들)를 갖는 하나 이상의 연속적인 영화 프래그먼트 박스들의 자체-포함 세트로서 정의하고, 영화 프래그먼트 박스에 의해 참조되는 데이터를 포함하는 미디어 데이터 박스는 그 영화 프래그먼트 박스를 따라야 하며 동일한 트랙에 대한 정보를 포함하는 다음 영화 프래그먼트 박스에 선행해야 한다." 3GPP 파일 포맷은 또한, SIDX 박스가 "그 박스에 의해 다큐먼트화된 (서브)세그먼트의 서브세그먼트들에 대한 참조들의 시퀀스를 포함함을 표시한다. 참조된 서브세그먼트들은 프리젠테이션 시간에서 인접하다. 유사하게, 세그먼트 인덱스 박스에 의해 참조되는 바이트들은 세그먼트 내에서 항상 인접하다. 참조되는 크기는 참조되는 재료의 바이트들의 수의 카운트를 부여한다."
[0116]
SIDX 박스들(162)은 일반적으로 미디어 파일(150)에 포함된 세그먼트의 하나 이상의 서브-세그먼트들을 표현하는 정보를 제공한다. 예를 들어, 이러한 정보는, 서브-세그먼트들이 시작 및/또는 종료되는 재생 시간들, 서브-세그먼트들에 대한 바이트 오프셋들, 서브-세그먼트들이 스트림 액세스 포인트(SAP)를 포함하는지(예를 들어, 시작하는지) 여부, SAP에 대한 타입(예를 들어, SAP가 IDR(instantaneous decoder refresh) 픽처, CRA(clean random access) 픽처, BLA(broken link access) 픽처 등인지 여부), 서브-세그먼트에서 (재생 시간 및/또는 바이트 오프셋의 관점에서) SAP의 위치 등을 포함할 수 있다.
[0117]
영화 프래그먼트들(164)은 하나 이상의 코딩된 비디오 픽처들을 포함할 수 있다. 일부 예들에서, 영화 프래그먼트들(164)은 하나 이상의 GOP들(groups of pictures)을 포함할 수 있고, 이들 각각은 다수의 코딩된 비디오 픽처들, 예를 들어, 프레임들 또는 픽처들을 포함할 수 있다. 또한, 앞서 설명된 바와 같이, 영화 프래그먼트들(164)은 일부 예들에서 시퀀스 데이터 세트들을 포함할 수 있다. 영화 프래그먼트들(164) 각각은 영화 프래그먼트 헤더 박스(MFHD, 도 4에는 미도시)를 포함할 수 있다. MFHD 박스는 영화 프래그먼트에 대한 시퀀스 번호와 같은 대응하는 영화 프래그먼트의 특성들을 설명할 수 있다. 영화 프래그먼트들(164)은 미디어 파일(150)의 시퀀스 번호의 순서로 포함될 수 있다.
[0118]
MFRA 박스(166)는 미디어 파일(150)의 영화 프래그먼트들(164) 내의 랜덤 액세스 포인트들을 설명할 수 있다. 이는, 트릭 모드들을 수행하는 것, 예를 들어, 미디어 파일(150)에 의해 캡슐화된 세그먼트 내의 특정한 시간적 위치들(즉, 재생 시간들)에 대한 추구를 수행하는 것을 보조할 수 있다. MFRA 박스(166)는 일반적으로 선택적이고, 일부 예들에서 비디오 파일들에 포함될 필요가 없다. 유사하게, 클라이언트 디바이스, 예를 들어, 클라이언트 디바이스(40)는 미디어 파일(150)의 비디오 데이터를 정확하게 디코딩 및 디스플레이하기 위해 반드시 MFRA 박스(166)를 참조할 필요는 없다. MFRA 박스(166)는 미디어 파일(150)의 트랙들의 수와 동일한 또는 일부 예들에서 미디어 파일(150)의 미디어 트랙들(예를 들어, 넌-힌트 트랙들)의 수와 동일한 다수의 TFRA(track fragment random access) 박스들(미도시)을 포함할 수 있다.
[0119]
일부 예들에서, 영화 프래그먼트들(164)은 하나 이상의 SAP들(stream access points)을 포함할 수 있다. 마찬가지로, MFRA 박스(166)는 SAP들의 미디어 파일(150) 내의 위치들의 표시들을 제공할 수 있다. 따라서, 미디어 파일(150의 시간적 서브-시퀀스는 미디어 파일(150)의 SAP들로부터 형성될 수 있다. 시간적 서브-시퀀스는 또한 다른 픽처들, 예를 들어, SAP들로부터 의존하는 P-프레임들 및/또는 B-프레임들을 포함할 수 있다. 시간적 서브-시퀀스의 프레임들 및/또는 슬라이스들은 세그먼트들 내에 배열될 수 있어서, 서브-시퀀스의 다른 프레임들/슬라이스들에 의존하는 시간적 서브-시퀀스의 프레임들/슬라이스들은 적절히 디코딩될 수 있다. 예를 들어, 데이터의 계층구조적 배열에서, 다른 데이터에 대한 예측에 사용되는 데이터는 또한 시간적 서브-시퀀스에 포함될 수 있다.
[0120]
도 5a는 인코딩된 3D 오디오 데이터와 같은 인코딩된 미디어 데이터를 전송하기 위한 예시적인 시스템(200)을 예시하는 블록도이다. 시스템(200)은, 자체로 메타데이터(204), 장면 데이터(206), 채널 데이터(208)의 다양한 세트들 및 오브젝트 데이터(210)의 다양한 세트들을 포함하는 오브젝트-기반 콘텐츠(202)를 포함한다. 도 5b는, 도 5b가 도 5a의 오브젝트-기반 콘텐츠(202) 대신에 오디오-기반 콘텐츠(202')를 포함하는 것을 제외하고는 도 5a와 실질적으로 유사하다. 오브젝트-기반 콘텐츠(202)는, 오디오 인코더(214) 및 멀티플렉서(216)를 포함하는 MPEG-H 오디오 인코더(212)에 제공된다. MPEG-H 오디오 인코더(212)는 일반적으로 오디오 인코더(26)(도 1)에 대응할 수 있다. 멀티플렉서(216)는 캡슐화 유닛(30)(도 1)의 일부를 형성하거나 그와 상호작용할 수 있다. 도 5a에 도시되지 않지만, 비디오 인코딩 및 멀티플렉싱 유닛들은 또한 도 1에 도시된 바와 같이 제공될 수 있음을 이해해야 한다.
[0121]
이러한 예에서, MPEG-H 오디오 인코더(212)는 오브젝트-기반 콘텐츠(202)를 수신하고, 오디오 인코더(214)가 오브젝트-기반 콘텐츠(202)를 인코딩하게 한다. 인코딩되고 멀티플렉싱된 오디오 데이터(218)는 메타데이터 추출 유닛(222), 장면 데이터 추출 유닛(224) 및 오브젝트 데이터 추출 유닛(226)을 포함하는 MPEG-H 오디오 디코더(220)에 전송된다. 사용자 인터페이스(228)는, 사용자가 재생 동안 렌더링될 장면 데이터(206), 채널 데이터(208) 및/또는 오브젝트 데이터(210) 중 하나 이상을 선택할 수 있도록, 사용자가 API(application programming interface)(230)를 통해 추출된 메타데이터의 버전에 액세스하도록 허용하기 위해 제공된다. 선택된 장면, 채널 및/또는 오브젝트들에 따르면, 장면 데이터 추출 유닛(224) 및 오브젝트 데이터 추출 유닛(226)은 요청된 장면, 채널 및/도는 오브젝트 데이터를 추출할 수 있고, MPEG-H 오디오 디코더(220)가 이를 디코딩하여, 재생 동안 오디오 렌더링 유닛(232)에 제공한다.
[0122]
도 5a의 예에서, 오브젝트-기반 콘텐츠(202)의 데이터 모두는 인코딩되고 멀티플렉싱된 오디오 데이터(218)에 의해 표현되는 단일 스트림에 제공된다. 그러나, 오브젝트-기반 콘텐츠(202)의 상이한 엘리먼트들을 별개로 제공하기 위해 다수의 스트림들이 사용될 수 있다. 예를 들어, 도 6a 및 도 6b는, 오브젝트-기반 콘텐츠(202)(또는 오디오-기반 콘텐츠(202'))로부터의 다양한 타입들의 데이터가 별개로 스트리밍되는 다른 예들을 예시하는 블록도들이다. 특히, 도 6a 및 도 6b의 예들에서, 장면 데이터(206)의 인코딩된 버전은 스트림(240)에 제공되고, 이는 또한 채널 데이터(208)의 인코딩된 버전들을 포함할 수 있다.
[0123]
도 6a 및 도 6b의 예들에서, 오브젝트 데이터(210)의 인코딩된 버전들은 스트림들(242A-242N)(스트림들(242))의 형태로 제공된다. 오브젝트 데이터(210)와 스트림들(242) 사이의 맵핑은 임의의 방식으로 형성될 수 있다. 예를 들어, 오브젝트 데이터(210) 및 스트림들(242)의 세트들 사이에 일대일 맵핑이 존재할 수 있고, 오브젝트 데이터(210)의 다수의 세트들은 스트림들(242)의 단일 스트림에 제공될 수 있고, 그리고/또는 스트림들(242) 중 하나 이상은 오브젝트 데이터(210)의 하나의 세트에 대한 데이터를 포함할 수 있다. 스트림들(218, 240, 242)은 오버-디-에어 신호들, 예를 들어, ATSC(Advanced Television Systems Committee) 또는 NTSC(National Television System Committee) 신호들, 컴퓨터-네트워크-기반 브로드캐스트 또는 멀티캐스트, 예를 들어, eMBMS 또는 컴퓨터-네트워크-기반 유니캐스트, 예를 들어, HTTP를 사용하여 송신될 수 있다. 이러한 방식으로, 오브젝트 데이터(210)의 특정 세트들이 요구되지 않는 경우, MPEG-H 오디오 디코더(220)는 스트림들(242) 중 대응하는 것들의 데이터를 수신하는 것을 회피할 수 있다.
[0124]
본 개시의 일부 예들에 따르면, 각각의 장면은 구성 정보를 (예를 들어, 도 4의 MOOV 박스(154)와 같은 영화 헤더에) 가질 수 있다. 구성 정보는 오브젝트들 및 이들이 표현하는 것에 대한 정보를 포함할 수 있다. 구성 정보는 또한, 상호작용 엔진에 의해 사용될 수 있는 일부 정보를 포함할 수 있다. 종래에, 이러한 구성 정보는 정적이었고, 변경되기 어려울 수 있다. 그러나, 이러한 정보는 MPEG-2 TS의 기술들을 사용하여 대역내에서 수정될 수 있다. 구성 정보는 또한 도 6a 및 도 6b에 도시된 바와 같이 오브젝트들의 상이한 스트림들로의 맵핑을 설명한다.
[0125]
도 6a의 스트림(240)과 같은 메인 스트림은 구성 정보 뿐만 아니라 오브젝트들(예를 들어, 오브젝트 데이터(210)) 모두를 어디에서 발견할지를 포함할 수 있다. 예를 들어, 스트림(240)은 스트림들(242) 중 어느 것이 오브젝트 데이터(210) 중 어느 것을 포함하는지를 표시하는 데이터를 포함할 수 있다. 스트림들(242)은, 오브젝트 데이터(210) 중 포함된 것들의 오직 액세스 유닛들만을 반송할 수 있기 때문에 "보충 스트림들"로 지칭될 수 있다. 일반적으로, 각각의 오브젝트는 보충 스트림들(242) 중 개별적인 것에서 반송될 수 있지만, 앞서 논의된 바와 같이, 보충 스트림들은 다수의 오브젝트들에 대한 데이터를 반송할 수 있고 그리고/또는 오브젝트는 다수의 보충 스트림들에서 반송될 수 있다.
[0126]
API(230)는 사용자 인터페이스(228)와 메타데이터 추출 유닛(222) 사이에 존재한다. API(230)는 메인 스트림에 포함된 메타데이터의 구성 기록과의 상호작용을 허용할 수 있다. 따라서, API(230)는 사용자 또는 다른 엔티티가 오브젝트 데이터(210)의 하나 이상의 오브젝트들을 선택하고 이들의 렌더링을 정의하도록 허용할 수 있다. 예를 들어, 사용자는, 오브젝트 데이터(210) 중 어느 오브젝트들이 요구되는지 뿐만 아니라 원하는 오브젝트들 각각을 재생할 볼륨을 선택할 수 있다.
[0127]
아래의 논의에서, 오브젝트 데이터(210)의 각각의 오브젝트는 별개의 보충 스트림에서 제공되는(예를 들어, 오브젝트 데이터(210)와 스트림들(242) 사이에 일대일 및 그에 대한 관계가 존재하는) 것으로 가정된다. 그러나, 오브젝트 데이터(210)는 전달 최적화로서 멀티플렉싱 및 맵핑될 수 있음을 이해해야 한다. DASH에 따르면, 각각의 보충 스트림은 하나 이상의 표현들에 맵핑될 수 있다.
[0128]
도 7a 내지 도 7c는 본 개시의 기술들에 따른 다른 예시적인 시스템(250)을 예시하는 블록도들이다. 시스템(250)은 일반적으로 도 5a, 도 5b, 도 6a 및 도 6b의 시스템(200)의 것들과 유사한 엘리먼트들을 포함하고, 이들은 도 7a 및 도 7b에서 동일하게 넘버링된다. 그러나, 시스템(250)은 추가적으로 도 5a, 도 5b, 도 6a 및 도 6b에 도시되지 않은 미디어 서버(252)를 포함한다. 도 7c는, 도 7c가 도 7a의 오브젝트-기반 콘텐츠(202) 대신에 오디오-기반 콘텐츠(202')를 포함하는 것을 제외하고는 도 7a와 실질적으로 유사하다.
[0129]
본 개시의 기술들에 따르면, 미디어 서버(252)는 인코딩된 메타데이터(254), 장면 및 채널 적응 세트(256) 및 다양한 오브젝트 적응 세트들(260A-260N)(오브젝트 적응 세트들(260))을 제공한다. 도 7b에 도시된 바와 같이, 장면 및 채널 적응 세트(256)는 표현들(258A-258M)(표현들(258))을 포함하고, 오브젝트 적응 세트(260A)는 표현들(262A-262P)(표현들(262))을 포함하고, 오브젝트 적응 세트(260N)는 표현들(264A-264Q)(표현들(264))을 포함한다. 이러한 예에서, 장면 및 채널 적응 세트(256)는 단일 적응 세트로 도시되지만, 다른 예들에서, 별개의 적응 세트들은 장면 데이터 및 채널 데이터에 대해 제공될 수 있다. 즉, 일부 예들에서, 제1 적응 세트는 장면 데이터를 포함할 수 있고, 제2 적응 세트는 채널 데이터를 포함할 수 있다.
[0130]
도 7a 및 도 7b의 예에서, 콘텐츠는 하기 맵핑에 따라 제공된다. 엔트리 포인트이고 구성 정보를 반송하는 하나의 마스터 오브젝트가 존재한다. 각각의 오브젝트는 하나의 적응 세트로서 제공된다(이는 선택가능함). 각각의 적응 세트 내에서, 다수의 표현들이 제공된다(이는 스위칭가능함). 즉, 주어진 적응 세트에 대한 각각의 표현은 대역폭 적응을 지원하기 위해 상이한 비트레이트를 가질 수 있다. 오브젝트들을 포인팅하는 메타데이터가 제공된다(별개로, 예를 들어, MPEG-H 메타데이터에서 오브젝트들과 적응 세트들 사이의 맵핑이 존재할 수 있다). 이러한 예에서, 모든 표현들은 시간-정렬되어 동기화 및 스위칭을 허용한다.
[0131]
(MPEG-H 오디오 디코더(220)를 포함하는) 수신기에서, 초기에 모든 오브젝트들은 이용가능한 것으로 가정된다. 포함된 데이터의 라벨링은, 전달을 위한 메커니즘들이, 주어진 스트림에 의해 어떤 데이터가 반송되는지를 결정할 필요가 없다는 점에서, "불투명"한 것으로 고려될 수 있다. 그 대신, 추상적 라벨링이 사용될 수 있다. 표현들의 선택은 통상적으로 DASH 클라이언트 동작의 일부이지만, API(230)에 의해 지원될 수 있다. DASH 클라이언트의 예는 아래에 논의되는 바와 같이 도 8에 도시된다.
[0132]
도 8은 본 개시의 기술들에 따른 추가적인 예시적인 시스템을 예시하는 블록도이다. 특히, 도 8에서, (클라우드에 의해 표현되는) 콘텐츠 전달 네트워크는 인코딩된 메타데이터(254), 장면 및 채널 적응 세트(256) 및 오브젝트 적응 세트들(260) 뿐만 아니라 MPD(media presentation description)(270)를 제공한다. 도 8에 도시되지 않지만, 미디어 서버(252)는 콘텐츠 전달 네트워크의 부분을 형성할 수 있다.
[0133]
또한, 도 8은 DASH 클라이언트(280)를 예시한다. 이러한 예에서, DASH 클라이언트(280)는 선택 유닛(282) 및 다운로드 및 스위칭 유닛(284)을 포함한다. 선택 유닛(282)은 일반적으로, 예를 들어, API(230)를 통해 사용자 인터페이스(228)로부터 수신되는 선택들에 기초하여 메타데이터 추출 유닛(222)으로부터 수신되는 선택들에 따라, 적응 세트들로부터 적응 세트들을 선택하고 표현들의 초기 선택들을 행하는 것을 담당한다.
[0134]
다음은, 본 개시의 기술들에 따라, 예시 및 설명의 목적으로 도 8의 엘리먼트들을 참조하는 기본적인 동작 시퀀스의 일례이다. 초기에, DASH 클라이언트(280)는 MPD(270), 및 오디오 메타데이터 및 각각의 이용가능한 오디오 오브젝트(즉, 각각의 이용가능한 오디오 적응 세트)의 하나의 표현을 포함하는 오디오 데이터의 마스터 세트를 다운로드한다(272). 구성 정보는 MPEG-H 오디오 디코더(220)의 메타데이터 추출 유닛(222)에 대해 이용가능하게 되고, 이는 오브젝트들의 수동 선택/선택해제 또는 사용자 에이전트 선택/선택해제(즉, 자동화된 선택/선택해제)를 위해 API(230)를 통해 사용자 인터페이스(228)와 인터페이싱한다. 마찬가지로, DASH 클라이언트(280)의 선택 유닛(282)은 선택 정보를 수신한다. 즉, MPEG-H 오디오 디코더(220)는, (디스크립터 또는 다른 데이터 엘리먼트로 라벨링된) 어느 적응 세트가 선택될지 또는 선택해제될지에 대해 DASH 클라이언트(280)에 통지한다. 이러한 교환은 도 8의 엘리먼트(274)에 의해 표현된다.
[0135]
그 다음, 선택 유닛(282)은 선택된 적응 세트들에 대한 데이터를 리트리브하고 선택해제된 적응 세트들에 대한 데이터를 다운로딩하는 것을 중지하기 위한 명령들을 다운로드 및 스위칭 유닛(284)을 제공한다. 따라서, 다운로드 및 스위칭 유닛(284)은 콘텐츠 전달 네트워크(276)로부터 선택된(그러나 선택해제된 것은 아닌) 적응 세트들에 대한 데이터를 리트리브한다. 예를 들어, 다운로드 및 스위칭 유닛(284)은 선택된 적응 세트들의 선택된 표현들의 세그먼트들을 리트리브하기 위해 콘텐츠 전달 네트워크에 HTTP GET 또는 부분적 GET 요청들을 제출할 수 있다.
[0136]
일부 예들에서, 특정 적응 세트들이 선택해제되기 때문에, 다운로드 및 스위칭 유닛(284)은, 선택해제된 적응 세트들에 이전에 할당된 대역폭을, 선택되어 유지되는 다른 적응 세트들에 할당할 수 있다. 따라서, 다운로드 및 스위칭 유닛(284)은 선택된 적응 세트들 중 하나 이상에 대한 더 높은 비트레이트(및 그에 따른 더 높은 품질)의 표현을 선택할 수 있다. 일부 예들에서, DASH 클라이언트(280) 및 MPEG-H 오디오 디코더(220)는 특정 적응 세트들의 품질 예상들에 대한 정보를 교환한다. 예를 들어, MPEG-H 오디오 디코더(220)는 선택된 적응 세트들 각각에 대한 상대적 볼륨들을 수신할 수 있고, 더 높은 품질의 표현들이 더 낮은 상대적 볼륨들을 갖는 적응 세트들보다 더 높은 상대적 볼륨들을 갖는 적응 세트들에 대해 리트리브되어야 한다고 결정할 수 있다.
[0137]
일부 예들에서, 선택해제된 적응 세트들에 대한 리트리벌을 중지하기 보다는, DASH 클라이언트(280)는 단순히 적응 세트들의 최저 비트레이트 표현들에 대한 데이터를 리트리브할 수 있고, 이는 MPEG-H 오디오 디코더(220)에 의해 디코딩되지 않음으로써 버퍼링될 수 있다. 이러한 방식으로, 장래의 어느 포인트에서, 선택해제된 적응 세트들 중 하나가 다시 선택되면, 그 적응 세트에 대해 버퍼링된 데이터는 즉시 디코딩될 수 있다. 필수적이면 그리고 대역폭이 이용가능하면, 다운로드 및 스위칭 유닛(284)은 재선택에 후속하는 이러한 적응 세트의 더 높은 비트레이트 표현으로 스위칭할 수 있다.
[0138]
선택된 적응 세트들에 대한 데이터를 리트리브한 후, 다운로드 및 스위칭 유닛(284)은 MPEG-H 오디오 디코더(220)에 데이터를 제공한다(278). 따라서, MPEG-H 오디오 디코더(220)는 장면 데이터 추출 유닛(224) 및 오브젝트 데이터 추출 유닛(226) 중 대응하는 것들에 의한 추출에 후속하여 수신된 데이터를 디코딩하고, 렌더링 및 궁극적으로 프리젠테이션을 위해 오디오 렌더링 유닛(232)에 디코딩된 데이터를 제공한다.
[0139]
API(230)를 넘은 다양한 추가적인 API들이 또한 제공될 수 있다. 예를 들어, API는 MPD(270)에서 데이터를 시그널링하기 위해 제공될 수 있다. MPD(270)의 메타데이터는, MPEG-H 오디오에서의 사용을 위해 다운로드될 하나의 오브젝트로서 명시적으로 시그널링될 수 있다. MPD(270)는 또한 다운로드될 필요가 있는 모든 오디오 적응 세트들을 시그널링할 수 있다. 또한, MPD(270)는 선택을 위해 사용될 각각의 적응 세트에 대한 라벨들을 시그널링할 수 있다.
[0140]
마찬가지로, API는 MPEG-H 오디오 디코더(220)와 DASH 클라이언트(280) 사이의 선택 및 선호도 로직에 대해 정의될 수 있다. DASH 클라이언트(280)는 이러한 API를 사용하여 MPEG-H 오디오 디코더(220)에 구성 정보를 제공할 수 있다. MPEG-H 오디오 디코더(220)는 데이터 리트리벌의 목적으로 선택되는 적응 세트를 표시하는 라벨을 DASH 클라이언트(280)를 제공할 수 있다. MPEG-H 오디오 디코더(220)는 또한, 선택된 적응 세트들에 대한 적절한 표현을 선택하기 위해 DASH 클라이언트(280)에 의해 사용되는 다양한 적응 세트들의 상대적 중요도를 표현하는 일부 가중치를 제공할 수 있다.
[0141]
또한, API는 DASH 클라이언트(280)로부터의 멀티플렉싱된 미디어 데이터를 MPEG-H 오디오 디코더(220)에 제공하기 위해 정의될 수 있다. DASH 클라이언트(280)는 일반적으로 적응 세트들에 할당된 데이터의 청크들을 다운로드한다. DASH 클라이언트(280)는 멀티플렉싱되고 주석이 달린 방식으로 데이터를 제공하고, 또한 적응 세트의 표현들 사이에서의 스위칭을 위해 스위칭 로직을 구현한다.
[0142]
이러한 방식으로, 도 8은 오디오 데이터를 리트리브하기 위한 디바이스의 예를 표현하고, 디바이스는 복수의 이용가능한 적응 세트들을 표현하는 이용가능성 데이터를 수신하고 - 이용가능한 적응 세트들은 장면-기반 오디오 적응 세트들 및 하나 이상의 오브젝트-기반 오디오 적응 세트들을 포함함 -, 장면-기반 오디오 적응 세트들 및 하나 이상의 오브젝트-기반 오디오 적응 세트들 중 어느 것이 리트리브될지를 식별하는 선택 데이터를 수신하고, 선택 데이터에 의해 식별된 적응 세트들 각각에 대한 데이터를 스트리밍 클라이언트가 리트리브하게 하기 위해 스트리밍 클라이언트에 명령 데이터를 제공하도록 구성되는 하나 이상의 프로세서들; 및 오디오 적응 세트들에 대해 리트리브된 데이터를 저장하도록 구성되는 메모리를 포함한다.
[0143]
도 9는 본 개시의 기술들에 따른 다른 예시적인 시스템이다. 일반적으로, 도 9는 도 8의 예와 실질적으로 유사하다. 도 8과 도 9 사이의 구별은, 도 9에서, 메타데이터 추출 유닛(222')이 MPEG-H 오디오 디코더(220') 외부에 제공된다는 점이다. 따라서, 도 8에서, 이용가능한 적응 세트들을 표현하는 메타데이터를 제공하기 위해 및 이용가능한 적응 세트들의 선택(및/또는 선택해제)을 위해 선택 유닛(282)과 메타데이터 추출 유닛(222') 사이의 상호작용(274')이 발생한다. 그렇지 않으면, 도 9의 예는 도 8의 예와 실질적으로 일치하는 방식으로 동작할 수 있다. 그러나, 본 개시의 기술들을 수행하기 위해 사용자 인터페이스가 MPEG-H 오디오 디코더(220')와 직접 상호작용할 필요가 없음이 강조된다.
[0144]
이러한 방식으로, 도 9는 오디오 데이터를 리트리브하기 위한 디바이스의 예를 표현하고, 디바이스는 복수의 이용가능한 적응 세트들을 표현하는 이용가능성 데이터를 수신하고 - 이용가능한 적응 세트들은 장면-기반 오디오 적응 세트들 및 하나 이상의 오브젝트-기반 오디오 적응 세트들을 포함함 -, 장면-기반 오디오 적응 세트들 및 하나 이상의 오브젝트-기반 오디오 적응 세트들 중 어느 것이 리트리브될지를 식별하는 선택 데이터를 수신하고, 선택 데이터에 의해 식별된 적응 세트들 각각에 대한 데이터를 스트리밍 클라이언트가 리트리브하게 하기 위해 스트리밍 클라이언트에 명령 데이터를 제공하도록 구성되는 하나 이상의 프로세서들; 및 오디오 적응 세트들에 대해 리트리브된 데이터를 저장하도록 구성되는 메모리를 포함한다.
[0145]
도 10은 본 개시의 기술들이 사용될 수 있는 다른 예시적인 시스템을 예시적인 시스템(350)을 예시하는 개념도이다. 도 10의 예에서, 시스템(350)은 미디어 콘텐츠를 준비하고 브로드캐스트 서버(354) 및 HTTP 콘텐츠 전달 네트워크(CDN)(358)에 미디어 콘텐츠를 제공하는 미디어 서버(352)를 포함한다. 브로드캐스트 서버(354)는 예를 들어, BMSC(broadcast multimedia service center)일 수 있다. 브로드캐스트 서버(354)는 브로드캐스트 송신기(356)를 통해 미디어 신호를 브로드캐스트한다. 다양한 사용자 장비(UE) 클라이언트 디바이스들(364A-364N)(클라이언트 디바이스들(364), 예를 들어 텔레비전들, 개인용 컴퓨터들 또는 모바일 디바이스들, 예를 들어, 셀룰러 전화들, 태블릿들 등은 브로드캐스트된 신호를 수신할 수 있다. 브로드캐스트 송신기(356)는 ATSC 또는 NTSC와 같이 오버-디-에어 표준에 따라 동작할 수 있다.
[0146]
HTTP CDN(358)은 HTTP-기반 스트리밍, 예를 들어, DASH를 사용할 수 있는 컴퓨터-기반 네트워크를 통해 미디어 콘텐츠를 제공할 수 있다. 추가적으로 또는 대안적으로, CDN(358)은 네트워크-기반 브로드캐스트 또는 멀티캐스트 프로토콜, 예를 들어, eMBMS를 사용하여 컴퓨터-기반 네트워크를 통해 미디어 콘텐츠를 브로드캐스트 또는 멀티캐스트할 수 있다. CDN(358)은, 유니캐스트, 브로드캐스트 및/또는 멀티캐스트 프로토콜들을 통해 데이터를 송신하는 복수의 서버 디바이스들(360A-360N)(서버 디바이스들(360))을 포함한다. 일부 예들에서, CDN(358)은 LTE(Long Term Evolution)에 따라 eNode-B(362)와 같은 eNode-B를 통해 RAN(radio-access network)을 통한 콘텐츠를 전달한다.
[0147]
다양한 사용 경우들이 도 10의 시스템에서 발생할 수 있다. 예를 들어, 일부 미디어 컴포넌트들은 브로드캐스트를 통해 (예를 들어, 브로드캐스트 서버(354)에 의해) 전달될 수 있는 한편, 다른 미디어 컴포넌트들은 오직 하나 이상의 동반 스트림들로서 오직 유니캐스트를 통해 이용가능할 수 있다. 예를 들어, 장면-기반 오디오 콘텐츠는 브로드캐스트 송신기를 통해 브로드캐스트 서버에 의해 브로드캐스트될 수 있는 한편, 오브젝트 오디오 데이터는 오직 HTTP CDN(358)로부터 이용가능할 수 있다. 다른 예에서, 데이터는 채널-스위치 시간들을 감소시키기 위해 유니캐스트를 통해 전달될 수 있다.
[0148]
도 11은 본 개시의 기술들이 구현될 수 있는 다른 예시적인 시스템을 예시적인 시스템(370)을 예시하는 개념도이다. 도 11의 예는 도 3에 대해 설명된 예와 개념적으로 유사하다. 즉, 도 11의 예시적인 시스템(370)에서, 브로드캐스트 DASH 서버(376)는 예를 들어, 파일들의 브로드캐스트 전달을 위해, 브로드캐스트 파일 전송 패키저(378)에 미디어 데이터를 제공한다. 예를 들어, 브로드캐스트 파일 전송 패키저(378) 및 브로드캐스트 파일 전송 수신기(380)는, tools.ietf.org/html/rfc6726에서 입수가능한, 2012년 11월 Internet Engineering Task Force, RFC 6726에서 Paila 등의 "FLUTE - File Delivery over Unidirectional Transport"에서 설명된 바와 같은 FLUTE(File Delivery over Unidirectional Transport)에 따라 동작할 수 있다. 대안적으로, 브로드캐스트 파일 전송 패키저(378) 및 브로드캐스트 파일 전송 수신기(380)는 ROUTE(Real-Time Object Delivery over Unidirectional Transport) 프로토콜에 따라 동작할 수 있다.
[0149]
또 다른 예에서, 브로드캐스트 파일 전송 패키저(378) 및 브로드캐스트 파일 전송 수신기(380)는 ATSC 또는 NTSC와 같은 오버-디-에어 브로드캐스트 프로토콜에 따라 동작할 수 있다. 예를 들어, MBMS 서비스 계층은 ATSC 3.0에 대한 DASH 계층과 결합될 수 있다. 이러한 조합은 IP-중심 방식으로 계층화-클린 MBMS 서비스 계층 구현을 제공할 수 있다. 또한, 다수의 전달 경로들 및 방법들에 걸쳐 단일화된 동기화가 존재할 수 있다. 이러한 시스템은 또한 많은 이점들을 제공할 수 있는 브로드캐스트를 통해 DASH에 대한 클린한 최적화된 지원을 제공할 수 있다. 향상된 AL FEC 지원은 모든 서비스 컴포넌트들에 대한 일정한 QoS(quality of service)를 제공할 수 있다. 또한, 이러한 예시적인 시스템은 다양한 사용 경우들을 지원할 수 있고, 고속 채널 변경 및/또는 낮은 레이턴시와 같은 다양한 이점들을 도출할 수 있다.
[0150]
도 11의 예에서, 브로드캐스트 DASH 서버(376)는, 미디어 데이터가 언제 송신될지를 결정하기 위해 UTC(uniform time code) 소스(372)를 사용하여 타이밍 정보를 결정한다. DASH 플레이어(384)는 궁극적으로, 로컬 UTC 소스(374)에 의해 제공되는 타이밍 정보를 사용하여 브로드캐스트 파일 전송 수신기(380)로부터 MPD 및 미디어 데이터(382)를 수신한다. 대안적으로, DASH 플레이어(384)는 MPD 및 미디어 데이터(382')를 CDN(386)으로부터 리트리브할 수 있다. DASH 플레이어(384)는 시간 정렬된 압축된 미디어 데이터(390)를 추출할 수 있고, 시간 정렬된 압축된 미디어 데이터(390)를 CODEC들(388)(도 1의 오디오 디코더(46) 및 비디오 디코더(48)를 표현할 수 있음)에 전달할 수 있다. 그 다음, CODEC들(388)은 (예를 들어, 도 1의 오디오 출력(42) 및 비디오 출력(44)을 통해) 제시될 수 있는 시간 정렬된 미디어 샘플들 및 픽셀들(392)을 생성하기 위해 인코딩된 미디어 데이터를 디코딩할 수 있다.
[0151]
도 12는 ATSC3.0에 대한 예시적인 개념적 프로토콜 모델(400)을 예시하는 개념도이다. 모델(400)에서, 선형 및 애플리케이션 기반 서비스들(412)은 선형 TV 상호작용 서비스들, 동반 스크린, 개인화, 긴급상황 경보들, 및 사용 보고를 포함하고, 예를 들어, HTML 5 및/또는 자바스크립트를 사용하여 구현된 다른 애플리케이션들을 포함할 수 있다.
[0152]
모델(400)의 인코딩, 포맷화 및 서비스 관리 데이터(410)는 (예를 들어, 오디오 및 비디오 데이터에 대한) 다양한 코덱들, ISO BMFF 파일들, EME(encrypted media extensions)를 사용한 암호화 및/또는 공통 암호화(CENC), MPU(media processing unit), NRT 파일들, 시그널링 오브젝트들 및 다양한 타입들의 시그널링 데이터를 포함한다.
[0153]
이러한 예에서, 모델(400)의 전달 계층(408)에서, MMTP(MPEG Media Transport Protocol) 데이터, ROUTE 데이터, (선택적일 수 있는) AL FEC(application layer forward error correction) 데이터, UDP(Uniform Datagram Protocol) 데이터 및 TCP(Transmission Control Protocol) 데이터(406), HTTP(Hypertext Transfer Protocol) 데이터, 및 IP(Internet protocol) 데이터(404)가 존재한다. 이러한 데이터는 물리 계층(402)을 통해 브로드캐스트 및/또는 브로드밴드 송신을 사용하여 전송될 수 있다.
[0154]
도 13a는 멀티-계층 오디오 데이터(700)를 표현하는 개념도이다. 이러한 예는 3개의 서브-계층들을 갖는 제1 계층을 도시하는 한편, 다른 예들에서, 3개의 서브-계층들은 3개의 별개의 계층들일 수 있다.
[0155]
도 13a의 예에서, 고차 앰비소닉 오디오 데이터의 둘 이상의 계층들의 베이스 서브-계층(702), 제1 향상 서브-계층(704) 및 제2 향상 서브-계층(706)을 포함하는 제1 계층은 1과 동일하거나 그보다 작은 차수를 갖는 하나 이상의 구형 베이시스 기능들에 대응하는 고차 앰비소닉 계수들을 포함할 수 있다. 일부 예들에서, 제2 계층(즉, 제3 향상 계층)은 벡터-기반 지배적 오디오 데이터를 포함한다. 일부 예들에서, 벡터-기반 지배적 오디오는 적어도 지배적 오디오 데이터 및 인코딩된 V-벡터를 포함하고, 여기서 인코딩된 V-벡터는 선형 반전가능 변환의 적용을 통해 고차 앰비소닉 오디오 데이터로부터 분해된다. 2015년 4월10일에 출원된 미국 가출원 62/145,960호, 및 2015년 8월, IEEE 9 Journal of Selected Topics in Signal Processing 5에서 Herre 등에 의한 "MPEG-H 3D Audio-The New Standard for Coding of Immersive Spatial Audio"는 V-벡터들에 관한 추가적인 정보를 포함한다. 다른 예들에서, 벡터-기반 지배적 오디오 데이터는 적어도 추가적인 고차 앰비소닉 채널을 포함한다. 또 다른 예들에서, 벡터-기반 지배적 오디오 데이터는 적어도 자동 이득 정정 사이드밴드를 포함한다. 다른 예들에서, 벡터-기반 지배적 오디오 데이터는 적어도 지배적 오디오 데이터, 인코딩된 V-벡터, 추가적인 고차 앰비소닉 채널, 및 자동 이득 정정 사이드밴드를 포함하고, 여기서 인코딩된 V-벡터는 선형 반전가능 변환의 적용을 통해 고차 앰비소닉 오디오 데이터로부터 분해된다.
[0156]
도 13a의 예에서, 제1 계층(702)은 적어도 3개의 서브-계층들을 포함할 수 있다. 일부 예에서, 적어도 3개의 서브-계층들 중 제1 서브-계층(즉, 베이스 계층(702))은 좌측 오디오 채널과 연관된 적어도 고차 앰비소닉 오디오 데이터를 포함한다. 다른 예들에서, 적어도 3개의 서브-계층들 중 제1 서브-계층(즉, 베이스 계층(702))은 우측 오디오 채널과 연관된 적어도 고차 앰비소닉 오디오 데이터를 포함한다. 또 다른 예들에서, 적어도 3개의 서브-계층들 중 제1 서브-계층(즉, 베이스 계층(702))은 적어도 자동 이득 정정을 위한 사이드밴드를 포함한다. 다른 예들에서, 적어도 3개의 서브-계층들 중 제1 서브-계층(즉, 베이스 계층(702))은 좌측 오디오, 우측 오디오 채널 및 자동 이득 정정을 위한 사이드대역과 연관된 적어도 고차 앰비소닉 오디오 데이터를 포함한다.
[0157]
일부 예들에서, 도 13a의 적어도 3개의 서브-계층들 중 제2 서브-계층(즉, 제1 향상 계층(704))은 로컬화 채널과 연관된 적어도 고차 앰비소닉 오디오 데이터를 포함한다. 다른 예들에서, 적어도 3개의 서브-계층들 중 제2 서브-계층(즉, 제1 향상 계층(704))은 적어도 자동 이득 정정을 위한 사이드밴드를 포함한다. 또 다른 예들에서, 적어도 3개의 서브-계층들 중 제2 서브-계층(즉, 제1 향상 계층(704))은 로컬화 채널 및 자동 이득 정정을 위한 사이드대역과 연관된 적어도 고차 앰비소닉 오디오 데이터를 포함한다.
[0158]
일부 예들에서, 적어도 2개의 서브-계층들 중 제3 서브-계층(즉, 제2 향상 계층(706))은 높이 채널과 연관된 적어도 고차 앰비소닉 오디오 데이터를 포함한다. 다른 예들에서, 적어도 3개의 서브-계층들 중 제3 서브-계층(즉, 제2 향상 계층(706))은 적어도 자동 이득 정정을 위한 사이드밴드를 포함한다. 또 다른 예들에서, 적어도 3개의 서브-계층들 중 제3 서브-계층(즉, 제2 향상 계층(706))은 높이 채널 및 자동 이득 정정을 위한 사이드대역과 연관된 적어도 고차 앰비소닉 오디오 데이터를 포함한다.
[0159]
도 13a의 예에서, 4개의 별개의 계층들(즉, 베이스 계층(702), 제1 향상 계층(704), 제2 향상 계층(706) 및 제3 향상 계층)이 존재하는 경우, 오디오 코딩 디바이스는 에러 체킹 프로세스들을 수행할 수 있다. 일부 예들에서, 오디오 코딩 디바이스는 제1 계층(즉, 베이스 계층(702))에 대해 에러 체킹 프로세스를 수행할 수 있다. 다른 예에서, 오디오 코딩 디바이스는 제1 계층(즉, 베이스 계층(702))에 대해 에러 체킹 프로세스를 수행할 수 있고, 제2 계층, 제3 계층 및 제4 계층에 대해 에러 체킹 프로세스를 수행하는 것을 억제할 수 있다. 또 다른 예에서, 오디오 코딩 디바이스는 제1 층(즉, 베이스 계층(702)) 상에서 에러 체킹 프로세스를 수행할 수 있고, 제1 계층이 에러가 없다고 결정하는 것에 대한 응답으로, 오디오 코딩 디바이스는 제2 계층(즉, 제1 향상 계층(704))에 대해 에러 체킹 프로세스를 수행할 수 있고, 오디오 코딩 디바이스는 제3 계층 및 제4 계층에 대해 에러 체킹 프로세스를 수행하는 것을 억제할 수 있다. 또 다른 예에서, 오디오 코딩 디바이스는 제1 층(즉, 베이스 계층(702)) 상에서 에러 체킹 프로세스를 수행할 수 있고, 제1 계층이 에러가 없다고 결정하는 것에 대한 응답으로, 오디오 코딩 디바이스는 제2 계층(즉, 제1 향상 계층(704))에 대해 에러 체킹 프로세스를 수행할 수 있고, 제2 계층이 에러가 없다고 결정하는 것에 대한 응답으로, 오디오 코딩 디바이스는 제3 계층(즉, 제2 향상 계층)에 대해 에러 체킹 프로세스를 수행할 수 있고, 오디오 코딩 디바이스는 제4 계층에 대해 에러 체킹 프로세스를 수행하는 것을 억제할 수 있다. 또 다른 예에서, 오디오 코딩 디바이스는 제1 층(즉, 베이스 계층(702)) 상에서 에러 체킹 프로세스를 수행할 수 있고, 제1 계층이 에러가 없다고 결정하는 것에 대한 응답으로, 오디오 코딩 디바이스는 제2 계층(즉, 제1 향상 계층(704))에 대해 에러 체킹 프로세스를 수행할 수 있고, 제2 계층이 에러가 없다고 결정하는 것에 대한 응답으로, 오디오 코딩 디바이스는 제3 계층(즉, 제2 향상 계층(706))에 대해 에러 체킹 프로세스를 수행할 수 있고, 제3 계층이 에러가 없다고 결정하는 것에 대한 응답으로, 오디오 코딩 디바이스는 제4 계층(즉, 제3 향상 계층)에 대해 에러 체킹 프로세스를 수행할 수 있다. 오디오 코딩 디바이스가 제1 계층(즉, 베이스 계층(702))에 대해 에러 체킹 프로세스를 수행하는 상기 예들 중 임의의 것에서, 제1 계층은 에러들에 견고한 견고한 계층으로 고려될 수 있다.
[0160]
본 개시의 기술들에 따르면, 일례에서, 앞서 설명된 다양한 계층들(예를 들어, 베이스 계층(702), 제2 계층(704), 제3 계층(706) 및 제4 계층) 각각으로부터의 데이터는 각각의 적응 세트들 내에서 제공될 수 있다. 즉, 베이스 계층 적응 세트는 베이스 계층(702)에 대응하는 데이터를 포함하는 하나 이상의 표현들을 포함할 수 있고, 제2 계층 적응 세트는 제2 계층(704)에 대응하는 데이터를 포함하는 하나 이상의 표현들을 포함할 수 있고, 제3 계층 적응 세트는 제3 계층(706)에 대응하는 데이터를 포함하는 하나 이상의 표현들을 포함할 수 있고, 제4 계층 적응 세트는 제4 계층에 대응하는 데이터를 포함하는 하나 이상의 표현들을 포함할 수 있다.
[0161]
도 13b는 멀티-계층 오디오 데이터의 다른 예를 표현하는 개념도이다. 도 13b의 예는 도 13a의 예와 실질적으로 유사하다. 그러나, 이러한 예에서, UHJ 상관해제는 수행되지 않는다.
[0162]
도 14a는 멀티-계층 오디오 데이터(710)의 다른 예를 예시하는 개념도이다. 이러한 예는 3개의 서브-계층들을 갖는 제1 계층을 도시하는 한편, 다른 예들에서, 3개의 서브-계층들은 3개의 별개의 계층들일 수 있다.
[0163]
도 14a의 예에서, 고차 앰비소닉 오디오 데이터의 둘 이상의 계층들의 베이스 서브-계층(712), 제1 향상 서브-계층 및 제2 향상 서브-계층을 포함하는 제1 계층은 1과 동일하거나 그보다 작은 차수를 갖는 하나 이상의 구형 베이시스 기능들에 대응하는 고차 앰비소닉 계수들을 포함할 수 있다. 일부 예들에서, 제2 계층(즉, 제3 향상 계층)은 벡터-기반 지배적 오디오 데이터를 포함한다. 일부 예들에서, 벡터-기반 지배적 오디오는 적어도 지배적 오디오 데이터 및 인코딩된 V-벡터를 포함하고, 여기서 인코딩된 V-벡터는 선형 반전가능 변환의 적용을 통해 고차 앰비소닉 오디오 데이터로부터 분해된다. 다른 예들에서, 벡터-기반 지배적 오디오 데이터는 적어도 추가적인 고차 앰비소닉 채널을 포함한다. 또 다른 예들에서, 벡터-기반 지배적 오디오 데이터는 적어도 자동 이득 정정 사이드밴드를 포함한다. 다른 예들에서, 벡터-기반 지배적 오디오 데이터는 적어도 지배적 오디오 데이터, 인코딩된 V-벡터, 추가적인 고차 앰비소닉 채널, 및 자동 이득 정정 사이드밴드를 포함하고, 여기서 인코딩된 V-벡터는 선형 반전가능 변환의 적용을 통해 고차 앰비소닉 오디오 데이터로부터 분해된다.
[0164]
도 14a의 예에서, 제1 계층은 적어도 3개의 서브-계층들을 포함할 수 있다. 일부 예들에서, 적어도 3개의 서브-계층들 중 제1 서브-계층(즉, 베이스 계층(712))은 0차 앰비소닉과 연관된 적어도 고차 앰비소닉 오디오 데이터를 포함한다. 다른 예들에서, 적어도 3개의 서브-계층들 중 제1 서브-계층(즉, 베이스 계층(712))은 적어도 자동 이득 정정을 위한 사이드밴드를 포함한다. 또 다른 예들에서, 적어도 3개의 서브-계층들 중 제1 서브-계층(즉, 베이스 계층(712))은 0차 앰비소닉 및 자동 이득 정정을 위한 사이드대역과 연관된 적어도 고차 앰비소닉 오디오 데이터를 포함한다.
[0165]
일부 예들에서, 적어도 3개의 서브-계층들 중 제2 서브-계층(즉, 제1 향상 계층(714))은 X 성분과 연관된 적어도 고차 앰비소닉 오디오 데이터를 포함한다. 다른 예들에서, 적어도 3개의 서브-계층들 중 제2 서브-계층(즉, 제1 향상 계층(714))은 Y 성분과 연관된 적어도 고차 앰비소닉 오디오 데이터를 포함한다. 다른 예들에서, 적어도 3개의 서브-계층들 중 제2 서브-계층(즉, 제1 향상 계층(714))은 적어도 자동 이득 정정을 위한 사이드밴드를 포함한다. 또 다른 예들에서, 적어도 3개의 서브-계층들 중 제2 서브-계층(즉, 제1 향상 계층(714))은 X 성분 및 Y 성분 및 자동 이득 정정을 위한 사이드대역과 연관된 적어도 고차 앰비소닉 오디오 데이터를 포함한다.
[0166]
일부 예들에서, 적어도 3개의 서브-계층들 중 제3 서브-계층(즉, 제2 향상 계층(716))은 Z 성분과 연관된 적어도 고차 앰비소닉 오디오 데이터를 포함한다. 다른 예들에서, 적어도 3개의 서브-계층들 중 제3 서브-계층(즉, 제2 향상 계층(716))은 적어도 자동 이득 정정을 위한 사이드밴드를 포함한다. 또 다른 예들에서, 적어도 3개의 서브-계층들 중 제3 서브-계층(즉, 제2 향상 계층(716))은 Z 성분 및 자동 이득 정정을 위한 사이드대역과 연관된 적어도 고차 앰비소닉 오디오 데이터를 포함한다.
[0167]
도 14a의 예에서, 4개의 별개의 계층들(즉, 베이스 계층(712), 제1 향상 계층(714), 제2 향상 계층(716) 및 제3 향상 계층)이 존재하는 경우, 오디오 코딩 디바이스는 에러 체킹 프로세스들을 수행할 수 있다. 일부 예들에서, 오디오 코딩 디바이스는 제1 계층(즉, 베이스 계층(712))에 대해 에러 체킹 프로세스를 수행할 수 있다. 다른 예에서, 오디오 코딩 디바이스는 제1 계층(즉, 베이스 계층(712))에 대해 에러 체킹 프로세스를 수행할 수 있고, 제2 계층, 제3 계층 및 제4 계층에 대해 에러 체킹 프로세스를 수행하는 것을 억제할 수 있다. 또 다른 예에서, 오디오 코딩 디바이스는 제1 층(즉, 베이스 계층(712)) 상에서 에러 체킹 프로세스를 수행할 수 있고, 제1 계층이 에러가 없다고 결정하는 것에 대한 응답으로, 오디오 코딩 디바이스는 제2 계층(즉, 제1 향상 계층(714))에 대해 에러 체킹 프로세스를 수행할 수 있고, 오디오 코딩 디바이스는 제3 계층 및 제4 계층에 대해 에러 체킹 프로세스를 수행하는 것을 억제할 수 있다. 또 다른 예에서, 오디오 코딩 디바이스는 제1 층(즉, 베이스 계층(712)) 상에서 에러 체킹 프로세스를 수행할 수 있고, 제1 계층이 에러가 없다고 결정하는 것에 대한 응답으로, 오디오 코딩 디바이스는 제2 계층(즉, 제1 향상 계층(714))에 대해 에러 체킹 프로세스를 수행할 수 있고, 제2 계층이 에러가 없다고 결정하는 것에 대한 응답으로, 오디오 코딩 디바이스는 제3 계층(즉, 제2 향상 계층(716))에 대해 에러 체킹 프로세스를 수행할 수 있고, 오디오 코딩 디바이스는 제4 계층에 대해 에러 체킹 프로세스를 수행하는 것을 억제할 수 있다. 또 다른 예에서, 오디오 코딩 디바이스는 제1 층(즉, 베이스 계층(712)) 상에서 에러 체킹 프로세스를 수행할 수 있고, 제1 계층이 에러가 없다고 결정하는 것에 대한 응답으로, 오디오 코딩 디바이스는 제2 계층(즉, 제1 향상 계층(714))에 대해 에러 체킹 프로세스를 수행할 수 있고, 제2 계층이 에러가 없다고 결정하는 것에 대한 응답으로, 오디오 코딩 디바이스는 제3 계층(즉, 제2 향상 계층(716))에 대해 에러 체킹 프로세스를 수행할 수 있고, 제3 계층이 에러가 없다고 결정하는 것에 대한 응답으로, 오디오 코딩 디바이스는 제4 계층(즉, 제3 향상 계층)에 대해 에러 체킹 프로세스를 수행할 수 있다. 오디오 코딩 디바이스가 제1 계층(즉, 베이스 계층(712))에 대해 에러 체킹 프로세스를 수행하는 상기 예들 중 임의의 것에서, 제1 계층은 에러들에 견고한 견고한 계층으로 고려될 수 있다.
[0168]
본 개시의 기술들에 따르면, 일례에서, 앞서 설명된 다양한 계층들(예를 들어, 베이스 계층(712), 제2 계층, 제3 계층 및 제4 계층) 각각으로부터의 데이터는 각각의 적응 세트들 내에서 제공될 수 있다. 즉, 베이스 계층(712) 적응 세트는 베이스 계층(712)에 대응하는 데이터를 포함하는 하나 이상의 표현들을 포함할 수 있고, 제2 계층 적응 세트는 제2 계층(714)에 대응하는 데이터를 포함하는 하나 이상의 표현들을 포함할 수 있고, 제3 계층 적응 세트는 제3 계층(716)에 대응하는 데이터를 포함하는 하나 이상의 표현들을 포함할 수 있고, 제4 계층 적응 세트는 제4 계층에 대응하는 데이터를 포함하는 하나 이상의 표현들을 포함할 수 있다.
[0169]
도 14b는 멀티-계층 오디오 데이터의 다른 예를 표현하는 개념도이다. 도 14b의 예는 도 14a의 예와 실질적으로 유사하다. 그러나, 이러한 예에서, 모드 매트릭스 상관해제는 수행되지 않는다.
[0170]
도 15는 본 개시의 기술들에 따라 스케일링가능한 HOA 데이터가 전송되는 다른 예시적인 시스템을 예시하는 블록도이다. 일반적으로, 도 15의 엘리먼트들은 도 8 및 도 9의 엘리먼트들과 실질적으로 유사하다. 즉, 도 15는 콘텐츠 전달 네트워크로부터 오디오 데이터를 리트리브하기 위해 DASH 클라이언트(430)와 상호작용하는 MPEG-H 오디오 디코더(440)를 포함하는 시스템을 예시한다. 도 8 및 도 9의 엘리먼트들과 유사하게 명명된 도 15의 엘리먼트들은 일반적으로, 앞서 논의된 바와 동일한 그러한 엘리먼트들로 구성된다. 그러나, 이러한 예에서, 예를 들어, 도 13a, 도 13b, 도 14a 및 도 14b에 대해 앞서 논의된 바와 같이, 장면 기반 오디오 데이터의 계층(또는 서브-계층)에 각각 대응하는 다수의 적응 세트들이 제공된다.
[0171]
특히, 이러한 예에서 CDN(420)은, 장면 기반 오디오의 베이스 계층(장면-기반 오디오, 베이스 계층 적응 세트(426)의 형태) 및 복수의 향상 계층들(장면 기반 오디오, 향상 계층 적응 세트들(428A-428N)(적응 세트들(428)))을 포함하는 미디어 콘텐츠에 대한 인코딩된 메타데이터(424)를 포함하는 장면 기반 스케일링가능 오디오 콘텐츠(422)를 제공한다. 예를 들어, 베이스 계층은 모노 오디오 데이터를 포함할 수 있고, 제1 향상 계층은 좌측/우측 정보를 제공할 수 있고, 제2 향상 계층은 전방/후방 정보를 제공할 수 있고, 제3 향상 계층은 높이 정보를 제공할 수 있다. 미디어 콘텐츠는 MPD(421)에 의해 설명된다.
[0172]
따라서, 사용자는 사용자 인터페이스(448)를 통해 어느 타입들의 정보가 필요한지를 표시할 수 있다. 사용자 인터페이스(448)는 다양한 입력 및/또는 출력 인터페이스들 중 임의의 것, 예를 들어, 디스플레이, 키보드, 마우스, 터치패드, 터치스크린, 트랙볼, 원격 제어기, 마이크로폰, 버튼들, 다이얼들, 슬라이더들, 스위치들 등을 포함할 수 있다. 예를 들어, 오직 단일 스피커가 이용가능하면, DASH 클라이언트(430)는 오직 장면 기반 오디오로부터의 데이터, 즉, 베이스 계층 적응 세트(426)를 리트리브할 수 있다. 그러나, 다수의 스피커들이 이용가능하면, 스피커들의 배열에 따라, DASH 클라이언트(430)는 장면 기반 오디오의 대응하는 것들, 즉 향상 계층 적응 세트들(428)로부터 좌측/우측 정보, 전방/후방 정보 및/또는 높이 정보 중 임의의 것 또는 전부를 리트리브할 수 있다.
[0173]
DASH에서 오디오 데이터에 대한 2개의 예시적인 타입들의 스케일링가능성이 아래에서 설명된다. 제1 예는 정적 디바이스 스케일링가능성이다. 이러한 예에서, 베이스 계층 및 향상 계층들은 상이한 소스 신호들을 표현한다. 예를 들어, 베이스 계층은 1080p 30fps SDR을 표현할 수 있고, 향상 계층은 4K 60fps HDR을 표현할 수 있다. 이에 대한 주요 이유는, 디바이스 적응을 위한 품질을 낮추기 위한 액세스를 지원하는 것이며, 예를 들어, 베이스 계층은 하나의 디바이스 클래스에 의해 선택되고, 향상 계층은 제2 디바이스 클래스에 의해 선택된다. 정적 디바이스 스케일링가능성의 예에서, 베이스 계층 및 향상 계층들은 상이한 적응 세트들에서 제공된다. 즉, 디바이스들은 (예를 들어, 상이한 적응 세트들에서 상보적 표현들로부터 데이터를 포착함으로써) 적응 세트들 중 하나 이상을 선택할 수 있다.
[0174]
제2 예는 동적 액세스 대역폭 스케일링가능성과 관련된다. 이러한 예에서, 하나의 베이스 계층 및 하나 이상의 향상 계층이 생성된다. 그러나, 모든 계층들은 동일한 소스 신호(예를 들어, 1080p 60fps)를 제시한다. 이는 예를 들어, DASH의 기술들에 따라 적응형 스트리밍을 지원할 수 있다. 즉, 대역폭의 추정된 이용가능한 양에 기초하여, 더 많거나 더 적은 향상 계층들이 다운로드/액세스될 수 있다. 이러한 예에서, 베이스 계층 및 향상은 하나의 적응 세트에서 제공되고, 끊김없이 스위칭가능하다. 이러한 예는 브로드캐스트/멀티캐스트 전달보다 유니캐스트 전달과 더 관련될 수 있다.
[0175]
제3 예는 정적 디바이스 스케일링가능성 및 동적 액세스 대역폭 스케일링가능성 기술들의 조합을 포함할 수 있다.
[0176]
이러한 예들 각각은 DASH를 사용하여 지원될 수 있다.
[0177]
도 15의 예에서, DASH 클라이언트(430)는 초기에 MPD(421)를 수신한다(460). 선택 유닛(432)은 이용가능한 적응 세트들, 및 적응 세트들 내의 표현들을 결정한다. 그 다음, 선택 유닛(432)은 이용가능한 적응 세트들(특히, 이용가능한 스케일링가능한 오디오 계층들)을 표현하는 데이터를, MPEG-H 오디오 디코더(440)의 메타데이터 추출 유닛(442)에 제공한다(462). 사용자 또는 다른 엔티티는 이러한 예에서, 원하는 오디오 계층들의 선택들을 API(450)를 통해 MPEG-H 오디오 디코더(440)에 제공한다. 그 다음, 이러한 선택들은 선택 유닛(432)에 전달된다. 선택 유닛(432)은 원하는 적응 세트들의 다운로드 및 스위칭 유닛(434) 뿐만 아니라 초기 표현 선택들을 (예를 들어, 이용가능한 네트워크 대역폭에 기초하여) 통지한다.
[0178]
그 다음, 다운로드 및 스위칭 유닛(434)은 예를 들어, HTTP GET 또는 부분적 GET 요청들을 CDN(420)의 서버에 제출함으로써, 원하는 적응 세트들(464) 각각의 하나의 표현으로부터 데이터를 리트리브한다. 요청된 데이터를 수신한 후, 다운로드 및 스위칭 유닛(434)은 MPEG-H 오디오 디코더(440)에 리트리브된 데이터를 제공한다(466). 장면 데이터 추출 유닛(444)은 관련 장면 데이터를 추출하고, 스케일링가능한 오디오 계층 디코딩 유닛(446)은 다양한 계층들 각각에 대한 오디오 데이터를 디코딩한다. 궁극적으로, MPEG-H 오디오 디코더(440)는 디코딩된 오디오 계층들을 오디오 렌더링 유닛(452)에 제공하고, 오디오 렌더링 유닛(452)은 오디오 출력(454)에 의한 재생을 위해 오디오 데이터를 렌더링한다. 오디오 출력(454)은 일반적으로 도 1의 오디오 출력(42)에 대응할 수 있다. 예를 들어, 오디오 출력(454)은 하나 이상의 스피커들을 다양한 배열들로 포함할 수 있다. 예를 들어, 오디오 출력(454)은 단일 스피커, 좌측 및 우측 스테레오 스피커들, 5.1 배열된 스피커들, 7.1 배열된 스피커들 또는 3D 오디오를 제공하기 위한 다양한 높이들의 스피커들을 포함할 수 있다.
[0179]
일반적으로, 도 8 및 도 9에 대해 앞서 논의된 다양한 기술들은 또한 도 15의 시스템에 의해 수행될 수 있다.
[0180]
도 16은 본 개시의 기술들에 따른 예시적인 아키텍처를 예시하는 개념도이다. 도 16의 예는 전송기(470) 및 2개의 수신기들, 즉 수신기(482) 및 수신기(494)를 포함한다.
[0181]
전송기(470)는 비디오 인코더(472) 및 오디오 인코더(474)를 포함한다. 비디오 인코더(472)는 비디오 데이터(506)를 인코딩하는 한편, 오디오 인코더(474)는 오디오 데이터(508)를 포함한다. 이러한 예에서 전송기(470)는 복수의 표현들, 예를 들어, 3개의 오디오 표현들, 즉 표현 1, 표현 2 및 표현 3을 준비할 수 있다. 따라서, 인코딩된 오디오 데이터(508)는 표현 1, 표현 2 및 표현 3 각각에 대한 오디오 데이터를 포함할 수 있다. 파일 포맷 캡슐화기(476)는 인코딩된 비디오 데이터(506) 및 인코딩된 오디오 데이터(508)를 수신하고 캡슐화된 데이터(510)를 형성한다. DASH 세그멘터(478)는 세그먼트들(512)을 형성하고, 세그먼트들(512) 각각은 별개의 세트들의 캡슐화되고 인코딩된 오디오 또는 비디오 데이터를 포함한다. ROUTE 전송기(480)는 다양한 대응하는 비트스트림들에서 세그먼트들을 전송한다. 이러한 예에서, 비트스트림(514)은 모든 오디오 데이터(예를 들어, 표현들 1, 2 및 3 각각)를 포함하는 한편, 비트스트림(514')은 표현들 1 및 3을 포함하지만 표현 2를 생략한다.
[0182]
수신기(482)는 비디오 디코더(484), 장면, 오브젝트 및 채널 오디오 디코더(486), 파일 포맷 파서(488), DASH 클라이언트(490) 및 ROUTE 수신기(492)를 포함하는 한편, 수신기(494)는 비디오 디코더(496), 장면 및 채널 오디오 디코더(498), 파일 포맷 파서(500), DASH 클라이언트(502) 및 ROUTE 수신기(504)를 포함한다.
[0183]
궁극적으로, 이러한 예에서, 수신기(482)는 표현 1, 표현 2 및 표현 3 각각에 대한 데이터를 포함하는 비트스트림(514)을 수신한다. 그러나, 수신기(494)는 표현 1 및 표현 3에 대한 데이터를 포함하는 비트스트림(514')을 수신한다. 이는, 전송기와 수신기(494) 사이의 네트워크 조건들이 모든 3개의 이용가능한 표현들에 대한 데이터를 리트리브하기에 충분한 양의 대역폭을 제공하지 않기 때문이거나, 또는 수신기(494)에 커플링된 렌더링 디바이스가 표현 2로부터의 데이터를 사용할 수 없기 때문일 수 있다. 예를 들어, 표현 2가 오디오 데이터에 대한 높이 정보를 포함하지만 수신기(494)가 좌측/우측 스테레오 시스템과 연관되면, 표현 2로부터의 데이터는 수신기(494)를 통해 수신된 오디오 데이터를 렌더링하기에는 불충분할 수 있다.
[0184]
이러한 예에서, ROUTE 수신기(492)는 비트스트림(514)을 수신하고, DASH 클라이언트(490)가 세그먼트들을 요청할 때까지 수신된 세그먼트들을 로컬로 캐시한다. DASH 클라이언트(490)는, 예를 들어, 통지된 벽시계 시간들에 기초하여 세그먼트들이 이용가능하다고(또는 이용가능해야 한다고) 세그먼트 이용가능성 정보가 표시하는 경우 세그먼트들을 요청할 수 있다. 그 다음, DASH 클라이언트(490)는 ROUTE 수신기(492)로부터 세그먼트들을 요청할 수 있다. DASH 클라이언트(490)는 파일 포맷 파서(488)에 세그먼트들(510)을 전송할 수 있다. 파일 포맷 파서(488)는 세그먼트들을 캡슐화해제할 수 있고, 캡슐화해제된 데이터가 인코딩된 오디오 데이터(508) 또는 인코딩된 비디오 데이터(506)에 대응하는지 여부를 결정할 수 있다. 파일 포맷 파서(488)는 인코딩된 오디오 데이터(508)를 장면, 오브젝트 및 채널 오디오 디코더(486)에, 그리고 인코딩된 비디오 데이터(506)를 비디오 디코더(484)에 전달한다.
[0185]
이러한 예에서, ROUTE 수신기(504)는 비트스트림(514')을 수신하고, DASH 클라이언트(502)가 세그먼트들을 요청할 때까지 수신된 세그먼트들을 로컬로 캐시한다. DASH 클라이언트(502)는, 예를 들어, 통지된 벽시계 시간들에 기초하여 세그먼트들이 이용가능하다고(또는 이용가능해야 한다고) 세그먼트 이용가능성 정보가 표시하는 경우 세그먼트들을 요청할 수 있다. 그 다음, DASH 클라이언트(502)는 ROUTE 수신기(504)로부터 세그먼트들을 요청할 수 있다. DASH 클라이언트(502)는 파일 포맷 파서(5070)에 세그먼트들(510')을 전송할 수 있다. 파일 포맷 파서(500)는 세그먼트들을 캡슐화해제할 수 있고, 캡슐화해제된 데이터가 인코딩된 오디오 데이터(508')(이는 앞서 논의된 바와 같이 표현 2를 생략함) 또는 인코딩된 비디오 데이터(506)에 대응하는지 여부를 결정할 수 있다. 파일 포맷 파서(500)는 인코딩된 오디오 데이터(508)를 장면 및 채널 오디오 디코더(498)에, 그리고 인코딩된 비디오 데이터(506)를 비디오 디코더(496)에 전달한다.
[0186]
본 개시의 기술들은 다양한 사용 경우들에서 적용될 수 있다. 예를 들어, 본 개시의 기술들은 둘 이상의 상이한 수신기들에 대한 디바이스 스케일링가능성을 제공하기 위해 사용될 수 있다. 다른 예로, 오브젝트 흐름들 및/또는 상이한 스케일링가능한 오디오 계층들에 대한 흐름들은 상이한 전송 세션에 의해 반송될 수 있다. 또 다른 예로서, 본 기술들은, 레거시 수신기가 오직 베이스 계층을 리트리브할 수 있는 한편 진보된 수신기가 베이스 계층 및 하나 이상의 향상 계층들을 액세스할 수 있다는 점에서, 역호환가능성을 지원할 수 있다. 또한, 앞서 논의된 바와 같이, 미디어 데이터의 광대역, 브로드캐스트/멀티캐스트 및/또는 유니캐스트 수신은 (하이브리드 스케일링가능성으로 설명될 수 있는) 향상된 품질을 지원하기 위해 결합될 수 있다. 또한, 이러한 기술들은 장래의 기술들, 예를 들어, 8K 신호들 및 HDR 확장 계층들, 스케일링가능 오디오 및/또는 실시간 베이스 계층 및 NRT 향상 계층 기술들의 조합들을 지원할 수 있다. 이러한 사용 경우들 각각은 스택을 통한 기능적 분리로 인해 DASH/ROUTE에 의해 지원될 수 있다.
[0187]
이러한 방식으로, 도 16은 오디오 데이터를 리트리브하기 위한 디바이스들(수신기들(482, 494))의 예들을 표현하고, 디바이스들은 복수의 이용가능한 적응 세트들을 표현하는 이용가능성 데이터를 수신하고 - 이용가능한 적응 세트들은 장면-기반 오디오 적응 세트들 및 하나 이상의 오브젝트-기반 오디오 적응 세트들을 포함함 -, 장면-기반 오디오 적응 세트들 및 하나 이상의 오브젝트-기반 오디오 적응 세트들 중 어느 것이 리트리브될지를 식별하는 선택 데이터를 수신하고, 선택 데이터에 의해 식별된 적응 세트들 각각에 대한 데이터를 스트리밍 클라이언트가 리트리브하게 하기 위해 스트리밍 클라이언트에 명령 데이터를 제공하도록 구성되는 하나 이상의 프로세서들; 및 오디오 적응 세트들에 대해 리트리브된 데이터를 저장하도록 구성되는 메모리를 포함한다.
[0188]
도 17은 본 개시의 기술들에 따른 예시적인 클라이언트 디바이스(520)를 예시하는 블록도이다. 클라이언트 디바이스(520)는, 일반적으로 인터넷과 같은 컴퓨터-기반 네트워크에 접속성을 제공하는 네트워크 인터페이스(522)를 포함한다. 네트워크 인터페이스(522)는 예를 들어, IEEE 802.11a, b, g, n 등과 같은 이더넷 및/또는 하나 이상의 무선 네트워크 표준들과 같은 다양한 네트워크 프로토콜들에 따라 동작할 수 있는 하나 이상의 NIC들(network interface cards)을 포함할 수 있다.
[0189]
클라이언트 디바이스(520)는 또한 DASH 클라이언트(524)를 포함한다. DASH 클라이언트(524)는 일반적으로 DASH 기술들을 구현한다. 이러한 예에서, 클라이언트 디바이스(520)는 DASH 클라이언트(524)를 포함하고, 다른 예들에서, 클라이언트 디바이스(520)는 예를 들어, 도 2에 대해 앞서 논의된 바와 같이, DASH 클라이언트(524)에 추가로 미들웨어 유닛을 포함할 수 있다. 일반적으로, DASH 클라이언트(524)는 예를 들어, 오디오 제어기(530) 및 비디오 제어기(420)에 의해 지시된 바와 같이, 아래와 논의된 바와 같이, 미디어 콘텐츠의 하나 이상의 적응 세트들로부터 적절한 표현들을 선택한다.
[0190]
클라이언트 디바이스(520)는 오디오 및 비디오 데이터의 선택을 각각 제어하기 위한 오디오 제어기(530) 및 비디오 제어기(420)를 포함한다. 오디오 제어기(530)는 일반적으로 앞서 논의된 바와 같이, 본 개시의 기술들에 따라 동작한다. 예를 들어, 오디오 제어기(530)는 이용가능한 오디오 데이터를 표현하는 (예를 들어, MPD 또는 다른 데이터 구조로부터, 예를 들어 MPEG-H 메타데이터로부터) 메타데이터를 수신하도록 구성될 수 있다. 이용가능한 오디오 데이터는 장면-기반 오디오, 채널-기반 오디오, 오브젝트-기반 오디오 또는 이들의 임의의 조합을 포함할 수 있다. 또한, 앞서 논의된 바와 같이, 장면-기반 오디오는 스케일링가능할 수 있는데, 즉, 별개의 각각의 적응 세트들에서 제공될 수 있는 다수의 계층들을 가질 수 있다. 일반적으로, 오디오 제어기(530)의 오디오 메타데이터 프로세싱 유닛(532)은 어느 타입들의 오디오 데이터가 이용가능한지를 결정한다.
[0191]
오디오 메타데이터 프로세싱 유닛(532)은 API(536)와 상호작용하며, API(536)는 사용자 인터페이스들(550) 중 하나 이상과 오디오 메타데이터 프로세싱 유닛(532) 사이의 인터페이스를 제공한다. 예를 들어, 사용자 인터페이스들(550)은 사용자로부터 입력을 수신하기 위해 및/또는 사용자에 오디오 및/또는 비디오 출력을 제공하기 위해, 디스플레이, 하나 이상의 스피커들, 키보드, 마우스, 포인터, 트랙 패드, 터치스크린, 원격 제어기, 마이크로폰, 스위치들, 다이얼들, 슬라이더들 등 중 하나 이상을 포함할 수 있다. 따라서, 사용자는 사용자 인터페이스들(550)을 통해 원하는 오디오 및 비디오 데이터를 선택할 수 있다.
[0192]
예를 들어, 사용자는 다양한 구성들 중 임의의 것에서 클라이언트 디바이스(520)에 하나 이상의 스피커들을 접속시킬 수 있다. 이러한 구성들은 3D 오디오를 위해 다수의 높이들 및 위치들에서 단일 스피커, 스테레오 스피커들, 3.1 서라운드, 5.1 서라운드, 7.1 서라운드 또는 스피커들을 포함할 수 있다. 따라서, 사용자는 사용자 인터페이스들(550)을 통해 클라이언트 디바이스(520)에 스피커 배열의 표시를 제공할 수 있다. 유사하게, 사용자는 비디오 구성, 예를 들어, 2-차원 비디오, 3-차원 비디오 또는 다-차원 비디오(예를 들어, 다수의 관점을 갖는 3-차원 비디오)의 선택을 제공할 수 있다. 사용자 인터페이스들(550)은, API(536)와 실질적으로 유사한 방식으로 비디오 메타데이터 프로세싱 유닛(422)에 인터페이스를 제공하는 API(426)를 통해 비디오 제어기(420)와 상호작용할 수 있다.
[0193]
따라서, 오디오 메타데이터 프로세싱 유닛(532)은, 오디오 데이터가 리트리브될 적절한 적응 세트들을 선택할 수 있는 한편, 비디오 메타데이터 프로세싱 유닛(422)은 비디오 데이터가 리트리브될 적절한 적응 세트들을 선택할 수 있다. 오디오 메타데이터 프로세싱 유닛(532) 및 비디오 메타데이터 프로세싱 유닛(422)은, 오디오 및 비디오 데이터가 DASH 클라이언트(524)에 리트리브될 적응 세트들의 표시들을 제공할 수 있다. 결국, DASH 클라이언트(524)는 적응 세트들의 표현들을 선택하고, 선택된 표현들로부터 미디어 데이터(오디오 또는 비디오 데이터 각각)를 리트리브한다. DASH 클라이언트(524)는 예를 들어, 이용가능한 네트워크 대역폭, 적응 세트들에 대한 우선순위들 등에 기초하여 표현들을 선택할 수 있다. DASH 클라이언트(524)는 선택된 표현들로부터 네트워크 인터페이스(522)를 통해 데이터에 대한 HTTP GET 또는 부분적 GET 요청들을 제출할 수 있고, 요청들에 대한 응답으로, 요청된 데이터를 네트워크 인터페이스(522)를 통해 수신할 수 있다. 그 다음, DASH 클라이언트(524)는 수신된 데이터를 오디오 제어기(530) 또는 비디오 제어기(420)를 제공할 수 있다.
[0194]
오디오 디코더(534)는 DASH 클라이언트(524)로부터 수신된 오디오 데이터를 디코딩하고, 비디오 디코더(424)는 DASH 클라이언트(524)로부터 수신된 비디오 데이터를 디코딩한다. 오디오 디코더(534)는 디코딩된 오디오 데이터를 오디오 렌더러(538)에 제공하는 한편, 비디오 디코더(424)는 디코딩된 비디오 데이터를 비디오 렌더러(428)에 제공한다. 오디오 렌더러(538)는 디코딩된 오디오 데이터를 렌더링하고, 비디오 렌더러(428)는 디코딩된 비디오 데이터를 렌더링한다. 오디오 렌더러(538)는 렌더링된 오디오 데이터를 프리젠테이션을 위해 사용자 인터페이스들(550)에 제공하는 한편, 비디오 렌더러(428)는 렌더링된 비디오 데이터를 프리젠테이션을 위해 사용자 인터페이스들(550)에 제공한다.
[0195]
이러한 방식으로, 도 17은 오디오 데이터를 리트리브하기 위한 디바이스의 예를 표현하고, 디바이스는 복수의 이용가능한 적응 세트들을 표현하는 이용가능성 데이터를 수신하고 - 이용가능한 적응 세트들은 장면-기반 오디오 적응 세트들 및 하나 이상의 오브젝트-기반 오디오 적응 세트들을 포함함 -, 장면-기반 오디오 적응 세트들 및 하나 이상의 오브젝트-기반 오디오 적응 세트들 중 어느 것이 리트리브될지를 식별하는 선택 데이터를 수신하고, 선택 데이터에 의해 식별된 적응 세트들 각각에 대한 데이터를 스트리밍 클라이언트가 리트리브하게 하기 위해 스트리밍 클라이언트에 명령 데이터를 제공하도록 구성되는 하나 이상의 프로세서들; 및 오디오 적응 세트들에 대해 리트리브된 데이터를 저장하도록 구성되는 메모리를 포함한다.
[0196]
도 18은 본 개시의 기술들을 수행하기 위한 예시적인 방법을 예시하는 흐름도이다. 이러한 예에서, 서버 디바이스 및 클라이언트 디바이스에 대한 방법이 설명된다. 예시 및 설명의 목적으로, 서버 디바이스의 동작들은 서버 디바이스(60)(도 1)에 대해 논의되고, 클라이언트 디바이스의 동작들은 클라이언트 디바이스(40)(도 1)에 대해 논의된다. 그러나, 다른 서버 및 클라이언트 디바이스들은 논의된 기능을 수행하도록 구성될 수 있음을 이해해야 한다.
[0197]
초기에, 서버 디바이스(60)는 오디오 데이터를 인코딩한다(560). 예를 들어, 오디오 인코더(26)(도 1), MPEG-H 오디오 인코더(212)(도 도 5 내지 도 7) 또는 오디오 인코더(474)(도 16)는 오디오 데이터, 예를 들어, 장면 오디오 데이터, 채널 오디오 데이터, 스케일링가능한 오디오 데이터 및/또는 오브젝트 오디오 데이터를 인코딩한다. 서버 디바이스(60)는 또한 오디오 데이터를, 예를 들어 ISO BMFF와 같은 오디오 데이터를 스트리밍하기 위해 사용될 파일 포맷으로 캡슐화한다(562). 특히, 캡슐화 유닛(30)(도 1), 멀티플렉서(216)(도 5, 도 6), 브로드캐스트 파일 전송 패키저(378)(도 11) 또는 포맷 캡슐화기(476)(도 16)는 인코딩된 오디오 데이터를, 예를 들어, ISO BMFF에 따라 포맷된 세그먼트들과 같은 전송가능한 파일들로 캡슐화한다. 서버 디바이스(60)는 또한 이용가능성 데이터를 인코딩한다(564). 이용가능성 데이터는 DASH의 MPD와 같은 명확성 파일에 포함될 수 있다. 이용가능성 데이터 자체는 MPEG-H 3D 오디오와 같은 오디오 인코딩 포맷에 따라 포맷될 수 있다. 따라서, 서버 디바이스(60)는 이용가능성 데이터를 명확성 파일에서 클라이언트 디바이스(40)에 전송할 수 있다(566).
[0198]
클라이언트 디바이스(40)는 명확성 파일 및 그에 따른 이용가능성 데이터를 수신할 수 있다(568). 아래에 더 상세히 논의되는 바와 같이, 클라이언트 디바이스(40)의 DASH 클라이언트는 명확성 파일을 수신할 수 있고, 이용가능성 데이터를 추출할 수 있다. 그러나, 이용가능성 데이터는 MPEG-H 3D 오디오와 같은 오디오 인코딩 포맷에 따라 포맷될 수 있기 때문에, DASH 클라이언트는 이용가능성 데이터를 (도 1의 오디오 디코더(46)와 같은) MPEG-H 3D 오디오 디코더에 전송할 수 있다. 그 다음, 클라이언트 디바이스(40)는 이용가능성 데이터로부터 리트리브될 오디오 데이터를 결정할 수 있다(570). 예를 들어, 아래에서 논의되는 바와 같이, DASH 클라이언트는, 미디어 데이터를 리트리브할 적응 세트를 표시하는, 예를 들어, (도 1의 오디오 디코더(46)와 같은) MPEG-H 3D 오디오 디코더로부터 명령 데이터를 수신할 수 있다. 그 다음, 클라이언트 디바이스(40)는 명령 데이터에 따라 결정된 오디오 데이터를 요청할 수 있다(572).
[0199]
일례에서, 클라이언트 디바이스(40)는 모든 이용가능한 오디오 적응 세트들로부터 오디오 데이터를 요청할 수 있지만, 선택되지 않은 적응 세트들(즉, 예를 들어, MPEG-H 3D 오디오 디코더로부터 수신되는 명령 데이터의 선택 데이터에 의해 식별되지 않는 적응 세트들)의 최저 비트레이트 표현들로부터 오직 오디오 데이터를 요청할 수 있다. 이러한 예에서, 클라이언트 디바이스(40)는 선택된 적응 세트들에 대한 대역폭 적응을 수행할 수 있다. 이러한 방식으로, 사용자 선택이 변하면, 클라이언트 디바이스(40)는 즉시 적어도 일부 오디오 데이터에 대한 액세스를 갖고, 새로 선택된 적응 세트들에 대한 대역폭 적응을 수행하기(예를 들어, 새로 선택된 적응 세트들에 대한 더 높은 비트레이트 표현들로부터 오디오 데이터를 리트리브하기) 시작할 수 있다.
[0200]
다른 예에서, 클라이언트 디바이스(40)는 선택된 적응 세트들로부터 단순히 오직 오디오 데이터를 요청할 수 있고, 선택되지 않은 적응 세트들에 대한 임의의 오디오 데이터를 요청하는 것을 회피할 수 있다.
[0201]
임의의 경우에, 서버 디바이스(60)는 오디오 데이터에 대한 요청을 수신할 수 있다(574). 그 다음, 서버 디바이스(60)는 클라이언트 디바이스(40)에 요청된 오디오 데이터를 전송할 수 있다(576). 대안적으로, 다른 예에서, 서버 디바이스(60)는 오디오 데이터를 네트워크 브로드캐스트 또는 멀티캐스트를 통해 또는 오버-디-에어 브로드캐스트를 통해 클라이언트 디바이스(40)에 송신할 수 있고, 클라이언트 디바이스(40)는 미들웨어 유닛(예를 들어, 도 2의 eMBMS 미들웨어 유닛(100))으로부터 선택된 적응 세트 데이터를 요청할 수 있다.
[0202]
클라이언트 디바이스(40)는 오디오 데이터를 수신할 수 있다(578). 예를 들어, DASH 클라이언트는 요청된 오디오 데이터를 수신할 수 있다. 클라이언트 디바이스(40)는 또한 오디오 데이터를 디코딩 및 제시할 수 있다(580). 디코딩은 오디오 디코더(46)(도 1), MPEG-H 오디오 디코더(220)(도 5 내지 도 8), MPEG-H 오디오 디코더(220')(도 9), CODEC들(388)(도 11), MPEG-H 오디오 디코더(440)(도 15), 장면, 오브젝트 및 채널 오디오 디코더(486)(도 16), 장면 및 채널 오디오 디코더(498)(도 16) 또는 오디오 디코더(534)(도 17)에 의해 수행될 수 있는 한편, 프리젠테이션은 오디오 출력(42)(도 1), 오디오 렌더링 유닛(232)(도 5 내지 도 9), 오디오 출력(454)(도 15) 또는 사용자 인터페이스들(550)(도 17)에 의해 수행될 수 있다.
[0203]
도 19는 본 개시의 기술들을 수행하기 위한 다른 예시적인 방법을 예시하는 흐름도이다. 이러한 예에서, 방법은 DASH 클라이언트 및 MPEG-H 메타데이터 추출 유닛에 의해 수행되는 것으로 설명된다. 도 19의 예시적인 방법은 예시의 목적으로 DASH 클라이언트(280)(도 8) 및 메타데이터 추출 유닛(222)(도 8)에 대해 논의된다. 그러나, 다른 예들이 수행될 수 있음을 이해해야 한다. 예를 들어, 메타데이터 추출 유닛은 도 9의 예에 도시된 바와 같이, MPEG-H 오디오 디코더와 별개일 수 있다.
[0204]
초기에, 이러한 예에서, DASH 클라이언트(280)는 명확성 파일을 수신한다(590). 명확성 파일은 예를 들어 DASH의 MPD 파일을 포함할 수 있다. 그 다음, DASH 클라이언트(280)는 명확성 파일로부터 이용가능성 데이터를 추출할 수 있다(592). 이용가능성 데이터는 MPEG-H 3D 오디오에 따라 포맷될 수 있다. 따라서, DASH 클라이언트(280)는 이용가능성 데이터를 메타데이터 추출 유닛(222)에 전송할 수 있다(594).
[0205]
메타데이터 추출 유닛(222)은 이용가능성 데이터를 수신할 수 있다(596). 메타데이터 추출 유닛은, 어느 타입들의 오디오 데이터(예를 들어, 장면, 채널, 오브젝트 및/또는 스케일링가능한 오디오 데이터)가 이용가능한지를 표시할 수 있는 이용가능성 데이터를 추출할 수 있고, 어느 오디오 데이터의 세트들의 선택이 리트리브될지를 표시하는 선택 데이터를 수신하기 위해, 프리젠테이션에 대한 데이터의 이러한 이용가능한 세트들의 표시들을 사용자에게 전송할 수 있다(598). 선택 데이터에 대한 응답으로, 메타데이터 추출 유닛(222)은 리트리브될 디코딩가능한 데이터를 포함하는 적응 세트들의 선택을 수신할 수 있다(600). 특히, 메타데이터 추출 유닛(222)은 리트리브될 오디오 데이터의 타입들의 선택을 수신할 수 있고, 선택된 타입들의 오디오 데이터와 대응하는 적응 세트들 사이의 맵핑을 (이용가능성 데이터를 사용하여) 결정할 수 있다. 그 다음, 메타데이터 추출 유닛(222)은, 오디오 데이터가 DASH 클라이언트(280)에 리트리브될 적응 세트들을 표시하는 명령 데이터를 전송할 수 있다(602).
[0206]
따라서, DASH 클라이언트(280)는 명령 데이터를 수신할 수 있다(604). 그 다음, DASH 클라이언트(280)는 선택된 오디오 데이터를 요청할 수 있다(606). 예를 들어, DASH 클라이언트(280)는 (예를 들어, 대역폭 적응 기술들을 사용하여) 선택된 오디오 적응 세트들에 대한 오디오 데이터의 비교적 높은 품질 세트들 및 선택되지 않은 오디오 적응 세트들에 대한 비교적 낮은 품질 또는 최적의 이용가능한 비트레이트 표현들을 리트리브할 수 있다. 대안적으로, DASH 클라이언트(280)는 오직, 선택된 오디오 적응 세트들에 대한 오디오 데이터를 리트리브할 수 있고, 선택되지 않은 오디오 적응 세트들에 대한 어떠한 오디오 데이터도 리트리브하지 않을 수 있다.
[0207]
일부 예들에서, DASH 클라이언트(280)는 선택된 오디오 적응 세트들에 대한 상대적 품질 레벨들의 표시들을 수신할 수 있다. 예를 들어, 상대적 품질 레벨들은 하나의 적응 세트의 상대적 품질을 다른 것에 비교한다. 이러한 예에서, 하나의 적응 세트가 선택 데이터에 의해 표시된 바와 같이 다른 것보다 더 높은 상대적 품질 값을 가지면, DASH 클라이언트(280)는 더 높은 상대적 품질 값을 갖는 적응 세트에 대한 비교적 더 높은 비트레이트 표현으로부터 오디오 데이터를 리트리브하는 것을 우선순위화할 수 있다.
[0208]
그 다음, 임의의 경우에, DASH 클라이언트(280)는 요청된 오디오 데이터를 수신할 수 있다(608). 예를 들어, DASH 클라이언트(280)는 (예를 들어, 요청들이 외부 서버 디바이스에 전송된 유니캐스트 요청들인 경우) 외부 서버 디바이스로부터 또는 (예를 들어, 미들웨어 유닛이 초기에 오디오 데이터를 수신했고 DASH 클라이언트(280)에 의한 후속 리트리벌에 대해 수신된 오디오 데이터를 캐시한 경우) 미들웨어 유닛으로부터 요청된 오디오 데이터를 수신할 수 있다. 그 다음, DASH 클라이언트(280)는 수신된 오디오 데이터를 MPEG-H 오디오 디코더에 전송할 수 있다(610). MPEG-H 오디오 디코더는 (도 8의 예에 도시된 바와 같이) 메타데이터 추출 유닛(222)을 포함할 수 있거나 (도 9의 예에 도시된 바와 같이) 메타데이터 추출 유닛(222')과 별개일 수 있다.
[0209]
이러한 방식으로, 도 19의 방법은, 복수의 이용가능한 적응 세트들을 표현하는 이용가능성 데이터를 수신하는 단계 - 이용가능한 적응 세트들은 장면-기반 오디오 적응 세트들 및 하나 이상의 오브젝트-기반 오디오 적응 세트들을 포함함 -, 장면-기반 오디오 적응 세트들 및 하나 이상의 오브젝트-기반 오디오 적응 세트들 중 어느 것이 리트리브될지를 식별하는 선택 데이터를 수신하는 단계, 및 선택 데이터에 의해 식별된 적응 세트들 각각에 대한 데이터를 스트리밍 클라이언트가 리트리브하게 하기 위해 스트리밍 클라이언트에 명령 데이터를 제공하는 단계를 포함하는 오디오 데이터를 리트리브하는 방법의 예를 표현한다.
[0210]
하나 이상의 예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 상기 기능들은 컴퓨터 판독가능 매체 상에 하나 이상의 명령 또는 코드로서 저장되거나 이를 통해 송신되고 하드웨어-기반 프로세싱 유닛에 의해 실행될 수 있다. 컴퓨터 판독가능 매체들은, 예를 들어, 통신 프로토콜에 따라, 일 장소에서 다른 장소로의 컴퓨터 프로그램의 전달을 용이하게 하는 임의의 매체들을 포함하는 유형의 매체, 예를 들어, 데이터 저장 매체 또는 통신 매체에 대응하는 컴퓨터 판독가능 저장 매체를 포함할 수 있다. 이러한 방식으로, 컴퓨터 판독가능 매체는 일반적으로 (1) 비일시적인 유형의 컴퓨터 판독가능 저장 매체 또는 (2) 신호 또는 캐리어파와 같은 통신 매체에 대응할 수 있다. 데이터 저장 매체들은, 본 개시에 설명된 기술들의 구현을 위해 명령들, 코드 및/또는 데이터 구조들을 리트리브하기 위해 하나 이상의 컴퓨터들 또는 하나 이상의 프로세서들에 의해 액세스될 수 있는 이용가능한 매체일 수 있다. 컴퓨터 프로그램 제품은, 컴퓨터 판독가능 매체를 포함할 수 있다.
[0211]
제한이 아닌 예로써, 이러한 컴퓨터-판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM, 또는 다른 광학 디스크 저장소, 자기 디스크 저장소 또는 다른 자기 저장 디바이스들, 플래시 메모리 또는 명령들 또는 데이터 구조들의 형태로 요구되는 프로그램 코드를 저장하기 위해 사용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체로 적절히 지칭된다. 예를 들어, 명령들이 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 라인(DSL: digital subscriber line), 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버 또는 다른 원격 소스로부터 전송된다면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술들이 매체의 정의에 포함된다. 그러나, 컴퓨터 판독가능 저장 매체 및 데이터 저장 매체는 접속들, 캐리어파들, 신호들 또는 다른 일시적 매체를 포함하지 않지만, 그 대신 비일시적 유형의 저장 매체에 관한 것임을 이해해야 한다. 본 명세서에서 사용된 것과 같은 디스크(disk 및 disc)는 콤팩트 디스크(CD: compact disc), 레이저 디스크(laser disc), 광 디스크(optical disc), 디지털 다기능 디스크(DVD: digital versatile disc), 플로피 디스크(floppy disk) 및 블루레이 디스크(disc)를 포함하며, 여기서 디스크(disk)들은 보통 데이터를 자기적으로 재생하는 한편, 디스크(disc)들은 데이터를 레이저들에 의해 광학적으로 재생한다. 상기의 것들의 결합들이 또한 컴퓨터 판독가능 매체의 범위 내에 포함되어야 한다.
[0212]
명령들은, 하나 이상의 디지털 신호 프로세서(DSP)들, 범용 마이크로프로세서들, 주문형 집적 회로(ASIC)들, 필드 프로그래밍가능 로직 어레이(FPGA)들, 또는 다른 동등한 집적 또는 이산 로직 회로와 같은 하나 이상의 프로세서들에 의해 실행될 수 있다. 따라서, 본 명세서에서 사용된 바와 같이, 용어 "프로세서"는, 본 명세서에 설명된 기술들의 구현에 적합한 전술한 구조 또는 임의의 다른 구조 중 임의의 구조를 지칭할 수 있다. 부가적으로, 몇몇 양상들에서, 본 명세서에 설명된 기능은, 인코딩 및 디코딩을 위해 구성된 전용 하드웨어 및/또는 소프트웨어 모듈들 내에서 제공되거나, 결합된 코덱으로 포함될 수 있다. 또한, 기술들은 하나 이상의 회로들 또는 로직 엘리먼트로 완전히 구현될 수 있다.
[0213]
본 발명의 기술들은, 무선 핸드셋, 집적 회로(IC) 또는 IC들의 세트(예를 들어, 칩셋)를 포함하는 광범위하게 다양한 디바이스들 또는 장치들에서 구현될 수 있다. 다양한 엘리먼트들, 모듈들, 또는 유닛들은, 기재된 기술들을 수행하도록 구성된 디바이스들의 기능 양상들을 강조하기 위해 본 발명에서 설명되지만, 상이한 하드웨어 유닛들에 의한 실현을 반드시 요구할 필요는 없다. 오히려, 상술된 바와 같이, 다양한 유닛들은, 코덱 하드웨어 유닛으로 결합될 수도 있거나, 적절한 소프트웨어 및/또는 펌웨어와 함께 상술된 바와 같은 하나 또는 그 초과의 프로세서들을 포함하는 상호동작하는 하드웨어 유닛들의 집합에 의해 제공될 수 있다.
[0214]
다양한 예들이 설명되었다. 이들 및 다른 예들은 다음의 청구항들의 범위 내에 존재한다.
Claims (40)
- 오디오 데이터를 리트리브하는 방법으로서,
메타데이터 추출 유닛에 의해, 복수의 이용가능한 적응 세트들을 표현하는 이용가능성 데이터를 수신하는 단계 ― 상기 이용가능한 적응 세트들은 장면-기반 오디오 적응 세트 및 하나 이상의 오브젝트-기반 오디오 적응 세트들을 포함하고, 상기 장면-기반 오디오 적응 세트는 구형 고조파 베이시스 기능들의 계수들을 사용하여 사운드필드를 표현하는 데이터를 포함하고, 상기 오브젝트-기반 오디오 적응 세트들은 오디오 오브젝트들에 대한 위치 좌표들을 포함하는 메타데이터를 포함함 ―;
상기 메타데이터 추출 유닛에 의해, 상기 장면-기반 오디오 적응 세트 및 상기 하나 이상의 오브젝트-기반 오디오 적응 세트들 중 어느 것이 리트리브될지를 식별하는 선택 데이터를 수신하는 단계; 및
상기 메타데이터 추출 유닛에 의해, 상기 선택 데이터에 의해 식별된 상기 적응 세트들 각각으로부터의 오디오 데이터를 스트리밍 클라이언트가 리트리브하게 하기 위해 상기 스트리밍 클라이언트에 명령 데이터를 제공하는 단계를 포함하고, 상기 메타데이터 추출 유닛은 상기 스트리밍 클라이언트와 별개인, 방법. - 제1 항에 있어서,
상기 복수의 이용가능한 적응 세트들은 복수의 이용가능한 스케일링가능한 오디오 적응 세트들을 포함하고, 상기 복수의 스케일링가능한 오디오 적응 세트들 각각은 스케일링가능한 오디오 데이터의 각각의 계층들에 대응하는, 방법. - 제1 항에 있어서,
상기 스트리밍 클라이언트는 제1 데이터 포맷을 정의하는 스트리밍 프로토콜에 따라 상기 선택 데이터에 의해 식별된 상기 적응 세트들 각각에 대한 데이터를 리트리브하도록 구성되고, 상기 이용가능성 데이터는 상기 스트리밍 프로토콜에 의해 정의된 상기 제1 데이터 포맷과 상이한 제2 데이터 포맷에 따라 포맷되는, 방법. - 제3 항에 있어서,
상기 스트리밍 프로토콜은 DASH(Dynamic Adaptive Streaming over HTTP)를 포함하고,
상기 제1 데이터 포맷은 ISO BMFF(ISO Base Media File Format), 상기 ISO BMFF에 대한 확장 또는 MPEG-2 TS(MPEG-2 Transport Stream) 중 하나를 포함하고,
상기 제2 데이터 포맷은 MPEG-H 3D 오디오를 포함하는, 방법. - 제1 항에 있어서,
상기 이용가능성 데이터를 수신하는 단계는 상기 스트리밍 클라이언트로부터 상기 이용가능성 데이터를 수신하는 단계를 포함하는, 방법. - 제1 항에 있어서,
상기 선택 데이터를 수신하는 단계는 상기 선택 데이터를 사용자 인터페이스로부터 수신하는 단계를 포함하는, 방법. - 제1 항에 있어서,
상기 명령 데이터를 제공하는 단계는, 상기 스트리밍 클라이언트로 하여금, 오직 상기 선택 데이터에 의해 식별되는 상기 적응 세트들에 대한 데이터를 리트리브하게 하고, 상기 선택 데이터에 의해 식별되지 않은 적응 세트들에 대한 임의의 데이터의 리트리벌을 방지하게 하는 명령 데이터를 제공하는 단계를 포함하는, 방법. - 제1 항에 있어서,
상기 명령 데이터를 제공하는 단계는, 상기 스트리밍 클라이언트로 하여금, 상기 선택 데이터에 의해 식별되는 상기 적응 세트들에 대한 대역폭 적응을 수행하게 하고, 상기 선택 데이터에 의해 식별되지 않은 상기 이용가능한 적응 세트들의 최저 이용가능한 비트레이트들을 갖는 표현들로부터 데이터를 리트리브하게 하는 명령 데이터를 제공하는 단계를 포함하는, 방법. - 제1 항에 있어서,
리트리브될 적응 세트들 중 적어도 하나에 대한 상대적 품질을 표현하는 품질 데이터를 수신하는 단계를 더 포함하고, 상기 명령 데이터를 제공하는 단계는, 상기 스트리밍 클라이언트로 하여금 상기 상대적 품질에 대응하는 상기 적응 세트들 중 적어도 하나의 표현을 리트리브하게 하는 명령 데이터를 형성하는 단계를 포함하는, 방법. - 제9 항에 있어서,
상기 품질 데이터를 수신하는 단계는 상기 적응 세트들 중 적어도 하나에 대한 상대적 체적을 수신하는 단계를 포함하고, 상기 방법은, 상기 적응 세트들 중 적어도 하나에 대한 상대적 체적이 상기 선택 데이터에 의해 식별된 다른 적응 세트들에 대한 상대적 체적들보다 크다고 결정하는 것에 대한 응답으로, 상기 스트리밍 클라이언트로 하여금, 상기 선택 데이터에 의해 식별된 다른 적응 세트들의 표현들에 대한 비트레이트들보다 비교적 더 높은 비트레이트를 갖는 적어도 하나의 적응 세트의 표현을 리트리브하게 하는 명령 데이터를 형성하는 단계를 더 포함하는, 방법. - 제1 항에 있어서,
상기 선택 데이터에 의해 식별된 적응 세트들 각각에 대해 리트리브될 표현들을 식별하는 명령 데이터를 형성하는 단계를 더 포함하는, 방법. - 제1 항에 있어서,
상기 스트리밍 클라이언트에 의해, 상기 명령 데이터를 수신하기 전에 상기 이용가능한 적응 세트들 각각에 대한 데이터를 리트리브하는 단계를 더 포함하는, 방법. - 제12 항에 있어서,
상기 명령 데이터에 대한 응답으로, 상기 스트리밍 클라이언트에 의해,
리트리브되지 않을 상기 이용가능한 적응 세트들 중 적어도 하나를 결정하는 단계;
상기 명령 데이터를 수신하기 전에 상기 이용가능한 적응 세트들 중 적어도 하나에 할당된 대역폭의 양을 결정하는 단계;
상기 명령 데이터에 따라 리트리브될 상기 적응 세트들 중 하나 이상에 상기 결정된 양의 대역폭을 할당하는 단계; 및
할당된 양의 대역폭에 기초하여 리트리브될 상기 적응 세트들 중 하나 이상에 대한 표현 선택들을 조절하는 단계를 더 포함하는, 방법. - 제1 항에 있어서,
상기 스트리밍 클라이언트에 의해, 상기 이용가능성 데이터를 포함하는 명확성 파일을 수신하는 단계를 더 포함하는, 방법. - 제14 항에 있어서,
상기 명확성 파일은 MPD(media presentation description)를 포함하는, 방법. - 제1 항에 있어서,
상기 스트리밍 클라이언트에 의해, 상기 명령 데이터에 따라 데이터를 리트리브하기 위한 각각의 HTTP GET 또는 부분적 GET 요청들을 전송하는 단계를 더 포함하는, 방법. - 제1 항에 있어서,
상기 스트리밍 클라이언트는 DASH(Dynamic Adaptive Streaming over HTTP) 클라이언트를 포함하는, 방법. - 제1 항에 있어서,
상기 스트리밍 클라이언트는, 브로드캐스트 또는 멀티캐스트 수신 유닛 및 프록시 서버를 더 포함하는 미들웨어 유닛에 포함되고, 상기 방법은, 상기 스트리밍 클라이언트에 의해, 상기 프록시 서버로부터의 유니캐스트를 통해 상기 명령 데이터에 따라 캐시된 미디어 데이터를 리트리브하는 단계를 더 포함하는, 방법. - 오디오 데이터를 리트리브하기 위한 디바이스로서,
메타데이터 추출 유닛을 실행하는 하나 이상의 프로세서들; 및
오디오 적응 세트들에 대해 리트리브된 데이터를 저장하도록 구성되는 메모리를 포함하고,
상기 메타데이터 추출 유닛은,
복수의 이용가능한 적응 세트들을 표현하는 이용가능성 데이터를 수신하고 ― 상기 이용가능한 적응 세트들은 장면-기반 오디오 적응 세트 및 하나 이상의 오브젝트-기반 오디오 적응 세트들을 포함하고, 상기 장면-기반 오디오 적응 세트는 구형 고조파 베이시스 기능들의 계수들을 사용하여 사운드필드를 표현하는 데이터를 포함하고, 상기 오브젝트-기반 오디오 적응 세트들은 오디오 오브젝트들에 대한 위치 좌표들을 포함하는 메타데이터를 포함함 ―;
상기 장면-기반 오디오 적응 세트들 및 상기 하나 이상의 오브젝트-기반 오디오 적응 세트들 중 어느 것이 리트리브될지를 식별하는 선택 데이터를 수신하고,
상기 선택 데이터에 의해 식별된 상기 적응 세트들 각각으로부터의 오디오 데이터를 스트리밍 클라이언트가 리트리브하게 하기 위해 상기 스트리밍 클라이언트에 명령 데이터를 제공하도록 구성되고,
상기 메타데이터 추출 유닛은 상기 스트리밍 클라이언트와 별개인, 디바이스. - 제19 항에 있어서,
상기 복수의 이용가능한 적응 세트들은 복수의 이용가능한 스케일링가능한 오디오 적응 세트들을 포함하고, 상기 복수의 스케일링가능한 오디오 적응 세트들 각각은 스케일링가능한 오디오 데이터의 각각의 계층들에 대응하는, 디바이스. - 제19 항에 있어서,
상기 스트리밍 클라이언트는 제1 데이터 포맷을 정의하는 스트리밍 프로토콜에 따라 상기 선택 데이터에 의해 식별된 상기 적응 세트들 각각에 대한 데이터를 리트리브하도록 구성되고, 상기 이용가능성 데이터는 상기 스트리밍 프로토콜에 의해 정의된 상기 제1 데이터 포맷과 상이한 제2 데이터 포맷에 따라 포맷되는, 디바이스. - 제19 항에 있어서,
사용자-정의된 동작에 기초하여 사용자-제공된 선택 데이터를 수신하고 상기 선택 데이터를 상기 하나 이상의 프로세서들에 제공하도록 구성되는 사용자 인터페이스를 더 포함하는, 디바이스. - 제19 항에 있어서,
상기 스트리밍 클라이언트는 헤더 데이터를 포함하는 미디어 데이터에 대한 요청들을 서버 디바이스에 전송하도록 구성되는 DASH(Dynamic Adaptive Streaming over HTTP) 클라이언트를 포함하는, 디바이스. - 제23 항에 있어서,
상기 DASH 클라이언트는 상기 헤더 데이터를 포함하는 상기 미디어 데이터를 상기 서버 디바이스로부터 수신하도록 구성되는, 디바이스. - 제19 항에 있어서,
장면-기반 오디오 데이터, 채널-기반 오디오 데이터 또는 오브젝트-기반 오디오 데이터 중 적어도 하나를 디코딩하도록 구성되는 MPEG-H(Moving Pictures Experts Group) 오디오 디코더를 더 포함하는, 디바이스. - 제19 항에 있어서,
상기 하나 이상의 프로세서들은 MPEG-H 오디오 디코더를 포함하는, 디바이스. - 제19 항에 있어서,
상기 하나 이상의 프로세서들은 MPEG-H 오디오 디코더의 메타데이터 프로세싱 유닛을 포함하는, 디바이스. - 제19 항에 있어서,
MPEG-H 오디오 디코더를 더 포함하고, 상기 하나 이상의 프로세서들은 상기 MPEG-H 오디오 디코더와 별개인 메타데이터 프로세싱 유닛을 포함하는, 디바이스. - 오디오 데이터를 리트리브하기 위한 디바이스로서,
복수의 이용가능한 적응 세트들을 표현하는 이용가능성 데이터를 수신하기 위한 수단 ― 상기 이용가능한 적응 세트들은 장면-기반 오디오 적응 세트 및 하나 이상의 오브젝트-기반 오디오 적응 세트들을 포함하고, 상기 장면-기반 오디오 적응 세트는 구형 고조파 베이시스 기능들의 계수들을 사용하여 사운드필드를 표현하는 데이터를 포함하고, 상기 오브젝트-기반 오디오 적응 세트들은 오디오 오브젝트들에 대한 위치 좌표들을 포함하는 메타데이터를 포함함 ―;
상기 장면-기반 오디오 적응 세트 및 상기 하나 이상의 오브젝트-기반 오디오 적응 세트들 중 어느 것이 리트리브될지를 식별하는 선택 데이터를 수신하기 위한 수단; 및
상기 선택 데이터에 의해 식별된 적응 세트들 각각으로부터의 오디오 데이터를 스트리밍 클라이언트가 리트리브하게 하기 위해 스트리밍 클라이언트에 명령 데이터를 제공하기 위한 수단을 포함하고, 상기 이용가능성 데이터를 수신하기 위한 수단은 상기 스트리밍 클라이언트와 별개이고, 상기 선택 데이터를 수신하기 위한 수단은 상기 스트리밍 클라이언트와 별개이고, 상기 제공하기 위한 수단은 상기 스트리밍 클라이언트와 별개인, 디바이스. - 제29 항에 있어서,
상기 복수의 이용가능한 적응 세트들은 복수의 이용가능한 스케일링가능한 오디오 적응 세트들을 포함하고, 상기 복수의 스케일링가능한 오디오 적응 세트들 각각은 스케일링가능한 오디오 데이터의 각각의 계층들에 대응하는, 디바이스. - 제29 항에 있어서,
상기 스트리밍 클라이언트는 제1 데이터 포맷을 정의하는 스트리밍 프로토콜에 따라 상기 선택 데이터에 의해 식별된 상기 적응 세트들 각각에 대한 데이터를 리트리브하도록 구성되고, 상기 이용가능성 데이터는 상기 스트리밍 프로토콜에 의해 정의된 상기 제1 데이터 포맷과 상이한 제2 데이터 포맷에 따라 포맷되는, 디바이스. - 제29 항에 있어서,
상기 선택 데이터를 수신하기 위한 수단은 상기 선택 데이터를 사용자 인터페이스로부터 수신하기 위한 수단을 포함하는, 디바이스. - 제29 항에 있어서,
상기 명령 데이터를 제공하기 위한 수단은, 상기 스트리밍 클라이언트로 하여금, 오직 상기 선택 데이터에 의해 식별되는 상기 적응 세트들에 대한 데이터를 리트리브하게 하고, 상기 선택 데이터에 의해 식별되지 않은 적응 세트들에 대한 임의의 데이터의 리트리벌을 방지하게 하는 명령 데이터를 제공하기 위한 수단을 포함하는, 디바이스. - 제29 항에 있어서,
상기 스트리밍 클라이언트는 헤더 데이터를 포함하는 미디어 데이터에 대한 요청들을 서버 디바이스에 전송하도록 구성되는 DASH(Dynamic Adaptive Streaming over HTTP) 클라이언트를 포함하는, 디바이스. - 명령들이 저장된 컴퓨터 판독가능 저장 매체로서,
상기 명령들은, 실행되는 경우 메타데이터 추출 유닛을 실행하는 프로세서로 하여금,
복수의 이용가능한 적응 세트들을 표현하는 이용가능성 데이터를 수신하게 하고 ― 상기 이용가능한 적응 세트들은 장면-기반 오디오 적응 세트 및 하나 이상의 오브젝트-기반 오디오 적응 세트들을 포함하고, 상기 장면-기반 오디오 적응 세트는 구형 고조파 베이시스 기능들의 계수들을 사용하여 사운드필드를 표현하는 데이터를 포함하고, 상기 오브젝트-기반 오디오 적응 세트들은 오디오 오브젝트들에 대한 위치 좌표들을 포함하는 메타데이터를 포함함 ―;
상기 장면-기반 오디오 적응 세트 및 상기 하나 이상의 오브젝트-기반 오디오 적응 세트들 중 어느 것이 리트리브될지를 식별하는 선택 데이터를 수신하게 하고,
상기 선택 데이터에 의해 식별된 상기 적응 세트들 각각으로부터의 오디오 데이터를 스트리밍 클라이언트가 리트리브하게 하기 위해 상기 스트리밍 클라이언트에 명령 데이터를 제공하게 하고, 상기 메타데이터 추출 유닛은 상기 스트리밍 클라이언트와 별개인, 컴퓨터 판독가능 저장 매체. - 제35 항에 있어서,
상기 복수의 이용가능한 적응 세트들은 복수의 이용가능한 스케일링가능한 오디오 적응 세트들을 포함하고, 상기 복수의 스케일링가능한 오디오 적응 세트들 각각은 스케일링가능한 오디오 데이터의 각각의 계층들에 대응하는, 컴퓨터 판독가능 저장 매체. - 제35 항에 있어서,
상기 스트리밍 클라이언트는 제1 데이터 포맷을 정의하는 스트리밍 프로토콜에 따라 상기 선택 데이터에 의해 식별된 상기 적응 세트들 각각에 대한 데이터를 리트리브하도록 구성되고, 상기 이용가능성 데이터는 상기 스트리밍 프로토콜에 의해 정의된 상기 제1 데이터 포맷과 상이한 제2 데이터 포맷에 따라 포맷되는, 컴퓨터 판독가능 저장 매체. - 제35 항에 있어서,
상기 프로세서로 하여금 상기 선택 데이터를 수신하게 하는 명령들은 상기 프로세서로 하여금 상기 선택 데이터를 사용자 인터페이스로부터 수신하게 하는 명령들을 포함하는, 컴퓨터 판독가능 저장 매체. - 제35 항에 있어서,
상기 스트리밍 클라이언트는 제1 데이터 포맷을 정의하는 스트리밍 프로토콜에 따라 상기 선택 데이터에 의해 식별된 상기 적응 세트들 각각에 대한 데이터를 리트리브하도록 구성되고, 상기 이용가능성 데이터는 상기 스트리밍 프로토콜에 의해 정의된 상기 제1 데이터 포맷과 상이한 제2 데이터 포맷에 따라 포맷되는, 컴퓨터 판독가능 저장 매체. - 제35 항에 있어서,
상기 스트리밍 클라이언트는 헤더 데이터를 포함하는 미디어 데이터에 대한 요청들을 서버 디바이스에 전송하도록 구성되는 DASH(Dynamic Adaptive Streaming over HTTP) 클라이언트를 포함하는, 컴퓨터 판독가능 저장 매체.
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562209779P | 2015-08-25 | 2015-08-25 | |
US201562209764P | 2015-08-25 | 2015-08-25 | |
US62/209,764 | 2015-08-25 | ||
US62/209,779 | 2015-08-25 | ||
US15/246,370 | 2016-08-24 | ||
US15/246,370 US10693936B2 (en) | 2015-08-25 | 2016-08-24 | Transporting coded audio data |
PCT/US2016/048740 WO2017035376A2 (en) | 2015-08-25 | 2016-08-25 | Transporting coded audio data |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180044915A true KR20180044915A (ko) | 2018-05-03 |
KR102179269B1 KR102179269B1 (ko) | 2020-11-16 |
Family
ID=58097069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187005327A KR102179269B1 (ko) | 2015-08-25 | 2016-08-25 | 코딩된 오디오 데이터의 전송 |
Country Status (9)
Country | Link |
---|---|
US (1) | US10693936B2 (ko) |
EP (1) | EP3342174A2 (ko) |
JP (1) | JP6845223B2 (ko) |
KR (1) | KR102179269B1 (ko) |
CN (1) | CN107925797B (ko) |
BR (1) | BR112018003386A2 (ko) |
CA (1) | CA2992599C (ko) |
TW (1) | TWI729997B (ko) |
WO (1) | WO2017035376A2 (ko) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016194563A1 (ja) * | 2015-06-02 | 2016-12-08 | ソニー株式会社 | 送信装置、送信方法、メディア処理装置、メディア処理方法および受信装置 |
EP3357259B1 (en) * | 2015-09-30 | 2020-09-23 | Dolby International AB | Method and apparatus for generating 3d audio content from two-channel stereo content |
US9854375B2 (en) | 2015-12-01 | 2017-12-26 | Qualcomm Incorporated | Selection of coded next generation audio data for transport |
TWI599218B (zh) * | 2016-07-29 | 2017-09-11 | 元智大學 | 即時影音傳輸系統 |
US10574718B2 (en) | 2016-08-25 | 2020-02-25 | Comcast Cable Communications, Llc | Packaging content for delivery |
US10834164B2 (en) * | 2017-02-08 | 2020-11-10 | Wyse Technology L.L.C. | Virtualizing audio and video devices using synchronous A/V streaming |
US9872062B1 (en) * | 2017-02-22 | 2018-01-16 | Wyse Technology L.L.C. | Enforcing synchronization by embedding audio within video frame data |
WO2019035855A1 (en) | 2017-08-15 | 2019-02-21 | Google Llc | OPTIMIZED USE OF CONTINUOUS DIFFUSION BANDWIDTH USING MULTICAST |
US10891960B2 (en) * | 2017-09-11 | 2021-01-12 | Qualcomm Incorproated | Temporal offset estimation |
US11310540B2 (en) * | 2017-11-10 | 2022-04-19 | Qualcomm Incorporated | Interfaces between dash aware application and dash client for service interactivity support |
US11321516B2 (en) * | 2018-01-19 | 2022-05-03 | Qualcomm Incorporated | Processing dynamic web content of an ISO BMFF web resource track |
US10264386B1 (en) * | 2018-02-09 | 2019-04-16 | Google Llc | Directional emphasis in ambisonics |
EP3756355A1 (en) * | 2018-02-22 | 2020-12-30 | Dolby International AB | Method and apparatus for processing of auxiliary media streams embedded in a mpeg-h 3d audio stream |
KR20200136394A (ko) * | 2018-03-29 | 2020-12-07 | 소니 주식회사 | 정보 처리 장치, 정보 처리 방법 및 프로그램 |
JP7396267B2 (ja) * | 2018-03-29 | 2023-12-12 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、及びプログラム |
US11082728B2 (en) | 2018-08-31 | 2021-08-03 | Electronics And Telecommunications Research Institute | Method and apparatus for providing broadcast service based on scalable codec |
CN111223302B (zh) * | 2018-11-23 | 2021-12-03 | 明创能源股份有限公司 | 移动载具用外部坐标实时三维路况辅助装置及该系统 |
US11381867B2 (en) * | 2019-01-08 | 2022-07-05 | Qualcomm Incorporated | Multiple decoder interface for streamed media data |
CN111510756A (zh) * | 2019-01-30 | 2020-08-07 | 上海哔哩哔哩科技有限公司 | 音视频的切换方法、装置、计算机设备及可读存储介质 |
KR20220028021A (ko) | 2019-07-02 | 2022-03-08 | 돌비 인터네셔널 에이비 | 이산 지향성 데이터의 표현, 인코딩 및 디코딩을 위한 방법들, 장치 및 시스템들 |
US11140503B2 (en) * | 2019-07-03 | 2021-10-05 | Qualcomm Incorporated | Timer-based access for audio streaming and rendering |
US11509972B2 (en) | 2019-07-09 | 2022-11-22 | Dolby International Ab | Method and device for personalization of media data for playback |
CN114270436A (zh) * | 2019-07-19 | 2022-04-01 | 英迪股份有限公司 | 无线通信系统中的自适应音频处理方法、设备、计算机程序及其记录介质 |
US11838578B2 (en) * | 2019-11-20 | 2023-12-05 | Dolby International Ab | Methods and devices for personalizing audio content |
TWI739429B (zh) * | 2020-05-14 | 2021-09-11 | 許祐豪 | 喇叭聲道音訊控制系統 |
US11622221B2 (en) | 2021-05-05 | 2023-04-04 | Tencent America LLC | Method and apparatus for representing space of interest of audio scene |
US20220391167A1 (en) * | 2021-06-02 | 2022-12-08 | Tencent America LLC | Adaptive audio delivery and rendering |
CN113923264A (zh) * | 2021-09-01 | 2022-01-11 | 赛因芯微(北京)电子科技有限公司 | 基于场景音频通道元数据和生成方法、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120042050A1 (en) * | 2010-08-10 | 2012-02-16 | Qualcomm Incorporated | Representation groups for network streaming of coded multimedia data |
US20140019587A1 (en) * | 2012-07-11 | 2014-01-16 | Futurewei Technologies, Inc. | Dynamic Adaptive Streaming over Hypertext Transfer Protocol as Hybrid Multirate Media Description, Delivery, and Storage Format |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8209429B2 (en) | 2001-07-19 | 2012-06-26 | British Telecommunications Public Limited Company | Video stream switching |
WO2007112384A2 (en) * | 2006-03-27 | 2007-10-04 | Vidyo, Inc. | System and method for management of scalability information in scalable video and audio coding systems using control messages |
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
EP2146522A1 (en) | 2008-07-17 | 2010-01-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for generating audio output signals using object based metadata |
US9357275B2 (en) * | 2011-09-06 | 2016-05-31 | Qualcomm Incorporated | Network streaming of coded video data |
MX342150B (es) | 2012-07-09 | 2016-09-15 | Koninklijke Philips Nv | Codificacion y decodificacion de señales de audio. |
US9804668B2 (en) | 2012-07-18 | 2017-10-31 | Verimatrix, Inc. | Systems and methods for rapid content switching to provide a linear TV experience using streaming content distribution |
GB2512310A (en) * | 2013-03-25 | 2014-10-01 | Sony Corp | Media Distribution |
US9769586B2 (en) * | 2013-05-29 | 2017-09-19 | Qualcomm Incorporated | Performing order reduction with respect to higher order ambisonic coefficients |
CN106105220B (zh) * | 2014-01-07 | 2019-07-05 | 诺基亚技术有限公司 | 用于视频编码和解码的方法和装置 |
US20150199498A1 (en) * | 2014-01-10 | 2015-07-16 | Furturewei Technologies, Inc. | Flexible and efficient signaling and carriage of authorization acquisition information for dynamic adaptive streaming |
US9854375B2 (en) | 2015-12-01 | 2017-12-26 | Qualcomm Incorporated | Selection of coded next generation audio data for transport |
-
2016
- 2016-08-24 US US15/246,370 patent/US10693936B2/en active Active
- 2016-08-25 CN CN201680048802.7A patent/CN107925797B/zh active Active
- 2016-08-25 WO PCT/US2016/048740 patent/WO2017035376A2/en active Search and Examination
- 2016-08-25 CA CA2992599A patent/CA2992599C/en active Active
- 2016-08-25 KR KR1020187005327A patent/KR102179269B1/ko active IP Right Grant
- 2016-08-25 JP JP2018509888A patent/JP6845223B2/ja active Active
- 2016-08-25 TW TW105127327A patent/TWI729997B/zh active
- 2016-08-25 BR BR112018003386-3A patent/BR112018003386A2/pt active Search and Examination
- 2016-08-25 EP EP16760871.0A patent/EP3342174A2/en not_active Ceased
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120042050A1 (en) * | 2010-08-10 | 2012-02-16 | Qualcomm Incorporated | Representation groups for network streaming of coded multimedia data |
US20140019587A1 (en) * | 2012-07-11 | 2014-01-16 | Futurewei Technologies, Inc. | Dynamic Adaptive Streaming over Hypertext Transfer Protocol as Hybrid Multirate Media Description, Delivery, and Storage Format |
Also Published As
Publication number | Publication date |
---|---|
US20170063960A1 (en) | 2017-03-02 |
JP6845223B2 (ja) | 2021-03-17 |
KR102179269B1 (ko) | 2020-11-16 |
JP2018532146A (ja) | 2018-11-01 |
CA2992599A1 (en) | 2017-03-02 |
US10693936B2 (en) | 2020-06-23 |
WO2017035376A3 (en) | 2017-04-27 |
CA2992599C (en) | 2022-02-15 |
CN107925797B (zh) | 2020-12-01 |
TWI729997B (zh) | 2021-06-11 |
EP3342174A2 (en) | 2018-07-04 |
BR112018003386A2 (pt) | 2018-09-25 |
TW201714456A (zh) | 2017-04-16 |
CN107925797A (zh) | 2018-04-17 |
WO2017035376A2 (en) | 2017-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102179269B1 (ko) | 코딩된 오디오 데이터의 전송 | |
KR102125484B1 (ko) | 전송을 위해 코딩된 차세대 오디오 데이터의 선택 | |
JP6545804B2 (ja) | オーバージエアブロードキャストメディアデータに関するセッション記述情報 | |
TWI740878B (zh) | 決定用於媒體傳輸的媒體傳遞事件位置 | |
KR101594351B1 (ko) | 다수의 소스들로부터의 멀티미디어 데이터의 스트리밍 | |
KR102145653B1 (ko) | 연속적인 멀티-주기 콘텐츠의 프로세싱 | |
JP2019521584A (ja) | Httpを介した動的適応型ストリーミングにおけるバーチャルリアリティビデオのシグナリング | |
KR20170116027A (ko) | 저 레이턴시 비디오 스트리밍 | |
US11665219B2 (en) | Processing media data using a generic descriptor for file format boxes | |
TW201711431A (zh) | 超級本文傳輸協定上動態自適應串流客戶經驗品質度量之中間軟體傳遞 | |
EP3861759A1 (en) | Initialization set for network streaming of media data | |
TW201909624A (zh) | 使用全向媒體格式處理媒體資料 | |
WO2021195398A1 (en) | Determination of availability of chunks of data for network streaming media data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |