CN101366287A - 媒体容器文件管理 - Google Patents

媒体容器文件管理 Download PDF

Info

Publication number
CN101366287A
CN101366287A CNA2007800019434A CN200780001943A CN101366287A CN 101366287 A CN101366287 A CN 101366287A CN A2007800019434 A CNA2007800019434 A CN A2007800019434A CN 200780001943 A CN200780001943 A CN 200780001943A CN 101366287 A CN101366287 A CN 101366287A
Authority
CN
China
Prior art keywords
media
fec
source
data
piece
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007800019434A
Other languages
English (en)
Other versions
CN101366287B (zh
Inventor
T·洛马
M·韦斯特伦德
P·弗罗德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN101366287A publication Critical patent/CN101366287A/zh
Application granted granted Critical
Publication of CN101366287B publication Critical patent/CN101366287B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64315DVB-H
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0084Formats for payload data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • H04L1/1819Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/66Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/67Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving unequal error protection [UEP], i.e. providing protection according to the importance of the data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6131Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via a mobile phone network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6181Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via a mobile phone network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6375Control signals issued by the client directed to the server or network components for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1877Measures taken prior to transmission

Abstract

本发明教导一种媒体容器文件(1),其包括被组织到媒体源块(20;22;24)中的媒体数据。对于所述不同的源块(20;22;24)预先计算前向纠错(FEC)冗余数据,并且将其组织到所述容器文件(1)中以作为不同的FEC存储库(30;32;34)。该容器文件(1)还包括元数据(40;45),其提供所述媒体源块(20;22;24)与对应的FEC存储库(30;32;34)之间的关联。该容器文件(1)可以由媒体服务器(200)在媒体会话中采用来在无需大量数据处理和FEC计算的情况下编辑将被传送到发出请求的客户端(400;410;420)的媒体数据分组。

Description

媒体容器文件管理
技术领域
本发明总体涉及媒体和多媒体管理,并且特别涉及产生及使用包含这种媒体和多媒体内容的媒体容器文件。
背景技术
在最近的几年内,通过不同的网络向客户端提供媒体和多媒体的情况已经大大增多。现在有许多用户采用因特网从媒体服务器访问及下载例如以视频和音频流或文件的形式的媒体。这种媒体提供也已经出现在基于无线电的移动通信网络中。当前人们对于多媒体或TV内容使用移动网络非常感兴趣。这在本领域中常常被称作移动TV。所述移动网络中的这种媒体提供当前主要可以通过单点传送传输来获得。但是,针对移动TV的广播/多点传送递送方法当前仍在开发中。这种标准化努力的例子有3GPP多媒体广播/多点传送服务(MBMS)以及欧洲电信标准协会(ETSI)手持式数字视频广播(DVB-H)。
为了迎合针对在不同的有线和无线通信网络中提供媒体的上述日益增长的需求,正在开发可以在无线网络中用于向发出请求的客户端提供媒体内容的流传输和下载服务器。通常的趋势是透明且灵活的流传输/下载服务器,这意味着所述服务器应当最基本地包括用来执行不同的媒体管理功能的多个“标准”模块或程序。随后向这些功能提供输入媒体内容以及关于所述模块/程序应当如何处理所述内容的指令。这与在所述服务器中使用固定的预先定义的媒体处理相比将提供更为灵活的媒体供应。
与开发灵活的流传输/下载服务器一起,在关于如何在媒体流中引入纠错的领域内同时也有发展。所述多点传送/广播传输是单向的,并且同时寻址大量接收客户端。传统的单点传送可靠性方案(比如自动重复请求(ARQ))不能被缩放来为多点传送/广播传输的大量接收器提供服务。
因此,需要引入一种与多点传送/广播媒体传输相关联的可靠性方案。引入这种可靠性方案还应当符合灵活的流传输和下载服务器解决方案的趋势。
发明内容
本发明克服了现有技术设置的上述和其他缺陷。
本发明的一般目的是提供一种可以被用在多媒体会话中的媒体容器文件。
本发明的另一个目的是提供一种还可以被用在后会话(post-session)修复程序中的媒体容器文件。
如所附权利要求书所限定的那样,本发明满足了上述和其他目的。
简而言之,本发明涉及到生成及使用媒体容器文件,并且涉及到用于生成及使用这种容器文件的设备。
生成媒体容器文件涉及到提供至少一个媒体源文件,其包括将被传送到发出请求的客户端并且将在所述客户端处被呈现的媒体或多媒体数据。该容器文件被视为包括一个或多个媒体源块,这取决于所述源文件的大小。根据本发明处理至少一个所述媒体源块,以便根据该源块计算FEC冗余数据或符号。因此,该源块的媒体数据被输入到FEC算法,以便计算至少一个FEC符号。优选地对于源文件的每一个媒体源块执行该FEC符号计算。随后把该至少一个媒体源块组织到所述媒体容器文件中。相应地,也把所计算的FEC数据组织到所述媒体容器文件内的一个或多个FEC存储库中。每一个所述FEC存储库包括为特定媒体源块计算的FEC数据。提供元数据并且将其包括在所述容器文件中,以便提供媒体源块与其FEC存储库之间的关联。
所得到的容器文件可以由媒体服务器在媒体会话期间采用,以便利用该容器文件中的元数据来编辑包括媒体数据和FEC数据的数据分组。预先计算FEC数据并且把媒体和FEC数据组织在本发明的容器文件中,允许所述媒体服务器以简单的在计算方面并不昂贵的方式把媒体数据和FEC数据插入到将被传送到发出请求的客户端的数据分组中,而无需进行大量数据处理以及计算需求高的FEC计算。
在一个优选实施例中,所述容器文件还包括编辑指令,所述媒体服务器在编辑包含来自所述容器文件的媒体和FEC数据的数据分组时使用并且遵循所述编辑指令。在这种情况下,所述容器文件包括能够按照可靠的方式成功地把所述媒体数据转送到所述客户端所需要的所有媒体内容、保护数据和指令。
本发明的容器文件还可以被用在后会话修复程序中,其中尽管把FEC冗余保护数据包括到所传送的数据分组中,但是客户端仍然不能成功地在媒体会话期间接收所有媒体数据。在这种情况下,由修复服务器使用在前一个媒体会话期间所使用的相同容器文件的副本。该服务器能够根据来自所述客户端的请求从所述容器文件内的其中一个FEC存储库检索FEC冗余数据。随后把该FEC数据返回到该客户端,从而允许该客户端成功地呈现所有媒体数据。
附图说明
可以参照结合附图进行的以下详细描述来更好地理解本发明及其其他目的和优点,其中:
图1是示出了根据本发明的一方面的生成媒体容器文件的方法的流程图;
图2是示出了图1的文件生成方法的附加步骤的流程图;
图3是示出了图1的文件生成方法的附加步骤的流程图;
图4是示出了图1的文件生成方法的附加步骤的流程图;
图5是示出了根据本发明的另一方面的媒体会话管理方法的流程图;
图6是示出了图5的会话管理方法的附加步骤的流程图;
图7是更加详细地示出了图5的编辑和传送步骤的一个实施例的流程图;
图8是更加详细地示出了图5的编辑和传送步骤的另一个实施例的流程图;
图9是示出了图5的会话管理方法的附加步骤的流程图;
图10是示出了根据本发明的另一方面的后会话修复方法的流程图;
图11是根据本发明的另一方面的媒体容器文件的示意性总览;
图12是示出了对采用根据本发明的媒体容器文件的不同媒体流进行编辑的示意图;
图13是示出了对采用根据本发明的媒体容器文件的不同媒体流进行编辑的另一个示意图;
图14是根据本发明的包括管理媒体容器文件的服务器的通信网络的总览;
图15是根据本发明的另一方面的内容服务器的示意性方框图;
图16是更加详细地示出了图15的容器文件产生器的一个实施例的示意性方框图;
图17是根据本发明的另一方面的媒体会话服务器的示意性方框图;以及
图18是根据本发明的另一方面的修复服务器的示意性方框图。
具体实施方式
在附图中,相同的附图标记将被用于相应的或类似的元件。
本发明总体上涉及媒体和多媒体数据管理,并且特别涉及产生及利用与基于无线电的通信网络中的媒体服务器(比如流传输或下载服务器)相关联的容器文件。除了将要传送到发出请求的一个(或多个)客户端的媒体内容以及用于在所述媒体服务器中执行媒体处理和传输的指令之外,本发明的这些媒体容器文件还包括为所述媒体会话提供可靠性保护的数据。由于存在被包括在所述容器文件中的预先生成的前向纠错(FEC)冗余数据,因此该可靠性保护是可以实现的。
如本领域中已知的那样,FEC涉及到把冗余数据添加到所传送的有效载荷数据中,这样允许接收器在无需向发送方请求附加数据的情况下检测并校正错误。FEC的优点在于常常能够避免对数据的重传,但是其代价则是平均而言更高的带宽要求。因此,FEC可以被有利地用于媒体内容的基于多点传送/广播的递送,其中重传将很难实现。
FEC是通过利用预定算法或方案向将被传送的信息添加冗余度而实现的,所述算法或方案在本领域中通常被称作FEC编解码器。每一个这种冗余比特都是许多原始信息或有效载荷比特的复杂函数。在输出中包括未经修改的输入的FEC编解码器被称作系统编解码器。换句话说,(N,K)系统FEC编解码器保留K个源符号或有效载荷符号并且附加(N-K)个FEC符号。相应地,(N,K)非系统FEC编解码器从K个源符号产生N个(FEC或源)符号,而不必保留所有K个源符号。
主要有两类FEC编解码器:块编解码器和卷积编解码器。FEC块编解码器在由预定尺寸的比特或符号构成的固定尺寸的块(分组)上进行操作,而卷积编解码器则在任意长度的比特或符号流上进行操作。DigitalFountains Raptor编解码器是能够从单一源块中产生任意数目的FEC冗余符号的FEC块编解码器。这是该FEC编解码器的一个有利属性,这是因为在所述源块构造中没有任何改变的情况下可以生成不同的保护-开销配置。Reed-Solomon是另一种FEC块编解码器,但是其需要对于不同的保护开销尺寸在源块分割中做出改变。FEC块编解码器的其他例子包括Golay、BCH(Bose、Ray-Chaudhuri、Hocquenghem)和Hamming。与本发明相结合地使用的一种优选的FEC编解码器是Digital Raptor编解码器。
根据本发明,媒体或多媒体数据或内容指代可以由内容提供商或服务器提供给客户端以供呈现数据的任何数据。典型的优选实例包括视频数据和音频数据。所述数据可以具有预先编码的固定速率音频或视频内容版本的形式,或者具有可扩展音频或视频内容的形式。其他媒体实例包括静止图像(JPEG)、位图图形(GIF和PNG)、矢量图形(SVG)以及合成音频(SP-MIDI)和文本(XHTML和SMIL)。
图1是根据本发明的生成媒体容器文件的方法的流程图。该媒体容器文件可以被视为完整的输入包,其由媒体服务器在媒体会话期间使用来提供媒体内容并且把媒体数据形成到可传送的数据分组中。因此,除了媒体内容本身之外,所述容器文件优选地包括为了由所述媒体服务器在媒体会话期间执行所述处理并且允许传送所述媒体内容所需要的信息和指令。
所述方法开始于步骤S1,在该步骤中,至少一个媒体源块被组织并且存储在所述容器文件中。如果在该容器文件中存在多于两个媒体源块,则把它们视为相同媒体内容文件或流(例如视频流)以及/或者不同的媒体文件或流(例如视频流的几个媒体源块以及相应的相关联的音频流的几个媒体块)的单独媒体块。所述至少一个媒体源块包括应当被发送到客户端的媒体数据或符号,其在该客户端中被呈现以便把媒体内容呈现给用户。所述媒体块可以具有固定的相同尺寸,或者至少其一部分,如果多于一个的话,可以具有不同的比特/符号尺寸。
在步骤S1中被组织在所述容器文件中的所述至少一个媒体块优选地共同包括将在媒体会话期间被传送到客户端的所有媒体内容数据。换句话说,所述容器文件包含用于整个多媒体呈现的媒体数据。因此,如果所述媒体内容包括音乐视频,则所述容器文件优选地包括具有视频数据的媒体源块和具有相应的音频数据的媒体块。但是本发明预期可以在多个可能的媒体版本中提供同一项媒体内容。例如,所述音乐视频的视频部分可以被提供在多个预先编码的视频版本中,其中每一个所述视频版本被适配成与给定的带宽或者比特率水平或区间相结合地使用。因此在所述容器文件中可以有给定媒体内容的多个版本。在这种情况下,每一个所述媒体版本可以被视为包括一个或多个媒体源块。虽然在所述容器文件中可以有多个媒体版本,但是在所述媒体会话期间的给定时刻通常仅仅使用一个所述版本,但是例如基于可用带宽水平的改变,在所述会话期间,在各媒体版本之间可以有切换。
为了给所述容器文件中的所述媒体内容提供可靠性保护,下一个步骤S2基于在步骤S1中被组织在所述容器文件中的各媒体块当中的至少一个媒体源块预先计算FEC冗余数据。在该计算步骤S2中,优选地采用在媒体块的基础上进行操作的FEC块编解码器(比如digital fountainraptor编解码器)。但是也可以采用卷积FEC编解码器,所述卷积FEC编解码器也在本发明的范围内。在一种优选实现方式中,对于所述至少一个媒体源块生成一组FEC冗余符号。该FEC符号组可以包括一个(但是优选地包括多个)基于所述媒体源块的源符号计算的FEC符号。将为某一媒体源块计算的FEC符号的数目可以由所采用的FEC编解码器中的限制来限定,其可以是所述媒体源块中的媒体源符号的数目的函数或者由某种其他标准来限制(例如所述容器文件的尺寸限制)。这些预先计算的FEC冗余符号的一般思想是在所述容器文件中提供可以获得的并且可以在媒体会话期间由媒体服务器使用来在该媒体会话中提供可靠性保护的FEC符号的存储库。因此,每一个媒体源块的FEC符号的数目优选地是根据这一标准确定的:即能够提供可靠性保护。
除了在媒体会话期间可用于提供可靠性保护之外,在步骤S2中计算的FEC冗余符号还可以被用在后会话修复程序或会话中。可替换地,所述FEC冗余符号的专用子集在所述媒体会话期间可用于可靠性保护,并且所述冗余符号的另一个子集被专用于后会话修复,在本文中将更加详细地描述这一点。因此,本发明的优点在于,相同的容器文件(或其拷贝)既可以由媒体服务器在媒体会话期间使用又可以由修复服务器在修复会话期间使用。这样允许与媒体管理相关联的高度灵活性。关于FEC编解码器的更多信息可以参照文献[1]的附录B,该附录B的教导在此被引入以作参考。
下一个步骤S3把在步骤S2中计算的所述FEC冗余数据与所述媒体源块一起组织在所述容器文件内。该步骤S3优选地把所述媒体源块的FEC冗余符号存储为所述容器文件内的存储库。如果已经出于可靠性保护和后修复的目的生成了FEC冗余符号,则这些符号可以被提供在相同的FEC存储库中。可替换地,第一存储库容纳用于可靠性目的的FEC符号,第二存储库包含后修复FEC符号。
下一个步骤S4提供将被包括在所述容器文件中的元数据。该元数据提供在步骤S1中被添加到所述容器文件中的媒体源块与在步骤S3中被存储在所述文件中的FEC冗余数据之间的关联。这种关联可以具有从所述媒体源块在所述文件内的存储位置到所述FEC存储库的存储位置的指针的形式,或者反之亦然。因此,该元数据允许在给出特定媒体源块或者其在所述容器文件内的位置的情况下识别出基于该媒体源块计算的相关联的FEC冗余数据或者识别出该冗余数据在所述文件内的存储位置。在所述媒体源块和/或相关联的FEC存储库被存储在所述容器文件中的预先定义的“标准”位置处的情况下,取代采用指针,所述元数据可以包括所述媒体源块和/或相关联的FEC存储库的标识符。随后使用该元数据来识别出所述文件中的媒体源块和FEC存储库的其中之一,并且基于该识别出的位置可以识别出所述媒体源块和FEC存储库当中的另一个。
如果每一个媒体源块对应至少两个FEC存储库(用于会话中和后会话使用),则所述元数据优选地包括提供在所述媒体源块与全部两个FEC存储库之间的关联的信息。这例如可以通过针对所述媒体源块把会话中元数据和后会话元数据分别包括在所述容器文件中来实现。
在本发明的一种典型的实现方式中,在步骤S1中把多个媒体源块组织到所述容器文件中。在这种情况下,优选地对于每一个这种媒体源块或者至少对于多组媒体源块重复步骤S2到S4,这由线L1示意性地示出。因此,如果在步骤S1中把N个媒体源块组织到所述容器文件中,则优选地把步骤S2到S4重复N次,这意味着除了所述源块之外还把至少N个FEC存储库和N个元数据版本组织在所述容器文件中。
本发明预期所生成的媒体容器文件可以包含完整媒体会话所需要的所有媒体数据和FEC数据。然而,所述媒体数据和FEC数据实际上可以被应用在多个不同的会话中。例如,所述容器文件可以包括音乐视频、足球比赛等等的媒体数据。在这种情况下,媒体服务器不必传送被包含在所述FEC存储库中的所有媒体数据,而可以仅仅传送由客户端所请求的特定数据。但是另一个媒体服务器可能接收了相同容器文件的副本,并且替换地把该文件中的其他媒体数据提供给其客户端。
所述方法随后结束。
上面结合图1描述的容器文件生成优选地是在可以访问内部或外部媒体内容源的内容产生器或者服务器处实施的。随后可以在诸如计算机存储器的存储介质中或者在诸如电信号或无线电信号的物理信号中表示所生成的容器文件,以便例如在本地系统内传输或者通过本地或全球网络传输。在一个典型的实施例中,所述容器文件被提供为到媒体服务器的无线电信号,以便使用在与不同客户端的媒体会话中。替换地或附加地,所述容器文件可以被提供到修复服务器,该修复服务器可以由客户端在与所述媒体服务器的媒体会话之后访问,以便在必要时对所接收的媒体内容进行后会话修复。
在下面的公开内容中将通篇使用术语“媒体容器文件”,其含义包括用于存储在存储介质中的数据文件以及用于传送或分发的信号。
图2是示出了图1的容器文件生成方法的附加步骤的流程图。所述方法开始于步骤S10,在该步骤中提供至少一个媒体源文件。在该说明性实施例中,可以在所述容器文件产生器处以包含所述媒体数据的源文件或流的形式获得媒体内容。在该步骤S10中,可以提供一个或多个媒体源文件以便包括到容器文件中。例如,第一媒体文件可以包含视频数据,而第二相关联的文件则包含音频数据。为了允许高效地计算FEC冗余数据以及随后使用这种FEC数据,在步骤S10中提供的所述一个(或多个)媒体源文件在下一个步骤S11中被划分成多个媒体块。该媒体源块于是可以被视为所述媒体源文件的一个片段,其中可以对该片段应用FEC代码。在源符号或者数据比特方面的所述媒体块的尺寸可以结合所述划分被预先定义或选择。在前一种情况下,所述尺寸应当由将被应用来计算FEC冗余数据的预定FEC方案或代码来定义。因此,实际的FEC编解码器或算法以及/或者所需要的FEC保护开销可能会影响所述媒体文件划分和媒体块尺寸。
在所述输入媒体源文件的比特或符号尺寸小于可以由FEC编解码器有效处理的最大尺寸时,当然不需要把该源文件划分成媒体源块,并且可以省略步骤S11。于是将该输入媒体源文件视为根据本发明的媒体源块。
应当注意的是,即使存在优选的块尺寸,也并不需要从媒体源文件生成的所有媒体源块都具有该优选尺寸。例如,与其他等同块相比,最后一个媒体源块的尺寸可能较小,这是因为所述媒体文件的剩余部分不包含足够的媒体数据以达到所述优选块尺寸。
上述划分步骤S11不一定意味着把所述媒体源文件物理地划分成被存储在所述容器文件中的单独位置处的单独媒体源块。与此相对,在大多数实际的实现方式中,所述媒体源文件在所述容器文件中被存储为一个连续数据序列,但是被视为或者被虚拟地划分成媒体源块。例如,可以把包含2N个源符号的媒体源文件划分成使得源符号[0,N-1]属于第一源块,并且使得符号[N,2N-1]属于第二源块。
所述方法随后继续到图1的步骤S1,在该步骤中把所述一个(或多个)媒体源块组织到所述容器文件中。
图3是示出了图1的容器文件生成方法的附加步骤的流程图。该方法开始于步骤S20,在该步骤中把媒体源块分割成源符号或者所谓的组块(chunk)。这些符号通常包括几百个字节。该块分割优选地是至少部分地基于将被用来为当前媒体源块计算FEC符号的FEC编解码器/算法的信息来执行的。如前所述,基于Reed-Solomon的FEC编解码器需要基于所期望的保护开销尺寸(即FEC冗余符号的数目)而改变所述源块分割。
因此,实际的FEC编解码器或算法以及/或者所需的FEC保护开销可能会影响所述媒体源分割以及媒体符号尺寸。此外,在步骤S20的该源块分割中可以使用由媒体服务器使用来传送所述媒体内容的其他参数,比如数据分组的尺寸,其中所述数据分组比如是用户数据报协议(UDP)分组。在这种情况下,可以限制所述源符号的尺寸,从而可以把至少一个完整源符号置于UDP分组中。
该分割步骤S20不一定意味着把所述媒体源块物理地划分成被存储在所述容器文件中的单独位置处的单独源符号。与此相对,在大多数实际的实现方式中,所述媒体源文件在所述容器文件中被存储为一个连续数据序列,但是被视为或者被虚拟地划分成媒体源块,所述媒体源块又被虚拟地分割成源符号。
在下一个步骤S21中生成所述分割的信息。该信息基本上表明所述数据序列的哪些部分属于所述媒体源块的哪一个源符号。所述分割信息可以被组织到一个表中,该表表明媒体源块Z的比特X到比特Y构成源符号。可替换地,所述信息可以包括每一个源符号的以字节计的尺寸。于是在知道媒体源块在媒体文件中的起始位置的情况下有可能确定属于不同源符号的数据部分。
该方法随后继续到步骤S2,在该步骤中把所述分割符号与所述媒体源块一起用于计算所述FEC数据。因此,所述分割信息允许识别出应当被输入到所述FEC编解码器以便生成FEC符号的媒体源块的各数据部分。
如前所述,本发明的一个目的是提供一种媒体容器文件,其除了实际的媒体数据之外还包括可靠性保护(即预先计算的FEC数据)。这意味着所述文件到源块划分、块分割以及FEC保护计算是“离线”进行的,并且与媒体服务器中的实际的媒体传输处理无关。这种预处理简化了所述服务器的任务,并且降低了所述服务器的性能要求和复杂度。此外,所述容器文件优选地还包括由媒体服务器识别出媒体数据和FEC数据并且把所述媒体数据和FEC数据组成媒体流所需的信息和指令,其中所述媒体流可以被传送到发出请求的客户端。所述容器文件优选地还包括由修复服务器识别并且组成FEC数据所需要的信息和指令,其中所述FEC数据可用于完成媒体会话之后的后修复处理。因此,所述容器文件可以被视为能够被透明且灵活的服务器用于数据编辑和传输的数据、信息和指令的完整包。
图4是示出了图1的容器文件生成方法的附加步骤的流程图。该方法从图1的步骤S4继续。在下一个步骤S30中,提供被采用来计算FEC冗余数据的方案的FEC算法的信息。该信息可以具有特定算法名称或者某种其他描述性信息的形式。在一种替换方法中,每一种可用的FEC算法都具有预先定义的标识符。因此,可以随后在步骤S30中仅仅提供该FEC标识符。在一种典型的实现方式中采用了相同的FEC编解码器来确定对于媒体源文件的所有媒体源块的冗余数据。但是实际上有可能对于给定媒体源文件的不同媒体源块或者对于不同源文件的媒体源块使用不同的FEC编解码器。因此,所述FEC信息可以表明利用了单一FEC编解码器来处理所述容器文件内的所有块以生成FEC符号,或者标识出对于哪一个源块或者源块组使用了不同的FEC编解码器。
在下一个步骤S31中提供特定媒体源文件划分的信息。当所述媒体服务器或修复服务器要向发出请求的客户端提供媒体数据分组流或者FEC数据时,该信息对于所述媒体服务器或修复服务器具有相关性。
在下一个步骤S32中优选地提供属性表。如果在所述容器文件中包括多于一个媒体源文件/流,则该属性表是特别有用的,但是在仅仅包含单一媒体源文件时也可以有利地使用该属性表。该文件属性表通常包含所述媒体源文件的媒体类型的信息,优选地是所述媒体的多目的因特网邮件扩展(MIME)类型。因此,该MIME信息可以表明所述媒体是音频媒体、视频媒体或者某种其他媒体类型,其中包括同步多媒体集成语言(SMIL)。该MIME类型向所述媒体服务器提供关于什么类型的数据被实际包括在所述容器文件中的信息。所述属性表还可以包括被用于所述媒体数据的任何编码方案的信息,其中包括gzip。在所述属性表中还可以包括尺寸信息。该尺寸信息可以声明每一个媒体源文件的在字节或符号数目方面的总尺寸、所述一个(或多个)源文件的媒体源块的对应尺寸(基本上对应于在步骤S31中提供的所述划分信息)、对于将在传送数据时被使用的数据分组的最大或目标有效载荷尺寸、媒体源符号(基本上对应于在图3的步骤S21中生成的所述分割信息)和/或FEC符号的(以字节计的)尺寸等等。对于被包括在所述容器文件中的每一个媒体源文件,在所述属性表中优选地包括文件名或文件标识符。
优选地可以在所述属性表中找到关于每一个媒体源文件在所述容器文件中的实际存储位置的信息。该位置信息可以表明该源文件的第一媒体源块的起始位置,并且随后在所述容器文件中的该位置之后找到剩余的媒体块。在图1的步骤S4中生成的提供所述容器文件中的媒体源块与FEC存储库之间的关联的元数据也可以被包括在所述属性表中。相应地,关于所采用的块分割以及对于FEC冗余数据计算所采用的FEC代码的信息优选地被包括在该表中。
因此,所述容器文件的属性表可以被用作用于媒体源的单一信息源,以便定位相关的媒体源文件/块并且提供对于该源块的FEC冗余数据以及可用于在媒体会话期间编辑媒体分组的其他信息。
下一个步骤S33生成供媒体服务器使用的编辑指令。这些指令被用来基于所述元数据定义编辑,所述元数据提供了来自所述媒体源块的媒体数据与来自相关联的一个(或多个)FEC存储库的FEC冗余数据的FEC-块关联以便形成数据分组的媒体流。因此,这些指令可以被视为提示或元数据,其提供关于如何使用被包括在所述容器文件中的(媒体和FEC)数据来组成具有可靠性保护的可传送媒体分组流的指令。因此,这些指令被与所述关联元数据一起使用,以便把媒体数据和FEC数据一起编辑成适当的分组,以供在媒体会话期间传输到发出请求的客户端。因此,所述指令将描述媒体源数据和FEC数据的服务器侧传输顺序。但是应当注意到,所述指令通常不包括时间调度信息、目标/源地址或端口的信息或者其他特定于会话的信息。这意味着所述容器文件以及其中的编辑指令对于特定会话来说是透明的,并且实际上可以被媒体服务器用于与不同接收客户端的多个不同会话,但是也可以被不同媒体服务器使用。
所述编辑指令可以应用于所述媒体源块和FEC存储库的子集,这意味着必须由媒体服务器在会话期间读取并使用多条这种指令。可替换地,编辑指令包括对于单一媒体源文件或者实际上对于所述容器文件中的所有媒体源文件所需要的所有信息。
在步骤S33中可以实际生成多于一个的编辑指令集合。在这种情况下,可以提供不同的替换指令,从而媒体服务器可以选择确定对于特定媒体会话采用哪一个特定指令集。例如,在采用单一传输信道以用于数据传输时,第一编辑指令可以被用于描述媒体源块和FEC数据的传输顺序。如果有多条信道可用(即意味着可以并行地而不是顺序地传送数据),则第二指令可以被应用于相同的媒体源块和FEC数据,但是其提供编辑和传输顺序信息。因此,可以使用几条编辑指令来提供针对不同传输信道条件的替换传输会话。
按照类似的方式,对于不同的可靠性保护开销可以包括替换的编辑指令。例如,第一编辑指令被用于针对第一最大保护开销水平描述媒体源块和FEC数据的编辑和传输顺序,而第二指令则被用于具有第二不同FEC开销水平的相同媒体源块。如果该第二FEC开销水平高于(低于)第一水平,则可以向给定数量的媒体源符号添加更多的FEC符号或其在本领域中也被称作的奇偶符号。
除了将被媒体服务器使用的编辑指令之外,可以在步骤S33中生成适用于修复服务器的编辑指令。这些专用于修复的指令随后主要由后会话修复服务器采用,以便允许识别出FEC冗余数据(可能的专用后会话FEC冗余数据)以便传送到发出请求的客户端,其中该客户端未能正确地接收及解码所有在前一个媒体会话期间所接收的媒体数据。
下一个步骤S34在容器文件中组织在先前的步骤S30到S33以及优选地还有图3的步骤S21中提供和生成的信息、表和指令。所述容器文件于是将包含由媒体服务器或修复服务器识别及组成用于传输到发出请求的一个(或多个)客户端的数据所需要的“原始”媒体数据、FEC数据和元数据的完整集合。所述方法随后结束。
图11是根据本发明的媒体容器文件1的示意性总览。如前所述,该容器文件1包含多个媒体源文件10、12、14的媒体数据,在该图中示出了M个这种文件,其中M≥1。每一个文件10、12、14的媒体数据被视为划分成多个媒体源块20、22、24。在该图中对于第一媒体源文件10示出了Q1个这种块20、22、24,其中Q1≥1。每一个这种媒体源块20、22、24又被视为分割成源符号。
除了具有媒体数据的媒体源块20、22、24之外,所述容器文件1包括FEC存储库30、32、34,其包含将与所述媒体数据相结合地使用来提供可靠性保护的预先计算的FEC冗余数据。在一种优选的实现方式中,每一个媒体源块包括至少一个专用的FEC存储库30、32、34。在这种情况下,该图中的FEC存储库30、32、34的数目N是 N ≥ Σ j = 1 M Q i 。在一种替换方法中,每一个媒体源文件10、12、14具有至少一个专用FEC存储库,即N≥M。在这种情况下,所述存储库30、32、34的对应的区段或区域可以被不同的媒体源块20、22、24采用。
本发明的关联元数据40也被提供在所述容器文件1中,所述关联元数据40提供所述FEC存储库30、32、34与所述一个(或多个)媒体源块20、22、24之间的关联,其中基于所述关联元数据40来计算所述存储库30、32、34中的FEC数据。图11示出了该元数据40在文件1中的多个不同的可能位置。在第一实施例中,与所述一个(或多个)相关联的媒体源块20、22、24相结合地存储所述元数据。因此,通过识别出所述文件中的媒体源块20、22、24还允许识别出该源块20、22、24的对应元数据40。替换地或附加地,把所述元数据40与对应的FEC存储库30、32、34一起存储。因此,每一个存储库30、32、34具有相连接的关联元数据40,其允许识别出为之应用特定存储库30、32、34的一个(或多个)相关媒体源块20、22、24。如果所述容器文件1包括优选的文件属性表60,则所述关联元数据40可以被提供在该属性表中。在这种情况下,媒体服务器可以仅仅调查该文件属性表60以便识别出将在媒体会话期间使用的相关媒体数据和FEC数据的位置。在另一种可能的实现方式中,与所述容器文件1的不同编辑指令50、52、54相结合地存储所述关联元数据40,所述编辑指令50、52、54在该图中被标记为提示轨道(hint track)。在这种情况下,每一条提示轨道50、52、54仅仅需要包含可以由该提示轨道50、52、54中的指令实现的媒体会话所需要的元数据40。多个此类可能的存储位置的组合也是可能的,并且落在本发明的范围之内。
在本发明的一种可选但是优选的实现方式中,所述容器文件1还包括专门在修复程序期间使用的编辑指令70,其在该图中被标记为修复提示轨道70。该提示轨道70于是优选地包括关联元数据45,所述关联元数据45可用于识别包括可以用在所述修复程序中的后会话FEC数据的FEC存储库30、32、34,这将在本文中进一步进行描述。
根据本发明的一个特定实施例,所述媒体容器文件1是交织的单元,其针对循序(progressive)下载或流传输而被优化。从而可以通过到发出请求的客户端的所谓的循序下载或流传输来传送或下载整个多媒体呈现。
ISO基础媒体文件格式[2,3,4]可以有利地被采用作为本发明的媒体容器文件的文件格式。替换的容器文件格式包括MP4文件格式、3GP文件格式以及QuickTime格式。
异步分层编码(ALC)是一种显著可伸缩的可靠的内容递送协议。其是用于对任意二进制对象进行可靠的多点传送递送的基础协议,并且已经被采用作为在3GPP2 BCMCS(广播/多点传送服务)和开放移动联盟(OMA)浏览器和内容(BAC)广播(BCAST)工作组中进行广播/多点传送文件递送的强制协议。
FLUTE(通过单向传输的文件递送)在ALC之上建立并且定义了一种用于单向文件递送的协议,其近来已经在3GPP MBMS和DVB-H IP数据播送(IPDC)中被采用作为针对广播/多点传送文件递送的强制协议。ALC和FLUTE都由因特网工程特别任务组(IETF)定义。
FLUTE定义了文件递送表(FDT),其携带与在ALC会话中递送的文件相关联的元数据,并且提供用于对FDT进行带内递送和更新的机制。与此相对,ALC依赖于对文件元数据进行带外递送的其他措施。OMA BCAST定义了电子服务指南(ESG),其通常在所述ALC会话之前很好被递送到客户端。如果在所述ALC会话期间需要更新所述文件元数据,则可以通过利用ESG递送/更新信道来更新ESG的各片段。
将要通过ALC或者FLUTE递送的文件可以作为项目被存储在ISO容器文件中。元框(Meta box)及其子框(child box)允许把多种数据项目(比如静态媒体(画面)和SMIL呈现)存储到ISO基础媒体文件中。所述元框及其子框还允许在所述ISO基础媒体文件中把文件名、到各项目的路径以及所述文件目录结构的信令相关联。
一般来说,在可以通过ALC/FLUTE发送文件之前的第一步是把所述文件分割成源块和源符号。此外,根据本发明,计算FEC编码的奇偶符号。所述分割可以依赖于FEC方案、目标分组尺寸以及所期望的FEC开销。对于将被FEC编码的每一个源块,预先计算奇偶符号的存储库,并且将其与关于所述FEC方案和对所述源文件的分割的信息一起存储在所述ISO基础媒体文件中。
促进文件传输的下一步是令所述ISO基础媒体文件还包含用于多点传送/广播服务器的指令,其(利用会话描述协议)描述所述ALC/FLUTE会话以及描述如何把各项目封装到ALC或FLUTE分组中。
一方面所述文件分割和FEC存储库,另一方面用于文件递送的所述提示轨道被彼此独立地使用。所述文件分割和FEC存储库有助于提示轨道的设计并且允许例如具有不同FEC开销的替换提示轨道以重复使用相同的FEC符号。所述文件分割和FEC存储库还提供针对后递送修复独立地访问源符号和附加FEC符号的措施,其中所述后递送修复可以通过ALC/FLUTE执行或者通过另一种协议带外执行。然而,为了在服务器遵循提示轨道指令时降低复杂度,提示轨道直接涉及到被拷贝到提示采样中的项目或数据的数据范围。
下面给出了根据本发明的容器文件的一个更加详细的实现方式实例,其具有ISO基础媒体文件格式的形式并且被适配成通过ALC/FLUTE传输。然而这仅仅应当被视为本发明的一个说明性实例,在本发明的范围内可以对该实例做出明显的修改和改变。
源文件和FEC存储库的存储
预定通过ALC/FLUTE传输的文件被作为项目存储在充当容器文件的ISO基础媒体文件的顶级元框(‘meta’)中。项目位置框(‘iloc’)表明每一个项目(媒体源文件)在所述容器文件内的实际存储位置以及每一个项目的文件尺寸。每一个项目的文件名、内容类型(MIME类型)等等由项目信息框(‘iinf’)提供。
按照类似的方式,预先计算的FEC存储库被作为附加项目存储在所述元框中。如果源文件被分离成几个源块,则对于每一个源块的FEC存储库优选地被存储为单独的项目。FEC存储库与原始源项目之间的关系被记录在下面章节中描述的文件递送(FD)项目信息框内。
FD项目信息框
关于分割源文件和FEC存储库的细节被提供在FD项目信息框(‘fiin’)中。该框优选地被用于采用了FD提示轨道的文件,并且优选地恰好有一个该框位于所述元框(‘meta’)内。该框被如下定义:
aligned(8)class FDItemInformationBox extends FullBox(′fiin′,version=0,0)
{
     unsigned int(16)entry_count;
     PartitionEntry[entry_count]partition_entries;
     SessionGroupBox session_info;
     GroupIdToNameBox group_id_to_name;
}
所述FD项目信息框中的每一个PartitionEntry(分割条目)提供关于对应于特定媒体源文件的特定文件分割、FEC编码、相关联的FEC存储库以及元数据的细节。如果在所述ISO文件中使用了替换的FEC编码方案或者分割,则有可能为一个源文件提供多个条目。所有分割条目都可以被隐含地编号,并且第一条目的编号通常为1。
分割条目
源的分割条目(‘paen’)被如下定义:
aligned(8)class PartitionEntry extends Box(′paen′)
{
      FilePartitionBox blocks_and_symbols;
      FECReservoirBox FEC_symbol_locations;
}
该条目可以包含两个框,所述两个框一起提供关于如何对媒体源文件进行FEC编码的所有细节。
文件分割框文件分割框(‘fpar’)识别出源文件并且提供把该文件分割成源块和符号。其定义如下:
aligned(8)class FilePartitionBox extends FullBox(′fpar′,version=0,0)
{
      unsigned int(16)item_ID;
      unsigned int(16)packet_payload_size;
      unsigned int(16)FEC_encoding_ID;
      unsignedint(16)FEC_instance_ID;
      usingned int(16)max_source_block_length;
      unsigned int(16)encoding_symbol_length;
      unsigned int(16)max_number_of_encoding_symbols;
      string scheme_specific_info;
      unsigned int(16)entry_count;
      for(i=1;i<=entry_count;i++)
      {
             unsigned int(16)block_count;
             unsigned int(32)block_size;
      }
}
语义:
item_ID(项目ID)表明源文件的项目ID。有可能通过在多于一个文件信息条目的文件分割框中使用相同的项目ID来提供对源文件的替换的分割和/或FEC编码。
packet_payload_size(分组有效载荷尺寸)给出分割算法的目标FLUTE或ALC分组有效载荷尺寸。应当注意到,UDP分组有效载荷更大,这是因为其还包含FLUTE或ALC报头。
FEC_encoding_ID(FEC编码ID)标识出FEC编码方案。0值可以对应于默认方案,比如对应于“Compact No-Code FEC scheme(紧致无代码FEC方案)”,其也被称作“Null-FEC(空FEC)”[5]。1值优选地对应于“MBMS FEC”[1]。
FEC_instance_ID(FEC事例ID)提供对被用于欠详列的FEC方案的FEC编码器的更为具体的标识。该值通常不被用于完全详列的FEC方案。关于欠详列的FEC方案的进一步细节参见文献[5]。
max_source_block_length(最大源块长度)给出每个媒体源块的最大源符号数目。
encoding_symbol_length(编码符号长度)给出一个编码符号(源符号和FEC奇偶符号)的(以字节计的)尺寸。除了可能较短的最后一个符号之外,一个项目的所有编码符号优选地具有相同的长度。
max_number_of_encoding_symbols(最大编码符号数目)给出针对在文献[5]中定义的FEC编码ID 129可以为源块生成的最大编码符号数目。
scheme_specific_info(特定于方案的信息)是“FLUTEbis”中的特定于方案的对象传送信息(特定于FEC-OTI方案的信息)的base64编码的空字符结尾字符串。所述信息的定义取决于所述FEC编码ID。
entry_count(条目计数)给出提供对源文件的分割的(block_count,block_size)对的列表中的条目数。从所述文件的开头开始,每一个条目表明该文件的下一个片段如何被划分成源块和源符号。
block_count(块计数)表明尺寸为block_size(以字节计)的连续源块的数目。不是符号尺寸(其被提供在FEC信息框中)的倍数的block_size表明最后一个源符号包括未被存储在所述文件项目中的填充符。
FEC存储库框
FEC存储库框(‘fecr’)把媒体源文件与被存储为附加项目的FEC存储库相关联:
aligned(8)class FECReservoirBox extends FullBox(′fecr′,version=0,0)
{
      unsigned int(16)entry_count;
      for(i=1;i<=entry_count;i++)
      {
             unsigned int(16)item_ID;
             unsigned int(32)symbol_count;
      }
}
语义:
ent ry_count(条目计数)给出提供对于每一个FEC存储库及其所包含的源符号数目的(item_ID,symbol_count)对的列表中的条目数。该列表开始于与所述媒体源文件的第一个源块相关联的FEC存储库,并且顺序地继续遍历该文件。
项目信息框
为了利用广播/多点传送文件下载协议(ALC/FLUTE)内部地传送所嵌入的分立媒体,优选地使所述服务器还传送对应于所述分立媒体的某些元数据。如果FLUTE被用作广播协议,则作为所述FDT的一部分发送所述元数据,而如果把ACL与OMA BCAST ESG相结合地使用,则作为OMABCAST ESG的一部分发送所述元数据。
由于某些元数据信息可能是快速(on the fly)产生的,因此对于FLUTE和ALC所共有的所述元数据的静态部分的模板结构被定义为所述项目信息条目的第二版本。所述项目信息条目的该版本在所述项目信息框中被用于具有源文件分割的项目。
aligned(8)class ItemInfoEntry extends FullBox(‘infe’,version=1,0)
{
      unsigned int(16)item_ID;
      unsigned int(16)item_protection_index;
      unsigned int(32)content_length;
      unsigned int(32)transfer_length;
      string item_name;
      string content_type;
      string content_location;
      string content_encoding;
      string content_MD5;
      unsigned int(8)entry_count;
      for(i=1;i<=entry_count;i++)
      {
             unsigned int(32)group_id;
      }
}
语义:
item_id(项目id)对于主资源(例如包含在“xml”框中的扩展标记语言(XML))包含0,或者对于为之定义了以下信息的项目包含该项目的ID。
item_protection_index(项目保护索引)对于不受保护的项目包含0,或者包含到项目保护框的基于1的索引(所述项目保护框中的第一个框的索引为1),其中所述项目保护框定义了被应用于该项目的保护。
content_length(内容长度)给出(未编码)文件的总长度(以字节计)。
transfer_length(传送长度)给出(已编码)文件的总长度(以字节计)。应当注意到,如果没有应用内容编码则该传送长度等于内容长度(见下面)。
item_name(项目名)是UTF-8字符的空字符结尾字符串,其包含所述项目的符号名,即该项目(源文件)的文件名。
content_type(内容类型)是UTF-8字符的空字符结尾字符串,其具有所述项目的MIME类型。如果该项目是经过内容编码的(见下面),则所述MIME类型指代内容解码之后的该项目。
content_location(内容位置)是UTF-8字符的空字符结尾字符串,其包含定义在HTTP/1.1[6]中的所述文件的URI。
content_encoding(内容编码)是UTF-8字符的空字符结尾字符串,其被用来表明所述二进制文件是已编码的,并且在被解译之前需要被解码。针对HTTP/1.1的内容编码定义了其值。一些可能的值有“gzip”、“compress”和“deflate”。空的字符串表明没有内容编码。应当注意到,所述项目在应用了内容编码之后被存储。
content_MD5(内容MD5)是UTF-8字符的空字符结尾字符串,其包含所述文件的MD5摘要[6,7]。
entry_count(条目计数)给出下面的列表中的条目数。
group_ID(组ID)表明所述文件项目所属的文件组。
优选地采用所有的字段。但是空字符结尾字符串也有可能仅仅包含空字符,以表明没有提供该字段的相应值。对所述框的未来扩展可以在末尾添加附加的字段。
通过考虑被提供在对于每一个项目的文件信息框中的信息以及由提示轨道所使用的项目列表,可以构造对于FDT或ESG所需的文件条目。
可以通过使用定义在ISO基础媒体文件格式[2,3]的8.44.7节中的通用资源位置(URL)表来指代所嵌入的媒体资源的内容位置。
会话组框
FD会话可以同时在几条FD信道上进行发送,其中的每一条信道都由FD提示轨道进行描述。所述会话组框包含会话列表以及属于每一个会话的所有媒体文件组和提示轨道。如果在所述容器文件中有多于一条FD提示轨道,则在所述FD项目信息框中优选地存在一个会话组框。
在任意时间应当仅仅处理一个会话组。在会话组中第一条列出的提示轨道指定基础信道。如果所述媒体服务器在各会话组之间没有优选,则默认的选择通常是第一会话组。包含由所述提示轨道所提到的文件的所有文件组的组ID都被包括在所述文件组的列表中。随后可以(利用组ID到名称框)把所述文件组ID翻译成文件组名,所述文件组名可以被所述服务器包括在FDT中。
aligned(8)class SessionGroupBox extends Box(′segr′)
{
      unsigned int(16)num_session_groups;
      for(i=0;i<nurn_session_groups;i++)
      {
              unsigned int(8)entry_count;
              for(j=0;j<entry_count;j++)
              {
                     unsignedint(32)group_ID;
              }
              unsigned int(16)num_channels_in_session_group;
              for(k=0;k<num_channels_in_session_group;k++)
              {
                     unsigned int(32)hint_track_id;
              }
      }
}
语义:
num_session_groups(会话组数目)指定会话组的数目。
entry_count(条目计数)给出下面的列表中的条目数,该列表包括所述会话组所遵照的所有文件组。该会话组包含被包括在由每一个源文件的项目信息条目所表明的所列出的文件组中的所有文件。用于该会话组的FDT应当优选地仅仅包含在该结构中列出的那些组。
group_ID(组ID)表明所述会话组所遵照的文件组。
num_channels_in_session_groups(会话组中的信道数)指定所述会话组中的信道数。该会话组中的信道数的值是正整数。
hint_track_ID(提示轨道ID)指定属于特定会话组的FD提示轨道的轨道ID。一条FD提示轨道对应于一条分层编码传输(LCT)信道。
组ID到名称框
所述组ID到名称框把文件组名与使用在所述项目信息条目中的文件组ID相关联。
aligned(8)class GroupIdToNameBox extends FullBox(′gitn′,version=0,0)
{
      unsigned int(32)entry_count;
      for(i=1;i<=entry_count;i++)
      {
             unsigned int(32)group_ID;
             string group_name;
      }
}
语义:
entry_count(条目计数)给出下面的列表中的条目数。
group_ID(组ID)表明文件组。
group_name(组名)是UTF-8字符的空字符结尾字符串,其包含相应的文件组名。
提示轨道格式
所述提示轨道结构被一般化,以便支持多种数据格式的提示采样。所述提示轨道采样包含建立正确类型的分组报头所需要的任何数据,并且还包含到应归入所述分组中的数据的媒体源块的指针。
采样条目格式
FD提示轨道是具有“fdp”(“文件递送协议”的简称)的采样描述中的条目格式的提示轨道(媒体句柄“hint(提示)”)。FDHintSampleEntry(FD提示采样条目)被包含在SampleDescriptionBox(采样描述框)(‘stsd’)中并且具有以下句法:
class FDHintSampleEntry()extends SampleEntry(‘fdp‘)
{
      uint(16)hinttrackversion=1;
      uint(16)highestcompatibleversion=1;
      uint(16)partition_entry_ID;
      uint(16)FEC_overhead;
      box additionaldata[];
}
语义:
partition_entry_ID(分割条目ID)表明FD项目信息框中的分割条目。0值表明没有分割条目与该采样条目相关联(例如对于FDT)。
FEC_overhead(FEC开销)是固定的值8.8,其表明由所述一个(或多个)提示采样使用的百分比保护开销。提供FEC开销的意图是提供帮助媒体服务器选择会话组(以及相应的FD提示轨道)的特性。
字段“hinttrackversion(提示轨道版本)”和“highestcompatibleversion(最高兼容版本)”具有与“RtpHintSampleEntry(Rtp提示采样条目)”中相同的解译,这在ISO基础媒体文件格式[2,3]的10.2节中做了描述。作为附加的数据,提供time_scale_entry(时间尺度条目)框。如果没有提供所述时间尺度条目框,则没有给出关于分组定时的指示。
可以通过观察提示轨道的所有采样条目以及由上述项目ID所涉及的项目的相应文件元数据信息框来产生FDT或ESG所需要的文件条目。如果任何采样没有涉及采样条目,则没有采样条目包括在所述提示轨道中。
推荐所述媒体服务器对于所述文件的每一次重传发送不同的一组FEC符号。
采样格式
所述提示轨道中的每一个FD采样将生成一个或多个FD分组。每一个采样包含两个区域:针对组成所述分组的指令,以及在发送所述分组时所需要的任何额外数据(例如被拷贝到所述采样中而不是驻留在用于源文件或FEC的项目中的编码符号)。应当注意到,可以从采样尺寸表中获知所述采样的尺寸。
aligned(8)class FDsample extends Box(‘fdsa’)
{
      FDPacketBox packetbox[]
      ExtraDataBox extradata;
}
FD采样的采样号定义应当由所述媒体服务器对其进行处理的顺序。同样地,每一个FD采样中的FD分组框按照应当对其进行处理的顺序出现。如果在所述FD提示采样条目中存在时间尺度条目框,则定义采样次数并且提供对于默认比特率的相对分组发送次数。取决于实际的传输比特率,服务器可以应用线性时间缩放。采样次数可以简化所述调度处理,但是要及时发送分组则取决于所述媒体服务器。
分组条目格式
所述FD采样中的每一个分组具有以下结构[8-10]:
aligned(8)class FDpacketBox extends Box(‘fdpa’)
{
      header_template LCT_header_info;
      unsigned int(16)entrycountl;
      dataentry header_extension_constructors[entrycountl];
      unsigned int(16)entrycount2;
      dataentry packet_constructors[entrycount2];
}
LCT_header_info(LCT报头信息)包含用于当前FD分组的LCT报头模板。
entry_countl(条目计数1)对下面的构造器进行计数。
header_extension_constructors:(报头扩展构造器)是被用来构造LCT报头扩展的结构。
entry_count2(条目计数2)对下面的构造器进行计数。
packet_constructors(分组构造器)是被用来构造FD分组中的FEC有效载荷ID和源符号的结构。
LCT报头模板格式
class header_template
{
      unsigned int(1)sender_current_time_present;
      unsigned int(1)expected_residual_time_present;
      unsigned int(1)session_close_bit;
      unsigned int(1)object_close_bit;
      unsigned int(4)reserved;
      unsigned int(16)transport_object__identifier;
}
所述LCT报头模板可以被媒体服务器使用来形成用于分组的LCT报头。应当注意到,所述报头的某些部分取决于服务器策略并且没有被包括在所述模板中。某些字段长度还取决于由所述服务器分配的LCT报头比特。所述服务器可能还需要改变所述TOI的值。
LCT报头扩展构造器格式
应当注意到,媒体服务器可以通过观察是否存在EXT_FDT来识别出包括FDT的分组。
aligned(8)class LCTheaderextension
{
      unsigned int(8)header_extension_type;
      unsigned int(8)header_extension_length;
      unsigned int(8)header_extension_content[];
}
header_extension_length(报头扩展长度)用32比特字的倍数表示。0值意味着该报头由服务器生成。
header_extension_content(报头扩展内容)是等于header_extension_length(报头扩展长度)的项目数。
分组构造器格式
存在多种形式的构造器。每一个构造器都是16字节,以便使得迭代更加容易。第一个字节是联合区分符(union discriminator)。该结构是基于ISO基础媒体文件格式[2,3]的10.3.2节。所述分组构造器被用来把FEC有效载荷ID以及源符号包括在FD分组中。
aligned(8)class FDconstructor(type)
{
     unsigned int(8)  constructor_type=type;
}
aligned(8)class FDnoopconstructor extends FDconstructor(0)
{
      unsignedint(8)  pad[15];
}
aligned(8)class FDimnediateconstructor extends FDconstructor(1)
{
      unsigned int(8)count;
      unsigned int(8)data[count];
      unsigned int(8)pad[14~count];
}
aligned(8)class FDsampleconstructor extends FDconstructor(2)
{
      signed int(8)trackrefindex;
      unsigned int(16)length;
      unsigned int(32)samplenumber;
      unsigned int(32)sampleoffset;
      unsigned int(16)bytesperblock=1;
      unsigned int(16)samplesperblock=1;
}
aligned(8)class FDitemconstructor extends FDconstructor(3)
{
      unsigned int(16)item_ID;
      unsigned int(16)extent_index;
      unsigned int(64)data_offset;
      unsigned int(24)data_length;
}
aligned(8)class FDxmlboxconstr uctor extends FDconstructor(4)
{
      unsigned int(64)data_offset;
      unsigned int(32)data_length;
      unsigned int(24)reserved;
}
额外数据框
FD提示轨道的每一个采样可以包括存储在额外数据框中的额外数据:
aligned(8)class ExtraDataBox extends Box(‘extr’)
{
      bit(8)extradata[];
}
图5是示出了根据本发明的媒体会话管理方法的流程图。该媒体会话管理是在媒体服务器(比如流传输或下载服务器)中实施的,并且其使用本发明的媒体容器文件。所述方法开始于步骤S40,在该步骤中提供媒体容器文件。这一文件提供可以通过从所述媒体服务器的存储器位置获取所述容器文件而实现,这意味着该服务器先前已经从内容提供商或产生器接收了所述文件。可替换地,所述媒体服务器可以结合针对媒体数据的请求从内容提供商定购或接收所述容器文件。
在下一个步骤S41中,通过从所述容器文件的一个(或多个)媒体源块中提取媒体数据并且从一个(或多个)FEC存储库中提取FEC冗余数据来编辑媒体数据分组。这一数据提取是基于所述容器文件中的元数据执行的,所述元数据提供所述一个(或多个)媒体源块与所述一个(或多个)FEC存储库之间的关联。因此,媒体服务器优选地接收将在所述媒体会话期间传送的媒体数据的标识符。可替换地,所述容器文件可能仅仅包含单一媒体数据文件的媒体数据,因此没有必要选择媒体源。在任一种情况下,被包括在所述容器文件中(比如被包括在所述文件属性表中)的先前描述的信息都可以被用于识别所述媒体文件的开头,即应当从该处开始传输的第一个媒体源块。此外,被包括在所述容器文件中的其他信息可以被用作关于应当如何组合媒体数据和FEC数据并且将其包括在数据分组中的指令,其中所述数据分组适于通过一条或多条基于无线电的信道被无线传送到不同的客户端。在给出当前从中提取媒体数据的媒体源块的情况下,本发明的元数据允许识别出应当在所述分组编辑步骤S41中从其中提取FEC数据的相关联的FEC存储库。
在下一个步骤S42中,优选地通过广播或多点传送技术把具有FEC可靠性保护的所编辑的媒体数据分组发送到客户端,在所述客户端处可以呈现所述媒体数据。通常一旦在所述媒体服务器中的传送缓冲器达到了给定水平之后就启动所述分组传输。但是在所述媒体会话期间,在其他分组正被传送的同时编辑新的数据分组并且将其输入到所述传送缓冲器中,这由线L2示意性地示出。
所生成的容器文件以及在其中组织媒体数据并且提供预先计算的FEC数据,可以在媒体会话期间降低所述媒体服务器的处理需求。因此这导致降低了服务器复杂度并且允许服务器灵活性,这是因为所述服务器不需要快速进行源块构造和FEC编码。与此相对,所述服务器使用所述容器文件中的元数据和指令来提取预先计算的源符号和FEC符号、添加报头信息并且把所得到的数据分组发送到客户端。
所述方法随后结束。
图6是示出了图4的会话管理方法的附加步骤的流程图。所述方法从图5的步骤S40继续。在下一个步骤S50中确定当前可以被采用来在所述媒体会话中进行数据传输的FEC开销容量。可以基于针对所述媒体传输所能分配给所述服务器的带宽水平以及对于该媒体传输所采用的一个(或多个)无线电载体的最小和最大比特率水平等等来确定或者至少估计所述容量。实际上可以在该步骤S50中采用本领域中已知的用于结合数据传输确定这种开销容量的任何技术。
一旦确定了所述FEC开销容量,下一个步骤S51就基于所确定的开销容量来选择编辑指令集。因此,所述媒体容器文件于是包含多个替换的编辑指令集,所述替换的编辑指令集可以被用于给定的媒体内容但是提供不同的FEC开销水平。换句话说,这些替换的编辑指令基本上定义将在编辑媒体数据分组时添加到所述媒体数据中的FEC冗余数据量。可接受的FEC开销越大,所添加的FEC数据就越多。通过具有不同的替换编辑指令,所述媒体服务器可以使用在给定当前开销限制的情况下允许最高可允许FEC保护的那些指令,从而与使用单一编辑指令集相比增大了在不同客户端处成功接收及解码所述媒体数据的机会。
所述方法随后继续到图5的步骤S41,在该步骤中基于在步骤S51中选择的编辑指令从所述媒体内容数据和相关联的FEC数据编辑媒体数据分组。
图12是根据本发明的媒体容器文件1的示意图,其被用于显示出根据本发明的一个实施例使用替换的编辑指令。该容器文件1包括媒体源文件10,所述媒体源文件10优选地包括多个媒体源块(比如两个媒体源块)。在该实施例中,该源文件10的每一个媒体源块具有相关联的FEC存储库30、32,所述FEC存储库包括为对应的源块预先计算的FEC冗余数据。在该说明性例子中,该容器文件1还包括三条提示轨道50、52、54,所述提示轨道包含用于不同的FEC开销的编辑指令。例如,在期望10%的冗余开销时可以使用第一提示轨道50,第二提示轨道52给出大约12%的FEC开销,第三提示轨道54给出14%的FEC开销。在该图中采用了在文献[1]的附录B中提出的源块构造算法。如果选择了第一提示轨道50,则生成数据分组81、82、83、84的第一流(在该图中每个媒体源块仅仅一个数据分组并且示出了FEC块)。然而,如果替换地使用了第二提示轨道52,则生成数据分组91、92、93、94的第二流。与第一流80相比,第二流90对于每个媒体源块包括更大的FEC块,即更多的FEC冗余数据。但是对应的源块在两个流80、90中包含相同的媒体数据量。
如前所述,所述媒体容器文件可以包含多个媒体源文件或者携带不同媒体内容的文件。图7的流程图示出了其中利用了这种多文件解决方案的图5的编辑和传送步骤的实施例。所述方法从图5的步骤S40继续。在下一个步骤S60中,第一媒体内容文件和第一FEC存储库的媒体数据分组基于所述元数据以及专用于该特定媒体内容的编辑指令而生成。所述分组生成的结果可以被视为包含第一组的媒体内容和来自第一FEC存储库的FEC数据的数据分组流。随后在步骤S61中利用基于无线电的通信信道(优选地是广播或多点传送信道)把该第一组数据分组发送到发出请求的客户端。
然而在当前媒体会话中还应当把所述容器文件中的第二媒体源文件或者第二组的媒体内容传送到所述客户端。结果,在步骤S62中包含来自所述第二媒体源文件的媒体内容数据和来自第二相关联的FEC存储库的FEC冗余数据的数据分组基于元数据和与这个内容相关联的编辑指令而生成。随后在步骤S63中利用在先前描述的步骤S61中被所述服务器所采用的相同的基于无线电的通信信道来传送所得到的数据分组。因此,将作为数据分组的连续流来发送所述两组数据分组。
图8的流程图示出了其中利用了多文件解决方案的图5的编辑和传送步骤的附加实施例。该方法从图5的步骤40继续。在下一个步骤S70中,生成包含来自第一媒体源文件的媒体内容数据和来自第一FEC存储库的FEC数据的媒体数据分组。该步骤S70基本上对应于图7的步骤S60,并且在这里不再进一步描述。下一个步骤S71对应于图6的步骤S61,在该步骤中数据分组包括从所述容器文件的第二媒体源文件和第二FEC存储库导出的媒体内容。在该实施例中,所述媒体服务器可以同时管理两个客户端组(IP多点传送组)。因此,在下一步骤S72中,所述媒体服务器利用第一基于无线电的通信信道把在步骤S70中生成的数据分组的第一组或第一流传送到第一媒体组的客户端成员,并且同时地或者至少部分同时地利用第二基于无线电的通信信道把第二媒体数据分组流传送到第二媒体组的客户端成员。因此,在该实施例中将作为并行媒体流来发送所述两组数据分组。所述方法随后结束。
本发明还包含以下情况:多个媒体文件的媒体数据被共同编辑并传送到一组客户端。在这种情况下,在所述媒体会话期间由所述媒体服务器一同管理来自所述多个源文件的媒体数据。这特别是其中一个媒体文件包含视频数据并且第二媒体文件包含相关联的音频数据的情况。可以利用相同的基于无线电的通信信道或者不同的此类信道来传送所述两个文件的媒体数据。
本发明预期在上面结合图7和8描述的教导可以被扩展成处理在所述容器文件中包括多于两个媒体源文件和FEC存储库的情况。
图13是媒体容器文件1的示意性表示,其具有多个媒体源文件10、12、14和多个FEC存储库30、32、34。该容器文件1还包括两条提示轨道50、52,其具有用于从所述源文件10、12、14中提取媒体内容数据并且从所述存储库30、32、34中提取FEC数据所需要的编辑指令和元数据。
在组成包含来自多个源文件10、12、14和FEC存储库30、32、34的数据分组81、82、91、92的流时可以由媒体服务器采用第一提示轨道50。随后将利用基于无线电的信道把所生成的流传送到发出请求的客户端(与图7相比)。在应当同时管理多个媒体组时可以采用第二提示轨道52。因此,由所述媒体服务器基于所述提示轨道52、源文件10、12、14以及FEC存储库30、32、34生成数据分组81、82;91、92的多个并行流。
如果所述媒体容器文件还包括附加信息(比如文件到块划分的信息、块分割的信息、FEC算法和/或文件属性表的信息),所述媒体服务器可以在数据分组生成和传输过程中使用该附加信息。
例如,所述媒体服务器可以把所述块分割的信息与所述元数据一起使用来从所述容器文件内的媒体源文件和块中提取媒体数据。这样,所述分割信息帮助该服务器正确地识别出所期望的媒体数据在所述容器文件中的正确的存储位置。相应地,所述媒体服务器可以把FEC算法信息与所述元数据一起使用来从所述容器文件中提取媒体数据和FEC数据。不同的FEC算法需要从媒体内容到源符号和块的不同分割,此外,所述分割可以取决于所述保护开销。因此,在预先计算所述FEC数据时所采用的FEC算法和其他FEC参数的信息对所述媒体服务器来说可能是有用的。
可以在所述文件属性表中包括或者至少声明可以由所述媒体服务器使用的所述附加数据以及优选地还有MIME类型的信息、任何编码信息、尺寸信息等等。在一种优选实现方式中,该属性表构成单一信息或查找源,其可以被所述媒体服务器访问以便获得结合媒体提取、数据分组编辑和传输所需要的或者有利的信息。
本发明的媒体服务器还可以被用于后修复程序。因此,在这种情况下,尽管在所述媒体流中包括了FEC冗余数据,但是在把媒体内容数据和FEC数据传送(多点传送)到客户端以后,某些客户端可能仍无法正确地解码所接收的媒体符号。图9的流程图示出了定义这种后修复程序的附加步骤。通常一旦在所述媒体会话期间的媒体传输结束或者至少在把某些媒体数据传送到客户端之后启动该程序。所述方法因此从图5的步骤S42继续。在下一个步骤S80中,所述媒体服务器接收到源自先前在与该服务器的媒体会话中所涉及到的客户端的针对后会话修复程序的请求。所述修复请求通常包括不正确地接收的媒体数据的标识符。该标识可以是特定媒体内容的名称并且可能是允许所述内容服务器更加详细地识别出未被所述客户端成功接收的内容部分的某种信息。在下一个步骤S81中,所述服务器使用该信息从基于该信息识别出的FEC存储库中提取FEC冗余数据。在该提取步骤S81中,所述服务器可以默认地提取在步骤S82中优选地利用基于单点传送的数据传输被传送到发出请求的客户端的预定义数目的FEC符号。如果所提供的FEC符号不足以对所述媒体内容进行成功解码,则所述客户端可以从所述服务器请求更多FEC符号。可替换地,所述客户端为所述服务器提供这样的信息,该信息允许该服务器至少估计出为了在该客户端处成功解码所述媒体内容所需要的FEC符号的数目。在这种情况下,所述服务器优选地在所述提取步骤S81中使用该信息,并且在步骤S82中把所提取的FEC符号传送到所述客户端。
在媒体会话中使用了本发明的媒体容器文件之后,还可以在专用的后会话修复程序中使用所述媒体容器文件。图10是示出了本发明的这种后会话修复方法的流程图。该方法开始于步骤S90,在该步骤中,修复服务器从客户端接收到针对FEC冗余数据的请求,该客户端先前在媒体会话中被涉及到并且从媒体服务器接收了媒体数据。在步骤S90中接收到的该请求包括允许该修复服务器识别出媒体容器文件的标识符。因此,该服务器在下一个步骤S91中基于所述请求(通常是该请求中的所述标识符)提供相关的媒体容器文件。该容器文件通常是由媒体服务器在先前的媒体会话中使用的容器文件的副本,因此包括一个(或多个)媒体源块和一个(或多个)FEC存储库,所述媒体源块和FEC存储库分别包含所传送的但是没有在发出请求的客户端处完全成功接收到的媒体和FEC数据。可以从内容提供商/产生器或者实际从实施先前的媒体会话的所述媒体服务器定购或请求所述容器文件。
所述修复服务器在步骤S92中基于元数据使用所述修复请求中的标识符从所述媒体容器文件中提取FEC冗余数据。在一种优选的实现方式中,所述标识符可以是包含所述不正确地接收的媒体内容的媒体源文件的名称或者某种更为详细的信息,其中包括特定媒体源块的标识,所述特定媒体源块包含所述缺失的媒体数据。随后把所述容器文件中的元数据与所述标识符一起使用来识别该容器文件中的至少一个FEC存储库,其中应当从该至少一个FEC存储库中提取所述FEC数据。如前面结合图9的步骤S81所描述的那样,可以向所述修复服务器通知对进行成功的数据解码所需的FEC数据量的估计。可替换地,所述修复服务器可以提取并发送默认数目的FEC符号,并且要求所述客户端在这些默认数目的符号不足够的情况下请求更多FEC数据。
参见图11,在一种优选的实现方式中,所述容器文件包括后会话修复指令70。这些指令随后被所述修复服务器使用来编辑数据分组,所述数据分组包含从FEC存储库30、32、34中提取的FEC数据。如图所示,由所述服务器在该提取程序中使用的元数据45可以被包括在所述编辑指令70中或者构成其一部分。可替换地,可以与相关的媒体源文件10、12、14、FEC存储库30、32、34相结合地提供所述元数据45,或者在被包括在所述容器文件1内的文件属性表60中提供所述元数据45。
图14是通信网络的示意性总览,其中示出了生成或使用本发明的媒体容器文件1的各方。内容服务器100表示所述内容提供商或产生器,其接收或者可以访问媒体源数据并且构造媒体容器文件1。该容器文件1的副本被发送到媒体服务器200,该媒体服务器200在媒体会话中使用该容器文件1来编辑数据分组,所述数据分组包含被发送(多点传送)到不同的客户端400、410、420的媒体和FEC数据,所述客户端在该图中由移动终端表示。在与该媒体服务器200的所述媒体会话之后,其中一个所述移动终端400可以联系修复服务器300。在这种情况下,该修复服务器300从该内容服务器100请求所述媒体容器文件1的副本,并且在后会话修复程序中使用该副本。
图15是根据本发明的媒体内容服务器100的示意性方框图。该内容服务器100包括一般的输入和输出(I/O)单元110,其被设置成与各外部单元通信并且包括用于与各外部单元通信的功能(发送器/接收器、调制器/解调器、编码器/解码器)。该I/O单元110特别被设置成接收输入媒体内容以及接收针对媒体容器文件的请求。当向所述通信网络中的其他服务器传送这种容器文件时,服务器100还采用该I/O单元110。
所述内容服务器100还包括容器文件产生器120,其被设置成产生本发明的媒体容器文件。该产生器120包括媒体块管理器130,其被设置成把至少一个媒体源块输入并组织到媒体容器文件中。该至少一个输入源块优选地是从该内容服务器100的文件划分器190提供的。可替换地,所述至少一个源块可以从内部数据存储装置115检索并且可以利用所述I/O单元110从外部媒体源500、510提供。
所述内容服务器100的FEC编解码器160为由所述块管理器130输入到所述容器文件中的媒体源块计算FEC冗余数据。该FEC编解码器160可以在该计算程序中使用任一种先前提到的FEC算法。该编解码器160可以被设置成对于所有其冗余数据计算都使用给定的FEC算法。可替换地,该编解码器160可以使用多种不同算法,因此可以选择实际的算法。可以基于不同的参数来执行所述算法选择,所述参数比如是由所述文件划分器190进行的特定块划分、所述媒体源块中的数据类型或者某种其他参数。由所述编解码器160计算的FEC数据既可以被用作媒体会话中的冗余数据,也可以被用作后会话修复程序中的修复数据。
所得到的计算出的FEC数据(符号)被输入到所述文件产生器120的FEC数据管理器140。该FEC管理器140把所述输入FEC数据组织到所述媒体容器文件内的至少一个FEC存储库中。在一种优选的实现方式中,所述FEC编解码器160和FEC管理器140生成用于由所述块管理器130组织到所述文件中的每一个源块的FEC符号,并且在所述容器文件中为每一个源块提供至少一个FEC存储库。
所述文件管理器120的元数据管理器150把元数据提供到所述容器文件中。该元数据提供由所述块管理器130组织的所述媒体源块与由所述FEC管理器140组织的所述FEC存储库之间的关联。
随后可以把所得到的媒体容器文件至少临时存储在所述数据存储装置115中,或者通过所述I/O单元110将其传送到媒体服务器或修复服务器。
在一种优选的实现方式中,所述输入媒体内容具有媒体源文件的形式,所述媒体源文件被提供到所述文件划分器190。该划分器190把所述源文件分离成一个或多个源块。该划分器190可以基于不同的信息或参数进行该文件划分。例如,可以至少部分地基于由所述FEC编解码器160采用的FEC算法来确定所述文件划分。在这种情况下,所述文件划分190优选地可以使用这种FEC算法的信息。该划分器190随后可以把媒体源文件划分成N-1个等尺寸的媒体源块以及一个可以具有小于其他N-1个块的尺寸的媒体源块。
所述媒体文件还被输入到块分割器195,其优选地在所述文件划分器对所述数据进行了处理之后对所述媒体数据进行操作。该分割器195及时对一个媒体源块进行操作,并且把该块分割成具有已定义尺寸的源符号。优选地基于将被所述FEC编解码器160采用的特定FEC算法或方案来进行该块分割。所述块分割器195还可以操作来执行适于把所述源符号置于数据分组中的分割,所述数据分组将由媒体服务器在媒体会话期间采用。因此,所述分割器195可以采用分组尺寸(比如UDP分组尺寸)信息。
所述分割器195还生成所得到的块分割的信息。该信息随后被转送到所述FEC编解码器160,以便在生成所述FEC冗余数据时使用。
所述内容服务器100的各单元110、120、130、140、150、160、190和195可以被实现或者提供为软件、硬件或其组合。所述单元110到195都可以被实现在通信系统中的单一网络节点内的内容服务器100中。可替换地,分布式实现方式也是可能的,并且落在本发明的范围内。在这种情况下,所述内容服务器100的不同单元110到195可以被设置在不同的网络节点中,但是即便如此也仍将执行前面所描述的其预定操作。
图16是更加详细地示出了图15的容器文件产生器120的实施例的示意性方框图。该文件产生器120还包括信息管理器170,其用于把不同的信息数据包括并组织在所述容器文件中。该管理器170优选地把由所述FEC编解码器160使用的FEC算法、由所述文件划分器190使用的文件划分和/或所述块分割器195的块分割的信息提供在所述文件中。其他信息可以是描述所述媒体数据的数据,比如媒体类型、(块和/或符号)尺寸信息、内容名称或标识符、位置信息、可选的编码信息等等。在一个优选实施例中,可能把该信息与来自所述元管理器150的元数据一起组织到被包括在所述容器文件内的文件属性表中。
所述文件产生器120的指令管理器180生成编辑指令并且将其插入到所述容器文件中。这些指令包括由媒体服务器使用来基于来自所述元数据管理器150的元数据编辑来自所述媒体源块的媒体数据以及来自所述FEC存储库的FEC数据的信息。该管理器180可以为所述文件中的每一项媒体内容生成单一指令或者指令集。可替换地,可以由该管理器180提供不同的所述指令并且将其组织到所述容器文件中,其中所述不同的指令适应于在所述媒体会话中采用的不同的FEC开销、不同的FEC数据类型和/或不同数目的基于无线电的通信信道。
所述容器文件产生器120的各单元130到180可以被实现或者提供为软件、硬件或其组合。所述单元130到180都可以被实现在所述容器文件产生器120中。可替换地,分布式实现方式也是可能的,并且落在本发明的范围内。在这种情况下,所述容器文件产生器120的不同单元120到180可以被设置在所述内容服务器100中的其他位置处。
图17是根据本发明的媒体会话服务器200的示意性方框图。该媒体服务器200包括I/O单元210,其用于实施与各外部单元的通信。该I/O单元210特别被设置成从内容服务器请求并接收媒体文件容器。该I/O单元210还接收源自不同用户客户端的针对媒体内容的请求或者至少关于应当向哪些客户端传送媒体内容的信息。还可以通过该I/O单元210把由所述媒体服务器200编辑的数据分组传送到这些客户端。
所述服务器200包括媒体文件提供器220,其提供媒体内容文件以便使用在当前会话中。该文件提供器220可以生成针对特定容器文件的请求,该请求通过所述I/O单元210被传送到内容产生器。可替换地,该提供器220从被提供在所述媒体服务器200内的数据存储装置260中获取先前接收的容器文件。
数据分组编辑器230使用被包括在来自所述提供器220的容器文件中的元数据以及优选地编辑指令以从该文件中提取媒体数据和FEC数据,并且生成包含所提取的该数据的数据分组。随后通过所述I/O单元210传送(或者从该处流传输或下载)如此生成的数据分组。
所述数据分组编辑器230在所述编辑处理中优选地还使用被包括在所述文件中的其他信息(FEC算法信息、划分/分割信息、尺寸信息、内容名称、内容存储信息)。因此,实际上在所述内容文件中提供了生成具有媒体数据和FEC数据的数据分组所需要的所有指令和数据,从而允许灵活且高效的媒体会话管理。
对于给定的媒体内容可以把不同的编辑指令存储在所述文件中。例如,所述指令可以是依赖于信道或者依赖于容量的。在前一种情况下,可用无线电信道的数目和应当传送的并行媒体流的数目决定由所述编辑器230使用的实际编辑指令。在后一种情况下,在所述服务器200中优选地包括FEC容量估计器240,其用于估计可以在会话期间采用的FEC开销的最大数量。优选地在所述会话期间动态地更新由该估计器240执行的开销估计,这是因为可以在所述会话期间改变所述开销容量。集合选择器250使用来自所述估计器240的所述容量估计来选择将要使用可以在所述文件中获得的哪一条特定编辑指令或指令集。所述分组编辑器230随后使用该指令(集)把媒体数据和FEC数据编辑到数据分组中。
所述媒体服务器200可以可选地包括FEC管理器270,其可以由该媒体服务器200在后会话修复程序中使用。在这种情况下,所述I/O单元210接收源自客户端的修复请求,其中该服务器200先前向该客户端传送了媒体和FEC数据。从所述I/O单元210把该请求转送到所述FEC管理器270。该管理器270使用该请求从所述媒体容器文件中(例如其被存储在所述数据存储装置260中)识别并提取出FEC冗余数据(符号)。在该后会话FEC提取中,该FEC管理器270可以采用被包括在所述容器文件中的后会话修复指令来识别出正确的FEC数据以及/或者把所提取出的FEC数据编辑到数据分组中。随后通过所述I/O单元210把所得到的数据分组传送到发出请求的该客户端。
所述媒体服务器200的各单元210、220、230、240、250和270可以被实现或者提供为软件、硬件或其组合。所述单元210到270都可以被实现在通信系统中的单一网络节点内的媒体服务器200中。可替换地,分布式实现方式也是可能的,并且落在本发明的范围内。在这种情况下,所述媒体服务器200的不同单元210到270可以被设置在不同的网络节点中,但是即便如此也仍将执行前面所描述的其预定操作。
图18是根据本发明的修复服务器300的示意性方框图。该服务器300包括I/O单元310,其被设置成与各外部单元进行通信。该I/O单元310特别被提供来接收来自客户端的后会话修复请求,并且用于从内容产生器或者媒体会话服务器请求媒体容器文件。对包括FEC冗余数据的数据分组的传输也通过该I/O单元310执行。
所述修复服务器300包括媒体文件提供器320,其响应于接收到来自客户端的修复请求而提供容器文件。该提供器320可以组成通过所述I/O单元310传送到内容产生器的容器请求以提供所述文件。可替换地,该修复服务器300先前已经接收了所述容器文件,从而该文件提供器320从数据存储装置340中获取该容器文件。
FEC数据提取器330被设置在所述服务器300中,以便基于被包括在所述修复请求中的标识符从由所述文件提供器320提供的容器文件中提取FEC冗余数据。该标识符可以是未被所述客户端成功接收的媒体内容的名称或其他标识符。也可以使用其他标识符(比如所述媒体会话服务器的标识符和/或所述媒体内容的递送时间),其允许所述修复服务器300识别出正确的媒体内容(有可能借助于到所述媒体服务器的请求)。还可以替换地或附加地采用更加详细的信息,比如所述媒体内容的特定部分(其允许识别错误地接收的媒体源块)。
由所述数据提取器330提取的FEC数据的数量可以是预先定义的。如果需要多于该预先定义的默认水平的FEC符号,则所述客户端必须相应地明确通知所述服务器300,或者所述客户端需要发送针对另外的FEC数据的请求。可替换地,该提取器330从所述客户端接收关于为了成功解码所有媒体内容应当接收多少FEC符号的估计。该提取器330随后将在所述FEC数据提取中使用该估计。
在一种优选的实现方式中,所述容器文件包括后会话修复指令,其定义把来自所述容器文件中的FEC存储库的FEC数据编辑到可以被发送给所述客户端的数据分组中的所述编辑。在这种情况下,所述提取器在所述提取和编辑处理中使用这些指令。
所述修复服务器300的各单元310到330可以被实现或者提供为软件、硬件或其组合。所述单元310到340都可以被实现在通信系统中的单一网络节点内的修复服务器300中。可替换地,分布式实现方式也是可能的,并且落在本发明的范围内。在这种情况下,所述修复服务器300的不同单元310到340可以被设置在不同的网络节点中,但是即便如此也仍将执行前面所描述的其预定操作。
本领域技术人员应当理解,在不偏离本发明的范围的情况下可以对本发明做出许多修改和改变,本发明的范围由所附权利要求书限定。
参考文献
[1]3GPP TS 26.346 V7.0.0,3rd Generation Partnership Project;TechnicalSpecification Group Services and System Aspects;MultimediaBroadcast/Multicast Service(MBMS);Protocols and codecs,June 2006
[2]ISO/IEC 14496-12:2005:“ISO base media file format”
[3]ISO/IEC 15444-12:2005:“ISO base media file format”
[4]Internation alapplication WO 2005/039131
[5]RFC 3695;Compact Forward Error Correction(FEC)Schemes,February2004
[6]RFC 2616;Hypertext Transfer Protocol-HTTP/1.1,June 1999
[7]RFC 1864;The Content-MDS Header Field,October 1995
[8]RFC 3926;FLUTE-File Delivery over Unidirectional Transport,October2004
[9]RFC 3450;Asynchrononous Layered Coding(ALC)ProtocolInstantiation,December 2002
[10]RFC 3451;Layered Coding Transport(LCT)Building Block,December2002

Claims (39)

1.一种生成媒体容器文件的方法,所述方法包括以下步骤:
-把至少一个媒体源块组织在所述媒体容器文件中;
-基于所述至少一个媒体源块计算前向纠错FEC冗余数据;
-把所述FEC冗余数据组织在所述媒体容器文件内的至少一个FEC存储库中;以及
-在所述媒体容器文件中提供元数据,所述元数据提供所述至少一个媒体源块与所述至少一个FEC存储库之间的关联。
2.根据权利要求1所述的方法,还包括以下步骤:
-提供媒体源文件;以及
-把所述媒体源文件划分成所述至少一个媒体源块。
3.根据权利要求2所述的方法,其中,所述划分步骤包括:至少部分地基于被用来计算所述FEC冗余数据的FEC算法把所述媒体源文件划分成所述至少一个媒体源块。
4.根据权利要求1-3中任一权利要求所述的方法,其中,所述计算步骤包括以下步骤:
-基于将被用来计算所述FEC冗余数据的FEC算法把所述至少一个媒体源块分割成多个媒体符号;
-生成所述媒体源块分割的分割信息;以及
-基于所述至少一个媒体源块和所述分割信息计算所述FEC冗余数据。
5.根据权利要求4所述的方法,还包括以下步骤:
-在所述媒体容器文件中提供所述FEC算法的信息和所述分割信息。
6.根据权利要求1-5中任一权利要求所述的方法,还包括以下步骤:
-在所述媒体容器文件中提供属性表,该属性表包括所述至少一个媒体源块在所述媒体容器文件内的存储位置信息。
7.根据权利要求1-6中任一权利要求所述的方法,还包括以下步骤:
-生成编辑指令,所述编辑指令基于所述元数据定义对来自所述至少一个媒体源块的媒体数据和来自所述至少一个FEC存储库的FEC冗余数据的编辑,以便形成数据分组的媒体流;以及
-把所述编辑指令组织在所述媒体容器文件中。
8.根据权利要求7所述的方法,其中,所述生成编辑指令的步骤包括以下步骤:
-生成第一编辑指令集,所述第一编辑指令集基于所述元数据定义对来自所述至少一个媒体源块的媒体数据和来自所述至少一个FEC存储库的FEC冗余数据的编辑,以便形成具有第一FEC冗余开销水平的数据分组的第一媒体流;以及
-生成第二编辑指令集,所述第二编辑指令集基于所述元数据定义对来自所述至少一个媒体源块的媒体数据和来自所述至少一个FEC存储库的FEC冗余数据的编辑,以便形成具有第二FEC冗余开销水平的数据分组的第二媒体流。
9.根据权利要求1-8中任一权利要求所述的方法,其中,所述FEC冗余数据是将在媒体会话期间被使用的FEC冗余数据,并且所述方法还包括以下步骤:
-基于所述至少一个媒体源块计算可用在后会话修复程序中的后会话FEC冗余数据;
-把所述后会话FEC冗余数据组织在所述媒体容器文件内的至少一个FEC存储库中;以及
-在所述媒体容器文件中提供元数据,所述元数据允许基于与所述至少一个媒体源块相关联的标识符来识别所述至少一个FEC存储库。
10.一种媒体内容服务器,其包括:
-媒体块管理器,其被设置成把至少一个媒体源块组织在媒体容器文件中;
-前向纠错FEC编解码器,其被设置成基于所述至少一个媒体源块计算FEC冗余数据;
-FEC数据管理器,其被设置成连接到所述FEC编解码器以便把所述FEC冗余数据组织在所述媒体容器文件内的至少一个FEC存储库中;以及
-元数据管理器,其被设置成在所述媒体容器文件中提供元数据,所述元数据提供所述至少一个媒体源块与所述至少一个FEC存储库之间的关联。
11.根据权利要求10所述的媒体内容服务器,还包括:
-媒体源,其被设置成提供媒体源文件;以及
-文件划分器,其被设置成连接到所述媒体源以便把所述媒体源文件划分成所述至少一个媒体源块。
12.根据权利要求11所述的媒体内容服务器,其中,所述文件划分器被设置成至少部分地基于被所述FEC编解码器用来计算所述FEC冗余数据的FEC算法把所述媒体源文件划分成所述至少一个媒体源块。
13.根据权利要求10-12中任一权利要求所述的媒体内容服务器,还包括:
-块分割器,其用于根据将被所述FEC编解码器使用的FEC算法把所述至少一个媒体源块分割成多个媒体符号并且用于生成所述媒体源块分割的分割信息,其中,所述FEC编解码器被设置成基于所述至少一个媒体源块和所述分割信息计算FEC冗余数据。
14.根据权利要求13所述的媒体内容服务器,还包括:
-信息管理器,其被设置成在所述媒体容器文件中提供由所述FEC编解码器使用的所述FEC算法的信息和所述分割信息。
15.根据权利要求10-14中任一权利要求所述的媒体内容服务器,还包括:
-信息管理器,其被设置成在所述媒体容器文件中提供属性表,该属性表包括所述至少一个媒体源块在所述媒体容器文件内的存储位置信息。
16.根据权利要求10-15中任一权利要求所述的媒体内容服务器,还包括:
-指令管理器,其被设置成:i)生成编辑指令,所述编辑指令基于由所述元数据管理器提供的所述元数据定义对来自所述至少一个媒体源块的媒体数据和来自所述至少一个FEC存储库的FEC冗余数据的编辑,以便形成数据分组的媒体流;以及ii)把所述编辑指令组织在所述媒体容器文件中。
17.根据权利要求16所述的媒体内容服务器,其中,所述指令管理器被设置成:i)生成第一编辑指令集,所述第一编辑指令集基于由所述元数据管理器提供的所述元数据定义对来自所述至少一个媒体源块的媒体数据和来自所述至少一个FEC存储库的FEC冗余数据的编辑,以便形成具有第一FEC冗余开销水平的数据分组的第一媒体流;以及ii)生成第二编辑指令集,所述第二编辑指令集基于由所述元数据管理器提供的所述元数据定义对来自所述至少一个媒体源块的媒体数据和来自所述至少一个FEC存储库的FEC冗余数据的编辑,以便形成具有第二FEC冗余开销水平的数据分组的第二媒体流。
18.根据权利要求10-17中任一权利要求所述的媒体内容服务器,其中,由FEC编解码器生成的所述FEC冗余数据是将在媒体会话期间被使用的FEC冗余数据,所述FEC编解码器被设置成基于所述至少一个媒体源块计算可用在后会话修复程序中的后会话FEC冗余数据,所述FEC数据管理器被设置成把由所述FEC编解码器计算的所述后会话FEC冗余数据组织在所述媒体容器文件内的至少一个FEC存储库中,并且所述元数据管理器被设置成在所述媒体容器文件中提供元数据,所述元数据允许基于与所述至少一个媒体源块相关联的标识符来识别所述至少一个FEC存储库。
19.一种媒体容器文件,其包括:
-至少一个媒体源块;
-至少一个前向纠错FEC存储库,其包括基于所述至少一个媒体源块生成的FEC冗余数据;以及
-元数据,其提供所述至少一个媒体源块与所述FEC存储库之间的关联。
20.根据权利要求19所述的媒体容器文件,还包括:
-源块分割的分割信息,其被用于计算所述FEC冗余数据;以及
-可选的FEC算法的信息,其被用于计算所述FEC冗余数据。
21.根据权利要求19或20所述的媒体容器文件,还包括:
-属性表,其包括所述至少一个媒体源块在所述媒体容器文件内的存储位置信息。
22.根据权利要求19-21中任一权利要求所述的媒体容器文件,还包括:
-编辑指令,其基于所述元数据定义对来自所述至少一个媒体源块的媒体数据和来自所述至少一个FEC存储库的FEC冗余数据的编辑,以便形成数据分组的媒体流。
23.根据权利要求19-22中任一权利要求所述的媒体容器文件,其中,所述FEC冗余数据是将在媒体会话期间被使用的FEC冗余数据,并且所述媒体容器文件还包括:
-至少一个FEC存储库,其包括可用在后会话修复程序中的后会话FEC冗余数据;以及
-元数据,其允许基于与所述至少一个媒体源块相关联的标识符来识别所述至少一个FEC存储库。
24.一种媒体会话管理方法,其包括以下步骤:
-提供媒体容器文件,所述媒体容器文件包括:至少一个媒体源块;至少一个前向纠错FEC存储库,其包括基于所述至少一个媒体源块生成的FEC冗余数据;以及元数据,其提供所述至少一个媒体源块与所述FEC存储库之间的关联;
-通过基于所述元数据提取来自所述至少一个媒体源块的媒体数据和来自所述至少一个FEC存储库的FEC冗余数据来编辑数据分组;以及
-在媒体会话期间把所述数据分组传送到至少一个用户终端。
25.根据权利要求24所述的方法,其中,所述媒体容器文件还包括编辑指令,所述编辑指令定义对来自所述至少一个媒体源块的媒体数据和来自所述至少一个FEC存储库的FEC冗余数据的编辑,以便形成数据分组的媒体流,并且所述编辑步骤包括:通过基于所述元数据和所述编辑指令提取来自所述至少一个媒体源块的媒体数据和来自所述至少一个FEC存储库的FEC冗余数据来编辑所述数据分组。
26.根据权利要求25所述的方法,其中,所述编辑指令包括多个编辑指令集,其中每一个编辑指令集与已定义的FEC冗余开销相关联,所述方法包括以下步骤:
-对于所述媒体会话估计FEC冗余开销容量;以及
-基于所述估计的FEC冗余开销容量从所述多个编辑指令集当中选择编辑指令集,其中,所述编辑步骤包括:通过基于所述元数据和所述选择的编辑指令集提取来自所述至少一个媒体源块的媒体数据和来自所述至少一个FEC存储库的FEC冗余数据来编辑所述数据分组。
27.根据权利要求24-26中任一权利要求所述的方法,其中,所述媒体容器文件还包括属性表,所述属性表包括所述至少一个媒体源块在所述媒体容器文件内的存储信息,并且所述编辑步骤包括:通过基于所述元数据和所述属性表提取来自所述至少一个媒体源块的媒体数据和来自所述至少一个FEC存储库的FEC冗余数据来编辑所述数据分组。
28.根据权利要求24-27中任一权利要求所述的方法,还包括以下步骤:
-接收源自所述至少一个用户终端当中的某一用户终端的针对后会话修复程序的请求;
-基于所述请求从所述至少一个FEC存储库中提取FEC冗余数据;以及
-把所述提取的FEC冗余数据传送到所述用户终端。
29.根据权利要求28所述的方法,其中,所述媒体容器文件还包括可用于在后会话修复会话期间识别FEC冗余数据的后会话修复指令,并且所述提取步骤包括:基于所述请求和所述后会话修复指令从所述至少一个FEC存储库中提取FEC冗余数据。
30.一种媒体会话服务器,包括:
-媒体文件提供器,其用于提供媒体容器文件,所述媒体容器文件包括:至少一个媒体源块;至少一个前向纠错FEC存储库,其包括基于所述至少一个媒体源块生成的FEC冗余数据;以及元数据,其提供所述至少一个媒体源块与所述FEC存储库之间的关联;
-数据分组编辑器,其被设置成连接到所述媒体文件提供器,以便通过基于所述元数据提取来自所述至少一个媒体源块的媒体数据和来自所述至少一个FEC存储库的FEC冗余数据来编辑数据分组;以及
-传送器,其被设置成连接到所述数据分组编辑器,以便在媒体会话期间把由所述数据分组编辑器编辑的所述数据分组传送到至少一个用户终端。
31.根据权利要求30所述的媒体服务器,其中,所述媒体容器文件还包括编辑指令,所述编辑指令定义对来自所述至少一个媒体源块的媒体数据和来自所述至少一个FEC存储库的FEC冗余数据的编辑,以便形成数据分组的媒体流,并且所述数据分组编辑器被设置成通过基于所述元数据和所述编辑指令提取来自所述至少一个媒体源块的媒体数据和来自所述至少一个FEC存储库的FEC冗余数据来编辑所述数据分组。
32.根据权利要求31所述的媒体服务器,其中,所述编辑指令包括多个编辑指令集,其中每一个编辑指令集与已定义的FEC冗余开销相关联,所述媒体会话服务器还包括:
-FEC容量估计器,其被设置成对于所述媒体会话估计FEC冗余开销容量;以及
-集合选择器,其被设置成连接到所述FEC容量估计器,以便基于由所述FEC容量估计器估计的所述FEC冗余开销容量从所述多个编辑指令集当中选择编辑指令集,其中,所述数据分组编辑器被设置成通过基于所述元数据和由所述集合选择器选择的所述编辑指令集提取来自所述至少一个媒体源块的媒体数据和来自所述至少一个FEC存储库的FEC冗余数据来编辑所述数据分组。
33.根据权利要求30-32中任一权利要求所述的媒体服务器,其中,所述媒体容器文件还包括属性表,所述属性表包括所述至少一个媒体源块在所述媒体容器文件内的存储信息,并且所述数据分组编辑器被设置成通过基于所述元数据和所述属性表提取来自所述至少一个媒体源块的媒体数据和来自所述至少一个FEC存储库的FEC冗余数据来编辑所述数据分组。
34.根据权利要求30-33中任一权利要求所述的媒体服务器,还包括:
-接收器,其被设置成接收源自所述至少一个用户终端当中的某一用户终端的针对后会话修复程序的请求;
-FEC管理器,其被设置成基于由所述接收器接收到的所述请求从所述至少一个FEC存储库中提取FEC冗余数据,
其中,所述传送器被设置成连接到所述FEC管理器,以便把由所述FEC管理器提取的所述FEC冗余数据传送到所述用户终端。
35.根据权利要求34所述的媒体服务器,其中,所述媒体容器文件还包括可用于在后会话修复会话期间识别FEC冗余数据的后会话修复指令,并且所述FEC管理器被设置成基于所述请求和所述后会话修复指令从所述至少一个FEC存储库中提取FEC冗余数据。
36.一种后会话修复方法,其包括以下步骤:
-从先前接收了数据分组的用户终端接收针对前向纠错FEC冗余数据的请求,所述数据分组包括从至少一个媒体源块中提取的媒体数据,所述请求包括与所述至少一个媒体源块相关联的标识符;
-基于所述请求提供媒体容器文件,所述媒体容器文件包括:i)所述至少一个媒体源块;ii)至少一个FEC存储库,其包括基于所述至少一个媒体源块生成的FEC冗余数据;以及iii)元数据,其允许基于与所述至少一个媒体源块相关联的标识符来识别所述至少一个FEC存储库;
-基于所述接收的标识符从所述至少一个FEC存储库中提取FEC冗余数据;以及
-把所述提取的FEC冗余数据传送到所述用户终端。
37.根据权利要求36所述的方法,其中,所述媒体容器文件还包括后会话修复指令,所述后会话修复指令定义对来自所述至少一个FEC存储库的FEC冗余数据的编辑,以便形成FEC冗余数据的至少一个数据分组,并且所述提取步骤包括:基于所述接收到的标识符和所述后会话修复指令从所述至少一个FEC存储库中提取FEC冗余数据。
38.一种修复服务器,其包括:
-接收器,其用于从先前接收了数据分组的用户终端接收针对前向纠错FEC冗余数据的请求,所述数据分组包括从至少一个媒体源块中提取的媒体数据,所述请求包括与所述至少一个媒体源块相关联的标识符;
-容器文件提供器,其被设置成连接到所述接收器,以便基于由所述接收器接收到的所述请求提供媒体容器文件,所述媒体容器文件包括:i)所述至少一个媒体源块;ii)至少一个FEC存储库,其包括基于所述至少一个媒体源块生成的FEC冗余数据;以及iii)元数据,其允许基于与所述至少一个媒体源块相关联的标识符来识别所述至少一个FEC存储库;
-FEC数据提取器,其被设置成连接到所述容器文件提供器,以便基于所述接收到的标识符从所述至少一个FEC存储库中提取FEC冗余数据;以及
-传送器,其被设置成连接到所述FEC数据提取器,以便把所述提取出的FEC冗余数据传送到所述用户终端。
39.根据权利要求38所述的修复服务器,其中,所述媒体容器文件还包括后会话修复指令,所述后会话修复指令定义对来自所述至少一个FEC存储库的FEC冗余数据的编辑,以便形成FEC冗余数据的至少一个数据分组,并且所述FEC数据提取器被设置成基于所述接收到的标识符和所述后会话修复指令从所述至少一个FEC存储库中提取FEC冗余数据。
CN2007800019434A 2006-01-05 2007-01-04 媒体容器文件管理 Active CN101366287B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US74309506P 2006-01-05 2006-01-05
US60/743,095 2006-01-05
PCT/SE2007/000005 WO2007078253A2 (en) 2006-01-05 2007-01-04 Media container file management

