CN101601305A - 用于可伸缩多媒体的自适应路径的通用指示 - Google Patents

用于可伸缩多媒体的自适应路径的通用指示 Download PDF

Info

Publication number
CN101601305A
CN101601305A CNA2007800475776A CN200780047577A CN101601305A CN 101601305 A CN101601305 A CN 101601305A CN A2007800475776 A CNA2007800475776 A CN A2007800475776A CN 200780047577 A CN200780047577 A CN 200780047577A CN 101601305 A CN101601305 A CN 101601305A
Authority
CN
China
Prior art keywords
operating point
self adaptation
adaptation operating
described self
indication
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
CNA2007800475776A
Other languages
English (en)
Other versions
CN101601305B (zh
Inventor
M·安尼克塞拉
王业奎
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.)
Nokia Technologies Oy
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Publication of CN101601305A publication Critical patent/CN101601305A/zh
Application granted granted Critical
Publication of CN101601305B publication Critical patent/CN101601305B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • 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/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets
    • 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/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

一种用于与可伸缩视频编码系统和方法一起使用的文件格式结构,其中速率份额操作包指示在文件中哪个针对已编码媒体的自适应操作点是可用的。速率份额操作包可以包括用于每个自适应操作点的自适应结果的特征。另外,速率份额操作包可以包括指示在生成每个自适应操作点中使用的算法的标识符。

Description

用于可伸缩多媒体的自适应路径的通用指示
技术领域
本发明总体上涉及可伸缩视频编码领域。更具体地,本发明涉及通用地指示用于可伸缩多媒体的自适应路径。
背景技术
本部分旨在对权利要求中细述的本发明提供背景或上下文。此处的描述可以包括能够被探究的概念,却不必须是那些之前已经想到或者探究的概念。因此,除了在此明确指出外,本部分提及的内容对于本申请的说明书和权利要求书而言不是现有技术,并且并不因为包括在本部分中就承认其为现有技术。
多媒体应用包括本地播放、流式传输或点播、会话式和广播/多播服务。多媒体应用中涉及的技术例如包括媒体编码、存储和传输。媒体类型包括语音、音频、图像、视频、图形和时间文本。已经针对不同技术制定了不同标准。
存在很多视频编码标准,包括ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或者ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual和ITU-T H.264或者ISO/IEC MPEG-4 AVC。H.264/AVC是ITU-T视频编码专家组(VCEG)和ISO/IEC MPEG的联合视频组(JVT)的工作成果。还存在针对视频编码的专用解决方案(例如,基于Microsoft的Windows Media Video第9版本的VC-1,也公知为SMPTE标准421M),和国家标准化倡议(例如,中国的音频和视频编码标准工作组的AVS编解码器)。这些标准的某些已经制定了可伸缩扩展,例如,MPEG-2Visual和MPEG-4Visual。对于H.264/AVC,目前正在开发可伸缩视频编码扩展SVC,有时也称作SVC标准。
在JVT-T201中描述了SVC的最新草案,即,2006年7月在奥地利的Klagenfurt举行的第20届JVT会议上的“Joint Draft 7 of SVCAmendment”,其可从
http://ftp3.itu.ch/av-arch/jvt-site/2006_07_Klagenfurt/JVT-T201.zip获得。
SVC可以提供可伸缩视频比特流。可伸缩视频比特流的一部分可以以降级的播放视觉质量来提取和解码。可伸缩视频比特流包含不可伸缩的基本层和一个或多个增强层。增强层可以增强时间分辨率(即,帧速率)、空间分辨率,或者简单地增强较低层或其部分所表示的视频内容的质量。在某些情况下,可以在某个定位之后,甚至在任意位置处,截断增强层的数据,并且每个截断位置可以包括表示逐渐增强的视觉质量的某些附加数据。这种可伸缩性被称为精细粒度(颗粒度)可伸缩性(FGS)。与FGS相反,未提供精细粒度可伸缩性的质量增强层所提供的可伸缩性称为粗粒度可伸缩性(CGS)。基本层也可以设计成是FGS可伸缩的。
最新SVC规范中用于提供时间可伸缩性的机制称为“分层(hierarchical)B图片”编码结构。此特征完全由高级视频编码(AVC)支持,而信令部分可以通过使用子序列相关的补充增强信息(SEI)消息执行。
最新SVC规范中用于提供时间可伸缩性的机制称为“分层(hierarchical)B图片”编码结构。此特征完全由AVC支持,而信令部分可以通过使用子序列相关的补充增强信息(SEI)消息执行。
对于提供空间和CGS可伸缩性的机制,与较早标准中使用的编码技术类似的传统分层编码技术和某些新的层间预测方法一起使用。可以被层间预测的数据包括内部纹理(intra texture)、运动和残差数据。单循环解码由受约束的内部纹理预测模式支持,由此,层间内部纹理预测可以应用至这样的宏块(MB),其中,基本层的相应块位于内部MB中。同时,基本层中那些内部MB使用受约束的内部预测。在单循环解码中,解码器仅需要为播放所需的可伸缩层(称为,所需的层)执行运动补偿和完全图片重建。由于此原因,极大地降低了解码复杂性。除了所需的层之外的所有层都不需要完全解码,因为重建所需的层并不需要未用于层间预测(层间内部纹理预测、层间运动预测或者层间残差预测)的MB的数据的全部或部分。
空间可伸缩性已经通用化为支持基本层成为增强层的裁剪和缩放版本。量化和熵编码模块被调整以提供FGS能力。编码模式被称为逐步细化,其中通过重复递减量化步长大小和对子位面(sub-bitplane)编码应用同族“循环”熵编码来对变换系数的连续细化进行编码。
当前草案SVC标准中的可伸缩层结构的特征在于三个变量,称为temporal_level(时间级)、depenency_id(相关性id)和quality_level(质量级),它们在比特流中用信号通知,并且可以根据规范而导出。temporal_level用于指示时间层层级或帧速率。包括较小temporal_level值的图片的层比包括较大temporal_level的图片的层的帧速率要小。depenency_id用于指示层间相关性层级。在任何时间定位处,较小depenency_id值的图片可以用于针对具有较大depenency_id值的图片编码的层间预测。quality_level用于指示FGS层层级。在任何时间定位处和具有相同depenency_id值的情况下,具有quality_level值等于QL的FGS图片使用quality_level值等于QL-1的FGS图片或基本质量图片(即,当QL-1=0时,是非FGS图片),用于层间预测。
在包括至少两个CGS或空间可伸缩层的可伸缩视频的单循环解码中,较低层中已编码图片的仅一部分用于对较高层中相应已编码图片的预测(即,层间预测)。因此,如果发送器知道接收器中播放所需的可伸缩层,则可以通过忽略并不用于层间预测且并不位于播放所需的任何可伸缩层中的那些部分,而减小用于传输的比特速率。应当注意的是,在不同客户端可能希望用于播放的不同层的多播或广播的情况下,那些层被称为所需的层。
SVC的比特流格式包括SVC的每个网络抽象层(NAL)单元报头中simple_priority_id(简单优先级id)的信令。这支持用于SVC比特流的一个自适应路径的信令。另外,SVC比特流的自适应可以沿着dependency_id、quality_level和temporal_level或这些与simple_priority_id的任何组合来实现。然而,simple_priority_id仅能够表示去往自适应路径的SVC比特流的一个分区。其他自适应分区可以基于不同优化标准而同样进行良好的计算,但并不存在将这些自适应分区与SVC比特流关联的方法。
文件格式是多媒体内容制作、操纵、传输和消费的链中重要的元素。在编码格式和文件格式之间存在不同。编码格式涉及将内容信息编码成比特流的特定编码算法的动作。文件格式表示以这样的方式对生成的比特流进行组织,该方式即:使其能够针对本地解码和播放被访问、作为文件传送,或流式传输,所有这些都利用各种存储和传输架构。另外,文件格式可以促进媒体的交换和编辑。例如,很多流式传输应用需要服务器上的预编码比特流伴随有协助服务器将媒体流式传输至客户端的元数据(存储在“索引轨道(hint-track)”中)。索引轨道元数据的示例包括时控信息、同步点的指示和分包(packetization)提示。此信息用于降低服务器的操作负载,以及最大化最终用户体验。
可用媒体文件格式标准包括ISO基本媒体文件格式(ISO/IEC14496-12)、MPEG-4文件格式(ISO/IEC 14496-14)、AVC文件格式(ISO/IEC 14496-15)和3GPP文件格式(3GPP TS 26.244)。还存在MPEG中的计划,该计划用于开发SVC文件格式,这将成为对AVC文件格式的修正。MPEG-4、AVC、3GPP和SVC文件格式都是ISO基本媒体文件格式的派生物,即,它们共享同样的基础语法结构。因此,它们大部分彼此兼容。
ISO基本媒体文件格式是面向对象的文件格式,其中数据被封装在称为“包(box)”的结构中。在ISO基本媒体文件格式的所有派生文件格式中,媒体数据存储在媒体数据包MDAT中,并且元数据存储在电影包MOOV中。媒体数据包括实际的媒体采样。其例如可以包括交织的、时间排序的视频和音频帧。每个媒体在MOOV包中具有其自己的元数据包TRAK,其对媒体内容属性进行描述。MOOV包中另外的包可以包括关于文件属性、文件内容等的信息。
SVC文件格式正在成为AVC文件格式的扩展。SVC文件格式有效地处理可伸缩视频流的存储、提取和伸缩性提供。包含可伸缩比特流的文件大小应当尽可能小,但同时仍旧允许属于不同层的NAL单元的轻型(lightweight)提取。这需要避免媒体数据多个表示的冗余存储,并需要元数据的高效表示。存在用于组织SVC文件的两个主要机制。第一,可以使用分组概念(即,ISO基本媒体文件格式中的采样组结构)来指示图片与可伸缩层的关系。第二,可以定义参考比特流子集的若干轨道,每个轨道对应于形成播放点的可伸缩层的特定组合。
图1描绘了如何将SVC媒体数据存储在文件中。每个访问单元包括一个采样。多个采样形成组块(chunk)。实际内容通常包括很多组块。文件阅读器通常一次读取并处理一个组块。如果播放所需的分层结构不需要访问单元的所有(用于时间可伸缩性)和/或每个需要的访问单元中的所有图片(用于其他类型的可伸缩性),则可以丢弃不希望的访问单元和/或图片。在图片级执行丢弃操作是最高效的。然而,由于每个采样包括一个访问单元,所以采样级分组并不是最优的。另一方面,如果每个图片被定义为一个采样,则将打破这样的定义,即,每个采样是对应于ISO基本媒体文件格式中某个呈现时间的媒体数据。
在最新起草的SVC文件格式中,单词“层级(tier)”用于描述层(layer)。每个NAL单元与组ID相关联,并且多个组ID值被映射到由层级ID标识的层级。这样,针对层级ID,可以找到相关联的NAL单元。每个层级的可伸缩性信息,包括,比特速率、空间分辨率、帧速率等在数据结构ScalableTierEntry()中用信号通知。
在ISO基本媒体文件格式修正1中引入的时控元数据轨道包含描述相关联的媒体或索引轨道的采样。可以规定用于时控(timed)元数据轨道的不同采样格式,并且可以从对特定采样入口语法的参考(由四字符码标识)识别出在时控元数据轨道中使用的格式。时控元数据轨道的采样与时间戳相关联,并且因此与所参考的轨道中相应时间戳的采样相关联。
ISO基本媒体文件格式的修正2草案包含扩展ISO基本媒体文件格式的三个主要特征。第一,其规定了这样的结构:该结构有助于通过诸如ALC和FLUTE的文件递送协议对存储在ISO基本媒体文件的元包中的文件进行递送。具体地,该修正提供了这样的功能,即:存储预先计算的文件的FEC编码,以及利用促进将文件封装成ALC/FLUTE分组的服务器指令来定义索引轨道。第二,修正2规定了这样的方法,其提供关于可伸缩流和备选流之间(假定它们共享公共的带宽资源)目标比例的时间依赖信息。此信息称为组合的速率伸缩信息。第三,该修正还规定了如何将附加的元包(其将备选信息和/或补充信息携带至元包)包括在文件中。
草案ISO基本媒体文件格式修正2中的组合速率伸缩信息是基于两个基本假设:
1.假设组合媒体(例如,音频和视频)应当通过其进行传送的信道的总比特速率被限制于某个常数,或者是时间的分段(piece-wise)常数函数。然而,除了指示用于某个总比特速率的最优音频-视频比特速率份额(share)之外,某些应用可能受益于稳定的音频-视觉质量或体验的自适应路径的指示。例如,如果在广播应用中使用统计的多路复用,则允许单独的音频视觉服务的比特速率变化,以便维持稳定的质量。同时,用于多路复用的所有音频视觉(audiovisual)服务上的总比特速率应当保持不变。传统上,不能指示用于维护稳定质量的速率份额信息。
2.仅给出了轨道之间的目标比特速率份额。然而,并未给出关于如何通过自适应来获得指示的目标比特速率份额的提示或“食谱(cookbook)”指令。因此,由于存在对可伸缩媒体进行调整(例如,帧速率伸缩或质量伸缩)的多种可能性,所以不同实现中的自适应结果可能非常不同。因此,削弱了草案ISO基本媒体文件格式修正2的组合速率伸缩信息的价值。
如上所述,SVC利用单循环解码,即,仅针对最高解码层对参考图片进行解码。因此,不可能实现在任意定位处的层之间的切换,因为将要切换至的层的参考图片并未被解码。可以从SVC NAL单元报头推断出层切换点的存在,但是在传统系统中并不存在指示SVC文件格式结构中切换点的机制。此外,如果移除了高于某个阈值simple_priority_id的SVC NAL单元,则已编码的视频序列保持有效。然而,如果simple_priority_id在已编码的视频序列的中间(即,IDR访问单元之间)发生了改变,则不能保证流的有效性。
发明内容
本发明提供了用于与可伸缩媒体编码系统和方法一起使用的文件格式结构,其中速率份额操作包指示在文件中哪些用于已编码的媒体的自适应操作点可用。速率份额操作包可以包括用于每个自适应操作点的自适应结果的特征。另外,速率份额操作包可以包括标识符,该标识符指示在生成每个自适应操作点时使用哪个算法。
因此,利用速率份额操作包处理文件的任何单元可以基于以下内容来选择期待的自适应操作点:单元的约束和能力如何与自适应操作点的特征或者期待的算法(利用该期待的算法计算出自适应操作点)的特征匹配。可以提供速率份额信息,使得其可以用于在媒体流中维持稳定的音频视觉质量。另外,例如从帧速率伸缩和质量伸缩方面看来,作为可伸缩媒体的自适应结果的媒体更加可靠。
通过下述结合附图的具体描述,本发明的这些和其他优点与特征,连同其组织和操作方式都将变得明显,其中贯穿下述若干附图,相同附图标记表示相同元素。
附图说明
图1是示出了如何将SVC媒体数据存储在文件中的图示;图2示出了用于与本发明一起使用的通用多媒体通信系统;
图3是可以在本发明的实现中使用的移动电话的透视图;
图4是图2的移动电话的电话电路的示意图示;
图5示出了指示作为时间函数的音频/视频速率份额的图示;以及
图6示出了指示作为可用比特速率的函数的音频速率份额的图示。
具体实施方式
本发明提供了文件格式结构,在此称为“速率份额操作包”,用于指示在文件中用于已编码媒体的哪些自适应操作点可用。
图1示出了用于与本发明一起使用的通用多媒体通信系统。如图1所示,数据源100以模拟、未压缩数字式、或压缩数字格式或这些格式的任意组合提供源信号。编码器110将源信号编码成已编码媒体比特流。编码器110能够对多于一个的媒体类型(诸如,音频和视频)进行编码,或者可能需要多于一个的编码器110以对源信号的不同媒体类型进行编码。编码器110还可以得到合成产生的输入,诸如图形和文本,或者其能够产生合成媒体的已编码比特流。在下文中,仅考虑对一个媒体类型的一个已编码媒体比特流进行处理,以便简化描述。然而,应当注意的是,通常实时广播服务包括若干比特流(通常,至少一个音频、视频和文本字幕流)。还应当注意的是,系统可以包括很多编码器,但是在下文中,不失一般性地,仅考虑一个编码器110,以简化描述。
已编码媒体比特流式传输至存储设备120。存储设备120可以包括任何类型的海量存储器,以存储已编码的媒体比特流。存储设备120中已编码媒体比特流的格式可以是基本自给的(elementaryself-contained)比特流格式,或者一个或多个已编码比特流可以封装至容器文件中。某些系统“直播”操作,即,省略存储设备,而直接将已编码媒体比特流从编码器110传输至发送器130。已编码媒体比特流随后传输至发送器130,根据需要,也称为服务器。在传输中使用的格式可以是基本自给的比特流格式、分组流格式,或者一个或多个已编码媒体比特流可以封装至容器文件中。编码器110、存储设备120和发送器130可以位于同一物理设备中,或者它们可以包括在单独的设备中。编码器110和发送器130可以利用直播实时内容进行操作,在该情况下,已编码媒体比特流通常不会永久存储,而是在内容编码器110和/或发送器130中缓冲一小段时间,以平滑处理延迟、传输延迟和已编码媒体比特速率的变化。
发送器130使用通信协议栈来发送已编码媒体比特流。栈可以包括但不限于实时传输协议(RTP)、用户数据报协议(UDP)和互联网协议(IP)。当通信协议是面向分组的时候,发送器130将已编码媒体流封装至分组中。例如,当使用RTP时,发送器130根据RTP净荷格式将已编码媒体比特流封装至RTP分组中。通常,每个媒体类型具有专用RTP净荷格式。再次需要注意,系统可以包含多于一个的发送器130,但是为了简化,以下描述仅考虑一个发送器130。
发送器130可以或可以不通过通信网络连接至网关140。网关140可以执行不同类型的功能,诸如将根据一个通信协议栈的分组流转译成另一通信协议栈、合并以及分流数据流,以及根据下行链路和/或接收机的能力操纵数据流,诸如控制根据流行的下行链路网络条件控制转发的比特流的比特速率。网关140的示例包括多点会议控制单元(MCU)、电路交换和分组交换视频电话之间的网关、一键通话(PoC)服务器、手持数字视频广播(DVB-H)系统的IP封装器,或者将本地广播传输转发到家庭无线网络的机顶盒。当使用RTP时,网关140被称为RTP混合器,并且作为RTP连接的端点。
系统包括一个或者多个接收机150,其通常能够接收、解调已传输的信号,以及将其解封装为已编码的媒体比特流。已编解码的媒体比特流通常进一步由解码器160处理,其输出是一个或者多个未压缩的媒体流。最后,重现器170可以例如通过扬声器或者显示器重现未压缩的媒体流。接收机150、解码器160和重现器170可以处于同一物理设备中,或者它们可以被包含在单独的设备中。
根据比特速率、解码复杂度和图片大小的可伸缩性是异质(heterogeneous)的和易出错的环境中期待的性质。期待此性质,以便应对诸如比特速率、显示器分辨率、网络吞吐量和接收设备中计算功率上的约束之类的限制。
本发明的通信设备可以使用各种传输技术进行通信,其中所述的各种传输技术包括但不限于,码分多址(CDMA)、全球移动通信系统(GSM)、通用移动通信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议/互联网协议(TCP/IP)、短消息传递服务(SMS)、多媒体消息传递服务(MMS)、电子邮件、即时消息传递服务(IMS)、蓝牙、IEEE 802.11等。通信设备可以使用各种媒体进行通信,其中各种媒体包括但不限于无线电、红外、激光、线缆连接等。
图2和图3示出了本发明可以在其中实现的一个代表性移动电话12。然而,应当理解的是,本发明不旨在限于一种特定类型的移动电话12或其他电子设备。图2和图3中描绘的某些或全部特征可以并入图1中所示设备的任一或全部。
图2和图3的移动电话12包括外壳30、液晶显示器形式的显示器32、小键盘34、麦克风36、耳机38、电池40、红外端口42、天线44、根据本发明一个实施例的通用UICC形式的智能卡46、读卡器48、无线接口电路52、编解码器电路54、控制器56以及存储器58。单独的电路和元件可以是本领域公知的所有类型,例如Nokia范围内的移动电话系列。
当通过具有受约束带宽的信道递送可伸缩媒体流的组合时,需要提供用于指示如何从联合递送的所有媒体动态地执行提取数据部分的规定。因此,包含一个或多个可伸缩媒体流的文件被修改以便也保持速率份额信息。速率份额信息的目的是向服务器通知如何在任意时间的实例处从每个可伸缩媒体流提取媒体。这支持服务器处的受控或推荐的伸缩媒体的方式,从而支持初步媒体流的生成。
可以通过将媒体的部分(即,时间范围)与规定目标速率份额值的速率份额信息记录相关联,而将时控速率份额信息添加至存储在媒体轨道中的可伸缩媒体流中。目标速率份额值指示应当分配给所述媒体的可用比特速率的目标百分比。在此最简单的场景中,针对每个媒体和时间范围,仅指定一个目标速率份额值,如图4所示。
然而,为了适应随可用比特速率改变的速率份额值,可以规定多于一个的操作范围。例如,可以指示:音频流部分在较低可用比特速率处需要较高的可用比特速率百分比(比视频)。这可以通过规定两个操作点来完成,如图5所示。
图5中的每个操作点规定目标速率份额。对于更复杂的情况,还可以规定更多的操作点。另外,第一操作点和最后一个操作点分别针对较低的可用比特速率和较高的比特速率而规定在那些点处的目标速率份额。两个操作点之间的目标速率份额被规定在那些操作点的目标速率份额之间的范围内。例如可以利用线性插值(interpolation)来估计两个操作点之间的目标速率份额。
如上所述,本发明提供了一种文件格式结构,在此称为“速率份额操作包”,用于指示在文件中用于已编码媒体的哪些自适应操作点可用。自适应操作点通过选择处理一个或多个已编码媒体比特流的哪些部分,规定了如何对包括一个或多个已编码媒体比特流的已编码多媒体剪辑进行伸缩。对一个或多个已编码媒体比特流的处理可以包括以下的一个或多个:组成传输分组、传输,以及对伸缩的媒体比特流进行解码。
另外,速率份额操作包可以包括用于每个自适应操作点的自适应结果的特征,诸如,自适应是否导致了在所有相关联的轨道间共享的期待的总比特速率,或者自适应是否在每个相关联的轨道中导致了稳定的质量。而且,速率份额操作包还可以包括标识符,其标识使用哪个算法来生成每个自适应操作点。自适应操作点还对应于与该自适应操作点相关联的每个轨道中的自适应路径。例如,就自适应路径可达到的最小和最大比特速率、用于自适应(诸如,图片的空间自适应)的坐标轴、图片的质量自适应、图片速率自适应或其任何组合方面而言,自适应操作点和特定自适应路径的特征可以是速率份额操作包。以下以速率份额操作包的形式给出本发明的实施方式,其中该形式遵从ISO基本媒体文件格式中的伪代码符号。电影包(‘moov’)包含以下所定义的零个或一个速率份额操作包(‘rsop’)。
aligned(8)class RateShareOperationBox
    extends FullBox(′rsop′,version=0,0){
    unsigned int(16)    operation_point_count;
    for (i=1;i <= operation_point_count;i++){
       unsigned int(32)    operation_description;
       unsigned int(32)    track_count;
       for (j=1;j <= track_count;j++) {
           int(32)  track_id;
           unsigned int(15)  adaptation_path_id;
           unsigned int(1)   reserved;
           unsigned int(32)  rate_adaptation_algorithm;
           unsigned int(32)  num_constants_in_adaptation_path;
           for (k=1;k <= num_constants_in_adaptation_path;k++)
               unsigned int(32)  constant_list;
        }
        if ((operation_description & 1) ==1) {
            unsigned int(32)  minimum_bitrate;
            unsigned int(32)  maximum_bitrate;
        }
    }
}
速率份额操作包中语法元素的语义如下:operation_point_count是给出操作点数量的整数。operation_description指示此操作点的速率自适应操作的输出特征。用于operation_description的下述标志规定为:
0x1所有相关联轨道的累积输出比特速率固定为可用的比特速率。
0x2每个相关联的轨道的主观质量在整个轨道的持续时间内保持类似。
track_count指示与此操作点相关联的轨道数量。如果track_count等于1,则为此操作点用信号通知的信息规定了包含在单个已标识轨道中的单个媒体类型的自适应规则。如果track_count大于1,所有指示的轨道包含相同媒体类型,则为此操作点用信号通知的信息仍然描述包含在多个已标识轨道中的单个媒体类型的自适应规则。
track_id指示与操作点相关联的轨道的track_ID。如果track_id不表示包含通用可伸缩媒体元数据的时控元数据轨道,则
adaptation_path_id应当为0。否则,adaptation_path_id指示应当在此操作点中使用哪个自适应路径。
等于0的rate_adaptation_algorithm指示:不应为任何相关联的轨道进行自适应,而是应当如下处理相关联的轨道的所有采样。如果相关联的轨道是索引轨道,则应当生成对应于所有提示采样的分组。如果相关联的轨道是SVC媒体轨道,则包括潜在提取器NAL单元的所有采样应当被解析。对于任何其他轨道,应当正常解析所有采样。此处理的输出应当遵从此包中指示的操作点的特征。等于1的rate_adaptation_algorithm指示:应当使用未知的自适应算法来获取速率份额采样分组指示的目标速率份额。rate_adaptation_algorithm的其他值并未在此规定中规定,但是其指示用于在参考的通用可伸缩媒体元数据轨道中获得自适应路径的算法。
num_constants_in_operation_points规定在此自适应路径中保持常数的特征的数量。
constant_list是四字符代码,其暗含地指向规定了此自适应路径的常数特征的包或结构。四字符代码包括为SVC的轨道选择包规定的那些。常数列表使得能够根据设备和/或软件的能力选择适当的操作点,其中设备和/或软件播放文件或接收根据包括在文件中的索引轨道组成的分组流。
minimum_bitrate是非零值(以千比特/每秒为单位),其指示此操作点应当应用的最低累积比特速率。
maximum_bitrate是非零值(以千比特/每秒为单位),其指示此操作点应当应用的最高累积比特速率。
如上所述,目标速率份额指示应当分配给所关注(in question)媒体的可用比特速率的目标百分比。针对此分配,最大比特速率和最小比特速率用于规定边界。最大比特速率给出了用于指定的媒体和时间范围的可用比特速率的上限。备选地,其可以用于为针对该媒体具有优先级的已分配比特速率的上阈值。最小比特速率指示被认为有用的下阈值。例如,如果分配的比特速率低于此最小比特速率值,则建议服务器根本不要向媒体分配任何比特速率。比特速率随后可以被给予其他媒体流,或者备选流(如果可用的话)。用于速率份额信息的采样分组机制可以用于指示轨道之间的目标比特速率份额。并未规定使轨道限制(thin)为目标比特速率的算法。如果操作点中的track_id表示的并不是包含通用可伸缩媒体元数据的时控元数据轨道,则该轨道可以包含此段中规定的采样分组。采样分组机制定义的速率份额信息应用于媒体采样的持续期间。然而,由于相同的速率份额信息可能应用于轨道的很多连续采样,并且可能仅在两个或三个不同记录之间变化,所以可以通过使用采样分组将速率份额信息高效地存储在轨道中。轨道的每个采样可以与多个采样组描述的(零个或)一个相关联,每个采样组描述定义了速率份额信息的记录。采样组描述包含相关联的采样所属的操作点的标识符。
处理具有速率份额操作包的设备、软件程序、组件或任何其他适当单元可以选择所需的自适应操作点。该选择是基于以下做出的:设备和潜在接收单元的约束和能力如何与自适应操作点的特征或者利用其计算自适应操作点的所需算法的特征相匹配。
下面描述用于选择自适应操作点的示例性系统。流式传输服务器访问包含速率份额操作包的文件。该文件包含不可伸缩的音频比特流和可伸缩的视频比特流,该视频比特流在质量和时间上是可伸缩的。在速率份额操作包中指示两个自适应操作点,其目标都在于在音频和视频之间共享总比特速率。每个自适应操作点表示一对索引轨道(hint track),即,用于音频的索引轨道和用于视频的另一索引轨道。速率份额操作包指示:在第一自适应操作点中,视频在时间上进行伸缩,而在第二操作点中使用质量方面的伸缩。在接收者和服务器之间建立一对一(即,单播)流式传输会话。从服务器向接收者通知时间选项和质量方面的选项。接收者单元可以包括用户接口开关以选择用户的偏好,即,是帧速率(时间伸缩)优先还是画面逼真度(质量伸缩)优先。基于用户的选择,接收者单元向服务器指示应当使用哪个自适应路径。服务器随后基于接收者指示的自适应路径和适当索引轨道创建分组。
自适应路径是利用文件格式结构来发信号通知的,该文件格式结构称为通用可伸缩媒体元数据轨道。通用可伸缩媒体元数据轨道与一个已编码媒体比特流(媒体轨道)或包含用以从已编码媒体比特流形成传输分组的结构的索引轨道相关联。换言之,通用可伸缩媒体元数据轨道包含“食谱”指令,该指令可以用于将参考的轨道限制为期待的比特速率或质量。对通用可伸缩媒体元数据轨道的解码会导致调整的采样。如果从通用可伸缩媒体元数据轨道参考的轨道是索引轨道,则调整的采样是有效的分组净荷。如果参考的轨道是媒体轨道,则调整的采样是有效的媒体采样,诸如视频或已编码的音频帧的已编码图片或访问单元。在下文中提供通用可伸缩媒体元数据轨道的实施方式。通用可伸缩媒体元数据轨道是时控元数据轨道,其利用媒体包中的‘元’handler_type标识。时控元数据轨道通过将通用可伸缩媒体元数据报头包包括在媒体信息包中而进一步以通用可伸缩媒体元数据轨道为特征。通用可伸缩媒体元数据报头包包含涉及下述轨道的一般信息:
aligned(8)class GenericScalableMediaMetadataHeaderBox
    extends FullBox(′gshd′,version =0,1){
    unsigned int(15)  num_adaptation_paths;
    unsigned int(1)  reserved;
    for (i=1;i<=num_adaptation_paths;i++)(
            unsigned int(15)  adaptation_path_id;
            unsigned int(1)   truncation_flag;
    }
}
num_adaptation paths指示轨道提供了多少自适应路径。
adaptation_path_id表示特征在于速率份额操作包的自适应路径,并标识自适应路径。等于1的truncation_flag指示某些采样中利用此自适应路径标识符标记的某些部分可以被截断。等于0的
truncation_flag指示在任何采样中没有利用此自适应路径标识符标记的部分可以被截断。以下规定通用可伸缩元数据轨道的采样条目:
class GenericScalableMediaMetadataSampleEntry() extends
MetadataSampleEntry(′gsmm′)(
    unsigned int(2)  log2_num_parts_minus_one;
    unsigned int(2)  log2_num_paths_minus_one;
    unsigned int(2)  log2_offset_minus_one;
    unsigned int(2)  log2_size_minus_one;
}
采样入口的字段用于规定在用于轨道的采样结构中使用的语法元素的大小(分别对应于字段的值0、1、2和3的8、16、24或32位)。通用可伸缩媒体元数据轨道中的采样使用以下结构:
aligned(8)generic_scalable_media_metadata_sample(sampleSize){
    unsigned int((log2_num_parts_minus_one+1)*8)num_parts;
    for  (i=1;i<=num_parts;i++){
       unsigned int ((log2_num_paths_minus_one+1)*8-1)
num_paths_whole_part;
      unsigned int(1) truncatable_part_flag;
      for(j=1;j <= num_paths_whole_part;j++){
          unsigned int(15) path_id_whole_part;
          unsigned int(1)  reserved;
      }
    if (num_paths_whole_part > 0) {
        unsigned int((log2_offset_minus_one+1)*8) offset_whole_part;
        unsigned int((log2_size_minus_one+1)*8)
num_bytes_whole_part;
    }
    if (truncatable_part_flag == 1) {
        unsigned int((log2_num_paths_minus_one+1)*8-1)
num_partitionigs;
        unsigned int(1) reserved;
        for (k=1;k <= num_partitionings;k++) {
           unsigned int((log2_num_paths_minus_one+1)*8-1)num_paths;
           unsigned int(1)reserved;
           for (m=1;m <= num_paths;m++) {
               unsigned int(15)  path_id;
               unsigned int(1)  reserved;
           }
           unsigned int(8) num_subparts;
           for (m=1;m <= num_subparts;m++) {
               unsigned int((log2_offset_minus_one+1)*8)offset;
               unsigned int((log2_size_minus_one+1)*8)num_bytes;
               unsigned int(7) reserved;
               unsigned int(1) free_truncation_flag;
           }
         }
      }
   }
}
通用可伸缩媒体采样条目包含以下的值:
log2_num_parts_minus_one,log2_num_paths_minus_one,log2_path_id_minus_one,log2_offset_minus_one,and log2_size_minus_one
元数据采样在时间上(在解码时间)与所参考的媒体或索引轨道中的采样对齐。每个元数据采样(也称为自适应采样)与相应的调整采样相关联,该相应的调整采样是按照以下从初始的调整的采样导出的。
初始调整采样可以从已编码的媒体采样或者与自适应采样相关联的索引采样导出。当相关联的轨道是媒体轨道时,从相关联的媒体采样导出初始的调整采样。如果媒体采样并不包含SVC文件格式中规定的聚合器或提取器NAL单元,则初始的调整媒体采样与媒体采样相同。否则,提取器NAL单元参考的数据替代提取器NAL单元被插入初始的调整采样,用于聚合器NAL单元的报头被移除,以及初始的调整媒体采样的任何剩余部分按照现在的样子包含媒体采样的数据。当相关联的轨道是索引轨道时,初始的调整采样是从相关联的提示采样导出的。初始的调整采样与使用采样的净荷构建器生成的分组净荷相同。
自适应采样针对每个自适应路径包含信息,其中初始的调整采样的部分包括在调整的采样中。部分的指示可以利用初始的调整采样内的字节范围列表来指示。字节范围的使用使得该方案忽视媒体采样或分组净荷的语法并因此适用于任何编码或分组净荷格式。如果字节范围从指示的范围的开始可以自由地截断成任何长度的话,那么自适应采样还可以就每个指示的字节范围包含指示。针对通用可伸缩媒体元数据给出的采样结构将初始的调整采样的指示字节范围映射到调整的采样。不同的字节范围可以针对不同的自适应路径而指示。还可以指示某个字节范围是否可自由截断,即,从其开始处开始的字节范围的任何数量字节可以包括在调整的采样中。用于通用可伸缩媒体元数据轨道的语义如下:
num_parts指示初始的调整采样中的部分的数量。没有给出部分的明确定义,但是,通常部分是初始的调整采样内对应于预测参考的单位(诸如,可伸缩视频中的已编码图片)的字节范围。
num_paths_whole_part指示其中包括整个部分的自适应路径的数量。等于0的truncatable_part_flag指示该部分不能截取。
等于1的truncatable_part_flag指示部分的至少一个子部分可以截取。path_id_whole_part指示引入到速率份额操作包中的用于部分的自适应路径标识符。
offset_whole_part指示初始的调整采样从该部分开始处偏移的字节。初始的调整采样的第一字节偏移的值为0。
num_bytes_whole_part指示包括在部分中的字节数量。
num_partitionings指示部分被分成子部分的划分的数量。将部分拆分成子部分的每个唯一方式是划分。例如,如果部分对应于精细粒度可伸缩图片,并且存在指定的两个自适应路径(分别允许图片的总大小在50%-100%和80%-100%范围内进行比特速率伸缩),则将存在针对部分的两个划分。在第一划分中,对应于图片大小的50%的字节范围的子部分将利用等于0的free_truncation_flag来指示,而图片的剩余子部分将利用等于1的free_truncation_flag来标记。用于第二划分的子部分将类似指示。
num_paths指示共享部分到子部分的相同划分的自适应路径数量。
path_id指示速率份额操作包中引入的、为划分规定的用于子部分的自适应路径标识符。
num_subparts指示子部分的数量。没有给出子部分的明确定义,但是其是例如对应于精细粒度可伸缩已编码片的片数据和片报头的部分内的字节范围。
offset指示子部分从其开始的初始的调整采样的字节偏移。初始的调整采样的第一字节偏移的值为0。
num_bytes指示包括在子部分中的字节数量。
等于0的free_truncation_flag指示子部分不应当被截取。
等于1的free_truncation_flag指示通过从子部分的末端开始去除采样而将子部分截取。调整的采样如下创建。让currPathId等于用于期待的自适应路径的标识符。对于包含用于期待的自适应路径的数据的采样(由速率共享信息采样组指示的),执行下述过程。对于每个指示的部分,path_id_whole_part的列表首先与currPathId进行比较。如果path_id_whole_part的值等于currPathId,则offset_whole_part和num_bytes_whole_part的值指示的整个部分包括在调整的采样中。如果不存在等于currPathId的path_id_whole_part的值和等于1的truncatable_part_flag,则直到找到等于currPathId的path_id的值之前,都执行指示的划分成子部分的循环。随后,offset和num_bytes的值指示的每个子部分包括在调整的采样中。如果需要调整的采样的进一步截断符合某个比特预算,例如,free_truncation_flag等于1的那些子部分被截断成期待的长度。调整的采样形成调整的轨道。如果参考的轨道是索引轨道,则调整的采样是有效的分组净荷。如果参考的轨道是媒体轨道,则调整的采样是有效的媒体采样。
应当注意的是,视频编码中的已编码采样通常是已编码的图片或访问单元。音频中的已编码采样通常是已编码的音频帧。另外如上所述,无法保证流的有效性,如果simple_priority_id阈值在已编码视频序列的中间(即,IDR访问单元之间)改变的话。对于在本发明中建议的自适应路径,同样如此。为了指示自适应路径之间的有效切换点,用于自适应路径切换点的采样分组机制用于指示哪些可以用于从一个自适应路径切换到另一个的调整采样。对于此采样分组机制的需求来自于这样的事实,即,SVC利用单循环解码,即,仅针对最高解码层解码参考图片。因此,层之间的切换并不是在任意定位都是可以的,因为在某些定位处,将要切换至的层的参考图片并未解码。此采样分组机制因此可以用于指示层切换点,或者更一般地,指示自适应路径之间的切换点。如果存在自适应路径切换采样组描述,则轨道的每个采样被映射至以下描述的一个自适应路径切换点入口。可以将用于分组类型‘tpsw’的零个或一个采样-到-组(sample-to-group)包(‘sbgp’)包含在通用伸缩元数据轨道的采样表格包(‘stbl’)中。自适应路径切换点采样组入口定义如下:
class AdaptationPathSwithPointEntry()extends
SampleGroupDescriptionEntry(′tpsw′)
{
    unsigned int(8)num_refresh;
    for (i=1;i<=num_refresh;i++){
        unsigned int(15)  refresh_adaptation_path_id;
        unsigned int(1)  reserved;
    }
}
自适应路径切换点采样组入口的语义如下:
num_refresh指示:当任何自适应路径之前在生成调整采样中使用过时,可以在此采样处切换至的自适应路径的数量。
refresh_adaptation_path_id指示用于那些自适应路径的标识符,其中那些自适应路径是当任何自适应路径之前在生成调整采样中使用过时,可以切换至的自适应路径。
在方法步骤的通常背景下对本发明进行了描述,在一个实施例中,这些方法步骤可以通过程序产品来实现,该计算机程序产品包括在网络环境中由计算机执行的计算机可执行指令,诸如程序代码。通常,程序模块包括例程、程序、对象、组件、数据结构等,用于执行具体任务或者实现特定的抽象数据类型。计算机可执行指令、相关数据结构和程序模块代表了用于执行此处公开的方法的步骤的程序代码的示例。这种可执行指令或者相关数据结构的特定序列代表了用于实现在这种步骤中描述的功能的对应动作的示例。
本发明的软件和web实现能够利用标准编程技术来完成,利用基于规则的逻辑或者其他逻辑来实现数据库搜索步骤、相关步骤、比较步骤和决策步骤。还应当注意的是,此处以及权利要求书中使用的词语“组件”和“模块”意在包括使用一行或者更多行软件代码的实现和/或硬件实现和/或用于接收手动输入的设备。
出于示例和描述的目的,已经给出了本发明实施的前述说明。前述说明并非是穷举性的,也并非要将本发明限制到所公开的确切形式,根据上述教导还可能存在各种变形和修改,或者是可能从本发明的实践中得到各种变形和修改。选择和描述这些实施例是为了说明本发明的原理及其实际应用,以使得本领域的技术人员能够以适合于概念的特定用途来以各种实施方式和各种修改而利用本发明。

Claims (25)

1.一种生成包括可伸缩媒体比特流和相关联数据的文件的方法,包括:
生成涉及包括在所述相关联数据中的自适应操作点的信息。
2.根据权利要求1所述的方法,其中涉及所述自适应操作点的所述信息包括:指示在所述文件中存在的所述自适应操作点的数量的元素。
3.根据权利要求1所述的方法,其中涉及所述自适应操作点的所述信息包括:指示所述自适应操作点的每一个产生的输出特征的operation_description(操作_描述)变量。
4.根据权利要求1所述的方法,其中涉及所述自适应操作点的所述信息包括:指示与所述自适应操作点的每一个相关联的自适应路径的元素。
5.根据权利要求1所述的方法,其中涉及所述自适应操作点的所述信息包括:用于生成所述自适应操作点的每一个的算法的指示。
6.一种计算机程序产品,具体化在计算机可读介质上,用于生成包括可伸缩媒体比特流和相关联数据的文件,包括:
用于生成涉及包括在所述相关联数据中的自适应操作点的信息的计算机代码。
7.根据权利要求6所述的计算机程序产品,其中涉及所述自适应操作点的所述信息包括:指示在所述文件中存在的所述自适应操作点的数量的元素。
8.根据权利要求6所述的计算机程序产品,其中涉及所述自适应操作点的所述信息包括:指示所述自适应操作点的每一个产生的输出特征的operation_description(操作_描述)变量。
9.根据权利要求6所述的计算机程序产品,其中涉及所述自适应操作点的所述信息包括:指示与所述自适应操作点的每一个相关联的自适应路径的元素。
10.根据权利要求6所述的计算机程序产品,其中涉及所述自适应操作点的所述信息包括:用于生成所述自适应操作点的每一个的算法的指示。
11.一种设备生成器,被配置用于生成包括可伸缩媒体比特流和相关联数据的文件,包括:
处理器;以及
存储器单元,其可操作地连接至所述处理器,并且包括:
用于生成涉及包括在所述相关联数据中的自适应操作点的信息的计算机代码。
12.根据权利要求11所述的设备,其中涉及所述自适应操作点的所述信息包括:指示在所述文件中存在的所述自适应操作点的数量的元素。
13.根据权利要求11所述的设备,其中涉及所述自适应操作点的所述信息包括:指示所述自适应操作点的每一个产生的输出特征的operation_description(操作_描述)变量。
14.根据权利要求11所述的设备,其中涉及所述自适应操作点的所述信息包括:指示与所述自适应操作点的每一个相关联的自适应路径的元素。
15.根据权利要求11所述的设备,其中涉及所述自适应操作点的所述信息包括:用于生成所述自适应操作点的每一个的算法的指示。
16.一种用于对包括可伸缩媒体比特流和相关联数据的文件进行解析的方法,包括:
从所述相关联数据解析出涉及自适应操作点的信息;
基于关于自适应操作点的所述信息来选择自适应操作点;以及
根据所述自适应操作点对所述文件进行解析。
17.根据权利要求16所述的方法,其中涉及所述自适应操作点的所述信息包括:指示在所述文件中存在的所述自适应操作点的数量的元素。
18.根据权利要求16所述的方法,其中涉及所述自适应操作点的所述信息包括:指示所述自适应操作点的每一个产生的输出特征的operation_description(操作_描述)变量。
19.根据权利要求16所述的方法,其中涉及所述自适应操作点的所述信息包括:指示与所述自适应操作点的每一个相关联的自适应路径的元素。
20.根据权利要求16所述的方法,其中涉及所述自适应操作点的所述信息包括:用于生成所述自适应操作点的每一个的算法的指示。
21.一种计算机程序产品,具体化在计算机可读介质上,用于对包括可伸缩媒体比特流和相关联数据的文件进行解析,包括:
用于从所述相关联数据解析出涉及自适应操作点的信息的计算机代码;
用于基于关于自适应操作点的所述信息来选择自适应操作点的计算机代码;以及
用于根据所述自适应操作点对所述文件进行解析的计算机代码。
22.根据权利要求21所述的计算机程序产品,其中涉及所述自适应操作点的所述信息包括:指示在所述文件中存在的所述自适应操作点的数量的元素。
23.根据权利要求21所述的计算机程序产品,其中涉及所述自适应操作点的所述信息包括:指示所述自适应操作点的每一个产生的输出特征的operation_description(操作_描述)变量。
24.根据权利要求21所述的计算机程序产品,其中涉及所述自适应操作点的所述信息包括:指示与所述自适应操作点的每一个相关联的自适应路径的元素。
25.根据权利要求21所述的计算机程序产品,其中涉及所述自适应操作点的所述信息包括:用于生成所述自适应操作点的每一个的算法的指示。
CN2007800475776A 2006-10-20 2007-10-17 用于可伸缩多媒体的自适应路径的通用指示 Active CN101601305B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US85323206P 2006-10-20 2006-10-20
US60/853,232 2006-10-20
PCT/IB2007/054232 WO2008047319A1 (en) 2006-10-20 2007-10-17 Generic indication of adaptation paths for scalable multimedia

Publications (2)

Publication Number Publication Date
CN101601305A true CN101601305A (zh) 2009-12-09
CN101601305B CN101601305B (zh) 2013-01-23

Family

ID=39313656

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800475776A Active CN101601305B (zh) 2006-10-20 2007-10-17 用于可伸缩多媒体的自适应路径的通用指示

Country Status (8)

Country Link
US (1) US9807431B2 (zh)
EP (1) EP2080383A4 (zh)
KR (1) KR101088772B1 (zh)
CN (1) CN101601305B (zh)
CA (1) CA2666622A1 (zh)
MX (1) MX2009004121A (zh)
TW (1) TWI471015B (zh)
WO (1) WO2008047319A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102572420A (zh) * 2010-12-22 2012-07-11 北京大学 基于可伸缩视频编码的动态丢包控制方法、系统及装置
CN107211168A (zh) * 2015-02-11 2017-09-26 高通股份有限公司 在分层视频文件格式中的样本条目及操作点发信设计
CN110809160A (zh) * 2012-04-13 2020-02-18 Ge视频压缩有限责任公司 用于处理数据流的网络实体

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8005419B2 (en) * 2006-12-29 2011-08-23 Xm Satellite Radio Inc. System and method for securely storing and organizing SDARS content with DRM and non-DRM protected media content, and for facilitating obtaining purchased or subscription-based media based on received SDARS content
CA2730543C (en) * 2008-07-16 2014-04-22 Nokia Corporation Method and apparatus for track and track subset grouping
US20100161716A1 (en) * 2008-12-22 2010-06-24 General Instrument Corporation Method and apparatus for streaming multiple scalable coded video content to client devices at different encoding rates
US9197677B2 (en) * 2009-03-09 2015-11-24 Arris Canada, Inc. Multi-tiered scalable media streaming systems and methods
US9485299B2 (en) * 2009-03-09 2016-11-01 Arris Canada, Inc. Progressive download gateway
US20100250763A1 (en) * 2009-03-31 2010-09-30 Nokia Corporation Method and Apparatus for Transmitting Information on Operation Points
CN101924944B (zh) * 2009-06-15 2013-06-05 华为技术有限公司 可伸缩视频编码操作点选择方法、信息提供方法及设备
CA2711311C (en) 2009-08-10 2016-08-23 Seawell Networks Inc. Methods and systems for scalable video chunking
KR101452859B1 (ko) * 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
US8976871B2 (en) 2009-09-16 2015-03-10 Qualcomm Incorporated Media extractor tracks for file format track selection
CN102714715B (zh) * 2009-09-22 2016-01-20 高通股份有限公司 用于文件格式轨迹选择的媒体提取器轨迹
US9819358B2 (en) 2010-02-19 2017-11-14 Skype Entropy encoding based on observed frequency
US9313526B2 (en) * 2010-02-19 2016-04-12 Skype Data compression for video
US9609342B2 (en) 2010-02-19 2017-03-28 Skype Compression for frames of a video signal using selected candidate blocks
CN103098485A (zh) * 2010-06-14 2013-05-08 汤姆森特许公司 封装编码的多组成视频的方法和装置
US8190677B2 (en) 2010-07-23 2012-05-29 Seawell Networks Inc. Methods and systems for scalable video delivery
US20130243391A1 (en) * 2010-11-23 2013-09-19 Samsung Electronics Co., Ltd. Method and apparatus for creating a media file for multilayer images in a multimedia system, and media-file-reproducing apparatus using same
US9338463B2 (en) * 2011-10-06 2016-05-10 Synopsys, Inc. Visual quality measure for real-time video processing
US9712887B2 (en) 2012-04-12 2017-07-18 Arris Canada, Inc. Methods and systems for real-time transmuxing of streaming media content
TWI470999B (zh) * 2012-06-19 2015-01-21 Wistron Corp 編輯與儲存串流的方法、裝置、系統
US9635394B2 (en) 2013-01-24 2017-04-25 Electronics And Telecommunications Research Institute Method and device for flexible MMT asset transmission and reception
US10171887B2 (en) * 2013-03-13 2019-01-01 Comcast Cable Communications, Llc Methods and systems for intelligent playback
WO2015061794A1 (en) * 2013-10-25 2015-04-30 Futurewei Technologies, Inc. Associating representations in adaptive streaming
GB2538997A (en) * 2015-06-03 2016-12-07 Nokia Technologies Oy A method, an apparatus, a computer program for video coding
US10368071B2 (en) * 2017-11-03 2019-07-30 Arm Limited Encoding data arrays
KR102611261B1 (ko) 2018-06-29 2023-12-08 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 업데이트 대상 lut 또는 비업데이트 lut의 구별
EP4322533A3 (en) 2018-06-29 2024-03-06 Beijing Bytedance Network Technology Co., Ltd. Checking order of motion candidates in lut
WO2020003270A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Number of motion candidates in a look up table to be checked according to mode
EP3797516A1 (en) 2018-06-29 2021-03-31 Beijing Bytedance Network Technology Co. Ltd. Interaction between lut and amvp
JP7256265B2 (ja) 2018-06-29 2023-04-11 北京字節跳動網絡技術有限公司 ルックアップテーブルの更新:fifo、制限されたfifo
JP7100200B2 (ja) 2018-06-29 2022-07-12 北京字節跳動網絡技術有限公司 マージ/amvpにhmvp候補を追加する際の一部/全部プルーニング
WO2020003283A1 (en) 2018-06-29 2020-01-02 Beijing Bytedance Network Technology Co., Ltd. Conditions for updating luts
TWI719526B (zh) 2018-07-02 2021-02-21 大陸商北京字節跳動網絡技術有限公司 查找表的更新
CN111064959B (zh) 2018-09-12 2023-09-01 北京字节跳动网络技术有限公司 要检查多少个hmvp候选
EP3888355A4 (en) 2019-01-10 2022-03-23 Beijing Bytedance Network Technology Co., Ltd. LOOKUP TABLE UPDATE INVOCATION
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
US11716474B2 (en) 2020-01-02 2023-08-01 Samsung Electronics Co., Ltd. Storage of EVC decoder configuration information

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640543A (en) 1992-06-19 1997-06-17 Intel Corporation Scalable multimedia platform architecture
JPH07202820A (ja) 1993-12-28 1995-08-04 Matsushita Electric Ind Co Ltd ビットレート制御システム
US5952994A (en) * 1997-07-31 1999-09-14 Hewlett-Packard Company Method for scaling an image
WO2002001881A2 (en) * 2000-06-30 2002-01-03 Koninklijke Philips Electronics N.V. Encoding method for the compression of a video sequence
KR100399932B1 (ko) * 2001-05-07 2003-09-29 주식회사 하이닉스반도체 메모리의 양을 감소시키기 위한 비디오 프레임의압축/역압축 하드웨어 시스템
US7483581B2 (en) * 2001-07-02 2009-01-27 Qualcomm Incorporated Apparatus and method for encoding digital image data in a lossless manner
ATE551837T1 (de) 2003-12-02 2012-04-15 Panasonic Corp Verfahren und einrichtung zum verteilen von av- inhalt in einem dateiformat des download-typs
US20050129130A1 (en) 2003-12-10 2005-06-16 Microsoft Corporation Color space coding framework
US20050254575A1 (en) * 2004-05-12 2005-11-17 Nokia Corporation Multiple interoperability points for scalable media coding and transmission
KR100679011B1 (ko) 2004-07-15 2007-02-05 삼성전자주식회사 기초 계층을 이용하는 스케일러블 비디오 코딩 방법 및 장치
US8311119B2 (en) * 2004-12-31 2012-11-13 Microsoft Corporation Adaptive coefficient scan order
EP1847965A4 (en) * 2005-01-04 2009-08-12 Ssd Co Ltd PLOTT SETUP AND PLOTT PROCEDURE
US20060167902A1 (en) * 2005-01-21 2006-07-27 Microsoft Corporation System and method for storing a document in a serial binary format
WO2006108917A1 (en) 2005-04-13 2006-10-19 Nokia Corporation Coding, storage and signalling of scalability information
FR2889017A1 (fr) * 2005-07-19 2007-01-26 France Telecom Procedes de filtrage, de transmission et de reception de flux video scalables, signal, programmes, serveur, noeud intermediaire et terminal correspondants
US8571215B2 (en) * 2006-01-05 2013-10-29 Telefonaktiebolaget L M Ericsson (Publ) Combined storage and transmission of scalable media
US8365060B2 (en) * 2006-08-24 2013-01-29 Nokia Corporation System and method for indicating track relationships in media files

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102572420A (zh) * 2010-12-22 2012-07-11 北京大学 基于可伸缩视频编码的动态丢包控制方法、系统及装置
CN102572420B (zh) * 2010-12-22 2014-04-02 北京大学 基于可伸缩视频编码的动态丢包控制方法、系统及装置
CN110809160A (zh) * 2012-04-13 2020-02-18 Ge视频压缩有限责任公司 用于处理数据流的网络实体
US11259034B2 (en) 2012-04-13 2022-02-22 Ge Video Compression, Llc Scalable data stream and network entity
CN110809160B (zh) * 2012-04-13 2022-09-16 Ge视频压缩有限责任公司 用于处理数据流的网络实体
US11876985B2 (en) 2012-04-13 2024-01-16 Ge Video Compression, Llc Scalable data stream and network entity
CN107211168A (zh) * 2015-02-11 2017-09-26 高通股份有限公司 在分层视频文件格式中的样本条目及操作点发信设计

Also Published As

Publication number Publication date
EP2080383A4 (en) 2009-12-09
EP2080383A1 (en) 2009-07-22
KR101088772B1 (ko) 2011-12-01
WO2008047319A1 (en) 2008-04-24
US9807431B2 (en) 2017-10-31
CN101601305B (zh) 2013-01-23
MX2009004121A (es) 2009-06-08
TW200829032A (en) 2008-07-01
TWI471015B (zh) 2015-01-21
KR20090084875A (ko) 2009-08-05
CA2666622A1 (en) 2008-04-24
US20080095230A1 (en) 2008-04-24

Similar Documents

Publication Publication Date Title
CN101601305B (zh) 用于可伸缩多媒体的自适应路径的通用指示
KR101021831B1 (ko) 미디어 파일에서 트랙 관계를 표시하는 시스템 및 방법
EP1977604B1 (en) Method for a backward -compatible encapsulation of a scalable coded video signal into a sequence of aggregate data units
KR101100413B1 (ko) 트랜스코딩된 미디어 스트림들을 위해 상호운용성 포인트의 미리결정된 시그널링을 제공하고 사용하기 위한 시스템 및 방법
RU2697741C2 (ru) Система и способ предоставления указаний о выводе кадров при видеокодировании
RU2430483C2 (ru) Передача сообщений дополнительной расширенной информации в формате полезной нагрузки транспортного протокола реального времени
CN101507281B (zh) 媒体文件中的兴趣区域可缩放性信息的信号发送
CN101444102B (zh) 在可伸缩视频编码中的图像分隔符
TWI482498B (zh) 媒體檔案之多重解碼時間發訊技術
US20080013620A1 (en) Scalable video coding and decoding
KR20100030648A (ko) 시간 레이어 스위칭 포인트들을 표시하는 시스템 및 방법
AU2012202346B2 (en) System and method for indicating track relationships in media files

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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160205

Address after: Espoo, Finland

Patentee after: Technology Co., Ltd. of Nokia

Address before: Espoo, Finland

Patentee before: Nokia Oyj