CN101416526B - 媒体容器文件管理方法和服务器 - Google Patents

媒体容器文件管理方法和服务器 Download PDF

Info

Publication number
CN101416526B
CN101416526B CN2007800019631A CN200780001963A CN101416526B CN 101416526 B CN101416526 B CN 101416526B CN 2007800019631 A CN2007800019631 A CN 2007800019631A CN 200780001963 A CN200780001963 A CN 200780001963A CN 101416526 B CN101416526 B CN 101416526B
Authority
CN
China
Prior art keywords
media
fec
source
piece
information
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.)
Active
Application number
CN2007800019631A
Other languages
English (en)
Other versions
CN101416526A (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 CN101416526A publication Critical patent/CN101416526A/zh
Application granted granted Critical
Publication of CN101416526B publication Critical patent/CN101416526B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/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
    • 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)算法对所述源符号进行处理以便生成FEC冗余数据(70)。除了所述源块(20;22;24)之外,该源块分割的信息(30;32;34)被包括在所述文件(1)中。该容器文件(1)还包括元数据(40),其提供所述媒体源块(20;22;24)与所述分割信息(30;32;34)之间的关联。在计算FEC数据之前,该容器文件(1)可以由媒体服务器(200)在媒体会话中采用来在无需大量数据处理的情况下编辑将被传送到发出请求的客户端(400;410;420)的媒体数据分组。

Description

媒体容器文件管理方法和服务器
技术领域
本发明总体涉及媒体和多媒体管理,并且特别涉及产生及使用包含这种媒体和多媒体内容的媒体容器文件。 
背景技术
在最近的几年内,通过不同的网络向客户端提供媒体和多媒体的情况已经大大增多。现在有许多用户采用因特网从媒体服务器访问及下载例如具有视频和音频流或文件的形式的媒体。这种媒体提供也已经出现在基于无线电的移动通信网络中。当前人们对于多媒体或TV内容使用移动网络非常感兴趣。这在本领域中常常被称作移动TV。所述移动网络中的这种媒体提供当前主要可以通过单点传送传输来获得。但是,针对移动TV的广播/多点传送递送方法当前仍在开发中。这种标准化努力的例子有3GPP多媒体广播/多点传送服务(MBMS)以及欧洲电信标准协会(ETSI)手持式数字视频广播(DVB-H)。 
为了符合针对在不同的有线和无线通信网络中提供媒体的上述日益增长的需求,正在开发可以在无线网络中用于向发出请求的客户端提供媒体内容的流传输和下载服务器。通常的趋势是透明且灵活的流传输/下载服务器,这意味着所述服务器应当基本地包括用来执行不同的媒体管理功能的多个“标准”模块或程序。随后,输入媒体内容与关于所述模块/程序应当如何处理所述内容的指令一起提供到这些功能。这样与在所述服务器中使用固定的预先定义的媒体处理相比将提供更为灵活的媒体供应。 
因此,需要一种可以与具有透明且灵活的流传输/下载服务器的趋势相符合地使用的媒体容器格式。 
发明内容
本发明克服了现有技术设置的上述和其他缺陷。 
本发明的一般目的是提供一种可以被用在多媒体会话中的媒体容器文件。 
如所附权利要求书所限定的那样,本发明满足了上述和其他目的。 
简而言之,本发明涉及生成及使用媒体容器文件,并且涉及用于生成及使用这种容器文件的设备。 
生成媒体容器文件涉及提供至少一个媒体源文件,其包括将被传送到发出请求的客户端并且将在所述客户端处被呈现的媒体或多媒体数据。该容器文件被视为包括一个或多个媒体源块,这取决于该容器文件的大小。根据本发明,通过把所述源块分割成各源符号或部分来处理至少一个所述媒体源块,其中使得所述源符号或部分的尺寸允许其被FEC编解码器处理,以便基于所述源块计算FEC冗余数据或符号。生成所选择的将被用于所述媒体源块的块分割的信息,并且将其与所述源块的实际媒体内容一起存储在所述容器文件中。提供元数据并且将其包括在所述容器文件中,以便提供媒体源块与其分割信息之间的关联。 
所得到的容器文件可以由媒体服务器在媒体会话期间采用,以便利用该容器文件中的所述分割信息来计算FEC数据,并且编辑包括来自该文件的媒体数据和所计算的FEC数据的数据分组。通过对所述媒体源块进行预处理(即基于不同的FEC算法对其进行分割)并且生成被包括在本发明的容器文件中的FEC信息,允许所述媒体服务器以简单的在计算方面并不昂贵的方式计算FEC数据并且把所述媒体数据和FEC数据插入到将被传送到发出请求的客户端的数据分组中,而无需进行大量数据处理以及计算需求高的块分割。 
在一个优选实施例中,所述容器文件还包括指令,所述媒体服务器在计算所述FEC数据时以及在编辑包含来自所述容器文件的媒体和FEC数据的数据分组时使用并且遵循所述指令。在这种情况下,所述容器文件包括能够按照可靠的方式成功地把所述媒体数据转送到所述客户端所需要的所有媒体内容和指令。 
附图说明
可以参照结合附图进行的以下详细描述来更好地理解本发明及其其他目的和优点,其中: 
图1是示出了根据本发明的一方面的生成媒体容器文件的方法的流程图; 
图2是更加详细地示出了图1的媒体块提供步骤的流程图; 
图3是示出了图1的文件生成方法的附加步骤的流程图; 
图4是根据本发明的另一方面的媒体容器文件的示意性总览; 
图5是示出了根据本发明的另一方面的媒体会话管理方法的流程图; 
图6是示出了图5的会话管理方法的附加步骤的流程图; 
图7是示出了图5的会话管理方法的附加步骤的流程图; 
图8是示出了对采用根据本发明的媒体容器文件的不同媒体流进行编辑的示意图; 
图9是根据本发明的包括管理媒体容器文件的媒体服务器的通信网络的总览; 
图10是根据本发明的另一方面的内容服务器的示意性方框图; 
图11是更加详细地示出了图10的媒体块提供器的一个实施例的示意性方框图; 
图12是更加详细地示出了图10的容器文件产生器的一个实施例的示意性方框图;以及 
图13是根据本发明的另一方面的媒体会话服务器的示意性方框图。 
具体实施方式
在附图中,相同的附图标记将被用于相应的或类似的元件。 
本发明总体上涉及媒体和多媒体数据管理,并且特别涉及产生及利用与基于无线电的通信网络中的媒体服务器(比如流传输或下载服务器)有关的容器文件。本发明的这些媒体容器文件包括将要传送到一个(或多个)发出请求的客户端的媒体内容以及被用来在所述媒体服务器中执行媒体处理和传输的指令。根据本发明,所述媒体内容被预处理,并且其以允许媒体服务器在媒体会话期间进行高效管理的形式存在。根据本发明的一个特定方面,对原始媒体内容进行了预处理,以便在所述媒体服务器处简化对所述媒体会话提供可靠性保护。因此,所述内容的格式允许从可以在所述媒体会话中被使用的媒体内容计算可靠性保护数据,以便增大成功递送到发出请求的客户端的机会。 
根据本发明的一个优选实施例,对所述媒体内容执行预处理,并且将所述预处理适配成在所述媒体服务器处计算将被包括在所传送的媒体流中的前向纠错(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中提供多于两个媒体源块,则把它们视为相同媒体内容文件或流(例如视频流)以及/或者不同的媒体文件或流(例如视频流的几个媒体源块以及相应的相关联的音频流的几个媒体块)的单独媒体块。 
在该步骤S1中可以提供相关联的媒体内容。例如,如果所述媒体内容包括音乐视频,则至少一个所提供的媒体块优选地包括视频数据,并且至少一个媒体块包含相应的音频数据。但是本发明预期可以在多个可能的媒体版本中提供相同媒体内容。例如,所述音乐视频的视频部分可以被提供在多个预先编码的视频版本中,其中每一个所述视频版本被适配成与给定的带宽或者比特率水平或区间相结合地使用。因此在步骤S1中可以提供给定媒体内容的多个版本。在这种情况下,每一个所述媒体版本可以被视为包括一个或多个媒体源块。虽然可以提供多个媒体版本并且将其组织到所述容器文件中,但是在所述媒体会话期间的给定时刻通常仅仅使用一个所述版本,但是例如基于可用带宽水平的改变,在所述会话期间,在各媒体版本之间可以有切换。 
在下一个步骤S2中,把所提供的媒体源块分割成源符号或者所谓的组块(chunk)。这些符号通常包括几百个字节。该块分割是至少部分地基于将被媒体服务器用来为当前媒体源块计算FEC符号的FEC编解码器/算法的信息来执行的。如前所述,基于Reed-Solomon的FEC编解码器基于所期望的保护开销尺寸(即FEC冗余符号的数目)而需要所述源块分割中的改变。因此,实际的FEC编解码器或算法以及/或者所需的FEC保护开销可能会影响所述媒体源分割以及媒体符号尺寸。此外,在步骤S2的该源块分割中可以使用由媒体服务器使用来传送所述媒体内容的其他参数,比如数据分组的尺寸,其中所述数据分组比如是用户数据报协议(UDP)分组。在这种情况下,可以限制所述源符号的尺寸,从而可以把至少一个完整源符号置于UDP分组中。 
该分割步骤S2不一定意味着把所述媒体源块物理地划分成被存储在所述容器文件中的单独位置处的单独源符号。与此相对,在大多数实际 的实现方式中,所述媒体源文件在所述容器文件中被存储为一个连续数据序列,但是被视为或者被虚拟地划分成媒体源块,所述媒体源块又被虚拟地分割成源符号。 
在下一个步骤S3中生成所述分割的信息。该信息基本上表明所述数据序列的哪些部分属于所述媒体源块的哪一个源符号。所述分割信息可以被组织到一个表中,该表表明媒体源块Z的比特X到比特Y构成源符号。可替换地,所述信息可以包括每一个源符号的以字节计的尺寸。于是在知道媒体源块在媒体文件中的起始位置的情况下有可能确定属于不同源符号的数据部分。 
本发明预期可以根据至少两种不同的分割操作来分割给定的媒体源块。例如,第一种此类块分割可以被适配于第一FEC算法,而所采用的第二种分割则被适配于第二FEC算法。此外,所述块分割还可以依赖于在所述媒体服务器处实际所期望的FEC开销。在这种情况下,可以在文件产生时确定针对不同的FEC开销所设计的不同块分割。所述分割信息于是包括适用于给定媒体源块的这些替换分割的信息。 
在步骤S4中把所分割的媒体块和所生成的分割信息组织到所述媒体容器文件中。因此,所述媒体内容和所述信息作为所述容器文件的各部分被插入。此外,被组织在所述容器文件中的所述至少一个媒体块优选地共同包括将在媒体会话期间被传送到客户端的所有媒体内容数据。换句话说,所述容器文件包含用于整个多媒体呈现的媒体数据。 
下一个步骤S5提供将被包括在所述容器文件中的元数据。该元数据提供在步骤S4中被添加到所述容器文件中的媒体源块与在步骤S4中被存储在所述文件中的分割之间的关联。这种关联可以具有从所述媒体源块在所述文件内的存储位置到所述分割信息的存储位置的指针的形式,或者反之亦然。因此,该元数据允许在给出特定媒体源块或者其在所述容器文件内的位置的情况下识别出相关联的分割信息或者该信息在所述文件内的存储位置。在所述媒体源块和/或相关联的信息被存储在所述容器文件中的预先定义的“标准”或“默认”位置处的情况下,取代采用指针,所述元数据可以包括所述媒体源块和/或相关联的信息的标识符。随后使用该元数据来识别出所述文件中的所述媒体源块和所述分割的其中之一,并且基于该识别出的位置可以识别出所述媒体源块和所述信息当中的另一个。 
在本发明的一种典型的实现方式中,在步骤S1中提供多个媒体源块。在这种情况下,优选地对于每一个这种媒体源块或者至少对于多组媒体源块重复步骤S2到S5,这由线L1示意性地示出。因此,如果在步骤S1中把N个媒体源块组织到所述容器文件中,则优选地把步骤S2到S5重复N次,这意味着除了所述源块之外还把N个分割信息和元数据版本组织在所述容器文件中。 
所述方法随后结束。 
如前所述,本发明的一个目的是提供一种媒体容器文件,其除了实际的媒体数据之外还包括将在计算FEC数据时被使用的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]属于第二源块。 
在下一个步骤S12中提供特定媒体源文件划分的信息。当所述媒体服务器将要提供媒体数据分组流和/或计算FEC数据时,该信息对所述媒体服务器可能具有相关性。 
所述方法随后继续到图1的步骤S2,在该步骤中把所述一个(或多个)媒体源块分割成媒体源块。 
图3是示出了图1的容器文件生成方法的附加步骤的流程图。该方法从图1的步骤S5继续。在下一个步骤S20中,提供作为计算所述块分割的基础的FEC算法或方案的信息。该信息可以具有特定算法名称或者某种其他描述性信息的形式。在一种替换方法中,每一种可用的FEC算法都具有预先定义的标识符。因此,随后在步骤S20中可以仅仅提供该FEC标识符。在一种典型的实现方式中采用了单一FEC编解码器的信息来分割媒体源文件的所有媒体源块。但是实际上有可能在对给定媒体源 文件的不同媒体源块或者对不同源文件的媒体源块进行分割时使用不同的FEC编解码器。因此,所述FEC信息可以表明利用了单一FEC编解码器分割了所述容器文件内的所有块以允许计算FEC符号,或者标识出对于哪一个源块或者源块组使用了不同的FEC编解码器。在本上下文中,实际上有可能基于不同的潜在目标FEC编解码器和/或FEC开销来分割给定源块。在这种情况下,优选地在步骤S20中提供这些不同FEC编解码器的信息。 
在下一个步骤S21中优选地提供属性表。如果在所述容器文件中包括多于一个媒体源文件/流,则该属性表是特别有用的,但是在仅仅包含单一媒体源文件时也可以有利地使用该属性表。该文件属性表通常包含所述媒体源文件的媒体类型的信息,优选地是所述媒体的多目的因特网邮件扩展(MIME)类型。因此,该MIME信息可以表明所述媒体是音频媒体、视频媒体或者某种其他媒体类型,其中包括同步多媒体集成语言(SMIL)。该MIME类型向所述媒体服务器提供关于什么类型的数据被实际包括在所述容器文件中的信息。所述属性表还可以包括被用于所述媒体数据的任何编码方案的信息,其中包括gzip。在所述属性表中还可以包括尺寸信息。该尺寸信息可以声明每一个媒体源文件的以字节或符号数计算的总尺寸、所述一个(或多个)源文件的媒体源块的对应尺寸(基本上对应于在图2的步骤S12中提供的所述划分信息)、对应于将在传送数据时被使用的数据分组的最大或目标有效载荷尺寸、媒体源符号(基本上对应于在图1的步骤S3中生成的所述分割信息)和/或FEC符号的(以字节计的)尺寸等等。对于被包括在所述容器文件中的每一个媒体源文件,在所述属性表中优选地包括文件名或文件标识符。 
优选地在所述属性表中找到关于每一个媒体源文件在所述容器文件中的实际存储位置的信息。该位置信息可以表明该源文件的第一媒体源块的起始位置,并且随后在所述容器文件中的该位置之后找到剩余的媒体块。在图1的步骤S5中生成的提供所述容器文件中的媒体源块与分割信息之间的关联的元数据也可以被包括在所述属性表中。相应地,关于所采用的块分割以及针对冗余数据计算的FEC编解码器的信息优选地被包括在该表中。 
因此,所述容器文件的属性表可以被用作用于媒体源的单一信息源,以便定位相关的媒体源文件/块以及可用于在媒体会话期间编辑媒体分 组的其他信息。 
在下一个步骤S22中生成FEC计算指令。这些指令被媒体服务器使用来基于所述媒体源块的所述元数据和分割数据为这些源块计算FEC数据。因此,这些指令可以被视为提供关于如何把不同源块的媒体源符号输入到FEC编解码器(其优选地是基于所述FEC信息定义的)以便生成FEC符号的指令的提示或元数据,其中所述FEC符号将在媒体会话期间与所述媒体内容一起被用来提供可靠性保护。优选地与所述分割信息和所述元数据(其允许识别所述分割信息)一起使用所述指令,以便对于至少其中一个所述媒体源块计算FEC符号的存储库。 
在一种优选的实现方式中,所述FEC计算指令定义为所述至少一个媒体源块计算一组FEC冗余符号。该FEC符号组可以包括一个(但是优选地包括多个)基于所述媒体源块的源符号计算的FEC符号。 
所述FEC计算指令可以包括针对给定媒体源块的多条替换指令。例如,在将要针对基于所述FEC算法信息确定的FEC数据计算使用第一FEC编解码器时采用第一替换FEC指令。相应地,第二替换FEC指令定义利用第二FEC编解码器计算FEC数据。替换地或附加地,所述替换FEC指令可以被适配于不同的FEC开销,从而基本上取决于可允许的最大(或最小)FEC开销规定计算不同数目的FEC符号。 
下一个步骤S23生成供媒体服务器使用的编辑指令。这些指令被用来定义对来自所述媒体源块的媒体数据和基于所述一条(或多条)FEC计算指令计算的FEC冗余数据的编辑,以便形成数据分组的媒体流。因此,这些指令可以被视为提示或元数据,其提供关于如何使用被包括在所述容器文件中的数据以及从中计算的数据来组成具有可靠性保护的可传送媒体分组流的指令。因此,这些指令被用来把元数据和FEC数据一起编辑成适当的分组,以供在媒体会话期间传输到发出请求的客户端。因此,所述指令将描述媒体源数据和FEC数据的服务器侧传输顺序。但是应当注意到,所述指令通常不包括时间调度信息、目标/源地址或端口的信息或者其他特定于会话的信息。这意味着所述容器文件以及其中的编辑指令对于特定会话来说是透明的,并且实际上可以被媒体服务器用于与不同接收客户端的多个不同会话,但是也可以被不同媒体服务器使用。 
所述编辑指令可以应用于所述媒体源块的子集,这意味着必须由媒体 服务器在会话期间读取并使用多条这种指令。可替换地,编辑指令包括对于单一媒体源文件或者实际上对于所述容器文件中的所有媒体源文件所需要的所有信息。 
在步骤S23中可以实际生成多于一个编辑指令集。在这种情况下,可以提供不同的替换指令,从而媒体服务器可以选择确定对于特定媒体会话采用哪一个特定指令集。例如,在采用单一传输信道以用于数据传输时,第一编辑指令可以被用于描述媒体源块和FEC数据的传输顺序。如果有多条信道可用(意味着可以并行地而不是顺序地传送数据),则第二指令可以被应用于相同的媒体源块和FEC数据,但是其提供编辑和传输顺序信息。因此,可以使用几条编辑指令来提供针对不同传输信道条件的替换传输会话。 
按照类似的方式,对于不同的可靠性保护开销可以包括替换的编辑指令。例如,第一编辑指令被用于针对第一最大保护开销水平描述媒体源块和FEC数据的编辑和传输顺序,而第二指令则被用于具有第二不同FEC开销水平的相同媒体源块。如果该第二FEC开销水平高于(低于)第一水平,则可以向给定数量的媒体源符号添加更多的FEC符号或其在本领域中也被称作的奇偶符号。 
下一个步骤S24组织在先前的步骤S20到S23以及优选地还有图2的步骤S12中提供和生成的信息、表和指令到容器文件中。所述容器文件于是将包含由媒体服务器识别、计算及组成用于传输到发出请求的一个(或多个)客户端的数据所需要的“原始”媒体数据、信息、指令和元数据的完整集合。所述方法随后结束。 
图4是根据本发明的媒体容器文件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还包括分割信息集30、32、34,其包含出于促进计算FEC冗余数据的目的而被应用于所述媒体源块20、22、24的所述源符号分割的预先生成的信息,其中将把所述FEC冗余数据与所述媒体数据相结合地使用来提供 可靠性保护。在一种优选的实现方式中,每一个媒体源块包括专用分割信息集30、32、34。在这种情况下,该图中的信息集30、32、34的数目N是 N ≥ Σ i = 1 M Q i .
本发明的关联元数据40也被提供在所述容器文件1中,所述关联元数据40提供所述分割信息30、32、34与所述分割信息30、32、34所适用的所述一个(或多个)媒体源块20、22、24之间的关联。图4示出了该元数据40在文件1中的多个不同的可能位置。在第一实施例中,与所述一个(或多个)相关联的媒体源块20、22、24相结合地存储所述元数据。因此,通过识别出所述文件中的媒体源块20、22、24还允许识别出该源块20、22、24的对应元数据40。替换地或附加地,把所述元数据40与对应的分割信息30、32、34一起存储。因此,每一个信息集30、32、34具有相关的关联元数据40,其允许识别出为之应用所述特定分割信息30、32、34的一个(或多个)相关媒体源块20、22、24。如果所述容器文件1包括优选的文件属性表60,则所述关联元数据40可以被提供在该属性表中。在这种情况下,媒体服务器可以仅仅调查该文件属性表60以便识别出将在媒体会话期间使用的相关媒体数据和分割数据的位置。在另一种可能的实现方式中,与所述容器文件1的不同提示轨道50、52、54相结合地存储所述关联元数据40。这些提示轨道包括将由媒体服务器用于媒体会话的FEC计算和/或编辑指令。在这种情况下,每一条提示轨道50、52、54仅仅需要包含可以由该提示轨道50、52、54中的指令实现的媒体会话所需要的元数据40。多个此类可能的存储位置的组合也是可能的,并且落在本发明的范围之内。 
根据本发明的一个特定实施例,所述媒体容器文件1是交织的单元,其针对循序(progressive)下载或流传输而被优化。从而可以通过到发出请求的客户端的所谓的循序下载或流传输来传送及下载整个多媒体呈现。 
ISO基础媒体文件格式[1,2,3]可以有利地被采用作为本发明的媒体容器文件的文件格式。替换的容器文件格式包括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方案的信息和文件划分信息一起存储在所述ISO基础媒体文件中。 
促进文件传输的下一步是使所述ISO基础媒体文件还包含定义利用所述分割信息从所述媒体源块计算FEC符号的指令。此外,所述ISO基础媒体文件优选地还包括用于多点传送/广播服务器的指令,其(利用会话描述协议)描述所述ALC/FLUTE会话,并且描述如何把各项目封装到ALC或FLUTE分组中。 
一方面所述文件分割以及用于文件递送的所述提示轨道能够被彼此独立地使用。所述文件分割有助于提示轨道的设计,并且允许例如具有不同FEC开销的替换提示轨道重复使用相同的FEC符号。它们还提供访问源符号的措施。然而,为了在服务器遵循提示轨道指令时降低复杂度,提示轨道直接涉及到被拷贝到提示采样中的项目或数据的数据范围。 
下面给出了根据本发明的容器文件的一个更加详细的实现方式实例,其具有ISO基础媒体文件格式的形式并且被适配成通过ALC/FLUTE传输。然而这仅仅应当被视为本发明的一个说明性实例,在本发明的范围内可以对该实例做出明显的修改和改变。 
源文件的存储 
预定通过ALC/FLUTE传输的文件被作为项目存储在充当容器文件的ISO基础媒体文件的顶级元框(‘meta’)中。项目位置框(‘iloc’)表明每一个项目(媒体源文件)在所述容器文件内的实际存储位置以及每一个项目的文件尺寸。每一个项目的文件名、内容类型(MIME类型)等等由项目信息框(‘iinf’)提供。 
FD项目信息框 
关于分割源文件的细节被提供在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(分割条目)提供关于对于特定媒体源文件的特定文件分割和元数据的细节。如果在所述ISO文件中使用了替换的分割,则有可能为一个源文件提供多个条目。所有分割条目都可以被隐含地编号,并且第一条目的编号通常为1。 
分割条目 
源的分割条目(‘paen’)被如下定义: 
aligned(8)class PartitionEntry extends Box(′paen′) 
      FilePartitionBox blocks_and_symbols; 
其可以包含定义所述媒体源分割的一个框。 
文件分割框 
文件分割框(‘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; 
      unsigned int(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来提供对源文件的替换的分割。 
packet_payload_size(分组有效载荷尺寸)给出分割算法的目标FLUTE或ALC分组有效载荷尺寸。应当注意到,UDP分组有效载荷更大,这是因为其还包含FLUTE或ALC报头。 
FEC_encoding_ID(FEC编码ID)标识出FEC编码方案。0值可以对应于默认方案,比如对应于“Compact No-Code FEC scheme(紧致无代码FEC方案)”,其也被称作“Null-FEC(空FEC)”[4]。1值优选地对应于“MBMS FEC”[5]。 
FEC_instance_ID(FEC事例ID)提供对被用于欠详列的FEC方案的FEC编码器的更为具体的标识。该值通常不被用于完全详列的FEC方案。 关于欠详列的FEC方案的进一步细节参见文献[4]。 
max_source_block_length(最大源块长度)给出每个媒体源块的最大源符号数目。 
encoding_symbol_length(编码符号长度)给出一个编码符号(源符号和FEC奇偶符号)的(以字节计的)尺寸。除了可能较短的最后一个符号之外,一个项目的所有编码符号优选地具有相同的长度。 
max_number_of_encoding_symbols(最大编码符号数目)给出针对在文献[4]中定义的FEC编码ID 129可以为源块生成的最大编码符号数目。 
scheme_specific_info(特定于方案的信息)是“FLUTEbis”中的特定于方案的对象传送信息(特定于FEC-OTI方案的信息)的base64编码的空字符结尾字符串。所述信息的定义取决于所述FEC编码ID。 
entry_count(条目计数)给出提供对源文件的分割的(block_count,block_size)对的列表中的条目数。从所述文件的开头开始,每一个条目表明该文件的下一个片段如何被划分成源块和源符号。 
block_coun t(块计数)表明尺寸block_size(以字节计)的连续源块的数目。不是符号尺寸(其被提供在FEC信息框中)的倍数的block_size表明最后一个源符号包括未被存储在所述文件项目中的填充符。 
项目信息框 
为了利用广播/多点传送文件下载协议(ALC/FLUTE)内部地传送所嵌入的分立媒体,优选地令所述服务器还传送对应于所述分立媒体的某些元数据。如果FLUTE被用作广播协议,则作为所述FDT的一部分发送所述元数据,而如果把ALC与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基础媒体文件格式[1,2]的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<num_session_groups;i++) 
        { 
               unsigned int(8)entry_count; 
               for(j=0;j<entry_count;j++) 
               { 
                      unsigned int(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_group s(会话组中的信道数)指定所述会话组中的信道数。该“会话组中的信道数”的值是正整数。 
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基础媒体文件格式[1,2]的10.2节中做了描述。可以作为附加的数据,提供time_scale_entry(时间尺度条目)框。如果没有提供所述时间尺度条目框,则没有给出关于分组定时的指示。 
可以通过观察提示轨道的所有采样条目以及由上述项目ID所涉及的项目的相应的文件元数据信息框来产生FDT或ESG所需要的文件条目。如果任何采样没有涉及采样条目,则没有采样条目包括在所述提示轨道中。 
采样格式 
所述提示轨道中的每一个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)entrycount1; 
      dataentry header_extension_constructors[entrycount1]; 
      unsigned int(16)entrycount2; 
      dataentry packet_constructors[entrycount2]; 
LCT_header_info(LCT报头信息)包含对于当前FD分组的LCT报头模板。 
entry_count1(条目计数1)对下面的构造器进行计数。 
header_extension_constructors(报头扩展构造器)是被用来构造LCT报头扩展的结构。 
entry_count2(条目计数2)对下面的构造器进行计数。 
packet_constructors(分组构造器)是被用来构造FD分组中的FEC有效载荷ID和源符号的结构。 
LCT报头模板格式 
class header_template 
      undigned 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(报头扩展内容)是等于报头扩展长度的项目数。 
分组构造器格式 
存在多种形式的构造器。每一个构造器都是16字节,以便使得迭代更加容易。第一个字节是联合区分符。该结构是基于ISO基础媒体文件格式[1,2]的10.3.2节。 
aligned(8)class FDconstructor(type) 
      unsigned int(8)constructor_type=type; 
aligned(8)class FDnoopoonstructor extends FDconstructor(0) 
      unsigned int(8)pad[15]; 
aligned(8)class FDimmediateconstructor extends FDconstructor 
      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; 
eligned(8)class FDxmlboxconstructor 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是示出了根据本发明的媒体会话管理方法的流程图。该媒体会话管理是在媒体服务器(比如流传输或下载服务器)中实施的,并且其使用本发明的媒体容器文件。所述方法开始于步骤S30,在该步骤中提供媒体容器文件。这一文件提供可以通过从所述媒体服务器的存储器位置获取所述容器文件而实现,这意味着该服务器先前已经从内容提供商或产生器接收了所述文件。可替换地,所述媒体服务器可以结合针对媒体数据的请求从内容提供商定购或接收所述容器文件。 
在下一个步骤S41中,利用至少一个媒体源块并且基于与该至少一个媒体源块相关联的元数据和分割信息来计算FEC冗余数据。在该计算步骤S41中,优选地采用在媒体块的基础上进行操作的FEC块编解码器(比如digital fountain raptor编解码器)。但是也可以采用卷积FEC编解码器,所述卷积FEC编解码器也在本发明的范围内。在一种优选实现方式中,对于所述至少一个媒体源块生成一组FEC冗余符号。该FEC符号组可以包括一个(但是优选地包括多个)基于所述媒体源块的源符号计算的FEC符号。将为媒体源块计算的FEC符号的数目可以由所采用的FEC编解码器中的限制来限定,其可以是所述媒体源块中的媒体源符号的数目的函数或者由某种其他标准(例如FEC开销)来限制。此外,被包括在所述媒体容器文件中的信息可以指定将计算的FEC冗余数据量。 
在一种优选的实现方式中,所述媒体容器文件还包括在该步骤S31中使用的FEC计算指令。随后在选择将被输入到所述FEC编解码器的源符号以便生成FEC符号时把这些指令与所述分割信息(以及被用于识别所述分割信息的元信息)一起使用。 
如果所述容器文件还包括把所述一个(或多个)媒体源文件划分成媒体源块的信息,则可以使用该划分信息来识别将被用于FEC数据计算的正确的源符号。 
在步骤S31中计算的FEC符号的数目可以由所述媒体服务器基于某种 局部标准来确定,所述标准比如是所述媒体会话期间的最大/最小当前可允许FEC开销。可替换地,如上所述,被提供在所述容器文件中的信息(比如FEC计算指令)指定将对于给定媒体源块计算的FEC冗余数据量。 
可以在正在进行的媒体会话期间迅速执行步骤S31中的FEC数据计算。可替换地,所述媒体服务器可以在实际会话之前生成FEC数据的存储库,并且随后把所述FEC存储库存储在所述容器文件中或者存储在存储器中。随后可以在后面的媒体会话中把所述预先计算的FEC数据与所述容器文件中的媒体内容一起使用。 
在下一个步骤S32中,通过从所述容器文件的一个(或多个)媒体源块中提取媒体数据并且提供在步骤S31中计算的FEC冗余数据来编辑媒体数据分组。所述媒体服务器优选地接收将在所述媒体会话期间传送的媒体数据的标识符。可替换地,所述容器文件可能仅仅包含单一媒体数据文件的媒体数据,因此没有必要选择媒体源。在任一种情况下,被包括在所述容器文件中(比如被包括在所述文件属性表中)的先前描述的信息都可以被用于识别所述媒体文件的开头,即应当从该处开始传输的第一个媒体源块。此外,被包括在所述容器文件中的其他信息可以被用作关于应当如何组合媒体数据和FEC数据并且将其包括在数据分组中的指令,其中所述数据分组适于通过一条或多条基于无线电的信道被无线传送到不同的客户端。 
在下一个步骤S33中,优选地通过广播或多点传送技术把具有FEC可靠性保护的所编辑的媒体数据分组发送到客户端,在所述客户端处可以呈现所述媒体数据。通常一旦在所述媒体服务器中的传送缓冲器达到了给定水平就启动所述分组传输。但是在所述媒体会话期间,在其他分组正被传送的同时编辑新的数据分组并且将其输入到所述传送缓冲器中,这由线L2示意性地示出。 
通过所生成的容器文件以及通过在其中组织媒体数据并且提供预先计算的分割数据,可以在媒体会话期间降低所述媒体服务器的处理需求。因此这导致降低了服务器复杂度并且允许服务器灵活性,这是因为所述服务器不需要迅速进行源块构造和分割。 
所述方法随后结束。 
图6是示出了图5的媒体会话管理方法的附加步骤的流程图。所述方 法从图5的步骤S30继续。在下一个步骤S40中,所述媒体服务器选择将用于FEC数据计算的FEC算法或编解码器。该FEC算法优选地是在分割媒体源块时使用的FEC算法,基于该FEC算法计算FEC数据。因此所述媒体容器文件优选地包括该FEC算法/编解码器的信息,该信息由所述媒体服务器在所述选择步骤S40中采用。 
如果所述FEC信息包括多种可用FEC算法的标识符并且给定的媒体源块可用在多种不同的替换分割中,则所述媒体服务器优选地使用其他输入信息(其中包括FEC开销容量和/或FEC计算指令)来选择在计算FEC数据时将使用哪种FEC算法和哪些块分割信息。 
所述算法随后继续到图5的步骤S31,在该步骤中使用所选的FEC算法来计算所述FEC数据。 
图7是示出了图4的会话管理方法的附加步骤的流程图。所述方法从图5的步骤S31继续。在下一个步骤S50中确定当前可以被采用来在所述媒体会话中进行数据传输的FEC开销容量。可以基于针对所述媒体传输所能分配给所述服务器的带宽水平以及对于该媒体传输所采用的一个(或多个)无线电载体的最小和最大比特率水平等等来确定或者至少估计所述容量。实际上可以在该步骤S50中采用本领域中已知的用于结合数据传输确定这种开销容量的任何技术。 
一旦确定了所述FEC开销容量,下一个步骤S51就基于所确定的开销容量来选择编辑指令集。因此,所述媒体容器文件于是包含多个替换的编辑指令集,所述替换的编辑指令集可以被用于给定的媒体内容但是提供不同的FEC开销水平。换句话说,这些替换的编辑指令基本上定义将在编辑媒体数据分组时添加到所述媒体数据中的FEC冗余数据量。可接受的FEC开销越大,所添加的FEC数据就越多。通过具有不同的替换编辑指令,所述媒体服务器可以使用在给定当前开销限制的情况下允许最高可允许FEC保护的那些指令,从而与使用单一编辑指令集相比增大了在不同客户端处成功接收及解码所述媒体数据的机会。 
所述方法随后继续到图5的步骤S32,在该步骤中基于在步骤S51中选择的编辑指令从所述媒体内容数据和相关联的FEC数据编辑媒体数据分组。 
如果所述媒体容器文件还包括附加信息(比如文件到块划分的信息、FEC算法的信息和/或文件属性表),所述媒体服务器可以在数据分组生 成和传输过程中使用该附加信息。 
例如,可以在所述文件属性表中包括或者至少声明可以由所述媒体服务器使用的所述附加数据以及优选地还有MIME类型的信息、任何编码信息、尺寸信息等等。在一种优选实现方式中,该属性表构成单一信息或查找源,其可以被所述媒体服务器访问以便获得结合媒体提取、数据分组编辑和传输所需要的或者有利的信息。 
图8是根据本发明的媒体容器文件1的示意图,其被用于显示出根据本发明的一个实施例使用替换的编辑指令。该容器文件1包括媒体源文件10,所述媒体源文件10优选地包括多个媒体源块。在该实施例中,该源文件10的每一个媒体源块具有相关联的分割信息30。在该说明性例子中,该容器文件1还包括三条提示轨道50、52、54,所述提示轨道包含用于于不同FEC开销的编辑指令。例如,在期望10%的冗余开销时可以使用第一提示轨道50,第二提示轨道52给出大约12%的FEC开销,第三提示轨道54给出14%的FEC开销。在该图中采用了在文献[5]的附录B中提出的源块构造算法。 
所述分割信息10被FEC编解码器采用来基于所述源文件10中的媒体源块计算FEC数据70。如果该源文件10包括多个媒体源块,则计算多个FEC数据集或存储库70,即优选地为每个媒体源块计算一个FEC数据集。 
如果选择了第一提示轨道50,则生成数据分组81、82、83、84的第一流(在该图中仅仅为每个媒体源块和FEC块示出了一个数据分组)。然而,如果替换地使用了第二提示轨道52,则生成数据分组91、92、93、94的第二流。与第一流80相比,第二流90对于每个媒体源块包括更大的FEC块,即更多的FEC冗余数据。但是对应的源块在两个流80、90中包含相同的媒体数据量。 
图9是通信网络的示意性总览,其中示出了生成或使用本发明的媒体容器文件1的各方。内容服务器100表示所述内容提供商或产生器,其接收或者可以访问媒体源数据并且构造媒体容器文件1。该容器文件1的副本被发送到媒体服务器200,该媒体服务器200在媒体会话中使用该容器文件1来编辑数据分组,所述数据分组包含被发送(多点传送)到不同的客户端300、310、320的媒体和FEC数据,所述客户端在该图中由移动终端表示。 
图10是根据本发明的媒体内容服务器100的示意性方框图。该内容服务器100包括一般的输入和输出(I/O)单元110,其被设置成与各外部单元通信并且包括用于与各外部单元通信的功能(发送器/接收器、调制器/解调器、编码器/解码器)。该I/O单元110特别被设置成接收输入媒体内容以及接收针对媒体容器文件的请求。当向所述通信网络中的其他服务器传送这种容器文件时,服务器100还采用I/O单元110。 
所述内容服务器100还包括容器文件产生器160,其被设置成产生本发明的媒体容器文件。该服务器100还包括媒体块提供器130,其被设置成提供至少一个媒体源块,以便由该文件产生器160的媒体块管理器161将其输入到所述媒体容器文件中。该媒体块提供器130从内部数据存储装置120或者从所述I/O单元110提供所述至少一个输入源块,其中该I/O单元110从外部媒体源400、410接收媒体内容。 
所述一个(或多个)媒体源块随后被转送到所述内容服务器100的块分割器140。该分割器140至少部分地基于FEC算法的信息把所述一个(或多个)输入媒体源块分割成一定数目的源符号(通常是多个这种源符号),所述FEC算法将被应用于所述源块以便计算FEC数据。所述分割操作不一定必须把所述源块物理地划分成源符号。与此相对,所述分割可以是通过把所述源块的不同部分分配到不同的源符号的虚拟划分。 
将被应用于所述源块并且可能会影响所述块分割的FEC算法可以是对于各媒体源块一贯采用的某种预先定义的标准FEC算法。可替换地,所述内容服务器100的块分割器140或者某个其他单元从多种可用FEC算法当中选择特定的一种FEC算法来使用。在进行该选择时可以使用不同的输入数据,比如最大预期FEC开销。在另一个实施例中,所述块分割器140基于不同的替换可用FEC算法的信息对给定的媒体源块执行多种替换的分割。例如,如果所述内容服务器100具有关于在所述媒体服务器中可以获得的可能FEC算法的知识,则该块分割器140可以针对每一种所述FEC算法执行单独的块分割。 
除了根据将被应用于所述媒体源块的特定FEC算法或方案执行块分割之外,所述块分割器140还可以操作来执行适于把所述源符号置于数据分组中的分割,其中所述数据分组将由媒体服务器在媒体会话期间采用。因此,所述分割器140可以采用分组尺寸(比如UDP分组尺寸)信息。 
所述分割器140所执行的特定源块分割的信息由信息生成器150生成。如前所述,该信息可以指定所述媒体源块的哪些比特属于哪些源符号,并且定义被应用于源块的所有源符号的符号尺寸(最后一个源符号可能除外,其可以具有更小的尺寸)。 
在该例中,所述块分割器140对媒体源块执行多种替换分割,由所述生成器150生成的所述信息包括涉及到这些替换块分割的数据。 
所述分割信息被从所述发生器转送到所述容器文件产生器160的信息管理器162,其把所述信息插入到所述媒体容器文件中。 
所述文件产生器160的元数据管理器163把元数据提供到所述容器文件中。该元数据提供由所述块管理器161组织的媒体源块与由所述分割信息管理器162组织的分割信息之间的关联。 
随后可以把所得到的媒体容器文件至少暂时存储在所述数据存储装置120中,或者通过所述I/O单元110将其传送到媒体服务器。 
所述内容服务器100的各单元110、130、140、150、160、161、162和163可以被实现或者提供为软件、硬件或其组合。所述单元110到163都可以被实现在通信系统中的单一网络节点内的内容服务器100中。可替换地,分布式实现方式也是可能的,并且落在本发明的范围内。在这种情况下,所述内容服务器100的不同单元110到163可以被设置在不同的网络节点中,但是即便如此也仍将执行前面所描述的其预定操作。 
图11是更加详细地示出了图10的媒体块提供器130的一个实施例的示意性方框图。在一种优选的实现方式中,所述输入媒体内容具有媒体源文件的形式,所述媒体源文件由媒体文件划分器132例如从所述内容服务器的数据存储装置或I/O单元提供。所述媒体源文件被该文件提供器132转送到媒体文件划分器134。该划分器134把所述源文件分离成一个或多个源块。该划分器134可以基于不同的信息或参数进行该文件划分。例如,可以至少部分地基于将被应用来计算FEC冗余数据的FEC算法来确定所述文件划分。在这种情况下,所述文件划分134优选地可以使用这种FEC算法的信息。该划分器134随后可以把媒体源文件分离成N-1个等尺寸的媒体源块以及一个可以具有小于其他N-1个块的尺寸的媒体源块。 
划分信息生成器136被设置成连接到所述文件划分器134。该生成器136生成由该文件划分器134确定并且可能由其执行的所述文件划分的 信息。在第一实现方式中,所生成的信息可以指定媒体源文件的哪些比特属于不同的媒体源块。在第二实现方式中,所述信息指定媒体源块的(比特或符号)尺寸(最后一个源块可能除外,其可以具有更小的尺寸)。在这种情况下,知道所述媒体源文件的起始位置,则可以利用该(尺寸)划分信息识别不同的媒体源块。 
在所述块提供器130中实现划分信息管理器138,以便把来自所述信息生成器136的所述划分信息组织到所述媒体容器文件中。 
所述媒体块提供器130的各单元132到138可以被实现或者提供为软件、硬件或其组合。所述单元132到138都可以被实现在所述媒体块提供器130中。可替换地,分布式实现方式也是可能的,并且落在本发明的范围内。在这种情况下,所述媒体块提供器130的不同单元132到138可以被设置在所述内容服务器中的其他位置处。 
图12是更加详细地示出了图10的容器文件产生器160的一个实施例的示意性方框图。除了前面描述的媒体块管理器161、分割信息管理器162和元数据管理器163之外,该文件产生器160还包括FEC信息管理器164。该FEC信息管理器164生成将被应用于所述容器文件的一个(或多个)媒体源块的一种(或多种)FEC算法的信息并且将其组织到所述容器文件中。在执行块分割时,由所述内容服务器的块分割器执行的所述块分割也使用这种了这种FEC算法信息。因此,作为已经执行了所述块分割的基础的所述一种(或多种)FEC算法的信息优选地由所述管理器164生成并且被包括在所述容器文件中。 
可以把表管理器165包括在所述文件产生器160中,以便生成属性表并且将其包括在所述容器文件中。该属性表于是可以包括所述容器文件中的一个(或多个)媒体源文件的信息,比如文件类型、文件尺寸、文件存储位置、文件加密、文件名/标识符等等。此外,本发明的分割信息、文件划分信息和元数据也可以被包括在由该表管理器165生成的所述属性表中。 
可以把FEC指令管理器166包括在所述文件产生器160中,以便生成FEC指令,其中媒体服务器在基于所述容器文件的媒体源块生成FEC数据时将遵循所述FEC指令。于是这些指令将连同与特定媒体源块相关联的分割信息一起指定可以把哪些源符号输入到FEC编解码器以便计算FEC符号。可以由所述管理器166针对给定的源块提供不同的替换FEC 指令,其中所述FEC指令适于与不同的FEC编解码器和/或FEC开销相结合地使用。 
所述文件产生器160的编辑指令管理器167生成编辑指令并且将其插入到所述容器文件中。这些指令包括由媒体服务器使用来编辑来自所述媒体源块的媒体数据以及利用所述源块和分割信息计算的FEC数据的信息。该管理器167可以为所述文件中的每一项媒体内容生成单一指令或者指令集。可替换地,可以由该管理器167提供不同的所述指令并且将其组织到所述容器文件中,其中所述不同的指令适应于在所述媒体会话中采用的不同的FEC开销、不同的FEC数据类型和/或不同数目的基于无线电的通信信道。 
所述容器文件产生器160的各单元161到167可以被实现或者提供为软件、硬件或其组合。所述单元161到167都可以被实现在所述容器文件产生器160中。可替换地,分布式实现方式也是可能的,并且落在本发明的范围内。在这种情况下,所述容器文件产生器160的不同单元161到167可以被设置在所述内容服务器中的其他位置处。 
图13是根据本发明的媒体会话服务器200的示意性方框图。该媒体服务器200包括I/O单元210,其用于实施与各外部单元的通信。该I/O单元210特别被设置成从内容服务器请求并接收媒体文件容器。该I/O单元210还接收源自不同用户客户端的针对媒体内容的请求或者至少关于应当向哪些客户端传送媒体内容的信息。还可以通过该I/O单元210把由所述媒体服务器200编辑的数据分组传送到这些客户端。 
所述服务器200包括媒体文件提供器220,其提供媒体内容文件以供使用在当前会话中。该文件提供器220可以生成针对特定容器文件的请求,该请求通过所述I/O单元210被传送给内容产生器。可替换地,该提供器220从被提供在所述媒体服务器200内的数据存储装置250中获取先前接收的容器文件。 
所述媒体服务器200的FEC计算器或编解码器240针对存储在所述容器文件中的至少一个媒体源块计算FEC冗余数据。该FEC计算器240可以使用在上述计算程序中提到的任一种FEC算法。在一种优选实现方式中,如果有选择的话,所述容器文件向该计算器240指示要采用哪一种FEC算法。该FEC计算器240首先识别用于输入媒体源块的相关分割信息。在该识别程序中,该计算器240使用与所述源块相关联并且被提供 在所述容器文件中的所述元数据。该计算器240随后使用所述分割信息来识别应当对之应用所述FEC算法(其是基于所述容器文件中的FEC信息选择的)以便生成FEC数据的媒体源块的那些部分。 
在一个优选实施例中,所述媒体容器文件还包括FEC计算指令,在识别正确的输入源符号并且执行实际的FEC数据计算时,除了所述分割信息之外所述计算器240还使用所述FEC计算指令。另外的输入信息可以是先前描述的FEC算法信息(其允许选择将要使用的正确的FEC算法)和文件划分信息(其允许识别正确的媒体源块)。 
数据分组编辑器230优选地使用被包括在来自所述提供器220的容器文件中的编辑指令提取来自该文件的媒体数据和来自所述FEC计算器的FEC数据,以便生成包含所提取的该数据的数据分组。随后通过所述I/O单元210传送(或者从该处流传输或下载)如此生成的数据分组。 
对于给定的媒体内容可以把不同的编辑指令存储在所述文件中。例如,所述指令可以是依赖于信道或者依赖于容量的。在前一种情况下,可用无线电信道的数目和应当传送的并行媒体流的数目决定由所述编辑器230使用的实际编辑指令。在后一种情况下,在所述服务器200中优选地包括FEC容量估计器260,其用于估计可以在会话期间采用的FEC开销的最大数量。优选地在所述会话期间动态地更新由该估计器260执行的开销估计,这是因为可以在所述会话期间改变所述开销容量。集合选择器270使用来自所述估计器260的所述容量估计来选择将要使用可以在所述文件中获得的哪一条特定编辑指令或指令集。所述分组编辑器230随后使用该指令(集)把媒体数据和FEC数据编辑到数据分组中。 
所述媒体服务器200的各单元210、220、230、240、260和270可以被实现或者提供为软件、硬件或其组合。所述单元210到270都可以被实现在通信系统中的单一网络节点内的媒体服务器200中。可替换地,分布式实现方式也是可能的,并且落在本发明的范围内。在这种情况下,所述媒体服务器200的不同单元210到270可以被设置在不同的网络节点中,但是即便如此也仍将执行前面所描述的其预定操作。 
本领域技术人员应当理解,在不偏离本发明的范围的情况下可以对本发明做出许多修改和改变,本发明的范围由所附权利要求书限定。 
参考文献 
ISO/IEC 14496-12:2005:“ISO base media file format” 
ISO/IEC 15444-12:2005:“ISO base media file format” 
International application WO 2005/039131 
RFC 3695;Compact Forward Error Correction(FEC)Schemes,February2004 
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 
RFC 2616;Hypertext Transfer Protocol-HTTP/1.1,June 1999 
RFC 1864;The Content-MDS Header Field,October 1995 
RFC 3926;FLUTE-File Delivery over Unidirectional Transport,October2004 
RFC 3450;Asynchrononous Layered Coding(ALC)ProtocolInstantiation,December 2002 
RFC 3451;Layered Coding Transport(LCT)Building Block,December2002 

Claims (30)

1.一种生成媒体容器文件的方法,所述方法包括以下步骤:
-提供至少一个包括媒体数据的媒体源块;
-至少部分地根据将被应用于所述至少一个媒体源块的前向纠错FEC算法的信息把所述至少一个媒体源块分割成多个源符号;
-生成描述所述分割的分割信息;
-把所述至少一个媒体源块组织在所述媒体容器文件中;
-把所述分割信息组织在所述媒体容器文件中;以及
-在所述媒体容器文件中提供元数据,所述元数据提供所述至少一个媒体源块与所述分割信息之间的关联。
2.根据权利要求1所述的方法,其中,提供所述至少一个媒体源块的所述步骤包括以下步骤:
-提供媒体源文件;
-把所述媒体源文件划分成所述至少一个媒体源块;
-生成描述所述划分的划分信息;
-把所述划分信息组织在所述媒体容器文件中。
3.根据权利要求2所述的方法,其中,所述划分步骤包括:至少部分地基于所述FEC算法的信息把所述媒体源文件划分成所述至少一个媒体源块。
4.根据权利要求1-3中任一权利要求所述的方法,还包括以下步骤:
-在所述媒体容器文件中提供所述FEC算法的信息。
5.根据权利要求1-3中任一权利要求所述的方法,还包括以下步骤:
-在所述媒体容器文件中提供属性表,该属性表包括所述至少一个媒体源块在所述媒体容器文件内的存储位置信息。
6.根据权利要求1-3中任一权利要求所述的方法,还包括以下步骤:
-生成FEC计算指令,所述FEC计算指令定义基于所述元数据、所述至少一个媒体源块以及所述分割信息来计算FEC冗余数据;以及
-把所述FEC计算指令组织在所述媒体容器文件中。
7.根据权利要求6所述的方法,还包括以下步骤:
-生成编辑指令,所述编辑指令定义对来自所述至少一个媒体源块的媒体数据和所述FEC冗余数据的编辑,以便形成数据分组的媒体流;以及
-把所述编辑指令组织在所述媒体容器文件中。
8.根据权利要求7所述的方法,其中,所述生成编辑指令的步骤包括以下步骤:
-生成第一编辑指令集,所述第一编辑指令集定义对来自所述至少一个媒体源块的媒体数据和所述FEC冗余数据的编辑,以便形成具有第一FEC冗余开销水平的数据分组的第一媒体流;以及
-生成第二编辑指令集,所述第二编辑指令集定义对来自所述至少一个媒体源块的媒体数据和所述FEC冗余数据的编辑,以便形成具有第二FEC冗余开销水平的数据分组的第二媒体流。
9.一种媒体内容服务器,其包括:
-媒体块提供器,其被设置成提供至少一个包括媒体数据的媒体源块;
-媒体块分割器,其被设置成至少部分地根据将被应用于所述至少一个媒体源块的前向纠错FEC算法的信息把所述至少一个媒体源块分割成多个源符号;
-分割信息生成器,其被设置成生成描述所述分割的分割信息;
-媒体块管理器,其被设置成把所述至少一个媒体源块组织在媒体容器文件中;
-分割信息管理器,其被设置成把所述分割信息组织在所述媒体容器文件中;以及
-元数据管理器,其被设置成在所述媒体容器文件中提供元数据,所述元数据提供所述至少一个媒体源块与所述分割信息之间的关联。
10.根据权利要求9所述的媒体内容服务器,其中,所述媒体块提供器包括:
-媒体文件提供器,其被设置成提供媒体源文件;
-媒体文件划分器,其被设置成把所述媒体源文件划分成所述至少一个媒体源块;
-划分信息生成器,其被设置成生成描述所述划分的划分信息;
-划分信息管理器,其被设置成把所述划分信息组织在所述媒体容器文件中。
11.根据权利要求10所述的媒体内容服务器,其中,所述媒体文件划分器被设置成至少部分地基于所述FEC算法的信息把所述媒体源文件划分成所述至少一个媒体源块。
12.根据权利要求9-11中任一权利要求所述的媒体内容服务器,还包括:
-FEC信息管理器,其被设置成在所述媒体容器文件中提供所述FEC算法的信息。
13.根据权利要求9-11中任一权利要求所述的媒体内容服务器,还包括:
-表管理器,其被设置成在所述媒体容器文件中提供属性表,该属性表包括所述至少一个媒体源块在所述媒体容器文件内的存储位置信息。
14.根据权利要求9-11中任一权利要求所述的媒体内容服务器,还包括:
-FEC指令管理器,其被设置成:i)生成FEC计算指令,所述FEC计算指令定义基于所述元数据、所述至少一个媒体源块以及所述分割信息来计算FEC冗余数据;以及ii)把所述FEC计算指令组织在所述媒体容器文件中。
15.根据权利要求14所述的媒体内容服务器,还包括:
-编辑指令管理器,其被设置成:i)生成编辑指令,所述编辑指令定义对来自所述至少一个媒体源块的媒体数据和所述FEC冗余数据的编辑,以便形成数据分组的媒体流;以及ii)把所述编辑指令组织在所述媒体容器文件中。
16.根据权利要求15所述的媒体内容服务器,其中,所述编辑指令管理器被设置成:i)生成第一编辑指令集,所述第一编辑指令集定义对来自所述至少一个媒体源块的媒体数据和所述FEC冗余数据的编辑,以便形成具有第一FEC冗余开销水平的数据分组的第一媒体流;以及ii)生成第二编辑指令集,所述第二编辑指令集定义对来自所述至少一个媒体源块的媒体数据和所述FEC冗余数据的编辑,以便形成具有第二FEC冗余开销水平的数据分组的第二媒体流。
17.一种媒体会话管理方法,其包括以下步骤:
-提供媒体容器文件,所述媒体容器文件包括至少一个媒体源块、分割信息、以及提供所述至少一个媒体源块与所述分割信息之间的关联的元数据;
-基于所述元数据、所述至少一个媒体源块以及所述分割信息来计算前向纠错FEC冗余数据;
-通过提取来自所述至少一个媒体源块的媒体数据和所述FEC冗余数据来编辑数据分组;以及
-在媒体会话期间把所述数据分组传送到至少一个用户终端。
18.根据权利要求17所述的方法,其中,所述媒体容器文件还包括FEC计算指令,所述FEC计算指令定义基于所述元数据、所述至少一个媒体源块以及所述分割信息来计算FEC冗余数据,并且所述计算步骤包括:基于所述元数据、所述至少一个媒体源块、所述分割信息以及所述FEC计算指令来计算所述FEC冗余数据。
19.根据权利要求17或18所述的方法,其中,所述媒体容器文件还包括描述把媒体源文件划分成所述至少一个媒体源块的划分d的信息,并且所述计算步骤包括:基于所述元数据、所述至少一个媒体源块、所述分割信息以及所述划分信息来计算所述FEC冗余数据。
20.根据权利要求17或18所述的方法,其中,所述媒体容器文件还包括FEC算法信息,并且所述计算步骤包括以下步骤:
-基于所述FEC算法信息从多种可用FEC算法当中选择一种FEC算法;以及
-利用所述选择的FEC算法并且基于所述元数据、所述至少一个媒体源块以及所述分割信息来计算所述FEC冗余数据。
21.根据权利要求17或18所述的方法,其中,所述媒体容器文件还包括编辑指令,所述编辑指令定义对来自所述至少一个媒体源块的媒体数据和所述FEC冗余数据的编辑,以便形成数据分组的媒体流,并且所述编辑步骤包括:通过基于所述编辑指令提取来自所述至少一个媒体源块的媒体数据和所述FEC冗余数据来编辑所述数据分组。
22.根据权利要求21所述的方法,其中,所述编辑指令包括多个编辑指令集,其中每一个编辑指令集与已定义的FEC冗余开销相关联,所述方法包括以下步骤:
-对于所述媒体会话估计FEC冗余开销容量;以及
-基于所述估计的FEC冗余开销容量从所述多个编辑指令集当中选择编辑指令集,其中,所述编辑步骤包括:通过基于所述选择的编辑指令集提取来自所述至少一个媒体源块的媒体数据和所述FEC冗余数据来编辑所述数据分组。
23.根据权利要求17或18所述的方法,其中,所述媒体容器文件还包括属性表,所述属性表包括所述至少一个媒体源块在所述媒体容器文件内的存储信息,并且所述编辑步骤包括:通过基于所述属性表提取来自所述至少一个媒体源块的媒体数据和所述FEC冗余数据来编辑所述数据分组。
24.一种媒体会话服务器,其包括:
-媒体文件提供器,其用于提供媒体容器文件,所述媒体容器文件包括至少一个媒体源块、分割信息、以及提供所述至少一个媒体源块与所述分割信息之间的关联的元数据;
-前向纠错FEC计算器,其被设置成基于所述元数据、所述至少一个媒体源块以及所述分割信息来计算FEC冗余数据;
-数据分组编辑器,其被设置成连接到所述媒体文件提供器和FEC计算器,以便通过提取来自所述至少一个媒体源块的媒体数据和所述FEC冗余数据来编辑数据分组;以及
-传送器,其被设置成连接到所述数据分组编辑器,以便在媒体会话期间把由所述数据分组编辑器编辑的所述数据分组传送到至少一个用户终端。
25.根据权利要求24所述的媒体会话服务器,其中,所述媒体容器文件还包括FEC计算指令,所述FEC计算指令定义基于所述元数据、所述至少一个媒体源块以及所述分割信息来计算FEC冗余数据,并且所述FEC计算器被设置成:基于所述元数据、所述至少一个媒体源块、所述分割信息以及所述FEC计算指令来计算所述FEC冗余数据。
26.根据权利要求24或25所述的媒体会话服务器,其中,所述媒体容器文件还包括描述把媒体源文件划分成所述至少一个媒体源块的划分的信息,并且所述FEC计算器被设置成:基于所述元数据、所述至少一个媒体源块、所述分割信息以及所述划分信息来计算所述FEC冗余数据。
27.根据权利要求24或25所述的媒体会话服务器,其中,所述媒体容器文件还包括FEC算法信息,并且所述FEC计算器被设置成:i)基于所述FEC算法信息从多种可用FEC算法当中选择一种FEC算法;以及ii)利用所述选择的FEC算法并且基于所述元数据、所述至少一个媒体源块以及所述分割信息来计算所述FEC冗余数据。
28.根据权利要求24或25所述的媒体会话服务器,其中,所述媒体容器文件还包括编辑指令,所述编辑指令定义对来自所述至少一个媒体源块的媒体数据和所述FEC冗余数据的编辑,以便形成数据分组的媒体流,并且所述数据分组编辑器被设置成:通过基于所述编辑指令提取来自所述至少一个媒体源块的媒体数据和所述FEC冗余数据来编辑所述数据分组。
29.根据权利要求28所述的媒体会话服务器,其中,所述编辑指令包括多个编辑指令集,其中每一个编辑指令集与已定义的FEC冗余开销相关联,所述媒体会话服务器还包括:
-FEC容量估计器,其被设置成对于所述媒体会话估计FEC冗余开销容量;以及
-集合选择器,其被设置成连接到所述FEC容量估计器,以便基于由所述FEC容量估计器所估计的所述FEC冗余开销容量从所述多个编辑指令集当中选择编辑指令集,其中,所述数据分组编辑器被设置成:通过基于由所述集合选择器所选择的所述编辑指令集提取来自所述至少一个媒体源块的媒体数据和所述FEC冗余数据来编辑所述数据分组。
30.根据权利要求24或25所述的媒体会话服务器,其中,所述媒体容器文件还包括属性表,所述属性表包括所述至少一个媒体源块在所述媒体容器文件内的存储信息,并且所述数据分组编辑器被设置成:通过基于所述属性表提取来自所述至少一个媒体源块的媒体数据和所述FEC冗余数据来编辑所述数据分组。
CN2007800019631A 2006-01-05 2007-01-04 媒体容器文件管理方法和服务器 Active CN101416526B (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/000004 WO2007078252A2 (en) 2006-01-05 2007-01-04 Media container file management

Publications (2)

Publication Number Publication Date
CN101416526A CN101416526A (zh) 2009-04-22
CN101416526B true CN101416526B (zh) 2013-06-19

Family

ID=38228633

Family Applications (2)

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

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN2007800019434A Active CN101366287B (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) CN101366287B (zh)
AT (1) ATE551787T1 (zh)
DK (1) DK1969857T3 (zh)
ES (2) ES2383230T3 (zh)
PL (2) PL1969857T3 (zh)
WO (2) WO2007078252A2 (zh)

Families Citing this family (126)

* 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
EP2357732B1 (en) 2002-10-05 2022-04-06 QUALCOMM Incorporated 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
WO2005112250A2 (en) 2004-05-07 2005-11-24 Digital Fountain, Inc. File download and streaming system
WO2006020826A2 (en) * 2004-08-11 2006-02-23 Digital Fountain, Inc. Method and apparatus for fast encoding of data symbols according to half-weight codes
ES2383230T3 (es) * 2006-01-05 2012-06-19 Telefonaktiebolaget Lm Ericsson (Publ) Gestión de archivos contenedores de medios
CN101686107B (zh) 2006-02-13 2014-08-13 数字方敦股份有限公司 使用可变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
US8769311B2 (en) 2006-05-31 2014-07-01 International Business Machines Corporation Systems and methods for transformation of logical data objects for storage
EP2030115A4 (en) 2006-05-31 2012-08-22 Ibm METHOD AND SYSTEM FOR TRANSFORMING LOGICAL DATA OBJECTS FOR STORAGE
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
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9209934B2 (en) * 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US20100211690A1 (en) * 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
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
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
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
CN101675435B (zh) * 2007-05-04 2013-02-06 诺基亚公司 将媒体流记录到多媒体容器文件的接收索引轨道中
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
BRPI0816680A2 (pt) 2007-09-12 2015-03-17 Qualcomm Inc Gerar e comunicar informações de identificação de origem pra habilitar comunicações confiáveis.
US8849183B2 (en) 2007-10-05 2014-09-30 Qualcomm Incorporated Location and time based filtering of broadcast information
KR20100106418A (ko) * 2007-11-28 2010-10-01 디브이엑스, 인크. 부분적으로 이용가능한 멀티미디어 컨텐트의 재생 시스템 및 방법
US20100257572A1 (en) 2007-12-14 2010-10-07 Thomson Licensing Apparatus and method for simulcast over a variable bandwidth channel
WO2009078839A1 (en) 2007-12-18 2009-06-25 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
WO2009114111A2 (en) * 2008-03-12 2009-09-17 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
WO2009137705A2 (en) * 2008-05-07 2009-11-12 Digital Fountain, Inc. Fast channel zapping and high quality streaming protection over a broadcast channel
US20100023842A1 (en) * 2008-07-25 2010-01-28 Nortel Networks Limited Multisegment loss protection
US8813220B2 (en) * 2008-08-20 2014-08-19 The Boeing Company Methods and systems for internet protocol (IP) packet header collection and storage
US8726382B2 (en) * 2008-08-20 2014-05-13 The Boeing Company Methods and systems for automated detection and tracking of network attacks
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
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
EP2327058A4 (en) * 2008-09-23 2017-03-29 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
US8359370B2 (en) * 2008-10-31 2013-01-22 Disney Enterprises, Inc. System and method for managing digital 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 送信装置、大容量ファイル配信システム、同システムにおけるファィル再送制御方法、再送制御プログラム
JP5542912B2 (ja) 2009-04-09 2014-07-09 テレフオンアクチーボラゲット エル エム エリクソン(パブル) メディア・コンテナ・ファイル管理
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
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US20110096828A1 (en) * 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
WO2011045816A1 (en) * 2009-10-15 2011-04-21 Vishal Borker Method and apparatus for content delivery over internet
US8351600B2 (en) * 2009-10-30 2013-01-08 Cleversafe, Inc. Distributed storage network and method for encrypting and decrypting data using hash functions
KR101777347B1 (ko) * 2009-11-13 2017-09-11 삼성전자주식회사 부분화에 기초한 적응적인 스트리밍 방법 및 장치
KR101786050B1 (ko) * 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 전송 방법 및 장치
KR101750049B1 (ko) 2009-11-13 2017-06-22 삼성전자주식회사 적응적인 스트리밍 방법 및 장치
KR101786051B1 (ko) * 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
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 삼성전자주식회사 데이터 전송 방법 및 장치와 데이터 수신 방법 및 장치
US10216647B2 (en) * 2010-02-27 2019-02-26 International Business Machines Corporation Compacting dispersed storage space
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 삼성전자주식회사 콘텐트의 품질을 결정하는 복수의 인자에 기초한 적응적인 스트리밍 방법 및 장치
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
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
US9456015B2 (en) 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
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
EP3018910B1 (en) * 2013-07-05 2019-11-13 Saturn Licensing LLC Transmission device, transmission method, reception device, and reception method
US10169424B2 (en) * 2013-09-27 2019-01-01 Lucas J. Myslinski Apparatus, systems and methods for scoring and distributing the reliability of online information
US20150095320A1 (en) 2013-09-27 2015-04-02 Trooclick France Apparatus, systems and methods for scoring the reliability of online information
US10476693B2 (en) * 2014-02-24 2019-11-12 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
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
US9972055B2 (en) 2014-02-28 2018-05-15 Lucas J. Myslinski Fact checking method and system utilizing social networking information
DE102014102898A1 (de) * 2014-03-05 2015-09-10 Technische Universität München Vorrichtung und Verfahren zur Datenübertragung
WO2015196394A1 (en) * 2014-06-25 2015-12-30 SZ DJI Technology Co., Ltd. Multimedia file repair methods and apparatus
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
WO2016097482A1 (en) * 2014-12-19 2016-06-23 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
WO2016126181A1 (en) * 2015-02-04 2016-08-11 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
US11687628B2 (en) 2017-02-13 2023-06-27 Tunego, Inc. Non-fungible token (NFT) authenticity protocol with fraud deterrent
US11256788B2 (en) 2017-02-13 2022-02-22 Tunego, Inc. Tokenized 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
US11604858B2 (en) 2017-02-13 2023-03-14 Tunego, Inc. Media content management
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
WO2022040174A1 (en) * 2020-08-20 2022-02-24 Pearson Education, Inc. Secure content delivery computer system
CN114499993B (zh) * 2021-12-30 2022-11-29 郑州大学 一种基于单向光闸的高可靠性安全传输与控制系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1236228A (zh) * 1997-12-30 1999-11-24 索尼公司 纠错编码方法和装置,数据传输方法,接收方法和接收机
CN1308437A (zh) * 1998-01-15 2001-08-15 苹果电脑有限公司 用于媒体数据传输的方法和装置

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6516435B1 (en) 1997-06-04 2003-02-04 Kabushiki Kaisha Toshiba Code transmission scheme for communication system using error correcting codes
JP3571918B2 (ja) * 1997-06-04 2004-09-29 株式会社東芝 符号伝送方法、送信装置、受信装置および通信システム
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
US20030012287A1 (en) * 2001-03-05 2003-01-16 Ioannis Katsavounidis Systems and methods for decoding of systematic forward error correction (FEC) codes of selected data in a video bitstream
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 データ管理装置及びデータ管理システム
EP2357732B1 (en) 2002-10-05 2022-04-06 QUALCOMM Incorporated 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 キヤノン株式会社 メディアデータ記録方法、メディアデータ記録装置、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体
GB2406483A (en) * 2003-09-29 2005-03-30 Nokia Corp Burst transmission
GB2406488A (en) * 2003-09-29 2005-03-30 Nokia Corp Sigalling in a communications network
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
WO2005048517A1 (en) * 2003-11-12 2005-05-26 Philips Intellectual Property & Standards Gmbh Data packet transmission
EP1715692A4 (en) * 2004-01-28 2008-11-05 Nec Corp METHOD, DEVICE AND SYSTEM FOR ENCODING, DIFFUSION AND RECEPTION OF CONTENT, AND PROGRAM
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
US8270343B2 (en) * 2004-12-20 2012-09-18 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
WO2007028137A2 (en) * 2005-09-01 2007-03-08 Nokia Corporation Method for embedding svg content into an iso base media file format for progressive downloading and streaming of rich media content
ES2383230T3 (es) * 2006-01-05 2012-06-19 Telefonaktiebolaget Lm Ericsson (Publ) Gestión de archivos contenedores de medios
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1236228A (zh) * 1997-12-30 1999-11-24 索尼公司 纠错编码方法和装置,数据传输方法,接收方法和接收机
CN1308437A (zh) * 1998-01-15 2001-08-15 苹果电脑有限公司 用于媒体数据传输的方法和装置

Also Published As

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

Similar Documents

Publication Publication Date Title
CN101416526B (zh) 媒体容器文件管理方法和服务器
US20180123810A1 (en) Methods for delivery of flows of objects over broadcast/multicast enabled networks
KR100742244B1 (ko) 세션들을 고지하는 방법
KR100959574B1 (ko) 모바일 브로드캐스트/멀티캐스트 스트리밍 서버들에 의해사용되는 리치 미디어 컨테이너 형식에 대한 확장들
RU2392745C2 (ru) Объявление об инициализации терминала при помощи сервисного справочника
US20090177942A1 (en) Systems and methods for media container file generation
KR20160025603A (ko) 방송 신호 송/수신 처리 방법 및 장치
CN101243675A (zh) 用于动态丰富媒体场景的传送机制
CN104221315A (zh) 通用对象传递及基于模板的文件传递
CN101669309A (zh) 用于对包括多个组成的通知消息进行传输的方法和装置
US20080137688A1 (en) Transfer of Data Objects
KR102381335B1 (ko) 모바일 사용자 장치들에 컨텐츠를 전송하는 방법

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