Publications (2)

Publication Number Publication Date
CN101366287A true CN101366287A (zh) 2009-02-11
CN101366287B CN101366287B (zh) 2011-09-21

Family

ID=38228633

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2007800019631A Active CN101416526B (zh) 2006-01-05 2007-01-04 媒体容器文件管理方法和服务器
CN2007800019434A Active CN101366287B (zh) 2006-01-05 2007-01-04 媒体容器文件管理

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2007800019631A Active CN101416526B (zh) 2006-01-05 2007-01-04 媒体容器文件管理方法和服务器

Country Status (10)

Country Link
US (2) US8225164B2 (zh)
EP (3) EP1969857B1 (zh)
JP (3) JP5112333B2 (zh)
KR (2) KR101353620B1 (zh)
CN (2) CN101416526B (zh)
AT (1) ATE551787T1 (zh)
DK (1) DK1969857T3 (zh)
ES (2) ES2392461T3 (zh)
PL (2) PL1969856T3 (zh)
WO (2) WO2007078252A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110072117A (zh) * 2009-09-22 2019-07-30 高通股份有限公司 使用可伸缩编码的增强型块请求流送
CN114499993A (zh) * 2021-12-30 2022-05-13 郑州大学 一种基于单向光闸的高可靠性安全传输与控制系统及方法
US11477253B2 (en) 2006-06-09 2022-10-18 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US11743317B2 (en) 2009-09-22 2023-08-29 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling

Families Citing this family (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
AU2003277198A1 (en) 2002-10-05 2004-05-04 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
EP1665539B1 (en) 2003-10-06 2013-04-10 Digital Fountain, Inc. Soft-Decision Decoding of Multi-Stage Chain Reaction Codes
CN101019326B (zh) 2004-05-07 2013-02-27 数字方敦股份有限公司 文件下载和流系统
US7721184B2 (en) * 2004-08-11 2010-05-18 Digital Fountain, Inc. Method and apparatus for fast encoding of data symbols according to half-weight codes
WO2007078252A2 (en) * 2006-01-05 2007-07-12 Telefonaktiebolaget Lm Ericsson (Publ) Media container file management
KR101292851B1 (ko) 2006-02-13 2013-08-02 디지털 파운튼, 인크. 가변적 fec 오버헤드 및 보호 구간을 이용하는 스트리밍및 버퍼링
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
WO2007134196A2 (en) 2006-05-10 2007-11-22 Digital Fountain, Inc. Code generator and decoder using hybrid codes
EP2033128A4 (en) 2006-05-31 2012-08-15 Ibm METHOD AND SYSTEM FOR DATA TRANSFORMATION OF LOGIC OBJECTS FOR STORAGE PURPOSES
US8769311B2 (en) 2006-05-31 2014-07-01 International Business Machines Corporation Systems and methods for transformation of logical data objects for storage
US20100211690A1 (en) * 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9386064B2 (en) * 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
WO2008003094A2 (en) * 2006-06-29 2008-01-03 Digital Fountain, Inc. Efficient representation of symbol-based transformations with application to encoding and decoding of forward error correction codes
US8010863B2 (en) * 2006-07-28 2011-08-30 Thomson Licensing Method and apparatus for synchronizing multiple multimedia streams
KR100819302B1 (ko) * 2006-12-01 2008-04-02 삼성전자주식회사 광대역 무선 접속 시스템의 멀티캐스트 및 브로드캐스트서비스를 위한 데이터 송수신 방법
US8209605B2 (en) * 2006-12-13 2012-06-26 Pado Metaware Ab Method and system for facilitating the examination of documents
US20080177782A1 (en) * 2007-01-10 2008-07-24 Pado Metaware Ab Method and system for facilitating the production of documents
JP5130352B2 (ja) * 2007-05-04 2013-01-30 ノキア コーポレイション マルチメディアコンテナファイルの受信ヒントトラックに記録するメディアストリーム
US8010507B2 (en) * 2007-05-24 2011-08-30 Pado Metaware Ab Method and system for harmonization of variants of a sequential file
CN101359996B (zh) * 2007-08-02 2012-04-04 华为技术有限公司 媒体业务呈现方法及通讯系统以及相关设备
US8085767B2 (en) * 2007-08-30 2011-12-27 General Dynamics C4 Systems, Inc. Systems and methods for reliable message delivery over digital networks
JP5027305B2 (ja) 2007-09-12 2012-09-19 デジタル ファウンテン, インコーポレイテッド 信頼できる通信を可能にするためのソース識別情報の生成および伝達
US8849183B2 (en) * 2007-10-05 2014-09-30 Qualcomm Incorporated Location and time based filtering of broadcast information
JP5547649B2 (ja) * 2007-11-28 2014-07-16 ソニック アイピー, インコーポレイテッド 部分的に利用可能なマルチメディアコンテンツの再生のためのシステム及び方法
WO2009078832A1 (en) 2007-12-14 2009-06-25 Thomson Licensing Apparatus and method for simulcast over a variable bandwidth channel
EP2225840A1 (en) 2007-12-18 2010-09-08 Thomson Licensing Apparatus and method for file size estimation over broadcast networks
WO2009087563A2 (en) * 2008-01-09 2009-07-16 Nokia Corporation Systems and methods for media container file generation
US20090228716A1 (en) * 2008-02-08 2009-09-10 Pado Metawsre Ab Method and system for distributed coordination of access to digital files
US8335259B2 (en) * 2008-03-12 2012-12-18 Packetvideo Corp. System and method for reformatting digital broadcast multimedia for a mobile device
JP5169362B2 (ja) * 2008-03-24 2013-03-27 富士通株式会社 セッション情報複製方法、前記方法を実行する呼制御サーバ及び前記方法のプログラム
EP2109293A1 (en) 2008-04-11 2009-10-14 Thomson Licensing System and method for improving the file transmission reliability
JP5847577B2 (ja) * 2008-05-07 2016-01-27 デジタル ファウンテン, インコーポレイテッド より低いレベルのパケット構造から導かれる記号識別子を用いた放送チャネル上の高品質ストリーム保護
US20100023842A1 (en) * 2008-07-25 2010-01-28 Nortel Networks Limited Multisegment loss protection
US8762515B2 (en) * 2008-08-20 2014-06-24 The Boeing Company Methods and systems for collection, tracking, and display of near real time multicast data
US8726382B2 (en) * 2008-08-20 2014-05-13 The Boeing Company Methods and systems for automated detection and tracking of network attacks
US8813220B2 (en) * 2008-08-20 2014-08-19 The Boeing Company Methods and systems for internet protocol (IP) packet header collection and storage
US8407743B2 (en) * 2008-08-22 2013-03-26 Lg Electronics Inc. Method for processing additional information related to an announced service or content in an NRT service and a broadcast receiver
WO2010036166A1 (en) * 2008-09-23 2010-04-01 Telefonaktiebolaget Lm Ericsson (Publ) Pixel block processing
US20100094995A1 (en) * 2008-10-14 2010-04-15 Entropic Communications, Inc. Silent Probes in a Communication Network
US8418036B2 (en) * 2008-10-16 2013-04-09 Entropic Communications, Inc. Method and apparatus for performing forward error correction in an orthogonal frequency division multiplexed communication network
US8364657B2 (en) * 2008-10-31 2013-01-29 Disney Enterprises, Inc. System and method for providing media content
US9280778B2 (en) 2008-12-15 2016-03-08 Qualcomm Incorporated Location logging and location and time based filtering
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
JP2010213150A (ja) * 2009-03-12 2010-09-24 Nec Corp 送信装置、大容量ファイル配信システム、同システムにおけるファィル再送制御方法、再送制御プログラム
WO2010117315A1 (en) 2009-04-09 2010-10-14 Telefonaktiebolaget Lm Ericsson (Publ) Media container file management
US9298722B2 (en) 2009-07-16 2016-03-29 Novell, Inc. Optimal sequential (de)compression of digital data
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
WO2011045816A1 (en) * 2009-10-15 2011-04-21 Vishal Borker Method and apparatus for content delivery over internet
US9900150B2 (en) * 2009-10-30 2018-02-20 International Business Machines Corporation Dispersed storage camera device and method of operation
KR101786050B1 (ko) * 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 전송 방법 및 장치
KR101786051B1 (ko) * 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
KR101777347B1 (ko) * 2009-11-13 2017-09-11 삼성전자주식회사 부분화에 기초한 적응적인 스트리밍 방법 및 장치
KR101750049B1 (ko) 2009-11-13 2017-06-22 삼성전자주식회사 적응적인 스트리밍 방법 및 장치
KR101750048B1 (ko) 2009-11-13 2017-07-03 삼성전자주식회사 변속 재생 서비스 제공 방법 및 장치
KR101737084B1 (ko) * 2009-12-07 2017-05-17 삼성전자주식회사 메인 콘텐트에 다른 콘텐트를 삽입하여 스트리밍하는 방법 및 장치
US8743178B2 (en) * 2010-01-05 2014-06-03 Dolby Laboratories Licensing Corporation Multi-view video format control
KR101777348B1 (ko) * 2010-02-23 2017-09-11 삼성전자주식회사 데이터 전송 방법 및 장치와 데이터 수신 방법 및 장치
US11429486B1 (en) 2010-02-27 2022-08-30 Pure Storage, Inc. Rebuilding data via locally decodable redundancy in a vast storage network
US9136981B2 (en) * 2010-03-03 2015-09-15 Qualcomm Incorporated Block aggregation of objects in a communication system
KR20110105710A (ko) * 2010-03-19 2011-09-27 삼성전자주식회사 복수의 챕터를 포함하는 콘텐트를 적응적으로 스트리밍하는 방법 및 장치
JP5174076B2 (ja) * 2010-03-30 2013-04-03 株式会社東芝 計算処理装置、受信処理装置、受信処理方法及び受信処理プログラム
KR101837687B1 (ko) 2010-06-04 2018-03-12 삼성전자주식회사 콘텐트의 품질을 결정하는 복수의 인자에 기초한 적응적인 스트리밍 방법 및 장치
US9049497B2 (en) 2010-06-29 2015-06-02 Qualcomm Incorporated Signaling random access points for streaming video data
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
US9274977B2 (en) * 2010-11-01 2016-03-01 International Business Machines Corporation Storing data integrity information utilizing dispersed storage
TW201222284A (en) * 2010-11-16 2012-06-01 Hon Hai Prec Ind Co Ltd Method for generating media file list
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US9485108B2 (en) * 2011-03-14 2016-11-01 Qualcomm Incorporated System and apparatus for using multichannel file delivery over unidirectional transport (“FLUTE”) protocol for delivering different classes of files in a broadcast network
CN102739417B (zh) * 2011-04-01 2014-08-20 华为技术有限公司 流媒体业务处理系统及故障检测方法
WO2012148388A1 (en) * 2011-04-26 2012-11-01 Research In Motion Limited Representation grouping for http streaming
US9451401B2 (en) 2011-05-27 2016-09-20 Qualcomm Incorporated Application transport level location filtering of internet protocol multicast content delivery
US9087048B2 (en) 2011-06-10 2015-07-21 Linkedin Corporation Method of and system for validating a fact checking system
US8768782B1 (en) 2011-06-10 2014-07-01 Linkedin Corporation Optimized cloud computing fact checking
KR20120138604A (ko) * 2011-06-14 2012-12-26 삼성전자주식회사 멀티미디어 시스템에서 복합 미디어 컨텐츠를 송수신하는 방법 및 장치
US9590814B2 (en) * 2011-08-01 2017-03-07 Qualcomm Incorporated Method and apparatus for transport of dynamic adaptive streaming over HTTP (DASH) initialization segment description fragments as user service description fragments
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
KR101967884B1 (ko) * 2012-07-12 2019-04-12 삼성전자주식회사 방송 및 통신 시스템에서 패킷 송/수신 장치 및 방법
SG11201500229YA (en) * 2012-08-15 2015-03-30 Sony Corp Broadband delivery of personalization information for advanced tv services
US9483159B2 (en) 2012-12-12 2016-11-01 Linkedin Corporation Fact checking graphical user interface including fact checking icons
KR102127685B1 (ko) * 2013-04-17 2020-06-29 삼성전자주식회사 순방향 오류 정정 패킷 송수신 장치 및 방법
US9781181B2 (en) * 2013-06-17 2017-10-03 Qualcomm Incorporated Multiple file delivery over unidirectional transport protocol sessions for a service
RU2652099C2 (ru) * 2013-07-05 2018-04-25 Сони Корпорейшн Устройство передачи, способ передачи, устройство приема и способ приема
US20150095320A1 (en) 2013-09-27 2015-04-02 Trooclick France Apparatus, systems and methods for scoring the reliability of online information
US10169424B2 (en) 2013-09-27 2019-01-01 Lucas J. Myslinski Apparatus, systems and methods for scoring and distributing the reliability of online information
WO2015126223A1 (en) * 2014-02-24 2015-08-27 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
US9972055B2 (en) 2014-02-28 2018-05-15 Lucas J. Myslinski Fact checking method and system utilizing social networking information
US9643722B1 (en) 2014-02-28 2017-05-09 Lucas J. Myslinski Drone device security system
US8990234B1 (en) 2014-02-28 2015-03-24 Lucas J. Myslinski Efficient fact checking method and system
DE102014102898A1 (de) * 2014-03-05 2015-09-10 Technische Universität München Vorrichtung und Verfahren zur Datenübertragung
JP6181876B2 (ja) * 2014-06-25 2017-08-16 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd マルチメディア情報を管理する方法、装置、及び無人航空機
US9455750B2 (en) 2014-07-28 2016-09-27 Qualcomm Incorporated Source block size selection
US9189514B1 (en) 2014-09-04 2015-11-17 Lucas J. Myslinski Optimized fact checking method and system
EP3234775A4 (en) * 2014-12-19 2018-11-07 Nokia Technologies Oy Media encapsulating and decapsulating
US10129308B2 (en) * 2015-01-08 2018-11-13 Qualcomm Incorporated Session description information for over-the-air broadcast media data
EP3254461A4 (en) * 2015-02-04 2018-08-29 Telefonaktiebolaget LM Ericsson (publ) Drap identification and decoding
US9787430B2 (en) * 2015-05-01 2017-10-10 Qualcomm Incorporated Dynamic setting of FEC in eMBMS video streaming
US20160323063A1 (en) * 2015-05-01 2016-11-03 Qualcomm Incorporated Bundled Forward Error Correction (FEC) for Multiple Sequenced Flows
EP3306937A1 (en) 2016-10-05 2018-04-11 Thomson Licensing Method and apparatus for encoding and decoding a video
US11785094B2 (en) 2016-11-08 2023-10-10 Pearson Education, Inc. Secure content delivery computer system
US10785311B2 (en) * 2016-11-08 2020-09-22 Pearson Education, Inc. Secure cloud-managed content delivery computer ecosystem
US11604858B2 (en) 2017-02-13 2023-03-14 Tunego, Inc. Media content management
US11250111B2 (en) 2017-02-13 2022-02-15 Tunego, Inc. Tokenized media content management
US10860694B2 (en) 2017-02-13 2020-12-08 Tunego, Inc. Systems and methods for content metadata management
US11256788B2 (en) 2017-02-13 2022-02-22 Tunego, Inc. Tokenized media content management
US11687628B2 (en) 2017-02-13 2023-06-27 Tunego, Inc. Non-fungible token (NFT) authenticity protocol with fraud deterrent
CN107967837A (zh) * 2017-05-31 2018-04-27 常州信息职业技术学院 一种基于容器的实训平台及其实施方法
US11392637B2 (en) 2019-07-10 2022-07-19 Tunego, Inc. Systems and methods for content metadata management
US11385923B2 (en) * 2019-07-16 2022-07-12 International Business Machines Corporation Container-based virtualization system extending kernel functionality using kernel modules compiled by a compiling container and loaded by an application container
AU2021329831A1 (en) * 2020-08-20 2023-03-09 Pearson Education, Inc. Secure content delivery computer system

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3571918B2 (ja) * 1997-06-04 2004-09-29 株式会社東芝 符号伝送方法、送信装置、受信装置および通信システム
US6516435B1 (en) 1997-06-04 2003-02-04 Kabushiki Kaisha Toshiba Code transmission scheme for communication system using error correcting codes
JPH11196072A (ja) * 1997-12-30 1999-07-21 Sony Corp 誤り訂正符号化方法及びその装置並びにデータ伝送方法
US6134243A (en) * 1998-01-15 2000-10-17 Apple Computer, Inc. Method and apparatus for media data transmission
JP2000078197A (ja) * 1998-09-03 2000-03-14 Toshiba Corp 通信ノード及びパケット転送方法
US6754277B1 (en) * 1998-10-06 2004-06-22 Texas Instruments Incorporated Error protection for compressed video
JP2000267699A (ja) * 1999-03-19 2000-09-29 Nippon Telegr & Teleph Corp <Ntt> 音響信号符号化方法および装置、そのプログラム記録媒体、および音響信号復号装置
JP2001086153A (ja) * 1999-09-09 2001-03-30 Canon Inc データ通信装置、データ通信システム、データ通信方法及び記憶媒体
US6732314B1 (en) * 2000-05-26 2004-05-04 3Com Corporation Method and apparatus for L2TP forward error correction
US6990151B2 (en) * 2001-03-05 2006-01-24 Intervideo, Inc. Systems and methods for enhanced error concealment in a video decoder
US7111221B2 (en) * 2001-04-02 2006-09-19 Koninklijke Philips Electronics N.V. Digital transmission system for an enhanced ATSC 8-VSB system
KR100469721B1 (ko) * 2001-06-16 2005-02-02 삼성전자주식회사 고속순방향패킷전송 방식의 이동통신시스템에서의 사용자데이터 전송방법 및 장치
JP2003152752A (ja) * 2001-08-29 2003-05-23 Matsushita Electric Ind Co Ltd データ送受信方法
JP2004005934A (ja) 2002-04-05 2004-01-08 Matsushita Electric Ind Co Ltd 記録媒体、記録装置、再生装置、記録方法、再生方法、及びプログラム
CN1468002A (zh) * 2002-06-27 2004-01-14 上海汉唐科技有限公司 基于因特网的流媒体压缩、传输与存贮系统
JP2004088766A (ja) 2002-07-22 2004-03-18 Matsushita Electric Ind Co Ltd データ管理装置及びデータ管理システム
AU2003277198A1 (en) * 2002-10-05 2004-05-04 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
EP1554812B1 (en) * 2002-10-15 2006-12-06 Koninklijke Philips Electronics N.V. System and method for providing error recovery for streaming fgs encoded video over an ip network
JP4250477B2 (ja) 2003-07-15 2009-04-08 キヤノン株式会社 メディアデータ記録方法、メディアデータ記録装置、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体
GB2406488A (en) * 2003-09-29 2005-03-30 Nokia Corp Sigalling in a communications network
GB2406483A (en) * 2003-09-29 2005-03-30 Nokia Corp Burst transmission
SE0302778D0 (sv) 2003-10-17 2003-10-17 Ericsson Telefon Ab L M Container format for multimedia presentations
US20050102371A1 (en) * 2003-11-07 2005-05-12 Emre Aksu Streaming from a server to a client
ATE541375T1 (de) * 2003-11-12 2012-01-15 Koninkl Philips Electronics Nv Datenpaketübertragung
WO2005074291A1 (ja) * 2004-01-28 2005-08-11 Nec Corporation コンテンツの符号化、配信及び受信方法と装置とシステムならびにプログラム
US8296436B2 (en) * 2004-03-22 2012-10-23 Nokia Corporation Conveying parameters for broadcast/multicast sessions via a communication protocol
US20050216472A1 (en) * 2004-03-29 2005-09-29 David Leon Efficient multicast/broadcast distribution of formatted data
GB2415873A (en) * 2004-06-30 2006-01-04 Nokia Corp Erasure information generation in Forward Error Correction decoding
EP1832115A1 (en) * 2004-12-20 2007-09-12 Freescale Semiconductor Inc. Broadcasting of textual and multimedia information
US20060291475A1 (en) * 2005-06-28 2006-12-28 Noam Cohen Selective forward error correction
US20070002852A1 (en) * 2005-06-30 2007-01-04 Nokia Corporation Fixed interleaving length for MPE-FEC
US20070186005A1 (en) * 2005-09-01 2007-08-09 Nokia Corporation Method to embedding SVG content into ISO base media file format for progressive downloading and streaming of rich media content
WO2007078252A2 (en) * 2006-01-05 2007-07-12 Telefonaktiebolaget Lm Ericsson (Publ) Media container file management
WO2009087563A2 (en) * 2008-01-09 2009-07-16 Nokia Corporation Systems and methods for media container file generation
US8787153B2 (en) * 2008-02-10 2014-07-22 Cisco Technology, Inc. Forward error correction based data recovery with path diversity
US7940777B2 (en) * 2008-02-26 2011-05-10 Cisco Technology, Inc. Loss-free packet networks

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11477253B2 (en) 2006-06-09 2022-10-18 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
CN110072117A (zh) * 2009-09-22 2019-07-30 高通股份有限公司 使用可伸缩编码的增强型块请求流送
CN110072117B (zh) * 2009-09-22 2022-03-08 高通股份有限公司 使用可伸缩编码的增强型块请求流送
US11743317B2 (en) 2009-09-22 2023-08-29 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US11770432B2 (en) 2009-09-22 2023-09-26 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
CN114499993A (zh) * 2021-12-30 2022-05-13 郑州大学 一种基于单向光闸的高可靠性安全传输与控制系统及方法

Also Published As

Publication number Publication date
WO2007078252A2 (en) 2007-07-12
KR101353620B1 (ko) 2014-01-20
WO2007078253A2 (en) 2007-07-12
JP2009522921A (ja) 2009-06-11
CN101416526B (zh) 2013-06-19
US20090089535A1 (en) 2009-04-02
PL1969856T3 (pl) 2013-01-31
EP1969857A2 (en) 2008-09-17
JP2012199974A (ja) 2012-10-18
KR20080083299A (ko) 2008-09-17
CN101416526A (zh) 2009-04-22
WO2007078253A3 (en) 2007-08-30
US8185794B2 (en) 2012-05-22
JP5542872B2 (ja) 2014-07-09
US8225164B2 (en) 2012-07-17
EP2421265A1 (en) 2012-02-22
EP1969856A2 (en) 2008-09-17
EP1969857B1 (en) 2012-03-28
PL1969857T3 (pl) 2012-10-31
DK1969857T3 (da) 2012-07-16
JP2009522922A (ja) 2009-06-11
ES2383230T3 (es) 2012-06-19
US20100023525A1 (en) 2010-01-28
ATE551787T1 (de) 2012-04-15
KR20080081954A (ko) 2008-09-10
KR101274422B1 (ko) 2013-06-14
EP1969856B1 (en) 2012-08-15
WO2007078252A3 (en) 2008-11-27
EP2421265B1 (en) 2013-10-02
JP5112333B2 (ja) 2013-01-09
ES2392461T3 (es) 2012-12-10
CN101366287B (zh) 2011-09-21

Similar Documents

Publication Publication Date Title
CN101366287B (zh) 媒体容器文件管理
JP6445527B2 (ja) ブロードキャスト/マルチキャスト対応ネットワークを通じたオブジェクトのフローの配信のための方法
US20090177942A1 (en) Systems and methods for media container file generation
KR100742244B1 (ko) 세션들을 고지하는 방법
US7917644B2 (en) Extensions to rich media container format for use by mobile broadcast/multicast streaming servers
EP1897326B1 (en) Transport mechanisms for dynamic rich media scenes
US20070186005A1 (en) Method to embedding SVG content into ISO base media file format for progressive downloading and streaming of rich media content
KR20160025603A (ko) 방송 신호 송/수신 처리 방법 및 장치
KR100939030B1 (ko) 디지털 통신 시스템들을 통한 보조 콘텐츠 핸들링
CN104221315A (zh) 通用对象传递及基于模板的文件传递
KR20070114383A (ko) 강화된 전자 서비스 가이드 컨테이너
Standard A/153 Part 1, ATSC Mobile DTV System (A/153 Part 1: 2013)
Atzori et al. Transmission of hypertextual information using MPEG-2 private data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant