CN101689137A - 使用共享存储器池的数字数据管理 - Google Patents

使用共享存储器池的数字数据管理 Download PDF

Info

Publication number
CN101689137A
CN101689137A CN200880022319A CN200880022319A CN101689137A CN 101689137 A CN101689137 A CN 101689137A CN 200880022319 A CN200880022319 A CN 200880022319A CN 200880022319 A CN200880022319 A CN 200880022319A CN 101689137 A CN101689137 A CN 101689137A
Authority
CN
China
Prior art keywords
memory
media
amount
media sample
shareable
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
CN200880022319A
Other languages
English (en)
Other versions
CN101689137B (zh
Inventor
A·W·J·弗里曼
O·科勒
J·C·芬格
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN101689137A publication Critical patent/CN101689137A/zh
Application granted granted Critical
Publication of CN101689137B publication Critical patent/CN101689137B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements

Abstract

存储器管理技术涉及建立具有可共享存储器量的存储器池,并且动态地分配可共享存储器以并发地管理多个有序数字数据单元集合。在示例性情景中,有序数字数据单元集合是形成媒体内容的剪辑的时间排序媒体样本集合,并且这些技术是在来自两个或多个剪辑的媒体样本可作为独立控制的流被同时呈现给用户之时应用的。可变的可共享存储器量被动态地分配用于准备即将到来的媒体样本以便向用户呈现。在一种可能的实现中,计算个体流的平均数据速率的比率,并且基于该比率来分配可共享存储器量以便再现每个流。随后,被配用于再现个体流的可共享存储器根据需要被预留以准备特定即将到来的媒体样本以便向用户呈现。

Description

使用共享存储器池的数字数据管理
背景
对数字数据的有效处理常常依赖于对诸如存储器等有限计算资源的高效使用。术语存储器可包括任何类型的计算机可读存储介质,但是计算机在处理数字数据时使用的存储器常常是随机存取存储器。通常,预先分配固定量的存储器用于处理数字数据。然而,有时,此类固定存储器分配是低效率的。一种会发生低效率的情形是在多个有序数字数据单元集合被并发处理之时。
期望一般性地增强对用于处理有序数字数据的存储器的高效使用,尤其是增强对用于再现数字媒体内容的存储器的高效使用。数字媒体内容包括视频、音频、图像、文本、和/或图形的有序序列。当媒体内容播放器向用户呈现此类有序样本时,其可被称为媒体内容流。
新型媒体内容播放器被配置成并发地再现一个以上的独立控制的媒体内容流(例如,主电影连同诸如导演评论、演员传记、或广告等特征)。此类媒体内容播放器还能够将用户可选的可视或可听对象(例如,各种菜单、游戏、特殊效果、或其它选项)与一个或多个媒体内容流一起并发地再现。对媒体内容的再现——尤其是并发地播放独立控制的媒体内容流——会消耗相当量的有限播放器资源,特别是存储器。
概述
本文中所讨论的存储器管理技术涉及建立具有可共享存储器量的存储器池,并且动态地分配可共享存储器以并发地管理多个有序数字数据单元集合。在示例性情景中,有序数字数据单元集合是按时间排序的媒体样本集合,诸如比特、帧、画面组、视频对象单元等。在媒体内容的上下文中,本文中所讨论的技术一般在来自两个或多个集合的媒体样本可作为独立控制的媒体内容流被同时呈现给用户之时使用。然而,应当领会,其他情景是可能的,并且本文中所讨论的技术可应用于任何被同时处理的有序数字数据单元。
特定存储器管理技术涉及探知与处理第一有序数字数据单元集合中数字数据单元里的一些相关联的一个资源消耗指示符,以及探知与处理第二有序数字数据单元集合中数字数据单元里的一些相关联的另一资源消耗指示符。资源消耗可基于各种因素而改变,包括但不限于与数字数据相关联的因素、用于处理数字数据的计算系统、和用户输入。一旦探知,就可比较资源消耗指示符,并且基于比较来动态地分配可共享存储器。
有时,可用的可共享存储器不足以立即实现合需存储器分配。随后,可根据优先级方案分配可用的可共享存储器以避免处理假信号。在一种情景中,较高的优先级被赋予向与处理具有最大资源消耗的数字数据单元集合相关联的动作指派可共享存储器。具有较低资源消耗的数字数据单元集合可能需要反复重复请求资源。替代地,此类集合可被指派待决存储器请求,这些请求在可共享存储器资源变得可用时被赋予优先级。这样,可能确保在多个有序数据数字单元集合将被并发处理时对可共享存储器的高效动态的分配。
在媒体内容流的情形中,资源消耗指示符是与再现个体媒体内容流相关联的数据速率(例如,平均数据速率)。处理具有特定数据速率的媒体内容流(以及处理此类流内的特定媒体样本)所需的存储器资源可基于各种因素而改变,包括但不限于与媒体样本本身相关联的因素(例如,尤其是媒体样本源/位置、媒体样本大小、编码和/或解码参数、以及加密参数)、与媒体内容播放器相关联的因素(例如,尤其是播放器体系结构或动态处理负载)或与用户输入相关联的因素(例如,用户选择的媒体内容格式或用户选择的诸如快进、慢进、快退或慢退等播放速度)。计算个体媒体内容流的数据速率的比率,并且基于比较来动态地分配可共享存储器。当可用的可共享存储器不足以立即实现合需存储器分配时,一种可能的优先级方案确保可共享存储器首先被指派给与处理当前具有少于其被分配的可共享存储器部分的媒体内容流相关联的动作。
提供本概述是为了以简化的形式介绍一些概念。这些概念将在详细描述一节中进一步描述。除本概述中所描述的以外的元素或步骤是可能的,且没有元素或步骤是必需的。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用来协助确定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本文献的任一部分中提及的任何或所有缺点的实现。
附图简述
图1是示例性媒体内容播放器的简化功能框图。
图2是更详细地示出图1的媒体内容管理器块的各方面的简化功能框图。
图3是图解可与图1中所示的媒体内容播放器和/或图4的流程图中所示的方法的某些方面结合使用的与媒体样本集合相关联的媒体时间线的示意图。
图4是使用诸如图2中所示的可共享存储器等共享存储器来并发地管理数个数字数据集合的方法的流程图。
图5是计算单元的示例性配置的简化功能框图。
图6是可在其中实现或使用图1中所示的媒体内容播放器、图4中所示的方法、和/或图5中所示的计算单元中的全部或部分的操作环境的示例性配置的框图。
图7是可在其中实现或使用图6中所示的操作环境的各方面的客户机-服务器体系结构的简化功能框图。
详细描述
本文中所讨论的存储器管理技术针对并发地处理多个有序数字数据单元集合从存储器池动态地分配可共享存储器。出于示例而非限制的目的,特别讨论了对多个媒体内容流的并发再现,并且应当领会本文中讨论的技术可应用于任何同时处理的有序数字数据单元。
某些媒体内容播放器可一次再现两个独立控制的媒体内容流。例如高清晰度DVD播放器被配置成并发地再现主媒体内容流(诸如电影)和辅助媒体内容流(例如,诸如导演评论、演员传记、或广告等特殊特征)。偶发用户输入决定是否和/或何时呈现独立媒体内容流。
为了在呈现媒体内容时避免用户可觉察的假信号,媒体内容再现一般涉及在媒体样本的调度播放时间之前标识和准备呈现将被呈现给用户的一个或多个即将到来的媒体样本。准备用于呈现的特定媒体样本所需的存储器资源并非总是逐样本恒定的。影响所需存储器资源的一些因素与媒体样本本身相关联(包括但不限于诸如媒体样本大小、媒体样本源/位置、编码或解码参数、以及加密参数等因素),但是也可与媒体内容播放器相关联(例如,尤其是播放器体系结构或动态处理负载)或与用户输入相关联(例如,用户选择的媒体内容格式、或用户选择的播放速度)。
当应用于媒体内容再现时,本文中所讨论的特定存储器管理技术涉及动态地分配可变的可共享存储器量来准备特定即将到来的媒体样本以进行呈现。一旦特定媒体样本已被呈现给用户,则所分配的可共享存储器量可被释放并使其可用于重新分配。
当单个媒体内容流正被呈现给用户时,一般可分配所有可用的可共享存储器来再现该单个媒体内容流。然而,当用户独立开始或停止其他媒体内容流时,可用的可共享存储器被分配给一个以上的流。在一种情景中,动态分配可共享存储器以准备每个流中特定即将到来的媒体样本以进行呈现是基于个体媒体内容流的相对平均数据速率的。在示例性实现中,计算个体媒体内容流的数据速率(例如,比特速率)的比率,并且基于数据速率的比率拆分可共享存储器。随后,分配给个体流的可共享存储器根据需要被预留以准备此流中特定即将到来的媒体样本。
当可用的可共享存储器不足以立即实现合需存储器分配和/或分配给个体流的可共享存储器不足以准备此流中的特定即将到来的媒体样本时,一种可能的优先级方案确保可共享存储器首先被指派给与处理正被当前具有少于其被分配的可共享存储器部分的媒体处理流水线处理的媒体内容流相关联的动作,并且存储器请求被任选地指派给其他媒体内容流。当可共享存储器变得可用时,其可被分配给具有待决存储器请求的数据流。
转到附图,其中类似附图标记指示类似组件,图1是再现媒体内容的示例性媒体内容播放器100的简化功能框图,媒体内容包括视频、音频、图像、文本和/或图像的序列(一般是按时间排序的)样本。尽管媒体内容播放器100可以是任何再现媒体内容的系统,包括但不限于光学媒体播放器、计算机、音频播放器、机顶盒、电信设备、个人数字助理、图像记录器、或视频记录器,但所示媒体内容播放器100是交互式多媒体呈现系统(在下文中称为“呈现系统100”)。
呈现系统100包括媒体内容管理器102、交互式内容(“IC”)管理器104、呈现管理器106、时序信号管理块108、以及混合器/再现器110。一般而言,设计选择规定了如何实现呈现系统100的特定功能。这样的功能可使用硬件、软件、或固件、或它们的组合来实现。
在操作中,呈现系统100处理交互式多媒体呈现内容(“呈现内容”)120。呈现内容120包括媒体内容分量(“媒体分量”)122和交互式内容分量(“IC分量”)124。媒体分量122和IC分量124一般地、但不一定分别由媒体内容管理器102和IC管理器104作为单独的数据流来处理。
呈现系统100还便于将呈现内容120作为所播放呈现127向用户(未示出)呈现。所播放呈现127表示与由混合器/再现器110产生且可由用户通过诸如显示器或扬声器(未示出)等设备接收的呈现内容120相关联的可视和/或可听信息。出于讨论的目的,假定呈现内容120和所播放呈现127表示任何格式的高清晰度DVD电影内容的各方面。然而,应当理解,呈现内容120和所播放呈现127可被配置成用于呈现现在已知或将来开发的任何类型的媒体内容呈现。
媒体组件122表示可作为媒体内容流(在以下结合图2进一步显示和讨论媒体内容流208和228)向用户呈现的样本(例如视频、音频、图像、文本、和/或图形的样本)的一个或多个序列(通常为按时间排序的)。可并发地呈现超过一个独立控制的媒体内容流(例如,主电影与诸如导演评论、演员传记、或广告等特征一起)。尽管常常在电影的上下文中讨论媒体内容122,但是媒体分量122实际上可以是视频、音频、数据或其任何组合。
电影一般具有一个或多个版本(例如,针对成年观众的一个版本、以及针对年轻观众的一个版本);一个或多个标题131,其具有与每一标题相关联的一个或多个章节(未示出)(标题在以下结合呈现管理器106进一步描述);一个或多个音轨(例如,电影可使用一种或多种语言来播放,带有或不带有字幕);以及诸如导演评论、附加镜头、演员传记、广告、预告片等等之类的额外特征。应当理解,标题与章节之间的区别纯粹是逻辑上的区别。例如,单个感知的媒体片段可以是单个标题/章节中的一部分,或可由多个标题/章节组成。由内容创作源来确定适用的逻辑区别。
形成媒体分量122的各方面的媒体样本集合(例如,视频、音频、或数据样本集合)一般被称为剪辑123(剪辑123在媒体分量122和播放列表128内示出,且还在图2中被引用并在以下进一步讨论)。然而,应当领会,媒体样本集合可被编组和/或以任何合需方式被引用。媒体样本可由任何合需单元来表示,例如比特、帧、数据分组、画面组、增强型视频对象单元等。特定媒体样本的数字内容(以及特定媒体样本的大小)可基于若干因素,诸如包括该样本的视频、音频、或数据内容的特性、或与从其取得该样本的媒体源相关联的一个或多个参数(例如,媒体源身份和/或位置、编码器/解码器参数或设置、或加密参数或设置)。在以下结合图2进一步讨论媒体源。
媒体数据132是与媒体分量122相关联的、已准备好由媒体内容管理器102再现并被发送到混合器/再现器110的数据。对于每一活动剪辑123,媒体数据132通常包括剪辑中的一部分的再现。
再次参考呈现内容120,IC分量124包括交互式对象125——其是用户可选择的可视或可听对象且可任选地与媒体分量122并发地呈现,以及用于呈现这些可视或可听对象的任何指令(示为应用程序155)。交互式对象的示例尤其包括视频样本或剪辑、音频样本或剪辑、图像、图形、文字及它们的组合等。
应用程序155提供呈现系统100用于向用户呈现交互式对象125的机制。应用程序155表示电子地控制对数据的预定操作的任何信号处理方法或存储的指令。
IC管理器104包括一个或多个指令处理引擎181,它们将接收、解释与应用程序155相关联的命令,并安排与应用程序155相关联的命令的执行。随着应用程序155的执行的进展和用户输入150被接收到,所播放呈现127内的行为可被触发。标记为“来自ICM的输入”190的应用程序155的某些指令的执行可便于与呈现系统100内的其它功能或组件的通信或互操作性。如所示,输入190被媒体内容管理器102接收到(在以下结合图2进一步讨论),但呈现系统100内的其它组件或功能也可响应于输入190。
交互式内容数据(“IC数据”)134是与IC分量124相关联的、已被准备好由IC管理器104再现并被发送到混合器/再现器110的数据。
时序信号管理块108产生各种时序信号158,这些信号被用于控制媒体内容管理器102和IC管理器104分别准备和产生媒体数据132和IC数据134的时序。例如,时序信号管理块108通常负责确定向用户呈现媒体数据132的速率(结合图3示出并讨论的“媒体数据呈现速率307”)和IC数据134的速率。在另一示例中,时序信号158用来实现媒体数据132和IC数据134的大致同步(例如,在每帧的基础上或在另一时间基础上的时序/同步)。
混合器/再现器在视频平面(未示出)中再现媒体数据132,并在图形平面(未示出)中再现IC数据134。图形平面一般,但不一定覆盖在视频平面上以便为用户产生所播放呈现127。
呈现管理器106被配置成与媒体内容管理器102、IC管理器104、混合器/再现器110、以及时序信号管理块108通信,它便于对呈现内容120的处理以及所播放呈现127向用户的呈现。呈现管理器106能访问播放列表128。播放列表128尤其包括可向用户呈现的剪辑123和应用程序155(包括交互式对象125)的按时间排序的序列等。剪辑123和应用程序155/交互式对象125可被安排成形成一个或多个标题131。如上所述,并发地向用户播放超过一个独立控制的标题/媒体内容流是可能的。
呈现管理器106使用播放列表128来探知特定标题131的呈现时间线130。概念上,呈现时间线130指示标题131内可向用户呈现特定剪辑123和应用程序155的时间。在某些情况中,使用播放列表128和/或呈现时间线130来探知一个或多个媒体内容时间线(“媒体时间线”)142也是有用的(示例性媒体时间线142在以下结合图3示出并进一步讨论)。
在操作中,呈现管理器106向媒体内容管理器102和IC管理器104提供信息,包括但不限于有关呈现时间线130和/或媒体时间线142的信息。基于来自呈现管理器106的输入,媒体内容管理器102准备好媒体数据132以供再现,而IC管理器104准备好IC数据134以供再现。
图2是更详细地图解媒体内容管理器块102的各方面的简化功能框图。媒体内容管理器102包括一条或多条媒体处理流水线(示出了两条媒体处理流水线——媒体处理流水线1 202和媒体处理流水线2 220,但是任何数目的媒体流水线都是可能的)。通常,媒体处理流水线1 202和媒体处理流水线2 220各自被用于准备独立控制的媒体内容流208和228以供向用户呈现。一条媒体处理流水线常常负责准备诸如电影等主媒体内容流,而其他媒体处理流水线负责准备诸如导演评论、演员传记、广告等一个或多个辅助媒体内容流。应该领会,媒体内容管理器102可具有基于包括媒体分量122和/或IC分量124的各个剪辑123的身份和调度(预定的或基于偶发用户输入150)的动态处理负载。
同时准备两个或多个剪辑中的即将到来的媒体样本会以不易预测的方式消耗大量计算资源,诸如存储器(例如用于缓存信息)。此外,准备用于呈现的特定媒体样本所需的存储器资源并非总是逐样本或逐剪辑恒定的。影响所需存储器资源的一些因素与媒体样本本身相关联(包括但不限于诸如媒体样本大小、媒体样本源/位置、编码或解码参数、以及加密参数等因素)。影响所需存储器资源的其它因素与媒体内容播放器相关联(例如,尤其是播放器体系结构或动态处理负载),而另一些影响所需存储器资源的因素与用户输入相关联(例如,用户选择的媒体内容、内容格式、或播放速度)。
为了在呈现媒体内容时避免用户可觉察的假信号,媒体内容再现一般涉及在媒体样本的调度播放时间之前分别标识和准备呈现将被呈现给用户的一个或多个即将到来的媒体样本。准备特定即将到来的媒体样本以向用户呈现涉及多个步骤,包括但不限于标识下一可播放媒体样本以及从特定媒体源读取下一可播放媒体样本(在以下进一步讨论)。由于媒体内容通常被编码、加密和/或压缩,因此下一可播放媒体样本可被解复用、解码、和/或解密以从读取自媒体源的信息获得可再现内容。
标识下一可播放媒体样本的步骤将参照图3中所示的示例性媒体时间线142进行讨论。在媒体时间线142上指示了各个媒体样本呈现时间302。媒体样本呈现时间302表示特定剪辑的播放持续时间内的时刻,在这些时刻上一个或多个媒体样本可作为媒体数据132被呈现。如图所示,媒体样本呈现时间302可按基于可逐剪辑变化的预定媒体数据呈现速率307的速率发生。注意,媒体数据呈现速率307不必与特定剪辑123被编码的速率相同,尽管媒体数据呈现速率可基于特定剪辑的编码速率而改变。某些用户输入150也可影响从媒体源检索媒体样本的速度并由此影响媒体样本呈现时间302发生的速率。例如,所播放的呈现127可按正常速度在前向方向上行进,并且也可按快于或慢于正常速度的速度在前向和反向两个方向上行进。应当领会,正常速度是相对术语,且正常速度可以逐呈现以及逐剪辑地变化。在快退和快进操作期间,某些媒体内容的播放通常被跳过。其它用户输入可造成某些内容的播放被跳过,诸如在用户从电影的一部分跳到另一部分时。
在媒体时间线142上示出了(播放持续时间)的当前正流逝播放时间309。还示出了下一可呈现媒体样本呈现时间314。下一可呈现媒体样本呈现时间314表示与可向用户呈现的下一媒体样本(在与当前正流逝播放时间309相关联的当前媒体样本之后)相关联的媒体样本呈现时间302。应当领会,下一可呈现媒体样本可以是基于播放列表208的下一连续媒体样本,或者可以是同与当前正流逝播放时间309相关联的媒体样本相距一个或多个媒体样本呈现时间302的媒体样本。
存在探知下一可呈现媒体样本/媒体样本呈现时间314的各种方式,其在此处不详细讨论。一般而言,探知预测的流逝播放时间320和相对应的下一可呈现媒体样本。预测的流逝播放时间320表示基于播放速度和媒体帧速率307将历经的播放持续时间量(除当前正流逝播放时间309之外)。使用该预测的流逝播放时间314来定位将成为下一可呈现媒体样本呈现时间314的特定媒体样本呈现时间302,且可标识该下一可呈现媒体样本。
再次参看图2,当两个剪辑的媒体样本可被并发地呈现给用户时,则在媒体处理器流水线1 202内,与特定剪辑123相关联的即将到来的媒体样本被标识并从媒体源204检索,并且在解码器1 206处被解复用、解码和/或解密。类似地,在媒体处理流水线2 220内,与另一特定剪辑123相关联的即将到来的媒体样本被标识并从媒体源2 224检索,并在解码器2 226处被解复用、解码、和/或解密。媒体源可以是可从中取得或获取媒体样本的任何设备、位置或数据。解码器是用于从接收自媒体源的信息恢复可再现媒体样本的任何设备、技术或步骤。尽管示出了解码器与媒体源之间的一对一关系,但应当领会,一个解码器可服务多个媒体源,反之亦然。
为了高效地管理对呈现系统100的存储器资源的使用,媒体内容管理器102包括响应于媒体处理流水线202和220的存储器分配管理器(“MAM”)205。MAM 205负责动态地分配可变的可共享存储器量以便准备特定即将到来的媒体样本以进行呈现。在一种可能的实现中,MAM 205是编码在计算机可读存储介质上的计算机可执行指令集,这些指令在被执行时执行在以下结合图4进一步示出并讨论的方法的各方面。MAM 205作为一个或多个API函数的实现(例如,在以下进一步讨论的返回存储器池240的存储器位置)可能是合需的,这些函数可被媒体处理流水线202和220的指令的编写者访问。在其他实现中,MAM 205可位于呈现系统100的其他物理或逻辑组件中。
存储器池240是特定计算机可读存储介质的(任意大小或配置的)量或区域的抽象表示,该特定计算机可读介质可被视为具有可根据某些算法(以下结合图4示出和讨论示例性算法)经由MAM 205被单独分配以供媒体处理流水线202和220使用的单元。存储器池240的一部分被称为非共享存储器241,其表示被限于供或者媒体处理流水线1 202或者媒体处理流水线2使用而非两者都能使用的存储器单元。存储器池240的另一部分被称为可共享存储器244,其表示可被分配以供或者媒体处理流水线1 202或者媒体处理流水线2 220或者两者(或者在适合的情况下的其他媒体处理流水线)使用的存储器单元。在解说性示例中,存储器池240是RAM的40MB,共享存储器244是30MB,而非共享存储器241是10MB,其中非共享存储器中的5MB仅限于供媒体处理流水线1 202使用,且非共享存储器中的5MB仅限于供媒体处理流水线2 220使用。
动态共享存储器分配1 246表示可共享存储器244中已(根据诸如数据速率等资源消耗指示符,这在以下结合图4进一步讨论)被分配供媒体处理流水线1 202使用的总量,而动态共享存储器分配2 248表示共享存储器244中已被分配供媒体处理流水线2 220使用的总量。一般而言,可变共享存储器分配量1 246被媒体处理流水线1 202请求并预留以准备即将到来的媒体样本以进行呈现,并且当向用户播放这些媒体样本时,所请求/预留的共享存储器分配量1 246被释放。类似地,可变共享存储器分配量1 248被媒体处理流水线2 220请求并预留以准备即将到来的媒体样本以进行呈现,并且当向用户播放这些媒体样本时,所请求/预留的共享存储器分配量2 248被释放。
继续参看图1-3,图4是用于使用共享存储器并发地管理数个数字数据集合——诸如安排成使用可共享存储器244来管理的数个有序媒体样本集合(诸如剪辑123)的媒体内容——的方法的流程图。
图4中图解的过程可在诸如以下结合图5所讨论的处理器502之类的一个或多个通用、多用途或单用途处理器中实现。除非具体指明,否则此处所述的方法不限于特定次序或顺序。此外,所述的方法或其元素中的一些可并发地发生或执行。
该方法始于框400,并且继续进行至框402,在那里预留用于处理第一数字单元集合的共享存储器量。在呈现系统100的上下文中,第一数字单元集合可被认为是经由媒体处理流水线202再现(为媒体内容流1 208)的电影的特定剪辑123。当媒体内容流1 208仅是被呈现给用户的媒体内容流时,所有可用的可共享存储器244一般可被MAM 202分配用于再现媒体内容流1 208。
接着,在菱形框404,确定是否与第一数字单元集合并发地处理第二数字单元集合。在呈现系统100的上下文中,第二数字单元集合可以被认为是用户选择的辅助媒体内容流(被再现为媒体内容流2 228),尤其诸如画中画的导演评论、广告、或以高清晰度再现的电影的一部分。当媒体内容流1 208和媒体内容流2 228被并发地再现时,MAM 205一般在供媒体处理流水线1 202使用(用于标识和解码媒体内容流1 208中即将到来的媒体样本)与供媒体处理器流水线2 220使用(用于标识和解码媒体内容流2 228中即将到来的媒体样本)之间划分可共享存储器244。虽然具体讨论了可共享存储器244,但是注意,媒体处理流水线一般也能访问非共享存储器量241,后者一般被用于开始再现特定剪辑/媒体内容流中的媒体样本(其可以是或不是开头的顺序媒体样本),并且访问共享存储器244是作为非共享存储器访问的补充。
如框406所指示的,一种在与并发地处理两个数字单元集合相关联的动作之间划分对共享存储器的使用的方法是基于与处理这些数字单元集合相关联的相对资源消耗速率来分配共享存储器。在呈现系统100的上下文中,示例性资源消耗速率是特定媒体内容流的平均数据速率,而示例性分配是基于平均数据速率的比率的分配。
可通过将当前正从特定剪辑再现的总样本数(例如,正被解码或已被解码并被缓冲但尚未向用户播放的样本的大小)除以当前正被再现的总样本数的总播放时间(例如,根据媒体时间线142来确定)来计算诸如媒体内容流1 208和媒体内容流2 228等特定媒体内容流的平均数据速率。在(例如,使用媒体时间线142)标识即将到来的媒体样本,且成功地预留可共享存储器用于再现所标识的即将到来的媒体样本时,并且也在向用户播放经再现的媒体样本且成功释放存储器时,可更新平均数据速率。例如,如以上所讨论地假定共享存储器244是30MB,媒体内容流1 208具有40MB/秒的平均数据速率,且媒体内容流2228具有20MB/秒的平均数据速率,则媒体内容流1 208与媒体内容流2 228之间的数据速率的比率为2∶1,且基于该比率对可共享存储器244的分配可以是20MB给媒体处理流水线1 202以供再现媒体内容流1 208而10MB给媒体处理流水线2 220以供再现媒体内容流1 228。
有时,如菱形框407所示的,或许不可能基于计算出的比率立即分配合需量的可共享存储器244(例如,如以下所讨论的,在框412,一条或两条媒体处理流水线可能先前已预留了存储器,这些存储器尚未被释放)。如果合需分配当前是不可能的,则一种解决方案是基于优先级方案指派可用的可共享存储器,如框418所指示的。如果存储器请求优先级将被指派,如菱形框420处所指示的,则当在框416释放离散的可共享存储器量时(参看菱形框424),且那些可共享存储器量超过释放它们的媒体处理流水线的合需分配(基于平均数据速率的比率)时,可根据待决存储器请求优先级来立即重新分配它们。
假定在菱形框407可基于在框406处计算出的比率立即分配合需量的可共享存储器244,则在框408,执行请求和/或预留特定所分配共享存储器量用于处理数字单元集合的诸部分的步骤。在呈现系统100的上下文中,媒体处理流水线1 202和媒体处理流水线2 220两者(例如,从MAM 205)请求预留先前分配的离散的可共享存储器量244,这些存储器量是为再现所标识的即将到来的媒体样本(例如,基于媒体时间线142所标识的)所必需的。准备个体媒体样本所需的存储器资源并非总是逐样本或逐剪辑恒定的,其受到诸如媒体样本大小、媒体源位置或身份、编码或解码参数、媒体样本呈现格式、压缩参数、加密参数、播放速度、媒体内容播放器的动态处理负载等因素以及其他因素的影响。
如果在菱形框410处确定存在足够的未预留可共享存储器244(在框206分配的)来满足对再现特定剪辑/媒体内容流的特定即将到来的媒体样本所需的离散存储器量的请求,则(例如,由MAM 205)代表请求方媒体处理流水线预留所请求存储器量,如框412处所指示的。一般而言,预留减少了可供请求方媒体处理流水线使用的(在框206分配的)可共享存储器量244。注意,此类预留还可独立地影响在框406处对可应用媒体内容流的平均数据速率的计算。
如在框416所指示的,当完成处理(例如,向用户呈现媒体数据132)时,MAM 205释放在框412处预留的离散存储器量。一般而言,释放增加了可供释放方媒体处理流水线使用的(在框206分配的)可共享存储器量244。在其中在框406处不能立即实现对可共享存储器244的合需分配且所释放的存储器量大于释放方媒体内容流水线的合需分配的场合,则可根据在框406处计算出的合需分配立即重新分配所释放的存储器。类似地,如果在菱形框414处指示有待决存储器请求优先级(以下进一步讨论的),则满足待决存储器请求优先级。
再次回顾菱形框410,假定已实现合需分配,但确定(对于一条或多条媒体处理流水线)没有足够的未预留可共享存储器244(在框206处分配的)来满足对再现特定即将到来的媒体样本所需的离散存储器量的请求,则基于优先级方案指派可用的可共享存储器,如框418处所指示的。在一种可能的优先级方案中,较高优先级被赋予向当前具有少于其被分配的可共享存储器部分的媒体处理流水线指派可共享存储器。替换性方案是可能的,例如,对向具有较高平均数据速率下的媒体内容流的媒体处理流水线指派可共享存储器赋予较高优先级。例如,假定两个媒体处理流水线皆具有超过其在框406处计算出的分配额的所请求可共享存储器。如果在框420,存储器请求优先级被指派给当前具有少于其被分配的可共享存储器部分的媒体处理流水线,则其他媒体处理流水线可接收较低存储器请求优先级或没有存储器请求优先级。继在接收存储器请求优先级之后,如框422处指示的,媒体处理流水线等待直至在框416处(由等待方媒体处理流水线或由任一媒体处理流水线)释放了足够的存储器,并且所释放的存储器根据(诸)存储器请求优先级被立即预留。
在另一示例中,假定一条媒体处理流水线具有超过其在框406处计算出的分配额的所请求可共享存储器。一种解决方案可以是在该媒体处理流水线当前具有少于其被分配的可共享存储器部分的情况下指派存储器请求优先级,而在请求方媒体处理流水线的确具有其被分配的可共享存储器部分的情况下不指派存储器请求优先级。当指派存储器请求优先级时,如框422处指示的,媒体处理流水线随后等待直至在框416处由任一媒体处理流水线释放了足够的存储器,并且所释放的存储器根据(诸)存储器请求优先级被立即预留。
如菱形框420所指示的,当未指派存储器请求优先级时,一种解决方案是要求媒体处理流水线反复重新请求离散存储器量,直至所需存储器可用(例如,或者在框406处计算出的分配改变,和/或其他媒体处理流水线释放了超过其当前分配的存储器)。
如菱形框414处所指示的,一般按优先级或时间顺序服务待决存储器请求优先级。可能期望在于框206处重新分配可共享存储器244时重置存储器请求优先级。此类重新分配可各个时间上发生,这些时间独立于媒体时间线142中图解的媒体样本呈现时间。如果没有待决存储器请求优先级,且媒体数据流停止,则该方法返回框402,在那里所有可用的可共享存储器244可为正被再现的其他媒体数据流所用。
图5是通用计算单元500的框图,它图解了可用于实现呈现系统100的各个功能组件或可由其访问或可被包括在其中的某些功能组件。计算单元500的一个或多个组件可用于实现IC管理器104、呈现管理器106、以及媒体内容管理器102,或可由其访问,或可被包括在其中。例如,图5的一个或多个组件可被封装在一起或分开封装以按照各种方式来实现呈现系统100的功能(整体或部分)。
一个或多个处理器502响应计算机可读介质504和计算机程序506。处理器502可以是真实或虚拟处理器,它通过执行计算机可执行指令来控制电子设备的功能。处理器502可执行汇编、编译或机器级指令以施行特定过程。这样的指令可使用源代码或任何其它已知的计算机程序设计工具来创建。
计算机可读介质504表示任何形式的、现在已知或将来开发的、能够记录、存储或传输诸如可由处理器502执行的指令等计算机可读数据的任意数量的本地或远程设备或其组合。具体地,计算机可读介质504可以是或可包括半导体存储器(例如,诸如只读存储器(“ROM”)、任何类型的可编程ROM(“PROM”)、随机存取存储器(“RAM”)、或闪存);磁存储设备(诸如软盘驱动器、硬盘驱动器、磁鼓、磁带、或磁光盘);光学存储设备(诸如任何类型的紧致盘或数字多功能盘);磁泡存储器、高速缓冲存储器、核存储器、全息存储器;记忆棒;纸带;穿孔卡;或其任何组合。计算机可读介质504还可包括传输介质及其相关联的数据。传输介质/数据的示例包括但不限于具体化成任何形式的有线或无线传输的数据,诸如由已调制载波信号承载的分组化或非分组化数据。
计算机程序506表示电子地控制对数据的预定操作的任何信号处理方法或存储的指令。一般而言,计算机程序506是根据基于组件的软件开发的公知实践被实现为软件组件、并被编码到计算机可读介质(诸如计算机可读介质504)中的计算机可执行指令。计算机程序可按照各种方式组合或分发。
在呈现系统100的上下文中描述的函数/组件不限于由计算机程序的任意具体实施例来实现。相反,函数是传送或变换数据的过程,一般可由硬件、软件、固件或其组合实现或执行,并位于呈现系统100的功能元件的任何组合处或可由其访问。
继续参考图5,图6是可在其中实现或使用计算单元500或呈现系统100的全部或一部分的操作环境600的示例性配置的框图。操作环境600一般指示各种各样的通用或专用计算环境。操作环境600仅是合适的操作环境的一个示例,而不旨在对此处所述的系统和方法的使用范围或功能提出任何限制。例如,操作环境600可以是现在已知或将来开发的一种类型的计算机,诸如个人计算机、工作站、服务器、便携式设备、膝上型计算机、图形输入板;或任何其它类型的电子设备,诸如光学媒体播放器或另一类型的媒体播放器,或其任何方面。操作环境600例如也可以是分布式计算网络或Web服务。操作环境600的一个具体示例是诸如DVD播放器或与其相关联的操作系统之类的便于播放高清DVD电影的环境。
如图所示,操作环境600包括或访问计算单元500的各组件,包括处理器502、计算机可读介质504以及计算机程序506。作为公知且广泛可用的元件的一个或多个内部总线620可用于承载计算环境600或其元件内的、去往它们的或来自它们的数据、地址、控制信号以及其它信息。
输入接口608提供对计算环境600的输入。输入可使用诸如用户接口之类的任何类型的现在已知或将来开发的接口来收集。用户接口可以是诸如遥控器、显示器、鼠标、笔、指示笔、跟踪球、键盘等触摸输入设备、话筒、扫描设备和用于输入数据的所有类型的设备。
输出接口610提供来自操作环境600的输出。输出接口610的示例包括显示器、打印机、扬声器、驱动器(诸如光盘驱动器和其它盘驱动器)等。
外部通信接口612可用于增强操作环境600经由诸如信道信号、数据信号、或计算机可读介质之类的通信介质从另一实体接收信息或向其发送信息的能力。外部通信接口612可以是或可包括诸如电缆调制解调器、数据终端设备、媒体播放器、数据存储设备、个人数字助理之类的各种元件、或任何其它设备或组件/其组合以及相关联的网络支持设备和/或软件或接口。专用硬件615表示任何实现操作环境600的各个功能的硬件或固件,诸如收发机、编解码器、专用电路、盘驱动器等。
图7是可结合其使用呈现系统100、计算单元500、或操作环境600的客户机-服务器体系结构700的简化功能框图。呈现系统100、计算单元500和/或操作环境600的一个或多个方面可被表示在体系结构700的客户机侧702上或被表示在体系结构700的服务器侧704上。如图所示,通信框架703(可以是任意类型的例如有线或无线的公共或专用网络)便于客户机侧702与服务器侧704之间的通信。
在客户机侧702上,可使用硬件、软件、固件或它们的任意组合实现的一个或多个客户机706响应于客户机数据存储708。客户机数据存储708可以是计算机可读介质504,其用于存储对客户机706本地的信息。在服务器侧704上,一个或多个服务器710响应于服务器数据存储712。与客户机数据存储708一样,服务器数据存储712可包括一个或多个计算机可读介质504,其用于存储对服务器710本地的信息。
已描述了用于与媒体内容同步地向用户呈现交互式内容的呈现系统的各方面。然而,应当理解,并不需要使用该呈现系统的所有所描述的组件,各组件在使用时也不必并发存在。在呈现系统100的上下文中被描述为计算机程序的函数/组件不限于由计算机程序的任意具体实施例来实现。相反,函数是传送或变换数据的过程,且一般可使用硬件、软件、固件或其任何组合来实现或执行。
尽管使用结构特征和/或方法动作专用的语言描述了此处的主题,但也可以理解,权利要求书中定义的主题不必限于上述的具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
还可以理解,当一个元素被指示为对另一个元素作出响应时,这些元素可直接或间接耦合。此处所描述的连接在实践中可以是逻辑或物理的,以实现元素之间的耦合或通信接口。连接可被实现为软件进程之间的进程间通信,或联网计算机之间的机器间通信等。
在本文中使用的词语“示例性”意味着用作示例、实例或说明。此处被描述为“示例性”的任何实现或其各方面不必被解释为对于其它实现或其方面是优选的或有优势的。
如可以理解的,可设计除上述具体实施例之外的实施例而不背离所附权利要求书的精神和范围,本文主题的范围旨在由所附权利要求书限定。

Claims (20)

1.一种编码有计算机可执行指令(506)的计算机可读存储介质(504),所述指令在被处理器(502)执行时执行用于使用具有可共享存储器量(244)的存储器池(240)来管理数字数据的方法(400),所述数字数据包括多个有序数字数据单元集合,所述方法包括:
标识具有第一序列的第一数字数据单元集合(402);
标识具有第二序列的第二数字数据单元集合(404);
当所述第一集合的一部分将与所述第二集合的一部分被同时处理时,
探知(406)与处理所述第一序列中所述数字数据单元里的一些相关联的第一资源消耗指示符;
探知(406)与处理所述第二序列中所述数字数据单元里的一些相关联的第二资源消耗指示符;
计算(406)所述第一资源消耗指示符相对于所述第二资源消耗指示符的比率;以及
根据所述比率,在同处理所述第一集合相关联的动作与同处理所述第二集合相关联的动作两者之间动态地分配(406,407,408)所述存储器池中的所述可共享存储器量。
2.如权利要求1所述的计算机可读存储介质(504),其特征在于,所述方法还包括:
当所述第一集合的一部分不与(404)所述第二集合的一部分同时被处理时,将所述存储器池中的所述可共享存储器量动态地分配给或者与处理所述第一集合相关联的动作或者与处理所述第二集合相关联的动作而非分配给两者。
3.如权利要求1所述的计算机可读存储介质(504),其特征在于,所述第一和第二资源消耗指示符包括分别与处理所述第一和第二数字数据单元集合相关联的平均资源消耗速率。
4.如权利要求1所述的计算机可读存储介质(504),其特征在于,所述方法还包括:
当所述第一集合的一部分将与所述第二集合的一部分被同时处理时,
探知(407)可用的可共享存储器量不足以供根据所述比率的分配之用;
向或者与处理所述第一数字单元集合相关联的动作或者与处理所述第二数字单元集合相关联的动作指派优先级(420);以及
基于所指派的优先级动态地分配(418)所述存储器池中的所述可共享存储器量。
5.如权利要求4所述的计算机可读存储介质(504),其特征在于,所述基于所述优先级来分配所述存储器池中的所述可共享存储器量的步骤包括:
当所述优先级被指派给与处理所述第一集合相关联的动作时,将所述存储器池中的所述可共享存储器量分配给与处理所述第一集合相关联的动作,以及
当所述优先级被指派给与处理所述第二集合相关联的动作时,将所述存储器池中的所述可共享存储器量动态地分配给与处理所述第二集合相关联的动作。
6.如权利要求1所述的计算机可读存储介质(504),其特征在于,或者所述第一序列或者所述第二序列或者这两者是或者预定的或者被动态确定的。
7.一种编码有计算机可执行指令(506)的计算机可读存储介质(504),所述指令在被处理器(502)执行时执行用于使用可共享存储器池(244)来再现媒体内容(122)的方法(400),所述媒体内容被安排成多个有序媒体样本集合,所述方法包括:
标识(402)可从第一媒体源(204)接收的第一媒体样本集合(123);
标识(404)可从第二媒体源(224)接收的第二媒体样本集合(123);
计算(406)与再现所述第一媒体样本集合相关联的第一数据速率;
计算(406)与再现所述第二媒体样本集合相关联的第二数据速率;
将所述第一数据速率与所述第二数据速率作比较(406);以及
基于所述比较步骤,从所述可共享存储器池动态地分配(406,407,408)第一存储器量(246)以供再现所述第一媒体样本集合,以及从所述可共享存储器池动态地分配(406,407,408)第二存储器量(248)以供同时再现所述第二媒体样本集合。
8.如权利要求7所述的计算机可读介质(504),其特征在于,所述方法还包括:
标识来自所述第一媒体样本集合的第一即将到来的媒体样本;
标识来自所述第二媒体样本集合的第二即将到来的媒体样本,所述第二即将到来的媒体样本将与所述第一即将到来的媒体样本被同时再现;
探知用于再现所述第一即将到来的媒体样本的第一合需存储器量;
探知用于再现所述第二即将到来的媒体样本的第二合需存储器量;
当可从所述可共享存储器池得到的存储器量足以动态地分配所述第一合需存储器量和所述第二合需存储器量两者时,
动态地分配用于再现所述第一即将到来的媒体样本的所述第一合需存储器量,并将可从所述可共享存储器池得到的所述存储器量减少所述第一合需存储器量,以及
动态地分配用于再现所述第二即将到来的媒体样本的所述第二合需存储器量,并将可从所述可共享存储器池得到的所述存储器量减少所述第二合需存储器量;以及
当可从所述可共享存储器池得到的存储器量不足以动态地分配所述第一合需存储器量和所述第二动态存储器量两者时,
或者动态地分配用于再现所述第一即将到来的媒体样本的所述第一合需存储器量并将可从所述可共享存储器池得到的所述存储器量减少所述第一合需存储器量,或者
动态地分配用于再现所述第二即将到来的媒体样本的所述第二合需存储器量,并将可从所述可共享存储器池得到的所述存储器量减少所述第二合需存储器量。
9.如权利要求8所述的计算机可读介质(504),其特征在于,当可从所述可共享存储器池得到的存储器量不足以动态地分配所述第一合需存储器量和所述第二动态存储器量两者时,
在所述第一数据速率高于所述第二数据速率时动态地分配所述第一合需存储器量,以及
在所述第二数据速率高于所述第一数据速率时动态地分配所述第二合需存储器量。
10.如权利要求8所述的计算机可读介质(504),其特征在于,还包括:
当所述第一合需存储器量已被动态地分配时,继已再现所述第一即将到来的媒体样本之后,将可从所述可共享存储器池得到的所述存储器量增加所述第一合需存储器量;以及
当所述第二合需存储器量已被动态地分配时,继已再现所述第二即将到来的媒体样本之后,将可从所述可共享存储器池得到的所述存储器量增加所述第二合需存储器量。
11.如权利要求8所述的计算机可读介质(504),其特征在于,还包括:
当可从所述可共享存储器池得到的存储器量不足以动态地分配所述第一合需存储器量和所述第二动态存储器量两者时,在所述第二合需存储器量被动态地分配时向所述第一合需存储器量指派存储器分配优先级,或者在所述第一合需存储器量被动态地分配时向所述第二合需存储器量指派分配优先级;
当所述分配优先级被指派给所述第一合需存储器量且可从所述可共享存储器池得到的所述存储器量变成等于或大于所述第一合需存储器量时,自动从所述可共享存储器池动态地分配所述第一合需存储器量;以及
当所述分配优先级被指派给所述第二合需存储器量且可从所述可共享存储器池得到的所述存储器量变成等于或大于所述第二合需存储器量时,自动从所述可共享存储器池动态地分配所述第一合需存储器量。
12.如权利要求7所述的计算机可读介质(504),其特征在于,所述第一媒体源与所述第二媒体源相同或不同,以及
其中媒体样本是包括以下各项的组中选择的:比特;帧;数据分组;画面组;以及增强型视频对象单元。
13.如权利要求7所述的计算机可读介质(504),其特征在于,所述比较步骤包括计算所述第一数据速率相对于所述第二数据速率的比率,并且其中所述动态分配步骤包括根据所述比率进行动态分配。
14.如权利要求7所述的计算机可读介质(504),其特征在于,所述第一数据速率包括基于从包括以下各项的组中选择的信息计算出的平均数据速率:所述第一媒体样本集合的再现速度;呈现系统的特性;以及所述第一媒体源的特性,以及
其中所述第二数据速率包括基于从包括以下各项的组中选择的信息计算出的平均数据速率:所述第二媒体样本集合的再现速度;所述呈现系统的特性;以及所述第二媒体源的特性。
15.如权利要求14所述的计算机可读介质(504),其特征在于,所述呈现系统的所述特性是从包括以下各项的组中选择的:所述第一媒体样本集合或所述第二媒体样本集合或者这两者的播放状态;所述呈现系统内的处理负载;以及与所述呈现系统相关联的时钟频率。
16.如权利要求14所述的计算机可读介质(504),其特征在于,所述第一和第二媒体源的所述特性是从包括以下各项的组中选择的:编码器-解码器对参数;以及加密参数。
17.如权利要求14所述的计算机可读介质(504),其特征在于,所述计算与再现所述第一集合的媒体样本相关联的平均数据速率的步骤包括
探知所述可共享存储器池中当前被分配用于再现所述第一媒体样本集合的存储器量,
探知所述第一集合中当前正被再现的第一数目个媒体样本的大小,
探知与向用户播放所述第一数目个媒体样本相关联的第一时间量,以及
将所述第一数目个媒体样本的所述大小除以所述第一时间量,以及
其中所述计算与再现所述第二集合的媒体样本相关联的平均数据速率的步骤包括
探知所述可共享存储器池中当前被分配用于再现所述第二媒体样本集合的存储器量,
探知所述第二集合中当前正被再现的第二数目个媒体样本的大小,
探知与向用户播放所述第二数目个媒体样本相关联的第二时间量,以及
将所述第二数目个媒体样本的所述大小除以所述第二时间量。
18.一种用于再现被安排成多个有序媒体样本集合的媒体内容的系统(100),所述系统包括:
媒体内容管理器(102),其可操作用于安排成再现来自第一媒体源的第一媒体样本集合,以及安排成再现来自第二媒体源的第二媒体样本集合;
呈现管理器(106),其被配置成用于与所述媒体内容管理器通信,所述呈现管理器可操作用于标识来自所述第一集合的第一媒体样本将与来自所述第二集合的第二媒体样本何时被同时再现;以及
存储器分配管理器(205),其响应于所述媒体内容管理器和所述呈现管理器,所述存储器分配管理器管理可共享存储器池并且可操作用于
探知与再现所述第一媒体样本集合相关联的第一数据速率;
探知与再现所述第二媒体样本集合相关联的第二数据速率;
将所述第一数据速率与所述第二数据速率作比较;以及
基于所述比较,从所述可共享存储器池动态地分配第一存储器量以供再现来自所述第一媒体样本集合的所述第一媒体样本,以及从所述可共享存储器池动态地分配第二存储器量以供同时再现来自所述第二媒体样本集合的所述第二媒体样本。
19.如权利要求14所述的系统(100),其特征在于,所述系统包括操作系统。
20.如权利要求18所述的系统(100),其特征在于,所述系统包括数字媒体播放器。
CN200880022319.7A 2007-06-28 2008-06-17 使用共享存储器池的数字数据管理 Active CN101689137B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/823,510 2007-06-28
US11/823,510 US7698528B2 (en) 2007-06-28 2007-06-28 Shared memory pool allocation during media rendering
PCT/US2008/067252 WO2009006016A2 (en) 2007-06-28 2008-06-17 Digital data management using shared memory pool

Publications (2)

Publication Number Publication Date
CN101689137A true CN101689137A (zh) 2010-03-31
CN101689137B CN101689137B (zh) 2015-07-29

Family

ID=40162136

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880022319.7A Active CN101689137B (zh) 2007-06-28 2008-06-17 使用共享存储器池的数字数据管理

Country Status (13)

Country Link
US (1) US7698528B2 (zh)
EP (1) EP2160685B1 (zh)
JP (1) JP5513381B2 (zh)
KR (1) KR101475544B1 (zh)
CN (1) CN101689137B (zh)
AU (1) AU2008270802B2 (zh)
BR (1) BRPI0813398B1 (zh)
CA (1) CA2689585A1 (zh)
IL (1) IL202618A (zh)
MX (1) MX2009013843A (zh)
RU (1) RU2466451C2 (zh)
TW (1) TWI368875B (zh)
WO (1) WO2009006016A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101883153A (zh) * 2010-07-22 2010-11-10 中兴通讯股份有限公司 一种基于云计算的信息呈现方法、系统及终端设备
CN103518197A (zh) * 2011-05-10 2014-01-15 汤姆逊许可公司 用于同步内容共享的技术
US10838868B2 (en) 2019-03-07 2020-11-17 International Business Machines Corporation Programmable data delivery by load and store agents on a processing chip interfacing with on-chip memory components and directing data to external memory components

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101259015B1 (ko) * 2008-02-29 2013-04-29 삼성전자주식회사 재생 방법 및 장치
NO329425B1 (no) * 2009-03-17 2010-10-18 Microsoft Internat Holdings B System og fremgangsmate til a forbedre konfigurasjon og kostnadseffektivitet for databehandlingsoppgaver
US8423088B2 (en) * 2009-07-22 2013-04-16 Microsoft Corporation Aggregated, interactive communication timeline
KR102277258B1 (ko) * 2014-02-27 2021-07-14 엘지전자 주식회사 디지털 디바이스 및 상기 디지털 디바이스에서 애플리케이션 처리 방법
CN105701019A (zh) 2014-11-25 2016-06-22 阿里巴巴集团控股有限公司 一种内存管理方法以及装置
US9882960B2 (en) * 2014-12-30 2018-01-30 Airwatch Llc Security framework for media playback
CN108573162A (zh) * 2017-05-31 2018-09-25 北京金山云网络技术有限公司 数据拷贝系统、方法及装置
WO2019139955A1 (en) 2018-01-10 2019-07-18 Idac Holdings, Inc. Methods for identifying resources of a new radio physical downlink control channel which have been preempted by ultra-reliable low latency communication

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1573734A (zh) * 2003-06-13 2005-02-02 松下电器产业株式会社 媒体处理装置以及媒体处理方法
CN1977233A (zh) * 2004-06-29 2007-06-06 皇家飞利浦电子股份有限公司 用于缓冲数据流的方法和电路

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2842738B2 (ja) * 1992-08-25 1999-01-06 富士通株式会社 オンライン処理システム
US6205522B1 (en) 1998-04-15 2001-03-20 Diamond Multimedia Systems, Inc. DSP code swapping with continuous DSP execution
US6490250B1 (en) * 1999-03-09 2002-12-03 Conexant Systems, Inc. Elementary stream multiplexer
JP2001043616A (ja) * 1999-07-30 2001-02-16 Sharp Corp 記録方法、記録媒体及び記録装置
KR100407494B1 (ko) 1999-10-29 2003-12-01 엘지전자 주식회사 스트림 사양정보의 기록 및 이의 제공방법
TW522379B (en) 2000-05-26 2003-03-01 Cyberlink Corp DVD playback system for displaying two types of captions and the playback method
US6578109B1 (en) 2000-06-29 2003-06-10 Sony Corporation System and method for effectively implementing isochronous processor cache
AU2002258135A1 (en) * 2001-05-10 2002-11-18 Polycom Israel Ltd. Control unit for multipoint multimedia/audio system
US7266132B1 (en) * 2002-10-24 2007-09-04 Cisco Technology, Inc. Flexible memory allocation for data transmission
JP3990257B2 (ja) * 2002-11-08 2007-10-10 シャープ株式会社 デジタル符号化情報記録再生装置
CA2422252C (en) 2003-03-14 2008-09-02 Ibm Canada Limited - Ibm Canada Limitee Reduced synchronization reservation system and method for a shared memory buffer
US7472246B2 (en) * 2003-04-30 2008-12-30 International Business Machines Corporation Method and system for automated memory reallocating and optimization between logical partitions
US20050030971A1 (en) 2003-08-08 2005-02-10 Visionflow, Inc. Adaptive bandwidth allocation over a heterogeneous system interconnect delivering true bandwidth-on-demand
US20060041895A1 (en) 2004-08-04 2006-02-23 Microsoft Corporation Systems and methods for interfacing with codecs across an architecture optimized for audio
US7380038B2 (en) 2005-02-04 2008-05-27 Microsoft Corporation Priority registers for biasing access to shared resources
US7769274B2 (en) 2005-05-06 2010-08-03 Mediatek, Inc. Video processing and optical recording using a shared memory
KR20070014945A (ko) 2005-07-29 2007-02-01 엘지전자 주식회사 기록매체, 데이터 재생방법 및 재생장치와 데이터 기록방법및 기록장치
US20080049036A1 (en) * 2006-08-24 2008-02-28 Mediatek Inc. Multimedia Playback System, FIFO Memory System, and Method for Storing Multimedia Data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1573734A (zh) * 2003-06-13 2005-02-02 松下电器产业株式会社 媒体处理装置以及媒体处理方法
CN1977233A (zh) * 2004-06-29 2007-06-06 皇家飞利浦电子股份有限公司 用于缓冲数据流的方法和电路

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101883153A (zh) * 2010-07-22 2010-11-10 中兴通讯股份有限公司 一种基于云计算的信息呈现方法、系统及终端设备
WO2012009881A1 (zh) * 2010-07-22 2012-01-26 中兴通讯股份有限公司 一种基于云计算的信息呈现方法、系统及终端设备
CN101883153B (zh) * 2010-07-22 2015-05-13 中兴通讯股份有限公司 一种基于云计算的信息呈现方法、系统及终端设备
CN103518197A (zh) * 2011-05-10 2014-01-15 汤姆逊许可公司 用于同步内容共享的技术
US9609057B2 (en) 2011-05-10 2017-03-28 Thomson Licensing Technique for synchronized content sharing
US10838868B2 (en) 2019-03-07 2020-11-17 International Business Machines Corporation Programmable data delivery by load and store agents on a processing chip interfacing with on-chip memory components and directing data to external memory components

Also Published As

Publication number Publication date
BRPI0813398B1 (pt) 2019-08-20
RU2009148525A (ru) 2011-06-27
JP5513381B2 (ja) 2014-06-04
RU2466451C2 (ru) 2012-11-10
TWI368875B (en) 2012-07-21
KR20100036256A (ko) 2010-04-07
EP2160685A2 (en) 2010-03-10
WO2009006016A3 (en) 2009-04-23
MX2009013843A (es) 2010-03-10
TW200912754A (en) 2009-03-16
US7698528B2 (en) 2010-04-13
JP2010532056A (ja) 2010-09-30
AU2008270802A1 (en) 2009-01-08
EP2160685A4 (en) 2011-01-26
WO2009006016A2 (en) 2009-01-08
EP2160685B1 (en) 2016-12-14
BRPI0813398A2 (pt) 2014-12-30
CA2689585A1 (en) 2009-01-08
IL202618A0 (en) 2010-06-30
AU2008270802B2 (en) 2012-07-05
KR101475544B1 (ko) 2014-12-22
CN101689137B (zh) 2015-07-29
US20090006771A1 (en) 2009-01-01
IL202618A (en) 2014-12-31

Similar Documents

Publication Publication Date Title
CN101689137B (zh) 使用共享存储器池的数字数据管理
CN101689170B (zh) 用于数字媒体处理的接口
KR101034080B1 (ko) 균일한 비디오 디코딩 및 디스플레이
CN102089823B (zh) 多媒体演示系统及方法
US7996875B2 (en) Adaptive timeshift service
KR100673093B1 (ko) 휴대형 멀티미디어 재생기에서 다중 파일 캐싱을 이용한리얼타임 멀티미디어 파일 재생 방법
US11316945B2 (en) Vehicle multimedia system and memory management method therefor
Dai A distributed network architecture for video-on-demand

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150722

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150722

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.